proxmark3/traces/Casi-12ed825c29.pm3
iceman1001 6ff6ade2f5 ADD: midnitesnakes desfire, ultralight changes from Unstable branch.
ADD: Marshmellows fixes for the LF (demods) commands,  (LF SEACH)
ADD: Holimans changes with hash1_brute

FIXES:  minor fixes with some calls to "free" and redundant debug statement and code cleanup. removal of commented code.
2014-12-31 11:35:43 +01:00

16000 lines
63 KiB
Text

44
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
115
104
62
24
-7
-34
-55
-74
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
45
127
127
127
127
112
111
104
99
89
83
76
71
65
61
55
19
-13
-38
-61
-78
-94
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
24
127
127
127
127
95
94
89
84
76
71
64
61
55
52
47
44
40
37
33
31
28
27
23
22
19
18
16
15
13
13
10
-20
-46
-66
-85
-99
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
5
127
127
127
114
80
78
74
70
63
59
53
50
45
42
38
4
-25
-49
-70
-86
-101
-97
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
113
103
60
22
-8
-35
-56
-75
-90
-103
-97
-107
-128
-128
-128
-128
-128
-128
45
127
127
127
127
111
110
104
97
88
83
75
70
64
60
54
52
45
43
39
37
33
31
28
26
23
22
19
18
16
15
13
-18
-44
-65
-84
-98
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
116
109
99
93
85
79
72
68
62
59
52
49
45
42
38
36
32
29
26
-6
-34
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
12
127
127
127
120
85
84
79
75
68
63
57
53
48
46
41
7
-23
-47
-68
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
125
90
88
84
79
71
67
60
57
51
48
43
9
-21
-46
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
90
90
85
80
72
67
61
57
52
49
44
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
122
114
104
97
89
83
77
72
65
61
56
52
47
45
40
37
34
31
28
-5
-33
-55
-76
-91
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
14
127
127
127
121
86
85
80
76
68
64
58
55
49
46
42
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
126
91
90
85
80
72
67
61
58
52
49
44
10
-21
-45
-67
-83
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
113
104
97
88
83
76
71
65
60
55
52
46
44
39
37
33
31
27
-5
-33
-56
-76
-91
-106
-100
-111
-128
-128
-128
-128
-128
-128
-128
-128
13
127
127
127
121
85
84
79
75
68
63
57
54
48
46
41
7
-23
-47
-68
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
125
90
89
84
79
71
67
60
56
51
48
43
9
-22
-46
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
113
104
61
23
-8
-34
-56
-74
-89
-103
-97
-107
-128
-128
-128
-128
-128
-128
43
127
127
127
127
112
110
104
99
89
83
76
71
65
61
55
19
-13
-38
-61
-78
-94
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
24
127
127
127
127
95
94
89
84
75
70
64
60
55
51
46
44
39
37
33
31
28
26
23
22
19
18
15
15
13
12
10
-20
-46
-67
-85
-100
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
125
115
108
98
56
19
-11
-37
-58
-77
-91
-104
-98
-108
-128
-128
-128
-128
-128
-128
43
127
127
127
127
109
108
102
96
87
82
74
70
63
60
54
51
45
43
38
37
32
31
27
26
23
22
19
18
15
15
12
-18
-44
-65
-84
-99
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
101
95
86
82
74
70
63
59
53
51
46
44
39
37
33
31
28
-5
-33
-55
-76
-91
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
117
110
100
94
86
81
73
69
63
59
53
50
45
42
38
35
32
30
26
-6
-34
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
101
94
87
81
74
70
63
60
54
50
45
43
38
36
32
30
27
-5
-33
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
101
95
86
81
74
70
63
59
54
50
45
42
38
36
32
30
27
-5
-34
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
12
127
127
127
120
85
85
80
75
68
63
57
54
48
46
41
7
-23
-47
-68
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
104
61
23
-7
-34
-56
-74
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
46
127
127
127
127
112
110
104
98
89
83
75
71
64
61
55
19
-13
-38
-61
-79
-94
-106
-102
-110
-128
-128
-128
-128
-128
-128
-128
24
127
127
127
127
95
93
88
83
75
70
63
60
54
51
45
11
-20
-44
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
92
91
86
81
73
68
62
58
53
50
45
10
-21
-45
-66
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
21
127
127
127
127
92
91
86
81
72
68
62
58
53
50
45
42
37
36
31
30
27
25
22
22
19
18
15
15
13
12
10
-20
-46
-67
-85
-99
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
125
115
108
99
93
85
79
72
68
62
58
52
49
44
42
38
35
32
30
27
-5
-33
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
14
127
127
127
121
86
85
80
75
68
63
57
54
49
46
41
7
-23
-47
-68
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
119
111
101
59
21
-9
-35
-56
-75
-90
-103
-97
-107
-128
-128
-128
-128
-128
-128
42
127
127
127
127
110
108
102
97
88
81
74
70
64
60
54
51
46
43
39
37
33
31
28
27
23
23
20
19
16
16
13
-17
-44
-65
-83
-98
-112
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
117
110
100
94
85
80
72
69
62
58
53
50
45
42
37
35
31
29
26
-6
-34
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
102
59
21
-9
-35
-57
-75
-90
-103
-98
-107
-128
-128
-128
-128
-128
-128
44
127
127
127
127
111
109
104
97
88
83
75
70
64
60
54
18
-13
-39
-61
-79
-94
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
22
127
127
127
127
95
93
88
83
75
70
64
59
54
51
46
11
-20
-44
-65
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
22
127
127
127
127
92
91
86
82
73
68
62
59
53
50
45
42
37
36
32
30
27
26
23
21
19
18
15
15
13
12
10
-20
-46
-67
-85
-100
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
3
127
127
127
115
80
79
74
70
63
59
52
50
45
42
37
3
-26
-49
-70
-87
-101
-97
-107
-128
-128
-128
-128
-128
-128
-128
-128
16
127
127
127
124
88
87
83
78
70
65
59
56
51
47
43
8
-22
-46
-67
-84
-99
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
126
91
90
85
80
72
67
61
58
52
49
44
10
-21
-45
-66
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
126
91
89
84
79
72
67
60
57
51
48
43
9
-22
-46
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
126
91
90
85
80
71
67
61
57
52
49
44
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
21
127
127
127
127
92
91
85
81
73
68
62
59
52
49
45
10
-20
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
92
91
85
81
72
68
61
58
52
49
44
10
-21
-45
-67
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
126
90
90
84
79
72
67
61
57
51
49
44
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
114
104
61
23
-7
-34
-56
-74
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
45
127
127
127
127
112
110
104
98
89
83
76
71
65
61
55
19
-13
-38
-61
-78
-94
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
23
127
127
127
127
95
94
89
84
75
70
64
61
55
51
46
44
39
37
33
31
28
26
23
22
19
18
16
15
12
12
10
-19
-46
-66
-85
-99
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
7
127
127
127
115
80
79
75
70
63
59
53
51
45
42
38
5
-25
-49
-70
-86
-101
-97
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
111
102
60
22
-8
-35
-56
-75
-90
-103
-97
-107
-128
-128
-128
-128
-128
-128
42
127
127
127
127
110
109
103
97
88
82
75
70
63
60
54
51
46
43
39
37
33
30
28
26
23
22
19
18
16
15
12
-18
-44
-65
-84
-98
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
116
109
99
93
85
79
72
69
62
59
53
49
44
42
38
35
31
30
26
-6
-34
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
11
127
127
127
121
86
85
79
75
68
63
57
54
48
46
41
7
-23
-47
-68
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
17
127
127
127
125
90
89
84
79
72
67
60
57
52
48
44
9
-21
-45
-67
-84
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
126
91
89
84
80
72
67
61
57
51
49
44
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
104
97
89
84
77
72
65
61
56
52
47
44
40
37
33
31
28
-5
-33
-55
-75
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
12
127
127
127
121
86
85
80
76
68
63
57
54
49
46
41
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
125
90
89
84
79
72
67
60
56
52
49
44
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
122
115
104
98
89
84
77
72
65
61
55
52
47
44
40
37
33
31
28
-5
-33
-55
-75
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
11
127
127
127
121
85
84
79
75
67
63
56
54
48
45
41
6
-24
-47
-68
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
125
90
89
84
79
71
66
60
56
51
48
43
9
-22
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
113
104
61
23
-7
-34
-55
-74
-89
-102
-97
-106
-128
-128
-128
-128
-128
-128
44
127
127
127
127
111
109
104
97
88
82
75
70
64
60
54
18
-13
-39
-61
-79
-95
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
23
127
127
127
127
94
93
88
83
75
70
63
60
54
51
46
44
39
37
33
31
28
26
23
22
19
18
16
15
13
13
10
-19
-45
-66
-85
-99
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
115
108
99
57
19
-10
-37
-58
-76
-91
-104
-98
-107
-128
-128
-128
-128
-128
-128
42
127
127
127
127
109
108
102
96
87
81
74
69
63
59
53
50
45
43
38
36
32
30
27
25
22
21
19
17
15
14
12
-18
-44
-65
-84
-98
-112
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
125
115
109
99
93
85
80
72
68
62
59
53
50
45
43
38
36
33
31
27
-5
-33
-56
-76
-91
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
112
102
96
88
82
75
70
63
60
54
51
45
43
38
36
32
30
27
-5
-33
-56
-76
-92
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
117
110
100
94
86
81
73
69
63
59
53
50
45
43
38
36
32
31
27
-5
-33
-56
-76
-91
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
101
94
86
81
74
69
62
59
53
50
45
43
38
36
32
30
27
-5
-34
-56
-76
-92
-106
-101
-110
-128
-128
-128
-128
-128
-128
-128
-128
13
127
127
127
120
85
84
79
74
67
62
56
53
48
46
41
6
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
114
104
61
23
-7
-34
-55
-74
-89
-102
-97
-106
-128
-128
-128
-128
-128
-128
45
127
127
127
127
111
110
104
98
89
83
75
71
65
61
54
19
-13
-38
-61
-78
-94
-106
-102
-110
-128
-128
-128
-128
-128
-128
-128
23
127
127
127
127
95
93
88
83
75
70
63
60
54
51
45
11
-20
-44
-66
-82
-98
-110
-104
-112
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
92
91
85
81
72
67
61
58
52
49
45
10
-21
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
92
90
85
81
72
67
61
58
52
50
44
42
38
35
32
30
26
25
22
21
18
17
15
14
12
12
10
-20
-46
-67
-85
-99
-113
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
116
109
100
93
84
80
73
69
62
58
52
49
45
42
37
35
31
30
26
-6
-34
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
11
127
127
127
120
85
84
79
75
68
63
57
54
49
46
41
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
113
103
61
23
-8
-34
-56
-74
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
43
127
127
127
127
109
108
102
96
86
81
73
69
62
59
52
49
44
42
37
35
31
29
25
24
22
20
17
16
14
13
11
-19
-45
-66
-84
-99
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
117
110
100
94
86
80
74
69
62
59
53
51
45
43
38
36
32
31
27
-5
-33
-56
-76
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
110
101
59
21
-9
-35
-57
-75
-90
-103
-97
-107
-128
-128
-128
-128
-128
-128
42
127
127
127
127
111
109
103
97
88
83
75
71
64
61
54
18
-13
-38
-61
-79
-94
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
23
127
127
127
127
95
94
89
84
76
70
64
60
55
51
45
11
-19
-44
-66
-83
-98
-110
-104
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
92
91
86
81
73
68
61
57
53
50
44
42
37
35
31
30
27
25
22
21
18
17
15
14
12
12
10
-20
-46
-67
-85
-100
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
5
127
127
127
115
80
79
75
71
63
59
53
50
45
43
38
4
-25
-49
-70
-86
-101
-112
-107
-128
-128
-128
-128
-128
-128
-128
-128
16
127
127
127
125
89
88
83
78
71
66
59
56
51
47
42
8
-22
-46
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
16
127
127
127
125
90
89
84
79
72
67
60
57
52
48
43
9
-22
-46
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
92
91
85
81
72
67
61
58
52
49
44
10
-21
-45
-67
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
126
90
89
84
79
72
66
60
57
51
49
44
9
-21
-45
-67
-84
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
126
91
90
85
80
72
67
61
57
52
49
44
10
-21
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
92
90
85
81
72
67
61
58
52
49
44
10
-21
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
126
91
90
85
80
72
67
61
57
52
49
44
9
-21
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
114
104
61
23
-7
-34
-55
-74
-89
-102
-97
-106
-128
-128
-128
-128
-128
-128
44
127
127
127
127
111
109
104
98
88
83
75
71
64
61
55
19
-13
-38
-61
-78
-94
-106
-102
-110
-128
-128
-128
-128
-128
-128
-128
23
127
127
127
127
95
93
88
83
75
70
64
60
54
51
46
43
39
37
33
31
28
26
23
22
19
18
16
15
13
13
10
-19
-45
-66
-85
-99
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
5
127
127
127
115
79
79
74
70
63
59
53
50
45
43
38
5
-25
-49
-70
-86
-101
-112
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
113
103
61
23
-7
-34
-55
-74
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
45
127
127
127
127
111
109
103
97
88
82
75
70
64
60
54
51
45
43
39
37
32
30
27
26
23
21
19
18
15
14
12
-18
-44
-65
-84
-98
-112
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
116
108
99
93
85
80
72
68
61
58
53
50
45
42
37
35
31
29
26
-5
-34
-56
-76
-92
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
11
127
127
127
120
85
84
79
75
67
63
56
53
48
45
40
6
-24
-47
-68
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
17
127
127
127
125
90
89
84
79
71
67
61
57
52
48
43
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
126
91
89
85
80
72
67
61
57
52
49
44
9
-21
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
113
104
97
89
83
76
72
64
61
55
52
47
44
39
37
33
31
28
-5
-33
-55
-75
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
11
127
127
127
121
86
85
80
75
68
63
57
54
49
46
41
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
17
127
127
127
125
90
89
84
79
72
67
61
57
52
49
44
10
-21
-45
-67
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
122
114
104
97
89
84
76
72
65
61
56
52
47
44
40
38
33
32
29
-4
-32
-55
-75
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
12
127
127
127
121
86
85
80
75
68
63
57
54
48
46
41
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
125
90
88
83
79
71
66
60
56
51
48
43
9
-21
-46
-67
-84
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
113
104
61
23
-7
-34
-55
-74
-89
-102
-97
-106
-128
-128
-128
-128
-128
-128
45
127
127
127
127
111
110
103
97
88
82
75
71
64
60
54
18
-13
-38
-61
-78
-94
-106
-102
-110
-128
-128
-128
-128
-128
-128
-128
22
127
127
127
127
94
93
88
83
75
70
63
59
54
51
45
43
38
36
32
30
27
26
23
22
19
18
15
15
13
12
10
-20
-46
-67
-85
-99
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
115
109
99
57
20
-10
-36
-57
-76
-91
-104
-98
-107
-128
-128
-128
-128
-128
-128
42
127
127
127
127
109
108
102
96
88
82
74
70
63
59
54
51
45
43
38
36
32
30
27
26
22
21
19
17
15
15
12
-18
-44
-65
-84
-98
-112
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
115
109
99
93
85
80
72
68
62
58
53
50
45
42
37
35
31
29
26
-6
-34
-56
-76
-92
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
112
102
96
88
83
75
71
65
61
55
52
47
44
40
37
34
31
29
-4
-32
-55
-75
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
110
101
94
86
81
73
69
62
59
53
50
45
42
38
35
31
30
26
-6
-34
-56
-76
-92
-106
-101
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
101
95
86
81
74
70
63
59
54
51
45
43
38
36
32
30
26
-6
-34
-56
-76
-92
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
10
127
127
127
120
85
84
79
74
67
62
56
54
48
45
40
6
-24
-47
-68
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
113
103
61
22
-8
-34
-55
-74
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
43
127
127
127
127
112
110
104
98
89
83
75
71
65
61
55
19
-13
-38
-60
-78
-94
-106
-101
-110
-128
-128
-128
-128
-128
-128
-128
23
127
127
127
127
95
94
89
84
76
71
64
60
55
51
46
11
-19
-44
-65
-82
-98
-109
-104
-112
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
92
91
86
81
73
68
61
58
52
49
45
10
-21
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
17
127
127
127
126
91
90
84
80
72
67
61
57
52
49
44
42
37
35
31
29
26
25
22
21
18
17
14
14
12
11
10
-20
-46
-67
-85
-99
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
116
109
100
93
85
80
73
68
62
59
53
50
45
43
38
36
32
30
27
-5
-33
-56
-76
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
12
127
127
127
121
85
84
80
75
67
63
57
54
48
46
41
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
114
104
61
23
-7
-34
-55
-74
-89
-102
-97
-106
-128
-128
-128
-128
-128
-128
46
127
127
127
127
112
110
104
98
88
83
75
71
63
60
54
51
46
43
38
36
32
30
27
26
22
21
18
17
14
14
12
-18
-44
-65
-84
-98
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
125
114
107
98
92
83
79
72
67
61
57
52
49
44
42
37
35
32
30
27
-5
-33
-56
-76
-92
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
119
112
102
60
22
-8
-35
-56
-75
-90
-103
-97
-106
-128
-128
-128
-128
-128
-128
42
127
127
127
127
110
109
103
97
87
82
74
69
64
60
54
18
-13
-39
-61
-79
-95
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
21
127
127
127
127
95
93
88
84
76
70
63
60
55
51
46
11
-19
-44
-65
-82
-98
-109
-104
-112
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
92
91
86
81
73
68
62
58
53
49
45
42
37
35
32
30
27
25
22
21
18
17
15
14
12
11
10
-20
-46
-67
-85
-99
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
4
127
127
127
115
80
79
74
70
63
59
52
49
45
43
38
4
-26
-49
-70
-86
-101
-112
-107
-128
-128
-128
-128
-128
-128
-128
-128
16
127
127
127
125
90
88
84
79
71
67
60
57
51
49
44
9
-21
-45
-67
-84
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
91
90
85
80
72
67
61
57
52
49
44
9
-21
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
125
90
89
84
79
72
67
60
57
52
49
44
9
-21
-45
-67
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
127
91
90
85
80
72
68
61
57
52
49
45
10
-20
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
126
90
90
84
80
71
66
61
57
51
49
43
9
-22
-46
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
126
90
89
84
79
72
67
61
57
52
49
44
9
-21
-45
-67
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
92
91
85
81
73
68
62
58
52
50
45
10
-20
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
104
61
23
-7
-34
-55
-74
-89
-102
-97
-106
-128
-128
-128
-128
-128
-128
44
127
127
127
127
111
109
103
97
88
83
75
71
64
60
54
18
-14
-39
-61
-79
-95
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
22
127
127
127
127
94
93
88
83
75
70
63
60
54
51
45
43
39
37
33
31
28
26
23
22
19
18
16
15
13
12
10
-20
-46
-66
-85
-99
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
3
127
127
127
115
80
79
74
70
63
59
53
51
45
43
38
4
-25
-49
-70
-86
-101
-112
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
104
61
23
-7
-34
-55
-74
-89
-102
-97
-106
-128
-128
-128
-128
-128
-128
45
127
127
127
127
112
110
104
99
89
83
75
71
65
61
55
51
47
44
39
37
33
31
28
26
23
22
19
18
16
15
13
-17
-44
-65
-83
-98
-112
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
115
108
99
93
84
79
72
68
62
58
52
50
44
42
37
35
31
29
26
-6
-34
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
11
127
127
127
120
85
84
80
75
67
63
56
53
48
46
40
6
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
17
127
127
127
125
90
89
84
79
71
67
60
57
51
48
43
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
126
91
90
84
80
72
67
61
57
52
49
44
9
-21
-45
-66
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
104
97
89
83
76
71
65
61
55
51
47
44
40
37
33
31
27
-5
-33
-56
-76
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
13
127
127
127
121
86
85
80
75
68
63
56
54
49
46
41
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
17
127
127
127
126
90
89
84
79
71
67
60
57
51
49
44
9
-21
-45
-67
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
104
97
89
84
76
72
65
61
56
52
47
44
39
37
34
32
28
-4
-33
-55
-75
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
13
127
127
127
121
86
85
81
76
68
63
58
55
50
47
42
8
-22
-46
-68
-84
-99
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
17
127
127
127
126
90
89
84
79
72
67
61
57
52
49
44
9
-21
-45
-67
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
113
103
61
22
-8
-34
-56
-75
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
45
127
127
127
127
111
110
104
98
89
83
75
71
64
60
54
19
-13
-38
-61
-78
-94
-106
-102
-110
-128
-128
-128
-128
-128
-128
-128
23
127
127
127
127
95
93
88
83
75
70
63
60
54
51
46
43
38
36
32
31
27
26
23
21
19
18
15
15
13
12
10
-20
-46
-67
-85
-99
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
125
115
108
99
57
19
-10
-37
-58
-76
-91
-104
-98
-107
-128
-128
-128
-128
-128
-128
41
127
127
127
127
110
109
102
97
88
82
75
70
63
60
54
51
45
43
39
37
33
31
28
26
23
22
19
18
15
15
13
-18
-44
-65
-83
-98
-112
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
115
109
99
93
84
79
72
68
61
58
52
49
45
42
37
35
31
29
26
-6
-34
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
101
95
86
81
74
69
63
59
54
51
45
43
39
37
33
31
28
-5
-33
-55
-76
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
113
103
96
88
83
75
71
64
60
54
51
45
43
39
36
32
31
27
-5
-33
-56
-76
-91
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
110
100
94
86
81
74
69
62
59
53
50
45
43
38
35
32
30
27
-5
-33
-56
-76
-92
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
11
127
127
127
121
85
85
79
75
68
63
57
54
48
45
41
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
113
103
61
22
-8
-34
-56
-75
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
43
127
127
127
127
111
109
103
97
88
82
75
71
64
60
54
18
-13
-39
-61
-79
-94
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
24
127
127
127
127
95
94
88
83
75
70
63
60
54
52
46
11
-19
-43
-65
-82
-98
-110
-104
-112
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
92
91
86
81
73
68
62
58
53
50
45
10
-20
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
92
90
85
81
72
67
62
58
52
49
45
42
37
35
31
30
26
25
22
21
18
17
15
14
12
12
10
-20
-46
-67
-85
-99
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
115
109
99
93
85
80
72
67
62
58
52
50
45
42
38
35
31
30
27
-5
-34
-56
-76
-92
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
12
127
127
127
121
86
85
80
76
68
63
57
54
49
47
42
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
113
104
61
23
-7
-34
-55
-74
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
44
127
127
127
127
112
110
104
98
89
84
76
71
65
61
55
52
47
45
40
37
34
32
29
27
23
23
20
19
16
15
13
-17
-44
-65
-83
-98
-112
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
124
114
107
98
91
83
78
71
66
59
56
51
48
43
40
35
34
30
28
25
-7
-35
-57
-77
-93
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
119
112
102
59
22
-9
-35
-56
-75
-90
-103
-97
-107
-128
-128
-128
-128
-128
-128
44
127
127
127
127
112
110
104
99
89
83
76
71
65
61
55
19
-13
-38
-61
-78
-94
-106
-102
-110
-128
-128
-128
-128
-128
-128
-128
23
127
127
127
127
94
93
87
83
75
69
63
59
54
51
45
11
-20
-44
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
92
91
86
81
72
68
62
58
53
50
45
42
38
36
32
30
27
25
22
21
19
18
15
14
12
12
9
-20
-46
-67
-85
-100
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
3
127
127
127
115
80
79
74
70
62
59
53
50
45
42
38
4
-26
-49
-70
-86
-101
-97
-107
-128
-128
-128
-128
-128
-128
-128
-128
15
127
127
127
125
89
88
83
78
71
66
60
57
51
48
43
9
-22
-46
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
92
91
85
81
73
68
61
58
53
50
45
10
-20
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
92
91
86
80
72
68
61
58
52
49
44
10
-21
-45
-67
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
17
127
127
127
126
90
89
84
79
71
67
60
56
52
49
44
9
-21
-45
-67
-84
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
127
92
90
85
80
72
68
61
58
52
49
45
10
-21
-45
-66
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
91
90
85
80
72
67
61
57
52
49
44
9
-21
-45
-67
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
17
127
127
127
126
90
89
84
79
72
67
61
57
52
49
44
10
-21
-45
-66
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
122
114
104
61
23
-7
-34
-55
-74
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
45
127
127
127
127
112
110
104
99
88
83
75
71
65
61
54
18
-13
-39
-61
-78
-95
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
24
127
127
127
127
95
93
88
83
75
70
63
60
54
51
45
43
39
36
32
31
27
25
23
22
19
18
15
15
12
12
10
-20
-46
-67
-85
-100
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
5
127
127
127
115
79
79
74
70
62
59
53
50
45
43
38
4
-25
-49
-70
-86
-101
-97
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
103
61
22
-8
-34
-56
-75
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
44
127
127
127
127
112
110
104
99
89
83
75
72
65
61
55
52
47
44
40
37
33
32
28
27
24
23
20
19
16
15
13
-17
-44
-65
-84
-98
-112
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
116
109
99
93
85
79
72
68
62
58
53
50
45
42
38
35
31
29
26
-6
-34
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
11
127
127
127
120
85
84
79
75
67
62
57
54
48
45
40
6
-24
-47
-68
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
125
90
89
84
79
72
67
60
56
52
49
43
9
-22
-46
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
127
91
89
85
80
72
67
61
57
52
49
43
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
104
97
89
84
77
72
65
61
55
52
47
44
40
37
33
31
28
-4
-33
-55
-75
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
12
127
127
127
121
86
85
80
75
68
63
56
54
48
46
41
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
17
127
127
127
126
90
89
84
79
71
67
60
56
51
48
43
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
122
114
104
98
89
83
77
72
65
61
56
52
47
45
40
37
33
32
28
-4
-32
-55
-75
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
12
127
127
127
121
86
85
80
75
68
63
58
54
49
46
42
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
126
91
90
85
79
72
67
61
57
52
49
44
9
-21
-45
-67
-83
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
113
104
61
23
-7
-34
-55
-74
-89
-102
-97
-106
-128
-128
-128
-128
-128
-128
44
127
127
127
127
111
109
103
97
89
83
75
70
64
60
54
18
-13
-39
-61
-79
-95
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
24
127
127
127
127
94
93
88
83
75
70
63
59
54
51
45
43
38
36
32
31
27
26
23
22
18
17
15
15
12
12
10
-20
-46
-67
-85
-100
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
115
108
99
57
19
-11
-37
-58
-76
-91
-104
-98
-108
-128
-128
-128
-128
-128
-128
42
127
127
127
127
109
108
102
96
87
81
74
70
63
60
54
51
46
43
38
37
33
30
28
26
23
22
19
18
15
15
13
-18
-44
-65
-84
-98
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
116
109
100
93
85
80
73
68
62
59
53
50
45
42
38
35
32
29
26
-6
-34
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
101
95
86
81
74
70
63
60
54
51
45
43
38
36
32
31
27
-5
-33
-56
-76
-92
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
119
112
103
96
88
83
76
71
65
61
55
52
47
44
40
38
34
32
29
-4
-32
-55
-75
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
101
95
86
81
74
69
63
59
53
50
44
42
38
35
31
30
26
-6
-34
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
12
127
127
127
120
85
84
79
74
67
62
56
53
48
46
40
6
-23
-47
-68
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
113
103
61
23
-8
-34
-56
-74
-89
-103
-97
-107
-128
-128
-128
-128
-128
-128
43
127
127
127
127
111
109
103
97
88
82
75
70
64
60
54
18
-13
-39
-61
-79
-95
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
23
127
127
127
127
94
93
88
83
75
70
63
60
53
51
45
11
-20
-44
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
92
91
86
81
73
68
61
58
53
50
45
10
-21
-45
-66
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
21
127
127
127
127
92
90
86
81
73
68
61
58
53
50
45
42
38
35
31
30
26
25
22
20
18
18
15
14
12
11
10
-20
-46
-67
-85
-100
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
115
108
99
93
85
79
72
68
62
58
52
50
45
42
38
35
31
30
27
-6
-34
-56
-76
-92
-106
-101
-110
-128
-128
-128
-128
-128
-128
-128
-128
11
127
127
127
121
86
84
80
75
68
63
57
54
48
46
41
7
-23
-47
-68
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
122
115
104
62
23
-7
-34
-55
-74
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
44
127
127
127
127
112
110
104
98
89
83
75
71
64
61
54
51
46
44
39
37
33
31
27
25
23
22
19
18
16
15
13
-17
-44
-65
-84
-98
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
116
109
100
93
85
80
73
68
61
58
52
49
44
42
38
35
31
29
26
-6
-34
-57
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
116
109
99
57
19
-10
-37
-58
-76
-91
-104
-98
-107
-128
-128
-128
-128
-128
-128
43
127
127
127
127
111
110
104
98
88
83
75
71
65
61
55
19
-13
-38
-61
-79
-94
-106
-102
-110
-128
-128
-128
-128
-128
-128
-128
24
127
127
127
127
96
94
90
85
77
71
64
61
55
52
47
12
-19
-43
-65
-82
-98
-109
-104
-112
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
92
91
85
81
73
68
61
57
52
49
44
42
37
35
31
29
26
25
22
20
18
17
15
14
12
11
10
-20
-46
-67
-85
-100
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
5
127
127
127
115
80
79
75
70
63
59
53
50
46
43
38
4
-25
-49
-70
-86
-101
-97
-107
-128
-128
-128
-128
-128
-128
-128
-128
16
127
127
127
125
89
89
84
79
70
65
60
56
51
48
43
8
-22
-46
-67
-84
-99
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
91
90
85
80
72
67
61
57
52
49
44
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
92
91
85
81
72
68
61
59
53
49
44
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
92
91
86
81
73
68
62
58
53
50
45
10
-20
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
126
90
89
84
79
71
66
60
57
52
49
44
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
21
127
127
127
127
91
90
85
80
72
68
61
58
52
49
44
9
-21
-45
-67
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
126
91
90
85
80
72
67
61
57
52
49
44
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
104
61
23
-7
-34
-55
-74
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
45
127
127
127
127
112
110
104
98
89
83
76
71
64
60
55
19
-13
-38
-61
-79
-95
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
23
127
127
127
127
95
93
88
84
75
70
64
60
54
51
46
43
39
37
33
31
27
26
22
21
19
18
15
15
13
12
10
-20
-46
-67
-85
-99
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
4
127
127
127
115
79
78
74
69
62
58
52
49
45
42
38
4
-26
-49
-70
-86
-101
-97
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
113
103
61
22
-8
-35
-56
-75
-90
-103
-97
-107
-128
-128
-128
-128
-128
-128
45
127
127
127
127
112
110
104
98
89
83
76
72
65
61
55
52
47
44
40
37
33
31
28
26
23
22
19
18
16
15
13
-18
-44
-65
-84
-98
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
117
109
100
93
86
81
73
69
62
59
53
50
45
42
37
35
32
30
26
-6
-34
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
13
127
127
127
121
85
84
79
75
67
62
56
53
48
45
40
6
-24
-47
-69
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
125
89
88
83
79
71
66
60
56
51
48
43
8
-22
-46
-67
-84
-99
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
91
90
85
80
72
67
61
58
52
49
44
9
-21
-45
-67
-83
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
114
104
97
89
83
76
72
65
61
55
52
46
43
39
37
33
31
28
-5
-33
-55
-75
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
11
127
127
127
121
86
86
80
75
68
63
57
53
49
46
41
7
-23
-47
-68
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
17
127
127
127
125
90
89
84
79
72
67
60
57
52
49
43
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
104
97
89
83
76
72
65
61
55
52
47
44
40
37
33
31
28
-4
-33
-55
-75
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
14
127
127
127
121
86
85
80
76
68
63
57
54
49
46
41
7
-23
-47
-68
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
126
90
89
85
79
72
67
61
57
52
48
44
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
122
115
105
62
24
-7
-33
-55
-74
-89
-102
-97
-106
-128
-128
-128
-128
-128
-128
47
127
127
127
127
112
110
104
97
88
82
75
70
64
60
54
18
-14
-39
-61
-79
-95
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
23
127
127
127
127
95
93
88
83
75
70
63
59
54
51
46
43
38
36
32
31
27
26
23
21
19
18
15
14
12
12
10
-20
-46
-67
-85
-100
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
125
115
108
99
57
19
-11
-37
-58
-77
-91
-104
-98
-108
-128
-128
-128
-128
-128
-128
44
127
127
127
127
109
108
102
96
87
81
74
69
63
59
53
50
45
43
38
36
32
30
27
25
22
21
18
18
15
14
12
-18
-44
-65
-84
-99
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
117
110
100
93
85
80
73
69
63
59
53
50
45
42
37
35
32
30
27
-6
-34
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
101
95
87
81
74
69
63
59
54
50
45
43
38
36
32
30
27
-5
-33
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
101
95
86
81
74
69
63
59
53
50
45
43
38
36
32
31
28
-5
-33
-55
-76
-91
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
104
97
89
83
76
72
65
61
55
52
47
44
39
37
33
31
28
-5
-33
-55
-76
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
13
127
127
127
120
84
84
78
73
65
61
56
53
47
45
40
6
-24
-48
-69
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
113
103
61
22
-8
-34
-56
-75
-89
-103
-97
-107
-128
-128
-128
-128
-128
-128
45
127
127
127
127
111
109
104
97
88
82
75
71
64
60
54
18
-13
-39
-61
-79
-95
-107
-102
-111
-128
-128
-128
-128
-128
-128
-128
24
127
127
127
127
94
93
88
83
74
69
63
59
54
50
45
10
-20
-44
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
91
90
86
81
72
67
61
58
52
49
44
9
-21
-45
-67
-84
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
92
90
85
81
73
68
61
58
52
49
44
42
37
35
31
29
26
25
22
22
18
17
15
14
12
12
10
-20
-46
-67
-85
-100
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
116
109
100
93
85
79
72
68
62
58
53
50
45
42
38
35
32
30
26
-6
-34
-57
-77
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
15
127
127
127
120
85
84
79
75
67
62
56
54
48
46
40
6
-24
-47
-68
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
104
61
23
-7
-34
-55
-74
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
46
127
127
127
127
112
111
105
99
90
84
76
72
65
61
55
52
47
45
40
38
34
32
28
27
24
23
19
18
16
15
13
-17
-44
-65
-83
-98
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
116
109
100
93
85
80
73
68
63
59
53
50
45
43
38
36
32
31
27
-5
-34
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
117
110
100
58
20
-10
-36
-57
-76
-91
-104
-98
-107
-128
-128
-128
-128
-128
-128
41
127
127
127
127
108
106
100
95
86
80
73
68
61
58
52
16
-15
-40
-62
-80
-95
-108
-103
-111
-128
-128
-128
-128
-128
-128
-128
23
127
127
127
127
95
93
88
84
76
71
64
61
55
52
47
12
-19
-43
-65
-82
-98
-110
-104
-128
-128
-128
-128
-128
-128
-128
-128
22
127
127
127
127
93
92
87
82
74
69
63
59
54
51
45
42
38
36
32
31
27
25
22
21
18
17
15
14
12
12
10
-20
-46
-67
-85
-100
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
4
127
127
127
114
79
78
73
69
61
57
52
49
44
42
37
4
-26
-49
-70
-87
-101
-97
-107
-128
-128
-128
-128
-128
-128
-128
-128
17
127
127
127
125
89
88
83
79
71
65
59
56
51
48
43
9
-22
-46
-67
-84
-99
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
91
90
85
80
72
67
60
58
52
49
44
9
-21
-45
-67
-84
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
91
90
85
80
72
67
61
58
52
49
44
9
-21
-45
-67
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
92
91
86
81
73
68
62
58
53
50
44
9
-21
-45
-67
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
22
127
127
127
127
92
91
86
81
73
68
62
58
53
49
44
10
-21
-45
-67
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
126
90
89
85
80
72
67
60
57
51
49
44
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
91
90
85
81
72
67
61
58
52
49
45
10
-21
-45
-66
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
104
61
23
-8
-34
-56
-75
-89
-103
-97
-107
-128
-128
-128
-128
-128
-128
46
127
127
127
127
111
110
104
97
88
83
75
71
64
61
55
19
-13
-38
-61
-78
-95
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
24
127
127
127
127
95
93
89
84
75
70
63
60
54
51
46
44
39
37
32
30
28
26
23
22
19
18
16
15
13
12
10
-20
-46
-67
-85
-100
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
6
127
127
127
115
79
79
74
69
62
58
52
50
44
42
38
4
-26
-49
-70
-87
-101
-97
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
113
103
61
22
-8
-35
-56
-75
-90
-103
-97
-106
-128
-128
-128
-128
-128
-128
44
127
127
127
127
111
110
103
97
88
83
75
71
64
61
54
51
46
44
39
37
33
31
28
26
24
22
19
18
15
15
13
-17
-44
-65
-84
-98
-112
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
116
110
100
94
86
81
73
69
62
59
53
50
45
42
38
36
32
30
27
-5
-33
-56
-76
-92
-106
-100
-111
-128
-128
-128
-128
-128
-128
-128
-128
13
127
127
127
121
86
85
80
75
68
63
57
54
49
46
41
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
125
90
89
84
79
70
65
60
56
51
48
43
9
-21
-46
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
126
90
89
84
79
72
67
60
56
51
49
44
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
104
97
89
84
76
71
65
61
55
52
47
44
40
37
33
31
28
-5
-33
-55
-75
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
13
127
127
127
121
85
84
79
75
68
63
57
54
48
46
41
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
125
90
89
84
79
71
66
61
57
51
49
44
9
-21
-45
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
104
97
88
84
76
72
65
61
55
52
47
44
40
37
33
31
28
-5
-33
-55
-75
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
12
127
127
127
121
85
85
80
75
68
63
57
54
49
46
41
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
16
127
127
127
126
90
89
84
80
72
67
61
57
52
49
44
10
-21
-45
-66
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
122
114
104
61
23
-7
-34
-55
-74
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
45
127
127
127
127
112
111
105
99
89
84
76
71
65
61
56
19
-13
-38
-60
-78
-94
-106
-102
-110
-128
-128
-128
-128
-128
-128
-128
24
127
127
127
127
95
94
88
83
75
70
63
59
54
51
45
43
39
37
33
30
27
26
22
22
18
17
15
14
12
12
10
-20
-46
-67
-85
-100
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
125
115
108
99
57
19
-11
-37
-58
-76
-91
-104
-98
-108
-128
-128
-128
-128
-128
-128
43
127
127
127
127
109
107
102
96
87
82
74
69
63
59
54
51
45
43
38
36
32
31
27
26
22
21
18
17
15
14
12
-18
-44
-65
-84
-99
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
125
115
109
99
93
85
80
72
69
62
58
52
49
45
42
38
36
32
30
27
-5
-33
-56
-76
-92
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
101
95
87
81
74
70
63
59
53
50
45
43
38
36
32
30
27
-5
-33
-56
-76
-91
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
101
95
86
82
74
70
63
60
54
51
45
42
38
36
33
31
27
-5
-33
-55
-76
-91
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
119
111
102
96
87
82
75
71
64
61
55
52
47
44
39
38
34
32
29
-4
-32
-55
-75
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
14
127
127
127
123
86
86
81
77
69
64
58
55
49
47
42
7
-23
-46
-68
-85
-99
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
112
102
60
22
-8
-35
-56
-75
-90
-103
-97
-107
-128
-128
-128
-128
-128
-128
44
127
127
127
127
111
109
104
97
88
83
75
71
64
60
54
18
-13
-39
-61
-79
-95
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
23
127
127
127
127
94
93
88
83
75
70
63
60
54
51
46
11
-19
-44
-65
-83
-98
-110
-104
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
126
91
90
85
80
72
67
61
57
51
48
44
9
-21
-45
-67
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
126
91
90
85
80
72
67
61
57
51
49
44
41
37
35
31
29
25
24
22
21
18
17
14
14
12
11
10
-20
-46
-67
-85
-100
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
116
109
99
93
85
80
72
69
62
59
53
50
45
42
37
35
32
29
26
-6
-34
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
13
127
127
127
120
86
84
79
75
67
63
57
53
48
46
41
7
-23
-47
-68
-85
-100
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
113
104
61
23
-7
-34
-56
-74
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
45
127
127
127
127
112
110
104
99
90
84
75
71
64
61
55
52
47
45
40
37
33
31
28
26
23
22
19
18
16
15
13
-17
-44
-65
-83
-98
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
116
109
100
93
85
80
72
69
62
58
52
49
44
42
38
35
32
30
26
-6
-34
-56
-76
-92
-106
-101
-111
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
102
60
21
-9
-35
-56
-75
-90
-103
-97
-107
-128
-128
-128
-128
-128
-128
44
127
127
127
127
109
108
102
96
87
82
74
69
62
58
53
17
-14
-39
-61
-79
-95
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
92
91
86
81
72
67
60
57
52
49
44
9
-21
-45
-67
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
92
91
86
81
73
68
61
58
53
50
45
43
38
36
32
30
27
26
23
21
18
18
16
15
13
13
10
-19
-46
-66
-85
-99
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
5
127
127
127
115
80
79
75
70
63
59
53
50
45
43
38
4
-25
-49
-70
-86
-101
-112
-107
-128
-128
-128
-128
-128
-128
-128
-128
16
127
127
127
124
88
87
82
78
70
65
59
56
51
47
43
8
-22
-46
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
17
127
127
127
126
90
89
84
80
72
67
61
57
52
49
44
10
-21
-45
-66
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
17
127
127
127
127
92
90
85
80
72
68
62
58
52
49
45
10
-21
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
126
91
90
85
80
72
67
61
58
52
49
45
10
-21
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
20
127
127
127
127
92
91
86
81
72
68
62
57
52
50
45
10
-20
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
127
92
91
86
81
73
68
62
58
52
49
44
10
-21
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
126
90
89
84
79
71
67
60
57
51
49
43
9
-22
-46
-67
-84
-99
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
104
61
23
-7
-34
-55
-74
-89
-102
-97
-106
-128
-128
-128
-128
-128
-128
43
127
127
127
127
111
110
104
97
89
83
75
71
64
60
54
18
-14
-39
-61
-79
-95
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
22
127
127
127
127
94
93
88
83
75
70
63
60
54
51
46
44
39
37
33
31
28
26
23
22
19
18
16
15
13
12
10
-19
-45
-66
-85
-99
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
5
127
127
127
115
79
79
74
69
62
58
53
50
45
43
38
4
-25
-49
-70
-86
-101
-97
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
120
112
103
60
22
-8
-35
-56
-75
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
43
127
127
127
127
111
109
103
97
88
83
75
70
63
60
54
51
46
43
39
37
33
31
28
26
22
21
19
18
15
15
13
-17
-44
-65
-83
-98
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
116
110
100
93
86
81
73
68
62
59
53
50
45
43
38
35
31
30
27
-5
-33
-56
-76
-92
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
14
127
127
127
120
85
85
80
75
68
63
57
54
48
46
41
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
126
90
89
84
79
72
67
61
57
52
49
43
9
-21
-45
-67
-84
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
126
90
90
85
80
71
66
60
57
52
49
44
9
-21
-45
-67
-83
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
113
104
97
88
83
76
71
65
61
55
52
47
43
40
37
33
31
28
-4
-33
-55
-75
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
13
127
127
127
120
85
85
80
75
67
63
57
54
48
46
40
6
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
125
90
89
83
79
71
67
60
57
51
48
44
9
-21
-45
-67
-84
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
113
104
97
89
83
76
72
65
61
54
52
47
44
40
37
33
31
28
-5
-33
-55
-75
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
11
127
127
127
121
85
85
80
75
67
63
57
53
48
46
41
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
125
90
89
84
79
71
67
60
56
51
48
44
9
-21
-45
-67
-84
-99
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
122
114
104
61
23
-7
-34
-55
-74
-89
-102
-97
-106
-128
-128
-128
-128
-128
-128
44
127
127
127
127
112
110
104
98
89
83
76
71
65
61
55
19
-13
-38
-61
-78
-94
-106
-102
-110
-128
-128
-128
-128
-128
-128
-128
27
127
127
127
127
95
94
89
84
76
71
64
61
54
52
47
44
40
37
33
31
27
26
23
22
19
18
16
15
13
12
10
-20
-46
-67
-85
-99
-112
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
125
115
108
98
56
19
-11
-37
-58
-77
-91
-104
-98
-107
-128
-128
-128
-128
-128
-128
41
127
127
127
127
109
108
102
96
87
81
74
69
63
59
53
50
45
43
38
37
32
30
27
25
22
21
19
18
15
14
12
-18
-44
-65
-84
-98
-112
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
126
116
108
98
93
85
80
72
68
61
58
52
49
44
41
37
35
31
29
26
-6
-34
-56
-76
-92
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
101
95
86
82
74
69
63
60
54
50
46
43
39
36
32
31
28
-5
-33
-55
-76
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
101
95
86
81
74
69
63
59
53
50
45
43
38
36
32
30
27
-5
-33
-56
-76
-91
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
118
111
101
95
86
81
74
69
63
59
53
50
45
43
38
36
32
30
27
-5
-33
-56
-76
-91
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
12
127
127
127
121
86
86
81
77
69
65
58
56
50
47
42
8
-22
-46
-68
-84
-99
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
114
104
61
23
-7
-34
-55
-74
-89
-102
-97
-106
-128
-128
-128
-128
-128
-128
44
127
127
127
127
110
109
102
97
87
81
74
70
64
60
54
18
-13
-39
-61
-79
-95
-107
-102
-110
-128
-128
-128
-128
-128
-128
-128
23
127
127
127
127
94
93
88
83
75
70
63
60
54
51
45
11
-20
-44
-66
-83
-98
-110
-104
-112
-128
-128
-128
-128
-128
-128
-128
18
127
127
127
127
92
91
86
81
73
68
61
58
52
49
44
10
-21
-45
-66
-83
-98
-110
-105
-128
-128
-128
-128
-128
-128
-128
-128
19
127
127
127
126
90
89
85
79
71
67
60
57
51
49
43
41
36
35
31
29
25
24
21
20
18
17
15
14
12
11
9
-21
-46
-67
-85
-100
-113
-107
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
125
116
109
99
93
85
80
72
68
62
59
53
50
45
42
38
35
32
30
27
-5
-33
-56
-76
-91
-106
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
11
127
127
127
120
85
85
80
75
68
63
57
54
49
46
41
7
-23
-47
-68
-85
-100
-111
-106
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
121
113
103
61
23
-7
-34
-56
-74
-89
-103
-97
-106
-128
-128
-128
-128
-128
-128
43
127
127
127
127
111
110
104
98
89
83
75
71
64
61
55
51
46
44
39
37
33
31
27
26
23
22
19
18
16
15
13
-18
-44
-65
-83
-98
-111
-105
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
127
127
127
127
127
127
127
127
127
127
127
127
127
117
110
100
94
86
81
74
69
63
59
53
50
45
43
38
36
32
30
27
-5
-33
-56
-76
-91
-105
-100
-110
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128
-128