前言
一年没打比赛了, 差一题进决赛, REV当时lin
的第三个challenge没看出来是凯撒, 想得复杂了, 结果错失一次线下机会 >_<
T4ee
动态调试, nop掉反调试代码
发现处理过程为
- 置换
sub_412F20
处理(这里看其他师傅的wp知道应该是rc4, 我是直接en逆的- buf字符串中每一位和下一位异或
最后和byte_41C004
数组比较
逆过程则反过来
permut_table = [
18, 157, 158, 161, 223, 37, 194, 130, 115, 251,
116, 227, 190, 128, 208, 109, 255, 127, 31, 111,
17, 74, 153, 118, 14, 67, 204, 75, 179, 69,
47, 154, 133, 0, 160, 3, 207, 246, 209, 41,
205, 22, 254, 15, 70, 144, 249, 178, 238, 114,
54, 65, 164, 220, 123, 27, 2, 24, 52, 19,
16, 49, 107, 252, 234, 183, 78, 110, 85, 64,
96, 72, 56, 60, 33, 57, 36, 120, 165, 63,
112, 216, 83, 11, 217, 35, 180, 198, 13, 201,
250, 129, 170, 167, 10, 163, 231, 39, 244, 172,
137, 132, 240, 210, 113, 12, 195, 124, 93, 193,
224, 186, 104, 98, 5, 131, 199, 82, 202, 142,
145, 42, 196, 147, 197, 30, 152, 215, 68, 226,
73, 177, 146, 173, 76, 247, 119, 230, 4, 25,
176, 89, 91, 232, 90, 150, 125, 225, 181, 175,
182, 106, 46, 218, 9, 122, 239, 200, 211, 59,
243, 143, 206, 135, 99, 228, 29, 213, 141, 21,
185, 117, 7, 156, 253, 126, 50, 184, 214, 23,
28, 20, 241, 162, 97, 138, 88, 94, 58, 235,
212, 151, 140, 26, 169, 166, 87, 171, 248, 148,
222, 192, 92, 86, 245, 102, 53, 62, 100, 139,
34, 40, 159, 79, 38, 44, 6, 84, 48, 229,
121, 77, 51, 237, 103, 174, 66, 134, 203, 189,
149, 233, 95, 45, 8, 136, 32, 55, 101, 1,
61, 219, 155, 81, 71, 168, 105, 221, 236, 187,
108, 80, 43, 191, 242, 188
]
checklist = [
44, 64, 206, 136, 234, 179, 167, 250, 190, 227,
50, 217, 139, 228, 28, 119, 252, 212, 118, 171,
135, 65, 176, 206, 245, 94, 97, 134, 168, 207,
113, 153, 92, 177
]
for i in range(32, -1, -1):
checklist[i] = checklist[i + 1] ^ checklist[i]
flag_tmp = [0 for _ in range(34)]
v6, v7 = 0, 0
for i in range(0, 34, 1):
v7 = (v7 + 1) % 256
v6 = (v6 + permut_table[v7]) % 256
v5 = permut_table[v7]
permut_table[v7] = permut_table[v6]
permut_table[v6] = v5
# brute force every byte
for k in range(1, 128):
tmp = k ^ permut_table[(permut_table[v6] + permut_table[v7]) % 256]
if tmp == checklist[i]:
flag_tmp[i] = k
print(flag_tmp)
change_table = [
7, 3, 15, 18, 0, 6, 25, 21, 20, 2,
29, 12, 14, 17, 5, 19, 11, 22, 8, 1,
27, 10, 31, 30, 4, 26, 28, 32, 33, 13,
16, 9, 23, 24
]
flag = ''
for i in range(34):
flag += chr(flag_tmp[change_table[i]])
print(flag)
这题很坑的地方是, 静态分析判断的函数调用顺序不是实际执行顺序, 很坑, 浪费了大量时间
动调几遍最后才确定的函数调用顺序
easy_xors
有一些花指令, 影响反编译, 直接读汇编
这里有个反调试, 直接nop掉, 或者用插件绕过
定位到xor代码
动调提取xor的数组, xor回去就行
checklist = [
153, 72, 94, 189, 197, 155, 133, 150, 32, 252,
24, 178, 0, 197, 218, 192, 177, 200, 108, 129,
99, 189, 9, 80, 194, 187, 236, 51, 214, 215,
143, 175, 173, 206, 20, 237, 140, 206, 111, 169,
168, 2, 140, 144, 148, 103
]
xor_list = [
0xFF, 0x24, 0x3F, 0xDA, 0xBE, 0xA9, 0xB6, 0xF7, 0x12, 0x8F,
0x29, 0xD0, 0x73, 0xF7, 0xF7, 0xA2, 0x83, 0xAD, 0x5F, 0xB0,
0x51, 0x90, 0x3F, 0x68, 0xF6, 0x8C, 0xC1, 0x0A, 0xB7, 0xB5,
0xBC, 0x82, 0xCC, 0xFC, 0x67, 0xDE, 0xE9, 0xFF, 0x5B, 0xCB,
0xC9, 0x67, 0xEA, 0xF6, 0xA6, 0x1A
]
flag = ''
for i in range(len(checklist)):
flag += chr(checklist[i] ^ xor_list[i])
print(flag)
小林的世界
一共三个challenges, 前两个的key是rot13处理, 第一个是hasaki
, 第二个是vxnfnu
base64串
第三个challenge, 可以看到后面有个base64串, 解出来是DASCTF{hasaki-pdtzptz-vxnfnu}
, 输入进去不对, 动态调试查看一下中间值, 发现输入进去的pdtzptz
会变成uiyeuye
, 猜测是凯撒加密, 偏移为5
pdtzytz
凯撒解密回去, 就是kyoukou
最后得到flag: DASCTF{hasaki-kyoukou-vxnfnu}
Robbie gave up
Unity 逆向, dnSpy打开Robbie gave up_Data\Managed\Assembly-CSharp.dll
, 定位到关键代码Robbie.win()
, 这个关键函数的定位一个一个object看就行
// Robbie
// Token: 0x0600005C RID: 92 RVA: 0x0001080C File Offset: 0x0000EA0C
public static object Win()
{
for (int i = GameManager.instance.orbs.Count; i < Robbie.data1.Length; i++)
{
Robbie.data2[i] = (byte)(Robbie.data1[i] ^ i);
}
Type type = Assembly.Load(Robbie.data2).GetType("ClassLibrary1.Class1");
object obj = type.GetConstructor(Type.EmptyTypes).Invoke(new object[0]);
return type.GetMethod("Method").Invoke(obj, null).ToString();
}
和flag相关的数据都是硬编码在程序中的, 可以抽取关键逻辑出来, 在vscode装C#插件, 创建项目跑
当然也可以在线运行, 本地环境要求Microsoft.NETCore.App
等SDK各种依赖, 需要一点配置时间
using System;
using System.Reflection;
namespace ConsoleApp
{
class Robbie
{
// Robbie
// Token: 0x04000084 RID: 132
private static int[] data1 = new int[]
{
77,
91,
146,
3,
7,
5,
6,
7,
12,
9,
10,
11,
243,
242,
14,
15,
168,
17,
18,
19,
20,
21,
22,
23,
88,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
188,
61,
62,
63,
78,
94,
248,
77,
68,
241,
79,
138,
105,
241,
75,
7,
129,
108,
26,
39,
57,
34,
114,
35,
38,
58,
49,
37,
57,
52,
122,
56,
61,
51,
48,
48,
20,
65,
0,
6,
68,
23,
19,
9,
72,
0,
4,
75,
40,
34,
61,
79,
29,
30,
22,
22,
90,
120,
123,
125,
92,
121,
122,
123,
124,
125,
126,
127,
208,
196,
130,
131,
200,
132,
133,
135,
232,
8,
43,
63,
140,
141,
142,
143,
144,
145,
146,
147,
116,
149,
180,
183,
147,
152,
170,
155,
156,
141,
158,
159,
160,
167,
162,
163,
164,
165,
166,
167,
38,
134,
170,
171,
172,
141,
174,
175,
176,
241,
178,
179,
180,
181,
182,
167,
184,
153,
186,
187,
188,
191,
190,
191,
196,
193,
194,
195,
196,
197,
198,
199,
206,
201,
202,
203,
204,
205,
206,
207,
208,
81,
210,
211,
212,
215,
214,
215,
216,
217,
218,
219,
223,
221,
190,
90,
224,
225,
242,
227,
228,
245,
230,
231,
232,
233,
250,
235,
236,
253,
238,
239,
240,
241,
242,
243,
228,
245,
246,
247,
248,
249,
250,
251,
252,
253,
254,
255,
320,
302,
258,
259,
335,
261,
262,
263,
264,
329,
266,
267,
408,
270,
270,
271,
272,
273,
274,
275,
276,
277,
278,
279,
280,
281,
282,
283,
284,
285,
286,
287,
288,
321,
290,
291,
296,
293,
294,
295,
296,
297,
298,
299,
300,
301,
302,
303,
304,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
315,
316,
317,
318,
319,
320,
321,
322,
323,
324,
325,
326,
327,
328,
329,
330,
331,
332,
333,
334,
335,
336,
337,
338,
339,
340,
341,
342,
343,
344,
377,
346,
347,
340,
349,
350,
351,
352,
353,
354,
355,
356,
357,
358,
359,
352,
329,
362,
363,
292,
365,
366,
367,
368,
369,
370,
371,
372,
373,
374,
375,
342,
269,
287,
259,
264,
381,
382,
383,
276,
398,
386,
387,
388,
421,
390,
391,
392,
409,
394,
395,
396,
399,
398,
399,
400,
401,
402,
403,
404,
405,
406,
407,
408,
409,
410,
411,
444,
413,
414,
511,
398,
467,
465,
465,
455,
421,
422,
423,
316,
426,
426,
427,
428,
493,
430,
431,
432,
437,
434,
435,
436,
423,
438,
439,
440,
441,
442,
443,
444,
445,
446,
447,
448,
449,
450,
451,
388,
453,
454,
391,
486,
443,
431,
423,
419,
430,
462,
463,
476,
465,
466,
467,
468,
437,
470,
471,
472,
475,
474,
475,
476,
459,
478,
479,
480,
481,
482,
483,
484,
485,
486,
487,
488,
489,
490,
491,
428,
493,
494,
429,
496,
497,
498,
499,
500,
501,
502,
503,
504,
505,
506,
507,
508,
509,
510,
511,
624,
558,
514,
515,
516,
517,
518,
519,
576,
521,
522,
523,
526,
525,
523,
527,
672,
565,
530,
531,
644,
543,
534,
535,
537,
537,
538,
539,
540,
541,
542,
543,
544,
545,
546,
547,
548,
549,
550,
551,
552,
553,
554,
555,
556,
557,
558,
559,
560,
561,
562,
563,
564,
565,
566,
567,
568,
569,
570,
571,
572,
573,
574,
575,
576,
577,
578,
579,
580,
581,
582,
583,
584,
585,
586,
587,
588,
589,
590,
591,
590,
595,
634,
579,
596,
597,
604,
637,
558,
603,
626,
587,
604,
605,
596,
605,
531,
624,
610,
611,
622,
536,
613,
615,
616,
621,
616,
537,
517,
621,
622,
543,
525,
627,
626,
627,
624,
607,
556,
629,
515,
632,
634,
635,
632,
593,
633,
637,
763,
640,
642,
643,
640,
687,
644,
764,
650,
649,
650,
655,
678,
767,
653,
679,
646,
657,
658,
665,
697,
647,
660,
703,
655,
665,
666,
657,
671,
754,
646,
671,
672,
683,
650,
687,
676,
677,
672,
653,
683,
643,
728,
680,
644,
699,
686,
687,
698,
668,
672,
667,
675,
693,
694,
701,
698,
698,
658,
688,
700,
701,
696,
720,
729,
705,
706,
713,
750,
710,
748,
665,
715,
741,
728,
739,
731,
717,
718,
709,
722,
722,
762,
735,
724,
725,
720,
696,
704,
729,
730,
721,
758,
713,
756,
641,
739,
717,
752,
737,
716,
754,
742,
743,
738,
746,
645,
754,
748,
749,
740,
711,
763,
753,
754,
757,
734,
737,
732,
645,
762,
642,
761,
763,
764,
761,
657,
741,
768,
769,
776,
796,
836,
811,
778,
773,
778,
882,
776,
779,
780,
777,
806,
778,
784,
785,
788,
825,
854,
790,
782,
831,
827,
793,
794,
785,
770,
770,
814,
880,
772,
801,
802,
809,
782,
775,
805,
831,
768,
780,
810,
811,
806,
775,
814,
815,
803,
769,
816,
819,
806,
821,
822,
823,
825,
825,
826,
810,
846,
828,
830,
831,
816,
843,
817,
832,
836,
837,
832,
833,
864,
846,
842,
843,
842,
871,
846,
847,
835,
865,
849,
851,
950,
853,
854,
855,
858,
857,
858,
842,
862,
806,
861,
863,
864,
869,
781,
881,
868,
869,
876,
869,
875,
788,
875,
875,
876,
873,
876,
788,
881,
881,
882,
887,
857,
856,
884,
780,
890,
889,
890,
895,
886,
875,
885,
852,
920,
903,
901,
1004,
919,
901,
902,
909,
900,
907,
1009,
904,
908,
909,
906,
903,
1023,
901,
914,
915,
926,
914,
897,
975,
915,
926,
924,
1012,
905,
925,
926,
917,
914,
894,
904,
929,
991,
932,
934,
935,
940,
966,
959,
939,
940,
935,
945,
1007,
927,
979,
944,
968,
949,
949,
950,
947,
946,
943,
945,
912,
932,
955,
953,
976,
979,
961,
962,
969,
969,
967,
957,
964,
968,
969,
974,
962,
931,
985,
974,
975,
986,
982,
965,
907,
991,
978,
976,
952,
973,
985,
986,
977,
1006,
770,
968,
972,
996,
970,
1020,
993,
927,
998,
998,
999,
1004,
1003,
913,
1001,
1004,
1005,
1002,
1022,
1012,
926,
993,
1011,
1012,
1023,
921,
995,
1016,
1017,
1008,
1002,
1016,
1002,
934,
1004,
1028,
1040,
1030,
1052,
1092,
1031,
1149,
1030,
1032,
1033,
1038,
1124,
1049,
1037,
1038,
1029,
1097,
1059,
1218,
1081,
1026,
1030,
1043,
1084,
1030,
1051,
1121,
1048,
1052,
1053,
1050,
1053,
1115,
1056,
1058,
1059,
1056,
1076,
1059,
1096,
1083,
1065,
1066,
1057,
1091,
1081,
1070,
1071,
1082,
1056,
1079,
1060,
1132,
1062,
1075,
1062,
1085,
1062,
1146,
1033,
1248,
1047,
1086,
1087,
1107,
1137,
1092,
1091,
1128,
1092,
1094,
1095,
1099,
1097,
1098,
1114,
1102,
1125,
1092,
1103,
1104,
1111,
1092,
1119,
1111,
1082,
1091,
1111,
1112,
1107,
1088,
1024,
1105,
1118,
1073,
1098,
1120,
1121,
1128,
1145,
1081,
1142,
1122,
1142,
1132,
1092,
1121,
1138,
1125,
1079,
1251,
1146,
1136,
1137,
1139,
1145,
1119,
1034,
1135,
1150,
1058,
1128,
1150,
1059,
1131,
1060,
1267,
1130,
1152,
1153,
1155,
1161,
1274,
1182,
1158,
1159,
1154,
1154,
1179,
1167,
1183,
1160,
1189,
1211,
1175,
1171,
1168,
1256,
1175,
1173,
1174,
1171,
1179,
1178,
1269,
1166,
1180,
1181,
1172,
1166,
1189,
1272,
1229,
1200,
1188,
1189,
1196,
1224,
1204,
1193,
1194,
1185,
1150,
1157,
1184,
1199,
1200,
1207,
1194,
1244,
1193,
1205,
1206,
1213,
1168,
1191,
1210,
1211,
1206,
1206,
1199,
1210,
1239,
1176,
1233,
1222,
1237,
1216,
1232,
1271,
1039,
1247,
1241,
1229,
1255,
1234,
1224,
1238,
1241,
1163,
1219,
1237,
1164,
1239,
1233,
1225,
1225,
1247,
1152,
1221,
1203,
1218,
1246,
1247,
1258,
1225,
1261,
1251,
1252,
1251,
1146,
1270,
1262,
1278,
1202,
1272,
1258,
1276,
1256,
1278,
1268,
1254,
1195,
1217,
1069,
1251,
1253,
1264,
1235,
1166,
1156,
1248,
1276,
1277,
1268,
1268,
1302,
1298,
1290,
1320,
1334,
1282,
1284,
1285,
1395,
1290,
1290,
1291,
1288,
1294,
1300,
1310,
1303,
1355,
1283,
1307,
1356,
1402,
1285,
1303,
1304,
1299,
1397,
1287,
1308,
1309,
1300,
1485,
1288,
1327,
1314,
1315,
1314,
1341,
1353,
1338,
1320,
1321,
1312,
1283,
1330,
1325,
1326,
1317,
1339,
1312,
1338,
1316,
1388,
1318,
1342,
1318,
1328,
1315,
1288,
1522,
1322,
1326,
1335,
1300,
1374,
1351,
1354,
1382,
1363,
1309,
1354,
1349,
1359,
1367,
1371,
1346,
1302,
1363,
1313,
1360,
1360,
1361,
1368,
1403,
1371,
1365,
1366,
1361,
1476,
1352,
1363,
1356,
1284,
1358,
1367,
1358,
1385,
1382,
1293,
1398,
1380,
1381,
1388,
1401,
1331,
1371,
1468,
1402,
1387,
1402,
1334,
1404,
1399,
1376,
1397,
1402,
1350,
1521,
1392,
1373,
1387,
1353,
1407,
1403,
1451,
1405,
1406,
1407,
1412,
1409,
1410,
1426,
1414,
1453,
1420,
1415,
1416,
1423,
1524,
1424,
1420,
1421,
1412,
1413,
1427,
1311,
1531,
1418,
1487,
1433,
1429,
1305,
1521,
1408,
1479,
1430,
1418,
1422,
1434,
1460,
1504,
1503,
1465,
1443,
1444,
1455,
1453,
1457,
1467,
1452,
1409,
1463,
1451,
1455,
1453,
1462,
1441,
1461,
1512,
1442,
1457,
1517,
1319,
1439,
1462,
1465,
1466,
1469,
1428,
1443,
1470,
1471,
1482,
1482,
1491,
1478,
1491,
1437,
1493,
1474,
1497,
1484,
1491,
1529,
1299,
1483,
1484,
1480,
1528,
1500,
1490,
1491,
1490,
1533,
1480,
1495,
1496,
1491,
1488,
1482,
1496,
1482,
1414,
1484,
1508,
1520,
1510,
1515,
1494,
1374,
1519,
1520,
1499,
1486,
1512,
1512,
1519,
1379,
1415,
1528,
1449,
1376,
1498,
1533,
1524,
1525,
1520,
1512,
1524,
1510,
1482,
1428,
1500,
1533,
1534,
1525,
1547,
1543,
1536,
1540,
1580,
1544,
1542,
1543,
1550,
1569,
1556,
1547,
1548,
1543,
1540,
1572,
1624,
1560,
1546,
1568,
1616,
1643,
1549,
1559,
1560,
1555,
1553,
1554,
1551,
1563,
1589,
1540,
1575,
1571,
1569,
1568,
1706,
1612,
1591,
1569,
1649,
1720,
1538,
1573,
1580,
1581,
1576,
1543,
1582,
1585,
1586,
1593,
1599,
1572,
1584,
1568,
1633,
1578,
1596,
1578,
1594,
1579,
1550,
1759,
1607,
1630,
1616,
1628,
1652,
1578,
1638,
1607,
1608,
1603,
1601,
1613,
1614,
1610,
1638,
1602,
1616,
1617,
1620,
1659,
1610,
1621,
1622,
1629,
1618,
1631,
1648,
1627,
1615,
1645,
1624,
1631,
1573,
1633,
1634,
1635,
1633,
1637,
1638,
1654,
1558,
1650,
1642,
1643,
1638,
1639,
1656,
1636,
1627,
1631,
1652,
1649,
1551,
1654,
1654,
1655,
1660,
1659,
1657,
1639,
1659,
1575,
1634,
1552,
1695,
1665,
1666,
1673,
1708,
1674,
1670,
1671,
1678,
1766,
1707,
1675,
1676,
1671,
1666,
1693,
1682,
1721,
1712,
1683,
1684,
1695,
1726,
1673,
1688,
1689,
1680,
1681,
1691,
1674,
1734,
1684,
1703,
1698,
1741,
1718,
1700,
1701,
1708,
1723,
1779,
1691,
1645,
1709,
1670,
1709,
1710,
1711,
1778,
1762,
1784,
1777,
1717,
1717,
1719,
1719,
1720,
1721,
1722,
1723,
1712,
1725,
1726,
1727,
1718,
1781,
1772,
1779,
1770,
1782,
1782,
1780,
1785,
1776,
1738,
1739,
1740,
1741,
1739,
1743,
1724,
1745,
1746,
1747,
1644,
1750,
1750,
1751,
1787,
1703,
1754,
1755,
1784,
1753,
1758,
1759,
1616,
1762,
1762,
1763,
1735,
1718,
1682,
1685,
1665,
1671,
1677,
1688,
1772,
1773,
1774,
1775,
1572,
1782,
1778,
1779,
1560,
1781,
1782,
1783,
1755,
1708,
1705,
1787,
1596,
1781,
1790,
1791,
1808,
1793,
1794,
1795,
1831,
1858,
1875,
1870,
1868,
1801,
1802,
1803,
2012,
1797,
1806,
1807,
2000,
1808,
1810,
1811,
1847,
1879,
1914,
1912,
1914,
1817,
1818,
1819,
1820,
1821,
1822,
1823,
1826,
1825,
1826,
1826,
1907,
1840,
1924,
1838,
1825,
1833,
1834,
1835,
1836,
2007,
1803,
1820,
1840,
1831,
1842,
1843,
1845,
1845,
1846,
1847,
1839,
1849,
1850,
1851,
1855,
1853,
1854,
1855,
1859,
1857,
1858,
1859,
1867,
1861,
1862,
1863,
1858,
1865,
1866,
1867,
1897,
1869,
1870,
1871,
1887,
1873,
1874,
1875,
1873,
1877,
1878,
1879,
1881,
1881,
1882,
1883,
1885,
1885,
1886,
1887,
1890,
1889,
1890,
1891,
1893,
1893,
1894,
1895,
1897,
1897,
1898,
1899,
1901,
1901,
1902,
1903,
1904,
1905,
1820,
1905,
1909,
1909,
1910,
1911,
1912,
1913,
1916,
1915,
1821,
1918,
2039,
1917,
1926,
1921,
1923,
1923,
1978,
1925,
1920,
1927,
1800,
1928,
1924,
1928,
1930,
1933,
1891,
1934,
1950,
1938,
1940,
1939,
1800,
1941,
1866,
1941,
1935,
1945,
1972,
1944,
1948,
1949,
1944,
1951,
1892,
1953,
1819,
1953,
1954,
1957,
1989,
1958,
1809,
1963,
1964,
1963,
2024,
1964,
1815,
1965,
1974,
1969,
1894,
1970,
1805,
1975,
1968,
1975,
1816,
1976,
1795,
1977,
1978,
1981,
1799,
1982,
1913,
1987,
1988,
1987,
1823,
1989,
1919,
1989,
1998,
1993,
1989,
1994,
1986,
1998,
1992,
1999,
1888,
2001,
1853,
2001,
2002,
2005,
1880,
2007,
1847,
2011,
2012,
2011,
2043,
2012,
1895,
2013,
2022,
2017,
1812,
2019,
1992,
2023,
2016,
2023,
1978,
2027,
1891,
2025,
2026,
2029,
1997,
2029,
1889,
2034,
2036,
2035,
2020,
2039,
1919,
2037,
2046,
2041,
1835,
2041,
1909,
2047,
2040,
2047,
2185,
2050,
2187,
2049,
2052,
2053,
2054,
2055,
2094,
2057,
2058,
2059,
2060,
2061,
2063,
2063,
2065,
2065,
2067,
2067,
2052,
2069,
2078,
2071,
2071,
2073,
2079,
2075,
2077,
2077,
2079,
2079,
2081,
2081,
2098,
2083,
2215,
2086,
2075,
2084,
2093,
2089,
2091,
2091,
2095,
2093,
2095,
2095,
2049,
2097,
2080,
2099,
2101,
2101,
2073,
2103,
2090,
2105,
2107,
2107,
2063,
2109,
2091,
2111,
2160,
2144,
2114,
2115,
2116,
2117,
2256,
2119,
2069,
2121,
2112,
2123,
2125,
2125,
2078,
2159,
2128,
2129,
2130,
2131,
2258,
2125,
2176,
2133,
2134,
2137,
2139,
2139,
2052,
2173,
2142,
2143,
2144,
2145,
2276,
2171,
2226,
2151,
2152,
2151,
2153,
2153,
2076,
2123,
2156,
2157,
2158,
2159,
2294,
2169,
2274,
2161,
2152,
2165,
2167,
2167,
2088,
2136,
2170,
2171,
2172,
2173,
2296,
2167,
2074,
2179,
2210,
2179,
2181,
2181,
2059,
2215,
2184,
2185,
2186,
2187,
2058,
2189,
2057,
2191,
2229,
2193,
2192,
2195,
2110,
2229,
2198,
2199,
2200,
2201,
2076,
2203,
2288,
2205,
2235,
2207,
2211,
2209,
2149,
2179,
2212,
2213,
2214,
2215,
2094,
2217,
2093,
2219,
2182,
2221,
2218,
2223,
2159,
2193,
2226,
2227,
2228,
2229,
2096,
2231,
2260,
2233,
2192,
2235,
2233,
2237,
2121,
2207,
2240,
2241,
2242,
2243,
2117,
2245,
2146,
2245,
2246,
2249,
2252,
2251,
2188,
2287,
2254,
2255,
2256,
2257,
2131,
2259,
2224,
2261,
2279,
2263,
2270,
2265,
2210,
2296,
2268,
2269,
2270,
2271,
2145,
2273,
2193,
2275,
2259,
2277,
2273,
2279,
2228,
2253,
2282,
2283,
2284,
2285,
2159,
2287,
2162,
2289,
2263,
2291,
2300,
2293,
2274,
2262,
2296,
2297,
2298,
2299,
2173,
2301,
2129,
2301,
2365,
2305,
2315,
2307,
2337,
2340,
2310,
2311,
2312,
2313,
2443,
2315,
2311,
2319,
2380,
2319,
2330,
2321,
2322,
2323,
2325,
2325,
2307,
2325,
2328,
2329,
2331,
2331,
2433,
2334,
2334,
2335,
2337,
2337,
2495,
2336,
2340,
2341,
2343,
2343,
2485,
2346,
2346,
2347,
2349,
2349,
2483,
2348,
2352,
2353,
2355,
2355,
2473,
2358,
2358,
2359,
2361,
2361,
2471,
2360,
2364,
2365,
2367,
2367,
2525,
2370,
2370,
2371,
2373,
2373,
2523,
2372,
2376,
2377,
2379,
2379,
2513,
2382,
2391,
2383,
2438,
2387,
2329,
2387,
2421,
2389,
2432,
2389,
2390,
2393,
2419,
2395,
2442,
2399,
2342,
2399,
2393,
2401,
2484,
2401,
2372,
2405,
2343,
2407,
2494,
2411,
2378,
2411,
2341,
2413,
2488,
2413,
2384,
2417,
2339,
2419,
2466,
2423,
2390,
2423,
2337,
2425,
2476,
2425,
2396,
2429,
2335,
2431,
2390,
2435,
2466,
2435,
2541,
2437,
2384,
2437,
2472,
2441,
2555,
2443,
2394,
2447,
2432,
2447,
2537,
2449,
2372,
2449,
2344,
2453,
2327,
2455,
2382,
2459,
2490,
2459,
2325,
2461,
2376,
2461,
2432,
2465,
2355,
2467,
2418,
2471,
2438,
2471,
2465,
2473,
2428,
2473,
2466,
2477,
2466,
2479,
2406,
2483,
2492,
2483,
2488,
2485,
2429,
2485,
2486,
2489,
2339,
2491,
2540,
2494,
2535,
2494,
2508,
2497,
2459,
2499,
2458,
2500,
2399,
2503,
2475,
2507,
2478,
2506,
2389,
2509,
2385,
2508,
2488,
2512,
2419,
2515,
2505,
2517,
2491,
2518,
2425,
2521,
2461,
2520,
2541,
2525,
2431,
2527,
2479,
2531,
2517,
2531,
2536,
2533,
2463,
2532,
2444,
2536,
2419,
2539,
2379,
2542,
2556,
2543,
2556,
2545,
2537,
2545,
2420,
2548,
2415,
2551,
2465,
2555,
2428,
2554,
2405,
2557,
2468,
2556,
2699,
2560,
2715,
2563,
2653,
2567,
2711,
2566,
2705,
2569,
2682,
2568,
2733,
2572,
2562,
2575,
2704,
2579,
2751,
2578,
2725,
2581,
2640,
2581,
2564,
2585,
2723,
2587,
2650,
2591,
2733,
2590,
2745,
2593,
2634,
2592,
2693,
2596,
2719,
2599,
2598,
2603,
2707,
2602,
2562,
2605,
2597,
2607,
2656,
2609,
2588,
2611,
2599,
2613,
2671,
2615,
2582,
2617,
2593,
2619,
2626,
2621,
2576,
2623,
2659,
2625,
2757,
2627,
2666,
2629,
2669,
2631,
2770,
2633,
2660,
2635,
2687,
2637,
2772,
2639,
2686,
2641,
2665,
2643,
2766,
2645,
2680,
2647,
2587,
2649,
2781,
2651,
2674,
2653,
2581,
2655,
2752,
2657,
2636,
2659,
2615,
2661,
2812,
2663,
2630,
2665,
2609,
2667,
2779,
2669,
2624,
2671,
2579,
2673,
2792,
2675,
2650,
2677,
2589,
2679,
2745,
2681,
2644,
2683,
2575,
2685,
2709,
2687,
2734,
2689,
2809,
2691,
2684,
2693,
2752,
2694,
2776,
2696,
2808,
2698,
2587,
2700,
2601,
2702,
2707,
2705,
2707,
2707,
2708,
2709,
2623,
2709,
2783,
2713,
2712,
2715,
2712,
2717,
2717,
2719,
2721,
2721,
2727,
2723,
2727,
2725,
2796,
2726,
2732,
2601,
2730,
2731,
2733,
2733,
2734,
2735,
2736,
2737,
2738,
2739,
2740,
2741,
2742,
2743,
2744,
2745,
2741,
2747,
2748,
2749,
2746,
2751,
2752,
2753,
2754,
2755,
2756,
2757,
2758,
2759,
2760,
2761,
2763,
2763,
2809,
2765,
2766,
2767,
2768,
2769,
2770,
2771,
2772,
2713,
2751,
2724,
2732,
2745,
2795,
2779,
2719,
2737,
2751,
2732,
2707,
2768,
2786,
2720,
2696,
2692,
2709,
2708,
2724,
2688,
2696,
2713,
2701,
2719,
2711,
2782,
2800,
2710,
2711,
2695,
2731,
2720,
2722,
2737,
2752,
2809,
2758,
2742,
2707,
2713,
2699,
2707,
2917,
2879,
2818,
2888,
2820,
2902,
2822,
2899,
2824,
2916,
2937,
2920,
2915,
2943,
2914,
2918,
2930,
2833,
2881,
2922,
2919,
2913,
2931,
2938,
2870,
2906,
2933,
2935,
2928,
2936,
2941,
2923,
2889,
2894,
2892,
2896,
2826,
2914,
2883,
2889,
2893,
2907,
2883,
2888,
2860,
2924,
2890,
2891,
2864,
2940,
2903,
2887,
2908,
2906,
2898,
2871,
2929,
2903,
2894,
2910,
2894,
2899,
2911,
2899,
2820,
2852,
2849,
2860,
2848,
2848,
2886,
2830,
2854,
2877,
2863,
2873,
2850,
2860,
2850,
2826,
2878,
2866,
2877,
2871,
2865,
2901,
2869,
2853,
2849,
2857,
2862,
2846,
2866,
2878,
2865,
2875,
2821,
2913,
2853,
2838,
2829,
2817,
2855,
2835,
2844,
2843,
2819,
2825,
2841,
2841,
2827,
2927,
2868,
2836,
2832,
2822,
2835,
2834,
2839,
2837,
2836,
2844,
2875,
2831,
2824,
2831,
2839,
2845,
3061,
3061,
3047,
2947,
3015,
3050,
3051,
3025,
3041,
3066,
3043,
3049,
3040,
3048,
3023,
3067,
3044,
3043,
3067,
3057,
3041,
3041,
3059,
2967,
3033,
3050,
3049,
3070,
3057,
3071,
3058,
3046,
3060,
3016,
3030,
3023,
3009,
3044,
3026,
3027,
3034,
3008,
3016,
3038,
3032,
3016,
2990,
3054,
3011,
3010,
3031,
3038,
3030,
3033,
3023,
3043,
3018,
3032,
3038,
3038,
3025,
3036,
3020,
3028,
2945,
2997,
2998,
2993,
2989,
2983,
2995,
2995,
2989,
3017,
2974,
2986,
3006,
2986,
2987,
3003,
2966,
2979,
2995,
3006,
2993,
2978,
3001,
2981,
2995,
2968,
2990,
2991,
2990,
2996,
3004,
2986,
2964,
2948,
3042,
2992,
2961,
2965,
2966,
2965,
2957,
2970,
2969,
2978,
2944,
2953,
2959,
2972,
2973,
2992,
2950,
2951,
2950,
2972,
2964,
2946,
2956,
2972,
3066,
3002,
2959,
2958,
2971,
2962,
3170,
3181,
3195,
3141,
3181,
3177,
3171,
3153,
3181,
3195,
3193,
3170,
3171,
3171,
3151,
3195,
3172,
3171,
3195,
3185,
3169,
3169,
3187,
3095,
3161,
3178,
3177,
3198,
3185,
3199,
3186,
3174,
3171,
3150,
3148,
3141,
3149,
3138,
3155,
3157,
3145,
3165,
3139,
3140,
3138,
3180,
3162,
3163,
3138,
3160,
3152,
3142,
3136,
3152,
3126,
3190,
3147,
3146,
3167,
3158,
3166,
3153,
3143,
3195,
3109,
3122,
3105,
3121,
3117,
3125,
3122,
3118,
3111,
3111,
3083,
3135,
3128,
3135,
3111,
3117,
3109,
3109,
3127,
3155,
3095,
3130,
3131,
3111,
3121,
3125,
3131,
3119,
3125,
3122,
3120,
3085,
3077,
3085,
3075,
3099,
3077,
3089,
3087,
3080,
3078,
3098,
3115,
3103,
3096,
3103,
3079,
3085,
3077,
3077,
3095,
3187,
3125,
3078,
3077,
3090,
3093,
3099,
3094,
3074,
3116,
3087,
3089,
3099,
3317,
3298,
3318,
3266,
3312,
3313,
3316,
3310,
3306,
3324,
3326,
3310,
3212,
3276,
3325,
3324,
3317,
3324,
3312,
3327,
3309,
3286,
3321,
3303,
3297,
3307,
3315,
3324,
3316,
3305,
3295,
3307,
3284,
3283,
3275,
3265,
3281,
3281,
3267,
3239,
3305,
3290,
3289,
3278,
3265,
3279,
3266,
3286,
3315,
3294,
3295,
3267,
3285,
3291,
3279,
3318,
3276,
3277,
3272,
3282,
3294,
3272,
3274,
3290,
3264,
3219,
3255,
3245,
3248,
3244,
3243,
3234,
3211,
3238,
3239,
3259,
3245,
3257,
3239,
3245,
3257,
3261,
3259,
3239,
3245,
3220,
3234,
3235,
3242,
3248,
3256,
3246,
3240,
3256,
3294,
3229,
3209,
3215,
3254,
3212,
3238,
3228,
3218,
3202,
3304,
3231,
3211,
3207,
3225,
3208,
3310,
3238,
3230,
3221,
3223,
3211,
3259,
3219,
3318,
3250,
3222,
3226,
3221,
3231,
3221,
3219,
3225,
3327,
3411,
3448,
3441,
3447,
3425,
3432,
3368,
3413,
3453,
3431,
3454,
3426,
3425,
3432,
3360,
3417,
3445,
3427,
3425,
3450,
3451,
3451,
3455,
3449,
3455,
3353,
3406,
3444,
3407,
3433,
3436,
3446,
3406,
3398,
3362,
3428,
3393,
3409,
3445,
3411,
3418,
3392,
3396,
3404,
3372,
3454,
3419,
3405,
3395,
3397,
3392,
3418,
3418,
3410,
3382,
3408,
3421,
3405,
3429,
3447,
3417,
3411,
3417,
3403,
3368,
3393,
3329,
3375,
3365,
3382,
3381,
3339,
3361,
3371,
3384,
3370,
3390,
3380,
3455,
3425,
3380,
3389,
3390,
3411,
3379,
3376,
3362,
3336,
3345,
3373,
3391,
3382,
3420,
3342,
3367,
3372,
3348,
3332,
3343,
3427,
3331,
3328,
3346,
3384,
3388,
3334,
3329,
3342,
3330,
3437,
3357,
3338,
3332,
3374,
3366,
3356,
3359,
3344,
3352,
3447,
3387,
3345,
3359,
3352,
3351,
3369,
3345,
3348,
3557,
3567,
3458,
3521,
3581,
3569,
3555,
3539,
3559,
3531,
3555,
3557,
3468,
3550,
3575,
3580,
3556,
3572,
3583,
3517,
3526,
3568,
3568,
3579,
3581,
3578,
3566,
3570,
3571,
3571,
3486,
3548,
3532,
3524,
3523,
3537,
3492,
3558,
3534,
3526,
3546,
3497,
3460,
3528,
3544,
3522,
3548,
3503,
3555,
3528,
3521,
3527,
3537,
3544,
3480,
3571,
3537,
3544,
3549,
3541,
3539,
3534,
3530,
3542,
3491,
3506,
3522,
3472,
3517,
3510,
3506,
3490,
3493,
3559,
3480,
3518,
3490,
3513,
3495,
3490,
3509,
3583,
3483,
3517,
3488,
3504,
3492,
3512,
3496,
3466,
3519,
3497,
3498,
3508,
3517,
3514,
3475,
3553,
3505,
3482,
3479,
3473,
3459,
3466,
3526,
3515,
3487,
3461,
3480,
3460,
3459,
3466,
3550,
3506,
3485,
3486,
3460,
3484,
3482,
3474,
3466,
3498,
3487,
3465,
3466,
3476,
3485,
3482,
3699,
3585,
3654,
3686,
3686,
3696,
3681,
3680,
3681,
3687,
3693,
3654,
3683,
3689,
3691,
3708,
3600,
3677,
3707,
3697,
3686,
3700,
3684,
3710,
3709,
3690,
3610,
3676,
3705,
3689,
3676,
3686,
3668,
3652,
3665,
3619,
3651,
3648,
3666,
3704,
3691,
3649,
3659,
3673,
3679,
3629,
3693,
3648,
3678,
3666,
3667,
3655,
3636,
3706,
3668,
3677,
3677,
3674,
3662,
3643,
3692,
3676,
3674,
3699,
3621,
3623,
3638,
3651,
3604,
3620,
3618,
3605,
3617,
3630,
3618,
3647,
3660,
3626,
3627,
3643,
3599,
3602,
3645,
3622,
3642,
3617,
3670,
3604,
3626,
3616,
3626,
3631,
3676,
3614,
3633,
3633,
3606,
3588,
3600,
3607,
3684,
3638,
3615,
3604,
3612,
3596,
3591,
3653,
3640,
3592,
3606,
3611,
3696,
3593,
3698,
3642,
3591,
3643,
3587,
3611,
3604,
3638,
3592,
3646,
3601,
3597,
3594,
3590,
3712,
3713,
3714,
3715,
3716,
3810,
3817,
3767,
3586,
3769,
3792,
3771,
3597,
3773,
3809,
3775,
3808,
3745,
3778,
3747,
3828,
3749,
3791,
3751,
3832,
3753,
3835,
3755,
3782,
3757,
3779,
3759,
3788,
3729,
3827,
3731,
3799,
3733,
3837,
3735,
3628,
3737,
3780,
3739,
3826,
3741,
3777,
3743,
3800,
3713,
3643,
3715,
3644,
3717,
3801,
3719,
3644,
3721,
3817,
3723,
3637,
3725,
3792,
3727,
3752,
3825,
3769,
3827,
3653,
3829,
3741,
3831,
3752,
3833,
3658,
3835,
3772,
3837,
3744,
3839,
3760,
3809,
3772,
3811,
3766,
3813,
3769,
3815,
3676,
3817,
3666,
3819,
3774,
3821,
3717,
3823,
3690,
3793,
3721,
3795,
3680,
3797,
3720,
3799,
3736,
3801,
3720,
3803,
3821,
3693,
3695,
3757,
3776,
3765,
3778,
3765,
3780,
3773,
3782,
3773,
3784,
3762,
3786,
3766,
3788,
3762,
3790,
3758,
3888,
3922,
3890,
3926,
3892,
3922,
3894,
3934,
3896,
3922,
3898,
3926,
3900,
3922,
3902,
3950,
3872,
3957,
3874,
3957,
3876,
3965,
3878,
3965,
3880,
3954,
3882,
3959,
3884,
3952,
3886,
3953,
3856,
3918,
3858,
3921,
3860,
3920,
3862,
3935,
3864,
3922,
3866,
3925,
3868,
3922,
3870,
4015,
3840,
4016,
3842,
4017,
3844,
4017,
3846,
4031,
3848,
4016,
3850,
4017,
3852,
4022,
3854,
4019,
3952,
4044,
3954,
4044,
3956,
4055,
3958,
3863,
3960,
3867,
3962,
3871,
3964,
3867,
3966,
3863,
3936,
3851,
3938,
3853,
3940,
3893,
3942,
3893,
3944,
3900,
3946,
3900,
3948,
3885,
3950,
3884,
3920,
3863,
3922,
3866,
3924,
3860,
3926,
3859,
3928,
3870,
3930,
3857,
3932,
3856,
3934,
3950,
3879,
4049,
4056,
4045,
3880,
4025,
4010,
3902,
4048,
3960,
4075,
3911,
3845,
3896,
3873,
3970,
3968,
3977,
3893,
4089,
4056,
4051,
3999,
4019,
3944,
3840,
3977,
3979,
3980,
3971,
3981,
4015,
3984,
3984,
3984,
3989,
3994,
3987,
3984,
3970,
3978,
3984,
3995,
3992,
3999,
4029,
3998,
3985,
4004,
3969,
4003,
4002,
4010,
4001,
3974,
4006,
4006,
4007,
4012,
3979,
4013,
4016,
4011,
4018,
4021,
4020,
3986,
4018,
4009,
4016,
4024,
4018,
3992,
4024,
4020,
4006,
4025,
4025,
3998,
4030,
4046,
4036,
4038,
4067,
4037,
4032,
4040,
4036,
4064,
4041,
4036,
4047,
4076,
4044,
4047,
4039,
4056,
4048,
4050,
4059,
4052,
4053,
4054,
4055,
4056,
4039,
4059,
4059,
4061,
4061,
3978,
4061,
4086,
4022,
3984,
3970,
3988,
4011,
3977,
3977,
4013,
3985,
3977,
3982,
3996,
3993,
3975,
3968,
3998,
4005,
3994,
3969,
3995,
3970,
3973,
4086,
4093,
4057,
4091,
4090,
4077,
4068,
4086,
4094,
4096,
4099,
4098,
4099,
4100,
4101,
4102,
4117,
4105,
4105,
4103,
4168,
4192,
4204,
4221,
4220,
4188,
4216,
4208,
4193,
4213,
4199,
4207,
4134,
4120,
4121,
4127,
4122,
4124,
4125,
4126,
4127,
4150,
4128,
4130,
4146,
4199,
4170,
4182,
4190,
4186,
4160,
4173,
4163,
4184,
4109,
4332,
4230,
4112,
4099,
4098,
4097,
4103,
4149,
4150,
4147,
4153,
4153,
4154,
4155,
4152,
4125,
4159,
4158,
4162,
4200,
4163,
4163,
4192,
4128,
4215,
4129,
4140,
4209,
4219,
4222,
4136,
4192,
4140,
4140,
4195,
4198,
4223,
4199,
4192,
4144,
4147,
4218,
4192,
4154,
4153,
4152,
4209,
4203,
4154,
4154,
4101,
4181,
4102,
4180,
4182,
4188,
4101,
4180,
4184,
4201,
4202,
4199,
4205,
4205,
4201,
4190,
4190,
4161,
4188,
4163,
4186,
4165,
4214,
4215,
4149,
4216,
4218,
4199,
4178,
4147,
4155,
4139,
4294,
4339,
4323,
4334,
4321,
4338,
4329,
4341,
4323,
4261,
4316,
4334,
4350,
4350,
4327,
4320,
4350,
4268,
4324,
4263,
4282,
4258,
4280,
4261,
4249,
4249,
4302,
4245,
4232,
4315,
4332,
4350,
4301,
4292,
4309,
4300,
4310,
4302,
4322,
4302,
4315,
4313,
4294,
4298,
4309,
4323,
4303,
4290,
4309,
4261,
4252,
4349,
4337,
4321,
4246,
4337,
4298,
4312,
4311,
4318,
4299,
4306,
4300,
4308,
4320,
4341,
4332,
4340,
4330,
4343,
4293,
4288,
4297,
4295,
4303,
4318,
4318,
4292,
4303,
4300,
4312,
4310,
4308,
4317,
4316,
4310,
4309,
4319,
4304,
4317,
4346,
4314,
4319,
4309,
4315,
4351,
4321,
4320,
4337,
4323,
4327,
4293,
4326,
4335,
4332,
4329,
4331,
4329,
4322,
4329,
4334,
4335,
4322,
4256,
4351,
4340,
4350,
4328,
4339,
4345,
4336,
4337,
4338,
4339,
4340,
4341,
4342,
4343,
4357,
4385,
4355,
4363,
4375,
4357,
4354,
4391,
4361,
4359,
4354,
4366,
4364,
4367,
4352,
4353,
4382,
4372,
4402,
4369,
4378,
4381,
4382,
4382,
4383,
4382,
4372,
4373,
4372,
4373,
4374,
4375,
4392,
4388,
4354,
4385,
4394,
4397,
4389,
4386,
4399,
4394,
4388,
4387,
4399,
4392,
4366,
4398,
4387,
4401,
4410,
4406,
4404,
4407,
4408,
4402,
4400,
4412,
4410,
4409,
4409,
4403,
4406,
4415,
4392,
4462,
4418,
4419,
4420,
4421,
4422,
4423,
4424,
4425,
4426,
4427,
4402,
4450,
4430,
4431,
4432,
4465,
4434,
4435,
4436,
4437,
4438,
4439,
4440,
4441,
4442,
4443,
4444,
4445,
4446,
4447,
4448,
4449,
4450,
4451,
4452,
4453,
4454,
4455,
4376,
4422,
4458,
4459,
4460,
4461,
4462,
4463,
4464,
4465,
4397,
4400,
4379,
4359,
4402,
4379,
4372,
4404,
4379,
4370,
4370,
4477,
4371,
4364,
4579,
4590,
4592,
4582,
4577,
4523,
4578,
4587,
4580,
4489,
4490,
4491,
4492,
4493,
4465,
4522,
4496,
4529,
4498,
4483,
4500,
4501,
4502,
4503,
4504,
4505,
4506,
4507,
4508,
4509,
4510,
4511,
4512,
4513,
4514,
4515,
4516,
4517,
4518,
4519,
4520,
4521,
4522,
4523,
4524,
4525,
4526,
4527,
4528,
4529,
4530,
4531,
4532,
4533,
4534,
4535,
4536,
4537,
4538,
4539,
4540,
4541,
4542,
4543,
4544,
4545,
4546,
4547,
4548,
4549,
4550,
4551,
4552,
4553,
4554,
4555,
4556,
4557,
4558,
4559,
4560,
4561,
4562,
4563,
4564,
4565,
4566,
4567,
4568,
4569,
4570,
4571,
4572,
4573,
4574,
4575,
4576,
4577,
4578,
4579,
4580,
4581,
4582,
4583,
4584,
4585,
4586,
4587,
4588,
4589,
4590,
4591,
4592,
4593,
4594,
4595,
4596,
4597,
4598,
4599,
4600,
4601,
4602,
4603,
4604,
4605,
4606,
4607,
4608,
4609,
4610,
4611,
4612,
4613,
4614,
4615,
4616,
4617,
4618,
4619,
4620,
4621,
4623,
4623,
4608,
4625,
4626,
4627,
4620,
4629,
4630,
4759,
4632,
4633,
4634,
4635,
4636,
4637,
4638,
4639,
4640,
4641,
4642,
4643,
4644,
4645,
4647,
4647,
4649,
4649,
4650,
4651,
4636,
4653,
4654,
4783,
4656,
4657,
4658,
4659,
4660,
4661,
4662,
4663,
4664,
4665,
4666,
4667,
4668,
4669,
4671,
4671,
4672,
4673,
4674,
4675,
4620,
4677,
4678,
4679,
4624,
4617,
4682,
4683,
4720,
4686,
4686,
4687,
4688,
4689,
4690,
4691,
4692,
4693,
4694,
4695,
4708,
4698,
4718,
4699,
4700,
4701,
4616,
4703,
4659,
4705,
4669,
4707,
4658,
4709,
4643,
4711,
4666,
4713,
4665,
4715,
4645,
4717,
4641,
4719,
4670,
4721,
4653,
4723,
4669,
4725,
4664,
4727,
4670,
4729,
4661,
4731,
4732,
4733,
4734,
4735,
4669,
4741,
4717,
4733,
4740,
4741,
4743,
4743,
4744,
4745,
4747,
4747,
4748,
4749,
4750,
4751,
4752,
4753,
4755,
4755,
4756,
4757,
4758,
4759,
4775,
4761,
4762,
4763,
4764,
4765,
4766,
4767,
4772,
4769,
4770,
4771,
4774,
4773,
4774,
4775,
4776,
4777,
4778,
4779,
4780,
4781,
4782,
4783,
4784,
4785,
4786,
4787,
4848,
4789,
4790,
4791,
4793,
4793,
4844,
4795,
4829,
4797,
4812,
4799,
4742,
4801,
4779,
4803,
4776,
4805,
4771,
4807,
4737,
4809,
4772,
4811,
4778,
4813,
4769,
4815,
4816,
4817,
4818,
4819,
4848,
4821,
4818,
4823,
4824,
4825,
4750,
4827,
4782,
4829,
4799,
4831,
4750,
4833,
4753,
4835,
4744,
4837,
4743,
4839,
4764,
4841,
4739,
4843,
4739,
4845,
4736,
4847,
4848,
4849,
4850,
4851,
4852,
4853,
4678,
4851,
4708,
4859,
4858,
4859,
4861,
4861,
4781,
4863,
4980,
4865,
4976,
4867,
4973,
4869,
4968,
4871,
4975,
4873,
4940,
4875,
4965,
4877,
4962,
4879,
4981,
4881,
4955,
4883,
4986,
4885,
4976,
4887,
4983,
4889,
4890,
4891,
4964,
4895,
4894,
4895,
4897,
4897,
4882,
4899,
4884,
4901,
4886,
4903,
4888,
4905,
4890,
4907,
4888,
4909,
4940,
4911,
4864,
4913,
4914,
4915,
4910,
4917,
4919,
4919,
4921,
4921,
4985,
4923,
4947,
4925,
4947,
4927,
4909,
4929,
4903,
4931,
4906,
4933,
4914,
4935,
4923,
4937,
4938,
4939,
4940,
4941,
4942,
4943,
4978,
4945,
4947,
4947,
4949,
4949,
4885,
4951,
4919,
4953,
4919,
4955,
4908,
4957,
4927,
4959,
4878,
4961,
4891,
4963,
4906,
4965,
4871,
4967,
4869,
4969,
4879,
4971,
4972,
4973,
4974,
4975,
4976,
4977,
4978,
4979,
4912,
4981,
4984,
4983,
4985,
4985,
4924,
4987,
4885,
4989,
4882,
4991,
5093,
4993,
5062,
4995,
5089,
4997,
5109,
4999,
5099,
5001,
5112,
5003,
5093,
5005,
5118,
5007,
5092,
5009,
5115,
5011,
5115,
5013,
5112,
5015,
5016,
5017,
5018,
5019,
5087,
5021,
5106,
5023,
5057,
5025,
5073,
5027,
5079,
5029,
5098,
5031,
5057,
5033,
5064,
5035,
5086,
5037,
5071,
5039,
5058,
5041,
5067,
5043,
4997,
5045,
5046,
5047,
5000,
5049,
5042,
5051,
5053,
5053,
5112,
5055,
5033,
5057,
5038,
5059,
5025,
5061,
5008,
5063,
5037,
5065,
5048,
5067,
5055,
5069,
5031,
5071,
5055,
5073,
5052,
5075,
5076,
5077,
5078,
5079,
5097,
5081,
5108,
5083,
5100,
5085,
5104,
5087,
5072,
5089,
5068,
5091,
5076,
5093,
5094,
5095,
5036,
5097,
5112,
5099,
5101,
5101,
5031,
5103,
5022,
5105,
4998,
5107,
5009,
5109,
4996,
5111,
5014,
5113,
5019,
5115,
5008,
5117,
5040,
5119,
5217,
5121,
5231,
5123,
5217,
5125,
5126,
5127,
5195,
5129,
5222,
5131,
5229,
5133,
5245,
5135,
5219,
5137,
5214,
5139,
5245,
5141,
5236,
5143,
5226,
5145,
5243,
5147,
5230,
5149,
5223,
5151,
5137,
5153,
5132,
5155,
5184,
5157,
5194,
5159,
5188,
5161,
5162,
5163,
5226,
5165,
5183,
5167,
5169,
5169,
5246,
5171,
5201,
5173,
5201,
5175,
5209,
5177,
5206,
5179,
5247,
5181,
5201,
5183,
5168,
5185,
5179,
5187,
5174,
5189,
5167,
5191,
5167,
5193,
5154,
5195,
5176,
5197,
5198,
5199,
5139,
5201,
5181,
5203,
5156,
5205,
5167,
5207,
5162,
5209,
5171,
5211,
5179,
5213,
5174,
5215,
5140,
5217,
5186,
5219,
5325,
5221,
5190,
5223,
5210,
5225,
5210,
5227,
5214,
5229,
5213,
5231,
5232,
5233,
5234,
5235,
5214,
5237,
5239,
5239,
5241,
5241,
5174,
5243,
5145,
5245,
5145,
5247,
5345,
5249,
5358,
5251,
5328,
5253,
5364,
5255,
5353,
5257,
5358,
5259,
5353,
5261,
5347,
5263,
5361,
5265,
5344,
5267,
5375,
5269,
5349,
5271,
5272,
5273,
5274,
5275,
5276,
5277,
5278,
5279,
5356,
5281,
5296,
5283,
5285,
5285,
5353,
5287,
5338,
5289,
5315,
5291,
5323,
5293,
5319,
5295,
5342,
5297,
5331,
5299,
5336,
5301,
5360,
5303,
5329,
5305,
5334,
5307,
5337,
5309,
5328,
5311,
5281,
5313,
5295,
5315,
5281,
5317,
5318,
5319,
5259,
5321,
5286,
5323,
5293,
5325,
5309,
5327,
5283,
5329,
5278,
5331,
5309,
5333,
5300,
5335,
5290,
5337,
5307,
5339,
5294,
5341,
5287,
5343,
5329,
5345,
5324,
5347,
5248,
5349,
5258,
5351,
5252,
5353,
5354,
5355,
5328,
5357,
5344,
5359,
5361,
5361,
5282,
5363,
5254,
5365,
5273,
5367,
5276,
5369,
5263,
5371,
5279,
5373,
5258,
5375,
5454,
5377,
5475,
5379,
5481,
5381,
5475,
5383,
5384,
5385,
5386,
5387,
5455,
5389,
5474,
5391,
5489,
5393,
5473,
5395,
5479,
5397,
5466,
5399,
5489,
5401,
5496,
5403,
5486,
5405,
5503,
5407,
5458,
5409,
5467,
5411,
5397,
5413,
5414,
5415,
5404,
5417,
5410,
5419,
5421,
5421,
5502,
5423,
5442,
5425,
5469,
5427,
5456,
5429,
5443,
5431,
5467,
5433,
5454,
5435,
5482,
5437,
5467,
5439,
5426,
5441,
5425,
5443,
5421,
5445,
5417,
5447,
5414,
5449,
5450,
5451,
5501,
5453,
5472,
5455,
5472,
5457,
5500,
5459,
5476,
5461,
5496,
5463,
5480,
5465,
5466,
5467,
5476,
5469,
5462,
5471,
5473,
5473,
5411,
5475,
5399,
5477,
5397,
5479,
5389,
5481,
5383,
5483,
5390,
5485,
5378,
5487,
5385,
5489,
5458,
5491,
5410,
5493,
5395,
5495,
5386,
5497,
5385,
5499,
5397,
5501,
5393,
5503,
5614,
5505,
5506,
5507,
5557,
5509,
5544,
5511,
5560,
5513,
5540,
5515,
5564,
5517,
5536,
5519,
5536,
5521,
5522,
5523,
5524,
5525,
5526,
5527,
5528,
5529,
5530,
5531,
5532,
5533,
5534,
5535,
5536,
5537,
5538,
5539,
5540,
5541,
5542,
5543,
5544,
5545,
5546,
5547,
5548,
5549,
5550,
5551,
5552,
5553,
5554,
5555,
5556,
5557,
5558,
5559,
5560,
5561,
5562,
5563,
5564,
5565,
5566,
5567,
5568,
5569,
5570,
5571,
5572,
5573,
5574,
5575,
5576,
5577,
5578,
5579,
5580,
5581,
5582,
5583,
5584,
5585,
5586,
5587,
5588,
5589,
5590,
5591,
5592,
5593,
5594,
5595,
5596,
5597,
5598,
5599,
5600,
5601,
5602,
5603,
5604,
5605,
5606,
5607,
5608,
5609,
5610,
5611,
5612,
5613,
5614,
5615,
5616,
5617,
5618,
5619,
5620,
5621,
5622,
5623,
5624,
5625,
5626,
5627,
5628,
5629,
5630,
5631,
5632,
5665,
5634,
5635,
5640,
5637,
5638,
5639,
5784,
5686,
5642,
5643,
5644,
5645,
5646,
5647,
5648,
5649,
5650,
5651,
5652,
5653,
5654,
5655,
5656,
5657,
5658,
5659,
5660,
5661,
5662,
5663,
5664,
5665,
5666,
5667,
5668,
5669,
5670,
5671,
5672,
5673,
5674,
5675,
5676,
5677,
5678,
5679,
5680,
5681,
5682,
5683,
5684,
5685,
5686,
5687,
5688,
5689,
5690,
5691,
5692,
5693,
5694,
5695,
5696,
5697,
5698,
5699,
5700,
5701,
5702,
5703,
5704,
5705,
5706,
5707,
5708,
5709,
5710,
5711,
5712,
5713,
5714,
5715,
5716,
5717,
5718,
5719,
5720,
5721,
5722,
5723,
5724,
5725,
5726,
5727,
5728,
5729,
5730,
5731,
5732,
5733,
5734,
5735,
5736,
5737,
5738,
5739,
5740,
5741,
5742,
5743,
5744,
5745,
5746,
5747,
5748,
5749,
5750,
5751,
5752,
5753,
5754,
5755,
5756,
5757,
5758,
5759,
5760,
5761,
5762,
5763,
5764,
5765,
5766,
5767,
5768,
5769,
5770,
5771,
5772,
5773,
5774,
5775,
5776,
5777,
5778,
5779,
5780,
5781,
5782,
5783,
5784,
5785,
5786,
5787,
5788,
5789,
5790,
5791,
5792,
5793,
5794,
5795,
5796,
5797,
5798,
5799,
5800,
5801,
5802,
5803,
5804,
5805,
5806,
5807,
5808,
5809,
5810,
5811,
5812,
5813,
5814,
5815,
5816,
5817,
5818,
5819,
5820,
5821,
5822,
5823,
5824,
5825,
5826,
5827,
5828,
5829,
5830,
5831,
5832,
5833,
5834,
5835,
5836,
5837,
5838,
5839,
5840,
5841,
5842,
5843,
5844,
5845,
5846,
5847,
5848,
5849,
5850,
5851,
5852,
5853,
5854,
5855,
5856,
5857,
5858,
5859,
5860,
5861,
5862,
5863,
5864,
5865,
5866,
5867,
5868,
5869,
5870,
5871,
5872,
5873,
5874,
5875,
5876,
5877,
5878,
5879,
5880,
5881,
5882,
5883,
5884,
5885,
5886,
5887,
5888,
5889,
5890,
5891,
5892,
5893,
5894,
5895,
5896,
5897,
5898,
5899,
5900,
5901,
5902,
5903,
5904,
5905,
5906,
5907,
5908,
5909,
5910,
5911,
5912,
5913,
5914,
5915,
5916,
5917,
5918,
5919,
5920,
5921,
5922,
5923,
5924,
5925,
5926,
5927,
5928,
5929,
5930,
5931,
5932,
5933,
5934,
5935,
5936,
5937,
5938,
5939,
5940,
5941,
5942,
5943,
5944,
5945,
5946,
5947,
5948,
5949,
5950,
5951,
5952,
5953,
5954,
5955,
5956,
5957,
5958,
5959,
5960,
5961,
5962,
5963,
5964,
5965,
5966,
5967,
5968,
5969,
5970,
5971,
5972,
5973,
5974,
5975,
5976,
5977,
5978,
5979,
5980,
5981,
5982,
5983,
5984,
5985,
5986,
5987,
5988,
5989,
5990,
5991,
5992,
5993,
5994,
5995,
5996,
5997,
5998,
5999,
6000,
6001,
6002,
6003,
6004,
6005,
6006,
6007,
6008,
6009,
6010,
6011,
6012,
6013,
6014,
6015,
6016,
6017,
6018,
6019,
6020,
6021,
6022,
6023,
6024,
6025,
6026,
6027,
6028,
6029,
6030,
6031,
6032,
6033,
6034,
6035,
6036,
6037,
6038,
6039,
6040,
6041,
6042,
6043,
6044,
6045,
6046,
6047,
6048,
6049,
6050,
6051,
6052,
6053,
6054,
6055,
6056,
6057,
6058,
6059,
6060,
6061,
6062,
6063,
6064,
6065,
6066,
6067,
6068,
6069,
6070,
6071,
6072,
6073,
6074,
6075,
6076,
6077,
6078,
6079,
6080,
6081,
6082,
6083,
6084,
6085,
6086,
6087,
6088,
6089,
6090,
6091,
6092,
6093,
6094,
6095,
6096,
6097,
6098,
6099,
6100,
6101,
6102,
6103,
6104,
6105,
6106,
6107,
6108,
6109,
6110,
6111,
6112,
6113,
6114,
6115,
6116,
6117,
6118,
6119,
6120,
6121,
6122,
6123,
6124,
6125,
6126,
6127,
6128,
6129,
6130,
6131,
6132,
6133,
6134,
6135,
6136,
6137,
6138,
6139,
6140,
6141,
6142,
6143
};
private static byte[] data2 = new byte[Robbie.data1.Length];
static void Main(string[] args)
{
for (int i = 0; i < Robbie.data1.Length; i++)
{
Robbie.data2[i] = (byte)(Robbie.data1[i] ^ i);
}
Type type = Assembly.Load(Robbie.data2).GetType("ClassLibrary1.Class1");
object obj = type.GetConstructor(Type.EmptyTypes).Invoke(new object[0]);
string flag = type.GetMethod("Method").Invoke(obj, null).ToString();
Console.WriteLine(flag);
}
}
}