bits = []

gamma = 0
epsilon = 0

gamma_str = ''
epsilon_str = ''

with open('data', 'r') as fp:

    # NOTE(dev): We assume all lines are the same length
    for i in range(0, len(fp.readline().strip())):
        bits.append(0)

    # # DEBUG(dev):
    # test = fp.readline()
    # for i in range(0, len(test)):
    #     print test[i]

    for line in fp:
        for i in range(0, len(line.strip())):
            if(line[i] == '1'):
                bits[i] = bits[i] + 1
            else:
                bits[i] = bits[i] - 1

for i in range(0, len(bits)):
    ch = '1'
    if(bits[i] < 0):
        ch = '0'
    gamma_str = gamma_str + ch

# # DEBUG(dev):
# for i in range(1, len(gamma_str)+1):
#     print gamma_str[-i]

# NOTE(dev): Have to do (i+1) because we're going backwards, which starts at -1
for i in range(0, len(gamma_str)):
    if(gamma_str[-(i+1)] == '1'):
    	gamma = gamma + pow(2,i)
    else:
    	epsilon = epsilon + pow(2,i)


# print "   bits: ", bits
print "  gamma: ", gamma
print "epsilon: ", epsilon
print "  POWER: ", gamma * epsilon