a=set([1,2,3,4])
b=set([4,5,6,7])
c=set([7,8,9])
def array_combinations(*args):
    combinations = [[i] for i in set(args[0])]
    for arg in args[1:]:
        tempcomb = []
        for i in set(arg):
            tempcomb += [c+[i] for c in combinations if i not in c ]
        combinations = tempcomb
    return combinations
res = array_combinations(a,b,c)
print res
print len(res)