239
187
191
46
114
111
119
123
109
97
114
103
105
110
45
114
105
103
104
116
58
45
49
53
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
45
49
53
112
120
125
46
114
111
119
58
98
101
102
111
114
101
44
46
114
111
119
58
97
102
116
101
114
123
100
105
115
112
108
97
121
58
116
97
98
108
101
59
99
111
110
116
101
110
116
58
34
32
34
125
46
114
111
119
58
97
102
116
101
114
123
99
108
101
97
114
58
98
111
116
104
125
46
99
111
108
45
120
115
45
49
44
46
99
111
108
45
115
109
45
49
44
46
99
111
108
45
109
100
45
49
44
46
99
111
108
45
108
103
45
49
44
46
99
111
108
45
120
115
45
50
44
46
99
111
108
45
115
109
45
50
44
46
99
111
108
45
109
100
45
50
44
46
99
111
108
45
108
103
45
50
44
46
99
111
108
45
120
115
45
51
44
46
99
111
108
45
115
109
45
51
44
46
99
111
108
45
109
100
45
51
44
46
99
111
108
45
108
103
45
51
44
46
99
111
108
45
120
115
45
52
44
46
99
111
108
45
115
109
45
52
44
46
99
111
108
45
109
100
45
52
44
46
99
111
108
45
108
103
45
52
44
46
99
111
108
45
120
115
45
53
44
46
99
111
108
45
115
109
45
53
44
46
99
111
108
45
109
100
45
53
44
46
99
111
108
45
108
103
45
53
44
46
99
111
108
45
120
115
45
54
44
46
99
111
108
45
115
109
45
54
44
46
99
111
108
45
109
100
45
54
44
46
99
111
108
45
108
103
45
54
44
46
99
111
108
45
120
115
45
55
44
46
99
111
108
45
115
109
45
55
44
46
99
111
108
45
109
100
45
55
44
46
99
111
108
45
108
103
45
55
44
46
99
111
108
45
120
115
45
56
44
46
99
111
108
45
115
109
45
56
44
46
99
111
108
45
109
100
45
56
44
46
99
111
108
45
108
103
45
56
44
46
99
111
108
45
120
115
45
57
44
46
99
111
108
45
115
109
45
57
44
46
99
111
108
45
109
100
45
57
44
46
99
111
108
45
108
103
45
57
44
46
99
111
108
45
120
115
45
49
48
44
46
99
111
108
45
115
109
45
49
48
44
46
99
111
108
45
109
100
45
49
48
44
46
99
111
108
45
108
103
45
49
48
44
46
99
111
108
45
120
115
45
49
49
44
46
99
111
108
45
115
109
45
49
49
44
46
99
111
108
45
109
100
45
49
49
44
46
99
111
108
45
108
103
45
49
49
44
46
99
111
108
45
120
115
45
49
50
44
46
99
111
108
45
115
109
45
49
50
44
46
99
111
108
45
109
100
45
49
50
44
46
99
111
108
45
108
103
45
49
50
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
109
105
110
45
104
101
105
103
104
116
58
49
112
120
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
49
53
112
120
59
112
97
100
100
105
110
103
45
108
101
102
116
58
49
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
57
57
50
112
120
41
123
46
99
111
108
45
109
100
45
49
44
46
99
111
108
45
109
100
45
50
44
46
99
111
108
45
109
100
45
51
44
46
99
111
108
45
109
100
45
52
44
46
99
111
108
45
109
100
45
53
44
46
99
111
108
45
109
100
45
54
44
46
99
111
108
45
109
100
45
55
44
46
99
111
108
45
109
100
45
56
44
46
99
111
108
45
109
100
45
57
44
46
99
111
108
45
109
100
45
49
48
44
46
99
111
108
45
109
100
45
49
49
44
46
99
111
108
45
109
100
45
49
50
123
102
108
111
97
116
58
108
101
102
116
125
46
99
111
108
45
109
100
45
49
123
119
105
100
116
104
58
56
46
51
51
51
51
51
51
51
51
51
51
37
125
46
99
111
108
45
109
100
45
50
123
119
105
100
116
104
58
49
54
46
54
54
54
54
54
54
54
54
54
55
37
125
46
99
111
108
45
109
100
45
51
123
119
105
100
116
104
58
50
53
37
125
46
99
111
108
45
109
100
45
52
123
119
105
100
116
104
58
51
51
46
51
51
51
51
51
51
51
51
51
51
37
125
46
99
111
108
45
109
100
45
53
123
119
105
100
116
104
58
52
49
46
54
54
54
54
54
54
54
54
54
55
37
125
46
99
111
108
45
109
100
45
54
123
119
105
100
116
104
58
53
48
37
125
46
99
111
108
45
109
100
45
55
123
119
105
100
116
104
58
53
56
46
51
51
51
51
51
51
51
51
51
51
37
125
46
99
111
108
45
109
100
45
56
123
119
105
100
116
104
58
54
54
46
54
54
54
54
54
54
54
54
54
55
37
125
46
99
111
108
45
109
100
45
57
123
119
105
100
116
104
58
55
53
37
125
46
99
111
108
45
109
100
45
49
48
123
119
105
100
116
104
58
56
51
46
51
51
51
51
51
51
51
51
51
51
37
125
46
99
111
108
45
109
100
45
49
49
123
119
105
100
116
104
58
57
49
46
54
54
54
54
54
54
54
54
54
55
37
125
46
99
111
108
45
109
100
45
49
50
123
119
105
100
116
104
58
49
48
48
37
125
46
99
111
108
45
109
100
45
112
117
108
108
45
48
123
114
105
103
104
116
58
97
117
116
111
125
46
99
111
108
45
109
100
45
112
117
108
108
45
49
123
114
105
103
104
116
58
56
46
51
51
51
51
51
51
51
51
51
51
37
125
46
99
111
108
45
109
100
45
112
117
108
108
45
50
123
114
105
103
104
116
58
49
54
46
54
54
54
54
54
54
54
54
54
55
37
125
46
99
111
108
45
109
100
45
112
117
108
108
45
51
123
114
105
103
104
116
58
50
53
37
125
46
99
111
108
45
109
100
45
112
117
108
108
45
52
123
114
105
103
104
116
58
51
51
46
51
51
51
51
51
51
51
51
51
51
37
125
46
99
111
108
45
109
100
45
112
117
108
108
45
53
123
114
105
103
104
116
58
52
49
46
54
54
54
54
54
54
54
54
54
55
37
125
46
99
111
108
45
109
100
45
112
117
108
108
45
54
123
114
105
103
104
116
58
53
48
37
125
46
99
111
108
45
109
100
45
112
117
108
108
45
55
123
114
105
103
104
116
58
53
56
46
51
51
51
51
51
51
51
51
51
51
37
125
46
99
111
108
45
109
100
45
112
117
108
108
45
56
123
114
105
103
104
116
58
54
54
46
54
54
54
54
54
54
54
54
54
55
37
125
46
99
111
108
45
109
100
45
112
117
108
108
45
57
123
114
105
103
104
116
58
55
53
37
125
46
99
111
108
45
109
100
45
112
117
108
108
45
49
48
123
114
105
103
104
116
58
56
51
46
51
51
51
51
51
51
51
51
51
51
37
125
46
99
111
108
45
109
100
45
112
117
108
108
45
49
49
123
114
105
103
104
116
58
57
49
46
54
54
54
54
54
54
54
54
54
55
37
125
46
99
111
108
45
109
100
45
112
117
108
108
45
49
50
123
114
105
103
104
116
58
49
48
48
37
125
46
99
111
108
45
109
100
45
112
117
115
104
45
48
123
108
101
102
116
58
97
117
116
111
125
46
99
111
108
45
109
100
45
112
117
115
104
45
49
123
108
101
102
116
58
56
46
51
51
51
51
51
51
51
51
51
51
37
125
46
99
111
108
45
109
100
45
112
117
115
104
45
50
123
108
101
102
116
58
49
54
46
54
54
54
54
54
54
54
54
54
55
37
125
46
99
111
108
45
109
100
45
112
117
115
104
45
51
123
108
101
102
116
58
50
53
37
125
46
99
111
108
45
109
100
45
112
117
115
104
45
52
123
108
101
102
116
58
51
51
46
51
51
51
51
51
51
51
51
51
51
37
125
46
99
111
108
45
109
100
45
112
117
115
104
45
53
123
108
101
102
116
58
52
49
46
54
54
54
54
54
54
54
54
54
55
37
125
46
99
111
108
45
109
100
45
112
117
115
104
45
54
123
108
101
102
116
58
53
48
37
125
46
99
111
108
45
109
100
45
112
117
115
104
45
55
123
108
101
102
116
58
53
56
46
51
51
51
51
51
51
51
51
51
51
37
125
46
99
111
108
45
109
100
45
112
117
115
104
45
56
123
108
101
102
116
58
54
54
46
54
54
54
54
54
54
54
54
54
55
37
125
46
99
111
108
45
109
100
45
112
117
115
104
45
57
123
108
101
102
116
58
55
53
37
125
46
99
111
108
45
109
100
45
112
117
115
104
45
49
48
123
108
101
102
116
58
56
51
46
51
51
51
51
51
51
51
51
51
51
37
125
46
99
111
108
45
109
100
45
112
117
115
104
45
49
49
123
108
101
102
116
58
57
49
46
54
54
54
54
54
54
54
54
54
55
37
125
46
99
111
108
45
109
100
45
112
117
115
104
45
49
50
123
108
101
102
116
58
49
48
48
37
125
46
99
111
108
45
109
100
45
111
102
102
115
101
116
45
48
123
109
97
114
103
105
110
45
108
101
102
116
58
48
37
125
46
99
111
108
45
109
100
45
111
102
102
115
101
116
45
49
123
109
97
114
103
105
110
45
108
101
102
116
58
56
46
51
51
51
51
51
51
51
51
51
51
37
125
46
99
111
108
45
109
100
45
111
102
102
115
101
116
45
50
123
109
97
114
103
105
110
45
108
101
102
116
58
49
54
46
54
54
54
54
54
54
54
54
54
55
37
125
46
99
111
108
45
109
100
45
111
102
102
115
101
116
45
51
123
109
97
114
103
105
110
45
108
101
102
116
58
50
53
37
125
46
99
111
108
45
109
100
45
111
102
102
115
101
116
45
52
123
109
97
114
103
105
110
45
108
101
102
116
58
51
51
46
51
51
51
51
51
51
51
51
51
51
37
125
46
99
111
108
45
109
100
45
111
102
102
115
101
116
45
53
123
109
97
114
103
105
110
45
108
101
102
116
58
52
49
46
54
54
54
54
54
54
54
54
54
55
37
125
46
99
111
108
45
109
100
45
111
102
102
115
101
116
45
54
123
109
97
114
103
105
110
45
108
101
102
116
58
53
48
37
125
46
99
111
108
45
109
100
45
111
102
102
115
101
116
45
55
123
109
97
114
103
105
110
45
108
101
102
116
58
53
56
46
51
51
51
51
51
51
51
51
51
51
37
125
46
99
111
108
45
109
100
45
111
102
102
115
101
116
45
56
123
109
97
114
103
105
110
45
108
101
102
116
58
54
54
46
54
54
54
54
54
54
54
54
54
55
37
125
46
99
111
108
45
109
100
45
111
102
102
115
101
116
45
57
123
109
97
114
103
105
110
45
108
101
102
116
58
55
53
37
125
46
99
111
108
45
109
100
45
111
102
102
115
101
116
45
49
48
123
109
97
114
103
105
110
45
108
101
102
116
58
56
51
46
51
51
51
51
51
51
51
51
51
51
37
125
46
99
111
108
45
109
100
45
111
102
102
115
101
116
45
49
49
123
109
97
114
103
105
110
45
108
101
102
116
58
57
49
46
54
54
54
54
54
54
54
54
54
55
37
125
46
99
111
108
45
109
100
45
111
102
102
115
101
116
45
49
50
123
109
97
114
103
105
110
45
108
101
102
116
58
49
48
48
37
125
125
116
97
98
108
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
108
97
98
101
108
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
109
97
120
45
119
105
100
116
104
58
49
48
48
37
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
53
112
120
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
125
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
44
105
110
112
117
116
91
116
121
112
101
61
34
99
104
101
99
107
98
111
120
34
93
123
109
97
114
103
105
110
58
52
112
120
32
48
32
48
59
109
97
114
103
105
110
45
116
111
112
58
49
112
120
32
92
57
59
108
105
110
101
45
104
101
105
103
104
116
58
110
111
114
109
97
108
125
46
109
111
100
97
108
123
112
111
115
105
116
105
111
110
58
102
105
120
101
100
59
116
111
112
58
48
59
114
105
103
104
116
58
48
59
98
111
116
116
111
109
58
48
59
108
101
102
116
58
48
59
122
45
105
110
100
101
120
58
49
48
53
48
59
100
105
115
112
108
97
121
58
110
111
110
101
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
45
119
101
98
107
105
116
45
111
118
101
114
102
108
111
119
45
115
99
114
111
108
108
105
110
103
58
116
111
117
99
104
59
111
117
116
108
105
110
101
58
48
125
46
109
111
100
97
108
45
99
111
110
116
101
110
116
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
102
102
102
59
98
97
99
107
103
114
111
117
110
100
45
99
108
105
112
58
112
97
100
100
105
110
103
45
98
111
120
59
98
111
114
100
101
114
58
49
112
120
32
115
111
108
105
100
32
35
57
57
57
59
98
111
114
100
101
114
58
49
112
120
32
115
111
108
105
100
32
114
103
98
97
40
48
44
48
44
48
44
48
46
50
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
54
112
120
59
98
111
120
45
115
104
97
100
111
119
58
48
32
51
112
120
32
57
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
53
41
59
111
117
116
108
105
110
101
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
111
100
97
108
45
100
105
97
108
111
103
123
119
105
100
116
104
58
54
48
48
112
120
59
109
97
114
103
105
110
58
51
48
112
120
32
97
117
116
111
125
46
109
111
100
97
108
45
99
111
110
116
101
110
116
123
98
111
120
45
115
104
97
100
111
119
58
48
32
53
112
120
32
49
53
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
53
41
125
46
109
111
100
97
108
45
115
109
123
119
105
100
116
104
58
51
48
48
112
120
125
125
64
45
119
101
98
107
105
116
45
107
101
121
102
114
97
109
101
115
32
101
120
112
97
110
100
45
102
114
111
109
45
48
123
48
37
123
109
97
120
45
104
101
105
103
104
116
58
48
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
49
48
48
37
123
109
97
120
45
104
101
105
103
104
116
58
49
48
48
37
59
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
125
64
107
101
121
102
114
97
109
101
115
32
101
120
112
97
110
100
45
102
114
111
109
45
48
123
48
37
123
109
97
120
45
104
101
105
103
104
116
58
48
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
49
48
48
37
123
109
97
120
45
104
101
105
103
104
116
58
49
48
48
37
59
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
125
64
45
119
101
98
107
105
116
45
107
101
121
102
114
97
109
101
115
32
102
97
100
101
45
105
110
45
100
111
119
110
123
48
37
123
111
112
97
99
105
116
121
58
48
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
45
49
48
112
120
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
45
49
48
112
120
44
32
48
41
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
49
48
48
37
123
111
112
97
99
105
116
121
58
49
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
125
64
107
101
121
102
114
97
109
101
115
32
102
97
100
101
45
105
110
45
100
111
119
110
123
48
37
123
111
112
97
99
105
116
121
58
48
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
45
49
48
112
120
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
45
49
48
112
120
44
32
48
41
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
49
48
48
37
123
111
112
97
99
105
116
121
58
49
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
125
64
45
119
101
98
107
105
116
45
107
101
121
102
114
97
109
101
115
32
102
97
100
101
45
105
110
45
117
112
123
48
37
123
111
112
97
99
105
116
121
58
48
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
49
48
112
120
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
49
48
112
120
44
32
48
41
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
49
48
48
37
123
111
112
97
99
105
116
121
58
49
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
125
64
107
101
121
102
114
97
109
101
115
32
102
97
100
101
45
105
110
45
117
112
123
48
37
123
111
112
97
99
105
116
121
58
48
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
49
48
112
120
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
49
48
112
120
44
32
48
41
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
49
48
48
37
123
111
112
97
99
105
116
121
58
49
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
125
64
45
119
101
98
107
105
116
45
107
101
121
102
114
97
109
101
115
32
102
97
100
101
45
111
117
116
45
100
111
119
110
123
48
37
123
111
112
97
99
105
116
121
58
49
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
49
48
48
37
123
111
112
97
99
105
116
121
58
48
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
49
48
112
120
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
49
48
112
120
44
32
48
41
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
125
64
107
101
121
102
114
97
109
101
115
32
102
97
100
101
45
111
117
116
45
100
111
119
110
123
48
37
123
111
112
97
99
105
116
121
58
49
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
49
48
48
37
123
111
112
97
99
105
116
121
58
48
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
49
48
112
120
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
49
48
112
120
44
32
48
41
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
125
64
45
119
101
98
107
105
116
45
107
101
121
102
114
97
109
101
115
32
97
110
105
109
97
116
101
100
45
98
111
114
100
101
114
45
103
114
97
100
105
101
110
116
123
48
37
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
37
32
53
48
37
125
53
48
37
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
49
48
48
37
32
53
48
37
125
49
48
48
37
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
37
32
53
48
37
125
125
64
107
101
121
102
114
97
109
101
115
32
97
110
105
109
97
116
101
100
45
98
111
114
100
101
114
45
103
114
97
100
105
101
110
116
123
48
37
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
37
32
53
48
37
125
53
48
37
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
49
48
48
37
32
53
48
37
125
49
48
48
37
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
37
32
53
48
37
125
125
64
45
119
101
98
107
105
116
45
107
101
121
102
114
97
109
101
115
32
102
108
105
112
45
117
112
123
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
48
41
125
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
48
41
125
49
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
41
41
125
49
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
41
41
125
50
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
50
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
50
41
41
125
50
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
50
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
50
41
41
125
51
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
51
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
51
41
41
125
51
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
51
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
51
41
41
125
52
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
52
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
52
41
41
125
52
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
52
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
52
41
41
125
53
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
53
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
53
41
41
125
53
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
53
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
53
41
41
125
54
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
54
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
54
41
41
125
54
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
54
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
54
41
41
125
55
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
55
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
55
41
41
125
55
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
55
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
55
41
41
125
56
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
56
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
56
41
41
125
56
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
56
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
56
41
41
125
57
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
57
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
57
41
41
125
57
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
57
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
57
41
41
125
49
48
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
49
48
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
49
48
41
41
125
125
64
107
101
121
102
114
97
109
101
115
32
102
108
105
112
45
117
112
123
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
48
41
125
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
48
41
125
49
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
41
41
125
49
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
41
41
125
50
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
50
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
50
41
41
125
50
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
50
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
50
41
41
125
51
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
51
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
51
41
41
125
51
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
51
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
51
41
41
125
52
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
52
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
52
41
41
125
52
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
52
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
52
41
41
125
53
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
53
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
53
41
41
125
53
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
53
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
53
41
41
125
54
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
54
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
54
41
41
125
54
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
54
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
54
41
41
125
55
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
55
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
55
41
41
125
55
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
55
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
55
41
41
125
56
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
56
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
56
41
41
125
56
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
56
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
56
41
41
125
57
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
57
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
57
41
41
125
57
57
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
57
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
57
41
41
125
49
48
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
49
48
41
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
32
42
32
49
48
41
41
125
125
64
45
119
101
98
107
105
116
45
107
101
121
102
114
97
109
101
115
32
119
111
98
98
108
101
123
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
48
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
48
100
101
103
41
125
50
53
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
53
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
53
100
101
103
41
125
53
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
48
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
48
100
101
103
41
125
55
53
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
45
53
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
45
53
100
101
103
41
125
49
48
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
48
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
48
100
101
103
41
125
125
64
107
101
121
102
114
97
109
101
115
32
119
111
98
98
108
101
123
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
48
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
48
100
101
103
41
125
50
53
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
53
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
53
100
101
103
41
125
53
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
48
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
48
100
101
103
41
125
55
53
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
45
53
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
45
53
100
101
103
41
125
49
48
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
48
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
48
100
101
103
41
125
125
64
102
111
110
116
45
102
97
99
101
123
102
111
110
116
45
102
97
109
105
108
121
58
39
82
111
111
98
101
114
116
45
77
101
100
105
117
109
39
59
115
114
99
58
117
114
108
40
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
82
111
111
98
101
114
116
45
77
101
100
105
117
109
45
56
56
98
97
55
56
48
50
57
102
55
51
102
97
57
102
49
56
101
49
101
51
99
51
49
99
49
102
48
55
54
97
99
100
99
52
57
50
50
51
97
102
55
48
97
55
56
98
50
101
97
52
98
100
98
97
98
56
49
54
56
50
56
51
46
119
111
102
102
50
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
102
111
110
116
45
100
105
115
112
108
97
121
58
115
119
97
112
125
64
102
111
110
116
45
102
97
99
101
123
102
111
110
116
45
102
97
109
105
108
121
58
39
82
111
111
98
101
114
116
45
83
101
109
105
66
111
108
100
39
59
115
114
99
58
117
114
108
40
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
82
111
111
98
101
114
116
45
83
101
109
105
66
111
108
100
45
57
100
57
99
49
97
101
48
102
99
55
56
102
54
55
100
56
50
99
52
102
99
52
51
57
56
55
56
53
55
102
53
98
56
57
55
100
50
57
98
57
48
51
55
48
49
100
49
101
57
55
99
50
101
50
48
55
51
49
49
100
54
51
54
46
119
111
102
102
50
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
102
111
110
116
45
100
105
115
112
108
97
121
58
115
119
97
112
125
64
102
111
110
116
45
102
97
99
101
123
102
111
110
116
45
102
97
109
105
108
121
58
39
82
111
111
98
101
114
116
45
66
111
108
100
39
59
115
114
99
58
117
114
108
40
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
82
111
111
98
101
114
116
45
66
111
108
100
45
101
57
53
57
55
57
98
55
52
101
98
101
48
54
99
49
56
53
49
101
99
101
50
57
52
102
56
102
55
101
57
101
54
100
51
97
100
48
100
56
49
55
100
49
57
54
56
100
99
98
102
98
50
54
51
55
51
102
48
98
52
100
101
53
46
119
111
102
102
50
41
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
59
102
111
110
116
45
100
105
115
112
108
97
121
58
115
119
97
112
125
64
102
111
110
116
45
102
97
99
101
123
102
111
110
116
45
102
97
109
105
108
121
58
39
83
104
97
114
112
71
114
111
116
101
115
107
45
66
111
108
100
39
59
115
114
99
58
117
114
108
40
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
83
104
97
114
112
71
114
111
116
101
115
107
66
111
108
100
45
102
48
98
97
99
102
54
101
102
54
52
49
48
54
52
54
50
48
53
54
57
48
100
99
97
51
98
99
54
53
102
53
98
98
50
100
51
49
98
57
52
49
55
97
51
53
56
97
100
57
99
48
55
50
51
55
97
51
49
48
100
49
57
54
46
119
111
102
102
50
41
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
59
102
111
110
116
45
100
105
115
112
108
97
121
58
115
119
97
112
125
64
102
111
110
116
45
102
97
99
101
123
102
111
110
116
45
102
97
109
105
108
121
58
39
67
97
108
105
98
114
101
39
59
115
114
99
58
117
114
108
40
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
99
97
108
105
98
114
101
45
114
101
103
117
108
97
114
45
98
53
49
102
55
50
51
52
102
51
55
101
98
102
51
49
53
57
48
53
57
99
99
48
54
55
50
101
102
97
57
100
97
54
49
55
55
101
97
99
101
54
57
48
51
100
98
101
54
56
98
52
56
51
56
52
55
54
55
52
51
97
48
56
46
119
111
102
102
50
41
32
102
111
114
109
97
116
40
34
119
111
102
102
50
34
41
59
102
111
110
116
45
119
101
105
103
104
116
58
52
48
48
59
102
111
110
116
45
115
116
121
108
101
58
110
111
114
109
97
108
125
64
102
111
110
116
45
102
97
99
101
123
102
111
110
116
45
102
97
109
105
108
121
58
39
67
97
108
105
98
114
101
39
59
115
114
99
58
117
114
108
40
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
99
97
108
105
98
114
101
45
109
101
100
105
117
109
45
98
97
54
97
97
100
99
102
50
49
53
53
101
52
51
51
52
49
55
53
97
53
97
101
54
56
50
102
56
57
49
100
48
56
53
102
99
101
56
52
52
49
57
50
98
101
57
55
99
52
50
53
53
54
52
55
56
56
98
56
98
51
100
50
46
119
111
102
102
50
41
32
102
111
114
109
97
116
40
34
119
111
102
102
50
34
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
102
111
110
116
45
115
116
121
108
101
58
110
111
114
109
97
108
125
64
102
111
110
116
45
102
97
99
101
123
102
111
110
116
45
102
97
109
105
108
121
58
39
67
97
108
105
98
114
101
39
59
115
114
99
58
117
114
108
40
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
99
97
108
105
98
114
101
45
98
111
108
100
45
53
55
50
53
101
53
98
54
101
51
53
51
97
98
101
98
100
50
52
57
102
97
54
54
50
57
102
55
100
51
57
56
54
56
55
48
99
100
53
50
50
48
51
53
100
54
57
55
52
51
98
97
53
53
97
50
54
57
48
98
55
98
97
48
46
119
111
102
102
50
41
32
102
111
114
109
97
116
40
34
119
111
102
102
50
34
41
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
59
102
111
110
116
45
115
116
121
108
101
58
110
111
114
109
97
108
125
64
102
111
110
116
45
102
97
99
101
123
102
111
110
116
45
102
97
109
105
108
121
58
39
78
105
98
32
80
114
111
39
59
115
114
99
58
117
114
108
40
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
110
105
98
45
114
101
103
117
108
97
114
45
112
114
111
45
51
50
98
55
100
54
57
100
52
98
56
55
97
55
51
49
57
51
101
52
57
99
51
53
97
101
56
57
54
48
50
101
100
49
55
56
54
98
100
49
99
102
55
50
101
97
98
52
99
100
57
100
100
102
52
50
55
99
55
54
99
48
99
97
46
119
111
102
102
50
41
32
102
111
114
109
97
116
40
34
119
111
102
102
50
34
41
44
117
114
108
40
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
110
105
98
45
114
101
103
117
108
97
114
45
112
114
111
45
97
57
57
48
57
99
99
57
101
102
100
49
48
53
50
55
49
53
99
56
98
98
101
48
53
53
48
54
54
99
57
101
51
49
52
56
102
48
53
54
53
50
50
51
48
97
98
53
57
101
49
54
101
55
99
54
98
98
55
99
50
100
48
53
46
119
111
102
102
41
32
102
111
114
109
97
116
40
34
119
111
102
102
34
41
59
102
111
110
116
45
119
101
105
103
104
116
58
52
48
48
59
102
111
110
116
45
115
116
121
108
101
58
110
111
114
109
97
108
125
58
114
111
111
116
44
91
100
97
116
97
45
116
104
101
109
101
61
34
100
101
102
97
117
108
116
34
93
123
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
58
32
32
32
32
32
32
32
32
32
32
82
111
111
98
101
114
116
45
77
101
100
105
117
109
44
32
72
101
108
118
101
116
105
99
97
44
32
115
97
110
115
45
115
101
114
105
102
59
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
58
32
82
111
111
98
101
114
116
45
83
101
109
105
66
111
108
100
44
32
72
101
108
118
101
116
105
99
97
44
32
115
97
110
115
45
115
101
114
105
102
59
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
58
32
32
32
32
32
82
111
111
98
101
114
116
45
66
111
108
100
44
32
72
101
108
118
101
116
105
99
97
44
32
115
97
110
115
45
115
101
114
105
102
59
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
58
32
32
32
32
32
32
32
32
32
32
83
104
97
114
112
71
114
111
116
101
115
107
45
66
111
108
100
44
32
65
114
105
97
108
32
66
108
97
99
107
44
32
72
101
108
118
101
116
105
99
97
44
32
115
97
110
115
45
115
101
114
105
102
59
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
101
115
105
103
110
45
103
117
105
100
101
58
32
32
32
32
32
39
67
111
117
114
105
101
114
32
78
101
119
39
59
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
58
32
32
32
32
32
32
32
32
32
32
49
46
49
114
101
109
59
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
58
32
32
32
32
32
32
32
32
32
32
49
46
50
114
101
109
59
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
58
32
32
32
32
32
32
32
32
32
32
49
46
52
114
101
109
59
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
58
32
32
32
32
32
32
32
32
32
32
49
46
54
114
101
109
59
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
58
32
32
32
32
32
32
32
32
32
49
46
56
114
101
109
59
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
58
32
32
32
32
32
32
32
32
32
50
114
101
109
59
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
58
32
32
32
32
32
32
32
32
32
50
46
52
114
101
109
59
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
58
32
32
32
32
32
32
32
32
32
50
46
56
114
101
109
59
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
49
48
48
58
32
32
32
32
32
32
32
32
32
32
51
46
50
114
101
109
59
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
50
48
48
58
32
32
32
32
32
32
32
32
32
32
51
46
54
114
101
109
59
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
51
48
48
58
32
32
32
32
32
32
32
32
32
32
52
114
101
109
59
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
52
48
48
58
32
32
32
32
32
32
32
32
32
32
52
46
52
114
101
109
59
45
45
102
111
110
116
45
115
105
122
101
45
120
108
97
114
103
101
45
49
48
48
58
32
32
32
32
32
32
32
32
32
52
46
56
114
101
109
59
45
45
102
111
110
116
45
115
105
122
101
45
120
108
97
114
103
101
45
50
48
48
58
32
32
32
32
32
32
32
32
32
53
46
50
114
101
109
59
45
45
102
111
110
116
45
115
105
122
101
45
120
108
97
114
103
101
45
51
48
48
58
32
32
32
32
32
32
32
32
32
53
46
54
114
101
109
59
45
45
102
111
110
116
45
115
105
122
101
45
120
108
97
114
103
101
45
52
48
48
58
32
32
32
32
32
32
32
32
32
54
46
52
114
101
109
125
58
114
111
111
116
44
91
100
97
116
97
45
116
104
101
109
101
61
34
100
101
102
97
117
108
116
34
93
123
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
49
48
48
58
32
35
70
70
70
48
69
66
59
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
50
48
48
58
32
35
70
69
68
50
67
55
59
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
51
48
48
58
32
35
70
69
65
51
57
53
59
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
52
48
48
58
32
35
70
68
53
65
52
69
59
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
58
32
35
68
70
50
65
50
65
59
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
54
48
48
58
32
35
66
66
49
66
50
53
59
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
55
48
48
58
32
35
57
51
49
53
50
54
59
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
56
48
48
58
32
35
53
68
48
69
49
69
59
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
57
48
48
58
32
35
51
65
48
57
49
54
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
58
32
35
70
52
70
52
70
53
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
58
32
35
69
57
69
57
69
67
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
58
32
35
68
55
68
55
68
66
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
58
32
35
66
57
66
57
67
49
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
58
32
35
57
51
57
51
57
70
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
58
32
35
55
49
55
49
55
70
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
58
32
35
52
57
52
57
53
65
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
58
32
35
50
66
50
66
51
66
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
58
32
35
49
53
49
53
50
51
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
45
97
54
48
58
32
114
103
98
97
40
49
52
55
44
32
49
52
55
44
32
49
53
57
44
32
48
46
54
41
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
45
97
50
48
58
32
114
103
98
97
40
52
51
44
32
52
51
44
32
53
57
44
32
48
46
50
41
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
45
97
52
48
58
32
114
103
98
97
40
52
51
44
32
52
51
44
32
53
57
44
32
48
46
52
41
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
45
97
54
48
58
32
114
103
98
97
40
52
51
44
32
52
51
44
32
53
57
44
32
48
46
54
41
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
45
97
56
48
58
32
114
103
98
97
40
52
51
44
32
52
51
44
32
53
57
44
32
48
46
56
41
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
48
52
58
32
114
103
98
97
40
50
49
44
32
50
49
44
32
51
53
44
32
48
46
48
52
41
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
49
48
58
32
114
103
98
97
40
50
49
44
32
50
49
44
32
51
53
44
32
48
46
49
41
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
58
32
114
103
98
97
40
50
49
44
32
50
49
44
32
51
53
44
32
48
46
50
41
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
52
48
58
32
114
103
98
97
40
50
49
44
32
50
49
44
32
51
53
44
32
48
46
52
41
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
53
48
58
32
114
103
98
97
40
50
49
44
32
50
49
44
32
51
53
44
32
48
46
53
41
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
54
48
58
32
114
103
98
97
40
50
49
44
32
50
49
44
32
51
53
44
32
48
46
54
41
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
55
48
58
32
114
103
98
97
40
50
49
44
32
50
49
44
32
51
53
44
32
48
46
55
41
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
56
48
58
32
114
103
98
97
40
50
49
44
32
50
49
44
32
51
53
44
32
48
46
56
41
59
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
57
48
58
32
114
103
98
97
40
50
49
44
32
50
49
44
32
51
53
44
32
48
46
57
41
59
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
58
32
35
70
49
70
51
70
69
59
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
58
32
35
68
48
68
54
70
66
59
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
51
48
48
58
32
35
57
57
65
55
70
53
59
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
52
48
48
58
32
35
54
67
55
69
69
52
59
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
58
32
35
52
69
54
52
68
70
59
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
58
32
35
51
55
52
69
67
68
59
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
55
48
48
58
32
35
50
67
51
48
65
53
59
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
56
48
48
58
32
35
50
49
50
52
55
56
59
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
57
48
48
58
32
35
49
56
49
65
53
51
59
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
45
97
49
48
58
32
114
103
98
97
40
55
56
44
32
49
48
48
44
32
50
50
51
44
32
48
46
49
41
59
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
45
97
50
53
58
32
114
103
98
97
40
55
56
44
32
49
48
48
44
32
50
50
51
44
32
48
46
50
53
41
59
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
45
97
55
48
58
32
114
103
98
97
40
55
56
44
32
49
48
48
44
32
50
50
51
44
32
48
46
55
41
59
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
49
48
48
58
32
35
69
67
70
69
69
67
59
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
50
48
48
58
32
35
68
51
70
68
68
54
59
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
51
48
48
58
32
35
65
51
70
65
65
70
59
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
52
48
48
58
32
35
54
51
69
69
55
70
59
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
58
32
35
50
53
68
52
53
52
59
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
54
48
48
58
32
35
49
68
66
52
52
70
59
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
55
48
48
58
32
35
49
55
56
67
52
54
59
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
56
48
48
58
32
35
48
69
53
56
51
49
59
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
57
48
48
58
32
35
48
57
51
53
50
48
59
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
45
97
49
48
58
32
114
103
98
97
40
51
55
44
32
50
49
50
44
32
56
52
44
32
48
46
49
41
59
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
49
48
48
58
32
35
70
70
70
69
69
66
59
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
50
48
48
58
32
35
70
70
70
56
67
55
59
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
51
48
48
58
32
35
70
69
69
57
57
52
59
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
52
48
48
58
32
35
70
69
68
51
53
68
59
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
53
48
48
58
32
35
70
69
66
50
49
66
59
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
54
48
48
58
32
35
69
69
57
48
48
49
59
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
55
48
48
58
32
35
68
48
54
70
48
49
59
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
56
48
48
58
32
35
57
56
52
55
48
49
59
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
57
48
48
58
32
35
53
54
50
51
48
48
59
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
49
48
48
58
32
35
70
70
70
50
69
66
59
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
50
48
48
58
32
35
70
70
68
68
67
67
59
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
51
48
48
58
32
35
70
70
66
56
57
57
59
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
52
48
48
58
32
35
70
70
56
68
53
67
59
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
53
48
48
58
32
35
70
70
54
57
50
57
59
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
54
48
48
58
32
35
70
53
52
57
48
48
59
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
55
48
48
58
32
35
67
67
51
54
48
48
59
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
56
48
48
58
32
35
56
70
50
54
48
48
59
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
57
48
48
58
32
35
52
68
49
52
48
48
59
45
45
99
111
108
111
114
45
119
104
105
116
101
58
32
35
70
70
70
70
70
70
59
45
45
99
111
108
111
114
45
119
104
105
116
101
45
97
48
52
58
32
114
103
98
97
40
50
53
53
44
32
50
53
53
44
32
50
53
53
44
32
48
46
48
52
41
59
45
45
99
111
108
111
114
45
119
104
105
116
101
45
97
49
48
58
32
114
103
98
97
40
50
53
53
44
32
50
53
53
44
32
50
53
53
44
32
48
46
49
41
59
45
45
99
111
108
111
114
45
119
104
105
116
101
45
97
50
48
58
32
114
103
98
97
40
50
53
53
44
32
50
53
53
44
32
50
53
53
44
32
48
46
50
41
59
45
45
99
111
108
111
114
45
119
104
105
116
101
45
97
52
48
58
32
114
103
98
97
40
50
53
53
44
32
50
53
53
44
32
50
53
53
44
32
48
46
52
41
59
45
45
99
111
108
111
114
45
119
104
105
116
101
45
97
54
48
58
32
114
103
98
97
40
50
53
53
44
32
50
53
53
44
32
50
53
53
44
32
48
46
54
41
59
45
45
99
111
108
111
114
45
119
104
105
116
101
45
97
56
48
58
32
114
103
98
97
40
50
53
53
44
32
50
53
53
44
32
50
53
53
44
32
48
46
56
41
59
45
45
99
111
108
111
114
45
119
104
105
116
101
45
97
57
48
58
32
114
103
98
97
40
50
53
53
44
32
50
53
53
44
32
50
53
53
44
32
48
46
57
41
59
45
45
99
111
108
111
114
45
98
108
97
99
107
58
32
35
48
48
48
48
48
48
59
45
45
99
111
108
111
114
45
108
105
110
107
45
53
48
48
58
32
35
52
69
54
52
68
70
59
45
45
99
111
108
111
114
45
108
105
110
107
45
54
48
48
58
32
35
51
55
52
69
67
68
125
104
116
109
108
44
98
111
100
121
44
100
105
118
44
115
112
97
110
44
97
112
112
108
101
116
44
111
98
106
101
99
116
44
105
102
114
97
109
101
44
104
49
44
104
50
44
104
51
44
104
52
44
104
53
44
104
54
44
112
44
98
108
111
99
107
113
117
111
116
101
44
112
114
101
44
97
44
97
98
98
114
44
97
99
114
111
110
121
109
44
97
100
100
114
101
115
115
44
98
105
103
44
99
105
116
101
44
99
111
100
101
44
100
101
108
44
100
102
110
44
101
109
44
105
109
103
44
105
110
115
44
107
98
100
44
113
44
115
44
115
97
109
112
44
115
109
97
108
108
44
115
116
114
105
107
101
44
115
116
114
111
110
103
44
115
117
98
44
115
117
112
44
116
116
44
118
97
114
44
98
44
117
44
105
44
99
101
110
116
101
114
44
100
108
44
100
116
44
100
100
44
111
108
44
117
108
44
108
105
44
102
105
101
108
100
115
101
116
44
102
111
114
109
44
108
97
98
101
108
44
108
101
103
101
110
100
44
116
97
98
108
101
44
99
97
112
116
105
111
110
44
116
98
111
100
121
44
116
102
111
111
116
44
116
104
101
97
100
44
116
114
44
116
104
44
116
100
44
97
114
116
105
99
108
101
44
97
115
105
100
101
44
99
97
110
118
97
115
44
100
101
116
97
105
108
115
44
101
109
98
101
100
44
102
105
103
117
114
101
44
102
105
103
99
97
112
116
105
111
110
44
102
111
111
116
101
114
44
104
101
97
100
101
114
44
104
103
114
111
117
112
44
109
101
110
117
44
110
97
118
44
111
117
116
112
117
116
44
114
117
98
121
44
115
101
99
116
105
111
110
44
115
117
109
109
97
114
121
44
116
105
109
101
44
109
97
114
107
44
97
117
100
105
111
44
118
105
100
101
111
123
109
97
114
103
105
110
58
48
59
112
97
100
100
105
110
103
58
48
59
98
111
114
100
101
114
58
48
59
102
111
110
116
45
115
105
122
101
58
49
48
48
37
59
102
111
110
116
58
105
110
104
101
114
105
116
59
118
101
114
116
105
99
97
108
45
97
108
105
103
110
58
98
97
115
101
108
105
110
101
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
97
114
116
105
99
108
101
44
97
115
105
100
101
44
100
101
116
97
105
108
115
44
102
105
103
99
97
112
116
105
111
110
44
102
105
103
117
114
101
44
102
111
111
116
101
114
44
104
101
97
100
101
114
44
104
103
114
111
117
112
44
109
101
110
117
44
110
97
118
44
115
101
99
116
105
111
110
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
116
101
120
116
97
114
101
97
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
111
108
44
117
108
123
108
105
115
116
45
115
116
121
108
101
58
110
111
110
101
125
98
108
111
99
107
113
117
111
116
101
44
113
123
113
117
111
116
101
115
58
110
111
110
101
125
98
108
111
99
107
113
117
111
116
101
58
98
101
102
111
114
101
44
98
108
111
99
107
113
117
111
116
101
58
97
102
116
101
114
44
113
58
98
101
102
111
114
101
44
113
58
97
102
116
101
114
123
99
111
110
116
101
110
116
58
39
39
59
99
111
110
116
101
110
116
58
110
111
110
101
125
116
97
98
108
101
123
98
111
114
100
101
114
45
99
111
108
108
97
112
115
101
58
99
111
108
108
97
112
115
101
59
98
111
114
100
101
114
45
115
112
97
99
105
110
103
58
48
125
97
123
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
58
110
111
110
101
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
97
58
97
99
116
105
118
101
44
97
58
102
111
99
117
115
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
111
117
116
108
105
110
101
45
111
102
102
115
101
116
58
50
112
120
125
46
99
97
108
108
111
117
116
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
49
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
52
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
112
97
100
100
105
110
103
58
49
48
112
120
125
46
99
97
108
108
111
117
116
45
45
108
49
123
112
97
100
100
105
110
103
58
49
53
112
120
32
50
48
112
120
125
46
99
97
108
108
111
117
116
45
45
49
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
45
97
49
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
125
46
99
97
108
108
111
117
116
45
45
102
117
108
108
45
119
105
100
116
104
123
119
105
100
116
104
58
49
48
48
37
125
46
98
116
110
123
116
114
97
110
115
105
116
105
111
110
58
97
108
108
32
48
46
49
53
115
32
101
97
115
101
45
105
110
45
111
117
116
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
111
114
100
101
114
58
48
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
59
109
97
114
103
105
110
58
53
112
120
32
48
59
109
97
120
45
119
105
100
116
104
58
49
48
48
37
59
112
97
100
100
105
110
103
58
54
112
120
32
49
50
112
120
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
114
109
97
108
125
46
98
116
110
32
42
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
58
110
111
110
101
125
46
98
116
110
32
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
99
111
108
111
114
58
99
117
114
114
101
110
116
67
111
108
111
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
56
112
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
98
116
110
58
97
99
116
105
118
101
58
102
111
99
117
115
123
111
117
116
108
105
110
101
58
110
111
110
101
125
46
98
116
110
58
97
99
116
105
118
101
44
46
98
116
110
58
102
111
99
117
115
44
46
98
116
110
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
111
117
116
108
105
110
101
45
119
105
100
116
104
58
48
125
46
98
116
110
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
125
46
98
116
110
58
102
111
99
117
115
44
46
98
116
110
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
55
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
125
46
98
116
110
58
102
111
99
117
115
45
118
105
115
105
98
108
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
111
117
116
108
105
110
101
45
119
105
100
116
104
58
53
112
120
59
111
117
116
108
105
110
101
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
98
116
110
91
100
105
115
97
98
108
101
100
93
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
123
98
97
99
107
103
114
111
117
110
100
58
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
51
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
112
97
100
100
105
110
103
58
49
52
112
120
32
51
48
112
120
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
125
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
58
97
99
116
105
118
101
44
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
58
102
111
99
117
115
44
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
58
104
111
118
101
114
123
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
125
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
58
104
111
118
101
114
44
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
46
111
110
44
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
46
115
101
108
101
99
116
101
100
44
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
46
98
116
110
45
45
115
101
108
101
99
116
101
100
44
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
46
98
116
110
45
45
111
110
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
58
97
99
116
105
118
101
44
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
58
102
111
99
117
115
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
125
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
58
102
111
99
117
115
45
118
105
115
105
98
108
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
58
100
105
115
97
98
108
101
100
123
98
97
99
107
103
114
111
117
110
100
58
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
45
45
110
101
117
116
114
97
108
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
112
97
100
100
105
110
103
58
49
50
112
120
32
51
48
112
120
125
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
45
45
110
101
117
116
114
97
108
58
97
99
116
105
118
101
44
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
45
45
110
101
117
116
114
97
108
58
102
111
99
117
115
44
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
45
45
110
101
117
116
114
97
108
58
104
111
118
101
114
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
45
45
100
97
110
103
101
114
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
45
45
100
97
110
103
101
114
58
97
99
116
105
118
101
44
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
45
45
100
97
110
103
101
114
58
102
111
99
117
115
44
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
45
45
100
97
110
103
101
114
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
45
45
100
97
110
103
101
114
58
102
111
99
117
115
45
118
105
115
105
98
108
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
45
111
102
102
123
98
97
99
107
103
114
111
117
110
100
58
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
59
99
111
108
111
114
58
105
110
104
101
114
105
116
125
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
45
111
102
102
58
97
99
116
105
118
101
44
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
45
111
102
102
58
102
111
99
117
115
44
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
45
111
102
102
58
104
111
118
101
114
123
98
111
114
100
101
114
45
99
111
108
111
114
58
105
110
104
101
114
105
116
125
46
98
116
110
45
115
101
103
109
101
110
116
101
100
45
103
114
111
117
112
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
98
116
110
45
115
101
103
109
101
110
116
101
100
45
103
114
111
117
112
32
46
98
116
110
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
125
46
98
116
110
45
115
101
103
109
101
110
116
101
100
45
103
114
111
117
112
32
46
98
116
110
43
46
98
116
110
123
98
111
114
100
101
114
45
108
101
102
116
58
49
112
120
32
115
111
108
105
100
32
116
114
97
110
115
112
97
114
101
110
116
125
46
98
116
110
45
115
101
103
109
101
110
116
101
100
45
103
114
111
117
112
32
46
98
116
110
58
102
105
114
115
116
45
99
104
105
108
100
123
98
111
114
100
101
114
45
98
111
116
116
111
109
45
108
101
102
116
45
114
97
100
105
117
115
58
51
112
120
59
98
111
114
100
101
114
45
116
111
112
45
108
101
102
116
45
114
97
100
105
117
115
58
51
112
120
125
46
98
116
110
45
115
101
103
109
101
110
116
101
100
45
103
114
111
117
112
32
46
98
116
110
58
108
97
115
116
45
99
104
105
108
100
123
98
111
114
100
101
114
45
98
111
116
116
111
109
45
114
105
103
104
116
45
114
97
100
105
117
115
58
51
112
120
59
98
111
114
100
101
114
45
116
111
112
45
114
105
103
104
116
45
114
97
100
105
117
115
58
51
112
120
125
46
98
116
110
45
45
98
105
103
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
49
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
45
119
101
98
107
105
116
45
102
111
110
116
45
118
97
114
105
97
110
116
45
108
105
103
97
116
117
114
101
115
58
110
111
110
101
59
102
111
110
116
45
118
97
114
105
97
110
116
45
108
105
103
97
116
117
114
101
115
58
110
111
110
101
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
57
112
120
59
112
97
100
100
105
110
103
58
49
54
112
120
32
50
52
112
120
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
125
46
98
116
110
45
45
102
117
108
108
45
119
105
100
116
104
123
119
105
100
116
104
58
49
48
48
37
125
46
98
116
110
45
45
108
97
114
103
101
123
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
45
119
101
98
107
105
116
45
102
111
110
116
45
118
97
114
105
97
110
116
45
108
105
103
97
116
117
114
101
115
58
110
111
110
101
59
102
111
110
116
45
118
97
114
105
97
110
116
45
108
105
103
97
116
117
114
101
115
58
110
111
110
101
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
53
112
120
59
112
97
100
100
105
110
103
58
49
53
112
120
32
51
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
54
48
48
112
120
41
123
46
98
116
110
45
45
108
97
114
103
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
125
125
46
98
116
110
45
45
109
101
100
105
117
109
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
112
97
100
100
105
110
103
58
49
50
112
120
32
50
48
112
120
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
54
48
48
112
120
41
123
46
98
116
110
45
45
109
101
100
105
117
109
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
98
116
110
45
45
109
101
100
105
117
109
45
50
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
112
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
112
97
100
100
105
110
103
58
49
56
112
120
32
51
48
112
120
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
99
97
112
105
116
97
108
105
122
101
125
46
98
116
110
45
45
102
98
123
98
97
99
107
103
114
111
117
110
100
58
35
51
98
53
57
57
56
125
46
98
116
110
45
45
102
98
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
58
35
52
99
55
48
98
97
125
46
98
116
110
45
45
102
98
58
102
111
99
117
115
44
46
98
116
110
45
45
102
98
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
58
35
50
100
52
51
55
51
125
46
98
116
110
45
45
103
114
101
101
110
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
125
46
98
116
110
45
45
103
114
101
101
110
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
54
48
48
41
125
46
98
116
110
45
45
103
114
101
101
110
58
102
111
99
117
115
44
46
98
116
110
45
45
103
114
101
101
110
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
54
48
48
41
125
46
98
116
110
45
45
103
114
101
101
110
58
102
111
99
117
115
45
118
105
115
105
98
108
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
98
116
110
45
45
103
114
101
101
110
45
112
97
115
116
101
108
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
125
46
98
116
110
45
45
103
114
101
101
110
45
112
97
115
116
101
108
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
54
48
48
41
125
46
98
116
110
45
45
103
114
101
101
110
45
112
97
115
116
101
108
58
102
111
99
117
115
44
46
98
116
110
45
45
103
114
101
101
110
45
112
97
115
116
101
108
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
54
48
48
41
125
46
98
116
110
45
45
103
114
101
101
110
45
112
97
115
116
101
108
58
102
111
99
117
115
45
118
105
115
105
98
108
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
98
116
110
45
45
114
101
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
98
116
110
45
45
114
101
100
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
52
48
48
41
125
46
98
116
110
45
45
114
101
100
58
102
111
99
117
115
44
46
98
116
110
45
45
114
101
100
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
98
116
110
45
45
114
101
100
58
102
111
99
117
115
45
118
105
115
105
98
108
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
98
116
110
45
45
116
114
97
110
115
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
45
97
50
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
98
116
110
45
45
116
114
97
110
115
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
45
97
49
48
41
125
46
98
116
110
45
45
116
114
97
110
115
58
102
111
99
117
115
44
46
98
116
110
45
45
116
114
97
110
115
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
45
97
50
48
41
125
46
98
116
110
45
45
116
114
97
110
115
58
102
111
99
117
115
45
118
105
115
105
98
108
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
98
116
110
45
45
121
101
108
108
111
119
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
98
116
110
45
45
121
101
108
108
111
119
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
51
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
98
116
110
45
45
121
101
108
108
111
119
58
102
111
99
117
115
44
46
98
116
110
45
45
121
101
108
108
111
119
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
51
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
98
116
110
45
45
121
101
108
108
111
119
58
102
111
99
117
115
45
118
105
115
105
98
108
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
98
116
110
45
45
103
114
101
121
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
98
116
110
45
45
103
114
101
121
46
98
116
110
45
45
98
105
103
58
104
111
118
101
114
44
46
98
116
110
45
45
103
114
101
121
46
98
116
110
45
45
98
105
103
58
102
111
99
117
115
44
46
98
116
110
45
45
103
114
101
121
46
98
116
110
45
45
98
105
103
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
99
117
114
115
111
114
58
97
117
116
111
125
46
98
116
110
45
45
103
114
101
121
58
102
111
99
117
115
45
118
105
115
105
98
108
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
98
116
110
45
45
119
104
105
116
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
98
116
110
45
45
119
104
105
116
101
58
104
111
118
101
114
44
46
98
116
110
45
45
119
104
105
116
101
58
102
111
99
117
115
44
46
98
116
110
45
45
119
104
105
116
101
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
59
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
98
116
110
45
45
119
104
105
116
101
58
104
111
118
101
114
62
46
98
116
110
95
95
99
111
110
116
101
110
116
45
45
97
114
114
111
119
44
46
98
116
110
45
45
119
104
105
116
101
58
102
111
99
117
115
62
46
98
116
110
95
95
99
111
110
116
101
110
116
45
45
97
114
114
111
119
44
46
98
116
110
45
45
119
104
105
116
101
58
97
99
116
105
118
101
62
46
98
116
110
95
95
99
111
110
116
101
110
116
45
45
97
114
114
111
119
123
111
112
97
99
105
116
121
58
46
55
53
125
46
98
116
110
45
45
119
104
105
116
101
32
46
108
101
102
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
109
97
114
103
105
110
45
108
101
102
116
58
55
112
120
125
46
98
116
110
45
45
119
104
105
116
101
62
46
98
116
110
95
95
99
111
110
116
101
110
116
45
45
97
114
114
111
119
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
111
112
97
99
105
116
121
58
49
125
46
98
116
110
45
45
119
104
105
116
101
58
102
111
99
117
115
45
118
105
115
105
98
108
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
98
116
110
45
45
98
108
97
99
107
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
98
116
110
45
45
98
108
97
99
107
58
104
111
118
101
114
44
46
98
116
110
45
45
98
108
97
99
107
58
102
111
99
117
115
44
46
98
116
110
45
45
98
108
97
99
107
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
98
116
110
45
45
112
101
114
105
119
105
110
107
108
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
125
46
98
116
110
45
45
112
101
114
105
119
105
110
107
108
101
58
104
111
118
101
114
44
46
98
116
110
45
45
112
101
114
105
119
105
110
107
108
101
58
102
111
99
117
115
44
46
98
116
110
45
45
112
101
114
105
119
105
110
107
108
101
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
98
116
110
45
45
102
117
108
108
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
112
97
100
100
105
110
103
45
108
101
102
116
58
48
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
48
59
119
105
100
116
104
58
49
48
48
37
125
46
98
116
110
45
45
110
111
45
115
112
97
99
101
123
109
97
114
103
105
110
58
48
125
46
98
116
110
45
45
100
105
115
97
98
108
101
100
123
99
117
114
115
111
114
58
110
111
116
45
97
108
108
111
119
101
100
59
102
105
108
116
101
114
58
97
108
112
104
97
40
111
112
97
99
105
116
121
61
53
48
41
59
111
112
97
99
105
116
121
58
46
53
48
59
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
125
46
98
116
110
45
45
99
97
109
101
108
99
97
115
101
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
125
46
98
116
110
45
45
99
97
112
105
116
97
108
105
122
101
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
99
97
112
105
116
97
108
105
122
101
125
46
98
116
110
45
45
117
110
99
108
105
99
107
97
98
108
101
123
99
117
114
115
111
114
58
110
111
116
45
97
108
108
111
119
101
100
59
102
105
108
116
101
114
58
97
108
112
104
97
40
111
112
97
99
105
116
121
61
53
48
41
59
111
112
97
99
105
116
121
58
46
53
48
59
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
59
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
110
111
110
101
125
46
98
116
110
45
45
99
116
97
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
108
105
110
101
45
104
101
105
103
104
116
58
50
52
112
120
125
46
98
116
110
45
45
99
116
97
46
116
112
45
98
116
110
45
45
105
99
111
110
123
112
97
100
100
105
110
103
58
48
125
46
98
116
110
45
45
99
116
97
32
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
98
116
110
45
45
99
116
97
45
45
111
110
45
108
105
103
104
116
32
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
98
116
110
45
45
99
116
97
45
45
111
110
45
108
105
103
104
116
32
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
58
104
111
118
101
114
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
98
116
110
45
45
99
116
97
45
45
111
110
45
108
105
103
104
116
32
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
58
97
99
116
105
118
101
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
125
46
98
116
110
45
45
99
116
97
45
45
111
110
45
100
97
114
107
32
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
52
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
98
116
110
45
45
99
116
97
45
45
111
110
45
100
97
114
107
32
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
58
104
111
118
101
114
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
98
116
110
45
45
99
116
97
45
45
111
110
45
100
97
114
107
32
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
58
97
99
116
105
118
101
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
102
111
114
109
45
102
105
101
108
100
45
109
111
99
107
45
101
100
105
116
97
98
108
101
123
98
111
114
100
101
114
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
112
97
100
100
105
110
103
58
49
48
112
120
59
109
97
114
103
105
110
45
116
111
112
58
53
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
53
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
125
46
102
111
114
109
45
102
105
101
108
100
45
109
111
99
107
45
101
100
105
116
97
98
108
101
32
105
110
112
117
116
123
109
97
114
103
105
110
45
108
101
102
116
58
53
112
120
125
46
102
111
114
109
45
102
105
101
108
100
45
105
99
111
110
45
119
114
97
112
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
102
111
114
109
45
102
105
101
108
100
45
105
99
111
110
45
119
114
97
112
32
46
105
99
111
110
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
108
101
102
116
58
55
112
120
59
104
101
105
103
104
116
58
49
48
48
37
59
112
97
100
100
105
110
103
45
116
111
112
58
49
46
53
112
120
59
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
110
111
110
101
125
46
102
111
114
109
45
102
105
101
108
100
45
105
99
111
110
45
119
114
97
112
32
46
102
111
114
109
95
95
99
111
110
116
114
111
108
123
112
97
100
100
105
110
103
45
108
101
102
116
58
50
53
112
120
125
46
102
111
114
109
95
95
97
108
101
114
116
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
108
101
102
116
58
53
112
120
125
46
108
97
98
101
108
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
55
112
120
125
46
108
97
98
101
108
45
45
104
101
97
118
121
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
46
108
97
98
101
108
45
45
110
111
45
115
123
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
108
97
98
101
108
45
45
110
111
45
115
45
116
123
109
97
114
103
105
110
45
116
111
112
58
48
125
46
108
97
98
101
108
45
45
110
111
45
115
45
98
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
105
110
112
117
116
46
114
97
100
105
111
45
98
117
116
116
111
110
91
116
121
112
101
61
39
114
97
100
105
111
39
93
123
109
97
114
103
105
110
58
48
32
54
112
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
125
46
114
97
100
105
111
45
98
117
116
116
111
110
45
119
114
97
112
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
115
101
108
101
99
116
123
45
119
101
98
107
105
116
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
45
109
111
122
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
125
46
115
101
108
101
99
116
95
95
119
114
97
112
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
115
101
108
101
99
116
95
95
119
114
97
112
58
97
102
116
101
114
123
99
111
110
116
101
110
116
58
39
39
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
119
105
100
116
104
58
48
59
104
101
105
103
104
116
58
48
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
114
105
103
104
116
58
49
48
112
120
59
116
111
112
58
99
97
108
99
40
40
51
56
112
120
32
45
32
54
112
120
41
32
47
32
50
41
59
98
111
114
100
101
114
45
116
111
112
58
54
112
120
32
115
111
108
105
100
32
35
48
48
48
59
98
111
114
100
101
114
45
108
101
102
116
58
54
112
120
32
115
111
108
105
100
32
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
45
114
105
103
104
116
58
54
112
120
32
115
111
108
105
100
32
116
114
97
110
115
112
97
114
101
110
116
59
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
110
111
110
101
125
46
115
101
108
101
99
116
95
95
119
114
97
112
32
46
115
101
108
101
99
116
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
115
101
108
101
99
116
95
95
119
114
97
112
46
119
105
100
101
123
119
105
100
116
104
58
50
53
48
112
120
125
46
115
101
108
101
99
116
95
95
119
114
97
112
46
115
108
105
109
123
119
105
100
116
104
58
53
48
37
125
46
115
101
108
101
99
116
95
95
119
114
97
112
45
45
100
97
114
107
58
58
97
102
116
101
114
123
98
111
114
100
101
114
45
116
111
112
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
115
101
108
101
99
116
95
95
119
114
97
112
45
45
100
97
114
107
32
46
115
101
108
101
99
116
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
115
101
108
101
99
116
95
95
119
114
97
112
45
45
102
117
108
108
45
119
105
100
116
104
123
109
97
120
45
119
105
100
116
104
58
110
111
110
101
125
46
115
101
108
101
99
116
95
95
119
114
97
112
45
45
105
110
108
105
110
101
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
119
105
100
116
104
58
97
117
116
111
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
116
101
120
116
97
114
101
97
44
46
116
101
120
116
97
114
101
97
46
102
111
114
109
45
99
111
110
116
114
111
108
44
46
116
101
120
116
97
114
101
97
46
102
111
114
109
95
95
99
111
110
116
114
111
108
123
104
101
105
103
104
116
58
99
97
108
99
40
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
32
42
32
52
32
42
32
49
46
52
50
56
53
55
49
52
51
41
59
114
101
115
105
122
101
58
110
111
110
101
125
46
116
101
120
116
97
114
101
97
46
116
101
120
116
97
114
101
97
45
45
108
49
44
46
116
101
120
116
97
114
101
97
46
102
111
114
109
45
99
111
110
116
114
111
108
46
116
101
120
116
97
114
101
97
45
45
108
49
44
46
116
101
120
116
97
114
101
97
46
102
111
114
109
95
95
99
111
110
116
114
111
108
46
116
101
120
116
97
114
101
97
45
45
108
49
123
104
101
105
103
104
116
58
99
97
108
99
40
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
32
42
32
54
32
42
32
49
46
52
50
56
53
55
49
52
51
41
125
46
116
101
120
116
97
114
101
97
46
102
111
114
109
95
95
99
111
110
116
114
111
108
45
45
102
105
116
45
99
111
110
116
101
110
116
123
104
101
105
103
104
116
58
45
119
101
98
107
105
116
45
102
105
116
45
99
111
110
116
101
110
116
59
104
101
105
103
104
116
58
45
109
111
122
45
102
105
116
45
99
111
110
116
101
110
116
59
104
101
105
103
104
116
58
102
105
116
45
99
111
110
116
101
110
116
59
109
105
110
45
104
101
105
103
104
116
58
99
97
108
99
40
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
32
42
32
52
32
42
32
49
46
52
50
56
53
55
49
52
51
41
125
46
116
101
120
116
97
114
101
97
46
102
111
114
109
95
95
99
111
110
116
114
111
108
45
45
116
97
108
108
123
104
101
105
103
104
116
58
49
54
57
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
125
58
58
45
119
101
98
107
105
116
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
125
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
125
58
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
125
58
58
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
51
55
52
112
120
41
123
58
58
45
119
101
98
107
105
116
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
58
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
58
58
112
108
97
99
101
104
111
108
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
125
105
110
112
117
116
91
114
101
97
100
111
110
108
121
61
39
114
101
97
100
111
110
108
121
39
93
44
105
110
112
117
116
46
114
101
97
100
111
110
108
121
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
99
117
114
115
111
114
58
110
111
116
45
97
108
108
111
119
101
100
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
114
101
97
100
111
110
108
121
95
95
119
114
97
112
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
114
101
97
100
111
110
108
121
95
95
119
114
97
112
32
46
116
101
101
112
117
98
108
105
99
111
110
123
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
110
111
110
101
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
114
105
103
104
116
58
49
53
112
120
59
116
111
112
58
99
97
108
99
40
40
49
48
48
37
32
45
32
49
54
112
120
41
32
47
32
50
41
125
105
110
112
117
116
46
99
111
112
105
101
100
123
116
114
97
110
115
105
116
105
111
110
58
48
46
50
115
125
105
110
112
117
116
46
99
111
112
105
101
100
46
115
117
99
99
101
115
115
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
99
111
108
111
114
58
119
104
105
116
101
59
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
125
105
110
112
117
116
46
99
111
112
105
101
100
46
115
117
99
99
101
115
115
58
58
45
109
111
122
45
115
101
108
101
99
116
105
111
110
123
98
97
99
107
103
114
111
117
110
100
58
116
114
97
110
115
112
97
114
101
110
116
125
105
110
112
117
116
46
99
111
112
105
101
100
46
115
117
99
99
101
115
115
58
58
115
101
108
101
99
116
105
111
110
123
98
97
99
107
103
114
111
117
110
100
58
116
114
97
110
115
112
97
114
101
110
116
125
46
104
114
123
104
101
105
103
104
116
58
49
112
120
59
119
105
100
116
104
58
49
48
48
37
59
109
97
114
103
105
110
58
50
48
112
120
32
97
117
116
111
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
114
100
101
114
58
110
111
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
54
48
48
112
120
41
123
46
104
114
123
109
97
114
103
105
110
58
51
48
112
120
32
97
117
116
111
125
125
46
104
114
45
45
104
101
97
118
121
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
104
101
105
103
104
116
58
50
112
120
125
46
104
114
45
45
108
105
103
104
116
45
49
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
104
114
45
45
110
111
45
115
123
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
104
114
45
45
115
49
123
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
46
104
114
45
45
115
50
123
109
97
114
103
105
110
45
116
111
112
58
49
48
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
125
46
104
114
45
45
115
107
105
110
110
121
123
119
105
100
116
104
58
49
52
54
112
120
125
46
108
105
110
107
123
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
108
105
110
107
32
42
123
99
111
108
111
114
58
105
110
104
101
114
105
116
125
46
108
105
110
107
45
45
49
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
108
105
110
107
45
53
48
48
41
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
108
105
110
107
45
45
49
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
108
105
110
107
45
54
48
48
41
125
46
108
105
110
107
45
45
50
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
108
105
110
107
45
45
50
58
104
111
118
101
114
44
46
108
105
110
107
45
45
50
58
102
111
99
117
115
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
108
105
110
107
45
53
48
48
41
125
46
108
105
110
107
45
45
115
109
97
108
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
46
108
105
110
107
45
45
109
101
100
105
117
109
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
125
46
108
105
110
107
45
45
100
101
102
97
117
108
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
46
108
105
110
107
45
45
116
114
97
99
107
97
98
108
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
108
105
110
107
45
45
116
114
97
99
107
97
98
108
101
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
108
105
110
107
45
45
99
101
110
116
101
114
44
46
108
105
110
107
45
45
110
97
118
45
99
108
111
115
101
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
119
105
100
116
104
58
49
48
48
37
125
46
108
105
110
107
45
45
100
97
110
103
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
108
105
110
107
45
45
100
97
110
103
101
114
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
54
48
48
41
125
46
108
105
110
107
45
45
100
97
114
107
45
98
97
99
107
103
114
111
117
110
100
58
102
111
99
117
115
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
108
105
110
107
45
45
100
97
114
107
45
98
97
99
107
103
114
111
117
110
100
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
108
105
110
107
45
45
115
49
44
46
108
105
110
107
45
45
110
97
118
45
99
108
111
115
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
46
108
105
110
107
45
45
115
116
114
111
110
103
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
125
46
108
105
110
107
45
45
119
104
105
116
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
108
105
110
107
45
45
119
104
105
116
101
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
108
105
110
107
45
45
116
101
108
44
97
91
104
114
101
102
94
61
39
116
101
108
39
93
123
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
125
46
108
105
110
107
45
45
110
97
118
45
99
108
111
115
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
108
105
110
107
45
45
115
117
98
116
108
101
123
99
111
108
111
114
58
105
110
104
101
114
105
116
125
46
108
105
110
107
45
45
115
117
98
116
108
101
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
108
105
110
107
45
98
116
110
123
98
97
99
107
103
114
111
117
110
100
58
110
111
110
101
59
98
111
114
100
101
114
58
110
111
110
101
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
108
105
110
107
45
53
48
48
41
59
112
97
100
100
105
110
103
45
116
111
112
58
50
48
112
120
125
46
108
105
110
107
45
98
116
110
45
115
109
97
108
108
123
98
97
99
107
103
114
111
117
110
100
58
110
111
110
101
59
98
111
114
100
101
114
58
110
111
110
101
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
108
105
110
107
45
53
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
59
112
97
100
100
105
110
103
58
48
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
46
118
99
45
112
105
108
108
46
108
105
110
107
45
98
116
110
45
45
101
120
116
101
114
110
97
108
45
108
105
110
107
123
112
97
100
100
105
110
103
58
56
112
120
32
49
54
112
120
32
56
112
120
32
49
54
112
120
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
103
97
112
58
56
112
120
59
109
97
114
103
105
110
58
53
112
120
32
48
125
46
118
99
45
112
105
108
108
46
108
105
110
107
45
98
116
110
45
45
101
120
116
101
114
110
97
108
45
108
105
110
107
58
104
111
118
101
114
32
112
97
116
104
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
108
105
115
116
123
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
49
53
112
120
125
46
108
105
115
116
32
108
105
123
109
97
114
103
105
110
45
116
111
112
58
53
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
53
112
120
125
46
108
105
115
116
45
45
111
108
123
108
105
115
116
45
115
116
121
108
101
58
100
101
99
105
109
97
108
59
108
105
115
116
45
115
116
121
108
101
45
112
111
115
105
116
105
111
110
58
105
110
115
105
100
101
125
46
108
105
115
116
45
45
117
108
123
108
105
115
116
45
115
116
121
108
101
58
100
105
115
99
59
108
105
115
116
45
115
116
121
108
101
45
112
111
115
105
116
105
111
110
58
105
110
115
105
100
101
59
109
97
114
103
105
110
45
116
111
112
58
49
101
109
125
46
108
105
115
116
45
45
115
45
108
49
32
108
105
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
48
112
120
125
46
108
105
115
116
45
45
115
45
108
50
32
108
105
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
125
46
108
105
115
116
45
99
111
109
109
97
123
108
105
115
116
45
115
116
121
108
101
58
110
111
110
101
125
46
108
105
115
116
45
99
111
109
109
97
32
108
105
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
125
46
108
105
115
116
45
99
111
109
109
97
32
108
105
58
97
102
116
101
114
123
99
111
110
116
101
110
116
58
39
44
32
39
125
46
108
105
115
116
45
99
111
109
109
97
32
108
105
58
108
97
115
116
45
99
104
105
108
100
58
97
102
116
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
59
99
111
110
116
101
110
116
58
39
39
125
46
108
105
115
116
45
100
108
123
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
53
112
120
125
46
108
105
115
116
45
100
108
32
100
100
123
100
105
115
112
108
97
121
58
110
111
110
101
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
125
46
108
105
115
116
45
100
108
32
100
116
123
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
111
114
100
101
114
45
116
111
112
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
112
97
100
100
105
110
103
45
116
111
112
58
49
48
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
48
112
120
125
46
108
105
115
116
45
100
108
32
100
116
58
102
105
114
115
116
45
99
104
105
108
100
123
98
111
114
100
101
114
45
116
111
112
58
110
111
110
101
59
112
97
100
100
105
110
103
45
116
111
112
58
48
125
46
108
105
115
116
45
100
108
32
100
116
46
97
99
116
105
118
101
43
100
100
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
108
105
115
116
45
108
105
110
107
115
32
108
105
123
109
97
114
103
105
110
45
116
111
112
58
53
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
53
112
120
125
46
111
118
101
114
108
97
121
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
48
59
114
105
103
104
116
58
48
59
98
111
116
116
111
109
58
48
59
108
101
102
116
58
48
125
46
111
118
101
114
108
97
121
45
45
100
97
114
107
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
55
48
41
125
46
111
118
101
114
108
97
121
45
117
105
123
112
111
115
105
116
105
111
110
58
102
105
120
101
100
59
116
111
112
58
48
59
114
105
103
104
116
58
48
59
98
111
116
116
111
109
58
48
59
108
101
102
116
58
48
59
100
105
115
112
108
97
121
58
110
111
110
101
59
122
45
105
110
100
101
120
58
45
49
125
46
111
118
101
114
108
97
121
45
117
105
46
97
99
116
105
118
101
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
122
45
105
110
100
101
120
58
55
53
125
46
104
95
95
104
101
97
100
101
114
44
46
104
95
95
104
52
44
46
104
95
95
104
52
45
45
108
111
117
100
44
46
104
95
95
104
51
45
45
115
101
99
111
110
100
97
114
121
45
45
115
109
44
46
104
95
95
104
51
45
45
112
114
105
109
97
114
121
45
45
115
109
44
46
104
95
95
104
51
44
46
104
95
95
104
51
45
45
108
111
117
100
44
46
104
95
95
104
50
45
45
115
101
99
111
110
100
97
114
121
44
46
104
95
95
104
50
44
46
104
95
95
104
50
45
45
115
109
44
46
104
95
95
104
50
45
45
108
111
117
100
44
46
104
95
95
104
49
45
45
115
109
44
46
104
95
95
104
49
44
46
104
95
95
104
49
45
45
108
111
117
100
44
46
104
95
95
104
49
45
45
104
101
114
111
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
59
45
119
101
98
107
105
116
45
102
111
110
116
45
118
97
114
105
97
110
116
45
108
105
103
97
116
117
114
101
115
58
110
111
110
101
59
102
111
110
116
45
118
97
114
105
97
110
116
45
108
105
103
97
116
117
114
101
115
58
110
111
110
101
59
108
101
116
116
101
114
45
115
112
97
99
105
110
103
58
48
59
108
105
110
101
45
104
101
105
103
104
116
58
49
59
109
97
114
103
105
110
58
48
32
48
32
49
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
104
95
95
104
101
97
100
101
114
44
46
104
95
95
104
52
44
46
104
95
95
104
52
45
45
108
111
117
100
44
46
104
95
95
104
51
45
45
115
101
99
111
110
100
97
114
121
45
45
115
109
44
46
104
95
95
104
51
45
45
112
114
105
109
97
114
121
45
45
115
109
44
46
104
95
95
104
51
44
46
104
95
95
104
51
45
45
108
111
117
100
44
46
104
95
95
104
50
45
45
115
101
99
111
110
100
97
114
121
44
46
104
95
95
104
50
44
46
104
95
95
104
50
45
45
115
109
44
46
104
95
95
104
50
45
45
108
111
117
100
44
46
104
95
95
104
49
45
45
115
109
44
46
104
95
95
104
49
44
46
104
95
95
104
49
45
45
108
111
117
100
44
46
104
95
95
104
49
45
45
104
101
114
111
123
108
105
110
101
45
104
101
105
103
104
116
58
49
46
49
53
101
109
125
125
46
104
95
95
104
49
44
46
104
95
95
104
49
45
45
108
111
117
100
44
46
104
95
95
104
49
45
45
104
101
114
111
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
104
95
95
104
49
44
46
104
95
95
104
49
45
45
108
111
117
100
44
46
104
95
95
104
49
45
45
104
101
114
111
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
49
48
48
41
125
125
46
104
95
95
104
49
45
45
108
111
117
100
44
46
104
95
95
104
49
45
45
104
101
114
111
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
125
46
104
95
95
104
49
45
45
104
101
114
111
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
104
95
95
104
49
45
45
104
101
114
111
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
120
108
97
114
103
101
45
51
48
48
41
125
125
46
104
95
95
104
49
45
45
115
109
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
104
95
95
104
49
45
45
115
109
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
104
95
95
104
50
44
46
104
95
95
104
50
45
45
115
109
44
46
104
95
95
104
50
45
45
108
111
117
100
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
104
95
95
104
50
44
46
104
95
95
104
50
45
45
115
109
44
46
104
95
95
104
50
45
45
108
111
117
100
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
104
95
95
104
50
45
45
115
101
99
111
110
100
97
114
121
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
104
95
95
104
50
45
45
115
101
99
111
110
100
97
114
121
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
104
95
95
104
50
45
45
108
111
117
100
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
125
46
104
95
95
104
50
45
45
115
109
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
46
104
95
95
104
51
44
46
104
95
95
104
51
45
45
108
111
117
100
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
50
52
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
104
95
95
104
51
44
46
104
95
95
104
51
45
45
108
111
117
100
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
125
125
46
104
95
95
104
51
45
45
115
101
99
111
110
100
97
114
121
45
45
115
109
44
46
104
95
95
104
51
45
45
112
114
105
109
97
114
121
45
45
115
109
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
46
104
95
95
104
51
45
45
112
114
105
109
97
114
121
45
45
115
109
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
125
46
104
95
95
104
52
44
46
104
95
95
104
52
45
45
108
111
117
100
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
46
104
45
45
98
114
105
103
104
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
104
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
50
125
46
104
45
45
49
44
46
104
45
45
49
97
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
125
46
104
45
45
49
97
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
99
97
112
105
116
97
108
105
122
101
125
46
104
45
45
50
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
125
46
104
45
45
50
97
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
99
97
112
105
116
97
108
105
122
101
125
46
104
45
45
50
98
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
125
46
104
45
45
50
99
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
125
46
104
45
45
51
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
99
97
112
105
116
97
108
105
122
101
59
102
111
110
116
45
119
101
105
103
104
116
58
110
111
114
109
97
108
125
46
104
45
45
51
97
44
46
104
45
45
51
97
45
45
108
111
117
100
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
99
97
112
105
116
97
108
105
122
101
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
125
46
104
45
45
51
97
45
45
108
111
117
100
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
125
46
104
45
45
51
98
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
125
46
104
45
45
51
99
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
125
46
104
45
45
51
100
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
125
46
104
45
45
52
44
46
104
45
45
52
97
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
104
45
45
52
97
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
99
97
112
105
116
97
108
105
122
101
125
46
104
45
45
53
44
46
104
45
45
54
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
99
97
112
105
116
97
108
105
122
101
125
46
104
45
45
53
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
104
45
45
54
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
104
45
45
105
99
111
110
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
119
105
100
116
104
58
49
48
48
37
125
46
104
45
45
105
99
111
110
32
46
105
99
111
110
123
102
111
110
116
45
115
105
122
101
58
105
110
104
101
114
105
116
59
119
105
100
116
104
58
97
117
116
111
125
46
104
45
45
105
99
111
110
32
115
112
97
110
123
109
97
114
103
105
110
45
108
101
102
116
58
49
53
112
120
125
46
104
45
45
115
123
109
97
114
103
105
110
45
116
111
112
58
49
48
112
120
125
46
104
45
45
110
111
45
115
123
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
104
45
45
110
111
45
115
45
98
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
104
45
45
110
111
45
115
45
116
123
109
97
114
103
105
110
45
116
111
112
58
48
125
46
104
45
45
110
111
45
116
114
97
110
115
102
111
114
109
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
125
104
49
44
104
50
44
104
51
44
104
52
44
104
53
123
45
119
101
98
107
105
116
45
102
111
110
116
45
118
97
114
105
97
110
116
45
108
105
103
97
116
117
114
101
115
58
110
111
110
101
59
102
111
110
116
45
118
97
114
105
97
110
116
45
108
105
103
97
116
117
114
101
115
58
110
111
110
101
59
108
101
116
116
101
114
45
115
112
97
99
105
110
103
58
48
59
108
105
110
101
45
104
101
105
103
104
116
58
49
59
109
97
114
103
105
110
58
48
59
112
97
100
100
105
110
103
58
48
125
104
49
46
99
101
110
116
101
114
101
100
44
104
50
46
99
101
110
116
101
114
101
100
44
104
51
46
99
101
110
116
101
114
101
100
44
104
52
46
99
101
110
116
101
114
101
100
44
104
53
46
99
101
110
116
101
114
101
100
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
104
49
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
49
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
55
112
120
125
104
49
46
98
111
114
100
101
114
101
100
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
51
112
120
32
115
111
108
105
100
32
35
57
101
57
101
57
101
125
104
50
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
59
109
97
114
103
105
110
58
50
48
112
120
32
48
32
49
48
112
120
125
104
51
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
109
97
114
103
105
110
58
49
56
112
120
32
48
32
49
49
112
120
125
104
51
46
98
111
114
100
101
114
101
100
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
53
112
120
125
104
52
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
59
109
97
114
103
105
110
45
116
111
112
58
49
57
112
120
125
104
53
123
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
125
97
44
115
112
97
110
46
97
123
116
114
97
110
115
105
116
105
111
110
58
97
108
108
32
48
46
49
115
32
101
97
115
101
45
105
110
45
111
117
116
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
108
105
110
107
45
53
48
48
41
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
97
58
102
111
99
117
115
44
115
112
97
110
46
97
58
102
111
99
117
115
123
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
58
110
111
110
101
125
97
58
104
111
118
101
114
44
115
112
97
110
46
97
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
59
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
58
110
111
110
101
125
46
98
108
117
101
32
97
44
46
98
108
117
101
32
115
112
97
110
46
97
123
99
111
108
111
114
58
119
104
105
116
101
125
97
46
119
104
105
116
101
44
115
112
97
110
46
97
46
119
104
105
116
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
101
120
116
45
101
108
108
105
112
115
105
115
123
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
116
101
120
116
45
111
118
101
114
102
108
111
119
58
101
108
108
105
112
115
105
115
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
125
46
103
114
101
121
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
125
112
123
108
105
110
101
45
104
101
105
103
104
116
58
110
111
114
109
97
108
125
115
116
114
111
110
103
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
64
109
101
100
105
97
32
115
99
114
101
101
110
32
97
110
100
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
98
105
103
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
50
48
48
41
125
125
98
111
100
121
46
110
111
45
115
99
114
111
108
108
123
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
119
105
100
116
104
58
49
48
48
37
59
104
101
105
103
104
116
58
49
48
48
37
125
98
111
100
121
46
109
111
100
97
108
45
98
108
111
99
107
95
95
110
111
45
115
99
114
111
108
108
123
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
125
46
119
114
97
112
45
112
97
100
100
105
110
103
123
112
97
100
100
105
110
103
58
49
48
112
120
125
46
98
111
100
121
45
45
111
110
45
100
97
114
107
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
98
111
100
121
45
45
111
110
45
112
101
114
105
119
105
110
107
108
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
98
111
100
121
45
45
111
110
45
97
100
109
105
110
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
70
57
70
56
70
51
125
46
98
111
100
121
45
45
111
110
45
119
104
105
116
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
99
101
110
116
101
114
45
104
123
109
97
114
103
105
110
45
108
101
102
116
58
97
117
116
111
59
109
97
114
103
105
110
45
114
105
103
104
116
58
97
117
116
111
125
46
99
111
110
116
97
105
110
123
109
97
114
103
105
110
45
108
101
102
116
58
97
117
116
111
59
109
97
114
103
105
110
45
114
105
103
104
116
58
97
117
116
111
59
109
97
120
45
119
105
100
116
104
58
49
48
51
48
112
120
59
112
97
100
100
105
110
103
45
108
101
102
116
58
49
53
112
120
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
49
53
112
120
59
119
105
100
116
104
58
49
48
48
37
125
46
109
45
104
101
97
100
101
114
43
46
99
111
110
116
97
105
110
123
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
104
101
97
100
101
114
43
46
99
111
110
116
97
105
110
123
109
97
114
103
105
110
45
116
111
112
58
52
48
112
120
125
125
46
99
111
110
116
97
105
110
45
45
110
97
114
114
111
119
45
49
123
109
97
120
45
119
105
100
116
104
58
56
51
48
112
120
125
46
99
111
110
116
97
105
110
45
45
110
97
114
114
111
119
45
50
123
109
97
120
45
119
105
100
116
104
58
55
51
48
112
120
125
46
99
111
110
116
97
105
110
45
45
110
97
114
114
111
119
45
51
123
109
97
120
45
119
105
100
116
104
58
54
51
48
112
120
125
46
99
111
110
116
97
105
110
45
45
110
97
114
114
111
119
45
52
123
109
97
120
45
119
105
100
116
104
58
52
48
48
112
120
125
46
99
111
110
116
97
105
110
45
45
110
111
45
112
97
100
100
105
110
103
123
112
97
100
100
105
110
103
45
108
101
102
116
58
48
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
48
125
46
99
111
110
116
97
105
110
45
45
119
105
100
101
45
49
123
109
97
120
45
119
105
100
116
104
58
49
50
48
48
112
120
125
46
99
111
110
116
97
105
110
45
45
119
105
100
101
45
50
123
109
97
120
45
119
105
100
116
104
58
49
52
49
53
112
120
125
46
99
111
110
116
97
105
110
45
45
119
105
100
101
45
51
123
109
97
120
45
119
105
100
116
104
58
49
50
54
48
112
120
125
46
99
111
110
116
97
105
110
101
114
95
95
115
112
97
99
101
45
45
100
101
102
97
117
108
116
123
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
53
112
120
41
123
46
99
111
110
116
97
105
110
101
114
95
95
115
112
97
99
101
45
45
100
101
102
97
117
108
116
123
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
125
46
102
108
101
120
45
102
105
120
123
104
101
105
103
104
116
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
109
97
105
110
45
119
114
97
112
112
101
114
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
109
105
110
45
104
101
105
103
104
116
58
57
48
118
104
125
46
111
118
101
114
102
108
111
119
45
104
105
100
100
101
110
123
111
118
101
114
102
108
111
119
45
120
58
104
105
100
100
101
110
125
46
115
101
99
116
105
111
110
43
46
115
101
99
116
105
111
110
123
109
97
114
103
105
110
45
116
111
112
58
52
48
112
120
125
46
115
101
99
116
105
111
110
95
95
115
117
98
123
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
53
112
120
41
123
46
115
112
108
105
116
45
100
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
53
112
120
41
123
46
115
112
108
105
116
45
100
95
95
115
101
99
116
105
111
110
123
45
119
101
98
107
105
116
45
102
108
101
120
45
98
97
115
105
115
58
53
48
37
59
102
108
101
120
45
98
97
115
105
115
58
53
48
37
59
109
97
114
103
105
110
45
114
105
103
104
116
58
50
53
112
120
125
46
115
112
108
105
116
45
100
95
95
115
101
99
116
105
111
110
58
108
97
115
116
45
99
104
105
108
100
123
109
97
114
103
105
110
45
114
105
103
104
116
58
48
125
46
115
112
108
105
116
45
100
95
95
115
101
99
116
105
111
110
32
46
115
112
108
105
116
45
100
95
95
99
111
110
116
101
110
116
123
109
97
114
103
105
110
45
116
111
112
58
48
125
125
46
115
113
117
97
114
101
123
104
101
105
103
104
116
58
48
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
48
48
37
125
46
115
113
117
101
101
122
101
45
116
98
123
109
97
114
103
105
110
45
116
111
112
58
45
49
48
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
45
49
48
112
120
125
46
119
114
97
112
112
101
114
123
109
97
114
103
105
110
45
105
110
108
105
110
101
58
97
117
116
111
59
119
105
100
116
104
58
49
48
48
37
59
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
52
56
48
112
120
41
123
46
119
114
97
112
112
101
114
123
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
50
52
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
119
114
97
112
112
101
114
123
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
52
56
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
119
114
97
112
112
101
114
123
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
54
52
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
119
114
97
112
112
101
114
123
109
97
120
45
119
105
100
116
104
58
49
52
52
48
112
120
59
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
56
48
112
120
125
125
46
119
114
97
112
112
101
114
46
119
114
97
112
112
101
114
45
119
105
100
101
123
109
97
120
45
119
105
100
116
104
58
110
111
110
101
125
64
99
111
110
116
97
105
110
101
114
32
115
116
111
114
101
102
114
111
110
116
32
40
109
105
110
45
119
105
100
116
104
58
32
52
56
48
112
120
41
123
46
119
114
97
112
112
101
114
123
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
50
52
112
120
125
125
64
99
111
110
116
97
105
110
101
114
32
115
116
111
114
101
102
114
111
110
116
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
119
114
97
112
112
101
114
123
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
52
56
112
120
125
125
64
99
111
110
116
97
105
110
101
114
32
115
116
111
114
101
102
114
111
110
116
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
119
114
97
112
112
101
114
123
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
54
52
112
120
125
125
64
99
111
110
116
97
105
110
101
114
32
115
116
111
114
101
102
114
111
110
116
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
119
114
97
112
112
101
114
123
109
97
120
45
119
105
100
116
104
58
49
52
52
48
112
120
59
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
56
48
112
120
125
125
46
100
101
115
105
103
110
45
116
105
108
101
115
45
119
114
97
112
112
101
114
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
50
44
32
49
102
114
41
59
103
114
105
100
45
103
97
112
58
52
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
100
101
115
105
103
110
45
116
105
108
101
115
45
119
114
97
112
112
101
114
123
103
114
105
100
45
103
97
112
58
49
54
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
100
101
115
105
103
110
45
116
105
108
101
115
45
119
114
97
112
112
101
114
123
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
52
44
32
49
102
114
41
125
125
46
115
112
97
110
95
95
99
111
109
109
97
58
97
102
116
101
114
123
99
111
110
116
101
110
116
58
39
44
39
59
102
111
110
116
45
119
101
105
103
104
116
58
110
111
114
109
97
108
125
46
115
112
97
110
95
95
110
111
114
109
97
108
123
102
111
110
116
45
119
101
105
103
104
116
58
110
111
114
109
97
108
125
46
105
116
97
108
105
99
105
122
101
123
102
111
110
116
45
115
116
121
108
101
58
105
116
97
108
105
99
125
46
115
116
114
111
110
103
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
46
115
116
114
111
110
103
45
45
115
116
97
114
116
58
97
102
116
101
114
123
99
111
110
116
101
110
116
58
39
58
39
125
46
117
112
112
101
114
99
97
115
101
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
125
46
116
101
120
116
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
116
101
120
116
32
112
43
112
44
46
116
101
120
116
32
46
116
101
120
116
45
98
108
111
99
107
43
46
116
101
120
116
45
98
108
111
99
107
44
46
116
101
120
116
32
46
116
101
120
116
45
98
108
111
99
107
43
112
44
46
116
101
120
116
32
112
43
46
116
101
120
116
45
98
108
111
99
107
123
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
125
46
116
101
120
116
45
98
108
111
99
107
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
116
101
120
116
45
98
108
111
99
107
32
112
44
46
116
101
120
116
45
98
108
111
99
107
32
46
116
101
120
116
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
46
116
101
120
116
45
99
101
110
116
101
114
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
109
97
114
103
105
110
45
108
101
102
116
58
97
117
116
111
59
109
97
114
103
105
110
45
114
105
103
104
116
58
97
117
116
111
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
116
101
120
116
45
99
111
110
116
97
105
110
123
109
97
120
45
119
105
100
116
104
58
53
55
53
112
120
125
46
116
101
120
116
45
99
111
110
116
97
105
110
45
115
49
123
109
97
120
45
119
105
100
116
104
58
52
55
53
112
120
125
46
116
101
120
116
45
99
111
110
116
97
105
110
45
108
49
123
109
97
120
45
119
105
100
116
104
58
54
49
48
112
120
125
46
116
101
120
116
45
104
101
105
103
104
116
123
108
105
110
101
45
104
101
105
103
104
116
58
49
46
53
125
46
116
101
120
116
45
104
101
105
103
104
116
32
112
44
46
116
101
120
116
45
104
101
105
103
104
116
32
46
116
101
120
116
123
108
105
110
101
45
104
101
105
103
104
116
58
49
46
53
125
46
116
101
120
116
45
107
101
101
112
45
108
105
110
101
123
119
104
105
116
101
45
115
112
97
99
101
58
112
114
101
45
108
105
110
101
125
46
116
101
120
116
45
107
101
101
112
45
115
112
97
99
101
123
119
104
105
116
101
45
115
112
97
99
101
58
112
114
101
45
119
114
97
112
125
46
116
101
120
116
45
108
105
103
104
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
116
101
120
116
45
108
105
103
104
116
45
49
44
46
109
45
115
101
97
114
99
104
95
95
116
114
97
105
108
45
45
108
116
44
46
116
101
120
116
45
110
111
116
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
116
101
120
116
45
119
104
105
116
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
101
120
116
45
100
97
114
107
45
51
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
116
101
120
116
45
115
116
114
105
107
101
123
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
58
108
105
110
101
45
116
104
114
111
117
103
104
125
46
116
101
120
116
45
110
111
116
101
123
109
97
114
103
105
110
45
116
111
112
58
53
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
53
112
120
125
46
116
101
120
116
45
110
111
116
101
45
45
115
109
97
108
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
46
116
101
120
116
45
110
111
116
101
45
45
109
111
98
105
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
116
101
120
116
45
110
111
116
101
45
45
109
111
98
105
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
116
101
120
116
45
110
111
116
101
45
45
116
105
110
121
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
125
46
116
101
120
116
45
110
111
116
101
45
45
119
97
114
110
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
49
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
52
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
48
112
120
59
112
97
100
100
105
110
103
58
50
48
112
120
125
46
116
101
120
116
45
110
111
116
101
45
50
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
116
101
120
116
45
97
108
105
103
110
58
114
105
103
104
116
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
125
46
116
101
120
116
45
110
111
116
101
45
50
58
97
102
116
101
114
123
98
111
116
116
111
109
58
48
59
99
111
110
116
101
110
116
58
39
58
39
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
114
105
103
104
116
58
45
52
112
120
125
46
116
101
120
116
45
110
111
116
101
45
50
45
45
108
101
102
116
123
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
46
116
101
120
116
45
110
111
116
101
45
50
45
45
108
101
102
116
58
97
102
116
101
114
123
109
97
114
103
105
110
45
108
101
102
116
58
45
50
112
120
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
114
105
103
104
116
58
48
125
46
116
101
120
116
45
114
101
100
44
46
116
101
120
116
45
101
114
114
111
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
116
101
120
116
45
115
109
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
125
46
116
101
120
116
45
115
109
45
45
49
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
116
101
120
116
45
115
109
45
45
49
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
125
46
116
101
120
116
45
115
117
99
99
101
115
115
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
125
46
116
101
120
116
45
109
111
110
105
101
115
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
125
46
116
101
120
116
45
119
114
97
112
123
119
111
114
100
45
119
114
97
112
58
98
114
101
97
107
45
119
111
114
100
125
46
116
101
120
116
45
110
111
116
101
45
45
115
112
97
99
101
123
109
97
114
103
105
110
58
49
48
112
120
32
48
125
46
116
101
120
116
45
110
111
116
101
45
45
115
112
97
99
101
45
115
109
123
109
97
114
103
105
110
58
53
112
120
32
48
125
46
116
101
120
116
45
110
111
116
101
45
45
115
112
97
99
101
45
108
103
123
109
97
114
103
105
110
58
49
50
112
120
32
48
125
46
116
101
120
116
45
110
111
116
101
45
45
110
111
45
115
112
97
99
101
123
109
97
114
103
105
110
58
48
125
46
104
105
100
100
101
110
123
100
105
115
112
108
97
121
58
110
111
110
101
32
33
105
109
112
111
114
116
97
110
116
125
46
104
105
100
101
45
105
102
45
111
102
102
46
111
102
102
123
100
105
115
112
108
97
121
58
110
111
110
101
32
33
105
109
112
111
114
116
97
110
116
125
46
115
101
108
101
99
116
45
97
108
108
123
45
119
101
98
107
105
116
45
117
115
101
114
45
115
101
108
101
99
116
58
97
108
108
59
45
109
111
122
45
117
115
101
114
45
115
101
108
101
99
116
58
97
108
108
59
45
109
115
45
117
115
101
114
45
115
101
108
101
99
116
58
97
108
108
59
117
115
101
114
45
115
101
108
101
99
116
58
97
108
108
125
46
117
105
45
116
111
103
103
108
101
46
111
102
102
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
97
118
97
116
97
114
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
48
37
125
46
105
109
97
103
101
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
109
97
120
45
119
105
100
116
104
58
49
48
48
37
59
109
97
114
103
105
110
45
116
111
112
58
49
48
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
125
46
105
109
97
103
101
45
114
101
115
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
109
97
120
45
119
105
100
116
104
58
49
48
48
37
59
109
97
120
45
104
101
105
103
104
116
58
49
48
48
37
125
46
110
111
116
105
102
121
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
110
111
116
105
102
121
58
98
101
102
111
114
101
123
99
111
110
116
101
110
116
58
39
39
59
98
97
99
107
103
114
111
117
110
100
58
35
98
53
51
57
51
51
59
119
105
100
116
104
58
49
54
112
120
59
104
101
105
103
104
116
58
49
54
112
120
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
48
37
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
45
56
112
120
59
114
105
103
104
116
58
45
56
112
120
125
46
116
111
117
99
104
97
98
108
101
123
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
117
45
104
105
100
101
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
117
105
45
115
111
114
116
97
98
108
101
45
104
97
110
100
108
101
123
116
111
117
99
104
45
97
99
116
105
111
110
58
110
111
110
101
125
35
116
101
101
112
117
98
108
105
99
32
35
99
111
110
116
101
110
116
123
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
53
112
120
125
35
116
101
101
112
117
98
108
105
99
46
108
97
110
100
105
110
103
45
112
97
103
101
32
35
99
111
110
116
101
110
116
123
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
48
125
35
116
101
101
112
117
98
108
105
99
46
115
104
105
112
109
101
110
116
45
116
114
97
99
107
105
110
103
45
112
97
103
101
32
35
99
111
110
116
101
110
116
123
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
48
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
35
116
101
101
112
117
98
108
105
99
46
115
104
105
112
109
101
110
116
45
116
114
97
99
107
105
110
103
45
112
97
103
101
32
46
109
97
105
110
45
119
114
97
112
112
101
114
123
109
105
110
45
104
101
105
103
104
116
58
97
117
116
111
125
104
116
109
108
123
102
111
110
116
45
115
105
122
101
58
54
50
46
53
37
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
125
98
111
100
121
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
42
123
98
111
120
45
115
105
122
105
110
103
58
98
111
114
100
101
114
45
98
111
120
125
104
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
57
101
57
101
57
101
59
104
101
105
103
104
116
58
49
112
120
59
109
97
114
103
105
110
58
51
48
112
120
32
48
125
112
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
98
123
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
125
64
115
117
112
112
111
114
116
115
32
40
45
119
101
98
107
105
116
45
97
112
112
101
97
114
97
110
99
101
58
32
45
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
41
123
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
119
105
116
104
45
116
101
120
116
44
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
112
108
97
105
110
123
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
45
119
101
98
107
105
116
45
97
112
112
101
97
114
97
110
99
101
58
45
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
125
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
119
105
116
104
45
116
101
120
116
123
45
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
116
121
112
101
58
98
117
121
125
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
112
108
97
105
110
123
45
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
116
121
112
101
58
112
108
97
105
110
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
125
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
119
105
116
104
45
116
101
120
116
62
42
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
98
108
97
99
107
45
119
105
116
104
45
116
101
120
116
123
45
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
115
116
121
108
101
58
98
108
97
99
107
125
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
119
104
105
116
101
45
119
105
116
104
45
116
101
120
116
123
45
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
115
116
121
108
101
58
119
104
105
116
101
125
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
119
104
105
116
101
45
119
105
116
104
45
108
105
110
101
45
119
105
116
104
45
116
101
120
116
123
45
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
115
116
121
108
101
58
119
104
105
116
101
45
111
117
116
108
105
110
101
125
125
64
115
117
112
112
111
114
116
115
32
110
111
116
32
40
45
119
101
98
107
105
116
45
97
112
112
101
97
114
97
110
99
101
58
32
45
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
41
123
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
119
105
116
104
45
116
101
120
116
123
45
45
97
112
112
108
101
45
112
97
121
45
115
99
97
108
101
58
32
49
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
105
110
108
105
110
101
45
102
108
101
120
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
112
120
59
112
97
100
100
105
110
103
58
48
112
120
59
98
111
120
45
115
105
122
105
110
103
58
98
111
114
100
101
114
45
98
111
120
59
109
105
110
45
119
105
100
116
104
58
50
48
48
112
120
59
109
105
110
45
104
101
105
103
104
116
58
51
50
112
120
59
109
97
120
45
104
101
105
103
104
116
58
54
52
112
120
125
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
98
108
97
99
107
45
119
105
116
104
45
116
101
120
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
98
108
97
99
107
59
99
111
108
111
114
58
119
104
105
116
101
125
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
119
104
105
116
101
45
119
105
116
104
45
116
101
120
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
119
104
105
116
101
59
99
111
108
111
114
58
98
108
97
99
107
125
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
119
104
105
116
101
45
119
105
116
104
45
108
105
110
101
45
119
105
116
104
45
116
101
120
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
119
104
105
116
101
59
99
111
108
111
114
58
98
108
97
99
107
59
98
111
114
100
101
114
58
46
53
112
120
32
115
111
108
105
100
32
98
108
97
99
107
125
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
119
105
116
104
45
116
101
120
116
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
98
108
97
99
107
45
119
105
116
104
45
116
101
120
116
62
46
108
111
103
111
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
45
119
101
98
107
105
116
45
110
97
109
101
100
45
105
109
97
103
101
40
97
112
112
108
101
45
112
97
121
45
108
111
103
111
45
119
104
105
116
101
41
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
98
108
97
99
107
125
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
119
105
116
104
45
116
101
120
116
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
119
104
105
116
101
45
119
105
116
104
45
116
101
120
116
62
46
108
111
103
111
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
45
119
101
98
107
105
116
45
110
97
109
101
100
45
105
109
97
103
101
40
97
112
112
108
101
45
112
97
121
45
108
111
103
111
45
98
108
97
99
107
41
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
119
104
105
116
101
125
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
119
105
116
104
45
116
101
120
116
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
119
104
105
116
101
45
119
105
116
104
45
108
105
110
101
45
119
105
116
104
45
116
101
120
116
62
46
108
111
103
111
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
45
119
101
98
107
105
116
45
110
97
109
101
100
45
105
109
97
103
101
40
97
112
112
108
101
45
112
97
121
45
108
111
103
111
45
98
108
97
99
107
41
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
119
104
105
116
101
125
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
119
105
116
104
45
116
101
120
116
62
46
116
101
120
116
123
102
111
110
116
45
102
97
109
105
108
121
58
45
97
112
112
108
101
45
115
121
115
116
101
109
59
102
111
110
116
45
115
105
122
101
58
99
97
108
99
40
49
101
109
32
42
32
118
97
114
40
45
45
97
112
112
108
101
45
112
97
121
45
115
99
97
108
101
41
41
59
102
111
110
116
45
119
101
105
103
104
116
58
51
48
48
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
115
101
108
102
58
99
101
110
116
101
114
59
97
108
105
103
110
45
115
101
108
102
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
114
105
103
104
116
58
99
97
108
99
40
50
112
120
32
42
32
118
97
114
40
45
45
97
112
112
108
101
45
112
97
121
45
115
99
97
108
101
41
41
125
46
97
112
112
108
101
45
112
97
121
45
98
117
116
116
111
110
45
119
105
116
104
45
116
101
120
116
62
46
108
111
103
111
123
119
105
100
116
104
58
99
97
108
99
40
51
53
112
120
32
42
32
118
97
114
40
45
45
115
99
97
108
101
41
41
59
104
101
105
103
104
116
58
49
48
48
37
59
98
97
99
107
103
114
111
117
110
100
45
115
105
122
101
58
49
48
48
37
32
54
48
37
59
98
97
99
107
103
114
111
117
110
100
45
114
101
112
101
97
116
58
110
111
45
114
101
112
101
97
116
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
32
53
48
37
59
109
97
114
103
105
110
45
108
101
102
116
58
99
97
108
99
40
50
112
120
32
42
32
118
97
114
40
45
45
97
112
112
108
101
45
112
97
121
45
115
99
97
108
101
41
41
59
98
111
114
100
101
114
58
110
111
110
101
125
125
46
103
108
105
100
101
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
119
105
100
116
104
58
49
48
48
37
59
98
111
120
45
115
105
122
105
110
103
58
98
111
114
100
101
114
45
98
111
120
125
46
103
108
105
100
101
32
42
123
98
111
120
45
115
105
122
105
110
103
58
105
110
104
101
114
105
116
125
46
103
108
105
100
101
95
95
116
114
97
99
107
123
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
125
46
103
108
105
100
101
95
95
115
108
105
100
101
115
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
119
105
100
116
104
58
49
48
48
37
59
108
105
115
116
45
115
116
121
108
101
58
110
111
110
101
59
45
119
101
98
107
105
116
45
98
97
99
107
102
97
99
101
45
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
59
98
97
99
107
102
97
99
101
45
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
45
115
116
121
108
101
58
112
114
101
115
101
114
118
101
45
51
100
59
116
114
97
110
115
102
111
114
109
45
115
116
121
108
101
58
112
114
101
115
101
114
118
101
45
51
100
59
116
111
117
99
104
45
97
99
116
105
111
110
58
112
97
110
45
89
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
109
97
114
103
105
110
58
48
59
112
97
100
100
105
110
103
58
48
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
119
105
108
108
45
99
104
97
110
103
101
58
116
114
97
110
115
102
111
114
109
125
46
103
108
105
100
101
95
95
115
108
105
100
101
115
45
45
100
114
97
103
103
105
110
103
123
45
119
101
98
107
105
116
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
109
111
122
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
109
115
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
125
46
103
108
105
100
101
95
95
115
108
105
100
101
123
119
105
100
116
104
58
49
48
48
37
59
104
101
105
103
104
116
58
49
48
48
37
59
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
114
109
97
108
59
45
119
101
98
107
105
116
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
109
111
122
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
109
115
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
119
101
98
107
105
116
45
116
111
117
99
104
45
99
97
108
108
111
117
116
58
110
111
110
101
59
45
119
101
98
107
105
116
45
116
97
112
45
104
105
103
104
108
105
103
104
116
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
46
103
108
105
100
101
95
95
115
108
105
100
101
32
97
123
45
119
101
98
107
105
116
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
119
101
98
107
105
116
45
117
115
101
114
45
100
114
97
103
58
110
111
110
101
59
45
109
111
122
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
109
115
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
125
46
103
108
105
100
101
95
95
97
114
114
111
119
115
123
45
119
101
98
107
105
116
45
116
111
117
99
104
45
99
97
108
108
111
117
116
58
110
111
110
101
59
45
119
101
98
107
105
116
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
109
111
122
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
109
115
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
125
46
103
108
105
100
101
95
95
98
117
108
108
101
116
115
123
45
119
101
98
107
105
116
45
116
111
117
99
104
45
99
97
108
108
111
117
116
58
110
111
110
101
59
45
119
101
98
107
105
116
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
109
111
122
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
109
115
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
125
46
103
108
105
100
101
45
45
114
116
108
123
100
105
114
101
99
116
105
111
110
58
114
116
108
125
46
103
108
105
100
101
123
104
101
105
103
104
116
58
49
48
48
37
125
46
103
108
105
100
101
95
95
116
114
97
99
107
123
104
101
105
103
104
116
58
49
48
48
37
125
46
103
108
105
100
101
95
95
115
108
105
100
101
115
123
104
101
105
103
104
116
58
49
48
48
37
125
46
103
108
105
100
101
95
95
97
114
114
111
119
45
45
100
105
115
97
98
108
101
100
123
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
46
111
110
45
111
102
102
123
119
105
100
116
104
58
54
54
112
120
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
111
110
45
111
102
102
32
115
112
97
110
123
104
101
105
103
104
116
58
51
48
112
120
59
119
105
100
116
104
58
54
52
112
120
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
117
112
108
111
97
100
101
114
47
117
112
108
111
97
100
101
114
45
116
111
103
103
108
101
45
100
57
51
51
97
98
101
50
51
55
54
50
52
52
101
102
100
49
51
57
52
50
99
57
100
102
55
101
57
49
52
48
98
98
97
100
51
56
102
100
50
102
57
57
57
51
100
49
48
100
51
50
99
101
52
54
51
56
49
56
50
99
100
100
46
112
110
103
34
41
125
64
109
101
100
105
97
32
40
45
119
101
98
107
105
116
45
109
105
110
45
100
101
118
105
99
101
45
112
105
120
101
108
45
114
97
116
105
111
58
32
50
41
44
40
109
105
110
45
114
101
115
111
108
117
116
105
111
110
58
32
49
57
50
100
112
105
41
123
46
111
110
45
111
102
102
32
115
112
97
110
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
117
112
108
111
97
100
101
114
47
117
112
108
111
97
100
101
114
45
116
111
103
103
108
101
45
50
120
45
57
49
56
50
102
101
53
54
54
51
48
52
101
101
52
49
100
57
51
101
57
99
51
56
49
99
99
100
99
100
50
97
102
100
101
52
102
49
100
56
98
101
53
100
53
98
56
57
99
51
52
98
57
101
102
49
57
57
48
54
51
50
57
54
46
112
110
103
34
41
59
98
97
99
107
103
114
111
117
110
100
45
115
105
122
101
58
49
51
48
112
120
32
51
48
112
120
125
125
46
111
110
45
111
102
102
32
115
112
97
110
46
100
105
115
97
98
108
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
54
54
112
120
32
48
112
120
125
46
111
110
101
45
111
110
101
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
111
110
101
45
111
110
101
58
98
101
102
111
114
101
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
99
111
110
116
101
110
116
58
34
34
59
119
105
100
116
104
58
49
48
48
37
59
112
97
100
100
105
110
103
45
116
111
112
58
49
48
48
37
125
46
111
110
101
45
111
110
101
62
46
99
111
110
116
101
110
116
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
48
59
108
101
102
116
58
48
59
114
105
103
104
116
58
48
59
98
111
116
116
111
109
58
48
125
46
111
110
101
45
111
110
101
32
105
109
103
123
119
105
100
116
104
58
49
48
48
37
125
46
98
111
108
100
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
46
104
105
100
100
101
110
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
120
58
97
102
116
101
114
123
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
102
111
110
116
45
115
105
122
101
58
48
59
99
111
110
116
101
110
116
58
34
32
34
59
99
108
101
97
114
58
98
111
116
104
59
104
101
105
103
104
116
58
48
125
42
32
104
116
109
108
32
46
120
123
104
101
105
103
104
116
58
49
37
125
42
58
102
105
114
115
116
45
99
104
105
108
100
43
104
116
109
108
32
46
120
123
109
105
110
45
104
101
105
103
104
116
58
49
112
120
125
46
108
105
110
101
123
98
111
114
100
101
114
45
116
111
112
58
49
112
120
32
115
111
108
105
100
32
35
57
101
57
101
57
101
59
119
105
100
116
104
58
49
48
48
37
125
46
110
111
45
106
115
45
119
97
114
110
105
110
103
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
35
115
105
116
101
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
105
102
114
97
109
101
91
110
97
109
101
61
34
103
111
111
103
108
101
95
99
111
110
118
101
114
115
105
111
110
95
102
114
97
109
101
34
93
123
112
111
115
105
116
105
111
110
58
102
105
120
101
100
125
97
98
98
114
91
116
105
116
108
101
93
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
110
111
110
101
125
46
122
45
100
101
112
116
104
45
48
123
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
32
33
105
109
112
111
114
116
97
110
116
125
46
122
45
100
101
112
116
104
45
49
123
98
111
120
45
115
104
97
100
111
119
58
48
32
50
112
120
32
50
112
120
32
48
32
114
103
98
97
40
48
44
48
44
48
44
48
46
49
52
41
44
48
32
49
112
120
32
53
112
120
32
48
32
114
103
98
97
40
48
44
48
44
48
44
48
46
49
50
41
44
48
32
51
112
120
32
49
112
120
32
45
50
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
50
41
125
46
122
45
100
101
112
116
104
45
49
45
104
97
108
102
123
98
111
120
45
115
104
97
100
111
119
58
48
32
51
112
120
32
51
112
120
32
48
32
114
103
98
97
40
48
44
48
44
48
44
48
46
49
52
41
44
48
32
49
112
120
32
55
112
120
32
48
32
114
103
98
97
40
48
44
48
44
48
44
48
46
49
50
41
44
48
32
51
112
120
32
49
112
120
32
45
49
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
50
41
125
46
122
45
100
101
112
116
104
45
50
123
98
111
120
45
115
104
97
100
111
119
58
48
32
52
112
120
32
53
112
120
32
48
32
114
103
98
97
40
48
44
48
44
48
44
48
46
49
52
41
44
48
32
49
112
120
32
49
48
112
120
32
48
32
114
103
98
97
40
48
44
48
44
48
44
48
46
49
50
41
44
48
32
50
112
120
32
52
112
120
32
45
49
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
51
41
125
46
122
45
100
101
112
116
104
45
51
123
98
111
120
45
115
104
97
100
111
119
58
48
32
54
112
120
32
49
48
112
120
32
48
32
114
103
98
97
40
48
44
48
44
48
44
48
46
49
52
41
44
48
32
49
112
120
32
49
56
112
120
32
48
32
114
103
98
97
40
48
44
48
44
48
44
48
46
49
50
41
44
48
32
51
112
120
32
53
112
120
32
45
49
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
51
41
125
46
122
45
100
101
112
116
104
45
52
44
46
109
116
114
108
45
109
111
100
97
108
123
98
111
120
45
115
104
97
100
111
119
58
48
32
56
112
120
32
49
48
112
120
32
49
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
49
52
41
44
48
32
51
112
120
32
49
52
112
120
32
50
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
49
50
41
44
48
32
53
112
120
32
53
112
120
32
45
51
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
51
41
125
46
122
45
100
101
112
116
104
45
53
123
98
111
120
45
115
104
97
100
111
119
58
48
32
49
54
112
120
32
50
52
112
120
32
50
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
49
52
41
44
48
32
54
112
120
32
51
48
112
120
32
53
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
49
50
41
44
48
32
56
112
120
32
49
48
112
120
32
45
53
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
51
41
125
46
100
105
115
112
108
97
121
45
116
97
98
108
101
123
119
105
100
116
104
58
49
48
48
37
59
104
101
105
103
104
116
58
49
48
48
37
59
100
105
115
112
108
97
121
58
116
97
98
108
101
125
46
100
105
115
112
108
97
121
45
116
97
98
108
101
32
46
100
105
115
112
108
97
121
45
116
97
98
108
101
45
99
101
108
108
123
100
105
115
112
108
97
121
58
116
97
98
108
101
45
99
101
108
108
59
119
105
100
116
104
58
49
48
48
37
59
104
101
105
103
104
116
58
49
48
48
37
59
118
101
114
116
105
99
97
108
45
97
108
105
103
110
58
109
105
100
100
108
101
125
46
99
101
110
116
101
114
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
99
101
110
116
101
114
62
42
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
125
46
108
101
102
116
123
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
46
117
110
100
101
114
108
105
110
101
123
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
58
117
110
100
101
114
108
105
110
101
125
46
114
111
119
45
102
108
101
120
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
125
46
114
111
119
45
102
108
101
120
62
42
123
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
49
59
102
108
101
120
45
103
114
111
119
58
49
125
46
98
111
114
100
101
114
101
100
45
104
101
97
100
101
114
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
53
112
120
32
115
111
108
105
100
32
35
57
101
57
101
57
101
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
53
112
120
59
109
97
114
103
105
110
45
116
111
112
58
51
48
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
46
98
111
114
100
101
114
101
100
45
104
101
97
100
101
114
32
104
51
123
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
125
64
109
101
100
105
97
32
115
99
114
101
101
110
32
97
110
100
32
40
109
97
120
45
119
105
100
116
104
58
32
52
56
48
112
120
41
123
46
98
111
114
100
101
114
101
100
45
104
101
97
100
101
114
123
109
97
114
103
105
110
45
116
111
112
58
49
56
112
120
125
125
46
100
101
118
45
109
111
100
101
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
112
97
100
100
105
110
103
58
49
48
112
120
32
48
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
125
46
100
101
118
45
109
111
100
101
32
46
105
116
101
109
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
112
97
100
100
105
110
103
58
48
32
53
112
120
125
46
100
101
118
45
109
111
100
101
32
97
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
58
117
110
100
101
114
108
105
110
101
125
46
103
114
105
100
95
104
101
97
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
59
98
111
114
100
101
114
45
116
111
112
58
49
112
120
32
115
111
108
105
100
32
35
57
101
57
101
57
101
59
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
59
112
97
100
100
105
110
103
45
116
111
112
58
50
48
112
120
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
125
46
100
101
115
105
103
110
45
98
108
111
99
107
123
109
97
114
103
105
110
45
116
111
112
58
51
48
112
120
125
46
100
101
115
105
103
110
45
98
108
111
99
107
32
46
116
104
117
109
98
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
100
101
115
105
103
110
45
98
108
111
99
107
32
46
116
104
117
109
98
45
99
111
110
116
97
105
110
101
114
32
46
116
104
117
109
98
123
119
105
100
116
104
58
49
48
48
37
59
109
97
120
45
119
105
100
116
104
58
50
54
48
112
120
125
46
100
101
115
105
103
110
45
98
108
111
99
107
32
46
105
110
102
111
45
116
101
120
116
123
112
97
100
100
105
110
103
58
49
48
112
120
32
48
112
120
32
50
53
112
120
32
48
112
120
125
46
100
101
115
105
103
110
45
98
108
111
99
107
32
46
105
110
102
111
45
116
101
120
116
32
46
100
101
115
105
103
110
101
114
45
105
110
102
111
123
109
97
114
103
105
110
45
116
111
112
58
48
112
120
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
116
101
120
116
45
111
118
101
114
102
108
111
119
58
101
108
108
105
112
115
105
115
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
125
46
100
101
115
105
103
110
45
98
108
111
99
107
32
46
105
110
102
111
45
116
101
120
116
32
46
116
105
116
108
101
123
112
97
100
100
105
110
103
45
114
105
103
104
116
58
56
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
112
120
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
116
101
120
116
45
111
118
101
114
102
108
111
119
58
101
108
108
105
112
115
105
115
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
125
64
109
101
100
105
97
32
115
99
114
101
101
110
32
97
110
100
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
112
114
111
100
117
99
116
45
103
114
105
100
32
46
105
110
102
111
45
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
125
125
64
109
101
100
105
97
32
115
99
114
101
101
110
32
97
110
100
32
40
109
97
120
45
119
105
100
116
104
58
32
52
56
48
112
120
41
123
46
100
101
115
105
103
110
45
98
108
111
99
107
123
109
97
114
103
105
110
45
116
111
112
58
49
55
112
120
125
46
100
101
115
105
103
110
45
98
108
111
99
107
32
46
105
110
102
111
45
116
101
120
116
123
112
97
100
100
105
110
103
45
116
111
112
58
57
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
50
48
112
120
125
46
100
101
115
105
103
110
45
98
108
111
99
107
32
46
105
110
102
111
45
116
101
120
116
32
46
116
105
116
108
101
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
51
112
120
125
125
35
116
101
101
112
117
98
108
105
99
32
35
99
111
110
116
101
110
116
32
46
97
100
109
105
110
45
116
111
111
108
115
123
109
97
114
103
105
110
45
116
111
112
58
49
52
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
122
45
105
110
100
101
120
58
53
125
35
99
111
110
116
101
110
116
62
46
99
111
110
116
97
105
110
123
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
35
99
111
110
116
101
110
116
62
46
99
111
110
116
97
105
110
123
109
97
114
103
105
110
45
116
111
112
58
52
48
112
120
125
125
35
99
111
110
116
101
110
116
62
46
99
111
110
116
97
105
110
46
112
97
103
101
45
99
111
110
116
101
110
116
123
109
97
114
103
105
110
45
116
111
112
58
51
50
112
120
125
46
117
112
99
97
115
101
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
125
46
101
108
108
105
112
123
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
116
101
120
116
45
111
118
101
114
102
108
111
119
58
101
108
108
105
112
115
105
115
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
109
97
120
45
119
105
100
116
104
58
51
49
55
112
120
125
46
101
108
108
105
112
45
108
105
110
101
45
104
101
105
103
104
116
123
108
105
110
101
45
104
101
105
103
104
116
58
49
46
49
125
46
104
101
97
100
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
35
99
99
99
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
125
46
115
112
108
105
116
123
112
97
100
100
105
110
103
58
48
32
49
48
112
120
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
46
115
112
108
105
116
32
46
108
101
102
116
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
119
105
100
116
104
58
53
48
37
59
102
108
111
97
116
58
108
101
102
116
125
46
115
112
108
105
116
32
46
114
105
103
104
116
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
119
105
100
116
104
58
52
56
37
59
102
108
111
97
116
58
114
105
103
104
116
125
46
108
101
102
116
123
102
108
111
97
116
58
108
101
102
116
125
46
114
105
103
104
116
123
102
108
111
97
116
58
114
105
103
104
116
125
46
111
118
101
114
102
108
111
119
123
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
125
46
104
105
100
100
101
110
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
99
108
101
97
114
123
99
108
101
97
114
58
98
111
116
104
32
33
105
109
112
111
114
116
97
110
116
59
102
111
110
116
45
115
105
122
101
58
48
32
33
105
109
112
111
114
116
97
110
116
59
104
101
105
103
104
116
58
48
32
33
105
109
112
111
114
116
97
110
116
59
108
105
110
101
45
104
101
105
103
104
116
58
48
32
33
105
109
112
111
114
116
97
110
116
59
109
97
114
103
105
110
58
48
32
33
105
109
112
111
114
116
97
110
116
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
32
33
105
109
112
111
114
116
97
110
116
59
112
97
100
100
105
110
103
58
48
32
33
105
109
112
111
114
116
97
110
116
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
32
33
105
109
112
111
114
116
97
110
116
59
102
108
111
97
116
58
110
111
110
101
32
33
105
109
112
111
114
116
97
110
116
125
46
101
114
114
111
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
98
97
115
101
45
119
101
105
103
104
116
123
102
111
110
116
45
119
101
105
103
104
116
58
110
111
114
109
97
108
32
33
105
109
112
111
114
116
97
110
116
125
64
109
101
100
105
97
32
115
99
114
101
101
110
32
97
110
100
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
102
97
107
101
45
99
111
110
116
97
105
110
101
114
123
119
105
100
116
104
58
49
48
48
37
59
112
97
100
100
105
110
103
58
48
112
120
125
125
104
116
109
108
32
46
99
97
114
101
116
123
98
111
114
100
101
114
45
114
105
103
104
116
58
54
112
120
32
115
111
108
105
100
32
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
45
108
101
102
116
58
54
112
120
32
115
111
108
105
100
32
116
114
97
110
115
112
97
114
101
110
116
125
105
110
112
117
116
123
98
111
120
45
115
104
97
100
111
119
58
48
125
46
102
111
114
109
45
105
110
108
105
110
101
32
46
102
111
114
109
45
99
111
110
116
114
111
108
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
125
46
102
111
114
109
45
103
114
111
117
112
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
49
112
120
125
108
97
98
101
108
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
53
112
120
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
108
97
98
101
108
46
102
111
114
109
45
105
110
108
105
110
101
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
125
64
109
101
100
105
97
32
115
99
114
101
101
110
32
97
110
100
32
40
109
97
120
45
119
105
100
116
104
58
32
52
56
48
112
120
41
123
108
97
98
101
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
116
101
120
116
97
114
101
97
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
50
112
120
125
105
110
112
117
116
91
116
121
112
101
61
34
99
104
101
99
107
98
111
120
34
93
123
45
119
101
98
107
105
116
45
97
112
112
101
97
114
97
110
99
101
58
99
104
101
99
107
98
111
120
125
46
114
101
103
117
108
97
114
45
102
111
114
109
32
116
101
120
116
97
114
101
97
44
46
114
101
103
117
108
97
114
45
102
111
114
109
32
115
101
108
101
99
116
44
46
114
101
103
117
108
97
114
45
102
111
114
109
32
105
110
112
117
116
91
116
121
112
101
61
116
101
120
116
93
44
46
114
101
103
117
108
97
114
45
102
111
114
109
32
105
110
112
117
116
91
116
121
112
101
61
112
97
115
115
119
111
114
100
93
44
46
114
101
103
117
108
97
114
45
102
111
114
109
32
105
110
112
117
116
91
116
121
112
101
61
116
101
108
93
44
46
114
101
103
117
108
97
114
45
102
111
114
109
32
105
110
112
117
116
91
116
121
112
101
61
101
109
97
105
108
93
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
58
115
111
108
105
100
32
49
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
112
97
100
100
105
110
103
58
57
112
120
125
46
114
101
103
117
108
97
114
45
102
111
114
109
32
116
101
120
116
97
114
101
97
123
114
101
115
105
122
101
58
118
101
114
116
105
99
97
108
125
46
114
101
103
117
108
97
114
45
102
111
114
109
32
46
102
105
101
108
100
45
98
111
120
43
46
102
105
101
108
100
45
98
111
120
123
109
97
114
103
105
110
45
116
111
112
58
51
48
112
120
125
46
114
101
103
117
108
97
114
45
102
111
114
109
32
46
97
99
116
105
111
110
115
123
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
125
46
114
101
103
117
108
97
114
45
102
111
114
109
32
46
101
114
114
111
114
115
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
48
112
120
125
46
114
101
103
117
108
97
114
45
102
111
114
109
32
46
101
114
114
111
114
115
32
117
108
123
108
105
115
116
45
115
116
121
108
101
58
100
105
115
99
32
105
110
115
105
100
101
59
112
97
100
100
105
110
103
45
108
101
102
116
58
53
112
120
125
46
114
101
103
117
108
97
114
45
102
111
114
109
32
46
101
114
114
111
114
115
32
104
50
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
125
46
114
101
103
117
108
97
114
45
102
111
114
109
32
46
101
114
114
111
114
115
32
108
105
123
108
105
110
101
45
104
101
105
103
104
116
58
49
46
53
125
108
97
98
101
108
46
114
97
100
105
111
45
108
97
98
101
108
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
115
101
108
101
99
116
45
119
114
97
112
112
101
114
123
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
125
46
115
101
108
101
99
116
45
119
114
97
112
112
101
114
32
46
115
101
108
101
99
116
123
104
101
105
103
104
116
58
51
52
112
120
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
98
97
99
107
103
114
111
117
110
100
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
116
101
101
112
117
98
108
105
99
111
110
115
47
116
114
105
97
110
103
108
101
45
53
100
50
101
101
55
54
54
51
55
53
55
53
55
57
55
52
53
57
49
54
100
49
51
54
55
57
52
101
49
48
48
99
98
52
56
99
49
53
98
100
100
101
57
49
50
50
97
100
100
54
55
102
49
57
100
99
50
53
49
49
57
54
100
46
115
118
103
34
41
32
110
111
45
114
101
112
101
97
116
32
119
104
105
116
101
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
114
105
103
104
116
32
49
48
112
120
32
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
45
115
105
122
101
58
49
50
112
120
59
98
111
114
100
101
114
58
48
59
118
101
114
116
105
99
97
108
45
97
108
105
103
110
58
98
111
116
116
111
109
59
119
105
100
116
104
58
49
48
48
37
125
46
115
101
108
101
99
116
45
119
114
97
112
112
101
114
32
46
115
101
108
101
99
116
32
115
101
108
101
99
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
59
119
105
100
116
104
58
49
48
48
37
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
104
101
105
103
104
116
58
49
48
48
37
59
98
111
114
100
101
114
58
49
112
120
32
115
111
108
105
100
32
115
105
108
118
101
114
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
59
98
97
99
107
103
114
111
117
110
100
58
116
114
97
110
115
112
97
114
101
110
116
59
45
119
101
98
107
105
116
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
45
109
111
122
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
112
97
100
100
105
110
103
45
116
111
112
58
48
59
112
97
100
100
105
110
103
45
108
101
102
116
58
49
48
112
120
125
46
115
101
108
101
99
116
45
119
114
97
112
112
101
114
32
46
115
101
108
101
99
116
32
115
101
108
101
99
116
58
58
45
109
115
45
101
120
112
97
110
100
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
103
45
114
101
99
97
112
116
99
104
97
123
109
97
114
103
105
110
58
48
32
48
32
49
53
112
120
125
46
116
112
45
100
97
116
101
116
105
109
101
45
115
101
108
101
99
116
44
46
116
112
45
115
101
108
101
99
116
45
119
114
97
112
112
101
114
32
115
101
108
101
99
116
44
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
112
97
100
100
105
110
103
58
49
50
112
120
32
49
54
112
120
59
104
101
105
103
104
116
58
52
56
112
120
125
46
116
112
45
100
97
116
101
116
105
109
101
45
115
101
108
101
99
116
58
97
99
116
105
118
101
44
46
116
112
45
115
101
108
101
99
116
45
119
114
97
112
112
101
114
32
115
101
108
101
99
116
58
97
99
116
105
118
101
44
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
58
97
99
116
105
118
101
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
116
112
45
100
97
116
101
116
105
109
101
45
115
101
108
101
99
116
58
102
111
99
117
115
45
118
105
115
105
98
108
101
44
46
116
112
45
115
101
108
101
99
116
45
119
114
97
112
112
101
114
32
115
101
108
101
99
116
58
102
111
99
117
115
45
118
105
115
105
98
108
101
44
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
58
102
111
99
117
115
45
118
105
115
105
98
108
101
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
111
117
116
108
105
110
101
58
52
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
41
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
104
111
115
116
101
100
45
102
105
101
108
100
45
99
111
110
116
97
105
110
101
114
44
46
116
112
45
100
97
116
101
116
105
109
101
45
115
101
108
101
99
116
44
46
116
112
45
115
101
108
101
99
116
45
119
114
97
112
112
101
114
32
115
101
108
101
99
116
44
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
123
119
105
100
116
104
58
49
48
48
37
125
46
116
112
45
102
111
114
109
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
50
112
120
125
46
116
112
45
102
111
114
109
32
35
119
104
105
116
101
95
108
97
98
101
108
95
97
99
99
111
117
110
116
95
98
97
99
107
103
114
111
117
110
100
95
99
111
108
111
114
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
54
112
120
125
35
100
97
115
104
101
114
121
95
115
116
111
114
101
95
99
111
108
111
114
115
95
114
97
100
105
111
95
103
114
111
117
112
115
123
109
97
120
45
119
105
100
116
104
58
52
48
48
112
120
125
46
116
112
45
105
110
112
117
116
45
108
97
98
101
108
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
116
112
45
105
110
112
117
116
45
108
97
98
101
108
32
46
116
112
45
105
110
112
117
116
45
108
97
98
101
108
45
97
115
116
101
114
105
115
107
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
116
112
45
105
110
112
117
116
45
108
97
98
101
108
32
46
116
112
45
105
110
112
117
116
45
108
97
98
101
108
45
111
112
116
105
111
110
97
108
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
100
101
115
99
114
105
112
116
105
111
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
59
102
111
110
116
45
115
105
122
101
58
49
50
112
120
59
108
105
110
101
45
104
101
105
103
104
116
58
49
54
112
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
112
97
100
100
105
110
103
58
49
50
112
120
32
51
50
112
120
32
49
50
112
120
32
49
54
112
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
58
58
45
119
101
98
107
105
116
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
58
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
58
58
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
45
97
114
101
97
123
104
101
105
103
104
116
58
56
48
112
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
101
114
114
111
114
45
109
101
115
115
97
103
101
123
100
105
115
112
108
97
121
58
110
111
110
101
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
54
48
48
41
59
111
112
97
99
105
116
121
58
48
59
102
111
110
116
45
115
105
122
101
58
49
50
112
120
59
108
105
110
101
45
104
101
105
103
104
116
58
49
54
112
120
59
116
114
97
110
115
105
116
105
111
110
58
111
112
97
99
105
116
121
32
48
46
51
115
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
50
112
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
95
95
105
99
111
110
45
115
117
99
99
101
115
115
45
99
111
110
116
97
105
110
101
114
44
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
95
95
105
99
111
110
45
101
114
114
111
114
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
45
115
117
99
99
101
115
115
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
95
95
105
99
111
110
45
115
117
99
99
101
115
115
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
45
115
117
99
99
101
115
115
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
95
95
105
99
111
110
45
101
114
114
111
114
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
45
101
114
114
111
114
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
44
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
45
101
114
114
111
114
32
115
101
108
101
99
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
49
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
59
111
117
116
108
105
110
101
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
45
101
114
114
111
114
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
95
95
105
99
111
110
45
115
117
99
99
101
115
115
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
45
101
114
114
111
114
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
95
95
105
99
111
110
45
101
114
114
111
114
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
45
101
114
114
111
114
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
95
95
105
99
111
110
45
101
114
114
111
114
45
99
111
110
116
97
105
110
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
45
101
114
114
111
114
32
46
116
112
45
105
110
112
117
116
45
108
97
98
101
108
45
97
115
116
101
114
105
115
107
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
54
48
48
41
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
45
101
114
114
111
114
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
101
114
114
111
114
45
109
101
115
115
97
103
101
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
111
112
97
99
105
116
121
58
49
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
45
101
114
114
111
114
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
104
111
115
116
101
100
45
102
105
101
108
100
45
99
111
110
116
97
105
110
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
49
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
59
102
111
110
116
45
115
105
122
101
58
53
48
112
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
45
100
105
115
97
98
108
101
100
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
45
100
105
115
97
98
108
101
100
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
95
95
105
99
111
110
45
115
117
99
99
101
115
115
45
99
111
110
116
97
105
110
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
45
99
111
110
116
97
105
110
101
114
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
95
95
105
99
111
110
45
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
102
108
101
120
45
115
116
97
114
116
59
97
108
105
103
110
45
105
116
101
109
115
58
102
108
101
120
45
115
116
97
114
116
59
98
111
116
116
111
109
58
48
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
110
111
110
101
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
114
105
103
104
116
58
49
54
112
120
59
116
111
112
58
49
54
112
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
95
95
97
99
116
105
111
110
45
99
111
110
116
97
105
110
101
114
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
49
48
112
120
59
114
105
103
104
116
58
49
54
112
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
95
95
97
99
116
105
111
110
45
99
111
110
116
97
105
110
101
114
32
46
116
101
101
112
117
98
108
105
99
111
110
123
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
116
112
45
102
111
114
109
45
108
97
98
101
108
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
53
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
116
112
45
102
111
114
109
45
108
97
98
101
108
62
42
123
109
97
114
103
105
110
45
116
111
112
58
52
112
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
104
111
115
116
101
100
45
102
105
101
108
100
45
99
111
110
116
97
105
110
101
114
123
104
101
105
103
104
116
58
52
56
112
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
104
111
115
116
101
100
45
102
105
101
108
100
45
99
111
110
116
97
105
110
101
114
46
98
114
97
105
110
116
114
101
101
45
104
111
115
116
101
100
45
102
105
101
108
100
115
45
102
111
99
117
115
101
100
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
116
112
45
115
101
108
101
99
116
45
119
114
97
112
112
101
114
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
116
112
45
115
101
108
101
99
116
45
119
114
97
112
112
101
114
58
58
97
102
116
101
114
123
99
111
110
116
101
110
116
58
39
39
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
119
105
100
116
104
58
49
54
112
120
59
104
101
105
103
104
116
58
49
54
112
120
59
114
105
103
104
116
58
49
54
112
120
59
116
111
112
58
99
97
108
99
40
53
48
37
32
45
32
56
112
120
41
59
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
116
101
101
112
117
98
108
105
99
111
110
115
47
116
114
105
97
110
103
108
101
45
53
100
50
101
101
55
54
54
51
55
53
55
53
55
57
55
52
53
57
49
54
100
49
51
54
55
57
52
101
49
48
48
99
98
52
56
99
49
53
98
100
100
101
57
49
50
50
97
100
100
54
55
102
49
57
100
99
50
53
49
49
57
54
100
46
115
118
103
34
41
59
98
97
99
107
103
114
111
117
110
100
45
115
105
122
101
58
99
111
118
101
114
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
99
101
110
116
101
114
59
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
110
111
110
101
125
46
116
112
45
115
101
108
101
99
116
45
119
114
97
112
112
101
114
32
115
101
108
101
99
116
123
109
97
114
103
105
110
58
48
59
45
119
101
98
107
105
116
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
45
109
111
122
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
119
105
100
116
104
58
49
48
48
37
125
46
116
112
45
115
101
108
101
99
116
45
119
114
97
112
112
101
114
32
115
101
108
101
99
116
58
102
111
99
117
115
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
111
117
116
108
105
110
101
58
52
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
41
125
46
116
112
45
115
101
108
101
99
116
45
119
114
97
112
112
101
114
32
115
101
108
101
99
116
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
116
112
45
115
101
108
101
99
116
45
119
114
97
112
112
101
114
32
115
101
108
101
99
116
58
100
105
115
97
98
108
101
100
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
116
112
45
115
101
108
101
99
116
45
119
114
97
112
112
101
114
32
115
101
108
101
99
116
58
58
45
109
115
45
101
120
112
97
110
100
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
116
112
45
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
102
108
101
120
45
101
110
100
59
97
108
105
103
110
45
105
116
101
109
115
58
102
108
101
120
45
101
110
100
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
49
50
112
120
59
119
105
100
116
104
58
49
48
48
37
125
46
116
112
45
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
32
46
102
111
114
109
95
95
102
105
101
108
100
58
102
105
114
115
116
45
99
104
105
108
100
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
115
101
108
102
58
102
108
101
120
45
115
116
97
114
116
59
97
108
105
103
110
45
115
101
108
102
58
102
108
101
120
45
115
116
97
114
116
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
102
105
108
101
32
105
110
112
117
116
91
116
121
112
101
61
34
102
105
108
101
34
93
123
45
119
101
98
107
105
116
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
45
109
111
122
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
98
97
99
107
103
114
111
117
110
100
58
110
111
110
101
59
98
111
114
100
101
114
58
48
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
119
105
100
116
104
58
45
119
101
98
107
105
116
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
45
109
111
122
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
102
105
116
45
99
111
110
116
101
110
116
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
102
105
108
101
32
105
110
112
117
116
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
102
105
108
101
45
104
105
100
100
101
110
91
116
121
112
101
61
34
102
105
108
101
34
93
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
102
105
108
101
32
105
110
112
117
116
91
116
121
112
101
61
34
102
105
108
101
34
93
58
58
102
105
108
101
45
115
101
108
101
99
116
111
114
45
98
117
116
116
111
110
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
103
97
112
58
56
112
120
59
109
97
114
103
105
110
45
114
105
103
104
116
58
49
48
112
120
59
112
97
100
100
105
110
103
58
56
112
120
32
49
54
112
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
102
105
108
101
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
102
105
108
101
45
105
109
97
103
101
45
112
114
101
118
105
101
119
123
98
111
114
100
101
114
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
112
97
100
100
105
110
103
58
56
112
120
59
119
105
100
116
104
58
45
119
101
98
107
105
116
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
45
109
111
122
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
102
105
116
45
99
111
110
116
101
110
116
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
102
105
108
101
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
102
105
108
101
45
105
109
97
103
101
45
45
108
111
103
111
123
109
97
120
45
104
101
105
103
104
116
58
54
48
112
120
59
109
97
120
45
119
105
100
116
104
58
51
48
48
112
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
102
105
108
101
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
102
105
108
101
45
105
109
97
103
101
45
45
104
101
97
100
101
114
123
104
101
105
103
104
116
58
49
48
48
112
120
59
119
105
100
116
104
58
50
57
48
112
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
102
105
108
101
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
102
105
108
101
45
105
109
97
103
101
45
112
114
101
118
105
101
119
45
97
99
116
105
111
110
115
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
49
50
112
120
125
35
112
114
111
100
117
99
116
45
100
105
115
112
108
97
121
45
112
114
101
102
101
114
101
110
99
101
115
123
109
97
120
45
119
105
100
116
104
58
52
48
48
112
120
125
46
116
112
45
105
110
112
117
116
45
112
97
115
115
119
111
114
100
45
102
105
101
108
100
123
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
46
116
112
45
105
110
112
117
116
45
112
97
115
115
119
111
114
100
45
102
105
101
108
100
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
116
101
120
116
95
95
105
99
111
110
45
99
111
110
116
97
105
110
101
114
123
114
105
103
104
116
58
53
50
112
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
112
97
115
115
119
111
114
100
45
112
97
116
116
101
114
110
123
109
97
114
103
105
110
45
116
111
112
58
56
112
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
112
97
115
115
119
111
114
100
45
112
97
116
116
101
114
110
95
95
116
105
116
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
112
97
115
115
119
111
114
100
45
112
97
116
116
101
114
110
95
95
108
105
115
116
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
103
97
112
58
52
112
120
32
56
112
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
115
116
97
114
116
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
115
116
97
114
116
59
109
97
114
103
105
110
45
116
111
112
58
52
112
120
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
112
97
115
115
119
111
114
100
45
112
97
116
116
101
114
110
95
95
105
116
101
109
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
112
97
115
115
119
111
114
100
45
112
97
116
116
101
114
110
95
95
105
116
101
109
32
115
112
97
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
112
97
115
115
119
111
114
100
45
112
97
116
116
101
114
110
95
95
105
116
101
109
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
112
97
115
115
119
111
114
100
45
112
97
116
116
101
114
110
95
95
105
116
101
109
45
45
115
117
99
99
101
115
115
32
115
112
97
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
54
48
48
41
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
112
97
115
115
119
111
114
100
45
112
97
116
116
101
114
110
95
95
105
116
101
109
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
112
97
115
115
119
111
114
100
45
112
97
116
116
101
114
110
95
95
105
116
101
109
45
45
101
114
114
111
114
32
115
112
97
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
112
97
115
115
119
111
114
100
45
112
97
116
116
101
114
110
95
95
105
116
101
109
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
112
97
115
115
119
111
114
100
45
112
97
116
116
101
114
110
95
95
105
116
101
109
45
45
101
114
114
111
114
32
46
116
101
101
112
117
98
108
105
99
111
110
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
109
45
115
105
103
110
117
112
45
102
111
114
109
95
95
110
97
109
101
45
102
105
101
108
100
115
45
99
111
110
116
97
105
110
101
114
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
58
110
116
104
45
111
102
45
116
121
112
101
40
52
41
123
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
115
105
103
110
117
112
45
102
111
114
109
95
95
110
97
109
101
45
102
105
101
108
100
115
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
49
102
114
32
49
102
114
59
103
114
105
100
45
99
111
108
117
109
110
45
103
97
112
58
49
54
112
120
125
46
109
45
115
105
103
110
117
112
45
102
111
114
109
95
95
110
97
109
101
45
102
105
101
108
100
115
45
99
111
110
116
97
105
110
101
114
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
58
110
116
104
45
111
102
45
116
121
112
101
40
51
41
44
46
109
45
115
105
103
110
117
112
45
102
111
114
109
95
95
110
97
109
101
45
102
105
101
108
100
115
45
99
111
110
116
97
105
110
101
114
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
58
110
116
104
45
111
102
45
116
121
112
101
40
52
41
44
46
109
45
115
105
103
110
117
112
45
102
111
114
109
95
95
110
97
109
101
45
102
105
101
108
100
115
45
99
111
110
116
97
105
110
101
114
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
58
110
116
104
45
111
102
45
116
121
112
101
40
53
41
123
103
114
105
100
45
99
111
108
117
109
110
58
115
112
97
110
32
50
125
125
46
109
45
115
105
103
110
117
112
45
102
111
114
109
95
95
110
97
109
101
45
102
105
101
108
100
115
45
99
111
110
116
97
105
110
101
114
43
46
97
117
116
104
45
108
97
121
111
117
116
95
95
98
117
116
116
111
110
123
109
97
114
103
105
110
45
116
111
112
58
48
125
46
109
45
115
105
103
110
117
112
45
102
111
114
109
95
95
116
101
114
109
115
45
97
110
100
45
112
114
105
118
97
99
121
123
109
97
114
103
105
110
45
116
111
112
58
49
54
112
120
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
46
109
45
115
105
103
110
117
112
45
102
111
114
109
95
95
116
101
114
109
115
45
97
110
100
45
112
114
105
118
97
99
121
44
46
109
45
115
105
103
110
117
112
45
102
111
114
109
95
95
116
101
114
109
115
45
97
110
100
45
112
114
105
118
97
99
121
32
97
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
125
46
114
101
118
101
97
108
45
109
111
100
97
108
45
98
103
123
98
97
99
107
103
114
111
117
110
100
58
35
48
48
48
59
98
97
99
107
103
114
111
117
110
100
58
114
103
98
97
40
48
44
48
44
48
44
48
46
56
41
59
100
105
115
112
108
97
121
58
110
111
110
101
59
104
101
105
103
104
116
58
49
48
48
37
59
108
101
102
116
58
48
59
112
111
115
105
116
105
111
110
58
102
105
120
101
100
59
116
111
112
58
48
59
119
105
100
116
104
58
49
48
48
37
59
122
45
105
110
100
101
120
58
49
48
48
48
125
46
114
101
118
101
97
108
45
109
111
100
97
108
44
46
114
101
118
101
97
108
45
110
111
109
105
110
97
116
101
45
109
111
100
97
108
44
46
109
111
100
97
108
123
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
59
116
111
112
58
49
48
48
112
120
59
119
105
100
116
104
58
49
48
48
37
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
122
45
105
110
100
101
120
58
49
48
48
48
59
112
97
100
100
105
110
103
58
48
112
120
59
45
109
111
122
45
98
111
120
45
115
104
97
100
111
119
58
48
32
48
32
49
48
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
52
41
59
45
119
101
98
107
105
116
45
98
111
120
45
115
104
97
100
111
119
58
48
32
48
32
49
48
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
52
41
59
45
98
111
120
45
115
104
97
100
111
119
58
48
32
48
32
49
48
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
52
41
59
104
101
105
103
104
116
58
97
117
116
111
59
108
101
102
116
58
53
48
37
59
109
97
114
103
105
110
45
108
101
102
116
58
45
51
55
53
112
120
125
46
114
101
118
101
97
108
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
44
46
114
101
118
101
97
108
45
110
111
109
105
110
97
116
101
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
44
46
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
123
119
105
100
116
104
58
49
48
48
37
125
46
114
101
118
101
97
108
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
99
108
111
115
101
45
109
111
100
97
108
44
46
114
101
118
101
97
108
45
110
111
109
105
110
97
116
101
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
99
108
111
115
101
45
109
111
100
97
108
44
46
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
99
108
111
115
101
45
109
111
100
97
108
123
116
114
97
110
115
105
116
105
111
110
58
97
108
108
32
48
46
49
115
32
101
97
115
101
45
105
110
45
111
117
116
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
45
53
53
112
120
59
114
105
103
104
116
58
45
54
48
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
102
111
110
116
45
115
105
122
101
58
52
48
112
120
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
122
45
105
110
100
101
120
58
49
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
114
101
118
101
97
108
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
99
108
111
115
101
45
109
111
100
97
108
44
46
114
101
118
101
97
108
45
110
111
109
105
110
97
116
101
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
99
108
111
115
101
45
109
111
100
97
108
44
46
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
99
108
111
115
101
45
109
111
100
97
108
123
98
111
116
116
111
109
58
45
53
54
48
112
120
59
102
111
110
116
45
115
105
122
101
58
51
50
112
120
59
108
101
102
116
58
48
59
109
97
114
103
105
110
58
97
117
116
111
59
114
105
103
104
116
58
48
59
116
111
112
58
48
125
125
46
114
101
118
101
97
108
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
99
108
111
115
101
45
109
111
100
97
108
58
104
111
118
101
114
44
46
114
101
118
101
97
108
45
110
111
109
105
110
97
116
101
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
99
108
111
115
101
45
109
111
100
97
108
58
104
111
118
101
114
44
46
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
99
108
111
115
101
45
109
111
100
97
108
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
114
101
118
101
97
108
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
104
49
44
46
114
101
118
101
97
108
45
110
111
109
105
110
97
116
101
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
104
49
44
46
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
104
49
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
49
48
48
41
59
112
97
100
100
105
110
103
58
48
112
120
59
109
97
114
103
105
110
58
48
112
120
59
109
97
114
103
105
110
45
116
111
112
58
51
52
112
120
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
46
114
101
118
101
97
108
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
112
44
46
114
101
118
101
97
108
45
110
111
109
105
110
97
116
101
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
112
44
46
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
112
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
51
101
109
125
46
114
101
118
101
97
108
45
109
111
100
97
108
46
115
109
97
108
108
44
46
114
101
118
101
97
108
45
110
111
109
105
110
97
116
101
45
109
111
100
97
108
46
115
109
97
108
108
123
119
105
100
116
104
58
50
48
48
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
45
49
52
48
112
120
125
46
114
101
118
101
97
108
45
109
111
100
97
108
46
109
101
100
105
117
109
44
46
114
101
118
101
97
108
45
110
111
109
105
110
97
116
101
45
109
111
100
97
108
46
109
101
100
105
117
109
123
119
105
100
116
104
58
52
48
48
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
45
50
52
48
112
120
125
46
114
101
118
101
97
108
45
109
111
100
97
108
46
108
97
114
103
101
44
46
114
101
118
101
97
108
45
110
111
109
105
110
97
116
101
45
109
111
100
97
108
46
108
97
114
103
101
123
119
105
100
116
104
58
54
48
48
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
45
51
52
48
112
120
125
46
114
101
118
101
97
108
45
109
111
100
97
108
46
120
108
97
114
103
101
44
46
114
101
118
101
97
108
45
110
111
109
105
110
97
116
101
45
109
111
100
97
108
46
120
108
97
114
103
101
123
119
105
100
116
104
58
56
48
48
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
45
52
52
48
112
120
125
46
114
101
118
101
97
108
45
109
111
100
97
108
32
46
99
108
111
115
101
45
114
101
118
101
97
108
45
109
111
100
97
108
44
46
114
101
118
101
97
108
45
110
111
109
105
110
97
116
101
45
109
111
100
97
108
32
46
99
108
111
115
101
45
114
101
118
101
97
108
45
109
111
100
97
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
46
53
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
56
112
120
59
114
105
103
104
116
58
49
49
112
120
59
99
111
108
111
114
58
35
97
97
97
59
116
101
120
116
45
115
104
97
100
111
119
58
48
32
45
49
112
120
32
49
112
120
32
114
98
103
97
40
48
44
32
48
44
32
48
44
32
48
46
54
41
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
114
101
118
101
97
108
45
109
111
100
97
108
32
104
49
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
120
108
97
114
103
101
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
109
97
114
103
105
110
58
53
48
112
120
32
48
32
51
48
112
120
32
48
59
112
97
100
100
105
110
103
58
48
112
120
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
125
46
114
101
118
101
97
108
45
109
111
100
97
108
32
112
44
46
114
101
118
101
97
108
45
110
111
109
105
110
97
116
101
45
109
111
100
97
108
32
112
123
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
110
111
114
109
97
108
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
109
97
114
103
105
110
58
48
112
120
59
112
97
100
100
105
110
103
58
48
112
120
32
49
48
52
112
120
32
48
112
120
32
49
48
52
112
120
59
108
105
110
101
45
104
101
105
103
104
116
58
49
50
48
37
125
46
114
101
118
101
97
108
45
109
111
100
97
108
32
112
32
97
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
99
111
108
111
114
58
35
50
56
97
53
99
99
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
110
111
114
109
97
108
59
109
97
114
103
105
110
58
48
112
120
59
112
97
100
100
105
110
103
58
48
112
120
59
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
58
110
111
110
101
125
46
114
101
118
101
97
108
45
109
111
100
97
108
32
104
50
32
115
112
97
110
32
97
44
46
114
101
118
101
97
108
45
110
111
109
105
110
97
116
101
45
109
111
100
97
108
32
104
50
32
115
112
97
110
32
97
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
99
111
108
111
114
58
35
50
56
97
53
99
99
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
110
111
114
109
97
108
59
109
97
114
103
105
110
58
55
48
112
120
32
48
32
48
32
48
59
112
97
100
100
105
110
103
58
48
112
120
59
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
58
110
111
110
101
125
46
112
97
121
112
97
108
123
119
105
100
116
104
58
49
51
57
112
120
59
109
97
114
103
105
110
58
48
112
120
32
97
117
116
111
59
104
101
105
103
104
116
58
51
56
112
120
59
112
97
100
100
105
110
103
58
51
48
112
120
32
48
32
55
48
112
120
32
48
125
46
109
111
100
97
108
45
104
101
97
100
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
50
56
97
53
99
99
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
112
97
100
100
105
110
103
58
49
48
112
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
46
109
111
100
97
108
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
52
112
120
59
98
111
116
116
111
109
58
97
117
116
111
59
100
105
115
112
108
97
121
58
105
110
104
101
114
105
116
32
33
105
109
112
111
114
116
97
110
116
59
111
118
101
114
102
108
111
119
58
118
105
115
105
98
108
101
32
33
105
109
112
111
114
116
97
110
116
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
32
33
105
109
112
111
114
116
97
110
116
59
114
105
103
104
116
58
97
117
116
111
59
122
45
105
110
100
101
120
58
49
48
48
48
48
125
46
109
111
100
97
108
46
109
111
100
97
108
45
100
101
102
97
117
108
116
123
104
101
105
103
104
116
58
54
48
48
112
120
59
119
105
100
116
104
58
56
48
48
112
120
125
46
109
111
100
97
108
95
95
99
108
111
115
101
45
99
116
114
108
123
98
111
116
116
111
109
58
45
53
48
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
108
101
102
116
58
48
59
112
97
100
100
105
110
103
45
116
111
112
58
49
53
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
114
105
103
104
116
58
48
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
109
111
100
97
108
95
95
99
108
111
115
101
45
99
116
114
108
123
100
105
115
112
108
97
121
58
110
111
110
101
125
35
101
100
105
116
45
97
118
97
116
97
114
44
35
101
100
105
116
45
98
97
110
110
101
114
123
104
101
105
103
104
116
58
97
117
116
111
59
119
105
100
116
104
58
51
52
51
112
120
59
112
97
100
100
105
110
103
58
50
52
112
120
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
112
111
115
105
116
105
111
110
58
102
105
120
101
100
32
33
105
109
112
111
114
116
97
110
116
59
116
111
112
58
53
48
37
32
33
105
109
112
111
114
116
97
110
116
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
48
44
32
45
53
48
37
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
48
44
32
45
53
48
37
41
125
35
101
100
105
116
45
97
118
97
116
97
114
32
46
109
111
100
97
108
95
95
99
108
111
115
101
45
99
116
114
108
44
35
101
100
105
116
45
98
97
110
110
101
114
32
46
109
111
100
97
108
95
95
99
108
111
115
101
45
99
116
114
108
123
100
105
115
112
108
97
121
58
110
111
110
101
125
35
101
100
105
116
45
97
118
97
116
97
114
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
109
111
100
97
108
95
95
99
108
111
115
101
45
99
116
114
108
44
35
101
100
105
116
45
98
97
110
110
101
114
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
109
111
100
97
108
95
95
99
108
111
115
101
45
99
116
114
108
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
116
101
120
116
45
97
108
105
103
110
58
114
105
103
104
116
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
112
97
100
100
105
110
103
58
48
59
109
97
114
103
105
110
58
48
59
116
111
112
58
48
59
102
111
110
116
45
115
105
122
101
58
105
110
104
101
114
105
116
125
35
105
110
116
108
45
115
101
116
116
105
110
103
115
123
104
101
105
103
104
116
58
97
117
116
111
59
116
111
112
58
49
49
56
112
120
59
119
105
100
116
104
58
51
50
56
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
35
105
110
116
108
45
115
101
116
116
105
110
103
115
123
119
105
100
116
104
58
51
54
55
112
120
59
116
111
112
58
50
55
53
112
120
125
125
35
109
111
98
105
108
101
45
99
97
110
118
97
115
45
115
105
122
101
99
104
97
114
116
123
98
97
99
107
103
114
111
117
110
100
58
116
114
97
110
115
112
97
114
101
110
116
59
104
101
105
103
104
116
58
97
117
116
111
59
116
111
112
58
49
48
37
59
119
105
100
116
104
58
51
50
56
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
35
109
111
98
105
108
101
45
99
97
110
118
97
115
45
115
105
122
101
99
104
97
114
116
123
119
105
100
116
104
58
52
51
48
112
120
125
35
109
111
98
105
108
101
45
99
97
110
118
97
115
45
115
105
122
101
99
104
97
114
116
32
46
109
111
100
97
108
95
95
99
108
111
115
101
45
99
116
114
108
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
48
59
112
97
100
100
105
110
103
58
48
59
114
105
103
104
116
58
45
53
48
112
120
125
125
35
105
110
116
108
45
115
101
116
116
105
110
103
115
46
110
111
110
45
109
111
100
97
108
123
119
105
100
116
104
58
48
112
120
32
33
105
109
112
111
114
116
97
110
116
59
104
101
105
103
104
116
58
48
112
120
32
33
105
109
112
111
114
116
97
110
116
59
100
105
115
112
108
97
121
58
110
111
110
101
32
33
105
109
112
111
114
116
97
110
116
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
32
33
105
109
112
111
114
116
97
110
116
125
35
109
111
98
105
108
101
45
115
105
122
101
45
99
104
97
114
116
123
104
101
105
103
104
116
58
51
52
53
112
120
59
119
105
100
116
104
58
51
54
49
112
120
125
46
110
111
110
45
109
111
100
97
108
123
109
97
114
103
105
110
45
108
101
102
116
58
48
112
120
32
33
105
109
112
111
114
116
97
110
116
59
109
97
120
45
104
101
105
103
104
116
58
110
111
110
101
32
33
105
109
112
111
114
116
97
110
116
59
119
105
100
116
104
58
49
48
48
37
32
33
105
109
112
111
114
116
97
110
116
125
35
99
111
109
109
105
115
115
105
111
110
45
109
111
100
97
108
123
108
101
102
116
58
48
112
120
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
109
97
120
45
119
105
100
116
104
58
52
57
48
112
120
59
112
97
100
100
105
110
103
58
50
48
112
120
32
33
105
109
112
111
114
116
97
110
116
59
104
101
105
103
104
116
58
97
117
116
111
125
35
99
111
109
109
105
115
115
105
111
110
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
35
99
111
109
109
105
115
115
105
111
110
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
110
111
110
45
109
111
100
97
108
123
119
105
100
116
104
58
97
117
116
111
32
33
105
109
112
111
114
116
97
110
116
125
35
99
111
109
109
105
115
115
105
111
110
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
104
51
123
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
125
35
99
111
109
109
105
115
115
105
111
110
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
100
105
118
123
119
105
100
116
104
58
97
117
116
111
32
33
105
109
112
111
114
116
97
110
116
125
35
99
111
109
109
105
115
115
105
111
110
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
100
105
118
32
116
97
98
108
101
123
119
105
100
116
104
58
49
48
48
37
125
35
99
111
109
109
105
115
115
105
111
110
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
100
105
118
32
116
97
98
108
101
32
116
104
123
112
97
100
100
105
110
103
58
49
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
101
98
101
98
101
98
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
35
48
48
48
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
35
99
111
109
109
105
115
115
105
111
110
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
100
105
118
32
116
97
98
108
101
32
46
98
108
97
110
107
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
58
110
111
110
101
125
35
99
111
109
109
105
115
115
105
111
110
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
100
105
118
32
116
97
98
108
101
32
116
100
123
112
97
100
100
105
110
103
58
49
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
101
98
101
98
101
98
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
35
48
48
48
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
35
99
111
109
109
105
115
115
105
111
110
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
100
105
118
32
116
97
98
108
101
32
116
100
58
102
105
114
115
116
45
99
104
105
108
100
123
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
125
35
99
111
109
109
105
115
115
105
111
110
45
109
111
100
97
108
46
110
111
110
45
109
111
100
97
108
123
109
97
114
103
105
110
45
108
101
102
116
58
48
112
120
32
33
105
109
112
111
114
116
97
110
116
59
109
97
120
45
104
101
105
103
104
116
58
110
111
110
101
32
33
105
109
112
111
114
116
97
110
116
59
119
105
100
116
104
58
97
117
116
111
32
33
105
109
112
111
114
116
97
110
116
125
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
46
110
111
110
45
109
111
100
97
108
123
119
105
100
116
104
58
97
117
116
111
32
33
105
109
112
111
114
116
97
110
116
125
46
115
105
122
101
99
104
97
114
116
45
99
97
110
118
97
115
45
109
111
100
97
108
95
95
112
105
108
108
111
119
123
109
105
110
45
119
105
100
116
104
58
54
48
48
112
120
59
119
105
100
116
104
58
97
117
116
111
125
46
115
105
122
101
99
104
97
114
116
45
99
97
110
118
97
115
45
109
111
100
97
108
95
95
116
111
116
101
123
109
105
110
45
119
105
100
116
104
58
57
52
48
112
120
59
119
105
100
116
104
58
97
117
116
111
125
46
115
105
122
101
99
104
97
114
116
45
99
97
110
118
97
115
45
109
111
100
97
108
95
95
99
111
110
116
101
110
116
123
98
111
114
100
101
114
58
48
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
110
111
110
101
125
46
115
105
122
101
99
104
97
114
116
45
99
97
110
118
97
115
45
109
111
100
97
108
95
95
99
111
110
116
101
110
116
32
105
109
103
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
115
105
122
101
99
104
97
114
116
45
99
97
110
118
97
115
45
109
111
100
97
108
95
95
99
111
110
116
101
110
116
32
97
123
116
114
97
110
115
105
116
105
111
110
58
110
111
110
101
125
46
115
105
122
101
99
104
97
114
116
45
99
97
110
118
97
115
45
109
111
100
97
108
95
95
105
109
103
45
45
114
101
115
112
111
110
115
105
118
101
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
52
112
120
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
104
101
105
103
104
116
58
97
117
116
111
59
119
105
100
116
104
58
49
48
48
37
125
35
115
105
122
101
99
104
97
114
116
45
109
111
100
97
108
123
109
97
120
45
119
105
100
116
104
58
57
52
48
112
120
125
35
115
105
122
101
99
104
97
114
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
101
110
116
123
112
97
100
100
105
110
103
45
108
101
102
116
58
49
53
112
120
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
49
53
112
120
125
46
115
105
122
101
99
104
97
114
116
45
104
111
108
100
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
108
101
102
116
58
48
59
114
105
103
104
116
58
48
59
116
111
112
58
48
59
98
111
116
116
111
109
58
48
59
122
45
105
110
100
101
120
58
49
48
48
48
49
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
114
103
98
97
40
48
44
48
44
48
44
48
46
56
41
125
46
115
105
122
101
99
104
97
114
116
45
104
111
108
100
101
114
32
46
115
105
122
101
99
104
97
114
116
123
119
105
100
116
104
58
57
48
48
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
97
117
116
111
59
109
97
114
103
105
110
45
114
105
103
104
116
58
97
117
116
111
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
116
111
112
58
49
48
48
112
120
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
59
112
97
100
100
105
110
103
58
51
48
112
120
125
46
115
105
122
101
99
104
97
114
116
45
104
111
108
100
101
114
32
46
115
105
122
101
99
104
97
114
116
32
46
104
101
97
100
101
114
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
59
104
101
105
103
104
116
58
52
53
112
120
125
46
115
105
122
101
99
104
97
114
116
45
104
111
108
100
101
114
32
46
115
105
122
101
99
104
97
114
116
32
46
104
101
97
100
101
114
32
104
49
123
102
108
111
97
116
58
108
101
102
116
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
59
99
111
108
111
114
58
35
53
102
53
100
53
102
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
46
115
105
122
101
99
104
97
114
116
45
104
111
108
100
101
114
32
46
115
105
122
101
99
104
97
114
116
32
46
104
101
97
100
101
114
32
104
49
32
115
112
97
110
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
115
97
110
115
45
115
101
114
105
102
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
125
46
115
105
122
101
99
104
97
114
116
45
104
111
108
100
101
114
32
46
115
105
122
101
99
104
97
114
116
32
46
104
101
97
100
101
114
32
46
98
117
116
116
111
110
115
123
102
108
111
97
116
58
114
105
103
104
116
125
46
115
105
122
101
99
104
97
114
116
45
104
111
108
100
101
114
32
46
115
105
122
101
99
104
97
114
116
32
46
104
101
97
100
101
114
32
46
98
117
116
116
111
110
115
32
46
98
117
116
116
111
110
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
104
101
105
103
104
116
58
50
48
112
120
59
102
111
110
116
45
102
97
109
105
108
121
58
115
97
110
115
45
115
101
114
105
102
59
98
111
114
100
101
114
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
50
48
112
120
59
112
97
100
100
105
110
103
58
51
112
120
32
49
48
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
49
48
112
120
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
115
105
122
101
99
104
97
114
116
45
104
111
108
100
101
114
32
46
115
105
122
101
99
104
97
114
116
32
46
104
101
97
100
101
114
32
46
98
117
116
116
111
110
115
32
46
98
117
116
116
111
110
46
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
101
101
101
101
101
101
125
46
115
105
122
101
99
104
97
114
116
45
104
111
108
100
101
114
32
46
115
105
122
101
99
104
97
114
116
32
46
99
111
110
116
101
110
116
123
109
97
120
45
104
101
105
103
104
116
58
53
48
48
112
120
59
111
118
101
114
102
108
111
119
45
121
58
115
99
114
111
108
108
59
111
118
101
114
102
108
111
119
45
120
58
104
105
100
100
101
110
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
119
105
100
116
104
58
49
48
48
37
125
46
115
105
122
101
99
104
97
114
116
45
104
111
108
100
101
114
32
46
115
105
122
101
99
104
97
114
116
32
46
99
111
110
116
101
110
116
32
35
119
111
109
101
110
123
100
105
115
112
108
97
121
58
110
111
110
101
125
35
115
105
122
101
99
104
97
114
116
123
108
101
102
116
58
48
112
120
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
119
105
100
116
104
58
49
48
48
37
59
104
101
105
103
104
116
58
97
117
116
111
125
35
115
105
122
101
99
104
97
114
116
32
104
49
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
116
111
112
58
51
52
112
120
59
112
97
100
100
105
110
103
58
48
32
33
105
109
112
111
114
116
97
110
116
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
50
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
103
117
105
100
101
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
35
110
111
116
101
115
32
46
97
100
100
101
110
100
117
109
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
116
111
112
58
45
50
112
120
59
112
97
100
100
105
110
103
58
53
112
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
115
116
121
108
101
58
105
116
97
108
105
99
125
35
115
105
122
101
99
104
97
114
116
32
35
103
101
110
100
101
114
95
115
101
108
101
99
116
32
46
109
97
108
101
95
111
114
95
102
101
109
97
108
101
123
119
105
100
116
104
58
50
53
54
112
120
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
109
97
114
103
105
110
58
49
52
112
120
32
97
117
116
111
32
48
125
35
115
105
122
101
99
104
97
114
116
32
35
103
101
110
100
101
114
95
115
101
108
101
99
116
32
46
109
97
108
101
95
111
114
95
102
101
109
97
108
101
62
100
105
118
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
115
116
97
116
105
99
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
115
105
122
101
99
104
97
114
116
47
99
104
97
114
116
115
47
115
105
122
101
99
104
97
114
116
45
110
97
118
46
112
110
103
34
41
59
104
101
105
103
104
116
58
50
52
112
120
59
119
105
100
116
104
58
49
50
50
112
120
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
35
115
105
122
101
99
104
97
114
116
32
35
103
101
110
100
101
114
95
115
101
108
101
99
116
32
46
109
97
108
101
95
111
114
95
102
101
109
97
108
101
32
46
109
111
102
95
109
97
108
101
123
102
108
111
97
116
58
108
101
102
116
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
56
55
48
112
120
32
48
125
35
115
105
122
101
99
104
97
114
116
32
35
103
101
110
100
101
114
95
115
101
108
101
99
116
32
46
109
97
108
101
95
111
114
95
102
101
109
97
108
101
32
46
109
111
102
95
109
97
108
101
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
56
55
48
112
120
32
45
51
52
112
120
125
35
115
105
122
101
99
104
97
114
116
32
35
103
101
110
100
101
114
95
115
101
108
101
99
116
32
46
109
97
108
101
95
111
114
95
102
101
109
97
108
101
32
46
109
111
102
95
109
97
108
101
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
56
55
48
112
120
32
45
54
56
112
120
125
35
115
105
122
101
99
104
97
114
116
32
35
103
101
110
100
101
114
95
115
101
108
101
99
116
32
46
109
97
108
101
95
111
114
95
102
101
109
97
108
101
32
46
109
111
102
95
102
101
109
97
108
101
123
102
108
111
97
116
58
114
105
103
104
116
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
48
48
52
112
120
32
48
125
35
115
105
122
101
99
104
97
114
116
32
35
103
101
110
100
101
114
95
115
101
108
101
99
116
32
46
109
97
108
101
95
111
114
95
102
101
109
97
108
101
32
46
109
111
102
95
102
101
109
97
108
101
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
48
48
52
112
120
32
45
51
52
112
120
125
35
115
105
122
101
99
104
97
114
116
32
35
103
101
110
100
101
114
95
115
101
108
101
99
116
32
46
109
97
108
101
95
111
114
95
102
101
109
97
108
101
32
46
109
111
102
95
102
101
109
97
108
101
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
48
48
52
112
120
32
45
54
56
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
123
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
109
97
114
103
105
110
45
116
111
112
58
49
55
112
120
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
104
101
105
103
104
116
58
52
56
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
104
101
105
103
104
116
58
52
56
112
120
59
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
115
116
97
116
105
99
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
115
105
122
101
99
104
97
114
116
47
99
104
97
114
116
115
47
115
105
122
101
99
104
97
114
116
45
110
97
118
46
112
110
103
34
41
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
116
101
101
115
123
119
105
100
116
104
58
49
51
50
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
32
48
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
116
101
101
115
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
32
45
53
56
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
116
101
101
115
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
32
45
49
49
54
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
107
105
100
115
123
119
105
100
116
104
58
49
48
50
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
51
50
112
120
32
48
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
107
105
100
115
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
51
50
112
120
32
45
53
56
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
107
105
100
115
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
51
50
112
120
32
45
49
49
54
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
108
111
110
103
115
108
101
101
118
101
123
119
105
100
116
104
58
49
55
53
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
51
52
112
120
32
48
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
108
111
110
103
115
108
101
101
118
101
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
51
52
112
120
32
45
53
56
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
108
111
110
103
115
108
101
101
118
101
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
51
52
112
120
32
45
49
49
54
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
98
97
115
101
98
97
108
108
123
119
105
100
116
104
58
49
52
56
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
48
57
112
120
32
48
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
98
97
115
101
98
97
108
108
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
48
57
112
120
32
45
53
56
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
98
97
115
101
98
97
108
108
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
48
57
112
120
32
45
49
49
54
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
116
97
110
107
115
123
119
105
100
116
104
58
55
52
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
53
55
112
120
32
48
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
116
97
110
107
115
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
53
55
112
120
32
45
53
56
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
116
97
110
107
115
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
53
55
112
120
32
45
49
49
54
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
99
114
101
119
110
101
99
107
115
123
119
105
100
116
104
58
49
50
50
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
54
51
49
112
120
32
48
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
99
114
101
119
110
101
99
107
115
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
54
51
49
112
120
32
45
53
56
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
99
114
101
119
110
101
99
107
115
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
54
51
49
112
120
32
45
49
49
54
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
104
111
111
100
105
101
115
123
119
105
100
116
104
58
49
48
55
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
55
53
51
112
120
32
48
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
104
111
111
100
105
101
115
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
55
53
51
112
120
32
45
53
56
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
105
122
101
99
104
97
114
116
45
110
97
118
32
97
46
104
111
111
100
105
101
115
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
55
53
51
112
120
32
45
49
49
54
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
115
116
97
116
105
99
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
115
105
122
101
99
104
97
114
116
47
99
104
97
114
116
115
47
115
105
122
101
99
104
97
114
116
45
110
97
118
46
112
110
103
34
41
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
32
45
54
51
56
112
120
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
32
46
116
97
110
107
115
123
100
105
115
112
108
97
121
58
110
111
110
101
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
32
46
99
114
101
119
110
101
99
107
115
123
100
105
115
112
108
97
121
58
110
111
110
101
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
32
46
104
111
111
100
105
101
115
123
100
105
115
112
108
97
121
58
110
111
110
101
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
115
116
97
116
105
99
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
115
105
122
101
99
104
97
114
116
47
99
104
97
114
116
115
47
115
105
122
101
99
104
97
114
116
45
110
97
118
46
112
110
103
34
41
59
104
101
105
103
104
116
58
52
56
112
120
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
114
101
103
117
108
97
114
123
119
105
100
116
104
58
57
52
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
50
48
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
54
112
120
32
45
49
55
52
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
114
101
103
117
108
97
114
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
114
101
103
117
108
97
114
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
54
112
120
32
45
50
51
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
114
105
123
119
105
100
116
104
58
49
48
50
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
49
57
112
120
32
45
49
55
52
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
114
105
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
114
105
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
49
57
112
120
32
45
50
51
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
118
101
101
123
119
105
100
116
104
58
56
55
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
50
53
112
120
32
45
49
55
52
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
118
101
101
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
118
101
101
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
50
53
112
120
32
45
50
51
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
99
117
114
118
121
123
119
105
100
116
104
58
55
55
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
51
53
112
120
32
45
49
55
52
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
99
117
114
118
121
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
99
117
114
118
121
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
51
53
112
120
32
45
50
51
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
100
111
108
109
97
110
123
119
105
100
116
104
58
57
51
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
51
53
112
120
32
45
49
55
52
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
100
111
108
109
97
110
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
100
111
108
109
97
110
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
51
53
112
120
32
45
50
51
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
109
101
110
115
123
119
105
100
116
104
58
49
48
48
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
50
56
112
120
32
45
49
55
52
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
109
101
110
115
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
109
101
110
115
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
50
56
112
120
32
45
50
51
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
115
108
111
117
99
104
95
116
123
119
105
100
116
104
58
56
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
50
55
112
120
32
45
49
55
52
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
115
108
111
117
99
104
95
116
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
115
108
111
117
99
104
95
116
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
50
55
112
120
32
45
50
51
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
115
108
111
117
99
104
95
118
123
119
105
100
116
104
58
49
52
51
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
54
49
48
112
120
32
45
49
55
52
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
115
108
111
117
99
104
95
118
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
115
108
111
117
99
104
95
118
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
54
49
48
112
120
32
45
50
51
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
108
97
100
121
95
105
110
95
109
101
110
123
119
105
100
116
104
58
57
57
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
55
53
54
112
120
32
45
49
55
52
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
108
97
100
121
95
105
110
95
109
101
110
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
108
97
100
121
95
105
110
95
109
101
110
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
55
53
54
112
120
32
45
50
51
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
112
114
101
109
105
117
109
123
119
105
100
116
104
58
49
48
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
56
53
54
112
120
32
45
49
55
52
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
112
114
101
109
105
117
109
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
112
114
101
109
105
117
109
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
56
53
54
112
120
32
45
50
51
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
114
101
103
117
108
97
114
123
119
105
100
116
104
58
57
52
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
48
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
48
112
120
32
45
50
57
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
114
101
103
117
108
97
114
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
114
101
103
117
108
97
114
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
48
112
120
32
45
51
52
56
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
116
114
105
98
108
101
110
100
123
119
105
100
116
104
58
49
48
53
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
52
52
112
120
32
45
50
57
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
116
114
105
98
108
101
110
100
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
116
114
105
98
108
101
110
100
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
52
52
112
120
32
45
51
52
56
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
109
117
115
99
108
101
123
119
105
100
116
104
58
56
54
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
52
57
112
120
32
45
50
57
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
109
117
115
99
108
101
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
109
117
115
99
108
101
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
52
57
112
120
32
45
51
52
56
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
106
114
45
114
97
99
101
114
98
97
99
107
123
119
105
100
116
104
58
49
51
52
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
51
53
112
120
32
45
50
57
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
106
114
45
114
97
99
101
114
98
97
99
107
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
106
114
45
114
97
99
101
114
98
97
99
107
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
51
53
112
120
32
45
51
52
56
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
112
114
101
109
105
117
109
45
114
97
99
101
114
98
97
99
107
123
119
105
100
116
104
58
49
57
48
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
54
57
112
120
32
45
50
57
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
112
114
101
109
105
117
109
45
114
97
99
101
114
98
97
99
107
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
112
114
101
109
105
117
109
45
114
97
99
101
114
98
97
99
107
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
54
57
112
120
32
45
51
52
56
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
116
114
105
98
108
101
110
100
45
114
97
99
101
114
98
97
99
107
123
119
105
100
116
104
58
49
57
50
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
54
53
57
112
120
32
45
50
57
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
116
114
105
98
108
101
110
100
45
114
97
99
101
114
98
97
99
107
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
116
97
110
107
45
116
114
105
98
108
101
110
100
45
114
97
99
101
114
98
97
99
107
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
54
53
57
112
120
32
45
51
52
56
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
108
111
110
103
115
108
101
101
118
101
45
114
101
103
117
108
97
114
123
119
105
100
116
104
58
57
51
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
56
53
112
120
32
45
54
57
54
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
108
111
110
103
115
108
101
101
118
101
45
114
101
103
117
108
97
114
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
108
111
110
103
115
108
101
101
118
101
45
114
101
103
117
108
97
114
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
56
53
112
120
32
45
55
53
52
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
108
111
110
103
115
108
101
101
118
101
45
115
99
111
111
112
123
119
105
100
116
104
58
55
56
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
55
57
112
120
32
45
54
57
54
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
108
111
110
103
115
108
101
101
118
101
45
115
99
111
111
112
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
108
111
110
103
115
108
101
101
118
101
45
115
99
111
111
112
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
55
57
112
120
32
45
55
53
52
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
108
111
110
103
115
108
101
101
118
101
45
112
114
101
109
105
117
109
123
119
105
100
116
104
58
49
48
50
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
53
55
112
120
32
45
54
57
53
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
108
111
110
103
115
108
101
101
118
101
45
112
114
101
109
105
117
109
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
108
111
110
103
115
108
101
101
118
101
45
112
114
101
109
105
117
109
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
53
55
112
120
32
45
55
53
51
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
99
114
101
119
110
101
99
107
45
114
101
103
117
108
97
114
123
119
105
100
116
104
58
57
50
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
51
57
112
120
32
45
52
48
54
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
99
114
101
119
110
101
99
107
45
114
101
103
117
108
97
114
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
99
114
101
119
110
101
99
107
45
114
101
103
117
108
97
114
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
51
57
112
120
32
45
52
54
52
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
99
114
101
119
110
101
99
107
45
108
105
103
104
116
119
101
105
103
104
116
123
119
105
100
116
104
58
49
51
53
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
55
49
54
112
120
32
45
52
48
54
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
99
114
101
119
110
101
99
107
45
108
105
103
104
116
119
101
105
103
104
116
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
99
114
101
119
110
101
99
107
45
108
105
103
104
116
119
101
105
103
104
116
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
55
49
54
112
120
32
45
52
54
52
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
104
111
111
100
105
101
45
114
101
103
117
108
97
114
123
119
105
100
116
104
58
56
53
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
51
53
54
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
52
57
112
120
32
45
53
50
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
104
111
111
100
105
101
45
114
101
103
117
108
97
114
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
104
111
111
100
105
101
45
114
101
103
117
108
97
114
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
52
57
112
120
32
45
53
56
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
104
111
111
100
105
101
45
108
105
103
104
116
119
101
105
103
104
116
123
119
105
100
116
104
58
49
51
55
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
51
52
112
120
32
45
53
50
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
104
111
111
100
105
101
45
108
105
103
104
116
119
101
105
103
104
116
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
104
111
111
100
105
101
45
108
105
103
104
116
119
101
105
103
104
116
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
51
52
112
120
32
45
53
56
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
104
111
111
100
105
101
45
122
105
112
123
119
105
100
116
104
58
49
49
53
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
55
48
112
120
32
45
53
50
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
104
111
111
100
105
101
45
122
105
112
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
104
111
111
100
105
101
45
122
105
112
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
55
48
112
120
32
45
53
56
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
104
111
111
100
105
101
45
108
105
103
104
116
119
101
105
103
104
116
45
122
105
112
123
119
105
100
116
104
58
49
54
54
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
54
56
53
112
120
32
45
53
50
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
104
111
111
100
105
101
45
108
105
103
104
116
119
101
105
103
104
116
45
122
105
112
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
104
111
111
100
105
101
45
108
105
103
104
116
119
101
105
103
104
116
45
122
105
112
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
54
56
53
112
120
32
45
53
56
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
116
111
100
100
108
101
114
123
109
97
114
103
105
110
45
108
101
102
116
58
50
48
112
120
59
119
105
100
116
104
58
57
51
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
56
112
120
32
45
56
49
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
116
111
100
100
108
101
114
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
116
111
100
100
108
101
114
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
56
112
120
32
45
56
55
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
106
117
118
101
110
105
108
101
123
119
105
100
116
104
58
57
54
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
48
49
112
120
32
45
56
49
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
106
117
118
101
110
105
108
101
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
106
117
118
101
110
105
108
101
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
48
49
112
120
32
45
56
55
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
121
111
117
116
104
123
119
105
100
116
104
58
55
55
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
57
56
112
120
32
45
56
49
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
121
111
117
116
104
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
121
111
117
116
104
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
57
56
112
120
32
45
56
55
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
105
110
102
97
110
116
123
119
105
100
116
104
58
55
55
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
55
53
112
120
32
45
56
49
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
105
110
102
97
110
116
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
105
110
102
97
110
116
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
55
53
112
120
32
45
56
54
57
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
104
111
111
100
105
101
123
119
105
100
116
104
58
56
55
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
53
50
112
120
32
45
56
49
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
104
111
111
100
105
101
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
104
111
111
100
105
101
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
53
50
112
120
32
45
56
54
57
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
108
111
110
103
123
119
105
100
116
104
58
49
54
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
51
57
112
120
32
45
56
49
50
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
108
111
110
103
46
115
101
108
101
99
116
101
100
44
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
62
100
105
118
62
100
105
118
62
97
46
107
105
100
115
45
108
111
110
103
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
51
57
112
120
32
45
56
54
57
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
32
46
99
114
101
119
110
101
99
107
115
32
46
109
97
108
101
32
46
99
114
101
119
110
101
99
107
45
114
101
103
117
108
97
114
123
109
97
114
103
105
110
45
108
101
102
116
58
53
57
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
115
117
98
110
97
118
115
32
46
99
114
101
119
110
101
99
107
115
32
46
102
101
109
97
108
101
32
46
99
114
101
119
110
101
99
107
45
114
101
103
117
108
97
114
123
109
97
114
103
105
110
45
108
101
102
116
58
53
51
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
99
104
97
114
116
115
123
109
97
120
45
104
101
105
103
104
116
58
55
48
48
112
120
59
111
118
101
114
102
108
111
119
45
121
58
115
99
114
111
108
108
59
111
118
101
114
102
108
111
119
45
120
58
104
105
100
100
101
110
125
35
115
105
122
101
99
104
97
114
116
32
46
99
104
97
114
116
115
62
100
105
118
123
100
105
115
112
108
97
121
58
110
111
110
101
125
35
115
105
122
101
99
104
97
114
116
32
46
99
104
97
114
116
115
62
100
105
118
32
105
109
103
123
102
108
111
97
116
58
108
101
102
116
125
35
115
105
122
101
99
104
97
114
116
32
46
99
104
97
114
116
115
32
105
109
103
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
109
97
114
103
105
110
45
114
105
103
104
116
58
97
117
116
111
59
109
97
114
103
105
110
45
108
101
102
116
58
97
117
116
111
125
35
115
105
122
101
99
104
97
114
116
32
46
99
104
97
114
116
115
32
46
116
97
110
107
115
32
46
102
101
109
97
108
101
32
46
109
97
108
101
45
98
117
116
116
111
110
123
102
108
111
97
116
58
108
101
102
116
59
109
97
114
103
105
110
45
108
101
102
116
58
50
48
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
99
104
97
114
116
115
32
46
116
97
110
107
115
32
46
102
101
109
97
108
101
32
46
114
97
99
101
114
98
97
99
107
45
98
117
116
116
111
110
44
35
115
105
122
101
99
104
97
114
116
32
46
99
104
97
114
116
115
32
46
116
97
110
107
115
32
46
102
101
109
97
108
101
32
46
114
101
103
117
108
97
114
45
98
117
116
116
111
110
123
102
108
111
97
116
58
114
105
103
104
116
59
109
97
114
103
105
110
45
114
105
103
104
116
58
50
48
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
99
104
97
114
116
115
32
46
116
97
110
107
115
32
46
102
101
109
97
108
101
32
46
114
101
103
117
108
97
114
45
98
117
116
116
111
110
123
112
97
100
100
105
110
103
58
48
112
120
59
104
101
105
103
104
116
58
50
55
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
99
104
97
114
116
115
32
46
109
101
116
114
105
99
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
53
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
48
112
120
125
35
115
105
122
101
99
104
97
114
116
32
46
99
104
97
114
116
115
32
46
105
109
112
101
114
105
97
108
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
100
105
115
112
108
97
121
58
110
111
110
101
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
53
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
48
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
123
108
101
102
116
58
48
112
120
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
109
97
120
45
119
105
100
116
104
58
55
48
48
112
120
59
119
105
100
116
104
58
49
48
48
37
59
104
101
105
103
104
116
58
97
117
116
111
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
123
109
97
120
45
119
105
100
116
104
58
55
48
48
112
120
59
119
105
100
116
104
58
49
48
48
37
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
105
109
103
123
119
105
100
116
104
58
49
48
48
37
59
104
101
105
103
104
116
58
97
117
116
111
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
100
105
118
46
99
108
111
115
101
45
114
101
118
101
97
108
45
109
111
100
97
108
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
45
53
53
112
120
59
114
105
103
104
116
58
45
54
48
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
120
108
97
114
103
101
45
51
48
48
41
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
122
45
105
110
100
101
120
58
49
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
100
105
118
46
99
108
111
115
101
45
114
101
118
101
97
108
45
109
111
100
97
108
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
104
49
123
112
97
100
100
105
110
103
58
50
52
112
120
32
48
32
49
50
112
120
32
33
105
109
112
111
114
116
97
110
116
59
109
97
114
103
105
110
58
48
32
33
105
109
112
111
114
116
97
110
116
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
120
108
97
114
103
101
45
49
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
123
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
103
97
114
109
101
110
116
45
105
110
102
111
47
115
112
101
99
45
110
97
118
45
115
112
114
105
116
101
45
49
102
101
97
54
101
100
97
53
55
102
97
54
49
56
55
56
52
48
100
101
97
102
53
50
56
52
54
99
100
50
99
56
51
102
52
57
100
98
98
55
100
100
56
98
99
53
53
56
53
101
49
57
51
51
53
53
52
101
48
100
97
50
51
46
112
110
103
34
41
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
32
97
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
32
100
105
118
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
104
101
105
103
104
116
58
52
56
112
120
59
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
103
97
114
109
101
110
116
45
105
110
102
111
47
115
112
101
99
45
110
97
118
45
115
112
114
105
116
101
45
49
102
101
97
54
101
100
97
53
55
102
97
54
49
56
55
56
52
48
100
101
97
102
53
50
56
52
54
99
100
50
99
56
51
102
52
57
100
98
98
55
100
100
56
98
99
53
53
56
53
101
49
57
51
51
53
53
52
101
48
100
97
50
51
46
112
110
103
34
41
59
102
108
111
97
116
58
108
101
102
116
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
32
97
123
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
32
97
32
105
109
103
123
102
108
111
97
116
58
108
101
102
116
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
32
48
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
114
101
103
117
108
97
114
123
119
105
100
116
104
58
56
54
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
53
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
112
120
32
48
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
114
101
103
117
108
97
114
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
114
101
103
117
108
97
114
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
112
120
32
45
53
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
116
114
105
123
119
105
100
116
104
58
56
54
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
57
49
112
120
32
48
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
116
114
105
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
116
114
105
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
57
49
112
120
32
45
53
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
118
101
101
123
119
105
100
116
104
58
56
54
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
55
55
112
120
32
48
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
118
101
101
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
118
101
101
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
55
55
112
120
32
45
53
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
99
117
114
118
121
123
119
105
100
116
104
58
56
54
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
54
51
112
120
32
48
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
99
117
114
118
121
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
99
117
114
118
121
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
54
51
112
120
32
45
53
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
100
111
108
109
97
110
123
119
105
100
116
104
58
56
54
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
52
57
112
120
32
48
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
100
111
108
109
97
110
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
100
111
108
109
97
110
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
52
57
112
120
32
45
53
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
115
108
111
117
99
104
121
45
116
123
119
105
100
116
104
58
56
54
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
51
53
112
120
32
48
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
115
108
111
117
99
104
121
45
116
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
115
108
111
117
99
104
121
45
116
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
51
53
112
120
32
45
53
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
115
108
111
117
99
104
121
45
118
123
119
105
100
116
104
58
56
54
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
50
49
112
120
32
48
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
115
108
111
117
99
104
121
45
118
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
115
108
111
117
99
104
121
45
118
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
50
49
112
120
32
45
53
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
112
114
101
109
105
117
109
123
119
105
100
116
104
58
56
55
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
54
48
55
112
120
32
48
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
112
114
101
109
105
117
109
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
101
101
45
110
97
118
32
97
46
112
114
101
109
105
117
109
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
54
48
55
112
120
32
45
53
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
32
49
49
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
114
101
103
117
108
97
114
123
119
105
100
116
104
58
49
49
49
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
49
54
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
54
112
120
32
45
49
49
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
114
101
103
117
108
97
114
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
114
101
103
117
108
97
114
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
54
112
120
32
45
49
55
52
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
116
114
105
98
108
101
110
100
123
119
105
100
116
104
58
49
49
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
50
55
112
120
32
45
49
49
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
116
114
105
98
108
101
110
100
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
116
114
105
98
108
101
110
100
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
50
55
112
120
32
45
49
55
52
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
109
117
115
99
108
101
123
119
105
100
116
104
58
49
49
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
51
56
112
120
32
45
49
49
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
109
117
115
99
108
101
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
109
117
115
99
108
101
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
51
56
112
120
32
45
49
55
52
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
106
114
45
114
97
99
101
114
98
97
99
107
123
119
105
100
116
104
58
49
49
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
52
57
112
120
32
45
49
49
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
106
114
45
114
97
99
101
114
98
97
99
107
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
106
114
45
114
97
99
101
114
98
97
99
107
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
52
57
112
120
32
45
49
55
52
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
116
114
105
98
108
101
110
100
45
114
97
99
101
114
98
97
99
107
123
119
105
100
116
104
58
49
49
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
54
48
112
120
32
45
49
49
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
116
114
105
98
108
101
110
100
45
114
97
99
101
114
98
97
99
107
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
116
114
105
98
108
101
110
100
45
114
97
99
101
114
98
97
99
107
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
54
48
112
120
32
45
49
55
52
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
112
114
101
109
105
117
109
45
114
97
99
101
114
98
97
99
107
123
119
105
100
116
104
58
49
49
50
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
55
49
112
120
32
45
49
49
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
112
114
101
109
105
117
109
45
114
97
99
101
114
98
97
99
107
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
116
97
110
107
45
110
97
118
32
97
46
116
97
110
107
45
112
114
101
109
105
117
109
45
114
97
99
101
114
98
97
99
107
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
53
55
49
112
120
32
45
49
55
52
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
111
111
100
105
101
45
110
97
118
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
32
45
51
52
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
111
111
100
105
101
45
110
97
118
32
97
46
104
111
111
100
105
101
45
99
108
97
115
115
105
99
123
119
105
100
116
104
58
49
51
49
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
56
56
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
56
56
112
120
32
45
51
52
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
111
111
100
105
101
45
110
97
118
32
97
46
104
111
111
100
105
101
45
99
108
97
115
115
105
99
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
111
111
100
105
101
45
110
97
118
32
97
46
104
111
111
100
105
101
45
99
108
97
115
115
105
99
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
56
56
112
120
32
45
52
48
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
111
111
100
105
101
45
110
97
118
32
97
46
104
111
111
100
105
101
45
108
105
103
104
116
119
101
105
103
104
116
123
119
105
100
116
104
58
49
51
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
50
48
112
120
32
45
51
52
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
111
111
100
105
101
45
110
97
118
32
97
46
104
111
111
100
105
101
45
108
105
103
104
116
119
101
105
103
104
116
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
111
111
100
105
101
45
110
97
118
32
97
46
104
111
111
100
105
101
45
108
105
103
104
116
119
101
105
103
104
116
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
50
48
112
120
32
45
52
48
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
111
111
100
105
101
45
110
97
118
32
97
46
104
111
111
100
105
101
45
99
108
97
115
115
105
99
45
122
105
112
123
119
105
100
116
104
58
49
51
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
53
48
112
120
32
45
51
52
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
111
111
100
105
101
45
110
97
118
32
97
46
104
111
111
100
105
101
45
99
108
97
115
115
105
99
45
122
105
112
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
111
111
100
105
101
45
110
97
118
32
97
46
104
111
111
100
105
101
45
99
108
97
115
115
105
99
45
122
105
112
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
53
48
112
120
32
45
52
48
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
111
111
100
105
101
45
110
97
118
32
97
46
104
111
111
100
105
101
45
108
105
103
104
116
119
101
105
103
104
116
45
122
105
112
123
119
105
100
116
104
58
49
51
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
56
48
112
120
32
45
51
52
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
111
111
100
105
101
45
110
97
118
32
97
46
104
111
111
100
105
101
45
108
105
103
104
116
119
101
105
103
104
116
45
122
105
112
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
111
111
100
105
101
45
110
97
118
32
97
46
104
111
111
100
105
101
45
108
105
103
104
116
119
101
105
103
104
116
45
122
105
112
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
56
48
112
120
32
45
52
48
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
99
114
101
119
110
101
99
107
45
110
97
118
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
32
45
50
51
50
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
99
114
101
119
110
101
99
107
45
110
97
118
32
97
46
99
114
101
119
110
101
99
107
45
114
101
103
117
108
97
114
123
119
105
100
116
104
58
49
53
50
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
49
50
50
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
50
50
112
120
32
45
50
51
50
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
99
114
101
119
110
101
99
107
45
110
97
118
32
97
46
99
114
101
119
110
101
99
107
45
114
101
103
117
108
97
114
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
99
114
101
119
110
101
99
107
45
110
97
118
32
97
46
99
114
101
119
110
101
99
107
45
114
101
103
117
108
97
114
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
50
50
112
120
32
45
50
57
48
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
99
114
101
119
110
101
99
107
45
110
97
118
32
97
46
99
114
101
119
110
101
99
107
45
108
105
103
104
116
119
101
105
103
104
116
123
119
105
100
116
104
58
49
53
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
50
54
112
120
32
45
50
51
50
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
99
114
101
119
110
101
99
107
45
110
97
118
32
97
46
99
114
101
119
110
101
99
107
45
108
105
103
104
116
119
101
105
103
104
116
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
99
114
101
119
110
101
99
107
45
110
97
118
32
97
46
99
114
101
119
110
101
99
107
45
108
105
103
104
116
119
101
105
103
104
116
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
50
54
112
120
32
45
50
57
48
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
97
116
101
114
105
97
108
45
110
97
118
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
32
45
52
54
52
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
97
116
101
114
105
97
108
45
110
97
118
32
97
46
97
114
116
95
112
114
105
110
116
123
119
105
100
116
104
58
49
51
50
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
49
53
51
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
53
51
112
120
32
45
52
54
52
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
97
116
101
114
105
97
108
45
110
97
118
32
97
46
97
114
116
95
112
114
105
110
116
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
97
116
101
114
105
97
108
45
110
97
118
32
97
46
97
114
116
95
112
114
105
110
116
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
53
51
112
120
32
45
53
50
50
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
97
116
101
114
105
97
108
45
110
97
118
32
97
46
112
111
115
116
101
114
123
119
105
100
116
104
58
49
51
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
56
53
112
120
32
45
52
54
52
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
97
116
101
114
105
97
108
45
110
97
118
32
97
46
112
111
115
116
101
114
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
97
116
101
114
105
97
108
45
110
97
118
32
97
46
112
111
115
116
101
114
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
56
53
112
120
32
45
53
50
50
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
97
116
101
114
105
97
108
45
110
97
118
32
97
46
97
114
116
95
99
97
110
118
97
115
123
119
105
100
116
104
58
49
51
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
49
54
112
120
32
45
52
54
52
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
97
116
101
114
105
97
108
45
110
97
118
32
97
46
97
114
116
95
99
97
110
118
97
115
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
97
116
101
114
105
97
108
45
110
97
118
32
97
46
97
114
116
95
99
97
110
118
97
115
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
49
54
112
120
32
45
53
50
50
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
108
111
110
103
115
108
101
101
118
101
45
110
97
118
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
32
45
53
56
48
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
108
111
110
103
115
108
101
101
118
101
45
110
97
118
32
97
46
108
111
110
103
115
108
101
101
118
101
45
114
101
103
117
108
97
114
123
119
105
100
116
104
58
49
51
50
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
49
53
51
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
53
51
112
120
32
45
53
56
48
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
108
111
110
103
115
108
101
101
118
101
45
110
97
118
32
97
46
108
111
110
103
115
108
101
101
118
101
45
114
101
103
117
108
97
114
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
108
111
110
103
115
108
101
101
118
101
45
110
97
118
32
97
46
108
111
110
103
115
108
101
101
118
101
45
114
101
103
117
108
97
114
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
53
51
112
120
32
45
54
51
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
108
111
110
103
115
108
101
101
118
101
45
110
97
118
32
97
46
108
111
110
103
115
108
101
101
118
101
45
115
99
111
111
112
123
119
105
100
116
104
58
49
51
50
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
56
52
112
120
32
45
53
56
48
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
108
111
110
103
115
108
101
101
118
101
45
110
97
118
32
97
46
108
111
110
103
115
108
101
101
118
101
45
115
99
111
111
112
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
108
111
110
103
115
108
101
101
118
101
45
110
97
118
32
97
46
108
111
110
103
115
108
101
101
118
101
45
115
99
111
111
112
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
56
52
112
120
32
45
54
51
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
108
111
110
103
115
108
101
101
118
101
45
110
97
118
32
97
46
108
111
110
103
115
108
101
101
118
101
45
112
114
101
109
105
117
109
123
119
105
100
116
104
58
49
51
50
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
49
53
112
120
32
45
53
56
48
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
108
111
110
103
115
108
101
101
118
101
45
110
97
118
32
97
46
108
111
110
103
115
108
101
101
118
101
45
112
114
101
109
105
117
109
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
108
111
110
103
115
108
101
101
118
101
45
110
97
118
32
97
46
108
111
110
103
115
108
101
101
118
101
45
112
114
101
109
105
117
109
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
52
49
53
112
120
32
45
54
51
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
117
103
45
110
97
118
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
32
45
56
49
50
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
117
103
45
110
97
118
32
97
46
109
117
103
45
99
111
102
102
101
101
123
119
105
100
116
104
58
49
51
49
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
50
49
55
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
49
55
112
120
32
45
57
50
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
117
103
45
110
97
118
32
97
46
109
117
103
45
99
111
102
102
101
101
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
117
103
45
110
97
118
32
97
46
109
117
103
45
99
111
102
102
101
101
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
49
55
112
120
32
45
57
56
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
117
103
45
110
97
118
32
97
46
109
117
103
45
116
114
97
118
101
108
123
119
105
100
116
104
58
49
51
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
52
56
112
120
32
45
57
50
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
117
103
45
110
97
118
32
97
46
109
117
103
45
116
114
97
118
101
108
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
109
117
103
45
110
97
118
32
97
46
109
117
103
45
116
114
97
118
101
108
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
52
56
112
120
32
45
57
56
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
97
116
45
110
97
118
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
32
45
56
49
50
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
97
116
45
110
97
118
32
97
46
100
97
100
45
104
97
116
123
119
105
100
116
104
58
49
51
49
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
50
49
55
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
49
55
112
120
32
45
57
50
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
97
116
45
110
97
118
32
97
46
100
97
100
45
104
97
116
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
97
116
45
110
97
118
32
97
46
100
97
100
45
104
97
116
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
50
49
55
112
120
32
45
57
56
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
97
116
45
110
97
118
32
97
46
116
114
117
99
107
101
114
45
104
97
116
123
119
105
100
116
104
58
49
51
49
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
52
56
112
120
32
45
57
50
56
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
97
116
45
110
97
118
32
97
46
116
114
117
99
107
101
114
45
104
97
116
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
104
97
116
45
110
97
118
32
97
46
116
114
117
99
107
101
114
45
104
97
116
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
52
56
112
120
32
45
57
56
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
107
105
100
115
45
110
97
118
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
48
32
45
54
57
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
107
105
100
115
45
110
97
118
32
97
46
107
105
100
115
45
116
101
101
123
119
105
100
116
104
58
49
51
50
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
49
57
56
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
57
56
112
120
32
45
54
57
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
107
105
100
115
45
110
97
118
32
97
46
107
105
100
115
45
116
101
101
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
107
105
100
115
45
110
97
118
32
97
46
107
105
100
115
45
116
101
101
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
57
56
112
120
32
45
55
53
52
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
107
105
100
115
45
110
97
118
32
97
46
107
105
100
115
45
115
110
97
112
123
119
105
100
116
104
58
49
51
50
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
51
50
112
120
32
45
54
57
54
112
120
125
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
107
105
100
115
45
110
97
118
32
97
46
107
105
100
115
45
115
110
97
112
58
104
111
118
101
114
44
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
46
109
111
100
97
108
45
99
111
110
116
97
105
110
101
114
32
46
115
112
101
99
45
110
97
118
46
107
105
100
115
45
110
97
118
32
97
46
107
105
100
115
45
115
110
97
112
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
51
51
50
112
120
32
45
55
53
52
112
120
125
64
109
101
100
105
97
32
115
99
114
101
101
110
32
97
110
100
32
40
109
97
120
45
119
105
100
116
104
58
32
52
56
48
112
120
41
123
46
110
111
110
45
109
111
100
97
108
32
35
103
97
114
109
101
110
116
45
109
111
100
97
108
123
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
109
97
114
103
105
110
58
48
112
120
32
97
117
116
111
59
119
105
100
116
104
58
55
48
48
112
120
32
33
105
109
112
111
114
116
97
110
116
59
109
97
114
103
105
110
45
108
101
102
116
58
97
117
116
111
32
33
105
109
112
111
114
116
97
110
116
125
46
110
111
110
45
109
111
100
97
108
32
35
103
97
114
109
101
110
116
45
109
111
100
97
108
32
100
105
118
46
99
108
111
115
101
45
114
101
118
101
97
108
45
109
111
100
97
108
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
109
116
114
108
45
109
111
100
97
108
123
100
105
115
112
108
97
121
58
110
111
110
101
59
112
111
115
105
116
105
111
110
58
102
105
120
101
100
59
108
101
102
116
58
48
59
114
105
103
104
116
58
48
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
41
59
112
97
100
100
105
110
103
58
48
59
109
97
120
45
104
101
105
103
104
116
58
56
48
37
59
119
105
100
116
104
58
53
53
37
59
109
97
114
103
105
110
58
97
117
116
111
59
111
118
101
114
102
108
111
119
45
121
58
97
117
116
111
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
50
112
120
59
119
105
108
108
45
99
104
97
110
103
101
58
116
111
112
44
32
111
112
97
99
105
116
121
125
64
109
101
100
105
97
32
111
110
108
121
32
115
99
114
101
101
110
32
97
110
100
32
40
109
97
120
45
119
105
100
116
104
58
32
57
57
50
112
120
41
123
46
109
116
114
108
45
109
111
100
97
108
123
119
105
100
116
104
58
56
48
37
125
125
46
109
116
114
108
45
109
111
100
97
108
32
104
49
44
46
109
116
114
108
45
109
111
100
97
108
32
104
50
44
46
109
116
114
108
45
109
111
100
97
108
32
104
51
44
46
109
116
114
108
45
109
111
100
97
108
32
104
52
123
109
97
114
103
105
110
45
116
111
112
58
48
125
46
109
116
114
108
45
109
111
100
97
108
32
46
109
116
114
108
45
109
111
100
97
108
45
99
111
110
116
101
110
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
112
97
100
100
105
110
103
58
50
52
112
120
125
46
109
116
114
108
45
109
111
100
97
108
32
46
109
116
114
108
45
109
111
100
97
108
45
99
108
111
115
101
123
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
109
116
114
108
45
109
111
100
97
108
32
46
109
116
114
108
45
109
111
100
97
108
45
102
111
111
116
101
114
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
32
48
32
50
112
120
32
50
112
120
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
41
59
112
97
100
100
105
110
103
58
52
112
120
32
54
112
120
59
104
101
105
103
104
116
58
53
54
112
120
59
119
105
100
116
104
58
49
48
48
37
125
46
109
116
114
108
45
109
111
100
97
108
32
46
109
116
114
108
45
109
111
100
97
108
45
102
111
111
116
101
114
32
46
98
116
110
44
46
109
116
114
108
45
109
111
100
97
108
32
46
109
116
114
108
45
109
111
100
97
108
45
102
111
111
116
101
114
32
46
98
116
110
45
102
108
97
116
123
102
108
111
97
116
58
114
105
103
104
116
59
109
97
114
103
105
110
58
54
112
120
125
46
109
116
114
108
45
109
111
100
97
108
45
111
118
101
114
108
97
121
123
112
111
115
105
116
105
111
110
58
102
105
120
101
100
59
122
45
105
110
100
101
120
58
57
57
57
59
116
111
112
58
45
49
48
48
112
120
59
108
101
102
116
58
48
59
98
111
116
116
111
109
58
48
59
114
105
103
104
116
58
48
59
104
101
105
103
104
116
58
49
50
53
37
59
119
105
100
116
104
58
49
48
48
37
59
98
97
99
107
103
114
111
117
110
100
58
35
48
48
48
59
100
105
115
112
108
97
121
58
110
111
110
101
59
119
105
108
108
45
99
104
97
110
103
101
58
111
112
97
99
105
116
121
125
46
109
116
114
108
45
109
111
100
97
108
46
109
116
114
108
45
109
111
100
97
108
45
102
105
120
101
100
45
104
101
97
100
101
114
123
112
97
100
100
105
110
103
58
48
59
104
101
105
103
104
116
58
56
48
37
125
46
109
116
114
108
45
109
111
100
97
108
46
109
116
114
108
45
109
111
100
97
108
45
102
105
120
101
100
45
104
101
97
100
101
114
32
46
109
116
114
108
45
109
111
100
97
108
45
99
111
110
116
101
110
116
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
104
101
105
103
104
116
58
99
97
108
99
40
49
48
48
37
32
45
32
54
48
112
120
41
59
109
97
120
45
104
101
105
103
104
116
58
49
48
48
37
59
119
105
100
116
104
58
49
48
48
37
59
111
118
101
114
102
108
111
119
45
121
58
97
117
116
111
59
98
111
116
116
111
109
58
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
116
114
108
45
109
111
100
97
108
46
109
116
114
108
45
109
111
100
97
108
45
102
105
120
101
100
45
104
101
97
100
101
114
32
46
109
116
114
108
45
109
111
100
97
108
45
99
111
110
116
101
110
116
123
104
101
105
103
104
116
58
99
97
108
99
40
49
48
48
37
32
45
32
49
48
48
112
120
41
125
125
46
109
116
114
108
45
109
111
100
97
108
46
109
116
114
108
45
109
111
100
97
108
45
102
105
120
101
100
45
102
111
111
116
101
114
123
112
97
100
100
105
110
103
58
48
59
104
101
105
103
104
116
58
56
48
37
125
46
109
116
114
108
45
109
111
100
97
108
46
109
116
114
108
45
109
111
100
97
108
45
102
105
120
101
100
45
102
111
111
116
101
114
32
46
109
116
114
108
45
109
111
100
97
108
45
99
111
110
116
101
110
116
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
104
101
105
103
104
116
58
99
97
108
99
40
49
48
48
37
32
45
32
49
48
48
112
120
41
59
109
97
120
45
104
101
105
103
104
116
58
49
48
48
37
59
119
105
100
116
104
58
49
48
48
37
59
111
118
101
114
102
108
111
119
45
121
58
97
117
116
111
125
46
109
116
114
108
45
109
111
100
97
108
46
109
116
114
108
45
109
111
100
97
108
45
102
105
120
101
100
45
102
111
111
116
101
114
32
46
109
116
114
108
45
109
111
100
97
108
45
102
111
111
116
101
114
123
98
111
114
100
101
114
45
116
111
112
58
49
112
120
32
115
111
108
105
100
32
114
103
98
97
40
48
44
48
44
48
44
48
46
49
41
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
98
111
116
116
111
109
58
48
125
46
109
116
114
108
45
109
111
100
97
108
46
98
111
116
116
111
109
45
115
104
101
101
116
123
116
111
112
58
97
117
116
111
59
98
111
116
116
111
109
58
45
49
48
48
37
59
109
97
114
103
105
110
58
48
59
119
105
100
116
104
58
49
48
48
37
59
109
97
120
45
104
101
105
103
104
116
58
52
53
37
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
59
119
105
108
108
45
99
104
97
110
103
101
58
98
111
116
116
111
109
44
32
111
112
97
99
105
116
121
125
46
109
116
114
108
45
109
111
100
97
108
46
116
111
112
45
115
104
101
101
116
123
98
111
116
116
111
109
58
97
117
116
111
59
116
111
112
58
45
49
48
48
37
59
109
97
114
103
105
110
58
48
59
119
105
100
116
104
58
49
48
48
37
59
109
97
120
45
104
101
105
103
104
116
58
52
53
37
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
59
119
105
108
108
45
99
104
97
110
103
101
58
116
111
112
44
32
111
112
97
99
105
116
121
125
46
109
116
114
108
45
109
111
100
97
108
46
102
117
108
108
45
115
99
114
101
101
110
123
98
111
116
116
111
109
58
48
59
116
111
112
58
45
49
48
48
37
59
109
97
114
103
105
110
58
48
59
109
105
110
45
119
105
100
116
104
58
49
48
48
37
59
109
105
110
45
104
101
105
103
104
116
58
49
48
48
37
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
59
119
105
108
108
45
99
104
97
110
103
101
58
116
111
112
44
32
111
112
97
99
105
116
121
125
46
109
116
114
108
45
109
111
100
97
108
46
114
105
103
104
116
45
115
104
101
101
116
123
108
101
102
116
58
97
117
116
111
59
114
105
103
104
116
58
45
49
48
48
37
59
109
97
114
103
105
110
58
48
59
104
101
105
103
104
116
58
49
48
48
37
59
109
97
120
45
119
105
100
116
104
58
52
53
37
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
59
119
105
108
108
45
99
104
97
110
103
101
58
114
105
103
104
116
44
32
111
112
97
99
105
116
121
125
46
109
116
114
108
45
109
111
100
97
108
46
108
101
102
116
45
115
104
101
101
116
123
114
105
103
104
116
58
97
117
116
111
59
108
101
102
116
58
45
49
48
48
37
59
109
97
114
103
105
110
58
48
59
104
101
105
103
104
116
58
49
48
48
37
59
109
97
120
45
119
105
100
116
104
58
52
53
37
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
59
119
105
108
108
45
99
104
97
110
103
101
58
108
101
102
116
44
32
111
112
97
99
105
116
121
125
46
97
108
101
114
116
45
98
111
120
44
46
97
108
101
114
116
45
98
111
120
45
45
99
111
111
108
44
46
97
108
101
114
116
45
98
111
120
45
45
115
112
105
99
121
44
46
97
108
101
114
116
45
98
111
120
45
45
112
111
115
105
116
105
118
101
44
46
97
108
101
114
116
45
98
111
120
45
45
110
101
117
116
114
97
108
44
46
97
108
101
114
116
45
98
111
120
45
45
109
105
108
100
44
46
97
108
101
114
116
45
98
111
120
45
45
105
109
112
111
114
116
97
110
116
123
98
111
114
100
101
114
45
108
101
102
116
58
52
112
120
32
115
111
108
105
100
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
52
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
53
101
109
59
109
97
114
103
105
110
58
49
53
112
120
32
48
59
112
97
100
100
105
110
103
58
50
48
112
120
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
97
108
101
114
116
45
98
111
120
44
46
97
108
101
114
116
45
98
111
120
45
45
99
111
111
108
44
46
97
108
101
114
116
45
98
111
120
45
45
115
112
105
99
121
44
46
97
108
101
114
116
45
98
111
120
45
45
112
111
115
105
116
105
118
101
44
46
97
108
101
114
116
45
98
111
120
45
45
110
101
117
116
114
97
108
44
46
97
108
101
114
116
45
98
111
120
45
45
109
105
108
100
44
46
97
108
101
114
116
45
98
111
120
45
45
105
109
112
111
114
116
97
110
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
112
97
100
100
105
110
103
58
51
48
112
120
125
125
46
97
108
101
114
116
45
98
111
120
32
112
44
46
97
108
101
114
116
45
98
111
120
45
45
99
111
111
108
32
112
44
46
97
108
101
114
116
45
98
111
120
45
45
115
112
105
99
121
32
112
44
46
97
108
101
114
116
45
98
111
120
45
45
112
111
115
105
116
105
118
101
32
112
44
46
97
108
101
114
116
45
98
111
120
45
45
110
101
117
116
114
97
108
32
112
44
46
97
108
101
114
116
45
98
111
120
45
45
109
105
108
100
32
112
44
46
97
108
101
114
116
45
98
111
120
45
45
105
109
112
111
114
116
97
110
116
32
112
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
125
46
97
108
101
114
116
45
98
111
120
32
112
58
108
97
115
116
45
99
104
105
108
100
44
46
97
108
101
114
116
45
98
111
120
45
45
99
111
111
108
32
112
58
108
97
115
116
45
99
104
105
108
100
44
46
97
108
101
114
116
45
98
111
120
45
45
115
112
105
99
121
32
112
58
108
97
115
116
45
99
104
105
108
100
44
46
97
108
101
114
116
45
98
111
120
45
45
112
111
115
105
116
105
118
101
32
112
58
108
97
115
116
45
99
104
105
108
100
44
46
97
108
101
114
116
45
98
111
120
45
45
110
101
117
116
114
97
108
32
112
58
108
97
115
116
45
99
104
105
108
100
44
46
97
108
101
114
116
45
98
111
120
45
45
109
105
108
100
32
112
58
108
97
115
116
45
99
104
105
108
100
44
46
97
108
101
114
116
45
98
111
120
45
45
105
109
112
111
114
116
97
110
116
32
112
58
108
97
115
116
45
99
104
105
108
100
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
97
108
101
114
116
45
98
111
120
45
45
105
109
112
111
114
116
97
110
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
98
111
114
100
101
114
45
108
101
102
116
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
46
97
108
101
114
116
45
98
111
120
45
45
109
105
108
100
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
49
48
48
41
59
98
111
114
100
101
114
45
108
101
102
116
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
53
48
48
41
125
46
97
108
101
114
116
45
98
111
120
45
45
109
105
108
100
32
115
116
114
111
110
103
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
46
97
108
101
114
116
45
98
111
120
45
45
110
101
117
116
114
97
108
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
114
100
101
114
45
108
101
102
116
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
97
108
101
114
116
45
98
111
120
45
45
110
101
117
116
114
97
108
46
97
108
101
114
116
45
98
111
120
45
45
110
111
45
98
111
114
100
101
114
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
112
97
100
100
105
110
103
58
51
48
112
120
32
50
53
112
120
125
46
97
108
101
114
116
45
98
111
120
45
45
110
111
45
98
111
114
100
101
114
123
98
111
114
100
101
114
45
108
101
102
116
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
46
97
108
101
114
116
45
98
111
120
45
45
112
111
115
105
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
45
97
49
48
41
59
98
111
114
100
101
114
45
108
101
102
116
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
125
46
97
108
101
114
116
45
98
111
120
45
45
115
112
105
99
121
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
49
48
48
41
59
98
111
114
100
101
114
45
108
101
102
116
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
97
108
101
114
116
45
98
111
120
45
45
99
111
111
108
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
98
111
114
100
101
114
45
108
101
102
116
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
97
108
101
114
116
45
98
111
120
45
45
110
97
114
114
111
119
123
112
97
100
100
105
110
103
58
50
48
112
120
125
46
97
108
101
114
116
45
98
111
120
45
45
110
97
114
114
111
119
101
115
116
123
112
97
100
100
105
110
103
58
49
53
112
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
46
97
108
101
114
116
45
98
111
120
45
45
100
101
115
107
116
111
112
45
115
112
97
99
105
110
103
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
97
108
101
114
116
45
98
111
120
45
45
100
101
115
107
116
111
112
45
115
112
97
99
105
110
103
123
109
97
114
103
105
110
58
48
32
48
32
51
48
112
120
32
48
125
125
46
97
108
101
114
116
45
98
111
120
45
45
110
111
45
115
112
97
99
101
123
109
97
114
103
105
110
58
48
125
46
97
108
101
114
116
45
98
111
120
45
45
115
109
45
115
112
97
99
101
123
109
97
114
103
105
110
58
53
112
120
125
46
97
108
101
114
116
45
98
111
120
45
45
105
110
108
105
110
101
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
97
108
101
114
116
45
98
111
120
45
45
105
110
108
105
110
101
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
125
125
46
97
108
101
114
116
45
98
111
120
45
45
105
110
108
105
110
101
45
110
111
45
115
112
97
99
101
123
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
115
116
97
114
116
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
115
116
97
114
116
125
46
97
108
101
114
116
45
98
111
120
45
45
110
111
45
98
111
114
100
101
114
123
98
111
114
100
101
114
45
108
101
102
116
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
46
97
108
101
114
116
45
98
111
120
45
45
112
97
114
97
103
114
97
112
104
45
115
112
97
99
105
110
103
123
112
97
100
100
105
110
103
45
116
111
112
58
49
48
112
120
125
46
102
108
97
115
104
32
46
110
111
116
105
99
101
44
46
102
108
97
115
104
32
46
101
114
114
111
114
44
46
102
108
97
115
104
32
46
119
97
114
110
105
110
103
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
98
111
114
100
101
114
58
110
111
110
101
59
109
97
114
103
105
110
45
108
101
102
116
58
97
117
116
111
59
109
97
114
103
105
110
45
114
105
103
104
116
58
97
117
116
111
59
112
97
100
100
105
110
103
58
49
48
112
120
32
49
53
112
120
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
46
102
108
97
115
104
32
46
110
111
116
105
99
101
32
42
44
46
102
108
97
115
104
32
46
101
114
114
111
114
32
42
44
46
102
108
97
115
104
32
46
119
97
114
110
105
110
103
32
42
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
102
108
97
115
104
32
46
110
111
116
105
99
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
125
46
102
108
97
115
104
32
46
110
111
116
105
99
101
32
97
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
58
117
110
100
101
114
108
105
110
101
125
46
102
108
97
115
104
32
46
110
111
116
105
99
101
32
97
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
102
108
97
115
104
32
46
119
97
114
110
105
110
103
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
102
108
97
115
104
32
46
101
114
114
111
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
102
111
114
109
95
95
97
99
116
105
111
110
115
32
46
102
111
114
109
95
95
102
105
101
108
100
58
102
105
114
115
116
45
99
104
105
108
100
123
109
97
114
103
105
110
45
108
101
102
116
58
48
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
32
46
102
111
114
109
95
95
97
99
116
105
111
110
115
123
45
119
101
98
107
105
116
45
102
108
101
120
45
98
97
115
105
115
58
49
59
102
108
101
120
45
98
97
115
105
115
58
49
59
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
125
46
102
111
114
109
95
95
97
99
116
105
111
110
115
45
45
114
105
103
104
116
123
116
101
120
116
45
97
108
105
103
110
58
114
105
103
104
116
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
32
46
102
111
114
109
95
95
98
111
100
121
123
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
49
59
102
108
101
120
45
103
114
111
119
58
49
125
46
102
111
114
109
95
95
98
111
100
121
46
98
111
114
100
101
114
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
112
120
59
112
97
100
100
105
110
103
58
52
48
112
120
59
119
105
100
116
104
58
53
56
57
112
120
125
46
102
111
114
109
95
95
99
104
101
99
107
115
44
46
102
111
114
109
95
95
114
97
100
105
111
115
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
54
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
125
46
102
111
114
109
95
95
99
111
110
116
114
111
108
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
110
111
110
101
59
98
111
114
100
101
114
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
104
101
105
103
104
116
58
51
56
112
120
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
52
50
56
53
55
49
52
50
56
54
59
112
97
100
100
105
110
103
58
54
112
120
32
49
53
112
120
59
116
114
97
110
115
105
116
105
111
110
58
98
111
114
100
101
114
45
99
111
108
111
114
32
48
46
50
115
44
32
98
111
120
45
115
104
97
100
111
119
32
48
46
50
115
59
119
105
100
116
104
58
49
48
48
37
125
46
102
111
114
109
95
95
99
111
110
116
114
111
108
58
102
111
99
117
115
123
98
111
114
100
101
114
45
99
111
108
111
114
58
35
54
54
97
102
101
57
59
98
111
120
45
115
104
97
100
111
119
58
105
110
115
101
116
32
48
32
49
112
120
32
49
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
48
55
53
41
44
48
32
48
32
56
112
120
32
114
103
98
97
40
49
48
50
44
49
55
53
44
50
51
51
44
48
46
54
41
59
111
117
116
108
105
110
101
58
48
125
46
102
111
114
109
95
95
99
111
110
116
114
111
108
45
45
49
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
112
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
104
101
105
103
104
116
58
50
56
112
120
59
119
105
100
116
104
58
49
48
48
37
125
46
102
111
114
109
95
95
99
111
110
116
114
111
108
45
45
49
58
58
45
119
101
98
107
105
116
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
102
111
114
109
95
95
99
111
110
116
114
111
108
45
45
49
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
102
111
114
109
95
95
99
111
110
116
114
111
108
45
45
49
58
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
102
111
114
109
95
95
99
111
110
116
114
111
108
45
45
49
58
58
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
102
111
114
109
95
95
99
111
110
116
114
111
108
45
45
49
58
102
111
99
117
115
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
125
46
102
111
114
109
95
95
99
111
110
116
114
111
108
45
45
108
103
45
49
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
104
101
105
103
104
116
58
53
48
112
120
125
46
102
111
114
109
95
95
101
114
114
111
114
115
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
48
112
120
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
46
102
111
114
109
95
95
102
105
101
108
100
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
59
109
97
114
103
105
110
45
116
111
112
58
53
112
120
59
119
105
100
116
104
58
49
48
48
37
125
46
102
111
114
109
95
95
102
105
101
108
100
32
108
97
98
101
108
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
32
46
102
111
114
109
95
95
102
105
101
108
100
123
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
49
59
102
108
101
120
45
103
114
111
119
58
49
59
109
97
114
103
105
110
45
108
101
102
116
58
48
59
119
105
100
116
104
58
99
97
108
99
40
49
48
48
37
32
45
32
53
112
120
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
32
46
102
111
114
109
95
95
102
105
101
108
100
123
109
97
114
103
105
110
45
108
101
102
116
58
53
112
120
59
119
105
100
116
104
58
99
97
108
99
40
49
48
48
37
32
45
32
53
112
120
41
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
32
46
102
111
114
109
95
95
102
105
101
108
100
58
102
105
114
115
116
45
99
104
105
108
100
123
109
97
114
103
105
110
45
108
101
102
116
58
48
59
119
105
100
116
104
58
49
48
48
37
125
125
46
102
111
114
109
95
95
97
99
116
105
111
110
115
32
46
102
111
114
109
95
95
102
105
101
108
100
123
109
97
114
103
105
110
45
108
101
102
116
58
53
112
120
125
46
102
111
114
109
95
95
102
105
101
108
100
32
46
102
111
114
109
45
103
114
111
117
112
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
32
46
102
111
114
109
95
95
102
105
101
108
100
45
45
110
111
45
109
97
114
103
105
110
123
109
97
114
103
105
110
45
108
101
102
116
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
102
111
114
109
95
95
102
105
101
108
100
45
45
109
97
120
49
123
109
97
120
45
119
105
100
116
104
58
51
48
48
112
120
125
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
109
97
120
50
123
109
97
120
45
119
105
100
116
104
58
52
53
53
112
120
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
109
97
120
51
123
109
97
120
45
119
105
100
116
104
58
52
55
53
112
120
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
99
104
101
99
107
44
46
102
111
114
109
95
95
102
105
101
108
100
45
45
114
97
100
105
111
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
116
111
112
58
49
49
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
49
112
120
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
99
104
101
99
107
32
108
97
98
101
108
44
46
102
111
114
109
95
95
102
105
101
108
100
45
45
114
97
100
105
111
32
108
97
98
101
108
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
109
97
114
103
105
110
58
48
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
99
104
101
99
107
32
108
97
98
101
108
32
115
112
97
110
44
46
102
111
114
109
95
95
102
105
101
108
100
45
45
114
97
100
105
111
32
108
97
98
101
108
32
115
112
97
110
123
119
104
105
116
101
45
115
112
97
99
101
58
110
111
114
109
97
108
125
46
109
45
99
104
101
99
107
111
117
116
95
95
99
111
110
116
97
105
110
115
45
103
105
102
116
123
109
97
114
103
105
110
58
50
48
112
120
32
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
54
48
48
112
120
41
123
46
109
45
99
104
101
99
107
111
117
116
95
95
99
111
110
116
97
105
110
115
45
103
105
102
116
123
109
97
114
103
105
110
58
51
48
112
120
32
48
125
125
46
109
45
99
104
101
99
107
111
117
116
95
95
99
111
110
116
97
105
110
115
45
103
105
102
116
32
46
102
111
114
109
95
95
102
105
101
108
100
45
45
99
104
101
99
107
45
108
97
98
101
108
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
125
46
109
45
99
104
101
99
107
111
117
116
95
95
99
111
110
116
97
105
110
115
45
103
105
102
116
32
46
102
111
114
109
95
95
102
105
101
108
100
45
45
99
104
101
99
107
45
108
97
98
101
108
32
115
112
97
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
102
111
110
116
45
115
105
122
101
58
49
50
112
120
59
109
97
114
103
105
110
58
53
112
120
32
48
32
48
125
46
109
45
99
104
101
99
107
111
117
116
95
95
99
111
110
116
97
105
110
115
45
103
105
102
116
32
46
102
111
114
109
95
95
102
105
101
108
100
45
45
99
104
101
99
107
123
109
97
114
103
105
110
58
48
125
46
109
45
99
104
101
99
107
111
117
116
95
95
99
111
110
116
97
105
110
115
45
103
105
102
116
32
46
102
111
114
109
95
95
102
105
101
108
100
45
45
99
104
101
99
107
32
105
110
112
117
116
91
116
121
112
101
61
34
99
104
101
99
107
98
111
120
34
93
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
115
101
108
102
58
102
108
101
120
45
115
116
97
114
116
59
97
108
105
103
110
45
115
101
108
102
58
102
108
101
120
45
115
116
97
114
116
59
109
97
114
103
105
110
58
50
112
120
32
54
112
120
32
48
32
48
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
99
104
101
99
107
32
105
110
112
117
116
91
116
121
112
101
61
34
99
104
101
99
107
98
111
120
34
93
123
109
97
114
103
105
110
58
53
112
120
32
53
112
120
32
53
112
120
32
48
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
99
104
101
99
107
32
105
110
112
117
116
46
110
111
45
109
97
114
103
105
110
91
116
121
112
101
61
34
99
104
101
99
107
98
111
120
34
93
123
109
97
114
103
105
110
58
48
32
54
112
120
32
48
32
48
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
105
110
108
105
110
101
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
105
110
108
105
110
101
62
42
123
109
97
114
103
105
110
58
53
112
120
32
53
112
120
32
53
112
120
32
48
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
105
110
108
105
110
101
62
42
58
108
97
115
116
45
99
104
105
108
100
123
109
97
114
103
105
110
45
114
105
103
104
116
58
48
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
105
110
108
105
110
101
32
105
110
112
117
116
91
116
121
112
101
61
34
99
104
101
99
107
98
111
120
34
93
123
109
97
114
103
105
110
58
53
112
120
32
53
112
120
32
53
112
120
32
48
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
105
110
108
105
110
101
32
108
97
98
101
108
123
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
125
46
102
111
114
109
95
95
102
105
101
108
100
45
108
97
98
101
108
45
45
110
111
114
109
97
108
32
108
97
98
101
108
123
102
111
110
116
45
119
101
105
103
104
116
58
110
111
114
109
97
108
125
46
102
111
114
109
95
95
102
105
101
108
100
45
108
97
98
101
108
45
45
110
111
45
102
108
101
120
32
108
97
98
101
108
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
102
111
114
109
95
95
114
97
100
105
111
115
32
108
97
98
101
108
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
112
120
59
109
105
110
45
119
105
100
116
104
58
51
53
112
120
59
112
97
100
100
105
110
103
58
53
112
120
125
46
102
111
114
109
95
95
114
97
100
105
111
115
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
123
122
45
105
110
100
101
120
58
49
59
112
97
100
100
105
110
103
58
53
112
120
125
46
102
111
114
109
95
95
114
97
100
105
111
115
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
58
104
111
118
101
114
126
108
97
98
101
108
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
120
45
115
104
97
100
111
119
58
45
50
53
112
120
32
48
32
48
32
50
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
44
50
112
120
32
48
32
48
32
50
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
44
45
50
53
112
120
32
48
32
48
32
52
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
44
50
112
120
32
48
32
48
32
52
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
125
46
102
111
114
109
95
95
114
97
100
105
111
115
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
58
99
104
101
99
107
101
100
126
108
97
98
101
108
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
120
45
115
104
97
100
111
119
58
45
50
53
112
120
32
48
32
48
32
50
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
44
50
112
120
32
48
32
48
32
50
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
44
45
50
53
112
120
32
48
32
48
32
52
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
44
50
112
120
32
48
32
48
32
52
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
102
111
114
109
95
95
114
97
100
105
111
115
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
58
102
111
99
117
115
45
118
105
115
105
98
108
101
126
108
97
98
101
108
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
120
45
115
104
97
100
111
119
58
45
50
53
112
120
32
48
32
48
32
50
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
44
50
112
120
32
48
32
48
32
50
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
44
45
50
53
112
120
32
48
32
48
32
51
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
44
50
112
120
32
48
32
48
32
51
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
44
45
50
53
112
120
32
48
32
48
32
52
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
44
50
112
120
32
48
32
48
32
52
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
102
111
114
109
95
95
114
97
100
105
111
115
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
126
108
97
98
101
108
123
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
114
97
100
105
111
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
123
109
97
114
103
105
110
58
53
112
120
32
53
112
120
32
53
112
120
32
48
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
114
97
100
105
111
32
105
110
112
117
116
46
110
111
45
109
97
114
103
105
110
91
116
121
112
101
61
34
114
97
100
105
111
34
93
123
109
97
114
103
105
110
58
53
112
120
125
46
102
111
114
109
95
95
114
97
100
105
111
115
32
108
97
98
101
108
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
44
46
102
111
114
109
95
95
114
97
100
105
111
115
32
108
97
98
101
108
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
123
109
97
114
103
105
110
58
52
112
120
32
54
112
120
32
48
32
48
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
108
97
98
101
108
45
109
117
108
116
105
108
105
110
101
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
115
112
97
99
101
45
108
103
45
49
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
115
112
97
99
101
45
108
103
45
50
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
115
112
114
101
97
100
45
114
97
100
105
111
123
109
97
114
103
105
110
45
114
105
103
104
116
58
50
48
112
120
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
115
117
103
103
101
115
116
105
111
110
115
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
114
100
101
114
45
116
111
112
45
119
105
100
116
104
58
48
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
56
112
120
59
112
97
100
100
105
110
103
45
108
101
102
116
58
49
50
112
120
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
49
50
112
120
59
112
97
100
100
105
110
103
45
116
111
112
58
56
112
120
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
115
117
103
103
101
115
116
105
111
110
115
32
104
52
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
49
48
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
54
112
120
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
115
117
103
103
101
115
116
105
111
110
115
32
117
108
32
108
105
123
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
54
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
52
112
120
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
115
45
108
49
32
46
102
111
114
109
95
95
102
105
101
108
100
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
115
45
108
50
32
46
102
111
114
109
95
95
102
105
101
108
100
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
115
45
108
51
32
46
102
111
114
109
95
95
102
105
101
108
100
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
52
112
120
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
119
105
100
116
104
58
49
48
48
37
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
32
46
98
116
110
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
119
105
100
116
104
58
49
48
48
37
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
32
46
102
111
114
109
95
95
97
99
116
105
111
110
115
123
109
97
114
103
105
110
45
108
101
102
116
58
49
48
112
120
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
32
46
102
111
114
109
95
95
97
99
116
105
111
110
115
45
45
110
111
45
109
97
114
103
105
110
45
109
111
98
105
108
101
123
109
97
114
103
105
110
45
108
101
102
116
58
48
59
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
59
119
105
100
116
104
58
49
48
48
37
125
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
32
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
97
117
116
111
99
111
109
112
108
101
116
101
45
115
101
97
114
99
104
45
105
110
108
105
110
101
123
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
50
59
102
108
101
120
45
103
114
111
119
58
50
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
45
45
100
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
45
45
100
32
46
102
111
114
109
95
95
102
105
101
108
100
123
109
97
114
103
105
110
45
108
101
102
116
58
48
125
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
119
114
97
112
45
109
111
98
105
108
101
123
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
125
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
52
49
51
112
120
41
123
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
45
45
119
114
97
112
45
115
123
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
45
45
119
114
97
112
45
115
32
46
102
111
114
109
95
95
102
105
101
108
100
123
109
97
114
103
105
110
45
108
101
102
116
58
48
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
45
45
119
114
97
112
45
115
32
46
102
111
114
109
95
95
97
99
116
105
111
110
115
32
46
102
111
114
109
95
95
102
105
101
108
100
123
109
97
114
103
105
110
45
108
101
102
116
58
53
112
120
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
45
45
119
114
97
112
45
115
32
46
102
111
114
109
95
95
97
99
116
105
111
110
115
32
46
102
111
114
109
95
95
102
105
101
108
100
58
102
105
114
115
116
45
99
104
105
108
100
123
109
97
114
103
105
110
45
108
101
102
116
58
48
125
125
46
102
111
114
109
95
95
103
114
111
117
112
32
46
102
111
114
109
95
95
102
105
101
108
100
45
104
45
45
115
112
97
99
101
123
109
97
114
103
105
110
58
51
48
112
120
32
48
32
49
53
112
120
125
46
102
111
114
109
95
95
102
105
101
108
100
45
45
110
111
45
115
112
97
99
101
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
125
46
102
111
114
109
95
95
102
105
101
108
100
45
119
114
97
112
46
118
97
108
105
100
44
46
102
111
114
109
95
95
102
105
101
108
100
45
119
114
97
112
46
105
110
118
97
108
105
100
123
112
97
100
100
105
110
103
45
114
105
103
104
116
58
51
56
112
120
59
98
97
99
107
103
114
111
117
110
100
45
114
101
112
101
97
116
58
110
111
45
114
101
112
101
97
116
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
114
105
103
104
116
32
48
32
99
101
110
116
101
114
125
46
102
111
114
109
95
95
102
105
101
108
100
45
119
114
97
112
46
118
97
108
105
100
32
105
110
112
117
116
44
46
102
111
114
109
95
95
102
105
101
108
100
45
119
114
97
112
46
105
110
118
97
108
105
100
32
105
110
112
117
116
123
98
111
114
100
101
114
45
98
111
116
116
111
109
45
114
105
103
104
116
45
114
97
100
105
117
115
58
48
59
98
111
114
100
101
114
45
116
111
112
45
114
105
103
104
116
45
114
97
100
105
117
115
58
48
125
46
102
111
114
109
95
95
102
105
101
108
100
45
119
114
97
112
46
118
97
108
105
100
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
105
99
111
110
115
47
98
114
97
105
110
116
114
101
101
47
99
104
101
99
107
45
115
113
117
97
114
101
45
48
54
48
49
101
53
100
97
56
52
98
55
57
51
49
54
102
55
50
52
101
55
102
102
54
52
101
57
101
99
54
53
56
51
98
54
51
54
50
56
100
99
54
55
57
51
57
50
99
52
54
56
52
102
102
50
102
100
101
53
48
49
55
101
46
115
118
103
34
41
125
46
102
111
114
109
95
95
102
105
101
108
100
45
119
114
97
112
46
105
110
118
97
108
105
100
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
105
99
111
110
115
47
98
114
97
105
110
116
114
101
101
47
120
45
115
113
117
97
114
101
45
54
55
102
98
54
101
50
57
102
98
55
49
48
57
101
51
57
98
100
49
99
97
51
53
56
56
56
98
97
57
50
98
56
57
56
48
97
52
52
102
54
57
56
56
52
50
53
48
53
55
54
97
52
50
55
100
55
52
99
48
98
51
102
102
46
115
118
103
34
41
125
46
102
111
114
109
95
95
102
105
101
108
100
45
110
111
116
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
53
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
48
112
120
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
46
108
97
98
101
108
43
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
123
109
97
114
103
105
110
45
116
111
112
58
45
55
112
120
125
46
102
111
114
109
95
95
103
114
111
117
112
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
54
112
120
125
46
102
111
114
109
95
95
105
109
97
103
101
45
117
112
108
111
97
100
101
114
32
105
109
103
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
59
109
97
120
45
104
101
105
103
104
116
58
50
48
48
112
120
59
109
97
120
45
119
105
100
116
104
58
50
48
48
112
120
125
46
102
111
114
109
95
95
110
111
116
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
55
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
53
112
120
59
109
97
114
103
105
110
45
116
111
112
58
53
112
120
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
51
55
52
112
120
41
123
46
102
111
114
109
95
95
110
111
116
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
125
46
102
111
114
109
95
95
110
111
116
101
32
98
44
46
102
111
114
109
95
95
110
111
116
101
32
115
116
114
111
110
103
123
99
111
108
111
114
58
105
110
104
101
114
105
116
125
46
102
111
114
109
95
95
115
101
99
116
105
111
110
123
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
125
46
102
111
114
109
95
95
116
111
112
45
110
111
116
101
123
109
97
114
103
105
110
58
49
53
112
120
125
46
102
111
114
109
95
95
114
97
100
105
111
115
45
45
105
110
108
105
110
101
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
109
97
114
103
105
110
45
116
111
112
58
49
49
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
49
112
120
125
46
102
111
114
109
95
95
114
97
100
105
111
115
45
45
105
110
108
105
110
101
58
97
102
116
101
114
123
99
111
110
116
101
110
116
58
34
34
59
99
108
101
97
114
58
98
111
116
104
59
100
105
115
112
108
97
121
58
116
97
98
108
101
125
46
102
111
114
109
95
95
114
97
100
105
111
115
45
45
105
110
108
105
110
101
32
46
102
111
114
109
95
95
102
105
101
108
100
45
45
114
97
100
105
111
123
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
45
119
101
98
107
105
116
45
102
108
101
120
45
98
97
115
105
115
58
53
48
112
120
59
102
108
101
120
45
98
97
115
105
115
58
53
48
112
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
48
59
102
108
101
120
45
103
114
111
119
58
48
59
102
108
111
97
116
58
108
101
102
116
59
119
105
100
116
104
58
97
117
116
111
59
109
97
114
103
105
110
45
114
105
103
104
116
58
50
48
112
120
125
46
102
111
114
109
95
95
114
97
100
105
111
115
45
45
105
110
108
105
110
101
32
46
102
111
114
109
95
95
102
105
101
108
100
45
45
114
97
100
105
111
58
102
105
114
115
116
45
99
104
105
108
100
123
119
105
100
116
104
58
97
117
116
111
125
46
102
111
114
109
95
95
99
104
101
99
107
115
45
45
105
110
108
105
110
101
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
109
97
114
103
105
110
45
116
111
112
58
49
49
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
49
112
120
125
46
102
111
114
109
95
95
99
104
101
99
107
115
45
45
105
110
108
105
110
101
58
97
102
116
101
114
123
99
111
110
116
101
110
116
58
34
34
59
99
108
101
97
114
58
98
111
116
104
59
100
105
115
112
108
97
121
58
116
97
98
108
101
125
46
102
111
114
109
95
95
99
104
101
99
107
115
45
45
105
110
108
105
110
101
32
46
102
111
114
109
95
95
102
105
101
108
100
45
45
99
104
101
99
107
123
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
45
119
101
98
107
105
116
45
102
108
101
120
45
98
97
115
105
115
58
53
48
112
120
59
102
108
101
120
45
98
97
115
105
115
58
53
48
112
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
48
59
102
108
101
120
45
103
114
111
119
58
48
59
102
108
111
97
116
58
108
101
102
116
59
119
105
100
116
104
58
97
117
116
111
59
109
97
114
103
105
110
45
114
105
103
104
116
58
50
48
112
120
125
46
102
111
114
109
95
95
99
104
101
99
107
115
45
45
105
110
108
105
110
101
32
46
102
111
114
109
95
95
102
105
101
108
100
45
45
99
104
101
99
107
58
102
105
114
115
116
45
99
104
105
108
100
123
119
105
100
116
104
58
97
117
116
111
125
46
102
111
114
109
95
95
102
105
101
108
100
115
32
46
102
111
114
109
95
95
102
105
101
108
100
45
45
114
101
108
97
116
101
100
123
109
97
114
103
105
110
45
116
111
112
58
56
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
46
105
110
112
117
116
45
108
97
98
101
108
108
101
100
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
105
110
112
117
116
45
108
97
98
101
108
108
101
100
95
95
108
97
98
101
108
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
59
108
101
102
116
58
49
50
112
120
59
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
110
111
110
101
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
49
48
112
120
125
46
105
110
112
117
116
45
108
97
98
101
108
108
101
100
95
95
108
97
98
101
108
46
114
101
113
117
105
114
101
100
58
97
102
116
101
114
123
99
111
110
116
101
110
116
58
39
42
39
59
109
97
114
103
105
110
45
108
101
102
116
58
52
112
120
125
46
105
110
112
117
116
45
108
97
98
101
108
108
101
100
95
95
105
110
112
117
116
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
51
112
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
104
101
105
103
104
116
58
53
56
112
120
59
112
97
100
100
105
110
103
58
50
52
112
120
32
49
50
112
120
32
54
112
120
125
46
102
111
114
109
45
98
111
100
121
95
95
114
97
100
105
111
115
45
45
115
105
110
103
108
101
45
114
111
119
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
102
111
114
109
45
114
97
100
105
111
115
95
95
108
97
98
101
108
115
45
45
115
105
110
103
108
101
45
114
111
119
123
109
97
114
103
105
110
45
114
105
103
104
116
58
50
48
112
120
125
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
32
46
98
116
110
46
116
112
45
98
116
110
45
45
105
99
111
110
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
102
111
114
109
95
95
97
99
116
105
111
110
115
45
45
99
111
112
121
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
102
111
114
109
95
95
97
99
116
105
111
110
115
45
45
116
111
111
108
116
105
112
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
112
120
59
98
111
116
116
111
109
58
49
50
53
37
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
59
119
105
100
116
104
58
56
54
112
120
59
112
97
100
100
105
110
103
58
49
50
112
120
32
49
53
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
59
122
45
105
110
100
101
120
58
49
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
54
48
48
112
120
41
123
46
102
111
114
109
95
95
97
99
116
105
111
110
115
45
45
116
111
111
108
116
105
112
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
102
111
114
109
95
95
97
99
116
105
111
110
115
45
45
116
111
111
108
116
105
112
46
97
110
105
109
97
116
101
123
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
58
102
97
100
101
45
111
117
116
45
100
111
119
110
32
48
46
50
115
32
101
97
115
101
45
105
110
45
111
117
116
32
102
111
114
119
97
114
100
115
59
97
110
105
109
97
116
105
111
110
58
102
97
100
101
45
111
117
116
45
100
111
119
110
32
48
46
50
115
32
101
97
115
101
45
105
110
45
111
117
116
32
102
111
114
119
97
114
100
115
125
46
102
111
114
109
95
95
97
99
116
105
111
110
115
45
45
116
111
111
108
116
105
112
46
115
117
99
99
101
115
115
123
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
58
102
97
100
101
45
105
110
45
117
112
32
48
46
50
115
32
101
97
115
101
45
105
110
45
111
117
116
32
102
111
114
119
97
114
100
115
59
97
110
105
109
97
116
105
111
110
58
102
97
100
101
45
105
110
45
117
112
32
48
46
50
115
32
101
97
115
101
45
105
110
45
111
117
116
32
102
111
114
119
97
114
100
115
59
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
46
102
111
114
109
95
95
97
99
116
105
111
110
115
45
45
116
111
111
108
116
105
112
58
58
97
102
116
101
114
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
32
116
114
97
110
115
112
97
114
101
110
116
32
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
45
115
116
121
108
101
58
115
111
108
105
100
59
98
111
114
100
101
114
45
119
105
100
116
104
58
55
112
120
59
99
111
110
116
101
110
116
58
39
39
59
108
101
102
116
58
53
48
37
59
109
97
114
103
105
110
45
108
101
102
116
58
45
55
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
49
48
48
37
125
105
110
112
117
116
46
102
111
114
109
95
95
99
111
110
116
114
111
108
91
116
121
112
101
61
34
99
111
108
111
114
34
93
123
112
97
100
100
105
110
103
58
53
112
120
59
104
101
105
103
104
116
58
53
48
112
120
59
119
105
100
116
104
58
53
48
112
120
125
46
113
117
97
110
116
105
116
121
45
115
116
101
112
112
101
114
95
95
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
115
116
114
101
116
99
104
59
97
108
105
103
110
45
105
116
101
109
115
58
115
116
114
101
116
99
104
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
104
101
105
103
104
116
58
49
48
48
37
59
119
105
100
116
104
58
49
48
48
37
125
46
113
117
97
110
116
105
116
121
45
115
116
101
112
112
101
114
95
95
99
111
110
116
97
105
110
101
114
32
105
110
112
117
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
58
110
111
110
101
59
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
59
109
97
114
103
105
110
58
97
117
116
111
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
119
105
100
116
104
58
53
48
37
125
46
113
117
97
110
116
105
116
121
45
115
116
101
112
112
101
114
95
95
99
111
110
116
97
105
110
101
114
32
105
110
112
117
116
58
58
45
119
101
98
107
105
116
45
111
117
116
101
114
45
115
112
105
110
45
98
117
116
116
111
110
44
46
113
117
97
110
116
105
116
121
45
115
116
101
112
112
101
114
95
95
99
111
110
116
97
105
110
101
114
32
105
110
112
117
116
58
58
45
119
101
98
107
105
116
45
105
110
110
101
114
45
115
112
105
110
45
98
117
116
116
111
110
123
45
119
101
98
107
105
116
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
109
97
114
103
105
110
58
48
125
46
113
117
97
110
116
105
116
121
45
115
116
101
112
112
101
114
95
95
99
111
110
116
97
105
110
101
114
32
105
110
112
117
116
91
116
121
112
101
61
110
117
109
98
101
114
93
123
45
109
111
122
45
97
112
112
101
97
114
97
110
99
101
58
116
101
120
116
102
105
101
108
100
125
46
113
117
97
110
116
105
116
121
45
115
116
101
112
112
101
114
95
95
99
111
110
116
97
105
110
101
114
46
102
105
120
101
100
45
119
105
100
116
104
123
119
105
100
116
104
58
49
50
48
112
120
125
46
113
117
97
110
116
105
116
121
45
115
116
101
112
112
101
114
95
95
99
111
110
116
114
111
108
115
123
98
111
114
100
101
114
58
110
111
110
101
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
52
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
59
108
105
110
101
45
104
101
105
103
104
116
58
49
59
109
97
114
103
105
110
58
48
32
97
117
116
111
59
112
97
100
100
105
110
103
58
54
112
120
32
49
48
112
120
59
119
105
100
116
104
58
49
46
53
101
109
125
46
113
117
97
110
116
105
116
121
45
115
116
101
112
112
101
114
95
95
99
111
110
116
114
111
108
115
46
105
110
97
99
116
105
118
101
123
99
117
114
115
111
114
58
100
101
102
97
117
108
116
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
113
117
97
110
116
105
116
121
45
115
116
101
112
112
101
114
95
95
100
101
99
114
101
109
101
110
116
123
98
111
114
100
101
114
45
98
111
116
116
111
109
45
108
101
102
116
45
114
97
100
105
117
115
58
49
48
112
120
59
98
111
114
100
101
114
45
116
111
112
45
108
101
102
116
45
114
97
100
105
117
115
58
49
48
112
120
125
46
113
117
97
110
116
105
116
121
45
115
116
101
112
112
101
114
95
95
105
110
99
114
101
109
101
110
116
123
98
111
114
100
101
114
45
98
111
116
116
111
109
45
114
105
103
104
116
45
114
97
100
105
117
115
58
49
48
112
120
59
98
111
114
100
101
114
45
116
111
112
45
114
105
103
104
116
45
114
97
100
105
117
115
58
49
48
112
120
125
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
114
97
100
105
111
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
119
105
100
116
104
58
48
59
104
101
105
103
104
116
58
48
125
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
114
97
100
105
111
126
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
115
101
108
101
99
116
123
116
114
97
110
115
105
116
105
111
110
58
97
108
108
32
48
46
49
115
32
101
97
115
101
45
105
110
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
112
97
100
100
105
110
103
58
49
51
46
50
53
112
120
32
48
125
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
114
97
100
105
111
58
104
111
118
101
114
126
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
115
101
108
101
99
116
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
114
97
100
105
111
58
99
104
101
99
107
101
100
126
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
115
101
108
101
99
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
114
97
100
105
111
58
102
111
99
117
115
45
118
105
115
105
98
108
101
126
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
115
101
108
101
99
116
123
111
117
116
108
105
110
101
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
32
97
117
116
111
32
50
112
120
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
114
97
100
105
111
115
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
109
97
114
103
105
110
58
49
112
120
59
119
105
100
116
104
58
49
48
48
37
125
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
114
97
100
105
111
115
32
108
97
98
101
108
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
114
97
100
105
111
115
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
123
109
97
114
103
105
110
45
116
111
112
58
48
59
111
112
97
99
105
116
121
58
48
125
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
114
97
100
105
111
115
45
45
119
114
97
112
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
103
97
112
58
53
112
120
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
50
44
32
49
102
114
41
125
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
114
97
100
105
111
115
45
45
119
114
97
112
32
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
115
101
108
101
99
116
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
125
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
114
97
100
105
111
115
45
45
119
114
97
112
45
50
123
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
50
44
32
49
102
114
41
125
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
114
97
100
105
111
115
45
45
119
114
97
112
45
51
123
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
51
44
32
49
102
114
41
125
46
114
97
100
105
111
45
115
101
108
101
99
116
111
114
95
95
114
97
100
105
111
115
45
45
119
114
97
112
45
52
123
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
52
44
32
49
102
114
41
125
46
116
112
45
108
97
98
101
108
45
45
110
101
117
116
114
97
108
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
45
45
108
97
98
101
108
45
105
99
111
110
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
45
45
108
97
98
101
108
45
116
101
120
116
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
116
112
45
108
97
98
101
108
45
45
101
99
111
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
49
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
51
48
48
41
59
45
45
108
97
98
101
108
45
105
99
111
110
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
45
45
108
97
98
101
108
45
116
101
120
116
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
116
112
45
108
97
98
101
108
45
45
104
105
103
104
108
105
103
104
116
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
59
45
45
108
97
98
101
108
45
105
99
111
110
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
59
45
45
108
97
98
101
108
45
116
101
120
116
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
55
48
48
41
125
46
116
112
45
108
97
98
101
108
45
45
115
117
99
99
101
115
115
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
49
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
51
48
48
41
59
45
45
108
97
98
101
108
45
105
99
111
110
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
55
48
48
41
59
45
45
108
97
98
101
108
45
116
101
120
116
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
56
48
48
41
125
46
116
112
45
108
97
98
101
108
45
45
119
97
114
110
105
110
103
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
49
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
51
48
48
41
59
45
45
108
97
98
101
108
45
105
99
111
110
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
54
48
48
41
59
45
45
108
97
98
101
108
45
116
101
120
116
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
56
48
48
41
125
46
116
112
45
108
97
98
101
108
45
45
100
97
110
103
101
114
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
49
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
50
48
48
41
59
45
45
108
97
98
101
108
45
105
99
111
110
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
59
45
45
108
97
98
101
108
45
116
101
120
116
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
55
48
48
41
125
46
116
112
45
108
97
98
101
108
45
45
105
110
97
99
116
105
118
101
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
45
45
108
97
98
101
108
45
105
99
111
110
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
59
45
45
108
97
98
101
108
45
116
101
120
116
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
125
46
116
112
45
108
97
98
101
108
45
45
111
110
45
100
97
114
107
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
57
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
55
48
48
41
59
45
45
108
97
98
101
108
45
116
101
120
116
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
49
48
48
41
59
45
45
108
97
98
101
108
45
105
99
111
110
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
53
48
48
41
125
46
116
112
45
108
97
98
101
108
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
108
97
98
101
108
45
116
101
120
116
45
99
111
108
111
114
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
105
110
108
105
110
101
45
102
108
101
120
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
102
108
101
120
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
108
105
110
101
45
104
101
105
103
104
116
58
49
59
112
97
100
100
105
110
103
58
52
112
120
32
56
112
120
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
119
105
100
116
104
58
45
119
101
98
107
105
116
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
45
109
111
122
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
102
105
116
45
99
111
110
116
101
110
116
125
46
116
112
45
108
97
98
101
108
32
46
116
101
101
112
117
98
108
105
99
111
110
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
108
97
98
101
108
45
105
99
111
110
45
99
111
108
111
114
41
125
46
116
112
45
108
97
98
101
108
45
45
116
105
108
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
51
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
48
48
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
112
97
100
100
105
110
103
58
52
112
120
32
49
50
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
45
49
53
112
120
125
46
116
112
45
108
97
98
101
108
32
46
116
112
45
116
111
111
108
116
105
112
91
100
97
116
97
45
112
111
112
112
101
114
45
112
108
97
99
101
109
101
110
116
94
61
34
114
105
103
104
116
34
93
62
46
116
112
45
116
111
111
108
116
105
112
45
45
97
114
114
111
119
123
108
101
102
116
58
45
56
112
120
125
46
116
112
45
108
97
98
101
108
32
46
116
112
45
116
111
111
108
116
105
112
91
100
97
116
97
45
112
111
112
112
101
114
45
112
108
97
99
101
109
101
110
116
94
61
34
108
101
102
116
34
93
62
46
116
112
45
116
111
111
108
116
105
112
45
45
97
114
114
111
119
123
114
105
103
104
116
58
48
125
46
116
112
45
108
97
98
101
108
45
45
105
99
111
110
123
103
97
112
58
52
112
120
125
46
116
112
45
108
111
97
100
101
114
123
119
105
100
116
104
58
49
48
48
37
125
46
116
112
45
108
111
97
100
101
114
45
45
100
101
102
97
117
108
116
123
104
101
105
103
104
116
58
49
48
48
37
59
112
111
115
105
116
105
111
110
58
102
105
120
101
100
59
108
101
102
116
58
48
59
116
111
112
58
48
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
56
48
41
59
122
45
105
110
100
101
120
58
49
48
48
48
48
125
46
116
112
45
108
111
97
100
101
114
95
95
115
112
105
110
110
101
114
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
105
99
111
110
115
47
115
112
105
110
110
101
114
45
54
98
57
98
50
53
97
97
57
101
101
101
55
54
98
102
102
57
53
51
48
57
56
101
99
57
100
53
50
48
50
49
55
100
54
97
100
52
97
97
101
50
56
55
48
101
49
98
50
100
55
54
54
101
57
102
51
53
55
57
55
54
52
55
46
115
118
103
34
41
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
45
49
48
48
48
48
48
112
120
32
45
49
48
48
48
48
48
112
120
59
98
97
99
107
103
114
111
117
110
100
45
114
101
112
101
97
116
58
110
111
45
114
101
112
101
97
116
125
46
116
112
45
108
111
97
100
101
114
95
95
115
112
105
110
110
101
114
62
42
123
116
114
97
110
115
105
116
105
111
110
58
48
46
51
115
125
46
116
112
45
108
111
97
100
101
114
95
95
115
112
105
110
110
101
114
46
117
112
100
97
116
105
110
103
123
109
105
110
45
104
101
105
103
104
116
58
56
48
112
120
125
46
116
112
45
108
111
97
100
101
114
95
95
115
112
105
110
110
101
114
46
117
112
100
97
116
105
110
103
58
97
102
116
101
114
123
99
111
110
116
101
110
116
58
39
39
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
48
59
114
105
103
104
116
58
48
59
98
111
116
116
111
109
58
48
59
108
101
102
116
58
48
59
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
105
99
111
110
115
47
115
112
105
110
110
101
114
45
54
98
57
98
50
53
97
97
57
101
101
101
55
54
98
102
102
57
53
51
48
57
56
101
99
57
100
53
50
48
50
49
55
100
54
97
100
52
97
97
101
50
56
55
48
101
49
98
50
100
55
54
54
101
57
102
51
53
55
57
55
54
52
55
46
115
118
103
34
41
59
98
97
99
107
103
114
111
117
110
100
45
114
101
112
101
97
116
58
110
111
45
114
101
112
101
97
116
59
98
97
99
107
103
114
111
117
110
100
45
115
105
122
101
58
54
52
112
120
32
54
52
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
99
101
110
116
101
114
125
46
116
112
45
108
111
97
100
101
114
95
95
115
112
105
110
110
101
114
46
117
112
100
97
116
105
110
103
62
42
123
111
112
97
99
105
116
121
58
46
49
125
46
116
112
45
108
111
97
100
101
114
95
95
115
112
105
110
110
101
114
45
45
100
101
102
97
117
108
116
123
116
111
112
58
53
48
37
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
48
44
32
45
53
48
37
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
48
44
32
45
53
48
37
41
59
122
45
105
110
100
101
120
58
49
48
48
48
48
125
46
118
99
45
98
97
100
103
101
45
110
111
116
105
102
105
99
97
116
105
111
110
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
118
99
45
98
97
100
103
101
45
110
111
116
105
102
105
99
97
116
105
111
110
58
104
97
115
40
46
118
99
45
98
97
100
103
101
45
110
111
116
105
102
105
99
97
116
105
111
110
95
95
99
111
117
110
116
101
114
41
123
109
97
114
103
105
110
45
114
105
103
104
116
58
50
112
120
59
119
105
100
116
104
58
52
48
112
120
125
46
118
99
45
98
97
100
103
101
45
110
111
116
105
102
105
99
97
116
105
111
110
45
45
108
101
103
97
99
121
32
46
118
99
45
98
97
100
103
101
45
110
111
116
105
102
105
99
97
116
105
111
110
95
95
99
111
117
110
116
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
99
97
50
48
54
53
59
98
111
114
100
101
114
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
109
105
110
45
119
105
100
116
104
58
50
48
112
120
59
112
97
100
100
105
110
103
45
108
101
102
116
58
52
112
120
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
52
112
120
59
116
111
112
58
48
59
114
105
103
104
116
58
52
112
120
125
46
118
99
45
98
97
100
103
101
45
110
111
116
105
102
105
99
97
116
105
111
110
45
45
100
101
102
97
117
108
116
32
46
118
99
45
98
97
100
103
101
45
110
111
116
105
102
105
99
97
116
105
111
110
95
95
99
111
117
110
116
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
52
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
50
48
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
59
112
97
100
100
105
110
103
58
50
112
120
32
52
112
120
59
109
105
110
45
119
105
100
116
104
58
50
48
112
120
59
116
111
112
58
45
52
112
120
59
114
105
103
104
116
58
45
52
112
120
125
46
118
99
45
98
97
100
103
101
45
110
111
116
105
102
105
99
97
116
105
111
110
95
95
99
111
117
110
116
101
114
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
116
112
118
99
45
112
114
111
103
114
101
115
115
45
98
97
114
95
95
99
111
110
116
97
105
110
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
48
112
120
59
104
101
105
103
104
116
58
49
48
112
120
59
109
97
114
103
105
110
58
97
117
116
111
32
48
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
119
105
100
116
104
58
49
48
48
37
125
46
116
112
118
99
45
112
114
111
103
114
101
115
115
45
98
97
114
95
95
99
111
110
116
97
105
110
101
114
46
99
97
109
112
97
105
103
110
123
104
101
105
103
104
116
58
49
49
112
120
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
46
116
112
118
99
45
112
114
111
103
114
101
115
115
45
98
97
114
95
95
99
111
110
116
97
105
110
101
114
46
99
97
109
112
97
105
103
110
32
46
116
112
118
99
45
112
114
111
103
114
101
115
115
45
98
97
114
95
95
102
105
108
108
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
125
46
116
112
118
99
45
112
114
111
103
114
101
115
115
45
98
97
114
95
95
99
111
110
116
97
105
110
101
114
46
99
97
109
112
97
105
103
110
45
116
105
108
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
45
97
56
48
41
59
109
97
114
103
105
110
45
116
111
112
58
49
48
112
120
125
46
116
112
118
99
45
112
114
111
103
114
101
115
115
45
98
97
114
95
95
99
111
110
116
97
105
110
101
114
46
99
97
109
112
97
105
103
110
45
116
105
108
101
46
99
97
114
100
95
95
99
97
109
112
97
105
103
110
45
112
114
111
103
114
101
115
115
45
98
97
114
123
104
101
105
103
104
116
58
53
112
120
125
46
116
112
118
99
45
112
114
111
103
114
101
115
115
45
98
97
114
95
95
99
111
110
116
97
105
110
101
114
46
99
97
109
112
97
105
103
110
45
116
105
108
101
32
46
116
112
118
99
45
112
114
111
103
114
101
115
115
45
98
97
114
95
95
102
105
108
108
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
125
46
116
112
118
99
45
112
114
111
103
114
101
115
115
45
98
97
114
95
95
99
111
110
116
97
105
110
101
114
32
46
116
112
118
99
45
112
114
111
103
114
101
115
115
45
98
97
114
95
95
102
105
108
108
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
48
112
120
59
104
101
105
103
104
116
58
49
48
48
37
125
46
116
112
45
116
111
97
115
116
45
110
111
116
105
102
105
99
97
116
105
111
110
123
112
97
100
100
105
110
103
45
108
101
102
116
58
49
54
112
120
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
98
111
120
45
115
104
97
100
111
119
58
48
32
52
112
120
32
56
112
120
32
48
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
119
105
100
116
104
58
51
50
48
112
120
125
46
116
112
45
116
111
97
115
116
45
110
111
116
105
102
105
99
97
116
105
111
110
45
45
110
101
117
116
114
97
108
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
41
125
46
116
112
45
116
111
97
115
116
45
110
111
116
105
102
105
99
97
116
105
111
110
45
45
115
117
99
99
101
115
115
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
49
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
50
48
48
41
125
46
116
112
45
116
111
97
115
116
45
110
111
116
105
102
105
99
97
116
105
111
110
45
45
119
97
114
110
105
110
103
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
49
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
50
48
48
41
125
46
116
112
45
116
111
97
115
116
45
110
111
116
105
102
105
99
97
116
105
111
110
45
45
100
97
110
103
101
114
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
49
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
50
48
48
41
125
46
116
112
45
116
111
97
115
116
45
110
111
116
105
102
105
99
97
116
105
111
110
45
45
105
110
102
111
114
109
97
116
105
111
110
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
125
46
116
112
45
116
111
97
115
116
45
110
111
116
105
102
105
99
97
116
105
111
110
95
95
109
101
115
115
97
103
101
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
58
49
59
102
108
101
120
58
49
125
46
116
112
45
116
111
97
115
116
45
110
111
116
105
102
105
99
97
116
105
111
110
95
95
109
97
105
110
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
102
108
101
120
58
49
59
102
108
101
120
58
49
59
103
97
112
58
52
112
120
125
46
116
112
45
116
111
97
115
116
45
110
111
116
105
102
105
99
97
116
105
111
110
95
95
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
109
97
114
103
105
110
45
114
105
103
104
116
58
50
52
112
120
125
46
116
112
45
116
111
97
115
116
45
110
111
116
105
102
105
99
97
116
105
111
110
95
95
99
108
111
115
101
45
98
117
116
116
111
110
123
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
116
112
45
116
111
97
115
116
45
110
111
116
105
102
105
99
97
116
105
111
110
95
95
99
108
111
115
101
45
98
117
116
116
111
110
46
98
116
110
45
45
110
111
45
98
97
99
107
103
114
111
117
110
100
123
112
97
100
100
105
110
103
58
49
54
112
120
125
46
116
112
45
116
111
97
115
116
45
110
111
116
105
102
105
99
97
116
105
111
110
95
95
99
108
111
115
101
45
98
117
116
116
111
110
46
116
112
45
98
116
110
45
45
105
99
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
123
109
97
114
103
105
110
45
114
105
103
104
116
58
48
125
46
116
112
45
98
116
110
45
45
98
105
103
123
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
45
119
101
98
107
105
116
45
102
111
110
116
45
118
97
114
105
97
110
116
45
108
105
103
97
116
117
114
101
115
58
110
111
110
101
59
102
111
110
116
45
118
97
114
105
97
110
116
45
108
105
103
97
116
117
114
101
115
58
110
111
110
101
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
53
112
120
59
112
97
100
100
105
110
103
58
49
54
112
120
32
50
52
112
120
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
125
46
116
112
45
98
116
110
45
45
98
108
111
99
107
123
119
105
100
116
104
58
49
48
48
37
125
46
116
112
45
98
116
110
45
45
108
97
114
103
101
123
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
45
119
101
98
107
105
116
45
102
111
110
116
45
118
97
114
105
97
110
116
45
108
105
103
97
116
117
114
101
115
58
110
111
110
101
59
102
111
110
116
45
118
97
114
105
97
110
116
45
108
105
103
97
116
117
114
101
115
58
110
111
110
101
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
53
112
120
59
112
97
100
100
105
110
103
58
49
50
112
120
32
50
52
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
54
48
48
112
120
41
123
46
116
112
45
98
116
110
45
45
108
97
114
103
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
125
125
46
116
112
45
98
116
110
45
45
109
101
100
105
117
109
123
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
53
59
112
97
100
100
105
110
103
58
56
112
120
32
49
54
112
120
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
99
97
112
105
116
97
108
105
122
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
54
48
48
112
120
41
123
46
116
112
45
98
116
110
45
45
109
101
100
105
117
109
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
116
112
45
98
116
110
45
45
115
109
97
108
108
123
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
112
97
100
100
105
110
103
58
49
48
112
120
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
125
46
116
112
45
98
116
110
45
45
105
99
111
110
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
112
97
100
100
105
110
103
58
49
50
112
120
32
49
53
112
120
59
104
101
105
103
104
116
58
45
119
101
98
107
105
116
45
102
105
116
45
99
111
110
116
101
110
116
59
104
101
105
103
104
116
58
45
109
111
122
45
102
105
116
45
99
111
110
116
101
110
116
59
104
101
105
103
104
116
58
102
105
116
45
99
111
110
116
101
110
116
125
46
116
112
45
98
116
110
45
45
105
99
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
123
109
97
114
103
105
110
45
114
105
103
104
116
58
53
112
120
125
46
116
112
45
98
116
110
45
45
105
99
111
110
46
116
112
45
98
116
110
45
45
105
99
111
110
45
116
114
97
105
108
105
110
103
32
46
116
101
101
112
117
98
108
105
99
111
110
123
109
97
114
103
105
110
45
108
101
102
116
58
53
112
120
59
109
97
114
103
105
110
45
114
105
103
104
116
58
48
125
46
116
112
45
98
116
110
45
45
105
99
111
110
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
112
97
100
100
105
110
103
58
53
112
120
59
109
97
114
103
105
110
45
114
105
103
104
116
58
45
53
112
120
125
46
116
112
45
98
116
110
45
45
105
99
111
110
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
58
104
111
118
101
114
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
98
116
110
46
108
105
110
107
95
95
99
116
97
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
110
111
110
101
125
46
98
116
110
45
45
110
111
45
98
97
99
107
103
114
111
117
110
100
123
98
97
99
107
103
114
111
117
110
100
58
110
111
110
101
59
112
97
100
100
105
110
103
58
48
125
46
98
116
110
45
45
110
111
45
98
97
99
107
103
114
111
117
110
100
58
104
111
118
101
114
44
46
98
116
110
45
45
110
111
45
98
97
99
107
103
114
111
117
110
100
58
102
111
99
117
115
44
46
98
116
110
45
45
110
111
45
98
97
99
107
103
114
111
117
110
100
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
58
110
111
110
101
59
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
98
116
110
45
45
97
110
105
109
97
116
101
100
123
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
98
116
110
45
45
97
110
105
109
97
116
101
100
58
58
97
102
116
101
114
123
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
58
115
104
105
110
101
32
50
115
32
101
97
115
101
45
105
110
45
111
117
116
32
105
110
102
105
110
105
116
101
59
97
110
105
109
97
116
105
111
110
58
115
104
105
110
101
32
50
115
32
101
97
115
101
45
105
110
45
111
117
116
32
105
110
102
105
110
105
116
101
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
100
101
108
97
121
58
51
115
59
97
110
105
109
97
116
105
111
110
45
100
101
108
97
121
58
51
115
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
102
105
108
108
45
109
111
100
101
58
102
111
114
119
97
114
100
115
59
97
110
105
109
97
116
105
111
110
45
102
105
108
108
45
109
111
100
101
58
102
111
114
119
97
114
100
115
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
105
116
101
114
97
116
105
111
110
45
99
111
117
110
116
58
49
48
59
97
110
105
109
97
116
105
111
110
45
105
116
101
114
97
116
105
111
110
45
99
111
117
110
116
58
49
48
59
99
111
110
116
101
110
116
58
39
39
59
98
97
99
107
103
114
111
117
110
100
58
114
103
98
97
40
50
53
53
44
50
53
53
44
50
53
53
44
48
46
50
41
59
98
97
99
107
103
114
111
117
110
100
58
108
105
110
101
97
114
45
103
114
97
100
105
101
110
116
40
57
48
100
101
103
44
32
114
103
98
97
40
50
53
53
44
50
53
53
44
50
53
53
44
48
46
49
41
32
48
37
44
32
114
103
98
97
40
50
53
53
44
50
53
53
44
50
53
53
44
48
46
50
41
32
55
53
37
44
32
114
103
98
97
40
50
53
53
44
50
53
53
44
50
53
53
44
48
46
55
53
41
32
57
48
37
44
32
114
103
98
97
40
50
53
53
44
50
53
53
44
50
53
53
44
48
46
49
41
32
49
48
48
37
41
59
104
101
105
103
104
116
58
50
48
48
37
59
108
101
102
116
58
45
50
48
48
37
59
111
112
97
99
105
116
121
58
48
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
45
49
48
48
37
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
52
53
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
52
53
100
101
103
41
59
119
105
100
116
104
58
50
48
48
37
125
64
45
119
101
98
107
105
116
45
107
101
121
102
114
97
109
101
115
32
115
104
105
110
101
123
49
48
37
123
108
101
102
116
58
45
50
48
48
37
59
111
112
97
99
105
116
121
58
49
59
116
111
112
58
45
50
48
48
37
59
116
114
97
110
115
105
116
105
111
110
45
100
117
114
97
116
105
111
110
58
46
55
115
44
32
46
55
115
44
32
46
49
53
115
59
116
114
97
110
115
105
116
105
111
110
45
112
114
111
112
101
114
116
121
58
114
105
103
104
116
44
32
116
111
112
44
32
111
112
97
99
105
116
121
59
116
114
97
110
115
105
116
105
111
110
45
116
105
109
105
110
103
45
102
117
110
99
116
105
111
110
58
101
97
115
101
125
49
48
48
37
123
111
112
97
99
105
116
121
58
48
59
116
111
112
58
45
49
48
37
59
108
101
102
116
58
45
49
48
37
59
116
114
97
110
115
105
116
105
111
110
45
112
114
111
112
101
114
116
121
58
114
105
103
104
116
44
32
116
111
112
44
32
111
112
97
99
105
116
121
125
125
64
107
101
121
102
114
97
109
101
115
32
115
104
105
110
101
123
49
48
37
123
108
101
102
116
58
45
50
48
48
37
59
111
112
97
99
105
116
121
58
49
59
116
111
112
58
45
50
48
48
37
59
116
114
97
110
115
105
116
105
111
110
45
100
117
114
97
116
105
111
110
58
46
55
115
44
32
46
55
115
44
32
46
49
53
115
59
116
114
97
110
115
105
116
105
111
110
45
112
114
111
112
101
114
116
121
58
114
105
103
104
116
44
32
116
111
112
44
32
111
112
97
99
105
116
121
59
116
114
97
110
115
105
116
105
111
110
45
116
105
109
105
110
103
45
102
117
110
99
116
105
111
110
58
101
97
115
101
125
49
48
48
37
123
111
112
97
99
105
116
121
58
48
59
116
111
112
58
45
49
48
37
59
108
101
102
116
58
45
49
48
37
59
116
114
97
110
115
105
116
105
111
110
45
112
114
111
112
101
114
116
121
58
114
105
103
104
116
44
32
116
111
112
44
32
111
112
97
99
105
116
121
125
125
58
114
111
111
116
44
91
100
97
116
97
45
116
104
101
109
101
61
34
100
101
102
97
117
108
116
34
93
123
45
45
100
101
115
105
103
110
45
116
105
108
101
45
104
111
114
105
122
111
110
116
97
108
45
109
105
110
45
119
105
100
116
104
58
32
49
56
56
112
120
59
45
45
100
101
115
105
103
110
45
116
105
108
101
45
109
105
110
45
119
105
100
116
104
58
32
48
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
45
45
100
97
114
107
123
45
45
116
105
108
101
45
97
114
116
105
115
116
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
59
45
45
116
105
108
101
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
59
45
45
116
105
108
101
45
112
114
105
99
101
45
45
111
114
105
103
105
110
97
108
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
59
45
45
116
105
108
101
45
112
114
105
99
101
45
45
114
101
103
117
108
97
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
45
45
116
105
108
101
45
112
114
105
99
101
45
45
115
97
108
101
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
53
48
48
41
59
45
45
116
105
108
101
45
116
105
116
108
101
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
45
45
116
105
108
101
45
99
111
117
110
116
100
111
119
110
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
53
48
48
41
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
45
45
108
105
103
104
116
123
45
45
116
105
108
101
45
97
114
116
105
115
116
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
59
45
45
116
105
108
101
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
116
114
97
110
115
112
97
114
101
110
116
59
45
45
116
105
108
101
45
112
114
105
99
101
45
45
111
114
105
103
105
110
97
108
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
45
45
116
105
108
101
45
112
114
105
99
101
45
45
114
101
103
117
108
97
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
45
45
116
105
108
101
45
112
114
105
99
101
45
45
115
97
108
101
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
54
48
48
41
59
45
45
116
105
108
101
45
116
105
116
108
101
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
45
45
116
105
108
101
45
99
111
117
110
116
100
111
119
110
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
54
48
48
41
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
45
45
108
105
103
104
116
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
120
45
115
104
97
100
111
119
58
48
32
50
112
120
32
52
112
120
32
48
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
116
105
108
101
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
109
105
110
45
119
105
100
116
104
58
118
97
114
40
45
45
100
101
115
105
103
110
45
116
105
108
101
45
109
105
110
45
119
105
100
116
104
41
59
112
97
100
100
105
110
103
58
56
112
120
32
56
112
120
32
49
50
112
120
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
116
114
97
110
115
105
116
105
111
110
58
46
51
115
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
58
104
111
118
101
114
123
98
111
120
45
115
104
97
100
111
119
58
48
32
50
112
120
32
52
112
120
32
48
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
98
111
100
121
123
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
56
112
120
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
112
114
105
99
105
110
103
123
102
111
110
116
45
102
97
109
105
108
121
58
34
82
111
111
98
101
114
116
45
66
111
108
100
34
44
32
72
101
108
118
101
116
105
99
97
44
32
115
97
110
115
45
115
101
114
105
102
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
52
50
56
53
55
59
109
97
114
103
105
110
45
116
111
112
58
52
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
112
114
105
99
105
110
103
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
112
114
105
99
101
45
45
111
114
105
103
105
110
97
108
123
99
111
108
111
114
58
118
97
114
40
45
45
116
105
108
101
45
112
114
105
99
101
45
45
111
114
105
103
105
110
97
108
45
99
111
108
111
114
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
58
108
105
110
101
45
116
104
114
111
117
103
104
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
112
114
105
99
101
45
45
111
114
105
103
105
110
97
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
125
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
112
114
105
99
101
45
45
114
101
103
117
108
97
114
123
99
111
108
111
114
58
118
97
114
40
45
45
116
105
108
101
45
112
114
105
99
101
45
45
114
101
103
117
108
97
114
45
99
111
108
111
114
41
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
112
114
105
99
101
45
45
115
97
108
101
123
99
111
108
111
114
58
118
97
114
40
45
45
116
105
108
101
45
112
114
105
99
101
45
45
115
97
108
101
45
99
111
108
111
114
41
59
109
97
114
103
105
110
45
114
105
103
104
116
58
52
112
120
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
97
108
101
45
112
114
105
99
105
110
103
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
98
97
115
101
108
105
110
101
59
97
108
105
103
110
45
105
116
101
109
115
58
98
97
115
101
108
105
110
101
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
97
108
101
45
99
111
117
110
116
100
111
119
110
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
97
114
116
105
115
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
116
105
108
101
45
97
114
116
105
115
116
45
99
111
108
111
114
41
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
97
114
116
105
115
116
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
97
114
116
105
115
116
45
45
108
105
110
107
101
100
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
103
97
112
58
50
112
120
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
97
114
116
105
115
116
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
97
114
116
105
115
116
45
45
108
105
110
107
101
100
32
46
108
105
110
107
95
95
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
116
101
120
116
45
111
118
101
114
102
108
111
119
58
101
108
108
105
112
115
105
115
59
109
97
120
45
119
105
100
116
104
58
49
56
54
112
120
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
105
109
97
103
101
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
56
112
120
59
119
105
100
116
104
58
49
48
48
37
59
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
116
105
116
108
101
123
99
111
108
111
114
58
118
97
114
40
45
45
116
105
108
101
45
116
105
116
108
101
45
99
111
108
111
114
41
59
102
111
110
116
45
102
97
109
105
108
121
58
34
82
111
111
98
101
114
116
45
83
101
109
105
66
111
108
100
34
44
32
72
101
108
118
101
116
105
99
97
44
32
115
97
110
115
45
115
101
114
105
102
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
52
50
56
53
55
59
109
97
114
103
105
110
58
48
32
52
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
116
105
116
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
108
97
98
101
108
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
108
97
98
101
108
32
46
116
112
45
108
97
98
101
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
122
45
105
110
100
101
120
58
49
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
108
97
98
101
108
32
46
116
112
45
108
97
98
101
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
125
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
99
97
110
118
97
115
45
108
97
98
101
108
123
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
116
111
112
58
45
52
51
112
120
59
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
110
111
110
101
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
119
105
100
116
104
58
49
48
48
37
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
99
97
110
118
97
115
45
108
97
98
101
108
32
46
116
112
45
108
97
98
101
108
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
58
114
103
98
97
40
50
53
53
44
50
53
53
44
50
53
53
44
48
46
56
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
48
48
112
120
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
116
101
120
116
45
111
118
101
114
102
108
111
119
58
101
108
108
105
112
115
105
115
59
112
97
100
100
105
110
103
58
52
112
120
32
49
50
112
120
59
108
105
110
101
45
104
101
105
103
104
116
58
49
54
112
120
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
111
114
100
101
114
45
105
116
101
109
45
100
101
116
97
105
108
115
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
45
99
111
110
116
97
105
110
101
114
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
114
105
103
104
116
58
49
54
112
120
59
116
111
112
58
49
54
112
120
59
122
45
105
110
100
101
120
58
49
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
105
109
97
103
101
45
119
114
97
112
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
111
108
100
45
99
111
117
110
116
115
123
109
97
114
103
105
110
45
116
111
112
58
56
112
120
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
111
108
100
45
99
111
117
110
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
48
48
112
120
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
45
97
54
48
41
59
112
97
100
100
105
110
103
58
50
112
120
32
56
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
98
111
116
116
111
109
58
56
112
120
59
108
101
102
116
58
56
112
120
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
111
108
100
45
99
111
117
110
116
44
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
111
108
100
45
99
111
117
110
116
32
115
116
114
111
110
103
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
112
114
101
118
105
101
119
45
98
97
99
107
100
114
111
112
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
108
101
102
116
58
48
59
114
105
103
104
116
58
48
59
116
111
112
58
48
59
98
111
116
116
111
109
58
48
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
45
97
54
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
110
111
110
101
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
104
116
109
108
46
110
111
45
116
111
117
99
104
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
58
104
111
118
101
114
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
112
114
101
118
105
101
119
45
98
97
99
107
100
114
111
112
123
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
111
114
116
45
99
116
114
108
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
53
48
37
59
108
101
102
116
58
53
48
37
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
45
53
48
37
44
32
45
53
48
37
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
45
53
48
37
44
32
45
53
48
37
41
59
122
45
105
110
100
101
120
58
49
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
104
116
109
108
46
110
111
45
116
111
117
99
104
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
58
104
111
118
101
114
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
111
114
116
45
99
116
114
108
123
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
111
114
116
45
105
99
111
110
123
99
117
114
115
111
114
58
109
111
118
101
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
114
99
104
45
98
117
116
116
111
110
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
114
105
103
104
116
58
56
112
120
59
98
111
116
116
111
109
58
56
112
120
59
122
45
105
110
100
101
120
58
49
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
114
99
104
45
98
117
116
116
111
110
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
104
116
109
108
46
116
111
117
99
104
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
114
99
104
45
98
117
116
116
111
110
45
99
111
110
116
97
105
110
101
114
123
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
58
104
111
118
101
114
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
114
99
104
45
98
117
116
116
111
110
45
99
111
110
116
97
105
110
101
114
123
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
114
99
104
45
98
117
116
116
111
110
123
98
111
120
45
115
104
97
100
111
119
58
48
32
50
112
120
32
52
112
120
32
48
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
59
112
97
100
100
105
110
103
45
108
101
102
116
58
49
50
112
120
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
49
50
112
120
59
109
97
114
103
105
110
58
48
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
97
100
54
123
103
114
105
100
45
114
111
119
58
51
59
103
114
105
100
45
99
111
108
117
109
110
58
50
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
97
100
54
123
103
114
105
100
45
114
111
119
58
50
59
103
114
105
100
45
99
111
108
117
109
110
58
51
125
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
97
100
54
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
116
105
116
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
59
109
97
114
103
105
110
58
51
50
112
120
32
48
32
48
32
48
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
97
100
100
45
116
111
45
99
97
114
116
123
119
105
100
116
104
58
49
50
48
112
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
97
100
100
45
116
111
45
99
97
114
116
123
119
105
100
116
104
58
49
52
48
112
120
125
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
97
100
100
45
116
111
45
99
97
114
116
46
116
112
45
98
116
110
45
45
105
99
111
110
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
97
100
100
45
116
111
45
99
97
114
116
46
116
112
45
98
116
110
45
45
115
109
97
108
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
97
100
100
45
116
111
45
99
97
114
116
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
112
97
100
100
105
110
103
58
56
112
120
59
109
97
114
103
105
110
58
52
112
120
32
97
117
116
111
32
48
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
97
100
100
45
116
111
45
99
97
114
116
46
98
116
110
45
45
115
101
103
109
101
110
116
101
100
91
100
105
115
97
98
108
101
100
61
34
100
105
115
97
98
108
101
100
34
93
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
99
117
114
115
111
114
58
100
101
102
97
117
108
116
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
97
100
100
45
116
111
45
99
97
114
116
32
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
112
114
111
109
111
116
105
111
110
97
108
45
99
111
110
116
101
110
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
112
114
111
109
111
116
105
111
110
97
108
45
99
111
110
116
101
110
116
45
45
115
117
99
99
101
115
115
44
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
112
114
111
109
111
116
105
111
110
97
108
45
99
111
110
116
101
110
116
45
45
115
117
99
99
101
115
115
62
42
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
55
48
48
41
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
108
101
102
116
58
49
54
112
120
59
116
111
112
58
49
54
112
120
59
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
110
111
110
101
59
122
45
105
110
100
101
120
58
49
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
99
116
114
108
123
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
104
116
109
108
46
116
111
117
99
104
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
99
116
114
108
123
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
58
104
111
118
101
114
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
99
116
114
108
123
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
45
45
97
102
102
105
108
105
97
116
101
45
110
111
110
45
111
119
110
101
114
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
99
116
114
108
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
99
116
114
108
32
98
117
116
116
111
110
123
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
97
108
108
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
99
116
114
108
32
46
116
101
101
112
117
98
108
105
99
111
110
123
98
111
120
45
115
104
97
100
111
119
58
48
32
52
112
120
32
56
112
120
32
48
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
59
112
97
100
100
105
110
103
58
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
99
116
114
108
45
109
111
98
105
108
101
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
49
50
55
57
112
120
41
123
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
99
116
114
108
45
100
101
115
107
116
111
112
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
100
114
111
112
100
111
119
110
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
50
48
112
120
59
98
111
120
45
115
104
97
100
111
119
58
48
32
52
112
120
32
56
112
120
32
48
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
59
109
97
114
103
105
110
45
116
111
112
58
56
112
120
59
112
97
100
100
105
110
103
58
50
48
112
120
32
49
50
112
120
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
122
45
105
110
100
101
120
58
49
59
100
105
115
112
108
97
121
58
110
111
110
101
59
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
97
108
108
59
119
105
100
116
104
58
50
52
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
100
114
111
112
100
111
119
110
46
97
99
116
105
118
101
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
100
114
111
112
100
111
119
110
45
98
111
100
121
123
109
97
114
103
105
110
45
116
111
112
58
49
50
112
120
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
100
114
111
112
100
111
119
110
45
120
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
114
105
103
104
116
58
49
54
112
120
59
116
111
112
58
49
54
112
120
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
100
114
111
112
100
111
119
110
45
115
116
97
116
117
115
45
98
97
100
103
101
123
112
97
100
100
105
110
103
58
54
112
120
32
56
112
120
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
100
114
111
112
100
111
119
110
45
104
101
97
100
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
114
105
103
104
116
58
52
48
112
120
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
100
114
111
112
100
111
119
110
45
104
101
97
100
101
114
45
105
109
103
123
109
97
114
103
105
110
45
108
101
102
116
58
56
112
120
59
109
97
114
103
105
110
45
114
105
103
104
116
58
49
50
112
120
59
119
105
100
116
104
58
51
54
112
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
100
114
111
112
100
111
119
110
45
104
101
97
100
101
114
45
105
109
103
32
105
109
103
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
100
114
111
112
100
111
119
110
45
104
101
97
100
101
114
45
116
101
120
116
32
112
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
116
101
120
116
45
111
118
101
114
102
108
111
119
58
101
108
108
105
112
115
105
115
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
119
105
100
116
104
58
49
48
48
37
59
109
97
120
45
119
105
100
116
104
58
50
52
55
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
100
114
111
112
100
111
119
110
45
104
101
97
100
101
114
45
116
101
120
116
32
112
123
109
97
120
45
119
105
100
116
104
58
49
50
48
112
120
125
125
64
109
101
100
105
97
32
115
99
114
101
101
110
32
97
110
100
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
101
100
105
116
44
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
99
111
112
121
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
108
105
110
107
115
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
99
111
110
116
101
110
116
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
109
97
114
103
105
110
45
116
111
112
58
48
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
108
105
110
107
115
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
108
105
110
107
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
112
97
100
100
105
110
103
58
54
112
120
32
56
112
120
59
103
97
112
58
56
112
120
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
108
105
110
107
115
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
108
105
110
107
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
108
105
110
107
115
32
46
116
101
101
112
117
98
108
105
99
111
110
123
109
97
114
103
105
110
58
48
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
108
105
110
107
115
45
45
100
97
110
103
101
114
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
108
105
110
107
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
109
101
114
99
104
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
115
111
108
100
45
99
111
117
110
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
109
101
110
117
45
115
111
108
100
45
99
111
117
110
116
32
115
116
114
111
110
103
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
101
111
45
99
111
110
116
101
110
116
45
119
114
97
112
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
48
59
98
111
116
116
111
109
58
48
59
108
101
102
116
58
48
59
114
105
103
104
116
58
48
59
100
105
115
112
108
97
121
58
110
111
110
101
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
56
112
120
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
56
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
122
45
105
110
100
101
120
58
49
59
112
97
100
100
105
110
103
58
49
50
112
120
59
111
118
101
114
102
108
111
119
45
121
58
97
117
116
111
125
46
116
97
103
115
45
111
110
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
101
111
45
99
111
110
116
101
110
116
45
119
114
97
112
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
101
111
45
99
111
110
116
101
110
116
45
119
114
97
112
32
46
115
116
114
111
110
103
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
101
111
45
99
111
110
116
101
110
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
101
111
45
99
116
114
108
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
114
105
103
104
116
58
49
54
112
120
59
98
111
116
116
111
109
58
49
54
112
120
59
122
45
105
110
100
101
120
58
49
48
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
46
115
104
111
119
45
116
97
103
115
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
101
111
45
99
116
114
108
123
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
101
111
45
99
116
114
108
32
46
116
101
101
112
117
98
108
105
99
111
110
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
45
97
54
48
41
59
112
97
100
100
105
110
103
58
52
112
120
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
101
111
45
100
101
115
99
114
105
112
116
105
111
110
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
101
111
45
102
111
111
116
101
114
32
98
117
116
116
111
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
101
111
45
109
97
105
110
45
116
97
103
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
125
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
115
101
111
45
109
97
105
110
45
116
97
103
32
97
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
51
48
48
41
125
46
99
45
100
105
97
108
111
103
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
55
48
41
59
104
101
105
103
104
116
58
49
48
48
37
59
108
101
102
116
58
48
59
112
111
115
105
116
105
111
110
58
102
105
120
101
100
59
116
111
112
58
48
59
119
105
100
116
104
58
49
48
48
37
59
122
45
105
110
100
101
120
58
49
48
48
48
125
46
99
45
100
105
97
108
111
103
46
105
110
97
99
116
105
118
101
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
97
105
110
101
114
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
112
120
59
108
101
102
116
58
53
48
37
59
109
97
114
103
105
110
58
48
59
109
97
120
45
119
105
100
116
104
58
51
52
53
112
120
59
109
105
110
45
119
105
100
116
104
58
50
55
53
112
120
59
112
97
100
100
105
110
103
58
48
32
53
112
120
32
53
112
120
59
112
111
115
105
116
105
111
110
58
102
105
120
101
100
59
116
111
112
58
53
48
37
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
45
53
48
37
44
32
45
53
48
37
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
45
53
48
37
44
32
45
53
48
37
41
59
119
105
100
116
104
58
49
48
48
37
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
97
105
110
101
114
123
109
97
120
45
119
105
100
116
104
58
54
48
48
112
120
59
109
105
110
45
119
105
100
116
104
58
52
48
48
112
120
125
125
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
97
105
110
101
114
45
45
115
109
97
108
108
123
109
97
120
45
119
105
100
116
104
58
51
52
53
112
120
59
109
105
110
45
119
105
100
116
104
58
50
55
53
112
120
125
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
97
105
110
101
114
45
45
108
97
114
103
101
123
109
97
120
45
119
105
100
116
104
58
55
48
48
112
120
59
109
105
110
45
119
105
100
116
104
58
54
52
48
112
120
125
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
97
105
110
101
114
45
45
102
108
117
115
104
123
112
97
100
100
105
110
103
58
48
125
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
97
105
110
101
114
45
45
102
108
117
115
104
32
46
99
45
100
105
97
108
111
103
95
95
104
101
97
100
101
114
123
112
97
100
100
105
110
103
58
49
53
112
120
125
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
97
105
110
101
114
45
45
115
108
105
109
123
112
97
100
100
105
110
103
58
53
112
120
125
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
97
105
110
101
114
45
45
115
108
105
109
32
46
99
45
100
105
97
108
111
103
95
95
104
101
97
100
101
114
123
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
53
112
120
125
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
97
105
110
101
114
45
45
115
116
97
110
100
97
114
100
123
112
97
100
100
105
110
103
58
49
53
112
120
125
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
97
105
110
101
114
45
45
115
116
97
110
100
97
114
100
32
46
99
45
100
105
97
108
111
103
95
95
104
101
97
100
101
114
123
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
97
105
110
101
114
45
45
115
116
97
110
100
97
114
100
123
112
97
100
100
105
110
103
58
50
48
112
120
125
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
97
105
110
101
114
45
45
115
116
97
110
100
97
114
100
32
46
99
45
100
105
97
108
111
103
95
95
104
101
97
100
101
114
123
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
50
48
112
120
125
125
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
97
105
110
101
114
45
45
104
101
97
118
121
123
112
97
100
100
105
110
103
58
50
48
112
120
125
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
97
105
110
101
114
45
45
104
101
97
118
121
32
46
99
45
100
105
97
108
111
103
95
95
104
101
97
100
101
114
123
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
50
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
97
105
110
101
114
45
45
104
101
97
118
121
123
112
97
100
100
105
110
103
58
51
48
112
120
125
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
97
105
110
101
114
45
45
104
101
97
118
121
32
46
99
45
100
105
97
108
111
103
95
95
104
101
97
100
101
114
123
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
51
48
112
120
125
125
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
101
110
116
123
111
118
101
114
102
108
111
119
45
121
58
97
117
116
111
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
99
45
100
105
97
108
111
103
95
95
99
111
110
116
101
110
116
123
109
97
120
45
104
101
105
103
104
116
58
54
57
53
112
120
125
125
46
99
45
100
105
97
108
111
103
95
95
104
101
97
100
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
125
46
99
45
100
105
97
108
111
103
95
95
104
101
97
100
101
114
45
105
116
101
109
32
105
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
125
46
99
45
100
105
97
108
111
103
95
95
104
101
97
100
101
114
45
105
116
101
109
32
46
116
101
101
112
117
98
108
105
99
111
110
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
100
114
97
119
101
114
123
98
111
116
116
111
109
58
48
59
104
101
105
103
104
116
58
49
48
48
37
59
108
101
102
116
58
48
59
112
111
115
105
116
105
111
110
58
102
105
120
101
100
59
114
105
103
104
116
58
48
59
116
111
112
58
48
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
59
119
105
100
116
104
58
49
48
48
37
59
122
45
105
110
100
101
120
58
49
49
48
125
46
100
114
97
119
101
114
46
97
99
116
105
118
101
32
46
100
114
97
119
101
114
95
95
98
97
99
107
100
114
111
112
123
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
59
104
101
105
103
104
116
58
49
48
48
37
125
46
100
114
97
119
101
114
46
97
99
116
105
118
101
32
46
100
114
97
119
101
114
95
95
119
114
97
112
112
101
114
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
48
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
48
44
32
48
41
59
116
114
97
110
115
105
116
105
111
110
58
97
108
108
32
52
48
48
109
115
32
99
117
98
105
99
45
98
101
122
105
101
114
40
48
46
56
44
32
48
44
32
48
44
32
49
46
49
50
41
59
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
59
111
118
101
114
102
108
111
119
45
120
58
104
105
100
100
101
110
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
100
114
97
119
101
114
46
97
99
116
105
118
101
32
46
100
114
97
119
101
114
95
95
119
114
97
112
112
101
114
123
111
118
101
114
102
108
111
119
58
118
105
115
105
98
108
101
125
125
46
100
114
97
119
101
114
45
45
108
105
103
104
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
41
125
46
100
114
97
119
101
114
45
45
100
97
114
107
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
100
114
97
119
101
114
45
45
100
97
114
107
62
46
100
114
97
119
101
114
95
95
102
111
111
116
101
114
45
99
111
110
116
97
105
110
101
114
123
98
111
120
45
115
104
97
100
111
119
58
48
112
120
32
45
49
54
112
120
32
49
54
112
120
32
48
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
100
114
97
119
101
114
45
45
119
104
105
116
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
100
114
97
119
101
114
45
45
119
104
105
116
101
62
46
100
114
97
119
101
114
95
95
102
111
111
116
101
114
45
99
111
110
116
97
105
110
101
114
123
98
111
120
45
115
104
97
100
111
119
58
48
112
120
32
45
49
54
112
120
32
49
54
112
120
32
48
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
100
114
97
119
101
114
95
95
99
108
111
115
101
45
98
117
116
116
111
110
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
114
105
103
104
116
58
49
54
112
120
59
116
111
112
58
49
54
112
120
125
46
100
114
97
119
101
114
95
95
99
108
111
115
101
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
123
109
97
114
103
105
110
45
114
105
103
104
116
58
48
125
46
100
114
97
119
101
114
95
95
99
108
111
115
101
45
98
117
116
116
111
110
46
104
105
100
101
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
100
114
97
119
101
114
95
95
98
97
99
107
100
114
111
112
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
55
48
41
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
108
101
102
116
58
48
59
116
111
112
58
48
59
119
105
100
116
104
58
49
48
48
37
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
46
100
114
97
119
101
114
95
95
119
114
97
112
112
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
116
114
97
110
115
105
116
105
111
110
58
97
108
108
32
52
48
48
109
115
32
99
117
98
105
99
45
98
101
122
105
101
114
40
48
46
56
44
32
48
44
32
48
44
32
49
46
49
50
41
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
104
101
105
103
104
116
58
49
48
48
37
125
46
100
114
97
119
101
114
95
95
119
114
97
112
112
101
114
45
45
116
111
112
44
46
100
114
97
119
101
114
95
95
119
114
97
112
112
101
114
45
45
98
111
116
116
111
109
123
104
101
105
103
104
116
58
55
48
37
59
119
105
100
116
104
58
49
48
48
37
125
46
100
114
97
119
101
114
95
95
119
114
97
112
112
101
114
45
45
114
105
103
104
116
44
46
100
114
97
119
101
114
95
95
119
114
97
112
112
101
114
45
45
108
101
102
116
123
104
101
105
103
104
116
58
49
48
48
37
59
119
105
100
116
104
58
55
48
37
125
46
100
114
97
119
101
114
95
95
119
114
97
112
112
101
114
45
45
116
111
112
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
45
49
48
48
37
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
45
49
48
48
37
44
32
48
41
59
116
111
112
58
48
125
46
100
114
97
119
101
114
95
95
119
114
97
112
112
101
114
45
45
114
105
103
104
116
123
114
105
103
104
116
58
48
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
49
48
48
37
44
32
48
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
49
48
48
37
44
32
48
44
32
48
41
125
46
100
114
97
119
101
114
95
95
119
114
97
112
112
101
114
45
45
98
111
116
116
111
109
123
98
111
116
116
111
109
58
48
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
49
48
48
37
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
49
48
48
37
44
32
48
41
59
98
111
114
100
101
114
45
116
111
112
45
108
101
102
116
45
114
97
100
105
117
115
58
50
48
112
120
59
98
111
114
100
101
114
45
116
111
112
45
114
105
103
104
116
45
114
97
100
105
117
115
58
50
48
112
120
125
46
100
114
97
119
101
114
95
95
119
114
97
112
112
101
114
45
45
108
101
102
116
123
108
101
102
116
58
48
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
45
49
48
48
37
44
32
48
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
45
49
48
48
37
44
32
48
44
32
48
41
125
46
100
114
97
119
101
114
95
95
99
111
109
112
111
110
101
110
116
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
104
101
105
103
104
116
58
49
48
48
37
59
119
105
100
116
104
58
49
48
48
37
125
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
123
112
97
100
100
105
110
103
58
49
53
112
120
59
111
118
101
114
102
108
111
119
45
121
58
97
117
116
111
59
45
119
101
98
107
105
116
45
102
108
101
120
58
49
59
102
108
101
120
58
49
125
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
32
46
99
45
109
101
110
117
43
46
99
45
109
101
110
117
123
98
111
114
100
101
114
45
116
111
112
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
125
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
32
46
99
45
109
101
110
117
95
95
108
105
110
107
123
112
97
100
100
105
110
103
45
116
111
112
58
49
50
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
50
112
120
125
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
32
46
109
45
115
111
114
116
45
116
105
108
101
115
123
112
97
100
100
105
110
103
58
49
50
112
120
32
48
125
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
32
46
109
45
115
111
114
116
45
116
105
108
101
115
95
95
108
97
98
101
108
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
32
46
109
45
115
111
114
116
45
116
105
108
101
115
95
95
108
97
98
101
108
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
125
46
100
114
97
119
101
114
95
95
104
101
97
100
101
114
45
99
111
110
116
97
105
110
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
41
125
46
100
114
97
119
101
114
95
95
104
101
97
100
101
114
45
99
111
110
116
97
105
110
101
114
45
45
119
104
105
116
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
100
114
97
119
101
114
95
95
104
101
97
100
101
114
123
112
97
100
100
105
110
103
58
49
48
112
120
32
48
125
46
100
114
97
119
101
114
95
95
104
101
97
100
101
114
45
116
111
117
99
104
45
98
97
114
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
112
97
100
100
105
110
103
45
116
111
112
58
49
48
112
120
125
46
100
114
97
119
101
114
95
95
104
101
97
100
101
114
45
116
111
117
99
104
45
98
97
114
58
98
101
102
111
114
101
123
99
111
110
116
101
110
116
58
39
39
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
51
112
120
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
104
101
105
103
104
116
58
52
112
120
59
109
97
114
103
105
110
58
48
32
97
117
116
111
59
119
105
100
116
104
58
54
48
112
120
125
46
116
112
45
103
105
102
116
105
110
103
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
112
97
100
100
105
110
103
58
52
56
112
120
32
48
59
111
118
101
114
102
108
111
119
45
120
58
104
105
100
100
101
110
125
46
116
112
45
103
105
102
116
105
110
103
95
95
99
97
116
101
103
111
114
121
45
108
105
110
107
115
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
115
116
114
101
116
99
104
59
97
108
105
103
110
45
105
116
101
109
115
58
115
116
114
101
116
99
104
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
109
97
114
103
105
110
45
105
110
108
105
110
101
58
45
49
54
112
120
59
109
97
114
103
105
110
45
116
111
112
58
50
52
112
120
59
111
118
101
114
102
108
111
119
45
120
58
115
99
114
111
108
108
59
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
49
54
112
120
125
46
116
112
45
103
105
102
116
105
110
103
95
95
99
97
116
101
103
111
114
121
45
108
105
110
107
115
58
58
45
119
101
98
107
105
116
45
115
99
114
111
108
108
98
97
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
32
97
110
100
32
40
109
97
120
45
119
105
100
116
104
58
32
49
48
50
51
112
120
41
123
46
116
112
45
103
105
102
116
105
110
103
95
95
99
97
116
101
103
111
114
121
45
108
105
110
107
115
123
109
97
114
103
105
110
45
105
110
108
105
110
101
58
45
52
56
112
120
59
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
52
56
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
116
112
45
103
105
102
116
105
110
103
95
95
99
97
116
101
103
111
114
121
45
108
105
110
107
115
123
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
105
110
108
105
110
101
58
48
112
120
59
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
48
112
120
59
111
118
101
114
102
108
111
119
45
120
58
105
110
105
116
105
97
108
125
125
46
116
112
45
103
105
102
116
105
110
103
95
95
99
97
116
101
103
111
114
121
45
108
105
110
107
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
116
114
97
110
115
112
97
114
101
110
116
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
58
48
32
50
112
120
59
112
97
100
100
105
110
103
58
52
112
120
32
56
112
120
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
116
112
45
103
105
102
116
105
110
103
95
95
99
97
116
101
103
111
114
121
45
108
105
110
107
123
109
97
114
103
105
110
58
48
32
52
112
120
125
125
46
116
112
45
103
105
102
116
105
110
103
95
95
99
97
116
101
103
111
114
121
45
108
105
110
107
58
102
111
99
117
115
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
112
45
103
105
102
116
105
110
103
95
95
99
97
116
101
103
111
114
121
45
108
105
110
107
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
112
45
103
105
102
116
105
110
103
95
95
99
97
116
101
103
111
114
121
45
108
105
110
107
45
45
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
125
46
116
112
45
103
105
102
116
105
110
103
95
95
102
111
111
116
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
112
97
100
100
105
110
103
45
116
111
112
58
51
50
112
120
125
46
116
112
45
103
105
102
116
105
110
103
95
95
104
101
97
100
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
52
112
120
125
46
116
112
45
103
105
102
116
105
110
103
95
95
104
101
97
100
45
99
97
110
118
97
115
123
109
97
114
103
105
110
58
56
112
120
32
97
117
116
111
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
116
112
45
103
105
102
116
105
110
103
95
95
104
101
97
100
45
99
97
110
118
97
115
123
109
97
114
103
105
110
58
48
32
49
54
112
120
125
125
46
116
112
45
103
105
102
116
105
110
103
95
95
104
101
97
100
45
104
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
52
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
116
112
45
103
105
102
116
105
110
103
95
95
104
101
97
100
45
104
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
49
48
48
41
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
116
112
45
103
105
102
116
105
110
103
95
95
104
101
97
100
45
116
101
120
116
45
119
114
97
112
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
125
46
116
112
45
103
105
102
116
105
110
103
95
95
104
101
97
100
45
116
101
120
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
112
45
103
105
102
116
105
110
103
95
95
116
105
108
101
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
103
97
112
58
49
50
112
120
59
109
97
114
103
105
110
45
105
110
108
105
110
101
58
45
49
54
112
120
59
109
97
114
103
105
110
45
116
111
112
58
50
52
112
120
59
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
49
54
112
120
59
111
118
101
114
102
108
111
119
45
120
58
115
99
114
111
108
108
125
46
116
112
45
103
105
102
116
105
110
103
95
95
116
105
108
101
115
58
58
45
119
101
98
107
105
116
45
115
99
114
111
108
108
98
97
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
116
112
45
103
105
102
116
105
110
103
95
95
116
105
108
101
115
123
109
97
114
103
105
110
45
105
110
108
105
110
101
58
48
112
120
59
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
48
112
120
59
111
118
101
114
102
108
111
119
58
105
110
105
116
105
97
108
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
116
112
45
103
105
102
116
105
110
103
95
95
116
105
108
101
115
123
103
97
112
58
49
54
112
120
125
125
46
116
112
45
103
105
102
116
105
110
103
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
123
45
119
101
98
107
105
116
45
102
108
101
120
45
98
97
115
105
115
58
99
97
108
99
40
40
49
32
45
32
50
46
53
32
47
32
52
41
32
42
32
49
48
48
37
41
59
102
108
101
120
45
98
97
115
105
115
58
99
97
108
99
40
40
49
32
45
32
50
46
53
32
47
32
52
41
32
42
32
49
48
48
37
41
59
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
49
59
102
108
101
120
45
103
114
111
119
58
49
59
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
59
109
105
110
45
119
105
100
116
104
58
49
51
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
116
112
45
103
105
102
116
105
110
103
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
123
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
49
59
102
108
101
120
45
115
104
114
105
110
107
58
49
125
125
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
103
97
112
58
49
50
112
120
125
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
45
45
104
105
100
100
101
110
32
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
95
95
119
114
97
112
112
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
95
95
99
111
110
116
101
110
116
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
95
95
99
111
110
116
101
110
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
125
125
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
95
95
99
111
110
116
101
110
116
44
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
95
95
99
111
110
116
101
110
116
32
46
108
105
110
107
45
45
49
44
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
95
95
99
111
110
116
101
110
116
32
46
108
105
110
107
45
45
49
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
95
95
99
111
110
116
101
110
116
45
45
98
108
97
99
107
44
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
95
95
99
111
110
116
101
110
116
45
45
98
108
97
99
107
32
46
108
105
110
107
45
45
49
44
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
95
95
99
111
110
116
101
110
116
45
45
98
108
97
99
107
32
46
108
105
110
107
45
45
49
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
95
95
105
109
97
103
101
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
104
101
105
103
104
116
58
50
52
112
120
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
51
52
52
112
120
41
123
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
95
95
105
109
97
103
101
123
104
101
105
103
104
116
58
50
48
112
120
125
125
46
116
112
45
104
101
97
100
101
114
45
108
111
103
111
95
95
105
109
97
103
101
123
104
101
105
103
104
116
58
51
54
112
120
59
109
97
114
103
105
110
45
114
105
103
104
116
58
56
112
120
125
46
100
97
115
104
45
108
111
103
111
45
110
97
118
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
105
110
108
105
110
101
45
102
108
101
120
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
103
97
112
58
49
50
112
120
59
109
97
114
103
105
110
45
116
111
112
58
52
48
112
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
118
99
45
104
101
97
100
101
114
95
95
115
104
111
112
45
98
117
116
116
111
110
44
46
118
99
45
104
101
97
100
101
114
95
95
99
97
114
116
45
98
117
116
116
111
110
32
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
44
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
45
98
117
116
116
111
110
58
104
97
115
40
46
116
101
101
112
117
98
108
105
99
111
110
41
44
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
45
98
117
116
116
111
110
58
104
97
115
40
46
118
99
45
104
101
97
100
101
114
95
95
97
118
97
116
97
114
41
32
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
103
97
112
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
118
99
45
104
101
97
100
101
114
95
95
115
104
111
112
45
98
117
116
116
111
110
44
46
118
99
45
104
101
97
100
101
114
95
95
99
97
114
116
45
98
117
116
116
111
110
32
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
44
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
45
98
117
116
116
111
110
58
104
97
115
40
46
116
101
101
112
117
98
108
105
99
111
110
41
44
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
45
98
117
116
116
111
110
58
104
97
115
40
46
118
99
45
104
101
97
100
101
114
95
95
97
118
97
116
97
114
41
32
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
103
97
112
58
56
112
120
125
125
46
118
99
45
104
101
97
100
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
112
111
115
105
116
105
111
110
58
115
116
97
116
105
99
59
116
111
112
58
117
110
115
101
116
59
116
114
97
110
115
105
116
105
111
110
58
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
32
46
51
115
32
101
97
115
101
45
105
110
45
111
117
116
59
116
114
97
110
115
105
116
105
111
110
58
116
114
97
110
115
102
111
114
109
32
46
51
115
32
101
97
115
101
45
105
110
45
111
117
116
59
116
114
97
110
115
105
116
105
111
110
58
116
114
97
110
115
102
111
114
109
32
46
51
115
32
101
97
115
101
45
105
110
45
111
117
116
44
32
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
32
46
51
115
32
101
97
115
101
45
105
110
45
111
117
116
59
122
45
105
110
100
101
120
58
99
97
108
99
40
49
48
48
32
43
32
50
41
125
46
118
99
45
104
101
97
100
101
114
32
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
123
103
114
105
100
45
97
114
101
97
58
108
111
103
111
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
115
101
108
102
58
99
101
110
116
101
114
59
97
108
105
103
110
45
115
101
108
102
58
99
101
110
116
101
114
59
112
97
100
100
105
110
103
45
108
101
102
116
58
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
118
99
45
104
101
97
100
101
114
32
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
123
112
97
100
100
105
110
103
45
108
101
102
116
58
50
56
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
118
99
45
104
101
97
100
101
114
32
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
123
112
97
100
100
105
110
103
45
108
101
102
116
58
48
125
125
46
118
99
45
104
101
97
100
101
114
45
45
115
116
111
114
101
102
114
111
110
116
32
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
95
95
105
109
97
103
101
123
104
101
105
103
104
116
58
51
50
112
120
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
48
48
112
120
125
46
118
99
45
104
101
97
100
101
114
45
45
115
116
111
114
101
102
114
111
110
116
32
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
95
95
119
114
97
112
112
101
114
123
119
105
100
116
104
58
51
50
112
120
59
104
101
105
103
104
116
58
51
50
112
120
125
46
118
99
45
104
101
97
100
101
114
45
45
115
116
111
114
101
102
114
111
110
116
32
46
118
99
45
104
101
97
100
101
114
95
95
108
111
103
111
123
104
101
105
103
104
116
58
51
50
112
120
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
48
48
112
120
125
46
118
99
45
104
101
97
100
101
114
45
45
115
116
111
114
101
102
114
111
110
116
32
46
118
99
45
104
101
97
100
101
114
95
95
108
111
103
111
45
119
114
97
112
112
101
114
123
119
105
100
116
104
58
51
50
112
120
59
104
101
105
103
104
116
58
51
50
112
120
125
46
118
99
45
104
101
97
100
101
114
45
45
110
111
45
110
97
118
32
46
118
99
45
104
101
97
100
101
114
95
95
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
125
46
118
99
45
104
101
97
100
101
114
45
45
110
111
45
110
97
118
32
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
123
112
97
100
100
105
110
103
45
108
101
102
116
58
48
125
46
118
99
45
104
101
97
100
101
114
45
45
110
111
45
110
97
118
32
46
118
99
45
104
101
97
100
101
114
45
99
104
101
99
107
111
117
116
95
95
115
101
99
117
114
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
118
99
45
104
101
97
100
101
114
45
45
110
111
45
110
97
118
32
46
118
99
45
104
101
97
100
101
114
45
99
104
101
99
107
111
117
116
95
95
115
101
99
117
114
101
45
108
111
99
107
123
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
50
112
120
125
46
118
99
45
104
101
97
100
101
114
45
45
110
111
45
115
101
97
114
99
104
32
46
118
99
45
104
101
97
100
101
114
95
95
99
111
110
116
97
105
110
101
114
123
103
114
105
100
45
116
101
109
112
108
97
116
101
45
97
114
101
97
115
58
39
109
101
110
117
32
108
111
103
111
32
97
99
116
105
111
110
115
39
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
45
119
101
98
107
105
116
45
109
97
120
45
99
111
110
116
101
110
116
32
109
105
110
109
97
120
40
48
44
32
49
48
48
37
41
32
45
119
101
98
107
105
116
45
109
97
120
45
99
111
110
116
101
110
116
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
109
97
120
45
99
111
110
116
101
110
116
32
109
105
110
109
97
120
40
48
44
32
49
48
48
37
41
32
109
97
120
45
99
111
110
116
101
110
116
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
52
56
48
112
120
41
123
46
118
99
45
104
101
97
100
101
114
45
45
110
111
45
115
101
97
114
99
104
32
46
118
99
45
104
101
97
100
101
114
95
95
99
111
110
116
97
105
110
101
114
32
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
95
95
119
114
97
112
112
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
118
99
45
104
101
97
100
101
114
45
45
110
111
45
115
101
97
114
99
104
32
46
118
99
45
104
101
97
100
101
114
95
95
99
111
110
116
97
105
110
101
114
32
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
123
109
97
120
45
119
105
100
116
104
58
49
48
48
37
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
118
99
45
104
101
97
100
101
114
45
45
110
111
45
115
101
97
114
99
104
32
46
118
99
45
104
101
97
100
101
114
95
95
99
111
110
116
97
105
110
101
114
32
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
123
112
97
100
100
105
110
103
45
114
105
103
104
116
58
48
125
125
46
118
99
45
104
101
97
100
101
114
45
45
110
111
45
115
101
97
114
99
104
32
46
118
99
45
104
101
97
100
101
114
95
95
99
111
110
116
97
105
110
101
114
32
46
118
99
45
104
101
97
100
101
114
45
108
111
103
111
95
95
99
111
110
116
101
110
116
123
119
105
100
116
104
58
49
48
48
37
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
116
101
120
116
45
111
118
101
114
102
108
111
119
58
101
108
108
105
112
115
105
115
125
46
118
99
45
104
101
97
100
101
114
95
95
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
97
114
101
97
115
58
39
109
101
110
117
32
108
111
103
111
32
46
32
97
99
116
105
111
110
115
39
32
39
115
101
97
114
99
104
32
115
101
97
114
99
104
32
115
101
97
114
99
104
32
115
101
97
114
99
104
39
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
45
119
101
98
107
105
116
45
109
97
120
45
99
111
110
116
101
110
116
32
97
117
116
111
32
97
117
116
111
32
45
119
101
98
107
105
116
45
109
97
120
45
99
111
110
116
101
110
116
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
109
97
120
45
99
111
110
116
101
110
116
32
97
117
116
111
32
97
117
116
111
32
109
97
120
45
99
111
110
116
101
110
116
59
112
97
100
100
105
110
103
45
116
111
112
58
49
54
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
50
112
120
59
103
114
105
100
45
114
111
119
45
103
97
112
58
49
50
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
118
99
45
104
101
97
100
101
114
95
95
99
111
110
116
97
105
110
101
114
123
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
45
119
101
98
107
105
116
45
109
97
120
45
99
111
110
116
101
110
116
32
49
53
48
112
120
32
97
117
116
111
32
45
119
101
98
107
105
116
45
109
97
120
45
99
111
110
116
101
110
116
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
109
97
120
45
99
111
110
116
101
110
116
32
49
53
48
112
120
32
97
117
116
111
32
109
97
120
45
99
111
110
116
101
110
116
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
118
99
45
104
101
97
100
101
114
95
95
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
97
114
101
97
115
58
39
109
101
110
117
32
108
111
103
111
32
115
101
97
114
99
104
32
97
99
116
105
111
110
115
39
59
103
114
105
100
45
103
97
112
58
50
56
112
120
125
125
46
118
99
45
104
101
97
100
101
114
95
95
109
101
110
117
45
99
111
110
116
97
105
110
101
114
123
103
114
105
100
45
97
114
101
97
58
109
101
110
117
125
46
118
99
45
104
101
97
100
101
114
95
95
115
104
111
112
45
98
117
116
116
111
110
45
116
101
120
116
44
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
45
98
117
116
116
111
110
45
116
101
120
116
44
46
118
99
45
104
101
97
100
101
114
95
95
108
105
110
107
45
116
101
120
116
44
46
118
99
45
104
101
97
100
101
114
95
95
99
97
114
116
45
116
101
120
116
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
51
51
51
51
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
118
99
45
104
101
97
100
101
114
95
95
115
104
111
112
45
98
117
116
116
111
110
45
116
101
120
116
44
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
45
98
117
116
116
111
110
45
116
101
120
116
44
46
118
99
45
104
101
97
100
101
114
95
95
108
105
110
107
45
116
101
120
116
44
46
118
99
45
104
101
97
100
101
114
95
95
99
97
114
116
45
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
52
50
56
53
55
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
118
99
45
104
101
97
100
101
114
95
95
115
104
111
112
45
98
117
116
116
111
110
45
116
101
120
116
44
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
45
98
117
116
116
111
110
45
116
101
120
116
44
46
118
99
45
104
101
97
100
101
114
95
95
108
105
110
107
45
116
101
120
116
44
46
118
99
45
104
101
97
100
101
114
95
95
99
97
114
116
45
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
50
53
125
125
46
118
99
45
104
101
97
100
101
114
95
95
97
99
116
105
111
110
115
45
99
111
110
116
97
105
110
101
114
123
103
114
105
100
45
97
114
101
97
58
97
99
116
105
111
110
115
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
101
110
100
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
101
110
100
59
103
97
112
58
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
118
99
45
104
101
97
100
101
114
95
95
97
99
116
105
111
110
115
45
99
111
110
116
97
105
110
101
114
123
103
97
112
58
50
56
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
118
99
45
104
101
97
100
101
114
95
95
97
99
116
105
111
110
115
45
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
125
125
46
118
99
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
99
111
110
116
97
105
110
101
114
123
103
114
105
100
45
97
114
101
97
58
115
101
97
114
99
104
125
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
32
112
105
99
116
117
114
101
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
104
101
105
103
104
116
58
50
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
32
112
105
99
116
117
114
101
123
104
101
105
103
104
116
58
50
56
112
120
125
125
46
118
99
45
104
101
97
100
101
114
95
95
97
118
97
116
97
114
123
119
105
100
116
104
58
50
48
112
120
59
104
101
105
103
104
116
58
50
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
118
99
45
104
101
97
100
101
114
95
95
97
118
97
116
97
114
123
119
105
100
116
104
58
50
56
112
120
59
104
101
105
103
104
116
58
50
56
112
120
125
125
46
118
99
45
104
101
97
100
101
114
95
95
99
97
114
116
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
118
99
45
104
101
97
100
101
114
95
95
115
104
111
112
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
44
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
44
46
118
99
45
104
101
97
100
101
114
95
95
99
97
114
116
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
104
101
105
103
104
116
58
50
48
112
120
125
46
118
99
45
104
101
97
100
101
114
95
95
115
104
111
112
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
32
115
118
103
44
46
118
99
45
104
101
97
100
101
114
95
95
115
104
111
112
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
32
105
109
103
44
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
32
115
118
103
44
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
32
105
109
103
44
46
118
99
45
104
101
97
100
101
114
95
95
99
97
114
116
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
32
115
118
103
44
46
118
99
45
104
101
97
100
101
114
95
95
99
97
114
116
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
32
105
109
103
123
119
105
100
116
104
58
50
48
112
120
59
104
101
105
103
104
116
58
50
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
118
99
45
104
101
97
100
101
114
95
95
115
104
111
112
45
98
117
116
116
111
110
44
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
45
98
117
116
116
111
110
44
46
118
99
45
104
101
97
100
101
114
95
95
99
97
114
116
45
98
117
116
116
111
110
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
125
46
118
99
45
104
101
97
100
101
114
95
95
115
104
111
112
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
44
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
44
46
118
99
45
104
101
97
100
101
114
95
95
99
97
114
116
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
123
104
101
105
103
104
116
58
50
56
112
120
125
46
118
99
45
104
101
97
100
101
114
95
95
115
104
111
112
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
32
115
118
103
44
46
118
99
45
104
101
97
100
101
114
95
95
115
104
111
112
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
32
105
109
103
44
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
32
115
118
103
44
46
118
99
45
104
101
97
100
101
114
95
95
97
99
99
111
117
110
116
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
32
105
109
103
44
46
118
99
45
104
101
97
100
101
114
95
95
99
97
114
116
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
32
115
118
103
44
46
118
99
45
104
101
97
100
101
114
95
95
99
97
114
116
45
98
117
116
116
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
32
105
109
103
123
119
105
100
116
104
58
50
56
112
120
59
104
101
105
103
104
116
58
50
56
112
120
125
125
46
118
99
45
104
101
97
100
101
114
95
95
99
97
114
116
45
116
101
120
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
64
109
101
100
105
97
32
115
99
114
101
101
110
32
97
110
100
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
118
99
45
104
101
97
100
101
114
95
95
99
116
97
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
118
99
45
104
101
97
100
101
114
95
95
99
116
97
45
98
117
116
116
111
110
123
112
97
100
100
105
110
103
58
56
112
120
32
49
54
112
120
125
46
109
45
104
101
97
100
101
114
95
95
108
111
103
111
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
119
105
100
116
104
58
49
50
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
104
101
97
100
101
114
95
95
108
111
103
111
123
119
105
100
116
104
58
49
57
48
112
120
125
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
123
103
114
105
100
45
99
111
108
117
109
110
58
49
32
47
32
115
112
97
110
32
49
50
59
103
114
105
100
45
114
111
119
58
50
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
114
105
100
45
99
111
108
117
109
110
58
50
32
47
32
115
112
97
110
32
49
59
103
114
105
100
45
114
111
119
58
49
125
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
32
58
58
45
119
101
98
107
105
116
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
32
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
32
58
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
32
58
58
112
108
97
99
101
104
111
108
100
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
51
55
52
112
120
41
123
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
32
58
58
45
119
101
98
107
105
116
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
32
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
32
58
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
32
58
58
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
46
97
99
116
105
118
101
45
115
101
97
114
99
104
32
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
32
58
58
45
119
101
98
107
105
116
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
97
99
116
105
118
101
45
115
101
97
114
99
104
32
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
32
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
97
99
116
105
118
101
45
115
101
97
114
99
104
32
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
32
58
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
97
99
116
105
118
101
45
115
101
97
114
99
104
32
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
32
58
58
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
32
46
105
110
112
117
116
45
103
114
111
117
112
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
115
116
114
101
116
99
104
59
97
108
105
103
110
45
105
116
101
109
115
58
115
116
114
101
116
99
104
59
119
105
100
116
104
58
49
48
48
37
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
32
46
105
110
112
117
116
45
103
114
111
117
112
58
102
111
99
117
115
45
119
105
116
104
105
110
32
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
45
112
108
97
99
101
104
111
108
100
101
114
123
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
112
108
97
121
45
115
116
97
116
101
58
112
97
117
115
101
100
59
97
110
105
109
97
116
105
111
110
45
112
108
97
121
45
115
116
97
116
101
58
112
97
117
115
101
100
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
32
46
105
110
112
117
116
45
103
114
111
117
112
45
97
112
112
101
110
100
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
109
97
114
103
105
110
45
108
101
102
116
58
45
49
112
120
59
108
105
110
101
45
104
101
105
103
104
116
58
49
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
32
46
116
101
101
112
117
98
108
105
99
111
110
44
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
99
108
111
115
101
32
46
116
101
101
112
117
98
108
105
99
111
110
123
109
97
114
103
105
110
58
48
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
45
97
110
105
109
97
116
101
123
45
45
98
111
114
100
101
114
87
105
100
116
104
58
32
50
112
120
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
45
97
110
105
109
97
116
101
32
102
111
114
109
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
45
97
110
105
109
97
116
101
32
102
111
114
109
58
97
102
116
101
114
123
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
58
97
110
105
109
97
116
101
100
45
98
111
114
100
101
114
45
103
114
97
100
105
101
110
116
32
54
115
32
101
97
115
101
45
105
110
45
111
117
116
32
97
108
116
101
114
110
97
116
101
32
105
110
102
105
110
105
116
101
59
97
110
105
109
97
116
105
111
110
58
97
110
105
109
97
116
101
100
45
98
111
114
100
101
114
45
103
114
97
100
105
101
110
116
32
54
115
32
101
97
115
101
45
105
110
45
111
117
116
32
97
108
116
101
114
110
97
116
101
32
105
110
102
105
110
105
116
101
59
98
97
99
107
103
114
111
117
110
100
58
108
105
110
101
97
114
45
103
114
97
100
105
101
110
116
40
54
48
100
101
103
44
32
35
51
57
101
49
49
101
44
32
35
102
102
101
98
51
55
44
32
35
102
51
56
51
51
52
44
32
35
101
97
51
49
51
49
44
32
35
97
51
48
100
102
102
44
32
35
49
57
98
49
102
102
44
32
35
51
57
101
49
49
101
41
59
98
97
99
107
103
114
111
117
110
100
45
115
105
122
101
58
51
48
48
37
32
51
48
48
37
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
99
111
110
116
101
110
116
58
39
39
59
104
101
105
103
104
116
58
99
97
108
99
40
49
48
48
37
32
43
32
118
97
114
40
45
45
98
111
114
100
101
114
87
105
100
116
104
41
32
42
32
50
41
59
108
101
102
116
58
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
98
111
114
100
101
114
87
105
100
116
104
41
41
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
99
97
108
99
40
45
49
32
42
32
118
97
114
40
45
45
98
111
114
100
101
114
87
105
100
116
104
41
41
59
119
105
100
116
104
58
99
97
108
99
40
49
48
48
37
32
43
32
118
97
114
40
45
45
98
111
114
100
101
114
87
105
100
116
104
41
32
42
32
50
41
59
122
45
105
110
100
101
120
58
45
49
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
45
97
110
105
109
97
116
101
32
102
111
114
109
58
102
111
99
117
115
45
119
105
116
104
105
110
58
97
102
116
101
114
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
45
97
110
105
109
97
116
101
32
46
102
111
114
109
95
95
99
111
110
116
114
111
108
58
102
111
99
117
115
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
45
97
110
105
109
97
116
101
123
109
97
114
103
105
110
45
114
105
103
104
116
58
48
125
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
45
97
110
105
109
97
116
101
32
46
105
99
111
110
123
102
111
110
116
45
115
105
122
101
58
49
54
112
120
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
45
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
102
108
101
120
58
49
32
49
32
97
117
116
111
59
102
108
101
120
58
49
32
49
32
97
117
116
111
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
45
99
111
110
116
97
105
110
101
114
32
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
32
48
32
48
32
49
50
112
120
59
98
111
114
100
101
114
58
48
59
104
101
105
103
104
116
58
49
48
48
37
59
119
105
100
116
104
58
49
48
48
37
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
45
99
111
110
116
97
105
110
101
114
32
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
58
58
45
119
101
98
107
105
116
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
45
99
111
110
116
97
105
110
101
114
32
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
45
99
111
110
116
97
105
110
101
114
32
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
58
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
45
99
111
110
116
97
105
110
101
114
32
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
58
58
112
108
97
99
101
104
111
108
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
45
99
111
110
116
97
105
110
101
114
32
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
45
99
111
110
116
97
105
110
101
114
32
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
32
46
109
45
104
101
97
100
95
95
115
101
97
114
99
104
45
102
105
101
108
100
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
104
101
105
103
104
116
58
51
50
112
120
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
115
117
98
109
105
116
123
98
111
114
100
101
114
58
48
59
98
111
114
100
101
114
45
98
111
116
116
111
109
45
108
101
102
116
45
114
97
100
105
117
115
58
48
59
98
111
114
100
101
114
45
98
111
116
116
111
109
45
114
105
103
104
116
45
114
97
100
105
117
115
58
49
50
112
120
59
98
111
114
100
101
114
45
116
111
112
45
108
101
102
116
45
114
97
100
105
117
115
58
48
59
98
111
114
100
101
114
45
116
111
112
45
114
105
103
104
116
45
114
97
100
105
117
115
58
49
50
112
120
59
109
97
114
103
105
110
58
48
59
112
97
100
100
105
110
103
58
49
50
112
120
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
115
117
98
109
105
116
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
115
117
98
109
105
116
58
102
111
99
117
115
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
55
48
48
41
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
52
56
48
112
120
41
123
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
115
117
98
109
105
116
123
122
45
105
110
100
101
120
58
49
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
115
117
98
109
105
116
123
112
97
100
100
105
110
103
58
49
52
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
115
117
98
109
105
116
123
108
105
110
101
45
104
101
105
103
104
116
58
49
46
49
125
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
45
112
108
97
99
101
104
111
108
100
101
114
45
119
114
97
112
112
101
114
123
104
101
105
103
104
116
58
49
48
48
37
59
108
101
102
116
58
48
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
48
59
45
119
101
98
107
105
116
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
109
111
122
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
109
115
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
110
111
110
101
59
122
45
105
110
100
101
120
58
48
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
45
112
108
97
99
101
104
111
108
100
101
114
45
119
114
97
112
112
101
114
46
104
105
100
101
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
45
112
108
97
99
101
104
111
108
100
101
114
123
45
45
115
108
105
100
101
45
117
112
45
121
58
32
52
48
112
120
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
48
41
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
58
51
48
115
32
101
97
115
101
32
48
115
32
105
110
102
105
110
105
116
101
32
110
111
114
109
97
108
32
110
111
110
101
32
114
117
110
110
105
110
103
32
102
108
105
112
45
117
112
59
97
110
105
109
97
116
105
111
110
58
51
48
115
32
101
97
115
101
32
48
115
32
105
110
102
105
110
105
116
101
32
110
111
114
109
97
108
32
110
111
110
101
32
114
117
110
110
105
110
103
32
102
108
105
112
45
117
112
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
45
112
108
97
99
101
104
111
108
100
101
114
123
45
45
115
108
105
100
101
45
117
112
45
121
58
32
52
52
112
120
125
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
45
112
108
97
99
101
104
111
108
100
101
114
32
112
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
59
104
101
105
103
104
116
58
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
115
108
105
100
101
45
117
112
45
121
41
59
109
97
114
103
105
110
45
108
101
102
116
58
49
53
112
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
102
105
101
108
100
45
112
108
97
99
101
104
111
108
100
101
114
32
112
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
109
45
104
101
97
100
101
114
95
95
108
111
103
111
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
119
105
100
116
104
58
49
52
52
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
104
101
97
100
101
114
95
95
108
111
103
111
123
119
105
100
116
104
58
50
48
48
112
120
125
125
46
109
45
104
101
97
100
101
114
95
95
99
97
114
116
45
105
116
101
109
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
54
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
54
112
120
59
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
109
45
104
101
97
100
101
114
95
95
99
97
114
116
45
105
116
101
109
45
105
109
97
103
101
123
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
53
112
120
59
119
105
100
116
104
58
57
50
112
120
125
46
109
45
104
101
97
100
101
114
95
95
99
97
114
116
45
105
116
101
109
45
105
109
97
103
101
32
105
109
103
123
119
105
100
116
104
58
49
48
48
37
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
104
101
97
100
101
114
95
95
99
97
114
116
45
105
116
101
109
45
105
109
97
103
101
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
125
125
46
109
45
104
101
97
100
101
114
95
95
99
97
114
116
45
105
116
101
109
45
105
110
102
111
123
109
97
114
103
105
110
45
108
101
102
116
58
50
48
112
120
125
46
109
45
104
101
97
100
101
114
95
95
99
97
114
116
45
105
116
101
109
45
105
110
102
111
32
108
105
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
112
120
125
46
109
45
104
101
97
100
101
114
95
95
99
97
114
116
45
105
116
101
109
45
105
110
102
111
32
108
105
46
99
97
114
116
45
105
116
101
109
45
105
110
102
111
95
95
104
105
103
104
108
105
103
104
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
46
109
45
104
101
97
100
101
114
95
95
99
97
114
116
45
112
97
121
112
97
108
123
109
105
110
45
104
101
105
103
104
116
58
51
53
112
120
125
46
109
45
104
101
97
100
101
114
95
95
99
97
114
116
45
97
112
112
108
101
112
97
121
123
109
97
114
103
105
110
58
53
112
120
32
48
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
104
101
105
103
104
116
58
52
50
112
120
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
99
108
111
115
101
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
49
48
112
120
59
114
105
103
104
116
58
53
54
112
120
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
99
108
111
115
101
46
104
105
100
101
123
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
99
108
111
115
101
123
116
111
112
58
49
50
112
120
125
125
46
109
45
104
101
97
100
101
114
95
95
115
101
97
114
99
104
45
99
108
111
115
101
45
98
117
116
116
111
110
123
98
111
114
100
101
114
58
110
111
110
101
125
46
109
45
104
101
97
100
101
114
95
95
100
101
115
105
103
110
101
114
45
98
117
116
116
111
110
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
112
97
100
100
105
110
103
58
49
48
112
120
32
49
50
112
120
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
49
48
50
51
112
120
41
123
46
115
116
105
99
107
121
45
104
101
97
100
101
114
45
45
110
111
45
115
116
105
99
107
121
123
112
111
115
105
116
105
111
110
58
115
116
97
116
105
99
59
116
111
112
58
117
110
115
101
116
125
46
115
116
105
99
107
121
45
104
101
97
100
101
114
45
45
98
111
116
116
111
109
45
115
116
105
99
107
121
123
112
111
115
105
116
105
111
110
58
45
119
101
98
107
105
116
45
115
116
105
99
107
121
59
112
111
115
105
116
105
111
110
58
115
116
105
99
107
121
59
116
111
112
58
48
59
116
114
97
110
115
105
116
105
111
110
58
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
32
46
51
115
32
101
97
115
101
45
111
117
116
59
116
114
97
110
115
105
116
105
111
110
58
116
114
97
110
115
102
111
114
109
32
46
51
115
32
101
97
115
101
45
111
117
116
59
116
114
97
110
115
105
116
105
111
110
58
116
114
97
110
115
102
111
114
109
32
46
51
115
32
101
97
115
101
45
111
117
116
44
32
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
32
46
51
115
32
101
97
115
101
45
111
117
116
125
46
115
116
105
99
107
121
45
104
101
97
100
101
114
45
45
98
111
116
116
111
109
45
115
116
105
99
107
121
46
109
45
104
101
97
100
101
114
45
115
101
99
111
110
100
97
114
121
123
116
111
112
58
56
48
112
120
59
122
45
105
110
100
101
120
58
99
97
108
99
40
49
48
32
43
32
49
41
125
46
115
116
105
99
107
121
45
104
101
97
100
101
114
45
45
98
111
116
116
111
109
45
115
116
105
99
107
121
46
109
45
104
101
97
100
101
114
45
45
119
105
116
104
45
97
102
102
105
108
105
97
116
101
115
45
115
104
97
114
101
123
116
111
112
58
53
48
112
120
125
46
109
45
104
101
97
100
101
114
45
45
104
105
100
101
45
116
111
112
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
45
53
48
112
120
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
45
53
48
112
120
41
59
116
114
97
110
115
105
116
105
111
110
58
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
32
46
51
115
32
101
97
115
101
45
111
117
116
59
116
114
97
110
115
105
116
105
111
110
58
116
114
97
110
115
102
111
114
109
32
46
51
115
32
101
97
115
101
45
111
117
116
59
116
114
97
110
115
105
116
105
111
110
58
116
114
97
110
115
102
111
114
109
32
46
51
115
32
101
97
115
101
45
111
117
116
44
32
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
32
46
51
115
32
101
97
115
101
45
111
117
116
125
46
109
45
104
101
97
100
101
114
45
45
104
105
100
101
45
116
111
112
46
118
99
45
104
101
97
100
101
114
45
45
110
111
45
115
101
97
114
99
104
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
45
54
52
112
120
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
45
54
52
112
120
41
125
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
49
48
50
51
112
120
41
32
97
110
100
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
32
97
110
100
32
40
109
97
120
45
119
105
100
116
104
58
32
49
48
50
51
112
120
41
123
46
109
45
104
101
97
100
101
114
45
45
104
105
100
101
45
116
111
112
46
118
99
45
104
101
97
100
101
114
45
45
110
111
45
115
101
97
114
99
104
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
45
55
54
112
120
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
45
55
54
112
120
41
125
125
46
116
101
101
112
117
98
108
105
99
111
110
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
103
114
105
100
59
118
101
114
116
105
99
97
108
45
97
108
105
103
110
58
109
105
100
100
108
101
125
46
116
101
101
112
117
98
108
105
99
111
110
46
116
101
101
112
117
98
108
105
99
111
110
45
45
114
111
117
110
100
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
48
37
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
58
104
111
118
101
114
123
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
98
108
117
101
45
100
97
114
107
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
98
108
117
101
45
100
97
114
107
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
112
114
105
109
97
114
121
45
50
48
48
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
112
114
105
109
97
114
121
45
50
48
48
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
112
114
105
109
97
114
121
45
52
48
48
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
112
114
105
109
97
114
121
45
52
48
48
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
52
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
112
114
105
109
97
114
121
45
53
48
48
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
112
114
105
109
97
114
121
45
53
48
48
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
98
108
117
101
45
100
101
102
97
117
108
116
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
98
108
117
101
45
100
101
102
97
117
108
116
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
100
97
114
107
45
100
101
102
97
117
108
116
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
100
97
114
107
45
100
101
102
97
117
108
116
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
116
114
97
110
115
112
97
114
101
110
116
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
116
114
97
110
115
112
97
114
101
110
116
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
116
114
97
110
115
112
97
114
101
110
116
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
101
114
114
111
114
45
114
101
100
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
101
114
114
111
114
45
114
101
100
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
103
114
101
121
45
100
97
114
107
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
103
114
101
121
45
100
97
114
107
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
103
114
101
121
45
100
101
102
97
117
108
116
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
103
114
101
121
45
100
101
102
97
117
108
116
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
103
114
101
121
45
108
105
103
104
116
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
103
114
101
121
45
108
105
103
104
116
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
108
105
103
104
116
45
100
101
102
97
117
108
116
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
108
105
103
104
116
45
100
101
102
97
117
108
116
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
108
105
103
104
116
45
97
50
48
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
45
97
50
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
108
105
103
104
116
45
97
50
48
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
112
105
110
116
101
114
101
115
116
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
112
105
110
116
101
114
101
115
116
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
35
98
100
48
56
49
99
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
115
117
99
99
101
115
115
45
103
114
101
101
110
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
115
117
99
99
101
115
115
45
103
114
101
101
110
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
54
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
119
97
114
110
105
110
103
45
121
101
108
108
111
119
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
119
97
114
110
105
110
103
45
121
101
108
108
111
119
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
54
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
52
48
48
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
52
48
48
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
52
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
95
95
100
114
97
103
103
97
98
108
101
58
104
111
118
101
114
123
99
117
114
115
111
114
58
45
119
101
98
107
105
116
45
103
114
97
98
59
99
117
114
115
111
114
58
103
114
97
98
125
46
116
101
101
112
117
98
108
105
99
111
110
95
95
100
114
97
103
103
97
98
108
101
58
97
99
116
105
118
101
123
99
117
114
115
111
114
58
45
119
101
98
107
105
116
45
103
114
97
98
98
105
110
103
59
99
117
114
115
111
114
58
103
114
97
98
98
105
110
103
125
46
116
101
101
112
117
98
108
105
99
111
110
45
118
97
114
105
97
110
116
45
45
99
105
114
99
108
101
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
48
37
125
46
116
101
101
112
117
98
108
105
99
111
110
45
118
97
114
105
97
110
116
45
45
99
105
114
99
108
101
46
120
45
108
97
114
103
101
123
112
97
100
100
105
110
103
58
49
56
112
120
125
46
116
101
101
112
117
98
108
105
99
111
110
45
118
97
114
105
97
110
116
45
45
99
105
114
99
108
101
46
108
97
114
103
101
123
112
97
100
100
105
110
103
58
49
52
112
120
125
46
116
101
101
112
117
98
108
105
99
111
110
45
118
97
114
105
97
110
116
45
45
99
105
114
99
108
101
46
109
101
100
105
117
109
123
112
97
100
100
105
110
103
58
49
48
112
120
125
46
116
101
101
112
117
98
108
105
99
111
110
45
118
97
114
105
97
110
116
45
45
99
105
114
99
108
101
46
100
101
102
97
117
108
116
123
112
97
100
100
105
110
103
58
56
112
120
125
46
116
101
101
112
117
98
108
105
99
111
110
45
118
97
114
105
97
110
116
45
45
99
105
114
99
108
101
46
115
109
97
108
108
123
112
97
100
100
105
110
103
58
52
112
120
125
46
116
101
101
112
117
98
108
105
99
45
45
98
111
114
100
101
114
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
125
46
116
101
101
112
117
98
108
105
99
45
45
98
111
114
100
101
114
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
45
97
50
48
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
45
97
50
48
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
45
97
50
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
51
48
48
32
115
118
103
44
46
116
101
101
112
117
98
108
105
99
111
110
45
45
104
111
118
101
114
45
99
111
108
111
114
45
100
97
110
103
101
114
45
51
48
48
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
51
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
116
114
97
110
115
112
97
114
101
110
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
98
108
117
101
45
100
97
114
107
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
98
108
117
101
45
100
101
102
97
117
108
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
100
97
114
107
45
100
101
102
97
117
108
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
100
101
118
105
97
110
116
97
114
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
54
49
99
56
53
97
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
101
114
114
111
114
45
114
101
100
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
102
97
99
101
98
111
111
107
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
51
98
53
57
57
56
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
103
114
101
121
45
100
101
102
97
117
108
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
103
114
101
121
45
100
97
114
107
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
105
110
115
116
97
103
114
97
109
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
52
51
52
101
52
53
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
108
105
103
104
116
45
100
101
102
97
117
108
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
108
105
110
107
116
114
101
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
51
101
100
99
53
99
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
112
105
110
116
101
114
101
115
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
98
100
48
56
49
99
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
112
117
114
112
108
101
45
100
101
102
97
117
108
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
53
101
52
54
57
101
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
114
101
100
100
105
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
102
102
52
51
48
49
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
115
117
99
99
101
115
115
45
103
114
101
101
110
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
116
105
107
116
111
107
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
98
108
97
99
107
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
116
117
109
98
108
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
51
50
51
101
52
100
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
116
119
105
116
99
104
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
57
49
52
54
102
102
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
116
119
105
116
116
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
53
53
97
99
101
101
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
119
97
114
110
105
110
103
45
121
101
108
108
111
119
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
53
48
48
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
98
97
99
107
103
114
111
117
110
100
45
45
121
111
117
116
117
98
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
114
101
100
125
46
116
101
101
112
117
98
108
105
99
111
110
45
115
112
97
99
105
110
103
45
45
98
111
116
104
123
109
97
114
103
105
110
45
108
101
102
116
58
53
112
120
59
109
97
114
103
105
110
45
114
105
103
104
116
58
53
112
120
125
46
116
101
101
112
117
98
108
105
99
111
110
45
115
112
97
99
105
110
103
45
45
108
101
102
116
123
109
97
114
103
105
110
45
108
101
102
116
58
53
112
120
125
46
116
101
101
112
117
98
108
105
99
111
110
45
115
112
97
99
105
110
103
45
45
114
105
103
104
116
123
109
97
114
103
105
110
45
114
105
103
104
116
58
53
112
120
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
114
111
116
97
116
101
45
57
48
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
57
48
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
57
48
100
101
103
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
114
111
116
97
116
101
45
49
56
48
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
49
56
48
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
49
56
48
100
101
103
41
125
46
116
101
101
112
117
98
108
105
99
111
110
45
45
114
111
116
97
116
101
45
50
55
48
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
50
55
48
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
50
55
48
100
101
103
41
125
46
99
45
109
101
110
117
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
125
46
99
45
109
101
110
117
32
117
108
123
109
97
114
103
105
110
45
116
111
112
58
53
112
120
125
46
99
45
109
101
110
117
46
109
116
45
48
44
46
99
45
109
101
110
117
46
109
116
45
48
32
117
108
123
109
97
114
103
105
110
45
116
111
112
58
48
125
46
99
45
109
101
110
117
46
109
116
45
49
44
46
99
45
109
101
110
117
46
109
116
45
49
32
117
108
123
109
97
114
103
105
110
45
116
111
112
58
51
112
120
125
46
99
45
109
101
110
117
45
103
114
111
117
112
32
46
99
45
109
101
110
117
58
102
105
114
115
116
45
111
102
45
116
121
112
101
123
109
97
114
103
105
110
45
116
111
112
58
48
125
46
99
45
109
101
110
117
95
95
104
101
97
100
101
114
123
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
99
45
109
101
110
117
95
95
104
101
97
100
101
114
32
104
51
44
46
99
45
109
101
110
117
95
95
104
101
97
100
101
114
32
104
52
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
50
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
99
45
109
101
110
117
95
95
104
101
97
100
101
114
32
104
51
44
46
99
45
109
101
110
117
95
95
104
101
97
100
101
114
32
104
52
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
50
48
112
120
125
125
46
99
45
109
101
110
117
95
95
104
101
97
100
101
114
32
46
116
101
101
112
117
98
108
105
99
111
110
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
57
48
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
57
48
100
101
103
41
59
116
114
97
110
115
105
116
105
111
110
58
97
108
108
32
51
48
48
109
115
32
101
97
115
101
45
111
117
116
59
109
97
114
103
105
110
45
114
105
103
104
116
58
53
112
120
125
46
99
45
109
101
110
117
95
95
104
101
97
100
101
114
32
46
102
108
105
112
112
101
100
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
45
57
48
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
45
57
48
100
101
103
41
59
116
114
97
110
115
105
116
105
111
110
58
97
108
108
32
51
48
48
109
115
32
101
97
115
101
45
111
117
116
125
46
99
45
109
101
110
117
95
95
104
101
97
100
101
114
32
46
102
108
105
112
112
101
100
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
99
45
109
101
110
117
95
95
104
101
97
100
101
114
91
114
111
108
101
61
39
98
117
116
116
111
110
39
93
123
112
97
100
100
105
110
103
45
108
101
102
116
58
48
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
125
46
99
45
109
101
110
117
95
95
104
101
97
100
101
114
45
45
106
117
115
116
105
102
121
45
115
112
97
99
101
45
98
101
116
119
101
101
110
123
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
112
97
100
100
105
110
103
58
49
53
112
120
32
48
125
46
99
45
109
101
110
117
95
95
104
101
97
100
101
114
45
45
106
117
115
116
105
102
121
45
100
101
102
97
117
108
116
123
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
110
111
114
109
97
108
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
110
111
114
109
97
108
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
50
112
120
59
112
97
100
100
105
110
103
45
116
111
112
58
56
112
120
125
46
99
45
109
101
110
117
45
114
101
100
101
115
105
103
110
45
99
97
110
118
97
115
95
95
104
101
97
100
101
114
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
50
48
112
120
59
112
97
100
100
105
110
103
58
49
54
112
120
32
56
112
120
125
46
99
45
109
101
110
117
95
95
105
116
101
109
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
50
112
120
125
46
99
45
109
101
110
117
45
114
101
100
101
115
105
103
110
95
95
105
116
101
109
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
125
46
99
45
109
101
110
117
95
95
108
105
110
107
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
112
120
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
108
105
110
101
45
104
101
105
103
104
116
58
49
54
112
120
59
112
97
100
100
105
110
103
58
56
112
120
32
49
53
112
120
59
119
105
100
116
104
58
49
48
48
37
125
46
99
45
109
101
110
117
95
95
108
105
110
107
58
104
111
118
101
114
44
46
99
45
109
101
110
117
95
95
108
105
110
107
58
97
99
116
105
118
101
44
46
99
45
109
101
110
117
95
95
108
105
110
107
58
102
111
99
117
115
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
125
46
99
45
109
101
110
117
95
95
108
105
110
107
46
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
99
45
109
101
110
117
95
95
108
105
110
107
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
125
46
99
45
109
101
110
117
95
95
108
105
110
107
46
115
101
108
101
99
116
101
100
46
110
111
45
100
101
97
99
116
105
118
97
116
101
58
58
97
102
116
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
99
45
109
101
110
117
45
114
101
100
101
115
105
103
110
95
95
108
105
110
107
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
112
97
100
100
105
110
103
58
56
112
120
32
49
54
112
120
59
119
105
100
116
104
58
49
48
48
37
125
46
99
45
109
101
110
117
45
114
101
100
101
115
105
103
110
95
95
108
105
110
107
32
104
52
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
50
48
112
120
125
46
99
45
109
101
110
117
45
114
101
100
101
115
105
103
110
95
95
108
105
110
107
58
104
111
118
101
114
44
46
99
45
109
101
110
117
45
114
101
100
101
115
105
103
110
95
95
108
105
110
107
58
97
99
116
105
118
101
44
46
99
45
109
101
110
117
45
114
101
100
101
115
105
103
110
95
95
108
105
110
107
58
102
111
99
117
115
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
125
46
99
45
109
101
110
117
45
114
101
100
101
115
105
103
110
95
95
108
105
110
107
46
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
99
45
109
101
110
117
45
114
101
100
101
115
105
103
110
95
95
108
105
110
107
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
125
46
99
45
109
101
110
117
45
114
101
100
101
115
105
103
110
95
95
108
105
110
107
46
115
101
108
101
99
116
101
100
46
110
111
45
100
101
97
99
116
105
118
97
116
101
58
58
97
102
116
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
99
45
109
101
110
117
95
95
108
105
110
107
45
45
105
99
111
110
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
45
114
101
118
101
114
115
101
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
45
114
101
118
101
114
115
101
125
46
99
45
109
101
110
117
45
115
101
99
111
110
100
97
114
121
123
109
97
114
103
105
110
45
116
111
112
58
50
53
112
120
125
46
99
45
109
101
110
117
45
115
101
99
111
110
100
97
114
121
58
58
98
101
102
111
114
101
123
99
111
110
116
101
110
116
58
39
39
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
104
101
105
103
104
116
58
50
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
97
117
116
111
59
109
97
114
103
105
110
45
114
105
103
104
116
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
53
112
120
59
119
105
100
116
104
58
49
48
48
37
125
46
99
45
109
101
110
117
45
45
101
120
112
97
110
100
97
98
108
101
32
117
108
123
109
97
120
45
104
101
105
103
104
116
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
111
118
101
114
102
108
111
119
45
121
58
104
105
100
100
101
110
59
116
114
97
110
115
105
116
105
111
110
58
109
97
120
45
104
101
105
103
104
116
32
53
48
48
109
115
32
101
97
115
101
45
111
117
116
125
46
99
45
109
101
110
117
45
45
101
120
112
97
110
100
97
98
108
101
32
117
108
46
101
120
112
97
110
100
101
100
123
109
97
120
45
104
101
105
103
104
116
58
52
48
48
112
120
59
116
114
97
110
115
105
116
105
111
110
58
109
97
120
45
104
101
105
103
104
116
32
53
48
48
109
115
32
101
97
115
101
45
111
117
116
125
46
116
111
111
108
45
116
105
112
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
116
111
111
108
45
116
105
112
32
46
116
111
111
108
45
116
105
112
116
101
120
116
58
58
97
102
116
101
114
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
32
116
114
97
110
115
112
97
114
101
110
116
32
116
114
97
110
115
112
97
114
101
110
116
32
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
45
115
116
121
108
101
58
115
111
108
105
100
59
98
111
114
100
101
114
45
119
105
100
116
104
58
53
112
120
59
99
111
110
116
101
110
116
58
39
39
59
108
101
102
116
58
53
48
37
59
109
97
114
103
105
110
45
108
101
102
116
58
45
53
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
49
48
48
37
125
46
116
111
111
108
45
116
105
112
116
101
120
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
54
112
120
59
98
111
116
116
111
109
58
49
53
48
37
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
108
101
102
116
58
53
48
37
59
109
97
114
103
105
110
45
108
101
102
116
58
45
49
49
48
112
120
59
112
97
100
100
105
110
103
58
56
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
59
119
105
100
116
104
58
50
50
53
112
120
59
122
45
105
110
100
101
120
58
49
125
46
116
111
111
108
45
116
105
112
58
104
111
118
101
114
32
46
116
111
111
108
45
116
105
112
116
101
120
116
123
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
46
116
112
45
116
111
111
108
116
105
112
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
100
105
115
112
108
97
121
58
110
111
110
101
59
112
97
100
100
105
110
103
58
56
112
120
32
49
50
112
120
59
119
105
100
116
104
58
45
119
101
98
107
105
116
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
45
109
111
122
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
102
105
116
45
99
111
110
116
101
110
116
59
109
97
120
45
119
105
100
116
104
58
50
48
48
112
120
59
122
45
105
110
100
101
120
58
49
48
48
59
98
111
120
45
115
104
97
100
111
119
58
48
32
50
112
120
32
52
112
120
32
48
32
114
103
98
97
40
50
49
44
50
49
44
51
53
44
48
46
50
41
125
46
116
112
45
116
111
111
108
116
105
112
45
45
97
114
114
111
119
44
46
116
112
45
116
111
111
108
116
105
112
45
45
97
114
114
111
119
58
58
98
101
102
111
114
101
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
119
105
100
116
104
58
56
112
120
59
104
101
105
103
104
116
58
56
112
120
59
98
97
99
107
103
114
111
117
110
100
58
105
110
104
101
114
105
116
125
46
116
112
45
116
111
111
108
116
105
112
45
45
97
114
114
111
119
123
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
46
116
112
45
116
111
111
108
116
105
112
45
45
97
114
114
111
119
58
58
98
101
102
111
114
101
123
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
59
99
111
110
116
101
110
116
58
34
34
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
52
53
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
52
53
100
101
103
41
125
46
116
112
45
116
111
111
108
116
105
112
91
100
97
116
97
45
112
111
112
112
101
114
45
112
108
97
99
101
109
101
110
116
94
61
34
116
111
112
34
93
62
46
116
112
45
116
111
111
108
116
105
112
45
45
97
114
114
111
119
123
98
111
116
116
111
109
58
45
52
112
120
125
46
116
112
45
116
111
111
108
116
105
112
91
100
97
116
97
45
112
111
112
112
101
114
45
112
108
97
99
101
109
101
110
116
94
61
34
98
111
116
116
111
109
34
93
62
46
116
112
45
116
111
111
108
116
105
112
45
45
97
114
114
111
119
123
116
111
112
58
45
52
112
120
125
46
116
112
45
116
111
111
108
116
105
112
91
100
97
116
97
45
112
111
112
112
101
114
45
112
108
97
99
101
109
101
110
116
94
61
34
108
101
102
116
34
93
62
46
116
112
45
116
111
111
108
116
105
112
45
45
97
114
114
111
119
123
114
105
103
104
116
58
45
52
112
120
125
46
116
112
45
116
111
111
108
116
105
112
91
100
97
116
97
45
112
111
112
112
101
114
45
112
108
97
99
101
109
101
110
116
94
61
34
114
105
103
104
116
34
93
62
46
116
112
45
116
111
111
108
116
105
112
45
45
97
114
114
111
119
123
108
101
102
116
58
45
52
112
120
125
46
116
112
45
116
111
111
108
116
105
112
91
100
97
116
97
45
115
104
111
119
93
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
99
45
116
114
97
121
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
104
101
105
103
104
116
58
49
48
48
37
59
112
111
115
105
116
105
111
110
58
102
105
120
101
100
59
116
111
112
58
48
59
116
114
97
110
115
105
116
105
111
110
58
118
105
115
105
98
105
108
105
116
121
32
48
115
32
46
49
53
115
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
59
119
105
100
116
104
58
49
48
48
37
59
122
45
105
110
100
101
120
58
49
49
48
125
46
99
45
116
114
97
121
46
114
105
103
104
116
123
114
105
103
104
116
58
48
125
46
99
45
116
114
97
121
46
114
105
103
104
116
62
46
99
45
116
114
97
121
95
95
99
111
110
116
97
105
110
101
114
123
114
105
103
104
116
58
48
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
49
48
48
37
44
32
48
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
49
48
48
37
44
32
48
44
32
48
41
125
46
99
45
116
114
97
121
46
108
101
102
116
123
108
101
102
116
58
48
125
46
99
45
116
114
97
121
46
108
101
102
116
62
46
99
45
116
114
97
121
95
95
99
111
110
116
97
105
110
101
114
123
108
101
102
116
58
48
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
45
49
48
48
37
44
32
48
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
45
49
48
48
37
44
32
48
44
32
48
41
125
46
99
45
116
114
97
121
46
97
99
116
105
118
101
123
116
114
97
110
115
105
116
105
111
110
58
118
105
115
105
98
105
108
105
116
121
32
48
115
32
48
115
59
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
125
46
99
45
116
114
97
121
46
97
99
116
105
118
101
62
46
99
45
116
114
97
121
95
95
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
48
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
48
44
32
48
44
32
48
41
59
116
114
97
110
115
105
116
105
111
110
45
100
101
108
97
121
58
48
115
125
46
99
45
116
114
97
121
46
97
99
116
105
118
101
62
46
99
45
116
114
97
121
95
95
117
110
100
101
114
108
97
121
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
56
48
41
125
46
99
45
116
114
97
121
95
95
99
111
110
116
97
105
110
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
119
104
105
116
101
59
98
111
116
116
111
109
58
48
59
104
101
105
103
104
116
58
49
48
48
37
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
48
59
116
114
97
110
115
105
116
105
111
110
58
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
32
48
46
49
53
115
32
99
117
98
105
99
45
98
101
122
105
101
114
40
48
46
56
44
32
48
44
32
48
44
32
49
46
49
50
41
59
116
114
97
110
115
105
116
105
111
110
58
116
114
97
110
115
102
111
114
109
32
48
46
49
53
115
32
99
117
98
105
99
45
98
101
122
105
101
114
40
48
46
56
44
32
48
44
32
48
44
32
49
46
49
50
41
59
116
114
97
110
115
105
116
105
111
110
58
116
114
97
110
115
102
111
114
109
32
48
46
49
53
115
32
99
117
98
105
99
45
98
101
122
105
101
114
40
48
46
56
44
32
48
44
32
48
44
32
49
46
49
50
41
44
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
32
48
46
49
53
115
32
99
117
98
105
99
45
98
101
122
105
101
114
40
48
46
56
44
32
48
44
32
48
44
32
49
46
49
50
41
59
119
105
100
116
104
58
56
53
37
125
46
99
45
116
114
97
121
95
95
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
110
111
110
101
59
104
101
105
103
104
116
58
49
48
48
37
125
46
99
45
116
114
97
121
95
95
99
111
110
116
101
110
116
46
114
101
110
100
101
114
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
99
45
116
114
97
121
95
95
117
110
100
101
114
108
97
121
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
104
101
105
103
104
116
58
49
48
48
37
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
114
97
110
115
105
116
105
111
110
58
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
32
46
49
53
115
32
101
97
115
101
45
105
110
45
111
117
116
59
116
114
97
110
115
105
116
105
111
110
45
100
101
108
97
121
58
48
115
59
119
105
100
116
104
58
49
48
48
37
125
46
116
112
45
97
99
99
111
114
100
105
111
110
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
56
112
120
125
46
116
112
45
97
99
99
111
114
100
105
111
110
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
99
111
110
116
101
110
116
45
45
111
112
101
110
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
98
117
116
116
111
110
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
58
48
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
112
97
100
100
105
110
103
58
49
50
112
120
32
49
54
112
120
59
119
105
100
116
104
58
49
48
48
37
59
45
119
101
98
107
105
116
45
116
97
112
45
104
105
103
104
108
105
103
104
116
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
64
109
101
100
105
97
32
40
104
111
118
101
114
58
32
104
111
118
101
114
41
32
97
110
100
32
40
112
111
105
110
116
101
114
58
32
102
105
110
101
41
123
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
98
117
116
116
111
110
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
125
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
98
117
116
116
111
110
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
99
111
110
116
101
110
116
45
45
111
112
101
110
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
99
111
110
116
101
110
116
45
45
111
112
101
110
32
46
116
101
101
112
117
98
108
105
99
111
110
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
50
55
48
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
50
55
48
100
101
103
41
125
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
99
111
110
116
101
110
116
45
45
111
112
101
110
32
46
116
101
101
112
117
98
108
105
99
111
110
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
98
117
116
116
111
110
45
116
101
120
116
123
99
111
108
111
114
58
105
110
104
101
114
105
116
125
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
110
111
110
101
59
112
97
100
100
105
110
103
58
49
50
112
120
32
49
54
112
120
125
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
99
111
110
116
101
110
116
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
99
111
110
116
101
110
116
45
45
111
112
101
110
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
118
99
45
98
97
110
110
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
112
97
100
100
105
110
103
58
49
53
112
120
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
45
97
49
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
104
101
105
103
104
116
58
53
48
112
120
59
112
97
100
100
105
110
103
58
48
32
49
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
105
110
102
111
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
102
108
111
119
58
114
111
119
32
119
114
97
112
59
102
108
101
120
45
102
108
111
119
58
114
111
119
32
119
114
97
112
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
99
111
110
116
101
110
116
123
109
97
114
103
105
110
58
97
117
116
111
59
112
97
100
100
105
110
103
58
48
32
49
53
112
120
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
99
108
105
112
98
111
97
114
100
123
112
97
100
100
105
110
103
45
116
111
112
58
53
112
120
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
119
105
100
116
104
58
49
48
48
37
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
99
108
105
112
98
111
97
114
100
62
42
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
99
108
105
112
98
111
97
114
100
32
46
116
101
101
112
117
98
108
105
99
111
110
123
100
105
115
112
108
97
121
58
110
111
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
99
108
105
112
98
111
97
114
100
123
112
97
100
100
105
110
103
45
116
111
112
58
48
59
119
105
100
116
104
58
97
117
116
111
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
99
108
105
112
98
111
97
114
100
32
46
116
101
101
112
117
98
108
105
99
111
110
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
109
97
114
103
105
110
45
108
101
102
116
58
49
48
112
120
125
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
108
105
110
107
45
119
114
97
112
112
101
114
46
97
110
105
109
97
116
101
123
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
58
102
97
100
101
45
105
110
45
100
111
119
110
32
48
46
50
115
32
101
97
115
101
45
105
110
45
111
117
116
32
102
111
114
119
97
114
100
115
59
97
110
105
109
97
116
105
111
110
58
102
97
100
101
45
105
110
45
100
111
119
110
32
48
46
50
115
32
101
97
115
101
45
105
110
45
111
117
116
32
102
111
114
119
97
114
100
115
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
108
105
110
107
45
119
114
97
112
112
101
114
46
99
111
112
105
101
100
46
115
117
99
99
101
115
115
123
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
58
102
97
100
101
45
111
117
116
45
100
111
119
110
32
48
46
50
115
32
101
97
115
101
45
105
110
45
111
117
116
32
102
111
114
119
97
114
100
115
59
97
110
105
109
97
116
105
111
110
58
102
97
100
101
45
111
117
116
45
100
111
119
110
32
48
46
50
115
32
101
97
115
101
45
105
110
45
111
117
116
32
102
111
114
119
97
114
100
115
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
108
105
110
107
45
119
114
97
112
112
101
114
45
45
99
111
112
105
101
100
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
59
116
111
112
58
53
112
120
59
98
111
116
116
111
109
58
48
59
108
101
102
116
58
48
59
114
105
103
104
116
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
108
105
110
107
45
119
114
97
112
112
101
114
45
45
99
111
112
105
101
100
123
116
111
112
58
48
59
114
105
103
104
116
58
117
110
115
101
116
125
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
108
105
110
107
45
119
114
97
112
112
101
114
45
45
99
111
112
105
101
100
46
97
110
105
109
97
116
101
123
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
58
102
97
100
101
45
111
117
116
45
100
111
119
110
32
48
46
50
115
32
101
97
115
101
45
105
110
45
111
117
116
32
102
111
114
119
97
114
100
115
59
97
110
105
109
97
116
105
111
110
58
102
97
100
101
45
111
117
116
45
100
111
119
110
32
48
46
50
115
32
101
97
115
101
45
105
110
45
111
117
116
32
102
111
114
119
97
114
100
115
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
108
105
110
107
45
119
114
97
112
112
101
114
45
45
99
111
112
105
101
100
46
115
117
99
99
101
115
115
123
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
58
102
97
100
101
45
105
110
45
100
111
119
110
32
48
46
50
115
32
101
97
115
101
45
105
110
45
111
117
116
32
102
111
114
119
97
114
100
115
59
97
110
105
109
97
116
105
111
110
58
102
97
100
101
45
105
110
45
100
111
119
110
32
48
46
50
115
32
101
97
115
101
45
105
110
45
111
117
116
32
102
111
114
119
97
114
100
115
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
108
105
110
107
123
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
53
48
48
41
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
108
105
110
107
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
53
48
48
41
59
111
112
97
99
105
116
121
58
46
56
53
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
108
105
110
107
46
99
111
112
105
101
100
46
115
117
99
99
101
115
115
123
111
112
97
99
105
116
121
58
48
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
58
102
97
100
101
45
111
117
116
45
100
111
119
110
32
46
53
115
32
108
105
110
101
97
114
32
102
111
114
119
97
114
100
115
59
97
110
105
109
97
116
105
111
110
58
102
97
100
101
45
111
117
116
45
100
111
119
110
32
46
53
115
32
108
105
110
101
97
114
32
102
111
114
119
97
114
100
115
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
108
105
110
107
45
45
99
111
112
105
101
100
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
125
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
110
111
116
101
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
51
55
53
112
120
41
32
97
110
100
32
40
109
97
120
45
119
105
100
116
104
58
32
57
56
49
112
120
41
123
46
118
99
45
98
97
110
110
101
114
45
97
102
102
105
108
105
97
116
101
95
95
110
111
116
101
123
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
59
119
105
100
116
104
58
97
117
116
111
125
125
46
118
99
45
98
97
110
110
101
114
45
115
97
108
101
45
99
111
117
110
116
100
111
119
110
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
119
105
100
116
104
58
49
48
48
37
125
46
118
99
45
98
97
110
110
101
114
45
115
97
108
101
45
99
111
117
110
116
100
111
119
110
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
109
97
114
103
105
110
58
97
117
116
111
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
118
99
45
98
97
110
110
101
114
45
115
97
108
101
45
99
111
117
110
116
100
111
119
110
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
103
97
112
58
52
48
112
120
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
51
48
112
120
125
125
46
118
99
45
98
97
110
110
101
114
45
115
97
108
101
45
99
111
117
110
116
100
111
119
110
95
95
99
111
117
110
116
100
111
119
110
45
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
59
119
105
100
116
104
58
49
48
48
37
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
118
99
45
98
97
110
110
101
114
45
115
97
108
101
45
99
111
117
110
116
100
111
119
110
95
95
99
111
117
110
116
100
111
119
110
45
99
111
110
116
97
105
110
101
114
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
119
105
100
116
104
58
97
117
116
111
125
125
46
118
99
45
98
97
110
110
101
114
45
115
97
108
101
45
99
111
117
110
116
100
111
119
110
95
95
99
111
117
110
116
100
111
119
110
45
108
97
98
101
108
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
109
97
114
103
105
110
45
114
105
103
104
116
58
53
112
120
59
116
101
120
116
45
97
108
105
103
110
58
101
110
100
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
52
56
48
112
120
41
123
46
118
99
45
98
97
110
110
101
114
45
115
97
108
101
45
99
111
117
110
116
100
111
119
110
95
95
99
111
117
110
116
100
111
119
110
45
108
97
98
101
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
118
99
45
98
97
110
110
101
114
45
115
97
108
101
45
99
111
117
110
116
100
111
119
110
95
95
109
101
115
115
97
103
105
110
103
45
99
116
97
45
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
49
50
112
120
125
46
118
99
45
98
97
110
110
101
114
45
115
97
108
101
45
99
111
117
110
116
100
111
119
110
95
95
109
101
115
115
97
103
105
110
103
45
99
116
97
45
99
111
110
116
97
105
110
101
114
32
46
99
45
108
105
110
107
95
95
98
117
116
116
111
110
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
115
101
108
102
58
99
101
110
116
101
114
59
97
108
105
103
110
45
115
101
108
102
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
48
59
102
108
101
120
45
103
114
111
119
58
48
59
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
50
56
54
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
125
46
118
99
45
98
97
110
110
101
114
45
115
97
108
101
45
99
111
117
110
116
100
111
119
110
95
95
109
101
115
115
97
103
105
110
103
45
99
116
97
45
99
111
110
116
97
105
110
101
114
32
46
99
45
108
105
110
107
95
95
98
117
116
116
111
110
46
104
105
100
100
101
110
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
118
99
45
98
97
110
110
101
114
45
115
97
108
101
45
99
111
117
110
116
100
111
119
110
95
95
109
101
115
115
97
103
105
110
103
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
49
59
102
108
101
120
45
103
114
111
119
58
49
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
52
56
48
112
120
41
123
46
118
99
45
98
97
110
110
101
114
45
115
97
108
101
45
99
111
117
110
116
100
111
119
110
95
95
109
101
115
115
97
103
105
110
103
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
125
125
46
118
99
45
98
97
110
110
101
114
45
115
101
108
108
101
114
45
118
101
114
105
102
105
99
97
116
105
111
110
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
51
44
32
97
117
116
111
41
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
112
97
100
100
105
110
103
58
49
54
112
120
32
48
112
120
59
103
97
112
58
50
48
112
120
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
49
48
50
53
112
120
41
123
46
118
99
45
98
97
110
110
101
114
45
115
101
108
108
101
114
45
118
101
114
105
102
105
99
97
116
105
111
110
123
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
50
44
32
97
117
116
111
41
59
112
97
100
100
105
110
103
58
49
54
112
120
59
103
97
112
58
49
50
112
120
125
125
46
118
99
45
98
97
110
110
101
114
45
115
101
108
108
101
114
45
118
101
114
105
102
105
99
97
116
105
111
110
95
95
116
101
120
116
123
102
111
110
116
45
102
97
109
105
108
121
58
34
82
111
111
98
101
114
116
45
83
101
109
105
66
111
108
100
34
44
32
72
101
108
118
101
116
105
99
97
44
32
115
97
110
115
45
115
101
114
105
102
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
115
116
121
108
101
58
110
111
114
109
97
108
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
53
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
49
48
50
53
112
120
41
123
46
118
99
45
98
97
110
110
101
114
45
115
101
108
108
101
114
45
118
101
114
105
102
105
99
97
116
105
111
110
95
95
116
101
120
116
123
103
114
105
100
45
97
114
101
97
58
49
32
47
32
49
32
47
32
49
32
47
32
115
112
97
110
32
50
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
52
50
56
53
55
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
49
48
50
53
112
120
41
123
46
118
99
45
98
97
110
110
101
114
45
115
101
108
108
101
114
45
118
101
114
105
102
105
99
97
116
105
111
110
95
95
108
105
110
107
45
119
114
97
112
112
101
114
123
106
117
115
116
105
102
121
45
115
101
108
102
58
101
110
100
125
125
46
118
99
45
98
97
110
110
101
114
45
115
101
108
108
101
114
45
118
101
114
105
102
105
99
97
116
105
111
110
95
95
98
116
110
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
112
97
100
100
105
110
103
58
56
112
120
125
46
118
99
45
98
97
110
110
101
114
45
115
101
108
108
101
114
45
118
101
114
105
102
105
99
97
116
105
111
110
95
95
98
116
110
32
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
123
98
111
114
100
101
114
58
110
111
110
101
59
102
111
110
116
45
102
97
109
105
108
121
58
34
82
111
111
98
101
114
116
45
83
101
109
105
66
111
108
100
34
44
32
72
101
108
118
101
116
105
99
97
44
32
115
97
110
115
45
115
101
114
105
102
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
102
111
110
116
45
115
116
121
108
101
58
110
111
114
109
97
108
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
51
51
51
51
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
118
99
45
98
97
110
110
101
114
45
45
98
108
117
101
45
100
97
114
107
45
98
97
99
107
103
114
111
117
110
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
125
46
118
99
45
98
97
110
110
101
114
45
45
100
97
114
107
45
100
101
102
97
117
108
116
45
98
97
99
107
103
114
111
117
110
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
118
99
45
98
97
110
110
101
114
45
45
100
101
118
101
108
111
112
109
101
110
116
45
98
97
99
107
103
114
111
117
110
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
51
48
48
41
125
46
118
99
45
98
97
110
110
101
114
45
45
101
114
114
111
114
45
114
101
100
45
98
97
99
107
103
114
111
117
110
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
118
99
45
98
97
110
110
101
114
45
45
108
105
103
104
116
45
100
101
102
97
117
108
116
45
98
97
99
107
103
114
111
117
110
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
118
99
45
98
97
110
110
101
114
45
45
115
116
97
103
105
110
103
45
98
97
99
107
103
114
111
117
110
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
53
48
48
41
125
46
118
99
45
98
97
110
110
101
114
45
45
99
97
110
97
114
121
45
98
97
99
107
103
114
111
117
110
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
53
48
48
41
125
46
118
99
45
98
97
110
110
101
114
45
45
115
117
99
99
101
115
115
45
103
114
101
101
110
45
98
97
99
107
103
114
111
117
110
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
125
46
118
99
45
98
97
110
110
101
114
45
45
119
97
114
110
105
110
103
45
121
101
108
108
111
119
45
98
97
99
107
103
114
111
117
110
100
44
46
118
99
45
98
97
110
110
101
114
45
115
97
108
101
45
99
111
117
110
116
100
111
119
110
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
53
48
48
41
125
46
118
99
45
98
97
110
110
101
114
45
45
119
97
114
110
105
110
103
45
108
105
103
104
116
45
121
101
108
108
111
119
45
98
97
99
107
103
114
111
117
110
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
52
48
48
41
125
46
118
99
45
98
97
110
110
101
114
45
45
112
114
101
118
105
101
119
45
121
101
108
108
111
119
45
98
97
99
107
103
114
111
117
110
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
50
48
48
41
125
46
118
99
45
98
97
110
110
101
114
45
45
119
105
116
104
45
99
108
111
115
101
45
105
99
111
110
123
112
97
100
100
105
110
103
45
114
105
103
104
116
58
51
48
112
120
125
46
118
99
45
98
97
110
110
101
114
45
45
104
105
100
100
101
110
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
118
99
45
98
97
110
110
101
114
45
45
115
116
105
99
107
121
123
112
111
115
105
116
105
111
110
58
45
119
101
98
107
105
116
45
115
116
105
99
107
121
59
112
111
115
105
116
105
111
110
58
115
116
105
99
107
121
59
116
111
112
58
48
59
122
45
105
110
100
101
120
58
49
49
48
125
46
118
99
45
98
97
110
110
101
114
45
45
97
117
116
111
45
104
105
100
101
123
116
114
97
110
115
105
116
105
111
110
45
100
101
108
97
121
58
53
115
59
116
114
97
110
115
105
116
105
111
110
45
100
117
114
97
116
105
111
110
58
46
53
115
59
116
114
97
110
115
105
116
105
111
110
45
112
114
111
112
101
114
116
121
58
104
101
105
103
104
116
44
32
112
97
100
100
105
110
103
59
104
101
105
103
104
116
58
48
59
112
97
100
100
105
110
103
58
48
125
46
118
99
45
98
97
110
110
101
114
45
45
104
105
100
101
123
116
114
97
110
115
105
116
105
111
110
45
100
117
114
97
116
105
111
110
58
46
53
115
59
116
114
97
110
115
105
116
105
111
110
45
112
114
111
112
101
114
116
121
58
104
101
105
103
104
116
44
32
112
97
100
100
105
110
103
59
104
101
105
103
104
116
58
48
59
112
97
100
100
105
110
103
58
48
125
46
118
99
45
98
97
110
110
101
114
95
95
99
108
111
115
101
45
105
99
111
110
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
114
105
103
104
116
58
49
53
112
120
59
116
111
112
58
49
53
112
120
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
118
99
45
98
97
110
110
101
114
95
95
116
101
120
116
45
45
100
97
114
107
45
100
101
102
97
117
108
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
118
99
45
98
97
110
110
101
114
95
95
116
101
120
116
45
45
108
105
103
104
116
45
100
101
102
97
117
108
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
118
99
45
98
97
110
110
101
114
95
95
116
101
120
116
45
45
98
108
97
99
107
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
98
108
97
99
107
41
125
46
118
99
45
98
97
110
110
101
114
95
95
116
101
120
116
45
45
115
117
99
99
101
115
115
45
103
114
101
101
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
125
46
118
99
45
98
97
110
110
101
114
95
95
116
101
120
116
45
45
119
97
114
110
105
110
103
45
121
101
108
108
111
119
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
53
48
48
41
125
46
99
111
110
116
97
105
110
101
114
95
95
115
99
114
111
108
108
97
98
108
101
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
103
97
112
58
56
112
120
59
111
118
101
114
102
108
111
119
45
120
58
97
117
116
111
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
48
112
120
59
119
105
100
116
104
58
49
48
48
37
125
46
99
111
110
116
97
105
110
101
114
95
95
115
99
114
111
108
108
97
98
108
101
62
42
123
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
48
59
102
108
101
120
45
103
114
111
119
58
48
59
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
125
46
99
111
110
116
97
105
110
101
114
95
95
115
99
114
111
108
108
97
98
108
101
58
58
45
119
101
98
107
105
116
45
115
99
114
111
108
108
98
97
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
99
111
110
116
97
105
110
101
114
95
95
115
99
114
111
108
108
97
98
108
101
123
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
99
111
110
116
97
105
110
101
114
95
95
115
99
114
111
108
108
97
98
108
101
45
45
119
114
97
112
123
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
125
125
46
99
111
110
116
97
105
110
101
114
95
95
115
99
114
111
108
108
97
98
108
101
45
45
115
108
105
109
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
112
97
100
100
105
110
103
58
48
125
46
118
99
45
99
111
117
110
116
100
111
119
110
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
46
118
99
45
99
111
117
110
116
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
98
97
115
101
108
105
110
101
59
97
108
105
103
110
45
105
116
101
109
115
58
98
97
115
101
108
105
110
101
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
50
53
125
46
118
99
45
99
111
117
110
116
95
95
100
105
103
105
116
115
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
115
97
108
101
45
98
97
110
110
101
114
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
103
97
112
58
52
112
120
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
115
97
108
101
45
98
97
110
110
101
114
32
46
118
99
45
99
111
117
110
116
123
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
101
110
100
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
101
110
100
59
109
105
110
45
104
101
105
103
104
116
58
51
48
112
120
59
112
97
100
100
105
110
103
58
53
112
120
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
115
97
108
101
45
98
97
110
110
101
114
32
46
118
99
45
99
111
117
110
116
95
95
100
105
103
105
116
115
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
115
97
108
101
45
98
97
110
110
101
114
32
46
118
99
45
99
111
117
110
116
95
95
108
97
98
101
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
109
97
114
103
105
110
45
108
101
102
116
58
50
112
120
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
115
97
108
101
45
98
97
110
110
101
114
32
46
118
99
45
99
111
117
110
116
95
95
115
101
112
97
114
97
116
111
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
109
97
114
103
105
110
58
48
32
53
112
120
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
112
114
111
100
117
99
116
45
115
97
108
101
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
52
112
120
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
112
114
111
100
117
99
116
45
115
97
108
101
32
46
118
99
45
99
111
117
110
116
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
48
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
112
97
100
100
105
110
103
58
56
112
120
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
108
105
110
101
45
104
101
105
103
104
116
58
49
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
112
114
111
100
117
99
116
45
115
97
108
101
32
46
118
99
45
99
111
117
110
116
95
95
100
105
103
105
116
115
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
53
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
112
120
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
112
114
111
100
117
99
116
45
115
97
108
101
32
46
118
99
45
99
111
117
110
116
95
95
108
97
98
101
108
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
99
97
112
105
116
97
108
105
122
101
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
112
114
111
100
117
99
116
45
115
97
108
101
32
46
118
99
45
99
111
117
110
116
95
95
115
101
112
97
114
97
116
111
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
100
101
115
105
103
110
45
116
105
108
101
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
117
110
115
101
116
59
97
108
105
103
110
45
105
116
101
109
115
58
117
110
115
101
116
59
98
97
99
107
103
114
111
117
110
100
58
116
114
97
110
115
112
97
114
101
110
116
59
99
111
108
111
114
58
118
97
114
40
45
45
116
105
108
101
45
99
111
117
110
116
100
111
119
110
45
99
111
108
111
114
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
54
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
50
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
118
99
45
99
111
117
110
116
100
111
119
110
45
100
101
115
105
103
110
45
116
105
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
125
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
100
101
115
105
103
110
45
116
105
108
101
32
46
118
99
45
99
111
117
110
116
95
95
112
114
101
112
111
115
105
116
105
111
110
123
99
111
108
111
114
58
118
97
114
40
45
45
116
105
108
101
45
99
111
117
110
116
100
111
119
110
45
99
111
108
111
114
41
59
112
97
100
100
105
110
103
58
48
32
51
112
120
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
100
101
115
105
103
110
45
116
105
108
101
32
46
118
99
45
99
111
117
110
116
123
98
97
99
107
103
114
111
117
110
100
58
116
114
97
110
115
112
97
114
101
110
116
59
108
105
110
101
45
104
101
105
103
104
116
58
49
54
112
120
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
100
101
115
105
103
110
45
116
105
108
101
32
46
118
99
45
99
111
117
110
116
95
95
100
105
103
105
116
115
123
99
111
108
111
114
58
118
97
114
40
45
45
116
105
108
101
45
99
111
117
110
116
100
111
119
110
45
99
111
108
111
114
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
100
101
115
105
103
110
45
116
105
108
101
32
46
118
99
45
99
111
117
110
116
95
95
108
97
98
101
108
123
99
111
108
111
114
58
118
97
114
40
45
45
116
105
108
101
45
99
111
117
110
116
100
111
119
110
45
99
111
108
111
114
41
59
112
97
100
100
105
110
103
58
48
32
51
112
120
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
100
101
115
105
103
110
45
116
105
108
101
32
46
118
99
45
99
111
117
110
116
95
95
115
101
112
97
114
97
116
111
114
123
99
111
108
111
114
58
118
97
114
40
45
45
116
105
108
101
45
99
111
117
110
116
100
111
119
110
45
99
111
108
111
114
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
54
112
120
59
109
97
114
103
105
110
58
48
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
97
114
116
105
115
116
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
117
110
115
101
116
59
97
108
105
103
110
45
105
116
101
109
115
58
117
110
115
101
116
59
98
97
99
107
103
114
111
117
110
100
58
116
114
97
110
115
112
97
114
101
110
116
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
54
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
108
105
110
101
45
104
101
105
103
104
116
58
49
54
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
50
112
120
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
97
114
116
105
115
116
32
46
118
99
45
99
111
117
110
116
95
95
112
114
101
112
111
115
105
116
105
111
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
54
48
48
41
59
112
97
100
100
105
110
103
58
48
32
51
112
120
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
97
114
116
105
115
116
32
46
118
99
45
99
111
117
110
116
123
98
97
99
107
103
114
111
117
110
100
58
116
114
97
110
115
112
97
114
101
110
116
59
108
105
110
101
45
104
101
105
103
104
116
58
49
54
112
120
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
97
114
116
105
115
116
32
46
118
99
45
99
111
117
110
116
95
95
100
105
103
105
116
115
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
54
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
97
114
116
105
115
116
32
46
118
99
45
99
111
117
110
116
95
95
108
97
98
101
108
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
54
48
48
41
59
112
97
100
100
105
110
103
58
48
32
51
112
120
125
46
118
99
45
99
111
117
110
116
100
111
119
110
45
97
114
116
105
115
116
32
46
118
99
45
99
111
117
110
116
95
95
115
101
112
97
114
97
116
111
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
54
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
54
112
120
59
109
97
114
103
105
110
58
48
125
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
45
45
100
105
118
105
100
101
114
123
98
111
114
100
101
114
45
116
111
112
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
56
112
120
59
112
97
100
100
105
110
103
45
116
111
112
58
56
112
120
125
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
104
101
97
100
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
109
105
110
45
119
105
100
116
104
58
49
55
48
112
120
125
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
99
111
110
116
101
110
116
123
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
59
103
97
112
58
49
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
99
111
110
116
101
110
116
123
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
125
125
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
99
111
110
116
101
110
116
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
108
105
110
107
123
109
97
114
103
105
110
58
48
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
125
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
110
101
117
116
114
97
108
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
110
101
117
116
114
97
108
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
111
110
45
100
97
114
107
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
45
97
52
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
125
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
115
117
99
99
101
115
115
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
49
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
51
48
48
41
125
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
119
97
114
110
105
110
103
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
49
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
51
48
48
41
125
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
100
97
110
103
101
114
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
49
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
51
48
48
41
125
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
105
110
102
111
114
109
97
116
105
111
110
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
51
48
48
41
125
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
111
110
45
100
97
114
107
32
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
104
101
97
100
101
114
44
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
111
110
45
100
97
114
107
32
46
116
112
45
116
101
120
116
45
110
111
116
101
95
95
116
101
120
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
112
45
116
101
120
116
45
110
111
116
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
108
97
98
101
108
45
116
101
120
116
45
99
111
108
111
114
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
108
105
110
101
45
104
101
105
103
104
116
58
49
59
112
97
100
100
105
110
103
58
49
50
112
120
32
49
54
112
120
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
59
103
97
112
58
49
50
112
120
59
109
97
114
103
105
110
58
49
54
112
120
32
48
112
120
125
46
116
112
45
116
101
120
116
45
110
111
116
101
32
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
104
101
97
100
101
114
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
56
112
120
125
46
116
112
45
116
101
120
116
45
110
111
116
101
32
46
116
112
45
116
101
120
116
45
110
111
116
101
95
95
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
125
46
116
112
45
116
101
120
116
45
110
111
116
101
32
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
108
105
110
107
123
109
97
114
103
105
110
45
116
111
112
58
56
112
120
125
46
116
112
45
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
48
48
112
120
59
98
111
120
45
115
104
97
100
111
119
58
48
32
50
112
120
32
52
112
120
32
48
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
59
112
97
100
100
105
110
103
58
54
112
120
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
116
112
45
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
46
116
112
45
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
45
45
102
105
108
108
101
100
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
49
48
48
41
59
98
111
120
45
115
104
97
100
111
119
58
48
32
50
112
120
32
52
112
120
32
48
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
125
46
116
112
45
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
46
116
112
45
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
45
45
102
105
108
108
101
100
58
102
111
99
117
115
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
50
48
48
41
59
98
111
120
45
115
104
97
100
111
119
58
48
32
50
112
120
32
52
112
120
32
48
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
125
46
116
112
45
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
46
116
112
45
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
45
45
117
110
102
105
108
108
101
100
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
98
111
120
45
115
104
97
100
111
119
58
48
32
50
112
120
32
52
112
120
32
48
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
125
46
116
112
45
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
46
116
112
45
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
45
45
117
110
102
105
108
108
101
100
58
102
111
99
117
115
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
59
98
111
120
45
115
104
97
100
111
119
58
48
32
50
112
120
32
52
112
120
32
48
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
125
46
116
112
45
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
46
116
112
45
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
45
45
105
110
97
99
116
105
118
101
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
120
45
115
104
97
100
111
119
58
48
32
50
112
120
32
52
112
120
32
48
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
125
46
116
112
45
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
46
116
112
45
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
45
45
105
110
97
99
116
105
118
101
58
102
111
99
117
115
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
120
45
115
104
97
100
111
119
58
48
32
50
112
120
32
52
112
120
32
48
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
125
46
116
112
45
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
95
95
116
111
111
108
116
105
112
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
119
105
100
116
104
58
49
52
48
112
120
125
46
116
112
45
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
95
95
116
111
111
108
116
105
112
91
100
97
116
97
45
112
111
112
112
101
114
45
112
108
97
99
101
109
101
110
116
94
61
34
108
101
102
116
34
93
62
46
116
112
45
116
111
111
108
116
105
112
45
45
97
114
114
111
119
123
114
105
103
104
116
58
48
125
46
99
45
108
105
110
107
95
95
98
117
116
116
111
110
123
119
105
100
116
104
58
45
119
101
98
107
105
116
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
45
109
111
122
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
102
105
116
45
99
111
110
116
101
110
116
125
46
99
45
108
105
110
107
95
95
98
117
116
116
111
110
46
102
117
108
108
45
119
105
100
116
104
123
119
105
100
116
104
58
49
48
48
37
125
46
99
45
108
105
110
107
95
95
98
117
116
116
111
110
46
98
116
110
45
45
102
117
108
108
123
119
105
100
116
104
58
105
110
105
116
105
97
108
125
46
99
45
108
105
110
107
95
95
104
101
97
100
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
112
97
100
100
105
110
103
58
50
48
112
120
125
46
99
45
108
105
110
107
95
95
104
101
97
100
101
114
58
104
111
118
101
114
44
46
99
45
108
105
110
107
95
95
104
101
97
100
101
114
58
102
111
99
117
115
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
108
105
110
107
95
95
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
125
46
108
105
110
107
95
95
99
116
97
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
108
105
110
101
45
104
101
105
103
104
116
58
50
52
112
120
125
46
108
105
110
107
95
95
99
116
97
46
116
112
45
98
116
110
45
45
105
99
111
110
123
112
97
100
100
105
110
103
58
48
125
46
108
105
110
107
95
95
99
116
97
46
108
105
110
107
45
45
109
101
100
105
117
109
123
108
105
110
101
45
104
101
105
103
104
116
58
50
48
112
120
125
46
108
105
110
107
95
95
99
116
97
46
108
105
110
107
45
45
115
109
97
108
108
123
108
105
110
101
45
104
101
105
103
104
116
58
49
54
112
120
125
46
108
105
110
107
95
95
99
116
97
32
46
108
105
110
107
95
95
99
111
110
116
101
110
116
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
108
105
110
107
95
95
99
116
97
45
45
111
110
45
108
105
103
104
116
32
46
108
105
110
107
95
95
99
111
110
116
101
110
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
108
105
110
107
95
95
99
116
97
45
45
111
110
45
108
105
103
104
116
32
46
108
105
110
107
95
95
99
111
110
116
101
110
116
58
104
111
118
101
114
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
108
105
110
107
95
95
99
116
97
45
45
111
110
45
108
105
103
104
116
32
46
108
105
110
107
95
95
99
111
110
116
101
110
116
58
97
99
116
105
118
101
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
125
46
108
105
110
107
95
95
99
116
97
45
45
111
110
45
100
97
114
107
32
46
108
105
110
107
95
95
99
111
110
116
101
110
116
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
52
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
108
105
110
107
95
95
99
116
97
45
45
111
110
45
100
97
114
107
32
46
108
105
110
107
95
95
99
111
110
116
101
110
116
58
104
111
118
101
114
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
108
105
110
107
95
95
99
116
97
45
45
111
110
45
100
97
114
107
32
46
108
105
110
107
95
95
99
111
110
116
101
110
116
58
97
99
116
105
118
101
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
108
105
110
107
45
45
100
105
115
97
98
108
101
100
123
99
117
114
115
111
114
58
100
101
102
97
117
108
116
125
46
118
99
45
112
105
108
108
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
48
48
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
52
112
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
109
105
110
45
119
105
100
116
104
58
53
54
112
120
59
112
97
100
100
105
110
103
58
56
112
120
32
49
50
112
120
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
116
114
97
110
115
105
116
105
111
110
58
110
111
110
101
59
119
105
100
116
104
58
45
119
101
98
107
105
116
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
45
109
111
122
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
102
105
116
45
99
111
110
116
101
110
116
125
46
118
99
45
112
105
108
108
46
116
112
45
98
116
110
45
45
105
99
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
123
109
97
114
103
105
110
58
48
125
46
118
99
45
112
105
108
108
32
115
118
103
123
102
105
108
108
58
99
117
114
114
101
110
116
67
111
108
111
114
125
46
118
99
45
112
105
108
108
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
111
117
116
108
105
110
101
58
110
111
110
101
125
46
118
99
45
112
105
108
108
58
100
105
115
97
98
108
101
100
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
59
111
117
116
108
105
110
101
58
110
111
110
101
125
46
118
99
45
112
105
108
108
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
111
117
116
108
105
110
101
58
110
111
110
101
125
46
118
99
45
112
105
108
108
46
118
99
45
112
105
108
108
45
45
111
110
45
100
97
114
107
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
118
99
45
112
105
108
108
46
118
99
45
112
105
108
108
45
45
111
110
45
100
97
114
107
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
111
117
116
108
105
110
101
58
110
111
110
101
125
46
118
99
45
112
105
108
108
46
118
99
45
112
105
108
108
45
45
111
110
45
100
97
114
107
58
100
105
115
97
98
108
101
100
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
59
111
117
116
108
105
110
101
58
110
111
110
101
125
46
118
99
45
112
105
108
108
46
118
99
45
112
105
108
108
45
45
111
110
45
100
97
114
107
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
111
117
116
108
105
110
101
58
110
111
110
101
125
46
118
99
45
112
105
108
108
46
118
99
45
112
105
108
108
45
45
111
110
45
112
101
114
105
119
105
110
107
108
101
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
51
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
118
99
45
112
105
108
108
46
118
99
45
112
105
108
108
45
45
111
110
45
112
101
114
105
119
105
110
107
108
101
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
111
117
116
108
105
110
101
58
110
111
110
101
125
46
118
99
45
112
105
108
108
46
118
99
45
112
105
108
108
45
45
111
110
45
112
101
114
105
119
105
110
107
108
101
58
100
105
115
97
98
108
101
100
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
111
117
116
108
105
110
101
58
110
111
110
101
125
46
118
99
45
112
105
108
108
46
118
99
45
112
105
108
108
45
45
111
110
45
112
101
114
105
119
105
110
107
108
101
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
111
117
116
108
105
110
101
58
110
111
110
101
125
46
118
99
45
112
105
108
108
46
98
116
110
58
97
99
116
105
118
101
123
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
125
46
118
99
45
112
105
108
108
46
109
45
115
101
97
114
99
104
95
95
116
97
103
115
45
117
110
108
105
110
107
97
98
108
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
41
59
98
111
114
100
101
114
58
51
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
125
46
118
99
45
112
105
108
108
91
100
97
116
97
45
97
99
116
105
118
101
61
116
114
117
101
93
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
118
99
45
112
105
108
108
91
100
97
116
97
45
97
99
116
105
118
101
61
116
114
117
101
93
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
116
114
97
110
115
105
116
105
111
110
58
102
105
108
108
32
51
48
48
109
115
32
101
97
115
101
45
111
117
116
125
46
118
99
45
112
105
108
108
46
118
99
45
112
105
108
108
45
45
100
97
110
103
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
118
99
45
112
105
108
108
46
118
99
45
112
105
108
108
45
45
100
97
110
103
101
114
58
97
99
116
105
118
101
44
46
118
99
45
112
105
108
108
46
118
99
45
112
105
108
108
45
45
100
97
110
103
101
114
58
102
111
99
117
115
44
46
118
99
45
112
105
108
108
46
118
99
45
112
105
108
108
45
45
100
97
110
103
101
114
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
54
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
54
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
118
99
45
112
105
108
108
46
118
99
45
112
105
108
108
45
45
100
97
110
103
101
114
58
102
111
99
117
115
45
118
105
115
105
98
108
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
116
112
45
98
116
110
45
116
101
114
116
105
97
114
121
45
45
111
110
45
108
105
103
104
116
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
125
46
116
112
45
98
116
110
45
116
101
114
116
105
97
114
121
45
45
111
110
45
108
105
103
104
116
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
116
112
45
98
116
110
45
116
101
114
116
105
97
114
121
45
45
111
110
45
108
105
103
104
116
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
112
45
98
116
110
45
116
101
114
116
105
97
114
121
45
45
111
110
45
108
105
103
104
116
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
112
45
98
116
110
45
116
101
114
116
105
97
114
121
45
45
111
110
45
100
97
114
107
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
52
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
125
46
116
112
45
98
116
110
45
116
101
114
116
105
97
114
121
45
45
111
110
45
100
97
114
107
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
112
45
98
116
110
45
116
101
114
116
105
97
114
121
45
45
111
110
45
100
97
114
107
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
112
45
98
116
110
45
116
101
114
116
105
97
114
121
45
45
111
110
45
100
97
114
107
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
64
45
119
101
98
107
105
116
45
107
101
121
102
114
97
109
101
115
32
99
114
97
115
104
45
105
110
45
102
114
111
109
45
114
105
103
104
116
123
48
37
44
49
48
48
37
44
54
48
37
44
55
53
37
44
57
48
37
123
116
114
97
110
115
105
116
105
111
110
45
116
105
109
105
110
103
45
102
117
110
99
116
105
111
110
58
99
117
98
105
99
45
98
101
122
105
101
114
40
48
46
50
49
53
44
32
48
46
54
49
44
32
48
46
51
53
53
44
32
49
41
125
48
37
123
111
112
97
99
105
116
121
58
48
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
51
48
48
48
112
120
44
32
48
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
51
48
48
48
112
120
44
32
48
44
32
48
41
125
54
48
37
123
111
112
97
99
105
116
121
58
49
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
45
50
53
112
120
44
32
48
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
45
50
53
112
120
44
32
48
44
32
48
41
125
55
53
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
49
48
112
120
44
32
48
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
49
48
112
120
44
32
48
44
32
48
41
125
57
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
45
53
112
120
44
32
48
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
45
53
112
120
44
32
48
44
32
48
41
125
49
48
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
116
114
97
110
115
102
111
114
109
58
110
111
110
101
125
125
64
107
101
121
102
114
97
109
101
115
32
99
114
97
115
104
45
105
110
45
102
114
111
109
45
114
105
103
104
116
123
48
37
44
49
48
48
37
44
54
48
37
44
55
53
37
44
57
48
37
123
116
114
97
110
115
105
116
105
111
110
45
116
105
109
105
110
103
45
102
117
110
99
116
105
111
110
58
99
117
98
105
99
45
98
101
122
105
101
114
40
48
46
50
49
53
44
32
48
46
54
49
44
32
48
46
51
53
53
44
32
49
41
125
48
37
123
111
112
97
99
105
116
121
58
48
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
51
48
48
48
112
120
44
32
48
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
51
48
48
48
112
120
44
32
48
44
32
48
41
125
54
48
37
123
111
112
97
99
105
116
121
58
49
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
45
50
53
112
120
44
32
48
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
45
50
53
112
120
44
32
48
44
32
48
41
125
55
53
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
49
48
112
120
44
32
48
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
49
48
112
120
44
32
48
44
32
48
41
125
57
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
45
53
112
120
44
32
48
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
51
100
40
45
53
112
120
44
32
48
44
32
48
41
125
49
48
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
116
114
97
110
115
102
111
114
109
58
110
111
110
101
125
125
46
118
99
45
112
105
108
108
45
45
97
110
105
109
97
116
101
100
123
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
110
97
109
101
58
99
114
97
115
104
45
105
110
45
102
114
111
109
45
114
105
103
104
116
59
97
110
105
109
97
116
105
111
110
45
110
97
109
101
58
99
114
97
115
104
45
105
110
45
102
114
111
109
45
114
105
103
104
116
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
100
117
114
97
116
105
111
110
58
49
115
59
97
110
105
109
97
116
105
111
110
45
100
117
114
97
116
105
111
110
58
49
115
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
102
105
108
108
45
109
111
100
101
58
98
111
116
104
59
97
110
105
109
97
116
105
111
110
45
102
105
108
108
45
109
111
100
101
58
98
111
116
104
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
100
101
108
97
121
58
99
97
108
99
40
118
97
114
40
45
45
97
110
105
109
97
116
105
111
110
45
111
114
100
101
114
41
32
42
32
49
53
48
109
115
41
59
97
110
105
109
97
116
105
111
110
45
100
101
108
97
121
58
99
97
108
99
40
118
97
114
40
45
45
97
110
105
109
97
116
105
111
110
45
111
114
100
101
114
41
32
42
32
49
53
48
109
115
41
125
46
118
99
45
112
105
108
108
45
45
111
117
116
108
105
110
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
118
99
45
112
105
108
108
45
45
111
117
116
108
105
110
101
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
118
99
45
112
105
108
108
45
45
111
117
116
108
105
110
101
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
118
99
45
112
105
108
108
45
45
111
117
116
108
105
110
101
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
55
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
125
46
118
99
45
112
105
108
108
45
45
111
117
116
108
105
110
101
58
97
99
116
105
118
101
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
125
46
118
99
45
112
105
108
108
45
45
111
117
116
108
105
110
101
58
102
111
99
117
115
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
111
117
116
108
105
110
101
58
52
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
51
48
48
41
59
111
117
116
108
105
110
101
45
111
102
102
115
101
116
58
48
125
46
118
99
45
112
105
108
108
45
45
111
117
116
108
105
110
101
58
102
111
99
117
115
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
99
45
99
104
101
99
107
98
111
120
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
50
56
112
120
32
97
117
116
111
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
99
111
110
116
101
110
116
58
115
116
97
114
116
59
97
108
105
103
110
45
99
111
110
116
101
110
116
58
115
116
97
114
116
59
119
105
100
116
104
58
49
48
48
37
125
46
99
45
99
104
101
99
107
98
111
120
46
115
108
105
109
123
109
105
110
45
104
101
105
103
104
116
58
52
48
112
120
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
52
112
120
59
45
119
101
98
107
105
116
45
99
111
108
117
109
110
45
103
97
112
58
49
50
112
120
59
99
111
108
117
109
110
45
103
97
112
58
49
50
112
120
59
114
111
119
45
103
97
112
58
56
112
120
125
46
99
45
99
104
101
99
107
98
111
120
32
105
110
112
117
116
91
116
121
112
101
61
39
99
104
101
99
107
98
111
120
39
93
123
103
114
105
100
45
97
114
101
97
58
49
32
47
32
49
32
47
32
49
32
47
32
49
59
98
111
120
45
115
105
122
105
110
103
58
98
111
114
100
101
114
45
98
111
120
59
104
101
105
103
104
116
58
50
52
112
120
59
119
105
100
116
104
58
50
52
112
120
59
109
97
114
103
105
110
58
48
112
120
32
48
112
120
32
48
112
120
32
52
112
120
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
52
112
120
59
45
119
101
98
107
105
116
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
45
109
111
122
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
59
111
117
116
108
105
110
101
58
110
111
110
101
59
116
114
97
110
115
105
116
105
111
110
58
111
117
116
108
105
110
101
32
48
46
49
115
125
46
99
45
99
104
101
99
107
98
111
120
32
105
110
112
117
116
91
116
121
112
101
61
39
99
104
101
99
107
98
111
120
39
93
58
99
104
101
99
107
101
100
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
97
99
107
103
114
111
117
110
100
45
115
105
122
101
58
99
111
118
101
114
59
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
39
100
97
116
97
58
105
109
97
103
101
47
115
118
103
43
120
109
108
59
117
116
102
56
44
60
115
118
103
32
119
105
100
116
104
61
34
49
54
34
32
104
101
105
103
104
116
61
34
49
54
34
32
118
105
101
119
66
111
120
61
34
48
32
48
32
49
54
32
49
54
34
32
102
105
108
108
61
34
110
111
110
101
34
32
120
109
108
110
115
61
34
104
116
116
112
58
47
47
119
119
119
46
119
51
46
111
114
103
47
50
48
48
48
47
115
118
103
34
62
60
103
32
105
100
61
34
73
99
111
110
34
62
60
112
97
116
104
32
105
100
61
34
117
116
105
108
105
116
121
95
105
99
111
110
34
32
102
105
108
108
45
114
117
108
101
61
34
101
118
101
110
111
100
100
34
32
99
108
105
112
45
114
117
108
101
61
34
101
118
101
110
111
100
100
34
32
100
61
34
77
49
52
46
48
55
50
32
50
46
53
53
55
50
56
67
49
52
46
55
55
54
56
32
51
46
49
52
57
51
50
32
49
52
46
56
54
56
50
32
52
46
50
48
48
54
51
32
49
52
46
50
55
54
50
32
52
46
57
48
53
52
52
76
55
46
50
55
54
49
55
32
49
51
46
50
51
56
56
67
54
46
57
54
53
56
57
32
49
51
46
54
48
56
50
32
54
46
53
49
48
55
57
32
49
51
46
56
50
53
32
54
46
48
50
56
52
54
32
49
51
46
56
51
51
50
67
53
46
53
52
54
49
50
32
49
51
46
56
52
49
52
32
53
46
48
56
51
56
56
32
49
51
46
54
52
48
51
32
52
46
55
54
49
49
55
32
49
51
46
50
56
49
55
76
49
46
55
54
49
49
55
32
57
46
57
52
56
52
67
49
46
49
52
53
52
49
32
57
46
50
54
52
50
49
32
49
46
50
48
48
56
55
32
56
46
50
49
48
51
57
32
49
46
56
56
53
48
53
32
55
46
53
57
52
54
51
67
50
46
53
54
57
50
52
32
54
46
57
55
56
56
55
32
51
46
54
50
51
48
53
32
55
46
48
51
52
51
51
32
52
46
50
51
56
56
50
32
55
46
55
49
56
53
49
76
53
46
57
53
54
54
50
32
57
46
54
50
55
49
56
76
49
49
46
55
50
51
56
32
50
46
55
54
49
52
55
67
49
50
46
51
49
53
57
32
50
46
48
53
54
54
53
32
49
51
46
51
54
55
50
32
49
46
57
54
53
50
52
32
49
52
46
48
55
50
32
50
46
53
53
55
50
56
90
34
32
102
105
108
108
61
34
119
104
105
116
101
34
47
62
60
47
103
62
60
47
115
118
103
62
39
41
125
46
99
45
99
104
101
99
107
98
111
120
32
105
110
112
117
116
91
116
121
112
101
61
39
99
104
101
99
107
98
111
120
39
93
58
99
104
101
99
107
101
100
126
46
99
45
99
104
101
99
107
98
111
120
45
100
105
115
99
108
97
105
109
101
114
123
103
114
105
100
45
99
111
108
117
109
110
58
49
32
47
32
115
112
97
110
32
50
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
102
111
110
116
45
102
97
109
105
108
121
58
34
82
111
111
98
101
114
116
45
77
101
100
105
117
109
34
44
32
72
101
108
118
101
116
105
99
97
44
32
115
97
110
115
45
115
101
114
105
102
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
52
53
125
46
99
45
99
104
101
99
107
98
111
120
32
105
110
112
117
116
91
116
121
112
101
61
39
99
104
101
99
107
98
111
120
39
93
58
99
104
101
99
107
101
100
126
46
99
45
99
104
101
99
107
98
111
120
45
100
105
115
99
108
97
105
109
101
114
32
97
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
102
111
110
116
45
102
97
109
105
108
121
58
34
82
111
111
98
101
114
116
45
83
101
109
105
66
111
108
100
34
44
32
72
101
108
118
101
116
105
99
97
44
32
115
97
110
115
45
115
101
114
105
102
59
45
119
101
98
107
105
116
45
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
45
108
105
110
101
58
117
110
100
101
114
108
105
110
101
59
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
45
108
105
110
101
58
117
110
100
101
114
108
105
110
101
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
125
46
99
45
99
104
101
99
107
98
111
120
32
105
110
112
117
116
91
116
121
112
101
61
39
99
104
101
99
107
98
111
120
39
93
58
110
111
116
40
58
99
104
101
99
107
101
100
41
126
46
99
45
99
104
101
99
107
98
111
120
45
100
105
115
99
108
97
105
109
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
99
45
99
104
101
99
107
98
111
120
32
105
110
112
117
116
91
116
121
112
101
61
39
99
104
101
99
107
98
111
120
39
93
58
102
111
99
117
115
45
118
105
115
105
98
108
101
43
108
97
98
101
108
123
111
117
116
108
105
110
101
58
52
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
125
46
99
45
99
104
101
99
107
98
111
120
32
105
110
112
117
116
91
116
121
112
101
61
39
99
104
101
99
107
98
111
120
39
93
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
55
48
48
41
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
100
117
114
97
116
105
111
110
58
51
48
48
109
115
59
97
110
105
109
97
116
105
111
110
45
100
117
114
97
116
105
111
110
58
51
48
48
109
115
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
116
105
109
105
110
103
45
102
117
110
99
116
105
111
110
58
101
97
115
101
45
111
117
116
59
97
110
105
109
97
116
105
111
110
45
116
105
109
105
110
103
45
102
117
110
99
116
105
111
110
58
101
97
115
101
45
111
117
116
125
46
99
45
99
104
101
99
107
98
111
120
32
105
110
112
117
116
91
116
121
112
101
61
39
99
104
101
99
107
98
111
120
39
93
58
100
105
115
97
98
108
101
100
58
110
111
116
40
58
99
104
101
99
107
101
100
41
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
99
45
99
104
101
99
107
98
111
120
32
105
110
112
117
116
91
116
121
112
101
61
39
99
104
101
99
107
98
111
120
39
93
58
100
105
115
97
98
108
101
100
58
99
104
101
99
107
101
100
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
39
100
97
116
97
58
105
109
97
103
101
47
115
118
103
43
120
109
108
59
117
116
102
56
44
60
115
118
103
32
119
105
100
116
104
61
34
49
54
34
32
104
101
105
103
104
116
61
34
49
54
34
32
118
105
101
119
66
111
120
61
34
48
32
48
32
49
54
32
49
54
34
32
102
105
108
108
61
34
110
111
110
101
34
32
120
109
108
110
115
61
34
104
116
116
112
58
47
47
119
119
119
46
119
51
46
111
114
103
47
50
48
48
48
47
115
118
103
34
62
60
103
32
105
100
61
34
73
99
111
110
34
62
60
112
97
116
104
32
105
100
61
34
117
116
105
108
105
116
121
95
105
99
111
110
34
32
102
105
108
108
45
114
117
108
101
61
34
101
118
101
110
111
100
100
34
32
99
108
105
112
45
114
117
108
101
61
34
101
118
101
110
111
100
100
34
32
100
61
34
77
49
52
46
48
55
50
32
50
46
53
53
55
50
56
67
49
52
46
55
55
54
56
32
51
46
49
52
57
51
50
32
49
52
46
56
54
56
50
32
52
46
50
48
48
54
51
32
49
52
46
50
55
54
50
32
52
46
57
48
53
52
52
76
55
46
50
55
54
49
55
32
49
51
46
50
51
56
56
67
54
46
57
54
53
56
57
32
49
51
46
54
48
56
50
32
54
46
53
49
48
55
57
32
49
51
46
56
50
53
32
54
46
48
50
56
52
54
32
49
51
46
56
51
51
50
67
53
46
53
52
54
49
50
32
49
51
46
56
52
49
52
32
53
46
48
56
51
56
56
32
49
51
46
54
52
48
51
32
52
46
55
54
49
49
55
32
49
51
46
50
56
49
55
76
49
46
55
54
49
49
55
32
57
46
57
52
56
52
67
49
46
49
52
53
52
49
32
57
46
50
54
52
50
49
32
49
46
50
48
48
56
55
32
56
46
50
49
48
51
57
32
49
46
56
56
53
48
53
32
55
46
53
57
52
54
51
67
50
46
53
54
57
50
52
32
54
46
57
55
56
56
55
32
51
46
54
50
51
48
53
32
55
46
48
51
52
51
51
32
52
46
50
51
56
56
50
32
55
46
55
49
56
53
49
76
53
46
57
53
54
54
50
32
57
46
54
50
55
49
56
76
49
49
46
55
50
51
56
32
50
46
55
54
49
52
55
67
49
50
46
51
49
53
57
32
50
46
48
53
54
54
53
32
49
51
46
51
54
55
50
32
49
46
57
54
53
50
52
32
49
52
46
48
55
50
32
50
46
53
53
55
50
56
90
34
32
102
105
108
108
61
34
119
104
105
116
101
34
47
62
60
47
103
62
60
47
115
118
103
62
39
41
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
51
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
51
48
48
41
125
46
99
45
99
104
101
99
107
98
111
120
32
105
110
112
117
116
91
116
121
112
101
61
39
99
104
101
99
107
98
111
120
39
93
58
100
105
115
97
98
108
101
100
126
108
97
98
101
108
32
46
116
112
45
105
110
112
117
116
45
108
97
98
101
108
45
99
111
110
116
101
110
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
125
46
99
45
99
104
101
99
107
98
111
120
32
105
110
112
117
116
91
116
121
112
101
61
39
99
104
101
99
107
98
111
120
39
93
58
100
105
115
97
98
108
101
100
126
108
97
98
101
108
32
46
116
112
45
105
110
112
117
116
45
108
97
98
101
108
45
100
101
115
99
114
105
112
116
105
111
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
125
64
109
101
100
105
97
32
40
104
111
118
101
114
58
32
104
111
118
101
114
41
123
46
99
45
99
104
101
99
107
98
111
120
32
105
110
112
117
116
91
116
121
112
101
61
39
99
104
101
99
107
98
111
120
39
93
58
110
111
116
40
58
99
104
101
99
107
101
100
41
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
100
117
114
97
116
105
111
110
58
51
48
48
109
115
59
97
110
105
109
97
116
105
111
110
45
100
117
114
97
116
105
111
110
58
51
48
48
109
115
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
116
105
109
105
110
103
45
102
117
110
99
116
105
111
110
58
101
97
115
101
45
111
117
116
59
97
110
105
109
97
116
105
111
110
45
116
105
109
105
110
103
45
102
117
110
99
116
105
111
110
58
101
97
115
101
45
111
117
116
125
125
64
109
101
100
105
97
32
40
112
114
101
102
101
114
115
45
114
101
100
117
99
101
100
45
109
111
116
105
111
110
58
32
114
101
100
117
99
101
41
123
46
99
45
99
104
101
99
107
98
111
120
32
105
110
112
117
116
91
116
121
112
101
61
39
99
104
101
99
107
98
111
120
39
93
123
116
114
97
110
115
105
116
105
111
110
58
110
111
110
101
125
125
46
99
45
99
104
101
99
107
98
111
120
32
108
97
98
101
108
123
103
114
105
100
45
97
114
101
97
58
49
32
47
32
49
32
47
32
49
32
47
32
115
112
97
110
32
50
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
112
97
100
100
105
110
103
58
56
112
120
32
48
112
120
32
56
112
120
32
52
48
112
120
59
103
97
112
58
50
112
120
59
109
105
110
45
104
101
105
103
104
116
58
52
48
112
120
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
99
45
99
104
101
99
107
98
111
120
32
108
97
98
101
108
32
46
116
112
45
105
110
112
117
116
45
108
97
98
101
108
45
99
111
110
116
101
110
116
123
102
111
110
116
45
102
97
109
105
108
121
58
34
82
111
111
98
101
114
116
45
83
101
109
105
66
111
108
100
34
44
32
72
101
108
118
101
116
105
99
97
44
32
115
97
110
115
45
115
101
114
105
102
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
51
51
51
51
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
99
45
99
104
101
99
107
98
111
120
32
108
97
98
101
108
32
46
116
112
45
105
110
112
117
116
45
108
97
98
101
108
45
100
101
115
99
114
105
112
116
105
111
110
123
102
111
110
116
45
102
97
109
105
108
121
58
34
82
111
111
98
101
114
116
45
77
101
100
105
117
109
34
44
32
72
101
108
118
101
116
105
99
97
44
32
115
97
110
115
45
115
101
114
105
102
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
51
51
51
51
59
119
105
100
116
104
58
49
48
48
37
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
125
46
99
45
114
97
100
105
111
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
50
44
32
49
102
114
41
59
103
114
105
100
45
97
117
116
111
45
114
111
119
115
58
54
52
112
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
125
46
99
45
114
97
100
105
111
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
123
45
109
111
122
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
45
119
101
98
107
105
116
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
104
101
105
103
104
116
58
50
52
112
120
59
119
105
100
116
104
58
50
52
112
120
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
48
37
59
109
97
114
103
105
110
58
54
112
120
32
49
50
112
120
59
103
114
105
100
45
99
111
108
117
109
110
45
115
116
97
114
116
58
49
59
103
114
105
100
45
114
111
119
45
115
116
97
114
116
58
49
125
46
99
45
114
97
100
105
111
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
58
99
104
101
99
107
101
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
111
114
100
101
114
58
54
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
59
111
117
116
108
105
110
101
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
99
45
114
97
100
105
111
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
58
110
111
116
40
58
99
104
101
99
107
101
100
41
123
111
117
116
108
105
110
101
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
125
46
99
45
114
97
100
105
111
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
58
110
111
116
40
58
99
104
101
99
107
101
100
41
126
108
97
98
101
108
123
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
125
46
99
45
114
97
100
105
111
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
58
104
111
118
101
114
126
108
97
98
101
108
123
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
125
46
99
45
114
97
100
105
111
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
58
99
104
101
99
107
101
100
126
108
97
98
101
108
123
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
125
46
99
45
114
97
100
105
111
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
58
102
111
99
117
115
45
118
105
115
105
98
108
101
126
108
97
98
101
108
123
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
125
46
99
45
114
97
100
105
111
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
126
108
97
98
101
108
123
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
99
45
114
97
100
105
111
32
108
97
98
101
108
123
103
114
105
100
45
99
111
108
117
109
110
45
115
116
97
114
116
58
49
59
103
114
105
100
45
99
111
108
117
109
110
45
101
110
100
58
115
112
97
110
32
50
59
103
114
105
100
45
114
111
119
45
115
116
97
114
116
58
49
59
103
114
105
100
45
114
111
119
45
101
110
100
58
49
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
103
97
112
58
50
112
120
59
112
97
100
100
105
110
103
58
49
50
112
120
32
49
54
112
120
32
49
50
112
120
32
53
54
112
120
125
46
99
45
114
97
100
105
111
32
108
97
98
101
108
46
110
111
45
100
101
115
99
114
105
112
116
105
111
110
123
112
97
100
100
105
110
103
58
50
48
112
120
32
49
54
112
120
32
50
48
112
120
32
53
54
112
120
125
46
99
45
114
97
100
105
111
32
108
97
98
101
108
32
46
116
112
45
105
110
112
117
116
45
108
97
98
101
108
45
97
115
105
100
101
123
104
101
105
103
104
116
58
50
48
112
120
125
46
99
45
114
97
100
105
111
32
108
97
98
101
108
32
46
116
112
45
105
110
112
117
116
45
108
97
98
101
108
45
97
115
105
100
101
45
45
103
114
101
101
110
123
104
101
105
103
104
116
58
50
48
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
55
48
48
41
125
46
99
45
114
97
100
105
111
32
108
97
98
101
108
32
46
116
112
45
105
110
112
117
116
45
108
97
98
101
108
45
99
111
110
116
101
110
116
123
104
101
105
103
104
116
58
50
48
112
120
59
102
111
110
116
45
102
97
109
105
108
121
58
34
82
111
111
98
101
114
116
45
83
101
109
105
66
111
108
100
34
44
32
72
101
108
118
101
116
105
99
97
44
32
115
97
110
115
45
115
101
114
105
102
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
46
99
45
114
97
100
105
111
32
108
97
98
101
108
32
46
116
112
45
105
110
112
117
116
45
108
97
98
101
108
45
100
101
115
99
114
105
112
116
105
111
110
123
104
101
105
103
104
116
58
49
54
112
120
59
119
105
100
116
104
58
49
48
48
37
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
115
101
108
102
58
102
108
101
120
45
101
110
100
59
97
108
105
103
110
45
115
101
108
102
58
102
108
101
120
45
101
110
100
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
46
99
45
114
97
100
105
111
45
110
101
119
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
125
46
99
45
114
97
100
105
111
45
110
101
119
45
45
115
101
108
101
99
116
101
100
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
99
45
114
97
100
105
111
45
110
101
119
58
104
97
115
40
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
58
102
111
99
117
115
41
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
51
48
48
41
59
111
117
116
108
105
110
101
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
51
48
48
41
125
46
99
45
114
97
100
105
111
45
110
101
119
58
110
111
116
40
46
99
45
114
97
100
105
111
45
110
101
119
45
45
115
101
108
101
99
116
101
100
41
58
104
111
118
101
114
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
99
45
114
97
100
105
111
45
110
101
119
58
110
111
116
40
46
99
45
114
97
100
105
111
45
110
101
119
45
45
115
101
108
101
99
116
101
100
41
58
104
111
118
101
114
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
125
46
99
45
114
97
100
105
111
45
110
101
119
58
110
111
116
40
46
99
45
114
97
100
105
111
45
110
101
119
45
45
115
101
108
101
99
116
101
100
41
58
97
99
116
105
118
101
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
55
48
48
41
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
125
46
99
45
114
97
100
105
111
45
110
101
119
58
110
111
116
40
46
99
45
114
97
100
105
111
45
110
101
119
45
45
115
101
108
101
99
116
101
100
41
58
97
99
116
105
118
101
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
46
99
45
114
97
100
105
111
45
110
101
119
62
100
105
118
44
46
99
45
114
97
100
105
111
45
110
101
119
62
108
97
98
101
108
123
112
97
100
100
105
110
103
58
49
50
112
120
32
49
54
112
120
125
46
99
45
114
97
100
105
111
45
110
101
119
32
108
97
98
101
108
46
99
45
114
97
100
105
111
45
108
97
98
101
108
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
49
50
112
120
59
109
97
114
103
105
110
58
48
125
46
99
45
114
97
100
105
111
45
110
101
119
32
46
99
45
114
97
100
105
111
45
108
97
98
101
108
45
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
50
112
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
119
105
100
116
104
58
49
48
48
37
125
46
99
45
114
97
100
105
111
45
110
101
119
32
46
99
45
114
97
100
105
111
45
108
97
98
101
108
45
99
111
110
116
101
110
116
45
109
97
105
110
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
125
46
99
45
114
97
100
105
111
45
110
101
119
32
46
99
45
114
97
100
105
111
45
100
101
115
99
114
105
112
116
105
111
110
32
112
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
51
51
51
51
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
46
99
45
114
97
100
105
111
45
110
101
119
32
46
99
45
114
97
100
105
111
45
97
115
105
100
101
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
115
101
108
102
58
102
108
101
120
45
115
116
97
114
116
59
97
108
105
103
110
45
115
101
108
102
58
102
108
101
120
45
115
116
97
114
116
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
52
112
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
109
97
114
103
105
110
45
108
101
102
116
58
97
117
116
111
125
46
99
45
114
97
100
105
111
45
110
101
119
32
46
99
45
114
97
100
105
111
45
97
115
105
100
101
32
105
109
103
123
104
101
105
103
104
116
58
50
52
112
120
125
46
99
45
114
97
100
105
111
45
110
101
119
32
46
99
45
114
97
100
105
111
45
97
115
105
100
101
32
105
109
103
46
100
105
109
109
101
100
123
111
112
97
99
105
116
121
58
46
50
125
46
99
45
114
97
100
105
111
45
110
101
119
32
46
99
45
114
97
100
105
111
45
97
115
105
100
101
45
45
103
114
101
101
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
55
48
48
41
125
46
99
45
114
97
100
105
111
45
110
101
119
32
46
99
45
114
97
100
105
111
45
97
100
100
105
116
105
111
110
97
108
123
98
111
114
100
101
114
45
116
111
112
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
99
45
114
97
100
105
111
45
110
101
119
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
123
45
109
111
122
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
45
119
101
98
107
105
116
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
45
119
101
98
107
105
116
45
102
108
101
120
58
48
32
48
32
97
117
116
111
59
102
108
101
120
58
48
32
48
32
97
117
116
111
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
104
101
105
103
104
116
58
50
52
112
120
59
119
105
100
116
104
58
50
52
112
120
59
109
97
114
103
105
110
58
48
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
48
37
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
125
46
99
45
114
97
100
105
111
45
110
101
119
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
58
102
111
99
117
115
123
111
117
116
108
105
110
101
45
111
102
102
115
101
116
58
48
125
46
99
45
114
97
100
105
111
45
110
101
119
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
58
99
104
101
99
107
101
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
111
114
100
101
114
58
52
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
59
111
117
116
108
105
110
101
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
99
45
114
97
100
105
111
45
110
101
119
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
58
110
111
116
40
58
99
104
101
99
107
101
100
41
123
98
111
114
100
101
114
58
54
112
120
32
115
111
108
105
100
32
116
114
97
110
115
112
97
114
101
110
116
59
111
117
116
108
105
110
101
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
125
46
99
45
114
97
100
105
111
45
110
101
119
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
58
97
99
116
105
118
101
123
111
117
116
108
105
110
101
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
55
48
48
41
125
46
99
45
114
97
100
105
111
45
103
114
111
117
112
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
56
112
120
59
109
97
114
103
105
110
58
49
50
112
120
32
48
112
120
125
46
99
45
115
101
97
114
99
104
45
102
111
114
109
95
95
115
101
97
114
99
104
123
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
49
59
102
108
101
120
45
103
114
111
119
58
49
125
46
99
45
115
101
97
114
99
104
45
102
111
114
109
45
45
114
97
105
110
98
111
119
123
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
58
97
110
105
109
97
116
101
100
45
98
111
114
100
101
114
45
103
114
97
100
105
101
110
116
32
54
115
32
101
97
115
101
45
105
110
45
111
117
116
32
97
108
116
101
114
110
97
116
101
32
105
110
102
105
110
105
116
101
59
97
110
105
109
97
116
105
111
110
58
97
110
105
109
97
116
101
100
45
98
111
114
100
101
114
45
103
114
97
100
105
101
110
116
32
54
115
32
101
97
115
101
45
105
110
45
111
117
116
32
97
108
116
101
114
110
97
116
101
32
105
110
102
105
110
105
116
101
59
98
97
99
107
103
114
111
117
110
100
58
108
105
110
101
97
114
45
103
114
97
100
105
101
110
116
40
54
48
100
101
103
44
32
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
44
32
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
52
48
48
41
44
32
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
53
48
48
41
44
32
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
44
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
44
32
35
66
51
69
65
70
69
44
32
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
41
59
98
97
99
107
103
114
111
117
110
100
45
115
105
122
101
58
51
48
48
37
32
51
48
48
37
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
112
120
59
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
59
112
97
100
100
105
110
103
58
50
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
99
45
115
101
97
114
99
104
45
102
111
114
109
45
45
114
97
105
110
98
111
119
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
48
112
120
59
112
97
100
100
105
110
103
58
51
112
120
125
125
46
99
45
115
101
97
114
99
104
45
102
111
114
109
45
45
114
97
105
110
98
111
119
32
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
97
117
116
111
99
111
109
112
108
101
116
101
45
115
101
97
114
99
104
45
105
110
108
105
110
101
123
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
125
46
99
45
115
101
97
114
99
104
45
102
111
114
109
45
45
114
97
105
110
98
111
119
32
46
98
116
110
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
32
52
112
120
32
52
112
120
32
48
59
112
97
100
100
105
110
103
58
49
50
112
120
59
119
105
100
116
104
58
97
117
116
111
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
99
45
115
101
97
114
99
104
45
102
111
114
109
45
45
114
97
105
110
98
111
119
32
46
98
116
110
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
32
55
112
120
32
55
112
120
32
48
59
112
97
100
100
105
110
103
58
49
55
112
120
59
119
105
100
116
104
58
49
48
48
37
125
125
46
99
45
115
101
97
114
99
104
45
102
111
114
109
45
45
114
97
105
110
98
111
119
32
46
102
111
114
109
95
95
99
111
110
116
114
111
108
123
98
111
114
100
101
114
58
110
111
110
101
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
52
112
120
32
48
32
48
32
52
112
120
59
104
101
105
103
104
116
58
52
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
99
45
115
101
97
114
99
104
45
102
111
114
109
45
45
114
97
105
110
98
111
119
32
46
102
111
114
109
95
95
99
111
110
116
114
111
108
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
55
112
120
32
48
32
48
32
55
112
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
104
101
105
103
104
116
58
53
48
112
120
125
125
46
99
45
115
101
97
114
99
104
45
102
111
114
109
45
45
114
97
105
110
98
111
119
32
46
102
111
114
109
95
95
102
105
101
108
100
115
45
45
105
110
108
105
110
101
32
46
102
111
114
109
95
95
97
99
116
105
111
110
115
123
109
97
114
103
105
110
58
48
59
119
105
100
116
104
58
97
117
116
111
125
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
110
101
117
116
114
97
108
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
110
101
117
116
114
97
108
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
111
110
45
100
97
114
107
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
45
97
52
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
125
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
115
117
99
99
101
115
115
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
49
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
51
48
48
41
125
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
119
97
114
110
105
110
103
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
49
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
51
48
48
41
125
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
100
97
110
103
101
114
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
49
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
51
48
48
41
125
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
105
110
102
111
114
109
97
116
105
111
110
123
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
51
48
48
41
125
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
111
110
45
100
97
114
107
32
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
104
101
97
100
101
114
44
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
111
110
45
100
97
114
107
32
46
116
112
45
116
101
120
116
45
110
111
116
101
95
95
116
101
120
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
116
112
45
116
101
120
116
45
110
111
116
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
108
97
98
101
108
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
108
97
98
101
108
45
98
111
114
100
101
114
45
99
111
108
111
114
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
108
97
98
101
108
45
116
101
120
116
45
99
111
108
111
114
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
108
105
110
101
45
104
101
105
103
104
116
58
49
59
112
97
100
100
105
110
103
58
49
50
112
120
32
49
54
112
120
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
59
103
97
112
58
49
50
112
120
59
109
97
114
103
105
110
58
49
54
112
120
32
48
112
120
125
46
116
112
45
116
101
120
116
45
110
111
116
101
32
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
104
101
97
100
101
114
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
56
112
120
125
46
116
112
45
116
101
120
116
45
110
111
116
101
32
46
116
112
45
116
101
120
116
45
110
111
116
101
95
95
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
125
46
116
112
45
116
101
120
116
45
110
111
116
101
32
46
116
112
45
116
101
120
116
45
110
111
116
101
45
45
108
105
110
107
123
109
97
114
103
105
110
45
116
111
112
58
56
112
120
125
46
116
112
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
100
97
114
107
123
45
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
116
101
120
116
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
45
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
125
46
116
112
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
108
105
103
104
116
123
45
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
116
101
120
116
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
98
108
97
99
107
41
59
45
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
114
103
98
97
40
50
49
44
32
50
49
44
32
51
53
44
32
48
46
48
56
41
125
46
116
112
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
116
114
97
110
115
112
97
114
101
110
116
123
45
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
116
101
120
116
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
98
108
97
99
107
41
59
45
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
116
114
97
110
115
112
97
114
101
110
116
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
41
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
32
46
116
112
45
105
110
112
117
116
45
108
97
98
101
108
45
99
111
110
116
101
110
116
123
99
111
108
111
114
58
118
97
114
40
45
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
116
101
120
116
45
99
111
108
111
114
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
56
112
120
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
44
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
115
117
98
116
101
120
116
44
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
112
114
105
118
97
99
121
45
112
111
108
105
99
121
123
99
111
108
111
114
58
118
97
114
40
45
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
116
101
120
116
45
99
111
108
111
114
41
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
109
97
120
45
119
105
100
116
104
58
53
54
48
112
120
59
109
97
114
103
105
110
58
97
117
116
111
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
49
48
48
41
125
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
115
117
98
116
101
120
116
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
115
117
98
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
102
111
114
109
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
102
111
114
109
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
48
59
109
97
120
45
119
105
100
116
104
58
53
54
48
112
120
59
119
105
100
116
104
58
49
48
48
37
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
102
111
114
109
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
103
97
112
58
49
50
112
120
59
104
101
105
103
104
116
58
49
48
48
112
120
125
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
102
111
114
109
32
46
116
112
45
102
111
114
109
123
119
105
100
116
104
58
105
110
104
101
114
105
116
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
102
111
114
109
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
123
109
105
110
45
119
105
100
116
104
58
49
48
48
37
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
102
111
114
109
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
123
109
105
110
45
119
105
100
116
104
58
52
48
48
112
120
125
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
102
111
114
109
95
95
115
117
98
109
105
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
98
111
114
100
101
114
58
48
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
104
101
105
103
104
116
58
52
56
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
50
112
120
59
119
105
100
116
104
58
49
48
48
37
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
102
111
114
109
95
95
115
117
98
109
105
116
58
104
111
118
101
114
123
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
112
114
105
118
97
99
121
45
112
111
108
105
99
121
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
109
97
114
103
105
110
45
116
111
112
58
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
112
114
105
118
97
99
121
45
112
111
108
105
99
121
123
109
97
114
103
105
110
45
116
111
112
58
48
125
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
112
114
105
118
97
99
121
45
112
111
108
105
99
121
32
97
123
99
111
108
111
114
58
118
97
114
40
45
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
116
101
120
116
45
99
111
108
111
114
41
59
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
58
117
110
100
101
114
108
105
110
101
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
115
117
99
99
101
115
115
45
109
101
115
115
97
103
101
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
115
117
99
99
101
115
115
45
109
101
115
115
97
103
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
49
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
49
50
112
120
59
112
97
100
100
105
110
103
58
49
50
112
120
32
49
54
112
120
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
115
117
99
99
101
115
115
45
109
101
115
115
97
103
101
32
46
116
101
101
112
117
98
108
105
99
111
110
45
118
97
114
105
97
110
116
45
45
99
105
114
99
108
101
46
109
101
100
105
117
109
123
112
97
100
100
105
110
103
58
48
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
115
117
99
99
101
115
115
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
115
117
99
99
101
115
115
45
109
101
115
115
97
103
101
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
115
117
99
99
101
115
115
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
115
117
99
99
101
115
115
45
109
101
115
115
97
103
101
45
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
115
101
108
102
58
102
108
101
120
45
115
116
97
114
116
59
97
108
105
103
110
45
115
101
108
102
58
102
108
101
120
45
115
116
97
114
116
125
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
115
117
99
99
101
115
115
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
102
111
114
109
32
102
111
114
109
44
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
115
117
99
99
101
115
115
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
112
114
105
118
97
99
121
45
112
111
108
105
99
121
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
101
114
114
111
114
45
109
101
115
115
97
103
101
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
116
111
112
58
49
50
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
101
114
114
111
114
45
109
101
115
115
97
103
101
45
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
115
101
108
102
58
102
108
101
120
45
115
116
97
114
116
59
97
108
105
103
110
45
115
101
108
102
58
102
108
101
120
45
115
116
97
114
116
125
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
101
114
114
111
114
45
109
101
115
115
97
103
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
49
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
49
50
112
120
59
112
97
100
100
105
110
103
58
49
50
112
120
32
49
54
112
120
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
101
114
114
111
114
45
109
101
115
115
97
103
101
32
46
116
101
101
112
117
98
108
105
99
111
110
45
118
97
114
105
97
110
116
45
45
99
105
114
99
108
101
46
109
101
100
105
117
109
123
112
97
100
100
105
110
103
58
48
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
101
114
114
111
114
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
101
114
114
111
114
45
109
101
115
115
97
103
101
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
100
97
115
104
101
114
121
45
115
116
111
114
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
41
59
109
105
110
45
104
101
105
103
104
116
58
51
53
48
112
120
59
112
97
100
100
105
110
103
58
52
48
112
120
32
49
54
112
120
32
48
125
64
99
111
110
116
97
105
110
101
114
32
115
116
111
114
101
102
114
111
110
116
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
100
97
115
104
101
114
121
45
115
116
111
114
101
123
109
105
110
45
104
101
105
103
104
116
58
51
48
48
112
120
125
125
64
99
111
110
116
97
105
110
101
114
32
115
116
111
114
101
102
114
111
110
116
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
100
97
115
104
101
114
121
45
115
116
111
114
101
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
102
111
114
109
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
48
59
104
101
105
103
104
116
58
117
110
115
101
116
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
100
97
115
104
101
114
121
45
115
116
111
114
101
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
112
114
105
118
97
99
121
45
112
111
108
105
99
121
123
109
97
114
103
105
110
45
116
111
112
58
49
54
112
120
125
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
100
97
115
104
101
114
121
45
115
116
111
114
101
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
102
111
114
109
123
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
125
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
100
97
115
104
101
114
121
45
115
116
111
114
101
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
115
117
99
99
101
115
115
45
109
101
115
115
97
103
101
45
99
111
110
116
97
105
110
101
114
44
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
100
97
115
104
101
114
121
45
115
116
111
114
101
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
101
114
114
111
114
45
109
101
115
115
97
103
101
45
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
115
101
108
102
58
99
101
110
116
101
114
59
97
108
105
103
110
45
115
101
108
102
58
99
101
110
116
101
114
125
46
109
45
97
99
99
111
117
110
116
45
115
97
118
101
100
45
108
105
115
116
115
123
112
97
100
100
105
110
103
58
50
52
112
120
32
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
97
99
99
111
117
110
116
45
115
97
118
101
100
45
108
105
115
116
115
123
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
51
50
112
120
125
125
46
109
45
115
97
118
101
100
45
108
105
115
116
95
95
105
116
101
109
115
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
50
44
32
49
102
114
41
59
103
97
112
58
49
50
112
120
32
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
115
97
118
101
100
45
108
105
115
116
95
95
105
116
101
109
115
123
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
52
44
32
49
102
114
41
125
125
46
109
45
97
99
99
111
117
110
116
45
115
97
118
101
100
45
108
105
115
116
115
95
95
112
97
103
105
110
97
116
105
111
110
32
46
112
114
101
118
105
111
117
115
95
112
97
103
101
44
46
109
45
97
99
99
111
117
110
116
45
115
97
118
101
100
45
108
105
115
116
115
95
95
112
97
103
105
110
97
116
105
111
110
32
46
110
101
120
116
95
112
97
103
101
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
109
45
97
99
99
111
117
110
116
45
115
97
118
101
100
45
108
105
115
116
115
95
95
112
97
103
105
110
97
116
105
111
110
32
46
112
114
101
118
105
111
117
115
95
112
97
103
101
126
97
58
110
111
116
40
46
110
101
120
116
95
112
97
103
101
41
123
112
97
100
100
105
110
103
58
52
112
120
125
64
109
101
100
105
97
32
40
104
111
118
101
114
58
32
104
111
118
101
114
41
32
97
110
100
32
40
112
111
105
110
116
101
114
58
32
102
105
110
101
41
123
46
109
45
97
99
99
111
117
110
116
45
115
97
118
101
100
45
108
105
115
116
115
95
95
112
97
103
105
110
97
116
105
111
110
32
46
112
114
101
118
105
111
117
115
95
112
97
103
101
126
97
58
110
111
116
40
46
110
101
120
116
95
112
97
103
101
41
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
125
46
115
97
118
101
100
45
108
105
115
116
45
101
109
112
116
121
95
95
116
105
116
108
101
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
115
97
118
101
100
45
108
105
115
116
45
101
109
112
116
121
95
95
116
105
116
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
115
97
118
101
100
45
108
105
115
116
45
101
109
112
116
121
95
95
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
109
97
114
103
105
110
45
116
111
112
58
52
112
120
125
46
115
97
118
101
100
45
108
105
115
116
45
101
109
112
116
121
95
95
112
111
112
117
108
97
114
45
116
111
112
105
99
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
103
97
112
58
56
112
120
59
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
59
109
97
120
45
119
105
100
116
104
58
54
48
48
112
120
125
46
115
97
118
101
100
45
108
105
115
116
45
101
109
112
116
121
95
95
99
116
97
123
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
125
46
100
101
102
97
117
108
116
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
123
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
125
46
100
101
102
97
117
108
116
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
32
46
116
105
116
108
101
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
56
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
56
112
120
125
46
100
101
102
97
117
108
116
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
32
46
116
105
116
108
101
32
104
51
123
109
97
114
103
105
110
58
48
125
46
100
101
102
97
117
108
116
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
32
112
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
46
100
101
102
97
117
108
116
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
46
109
45
117
112
108
111
97
100
101
114
95
95
99
111
110
116
97
105
110
101
114
45
45
110
101
117
116
114
97
108
123
112
97
100
100
105
110
103
58
52
48
112
120
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
46
109
45
97
99
99
111
117
110
116
123
109
97
114
103
105
110
58
50
48
112
120
32
97
117
116
111
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
97
99
99
111
117
110
116
123
109
97
114
103
105
110
58
52
48
112
120
32
97
117
116
111
125
125
46
109
45
97
99
99
111
117
110
116
95
95
104
101
97
100
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
56
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
104
101
97
100
101
114
32
104
49
123
109
97
114
103
105
110
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
98
111
100
121
123
109
105
110
45
104
101
105
103
104
116
58
54
53
48
112
120
125
125
46
109
45
97
99
99
111
117
110
116
95
95
114
101
102
101
114
114
97
108
45
102
111
114
109
32
46
102
111
114
109
95
95
97
99
116
105
111
110
115
123
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
49
59
102
108
101
120
45
115
104
114
105
110
107
58
49
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
57
56
49
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
114
101
102
101
114
114
97
108
45
102
111
114
109
32
46
102
111
114
109
95
95
97
99
116
105
111
110
115
123
45
119
101
98
107
105
116
45
102
108
101
120
45
98
97
115
105
115
58
97
117
116
111
59
102
108
101
120
45
98
97
115
105
115
58
97
117
116
111
59
109
97
114
103
105
110
45
108
101
102
116
58
48
125
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
57
56
49
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
114
101
102
101
114
114
97
108
45
102
111
114
109
32
46
102
111
114
109
95
95
97
99
116
105
111
110
115
32
46
102
111
114
109
95
95
102
105
101
108
100
123
109
97
114
103
105
110
45
108
101
102
116
58
53
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
114
101
102
101
114
114
97
108
45
102
111
114
109
32
46
102
111
114
109
95
95
97
99
116
105
111
110
115
32
46
102
111
114
109
95
95
102
105
101
108
100
58
102
105
114
115
116
45
99
104
105
108
100
123
109
97
114
103
105
110
45
108
101
102
116
58
48
125
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
57
56
49
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
114
101
102
101
114
114
97
108
45
102
111
114
109
32
46
102
111
114
109
95
95
98
111
100
121
123
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
59
119
105
100
116
104
58
49
48
48
37
125
125
46
109
45
97
99
99
111
117
110
116
95
95
114
101
102
101
114
114
97
108
45
102
111
114
109
32
46
102
111
114
109
45
102
105
101
108
100
45
109
111
99
107
45
101
100
105
116
97
98
108
101
123
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
49
59
102
108
101
120
45
103
114
111
119
58
49
59
45
119
101
98
107
105
116
45
102
108
101
120
45
98
97
115
105
115
58
49
53
48
37
59
102
108
101
120
45
98
97
115
105
115
58
49
53
48
37
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
57
56
49
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
114
101
102
101
114
114
97
108
45
102
111
114
109
32
46
102
111
114
109
95
95
102
105
101
108
100
123
109
97
114
103
105
110
45
108
101
102
116
58
48
125
125
46
109
45
97
99
99
111
117
110
116
95
95
114
101
102
101
114
114
97
108
45
102
111
114
109
32
46
102
111
114
109
95
95
102
105
101
108
100
115
123
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
57
56
50
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
114
101
102
101
114
114
97
108
45
102
111
114
109
32
46
102
111
114
109
95
95
102
105
101
108
100
115
123
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
125
125
46
109
45
97
99
99
111
117
110
116
95
95
114
101
102
101
114
114
97
108
45
102
111
114
109
32
46
109
45
97
99
99
111
117
110
116
95
95
115
111
99
105
97
108
45
105
99
111
110
115
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
105
110
108
105
110
101
45
102
108
101
120
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
102
108
101
120
59
109
97
114
103
105
110
45
108
101
102
116
58
53
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
114
101
102
101
114
114
97
108
45
102
111
114
109
32
46
109
45
97
99
99
111
117
110
116
95
95
115
111
99
105
97
108
45
105
99
111
110
115
32
108
105
123
109
97
114
103
105
110
45
114
105
103
104
116
58
51
112
120
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
57
56
49
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
114
101
102
101
114
114
97
108
45
115
104
111
114
116
45
112
97
116
104
123
109
97
114
103
105
110
45
116
111
112
58
48
125
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
123
109
97
114
103
105
110
58
49
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
57
56
50
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
123
109
97
114
103
105
110
58
50
53
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
43
46
99
111
110
116
101
110
116
45
116
97
98
108
101
95
95
115
101
99
116
105
111
110
123
109
97
114
103
105
110
45
116
111
112
58
50
53
112
120
125
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
32
104
52
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
105
110
102
111
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
112
97
100
100
105
110
103
58
49
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
105
110
102
111
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
125
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
105
110
102
111
32
46
104
45
45
53
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
105
110
102
111
32
46
116
101
120
116
45
110
111
116
101
45
45
115
109
97
108
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
105
110
102
111
45
99
111
110
116
97
105
110
101
114
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
52
112
120
59
112
97
100
100
105
110
103
58
49
48
112
120
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
105
110
102
111
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
59
109
97
114
103
105
110
45
108
101
102
116
58
48
59
109
97
114
103
105
110
45
114
105
103
104
116
58
48
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
105
110
102
111
45
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
102
108
101
120
45
98
97
115
105
115
58
48
59
102
108
101
120
45
98
97
115
105
115
58
48
59
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
49
59
102
108
101
120
45
103
114
111
119
58
49
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
105
110
102
111
45
99
111
110
116
97
105
110
101
114
58
102
105
114
115
116
45
111
102
45
116
121
112
101
123
109
97
114
103
105
110
45
108
101
102
116
58
48
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
105
110
102
111
45
99
111
110
116
97
105
110
101
114
58
108
97
115
116
45
111
102
45
116
121
112
101
123
109
97
114
103
105
110
45
114
105
103
104
116
58
48
125
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
105
110
102
111
45
99
111
110
116
97
105
110
101
114
32
100
105
118
58
108
97
115
116
45
99
104
105
108
100
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
105
110
102
111
45
99
111
110
116
97
105
110
101
114
45
45
104
101
97
100
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
115
101
108
102
58
99
101
110
116
101
114
59
97
108
105
103
110
45
115
101
108
102
58
99
101
110
116
101
114
59
119
105
100
116
104
58
53
48
37
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
105
110
102
111
45
99
111
110
116
97
105
110
101
114
45
45
104
101
97
100
101
114
123
119
105
100
116
104
58
49
48
48
37
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
105
110
102
111
45
99
111
110
116
97
105
110
101
114
45
45
104
101
97
100
101
114
32
112
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
59
109
97
114
103
105
110
45
116
111
112
58
51
112
120
125
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
115
116
97
116
117
115
45
100
101
115
99
114
105
112
116
105
111
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
102
111
110
116
45
115
105
122
101
58
49
50
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
114
97
100
105
111
45
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
49
50
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
114
97
100
105
111
45
99
111
110
116
101
110
116
32
46
116
112
45
102
111
114
109
32
46
116
112
45
105
110
112
117
116
45
102
105
101
108
100
45
45
119
114
97
112
112
101
114
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
109
45
97
99
99
111
117
110
116
95
95
112
97
114
116
110
101
114
45
98
116
110
115
123
100
105
115
112
108
97
121
58
103
114
105
100
59
116
101
120
116
45
97
108
105
103
110
58
114
105
103
104
116
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
110
111
116
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
97
99
99
111
117
110
116
95
95
115
97
108
101
115
45
110
111
116
101
62
100
105
118
123
109
97
114
103
105
110
58
49
53
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
100
111
117
98
108
101
45
99
111
108
117
109
110
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
109
45
97
99
99
111
117
110
116
95
95
100
111
117
98
108
101
45
99
111
108
117
109
110
115
62
100
105
118
123
119
105
100
116
104
58
99
97
108
99
40
53
48
37
32
45
32
49
53
112
120
32
47
32
50
41
125
46
109
45
97
99
99
111
117
110
116
95
95
100
111
117
98
108
101
45
99
111
108
117
109
110
115
62
100
105
118
58
102
105
114
115
116
45
99
104
105
108
100
123
109
97
114
103
105
110
45
114
105
103
104
116
58
49
53
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
101
97
114
110
105
110
103
115
45
116
97
98
108
101
123
119
105
100
116
104
58
49
48
48
37
125
46
109
45
97
99
99
111
117
110
116
95
95
101
97
114
110
105
110
103
115
45
116
97
98
108
101
32
116
114
32
116
104
44
46
109
45
97
99
99
111
117
110
116
95
95
101
97
114
110
105
110
103
115
45
116
97
98
108
101
32
116
114
32
116
100
123
112
97
100
100
105
110
103
58
52
112
120
32
49
53
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
101
97
114
110
105
110
103
115
45
116
97
98
108
101
32
116
114
32
116
104
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
104
101
105
103
104
116
58
51
48
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
118
101
114
116
105
99
97
108
45
97
108
105
103
110
58
109
105
100
100
108
101
125
46
109
45
97
99
99
111
117
110
116
95
95
101
97
114
110
105
110
103
115
45
116
97
98
108
101
32
116
114
58
110
116
104
45
99
104
105
108
100
40
111
100
100
41
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
97
99
99
111
117
110
116
95
95
101
97
114
110
105
110
103
115
45
116
97
98
108
101
32
116
114
58
110
116
104
45
99
104
105
108
100
40
101
118
101
110
41
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
97
99
99
111
117
110
116
95
95
101
97
114
110
105
110
103
115
45
99
101
108
108
45
45
114
101
100
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
109
45
97
99
99
111
117
110
116
95
95
101
97
114
110
105
110
103
115
45
99
101
108
108
45
45
103
114
101
101
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
54
48
48
41
125
46
109
45
97
99
99
111
117
110
116
95
95
101
97
114
110
105
110
103
115
45
102
105
108
116
101
114
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
101
97
114
110
105
110
103
115
45
102
105
108
116
101
114
115
62
97
123
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
49
59
102
108
101
120
45
103
114
111
119
58
49
59
109
97
114
103
105
110
58
48
32
53
112
120
59
112
97
100
100
105
110
103
58
49
48
112
120
32
50
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
97
100
100
114
101
115
115
101
115
123
119
105
100
116
104
58
53
48
37
125
125
46
109
45
97
99
99
111
117
110
116
95
95
97
100
100
114
101
115
115
101
115
32
46
101
114
114
111
114
32
108
105
123
99
111
108
111
114
58
105
110
104
101
114
105
116
59
108
105
115
116
45
115
116
121
108
101
58
110
111
110
101
125
46
109
45
97
99
99
111
117
110
116
95
95
97
100
100
114
101
115
115
45
105
110
102
111
45
99
111
110
116
97
105
110
101
114
123
98
111
114
100
101
114
45
116
111
112
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
59
112
97
100
100
105
110
103
45
116
111
112
58
49
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
97
100
100
114
101
115
115
45
105
110
102
111
45
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
125
125
46
109
45
97
99
99
111
117
110
116
95
95
97
100
100
114
101
115
115
45
105
110
102
111
45
99
111
110
116
97
105
110
101
114
32
46
109
45
97
99
99
111
117
110
116
95
95
97
100
100
114
101
115
115
45
105
110
102
111
123
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
97
100
100
114
101
115
115
45
105
110
102
111
45
99
111
110
116
97
105
110
101
114
32
46
109
45
97
99
99
111
117
110
116
95
95
97
100
100
114
101
115
115
45
105
110
102
111
123
112
97
100
100
105
110
103
58
48
125
125
46
109
45
97
99
99
111
117
110
116
95
95
102
117
108
108
45
110
97
109
101
32
46
104
95
95
104
52
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
53
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
114
101
109
111
118
101
45
97
100
100
114
101
115
115
45
109
111
100
97
108
32
46
100
105
97
108
111
103
45
99
111
110
116
101
110
116
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
97
100
100
114
101
115
115
45
97
99
116
105
111
110
115
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
98
97
115
101
108
105
110
101
59
97
108
105
103
110
45
105
116
101
109
115
58
98
97
115
101
108
105
110
101
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
109
45
97
99
99
111
117
110
116
95
95
97
100
100
114
101
115
115
45
97
99
116
105
111
110
115
32
46
108
105
110
107
45
45
115
112
97
99
101
45
114
105
103
104
116
123
98
111
114
100
101
114
45
114
105
103
104
116
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
49
53
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
97
100
100
114
101
115
115
45
97
99
116
105
111
110
115
32
46
109
45
97
99
99
111
117
110
116
95
95
97
100
100
114
101
115
115
45
100
101
108
101
116
101
45
99
111
110
116
97
105
110
101
114
123
112
97
100
100
105
110
103
45
108
101
102
116
58
49
53
112
120
125
46
114
101
109
111
118
101
45
98
114
111
119
115
101
114
45
115
116
121
108
105
110
103
123
45
119
101
98
107
105
116
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
45
109
111
122
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
98
97
99
107
103
114
111
117
110
100
58
110
111
110
101
59
98
111
114
100
101
114
58
48
59
112
97
100
100
105
110
103
58
48
125
46
109
45
97
99
99
111
117
110
116
95
95
111
114
100
101
114
115
45
111
114
100
101
114
101
100
45
112
114
111
100
117
99
116
115
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
97
112
58
49
50
112
120
32
48
59
103
114
105
100
45
97
117
116
111
45
102
108
111
119
58
114
111
119
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
50
44
32
109
105
110
109
97
120
40
49
50
48
112
120
44
32
49
102
114
41
41
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
114
111
119
115
58
49
102
114
59
111
118
101
114
102
108
111
119
45
120
58
115
99
114
111
108
108
59
112
97
100
100
105
110
103
58
49
50
112
120
32
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
111
114
100
101
114
115
45
111
114
100
101
114
101
100
45
112
114
111
100
117
99
116
115
123
103
97
112
58
50
52
112
120
32
48
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
52
44
32
109
105
110
109
97
120
40
48
44
32
49
102
114
41
41
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
114
111
119
115
58
114
101
112
101
97
116
40
52
44
32
49
102
114
41
59
111
118
101
114
102
108
111
119
45
120
58
104
105
100
100
101
110
125
125
46
109
45
97
99
99
111
117
110
116
95
95
111
114
100
101
114
115
45
111
114
100
101
114
101
100
45
112
114
111
100
117
99
116
115
32
46
108
105
110
107
95
95
99
116
97
123
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
109
45
97
99
99
111
117
110
116
95
95
111
114
100
101
114
115
32
46
109
45
116
97
98
45
110
97
118
95
95
108
105
115
116
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
54
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
111
114
100
101
114
45
100
101
116
97
105
108
115
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
56
112
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
112
97
100
100
105
110
103
58
49
50
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
111
114
100
101
114
45
100
101
116
97
105
108
115
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
125
125
46
109
45
97
99
99
111
117
110
116
95
95
111
114
100
101
114
45
100
101
116
97
105
108
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
46
109
45
97
99
99
111
117
110
116
95
95
111
114
100
101
114
45
100
101
116
97
105
108
32
104
52
123
102
111
110
116
45
102
97
109
105
108
121
58
34
82
111
111
98
101
114
116
45
66
111
108
100
34
44
32
72
101
108
118
101
116
105
99
97
44
32
115
97
110
115
45
115
101
114
105
102
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
58
48
125
46
109
45
97
99
99
111
117
110
116
95
95
111
114
100
101
114
45
105
116
101
109
123
112
97
100
100
105
110
103
58
49
50
112
120
32
48
112
120
59
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
97
99
99
111
117
110
116
95
95
111
114
100
101
114
45
105
116
101
109
58
108
97
115
116
45
99
104
105
108
100
123
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
48
112
120
59
98
111
114
100
101
114
45
98
111
116
116
111
109
58
110
111
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
111
114
100
101
114
45
105
116
101
109
46
116
112
45
108
105
110
101
45
105
116
101
109
123
103
97
112
58
50
48
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
111
114
100
101
114
45
105
116
101
109
32
46
116
112
45
108
105
110
101
45
105
116
101
109
95
95
105
109
97
103
101
123
119
105
100
116
104
58
49
52
48
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
111
114
100
101
114
45
105
116
101
109
32
46
116
112
45
108
105
110
101
45
105
116
101
109
95
95
100
101
115
105
103
110
45
116
105
116
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
125
46
109
45
97
99
99
111
117
110
116
95
95
111
114
100
101
114
45
105
116
101
109
32
46
116
112
45
108
105
110
101
45
105
116
101
109
95
95
112
114
105
99
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
125
125
46
109
45
97
99
99
111
117
110
116
45
97
112
112
115
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
102
108
101
120
45
115
116
97
114
116
59
97
108
105
103
110
45
105
116
101
109
115
58
102
108
101
120
45
115
116
97
114
116
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
50
48
112
120
59
112
97
100
100
105
110
103
58
51
50
112
120
125
46
109
45
97
99
99
111
117
110
116
45
97
112
112
43
46
109
45
97
99
99
111
117
110
116
45
97
112
112
123
98
111
114
100
101
114
45
116
111
112
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
97
99
99
111
117
110
116
45
97
112
112
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
109
105
110
45
119
105
100
116
104
58
49
48
48
37
59
112
97
100
100
105
110
103
45
116
111
112
58
50
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
99
99
111
117
110
116
45
97
112
112
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
125
125
46
109
45
97
99
99
111
117
110
116
45
97
112
112
95
105
110
102
111
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
103
114
105
100
59
103
97
112
58
48
32
49
50
112
120
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
97
114
101
97
115
58
34
105
99
111
110
32
110
97
109
101
32
115
116
97
116
117
115
34
32
34
98
108
97
110
107
32
100
101
116
97
105
108
115
32
100
101
116
97
105
108
115
34
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
52
56
112
120
32
97
117
116
111
32
49
102
114
125
46
109
45
97
99
99
111
117
110
116
45
97
112
112
95
95
110
97
109
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
125
46
109
45
97
99
99
111
117
110
116
45
97
112
112
95
95
105
99
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
123
112
97
100
100
105
110
103
58
49
50
112
120
125
46
109
45
97
99
99
111
117
110
116
45
97
112
112
95
95
115
101
114
118
105
99
101
45
105
110
102
111
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
56
112
120
59
103
114
105
100
45
97
114
101
97
58
100
101
116
97
105
108
115
125
46
109
45
97
99
99
111
117
110
116
45
97
112
112
45
119
114
97
112
112
101
114
123
112
97
100
100
105
110
103
58
51
50
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
50
48
112
120
125
46
109
45
97
99
99
111
117
110
116
45
97
112
112
45
100
105
118
105
100
101
114
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
97
99
99
111
117
110
116
45
97
112
112
95
95
98
97
99
107
45
98
116
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
97
99
99
111
117
110
116
45
97
112
112
95
95
100
101
115
99
114
105
112
116
105
111
110
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
99
99
111
117
110
116
45
97
112
112
95
95
100
101
115
99
114
105
112
116
105
111
110
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
97
99
99
111
117
110
116
95
95
97
108
101
114
116
32
46
97
108
101
114
116
45
98
111
120
45
45
109
105
108
100
123
109
97
114
103
105
110
58
48
125
46
109
45
97
99
99
111
117
110
116
95
95
97
108
101
114
116
32
46
97
108
101
114
116
45
98
111
120
45
45
109
105
108
100
32
97
123
109
97
114
103
105
110
45
116
111
112
58
56
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
105
110
115
116
114
117
99
116
105
111
110
115
95
95
116
105
116
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
125
46
109
45
97
99
99
111
117
110
116
95
95
105
110
115
116
114
117
99
116
105
111
110
115
95
95
99
111
110
116
101
110
116
32
111
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
108
105
115
116
45
115
116
121
108
101
45
116
121
112
101
58
97
117
116
111
59
109
97
114
103
105
110
45
108
101
102
116
58
51
50
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
105
110
115
116
114
117
99
116
105
111
110
115
95
95
99
111
110
116
101
110
116
32
111
108
32
108
105
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
54
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
116
101
114
109
115
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
125
46
109
45
97
99
99
111
117
110
116
95
95
116
101
114
109
115
32
115
116
114
111
110
103
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
125
46
109
45
97
99
99
111
117
110
116
95
95
99
116
97
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
49
50
112
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
112
97
100
100
105
110
103
58
50
48
112
120
32
50
52
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
99
116
97
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
99
99
111
117
110
116
95
95
99
116
97
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
103
97
112
58
48
125
125
46
109
45
97
99
99
111
117
110
116
95
95
99
116
97
45
45
97
112
112
45
105
110
102
111
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
56
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
99
116
97
45
45
98
116
110
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
102
111
110
116
45
115
105
122
101
58
49
54
112
120
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
103
97
112
58
52
112
120
59
112
97
100
100
105
110
103
58
49
48
112
120
125
46
97
99
99
111
117
110
116
45
102
105
101
108
100
45
108
97
98
101
108
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
112
120
125
46
112
49
54
123
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
54
112
120
125
46
97
99
99
111
117
110
116
45
102
105
101
108
100
45
115
116
114
105
112
101
45
108
97
98
101
108
123
109
97
114
103
105
110
45
116
111
112
58
56
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
50
112
120
125
46
114
101
115
105
100
101
110
116
105
97
108
45
105
110
102
111
45
111
112
116
105
111
110
115
123
100
105
115
112
108
97
121
58
103
114
105
100
59
109
97
114
103
105
110
58
50
48
112
120
32
49
54
112
120
59
114
111
119
45
103
97
112
58
56
112
120
125
46
114
101
115
105
100
101
110
116
105
97
108
45
105
110
102
111
45
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
49
54
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
98
116
110
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
102
111
110
116
45
115
105
122
101
58
49
50
112
120
59
103
97
112
58
52
112
120
59
112
97
100
100
105
110
103
58
49
48
112
120
125
46
97
99
99
111
117
110
116
45
111
114
100
101
114
115
45
101
109
112
116
121
95
95
116
105
116
108
101
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
97
99
99
111
117
110
116
45
111
114
100
101
114
115
45
101
109
112
116
121
95
95
116
105
116
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
97
99
99
111
117
110
116
45
111
114
100
101
114
115
45
101
109
112
116
121
95
95
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
109
97
114
103
105
110
45
116
111
112
58
49
54
112
120
125
46
97
99
99
111
117
110
116
45
111
114
100
101
114
115
45
101
109
112
116
121
95
95
99
116
97
123
109
97
114
103
105
110
45
116
111
112
58
49
54
112
120
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
111
110
116
97
105
110
101
114
123
103
97
112
58
53
54
112
120
59
109
97
114
103
105
110
58
52
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
111
110
116
97
105
110
101
114
62
100
105
118
123
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
49
59
102
108
101
120
45
103
114
111
119
58
49
59
45
119
101
98
107
105
116
45
102
108
101
120
45
98
97
115
105
115
58
48
59
102
108
101
120
45
98
97
115
105
115
58
48
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
117
115
116
111
109
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
54
112
120
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
117
115
116
111
109
45
114
111
119
44
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
117
115
116
111
109
45
114
111
119
45
45
104
101
97
100
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
49
50
112
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
112
97
100
100
105
110
103
45
116
111
112
58
49
50
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
50
112
120
59
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
117
115
116
111
109
45
114
111
119
62
100
105
118
44
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
117
115
116
111
109
45
114
111
119
45
45
104
101
97
100
101
114
62
100
105
118
123
45
119
101
98
107
105
116
45
102
108
101
120
58
49
32
48
59
102
108
101
120
58
49
32
48
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
117
115
116
111
109
45
114
111
119
32
105
110
112
117
116
91
116
121
112
101
61
110
117
109
98
101
114
93
44
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
117
115
116
111
109
45
114
111
119
45
45
104
101
97
100
101
114
32
105
110
112
117
116
91
116
121
112
101
61
110
117
109
98
101
114
93
123
45
109
111
122
45
97
112
112
101
97
114
97
110
99
101
58
116
101
120
116
102
105
101
108
100
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
117
115
116
111
109
45
114
111
119
32
105
110
112
117
116
58
58
45
119
101
98
107
105
116
45
111
117
116
101
114
45
115
112
105
110
45
98
117
116
116
111
110
44
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
117
115
116
111
109
45
114
111
119
45
45
104
101
97
100
101
114
32
105
110
112
117
116
58
58
45
119
101
98
107
105
116
45
111
117
116
101
114
45
115
112
105
110
45
98
117
116
116
111
110
44
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
117
115
116
111
109
45
114
111
119
32
105
110
112
117
116
58
58
45
119
101
98
107
105
116
45
105
110
110
101
114
45
115
112
105
110
45
98
117
116
116
111
110
44
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
117
115
116
111
109
45
114
111
119
45
45
104
101
97
100
101
114
32
105
110
112
117
116
58
58
45
119
101
98
107
105
116
45
105
110
110
101
114
45
115
112
105
110
45
98
117
116
116
111
110
123
45
119
101
98
107
105
116
45
97
112
112
101
97
114
97
110
99
101
58
110
111
110
101
59
109
97
114
103
105
110
58
48
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
117
115
116
111
109
45
114
111
119
45
45
104
101
97
100
101
114
62
100
105
118
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
117
115
116
111
109
45
114
111
119
45
100
101
115
99
114
105
112
116
105
111
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
117
115
116
111
109
45
114
111
119
45
109
105
110
105
109
117
109
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
52
112
120
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
117
115
116
111
109
45
116
111
103
103
108
101
45
98
117
116
116
111
110
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
109
97
114
103
105
110
45
116
111
112
58
49
54
112
120
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
115
105
100
101
98
97
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
50
52
112
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
112
114
101
118
105
101
119
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
51
50
112
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
112
114
101
118
105
101
119
45
99
111
110
116
97
105
110
101
114
45
114
111
119
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
49
54
112
120
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
112
114
101
118
105
101
119
45
105
110
102
111
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
49
59
102
108
101
120
45
103
114
111
119
58
49
59
103
97
112
58
56
112
120
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
112
114
101
118
105
101
119
45
105
110
102
111
45
114
111
119
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
112
114
101
118
105
101
119
45
105
110
102
111
45
100
105
118
105
100
101
114
123
98
111
114
100
101
114
45
116
111
112
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
119
105
100
116
104
58
49
48
48
37
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
112
114
101
118
105
101
119
45
105
110
102
111
45
108
97
98
101
108
123
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
49
59
102
108
101
120
45
103
114
111
119
58
49
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
50
112
120
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
112
114
101
118
105
101
119
45
105
110
102
111
45
108
97
98
101
108
45
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
112
114
101
118
105
101
119
45
105
110
102
111
45
108
97
98
101
108
45
116
101
120
116
45
45
100
101
115
99
114
105
112
116
105
111
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
112
114
101
118
105
101
119
45
105
110
102
111
45
108
97
98
101
108
45
116
101
120
116
45
45
98
111
108
100
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
112
114
101
118
105
101
119
45
105
110
102
111
45
118
97
108
117
101
44
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
112
114
101
118
105
101
119
45
105
110
102
111
45
118
97
108
117
101
45
45
103
114
101
101
110
123
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
101
110
100
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
101
110
100
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
112
114
101
118
105
101
119
45
105
110
102
111
45
118
97
108
117
101
45
45
103
114
101
101
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
55
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
112
114
101
118
105
101
119
45
105
109
97
103
101
123
119
105
100
116
104
58
49
50
48
112
120
59
104
101
105
103
104
116
58
49
50
48
112
120
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
112
114
101
118
105
101
119
45
105
109
97
103
101
62
105
109
103
123
104
101
105
103
104
116
58
49
48
48
37
59
119
105
100
116
104
58
97
117
116
111
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
100
101
115
99
114
105
112
116
105
111
110
44
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
100
101
115
99
114
105
112
116
105
111
110
45
45
103
114
101
121
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
100
101
115
99
114
105
112
116
105
111
110
45
45
103
114
101
121
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
125
46
111
110
45
115
97
108
101
45
114
101
103
117
108
97
114
45
112
114
105
99
101
123
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
58
108
105
110
101
45
116
104
114
111
117
103
104
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
111
110
102
105
114
109
97
116
105
111
110
95
109
111
100
97
108
32
112
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
125
46
109
45
112
114
101
115
101
116
45
102
111
114
109
95
95
99
111
110
102
105
114
109
97
116
105
111
110
95
99
97
110
99
101
108
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
108
101
102
116
58
97
117
116
111
59
109
97
114
103
105
110
45
114
105
103
104
116
58
97
117
116
111
59
109
97
114
103
105
110
45
116
111
112
58
49
48
112
120
125
46
116
112
45
110
97
118
105
103
97
116
105
111
110
45
108
105
115
116
46
97
99
99
111
117
110
116
45
110
97
118
105
103
97
116
105
111
110
45
45
104
105
100
100
101
110
123
100
105
115
112
108
97
121
58
110
111
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
116
112
45
110
97
118
105
103
97
116
105
111
110
45
108
105
115
116
46
97
99
99
111
117
110
116
45
110
97
118
105
103
97
116
105
111
110
45
45
104
105
100
100
101
110
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
125
46
97
99
99
111
117
110
116
45
104
101
97
100
101
114
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
97
99
99
111
117
110
116
45
104
101
97
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
110
97
118
45
108
105
110
107
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
105
110
108
105
110
101
45
102
108
101
120
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
102
108
101
120
59
103
97
112
58
50
52
112
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
97
110
99
104
111
114
45
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
97
110
99
104
111
114
45
99
101
110
116
101
114
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
52
112
120
125
46
103
114
101
121
108
105
110
107
123
99
111
108
111
114
58
103
114
101
121
125
46
109
45
97
99
99
111
117
110
116
45
115
101
99
116
105
111
110
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
50
52
112
120
125
46
109
45
97
99
99
111
117
110
116
45
115
101
99
116
105
111
110
95
95
116
105
116
108
101
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
99
99
111
117
110
116
45
115
101
99
116
105
111
110
95
95
116
105
116
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
115
116
111
114
101
45
115
101
116
116
105
110
103
115
45
102
105
101
108
100
115
123
112
97
100
100
105
110
103
45
116
111
112
58
50
52
112
120
125
46
109
45
115
116
111
114
101
45
115
101
116
116
105
110
103
115
45
104
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
114
100
101
114
58
110
111
110
101
59
104
101
105
103
104
116
58
49
112
120
59
109
97
114
103
105
110
58
50
52
112
120
32
48
59
119
105
100
116
104
58
49
48
48
37
125
46
109
45
97
99
99
111
117
110
116
45
115
101
99
116
105
111
110
95
95
102
111
114
109
45
97
99
116
105
111
110
45
103
114
111
117
112
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
125
46
109
45
100
97
115
104
101
114
121
45
102
111
114
109
32
46
109
45
100
97
115
104
101
114
121
45
102
111
114
109
95
95
102
105
108
101
45
102
105
101
108
100
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
49
54
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
54
112
120
125
46
109
45
100
97
115
104
101
114
121
45
102
111
114
109
32
46
115
109
97
108
108
45
108
111
103
111
32
46
99
117
114
114
101
110
116
32
105
109
103
123
104
101
105
103
104
116
58
54
48
112
120
125
46
109
45
100
97
115
104
101
114
121
45
102
111
114
109
32
46
109
101
100
105
117
109
45
108
111
103
111
32
46
99
117
114
114
101
110
116
32
105
109
103
123
104
101
105
103
104
116
58
56
48
112
120
125
46
109
45
100
97
115
104
101
114
121
45
102
111
114
109
32
46
108
97
114
103
101
45
108
111
103
111
32
46
99
117
114
114
101
110
116
32
105
109
103
123
104
101
105
103
104
116
58
49
50
48
112
120
125
46
109
45
100
97
115
104
101
114
121
45
102
111
114
109
32
46
99
117
114
114
101
110
116
32
105
109
103
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
59
109
97
120
45
119
105
100
116
104
58
52
48
48
112
120
59
109
97
114
103
105
110
58
56
112
120
32
48
59
104
101
105
103
104
116
58
97
117
116
111
59
119
105
100
116
104
58
97
117
116
111
125
46
109
45
100
97
115
104
101
114
121
45
102
111
114
109
32
35
117
112
108
111
97
100
101
114
95
87
104
105
116
101
76
97
98
101
108
65
99
99
111
117
110
116
95
104
101
97
100
101
114
32
105
109
103
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
59
104
101
105
103
104
116
58
49
48
48
112
120
59
119
105
100
116
104
58
50
57
48
112
120
59
109
97
114
103
105
110
58
56
112
120
32
48
125
46
109
45
97
99
99
111
117
110
116
45
117
112
108
111
97
100
115
32
46
109
45
116
97
98
45
110
97
118
95
95
99
111
110
116
101
110
116
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
102
108
101
120
45
115
116
97
114
116
59
97
108
105
103
110
45
105
116
101
109
115
58
102
108
101
120
45
115
116
97
114
116
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
115
101
108
102
58
115
116
114
101
116
99
104
59
97
108
105
103
110
45
115
101
108
102
58
115
116
114
101
116
99
104
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
58
49
32
48
32
48
59
102
108
101
120
58
49
32
48
32
48
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
52
48
112
120
59
112
97
100
100
105
110
103
58
52
48
112
120
32
48
125
46
109
45
97
99
99
111
117
110
116
45
117
112
108
111
97
100
115
32
46
109
45
117
112
108
111
97
100
115
45
45
101
109
112
116
121
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
99
99
111
117
110
116
45
117
112
108
111
97
100
115
32
46
109
45
117
112
108
111
97
100
115
45
45
101
109
112
116
121
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
97
99
99
111
117
110
116
95
95
97
100
100
45
100
97
115
104
101
114
121
45
119
101
98
115
105
116
101
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
125
46
109
45
97
99
99
111
117
110
116
95
95
97
100
100
45
100
97
115
104
101
114
121
45
119
101
98
115
105
116
101
32
35
112
114
101
118
105
101
119
45
100
111
109
97
105
110
45
116
101
120
116
123
112
97
100
100
105
110
103
58
49
50
112
120
32
48
125
35
115
117
98
100
111
109
97
105
110
45
118
97
108
105
100
97
116
105
111
110
45
109
101
115
115
97
103
101
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
112
120
125
46
109
45
97
99
99
111
117
110
116
45
105
110
112
117
116
95
95
115
116
97
116
117
115
45
45
105
110
118
97
108
105
100
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
54
48
48
41
125
46
109
45
97
99
99
111
117
110
116
45
105
110
112
117
116
95
95
115
116
97
116
117
115
45
45
118
97
108
105
100
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
55
48
48
41
125
35
100
111
109
97
105
110
45
118
97
108
105
100
97
116
105
111
110
45
109
101
115
115
97
103
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
59
104
101
105
103
104
116
58
49
54
112
120
125
46
109
45
97
99
99
111
117
110
116
45
115
101
99
117
114
105
116
121
123
109
97
120
45
119
105
100
116
104
58
52
52
48
112
120
59
109
97
114
103
105
110
58
50
48
112
120
32
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
97
99
99
111
117
110
116
45
115
101
99
117
114
105
116
121
123
109
97
114
103
105
110
58
52
48
112
120
125
125
46
109
45
97
99
99
111
117
110
116
45
115
101
99
117
114
105
116
121
95
95
116
105
116
108
101
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
99
99
111
117
110
116
45
115
101
99
117
114
105
116
121
95
95
116
105
116
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
97
99
99
111
117
110
116
45
115
101
99
117
114
105
116
121
95
95
102
111
114
109
123
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
125
46
109
45
98
114
111
119
115
101
45
112
114
101
102
101
114
101
110
99
101
115
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
112
97
100
100
105
110
103
58
50
53
112
120
32
51
48
112
120
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
46
109
45
98
114
111
119
115
101
45
112
114
101
102
101
114
101
110
99
101
115
32
46
102
111
114
109
95
95
103
114
111
117
112
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
109
45
98
114
111
119
115
101
45
112
114
101
102
101
114
101
110
99
101
115
95
95
104
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
51
48
112
120
125
46
109
45
98
114
111
119
115
101
45
112
114
101
102
101
114
101
110
99
101
115
95
95
98
116
110
45
99
111
110
116
123
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
125
35
100
105
115
109
105
115
115
45
109
111
100
97
108
45
99
117
115
116
111
109
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
112
111
115
105
116
105
111
110
58
105
110
104
101
114
105
116
125
35
100
105
115
109
105
115
115
45
109
111
100
97
108
45
99
117
115
116
111
109
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
125
46
109
45
99
97
109
112
97
105
103
110
123
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
125
46
109
45
99
97
109
112
97
105
103
110
95
95
110
111
116
101
123
112
97
100
100
105
110
103
58
49
48
112
120
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
97
114
110
105
110
103
45
53
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
46
109
45
99
97
109
112
97
105
103
110
95
95
99
108
111
99
107
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
109
45
99
97
109
112
97
105
103
110
95
95
99
108
111
99
107
45
108
97
98
101
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
125
46
109
45
99
97
109
112
97
105
103
110
95
95
99
108
111
99
107
45
118
97
108
123
109
97
114
103
105
110
45
108
101
102
116
58
49
53
112
120
59
109
97
114
103
105
110
45
114
105
103
104
116
58
49
53
112
120
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
109
45
99
97
109
112
97
105
103
110
95
95
99
108
111
99
107
45
116
105
109
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
49
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
46
109
45
99
97
109
112
97
105
103
110
95
95
99
111
117
110
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
59
109
97
114
103
105
110
45
114
105
103
104
116
58
56
112
120
125
46
109
45
99
97
109
112
97
105
103
110
95
95
99
111
117
110
116
45
45
103
111
97
108
123
109
97
114
103
105
110
45
108
101
102
116
58
56
112
120
59
109
97
114
103
105
110
45
114
105
103
104
116
58
48
125
46
109
45
99
97
109
112
97
105
103
110
95
95
112
114
111
103
114
101
115
115
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
59
104
101
105
103
104
116
58
49
49
112
120
59
119
105
100
116
104
58
49
48
48
37
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
125
46
109
45
99
97
109
112
97
105
103
110
95
95
112
114
111
103
114
101
115
115
45
98
97
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
59
104
101
105
103
104
116
58
49
48
48
37
125
46
109
45
99
97
109
112
97
105
103
110
95
95
115
111
108
100
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
53
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
99
97
114
116
45
99
111
110
102
105
103
32
46
109
45
100
101
115
105
103
110
95
95
109
111
114
101
45
105
110
102
111
45
99
116
114
108
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
32
46
109
45
100
101
115
105
103
110
95
95
109
111
114
101
45
105
110
102
111
45
99
116
114
108
123
119
105
100
116
104
58
54
48
112
120
59
104
101
105
103
104
116
58
49
48
48
37
59
109
97
114
103
105
110
45
108
101
102
116
58
49
53
112
120
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
32
46
109
45
100
101
115
105
103
110
95
95
109
111
114
101
45
105
110
102
111
45
99
116
114
108
32
46
98
116
110
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
112
97
100
100
105
110
103
58
56
112
120
32
48
59
119
105
100
116
104
58
49
48
48
37
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
115
123
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
115
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
105
109
103
123
119
105
100
116
104
58
49
48
48
37
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
54
48
37
59
100
105
115
112
108
97
121
58
98
108
111
99
107
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
105
109
103
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
48
37
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
48
48
37
125
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
105
109
103
46
119
104
105
116
101
123
98
111
120
45
115
104
97
100
111
119
58
105
110
115
101
116
32
48
32
48
32
48
32
49
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
105
109
103
46
104
101
97
116
104
101
114
101
100
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
99
111
108
111
114
115
47
104
101
97
116
104
101
114
101
100
95
111
118
101
114
108
97
121
45
50
101
57
53
55
101
48
99
98
99
53
49
51
99
50
98
53
49
50
97
97
49
49
101
98
54
54
56
48
98
48
48
50
102
97
102
52
99
100
98
55
52
97
49
50
102
50
51
54
99
49
48
55
99
98
102
51
55
55
97
48
56
102
99
46
112
110
103
34
41
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
105
109
103
46
104
101
97
116
104
101
114
101
100
58
98
101
102
111
114
101
123
99
111
110
116
101
110
116
58
39
39
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
119
105
100
116
104
58
49
48
48
37
59
104
101
105
103
104
116
58
49
48
48
37
59
111
112
97
99
105
116
121
58
48
46
56
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
105
109
103
46
104
101
97
116
104
101
114
101
100
58
98
101
102
111
114
101
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
48
37
125
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
115
50
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
109
97
114
103
105
110
45
116
111
112
58
52
112
120
59
103
97
112
58
54
112
120
59
112
97
100
100
105
110
103
58
50
112
120
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
115
50
123
111
118
101
114
102
108
111
119
45
120
58
97
117
116
111
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
115
50
123
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
125
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
123
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
45
119
101
98
107
105
116
45
102
108
101
120
58
48
32
48
32
97
117
116
111
59
102
108
101
120
58
48
32
48
32
97
117
116
111
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
119
105
100
116
104
58
52
48
112
120
59
104
101
105
103
104
116
58
52
48
112
120
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
48
37
59
112
97
100
100
105
110
103
58
50
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
123
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
48
59
102
108
101
120
45
103
114
111
119
58
48
59
119
105
100
116
104
58
99
97
108
99
40
50
52
112
120
32
43
32
50
112
120
41
59
104
101
105
103
104
116
58
99
97
108
99
40
50
52
112
120
32
43
32
50
112
120
41
59
109
97
114
103
105
110
58
48
125
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
58
104
111
118
101
114
123
111
117
116
108
105
110
101
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
46
97
99
116
105
118
101
123
111
117
116
108
105
110
101
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
32
108
97
98
101
108
123
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
48
37
59
119
105
100
116
104
58
49
48
48
37
59
104
101
105
103
104
116
58
49
48
48
37
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
32
108
97
98
101
108
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
48
37
59
112
97
100
100
105
110
103
58
53
112
120
125
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
32
108
97
98
101
108
46
104
101
97
116
104
101
114
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
99
111
108
111
114
115
47
104
101
97
116
104
101
114
101
100
95
111
118
101
114
108
97
121
45
50
101
57
53
55
101
48
99
98
99
53
49
51
99
50
98
53
49
50
97
97
49
49
101
98
54
54
56
48
98
48
48
50
102
97
102
52
99
100
98
55
52
97
49
50
102
50
51
54
99
49
48
55
99
98
102
51
55
55
97
48
56
102
99
46
112
110
103
34
41
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
32
108
97
98
101
108
46
108
105
103
104
116
95
104
101
97
116
104
101
114
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
99
111
108
111
114
115
47
104
101
97
116
104
101
114
101
100
95
111
118
101
114
108
97
121
45
50
101
57
53
55
101
48
99
98
99
53
49
51
99
50
98
53
49
50
97
97
49
49
101
98
54
54
56
48
98
48
48
50
102
97
102
52
99
100
98
55
52
97
49
50
102
50
51
54
99
49
48
55
99
98
102
51
55
55
97
48
56
102
99
46
112
110
103
34
41
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
32
108
97
98
101
108
46
116
105
101
95
100
121
101
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
99
111
108
111
114
115
47
116
105
101
95
100
121
101
95
111
118
101
114
108
97
121
45
100
49
98
54
102
49
55
48
48
99
98
56
56
48
48
49
54
51
52
54
101
56
56
48
56
50
102
98
49
98
98
100
56
102
102
99
54
100
48
98
102
101
51
50
53
49
97
57
98
99
52
48
102
56
56
97
52
52
50
101
52
55
50
51
46
112
110
103
34
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
32
108
97
98
101
108
46
116
105
101
95
100
121
101
123
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
45
120
58
45
53
112
120
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
45
121
58
45
53
112
120
125
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
32
108
97
98
101
108
46
98
111
114
100
101
114
101
100
123
98
111
120
45
115
104
97
100
111
119
58
105
110
115
101
116
32
48
32
48
32
48
32
49
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
32
108
97
98
101
108
46
98
111
114
100
101
114
101
100
123
98
97
99
107
103
114
111
117
110
100
45
115
105
122
101
58
49
48
48
37
32
49
48
48
37
125
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
32
105
110
112
117
116
123
111
112
97
99
105
116
121
58
48
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
32
105
110
112
117
116
58
102
111
99
117
115
45
118
105
115
105
98
108
101
126
108
97
98
101
108
123
111
117
116
108
105
110
101
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
32
97
117
116
111
32
50
112
120
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
43
108
97
98
101
108
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
43
108
97
98
101
108
32
46
116
101
101
112
117
98
108
105
99
111
110
123
111
112
97
99
105
116
121
58
48
59
112
97
100
100
105
110
103
58
50
112
120
59
122
45
105
110
100
101
120
58
49
48
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
58
99
104
101
99
107
101
100
43
108
97
98
101
108
32
46
116
101
101
112
117
98
108
105
99
111
110
44
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
119
114
97
112
50
32
105
110
112
117
116
91
116
121
112
101
61
34
114
97
100
105
111
34
93
43
108
97
98
101
108
58
104
111
118
101
114
32
46
116
101
101
112
117
98
108
105
99
111
110
123
111
112
97
99
105
116
121
58
49
59
116
114
97
110
115
105
116
105
111
110
58
97
108
108
32
49
48
48
109
115
32
101
97
115
101
45
105
110
45
111
117
116
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
111
112
116
105
111
110
123
109
97
114
103
105
110
58
49
54
112
120
32
48
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
113
117
97
110
116
105
116
121
45
99
111
110
116
97
105
110
101
114
123
119
105
100
116
104
58
49
51
48
112
120
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
113
117
97
110
116
105
116
121
45
99
111
110
116
97
105
110
101
114
32
105
110
112
117
116
123
104
101
105
103
104
116
58
52
56
112
120
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
115
101
108
101
99
116
32
46
115
101
108
101
99
116
95
95
119
114
97
112
58
97
102
116
101
114
123
116
111
112
58
99
97
108
99
40
40
52
56
112
120
32
45
32
54
112
120
41
32
47
32
50
41
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
115
101
108
101
99
116
32
115
101
108
101
99
116
123
104
101
105
103
104
116
58
52
56
112
120
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
115
101
108
101
99
116
45
108
97
98
101
108
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
105
110
108
105
110
101
45
102
108
101
120
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
98
97
115
101
108
105
110
101
59
97
108
105
103
110
45
105
116
101
109
115
58
98
97
115
101
108
105
110
101
59
119
105
100
116
104
58
49
48
48
37
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
113
117
105
99
107
45
105
110
102
111
45
108
97
98
101
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
112
120
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
99
111
108
111
114
45
108
97
98
101
108
32
115
116
114
111
110
103
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
115
105
122
101
99
104
97
114
116
45
100
101
115
107
116
111
112
45
99
116
114
108
123
100
105
115
112
108
97
121
58
110
111
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
115
105
122
101
99
104
97
114
116
45
100
101
115
107
116
111
112
45
99
116
114
108
123
100
105
115
112
108
97
121
58
105
110
104
101
114
105
116
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
99
97
114
116
45
99
111
110
102
105
103
95
95
115
105
122
101
114
45
109
111
98
105
108
101
45
99
116
114
108
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
109
45
100
101
115
105
103
110
95
95
116
105
112
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
115
101
108
102
45
115
116
97
114
116
59
97
108
105
103
110
45
105
116
101
109
115
58
115
101
108
102
45
115
116
97
114
116
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
49
50
112
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
115
116
97
114
116
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
115
116
97
114
116
59
109
97
114
103
105
110
58
49
54
112
120
32
48
59
112
97
100
100
105
110
103
58
49
50
112
120
32
49
54
112
120
125
46
109
45
100
101
115
105
103
110
95
95
116
105
112
46
111
102
102
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
109
45
100
101
115
105
103
110
95
95
116
105
112
45
104
101
97
100
101
114
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
112
120
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
53
125
46
109
45
100
101
115
105
103
110
95
95
116
105
112
45
105
99
111
110
123
108
105
110
101
45
104
101
105
103
104
116
58
49
46
53
125
46
109
45
100
101
115
105
103
110
95
95
116
105
112
45
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
52
50
56
53
55
125
46
109
45
100
101
115
105
103
110
95
95
116
105
112
45
45
111
111
115
123
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
108
101
102
116
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
108
101
102
116
125
46
109
45
100
101
115
105
103
110
95
95
116
105
112
45
45
111
111
115
32
46
116
101
101
112
117
98
108
105
99
111
110
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
52
53
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
52
53
100
101
103
41
125
46
109
45
100
101
115
105
103
110
95
95
116
105
112
45
45
108
111
117
100
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
125
46
99
113
100
45
98
97
110
110
101
114
95
95
99
111
110
116
97
105
110
101
114
123
109
97
114
103
105
110
45
116
111
112
58
50
52
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
99
113
100
45
98
97
110
110
101
114
95
95
99
111
110
116
97
105
110
101
114
123
109
97
114
103
105
110
45
116
111
112
58
52
48
112
120
125
125
46
99
113
100
45
98
97
110
110
101
114
95
95
98
97
110
110
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
125
46
109
45
99
111
111
107
105
101
45
97
108
101
114
116
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
53
112
120
59
112
97
100
100
105
110
103
45
116
111
112
58
53
112
120
125
46
109
45
99
111
111
107
105
101
45
97
108
101
114
116
95
95
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
125
46
109
45
99
111
111
107
105
101
45
97
108
101
114
116
95
95
97
99
99
101
112
116
123
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
109
97
114
103
105
110
45
108
101
102
116
58
52
48
112
120
59
112
97
100
100
105
110
103
45
108
101
102
116
58
48
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
48
59
119
105
100
116
104
58
55
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
54
48
48
112
120
41
123
46
109
45
99
111
111
107
105
101
45
97
108
101
114
116
95
95
97
99
99
101
112
116
123
109
97
114
103
105
110
45
108
101
102
116
58
56
48
112
120
59
119
105
100
116
104
58
49
52
53
112
120
125
125
46
109
45
99
111
111
107
105
101
45
97
108
101
114
116
95
95
116
101
120
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
54
48
48
112
120
41
123
46
109
45
99
111
111
107
105
101
45
97
108
101
114
116
95
95
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
125
46
109
45
99
111
111
107
105
101
45
97
108
101
114
116
95
95
116
101
120
116
32
97
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
58
117
110
100
101
114
108
105
110
101
125
46
109
45
99
111
111
107
105
101
45
112
114
101
102
101
114
101
110
99
101
115
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
53
48
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
53
48
112
120
59
112
97
100
100
105
110
103
58
51
53
112
120
125
46
109
45
99
111
111
107
105
101
45
112
114
101
102
101
114
101
110
99
101
115
95
95
109
101
115
115
97
103
101
123
109
97
114
103
105
110
45
108
101
102
116
58
51
48
112
120
125
46
109
45
100
101
115
105
103
110
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
50
112
120
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
112
97
100
100
105
110
103
58
49
53
112
120
125
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
45
103
114
111
117
112
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
45
103
114
111
117
112
32
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
45
104
101
97
100
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
45
103
114
111
117
112
32
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
45
104
101
97
100
101
114
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
59
109
97
114
103
105
110
45
114
105
103
104
116
58
49
48
112
120
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
125
125
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
45
103
114
111
117
112
32
97
123
109
97
114
103
105
110
45
108
101
102
116
58
49
48
112
120
59
109
97
114
103
105
110
45
114
105
103
104
116
58
49
48
112
120
125
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
45
103
114
111
117
112
58
108
97
115
116
45
99
104
105
108
100
123
109
97
114
103
105
110
45
108
101
102
116
58
48
125
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
45
103
114
111
117
112
32
102
111
114
109
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
45
103
114
111
117
112
32
98
117
116
116
111
110
123
98
111
114
100
101
114
58
110
111
110
101
59
98
97
99
107
103
114
111
117
110
100
58
116
114
97
110
115
112
97
114
101
110
116
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
45
103
114
111
117
112
123
102
108
111
97
116
58
108
101
102
116
59
109
97
114
103
105
110
45
114
105
103
104
116
58
49
48
112
120
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
125
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
45
103
114
111
117
112
32
115
112
97
110
44
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
45
103
114
111
117
112
32
97
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
102
108
111
97
116
58
108
101
102
116
125
125
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
45
103
114
111
117
112
45
45
114
105
103
104
116
123
112
97
100
100
105
110
103
45
116
111
112
58
49
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
45
103
114
111
117
112
45
45
114
105
103
104
116
123
102
108
111
97
116
58
114
105
103
104
116
59
112
97
100
100
105
110
103
45
116
111
112
58
48
125
125
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
45
103
114
111
117
112
45
45
104
105
100
100
101
110
45
120
115
123
100
105
115
112
108
97
121
58
110
111
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
110
97
118
45
103
114
111
117
112
45
45
104
105
100
100
101
110
45
120
115
123
100
105
115
112
108
97
121
58
105
110
104
101
114
105
116
125
125
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
116
111
111
108
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
101
110
100
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
101
110
100
59
103
97
112
58
49
50
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
114
105
103
104
116
58
48
59
116
111
112
58
49
54
112
120
59
122
45
105
110
100
101
120
58
49
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
116
111
111
108
115
123
103
97
112
58
49
54
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
97
100
109
105
110
45
116
111
111
108
115
123
114
105
103
104
116
58
49
54
112
120
125
125
46
109
45
100
101
115
105
103
110
95
95
97
118
97
105
108
97
98
108
101
45
105
110
45
104
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
125
46
109
45
100
101
115
105
103
110
95
95
97
118
97
105
108
97
98
108
101
45
105
110
115
123
102
111
110
116
45
119
101
105
103
104
116
58
110
111
114
109
97
108
125
46
109
45
100
101
115
105
103
110
95
95
99
97
114
116
45
99
111
110
102
105
103
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
53
112
120
59
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
125
46
109
45
100
101
115
105
103
110
95
95
99
111
110
116
101
110
116
123
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
99
111
110
116
101
110
116
123
109
97
114
103
105
110
45
116
111
112
58
52
48
112
120
125
125
46
109
45
100
101
115
105
103
110
95
95
104
50
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
52
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
104
50
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
125
46
109
45
100
101
115
105
103
110
95
95
104
114
123
109
97
114
103
105
110
58
49
53
112
120
32
48
32
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
104
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
104
114
45
45
100
123
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
53
57
57
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
105
110
102
111
45
109
111
100
97
108
45
99
116
114
108
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
109
45
100
101
115
105
103
110
95
95
111
116
104
101
114
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
109
97
114
103
105
110
45
116
111
112
58
45
53
112
120
125
46
109
45
100
101
115
105
103
110
95
95
111
116
104
101
114
123
109
97
114
103
105
110
45
114
105
103
104
116
58
49
53
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
119
105
100
116
104
58
99
97
108
99
40
40
49
48
48
37
32
47
32
51
41
32
45
32
40
49
53
112
120
32
42
32
50
41
32
47
32
51
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
111
116
104
101
114
123
119
105
100
116
104
58
99
97
108
99
40
40
49
48
48
37
32
47
32
54
41
32
45
32
40
49
53
112
120
32
42
32
53
41
32
47
32
54
41
125
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
111
116
104
101
114
58
110
116
104
45
99
104
105
108
100
40
51
110
41
123
109
97
114
103
105
110
45
114
105
103
104
116
58
48
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
111
116
104
101
114
58
110
116
104
45
99
104
105
108
100
40
54
110
41
123
109
97
114
103
105
110
45
114
105
103
104
116
58
48
125
125
46
109
45
100
101
115
105
103
110
95
95
111
116
104
101
114
45
105
109
103
123
98
111
114
100
101
114
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
119
105
100
116
104
58
49
48
48
37
125
46
109
45
100
101
115
105
103
110
95
95
111
116
104
101
114
45
110
97
109
101
123
109
97
114
103
105
110
45
116
111
112
58
53
112
120
125
46
109
45
100
101
115
105
103
110
95
95
112
114
111
100
117
99
116
45
105
110
102
111
45
99
111
110
116
101
110
116
123
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
112
114
111
100
117
99
116
45
105
110
102
111
45
99
111
110
116
101
110
116
123
109
97
114
103
105
110
45
116
111
112
58
52
48
112
120
125
125
46
109
45
100
101
115
105
103
110
95
95
112
114
111
100
117
99
116
45
109
101
115
115
97
103
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
112
120
125
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
45
119
101
98
107
105
116
45
102
108
101
120
45
98
97
115
105
115
58
49
48
48
37
59
102
108
101
120
45
98
97
115
105
115
58
49
48
48
37
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
48
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
125
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
58
108
97
115
116
45
99
104
105
108
100
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
48
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
48
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
57
54
57
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
43
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
123
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
125
125
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
32
112
123
108
105
110
101
45
104
101
105
103
104
116
58
49
46
52
125
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
45
99
111
110
116
101
110
116
123
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
45
99
111
110
116
101
110
116
123
109
97
114
103
105
110
45
116
111
112
58
48
125
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
46
111
102
102
32
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
45
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
45
108
105
99
101
110
115
111
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
109
97
114
103
105
110
58
49
48
112
120
32
48
59
112
97
100
100
105
110
103
58
49
53
112
120
32
49
50
112
120
59
119
105
100
116
104
58
49
48
48
37
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
45
108
105
99
101
110
115
111
114
123
112
97
100
100
105
110
103
58
50
48
112
120
32
49
53
112
120
125
125
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
45
108
105
99
101
110
115
111
114
45
104
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
109
97
114
103
105
110
58
48
32
48
32
48
32
49
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
45
108
105
99
101
110
115
111
114
45
104
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
45
108
105
99
101
110
115
111
114
45
104
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
45
110
111
116
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
102
111
110
116
45
115
116
121
108
101
58
105
116
97
108
105
99
125
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
45
116
105
116
108
101
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
45
116
105
116
108
101
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
125
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
45
116
105
116
108
101
32
46
105
99
111
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
109
97
114
103
105
110
45
114
105
103
104
116
58
54
112
120
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
45
57
48
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
45
57
48
100
101
103
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
45
116
105
116
108
101
32
46
105
99
111
110
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
46
111
102
102
32
46
109
45
100
101
115
105
103
110
95
95
112
117
114
99
104
97
115
101
45
105
110
102
111
45
116
105
116
108
101
32
46
105
99
111
110
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
57
48
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
57
48
100
101
103
41
125
46
109
45
100
101
115
105
103
110
95
95
112
114
105
99
101
45
45
118
97
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
112
114
105
99
101
45
45
118
97
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
125
46
109
45
100
101
115
105
103
110
95
95
98
117
121
45
112
97
103
101
45
98
97
99
107
108
105
110
107
115
123
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
125
46
109
45
100
101
115
105
103
110
95
95
98
117
121
45
112
97
103
101
45
98
97
99
107
108
105
110
107
115
32
46
109
97
114
107
101
116
112
108
97
99
101
95
95
108
105
110
107
115
123
103
97
112
58
53
112
120
125
46
109
45
100
101
115
105
103
110
95
95
98
117
121
45
112
97
103
101
45
98
97
99
107
108
105
110
107
115
32
46
109
97
114
107
101
116
112
108
97
99
101
95
95
108
105
110
107
123
109
97
114
103
105
110
58
48
125
46
109
45
100
101
115
105
103
110
95
95
115
101
99
114
101
116
45
105
100
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
116
116
111
109
58
48
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
120
108
97
114
103
101
45
51
48
48
41
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
108
101
102
116
58
48
59
112
111
115
105
116
105
111
110
58
102
105
120
101
100
59
114
105
103
104
116
58
48
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
116
111
112
58
48
59
122
45
105
110
100
101
120
58
49
48
48
48
48
125
46
109
45
100
101
115
105
103
110
95
95
115
104
115
116
111
99
107
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
48
112
120
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
53
112
120
59
119
105
100
116
104
58
45
119
101
98
107
105
116
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
45
109
111
122
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
102
105
116
45
99
111
110
116
101
110
116
125
46
109
45
100
101
115
105
103
110
95
95
115
104
115
116
111
99
107
32
46
116
101
101
112
117
98
108
105
99
111
110
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
104
101
105
103
104
116
58
50
50
112
120
59
119
105
100
116
104
58
50
50
112
120
125
46
109
45
100
101
115
105
103
110
95
95
115
104
115
116
111
99
107
32
112
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
46
109
45
100
101
115
105
103
110
95
95
115
117
98
116
105
116
108
101
115
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
125
46
109
45
100
101
115
105
103
110
95
95
97
100
100
105
116
105
111
110
97
108
45
105
110
102
111
123
108
105
110
101
45
104
101
105
103
104
116
58
50
48
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
52
112
120
125
46
109
45
100
101
115
105
103
110
95
95
97
100
100
105
116
105
111
110
97
108
45
105
110
102
111
45
108
105
115
116
123
109
97
114
103
105
110
45
116
111
112
58
49
54
112
120
125
46
109
45
112
114
111
100
117
99
116
45
111
112
116
105
111
110
115
95
95
115
111
99
105
97
108
32
46
99
111
110
116
97
105
110
123
98
111
114
100
101
114
45
116
111
112
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
112
97
100
100
105
110
103
45
116
111
112
58
50
52
112
120
125
46
109
45
112
114
111
100
117
99
116
45
111
112
116
105
111
110
115
95
95
115
111
99
105
97
108
45
116
105
116
108
101
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
49
53
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
99
97
112
105
116
97
108
105
122
101
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
54
112
120
125
46
109
45
100
101
115
105
103
110
95
95
97
100
100
105
116
105
111
110
97
108
45
105
110
102
111
45
99
111
110
116
97
105
110
101
114
123
112
97
100
100
105
110
103
45
116
111
112
58
51
50
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
50
52
112
120
125
46
109
45
100
101
115
105
103
110
95
95
97
100
100
105
116
105
111
110
97
108
45
105
110
102
111
45
110
111
116
101
123
109
97
114
103
105
110
45
116
111
112
58
50
52
112
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
54
54
54
55
125
46
109
45
100
101
115
105
103
110
95
95
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
45
99
111
110
116
97
105
110
101
114
32
46
116
101
101
112
117
98
108
105
99
111
110
62
42
123
119
105
100
116
104
58
50
56
112
120
59
104
101
105
103
104
116
58
50
56
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
102
97
118
111
114
105
116
101
45
98
117
116
116
111
110
45
99
111
110
116
97
105
110
101
114
32
46
116
101
101
112
117
98
108
105
99
111
110
62
42
123
119
105
100
116
104
58
51
50
112
120
59
104
101
105
103
104
116
58
51
50
112
120
125
125
46
109
45
100
101
115
105
103
110
95
95
99
113
100
45
98
97
110
110
101
114
32
46
99
113
100
45
98
97
110
110
101
114
95
95
99
111
110
116
97
105
110
101
114
123
109
97
114
103
105
110
45
116
111
112
58
49
54
112
120
125
46
103
117
97
114
97
110
116
101
101
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
99
111
108
117
109
110
45
103
97
112
58
49
50
112
120
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
97
117
116
111
32
97
117
116
111
59
109
97
114
103
105
110
58
50
52
112
120
32
97
117
116
111
59
112
97
100
100
105
110
103
58
49
50
112
120
59
119
105
100
116
104
58
45
119
101
98
107
105
116
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
45
109
111
122
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
102
105
116
45
99
111
110
116
101
110
116
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
103
117
97
114
97
110
116
101
101
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
125
46
103
117
97
114
97
110
116
101
101
95
95
116
101
120
116
32
112
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
46
103
117
97
114
97
110
116
101
101
95
95
116
101
120
116
32
97
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
109
97
114
103
105
110
45
116
111
112
58
52
112
120
125
46
103
117
97
114
97
110
116
101
101
95
95
116
101
120
116
32
115
116
114
111
110
103
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
46
109
45
101
114
114
111
114
95
95
104
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
120
108
97
114
103
101
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
109
45
101
114
114
111
114
95
95
116
101
120
116
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
109
97
114
103
105
110
45
116
111
112
58
48
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
48
112
120
125
46
109
45
101
114
114
111
114
95
95
116
101
120
116
45
108
105
110
107
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
101
120
112
108
111
114
101
45
110
97
118
32
46
109
45
116
97
98
45
110
97
118
45
45
105
110
105
116
32
46
109
45
116
97
98
45
110
97
118
95
95
116
97
98
45
99
111
110
116
101
110
116
58
110
111
116
40
91
100
97
116
97
45
116
97
98
45
99
111
110
116
101
110
116
45
105
110
100
101
120
61
39
48
39
93
41
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
99
111
110
116
97
105
110
101
114
32
46
109
45
116
97
98
45
110
97
118
95
95
108
105
115
116
123
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
103
97
112
58
50
56
112
120
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
99
111
110
116
97
105
110
101
114
32
46
109
45
116
97
98
45
110
97
118
95
95
108
105
115
116
32
97
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
99
111
110
116
97
105
110
101
114
32
46
109
45
116
97
98
45
110
97
118
95
95
108
105
115
116
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
99
111
110
116
97
105
110
101
114
32
46
109
45
116
97
98
45
110
97
118
95
95
105
116
101
109
45
45
97
99
116
105
118
101
32
97
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
99
111
110
116
97
105
110
101
114
32
46
109
45
116
97
98
45
110
97
118
95
95
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
52
53
112
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
99
111
110
116
97
105
110
101
114
32
46
109
45
116
97
98
45
110
97
118
95
95
116
97
98
45
99
111
110
116
101
110
116
58
110
111
116
40
91
100
97
116
97
45
116
97
98
45
99
111
110
116
101
110
116
45
105
110
100
101
120
61
39
48
39
93
41
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
99
111
110
116
97
105
110
101
114
32
46
109
45
116
97
98
45
110
97
118
95
95
116
97
98
45
99
111
110
116
101
110
116
58
105
115
40
91
100
97
116
97
45
116
97
98
45
99
111
110
116
101
110
116
45
105
110
100
101
120
61
39
48
39
93
41
32
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
116
97
98
45
99
111
110
116
101
110
116
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
111
118
101
114
102
108
111
119
45
120
58
118
105
115
105
98
108
101
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
99
111
110
116
97
105
110
101
114
32
46
109
45
116
97
98
45
110
97
118
95
95
116
97
98
45
99
111
110
116
101
110
116
58
105
115
40
91
100
97
116
97
45
116
97
98
45
99
111
110
116
101
110
116
45
105
110
100
101
120
61
39
48
39
93
41
32
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
116
97
98
45
99
111
110
116
101
110
116
58
58
97
102
116
101
114
123
99
111
110
116
101
110
116
58
39
39
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
59
119
105
100
116
104
58
50
112
120
59
104
101
105
103
104
116
58
52
56
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
114
105
103
104
116
58
45
50
54
112
120
59
116
111
112
58
49
52
112
120
125
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
116
97
98
45
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
112
97
100
100
105
110
103
58
56
112
120
32
49
54
112
120
59
109
97
114
103
105
110
45
105
110
108
105
110
101
58
45
49
54
112
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
125
64
109
101
100
105
97
32
115
99
114
101
101
110
32
97
110
100
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
116
97
98
45
99
111
110
116
101
110
116
123
45
109
115
45
111
118
101
114
102
108
111
119
45
115
116
121
108
101
58
110
111
110
101
59
115
99
114
111
108
108
98
97
114
45
119
105
100
116
104
58
110
111
110
101
59
111
118
101
114
102
108
111
119
45
120
58
97
117
116
111
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
116
97
98
45
99
111
110
116
101
110
116
58
58
45
119
101
98
107
105
116
45
115
99
114
111
108
108
98
97
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
53
57
53
112
120
41
123
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
116
97
98
45
99
111
110
116
101
110
116
123
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
105
110
108
105
110
101
58
48
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
116
97
98
45
99
111
110
116
101
110
116
123
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
48
125
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
99
116
97
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
52
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
59
109
97
114
103
105
110
45
114
105
103
104
116
58
49
54
112
120
59
112
97
100
100
105
110
103
58
56
112
120
32
49
50
112
120
59
119
105
100
116
104
58
56
48
112
120
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
99
116
97
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
99
116
97
58
102
111
99
117
115
123
111
117
116
108
105
110
101
58
52
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
51
48
48
41
59
111
117
116
108
105
110
101
45
111
102
102
115
101
116
58
48
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
99
116
97
58
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
55
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
55
48
48
41
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
99
116
97
46
108
105
110
107
45
45
100
101
102
97
117
108
116
58
97
99
116
105
118
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
99
116
97
46
108
105
110
107
45
45
100
101
102
97
117
108
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
108
105
110
107
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
112
97
100
100
105
110
103
58
52
112
120
32
56
112
120
59
109
105
110
45
119
105
100
116
104
58
45
119
101
98
107
105
116
45
102
105
116
45
99
111
110
116
101
110
116
59
109
105
110
45
119
105
100
116
104
58
45
109
111
122
45
102
105
116
45
99
111
110
116
101
110
116
59
109
105
110
45
119
105
100
116
104
58
102
105
116
45
99
111
110
116
101
110
116
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
108
105
110
107
46
108
105
110
107
45
45
100
101
102
97
117
108
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
108
105
110
107
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
108
105
110
107
58
104
111
118
101
114
32
46
116
101
101
112
117
98
108
105
99
111
110
123
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
58
119
111
98
98
108
101
32
48
46
50
53
115
32
52
59
97
110
105
109
97
116
105
111
110
58
119
111
98
98
108
101
32
48
46
50
53
115
32
52
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
108
105
110
107
46
108
105
110
107
45
45
100
101
102
97
117
108
116
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
108
105
110
107
58
102
111
99
117
115
123
111
117
116
108
105
110
101
58
52
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
52
48
48
41
59
111
117
116
108
105
110
101
45
111
102
102
115
101
116
58
48
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
108
105
110
107
32
46
116
101
101
112
117
98
108
105
99
111
110
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
109
97
114
103
105
110
45
114
105
103
104
116
58
48
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
108
105
110
107
45
45
110
101
119
32
46
116
101
101
112
117
98
108
105
99
111
110
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
109
45
101
120
112
108
111
114
101
45
110
97
118
95
95
108
105
110
107
45
45
110
101
119
32
46
116
101
101
112
117
98
108
105
99
111
110
58
98
101
102
111
114
101
123
99
111
110
116
101
110
116
58
34
78
69
87
34
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
52
112
120
59
99
111
108
111
114
58
119
104
105
116
101
59
102
111
110
116
45
115
105
122
101
58
56
112
120
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
59
108
105
110
101
45
104
101
105
103
104
116
58
49
59
112
97
100
100
105
110
103
58
50
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
114
105
103
104
116
58
48
125
46
109
45
102
111
111
116
101
114
45
115
105
116
101
109
97
112
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
112
97
100
100
105
110
103
58
48
32
48
32
52
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
102
111
111
116
101
114
45
115
105
116
101
109
97
112
123
112
97
100
100
105
110
103
58
48
125
125
46
109
45
102
111
111
116
101
114
45
115
105
116
101
109
97
112
45
99
111
110
116
97
105
110
101
114
123
112
97
100
100
105
110
103
58
52
48
112
120
32
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
102
111
111
116
101
114
45
115
105
116
101
109
97
112
45
99
111
110
116
97
105
110
101
114
123
112
97
100
100
105
110
103
58
48
32
52
56
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
102
111
111
116
101
114
45
115
105
116
101
109
97
112
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
50
44
32
49
102
114
41
59
112
97
100
100
105
110
103
58
52
48
112
120
32
56
48
112
120
125
125
46
109
45
102
111
111
116
101
114
95
95
116
114
117
115
116
101
100
45
98
97
100
103
101
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
102
111
111
116
101
114
95
95
116
114
117
115
116
101
100
45
98
97
100
103
101
115
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
115
101
108
102
58
102
108
101
120
45
115
116
97
114
116
59
97
108
105
103
110
45
115
101
108
102
58
102
108
101
120
45
115
116
97
114
116
125
125
46
109
45
102
111
111
116
101
114
95
95
103
117
97
114
97
110
116
101
101
45
105
109
97
103
101
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
109
45
102
111
111
116
101
114
95
95
103
117
97
114
97
110
116
101
101
45
105
109
97
103
101
32
105
109
103
123
104
101
105
103
104
116
58
49
52
48
112
120
59
119
105
100
116
104
58
49
52
48
112
120
125
46
109
45
102
111
111
116
101
114
95
95
103
117
97
114
97
110
116
101
101
45
116
101
120
116
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
50
112
120
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
109
45
102
111
111
116
101
114
95
95
103
117
97
114
97
110
116
101
101
45
104
101
97
100
108
105
110
101
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
102
111
111
116
101
114
95
95
103
117
97
114
97
110
116
101
101
45
104
101
97
100
108
105
110
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
102
111
111
116
101
114
95
95
103
117
97
114
97
110
116
101
101
45
115
117
98
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
109
45
102
111
111
116
101
114
95
95
103
117
97
114
97
110
116
101
101
45
108
105
110
107
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
109
45
102
111
111
116
101
114
45
108
105
110
107
115
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
97
112
58
49
54
112
120
59
103
114
105
100
45
103
97
112
58
50
48
112
120
32
49
53
112
120
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
50
44
32
49
102
114
41
59
112
97
100
100
105
110
103
58
48
32
49
54
112
120
59
119
105
100
116
104
58
49
48
48
37
125
46
109
45
102
111
111
116
101
114
45
108
105
110
107
115
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
104
101
97
100
101
114
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
102
111
111
116
101
114
45
108
105
110
107
115
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
104
101
97
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
125
125
46
109
45
102
111
111
116
101
114
45
108
105
110
107
115
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
49
50
112
120
125
46
109
45
102
111
111
116
101
114
45
108
105
110
107
115
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
108
105
110
107
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
125
46
109
45
102
111
111
116
101
114
45
108
105
110
107
115
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
108
105
110
107
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
102
111
111
116
101
114
45
108
105
110
107
115
123
103
97
112
58
49
54
112
120
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
52
44
32
49
102
114
41
125
125
46
109
45
102
111
111
116
101
114
95
95
115
111
99
105
97
108
44
46
109
45
102
111
111
116
101
114
95
95
112
97
121
109
101
110
116
45
109
101
116
104
111
100
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
112
97
100
100
105
110
103
58
48
32
49
54
112
120
59
103
97
112
58
49
54
112
120
125
46
109
45
102
111
111
116
101
114
45
112
97
121
109
101
110
116
115
45
98
98
98
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
102
111
111
116
101
114
45
112
97
121
109
101
110
116
115
45
98
98
98
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
125
125
46
109
45
102
111
111
116
101
114
95
95
115
111
99
105
97
108
45
108
105
110
107
115
45
104
101
97
100
101
114
44
46
109
45
102
111
111
116
101
114
95
95
112
97
121
109
101
110
116
45
109
101
116
104
111
100
115
45
104
101
97
100
101
114
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
102
111
111
116
101
114
95
95
115
111
99
105
97
108
45
108
105
110
107
115
45
104
101
97
100
101
114
44
46
109
45
102
111
111
116
101
114
95
95
112
97
121
109
101
110
116
45
109
101
116
104
111
100
115
45
104
101
97
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
125
125
46
109
45
102
111
111
116
101
114
45
115
101
99
116
105
111
110
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
48
112
120
125
46
109
45
102
111
111
116
101
114
45
115
101
99
116
105
111
110
46
109
45
102
111
111
116
101
114
95
95
112
97
121
109
101
110
116
45
109
101
116
104
111
100
115
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
102
111
111
116
101
114
45
115
101
99
116
105
111
110
46
109
45
102
111
111
116
101
114
95
95
112
97
121
109
101
110
116
45
109
101
116
104
111
100
115
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
50
48
112
120
125
125
46
109
45
102
111
111
116
101
114
95
95
115
111
99
105
97
108
45
108
105
110
107
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
108
101
102
116
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
108
101
102
116
59
103
97
112
58
56
112
120
125
46
109
45
102
111
111
116
101
114
95
95
115
111
99
105
97
108
45
108
105
110
107
115
32
46
116
101
101
112
117
98
108
105
99
111
110
123
112
97
100
100
105
110
103
58
56
112
120
125
46
109
45
102
111
111
116
101
114
95
95
112
97
121
109
101
110
116
45
109
101
116
104
111
100
115
45
105
109
97
103
101
115
32
105
109
103
123
109
97
120
45
119
105
100
116
104
58
49
48
48
37
125
46
109
45
102
111
111
116
101
114
95
95
116
114
117
115
116
45
105
109
97
103
101
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
109
45
102
111
111
116
101
114
95
95
116
114
117
115
116
101
100
45
115
116
111
114
101
115
123
109
97
114
103
105
110
45
116
111
112
58
45
56
112
120
125
46
109
45
102
111
111
116
101
114
95
95
98
98
98
32
105
109
103
123
109
97
120
45
119
105
100
116
104
58
49
51
50
112
120
125
46
109
45
102
111
111
116
101
114
95
95
108
101
103
97
108
45
98
97
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
125
46
109
45
102
111
111
116
101
114
95
95
108
101
103
97
108
45
98
97
114
45
99
111
110
116
97
105
110
101
114
123
112
97
100
100
105
110
103
58
50
52
112
120
32
54
52
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
102
111
111
116
101
114
95
95
108
101
103
97
108
45
98
97
114
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
112
97
100
100
105
110
103
58
50
52
112
120
32
56
48
112
120
125
125
46
109
45
102
111
111
116
101
114
95
95
108
101
103
97
108
45
98
97
114
45
104
101
97
100
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
52
112
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
102
111
111
116
101
114
95
95
108
101
103
97
108
45
98
97
114
45
104
101
97
100
101
114
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
103
97
112
58
50
52
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
102
111
111
116
101
114
95
95
108
101
103
97
108
45
98
97
114
45
104
101
97
100
101
114
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
125
46
109
45
102
111
111
116
101
114
95
95
108
101
103
97
108
45
98
97
114
45
104
101
97
100
101
114
45
99
111
112
121
114
105
103
104
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
112
120
125
46
109
45
102
111
111
116
101
114
95
95
108
101
103
97
108
45
98
97
114
45
104
101
97
100
101
114
45
98
114
111
119
115
101
45
112
114
101
102
101
114
101
110
99
101
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
109
45
102
111
111
116
101
114
95
95
108
101
103
97
108
45
98
97
114
45
115
117
98
110
97
118
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
103
97
112
58
56
112
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
102
111
111
116
101
114
95
95
108
101
103
97
108
45
98
97
114
45
115
117
98
110
97
118
123
103
97
112
58
50
52
112
120
125
125
46
109
45
102
111
111
116
101
114
95
95
108
101
103
97
108
45
98
97
114
45
115
117
98
110
97
118
45
108
105
110
107
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
125
46
109
45
102
111
111
116
101
114
95
95
108
101
103
97
108
45
98
97
114
45
115
117
98
110
97
118
45
108
105
110
107
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
109
45
102
111
111
116
101
114
95
95
110
101
119
115
108
101
116
116
101
114
45
99
111
110
116
97
105
110
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
102
111
111
116
101
114
95
95
110
101
119
115
108
101
116
116
101
114
45
99
111
110
116
97
105
110
101
114
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
123
116
114
97
110
115
105
116
105
111
110
58
97
108
108
32
48
46
49
53
115
32
101
97
115
101
45
105
110
45
111
117
116
59
98
97
99
107
103
114
111
117
110
100
45
98
108
101
110
100
45
109
111
100
101
58
115
111
102
116
45
108
105
103
104
116
59
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
45
119
101
98
107
105
116
45
105
109
97
103
101
45
115
101
116
40
117
114
108
40
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
98
103
47
116
111
112
105
99
45
112
97
116
116
101
114
110
95
97
52
48
45
53
51
99
52
55
100
98
49
100
101
53
102
57
57
53
101
102
55
100
100
52
99
57
54
56
49
57
54
51
51
50
101
52
49
56
97
57
98
98
99
48
48
50
57
97
100
54
49
50
54
54
100
51
102
98
51
54
100
99
97
54
53
54
49
46
119
101
98
112
41
32
116
121
112
101
40
34
105
109
97
103
101
47
119
101
98
112
34
41
44
32
117
114
108
40
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
98
103
47
116
111
112
105
99
45
112
97
116
116
101
114
110
95
97
52
48
45
49
100
53
51
52
101
51
56
102
51
97
50
55
50
50
54
54
52
52
100
52
54
50
48
53
55
98
97
49
99
54
57
97
100
101
102
51
54
50
101
56
52
97
50
99
102
102
55
99
98
50
97
101
50
98
50
56
98
57
50
102
98
98
56
46
112
110
103
41
32
116
121
112
101
40
34
105
109
97
103
101
47
112
110
103
34
41
41
59
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
105
109
97
103
101
45
115
101
116
40
117
114
108
40
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
98
103
47
116
111
112
105
99
45
112
97
116
116
101
114
110
95
97
52
48
45
53
51
99
52
55
100
98
49
100
101
53
102
57
57
53
101
102
55
100
100
52
99
57
54
56
49
57
54
51
51
50
101
52
49
56
97
57
98
98
99
48
48
50
57
97
100
54
49
50
54
54
100
51
102
98
51
54
100
99
97
54
53
54
49
46
119
101
98
112
41
32
116
121
112
101
40
34
105
109
97
103
101
47
119
101
98
112
34
41
44
32
117
114
108
40
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
98
103
47
116
111
112
105
99
45
112
97
116
116
101
114
110
95
97
52
48
45
49
100
53
51
52
101
51
56
102
51
97
50
55
50
50
54
54
52
52
100
52
54
50
48
53
55
98
97
49
99
54
57
97
100
101
102
51
54
50
101
56
52
97
50
99
102
102
55
99
98
50
97
101
50
98
50
56
98
57
50
102
98
98
56
46
112
110
103
41
32
116
121
112
101
40
34
105
109
97
103
101
47
112
110
103
34
41
41
59
98
97
99
107
103
114
111
117
110
100
45
112
111
115
105
116
105
111
110
58
99
101
110
116
101
114
32
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
109
105
110
45
104
101
105
103
104
116
58
51
53
48
112
120
59
112
97
100
100
105
110
103
58
52
48
112
120
32
49
54
112
120
32
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
102
111
111
116
101
114
95
95
110
101
119
115
108
101
116
116
101
114
45
99
111
110
116
97
105
110
101
114
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
123
109
105
110
45
104
101
105
103
104
116
58
51
48
48
112
120
125
125
46
109
45
102
111
111
116
101
114
95
95
110
101
119
115
108
101
116
116
101
114
45
99
111
110
116
97
105
110
101
114
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
102
111
114
109
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
125
46
109
45
102
111
111
116
101
114
95
95
110
101
119
115
108
101
116
116
101
114
45
99
111
110
116
97
105
110
101
114
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
101
114
114
111
114
123
109
105
110
45
104
101
105
103
104
116
58
52
48
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
102
111
111
116
101
114
95
95
110
101
119
115
108
101
116
116
101
114
45
99
111
110
116
97
105
110
101
114
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
101
114
114
111
114
123
109
105
110
45
104
101
105
103
104
116
58
51
53
48
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
102
111
111
116
101
114
95
95
110
101
119
115
108
101
116
116
101
114
45
99
111
110
116
97
105
110
101
114
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
115
117
99
99
101
115
115
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
115
117
99
99
101
115
115
45
109
101
115
115
97
103
101
45
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
115
101
108
102
58
99
101
110
116
101
114
59
97
108
105
103
110
45
115
101
108
102
58
99
101
110
116
101
114
125
46
109
45
102
111
111
116
101
114
95
95
110
101
119
115
108
101
116
116
101
114
45
99
111
110
116
97
105
110
101
114
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
45
101
114
114
111
114
32
46
109
45
110
101
119
115
108
101
116
116
101
114
45
115
105
103
110
117
112
45
104
101
97
100
101
114
95
95
101
114
114
111
114
45
109
101
115
115
97
103
101
45
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
115
101
108
102
58
99
101
110
116
101
114
59
97
108
105
103
110
45
115
101
108
102
58
99
101
110
116
101
114
125
125
46
109
45
116
114
117
115
116
112
105
108
111
116
45
98
97
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
112
97
100
100
105
110
103
58
50
52
112
120
32
48
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
103
97
112
58
49
50
112
120
125
46
109
45
102
111
111
116
101
114
95
95
116
114
117
115
116
112
105
108
111
116
45
105
109
97
103
101
123
104
101
105
103
104
116
58
50
52
112
120
125
46
109
45
102
111
111
116
101
114
95
95
116
114
117
115
116
112
105
108
111
116
45
105
109
97
103
101
32
105
109
103
123
104
101
105
103
104
116
58
105
110
104
101
114
105
116
125
46
109
45
102
111
111
116
101
114
95
95
116
114
117
115
116
112
105
108
111
116
45
109
111
98
105
108
101
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
102
111
111
116
101
114
95
95
116
114
117
115
116
112
105
108
111
116
45
109
111
98
105
108
101
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
109
45
102
111
111
116
101
114
95
95
116
114
117
115
116
112
105
108
111
116
45
100
101
115
107
116
111
112
123
100
105
115
112
108
97
121
58
110
111
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
102
111
111
116
101
114
95
95
116
114
117
115
116
112
105
108
111
116
45
100
101
115
107
116
111
112
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
125
46
109
45
116
114
97
121
62
46
100
114
97
119
101
114
95
95
119
114
97
112
112
101
114
123
119
105
100
116
104
58
56
56
37
59
109
97
120
45
119
105
100
116
104
58
52
50
48
112
120
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
32
46
100
114
97
119
101
114
95
95
104
101
97
100
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
112
97
100
100
105
110
103
58
52
56
112
120
32
49
54
112
120
32
50
52
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
32
46
100
114
97
119
101
114
95
95
104
101
97
100
101
114
123
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
51
50
112
120
125
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
32
46
100
114
97
119
101
114
95
95
104
101
97
100
101
114
45
99
111
110
116
97
105
110
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
45
97
56
48
41
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
32
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
123
112
97
100
100
105
110
103
58
51
50
112
120
32
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
32
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
123
112
97
100
100
105
110
103
58
52
48
112
120
32
51
50
112
120
125
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
32
46
100
114
97
119
101
114
95
95
102
111
111
116
101
114
45
99
111
110
116
97
105
110
101
114
123
98
111
114
100
101
114
45
116
111
112
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
59
112
97
100
100
105
110
103
58
50
48
112
120
32
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
32
46
100
114
97
119
101
114
95
95
102
111
111
116
101
114
45
99
111
110
116
97
105
110
101
114
123
112
97
100
100
105
110
103
58
51
50
112
120
125
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
32
46
100
114
97
119
101
114
95
95
102
111
111
116
101
114
45
99
111
110
116
97
105
110
101
114
62
42
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
51
51
51
51
59
112
97
100
100
105
110
103
58
49
50
112
120
32
50
52
112
120
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
99
111
110
116
101
110
116
45
98
108
111
99
107
123
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
54
112
120
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
99
111
110
116
101
110
116
45
98
108
111
99
107
58
110
111
116
40
58
102
105
114
115
116
45
111
102
45
116
121
112
101
41
123
112
97
100
100
105
110
103
45
116
111
112
58
49
54
112
120
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
99
111
110
116
101
110
116
45
98
108
111
99
107
58
110
111
116
40
58
108
97
115
116
45
111
102
45
116
121
112
101
41
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
99
111
110
116
101
110
116
45
98
108
111
99
107
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
104
101
97
100
101
114
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
99
111
110
116
101
110
116
45
98
108
111
99
107
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
104
101
97
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
99
111
110
116
101
110
116
45
98
108
111
99
107
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
99
111
110
116
101
110
116
123
109
97
114
103
105
110
45
116
111
112
58
56
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
115
116
97
114
116
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
115
116
97
114
116
59
103
97
112
58
48
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
99
111
110
116
101
110
116
45
98
108
111
99
107
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
99
111
110
116
101
110
116
32
46
116
101
101
112
117
98
108
105
99
111
110
123
109
97
114
103
105
110
45
114
105
103
104
116
58
56
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
112
120
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
99
111
110
116
101
110
116
45
98
108
111
99
107
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
108
105
110
107
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
112
97
100
100
105
110
103
58
56
112
120
32
48
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
99
111
110
116
101
110
116
45
98
108
111
99
107
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
108
105
110
107
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
99
111
110
116
101
110
116
45
98
108
111
99
107
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
108
105
110
107
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
115
101
108
108
101
114
45
118
101
114
105
102
105
99
97
116
105
111
110
123
109
97
114
103
105
110
58
49
54
112
120
32
48
112
120
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
115
101
108
108
101
114
45
118
101
114
105
102
105
99
97
116
105
111
110
32
46
115
101
108
108
101
114
45
118
101
114
105
102
105
99
97
116
105
111
110
95
95
110
111
116
101
123
109
97
114
103
105
110
58
56
112
120
32
48
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
102
111
110
116
45
102
97
109
105
108
121
58
34
82
111
111
98
101
114
116
45
77
101
100
105
117
109
34
44
32
72
101
108
118
101
116
105
99
97
44
32
115
97
110
115
45
115
101
114
105
102
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
52
50
56
53
55
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
97
118
97
116
97
114
123
119
105
100
116
104
58
51
54
112
120
59
104
101
105
103
104
116
58
51
54
112
120
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
104
101
97
100
101
114
45
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
104
101
97
100
101
114
45
101
109
97
105
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
104
101
97
100
101
114
45
117
115
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
49
50
112
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
104
101
97
100
101
114
45
117
115
101
114
32
112
105
99
116
117
114
101
123
104
101
105
103
104
116
58
51
54
112
120
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
104
101
97
100
101
114
45
117
115
101
114
32
105
109
103
123
104
101
105
103
104
116
58
105
110
104
101
114
105
116
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
117
112
108
111
97
100
123
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
54
112
120
125
46
109
45
116
114
97
121
45
97
99
99
111
117
110
116
95
95
101
97
114
110
105
110
103
115
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
50
44
32
49
102
114
41
59
103
114
105
100
45
103
97
112
58
56
112
120
125
46
97
99
99
111
117
110
116
45
101
97
114
110
105
110
103
115
95
95
115
116
97
116
115
123
112
97
100
100
105
110
103
58
56
112
120
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
45
97
52
48
41
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
125
46
97
99
99
111
117
110
116
45
101
97
114
110
105
110
103
115
95
95
97
109
111
117
110
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
97
99
99
111
117
110
116
45
101
97
114
110
105
110
103
115
95
95
108
97
98
101
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
116
114
97
121
45
99
97
114
116
32
46
100
114
97
119
101
114
95
95
104
101
97
100
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
112
97
100
100
105
110
103
58
52
56
112
120
32
49
54
112
120
32
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
116
114
97
121
45
99
97
114
116
32
46
100
114
97
119
101
114
95
95
104
101
97
100
101
114
123
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
51
50
112
120
125
125
46
109
45
116
114
97
121
45
99
97
114
116
32
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
123
112
97
100
100
105
110
103
58
48
32
49
54
112
120
32
51
50
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
116
114
97
121
45
99
97
114
116
32
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
123
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
51
50
112
120
59
112
97
100
100
105
110
103
45
116
111
112
58
48
125
125
46
109
45
116
114
97
121
45
99
97
114
116
95
95
104
101
97
100
101
114
32
104
51
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
116
114
97
121
45
99
97
114
116
95
95
104
101
97
100
101
114
32
104
51
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
116
114
97
121
45
99
97
114
116
95
95
98
111
100
121
123
112
97
100
100
105
110
103
45
116
111
112
58
50
48
112
120
125
46
109
45
116
114
97
121
45
99
97
114
116
95
95
98
111
100
121
45
45
101
109
112
116
121
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
49
50
112
120
125
46
109
45
116
114
97
121
45
99
97
114
116
95
95
98
111
100
121
45
45
101
109
112
116
121
32
104
52
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
116
114
97
121
45
99
97
114
116
95
95
98
111
100
121
45
45
101
109
112
116
121
32
104
52
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
116
114
97
121
45
99
97
114
116
95
95
98
111
100
121
45
45
101
109
112
116
121
32
112
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
116
114
97
121
45
99
97
114
116
95
95
98
111
100
121
45
108
105
110
107
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
103
97
112
58
56
112
120
125
46
109
45
116
114
97
121
45
99
97
114
116
95
95
98
111
100
121
45
99
116
97
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
109
45
116
114
97
121
45
99
97
114
116
95
95
102
111
111
116
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
45
116
111
112
58
48
59
112
97
100
100
105
110
103
58
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
116
114
97
121
45
99
97
114
116
95
95
102
111
111
116
101
114
123
112
97
100
100
105
110
103
58
51
50
112
120
125
125
46
102
114
101
101
45
115
104
105
112
112
105
110
103
95
95
112
114
111
103
114
101
115
115
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
59
112
97
100
100
105
110
103
58
49
50
112
120
32
50
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
102
114
101
101
45
115
104
105
112
112
105
110
103
95
95
112
114
111
103
114
101
115
115
123
112
97
100
100
105
110
103
58
49
53
112
120
125
125
46
102
114
101
101
45
115
104
105
112
112
105
110
103
95
95
112
114
111
103
114
101
115
115
32
46
102
114
101
101
45
115
104
105
112
112
105
110
103
95
95
112
114
111
103
114
101
115
115
45
98
97
114
45
109
101
115
115
97
103
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
109
97
114
103
105
110
58
48
32
97
117
116
111
32
49
50
112
120
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
102
114
101
101
45
115
104
105
112
112
105
110
103
95
95
112
114
111
103
114
101
115
115
32
46
102
114
101
101
45
115
104
105
112
112
105
110
103
95
95
112
114
111
103
114
101
115
115
45
98
97
114
45
109
101
115
115
97
103
101
32
46
115
116
114
111
110
103
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
102
114
101
101
45
115
104
105
112
112
105
110
103
95
95
112
114
111
103
114
101
115
115
32
46
102
114
101
101
45
115
104
105
112
112
105
110
103
95
95
112
114
111
103
114
101
115
115
45
98
97
114
45
109
101
115
115
97
103
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
125
125
46
102
114
101
101
45
115
104
105
112
112
105
110
103
95
95
112
114
111
103
114
101
115
115
32
46
102
114
101
101
45
115
104
105
112
112
105
110
103
95
95
112
114
111
103
114
101
115
115
45
98
97
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
109
97
114
103
105
110
58
48
32
97
117
116
111
125
46
102
114
101
101
45
115
104
105
112
112
105
110
103
95
95
112
114
111
103
114
101
115
115
32
46
102
114
101
101
45
115
104
105
112
112
105
110
103
95
95
112
114
111
103
114
101
115
115
45
98
97
114
45
118
97
108
117
101
123
112
97
100
100
105
110
103
58
48
32
49
48
112
120
125
46
102
114
101
101
45
115
104
105
112
112
105
110
103
95
95
112
114
111
103
114
101
115
115
32
46
116
112
118
99
45
112
114
111
103
114
101
115
115
45
98
97
114
95
95
99
111
110
116
97
105
110
101
114
123
104
101
105
103
104
116
58
56
112
120
125
46
109
45
104
101
97
100
101
114
95
95
99
97
114
116
45
103
111
111
103
108
101
45
112
97
121
123
112
97
100
100
105
110
103
58
48
125
46
109
45
116
114
97
121
45
99
97
114
116
95
95
102
111
111
116
101
114
45
100
101
116
97
105
108
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
112
97
100
100
105
110
103
58
48
125
46
109
45
116
114
97
121
45
99
97
114
116
95
95
102
111
111
116
101
114
45
100
101
116
97
105
108
45
116
105
116
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
116
114
97
121
45
99
97
114
116
95
95
102
111
111
116
101
114
45
100
101
116
97
105
108
45
116
105
116
108
101
32
115
112
97
110
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
125
46
109
45
116
114
97
121
45
99
97
114
116
95
95
102
111
111
116
101
114
45
100
101
116
97
105
108
45
116
111
116
97
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
55
48
48
41
125
46
109
45
116
114
97
121
45
99
97
114
116
95
95
102
111
111
116
101
114
45
115
117
98
116
111
116
97
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
57
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
112
120
125
46
109
45
116
114
97
121
45
115
104
111
112
32
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
123
45
109
115
45
111
118
101
114
102
108
111
119
45
115
116
121
108
101
58
110
111
110
101
59
115
99
114
111
108
108
98
97
114
45
119
105
100
116
104
58
110
111
110
101
59
112
97
100
100
105
110
103
45
116
111
112
58
52
56
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
50
52
112
120
125
46
109
45
116
114
97
121
45
115
104
111
112
32
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
58
58
45
119
101
98
107
105
116
45
115
99
114
111
108
108
98
97
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
116
114
97
121
45
115
104
111
112
32
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
123
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
51
50
112
120
125
125
46
109
45
116
114
97
121
45
115
104
111
112
62
46
100
114
97
119
101
114
95
95
102
111
111
116
101
114
45
99
111
110
116
97
105
110
101
114
123
98
111
114
100
101
114
45
116
111
112
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
59
112
97
100
100
105
110
103
58
50
48
112
120
32
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
116
114
97
121
45
115
104
111
112
62
46
100
114
97
119
101
114
95
95
102
111
111
116
101
114
45
99
111
110
116
97
105
110
101
114
123
112
97
100
100
105
110
103
58
51
50
112
120
125
125
46
109
45
116
114
97
121
45
115
104
111
112
62
46
100
114
97
119
101
114
95
95
102
111
111
116
101
114
45
99
111
110
116
97
105
110
101
114
62
42
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
51
51
51
51
59
112
97
100
100
105
110
103
58
49
50
112
120
32
50
52
112
120
125
46
109
45
116
114
97
121
45
115
104
111
112
46
97
99
116
105
118
101
32
46
100
114
97
119
101
114
95
95
98
97
99
107
100
114
111
112
123
122
45
105
110
100
101
120
58
45
49
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
49
48
50
51
112
120
41
123
46
109
45
116
114
97
121
45
115
104
111
112
46
97
99
116
105
118
101
32
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
123
108
101
102
116
58
49
48
48
37
125
46
109
45
116
114
97
121
45
115
104
111
112
46
97
99
116
105
118
101
32
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
46
97
99
116
105
118
101
123
108
101
102
116
58
48
125
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
98
111
100
121
123
111
118
101
114
102
108
111
119
45
120
58
104
105
100
100
101
110
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
108
111
103
111
123
104
101
105
103
104
116
58
50
48
112
120
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
101
99
111
110
100
97
114
121
45
97
99
116
105
111
110
115
123
109
97
114
103
105
110
45
116
111
112
58
50
52
112
120
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
101
99
111
110
100
97
114
121
45
97
99
116
105
111
110
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
112
97
100
100
105
110
103
58
49
50
112
120
32
48
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
101
99
111
110
100
97
114
121
45
97
99
116
105
111
110
58
104
111
118
101
114
44
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
101
99
111
110
100
97
114
121
45
97
99
116
105
111
110
58
97
99
116
105
118
101
44
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
101
99
111
110
100
97
114
121
45
97
99
116
105
111
110
58
102
111
99
117
115
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
101
99
111
110
100
97
114
121
45
97
99
116
105
111
110
58
104
111
118
101
114
32
115
118
103
44
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
101
99
111
110
100
97
114
121
45
97
99
116
105
111
110
58
97
99
116
105
118
101
32
115
118
103
44
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
101
99
111
110
100
97
114
121
45
97
99
116
105
111
110
58
102
111
99
117
115
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
101
99
111
110
100
97
114
121
45
97
99
116
105
111
110
45
45
108
105
103
104
116
123
98
111
114
100
101
114
45
98
111
116
116
111
109
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
101
99
111
110
100
97
114
121
45
97
99
116
105
111
110
45
45
108
105
103
104
116
32
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
101
99
111
110
100
97
114
121
45
97
99
116
105
111
110
45
116
101
120
116
32
104
52
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
101
99
111
110
100
97
114
121
45
97
99
116
105
111
110
45
116
101
120
116
123
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
101
99
111
110
100
97
114
121
45
97
99
116
105
111
110
45
116
101
120
116
32
104
52
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
101
99
111
110
100
97
114
121
45
97
99
116
105
111
110
45
116
101
120
116
32
104
52
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
50
48
48
41
125
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
101
99
111
110
100
97
114
121
45
97
99
116
105
111
110
45
116
101
120
116
32
112
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
52
112
120
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
115
123
109
97
114
103
105
110
45
116
111
112
58
50
52
112
120
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
115
32
104
51
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
115
32
104
51
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
125
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
115
45
103
114
105
100
123
109
97
114
103
105
110
45
116
111
112
58
49
54
112
120
59
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
50
44
32
49
102
114
41
59
103
114
105
100
45
103
97
112
58
56
112
120
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
49
50
112
120
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
104
101
105
103
104
116
58
53
50
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
112
108
97
99
101
45
105
116
101
109
115
58
99
101
110
116
101
114
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
32
115
112
97
110
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
119
105
100
116
104
58
54
54
112
120
59
119
111
114
100
45
98
114
101
97
107
58
107
101
101
112
45
97
108
108
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
123
104
101
105
103
104
116
58
54
52
112
120
59
112
97
100
100
105
110
103
45
105
110
108
105
110
101
58
49
54
112
120
125
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
58
58
98
101
102
111
114
101
123
99
111
110
116
101
110
116
58
39
39
59
104
101
105
103
104
116
58
53
54
112
120
59
119
105
100
116
104
58
53
54
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
98
111
116
116
111
109
58
45
54
112
120
59
114
105
103
104
116
58
45
49
50
112
120
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
45
49
50
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
45
49
50
100
101
103
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
58
58
98
101
102
111
114
101
123
104
101
105
103
104
116
58
56
48
112
120
59
119
105
100
116
104
58
56
48
112
120
59
98
111
116
116
111
109
58
45
49
50
112
120
59
114
105
103
104
116
58
45
50
52
112
120
125
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
46
116
115
104
105
114
116
58
58
98
101
102
111
114
101
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
116
101
101
112
117
98
108
105
99
111
110
115
47
112
114
111
100
117
99
116
95
116
115
104
105
114
116
45
99
98
49
54
53
50
98
54
50
50
50
101
52
50
54
101
57
50
51
97
54
100
54
53
97
98
57
57
51
100
56
55
53
56
51
57
48
53
99
51
50
99
53
102
99
101
98
98
53
98
102
101
53
54
99
54
48
98
49
56
49
51
100
54
46
115
118
103
34
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
46
115
104
111
114
116
115
58
58
98
101
102
111
114
101
123
98
97
99
107
103
114
111
117
110
100
45
115
105
122
101
58
99
111
118
101
114
59
98
97
99
107
103
114
111
117
110
100
45
114
101
112
101
97
116
58
110
111
45
114
101
112
101
97
116
59
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
116
101
101
112
117
98
108
105
99
111
110
115
47
112
114
111
100
117
99
116
95
115
104
111
114
116
115
45
49
50
53
102
54
50
99
52
53
97
57
57
99
102
48
57
98
49
52
99
55
51
57
56
48
57
50
97
49
57
51
48
50
57
97
99
101
57
99
50
50
49
102
97
102
99
52
57
57
57
101
49
51
100
50
101
102
49
57
54
48
56
100
49
46
115
118
103
34
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
46
104
97
116
58
58
98
101
102
111
114
101
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
116
101
101
112
117
98
108
105
99
111
110
115
47
112
114
111
100
117
99
116
95
104
97
116
45
50
53
101
49
50
101
50
50
57
97
55
98
51
100
56
56
54
55
101
56
101
53
99
102
51
54
48
50
50
99
98
51
52
53
50
99
54
101
98
102
56
102
52
56
55
54
99
49
102
53
48
97
101
101
51
51
99
98
99
100
50
50
57
56
46
115
118
103
34
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
46
115
116
105
99
107
101
114
58
58
98
101
102
111
114
101
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
116
101
101
112
117
98
108
105
99
111
110
115
47
112
114
111
100
117
99
116
95
115
116
105
99
107
101
114
45
102
53
54
55
100
48
56
100
97
53
51
50
97
55
101
101
98
49
50
99
98
100
57
101
101
49
54
54
102
100
54
101
101
102
51
102
57
99
100
100
51
49
102
52
52
100
56
98
101
99
101
55
52
49
51
97
48
98
53
48
48
98
102
49
46
115
118
103
34
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
46
109
117
103
58
58
98
101
102
111
114
101
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
116
101
101
112
117
98
108
105
99
111
110
115
47
112
114
111
100
117
99
116
95
109
117
103
45
52
55
49
98
55
99
97
54
102
97
53
53
57
102
102
99
55
54
98
53
101
55
101
100
48
57
101
50
100
99
102
54
50
97
48
98
100
50
99
56
97
53
99
99
53
54
48
52
57
54
55
55
56
57
48
50
98
48
101
52
54
52
56
51
46
115
118
103
34
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
46
107
105
100
115
58
58
98
101
102
111
114
101
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
116
101
101
112
117
98
108
105
99
111
110
115
47
112
114
111
100
117
99
116
95
107
105
100
115
45
54
50
55
101
99
99
100
102
48
102
52
52
54
100
98
57
50
56
99
54
53
52
57
48
53
50
50
99
100
102
56
101
56
50
101
99
49
56
98
54
98
55
53
97
100
101
54
48
97
101
52
99
102
53
99
97
52
97
52
54
55
102
97
102
46
115
118
103
34
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
46
104
111
111
100
105
101
58
58
98
101
102
111
114
101
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
116
101
101
112
117
98
108
105
99
111
110
115
47
112
114
111
100
117
99
116
95
104
111
111
100
105
101
45
102
102
56
55
50
48
98
57
98
49
97
51
98
102
55
102
99
99
48
101
54
49
98
102
53
54
99
100
54
57
57
101
102
97
97
99
98
56
100
98
48
54
98
97
50
48
98
56
51
53
56
57
51
51
56
99
50
48
54
51
49
100
97
99
46
115
118
103
34
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
46
116
97
110
107
58
58
98
101
102
111
114
101
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
116
101
101
112
117
98
108
105
99
111
110
115
47
112
114
111
100
117
99
116
95
116
97
110
107
45
102
102
98
99
55
97
57
101
99
100
49
57
100
48
52
54
54
55
48
54
100
101
50
57
49
102
55
99
52
49
101
97
52
99
57
98
53
54
48
102
56
53
49
57
97
102
48
54
101
54
57
53
55
98
56
101
98
53
56
54
102
54
50
56
46
115
118
103
34
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
46
108
111
110
103
115
108
101
101
118
101
116
115
104
105
114
116
58
58
98
101
102
111
114
101
123
98
97
99
107
103
114
111
117
110
100
45
105
109
97
103
101
58
117
114
108
40
34
104
116
116
112
115
58
47
47
97
115
115
101
116
115
46
116
101
101
112
117
98
108
105
99
46
99
111
109
47
97
115
115
101
116
115
47
116
101
101
112
117
98
108
105
99
111
110
115
47
112
114
111
100
117
99
116
95
108
111
110
103
115
108
101
101
118
101
116
115
104
105
114
116
45
99
99
99
53
101
53
57
51
55
101
98
53
102
52
51
51
99
57
98
52
56
100
99
99
50
56
101
102
50
55
99
98
97
51
48
50
56
101
98
52
102
99
48
99
57
54
98
54
53
48
98
97
98
99
49
97
53
102
54
99
56
55
49
56
46
115
118
103
34
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
112
114
111
100
117
99
116
45
45
110
101
119
58
97
102
116
101
114
123
99
111
110
116
101
110
116
58
34
78
69
87
34
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
52
112
120
59
99
111
108
111
114
58
119
104
105
116
101
59
102
111
110
116
45
115
105
122
101
58
56
112
120
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
55
48
48
59
108
105
110
101
45
104
101
105
103
104
116
58
49
59
112
97
100
100
105
110
103
58
50
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
114
105
103
104
116
58
50
56
112
120
59
116
111
112
58
54
112
120
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
116
111
112
105
99
115
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
50
52
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
50
52
112
120
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
116
111
112
105
99
115
32
104
51
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
116
111
112
105
99
115
32
104
51
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
125
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
112
111
112
117
108
97
114
45
116
111
112
105
99
115
45
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
102
108
111
119
58
114
111
119
32
119
114
97
112
59
102
108
101
120
45
102
108
111
119
58
114
111
119
32
119
114
97
112
59
103
97
112
58
56
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
54
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
54
112
120
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
117
112
112
111
114
116
123
109
97
114
103
105
110
45
116
111
112
58
50
52
112
120
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
117
112
112
111
114
116
32
104
51
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
117
112
112
111
114
116
32
104
51
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
125
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
117
112
112
111
114
116
45
108
105
110
107
115
123
109
97
114
103
105
110
45
116
111
112
58
56
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
117
112
112
111
114
116
45
108
105
110
107
123
112
97
100
100
105
110
103
58
56
112
120
32
48
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
103
97
112
58
56
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
117
112
112
111
114
116
45
108
105
110
107
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
117
112
112
111
114
116
45
108
105
110
107
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
117
112
112
111
114
116
45
108
105
110
107
45
45
100
97
114
107
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
117
112
112
111
114
116
45
108
105
110
107
45
45
100
97
114
107
58
104
111
118
101
114
123
99
111
108
111
114
58
105
110
104
101
114
105
116
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
115
117
112
112
111
114
116
45
108
105
110
107
45
45
100
97
114
107
58
104
111
118
101
114
32
115
118
103
123
102
105
108
108
58
105
110
104
101
114
105
116
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
102
111
111
116
101
114
123
98
111
114
100
101
114
45
116
111
112
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
59
112
97
100
100
105
110
103
58
50
48
112
120
32
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
116
114
97
121
45
115
104
111
112
95
95
102
111
111
116
101
114
123
112
97
100
100
105
110
103
58
51
50
112
120
125
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
102
111
111
116
101
114
62
42
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
51
51
51
51
59
112
97
100
100
105
110
103
58
49
50
112
120
32
50
52
112
120
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
99
114
101
100
105
116
123
98
111
114
100
101
114
45
116
111
112
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
56
48
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
98
97
115
101
108
105
110
101
59
97
108
105
103
110
45
105
116
101
109
115
58
98
97
115
101
108
105
110
101
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
115
116
97
114
116
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
115
116
97
114
116
59
103
97
112
58
52
112
120
59
109
97
114
103
105
110
45
116
111
112
58
50
52
112
120
59
112
97
100
100
105
110
103
45
116
111
112
58
50
52
112
120
125
46
109
45
116
114
97
121
45
115
104
111
112
95
95
99
114
101
100
105
116
32
112
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
123
108
101
102
116
58
48
59
122
45
105
110
100
101
120
58
45
49
59
119
105
100
116
104
58
49
48
48
37
59
104
101
105
103
104
116
58
49
48
48
37
59
116
114
97
110
115
105
116
105
111
110
58
97
108
108
32
52
48
48
109
115
32
99
117
98
105
99
45
98
101
122
105
101
114
40
48
46
56
44
32
48
44
32
48
44
32
49
46
49
50
41
44
122
45
105
110
100
101
120
32
53
48
48
109
115
32
99
117
98
105
99
45
98
101
122
105
101
114
40
49
44
32
45
48
46
50
52
44
32
48
46
51
50
44
32
49
46
51
49
41
59
118
105
115
105
98
105
108
105
116
121
58
104
105
100
100
101
110
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
123
116
114
97
110
115
105
116
105
111
110
58
97
108
108
32
52
48
48
109
115
32
99
117
98
105
99
45
98
101
122
105
101
114
40
48
46
56
44
32
48
44
32
48
44
32
49
46
49
50
41
125
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
32
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
123
45
109
115
45
111
118
101
114
102
108
111
119
45
115
116
121
108
101
58
110
111
110
101
59
115
99
114
111
108
108
98
97
114
45
119
105
100
116
104
58
110
111
110
101
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
32
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
58
58
45
119
101
98
107
105
116
45
115
99
114
111
108
108
98
97
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
46
97
99
116
105
118
101
123
118
105
115
105
98
105
108
105
116
121
58
118
105
115
105
98
108
101
59
116
114
97
110
115
105
116
105
111
110
58
97
108
108
32
52
48
48
109
115
32
99
117
98
105
99
45
98
101
122
105
101
114
40
48
46
56
44
32
48
44
32
48
44
32
49
46
49
50
41
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
49
48
50
51
112
120
41
123
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
46
97
99
116
105
118
101
123
122
45
105
110
100
101
120
58
49
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
46
97
99
116
105
118
101
123
108
101
102
116
58
52
50
48
112
120
59
111
118
101
114
102
108
111
119
45
120
58
104
105
100
100
101
110
125
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
99
111
110
116
101
110
116
32
104
51
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
50
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
99
111
110
116
101
110
116
32
104
51
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
99
111
110
116
101
110
116
43
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
99
111
110
116
101
110
116
123
109
97
114
103
105
110
45
116
111
112
58
50
52
112
120
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
108
111
97
100
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
112
108
97
99
101
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
108
111
97
100
101
114
32
46
116
112
45
108
111
97
100
101
114
95
95
115
112
105
110
110
101
114
123
119
105
100
116
104
58
56
48
112
120
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
100
101
115
105
103
110
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
56
112
120
59
109
97
114
103
105
110
45
116
111
112
58
50
52
112
120
59
104
101
105
103
104
116
58
50
51
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
100
101
115
105
103
110
115
123
104
101
105
103
104
116
58
50
55
48
112
120
125
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
100
101
115
105
103
110
115
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
45
45
108
105
103
104
116
123
45
45
116
105
108
101
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
45
97
54
48
41
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
108
105
110
107
115
123
109
97
114
103
105
110
45
116
111
112
58
49
50
112
120
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
108
105
110
107
115
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
108
105
110
107
44
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
108
105
110
107
32
104
52
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
112
97
100
100
105
110
103
45
116
111
112
58
49
50
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
50
112
120
59
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
108
105
110
107
58
104
111
118
101
114
44
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
108
105
110
107
32
104
52
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
108
105
110
107
46
97
99
116
105
118
101
44
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
108
105
110
107
46
97
99
116
105
118
101
32
104
52
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
108
105
110
107
45
45
110
101
119
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
103
97
112
58
56
112
120
59
112
97
100
100
105
110
103
58
49
50
112
120
32
48
112
120
59
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
108
105
110
107
45
45
110
101
119
32
104
52
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
108
105
110
107
45
45
110
101
119
32
104
52
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
109
45
115
104
111
112
45
116
114
97
121
45
115
101
99
111
110
100
97
114
121
95
95
98
97
99
107
45
98
116
110
32
46
116
101
101
112
117
98
108
105
99
111
110
123
109
97
114
103
105
110
45
114
105
103
104
116
58
56
112
120
125
46
109
45
115
104
111
112
45
116
114
97
121
45
115
101
99
111
110
100
97
114
121
95
95
98
97
99
107
45
98
116
110
32
46
98
97
99
107
45
98
116
110
45
116
101
120
116
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
108
105
110
101
45
104
101
105
103
104
116
58
50
52
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
115
104
111
112
45
116
114
97
121
45
115
101
99
111
110
100
97
114
121
95
95
98
97
99
107
45
98
116
110
32
46
98
97
99
107
45
98
116
110
45
116
101
120
116
58
104
111
118
101
114
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
109
45
115
104
111
112
45
116
114
97
121
45
115
101
99
111
110
100
97
114
121
95
95
98
97
99
107
45
98
116
110
32
46
98
97
99
107
45
98
116
110
45
116
101
120
116
58
97
99
116
105
118
101
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
125
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
102
111
111
116
101
114
123
98
111
114
100
101
114
45
116
111
112
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
112
97
100
100
105
110
103
58
50
48
112
120
32
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
116
114
97
121
45
115
104
111
112
45
115
101
99
111
110
100
97
114
121
95
95
102
111
111
116
101
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
102
105
108
116
101
114
115
123
98
111
114
100
101
114
58
110
111
110
101
59
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
125
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
102
105
108
116
101
114
115
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
99
111
110
116
101
110
116
45
45
111
112
101
110
123
98
111
114
100
101
114
58
110
111
110
101
59
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
102
105
108
116
101
114
115
32
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
98
117
116
116
111
110
123
112
97
100
100
105
110
103
45
108
101
102
116
58
48
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
48
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
59
98
97
99
107
103
114
111
117
110
100
58
116
114
97
110
115
112
97
114
101
110
116
125
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
102
105
108
116
101
114
115
32
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
98
117
116
116
111
110
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
58
116
114
97
110
115
112
97
114
101
110
116
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
102
105
108
116
101
114
115
32
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
98
117
116
116
111
110
45
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
102
105
108
116
101
114
115
32
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
98
117
116
116
111
110
45
116
101
120
116
58
104
111
118
101
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
102
105
108
116
101
114
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
102
105
108
116
101
114
58
104
111
118
101
114
44
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
102
105
108
116
101
114
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
102
111
111
116
101
114
123
112
97
100
100
105
110
103
58
49
54
112
120
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
98
111
114
100
101
114
45
116
111
112
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
102
111
111
116
101
114
45
98
116
110
123
119
105
100
116
104
58
49
54
48
112
120
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
125
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
104
101
97
100
101
114
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
112
97
100
100
105
110
103
45
116
111
112
58
52
56
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
50
112
120
59
98
111
114
100
101
114
45
98
111
116
116
111
109
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
104
101
97
100
101
114
95
104
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
125
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
115
111
114
116
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
51
50
112
120
125
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
115
111
114
116
45
98
116
110
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
112
97
100
100
105
110
103
45
108
101
102
116
58
48
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
48
59
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
49
59
102
108
101
120
45
103
114
111
119
58
49
59
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
49
59
102
108
101
120
45
115
104
114
105
110
107
58
49
125
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
115
111
114
116
45
98
116
110
58
104
111
118
101
114
44
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
115
111
114
116
45
98
116
110
46
115
101
108
101
99
116
101
100
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
116
114
97
121
45
115
116
111
114
101
45
115
97
102
95
95
115
111
114
116
45
108
97
98
101
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
110
101
119
115
108
101
116
116
101
114
95
95
101
114
114
111
114
115
32
46
101
114
114
111
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
109
45
110
101
119
115
108
101
116
116
101
114
95
95
101
114
114
111
114
115
32
46
101
114
114
111
114
46
111
110
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
109
45
110
101
119
115
108
101
116
116
101
114
95
95
101
114
114
111
114
115
32
46
101
114
114
111
114
32
112
123
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
125
46
109
45
104
111
109
101
95
95
110
101
119
115
108
101
116
116
101
114
32
46
109
45
110
101
119
115
108
101
116
116
101
114
32
102
111
114
109
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
109
45
104
111
109
101
95
95
110
101
119
115
108
101
116
116
101
114
32
46
109
45
110
101
119
115
108
101
116
116
101
114
32
46
102
108
97
115
104
123
109
97
114
103
105
110
45
108
101
102
116
58
49
53
112
120
125
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
56
112
120
125
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
99
108
111
99
107
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
52
44
32
49
102
114
41
59
103
114
105
100
45
103
97
112
58
53
112
120
125
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
99
108
111
99
107
46
111
110
123
104
101
105
103
104
116
58
49
48
48
37
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
48
48
112
120
41
123
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
99
108
111
99
107
123
103
114
105
100
45
103
97
112
58
49
48
112
120
125
125
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
116
105
116
108
101
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
99
97
112
105
116
97
108
105
122
101
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
125
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
116
105
116
108
101
44
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
116
105
116
108
101
32
115
112
97
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
53
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
48
48
112
120
41
123
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
116
105
116
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
115
117
98
116
105
116
108
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
53
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
48
48
112
120
41
123
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
115
117
98
116
105
116
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
116
105
109
101
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
48
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
112
97
100
100
105
110
103
58
53
112
120
32
53
112
120
32
49
48
112
120
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
119
105
100
116
104
58
49
48
48
37
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
48
48
112
120
41
123
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
116
105
109
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
116
105
109
101
58
108
97
115
116
45
99
104
105
108
100
123
109
97
114
103
105
110
45
114
105
103
104
116
58
48
125
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
116
105
109
101
32
115
112
97
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
48
59
116
114
97
110
115
105
116
105
111
110
58
48
46
50
115
125
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
99
108
111
99
107
46
111
110
32
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
116
105
109
101
32
115
112
97
110
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
48
48
112
120
41
123
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
99
108
111
99
107
46
111
110
32
46
109
45
112
114
111
100
117
99
116
45
116
105
109
101
114
95
95
116
105
109
101
32
115
112
97
110
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
115
101
97
114
99
104
95
95
98
114
111
119
115
101
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
109
45
115
101
97
114
99
104
95
95
98
114
111
119
115
101
45
45
118
97
114
105
97
110
116
32
46
109
45
115
101
97
114
99
104
95
95
110
97
118
123
119
105
100
116
104
58
49
48
48
37
59
109
97
114
103
105
110
45
114
105
103
104
116
58
48
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
98
114
111
119
115
101
45
45
118
97
114
105
97
110
116
32
46
109
45
115
101
97
114
99
104
95
95
110
97
118
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
125
46
109
45
115
101
97
114
99
104
95
95
98
114
111
119
115
101
45
45
118
97
114
105
97
110
116
32
46
109
45
115
101
97
114
99
104
95
95
101
115
45
113
117
101
114
121
123
109
97
114
103
105
110
45
116
111
112
58
56
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
48
125
46
109
45
115
101
97
114
99
104
95
95
98
114
111
119
115
101
45
45
118
97
114
105
97
110
116
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
95
95
98
111
100
121
32
46
101
108
108
105
112
123
109
97
120
45
119
105
100
116
104
58
105
110
105
116
105
97
108
125
46
109
45
115
101
97
114
99
104
45
116
97
103
45
97
100
109
105
110
45
112
114
101
118
105
101
119
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
50
48
48
41
59
112
97
100
100
105
110
103
58
50
48
112
120
59
119
105
100
116
104
58
49
48
48
37
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
109
45
115
101
97
114
99
104
45
116
97
103
45
97
100
109
105
110
45
112
114
101
118
105
101
119
32
46
109
45
115
101
97
114
99
104
95
95
101
115
45
113
117
101
114
121
45
114
101
100
101
115
105
103
110
123
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
125
46
109
45
115
101
97
114
99
104
45
116
97
103
45
97
100
109
105
110
45
112
114
101
118
105
101
119
32
46
108
105
110
107
95
95
99
116
97
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
98
111
114
100
101
114
45
98
111
116
116
111
109
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
109
45
115
101
97
114
99
104
95
95
100
101
115
105
103
110
115
123
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
49
59
102
108
101
120
45
103
114
111
119
58
49
59
109
97
120
45
119
105
100
116
104
58
49
48
48
37
125
46
109
45
115
101
97
114
99
104
95
95
101
115
45
113
117
101
114
121
123
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
50
48
112
120
59
119
105
100
116
104
58
49
48
48
37
125
46
109
45
115
101
97
114
99
104
95
95
99
113
100
45
98
97
110
110
101
114
46
99
113
100
45
98
97
110
110
101
114
95
95
98
97
110
110
101
114
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
54
112
120
125
46
109
45
115
101
97
114
99
104
95
95
109
101
115
115
97
103
101
115
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
46
109
45
115
101
97
114
99
104
95
95
110
97
118
123
119
105
100
116
104
58
50
49
50
112
120
59
109
97
114
103
105
110
45
114
105
103
104
116
58
50
53
112
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
110
97
118
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
109
45
115
101
97
114
99
104
95
95
110
111
45
114
101
115
117
108
116
115
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
59
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
125
46
109
45
115
101
97
114
99
104
95
95
110
111
45
114
101
115
117
108
116
115
46
97
108
101
114
116
45
98
111
120
45
45
110
111
45
98
111
114
100
101
114
123
112
97
100
100
105
110
103
58
49
53
112
120
125
46
109
45
115
101
97
114
99
104
95
95
112
97
103
101
45
110
97
118
32
104
49
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
48
51
101
109
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
112
97
103
101
45
110
97
118
32
104
49
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
125
125
46
109
45
115
101
97
114
99
104
95
95
112
97
103
101
45
110
97
118
45
109
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
112
97
103
101
45
110
97
118
45
109
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
109
45
115
101
97
114
99
104
95
95
112
114
111
109
111
116
101
100
45
112
105
108
108
115
123
103
97
112
58
53
112
120
125
46
109
45
115
101
97
114
99
104
95
95
112
114
111
109
111
116
101
100
45
112
105
108
108
115
46
99
111
110
116
97
105
110
101
114
95
95
115
99
114
111
108
108
97
98
108
101
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
48
125
46
112
114
111
109
111
116
101
100
45
102
105
108
116
101
114
91
100
97
116
97
45
97
99
116
105
118
101
61
116
114
117
101
93
123
45
119
101
98
107
105
116
45
111
114
100
101
114
58
45
49
59
111
114
100
101
114
58
45
49
125
46
112
114
111
109
111
116
101
100
45
102
105
108
116
101
114
46
116
112
45
98
116
110
45
45
105
99
111
110
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
125
46
109
45
115
101
97
114
99
104
95
95
114
101
108
97
116
101
100
123
103
97
112
58
50
48
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
54
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
54
112
120
125
46
109
45
115
101
97
114
99
104
95
95
114
101
108
97
116
101
100
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
104
101
97
100
101
114
123
109
105
110
45
119
105
100
116
104
58
97
117
116
111
59
119
105
100
116
104
58
97
117
116
111
59
109
97
114
103
105
110
45
114
105
103
104
116
58
52
112
120
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
125
46
109
45
115
101
97
114
99
104
95
95
114
101
108
97
116
101
100
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
98
111
100
121
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
98
97
115
101
108
105
110
101
59
97
108
105
103
110
45
105
116
101
109
115
58
98
97
115
101
108
105
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
114
101
108
97
116
101
100
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
98
111
100
121
32
46
99
111
110
116
97
105
110
101
114
95
95
115
99
114
111
108
108
97
98
108
101
45
45
119
114
97
112
123
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
114
101
108
97
116
101
100
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
98
111
100
121
32
46
99
111
110
116
97
105
110
101
114
95
95
115
99
114
111
108
108
97
98
108
101
45
45
119
114
97
112
123
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
111
118
101
114
102
108
111
119
45
120
58
118
105
115
105
98
108
101
59
45
109
115
45
111
118
101
114
102
108
111
119
45
115
116
121
108
101
58
110
111
110
101
59
115
99
114
111
108
108
98
97
114
45
119
105
100
116
104
58
110
111
110
101
125
46
109
45
115
101
97
114
99
104
95
95
114
101
108
97
116
101
100
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
98
111
100
121
32
46
99
111
110
116
97
105
110
101
114
95
95
115
99
114
111
108
108
97
98
108
101
45
45
119
114
97
112
58
58
45
119
101
98
107
105
116
45
115
99
114
111
108
108
98
97
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
109
45
115
101
97
114
99
104
95
95
114
101
108
97
116
101
100
45
114
101
115
117
108
116
115
45
108
97
98
101
108
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
50
46
49
53
59
109
105
110
45
119
105
100
116
104
58
49
55
48
112
120
125
46
109
45
115
101
97
114
99
104
95
95
114
101
108
97
116
101
100
45
98
111
116
116
111
109
123
109
97
114
103
105
110
45
116
111
112
58
49
54
112
120
125
46
109
45
115
101
97
114
99
104
95
95
114
101
108
97
116
101
100
45
98
111
116
116
111
109
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
104
101
97
100
101
114
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
114
101
108
97
116
101
100
45
98
111
116
116
111
109
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
104
101
97
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
125
125
46
109
45
115
101
97
114
99
104
95
95
115
101
97
114
99
104
123
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
49
59
102
108
101
120
45
103
114
111
119
58
49
59
109
97
114
103
105
110
45
114
105
103
104
116
58
51
48
112
120
125
46
109
45
115
101
97
114
99
104
95
95
115
101
97
114
99
104
32
105
110
112
117
116
58
58
45
119
101
98
107
105
116
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
99
111
108
111
114
58
35
99
101
99
101
99
101
125
46
109
45
115
101
97
114
99
104
95
95
115
101
97
114
99
104
32
105
110
112
117
116
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
99
111
108
111
114
58
35
99
101
99
101
99
101
125
46
109
45
115
101
97
114
99
104
95
95
115
101
97
114
99
104
32
105
110
112
117
116
58
58
45
109
115
45
105
110
112
117
116
45
112
108
97
99
101
104
111
108
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
99
111
108
111
114
58
35
99
101
99
101
99
101
125
46
109
45
115
101
97
114
99
104
95
95
115
101
97
114
99
104
32
105
110
112
117
116
58
58
112
108
97
99
101
104
111
108
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
99
111
108
111
114
58
35
99
101
99
101
99
101
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
115
101
97
114
99
104
123
119
105
100
116
104
58
49
48
48
37
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
125
46
109
45
115
101
97
114
99
104
95
95
116
111
111
108
115
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
102
108
101
120
45
115
116
97
114
116
59
97
108
105
103
110
45
105
116
101
109
115
58
102
108
101
120
45
115
116
97
114
116
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
116
111
111
108
115
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
125
46
109
45
115
101
97
114
99
104
95
95
116
111
111
108
115
45
45
110
111
45
115
112
97
99
101
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
46
109
45
115
101
97
114
99
104
95
95
116
114
97
105
108
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
116
114
97
105
108
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
125
125
46
109
45
115
101
97
114
99
104
95
95
116
114
97
105
108
45
45
108
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
49
53
101
109
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
116
114
97
105
108
45
45
108
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
109
45
115
101
97
114
99
104
95
95
115
97
102
101
45
115
101
97
114
99
104
44
46
109
45
115
101
97
114
99
104
95
95
100
105
100
45
121
111
117
45
109
101
97
110
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
125
46
109
45
115
101
97
114
99
104
95
95
115
97
102
101
45
115
101
97
114
99
104
123
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
109
45
115
101
97
114
99
104
95
95
115
97
102
101
45
115
101
97
114
99
104
32
105
110
112
117
116
91
116
121
112
101
61
115
117
98
109
105
116
93
123
98
97
99
107
103
114
111
117
110
100
58
110
111
110
101
59
98
111
114
100
101
114
58
110
111
110
101
59
112
97
100
100
105
110
103
58
48
32
48
32
53
112
120
125
46
109
45
115
101
97
114
99
104
45
115
117
112
112
111
114
116
45
109
111
100
117
108
101
115
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
119
105
100
116
104
58
49
48
48
37
59
112
97
100
100
105
110
103
58
50
48
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
49
50
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
51
50
48
112
120
41
123
46
109
45
115
101
97
114
99
104
45
115
117
112
112
111
114
116
45
109
111
100
117
108
101
115
123
112
97
100
100
105
110
103
58
50
52
112
120
32
49
54
112
120
125
125
46
109
45
115
101
97
114
99
104
45
115
117
112
112
111
114
116
45
109
111
100
117
108
101
115
32
46
109
45
115
101
97
114
99
104
95
95
100
105
100
45
121
111
117
45
109
101
97
110
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
115
101
97
114
99
104
95
95
100
105
100
45
121
111
117
45
109
101
97
110
32
115
112
97
110
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
103
97
112
58
50
112
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
109
97
120
45
119
105
100
116
104
58
49
48
48
37
125
46
109
45
115
101
97
114
99
104
95
95
100
105
100
45
121
111
117
45
109
101
97
110
32
115
112
97
110
32
46
108
105
110
107
95
95
99
111
110
116
101
110
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
102
105
108
116
101
114
45
98
117
116
116
111
110
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
109
45
115
101
97
114
99
104
95
95
115
104
111
112
45
98
121
45
99
97
116
101
103
111
114
121
123
98
111
114
100
101
114
58
48
59
100
105
115
112
108
97
121
58
103
114
105
100
59
112
97
100
100
105
110
103
58
50
48
112
120
125
46
109
45
115
101
97
114
99
104
95
95
115
104
111
112
45
98
121
45
99
97
116
101
103
111
114
121
32
46
98
116
110
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
109
97
114
103
105
110
58
48
59
109
105
110
45
119
105
100
116
104
58
54
56
112
120
59
111
117
116
108
105
110
101
58
52
112
120
32
115
111
108
105
100
32
116
114
97
110
115
112
97
114
101
110
116
59
111
117
116
108
105
110
101
45
111
102
102
115
101
116
58
45
52
112
120
59
112
97
100
100
105
110
103
58
49
48
112
120
32
48
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
110
111
110
101
59
119
105
100
116
104
58
49
48
48
37
125
46
109
45
115
101
97
114
99
104
95
95
115
104
111
112
45
98
121
45
99
97
116
101
103
111
114
121
32
46
98
116
110
58
97
99
116
105
118
101
123
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
125
46
109
45
115
101
97
114
99
104
95
95
115
104
111
112
45
98
121
45
99
97
116
101
103
111
114
121
32
46
98
116
110
58
102
111
99
117
115
123
111
117
116
108
105
110
101
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
51
48
48
41
125
46
109
45
115
101
97
114
99
104
95
95
115
104
111
112
45
98
121
45
99
97
116
101
103
111
114
121
32
46
98
116
110
58
104
111
118
101
114
123
116
101
120
116
45
100
101
99
111
114
97
116
105
111
110
58
117
110
100
101
114
108
105
110
101
125
46
109
45
115
101
97
114
99
104
95
95
115
104
111
112
45
98
121
45
99
97
116
101
103
111
114
121
32
46
104
95
95
104
51
45
45
115
101
99
111
110
100
97
114
121
45
45
115
109
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
57
54
57
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
115
104
111
112
45
98
121
45
99
97
116
101
103
111
114
121
32
46
104
95
95
104
51
45
45
115
101
99
111
110
100
97
114
121
45
45
115
109
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
125
125
46
109
45
115
101
97
114
99
104
95
95
115
104
111
112
45
98
121
45
99
97
116
101
103
111
114
121
32
46
108
105
110
107
123
45
119
101
98
107
105
116
45
102
108
101
120
45
103
114
111
119
58
49
59
102
108
101
120
45
103
114
111
119
58
49
59
109
105
110
45
119
105
100
116
104
58
54
56
112
120
59
112
97
100
100
105
110
103
58
48
125
46
109
45
115
101
97
114
99
104
95
95
115
104
111
112
45
98
121
45
99
97
116
101
103
111
114
121
32
46
108
105
110
107
58
108
97
115
116
45
99
104
105
108
100
123
109
97
114
103
105
110
45
114
105
103
104
116
58
48
125
46
109
45
115
101
97
114
99
104
95
95
115
104
111
112
45
98
121
45
99
97
116
101
103
111
114
121
32
46
108
105
110
107
58
110
111
116
40
58
108
97
115
116
45
99
104
105
108
100
41
123
109
97
114
103
105
110
45
114
105
103
104
116
58
49
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
52
49
52
112
120
41
32
97
110
100
32
40
109
97
120
45
119
105
100
116
104
58
32
49
48
50
53
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
115
104
111
112
45
98
121
45
99
97
116
101
103
111
114
121
32
46
108
105
110
107
58
110
111
116
40
58
108
97
115
116
45
99
104
105
108
100
41
123
109
97
114
103
105
110
45
114
105
103
104
116
58
55
112
120
125
125
46
109
45
115
101
97
114
99
104
95
95
115
104
111
112
45
98
121
45
99
97
116
101
103
111
114
121
32
46
116
101
101
112
117
98
108
105
99
111
110
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
53
112
120
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
57
54
57
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
115
104
111
112
45
98
121
45
99
97
116
101
103
111
114
121
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
112
97
100
100
105
110
103
58
49
55
112
120
125
46
109
45
115
101
97
114
99
104
95
95
115
104
111
112
45
98
121
45
99
97
116
101
103
111
114
121
32
46
98
116
110
123
112
97
100
100
105
110
103
58
49
48
112
120
125
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
115
104
111
112
45
98
121
45
99
97
116
101
103
111
114
121
123
112
97
100
100
105
110
103
58
49
53
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
115
104
111
112
45
98
121
45
99
97
116
101
103
111
114
121
123
109
97
114
103
105
110
58
50
48
112
120
32
48
125
125
46
109
45
115
101
97
114
99
104
95
95
102
97
100
101
100
95
115
99
114
111
108
108
123
100
105
115
112
108
97
121
58
103
114
105
100
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
45
45
98
101
102
111
114
101
45
100
105
115
112
108
97
121
58
32
110
111
110
101
59
45
45
97
102
116
101
114
45
100
105
115
112
108
97
121
58
32
110
111
110
101
125
46
109
45
115
101
97
114
99
104
95
95
102
97
100
101
100
95
115
99
114
111
108
108
45
45
98
108
117
101
123
45
45
102
97
100
101
45
99
111
108
111
114
58
32
50
52
52
44
32
50
53
49
44
32
50
53
53
125
46
109
45
115
101
97
114
99
104
95
95
102
97
100
101
100
95
115
99
114
111
108
108
45
45
103
114
101
121
123
45
45
102
97
100
101
45
99
111
108
111
114
58
32
50
52
56
44
32
50
52
56
44
32
50
52
56
125
46
109
45
115
101
97
114
99
104
95
95
102
97
100
101
100
95
115
99
114
111
108
108
58
58
98
101
102
111
114
101
123
98
97
99
107
103
114
111
117
110
100
58
108
105
110
101
97
114
45
103
114
97
100
105
101
110
116
40
116
111
32
108
101
102
116
44
32
114
103
98
97
40
118
97
114
40
45
45
102
97
100
101
45
99
111
108
111
114
41
44
32
48
41
44
32
114
103
98
97
40
118
97
114
40
45
45
102
97
100
101
45
99
111
108
111
114
41
44
32
49
41
41
59
100
105
115
112
108
97
121
58
118
97
114
40
45
45
98
101
102
111
114
101
45
100
105
115
112
108
97
121
41
59
108
101
102
116
58
48
125
46
109
45
115
101
97
114
99
104
95
95
102
97
100
101
100
95
115
99
114
111
108
108
58
58
97
102
116
101
114
123
98
97
99
107
103
114
111
117
110
100
58
108
105
110
101
97
114
45
103
114
97
100
105
101
110
116
40
116
111
32
114
105
103
104
116
44
32
114
103
98
97
40
118
97
114
40
45
45
102
97
100
101
45
99
111
108
111
114
41
44
32
48
41
44
32
114
103
98
97
40
118
97
114
40
45
45
102
97
100
101
45
99
111
108
111
114
41
44
32
49
41
41
59
100
105
115
112
108
97
121
58
118
97
114
40
45
45
97
102
116
101
114
45
100
105
115
112
108
97
121
41
59
114
105
103
104
116
58
48
125
46
109
45
115
101
97
114
99
104
95
95
102
97
100
101
100
95
115
99
114
111
108
108
58
58
98
101
102
111
114
101
44
46
109
45
115
101
97
114
99
104
95
95
102
97
100
101
100
95
115
99
114
111
108
108
58
58
97
102
116
101
114
123
98
111
116
116
111
109
58
48
59
99
111
110
116
101
110
116
58
39
39
59
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
110
111
110
101
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
48
59
119
105
100
116
104
58
51
48
112
120
125
46
109
45
116
114
97
121
45
115
101
97
114
99
104
45
115
111
114
116
45
102
105
108
116
101
114
32
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
123
104
101
105
103
104
116
58
49
48
48
37
59
45
109
115
45
111
118
101
114
102
108
111
119
45
115
116
121
108
101
58
110
111
110
101
59
115
99
114
111
108
108
98
97
114
45
119
105
100
116
104
58
110
111
110
101
125
46
109
45
116
114
97
121
45
115
101
97
114
99
104
45
115
111
114
116
45
102
105
108
116
101
114
32
46
100
114
97
119
101
114
95
95
99
111
110
116
101
110
116
45
99
111
110
116
97
105
110
101
114
58
58
45
119
101
98
107
105
116
45
115
99
114
111
108
108
98
97
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
109
45
116
114
97
121
45
115
101
97
114
99
104
45
115
111
114
116
45
102
105
108
116
101
114
32
46
100
114
97
119
101
114
95
95
104
101
97
100
101
114
45
99
111
110
116
97
105
110
101
114
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
112
97
100
100
105
110
103
58
52
56
112
120
32
49
54
112
120
32
49
50
112
120
125
46
109
45
116
114
97
121
45
115
101
97
114
99
104
45
102
105
108
116
101
114
95
95
104
101
97
100
101
114
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
98
111
114
100
101
114
45
98
111
116
116
111
109
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
115
101
97
114
99
104
45
102
105
108
116
101
114
95
95
104
101
97
100
101
114
95
104
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
125
46
109
45
115
101
97
114
99
104
95
95
115
97
102
101
45
115
101
97
114
99
104
45
45
109
115
103
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
54
112
120
59
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
116
114
97
121
45
115
101
97
114
99
104
45
115
97
102
95
95
115
111
114
116
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
103
97
112
58
49
54
112
120
125
46
109
45
116
114
97
121
45
115
101
97
114
99
104
45
115
97
102
95
95
115
111
114
116
45
108
97
98
101
108
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
46
109
45
116
114
97
121
45
115
101
97
114
99
104
45
115
97
102
95
95
115
111
114
116
45
108
105
110
107
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
49
54
112
120
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
115
101
97
114
99
104
45
116
97
103
45
104
101
97
100
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
125
125
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
97
110
100
45
102
105
108
116
101
114
45
111
112
116
105
111
110
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
103
97
112
58
56
112
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
109
97
120
45
119
105
100
116
104
58
49
48
48
37
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
111
118
101
114
102
108
111
119
45
120
58
97
117
116
111
59
45
109
115
45
111
118
101
114
102
108
111
119
45
115
116
121
108
101
58
110
111
110
101
59
115
99
114
111
108
108
98
97
114
45
119
105
100
116
104
58
110
111
110
101
125
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
97
110
100
45
102
105
108
116
101
114
45
111
112
116
105
111
110
115
58
58
45
119
101
98
107
105
116
45
115
99
114
111
108
108
98
97
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
109
45
115
101
97
114
99
104
95
95
102
105
108
116
101
114
45
98
116
110
45
99
111
110
116
97
105
110
101
114
44
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
98
116
110
45
99
111
110
116
97
105
110
101
114
44
46
109
45
115
101
97
114
99
104
95
95
115
97
102
101
45
115
101
97
114
99
104
45
98
116
110
45
99
111
110
116
97
105
110
101
114
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
109
97
114
103
105
110
45
116
111
112
58
49
54
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
54
112
120
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
102
105
108
116
101
114
45
98
116
110
45
99
111
110
116
97
105
110
101
114
44
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
98
116
110
45
99
111
110
116
97
105
110
101
114
44
46
109
45
115
101
97
114
99
104
95
95
115
97
102
101
45
115
101
97
114
99
104
45
98
116
110
45
99
111
110
116
97
105
110
101
114
123
109
97
114
103
105
110
45
116
111
112
58
48
125
125
46
109
45
115
101
97
114
99
104
95
95
102
105
108
116
101
114
45
98
116
110
44
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
98
116
110
44
46
109
45
115
101
97
114
99
104
95
95
115
97
102
101
45
115
101
97
114
99
104
45
98
116
110
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
125
46
109
45
115
101
97
114
99
104
95
95
102
105
108
116
101
114
45
98
116
110
32
115
112
97
110
44
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
98
116
110
32
115
112
97
110
44
46
109
45
115
101
97
114
99
104
95
95
115
97
102
101
45
115
101
97
114
99
104
45
98
116
110
32
115
112
97
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
115
101
97
114
99
104
95
95
102
105
108
116
101
114
45
98
116
110
58
104
111
118
101
114
44
46
109
45
115
101
97
114
99
104
95
95
102
105
108
116
101
114
45
98
116
110
58
97
99
116
105
118
101
44
46
109
45
115
101
97
114
99
104
95
95
102
105
108
116
101
114
45
98
116
110
58
102
111
99
117
115
44
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
98
116
110
58
104
111
118
101
114
44
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
98
116
110
58
97
99
116
105
118
101
44
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
98
116
110
58
102
111
99
117
115
44
46
109
45
115
101
97
114
99
104
95
95
115
97
102
101
45
115
101
97
114
99
104
45
98
116
110
58
104
111
118
101
114
44
46
109
45
115
101
97
114
99
104
95
95
115
97
102
101
45
115
101
97
114
99
104
45
98
116
110
58
97
99
116
105
118
101
44
46
109
45
115
101
97
114
99
104
95
95
115
97
102
101
45
115
101
97
114
99
104
45
98
116
110
58
102
111
99
117
115
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
49
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
115
101
97
114
99
104
95
95
102
105
108
116
101
114
45
98
116
110
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
44
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
98
116
110
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
44
46
109
45
115
101
97
114
99
104
95
95
115
97
102
101
45
115
101
97
114
99
104
45
98
116
110
46
98
117
116
116
111
110
95
95
99
111
110
116
101
110
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
46
109
45
115
101
97
114
99
104
95
95
102
105
108
116
101
114
45
98
116
110
46
116
112
45
98
116
110
45
45
105
99
111
110
44
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
98
116
110
46
116
112
45
98
116
110
45
45
105
99
111
110
44
46
109
45
115
101
97
114
99
104
95
95
115
97
102
101
45
115
101
97
114
99
104
45
98
116
110
46
116
112
45
98
116
110
45
45
105
99
111
110
123
112
97
100
100
105
110
103
58
56
112
120
32
49
54
112
120
125
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
100
114
111
112
100
111
119
110
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
112
97
100
100
105
110
103
58
49
54
112
120
59
108
101
102
116
58
48
59
116
111
112
58
49
48
48
37
59
109
97
114
103
105
110
45
116
111
112
58
56
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
122
45
105
110
100
101
120
58
49
48
49
59
109
105
110
45
119
105
100
116
104
58
49
48
48
37
125
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
100
114
111
112
100
111
119
110
32
46
108
105
110
107
45
99
111
108
108
101
99
116
105
111
110
95
95
99
111
110
116
101
110
116
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
109
97
114
103
105
110
45
116
111
112
58
48
125
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
100
114
111
112
100
111
119
110
32
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
100
114
111
112
100
111
119
110
95
95
108
105
110
107
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
115
112
97
99
101
45
98
101
116
119
101
101
110
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
112
97
100
100
105
110
103
58
56
112
120
32
49
54
112
120
125
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
100
114
111
112
100
111
119
110
32
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
100
114
111
112
100
111
119
110
95
95
108
105
110
107
58
104
111
118
101
114
44
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
100
114
111
112
100
111
119
110
32
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
100
114
111
112
100
111
119
110
95
95
108
105
110
107
58
102
111
99
117
115
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
125
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
100
114
111
112
100
111
119
110
32
46
109
45
115
101
97
114
99
104
95
95
115
111
114
116
45
100
114
111
112
100
111
119
110
95
95
108
105
110
107
46
97
99
116
105
118
101
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
115
101
97
114
99
104
45
115
111
114
116
45
102
105
108
116
101
114
95
95
115
97
102
101
45
115
101
97
114
99
104
32
46
109
45
115
101
97
114
99
104
95
95
115
97
102
101
45
115
101
97
114
99
104
45
98
116
110
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
119
105
100
116
104
58
49
48
48
37
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
109
45
116
114
97
121
45
115
101
97
114
99
104
95
95
99
97
110
118
97
115
101
115
46
99
45
109
101
110
117
45
45
101
120
112
97
110
100
97
98
108
101
123
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
50
48
112
120
59
98
111
114
100
101
114
45
98
111
116
116
111
109
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
116
114
97
121
45
115
101
97
114
99
104
95
95
99
97
110
118
97
115
101
115
46
99
45
109
101
110
117
45
45
101
120
112
97
110
100
97
98
108
101
32
117
108
46
101
120
112
97
110
100
101
100
123
109
97
120
45
104
101
105
103
104
116
58
117
110
115
101
116
125
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
112
97
100
100
105
110
103
58
50
52
112
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
103
97
112
58
56
112
120
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
54
112
120
125
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
32
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
104
101
97
100
101
114
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
32
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
104
101
97
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
32
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
99
111
112
121
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
125
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
109
111
114
101
45
99
97
116
101
103
111
114
105
101
115
45
99
111
110
116
97
105
110
101
114
123
112
97
100
100
105
110
103
45
116
111
112
58
52
48
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
52
48
112
120
125
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
104
101
97
100
101
114
45
45
116
105
116
108
101
44
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
121
109
97
108
45
104
101
97
100
101
114
44
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
102
97
108
108
98
97
99
107
45
104
101
97
100
101
114
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
104
101
97
100
101
114
45
45
116
105
116
108
101
44
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
121
109
97
108
45
104
101
97
100
101
114
44
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
102
97
108
108
98
97
99
107
45
104
101
97
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
49
48
48
41
125
125
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
109
111
114
101
45
99
97
116
101
103
111
114
105
101
115
45
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
103
97
112
58
49
54
112
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
49
48
50
51
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
109
111
114
101
45
99
97
116
101
103
111
114
105
101
115
45
99
111
110
116
101
110
116
123
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
111
118
101
114
102
108
111
119
45
120
58
118
105
115
105
98
108
101
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
114
109
97
108
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
45
109
115
45
111
118
101
114
102
108
111
119
45
115
116
121
108
101
58
110
111
110
101
59
115
99
114
111
108
108
98
97
114
45
119
105
100
116
104
58
110
111
110
101
125
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
109
111
114
101
45
99
97
116
101
103
111
114
105
101
115
45
99
111
110
116
101
110
116
58
58
45
119
101
98
107
105
116
45
115
99
114
111
108
108
98
97
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
125
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
109
111
114
101
45
99
97
116
101
103
111
114
105
101
115
45
108
105
110
107
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
106
117
115
116
105
102
121
45
105
116
101
109
115
58
99
101
110
116
101
114
125
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
109
111
114
101
45
99
97
116
101
103
111
114
105
101
115
45
108
105
110
107
46
116
112
45
98
116
110
45
45
105
99
111
110
32
46
116
101
101
112
117
98
108
105
99
111
110
123
109
97
114
103
105
110
45
114
105
103
104
116
58
48
125
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
109
111
114
101
45
99
97
116
101
103
111
114
105
101
115
45
108
105
110
107
45
45
105
99
111
110
32
105
109
103
123
104
101
105
103
104
116
58
56
48
112
120
59
119
105
100
116
104
58
56
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
109
111
114
101
45
99
97
116
101
103
111
114
105
101
115
45
108
105
110
107
45
45
105
99
111
110
32
105
109
103
123
104
101
105
103
104
116
58
49
48
48
112
120
59
119
105
100
116
104
58
49
48
48
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
57
50
48
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
109
111
114
101
45
99
97
116
101
103
111
114
105
101
115
45
108
105
110
107
45
45
105
99
111
110
32
105
109
103
123
104
101
105
103
104
116
58
49
50
48
112
120
59
119
105
100
116
104
58
49
50
48
112
120
125
125
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
115
116
105
108
108
45
99
97
110
116
45
102
105
110
100
45
97
110
121
116
104
105
110
103
45
99
111
110
116
97
105
110
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
103
97
112
58
56
112
120
59
112
97
100
100
105
110
103
58
49
54
112
120
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
54
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
54
112
120
125
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
115
116
105
108
108
45
99
97
110
116
45
102
105
110
100
45
97
110
121
116
104
105
110
103
45
99
111
110
116
97
105
110
101
114
32
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
115
116
105
108
108
45
99
97
110
116
45
102
105
110
100
45
97
110
121
116
104
105
110
103
45
104
101
97
100
101
114
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
56
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
115
116
105
108
108
45
99
97
110
116
45
102
105
110
100
45
97
110
121
116
104
105
110
103
45
99
111
110
116
97
105
110
101
114
32
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
115
116
105
108
108
45
99
97
110
116
45
102
105
110
100
45
97
110
121
116
104
105
110
103
45
104
101
97
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
115
116
105
108
108
45
99
97
110
116
45
102
105
110
100
45
97
110
121
116
104
105
110
103
45
99
111
110
116
97
105
110
101
114
32
46
109
45
115
101
97
114
99
104
95
95
115
116
105
108
108
45
99
97
110
116
45
102
105
110
100
45
97
110
121
116
104
105
110
103
45
108
105
110
107
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
103
97
112
58
49
54
112
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
115
116
105
108
108
45
99
97
110
116
45
102
105
110
100
45
97
110
121
116
104
105
110
103
45
99
111
110
116
97
105
110
101
114
32
46
108
105
110
107
95
95
99
111
110
116
101
110
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
121
109
97
108
45
104
101
97
100
101
114
44
46
109
45
115
101
97
114
99
104
95
95
101
109
112
116
121
45
114
101
115
117
108
116
115
45
102
97
108
108
98
97
99
107
45
104
101
97
100
101
114
123
109
97
114
103
105
110
45
116
111
112
58
50
52
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
54
112
120
125
46
99
111
110
45
51
48
48
50
45
116
111
99
45
116
105
108
101
115
45
103
114
105
100
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
56
44
32
49
102
114
41
59
103
97
112
58
56
112
120
59
109
97
114
103
105
110
58
49
54
112
120
32
48
59
119
105
100
116
104
58
49
48
48
37
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
49
50
55
57
112
120
41
123
46
99
111
110
45
51
48
48
50
45
116
111
99
45
116
105
108
101
115
45
103
114
105
100
123
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
52
44
32
49
102
114
41
125
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
99
111
110
45
51
48
48
50
45
116
111
99
45
116
105
108
101
115
45
103
114
105
100
123
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
50
44
32
49
102
114
41
125
125
46
99
111
110
45
51
48
48
50
45
116
111
99
45
116
105
108
101
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
45
45
103
114
97
100
105
101
110
116
45
115
116
97
114
116
45
111
112
97
99
105
116
121
58
32
48
46
49
53
59
45
45
103
114
97
100
105
101
110
116
45
101
110
100
45
111
112
97
99
105
116
121
58
32
48
46
54
54
125
46
99
111
110
45
51
48
48
50
45
116
111
99
45
116
105
108
101
58
104
111
118
101
114
44
46
99
111
110
45
51
48
48
50
45
116
111
99
45
116
105
108
101
58
102
111
99
117
115
44
46
99
111
110
45
51
48
48
50
45
116
111
99
45
116
105
108
101
58
97
99
116
105
118
101
123
45
45
103
114
97
100
105
101
110
116
45
115
116
97
114
116
45
111
112
97
99
105
116
121
58
32
48
46
51
48
125
46
99
111
110
45
51
48
48
50
45
116
111
99
45
116
105
108
101
95
95
105
109
97
103
101
45
99
111
110
116
97
105
110
101
114
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
119
105
100
116
104
58
49
48
48
37
59
104
101
105
103
104
116
58
56
48
112
120
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
125
46
99
111
110
45
51
48
48
50
45
116
111
99
45
116
105
108
101
95
95
105
109
97
103
101
123
119
105
100
116
104
58
49
48
48
37
59
104
101
105
103
104
116
58
49
48
48
37
59
45
111
45
111
98
106
101
99
116
45
102
105
116
58
99
111
118
101
114
59
111
98
106
101
99
116
45
102
105
116
58
99
111
118
101
114
59
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
99
111
110
45
51
48
48
50
45
116
111
99
45
116
105
108
101
95
95
103
114
97
100
105
101
110
116
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
48
59
108
101
102
116
58
48
59
114
105
103
104
116
58
48
59
98
111
116
116
111
109
58
48
59
98
97
99
107
103
114
111
117
110
100
58
108
105
110
101
97
114
45
103
114
97
100
105
101
110
116
40
116
111
32
98
111
116
116
111
109
44
32
114
103
98
97
40
50
49
44
32
50
49
44
32
51
53
44
32
118
97
114
40
45
45
103
114
97
100
105
101
110
116
45
115
116
97
114
116
45
111
112
97
99
105
116
121
41
41
32
48
37
44
32
114
103
98
97
40
50
49
44
32
50
49
44
32
51
53
44
32
118
97
114
40
45
45
103
114
97
100
105
101
110
116
45
101
110
100
45
111
112
97
99
105
116
121
41
41
32
56
48
37
41
125
46
99
111
110
45
51
48
48
50
45
116
111
99
45
116
105
108
101
95
95
116
105
116
108
101
45
99
111
110
116
97
105
110
101
114
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
98
111
116
116
111
109
58
48
59
108
101
102
116
58
48
59
114
105
103
104
116
58
48
59
112
97
100
100
105
110
103
58
56
112
120
59
122
45
105
110
100
101
120
58
49
125
46
99
111
110
45
51
48
48
50
45
116
111
99
45
116
105
108
101
95
95
116
105
116
108
101
123
99
111
108
111
114
58
119
104
105
116
101
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
116
101
120
116
45
111
118
101
114
102
108
111
119
58
101
108
108
105
112
115
105
115
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
98
111
120
59
45
119
101
98
107
105
116
45
108
105
110
101
45
99
108
97
109
112
58
50
59
108
105
110
101
45
104
101
105
103
104
116
58
49
46
50
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
49
50
55
57
112
120
41
123
46
99
111
110
45
51
48
48
50
45
116
111
99
45
116
105
108
101
95
95
116
105
116
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
125
125
46
99
111
110
45
51
48
48
50
45
115
119
105
109
108
97
110
101
115
45
99
111
110
116
97
105
110
101
114
32
46
116
112
45
99
97
110
118
97
115
45
112
97
103
101
115
95
95
115
119
105
109
108
97
110
101
58
102
105
114
115
116
45
99
104
105
108
100
123
112
97
100
100
105
110
103
45
116
111
112
58
48
125
46
109
45
115
111
99
105
97
108
45
115
104
97
114
101
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
115
116
97
114
116
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
115
116
97
114
116
59
103
97
112
58
56
112
120
125
46
109
45
115
111
99
105
97
108
45
115
104
97
114
101
32
46
116
101
101
112
117
98
108
105
99
111
110
123
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
109
45
116
97
98
45
110
97
118
45
45
105
110
105
116
32
46
109
45
116
97
98
45
110
97
118
95
95
116
97
98
45
99
111
110
116
101
110
116
58
110
111
116
40
91
100
97
116
97
45
116
97
98
45
99
111
110
116
101
110
116
45
105
110
100
101
120
61
39
48
39
93
41
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
109
45
116
97
98
45
110
97
118
95
95
108
105
115
116
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
103
97
112
58
49
54
112
120
59
108
105
115
116
45
115
116
121
108
101
58
110
111
110
101
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
112
97
100
100
105
110
103
45
108
101
102
116
58
48
125
46
109
45
116
97
98
45
110
97
118
95
95
105
116
101
109
123
108
105
110
101
45
104
101
105
103
104
116
58
50
52
112
120
125
64
109
101
100
105
97
32
40
104
111
118
101
114
58
32
104
111
118
101
114
41
32
97
110
100
32
40
112
111
105
110
116
101
114
58
32
102
105
110
101
41
123
46
109
45
116
97
98
45
110
97
118
95
95
105
116
101
109
58
104
111
118
101
114
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
125
46
109
45
116
97
98
45
110
97
118
95
95
105
116
101
109
32
97
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
59
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
109
45
116
97
98
45
110
97
118
95
95
105
116
101
109
45
45
97
99
116
105
118
101
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
109
45
116
97
98
45
110
97
118
95
95
105
116
101
109
45
45
97
99
116
105
118
101
58
97
99
116
105
118
101
123
98
111
114
100
101
114
45
98
111
116
116
111
109
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
109
45
116
97
98
45
110
97
118
95
95
105
116
101
109
45
45
97
99
116
105
118
101
32
97
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
116
97
98
45
110
97
118
95
95
105
116
101
109
45
45
97
99
116
105
118
101
32
97
58
97
99
116
105
118
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
125
46
109
97
114
107
101
116
112
108
97
99
101
95
95
104
101
97
100
101
114
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
46
109
97
114
107
101
116
112
108
97
99
101
95
95
104
101
97
100
101
114
32
46
116
101
120
116
45
110
111
116
101
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
97
114
107
101
116
112
108
97
99
101
95
95
104
101
97
100
101
114
32
46
116
101
120
116
45
110
111
116
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
125
46
109
97
114
107
101
116
112
108
97
99
101
95
95
104
101
97
100
101
114
45
116
101
120
116
123
109
97
114
103
105
110
45
116
111
112
58
49
48
112
120
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
97
114
107
101
116
112
108
97
99
101
95
95
104
101
97
100
101
114
45
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
125
46
109
97
114
107
101
116
112
108
97
99
101
95
95
108
105
110
107
45
99
111
110
116
97
105
110
101
114
123
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
51
48
112
120
125
46
109
97
114
107
101
116
112
108
97
99
101
95
95
108
105
110
107
45
99
111
110
116
97
105
110
101
114
32
46
116
101
120
116
45
110
111
116
101
123
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
46
109
97
114
107
101
116
112
108
97
99
101
95
95
108
105
110
107
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
125
46
109
97
114
107
101
116
112
108
97
99
101
95
95
116
105
108
101
115
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
97
114
107
101
116
112
108
97
99
101
95
95
116
105
116
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
125
125
46
106
115
72
101
97
100
83
101
97
114
99
104
70
111
114
109
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
122
45
105
110
100
101
120
58
53
48
125
35
106
115
65
117
116
111
67
111
109
112
108
101
116
101
66
114
111
119
115
101
95
108
105
115
116
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
125
35
106
115
65
117
116
111
67
111
109
112
108
101
116
101
72
101
97
100
101
114
95
108
105
115
116
44
35
106
115
65
117
116
111
67
111
109
112
108
101
116
101
72
111
109
101
95
108
105
115
116
44
35
106
115
65
117
116
111
67
111
109
112
108
101
116
101
66
114
111
119
115
101
95
108
105
115
116
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
98
111
120
45
115
104
97
100
111
119
58
48
32
50
112
120
32
52
112
120
32
48
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
59
108
101
102
116
58
48
59
109
97
114
103
105
110
45
116
111
112
58
52
112
120
59
112
97
100
100
105
110
103
58
49
54
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
114
105
103
104
116
58
48
59
116
114
97
110
115
105
116
105
111
110
58
97
108
108
32
46
49
115
32
101
97
115
101
45
105
110
45
111
117
116
59
119
105
100
116
104
58
49
48
48
37
59
122
45
105
110
100
101
120
58
53
48
59
45
119
101
98
107
105
116
45
116
114
97
110
115
105
116
105
111
110
58
97
108
108
32
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
32
46
49
115
32
101
97
115
101
125
35
106
115
65
117
116
111
67
111
109
112
108
101
116
101
72
111
109
101
95
108
105
115
116
123
116
111
112
58
53
48
112
120
125
46
97
117
116
111
67
111
109
112
108
101
116
101
95
114
101
115
117
108
116
123
112
97
100
100
105
110
103
58
54
112
120
32
56
112
120
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
97
117
116
111
67
111
109
112
108
101
116
101
95
114
101
115
117
108
116
44
46
97
117
116
111
67
111
109
112
108
101
116
101
95
114
101
115
117
108
116
32
115
116
114
111
110
103
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
46
97
117
116
111
67
111
109
112
108
101
116
101
95
114
101
115
117
108
116
46
101
109
112
116
121
45
114
101
115
117
108
116
115
44
46
97
117
116
111
67
111
109
112
108
101
116
101
95
114
101
115
117
108
116
46
97
114
116
105
115
116
45
115
101
97
114
99
104
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
125
46
97
117
116
111
67
111
109
112
108
101
116
101
95
114
101
115
117
108
116
46
97
114
116
105
115
116
45
115
101
97
114
99
104
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
103
97
112
58
49
48
112
120
125
46
97
117
116
111
67
111
109
112
108
101
116
101
95
114
101
115
117
108
116
46
97
114
116
105
115
116
45
115
101
97
114
99
104
32
46
97
114
116
105
115
116
95
115
101
97
114
99
104
95
108
97
98
101
108
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
97
117
116
111
67
111
109
112
108
101
116
101
95
114
101
115
117
108
116
46
97
117
116
111
67
111
109
112
108
101
116
101
95
115
101
108
101
99
116
101
100
44
46
97
117
116
111
67
111
109
112
108
101
116
101
95
114
101
115
117
108
116
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
125
46
97
117
116
111
67
111
109
112
108
101
116
101
95
108
97
98
101
108
44
46
97
117
116
111
67
111
109
112
108
101
116
101
95
110
111
116
105
99
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
45
119
101
98
107
105
116
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
109
111
122
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
109
115
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
112
120
125
46
97
117
116
111
67
111
109
112
108
101
116
101
65
114
116
105
115
116
83
101
97
114
99
104
95
108
97
98
101
108
123
112
97
100
100
105
110
103
58
56
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
45
119
101
98
107
105
116
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
109
111
122
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
45
109
115
45
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
59
117
115
101
114
45
115
101
108
101
99
116
58
110
111
110
101
125
46
97
117
116
111
67
111
109
112
108
101
116
101
65
114
116
105
115
116
83
101
97
114
99
104
95
108
97
98
101
108
58
58
98
101
102
111
114
101
123
99
111
110
116
101
110
116
58
39
65
114
116
105
115
116
32
82
101
115
117
108
116
39
125
46
97
117
116
111
67
111
109
112
108
101
116
101
95
104
105
103
104
108
105
103
104
116
101
100
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
125
46
97
100
100
105
116
105
111
110
97
108
45
109
97
105
110
45
116
97
103
123
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
58
97
110
105
109
97
116
101
100
45
98
111
114
100
101
114
45
103
114
97
100
105
101
110
116
32
54
115
32
101
97
115
101
45
105
110
45
111
117
116
32
97
108
116
101
114
110
97
116
101
32
105
110
102
105
110
105
116
101
59
97
110
105
109
97
116
105
111
110
58
97
110
105
109
97
116
101
100
45
98
111
114
100
101
114
45
103
114
97
100
105
101
110
116
32
54
115
32
101
97
115
101
45
105
110
45
111
117
116
32
97
108
116
101
114
110
97
116
101
32
105
110
102
105
110
105
116
101
59
98
97
99
107
103
114
111
117
110
100
58
108
105
110
101
97
114
45
103
114
97
100
105
101
110
116
40
54
48
100
101
103
44
32
35
51
57
101
49
49
101
44
32
35
102
102
101
98
51
55
44
32
35
102
51
56
51
51
52
44
32
35
101
97
51
49
51
49
44
32
35
97
51
48
100
102
102
44
32
35
49
57
98
49
102
102
44
32
35
51
57
101
49
49
101
41
59
98
97
99
107
103
114
111
117
110
100
45
115
105
122
101
58
51
48
48
37
32
51
48
48
37
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
48
112
120
59
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
59
112
97
100
100
105
110
103
58
51
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
97
100
100
105
116
105
111
110
97
108
45
109
97
105
110
45
116
97
103
123
109
97
114
103
105
110
45
116
111
112
58
53
48
112
120
125
125
46
97
100
100
105
116
105
111
110
97
108
45
109
97
105
110
45
116
97
103
95
95
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
112
97
100
100
105
110
103
58
50
48
112
120
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
97
100
100
105
116
105
111
110
97
108
45
109
97
105
110
45
116
97
103
95
95
99
111
110
116
97
105
110
101
114
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
125
46
97
100
100
105
116
105
111
110
97
108
45
109
97
105
110
45
116
97
103
95
95
99
111
110
116
97
105
110
101
114
32
46
99
45
108
105
110
107
95
95
98
117
116
116
111
110
123
119
105
100
116
104
58
49
48
48
37
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
97
100
100
105
116
105
111
110
97
108
45
109
97
105
110
45
116
97
103
95
95
99
111
110
116
97
105
110
101
114
123
103
97
112
58
51
48
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
97
100
100
105
116
105
111
110
97
108
45
109
97
105
110
45
116
97
103
95
95
99
111
110
116
97
105
110
101
114
123
112
97
100
100
105
110
103
58
51
48
112
120
125
46
97
100
100
105
116
105
111
110
97
108
45
109
97
105
110
45
116
97
103
95
95
99
111
110
116
97
105
110
101
114
32
46
99
45
108
105
110
107
95
95
98
117
116
116
111
110
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
112
97
100
100
105
110
103
45
108
101
102
116
58
52
48
112
120
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
52
48
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
48
48
112
120
41
123
46
97
100
100
105
116
105
111
110
97
108
45
109
97
105
110
45
116
97
103
95
95
99
111
110
116
97
105
110
101
114
123
103
97
112
58
54
48
112
120
125
125
46
97
100
100
105
116
105
111
110
97
108
45
109
97
105
110
45
116
97
103
95
95
99
111
110
116
97
105
110
101
114
32
46
99
45
108
105
110
107
95
95
98
117
116
116
111
110
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
97
100
100
105
116
105
111
110
97
108
45
109
97
105
110
45
116
97
103
95
95
104
101
97
100
101
114
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
59
109
97
114
103
105
110
45
116
111
112
58
48
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
97
100
100
105
116
105
111
110
97
108
45
109
97
105
110
45
116
97
103
95
95
104
101
97
100
101
114
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
97
100
100
105
116
105
111
110
97
108
45
109
97
105
110
45
116
97
103
95
95
104
101
97
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
100
101
115
105
103
110
95
95
105
110
108
105
110
101
45
115
101
97
114
99
104
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
35
102
102
102
102
102
102
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
103
97
112
58
50
52
112
120
59
112
97
100
100
105
110
103
58
52
56
112
120
32
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
105
110
108
105
110
101
45
115
101
97
114
99
104
123
112
97
100
100
105
110
103
58
52
56
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
105
110
108
105
110
101
45
115
101
97
114
99
104
123
112
97
100
100
105
110
103
58
52
56
112
120
32
54
52
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
105
110
108
105
110
101
45
115
101
97
114
99
104
123
112
97
100
100
105
110
103
58
52
56
112
120
32
50
52
48
112
120
125
125
46
109
45
100
101
115
105
103
110
95
95
105
110
108
105
110
101
45
115
101
97
114
99
104
95
95
104
101
97
100
101
114
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
99
97
112
105
116
97
108
105
122
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
105
110
108
105
110
101
45
115
101
97
114
99
104
95
95
104
101
97
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
105
110
108
105
110
101
45
115
101
97
114
99
104
95
95
104
101
97
100
101
114
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
125
125
46
109
45
100
101
115
105
103
110
95
95
105
110
108
105
110
101
45
115
101
97
114
99
104
95
95
115
101
97
114
99
104
45
99
111
110
116
97
105
110
101
114
123
109
97
120
45
119
105
100
116
104
58
52
56
48
112
120
59
119
105
100
116
104
58
49
48
48
37
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
105
110
108
105
110
101
45
115
101
97
114
99
104
95
95
115
101
97
114
99
104
45
99
111
110
116
97
105
110
101
114
123
109
97
120
45
119
105
100
116
104
58
53
55
54
112
120
125
125
46
109
45
100
101
115
105
103
110
95
95
105
110
108
105
110
101
45
115
101
97
114
99
104
95
95
115
101
97
114
99
104
45
99
111
110
116
97
105
110
101
114
32
46
99
45
115
101
97
114
99
104
45
102
111
114
109
45
45
114
97
105
110
98
111
119
123
109
97
114
103
105
110
45
116
111
112
58
48
125
46
109
45
100
101
115
105
103
110
95
95
105
110
108
105
110
101
45
115
101
97
114
99
104
95
95
115
101
97
114
99
104
45
99
111
110
116
97
105
110
101
114
32
46
99
45
115
101
97
114
99
104
45
102
111
114
109
45
45
114
97
105
110
98
111
119
32
46
102
111
114
109
95
95
97
99
116
105
111
110
115
32
98
117
116
116
111
110
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
109
45
116
111
97
115
116
45
115
117
99
99
101
115
115
45
109
101
115
115
97
103
101
123
112
111
115
105
116
105
111
110
58
102
105
120
101
100
59
98
111
116
116
111
109
58
49
54
112
120
59
108
101
102
116
58
53
48
37
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
88
40
45
53
48
37
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
88
40
45
53
48
37
41
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
58
114
101
118
101
97
108
45
102
114
111
109
45
98
111
116
116
111
109
32
51
48
48
109
115
32
99
117
98
105
99
45
98
101
122
105
101
114
40
48
46
52
55
44
32
49
46
54
52
44
32
48
46
52
49
44
32
48
46
56
41
32
102
111
114
119
97
114
100
115
59
97
110
105
109
97
116
105
111
110
58
114
101
118
101
97
108
45
102
114
111
109
45
98
111
116
116
111
109
32
51
48
48
109
115
32
99
117
98
105
99
45
98
101
122
105
101
114
40
48
46
52
55
44
32
49
46
54
52
44
32
48
46
52
49
44
32
48
46
56
41
32
102
111
114
119
97
114
100
115
59
122
45
105
110
100
101
120
58
49
48
48
125
64
45
119
101
98
107
105
116
45
107
101
121
102
114
97
109
101
115
32
114
101
118
101
97
108
45
102
114
111
109
45
98
111
116
116
111
109
123
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
45
53
48
37
44
32
49
51
49
37
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
45
53
48
37
44
32
49
51
49
37
41
125
55
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
45
53
48
37
44
32
51
49
37
41
44
115
99
97
108
101
40
49
46
53
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
45
53
48
37
44
32
51
49
37
41
44
115
99
97
108
101
40
49
46
53
41
125
49
48
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
45
53
48
37
44
32
48
41
44
115
99
97
108
101
40
49
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
45
53
48
37
44
32
48
41
44
115
99
97
108
101
40
49
41
125
125
64
107
101
121
102
114
97
109
101
115
32
114
101
118
101
97
108
45
102
114
111
109
45
98
111
116
116
111
109
123
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
45
53
48
37
44
32
49
51
49
37
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
45
53
48
37
44
32
49
51
49
37
41
125
55
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
45
53
48
37
44
32
51
49
37
41
44
115
99
97
108
101
40
49
46
53
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
45
53
48
37
44
32
51
49
37
41
44
115
99
97
108
101
40
49
46
53
41
125
49
48
48
37
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
45
53
48
37
44
32
48
41
44
115
99
97
108
101
40
49
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
89
40
45
53
48
37
44
32
48
41
44
115
99
97
108
101
40
49
41
125
125
46
109
45
116
111
112
45
98
97
110
110
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
112
97
100
100
105
110
103
58
49
48
112
120
59
119
105
100
116
104
58
49
48
48
37
59
103
97
112
58
52
112
120
125
46
109
45
116
111
112
45
98
97
110
110
101
114
32
100
105
118
44
46
109
45
116
111
112
45
98
97
110
110
101
114
32
115
116
114
111
110
103
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
109
45
116
111
112
45
98
97
110
110
101
114
32
46
98
97
110
110
101
114
45
112
114
111
109
111
45
111
102
102
101
114
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
116
111
112
45
98
97
110
110
101
114
123
103
97
112
58
52
56
112
120
125
125
46
102
114
101
101
45
115
104
105
112
112
105
110
103
95
95
115
104
105
112
112
105
110
103
45
116
111
116
97
108
45
45
103
114
101
101
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
115
117
99
99
101
115
115
45
53
48
48
41
125
46
97
114
116
105
115
116
45
99
97
116
101
103
111
114
121
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
103
97
112
58
49
48
112
120
125
46
109
45
100
101
115
105
103
110
95
95
98
117
121
45
99
116
97
115
123
109
97
114
103
105
110
58
50
52
112
120
32
48
125
46
109
45
100
101
115
105
103
110
95
95
99
97
114
116
45
97
100
100
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
53
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
59
104
101
105
103
104
116
58
54
52
112
120
59
112
97
100
100
105
110
103
58
48
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
99
97
114
116
45
97
100
100
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
48
112
120
59
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
125
125
46
109
45
100
101
115
105
103
110
95
95
99
97
114
116
45
98
117
121
45
110
111
119
123
104
101
105
103
104
116
58
54
52
112
120
59
119
105
100
116
104
58
49
48
48
37
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
54
48
48
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
99
97
114
116
45
98
117
121
45
110
111
119
123
104
101
105
103
104
116
58
54
52
112
120
125
125
46
109
45
100
101
115
105
103
110
95
95
102
114
101
101
45
115
104
105
112
112
105
110
103
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
109
97
114
103
105
110
58
50
52
112
120
32
48
125
46
109
45
100
101
115
105
103
110
95
95
102
114
101
101
45
115
104
105
112
112
105
110
103
45
109
101
115
115
97
103
101
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
112
120
125
46
109
45
100
101
115
105
103
110
95
95
102
114
101
101
45
115
104
105
112
112
105
110
103
45
109
101
115
115
97
103
101
32
115
112
97
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
100
101
115
105
103
110
95
95
102
114
101
101
45
115
104
105
112
112
105
110
103
45
109
101
115
115
97
103
101
32
46
102
114
101
101
45
115
104
105
112
112
105
110
103
45
109
101
115
115
97
103
101
95
95
98
111
108
100
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
125
46
109
45
100
101
115
105
103
110
95
95
102
114
101
101
45
115
104
105
112
112
105
110
103
45
97
108
108
45
117
115
97
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
54
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
125
46
109
45
100
101
115
105
103
110
45
100
101
116
97
105
108
115
95
95
100
101
115
99
114
105
112
116
105
111
110
45
116
105
116
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
45
100
101
116
97
105
108
115
95
95
100
101
115
99
114
105
112
116
105
111
110
45
116
105
116
108
101
123
109
97
114
103
105
110
45
116
111
112
58
50
52
112
120
125
125
46
109
45
100
101
115
105
103
110
45
100
101
116
97
105
108
115
95
95
100
101
115
99
114
105
112
116
105
111
110
45
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
98
111
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
119
111
114
100
45
98
114
101
97
107
58
98
114
101
97
107
45
119
111
114
100
125
46
109
45
100
101
115
105
103
110
45
100
101
116
97
105
108
115
95
95
100
101
115
99
114
105
112
116
105
111
110
45
98
117
116
116
111
110
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
125
46
109
45
100
101
115
105
103
110
45
100
101
116
97
105
108
115
95
95
98
121
123
109
97
120
45
119
105
100
116
104
58
49
48
48
37
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
98
97
115
101
108
105
110
101
59
97
108
105
103
110
45
105
116
101
109
115
58
98
97
115
101
108
105
110
101
125
46
109
45
100
101
115
105
103
110
95
95
98
121
45
110
97
109
101
123
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
116
101
120
116
45
111
118
101
114
102
108
111
119
58
101
108
108
105
112
115
105
115
59
119
104
105
116
101
45
115
112
97
99
101
58
110
111
119
114
97
112
59
100
105
115
112
108
97
121
58
105
110
108
105
110
101
45
98
108
111
99
107
59
109
97
120
45
119
105
100
116
104
58
49
48
48
37
59
118
101
114
116
105
99
97
108
45
97
108
105
103
110
58
116
101
120
116
45
98
111
116
116
111
109
125
46
109
45
100
101
115
105
103
110
45
100
101
116
97
105
108
115
95
95
112
114
105
109
97
114
121
45
116
97
103
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
114
105
103
104
116
58
53
112
120
59
109
97
114
103
105
110
45
116
111
112
58
48
59
119
111
114
100
45
98
114
101
97
107
58
98
114
101
97
107
45
119
111
114
100
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
45
100
101
116
97
105
108
115
95
95
112
114
105
109
97
114
121
45
116
97
103
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
109
45
100
101
115
105
103
110
45
100
101
116
97
105
108
115
95
95
112
114
111
100
117
99
116
45
105
110
102
111
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
98
97
115
101
108
105
110
101
59
97
108
105
103
110
45
105
116
101
109
115
58
98
97
115
101
108
105
110
101
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
109
97
114
103
105
110
45
116
111
112
58
53
112
120
125
46
109
45
100
101
115
105
103
110
95
95
112
114
105
99
101
115
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
119
114
97
112
59
103
97
112
58
49
48
112
120
59
109
97
114
103
105
110
45
116
111
112
58
49
50
112
120
125
46
109
45
100
101
115
105
103
110
95
95
112
114
105
99
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
49
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
112
114
105
99
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
51
48
48
41
125
125
46
109
45
100
101
115
105
103
110
95
95
112
114
105
99
101
45
45
111
114
105
103
105
110
97
108
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
109
97
114
103
105
110
45
108
101
102
116
58
49
53
112
120
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
109
45
100
101
115
105
103
110
95
95
112
114
105
99
101
45
45
111
114
105
103
105
110
97
108
58
98
101
102
111
114
101
123
99
111
110
116
101
110
116
58
39
39
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
98
111
116
116
111
109
58
99
97
108
99
40
53
48
37
32
45
32
51
112
120
41
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
119
105
100
116
104
58
49
49
52
37
59
104
101
105
103
104
116
58
52
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
45
48
46
50
52
114
101
109
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
100
97
110
103
101
114
45
53
48
48
41
125
46
109
45
100
101
115
105
103
110
95
95
112
114
105
99
101
45
45
111
114
105
103
105
110
97
108
46
111
110
58
98
101
102
111
114
101
123
119
105
100
116
104
58
49
49
52
37
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
100
117
114
97
116
105
111
110
58
48
46
50
115
59
97
110
105
109
97
116
105
111
110
45
100
117
114
97
116
105
111
110
58
48
46
50
115
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
110
97
109
101
58
112
114
105
99
101
83
116
114
105
107
101
59
97
110
105
109
97
116
105
111
110
45
110
97
109
101
58
112
114
105
99
101
83
116
114
105
107
101
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
105
116
101
114
97
116
105
111
110
45
99
111
117
110
116
58
49
59
97
110
105
109
97
116
105
111
110
45
105
116
101
114
97
116
105
111
110
45
99
111
117
110
116
58
49
125
46
109
45
100
101
115
105
103
110
95
95
112
114
105
99
101
45
45
115
97
108
101
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
109
45
100
101
115
105
103
110
45
45
111
110
45
115
97
108
101
32
46
109
45
100
101
115
105
103
110
95
95
112
114
105
99
101
45
45
115
97
108
101
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
109
45
100
101
115
105
103
110
45
45
111
110
45
115
97
108
101
32
46
109
45
100
101
115
105
103
110
95
95
112
114
105
99
101
45
45
114
101
103
117
108
97
114
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
53
48
48
41
59
109
97
114
103
105
110
45
108
101
102
116
58
53
112
120
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
109
45
100
101
115
105
103
110
45
45
111
110
45
115
97
108
101
32
46
109
45
100
101
115
105
103
110
95
95
112
114
105
99
101
45
45
114
101
103
117
108
97
114
46
111
110
58
98
101
102
111
114
101
123
99
111
110
116
101
110
116
58
39
39
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
98
111
116
116
111
109
58
99
97
108
99
40
53
48
37
32
45
32
51
112
120
41
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
119
105
100
116
104
58
49
49
52
37
59
104
101
105
103
104
116
58
52
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
45
48
46
50
52
114
101
109
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
97
99
99
101
110
116
45
111
114
97
110
103
101
45
53
48
48
41
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
100
117
114
97
116
105
111
110
58
48
46
50
115
59
97
110
105
109
97
116
105
111
110
45
100
117
114
97
116
105
111
110
58
48
46
50
115
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
110
97
109
101
58
112
114
105
99
101
83
116
114
105
107
101
59
97
110
105
109
97
116
105
111
110
45
110
97
109
101
58
112
114
105
99
101
83
116
114
105
107
101
59
45
119
101
98
107
105
116
45
97
110
105
109
97
116
105
111
110
45
105
116
101
114
97
116
105
111
110
45
99
111
117
110
116
58
49
59
97
110
105
109
97
116
105
111
110
45
105
116
101
114
97
116
105
111
110
45
99
111
117
110
116
58
49
125
46
109
45
100
101
115
105
103
110
95
95
115
105
109
105
108
97
114
45
112
114
111
100
117
99
116
115
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
56
112
120
125
64
45
119
101
98
107
105
116
45
107
101
121
102
114
97
109
101
115
32
112
114
105
99
101
83
116
114
105
107
101
123
48
37
123
119
105
100
116
104
58
49
53
37
125
49
48
48
37
123
119
105
100
116
104
58
49
49
52
37
125
125
64
107
101
121
102
114
97
109
101
115
32
112
114
105
99
101
83
116
114
105
107
101
123
48
37
123
119
105
100
116
104
58
49
53
37
125
49
48
48
37
123
119
105
100
116
104
58
49
49
52
37
125
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
98
97
99
107
45
102
108
97
103
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
112
120
32
48
112
120
32
56
112
120
59
104
101
105
103
104
116
58
99
97
108
99
40
50
56
112
120
32
43
32
52
112
120
41
59
108
101
102
116
58
48
59
109
97
114
103
105
110
45
108
101
102
116
58
45
49
53
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
48
59
119
105
100
116
104
58
99
97
108
99
40
55
50
112
120
32
43
32
52
112
120
41
59
122
45
105
110
100
101
120
58
50
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
57
112
120
41
123
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
98
97
99
107
45
102
108
97
103
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
50
48
112
120
32
48
112
120
32
56
112
120
59
109
97
114
103
105
110
45
108
101
102
116
58
48
125
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
98
97
99
107
45
102
108
97
103
62
100
105
118
123
119
105
100
116
104
58
49
48
48
37
59
104
101
105
103
104
116
58
49
48
48
37
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
123
97
115
112
101
99
116
45
114
97
116
105
111
58
49
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
57
112
120
41
123
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
50
48
112
120
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
98
111
120
45
115
104
97
100
111
119
58
48
32
52
112
120
32
56
112
120
32
48
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
125
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
45
115
108
105
100
101
123
112
97
100
100
105
110
103
45
116
111
112
58
49
48
48
37
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
45
105
109
103
123
98
111
116
116
111
109
58
48
59
108
101
102
116
58
48
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
114
105
103
104
116
58
48
59
116
111
112
58
48
59
119
105
100
116
104
58
49
48
48
37
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
45
105
109
103
32
105
109
103
123
119
105
100
116
104
58
49
48
48
37
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
57
112
120
41
123
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
45
105
109
103
32
105
109
103
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
50
48
112
120
125
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
45
116
114
97
99
107
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
48
59
119
105
100
116
104
58
49
48
48
37
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
45
99
116
114
108
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
106
117
115
116
105
102
121
45
105
116
101
109
115
58
99
101
110
116
101
114
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
99
97
108
99
40
53
48
37
32
45
32
49
48
112
120
41
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
45
99
116
114
108
58
97
99
116
105
118
101
44
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
45
99
116
114
108
58
102
111
99
117
115
44
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
45
99
116
114
108
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
58
116
114
97
110
115
112
97
114
101
110
116
59
111
112
97
99
105
116
121
58
48
46
57
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
45
99
116
114
108
32
46
116
101
101
112
117
98
108
105
99
111
110
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
48
37
59
98
111
120
45
115
104
97
100
111
119
58
48
32
48
32
52
112
120
32
114
103
98
97
40
48
44
48
44
48
44
48
46
53
41
59
109
97
114
103
105
110
58
97
117
116
111
59
112
97
100
100
105
110
103
58
56
112
120
59
116
114
97
110
115
105
116
105
111
110
58
48
46
51
115
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
45
99
116
114
108
32
46
116
101
101
112
117
98
108
105
99
111
110
58
102
111
99
117
115
123
111
117
116
108
105
110
101
58
110
111
110
101
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
45
99
116
114
108
32
46
116
101
101
112
117
98
108
105
99
111
110
58
102
111
99
117
115
45
118
105
115
105
98
108
101
123
111
117
116
108
105
110
101
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
32
97
117
116
111
32
50
112
120
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
45
99
116
114
108
46
110
101
120
116
123
114
105
103
104
116
58
48
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
45
99
116
114
108
46
112
114
101
118
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
49
56
48
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
49
56
48
100
101
103
41
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
108
105
100
101
114
45
99
116
114
108
46
100
105
115
97
98
108
101
100
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
109
97
105
110
123
109
97
114
103
105
110
45
108
101
102
116
58
45
49
53
112
120
59
109
97
114
103
105
110
45
114
105
103
104
116
58
45
49
53
112
120
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
109
97
105
110
32
105
109
103
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
110
111
110
101
125
46
116
112
45
97
100
109
105
110
32
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
109
97
105
110
32
105
109
103
44
46
116
112
45
100
101
115
105
103
110
45
111
119
110
101
114
32
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
109
97
105
110
32
105
109
103
44
46
116
112
45
97
102
102
105
108
105
97
116
101
45
111
119
110
101
114
32
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
109
97
105
110
32
105
109
103
123
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
97
108
108
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
57
112
120
41
123
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
109
97
105
110
123
109
97
114
103
105
110
45
108
101
102
116
58
97
117
116
111
59
109
97
114
103
105
110
45
114
105
103
104
116
58
97
117
116
111
125
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
116
104
117
109
98
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
116
111
112
58
99
97
108
99
40
50
52
112
120
32
42
32
45
49
41
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
122
45
105
110
100
101
120
58
49
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
116
104
117
109
98
115
123
109
97
114
103
105
110
45
116
111
112
58
99
97
108
99
40
51
50
112
120
32
42
32
45
49
41
125
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
116
104
117
109
98
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
56
112
120
59
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
109
97
114
103
105
110
58
48
32
52
112
120
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
119
105
100
116
104
58
52
56
112
120
59
98
111
120
45
115
104
97
100
111
119
58
48
32
50
112
120
32
52
112
120
32
48
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
45
97
50
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
116
104
117
109
98
123
119
105
100
116
104
58
54
52
112
120
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
57
50
48
112
120
41
123
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
116
104
117
109
98
123
119
105
100
116
104
58
57
54
112
120
125
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
116
104
117
109
98
46
111
110
44
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
116
104
117
109
98
58
104
111
118
101
114
123
116
114
97
110
115
105
116
105
111
110
58
111
117
116
108
105
110
101
32
49
48
48
109
115
32
101
97
115
101
45
105
110
45
111
117
116
59
111
117
116
108
105
110
101
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
111
117
116
108
105
110
101
45
111
102
102
115
101
116
58
48
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
116
104
117
109
98
32
105
109
103
123
102
108
111
97
116
58
108
101
102
116
59
119
105
100
116
104
58
49
48
48
37
59
97
115
112
101
99
116
45
114
97
116
105
111
58
49
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
97
108
108
101
114
121
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
57
112
120
41
123
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
97
108
108
101
114
121
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
45
114
101
118
101
114
115
101
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
45
114
101
118
101
114
115
101
125
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
97
108
108
101
114
121
32
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
116
104
117
109
98
115
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
56
112
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
115
116
97
114
116
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
115
116
97
114
116
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
114
105
103
104
116
58
49
50
112
120
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
122
45
105
110
100
101
120
58
49
48
48
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
57
112
120
41
32
97
110
100
32
40
109
105
110
45
119
105
100
116
104
58
32
49
57
50
48
112
120
41
123
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
97
108
108
101
114
121
32
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
116
104
117
109
98
115
123
109
97
114
103
105
110
45
114
105
103
104
116
58
49
54
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
57
112
120
41
123
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
103
97
108
108
101
114
121
32
46
109
45
112
114
111
100
117
99
116
45
112
114
101
118
105
101
119
95
95
116
104
117
109
98
123
109
97
114
103
105
110
58
48
125
125
46
109
45
100
101
115
105
103
110
95
95
112
114
111
100
117
99
116
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
56
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
57
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
112
114
111
100
117
99
116
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
99
111
108
117
109
110
45
103
97
112
58
51
50
112
120
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
97
114
101
97
115
58
34
112
114
101
118
105
101
119
32
116
105
116
108
101
34
32
34
112
114
101
118
105
101
119
32
111
112
116
105
111
110
115
34
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
109
105
110
109
97
120
40
52
49
54
112
120
44
32
97
117
116
111
41
32
109
105
110
109
97
120
40
97
117
116
111
44
32
52
52
56
112
120
41
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
114
111
119
115
58
109
105
110
109
97
120
40
53
48
112
120
44
32
97
117
116
111
41
32
97
117
116
111
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
112
114
111
100
117
99
116
123
103
114
105
100
45
99
111
108
117
109
110
45
103
97
112
58
52
56
112
120
125
125
46
109
45
100
101
115
105
103
110
95
95
111
112
116
105
111
110
115
123
103
114
105
100
45
97
114
101
97
58
111
112
116
105
111
110
115
125
46
109
45
100
101
115
105
103
110
95
95
112
114
101
118
105
101
119
123
103
114
105
100
45
97
114
101
97
58
112
114
101
118
105
101
119
125
46
109
45
100
101
115
105
103
110
45
100
101
116
97
105
108
115
95
95
116
105
116
108
101
123
103
114
105
100
45
97
114
101
97
58
116
105
116
108
101
59
111
118
101
114
102
108
111
119
45
119
114
97
112
58
98
114
101
97
107
45
119
111
114
100
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
45
100
101
116
97
105
108
115
95
95
116
105
116
108
101
123
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
125
125
46
109
45
100
101
115
105
103
110
45
100
101
116
97
105
108
115
95
95
116
105
116
108
101
32
46
104
95
95
104
49
45
45
115
109
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
125
46
109
45
100
101
115
105
103
110
95
95
114
97
116
105
110
103
115
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
50
52
112
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
112
97
100
100
105
110
103
58
52
56
112
120
32
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
114
97
116
105
110
103
115
123
103
97
112
58
50
52
112
120
59
112
97
100
100
105
110
103
58
52
56
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
114
97
116
105
110
103
115
123
112
97
100
100
105
110
103
58
52
56
112
120
32
54
52
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
114
97
116
105
110
103
115
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
103
97
112
58
51
50
112
120
59
112
97
100
100
105
110
103
58
52
56
112
120
32
50
52
48
112
120
125
125
46
109
45
100
101
115
105
103
110
95
95
114
97
116
105
110
103
115
45
104
101
97
100
105
110
103
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
109
97
114
103
105
110
45
116
111
112
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
109
105
110
45
119
105
100
116
104
58
50
49
48
112
120
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
114
97
116
105
110
103
115
45
104
101
97
100
105
110
103
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
108
97
114
103
101
45
50
48
48
41
125
125
46
109
45
100
101
115
105
103
110
95
95
114
97
116
105
110
103
115
45
115
101
114
118
105
99
101
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
50
52
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
95
95
114
97
116
105
110
103
115
45
115
101
114
118
105
99
101
115
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
125
125
46
109
45
100
101
115
105
103
110
95
95
114
97
116
105
110
103
115
45
115
101
114
118
105
99
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
52
112
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
109
105
110
45
119
105
100
116
104
58
50
49
48
112
120
125
46
109
45
100
101
115
105
103
110
95
95
114
97
116
105
110
103
115
45
115
101
114
118
105
99
101
45
110
97
109
101
44
46
109
45
100
101
115
105
103
110
95
95
114
97
116
105
110
103
115
45
100
101
116
97
105
108
115
123
99
111
108
111
114
58
99
117
114
114
101
110
116
67
111
108
111
114
125
46
109
45
100
101
115
105
103
110
95
95
114
97
116
105
110
103
115
45
115
101
114
118
105
99
101
45
115
116
97
114
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
46
109
45
100
101
115
105
103
110
95
95
114
97
116
105
110
103
115
45
100
101
116
97
105
108
115
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
123
112
97
100
100
105
110
103
45
116
111
112
58
52
56
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
51
50
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
32
46
99
111
110
116
97
105
110
45
115
116
111
114
101
102
114
111
110
116
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
114
111
119
115
58
49
102
114
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
49
102
114
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
103
97
112
58
52
56
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
52
112
120
125
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
97
110
100
45
102
97
113
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
52
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
97
110
100
45
102
97
113
115
123
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
114
111
119
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
97
110
100
45
102
97
113
115
62
42
123
45
119
101
98
107
105
116
45
102
108
101
120
58
49
59
102
108
101
120
58
49
125
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
102
97
113
115
32
46
116
112
45
97
99
99
111
114
100
105
111
110
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
102
97
113
115
32
46
116
112
45
97
99
99
111
114
100
105
111
110
32
46
108
105
110
107
95
95
99
116
97
123
109
97
114
103
105
110
45
116
111
112
58
49
50
112
120
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
102
97
113
115
32
46
116
112
45
97
99
99
111
114
100
105
111
110
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
99
111
110
116
101
110
116
45
45
111
112
101
110
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
64
109
101
100
105
97
32
40
104
111
118
101
114
58
32
104
111
118
101
114
41
32
97
110
100
32
40
112
111
105
110
116
101
114
58
32
102
105
110
101
41
123
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
102
97
113
115
32
46
116
112
45
97
99
99
111
114
100
105
111
110
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
99
111
110
116
101
110
116
45
45
111
112
101
110
58
104
111
118
101
114
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
125
64
109
101
100
105
97
32
40
104
111
118
101
114
58
32
104
111
118
101
114
41
32
97
110
100
32
40
112
111
105
110
116
101
114
58
32
102
105
110
101
41
123
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
102
97
113
115
32
46
116
112
45
97
99
99
111
114
100
105
111
110
58
104
111
118
101
114
123
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
102
97
113
115
32
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
98
117
116
116
111
110
45
116
101
120
116
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
116
101
120
116
45
97
108
105
103
110
58
108
101
102
116
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
102
97
113
115
32
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
98
117
116
116
111
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
102
97
113
115
32
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
98
117
116
116
111
110
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
99
111
110
116
101
110
116
45
45
111
112
101
110
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
45
98
111
116
116
111
109
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
64
109
101
100
105
97
32
40
104
111
118
101
114
58
32
104
111
118
101
114
41
32
97
110
100
32
40
112
111
105
110
116
101
114
58
32
102
105
110
101
41
123
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
102
97
113
115
32
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
98
117
116
116
111
110
58
104
111
118
101
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
102
97
113
115
32
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
99
111
110
116
101
110
116
44
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
102
97
113
115
32
46
116
112
45
97
99
99
111
114
100
105
111
110
95
95
99
111
110
116
101
110
116
32
112
123
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
112
114
111
100
117
99
116
45
113
117
97
108
105
116
121
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
49
48
48
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
98
111
120
45
115
104
97
100
111
119
58
48
32
50
112
120
32
52
112
120
32
48
32
114
103
98
97
40
50
49
44
50
49
44
51
53
44
48
46
50
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
103
97
112
58
56
112
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
112
97
100
100
105
110
103
58
50
52
112
120
59
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
115
101
108
102
58
98
97
115
101
108
105
110
101
59
97
108
105
103
110
45
115
101
108
102
58
98
97
115
101
108
105
110
101
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
112
114
111
100
117
99
116
45
113
117
97
108
105
116
121
32
104
52
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
112
114
111
100
117
99
116
45
113
117
97
108
105
116
121
32
104
52
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
112
114
111
100
117
99
116
45
113
117
97
108
105
116
121
32
112
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
41
59
102
111
110
116
45
119
101
105
103
104
116
58
53
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
112
114
111
100
117
99
116
45
113
117
97
108
105
116
121
45
105
109
97
103
101
123
104
101
105
103
104
116
58
56
48
112
120
59
119
105
100
116
104
58
56
48
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
45
52
48
112
120
59
114
105
103
104
116
58
50
52
112
120
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
53
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
53
100
101
103
41
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
112
114
111
100
117
99
116
45
113
117
97
108
105
116
121
45
105
109
97
103
101
32
105
109
103
123
119
105
100
116
104
58
105
110
104
101
114
105
116
59
104
101
105
103
104
116
58
105
110
104
101
114
105
116
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
95
95
108
105
99
101
110
115
111
114
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
58
50
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
56
112
120
59
112
97
100
100
105
110
103
58
50
52
112
120
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
103
97
112
58
49
50
112
120
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
95
95
108
105
99
101
110
115
111
114
45
108
111
103
111
123
104
101
105
103
104
116
58
50
52
112
120
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
95
95
108
105
99
101
110
115
111
114
45
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
51
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
119
101
105
103
104
116
58
54
48
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
55
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
125
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
102
97
113
45
99
111
110
116
97
105
110
101
114
32
104
50
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
52
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
100
101
115
105
103
110
45
112
114
111
100
117
99
116
45
105
110
102
111
45
45
102
97
113
45
99
111
110
116
97
105
110
101
114
32
104
50
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
99
97
110
118
97
115
123
100
105
115
112
108
97
121
58
98
108
111
99
107
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
108
105
110
107
45
53
48
48
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
50
53
112
120
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
99
97
110
118
97
115
45
45
111
116
104
101
114
123
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
99
97
112
105
116
97
108
105
122
101
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
99
97
110
118
97
115
45
45
116
111
112
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
109
97
114
103
105
110
58
97
117
116
111
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
50
44
32
109
105
110
109
97
120
40
48
44
32
49
102
114
41
41
59
103
114
105
100
45
103
97
112
58
49
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
112
111
108
97
114
111
105
100
115
95
95
99
111
110
116
101
110
116
123
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
51
44
32
109
105
110
109
97
120
40
48
44
32
49
102
114
41
41
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
112
111
108
97
114
111
105
100
115
95
95
99
111
110
116
101
110
116
123
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
53
44
32
109
105
110
109
97
120
40
48
44
32
49
102
114
41
41
125
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
99
111
110
116
101
110
116
45
45
115
101
111
45
108
105
110
107
115
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
112
111
108
97
114
111
105
100
115
95
95
99
111
110
116
101
110
116
45
45
115
101
111
45
108
105
110
107
115
123
109
97
114
103
105
110
45
116
111
112
58
50
53
112
120
125
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
99
111
110
116
101
110
116
45
45
115
119
97
116
99
104
101
115
123
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
49
102
114
59
109
97
120
45
119
105
100
116
104
58
51
48
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
112
111
108
97
114
111
105
100
115
95
95
99
111
110
116
101
110
116
45
45
115
119
97
116
99
104
101
115
123
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
50
44
32
49
102
114
41
59
109
97
120
45
119
105
100
116
104
58
54
48
48
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
112
111
108
97
114
111
105
100
115
95
95
99
111
110
116
101
110
116
45
45
115
119
97
116
99
104
101
115
123
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
51
44
32
49
102
114
41
59
109
97
120
45
119
105
100
116
104
58
49
48
48
48
112
120
125
125
46
109
45
112
111
108
97
114
111
105
100
95
95
112
111
108
97
114
111
105
100
45
115
119
97
116
99
104
123
104
101
105
103
104
116
58
50
49
48
112
120
59
119
105
100
116
104
58
49
48
48
37
125
46
109
45
112
111
108
97
114
111
105
100
95
95
112
111
108
97
114
111
105
100
45
115
119
97
116
99
104
45
100
101
116
97
105
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
108
105
103
104
116
101
114
59
112
97
100
100
105
110
103
58
49
48
112
120
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
104
52
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
115
101
109
105
98
111
108
100
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
112
111
108
97
114
111
105
100
115
95
95
104
52
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
104
52
45
45
115
101
111
45
108
105
110
107
115
123
109
97
114
103
105
110
45
116
111
112
58
48
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
50
53
112
120
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
115
101
99
116
105
111
110
123
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
112
111
108
97
114
111
105
100
115
95
95
115
101
99
116
105
111
110
123
109
97
114
103
105
110
45
116
111
112
58
53
48
112
120
125
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
112
111
108
97
114
111
105
100
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
98
111
114
100
101
114
45
114
97
100
105
117
115
58
53
112
120
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
112
111
108
97
114
111
105
100
115
95
95
112
111
108
97
114
111
105
100
46
109
45
112
111
108
97
114
111
105
100
115
95
95
112
111
108
97
114
111
105
100
45
45
115
112
114
101
97
100
123
109
97
114
103
105
110
45
114
105
103
104
116
58
51
48
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
51
48
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
57
55
48
112
120
41
123
46
109
45
112
111
108
97
114
111
105
100
115
95
95
112
111
108
97
114
111
105
100
58
104
111
118
101
114
32
46
109
45
112
111
108
97
114
111
105
100
115
95
95
112
111
108
97
114
111
105
100
45
105
109
103
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
115
99
97
108
101
40
49
46
50
41
59
116
114
97
110
115
102
111
114
109
58
115
99
97
108
101
40
49
46
50
41
125
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
112
111
108
97
114
111
105
100
45
45
98
111
114
100
101
114
123
98
111
114
100
101
114
58
49
112
120
32
115
111
108
105
100
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
50
48
48
41
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
112
111
108
97
114
111
105
100
45
45
110
111
45
98
103
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
116
114
97
110
115
112
97
114
101
110
116
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
112
111
108
97
114
111
105
100
45
99
111
108
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
109
105
110
45
104
101
105
103
104
116
58
54
53
112
120
59
119
105
100
116
104
58
49
48
48
37
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
112
111
108
97
114
111
105
100
45
99
111
110
116
101
110
116
58
104
111
118
101
114
32
46
109
45
112
111
108
97
114
111
105
100
115
95
95
99
97
110
118
97
115
45
45
116
111
112
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
112
111
108
97
114
111
105
100
45
105
109
103
123
119
105
100
116
104
58
49
48
48
37
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
57
55
48
112
120
41
123
46
109
45
112
111
108
97
114
111
105
100
115
95
95
112
111
108
97
114
111
105
100
45
105
109
103
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
115
99
97
108
101
40
49
46
48
51
41
59
116
114
97
110
115
102
111
114
109
58
115
99
97
108
101
40
49
46
48
51
41
59
116
114
97
110
115
105
116
105
111
110
58
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
32
46
50
53
115
32
101
97
115
101
45
111
117
116
59
116
114
97
110
115
105
116
105
111
110
58
116
114
97
110
115
102
111
114
109
32
46
50
53
115
32
101
97
115
101
45
111
117
116
59
116
114
97
110
115
105
116
105
111
110
58
116
114
97
110
115
102
111
114
109
32
46
50
53
115
32
101
97
115
101
45
111
117
116
44
32
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
32
46
50
53
115
32
101
97
115
101
45
111
117
116
125
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
112
111
108
97
114
111
105
100
45
105
109
103
45
99
111
110
116
97
105
110
101
114
123
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
125
46
109
45
112
111
108
97
114
111
105
100
115
95
95
112
111
108
97
114
111
105
100
45
115
117
98
116
105
116
108
101
45
99
111
110
116
123
112
97
100
100
105
110
103
58
49
53
112
120
32
53
112
120
125
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
123
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
112
97
100
100
105
110
103
45
116
111
112
58
52
56
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
52
56
112
120
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
32
46
109
45
116
97
98
45
110
97
118
123
112
111
115
105
116
105
111
110
58
114
101
108
97
116
105
118
101
125
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
32
46
109
45
116
97
98
45
110
97
118
95
95
99
111
110
116
101
110
116
123
109
105
110
45
104
101
105
103
104
116
58
50
55
48
112
120
59
111
118
101
114
102
108
111
119
45
120
58
97
117
116
111
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
49
48
50
51
112
120
41
123
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
32
46
109
45
116
97
98
45
110
97
118
95
95
99
111
110
116
101
110
116
123
111
118
101
114
102
108
111
119
45
120
58
105
110
105
116
105
97
108
125
125
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
32
46
109
45
116
97
98
45
110
97
118
95
95
116
97
98
45
99
111
110
116
101
110
116
123
100
105
115
112
108
97
121
58
103
114
105
100
59
103
114
105
100
45
97
117
116
111
45
102
108
111
119
58
99
111
108
117
109
110
59
103
97
112
58
49
50
112
120
59
109
97
114
103
105
110
45
105
110
108
105
110
101
58
97
117
116
111
59
112
97
100
100
105
110
103
45
108
101
102
116
58
49
54
112
120
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
49
54
112
120
59
119
105
100
116
104
58
45
119
101
98
107
105
116
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
45
109
111
122
45
102
105
116
45
99
111
110
116
101
110
116
59
119
105
100
116
104
58
102
105
116
45
99
111
110
116
101
110
116
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
32
46
109
45
116
97
98
45
110
97
118
95
95
116
97
98
45
99
111
110
116
101
110
116
123
112
97
100
100
105
110
103
45
108
101
102
116
58
52
56
112
120
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
52
56
112
120
59
103
97
112
58
49
54
112
120
125
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
49
48
50
51
112
120
41
123
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
32
46
109
45
116
97
98
45
110
97
118
95
95
116
97
98
45
99
111
110
116
101
110
116
123
103
114
105
100
45
97
117
116
111
45
102
108
111
119
58
114
111
119
59
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
52
44
32
49
102
114
41
59
119
105
100
116
104
58
49
48
48
37
125
125
64
109
101
100
105
97
32
115
99
114
101
101
110
32
97
110
100
32
40
109
97
120
45
119
105
100
116
104
58
32
55
54
55
112
120
41
123
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
32
46
109
45
116
97
98
45
110
97
118
95
95
116
97
98
45
99
111
110
116
101
110
116
123
103
114
105
100
45
116
101
109
112
108
97
116
101
45
99
111
108
117
109
110
115
58
114
101
112
101
97
116
40
50
44
32
49
102
114
41
125
125
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
32
46
109
45
116
97
98
45
110
97
118
95
95
108
105
115
116
123
45
109
115
45
111
118
101
114
102
108
111
119
45
115
116
121
108
101
58
110
111
110
101
59
115
99
114
111
108
108
98
97
114
45
119
105
100
116
104
58
110
111
110
101
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
109
97
114
103
105
110
45
116
111
112
58
50
52
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
52
112
120
59
111
118
101
114
102
108
111
119
45
120
58
97
117
116
111
59
112
97
100
100
105
110
103
45
108
101
102
116
58
49
54
112
120
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
49
54
112
120
125
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
32
46
109
45
116
97
98
45
110
97
118
95
95
108
105
115
116
58
58
45
119
101
98
107
105
116
45
115
99
114
111
108
108
98
97
114
123
100
105
115
112
108
97
121
58
110
111
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
52
56
48
112
120
41
123
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
32
46
109
45
116
97
98
45
110
97
118
95
95
108
105
115
116
123
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
125
125
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
32
46
109
45
116
97
98
45
110
97
118
95
95
105
116
101
109
123
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
125
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
32
46
109
45
116
97
98
45
110
97
118
95
95
105
116
101
109
32
97
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
51
48
48
41
125
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
32
46
109
45
116
97
98
45
110
97
118
95
95
105
116
101
109
45
45
97
99
116
105
118
101
32
97
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
125
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
32
46
109
45
116
97
98
45
110
97
118
95
95
108
111
97
100
101
114
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
53
48
37
59
108
101
102
116
58
53
48
37
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
45
53
48
37
44
32
45
53
48
37
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
45
53
48
37
44
32
45
53
48
37
41
125
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
95
95
116
105
116
108
101
123
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
100
105
115
112
108
97
121
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
109
97
114
103
105
110
45
116
111
112
58
48
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
48
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
112
97
100
100
105
110
103
45
108
101
102
116
58
49
54
112
120
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
49
54
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
55
54
56
112
120
41
123
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
95
95
116
105
116
108
101
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
108
105
110
101
45
104
101
105
103
104
116
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
45
45
109
111
114
101
45
98
121
45
97
114
116
105
115
116
123
98
111
114
100
101
114
45
114
97
100
105
117
115
58
49
50
112
120
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
109
97
114
103
105
110
58
50
52
112
120
32
48
32
48
59
112
97
100
100
105
110
103
58
49
50
112
120
32
50
52
112
120
125
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
95
95
116
105
108
101
123
119
105
100
116
104
58
49
56
56
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
95
95
116
105
108
101
123
119
105
100
116
104
58
49
51
54
112
120
125
125
64
109
101
100
105
97
32
40
109
97
120
45
119
105
100
116
104
58
32
49
48
50
51
112
120
41
123
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
95
95
116
105
108
101
123
119
105
100
116
104
58
49
48
48
37
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
50
56
48
112
120
41
123
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
95
95
116
105
108
101
123
119
105
100
116
104
58
49
55
52
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
57
50
48
112
120
41
123
46
109
45
97
108
115
111
45
97
118
97
105
108
97
98
108
101
45
112
114
111
100
117
99
116
115
95
95
116
105
108
101
123
119
105
100
116
104
58
50
50
54
112
120
125
125
46
109
45
115
105
109
105
108
97
114
45
100
101
115
105
103
110
115
95
95
104
50
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
50
52
112
120
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
109
45
115
105
109
105
108
97
114
45
100
101
115
105
103
110
115
95
95
99
111
110
116
101
110
116
123
109
97
114
103
105
110
45
116
111
112
58
52
56
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
52
56
112
120
125
46
109
45
115
105
109
105
108
97
114
45
100
101
115
105
103
110
115
95
95
116
105
108
101
115
123
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
102
108
101
120
45
119
114
97
112
58
110
111
119
114
97
112
59
103
97
112
58
49
50
112
120
59
111
118
101
114
102
108
111
119
45
120
58
97
117
116
111
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
52
112
120
125
46
109
45
115
105
109
105
108
97
114
45
100
101
115
105
103
110
115
95
95
116
105
108
101
115
32
46
116
112
45
100
101
115
105
103
110
45
116
105
108
101
45
45
108
105
103
104
116
123
45
45
116
105
108
101
45
98
97
99
107
103
114
111
117
110
100
45
99
111
108
111
114
58
32
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
45
97
54
48
41
125
46
109
45
115
105
109
105
108
97
114
45
100
101
115
105
103
110
115
95
95
116
105
108
101
123
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
48
59
102
108
101
120
45
115
104
114
105
110
107
58
48
59
119
105
100
116
104
58
49
56
56
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
52
112
120
41
123
46
109
45
115
105
109
105
108
97
114
45
100
101
115
105
103
110
115
95
95
116
105
108
101
123
119
105
100
116
104
58
99
97
108
99
40
49
48
48
37
32
47
32
54
41
59
45
119
101
98
107
105
116
45
102
108
101
120
45
115
104
114
105
110
107
58
49
59
102
108
101
120
45
115
104
114
105
110
107
58
49
125
125
46
109
45
115
105
109
105
108
97
114
45
100
101
115
105
103
110
115
95
95
102
111
111
116
101
114
123
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
116
111
112
58
50
52
112
120
125
46
109
45
115
105
122
101
114
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
100
105
115
112
108
97
121
58
98
108
111
99
107
59
104
101
105
103
104
116
58
51
54
53
112
120
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
48
59
114
105
103
104
116
58
48
59
98
111
116
116
111
109
58
48
59
108
101
102
116
58
48
59
122
45
105
110
100
101
120
58
49
48
48
48
48
48
125
46
109
45
115
105
122
101
114
32
46
98
116
110
58
102
111
99
117
115
123
111
117
116
108
105
110
101
58
110
111
110
101
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
57
55
48
112
120
41
123
46
109
45
115
105
122
101
114
123
122
45
105
110
100
101
120
58
49
125
125
46
109
45
115
105
122
101
114
95
95
98
116
110
115
32
46
98
116
110
123
98
97
99
107
103
114
111
117
110
100
58
116
114
97
110
115
112
97
114
101
110
116
59
98
111
114
100
101
114
58
49
112
120
32
115
111
108
105
100
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
110
111
114
109
97
108
59
109
97
114
103
105
110
45
108
101
102
116
58
55
46
53
112
120
59
109
97
114
103
105
110
45
114
105
103
104
116
58
55
46
53
112
120
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
56
112
120
59
112
97
100
100
105
110
103
45
108
101
102
116
58
48
59
112
97
100
100
105
110
103
45
114
105
103
104
116
58
48
59
112
97
100
100
105
110
103
45
116
111
112
58
56
112
120
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
99
97
112
105
116
97
108
105
122
101
59
116
114
97
110
115
105
116
105
111
110
58
48
46
50
115
59
119
105
100
116
104
58
54
56
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
57
55
48
112
120
41
123
46
109
45
115
105
122
101
114
95
95
98
116
110
115
32
46
98
116
110
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
50
48
48
59
112
97
100
100
105
110
103
45
98
111
116
116
111
109
58
49
53
112
120
59
112
97
100
100
105
110
103
45
116
111
112
58
49
53
112
120
59
119
105
100
116
104
58
49
48
48
112
120
125
125
46
109
45
115
105
122
101
114
95
95
98
116
110
115
32
46
111
110
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
98
111
114
100
101
114
45
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
125
46
109
45
115
105
122
101
114
95
95
99
111
110
102
105
103
115
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
100
105
115
112
108
97
121
58
110
111
110
101
59
116
114
97
110
115
105
116
105
111
110
58
48
46
49
53
115
125
46
109
45
115
105
122
101
114
95
95
99
111
110
102
105
103
115
45
119
114
97
112
46
111
110
32
46
109
45
115
105
122
101
114
95
95
99
111
110
102
105
103
115
123
100
105
115
112
108
97
121
58
98
108
111
99
107
125
46
109
45
115
105
122
101
114
95
95
99
111
110
102
105
103
115
45
99
116
114
108
123
99
117
114
115
111
114
58
112
111
105
110
116
101
114
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
52
48
48
41
59
99
111
108
111
114
58
119
104
105
116
101
59
112
97
100
100
105
110
103
58
53
48
37
125
46
109
45
115
105
122
101
114
95
95
99
111
110
102
105
103
115
45
119
114
97
112
46
111
110
32
46
109
45
115
105
122
101
114
95
95
99
111
110
102
105
103
115
45
99
116
114
108
123
100
105
115
112
108
97
121
58
110
111
110
101
125
46
109
45
115
105
122
101
114
95
95
99
111
110
102
105
103
115
45
119
114
97
112
123
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
53
48
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
102
108
101
120
45
100
105
114
101
99
116
105
111
110
58
99
111
108
117
109
110
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
48
59
114
105
103
104
116
58
48
59
119
105
100
116
104
58
52
50
112
120
59
104
101
105
103
104
116
58
51
56
112
120
59
116
114
97
110
115
105
116
105
111
110
58
48
46
51
115
59
111
118
101
114
102
108
111
119
58
104
105
100
100
101
110
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
45
49
48
112
120
44
32
49
48
112
120
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
45
49
48
112
120
44
32
49
48
112
120
41
59
98
111
120
45
115
104
97
100
111
119
58
48
32
48
32
52
112
120
32
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
52
48
48
41
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
57
55
48
112
120
41
123
46
109
45
115
105
122
101
114
95
95
99
111
110
102
105
103
115
45
119
114
97
112
123
104
101
105
103
104
116
58
54
54
112
120
59
119
105
100
116
104
58
55
52
112
120
125
125
46
109
45
115
105
122
101
114
95
95
99
111
110
102
105
103
115
45
119
114
97
112
46
111
110
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
112
114
105
109
97
114
121
45
54
48
48
41
59
104
101
105
103
104
116
58
49
48
48
37
59
119
105
100
116
104
58
49
48
48
37
59
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
48
44
32
48
41
59
116
114
97
110
115
102
111
114
109
58
116
114
97
110
115
108
97
116
101
40
48
44
32
48
41
59
98
111
120
45
115
104
97
100
111
119
58
110
111
110
101
125
46
109
45
115
105
122
101
114
95
95
108
97
98
101
108
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
102
111
110
116
45
102
97
109
105
108
121
58
118
97
114
40
45
45
102
111
110
116
45
102
97
109
105
108
121
45
112
114
105
109
97
114
121
45
98
111
108
100
41
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
59
109
97
114
103
105
110
45
116
111
112
58
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
51
55
53
112
120
41
123
46
109
45
115
105
122
101
114
95
95
108
97
98
101
108
123
109
97
114
103
105
110
45
116
111
112
58
49
53
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
57
55
48
112
120
41
123
46
109
45
115
105
122
101
114
95
95
108
97
98
101
108
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
59
102
111
110
116
45
119
101
105
103
104
116
58
110
111
114
109
97
108
59
109
97
114
103
105
110
45
116
111
112
58
50
53
112
120
59
109
97
114
103
105
110
45
98
111
116
116
111
109
58
49
48
112
120
125
125
46
109
45
115
105
122
101
114
95
95
112
114
111
109
112
116
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
59
116
101
120
116
45
97
108
105
103
110
58
99
101
110
116
101
114
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
51
55
53
112
120
41
123
46
109
45
115
105
122
101
114
95
95
112
114
111
109
112
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
57
55
48
112
120
41
123
46
109
45
115
105
122
101
114
95
95
112
114
111
109
112
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
125
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
123
104
101
105
103
104
116
58
99
97
108
99
40
49
48
48
37
32
45
32
49
51
46
55
50
53
52
57
48
49
57
54
49
37
41
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
116
111
112
58
99
97
108
99
40
53
48
37
32
45
32
49
51
46
55
50
53
52
57
48
49
57
54
49
37
41
59
111
112
97
99
105
116
121
58
48
59
116
114
97
110
115
105
116
105
111
110
58
48
46
51
115
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
46
111
110
32
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
123
111
112
97
99
105
116
121
58
49
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
46
111
110
32
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
100
105
115
97
98
108
101
100
123
111
112
97
99
105
116
121
58
48
59
112
111
105
110
116
101
114
45
101
118
101
110
116
115
58
110
111
110
101
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
110
101
120
116
44
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
112
114
101
118
123
99
111
108
111
114
58
119
104
105
116
101
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
120
108
97
114
103
101
45
51
48
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
57
55
48
112
120
41
123
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
110
101
120
116
44
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
112
114
101
118
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
120
108
97
114
103
101
45
52
48
48
41
125
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
110
101
120
116
58
97
102
116
101
114
44
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
112
114
101
118
58
97
102
116
101
114
123
99
111
110
116
101
110
116
58
39
226
151
128
239
184
142
39
59
116
101
120
116
45
115
104
97
100
111
119
58
48
32
48
32
50
112
120
32
98
108
97
99
107
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
110
101
120
116
32
115
112
97
110
44
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
112
114
101
118
32
115
112
97
110
123
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
50
48
48
41
59
116
101
120
116
45
116
114
97
110
115
102
111
114
109
58
117
112
112
101
114
99
97
115
101
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
59
122
45
105
110
100
101
120
58
49
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
57
55
48
112
120
41
123
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
110
101
120
116
32
115
112
97
110
44
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
112
114
101
118
32
115
112
97
110
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
115
109
97
108
108
45
52
48
48
41
125
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
110
101
120
116
123
114
105
103
104
116
58
48
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
115
116
97
114
116
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
115
116
97
114
116
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
110
101
120
116
32
115
112
97
110
123
112
97
100
100
105
110
103
45
108
101
102
116
58
49
56
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
57
55
48
112
120
41
123
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
110
101
120
116
32
115
112
97
110
123
112
97
100
100
105
110
103
45
108
101
102
116
58
50
52
112
120
125
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
110
101
120
116
58
97
102
116
101
114
123
45
119
101
98
107
105
116
45
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
49
56
48
100
101
103
41
59
116
114
97
110
115
102
111
114
109
58
114
111
116
97
116
101
40
49
56
48
100
101
103
41
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
112
114
101
118
123
108
101
102
116
58
48
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
101
110
100
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
102
108
101
120
45
101
110
100
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
112
114
101
118
32
115
112
97
110
123
112
97
100
100
105
110
103
45
114
105
103
104
116
58
49
56
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
57
55
48
112
120
41
123
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
97
114
114
111
119
46
112
114
101
118
32
115
112
97
110
123
112
97
100
100
105
110
103
45
114
105
103
104
116
58
50
52
112
120
125
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
110
97
109
101
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
102
111
110
116
45
119
101
105
103
104
116
58
98
111
108
100
59
109
97
114
103
105
110
45
114
105
103
104
116
58
52
112
120
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
116
101
120
116
123
98
97
99
107
103
114
111
117
110
100
58
118
97
114
40
45
45
99
111
108
111
114
45
110
101
117
116
114
97
108
45
57
48
48
41
59
104
101
105
103
104
116
58
49
51
46
55
50
53
52
57
48
49
57
54
49
37
59
112
111
115
105
116
105
111
110
58
97
98
115
111
108
117
116
101
59
98
111
116
116
111
109
58
48
59
119
105
100
116
104
58
49
48
48
37
59
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
49
48
48
41
59
100
105
115
112
108
97
121
58
45
119
101
98
107
105
116
45
102
108
101
120
59
100
105
115
112
108
97
121
58
102
108
101
120
59
45
119
101
98
107
105
116
45
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
106
117
115
116
105
102
121
45
99
111
110
116
101
110
116
58
99
101
110
116
101
114
59
45
119
101
98
107
105
116
45
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
97
108
105
103
110
45
105
116
101
109
115
58
99
101
110
116
101
114
59
102
111
110
116
45
119
101
105
103
104
116
58
50
48
48
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
116
101
120
116
32
115
112
97
110
123
99
111
108
111
114
58
118
97
114
40
45
45
99
111
108
111
114
45
119
104
105
116
101
41
59
109
97
114
103
105
110
45
108
101
102
116
58
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
49
48
50
53
112
120
41
123
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
116
101
120
116
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
50
48
48
41
125
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
119
114
97
112
123
104
101
105
103
104
116
58
49
48
48
37
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
119
114
97
112
32
46
103
108
105
100
101
95
95
115
108
105
100
101
123
104
101
105
103
104
116
58
49
48
48
37
125
46
109
45
115
105
122
101
114
95
95
115
108
105
100
101
114
45
119
114
97
112
32
46
103
108
105
100
101
95
95
115
108
105
100
101
32
105
109
103
123
104
101
105
103
104
116
58
49
48
48
37
125
46
109
45
115
105
122
101
114
95
95
118
105
101
119
123
109
97
114
103
105
110
45
116
111
112
58
53
112
120
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
51
55
53
112
120
41
123
46
109
45
115
105
122
101
114
95
95
118
105
101
119
123
109
97
114
103
105
110
45
116
111
112
58
50
48
112
120
125
125
64
109
101
100
105
97
32
40
109
105
110
45
119
105
100
116
104
58
32
57
55
48
112
120
41
123
46
109
45
115
105
122
101
114
95
95
118
105
101
119
32
46
98
116
110
123
102
111
110
116
45
115
105
122
101
58
118
97
114
40
45
45
102
111
110
116
45
115
105
122
101
45
109
101
100
105
117
109
45
51
48
48
41
59
112
97
100
100
105
110
103
58
49
53
112
120
32
51
48
112
120
125
125
10
