ИКБО-14-23

Вариант №1

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Шестнадцатиричная строка.

Тесты:

>>> main('0x1aa125b')
'0x12dea80'

>>> main('0xc3d0bd')
'0x5eb080'

>>> main('0x1bd0267')
'0x133ee00'

>>> main('0x1cd6d62')
'0xb17360'

Вариант №2

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Десятичная строка.

Тесты:

>>> main([('Y1', '7'), ('Y3', '223'), ('Y4', '77'), ('Y5', '39')])
'41528823'

>>> main([('Y1', '6'), ('Y3', '263'), ('Y4', '10'), ('Y5', '23')])
'24203382'

>>> main([('Y1', '3'), ('Y3', '284'), ('Y4', '104'), ('Y5', '45')])
'48042435'

>>> main([('Y1', '3'), ('Y3', '275'), ('Y4', '92'), ('Y5', '46')])
'48992563'

Вариант №3

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Тесты:

>>> main(8087650363)
{'O1': 3, 'O2': 14, 'O3': 16, 'O4': 3, 'O5': 263, 'O6': 120}

>>> main(12963977460)
{'O1': 0, 'O2': 61, 'O3': 6, 'O4': 1, 'O5': 91, 'O6': 193}

>>> main(12685130159)
{'O1': 3, 'O2': 107, 'O3': 14, 'O4': 3, 'O5': 11, 'O6': 189}

>>> main(2261745112)
{'O1': 0, 'O2': 118, 'O3': 31, 'O4': 2, 'O5': 359, 'O6': 33}

Вариант №4

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Целое.

Тесты:

>>> main('0x4bd6eb')
5086958

>>> main('0x68b33')
128051

>>> main('0x63969')
323990

>>> main('0x3c4b04')
3826224

Вариант №5

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.

Выходные данные:

Шестнадцатиричная строка.

Тесты:

>>> main('102800879081')
'0x17c05bd3a3'

>>> main('202962375667')
'0x2f4027e600'

>>> main('97322241439')
'0x16801b3f6e'

>>> main('97003589548')
'0x16801f5975'

Вариант №6

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

Выходные данные:

Целое.

Тесты:

>>> main('26425565582')
26745117459

>>> main('12593685309')
21294887287

>>> main('8186642906')
27579915507

>>> main('15045881756')
23381080512

Вариант №7

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Десятичная строка.

Тесты:

>>> main('0x1a55194b')
'353990912'

>>> main('0xaed77c')
'249530112'

>>> main('0x8029f07')
'43052800'

>>> main('0x19d57655')
'360363520'

Вариант №8

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Целое.

Тесты:

>>> main([('N1', '205'), ('N2', '4'), ('N4', '3')])
25168077

>>> main([('N1', '81'), ('N2', '0'), ('N4', '1')])
8388689

>>> main([('N1', '246'), ('N2', '16'), ('N4', '0')])
8438

>>> main([('N1', '504'), ('N2', '6'), ('N4', '0')])
3576

Вариант №9

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Целое.

Тесты:

>>> main(('0x47', '0x50', '0x1', '0x1', '0x3'))
13738055

>>> main(('0x1e6', '0x3a', '0x0', '0x0', '0x5'))
21001702

>>> main(('0x1d5', '0x6c', '0x1', '0x0', '0x1'))
4315605

>>> main(('0x165', '0x6d', '0x0', '0x2', '0x0'))
2153317

Вариант №10

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.

Выходные данные:

Десятичная строка.

Тесты:

>>> main(4129536)
'4128771'

>>> main(11853008)
'11855932'

>>> main(16387866)
'16387343'

>>> main(6132507)
'6131091'

Вариант №11

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Целое.

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main(4214000064)
{'A1': '0', 'A2': '14', 'A3': '68', 'A4': '203', 'A6': '7'}

>>> main(369349688)
{'A1': '24', 'A2': '1', 'A3': '490', 'A4': '128', 'A6': '0'}

>>> main(2447432452)
{'A1': '4', 'A2': '8', 'A3': '109', 'A4': '120', 'A6': '4'}

>>> main(3530294755)
{'A1': '3', 'A2': '15', 'A3': '2', 'A4': '155', 'A6': '6'}

Вариант №12

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.

Выходные данные:

Шестнадцатиричная строка.

Тесты:

>>> main(414720549)
'0x22c5c15'

>>> main(416158424)
'0x12dc6708'

>>> main(170323638)
'0xeb51376'

>>> main(347983026)
'0xcba5ee2'

Вариант №13

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Целое.

Тесты:

>>> main('0x55b03744b')
3335711444

>>> main('0x1320c905b')
2568407440

>>> main('0x70ef3b37b')
32872790131

>>> main('0x601f192ba')
31728775186

Вариант №14

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.

Выходные данные:

Целое.

Тесты:

>>> main('464692579')
290519

>>> main('508801937')
162105

>>> main('452565519')
125859

>>> main('95083639')
431815

Вариант №15

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.

Тесты:

>>> main('81342380')
('0x2c', '0xf', '0x5', '0x0', '0x1', '0x9b')

>>> main('125440383')
('0x7f', '0x2', '0x2', '0x0', '0x2', '0xef')

>>> main('85792874')
('0x6a', '0x0', '0x3', '0x0', '0x5', '0xa3')

>>> main('21390801')
('0x51', '0xb', '0x4', '0x1', '0x6', '0x28')

Вариант №16

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Десятичная строка.

Тесты:

>>> main('0x3d59ed')
'8366789'

>>> main('0x1e1537')
'3985575'

>>> main('0x420a51')
'86105'

>>> main('0x2f0ac1')
'5970001'

Вариант №17

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Целое.

Тесты:

>>> main('0x7079')
233921

>>> main('0x2c963')
146213

>>> main('0x39cf5')
220787

>>> main('0x25f56')
92541

Вариант №18

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main('0x3594e62')
{'F1': '98', 'F2': '3', 'F3': '1', 'F5': '2', 'F6': '428'}

>>> main('0x2227f6')
{'F1': '502', 'F2': '3', 'F3': '4', 'F5': '0', 'F6': '17'}

>>> main('0xd3a13b')
{'F1': '315', 'F2': '0', 'F3': '4', 'F5': '3', 'F6': '105'}

>>> main('0x1860020')
{'F1': '32', 'F2': '0', 'F3': '0', 'F5': '0', 'F6': '195'}

Вариант №19

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Тесты:

>>> main('0xa6b634a')
(842, 88, 1, 333)

>>> main('0xbdbe9ba')
(442, 122, 1, 379)

>>> main('0x5acd2a3')
(675, 52, 2, 181)

>>> main('0x96ca699')
(665, 41, 2, 301)

Вариант №20

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Тесты:

>>> main('0x82f')
{'E1': 15, 'E2': 1, 'E3': 4}

>>> main('0x4f8')
{'E1': 24, 'E2': 7, 'E3': 2}

>>> main('0xc67')
{'E1': 7, 'E2': 3, 'E3': 6}

>>> main('0xb70')
{'E1': 16, 'E2': 11, 'E3': 5}

Вариант №21

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Десятичная строка.

Тесты:

>>> main('0x13a64d92b3a')
'866873661011'

>>> main('0xf69c0dcd02')
'1340350372367'

>>> main('0x506c59b585')
'928395782917'

>>> main('0x223f28d0ab9')
'4285456323938'

Вариант №22

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.

Выходные данные:

Десятичная строка.

Тесты:

>>> main(3631750880889)
'1863607548553'

>>> main(3164186345556)
'85990602560'

>>> main(1571656189828)
'1908984777508'

>>> main(2612517471733)
'40253543376'

Вариант №23

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

Выходные данные:

Десятичная строка.

Тесты:

>>> main('9916677538')
'14733167687'

>>> main('1163150435')
'4742202468'

>>> main('16647880615')
'16787169511'

>>> main('14178938042')
'13593956182'

Вариант №24

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Десятичная строка.

Тесты:

>>> main({'M1': '158', 'M2': '184', 'M4': '0'})
'188574'

>>> main({'M1': '544', 'M2': '511', 'M4': '0'})
'523808'

>>> main({'M1': '318', 'M2': '151', 'M4': '3'})
'3221380414'

>>> main({'M1': '795', 'M2': '670', 'M4': '2'})
'2148170523'

Вариант №25

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Целое.

Тесты:

>>> main(('0x1', '0x387', '0x35', '0x230'))
588085361

>>> main(('0xe', '0xbf', '0x8', '0x127'))
309464062

>>> main(('0x1', '0x209', '0x33', '0x32a'))
850190481

>>> main(('0x6', '0x36a', '0x5', '0x3e8'))
1048671910

Вариант №26

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.

Тесты:

>>> main('8045171')
('0x73', '0x2', '0x2c', '0xf')

>>> main('3319928')
('0x78', '0x8', '0x2a', '0x6')

>>> main('6740354')
('0x82', '0x9', '0x6d', '0xc')

>>> main('16453054')
('0xbe', '0xd', '0x30', '0x1f')

Вариант №27

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Целое.

Выходные данные:

Шестнадцатиричная строка.

Тесты:

>>> main(385855)
'0x3f2f006'

>>> main(1076126)
'0x1e83017'

>>> main(626566)
'0x64c01f'

>>> main(317936)
'0x7026813'

Вариант №28

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Выходные данные:

Шестнадцатиричная строка.

Тесты:

>>> main({'S1': 100, 'S2': 262, 'S3': 211, 'S4': 6})
'0xda68364'

>>> main({'S1': 93, 'S2': 1020, 'S3': 122, 'S4': 4})
'0x8f5fe5d'

>>> main({'S1': 43, 'S2': 196, 'S3': 61, 'S4': 12})
'0x187a622b'

>>> main({'S1': 58, 'S2': 200, 'S3': 118, 'S4': 9})
'0x12ec643a'

Вариант №29

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Целое.

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Тесты:

>>> main(1933303705)
[('B1', 1), ('B2', 243), ('B3', 3), ('B5', 76), ('B6', 3)]

>>> main(971253375)
[('B1', 7), ('B2', 207), ('B3', 0), ('B5', 103), ('B6', 1)]

>>> main(1694072497)
[('B1', 1), ('B2', 214), ('B3', 3), ('B5', 19), ('B6', 3)]

>>> main(1545127727)
[('B1', 7), ('B2', 229), ('B3', 0), ('B5', 112), ('B6', 2)]

Вариант №30

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Шестнадцатиричная строка.

Тесты:

>>> main({'G1': '18', 'G2': '437', 'G3': '0', 'G4': '0', 'G5': '3', 'G6': '28'})
'0xe0c6d52'

>>> main({'G1': '36', 'G2': '386', 'G3': '1', 'G4': '3', 'G5': '8', 'G6': '36'})
'0x1223e0a4'

>>> main({'G1': '30', 'G2': '217', 'G3': '0', 'G4': '1', 'G5': '20', 'G6': '29'})
'0xed1365e'

>>> main({'G1': '14', 'G2': '107', 'G3': '0', 'G4': '0', 'G5': '11', 'G6': '21'})
'0xaac1ace'

Вариант №31

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Целое.

Тесты:

>>> main('0x16309')
181760

>>> main('0x3efe2')
253825

>>> main('0x31efc')
146817

>>> main('0xc796')
102144

Вариант №32

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Тесты:

>>> main('38855864655')
[('Q1', 335), ('Q2', 0), ('Q3', 46), ('Q4', 15), ('Q5', 47), ('Q6', 9)]

>>> main('1476891225')
[('Q1', 601), ('Q2', 0), ('Q3', 114), ('Q4', 1), ('Q5', 352), ('Q6', 0)]

>>> main('56364302358')
[('Q1', 22), ('Q2', 0), ('Q3', 96), ('Q4', 4), ('Q5', 126), ('Q6', 13)]

>>> main('52756945681')
[('Q1', 785), ('Q2', 0), ('Q3', 99), ('Q4', 3), ('Q5', 290), ('Q6', 12)]

Вариант №33

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.

Выходные данные:

Десятичная строка.

Тесты:

>>> main(61132885713)
'76478647918'

>>> main(39200643809)
'8490469458'

>>> main(101827152756)
'87705906424'

>>> main(97567774414)
'63735442928'

Вариант №34

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Десятичная строка.

Тесты:

>>> main('0x6fd865a3')
'854577571'

>>> main('0x57b2e97f')
'1960293503'

>>> main('0x2dd7d844')
'1814945348'

>>> main('0x3ed17c4c')
'1044304460'

Вариант №35

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Выходные данные:

Шестнадцатиричная строка.

Тесты:

>>> main([('N1', 496), ('N2', 219), ('N3', 7), ('N4', 0), ('N5', 1), ('N6', 104)])
'0x3413b6df0'

>>> main([('N1', 759), ('N2', 403), ('N3', 2), ('N4', 1), ('N5', 0), ('N6', 121)])
'0x3c8564ef7'

>>> main([('N1', 304), ('N2', 425), ('N3', 5), ('N4', 2), ('N5', 2), ('N6', 39)])
'0x13aaea530'

>>> main([('N1', 499), ('N2', 72), ('N3', 5), ('N4', 0), ('N5', 3), ('N6', 95)])
'0x2fb2921f3'

Вариант №36

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Тесты:

>>> main('0x35199')
[('F1', 409), ('F2', 0), ('F3', 53)]

>>> main('0x19647')
[('F1', 71), ('F2', 3), ('F3', 25)]

>>> main('0x15f8f')
[('F1', 399), ('F2', 7), ('F3', 21)]

>>> main('0x30fcf')
[('F1', 463), ('F2', 7), ('F3', 48)]

Вариант №37

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Шестнадцатиричная строка.

Тесты:

>>> main('0x3d69c1')
'0x3d3e80'

>>> main('0x693354')
'0x696b00'

>>> main('0x68aa97')
'0x68d280'

>>> main('0x641a8b')
'0x645180'

Вариант №38

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Целое.

Тесты:

>>> main({'N1': '29', 'N2': '124', 'N3': '121', 'N5': '590', 'N6': '301'})
663173016272669

>>> main({'N1': '17', 'N2': '30', 'N3': '395', 'N5': '578', 'N6': '209'})
460837109196689

>>> main({'N1': '61', 'N2': '84', 'N3': '980', 'N5': '239', 'N6': '201'})
442516930991421

>>> main({'N1': '28', 'N2': '31', 'N3': '119', 'N5': '207', 'N6': '354'})
778898762557404

Вариант №39

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Целое.

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Тесты:

>>> main(264510)
{'Q2': 0, 'Q3': 2, 'Q4': 129}

>>> main(262078)
{'Q2': 0, 'Q3': 15, 'Q4': 127}

>>> main(831292)
{'Q2': 0, 'Q3': 14, 'Q4': 405}

>>> main(342144)
{'Q2': 0, 'Q3': 1, 'Q4': 167}

Вариант №40

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Целое.

Тесты:

>>> main([('Q1', '0x0'), ('Q2', '0x3'), ('Q3', '0x5d'), ('Q5', '0x5')])
656110

>>> main([('Q1', '0x1'), ('Q2', '0x3'), ('Q3', '0xc8'), ('Q5', '0x7')])
919111

>>> main([('Q1', '0x1'), ('Q2', '0x2'), ('Q3', '0x15'), ('Q5', '0xb')])
1441965

>>> main([('Q1', '0x0'), ('Q2', '0x0'), ('Q3', '0xeb'), ('Q5', '0x4')])
526168