def genNum(num):
    dic = { 
        6: "(1+1+1)!",
        24: "(1+1+1+1)!",
        120: "((1+1+1)!-1)!",
        720: "((1+1+1)!)!",
        5040: "((1+1+1)!+1)!",
        40320: "((1+1+1)!+1+1)!",
        362880: "(11-1-1)!",
        39916800: "(11)!",
        479001600: "(11+1)!",
        6227020800: "(11+1+1)!"
    }

    lis = [6227020800,479001600,39916800,362880,40320,5040,720,120,24,6]
    out = ""

    for i in lis:
        if num/i >= 1:
            st = dic[i] + "*(" + genNum(num // i) + ")"
            out += st

            if num%i != 0:
                out += "+" + genNum(num%i)
                
            return out
        
    else:
        st = "1+"*num

    return st[:-1]

nums = [945536, 16878234, 32608778, 42017515, 48950830, 51483452, 52970263, 54278649, 63636656, 78817406, 89918907, 90757642, 95364861, 102706605, 113965374, 122448605, 126594161, 148064959, 150735075, 154382918, 172057472, 192280850, 194713795, 207721209, 220946392, 225230299, 227043979, 241011012, 248906099, 249796314, 250546528, 258452706, 276862988, 277140688, 280158490, 286074562, 308946627, 310972897, 322612091, 324445400, 336060042, 346729632, 349428326, 352769482, 363039453, 363851029, 392168304, 401975104, 407890409, 407971913, 425780757, 459441559, 465592122, 475898732, 482826596, 484263150, 506235403, 548951531, 554295842, 580536366, 587051904, 588265985, 588298051, 590968352, 601194306, 607771869, 618578932, 626776380, 667919873, 681786366, 689854904, 692055400, 697665495, 711608194, 734027104, 750869335, 757710567, 759967747, 777616154, 830071127, 833809927, 835873060, 836438554, 836945593, 863728236, 864158514, 871273503, 881615667, 891619600, 897181691, 918159061, 920521050, 924502226, 929983535, 943162304, 950210939, 950214176, 962610357, 974842859, 988572832]
arr = []

for x in nums:
    output = genNum(x)
    arr += [output]
    print(str(x)+":\n"+output+"\n")

s = ''.join(arr)

print(len(s))
p=s.count('1')
print(p,len(s)-p)