Files
adventofcode/2021/Gareth solution Python/Day3pt2.py
2023-11-16 10:48:53 +00:00

79 lines
32 KiB
Python

def commonbit(numbers,pos):
temp = []
ones = 0
zeros = 0
for x in numbers:
current = x
temp.append(current[pos])
for x in temp:
if x == '1':
ones = ones + 1
elif x == '0':
zeros = zeros + 1
if ones>zeros:
return '1'
elif zeros>ones:
return '0'
elif ones == zeros:
return '1'
def commonbitCO2(numbers,pos):
temp = []
ones = 0
zeros = 0
for x in numbers:
current = x
temp.append(current[pos])
for x in temp:
if x == '1':
ones = ones + 1
elif x == '0':
zeros = zeros + 1
if ones>zeros:
return '0'
elif zeros>ones:
return '1'
elif ones == zeros:
return '0'
numsleftreturn = []
def numsleft(criteria,pos):
x = 0
while True:
if x == len(numbers):
break
temp = numbers[x]
if temp[pos] == criteria:
numsleftreturn.append(temp)
x = x +1
def removewrong():
del numbers[:]
for x in numsleftreturn:
numbers.append(x)
del numsleftreturn[:]
numbers = ['101001011000', '100000101010', '110000011001', '010000100111', '100111101110', '101110000000', '001010111010', '001101110110', '100100001100', '101011011010', '110011110101', '001000110010', '101110011011', '001010000001', '001101100100', '110000011111', '000100011000', '011001111001', '100101000001', '100000001000', '000001100011', '001011101001', '110000001111', '101010010110', '000110110000', '000011011001', '100010110001', '100010110111', '101000110111', '000011110010', '101011101101', '000000101100', '101100111011', '011101101100', '001010011111', '010000110110', '010010010111', '110010111100', '010001011101', '100101110110', '101011011000', '001011010001', '010101110000', '010001010001', '001011111010', '000100010101', '010111100110', '011001010111', '101010000110', '010010001100', '010101011101', '110111010000', '011111110110', '110010011111', '011000100111', '000111110110', '100111000011', '001101010000', '100011010010', '110101100001', '011110100010', '010100100001', '011000101001', '000110101110', '010100001100', '011100111010', '111010011001', '011000111000', '110011011100', '011010001111', '011011111100', '001101010101', '000000010000', '101111001111', '100011010100', '111111101010', '111001100101', '011010011101', '001110110110', '101010111001', '101111101000', '000101000011', '001001011001', '010000001101', '101000111100', '101101110010', '010010110101', '010110011011', '110100100001', '110010101100', '100110010001', '011100010001', '011111011001', '100000010010', '011111110001', '010010001110', '011100010011', '010101000010', '101101101100', '110001111101', '011100100110', '000100010010', '110001011000', '110100001010', '010011010111', '010000001110', '101101010100', '111100111001', '000111110100', '010100000010', '111100100100', '111011111000', '010010010011', '000111011100', '011110101110', '010111101011', '010001010110', '110110001010', '011111010011', '001110000100', '100011100010', '000101001100', '101100000000', '110110110000', '111111110011', '001101111010', '010000000001', '111010010010', '111111000011', '100100000100', '101010101111', '100110110000', '111110100011', '000011101000', '000111001000', '111110111110', '000000001101', '111101101101', '010101011100', '100001011110', '101001101001', '001001110111', '011100110011', '010110001011', '110100001001', '100100000101', '001010010111', '010111001100', '001000111011', '010111100001', '110100110110', '011101110011', '011010010011', '101001000110', '110101010001', '010101011110', '111010011100', '001000011010', '001001010100', '001100000001', '010000100011', '100101110101', '110110011010', '000100101110', '101111110110', '100100100111', '101000011101', '000111010101', '011011001100', '001010111011', '000011110001', '100001000100', '011001011001', '101110111010', '110100100000', '001111110001', '100100001011', '101000111101', '110101100100', '100111001001', '111011000110', '011101100101', '011000011011', '000100110000', '010011111101', '111010100001', '101110001010', '010000000101', '100101110010', '010011110100', '000110000001', '010100001110', '001110100110', '001110111110', '111000011001', '100111001010', '110101010100', '010111000100', '001010101000', '000001110101', '001011000000', '011101000011', '000110010101', '011110011100', '010000110000', '011101110101', '011100100100', '001100000111', '010110111001', '101010011101', '100010111111', '101011101011', '000000100111', '011011001001', '010110011100', '001101111000', '011010001100', '100001111001', '101011011100', '010100011111', '001111000110', '110011111111', '010101100001', '101110011110', '000010000101', '001000111110', '000010111100', '011010110010', '110101101011', '111010101101', '000000001000', '111000111100', '100011010101', '100001110111', '000011011010', '101011001110', '011001001100', '111110001001', '011000010110', '001001001000', '001001101011', '100010001001', '111111011100', '101110010011', '111010110000', '011101111001', '010010011011', '110011000001', '010011000100', '001001000010', '101000010001', '001100010000', '000011110000', '110100011101', '010100110010', '101110010101', '000000111001', '000100111101', '010101000001', '110011010011', '110010001101', '001000111010', '100010010011', '110111001011', '011011010101', '100111011001', '110111101011', '100101110001', '110110111011', '011100111101', '011111011100', '000111101100', '010101111100', '010000010010', '010101101010', '001100110111', '000000101010', '110111100100', '000001010101', '111111011010', '000000100001', '100101010000', '001100000101', '100101100010', '111001011000', '111001000110', '100010001100', '000100000001', '000000011011', '000011001100', '111011001011', '010011110000', '101001011100', '001110000101', '011110000001', '000011100110', '001100010100', '011101000101', '010011101001', '110000110010', '110110011011', '110100110100', '101111111011', '110010010001', '110010011101', '001101101100', '101110111110', '110001110001', '101000111001', '111001101110', '111000110010', '001111000000', '000000111101', '000011111111', '100011100011', '000001100010', '101000011110', '011111100100', '010101001111', '100111001100', '000011011111', '010001001111', '010100101111', '110100101011', '001101000100', '101101000001', '100010000011', '011001010000', '111101100010', '110010110111', '101111001010', '001111001000', '010110100001', '101101010000', '000010110011', '111011101101', '110111111101', '000101111000', '011011100001', '110110001101', '110010010010', '111001010011', '001001010011', '110110001110', '000011100011', '110000010111', '010000000011', '001111010000', '100101011001', '110111011011', '010100101110', '011101101110', '110101000000', '110001110111', '111010000111', '110101000100', '001101110001', '011100000110', '101010011111', '111011000001', '001111111111', '011110111111', '000110111100', '011100101110', '010001100101', '000000001010', '110001111010', '111011000011', '010011100110', '100111010111', '011011011111', '000110010000', '001101100101', '010110011010', '001011010101', '110111100110', '101011100011', '001011100100', '011000010111', '111010111000', '110011001010', '011110001110', '000111101101', '000111101110', '101100111001', '111101111011', '101001110110', '100100001001', '001001101010', '000110000101', '000101100110', '010101001100', '111100011100', '000010101011', '111000010111', '111001010100', '001010001001', '101110001110', '100111011011', '100011011110', '001010011001', '000101001110', '010111110010', '001111100010', '011010010001', '011001010010', '001100001111', '101010110100', '010111011100', '010001111111', '100001111101', '110101100011', '110101111111', '011010101000', '110011011110', '001000001001', '001001010111', '000101000110', '000111010111', '011001101100', '001101001001', '001111111100', '101010110000', '011101001000', '011101011001', '000001001001', '010111000101', '110010000100', '101010011001', '001010000000', '100100101000', '011110110111', '001110010011', '100100100000', '001110110101', '011100000010', '100001101111', '110010001010', '110101111101', '101001111100', '011101101000', '011110001011', '000110110110', '000101110010', '000000111111', '010000000111', '010000000000', '010100001111', '101010100101', '011011010011', '000001011110', '111010010100', '010110111000', '100001011000', '100110100010', '111101110010', '110111011100', '010011101110', '011101111010', '110100100011', '100001000000', '110011101001', '001110110001', '000001011011', '010110111011', '111101111101', '001010110110', '111000101001', '110010100101', '011110111110', '100001001001', '110111111001', '001110010010', '111110011110', '101111011110', '011000110110', '000000101011', '000100010000', '011001001010', '111001011110', '111010100111', '100010100101', '111011000101', '000010000001', '110010011010', '010101011011', '111010100100', '001101101011', '001100100010', '000010110100', '111001001000', '110101101110', '010000001010', '111010000101', '101110000010', '111000110000', '110010010110', '011101011010', '100010010110', '010010010110', '100100001101', '110010110010', '111110000010', '100110100011', '010110001001', '000100010011', '101000011100', '001101011010', '110001011010', '101110101100', '011110111011', '100101000011', '001011100001', '000011111010', '111011100100', '101110110010', '000010001000', '010010010000', '000111011110', '110000010001', '001110101110', '010100111000', '011100110110', '010110010011', '010000011110', '011110000000', '011010110011', '000101010011', '111101001010', '100110100110', '101101111110', '000000110010', '101110111111', '001111111011', '011110111001', '101110111101', '110010010000', '110010111111', '011010001110', '101000100100', '010001001000', '100101001111', '111010010011', '000010011010', '000001111110', '011111010110', '011011011001', '000000100110', '010001011011', '101010000000', '001100100100', '111111000101', '010111011101', '010010011111', '111011010010', '110100100111', '111011000100', '111111101001', '010101011111', '000100010111', '111001011111', '110001111100', '010111010111', '010011001011', '001011000101', '010111100101', '001101011011', '001100001011', '001001111011', '111111100110', '010001101000', '110100011110', '110011100110', '100001101101', '010101110011', '000101100000', '001010110001', '010101101110', '110001010011', '111100000011', '001101000011', '001111100011', '010001011100', '010010110001', '111000100001', '101100010101', '001001001111', '011100100010', '101001100100', '100101101001', '110100000010', '111010110101', '001000010011', '100110111001', '001011111101', '101111010100', '001101010110', '011010110111', '000000000111', '101110100011', '101001011001', '101111000100', '000110111000', '011101100110', '111111001001', '010110100111', '110011100100', '011111101000', '111101100011', '111000011110', '010111111010', '000010100001', '110011000101', '110100101110', '011110010000', '111011010000', '100011110100', '000001101101', '100100010011', '100010001000', '111000111010', '001000110001', '101010001100', '010111110110', '101011100111', '101001001001', '100111101010', '011101000000', '110011001111', '100000010000', '001010001101', '010010001101', '100010100010', '001101101101', '110010110011', '011010010110', '110101100110', '100110010000', '011100000011', '100000011000', '111100010101', '000100101011', '000101101111', '000100011001', '010010111011', '001010001110', '100001110010', '011110001111', '010001110101', '001110011100', '110100010110', '000101101001', '111110110110', '111110011001', '100011011011', '011110111010', '110000001000', '000101011010', '001000011110', '101011000011', '110010000011', '011000001000', '011001110101', '111111010110', '000010111011', '010001100100', '010111010110', '000000101110', '011010111011', '110101101101', '010010100011', '001010010001', '011011101110', '010100111100', '101101100011', '111010011011', '011101100001', '110000101100', '110111010100', '010010001111', '110001001111', '010001101111', '100010101110', '111011100011', '111000101111', '011000110011', '011110101001', '110101011010', '001001110011', '010010100110', '100000000100', '010111001111', '111101111010', '011010011000', '000010010011', '010001101001', '111010111001', '111001101000', '111100010010', '000011001111', '000010010110', '101101001010', '011010100001', '111110011100', '111011100000', '101101011010', '101001111001', '000100001100', '111101010001', '010110001101', '000101111010', '100100111111', '001001110100', '111000001100', '100000100010', '101010101100', '111111110110', '100000010110', '001101001011', '110000011100', '101100110011', '000101111011', '110111001010', '000000010110', '110001000110', '101101101011', '010001000111', '100010001101', '100010010010', '110000101101', '100110000000', '111100100111', '001111001110', '010000001111', '111100010110', '101100000010', '111001101101', '011111101010', '100100011001', '011100110101', '010001001010', '111100001100', '001010000010', '001001011000', '000001111011', '000001101001', '111111100000', '100010011001', '010011100101', '010110000010', '000101101101', '111101000101', '110001011110', '011111101111', '101000101001', '001010110011', '001110101111', '000100110001', '110110000010', '011110000010', '010110100110', '100000101100', '011001100111', '110110000100', '011001011011', '110001110011', '000000111010', '001110100010', '111101011111', '111011011000', '111011000010', '011111100011', '110011011011', '000000101001', '100100011000', '101000010010', '111111110100', '010001111000', '001110111001', '100100101111', '000010111101', '000111000011', '101100001101', '011101010100', '000001110111', '101000000110', '111111001111', '001010110010', '010001001100', '110001011101', '001101100111', '101110101010', '010101101000', '011101000100', '101001101100', '000001000000', '100001100101', '001011001101', '011111011011', '101110000001', '011111101101', '011111110100', '111010001100', '110010011001', '101110111000', '000110001001', '100001110001', '111111010101', '101100000110', '001000000110', '001111100101', '000101011101', '101010000101', '001111010010', '100100000010', '110101101001', '111110110000', '100101001110', '000111001101', '001000011011', '101001111011', '101111100100', '110110101110', '000010001111', '111011010101', '101000001001', '100001000111', '111111000000', '100010010100', '010010000110', '101110000100', '010110110001', '111010001001', '000101010001', '111100110100', '011001100011', '011100011101', '010000010111', '110011000100', '011011011100', '101001110100', '000011101010', '011011010010', '000011101001', '100010011000', '001101000001', '011110000101', '111001111111', '111110111001', '001011100101', '100001011111', '111011011011', '111110111000', '000111101111', '111110101110', '101001000000', '001001100011', '100111110011', '110110010111', '110001110010', '011000111111', '001100001110', '010001011010', '010111111000', '011110111100', '111111001101', '100100000110', '111110011000', '101101100001', '101110010001', '110000101000', '010111110011', '011010101100', '001000010111', '110111110111', '011001111011', '101110110111', '100011000100', '101111001101', '001010100011', '111110110001', '111100000101', '100000010100', '011011111101', '101100001001', '001100000100', '001010111100', '011101011011', '010010101101', '011011011010', '010000110001', '011110011101', '110110111110', '111100111100', '101110010110', '011000100100', '010101001000', '001101001100', '101010010011', '101010010100', '110111000000', '000100110100', '100111100000', '100111011101', '010110001100', '011101010110', '011101011101', '101001110001', '000110100110', '101010010101', '011110010111', '100100100110', '101001101010', '110011101010', '100100000011', '000110000110', '111001001110', '101010100100', '001100001001', '011111010111', '000010011011', '001000110011', '101101110101', '011111000000', '101001001010', '111010110100', '101101001101', '010011010010', '110001110100', '011111001010', '000100111100', '100101101110', '110011000110', '010001111001', '101001000100', '011111001000', '110111111110', '100101100101', '010000101100', '111001111100', '000101101010', '000101110100', '001100110000', '101000110011', '100000001100', '001101101110', '100100111010', '000100101101', '011111111011', '011111111001', '011011110001', '110111001100', '011101101011', '000001111101', '001100110100', '011000111001', '010010111110', '001000000001', '101011110001', '100000111000', '001000111001', '001001110010', '101111100000', '001010110000', '101010110010', '100111111110', '100011110000', '110000110101', '101101100111', '010110011111', '010000110111', '100110101010', '111110000000', '010110001111', '110110001111', '101011111001', '011010110110', '100101111011', '011001110010', '011100100101', '011111100000', '110110111010', '001001110001', '010111101101', '011000000000', '110101111000', '010110011101', '011001011101', '011100101100', '000101000000', '001000100111', '111110110101', '110100011111', '100100011010', '101111100111', '100010101111', '110100101111', '001100110010', '100001001011', '111110101010']
pos = 0
while True:
if len(numbers) == 1:
break
a =commonbit(numbers,pos)
numsleft(a,pos)
removewrong()
pos = pos + 1
O2 = numbers[0]
O2 = int(O2,2)
numbers = ['101001011000', '100000101010', '110000011001', '010000100111', '100111101110', '101110000000', '001010111010', '001101110110', '100100001100', '101011011010', '110011110101', '001000110010', '101110011011', '001010000001', '001101100100', '110000011111', '000100011000', '011001111001', '100101000001', '100000001000', '000001100011', '001011101001', '110000001111', '101010010110', '000110110000', '000011011001', '100010110001', '100010110111', '101000110111', '000011110010', '101011101101', '000000101100', '101100111011', '011101101100', '001010011111', '010000110110', '010010010111', '110010111100', '010001011101', '100101110110', '101011011000', '001011010001', '010101110000', '010001010001', '001011111010', '000100010101', '010111100110', '011001010111', '101010000110', '010010001100', '010101011101', '110111010000', '011111110110', '110010011111', '011000100111', '000111110110', '100111000011', '001101010000', '100011010010', '110101100001', '011110100010', '010100100001', '011000101001', '000110101110', '010100001100', '011100111010', '111010011001', '011000111000', '110011011100', '011010001111', '011011111100', '001101010101', '000000010000', '101111001111', '100011010100', '111111101010', '111001100101', '011010011101', '001110110110', '101010111001', '101111101000', '000101000011', '001001011001', '010000001101', '101000111100', '101101110010', '010010110101', '010110011011', '110100100001', '110010101100', '100110010001', '011100010001', '011111011001', '100000010010', '011111110001', '010010001110', '011100010011', '010101000010', '101101101100', '110001111101', '011100100110', '000100010010', '110001011000', '110100001010', '010011010111', '010000001110', '101101010100', '111100111001', '000111110100', '010100000010', '111100100100', '111011111000', '010010010011', '000111011100', '011110101110', '010111101011', '010001010110', '110110001010', '011111010011', '001110000100', '100011100010', '000101001100', '101100000000', '110110110000', '111111110011', '001101111010', '010000000001', '111010010010', '111111000011', '100100000100', '101010101111', '100110110000', '111110100011', '000011101000', '000111001000', '111110111110', '000000001101', '111101101101', '010101011100', '100001011110', '101001101001', '001001110111', '011100110011', '010110001011', '110100001001', '100100000101', '001010010111', '010111001100', '001000111011', '010111100001', '110100110110', '011101110011', '011010010011', '101001000110', '110101010001', '010101011110', '111010011100', '001000011010', '001001010100', '001100000001', '010000100011', '100101110101', '110110011010', '000100101110', '101111110110', '100100100111', '101000011101', '000111010101', '011011001100', '001010111011', '000011110001', '100001000100', '011001011001', '101110111010', '110100100000', '001111110001', '100100001011', '101000111101', '110101100100', '100111001001', '111011000110', '011101100101', '011000011011', '000100110000', '010011111101', '111010100001', '101110001010', '010000000101', '100101110010', '010011110100', '000110000001', '010100001110', '001110100110', '001110111110', '111000011001', '100111001010', '110101010100', '010111000100', '001010101000', '000001110101', '001011000000', '011101000011', '000110010101', '011110011100', '010000110000', '011101110101', '011100100100', '001100000111', '010110111001', '101010011101', '100010111111', '101011101011', '000000100111', '011011001001', '010110011100', '001101111000', '011010001100', '100001111001', '101011011100', '010100011111', '001111000110', '110011111111', '010101100001', '101110011110', '000010000101', '001000111110', '000010111100', '011010110010', '110101101011', '111010101101', '000000001000', '111000111100', '100011010101', '100001110111', '000011011010', '101011001110', '011001001100', '111110001001', '011000010110', '001001001000', '001001101011', '100010001001', '111111011100', '101110010011', '111010110000', '011101111001', '010010011011', '110011000001', '010011000100', '001001000010', '101000010001', '001100010000', '000011110000', '110100011101', '010100110010', '101110010101', '000000111001', '000100111101', '010101000001', '110011010011', '110010001101', '001000111010', '100010010011', '110111001011', '011011010101', '100111011001', '110111101011', '100101110001', '110110111011', '011100111101', '011111011100', '000111101100', '010101111100', '010000010010', '010101101010', '001100110111', '000000101010', '110111100100', '000001010101', '111111011010', '000000100001', '100101010000', '001100000101', '100101100010', '111001011000', '111001000110', '100010001100', '000100000001', '000000011011', '000011001100', '111011001011', '010011110000', '101001011100', '001110000101', '011110000001', '000011100110', '001100010100', '011101000101', '010011101001', '110000110010', '110110011011', '110100110100', '101111111011', '110010010001', '110010011101', '001101101100', '101110111110', '110001110001', '101000111001', '111001101110', '111000110010', '001111000000', '000000111101', '000011111111', '100011100011', '000001100010', '101000011110', '011111100100', '010101001111', '100111001100', '000011011111', '010001001111', '010100101111', '110100101011', '001101000100', '101101000001', '100010000011', '011001010000', '111101100010', '110010110111', '101111001010', '001111001000', '010110100001', '101101010000', '000010110011', '111011101101', '110111111101', '000101111000', '011011100001', '110110001101', '110010010010', '111001010011', '001001010011', '110110001110', '000011100011', '110000010111', '010000000011', '001111010000', '100101011001', '110111011011', '010100101110', '011101101110', '110101000000', '110001110111', '111010000111', '110101000100', '001101110001', '011100000110', '101010011111', '111011000001', '001111111111', '011110111111', '000110111100', '011100101110', '010001100101', '000000001010', '110001111010', '111011000011', '010011100110', '100111010111', '011011011111', '000110010000', '001101100101', '010110011010', '001011010101', '110111100110', '101011100011', '001011100100', '011000010111', '111010111000', '110011001010', '011110001110', '000111101101', '000111101110', '101100111001', '111101111011', '101001110110', '100100001001', '001001101010', '000110000101', '000101100110', '010101001100', '111100011100', '000010101011', '111000010111', '111001010100', '001010001001', '101110001110', '100111011011', '100011011110', '001010011001', '000101001110', '010111110010', '001111100010', '011010010001', '011001010010', '001100001111', '101010110100', '010111011100', '010001111111', '100001111101', '110101100011', '110101111111', '011010101000', '110011011110', '001000001001', '001001010111', '000101000110', '000111010111', '011001101100', '001101001001', '001111111100', '101010110000', '011101001000', '011101011001', '000001001001', '010111000101', '110010000100', '101010011001', '001010000000', '100100101000', '011110110111', '001110010011', '100100100000', '001110110101', '011100000010', '100001101111', '110010001010', '110101111101', '101001111100', '011101101000', '011110001011', '000110110110', '000101110010', '000000111111', '010000000111', '010000000000', '010100001111', '101010100101', '011011010011', '000001011110', '111010010100', '010110111000', '100001011000', '100110100010', '111101110010', '110111011100', '010011101110', '011101111010', '110100100011', '100001000000', '110011101001', '001110110001', '000001011011', '010110111011', '111101111101', '001010110110', '111000101001', '110010100101', '011110111110', '100001001001', '110111111001', '001110010010', '111110011110', '101111011110', '011000110110', '000000101011', '000100010000', '011001001010', '111001011110', '111010100111', '100010100101', '111011000101', '000010000001', '110010011010', '010101011011', '111010100100', '001101101011', '001100100010', '000010110100', '111001001000', '110101101110', '010000001010', '111010000101', '101110000010', '111000110000', '110010010110', '011101011010', '100010010110', '010010010110', '100100001101', '110010110010', '111110000010', '100110100011', '010110001001', '000100010011', '101000011100', '001101011010', '110001011010', '101110101100', '011110111011', '100101000011', '001011100001', '000011111010', '111011100100', '101110110010', '000010001000', '010010010000', '000111011110', '110000010001', '001110101110', '010100111000', '011100110110', '010110010011', '010000011110', '011110000000', '011010110011', '000101010011', '111101001010', '100110100110', '101101111110', '000000110010', '101110111111', '001111111011', '011110111001', '101110111101', '110010010000', '110010111111', '011010001110', '101000100100', '010001001000', '100101001111', '111010010011', '000010011010', '000001111110', '011111010110', '011011011001', '000000100110', '010001011011', '101010000000', '001100100100', '111111000101', '010111011101', '010010011111', '111011010010', '110100100111', '111011000100', '111111101001', '010101011111', '000100010111', '111001011111', '110001111100', '010111010111', '010011001011', '001011000101', '010111100101', '001101011011', '001100001011', '001001111011', '111111100110', '010001101000', '110100011110', '110011100110', '100001101101', '010101110011', '000101100000', '001010110001', '010101101110', '110001010011', '111100000011', '001101000011', '001111100011', '010001011100', '010010110001', '111000100001', '101100010101', '001001001111', '011100100010', '101001100100', '100101101001', '110100000010', '111010110101', '001000010011', '100110111001', '001011111101', '101111010100', '001101010110', '011010110111', '000000000111', '101110100011', '101001011001', '101111000100', '000110111000', '011101100110', '111111001001', '010110100111', '110011100100', '011111101000', '111101100011', '111000011110', '010111111010', '000010100001', '110011000101', '110100101110', '011110010000', '111011010000', '100011110100', '000001101101', '100100010011', '100010001000', '111000111010', '001000110001', '101010001100', '010111110110', '101011100111', '101001001001', '100111101010', '011101000000', '110011001111', '100000010000', '001010001101', '010010001101', '100010100010', '001101101101', '110010110011', '011010010110', '110101100110', '100110010000', '011100000011', '100000011000', '111100010101', '000100101011', '000101101111', '000100011001', '010010111011', '001010001110', '100001110010', '011110001111', '010001110101', '001110011100', '110100010110', '000101101001', '111110110110', '111110011001', '100011011011', '011110111010', '110000001000', '000101011010', '001000011110', '101011000011', '110010000011', '011000001000', '011001110101', '111111010110', '000010111011', '010001100100', '010111010110', '000000101110', '011010111011', '110101101101', '010010100011', '001010010001', '011011101110', '010100111100', '101101100011', '111010011011', '011101100001', '110000101100', '110111010100', '010010001111', '110001001111', '010001101111', '100010101110', '111011100011', '111000101111', '011000110011', '011110101001', '110101011010', '001001110011', '010010100110', '100000000100', '010111001111', '111101111010', '011010011000', '000010010011', '010001101001', '111010111001', '111001101000', '111100010010', '000011001111', '000010010110', '101101001010', '011010100001', '111110011100', '111011100000', '101101011010', '101001111001', '000100001100', '111101010001', '010110001101', '000101111010', '100100111111', '001001110100', '111000001100', '100000100010', '101010101100', '111111110110', '100000010110', '001101001011', '110000011100', '101100110011', '000101111011', '110111001010', '000000010110', '110001000110', '101101101011', '010001000111', '100010001101', '100010010010', '110000101101', '100110000000', '111100100111', '001111001110', '010000001111', '111100010110', '101100000010', '111001101101', '011111101010', '100100011001', '011100110101', '010001001010', '111100001100', '001010000010', '001001011000', '000001111011', '000001101001', '111111100000', '100010011001', '010011100101', '010110000010', '000101101101', '111101000101', '110001011110', '011111101111', '101000101001', '001010110011', '001110101111', '000100110001', '110110000010', '011110000010', '010110100110', '100000101100', '011001100111', '110110000100', '011001011011', '110001110011', '000000111010', '001110100010', '111101011111', '111011011000', '111011000010', '011111100011', '110011011011', '000000101001', '100100011000', '101000010010', '111111110100', '010001111000', '001110111001', '100100101111', '000010111101', '000111000011', '101100001101', '011101010100', '000001110111', '101000000110', '111111001111', '001010110010', '010001001100', '110001011101', '001101100111', '101110101010', '010101101000', '011101000100', '101001101100', '000001000000', '100001100101', '001011001101', '011111011011', '101110000001', '011111101101', '011111110100', '111010001100', '110010011001', '101110111000', '000110001001', '100001110001', '111111010101', '101100000110', '001000000110', '001111100101', '000101011101', '101010000101', '001111010010', '100100000010', '110101101001', '111110110000', '100101001110', '000111001101', '001000011011', '101001111011', '101111100100', '110110101110', '000010001111', '111011010101', '101000001001', '100001000111', '111111000000', '100010010100', '010010000110', '101110000100', '010110110001', '111010001001', '000101010001', '111100110100', '011001100011', '011100011101', '010000010111', '110011000100', '011011011100', '101001110100', '000011101010', '011011010010', '000011101001', '100010011000', '001101000001', '011110000101', '111001111111', '111110111001', '001011100101', '100001011111', '111011011011', '111110111000', '000111101111', '111110101110', '101001000000', '001001100011', '100111110011', '110110010111', '110001110010', '011000111111', '001100001110', '010001011010', '010111111000', '011110111100', '111111001101', '100100000110', '111110011000', '101101100001', '101110010001', '110000101000', '010111110011', '011010101100', '001000010111', '110111110111', '011001111011', '101110110111', '100011000100', '101111001101', '001010100011', '111110110001', '111100000101', '100000010100', '011011111101', '101100001001', '001100000100', '001010111100', '011101011011', '010010101101', '011011011010', '010000110001', '011110011101', '110110111110', '111100111100', '101110010110', '011000100100', '010101001000', '001101001100', '101010010011', '101010010100', '110111000000', '000100110100', '100111100000', '100111011101', '010110001100', '011101010110', '011101011101', '101001110001', '000110100110', '101010010101', '011110010111', '100100100110', '101001101010', '110011101010', '100100000011', '000110000110', '111001001110', '101010100100', '001100001001', '011111010111', '000010011011', '001000110011', '101101110101', '011111000000', '101001001010', '111010110100', '101101001101', '010011010010', '110001110100', '011111001010', '000100111100', '100101101110', '110011000110', '010001111001', '101001000100', '011111001000', '110111111110', '100101100101', '010000101100', '111001111100', '000101101010', '000101110100', '001100110000', '101000110011', '100000001100', '001101101110', '100100111010', '000100101101', '011111111011', '011111111001', '011011110001', '110111001100', '011101101011', '000001111101', '001100110100', '011000111001', '010010111110', '001000000001', '101011110001', '100000111000', '001000111001', '001001110010', '101111100000', '001010110000', '101010110010', '100111111110', '100011110000', '110000110101', '101101100111', '010110011111', '010000110111', '100110101010', '111110000000', '010110001111', '110110001111', '101011111001', '011010110110', '100101111011', '011001110010', '011100100101', '011111100000', '110110111010', '001001110001', '010111101101', '011000000000', '110101111000', '010110011101', '011001011101', '011100101100', '000101000000', '001000100111', '111110110101', '110100011111', '100100011010', '101111100111', '100010101111', '110100101111', '001100110010', '100001001011', '111110101010']
pos = 0
while True:
if len(numbers) == 1:
break
a =commonbitCO2(numbers,pos)
numsleft(a,pos)
removewrong()
pos = pos + 1
CO2 = numbers[0]
CO2 = int(CO2,2)
print(O2*CO2)