def add_node(perm):
    n = len(perm)
    if n < 4:
        return None
    partition = perm_to_partition(perm)
    star = semistar_test.classify_permutation(perm)
    if not partition in graph:
        # adjacent permutations
        d = {}
        for i in range(len(perm)):
            tmp = list(perm)
            x = tmp.pop(i)
            to_check = permutation_to_standard_0(tmp)
            child = add_node(to_check)
            if child is not None:
                if child not in d:
                    d[child] = []
                d[child].append(x)
        graph[partition] = (star, d)
    return partition
#!/usr/bin/env python3
from unicursalpolygon.models.unicursalpolygon import UnicursalPolygon
from unicursalpolygon.utils import permutation_to_standard_0

if __name__ == "__main__":
    while 1:
        try:
            lis = [int(i) for i in input().split(',')]
            res = {True:[],False:[],None:[]}
            for i in range(len(lis)):
                tmp = list(lis)
                x = tmp.pop(i)
                to_check = permutation_to_standard_0(tmp)
                tmp = UnicursalPolygon(to_check)
                try:
                    res[tmp.is_star()].append(x)
                except:
                    res[None].append(x)
            print(lis,res[False],res[True])
        except EOFError:
            break