66
76
51
72
80
40
60
48
90
89
60
96
85
60
91
96
77
125
90
79
39
97
64
48
72
70
107
49
65
41
64
85
59
48
40
110
71
67
63
79
102
54
98
82
119
57
66
85
65
47
83
76
67
121
90
64
69
47
111
69
91
65
51
48
55
80
84
51
99
68
56
51
76
66
74
74
72
52
60
60
85
78
78
41
59
93
72
53
86
65
76
105
88
82
61
43
66
154
91
93
56
105
114
97
45
82
113
45
115
109
70
80
134
79
90
114
47
116
95
78
62
46
52
126
46
72
38
69
64
54
72
72
38
101
101
52
61
137
69
80
90
41
112
63
75
84
65
91
125
78
102
71
104
94
78
86
85
81
96
101
63
75
77
76
116
91
140
72
103
77
86
94
88
75
51
91
57
62
56
78
68
118
49
74
61
101
98
105
29
58
81
39
64
111
116
97
57
87
122
82
70
59
59
38
52
78
149
39
43
48
75
68
42
104
87
63
99
99
132
41
65
83
51
105
60
48
47
112
74
54
89
108
84
79
100
64
77
73
88
102
45
73
86
86
96
84
51
51
71
71
58
52
112
44
144
66
53
60
91
43
109
64
49
73
69
50
29
43
37
81
54
76
59
65
106
69
77
68
51
88
44
108
51
92
132
97
75
66
84
54
61
92
107
74
71
73
69
47
118
74
106
95
61
121
50
46
58
92
96
87
52
53
84
122
72
74
41
69
98
52
37
100
63
96
63
71
87
33
39
69
71
107
72
64
67
88
66
71
77
138
93
91
48
81
78
29
42
71
59
101
100
90
78
128
74
86
31
86
33
66
95
64
64
98
42
71
50
130
31
108
75
78
176
61
74
108
71
48
166
52
41
59
118
52
56
123
70
61
69
73
86
44
109
56
24
76
110
64
66
87
79
48
107
104
133
79
95
87
58
69
62
131
117
60
87
45
61
63
46
62
50
78
24
48
168
100
89
70
76
75
75
75
96
46
54
84
59
84
61
62
53
82
56
64
63
134
35
50
95
118
80
39
93
33
69
58
134
70
85
106
80
59
84
88
46
111
58
122
128
74
107
59
61
91
48
64
100
104
76
113
64
81
80
42
109
58
62
54
60
79
70
48
44
100
67
43
84
87
52
69
75
76
84
88
132
70
37
84
67
88
54
59
81
54
67
87
44
52
131
98
76
26
67
122
65
46
86
75
107
73
67
84
83
101
77
47
73
91
61
94
40
107
81
56
134
67
78
72
91
148
46
42
95
109
153
53
87
56
99
55
84
60
62
110
57
56
120
87
82
95
70
64
53
97
62
70
75
86
56
33
100
98
70
100
131
82
53
107
36
66
100
85
85
90
118
110
88
61
70
92
52
65
94
45
33
67
36
135
52
70
63
86
54
44
79
41
93
80
109
68
79
61
125
77
73
114
126
89
79
45
49
68
80
68
45
106
112
50
89
73
64
63
55
86
38
97
77
52
93
68
57
118
63
75
57
68
67
88
110
80
48
105
102
77
49
91
94
102
52
127
59
51
107
104
42
60
78
99
66
39
70
74
64
76
68
91
72
142
51
84
37
89
38
69
75
70
76
122
68
51
97
112
59
60
55
98
63
48
87
40
33
106
64
75
59
49
146
83
110
50
49
47
99
78
85
51
79
84
97
70
43
62
78
103
49
65
89
128
88
63
55
51
60
51
116
92
83
74
99
74
90
68
111
49
71
38
105
38
60
35
53
85
56
55
94
54
43
75
63
34
86
42
58
70
100
48
34
50
62
85
71
74
95
52
91
69
100
82
39
64
102
109
41
88
98
88
74
63
107
62
58
93
64
106
69
94
81
44
91
48
57
94
40
43
73
76
122
108
61
79
53
65
52
191
77
83
80
104
124
131
59
73
61
42
101
124
94
94
92
83
85
63
56
42
79
92
74
49
83
42
64
80
82
94
101
68
105
67
78
76
45
52
51
85
80
145
140
60
112
79
114
42
99
98
87
80
77
98
61
84
110
49
70
126
96
70
39
91
70
96
78
82
83
87
115
69
93
84
80
67
53
66
57
133
54
75
89
30
101
40
35
69
56
63
89
75
81
64
72
83
67
53
77
75
72
48
80
36
48
36
69
79
136
103
83
77
85
37
48
97
47
102
93
52
66
74
88
86
41
90
106
43
103
109
83
87
69
67
82
56
76
80
56
49
79
97
95
133
75
88
65
98
59
74
87
82
125
37
95
69
89
108
45
112
109
35
80
43
34
48
54
59
81
38
86
43
60
48
57
53
35
102
72
59
89
73
56
47
89
93
60
90
131
67
109
64
69
87
49
97
51
29
79
88
40
81
53
88
92
22
119
77
134
73
128
51
97
89
29
110
67
91
85
122
51
146
72
88
89
64
121
79
99
73
93
34
92
79
70
81
44
104
59
69
76
54
90
86
89
69
63
104
71
118
80
108
78
96
120
55
111
58
41
43
50
71
97
120
98
52
64
79
98
85
96
51
71
60
82
85
106
58
123
52
122
89
74
36
57
53
53
46
76
73
79
81
99
100
83
60
139
65
76
49
78
54
54
71
48
65
114
53
55
112
26
43
115
47
54
78
77
70
86
51
57
88
77
113
82
58
57
68
71
71
50
61
112
66
59
77
82
96
102
48
59
45
46
84
75
100
103
93
57
104
56
91
143
74
55
51
123
82
90
70
44
46
93
36
56
62
106
59
73
95
82
65
58
66
65
148
89
108
50
102
67
80
118
56
86
67
70
101
62
110
123
32
68
43
72
108
56
38
117
96
66
77
79
64
62
86
82
65
58
44
86
178
31
36
78
59
73
70
62
77
75
71
52
77
75
63
74
158
64
89
90
76
91
89
52
61
81
52
63
65
102
95
76
77
65
77
101
53
51
79
124
42
69
133
42
85
77
85
70
110
99
62
71
125
84
45
76
62
90
44
105
45
51
96
34
59
83
71
73
107
66
128
91
56
62
34
57
62
53
78
94
91
77
89
43
44
66
58
110
61
64
80
106
62
112
64
56
76
57
51
74
107
54
104
89
144
61
71
89
72
51
59
125
93
105
121
68
122
97
98
83
50
89
80
49
126
58
81
32
102
51
62
54
53
76
89
131
56
86
77
73
40
84
71
94
97
83
49
143
69
81
64
65
85
85
48
87
99
88
41
121
77
68
50
101
57
74
49
58
44
61
67
92
89
58
88
40
74
70
69
49
31
85
77
71
81
65
27
45
72
106
56
59
168
67
71
80
97
96
86
61
132
98
64
93
202
103
124
97
106
107
57
109
109
84
69
87
40
69
83
107
97
74
71
54
34
60
36
58
97
28
50
57
62
47
118
117
81
66
97
72
40
75
74
89
95
84
47
98
110
126
101
41
61
52
40
73
79
121
89
72
61
65
56
118
58
101
67
87
73
155
86
79
41
86
49
56
65
93
113
38
83
70
68
94
120
96
68
58
84
110
127
83
61
51
64
99
94
85
82
133
96
87
121
91
50
83
59
47
62
70
62
73
45
80
56
58
65
136
84
86
95
121
85
76
45
90
44
31
101
92
86
76
73
101
65
97
123
69
80
32
79
80
82
72
136
95
161
98
78
84
121
58
129
97
55
108
43
33
121
66
46
88
76
71
49
28
92
101
93
92
51
72
67
75
69
86
87
81
120
40
100
91
84
54
65
39
63
105
60
103
89
52
46
38
59
85
114
94
25
101
38
81
59
86
100
102
74
76
77
81
75
68
61
84
77
84
65
64
79
128
79
145
99
94
39
95
60
51
73
82
99
60
57
73
118
80
68
88
27
108
77
40
160
81
101
68
135
158
56
53
70
28
95
57
93
50
44
60
71
102
87
49
62
105
73
66
80
40
99
103
46
47
66
35
64
62
60
81
76
119
70
54
70
63
59
93
67
108
105
56
62
103
100
61
73
94
73
88
65
60
109
55
62
67
47
78
70
56
106
64
103
63
119
110
119
86
80
51
93
81
97
99
62
64
109
61
85
66
65
64
78
74
67
71
58
60
65
61
136
119
102
91
62
55
129
70
64
73
74
62
134
72
82
55
89
78
44
115
126
81
82
58
68
131
46
74
108
81
52
107
75
48
120
73
115
86
60
67
70
59
79
86
111
85
135
75
59
114
93
81
71
83
91
80
140
119
83
75
78
63
54
87
45
75
126
55
52
30
53
55
52
95
66
97
73
69
55
80
49
90
63
46
46
80
55
75
95
86
47
64
86
109
59
53
55
46
56
51
146
86
77
78
68
68
81
97
67
100
56
43
81
74
143
88
60
86
126
93
76
49
53
82
88
100
103
120
58
128
121
135
96
57
70
69
46
128
58
79
93
144
92
66
73
91
144
104
48
54
76
126
80
69
85
88
63
57
77
61
96
82
84
158
57
76
124
82
96
49
116
73
98
97
85
61
110
88
62
93
101
44
75
70
149
56
68
81
29
67
151
43
48
79
64
49
84
48
96
79
105
51
80
87
81
54
73
47
153
85
65
85
103
106
71
74
64
52
68
58
56
71
40
64
52
56
63
75
54
76
62
102
70
101
105
55
82
72
75
34
85
122
72
83
82
102
89
68
90
97
102
60
67
44
59
82
52
86
63
63
45
85
32
97
50
93
78
130
67
61
82
33
88
44
105
140
95
65
95
116
41
45
46
54
67
64
77
93
65
92
89
133
78
66
59
46
83
61
76
90
41
62
71
74
55
27
97
82
94
91
101
66
67
63
104
114
65
75
68
49
121
88
54
98
115
107
88
84
83
83
93
62
67
65
113
72
61
98
79
96
73
89
67
61
58
75
79
68
50
91
60
61
82
89
128
72
67
74
65
113
96
42
83
108
97
59
58
56
139
80
72
80
92
76
57
105
77
109
86
74
44
79
131
75
29
49
48
61
31
121
114
102
69
113
104
107
78
54
127
66
40
90
82
40
76
82
58
35
83
71
79
50
59
58
99
78
39
83
59
91
60
68
86
43
54
131
69
56
59
50
77
55
65
52
110
94
136
59
64
66
87
42
59
93
93
94
63
104
90
61
57
83
101
94
46
79
74
46
102
71
62
48
68
43
63
105
101
54
80
87
92
42
48
61
39
100
75
105
89
65
88
137
74
68
63
60
81
134
102
108
76
101
93
80
93
94
105
73
54
42
95
31
75
77
87
101
53
45
129
151
100
65
67
122
57
71
140
67
74
113
48
89
43
75
47
82
80
95
75
82
75
87
81
60
77
41
40
57
41
110
65
107
75
33
64
50
72
73
111
66
96
66
92
86
97
53
115
69
79
43
122
54
50
75
77
70
56
83
84
51
59
72
98
63
73
74
51
73
133
63
109
63
81
89
90
72
124
41
69
40
51
89
102
108
100
42
90
103
63
47
45
43
73
60
114
113
108
130
46
45
59
77
83
56
56
109
47
40
77
92
34
88
32
122
61
41
74
132
46
103
34
55
80
45
60
58
79
74
76
112
64
72
53
123
48
62
60
62
85
52
74
51
92
88
73
83
156
58
72
97
63
109
64
56
55
71
66
61
97
80
66
55
80
109
53
79
43
64
82
67
76
54
81
69
62
74
84
50
68
69
52
83
50
106
28
60
62
94
70
86
75
46
157
98
37
50
77
25
84
68
74
72
76
84
69
50
93
57
71
107
40
34
67
88
55
53
87
100
22
88
74
94
100
101
50
54
80
58
116
46
154
65
78
81
106
66
77
59
89
99
76
71
76
186
70
78
95
94
106
53
69
80
72
34
58
53
74
77
28
95
56
44
164
71
98
112
126
72
101
111
132
73
102
110
94
75
121
148
72
52
80
132
60
96
49
92
43
26
100
35
76
91
102
67
82
75
111
123
50
32
110
110
103
100
127
100
112
88
89
86
74
51
140
51
84
95
81
67
68
70
81
90
66
133
35
46
107
34
102
82
32
49
78
68
32
83
83
43
75
92
70
85
101
98
94
68
116
83
124
97
50
41
45
85
98
75
70
67
97
89
82
39
34
72
73
57
79
79
45
61
87
37
46
54
54
84
81
62
53
113
58
90
103
89
73
82
99
73
63
88
64
62
77
32
61
144
48
70
47
77
102
43
25
84
82
72
44
70
133
43
69
64
82
74
106
86
88
69
84
57
111
63
87
55
64
65
47
119
73
58
65
74
73
122
99
66
54
104
98
106
76
48
110
106
116
109
112
87
54
85
45
103
118
93
93
66
88
85
80
50
71
63
52
108
80
64
108
110
70
74
77
80
55
25
55
58
68
60
59
59
41
62
80
91
116
54
55
76
88
46
79
91
85
49
61
50
98
71
97
89
79
101
105
69
108
102
46
127
87
46
78
68
54
92
110
50
93
71
31
66
91
123
73
57
107
62
89
73
130
80
77
83
31
39
113
61
86
50
67
60
59
43
87
45
66
70
74
70
83
79
108
66
120
86
91
94
71
53
145
73
92
54
82
60
59
43
113
42
129
54
79
99
45
70
59
63
101
79
42
64
55
90
58
79
56
58
98
68
78
83
87
69
60
57
56
40
82
131
58
83
70
77
63
66
46
102
73
72
49
56
41
90
82
32
65
70
62
58
86
95
40
101
60
83
75
70
100
81
82
157
102
83
53
44
46
84
90
75
76
54
49
115
65
87
91
66
135
62
88
91
50
115
65
127
86
80
40
80
47
62
44
93
122
56
92
39
137
105
83
78
52
96
57
84
113
122
63
112
66
55
52
41
81
78
74
95
44
92
36
95
74
68
119
119
67
75
37
83
77
54
97
53
52
64
51
94
86
75
78
69
83
123
95
81
93
53
97
87
64
83
77
62
80
73
78
41
49
54
77
101
113
94
69
101
135
35
93
128
47
79
94
88
84
55
118
56
48
55
65
127
92
44
71
127
54
65
69
84
57
62
55
26
87
59
94
94
59
34
39
72
59
70
73
78
115
46
119
113
85
73
93
45
73
77
61
109
90
54
106
38
72
138
80
110
84
127
77
45
75
59
84
90
133
40
88
86
68
61
86
86
86
121
118
86
53
39
80
83
95
65
92
80
95
74
44
39
90
49
69
82
93
63
70
82
37
134
61
82
37
60
80
97
93
95
103
114
112
110
66
84
76
80
88
66
86
54
59
69
64
113
52
111
47
123
132
72
124
70
73
159
58
60
77
77
42
86
50
74
112
68
58
74
49
73
42
76
112
43
73
60
87
110
58
73
134
115
141
98
89
83
55
56
80
63
60
134
114
64
128
144
106
57
68
50
44
86
81
39
31
112
45
68
80
132
98
63
124
88
87
111
81
50
55
103
69
102
107
92
82
79
90
69
47
70
85
68
147
55
73
84
63
29
43
73
141
114
66
37
60
91
81
72
87
136
122
68
73
56
56
61
97
69
72
87
78
111
48
56
87
21
79
65
48
62
70
72
95
98
37
72
63
66
46
40
111
88
55
98
61
50
85
48
80
64
93
101
43
88
81
102
58
73
59
39
92
102
71
94
79
91
75
70
107
75
82
58
122
112
42
119
81
32
121
74
61
36
113
48
75
75
92
76
53
51
117
58
75
31
49
119
66
90
76
32
70
78
79
118
70
82
107
79
82
77
102
90
57
140
99
44
53
65
77
52
89
84
76
94
45
50
36
67
51
66
102
94
89
59
62
104
79
58
60
64
66
92
47
74
92
104
91
62
98
42
92
62
121
41
144
93
118
88
76
78
62
53
77
88
102
76
57
68
88
83
50
85
69
29
73
51
119
98
93
93
75
86
51
48
74
80
126
82
48
60
61
34
54
80
80
70
110
103
49
73
66
42
69
98
54
53
99
70
67
67
79
88
111
31
86
38
89
79
81
75
53
124
115
97
97
101
108
107
25
118
100
73
87
59
70
48
85
50
97
57
91
77
54
58
56
103
119
28
73
74
68
54
133
107
57
62
90
96
107
84
83
85
48
102
111
62
55
131
71
46
100
119
113
67
76
58
69
74
90
89
60
105
41
57
73
77
50
90
72
86
104
78
90
49
49
78
62
58
64
73
70
47
104
66
56
74
60
52
96
116
92
79
83
107
84
81
67
79
55
34
43
75
34
93
77
107
82
55
105
39
85
57
74
85
64
72
113
72
91
57
82
82
76
59
138
56
93
86
79
76
80
130
88
83
41
30
64
95
60
93
78
66
117
131
65
71
83
110
130
52
55
89
87
75
90
67
70
76
92
95
62
48
82
67
83
106
65
118
44
73
121
97
61
56
51
100
84
84
80
74
95
84
80
65
64
81
103
77
77
100
57
87
50
63
96
39
67
66
117
197
52
81
78
80
52
46
71
118
82
89
52
72
98
37
56
61
62
93
122
50
81
51
107
62
88
108
69
124
79
65
31
80
76
52
77
55
83
124
107
107
91
116
73
52
77
35
73
63
99
95
57
79
51
60
88
71
91
72
30
92
50
98
54
82
101
68
66
113
107
108
67
63
84
102
51
56
105
71
113
74
78
74
60
63
47
64
83
90
48
70
64
24
98
144
76
109
94
75
47
74
60
71
66
41
88
60
95
82
62
86
96
38
89
66
62
36
69
51
73
57
146
77
95
69
80
91
48
56
124
65
83
73
102
69
124
106
79
138
164
35
98
79
82
84
90
48
124
52
78
69
82
48
107
51
73
83
76
133
100
72
53
64
76
43
85
93
83
133
79
80
127
113
22
97
79
95
55
61
76
78
97
95
75
51
62
70
110
41
58
83
33
69
51
82
68
56
113
82
69
115
78
60
59
78
73
61
81
146
99
53
102
95
92
97
64
64
41
113
97
57
102
47
62
105
85
72
61
139
85
116
44
57
60
76
77
71
77
64
160
76
99
126
73
55
49
65
63
52
60
54
90
124
85
146
56
78
100
74
122
89
52
88
98
61
61
72
52
108
82
100
78
100
72
95
90
75
35
58
68
91
78
103
73
77
106
67
119
76
70
71
69
132
48
70
67
53
76
75
107
97
56
63
53
60
75
90
94
63
138
86
73
57
123
59
66
79
109
99
80
103
102
63
127
92
104
104
90
110
96
37
99
52
63
60
64
93
114
73
98
34
175
31
90
46
126
138
90
68
53
90
88
117
53
97
125
76
84
82
101
58
88
166
172
60
47
121
84
82
83
75
54
61
54
49
110
48
62
89
107
92
76
91
44
65
103
78
47
91
70
60
78
98
55
61
79
114
69
51
94
74
119
136
108
42
74
39
92
77
57
75
65
55
113
114
85
51
41
73
41
58
94
69
48
104
82
63
57
109
81
55
65
69
64
81
61
56
69
77
94
52
107
82
127
55
54
100
65
98
127
52
75
71
48
55
108
128
56
42
78
60
67
129
71
36
129
70
35
73
113
87
85
69
55
95
69
85
71
70
90
92
64
76
85
71
34
80
100
71
71
56
89
77
62
94
109
61
61
112
96
58
54
64
50
74
56
55
75
77
60
95
83
93
92
56
74
119
122
63
53
102
53
63
56
80
105
54
69
47
57
92
73
92
97
78
128
129
93
42
70
69
28
79
108
80
94
102
120
125
51
49
59
45
107
79
106
75
64
55
80
103
113
57
31
89
102
95
77
59
63
101
61
108
91
59
69
104
73
70
88
95
106
59
72
81
52
87
53
80
70
68
58
72
45
36
85
41
104
59
48
67
33
83
43
75
70
81
87
61
114
44
49
88
66
63
67
113
86
79
96
33
42
77
52
60
104
90
54
59
68
115
69
69
52
81
69
70
68
39
40
83
83
51
56
33
67
149
55
54
122
93
56
97
112
66
55
60
57
71
100
51
103
97
107
89
80
125
52
64
89
47
79
72
99
47
89
85
58
93
72
45
66
82
58
109
139
55
94
80
73
48
67
85
107
97
79
64
68
70
39
61
87
46
66
88
61
53
50
96
88
98
61
88
52
53
98
62
84
46
99
60
90
62
47
81
81
87
89
82
117
41
66
37
39
77
69
61
43
78
93
70
58
81
110
59
89
45
64
110
74
108
63
108
83
64
55
75
64
74
98
85
64
63
79
65
120
79
94
101
55
72
60
33
70
95
103
72
91
62
68
101
51
93
77
78
50
87
81
99
71
106
62
70
83
98
72
86
44
69
71
110
57
106
47
65
62
107
75
101
59
84
74
76
90
89
117
53
115
129
79
82
88
67
82
67
64
35
93
55
109
71
36
106
102
116
66
63
51
92
60
91
53
101
99
124
75
99
62
50
89
97
100
166
56
64
62
36
47
124
70
51
27
118
67
49
74
46
51
65
81
59
56
97
63
88
65
87
52
88
45
68
54
108
43
62
42
98
33
82
60
91
152
85
86
94
22
80
73
91
95
109
78
57
96
56
96
98
47
60
95
81
113
117
84
155
108
151
59
158
36
70
39
91
65
51
59
61
94
130
98
109
40
66
50
67
90
98
36
74
59
52
121
100
51
112
39
108
70
33
86
88
41
71
93
94
98
88
87
51
55
78
42
113
87
49
88
114
74
93
140
71
91
67
111
131
46
146
68
84
38
85
60
56
109
77
80
40
99
71
70
78
27
120
82
60
105
80
92
99
72
113
113
52
90
124
58
54
51
66
65
81
55
99
88
77
48
53
68
52
68
85
77
97
65
98
53
75
64
90
103
95
120
74
58
61
71
98
87
94
65
44
107
52
53
119
111
78
50
47
84
63
71
85
72
135
75
46
106
65
94
78
71
67
50
126
74
124
72
87
109
81
67
88
82
43
49
74
104
50
82
94
54
105
118
43
97
87
87
97
104
69
34
138
95
72
102
38
76
47
92
62
71
99
89
68
69
152
86
67
94
57
74
51
119
73
72
63
101
115
76
88
47
114
116
72
63
72
54
87
68
85
118
58
36
74
76
136
115
148
65
74
64
101
63
96
108
64
104
44
69
55
102
57
58
93
74
75
40
58
92
102
66
78
84
80
93
49
84
72
96
64
74
80
86
49
47
67
36
62
93
44
75
157
90
83
107
102
94
51
91
45
114
76
85
86
56
95
73
99
66
76
79
78
50
72
82
57
54
78
63
91
64
69
93
69
85
96
66
39
66
46
39
113
52
75
46
83
61
54
53
106
125
106
76
92
62
93
84
107
67
90
87
138
42
110
62
83
59
111
34
132
66
100
71
79
40
68
64
91
71
84
69
66
86
77
94
135
77
62
83
84
62
56
79
144
55
41
76
73
94
131
75
88
45
81
78
75
70
60
97
103
86
57
63
51
86
58
101
78
53
92
125
22
72
113
46
98
87
82
113
61
78
59
136
60
116
65
137
37
85
121
71
107
69
56
87
130
67
63
103
64
138
68
68
98
66
91
49
93
88
74
50
44
75
54
51
45
120
63
77
78
91
125
73
84
29
135
65
86
109
50
99
90
52
63
56
132
114
98
38
71
161
104
70
55
55
59
94
144
77
67
43
94
71
99
61
73
93
103
67
66
51
74
116
109
113
91
65
67
100
63
108
65
60
62
67
52
64
65
84
45
121
91
71
78
71
131
73
68
58
50
46
43
114
84
86
44
53
40
54
43
72
74
63
79
77
39
70
78
48
68
109
86
46
119
121
53
91
65
87
81
58
94
124
108
65
72
109
51
99
90
104
47
47
40
42
104
67
108
80
42
94
124
102
62
43
82
37
130
74
81
88
116
69
88
91
52
59
126
84
84
71
59
112
39
82
61
109
112
95
87
85
73
104
78
144
73
125
99
89
76
73
81
51
82
82
118
85
52
94
89
43
53
41
61
95
84
64
109
84
72
114
96
65
72
63
64
101
74
64
100
87
78
92
50
67
107
118
88
40
58
79
73
49
85
71
63
117
82
75
97
69
91
63
60
93
115
36
90
73
46
77
68
113
110
54
85
57
78
164
79
99
135
115
57
59
74
112
87
89
59
115
91
86
81
57
40
88
72
75
40
68
32
71
130
63
62
48
92
57
34
100
93
66
120
88
68
83
105
76
94
92
67
64
31
100
50
76
85
69
79
103
52
97
70
74
90
57
49
87
52
60
90
67
71
69
79
67
57
58
92
29
62
51
48
91
83
29
76
64
75
45
77
88
76
85
59
112
72
85
55
80
55
85
98
89
70
86
112
33
85
73
72
59
57
96
51
45
59
80
32
82
69
123
119
63
84
190
96
115
146
72
59
61
172
59
77
83
84
134
109
54
70
84
40
100
74
95
65
92
89
40
53
100
61
61
50
58
115
46
143
61
37
51
96
40
55
98
68
35
59
58
77
47
96
88
84
62
94
58
66
91
70
50
105
98
107
72
46
64
57
76
79
111
76
34
99
82
40
104
75
35
70
54
118
139
92
74
64
84
84
121
88
101
54
129
87
87
55
49
40
83
87
54
69
73
92
56
74
110
97
90
69
58
61
98
95
64
111
59
119
138
85
58
76
66
62
35
56
96
52
37
145
111
126
82
48
185
122
88
56
88
83
46
127
107
75
54
113
98
78
64
107
65
93
75
87
79
51
30
40
102
138
63
65
82
66
79
78
78
58
51
74
74
37
59
94
66
36
45
61
67
43
74
116
93
96
130
69
90
80
54
100
63
77
47
50
88
45
49
69
87
70
47
68
98
70
76
98
63
84
99
47
64
61
98
74
83
45
33
129
52
107
46
61
110
53
52
45
55
99
56
50
123
55
91
26
113
88
72
106
41
90
73
107
107
46
98
41
146
112
96
67
111
87
61
78
80
78
87
83
58
60
45
47
93
69
70
54
84
89
41
44
85
67
91
78
98
41
80
75
101
136
101
80
115
73
130
69
44
58
50
61
96
66
108
62
110
54
70
79
76
95
108
61
63
112
107
77
89
66
53
71
65
91
64
80
71
101
78
120
99
59
78
123
54
97
93
60
86
118
167
70
88
97
87
72
63
103
46
81
67
95
112
56
117
53
55
58
78
88
77
91
64
116
50
89
87
41
90
96
70
46
81
55
70
77
101
65
55
56
86
83
89
34
88
70
107
78
108
61
77
59
65
108
60
37
74
69
76
73
72
48
83
69
129
101
57
72
60
77
72
76
67
89
123
40
93
50
112
99
70
100
109
68
83
121
71
63
61
73
99
46
124
94
73
59
64
54
51
74
94
70
84
62
79
102
47
97
71
107
49
100
47
72
41
80
109
56
56
54
98
74
66
80
64
90
69
134
67
88
65
91
56
69
104
73
108
47
65
74
104
93
64
47
117
65
73
55
114
70
110
57
44
76
77
83
68
97
77
72
52
63
50
79
84
104
39
89
100
147
37
70
61
115
95
83
73
101
95
90
109
60
60
45
94
38
80
123
68
76
93
77
39
76
69
76
66
87
114
79
59
147
55
83
88
98
58
128
83
35
68
77
69
118
116
113
88
78
49
109
63
52
50
115
70
81
116
55
69
73
67
51
118
124
89
45
89
57
32
82
71
142
65
78
97
145
76
67
87
57
53
89
83
41
178
71
77
57
78
86
65
51
84
53
56
75
70
116
64
66
45
107
78
48
85
53
91
49
95
105
63
86
132
113
36
57
127
61
75
74
82
90
65
66
63
64
94
41
47
87
65
32
75
90
81
87
121
73
94
64
61
109
85
46
89
51
51
45
95
79
84
58
51
132
62
56
48
81
92
90
66
63
95
64
53
107
55
54
58
62
89
92
83
77
52
100
104
78
93
53
127
70
93
136
110
65
70
94
140
100
66
62
77
82
66
82
76
115
59
48
103
80
86
111
98
59
79
103
86
53
76
104
81
41
60
127
89
102
81
103
85
66
137
57
101
64
59
59
79
50
87
67
35
51
80
93
67
124
68
88
83
88
50
69
44
109
91
81
103
65
70
88
56
100
130
50
43
42
51
81
115
92
114
56
40
61
91
60
80
90
67
99
80
57
118
39
113
71
68
81
61
91
113
93
85
81
89
91
59
149
82
103
65
52
43
110
140
68
66
73
32
115
98
76
97
98
51
54
88
66
61
76
56
82
78
77
66
118
97
99
42
55
78
87
54
66
70
84
82
72
109
72
89
60
84
96
99
101
75
60
44
103
92
83
78
93
62
51
43
74
73
48
68
63
83
106
54
75
79
57
130
103
69
69
61
91
60
103
76
98
105
74
34
98
37
118
96
49
75
51
103
65
75
33
43
57
87
64
129
69
63
66
76
73
96
63
93
110
101
76
91
100
68
122
108
86
88
76
75
63
83
102
75
29
51
88
86
74
63
61
74
86
70
44
112
77
77
101
78
52
47
42
83
92
23
61
31
82
104
95
80
48
95
50
91
121
105
66
96
69
73
57
36
46
145
45
97
86
66
143
61
76
115
46
61
112
60
70
120
48
123
31
129
59
31
159
75
83
53
57
62
73
36
66
78
62
126
43
48
61
105
122
86
78
56
117
89
79
32
48
52
75
79
86
60
103
48
52
90
90
113
69
48
67
67
53
88
132
140
64
148
74
107
82
84
59
55
95
57
28
94
65
89
59
76
82
53
66
106
59
74
54
66
99
69
81
92
82
79
49
109
67
72
70
82
51
64
102
81
99
50
114
76
49
86
99
49
87
78
41
45
76
97
91
78
74
75
119
66
31
53
59
84
71
74
87
73
79
72
92
84
122
58
58
102
37
82
107
61
69
58
68
84
106
73
50
69
72
110
94
66
77
89
53
31
81
69
83
113
82
61
60
54
86
46
87
60
73
47
65
55
62
57
39
64
92
75
79
77
40
66
92
64
50
77
44
66
51
102
96
104
94
57
67
62
97
52
69
40
110
61
40
79
110
87
97
112
120
71
52
50
51
83
67
111
94
72
127
43
72
47
73
86
58
113
62
118
86
78
51
72
67
98
73
63
51
112
120
85
67
98
69
43
71
88
52
59
123
151
77
77
100
80
75
89
53
107
94
82
112
51
81
105
76
91
88
32
52
116
93
64
63
133
47
83
47
33
74
47
62
48
109
88
101
69
64
65
78
64
54
105
97
87
69
91
115
51
94
92
56
48
88
66
93
44
102
46
88
105
101
51
65
100
71
51
59
54
90
91
63
85
78
115
62
82
51
55
51
41
82
86
105
82
63
96
64
54
43
59
116
74
72
46
78
115
78
59
93
67
85
112
74
111
100
85
101
63
70
60
87
82
72
63
96
91
69
68
69
51
69
56
66
69
98
45
52
107
76
76
113
75
90
73
93
62
74
47
43
71
82
114
83
63
97
31
63
123
83
87
47
70
152
52
66
80
95
82
102
82
41
72
65
70
73
32
46
106
135
67
133
34
59
78
77
128
62
119
116
48
104
47
48
73
90
51
85
82
64
78
69
122
98
59
70
101
51
46
108
65
90
97
69
151
47
65
63
102
41
67
97
87
79
56
80
80
67
36
87
108
55
27
81
44
80
100
60
71
46
45
59
70
79
113
100
59
156
93
91
88
96
50
40
49
64
103
87
55
75
83
88
77
87
97
61
30
75
91
52
45
55
59
100
91
75
58
61
84
66
144
96
83
79
36
85
81
73
51
108
70
62
91
44
106
79
81
101
128
117
116
31
113
83
71
53
56
67
56
43
74
92
119
162
120
52
46
118
59
89
106
82
42
85
72
65
45
44
44
78
53
96
52
114
64
86
66
102
90
100
63
131
85
111
53
83
69
84
69
41
68
76
64
114
46
62
55
58
105
102
109
69
60
77
46
47
106
76
83
99
39
61
80
67
81
111
76
93
83
47
50
43
77
37
88
32
72
57
40
68
62
60
118
128
55
54
127
56
99
114
123
85
64
95
79
62
42
73
63
56
57
101
77
80
47
81
48
65
115
193
35
43
69
62
113
26
75
69
55
45
80
72
79
108
55
72
86
106
65
125
82
81
87
66
61
135
71
98
88
60
115
22
117
20
58
81
76
24
153
62
53
59
59
87
101
69
88
42
101
86
65
58
66
105
71
102
90
51
29
100
78
95
94
72
59
113
64
72
58
42
76
50
43
105
102
88
77
92
80
60
96
93
72
33
63
86
66
48
65
84
99
65
66
108
80
81
52
83
99
33
103
75
94
71
69
67
73
75
63
101
88
143
87
29
46
41
77
67
61
86
99
88
83
82
87
77
65
65
71
58
100
36
53
96
116
85
91
83
80
83
70
65
95
98
63
50
67
103
64
46
100
57
42
101
72
57
55
109
99
102
53
63
67
54
119
122
56
109
92
72
111
182
51
129
115
80
99
47
82
114
100
67
57
46
62
82
80
46
107
50
85
53
83
131
83
101
75
125
71
103
82
58
89
87
74
77
110
20
69
65
94
68
66
61
71
62
49
79
113
118
69
46
43
78
68
89
57
77
96
90
121
102
74
79
71
82
45
66
53
74
74
43
85
55
108
75
189
92
103
52
90
63
37
102
148
76
38
38
55
94
63
90
100
37
77
63
89
80
111
74
52
95
90
92
93
88
102
51
70
65
84
71
171
135
88
89
77
72
70
51
105
39
74
85
59
85
56
63
53
60
68
101
71
41
76
81
53
69
108
33
84
55
57
59
106
75
57
71
76
90
79
38
65
70
107
128
105
50
92
85
95
63
75
70
77
77
74
82
38
60
88
64
90
64
85
80
96
82
121
64
90
85
64
91
95
99
54
60
105
36
100
49
152
41
101
76
79
86
88
54
64
77
81
98
77
77
119
90
97
86
84
69
90
60
70
34
74
79
54
92
48
67
77
120
94
175
55
69
64
74
54
107
100
51
104
110
66
66
71
104
69
31
62
71
48
167
70
140
93
43
54
88
54
50
97
52
93
97
46
97
80
89
65
94
114
68
52
41
72
68
79
85
158
59
107
43
145
72
75
55
42
58
64
83
76
74
82
71
71
56
42
60
121
51
66
83
92
47
78
29
111
47
55
64
73
97
85
75
115
48
61
50
104
66
111
76
65
77
63
57
59
25
50
85
97
73
101
87
54
73
103
70
86
101
96
136
94
86
38
50
93
92
110
74
99
76
39
86
46
100
58
79
77
100
63
66
102
54
44
115
68
40
33
61
73
143
76
55
76
114
60
116
41
97
35
113
64
53
61
57
96
101
44
38
92
93
88
99
79
147
103
67
58
49
80
87
79
67
68
57
50
55
103
47
61
84
111
41
80
51
48
99
85
124
84
55
84
129
34
66
94
61
84
75
61
78
72
91
66
134
83
40
80
58
61
80
105
71
117
41
72
89
85
76
64
67
81
51
60
37
91
67
66
53
82
80
95
64
100
57
77
52
58
52
78
56
85
67
38
85
102
90
117
85
72
68
67
108
124
45
69
99
131
73
137
61
64
90
53
61
79
55
84
83
69
72
110
75
86
97
74
73
71
128
58
53
93
99
60
84
73
68
123
79
75
87
73
104
30
73
62
69
90
134
58
90
60
56
47
72
123
67
82
69
47
68
59
71
103
77
97
92
62
41
44
73
74
54
56
84
74
85
55
69
63
154
82
89
36
63
75
71
66
30
44
45
72
100
68
91
59
56
82
107
115
73
73
111
83
73
88
94
70
66
47
65
123
63
51
202
96
42
136
83
119
68
109
62
62
65
47
64
89
87
90
88
90
55
92
86
112
83
149
72
70
119
111
62
73
66
89
68
68
50
64
71
90
59
68
102
101
50
86
63
71
37
97
92
105
67
69
68
38
69
56
102
55
66
85
73
66
66
104
119
49
155
26
109
57
58
117
77
44
116
74
54
50
110
108
60
100
86
94
99
51
57
65
119
93
68
70
103
137
78
89
78
85
33
93
58
83
106
59
58
93
46
83
53
60
72
118
73
53
61
110
96
140
111
78
82
87
73
59
60
44
83
77
38
52
55
65
81
88
77
60
50
89
50
56
84
74
43
103
83
51
77
93
85
39
95
83
74
82
66
99
106
78
59
81
49
93
34
112
78
78
57
63
41
113
67
40
59
66
77
57
81
83
65
107
61
95
69
100
85
60
60
111
72
59
44
118
67
96
92
76
65
70
50
82
62
97
77
69
74
47
109
150
91
72
34
111
52
94
82
72
65
52
148
66
105
115
105
66
50
76
73
103
135
46
92
66
107
143
100
49
49
61
68
53
52
48
137
46
102
98
61
57
64
57
42
107
97
82
94
80
119
24
81
77
109
82
92
114
75
37
35
75
75
61
144
102
54
55
64
45
75
110
92
98
115
63
90
110
56
38
98
62
64
51
85
65
68
77
111
160
76
52
61
85
114
79
59
25
128
92
70
71
46
92
44
96
56
37
116
52
78
93
96
57
101
68
105
58
79
153
58
60
108
71
91
66
109
68
39
95
67
44
89
86
45
46
99
99
88
60
61
33
116
78
69
79
91
84
91
62
62
123
43
85
92
92
118
48
79
55
104
57
52
73
67
81
70
65
61
69
79
35
63
80
59
91
89
60
116
48
113
82
60
73
52
87
37
49
68
67
91
69
87
51
58
101
57
102
70
85
57
111
65
62
99
93
104
82
71
91
108
129
77
72
128
87
81
62
139
56
85
75
71
43
113
74
149
128
64
126
69
69
62
53
59
63
48
79
78
75
52
76
48
110
61
59
103
70
111
139
50
45
74
49
96
61
79
84
33
44
49
107
81
50
117
82
57
71
127
79
65
60
107
64
79
86
37
103
100
72
50
42
57
68
135
100
108
87
67
51
69
106
103
63
111
66
57
20
52
108
80
55
50
121
51
41
81
78
67
64
45
110
48
62
57
132
99
91
79
49
55
77
58
107
51
66
98
81
72
61
119
109
86
85
80
96
75
102
69
107
87
52
61
185
68
106
83
60
50
71
50
89
55
83
35
29
78
41
103
43
64
97
103
138
76
80
64
67
45
47
67
57
50
111
74
63
79
74
81
76
82
44
68
58
32
91
69
112
57
107
147
94
67
97
63
70
62
93
124
89
57
84
89
74
59
57
92
72
70
92
76
65
82
77
70
81
47
37
51
53
63
93
104
72
59
51
68
99
71
52
89
54
73
79
73
75
84
86
53
76
61
100
132
57
86
38
67
45
93
88
61
83
91
74
123
81
75
41
106
54
42
69
76
111
58
65
88
52
97
67
63
106
54
126
116
91
81
48
99
75
173
56
100
77
90
68
84
49
101
91
107
31
66
87
38
70
71
59
78
91
86
62
45
68
86
59
51
79
74
115
51
60
94
90
53
79
50
90
65
86
73
110
67
82
49
98
55
100
50
70
106
73
124
55
78
78
55
74
79
57
150
81
125
89
77
89
56
64
43
62
88
57
51
63
81
88
95
102
91
53
44
116
53
60
106
105
88
51
106
89
87
94
99
83
42
89
77
34
65
82
94
74
88
72
90
65
101
192
127
95
90
70
51
31
74
68
85
99
89
78
82
47
57
69
55
78
51
54
90
72
93
118
61
54
60
87
72
77
104
131
90
66
53
58
39
72
33
68
63
100
114
57
103
93
37
61
64
49
71
76
100
65
72
65
74
77
43
123
126
51
73
55
84
43
67
88
125
90
63
61
101
70
104
66
58
82
121
119
75
98
23
70
89
48
71
84
79
97
126
69
111
106
106
79
73
75
89
113
69
127
82
74
105
76
87
75
36
86
67
71
52
84
87
71
104
81
91
94
105
50
46
66
69
76
83
44
63
86
72
51
40
73
76
100
70
67
45
81
63
76
62
83
53
44
96
101
67
45
58
72
66
57
80
70
85
110
101
124
84
53
119
72
99
100
46
52
80
94
90
40
86
75
70
122
74
100
87
45
122
94
32
89
46
65
78
78
47
77
89
87
77
74
33
82
43
141
57
100
116
68
76
142
117
61
73
39
71
88
77
43
80
80
80
140
52
37
110
94
44
67
90
60
116
118
97
63
90
52
121
85
43
40
173
71
77
67
119
95
69
76
66
113
51
60
103
76
90
49
83
158
55
77
42
97
67
41
66
68
71
87
48
57
103
97
64
67
96
48
100
83
65
134
92
60
91
51
70
74
94
73
51
99
50
53
35
90
103
99
88
89
144
97
43
113
34
100
77
90
89
77
94
74
104
116
107
62
63
69
82
56
88
53
96
71
40
108
75
77
102
55
82
87
131
105
66
76
116
77
74
54
53
40
41
84
59
56
106
78
76
141
77
61
71
68
65
60
158
43
44
76
73
77
76
81
61
52
92
60
82
51
74
63
54
67
76
86
116
145
77
128
59
114
75
100
72
99
45
59
99
117
56
52
84
112
75
80
23
67
58
64
143
60
127
51
57
53
75
50
78
101
42
124
73
129
48
71
47
75
66
77
136
109
53
79
70
63
80
50
75
65
32
123
77
76
91
85
42
69
99
99
51
88
86
83
59
62
84
48
58
66
88
69
123
49
89
88
71
83
66
94
100
80
65
94
40
112
78
42
86
64
48
95
106
80
73
102
46
79
66
66
41
63
56
77
90
95
47
144
68
80
84
130
58
46
49
44
65
53
47
110
74
83
53
84
86
89
46
66
88
89
101
48
85
107
69
100
113
102
66
82
123
50
79
47
73
57
76
79
97
67
55
79
48
78
99
38
61
83
115
58
116
76
139
91
103
116
122
106
68
51
122
155
155
75
57
84
61
93
115
93
67
69
96
51
82
84
68
57
91
107
81
125
89
70
46
158
51
95
91
73
50
57
80
108
66
59
54
58
33
230
80
117
114
121
95
91
58
105
70
52
61
73
54
31
65
41
75
84
91
62
79
71
60
111
145
48
67
48
112
103
53
42
65
79
77
92
65
108
88
74
112
99
78
82
82
93
111
78
50
58
105
125
105
120
90
84
91
91
81
60
65
77
90
93
70
203
63
132
106
47
43
90
97
45
85
85
88
75
106
78
31
62
57
73
61
49
40
146
78
126
67
78
106
86
85
99
31
85
68
97
59
90
116
54
61
54
91
65
46
109
52
66
65
80
44
78
94
104
103
64
98
67
62
141
53
81
100
45
110
83
86
97
46
59
116
47
62
52
105
78
64
43
141
129
55
97
89
123
109
26
61
85
55
72
69
53
81
47
94
145
91
56
68
72
37
97
42
78
63
73
49
116
82
91
164
59
97
35
81
67
108
83
128
106
47
86
126
69
61
87
96
52
68
140
86
63
85
110
50
62
76
82
142
48
113
73
95
42
62
101
88
67
115
45
30
82
78
78
51
88
88
81
123
48
51
110
109
128
88
80
102
46
101
127
75
75
79
64
103
102
92
69
84
60
31
74
83
90
83
67
42
77
110
57
90
56
100
53
57
98
62
43
44
48
139
118
61
97
46
119
67
75
108
77
86
54
58
43
76
76
109
99
54
59
98
57
73
126
68
57
61
48
82
138
47
80
151
77
79
60
71
93
79
53
89
107
73
73
111
127
83
58
57
96
86
102
68
97
103
70
64
117
41
72
85
65
62
96
110
79
89
47
81
84
110
59
68
82
82
113
133
87
47
66
87
72
47
67
80
27
95
82
120
67
39
87
75
66
68
51
80
124
120
58
92
88
123
72
104
105
70
77
57
70
96
53
113
100
84
76
62
63
78
93
98
52
95
60
59
92
83
103
77
41
67
50
87
93
48
80
45
47
89
80
66
77
41
40
70
81
75
55
74
88
84
68
93
93
49
71
139
116
76
87
55
60
68
76
47
100
51
73
74
131
49
131
78
102
86
78
53
104
65
47
70
76
87
68
45
75
105
67
133
78
83
101
81
61
87
57
86
85
73
70
53
78
56
99
108
93
65
25
64
112
75
102
63
52
77
81
61
86
67
57
70
126
56
75
85
32
79
62
97
61
68
74
58
101
81
67
81
81
62
59
86
51
55
106
62
51
63
96
60
50
98
69
65
74
97
65
72
51
98
65
93
80
90
51
51
62
39
106
70
72
46
104
102
44
99
76
110
41
60
53
114
67
52
70
92
119
68
132
82
99
44
74
115
70
41
117
66
83
55
50
51
60
79
74
70
64
91
149
51
57
69
65
123
73
37
64
55
92
96
64
32
45
106
87
39
77
88
99
94
73
72
125
67
62
75
68
47
50
115
83
44
71
101
104
108
65
82
103
93
63
119
80
110
95
112
65
73
103
69
168
112
79
54
64
98
101
93
58
52
50
75
52
72
83
38
67
59
45
63
95
63
56
81
49
96
56
62
105
64
81
100
53
70
48
59
112
92
55
116
58
55
138
58
90
87
51
94
89
80
62
105
107
100
87
72
59
77
66
68
71
45
91
68
93
108
68
105
81
78
69
53
73
77
45
57
55
183
95
56
58
65
76
84
38
56
84
61
91
41
68
80
60
146
68
96
62
74
65
104
97
90
113
47
46
120
35
51
94
80
81
95
60
83
95
57
55
123
86
68
88
97
119
58
23
61
63
81
79
106
116
173
64
101
57
92
101
81
91
110
121
58
52
43
68
87
119
102
66
63
79
39
54
80
59
74
62
78
77
64
104
91
60
83
78
110
51
156
138
87
52
63
44
92
75
54
82
52
101
85
27
49
58
71
93
100
114
48
91
100
66
103
80
49
102
68
106
118
62
63
92
103
34
60
49
114
74
41
48
58
66
105
97
68
61
65
68
69
112
89
121
74
99
81
91
119
77
83
108
125
96
72
72
103
89
87
71
51
68
81
62
88
69
42
65
64
84
63
52
80
112
81
60
95
43
69
99
82
125
83
64
79
75
91
74
62
87
115
56
50
66
79
121
57
76
83
96
57
53
91
72
66
126
63
99
82
48
56
52
51
64
39
97
138
26
82
102
94
61
38
72
85
87
53
75
69
136
76
102
42
97
104
30
38
62
108
34
107
81
72
87
74
200
94
62
83
89
80
50
82
52
83
75
55
108
51
143
68
50
96
84
73
66
47
46
49
126
77
66
53
53
57
49
101
127
82
62
50
91
54
57
48
106
41
52
66
90
125
84
55
95
84
35
110
83
56
84
53
120
85
80
68
57
23
57
134
60
91
101
83
68
85
123
42
49
85
63
80
91
66
84
80
78
104
54
87
74
55
65
82
69
68
122
38
73
52
65
121
59
99
63
81
89
56
87
71
66
72
106
83
123
40
62
68
71
52
70
97
101
69
69
69
101
63
114
60
103
76
72
67
56
44
34
58
92
75
68
80
75
102
78
64
91
52
88
39
72
91
55
51
77
101
39
139
70
105
57
68
70
70
55
79
69
70
71
91
85
60
88
89
62
131
60
59
108
73
119
93
71
51
53
88
74
116
98
52
79
50
104
58
42
121
63
56
166
80
119
119
74
55
63
81
77
88
79
69
53
78
108
55
52
130
78
93
48
106
50
39
54
63
62
26
80
67
58
51
73
69
35
65
80
68
145
83
64
93
118
63
65
53
89
63
54
77
58
73
86
78
110
92
60
101
52
65
89
86
60
52
48
67
106
107
48
102
40
72
63
111
45
45
75
68
54
64
107
93
81
42
121
65
107
55
125
83
42
52
67
112
155
103
60
76
57
63
46
104
49
94
94
57
96
65
81
84
90
70
62
83
67
104
138
69
76
75
65
59
96
30
94
56
56
39
80
113
57
80
62
76
95
57
75
73
88
75
50
82
91
87
74
84
37
51
79
103
50
80
85
147
88
56
78
53
69
117
66
47
70
56
57
32
64
62
159
110
59
36
36
106
109
52
70
63
62
80
81
85
133
139
67
82
51
74
93
52
86
57
99
69
132
57
49
48
51
65
68
88
54
89
54
123
91
83
61
83
48
98
50
99
85
67
70
54
82
87
74
46
114
56
59
57
44
48
61
91
79
64
32
56
130
82
59
89
67
90
37
109
53
113
93
45
90
81
49
165
61
68
86
109
106
69
60
67
41
75
51
58
62
97
83
70
81
76
85
59
69
75
56
142
57
64
90
98
71
88
80
112
89
52
66
63
48
59
84
89
83
67
92
49
137
86
80
182
87
120
69
97
55
61
75
46
42
56
117
89
90
83
111
69
118
98
38
34
43
94
82
104
98
83
107
57
101
67
84
66
119
103
45
55
104
104
92
49
85
76
74
45
108
110
61
51
108
86
66
77
140
64
56
44
114
90
80
92
102
59
74
122
57
68
82
89
67
80
51
66
64
29
50
100
62
54
48
105
79
55
105
53
84
61
81
69
54
52
37
102
89
51
52
80
52
85
103
96
70
89
67
79
72
102
122
55
68
69
51
43
64
43
104
63
75
90
37
102
163
50
67
46
116
118
73
81
107
79
96
42
37
69
58
63
85
57
92
40
91
43
48
88
116
90
57
77
48
193
66
88
54
74
68
80
91
82
87
82
98
86
42
64
103
57
84
87
70
81
56
120
105
130
48
54
99
80
23
57
80
100
111
77
109
99
67
42
72
88
102
70
68
97
99
89
82
47
51
58
67
66
61
96
106
110
107
83
44
32
20
65
72
81
55
55
83
43
94
93
44
81
156
79
56
66
70
70
110
53
50
72
79
89
103
53
76
76
112
27
41
50
116
61
42
64
150
35
157
68
55
40
74
28
112
77
102
62
82
44
88
37
74
41
52
62
52
125
97
93
76
76
60
67
54
121
97
57
79
106
62
77
66
162
73
45
103
70
61
88
122
94
88
73
62
81
77
58
98
48
69
105
75
105
97
75
59
82
64
53
80
84
75
98
97
112
73
48
105
53
82
49
130
98
66
70
72
71
66
105
42
82
88
119
66
65
46
120
51
49
68
91
90
79
37
70
86
88
61
70
60
46
90
31
55
102
82
77
40
83
91
92
93
72
103
74
70
62
72
69
58
68
47
104
61
69
69
69
98
81
59
43
86
78
35
78
60
91
51
92
63
97
88
92
115
37
57
110
83
92
75
59
135
50
115
79
48
118
52
55
74
100
68
55
97
110
47
49
109
96
86
82
59
68
71
54
52
111
80
72
87
97
60
37
99
130
50
81
61
140
71
77
126
77
72
85
35
90
66
115
55
78
59
100
70
107
85
64
67
54
115
53
61
93
37
70
74
79
57
136
56
88
88
51
50
114
76
59
84
84
39
99
91
29
64
76
72
71
86
80
63
112
23
60
60
89
45
31
104
90
92
108
145
81
95
102
51
65
63
53
72
79
59
81
58
48
70
72
40
62
81
66
98
64
68
69
56
72
73
89
113
25
89
70
79
67
125
62
60
94
114
145
113
51
73
91
67
86
110
85
46
96
82
91
77
33
34
77
45
65
83
97
111
89
83
58
66
90
76
89
123
63
111
97
89
69
59
90
77
79
53
52
41
56
62
71
92
80
125
77
52
98
63
101
98
82
55
74
77
54
92
78
49
58
110
109
131
103
75
117
123
63
128
95
90
83
25
64
54
92
82
72
157
30
114
47
46
55
107
182
73
73
98
56
59
81
58
94
65
88
76
134
52
41
92
44
102
98
22
81
57
96
92
96
140
97
79
56
64
149
93
99
75
56
91
82
75
63
114
88
88
69
86
68
94
132
80
109
66
124
123
48
55
47
83
98
121
46
68
96
118
81
27
43
87
36
84
98
95
133
78
70
135
67
124
111
106
68
61
41
106
158
148
100
100
65
87
76
57
85
81
68
54
31
103
85
77
83
69
103
96
88
71
67
111
52
101
110
55
97
63
23
57
92
79
107
71
59
80
86
89
90
68
77
61
51
43
92
94
78
63
56
80
77
81
114
82
110
45
46
54
69
148
59
96
35
84
89
90
36
85
85
53
75
68
85
52
74
91
58
49
94
64
56
157
80
68
48
51
73
116
41
99
84
75
80
39
47
92
94
75
73
61
91
42
79
32
115
75
109
104
97
107
93
81
67
49
71
58
38
55
81
67
89
81
82
70
59
106
75
81
73
57
49
68
86
40
66
90
94
95
69
71
90
46
60
65
70
79
88
86
79
79
86
76
119
51
38
64
77
51
96
37
87
174
95
93
68
74
95
91
54
111
60
120
84
142
83
60
59
68
58
40
72
101
97
95
120
77
88
102
71
108
50
82
83
62
60
106
79
30
74
63
59
46
55
98
44
89
83
81
82
106
54
128
49
76
52
64
96
48
76
66
49
64
102
75
88
80
94
99
58
76
64
137
83
108
60
63
100
53
63
61
81
89
41
102
87
99
85
73
137
55
108
76
121
49
65
80
61
139
42
117
113
56
37
98
59
74
55
74
79
93
110
97
87
76
62
90
70
123
50
110
80
98
66
57
77
35
119
64
123
69
135
46
85
88
52
105
74
47
119
84
70
72
106
72
80
76
105
117
133
109
27
71
96
113
45
56
61
78
118
86
98
62
97
55
67
52
44
72
54
95
67
41
68
37
109
82
63
86
57
114
92
95
60
89
106
129
56
100
92
78
66
109
96
65
59
81
72
71
56
74
99
110
54
104
96
107
54
69
76
98
78
88
56
57
74
87
99
75
66
41
72
52
80
47
104
55
49
107
42
56
83
107
72
94
54
46
79
85
103
101
92
70
97
80
106
84
97
130
56
47
72
75
93
89
87
45
98
81
85
60
77
65
80
101
69
77
59
75
96
74
162
41
32
91
49
83
78
87
111
61
52
106
95
81
83
85
58
84
62
95
108
36
58
75
109
116
103
99
111
91
97
37
69
127
55
65
91
119
48
83
89
156
78
63
38
60
60
55
68
100
56
62
70
88
71
116
69
77
92
105
51
122
93
66
42
74
136
87
106
58
90
97
59
41
88
52
92
111
55
47
61
148
88
69
85
54
44
88
125
81
69
79
116
47
79
83
68
102
62
91
53
72
70
58
78
61
59
69
83
45
81
131
65
55
85
73
107
98
59
78
81
68
79
82
101
53
99
40
41
75
67
68
70
85
103
118
65
67
53
123
88
178
68
57
172
60
78
79
60
123
79
59
61
85
64
47
54
109
90
43
91
79
90
58
63
69
58
114
56
51
34
108
49
61
123
64
80
97
95
80
49
45
44
67
66
69
62
86
75
65
72
83
61
78
95
61
57
76
88
46
109
91
109
68
54
88
100
54
88
99
83
66
98
85
54
104
66
40
33
47
109
124
47
51
80
55
91
87
25
38
108
81
49
56
82
76
117
77
44
67
104
76
53
128
108
75
101
112
77
71
61
96
100
49
70
50
57
107
63
121
54
61
73
28
106
102
42
58
57
79
62
71
59
69
92
106
101
110
80
34
72
61
136
95
78
90
63
94
76
71
78
70
51
82
96
64
121
147
46
123
73
83
70
102
114
98
38
66
50
64
68
73
93
113
89
96
63
92
43
103
50
79
54
89
46
92
96
87
45
57
74
44
82
71
50
62
74
76
95
65
63
45
76
69
131
96
142
84
86
77
55
114
110
79
98
101
55
114
72
78
111
119
133
55
51
64
76
97
71
68
102
56
77
44
146
74
79
99
44
96
148
35
84
53
66
80
60
62
77
59
82
86
40
67
137
60
61
63
47
80
71
81
92
61
67
114
54
103
94
88
33
83
109
87
31
64
106
78
66
58
93
39
73
77
89
112
58
86
96
60
61
70
72
119
69
100
37
71
49
90
84
67
97
70
110
61
57
48
138
101
104
40
64
54
157
59
98
172
85
57
57
49
94
87
65
74
73
37
48
65
32
66
38
56
122
56
67
121
89
58
86
77
89
47
95
80
88
90
85
135
69
42
94
71
90
72
94
57
89
44
59
79
65
80
77
81
72
68
101
62
79
84
42
79
73
114
96
67
78
72
48
92
68
132
67
60
47
79
64
129
28
72
139
69
91
96
31
67
129
74
63
106
66
59
96
151
50
55
41
62
71
56
99
64
58
39
136
75
83
63
68
109
73
62
116
67
75
55
115
100
59
62
50
58
101
89
61
118
80
87
85
65
121
47
120
55
64
78
52
59
49
80
52
77
68
96
84
38
46
42
68
96
52
69
72
109
147
61
78
99
107
122
90
76
104
72
63
116
87
177
73
107
85
72
46
49
107
61
114
52
70
113
41
101
75
57
76
80
52
41
88
114
101
45
65
103
108
66
73
74
75
69
73
55
71
106
81
102
99
83
64
99
102
42
99
88
68
64
61
84
82
45
53
52
79
52
48
72
75
90
87
69
91
86
41
81
62
97
95
48
116
90
81
90
42
79
60
112
54
101
56
86
80
88
63
80
35
89
55
61
88
56
81
101
136
129
102
69
165
109
81
123
76
139
57
50
69
59
79
79
74
78
76
78
125
49
83
29
104
70
90
94
53
120
80
50
111
86
90
56
56
90
28
80
83
115
108
32
55
80
42
51
54
109
57
64
71
67
79
34
124
54
45
83
75
81
97
87
78
69
75
52
83
90
65
48
59
107
41
92
67
123
76
110
119
90
42
88
95
85
81
110
89
74
76
86
80
38
74
118
57
43
107
77
75
77
49
94
109
99
56
63
110
107
47
50
63
42
62
84
101
68
73
49
82
79
104
51
67
89
36
34
47
53
49
90
94
91
92
75
61
66
64
93
68
83
95
79
73
77
57
81
78
104
77
129
89
57
62
127
77
104
64
83
73
70
72
40
68
71
94
70
62
68
120
71
56
47
95
92
42
98
126
85
57
73
55
60
67
81
48
89
66
72
113
110
135
128
88
100
88
145
115
72
90
60
82
64
88
94
83
87
35
147
52
50
110
80
74
56
39
110
123
85
47
80
49
119
31
67
89
86
43
99
45
69
75
77
37
92
57
64
60
88
106
94
90
132
51
63
70
72
74
84
69
68
79
60
70
98
81
199
83
49
101
85
108
45
89
65
87
116
47
52
92
74
116
63
45
62
60
42
79
97
49
69
98
82
55
85
83
62
89
57
95
53
77
66
76
86
63
58
98
82
48
97
69
128
109
70
36
75
136
68
87
52
71
95
86
63
116
44
79
93
111
72
108
87
31
68
86
76
79
40
48
51
76
92
85
88
122
63
79
82
96
63
99
76
63
128
82
63
103
127
125
41
105
55
136
77
85
70
117
48
57
49
98
82
88
67
85
137
67
84
190
110
91
59
67
62
103
83
110
95
70
85
78
72
43
52
67
62
99
64
68
90
36
187
80
87
81
62
86
37
72
71
110
101
145
70
124
86
94
54
87
62
101
58
46
108
106
48
81
127
100
78
57
109
76
97
39
57
38
51
86
45
39
154
74
42
34
93
38
85
50
102
87
77
86
116
91
86
32
43
38
35
75
85
74
79
89
36
55
68
54
59
57
102
157
49
72
68
86
82
96
118
71
89
66
53
103
100
71
94
111
82
61
90
88
42
87
62
77
111
80
70
112
31
45
98
63
111
36
62
63
46
101
107
88
85
86
35
71
132
69
86
97
59
110
132
105
74
109
65
70
74
49
85
84
94
52
44
103
66
69
65
84
50
45
142
75
88
73
74
86
79
68
53
115
90
103
69
72
87
90
72
80
51
82
60
59
62
66
74
56
39
99
82
99
83
70
87
96
58
75
60
60
74
59
90
92
87
75
73
62
81
42
85
36
72
95
75
116
92
107
132
83
50
62
39
107
33
105
80
103
88
97
101
53
111
65
84
69
45
56
95
72
53
104
76
69
89
76
55
78
110
111
86
56
68
53
111
104
77
40
78
66
47
46
81
72
66
70
59
103
39
44
68
128
75
93
37
102
59
90
80
41
60
56
52
103
54
39
75
84
55
68
39
67
73
49
83
62
95
57
70
54
84
110
49
93
81
83
53
75
66
112
40
86
59
91
43
63
131
88
99
98
57
88
86
106
103
85
64
79
47
53
64
83
65
88
84
84
82
66
61
75
76
58
39
73
64
132
39
62
142
70
77
105
57
88
67
78
71
68
33
38
106
36
77
106
119
90
63
68
54
66
100
73
77
104
129
99
95
59
72
66
64
49
31
90
70
83
73
102
77
50
66
57
59
48
59
67
95
104
89
94
85
92
53
92
54
76
98
90
64
84
73
65
68
31
104
61
57
66
70
83
69
105
54
77
96
73
64
109
131
104
75
44
75
85
43
64
80
59
72
87
112
42
90
108
90
114
56
68
83
51
64
90
84
66
77
116
67
125
111
83
54
105
52
72
76
125
91
103
62
45
65
69
106
123
109
74
90
46
53
76
55
52
58
83
70
42
50
70
78
113
81
78
55
51
46
71
29
85
61
39
100
92
100
32
46
72
89
99
132
73
72
37
95
65
52
80
91
107
29
78
124
73
69
59
99
83
92
92
46
64
61
43
36
83
45
87
139
74
83
83
75
64
91
82
67
76
50
99
69
64
117
122
72
77
76
79
82
56
63
74
72
141
43
36
58
64
50
68
47
53
96
47
61
123
69
61
57
52
63
67
22
79
65
124
33
62
71
108
120
115
67
71
122
75
54
63
38
79
48
43
73
77
109
82
85
110
69
72
106
71
70
73
107
75
98
99
47
81
68
62
75
86
83
96
72
75
126
84
59
99
36
96
85
111
141
84
76
99
100
70
62
63
72
67
98
88
80
95
89
104
67
49
68
76
89
22
56
90
104
91
84
96
114
76
74
119
82
96
126
79
61
33
61
88
59
99
65
95
49
69
75
74
72
98
49
66
60
84
102
110
99
66
110
130
75
79
33
134
48
75
84
73
111
111
95
62
117
58
101
71
33
94
51
55
87
61
79
86
53
120
53
71
77
45
109
74
46
101
28
57
71
37
105
77
74
64
61
64
52
58
66
119
47
77
51
78
60
50
70
120
31
132
75
119
86
45
95
81
53
58
121
59
48
118
63
178
94
64
87
71
85
51
80
50
60
95
59
69
59
80
94
48
104
67
103
64
126
72
119
75
81
75
68
84
113
57
72
77
56
52
81
86
80
51
64
59
113
104
102
47
87
56
123
115
39
36
94
105
87
67
71
105
91
114
44
81
54
43
69
58
91
54
83
53
82
67
54
55
65
88
107
104
59
80
80
181
68
65
85
56
89
70
64
97
89
98
44
63
86
65
83
106
89
75
89
71
92
107
77
53
52
130
95
70
83
161
43
69
77
131
68
68
35
65
64
68
92
66
67
51
35
57
84
114
68
113
102
103
107
78
42
85
58
68
62
73
64
76
86
80
61
55
52
76
74
57
65
86
66
117
73
54
35
66
81
59
89
57
97
54
51
56
40
41
43
60
95
81
71
58
85
77
47
82
43
94
65
149
177
94
119
85
72
67
153
77
109
68
81
91
81
77
78
49
76
74
87
111
148
104
53
71
109
74
47
76
70
41
143
106
88
82
114
65
81
72
134
138
84
75
106
98
75
116
92
78
61
70
81
93
96
72
99
43
54
71
88
90
63
51
64
71
73
99
83
71
94
39
89
83
70
85
75
92
46
96
127
83
54
105
43
88
76
61
26
59
86
62
102
91
76
57
39
62
109
95
103
99
65
66
63
87
92
29
114
29
70
83
56
61
74
88
95
55
103
87
38
53
62
123
63
42
90
70
40
100
101
108
70
104
76
64
89
74
112
80
65
111
108
73
33
90
97
83
73
68
37
68
81
86
98
86
128
71
52
81
113
98
60
105
37
117
58
109
146
66
83
102
95
119
76
73
32
64
76
134
73
52
62
86
62
72
62
63
47
86
66
74
60
67
92
81
61
64
110
65
35
80
109
137
77
96
96
62
65
89
48
92
117
86
79
87
68
93
92
80
115
112
89
67
49
99
60
59
113
58
103
49
115
73
92
80
85
125
99
51
95
96
43
128
82
97
87
85
37
70
63
84
73
69
71
101
91
78
81
89
73
62
107
113
112
86
102
47
87
40
101
72
72
155
59
35
46
53
88
82
98
56
42
89
121
64
87
90
45
56
77
110
40
77
102
76
109
107
48
51
64
79
96
54
152
145
154
80
52
42
64
73
71
68
68
34
61
176
86
81
95
101
43
90
71
91
114
110
139
108
65
91
89
112
27
35
57
80
31
107
78
91
75
112
75
40
66
108
59
107
45
71
87
71
69
52
78
104
63
46
38
61
92
53
69
53
97
50
126
112
99
49
36
73
170
79
69
58
38
92
47
85
103
71
86
50
53
64
86
130
72
41
103
59
81
64
72
77
91
107
134
71
104
44
59
112
50
59
61
62
60
93
55
59
87
102
124
37
87
105
112
81
57
77
100
87
76
72
57
79
110
59
98
77
53
55
105
100
76
38
75
124
99
79
86
127
95
114
42
51
76
70
101
57
125
64
57
121
83
72
98
39
80
112
43
66
100
43
102
94
65
47
51
62
37
98
34
79
116
111
44
109
100
121
73
57
46
66
73
63
93
53
55
55
98
55
48
83
71
109
43
126
38
69
65
134
96
111
55
82
64
108
71
67
54
72
69
59
113
78
50
52
77
89
80
40
64
51
52
94
129
64
95
96
51
99
100
70
151
59
51
99
85
135
60
52
42
47
89
87
116
52
55
98
71
45
80
63
62
68
95
92
48
89
68
62
76
101
162
89
58
73
79
59
79
60
38
56
64
106
45
77
112
70
87
88
91
63
41
83
45
74
93
50
86
49
82
42
33
87
103
82
109
75
63
121
89
93
76
61
60
74
52
72
112
68
95
67
42
66
50
58
94
105
70
61
57
73
90
74
61
71
65
67
31
73
45
55
83
127
80
52
88
97
41
79
56
74
84
67
115
81
43
62
77
107
24
63
98
78
80
72
76
88
74
24
84
41
105
110
97
71
76
73
56
43
40
40
50
75
42
62
43
61
61
92
42
80
79
127
68
40
74
60
52
50
79
76
77
90
98
114
130
64
110
57
103
79
69
87
79
79
70
99
63
64
100
90
58
77
56
100
99
45
110
76
65
33
53
78
68
68
77
91
50
110
64
68
78
91
94
40
33
145
61
87
136
58
62
50
103
68
74
100
75
128
75
93
92
59
87
51
54
91
184
84
68
171
45
87
53
95
80
43
53
62
63
74
54
63
52
80
148
151
52
64
47
57
54
103
81
82
72
51
102
94
96
40
71
44
68
91
60
78
51
80
112
41
59
85
72
43
77
61
63
52
74
79
86
127
81
74
43
53
69
59
58
44
98
84
83
60
119
38
87
95
60
36
61
81
71
66
56
80
68
76
93
46
54
69
56
61
29
50
55
74
53
56
36
122
78
75
115
76
107
35
62
84
62
81
103
139
73
172
54
72
79
97
66
86
55
35
102
56
94
53
53
71
43
50
83
66
52
47
76
72
105
100
28
85
76
87
105
83
89
50
66
75
97
90
84
114
64
74
95
67
68
103
35
140
73
87
44
81
50
145
55
79
71
122
124
61
101
77
119
68
83
77
117
65
59
87
126
105
52
87
79
124
125
52
68
85
55
81
147
39
83
73
56
66
75
83
54
68
90
56
102
70
86
108
61
60
56
119
79
90
40
60
118
57
72
56
92
102
45
84
76
150
63
20
75
71
97
61
29
71
107
45
82
91
89
64
78
52
104
83
49
64
60
53
111
74
71
59
111
70
74
105
116
61
50
95
57
71
62
90
87
51
69
171
63
50
69
62
87
58
87
58
76
108
110
106
80
67
97
84
85
46
63
64
41
57
97
68
65
89
74
87
67
84
88
58
62
110
67
34
75
83
79
98
82
83
63
114
47
76
51
44
60
90
45
72
128
29
62
97
90
63
40
74
71
64
67
54
76
41
77
97
58
71
101
92
100
118
35
44
109
66
118
106
115
44
99
79
83
49
80
94
138
42
73
74
91
93
82
58
52
40
81
59
68
109
82
89
65
73
112
85
79
53
63
103
33
85
72
35
101
96
110
93
105
99
68
87
62
116
56
149
81
58
126
80
86
46
130
67
60
83
117
50
64
104
103
102
103
93
48
130
75
79
134
101
57
116
68
77
61
65
108
48
95
43
126
44
72
91
125
84
65
139
92
73
97
57
101
59
39
73
113
79
68
52
102
83
59
135
58
57
55
69
65
117
30
78
58
69
112
111
50
52
79
38
49
89
74
37
137
127
87
50
101
118
75
40
97
92
77
87
37
75
94
80
108
67
54
84
91
115
97
81
73
46
92
72
55
81
58
78
75
56
53
68
91
67
76
26
73
45
130
67
80
59
60
69
107
92
55
59
47
110
88
81
59
33
59
39
61
118
71
87
49
88
73
126
61
99
88
80
114
121
80
86
81
101
65
70
41
73
90
101
46
47
87
71
75
49
68
99
43
129
81
59
49
90
64
63
47
63
47
90
70
125
49
80
99
118
77
58
66
97
86
72
76
61
67
54
55
99
66
71
41
50
60
35
59
69
77
70
82
78
98
111
111
89
124
78
91
68
48
105
42
51
96
150
78
104
65
62
62
88
80
105
60
29
48
111
70
102
57
95
51
83
117
91
44
33
78
135
33
73
95
88
128
57
85
58
101
37
94
74
65
59
71
67
64
113
80
68
45
37
97
46
99
117
84
77
84
129
86
123
85
75
157
90
77
76
64
96
80
97
79
95
80
58
56
45
64
73
112
57
61
94
100
59
106
42
95
95
53
102
80
66
116
71
101
51
87
75
54
38
95
59
41
90
58
79
63
85
80
105
61
151
76
108
80
66
90
78
76
52
56
93
31
98
61
74
30
60
58
60
88
87
82
82
81
77
96
62
53
97
74
43
69
49
118
77
70
83
61
55
54
82
83
65
55
52
69
73
82
54
75
73
54
76
49
85
77
59
84
149
75
85
72
57
67
75
67
70
44
70
54
139
60
59
75
62
76
105
98
68
105
70
64
57
112
83
90
112
124
36
37
60
80
56
54
61
36
62
99
73
95
41
87
109
89
52
59
78
68
82
72
60
132
89
62
68
108
75
58
57
91
65
78
73
91
41
91
98
81
56
32
96
95
81
83
104
74
59
50
35
89
86
55
68
70
122
112
98
118
37
61
80
66
139
65
63
126
153
77
129
57
129
90
71
115
50
55
59
45
59
84
50
38
122
107
70
87
60
27
51
66
88
93
85
64
67
104
82
102
41
86
86
69
63
103
54
83
108
40
92
56
57
77
57
29
71
76
52
69
95
70
44
99
97
110
49
68
56
57
86
67
42
54
59
71
93
111
40
71
71
75
98
37
63
113
88
63
67
70
106
97
56
47
43
111
108
100
115
94
82
56
93
81
37
143
80
83
88
66
75
104
40
111
64
51
150
97
100
108
59
42
91
106
51
149
88
79
113
116
108
65
55
66
79
115
63
90
81
57
95
82
106
78
72
68
80
71
50
83
55
53
82
54
64
39
52
117
87
74
46
55
92
65
84
52
90
71
100
142
84
138
96
107
62
50
75
73
63
74
109
80
100
63
93
60
86
84
109
55
135
54
126
88
88
81
76
70
72
89
100
43
72
82
87
114
79
70
60
71
95
74
63
90
89
112
74
62
55
86
106
96
71
70
50
103
84
98
54
44
87
110
68
86
77
78
52
64
119
40
151
50
79
88
76
65
91
93
44
125
31
100
35
56
53
131
60
55
81
100
65
74
34
118
95
68
42
36
49
29
137
115
88
45
65
136
89
95
66
99
88
87
116
125
138
73
109
70
91
58
85
133
78
94
86
83
66
43
180
89
87
57
60
39
92
57
83
137
68
84
100
77
104
95
87
78
65
70
82
47
64
91
39
77
73
64
33
62
82
89
99
55
61
72
76
74
81
101
55
60
89
83
82
127
118
32
33
100
106
59
98
136
86
62
86
80
88
59
69
98
108
49
74
76
86
63
129
90
96
49
92
62
75
61
65
96
70
108
104
97
84
54
91
71
81
93
95
59
57
73
52
54
122
75
73
36
62
77
45
71
115
62
99
56
103
87
90
89
130
70
99
66
71
74
47
68
57
109
76
44
119
54
31
47
112
93
108
50
81
49
86
44
90
85
119
95
71
53
81
66
75
43
87
27
91
52
51
73
92
91
52
67
33
79
33
86
79
116
71
98
138
46
97
114
54
84
71
60
66
49
65
47
178
47
98
46
79
83
59
120
68
121
61
56
56
59
68
87
48
83
82
55
68
112
52
60
49
72
75
79
90
98
74
70
45
58
43
38
94
63
49
65
90
102
69
45
40
84
97
78
69
33
97
71
50
46
95
56
126
99
70
99
82
54
101
77
34
112
79
100
26
74
77
46
54
163
118
56
84
73
41
91
77
113
47
69
80
62
77
52
48
80
72
163
59
103
43
95
115
76
88
110
127
62
101
83
91
66
86
69
59
92
115
110
65
70
94
87
69
33
86
99
51
66
121
69
75
41
123
41
97
54
131
79
80
84
75
67
87
87
62
94
69
91
118
130
68
113
69
113
97
73
58
95
66
26
65
92
64
94
69
74
109
129
62
80
87
134
75
92
35
55
94
73
77
38
77
74
81
80
90
85
53
99
44
31
51
38
55
67
68
107
98
76
56
43
108
116
61
56
55
85
41
126
73
109
104
62
105
111
51
36
40
43
58
59
95
77
65
48
78
80
40
46
99
88
57
49
98
98
61
78
89
69
80
45
38
54
105
81
54
78
86
118
35
55
31
81
53
54
95
67
28
94
62
128
81
98
96
53
118
73
94
67
69
75
67
95
80
67
104
94
52
86
63
66
76
80
89
91
88
75
56
62
74
93
31
88
63
59
56
94
118
36
91
96
71
87
148
66
87
82
47
65
110
97
62
68
78
99
47
78
115
133
48
109
58
125
84
53
66
43
70
65
65
70
64
61
42
65
70
97
33
52
106
70
80
63
101
35
98
67
35
103
91
100
65
69
63
122
104
89
100
87
75
115
56
113
58
67
72
41
54
66
92
63
86
86
94
37
64
65
64
68
40
93
57
46
77
39
112
57
57
38
62
91
67
118
96
72
99
119
105
65
99
87
78
79
91
69
76
117
58
49
41
87
67
54
46
114
46
76
100
57
73
87
33
63
79
60
66
108
69
55
69
53
60
42
80
113
79
129
77
137
96
158
66
83
90
86
64
55
106
94
64
104
98
87
72
103
96
48
65
81
52
118
71
96
78
85
42
128
102
67
69
95
98
267
98
91
78
112
46
50
102
76
54
72
103
104
73
117
96
119
49
44
88
103
92
94
85
81
86
78
104
25
90
111
54
73
139
38
60
85
54
82
73
79
58
84
71
54
110
84
66
69
93
66
70
113
57
42
97
105
65
63
31
67
70
159
122
81
41
64
73
49
121
73
95
114
59
123
75
44
70
73
31
93
95
116
92
145
90
97
97
98
120
68
80
51
75
34
64
62
59
51
125
75
58
117
53
98
66
92
55
136
134
45
56
106
57
103
89
55
108
123
71
52
90
98
85
78
31
80
84
50
47
56
71
45
110
98
56
49
60
77
100
76
74
68
56
69
63
78
127
70
40
80
46
57
50
84
73
80
85
57
73
47
62
104
140
87
132
88
103
117
59
76
96
108
84
60
59
34
96
103
28
69
59
105
75
83
69
90
95
120
92
71
99
51
91
68
83
51
47
103
74
90
91
76
77
61
50
92
56
59
80
63
66
72
96
83
73
50
78
33
128
94
71
85
70
102
58
87
61
80
50
75
118
79
82
78
89
88
75
60
95
77
47
57
65
58
52
68
94
94
41
71
72
48
58
95
87
72
119
82
90
106
86
60
63
51
98
104
50
91
105
115
108
65
73
79
77
77
70
77
36
117
143
75
62
129
83
56
52
37
42
44
102
102
72
57
81
78
62
101
73
85
120
68
122
50
76
89
102
82
103
58
119
146
114
125
109
60
57
49
87
76
56
32
36
111
83
71
52
31
67
52
55
62
46
94
43
44
89
31
103
76
61
90
74
56
111
104
88
61
108
48
102
72
47
118
48
78
110
71
71
113
66
39
43
111
63
61
78
59
147
77
36
97
112
43
49
135
82
68
71
138
93
129
125
52
78
97
66
69
68
83
75
65
49
42
57
80
50
108
52
43
77
79
112
76
48
103
110
44
78
78
42
71
81
83
105
77
77
67
43
87
68
92
67
54
78
90
70
46
54
64
119
58
66
86
65
63
67
73
73
71
76
67
88
89
68
90
77
50
105
81
77
70
58
73
48
113
103
70
129
87
66
60
75
38
53
72
50
89
98
67
125
83
54
39
110
77
100
53
76
64
86
54
55
65
72
50
108
76
99
88
74
102
97
75
102
71
59
84
68
72
61
107
122
37
48
60
41
114
60
62
109
107
63
134
55
82
81
88
47
89
77
70
96
83
77
83
74
82
83
65
114
76
66
58
97
78
107
72
69
92
74
50
60
105
106
88
55
118
116
35
56
48
51
120
131
122
95
58
100
96
58
36
103
109
72
112
80
94
103
72
71
92
48
117
82
75
80
142
134
46
71
70
91
84
127
60
45
91
115
78
90
92
87
88
50
59
92
86
90
37
70
69
67
76
97
71
70
91
109
39
75
73
54
76
106
123
74
100
63
95
97
81
109
53
59
102
78
61
61
86
51
106
73
138
85
65
65
59
86
70
103
47
50
99
49
93
92
52
87
58
77
66
98
34
89
86
80
44
112
93
79
98
61
75
98
78
49
129
89
61
83
71
63
61
57
72
103
55
67
81
95
100
96
94
68
120
51
64
127
61
56
95
48
58
54
95
89
63
52
57
76
46
74
57
43
88
62
65
102
69
89
84
42
111
70
51
90
108
58
86
110
47
66
107
57
95
106
61
80
39
95
94
135
62
91
46
45
54
70
51
73
69
30
59
80
122
64
72
116
123
57
49
67
77
90
77
53
73
73
89
123
109
71
89
83
73
76
61
81
63
86
101
76
58
100
94
51
88
96
51
51
63
46
55
79
73
89
101
63
96
97
151
69
55
76
63
61
78
73
41
63
120
106
55
166
48
122
61
75
120
77
38
100
71
59
61
70
75
93
42
52
84
89
77
63
54
114
33
125
67
125
39
30
37
56
76
85
56
51
112
113
107
49
100
74
64
92
86
115
62
130
114
62
54
71
113
84
54
104
79
88
48
46
116
71
78
89
84
80
82
93
92
102
89
71
131
172
79
126
152
52
62
43
66
83
110
71
90
54
156
45
75
95
90
61
76
55
65
89
60
126
58
92
72
108
108
81
52
77
73
40
91
55
75
78
55
90
82
33
46
85
50
63
114
33
130
71
88
94
78
44
99
71
69
37
86
75
128
117
55
83
75
50
54
81
67
68
65
90
121
69
70
95
74
34
37
135
107
126
95
80
69
63
90
87
61
66
48
46
80
55
78
41
55
45
108
91
65
93
67
62
97
87
45
60
81
84
111
189
80
48
44
73
38
66
70
116
57
62
55
72
100
82
55
107
59
107
56
87
28
97
83
72
31
104
78
81
62
122
41
77
56
70
91
62
82
101
58
106
117
65
77
54
78
48
41
65
69
85
91
125
79
39
40
92
77
56
90
71
52
90
109
68
73
72
135
83
56
68
96
99
119
103
66
72
56
56
89
61
81
85
52
82
48
53
59
111
114
74
73
66
93
99
77
75
80
133
104
99
55
59
87
99
64
80
99
64
79
106
96
53
58
108
103
74
52
135
113
71
89
77
106
112
96
76
133
84
124
40
70
67
90
102
49
85
55
128
78
40
96
48
66
123
103
41
73
95
116
71
51
41
92
130
75
100
72
57
46
116
108
108
111
94
35
64
95
44
52
60
108
73
53
89
83
37
96
90
80
68
122
73
51
102
53
100
78
89
97
51
59
55
57
93
97
80
110
72
116
79
94
82
96
68
61
136
63
60
126
56
97
81
93
56
41
88
63
49
40
88
136
65
54
87
61
131
104
66
51
81
38
42
66
98
78
71
82
99
31
74
42
77
101
81
65
41
81
64
83
74
81
106
122
95
93
66
44
83
65
85
68
69
86
98
72
58
55
104
75
105
104
72
41
125
46
44
57
46
83
44
87
115
85
119
97
78
54
51
53
95
56
92
61
57
68
88
49
75
66
62
64
38
46
61
53
92
71
52
62
102
64
83
98
98
105
138
113
44
45
59
90
43
70
58
137
80
60
95
43
28
111
75
83
53
49
39
91
62
67
90
105
43
108
70
65
89
46
40
38
67
74
75
121
63
130
51
52
73
74
99
105
53
103
107
57
43
81
57
109
67
132
48
90
59
79
110
77
130
94
58
61
90
113
64
99
67
105
107
40
97
56
72
34
52
108
75
69
70
80
68
48
110
87
95
89
46
52
76
69
51
72
66
49
63
46
99
57
50
99
52
39
35
75
42
73
121
48
82
73
25
108
63
102
85
55
77
41
93
71
72
77
46
57
72
63
85
56
115
78
69
63
36
49
61
81
72
68
80
92
85
106
42
149
59
75
90
89
89
78
64
68
105
84
67
101
64
62
60
97
63
80
64
109
89
52
78
86
72
31
104
41
76
130
97
95
123
126
64
75
109
80
105
100
40
76
59
119
48
51
75
74
42
62
71
92
86
90
64
66
95
51
71
42
113
80
112
84
119
52
34
86
64
76
56
99
97
75
74
46
46
73
58
77
57
98
116
66
65
170
62
69
73
59
60
45
83
61
70
157
64
62
70
69
89
95
97
141
117
72
80
90
46
58
80
83
101
103
83
51
63
42
94
56
48
85
68
81
62
41
71
86
66
59
93
62
77
120
104
88
73
95
78
62
38
112
56
116
95
83
84
80
65
89
74
101
83
33
138
137
49
63
105
43
113
77
61
94
54
111
61
40
123
86
50
138
88
104
80
97
64
44
76
91
41
89
103
80
56
56
93
40
51
46
58
52
54
65
61
80
63
45
109
67
55
51
54
49
80
61
56
106
112
82
57
108
79
38
66
40
92
134
61
53
95
76
77
116
41
81
46
101
88
67
60
86
75
55
55
60
113
48
133
37
82
70
89
85
45
65
61
71
48
37
52
63
50
77
47
122
59
71
61
74
58
80
56
41
58
44
92
63
86
66
108
118
46
73
50
70
136
60
129
97
72
83
91
93
67
76
50
59
102
139
40
65
90
75
58
70
66
82
55
127
61
46
86
96
74
75
84
92
73
92
59
85
46
84
54
56
63
74
80
80
38
113
89
72
60
138
62
132
128
110
70
50
94
71
80
64
112
67
50
83
48
47
94
156
79
155
65
92
101
94
47
93
92
72
68
37
186
75
48
139
76
94
62
86
125
58
58
92
65
73
36
79
97
86
39
58
97
42
73
63
62
126
64
56
78
85
37
46
127
103
69
63
111
84
69
97
53
64
88
57
107
73
63
55
44
101
87
80
76
51
73
81
102
51
35
91
93
158
127
101
90
47
58
69
84
49
63
103
117
108
63
105
75
90
121
77
90
51
85
86
58
68
58
85
146
153
70
71
63
66
35
100
156
67
74
94
98
46
65
66
87
72
39
173
69
75
86
49
73
89
61
85
68
57
122
64
75
89
103
44
70
97
69
60
68
62
73
83
116
79
62
112
62
50
96
70
106
47
71
60
92
95
64
82
63
117
137
94
60
106
38
59
59
89
48
59
95
33
56
85
73
123
116
92
83
61
60
54
86
72
33
93
39
59
71
67
61
90
68
85
84
95
88
115
82
79
116
73
102
114
65
51
106
66
60
51
84
55
104
69
44
44
75
69
92
111
73
49
108
95
85
45
58
109
51
83
107
46
122
71
67
77
110
56
43
81
116
63
40
26
69
58
126
64
79
45
74
50
62
89
83
80
49
50
85
76
43
63
91
40
69
55
46
81
95
60
77
38
34
87
80
87
133
77
52
144
57
58
38
58
81
75
67
55
88
81
48
81
83
72
107
55
93
72
41
58
49
93
120
59
71
25
55
53
51
69
93
75
47
101
85
71
70
69
88
127
72
59
70
71
98
68
86
98
106
113
85
115
92
60
41
108
34
93
117
66
48
58
71
99
84
64
110
76
67
122
76
100
42
67
31
114
101
96
79
97
68
156
107
91
92
97
68
92
91
51
93
91
89
86
162
59
73
36
76
74
76
84
35
46
75
98
91
66
127
34
45
68
130
53
96
97
49
102
79
45
100
133
65
88
77
60
90
56
54
72
86
92
80
94
102
74
71
70
63
62
116
49
88
93
77
96
58
96
36
58
82
57
66
100
73
108
127
116
53
76
114
93
87
42
77
79
53
94
59
107
118
57
93
93
113
37
52
63
125
97
55
124
93
92
41
79
63
64
38
104
55
59
36
45
84
126
36
75
96
126
59
49
67
75
76
76
125
56
127
60
131
116
91
58
73
86
48
110
45
66
48
58
49
68
69
83
51
28
75
105
121
65
82
74
41
114
109
56
73
34
85
81
52
72
74
57
67
96
77
80
60
68
54
69
59
90
84
38
69
54
140
89
93
114
128
80
83
85
102
25
81
56
47
76
94
67
53
62
26
119
70
83
72
128
41
62
54
40
106
69
30
77
49
51
99
95
56
134
76
90
113
73
104
37
37
69
77
117
92
48
108
61
62
88
75
71
83
75
70
96
74
86
133
67
115
70
72
89
63
105
46
114
48
88
79
145
130
44
85
53
74
39
34
42
88
136
93
112
49
73
53
42
118
98
64
50
71
54
71
72
88
55
71
60
73
59
79
50
85
96
45
87
66
91
75
92
60
81
90
75
69
70
49
44
48
64
72
66
74
38
130
89
62
53
85
78
118
66
52
60
100
43
72
72
120
88
108
117
85
55
68
77
70
75
81
89
68
96
86
56
43
74
52
41
114
118
54
82
93
48
75
89
96
90
45
133
104
71
60
97
85
109
80
66
74
73
87
81
112
75
50
73
75
107
44
35
93
54
86
52
49
41
31
65
85
53
55
115
55
87
80
50
95
83
39
56
77
57
69
87
67
42
92
90
69
48
63
60
43
40
76
45
49
86
85
77
45
55
72
94
96
55
143
75
84
72
102
122
73
85
71
93
31
65
43
104
56
62
69
96
114
196
50
35
50
50
59
108
114
62
54
93
85
73
70
154
92
86
59
80
53
84
38
81
88
63
83
88
71
61
80
139
78
89
95
59
67
58
66
71
94
64
45
74
62
122
66
61
88
88
69
88
105
58
84
50
51
57
39
107
89
66
91
71
83
61
74
99
61
82
129
73
124
100
67
71
96
131
67
83
72
100
145
93
76
54
91
87
40
63
75
67
65
137
90
71
108
63
64
100
135
47
46
67
109
88
57
68
83
86
113
59
36
38
154
55
48
82
96
99
82
69
145
102
92
148
85
73
96
88
55
101
131
68
95
57
52
93
45
85
75
63
94
68
63
77
46
88
86
75
101
60
80
43
116
108
53
58
38
74
65
55
88
54
54
67
64
75
46
82
98
73
72
116
38
50
95
81
68
70
66
91
36
78
62
75
100
46
73
90
99
70
95
101
104
69
71
48
90
84
78
95
65
107
60
63
107
84
92
63
76
59
132
61
64
95
67
36
37
78
69
78
33
52
72
50
81
42
69
35
91
70
115
103
46
82
60
55
148
46
63
103
93
81
100
75
36
75
81
87
73
39
58
78
80
62
88
42
84
38
106
97
56
85
58
91
42
100
150
77
65
95
97
100
36
84
61
84
50
61
114
79
105
113
56
56
37
102
86
93
77
109
53
89
91
38
85
93
55
61
120
56
47
102
29
81
61
87
68
83
51
73
108
62
113
59
95
32
98
58
81
69
100
43
45
76
95
67
89
66
61
47
98
109
62
104
93
96
38
128
140
47
120
111
63
68
52
60
139
105
118
85
97
141
69
98
55
45
65
87
87
86
42
81
136
26
87
76
122
30
64
53
35
70
93
64
56
87
48
100
63
66
111
63
78
39
80
102
170
112
57
72
116
60
79
48
78
58
72
85
71
69
86
47
60
56
126
118
66
109
55
94
72
80
43
50
50
87
61
53
77
46
87
66
63
45
47
105
56
136
82
68
80
100
67
77
102
24
88
67
66
84
65
62
44
81
75
39
64
144
106
69
84
56
106
69
74
71
61
102
54
48
58
70
34
45
75
46
81
64
87
62
77
103
52
58
114
73
92
91
56
74
31
57
40
99
79
63
103
44
56
94
92
48
78
71
79
95
118
90
52
65
74
89
65
61
91
33
75
70
98
85
103
82
98
35
64
66
72
78
62
87
46
45
130
57
112
37
91
86
81
90
88
80
90
98
39
60
84
54
73
73
118
70
101
70
80
33
75
51
108
56
58
73
87
105
105
54
77
46
66
85
97
72
73
74
41
102
133
69
75
65
68
52
40
35
65
69
102
77
121
63
93
69
53
88
56
72
69
76
82
71
66
62
116
87
73
99
72
64
76
94
91
98
107
85
61
83
63
97
68
113
50
64
48
68
58
91
84
85
58
68
65
51
83
85
84
75
109
110
56
51
96
110
50
100
78
77
117
170
45
81
40
68
88
99
67
119
63
94
96
49
104
57
83
37
82
72
53
102
69
109
97
29
93
46
79
81
86
142
46
119
73
88
77
91
100
80
61
44
80
104
74
81
83
58
61
67
86
91
132
78
84
102
106
145
122
72
120
47
89
67
106
66
60
102
51
60
36
81
55
66
125
28
126
66
152
74
70
113
58
83
67
76
93
102
77
68
89
101
115
121
161
118
44
59
133
104
51
81
85
78
71
63
47
58
131
126
106
73
73
97
38
56
73
58
54
56
83
65
83
54
61
87
66
67
82
84
58
78
68
98
81
42
91
53
95
86
86
66
39
85
71
61
80
61
73
48
78
39
103
60
99
65
78
87
50
71
75
106
103
67
58
61
62
78
104
50
62
87
67
96
63
47
73
106
41
70
97
98
61
70
93
129
68
103
93
81
43
81
80
74
56
35
87
89
99
101
60
71
80
62
77
90
53
74
175
128
111
59
73
39
85
92
93
37
115
52
75
72
71
60
108
126
96
57
99
63
60
75
89
94
33
85
67
50
48
51
98
83
118
118
49
101
118
39
98
84
85
68
88
136
69
94
40
60
88
77
65
34
37
130
72
79
56
105
105
73
75
73
114
113
128
70
54
66
91
47
103
81
57
66
54
106
63
130
56
95
104
68
45
140
119
124
92
45
87
91
90
77
72
75
47
34
103
145
44
78
26
105
103
82
98
112
94
50
67
75
100
125
89
90
81
56
45
114
88
72
78
97
69
33
110
95
88
74
58
104
86
70
46
62
47
77
77
68
74
137
51
111
32
107
111
80
39
95
143
138
86
61
67
66
54
78
57
73
78
97
56
135
53
68
92
89
84
95
48
86
90
74
57
62
72
111
76
78
85
64
55
83
53
55
55
104
128
35
87
44
131
51
55
104
61
63
65
117
36
65
81
67
58
79
54
40
53
61
127
86
98
79
92
61
38
86
64
53
72
101
46
81
94
50
104
68
58
47
68
63
131
44
109
80
37
119
58
48
106
41
78
79
92
46
50
56
69
108
105
99
35
121
54
114
42
87
102
49
75
56
63
57
71
52
76
74
57
73
93
61
65
61
159
55
115
102
102
33
91
41
53
77
63
102
73
59
83
89
70
78
67
30
92
26
103
55
108
86
117
56
81
36
97
81
61
78
77
119
67
116
63
83
44
78
87
75
62
58
83
117
98
87
61
70
38
45
42
56
56
98
65
71
51
84
44
123
62
90
97
35
72
35
53
114
40
106
65
60
79
131
82
66
50
86
116
60
85
67
96
35
50
48
102
84
55
46
96
40
32
66
89
87
74
63
79
84
82
86
71
107
39
60
145
92
70
64
85
121
102
98
140
83
42
106
94
48
54
68
103
118
122
60
48
79
86
59
51
44
113
102
42
76
156
60
54
90
100
113
62
95
79
49
84
43
66
84
66
73
82
64
39
79
70
68
45
56
47
96
58
68
51
57
111
114
91
67
82
67
52
47
93
75
55
109
97
128
46
98
72
78
93
46
30
81
89
57
110
75
70
60
65
79
87
62
92
79
92
64
70
163
118
71
99
40
89
46
88
77
80
61
119
88
90
52
59
111
102
65
88
120
47
100
63
105
67
52
54
92
79
63
75
50
93
59
79
87
89
52
48
101
89
76
102
50
80
91
98
39
58
34
91
114
77
33
117
51
59
104
98
63
32
74
38
100
93
51
61
61
33
74
59
111
56
78
74
65
77
88
124
77
72
76
77
59
74
84
54
55
72
104
66
91
47
81
56
117
98
78
43
127
68
112
72
78
56
90
76
63
94
71
102
73
63
76
68
62
50
92
122
68
70
92
55
76
61
43
77
96
63
59
94
97
106
49
79
64
88
59
95
74
34
38
76
92
72
46
58
87
61
83
64
97
80
72
57
111
134
76
96
84
40
79
81
76
46
87
114
94
80
54
95
73
50
65
69
76
31
79
69
60
100
103
83
105
80
103
57
57
57
79
94
97
91
106
48
53
70
47
56
53
66
77
68
78
87
101
76
128
50
104
75
94
86
49
34
106
148
72
93
45
92
109
86
71
117
72
72
102
96
86
92
88
49
82
77
49
62
61
92
87
86
77
68
119
56
103
46
81
82
82
63
60
60
89
121
113
61
57
71
75
93
66
76
93
74
48
116
46
101
93
85
86
70
99
96
123
107
99
89
74
82
99
57
53
64
64
61
99
60
24
65
108
59
64
113
74
98
41
62
91
49
66
73
70
57
72
121
85
71
97
149
42
58
124
84
55
54
34
63
40
110
69
88
68
52
81
63
53
71
84
41
57
68
50
113
88
48
50
104
58
81
97
74
89
104
71
138
148
76
41
102
65
34
62
106
56
49
88
58
129
45
70
115
62
70
126
42
90
65
67
86
73
83
90
121
95
60
87
67
55
61
31
67
129
93
95
83
79
94
81
115
79
80
59
83
52
70
100
57
98
52
93
85
94
94
107
93
89
89
75
80
185
49
95
82
77
95
76
55
70
82
59
44
68
61
95
97
26
47
73
103
103
66
81
99
90
130
70
99
109
98
78
47
48
44
21
70
71
108
108
50
64
69
89
107
66
133
56
139
123
76
85
86
66
108
50
102
66
86
69
80
63
67
106
134
108
75
86
57
92
64
101
100
51
78
73
63
104
104
98
67
103
88
107
50
76
79
75
62
61
90
50
73
88
75
32
70
155
89
48
86
68
68
93
85
72
35
148
71
77
72
87
113
85
78
94
120
70
57
95
88
104
61
70
89
119
114
70
59
116
80
63
104
102
63
73
97
98
59
53
98
132
131
81
91
79
55
48
88
76
61
54
48
59
66
97
88
72
48
75
90
108
72
109
64
90
103
55
103
86
45
88
127
121
84
57
82
66
68
91
40
73
41
95
53
82
80
73
54
62
66
67
58
70
75
44
63
64
65
81
89
61
98
80
79
71
65
40
65
83
70
89
66
77
80
92
107
51
64
149
101
51
69
90
73
46
84
47
46
60
74
90
116
63
77
99
76
99
48
35
91
101
116
55
85
74
61
51
62
88
78
76
113
90
72
98
102
63
94
102
106
61
94
91
103
47
53
98
78
75
67
66
39
59
68
101
79
105
75
69
100
52
106
95
49
69
78
52
78
64
40
132
69
44
59
93
45
46
66
117
44
72
59
60
68
108
60
44
53
82
98
42
42
91
44
67
91
90
76
49
65
81
103
58
41
63
65
54
88
76
83
73
74
49
200
70
88
37
46
64
94
139
65
62
120
104
63
104
68
88
88
103
28
98
67
125
84
90
75
65
85
104
71
49
35
78
76
117
87
147
60
81
102
90
77
101
67
61
63
70
122
68
74
84
56
96
46
119
53
64
68
63
66
61
92
82
80
144
76
60
84
85
58
44
60
81
101
45
34
59
91
73
72
61
58
83
79
92
36
84
45
118
101
100
94
101
98
88
68
116
50
66
87
42
74
76
97
137
98
42
59
77
38
79
81
87
116
100
85
82
90
67
66
94
41
88
40
72
60
71
77
58
63
101
47
85
63
87
76
119
72
92
92
61
57
56
40
54
129
92
38
93
72
117
68
88
122
82
110
73
36
59
108
55
79
78
68
88
83
92
86
39
42
80
90
81
110
54
116
105
76
98
63
100
31
164
36
84
78
74
62
113
39
50
101
90
62
94
125
82
147
82
71
124
97
70
108
85
93
55
83
169
85
89
59
52
74
82
69
57
126
49
79
55
52
72
78
74
86
74
50
31
38
62
95
50
35
73
40
62
53
60
92
84
60
55
108
89
88
83
103
73
123
90
128
113
80
61
77
53
117
60
47
106
75
59
92
154
57
62
120
120
33
108
80
72
39
59
81
88
106
72
41
52
61
81
58
45
72
97
66
30
72
41
90
89
45
76
54
50
116
68
74
76
56
70
69
108
73
134
74
73
68
89
76
55
67
96
66
70
99
64
48
37
41
78
116
54
54
58
127
44
109
60
102
77
74
67
77
82
68
81
68
55
134
98
88
61
41
102
48
135
63
73
73
64
48
70
73
99
74
72
37
87
72
67
60
91
65
99
49
94
83
109
99
95
66
69
91
68
125
35
103
99
86
103
72
106
107
58
75
68
69
83
136
59
135
61
103
90
81
40
44
52
91
59
66
50
84
59
93
88
61
88
57
60
61
102
67
124
54
116
67
64
56
75
93
45
103
85
153
40
83
81
81
69
52
60
99
75
87
47
55
78
75
71
70
74
107
72
86
57
55
63
56
128
77
94
128
75
51
82
90
75
54
84
81
105
44
70
128
99
54
81
74
50
87
78
59
62
64
78
112
63
84
60
94
59
54
50
120
111
60
76
76
69
94
70
101
69
90
102
43
92
118
105
106
80
92
56
46
63
99
89
104
52
51
119
47
95
100
120
64
79
112
63
78
72
110
133
34
69
115
87
95
69
63
52
85
104
83
138
86
92
79
67
81
97
102
44
88
81
58
56
53
87
68
81
70
98
96
82
56
51
95
53
54
77
82
100
83
63
75
134
94
69
84
118
113
95
99
73
95
84
88
60
88
44
86
50
41
86
122
42
77
43
87
84
99
59
78
44
82
71
70
86
115
118
64
104
75
99
71
84
86
50
75
45
127
84
81
35
85
74
58
58
101
56
99
42
67
56
93
96
91
108
92
73
47
45
54
103
88
104
117
99
82
72
29
49
82
79
55
60
109
85
45
65
43
44
65
46
83
73
56
78
64
65
69
60
88
82
130
59
74
60
74
59
98
77
68
68
98
111
64
102
126
61
69
66
74
22
53
88
119
77
68
83
71
112
57
52
67
77
84
79
53
138
80
110
56
119
81
110
49
91
108
42
56
85
78
33
107
68
70
57
61
129
78
98
109
76
80
110
43
59
56
50
95
97
47
80
78
71
101
65
71
53
81
52
83
57
77
24
97
66
73
60
56
64
67
83
69
79
118
119
97
79
73
57
86
58
79
71
64
83
76
41
48
45
56
75
53
95
71
51
70
95
81
116
52
55
48
50
46
64
63
65
103
82
40
44
48
54
72
89
44
63
67
44
62
61
44
84
139
81
64
68
100
100
68
86
114
73
111
70
110
112
100
54
57
66
73
79
66
34
49
131
75
119
53
63
87
89
68
73
100
126
74
66
94
90
101
60
63
64
55
48
76
71
135
90
90
68
57
57
55
97
87
66
54
52
72
58
70
46
111
76
69
75
59
106
112
90
94
70
81
93
77
49
49
115
80
48
91
56
109
57
79
105
61
70
64
56
71
80
76
53
66
66
75
94
51
72
103
57
88
79
62
48
85
112
119
85
95
91
112
95
52
71
50
68
68
106
63
56
77
74
82
50
58
81
109
50
98
89
70
72
93
33
56
66
65
102
44
89
118
77
139
99
109
83
89
40
66
85
41
70
109
110
134
101
98
97
131
102
46
38
80
71
79
64
74
68
77
83
58
43
73
88
96
152
91
132
69
56
70
77
84
71
49
77
67
62
72
72
48
114
77
92
64
59
88
58
74
98
73
32
81
66
64
101
113
108
122
88
78
64
66
101
43
71
51
93
74
55
105
47
77
106
60
27
108
111
54
136
60
63
73
82
77
74
53
74
62
44
52
65
63
58
49
113
73
82
40
70
112
61
61
90
82
117
75
54
49
57
89
67
58
120
86
89
114
102
75
64
75
125
66
97
136
117
105
32
51
56
90
119
70
103
79
80
66
76
55
81
128
63
96
96
47
57
72
40
122
54
60
66
99
87
94
98
88
73
35
70
73
50
45
93
88
66
42
42
57
53
88
132
135
68
112
80
110
60
62
86
34
115
63
102
55
60
88
45
116
81
54
103
83
105
105
92
66
92
83
113
49
98
54
51
92
74
47
65
48
45
82
103
92
94
43
59
88
65
32
76
74
89
91
77
81
46
45
112
60
104
80
69
97
37
71
55
33
36
77
61
74
53
95
104
86
94
112
94
54
72
83
66
113
41
46
63
44
76
32
83
121
30
24
71
77
89
70
158
77
88
53
99
84
84
79
48
41
81
69
69
96
50
45
83
141
94
44
31
81
51
81
37
34
101
66
60
89
106
79
81
82
52
94
64
80
53
88
112
100
66
129
149
135
61
107
95
116
83
60
54
81
84
31
76
84
91
65
72
65
76
66
106
80
147
70
81
115
65
67
38
55
67
89
52
70
48
111
102
58
59
80
61
93
113
94
116
86
77
91
93
80
72
88
57
120
64
75
68
41
53
105
63
81
75
101
54
62
104
98
86
99
85
55
113
86
70
111
79
54
85
82
33
69
55
178
83
80
65
92
89
113
63
143
67
51
77
102
136
62
116
39
89
97
90
87
105
43
80
71
28
120
88
94
58
70
63
84
69
59
79
59
66
65
82
69
89
74
47
76
65
55
69
96
118
59
43
26
57
61
92
89
66
83
50
70
47
110
89
90
89
93
137
44
91
80
57
55
81
74
82
62
65
199
103
83
56
54
107
68
76
129
130
75
66
82
117
70
86
63
126
80
38
99
74
45
54
119
103
76
67
40
111
86
65
108
46
76
58
69
47
81
74
73
72
74
40
82
65
66
71
60
110
100
96
103
73
55
56
55
35
64
70
101
98
44
53
78
37
108
81
99
125
90
42
77
95
75
82
77
60
109
60
79
53
88
83
100
67
106
81
47
47
133
61
92
53
96
55
80
100
66
78
64
64
91
38
74
108
63
99
80
74
97
96
94
117
52
39
98
50
73
90
138
98
66
49
117
85
79
83
87
92
82
48
120
81
67
70
98
82
32
39
47
92
85
52
105
63
46
107
68
66
76
41
69
95
145
112
94
105
87
120
99
95
70
102
63
99
46
114
101
143
80
68
66
50
73
43
60
48
70
123
108
91
54
46
100
93
47
81
95
50
120
79
124
97
101
47
74
105
56
61
72
77
94
91
119
39
107
155
69
65
76
105
49
62
82
50
55
90
86
50
59
106
98
75
64
69
87
55
64
64
71
84
110
91
103
55
72
42
53
64
48
46
78
61
81
26
55
63
164
54
44
69
65
55
81
86
106
63
92
85
56
96
98
54
71
35
62
96
138
83
87
112
107
69
142
91
106
113
66
65
71
81
66
88
42
54
94
61
100
55
140
67
25
38
100
98
53
60
123
71
75
87
67
73
54
72
65
118
156
62
100
40
77
92
121
85
40
102
130
76
80
83
67
113
91
70
65
45
43
61
69
70
52
47
66
99
78
64
60
60
81
88
93
110
68
52
70
68
107
124
78
49
87
69
140
138
81
82
96
38
79
73
73
58
52
76
119
97
67
60
52
90
40
52
61
86
93
60
94
71
74
106
86
72
90
96
49
59
50
78
58
81
82
90
73
67
89
65
86
80
100
78
80
41
72
94
101
157
29
90
90
87
122
53
41
26
99
57
98
54
61
69
91
74
58
67
235
90
46
76
71
118
76
73
112
38
89
86
88
111
100
48
95
37
73
67
51
71
90
89
85
90
83
42
76
88
97
49
67
47
47
48
95
58
58
70
126
59
78
90
57
77
82
77
97
134
114
51
79
59
51
109
65
54
94
66
66
113
88
125
64
54
73
66
58
85
76
143
96
115
100
88
102
88
82
78
75
62
76
50
133
88
59
116
58
62
46
112
103
125
112
141
46
133
93
96
68
74
74
105
121
99
91
47
85
98
89
84
92
101
68
83
67
75
118
48
105
69
56
115
71
85
109
82
62
91
93
61
67
75
87
139
82
41
64
92
87
100
47
103
32
69
114
52
51
90
64
126
36
30
63
63
81
137
136
68
46
108
42
58
48
75
75
62
93
75
27
68
51
82
56
51
68
88
86
99
130
62
88
77
106
36
51
86
113
87
98
102
65
82
143
56
67
84
69
59
53
86
46
47
44
141
95
63
61
111
39
69
156
85
90
76
58
72
78
60
70
88
70
124
55
89
112
42
52
159
98
99
107
75
81
91
82
135
143
83
35
91
80
80
74
92
39
90
121
51
86
88
57
108
61
111
32
67
53
133
63
108
90
120
80
72
56
63
48
47
82
80
64
78
42
133
67
58
67
56
86
61
65
138
60
108
108
83
74
69
78
77
86
82
73
86
125
74
47
88
83
96
91
48
53
98
50
48
38
94
63
68
39
76
98
100
45
43
75
77
57
55
70
86
56
102
62
81
108
58
93
87
137
64
47
58
87
96
119
64
38
53
101
57
100
72
87
92
54
31
83
61
85
86
33
105
75
44
64
55
72
135
68
88
106
89
118
42
71
43
84
64
42
112
107
62
57
79
54
48
69
65
68
86
64
68
56
61
84
82
74
61
68
29
104
95
60
65
90
126
65
81
93
71
88
87
62
52
58
91
73
73
89
87
78
51
88
59
85
95
28
36
74
59
102
79
61
57
67
75
78
58
52
100
81
89
92
27
124
75
47
125
64
71
77
62
93
51
56
115
56
46
54
69
66
43
62
97
80
64
130
55
103
112
82
73
133
121
73
88
67
79
85
84
83
91
75
115
56
90
70
92
55
57
70
127
73
47
74
88
47
79
59
86
74
71
90
86
107
68
92
88
42
92
89
40
72
65
43
58
51
120
108
34
51
95
88
80
100
78
51
81
115
52
49
51
93
50
61
66
54
127
89
83
82
139
104
158
92
67
103
84
117
116
49
76
70
134
54
72
65
129
50
77
81
86
25
100
69
42
66
102
92
104
97
55
113
101
69
94
76
111
63
39
101
63
62
49
51
69
83
68
45
78
88
84
52
99
77
49
45
63
79
91
48
62
79
114
65
83
59
94
141
84
89
127
101
77
49
62
56
107
49
65
38
43
98
102
112
115
88
85
91
68
99
43
90
52
76
66
82
137
67
75
21
72
95
68
114
81
84
103
52
89
69
57
83
124
62
105
92
78
62
70
79
101
133
109
67
89
58
79
128
95
102
129
102
66
68
78
93
80
67
56
81
61
99
106
76
123
66
80
80
43
70
49
68
151
121
53
66
48
114
55
53
65
50
61
49
55
51
76
60
73
74
96
62
81
78
107
155
52
86
45
77
90
104
97
84
66
48
108
45
51
117
32
60
87
52
67
39
86
47
96
45
101
83
32
70
96
44
61
110
77
84
65
69
68
73
144
76
95
103
102
101
107
74
90
37
60
67
44
107
85
43
42
59
86
84
84
52
93
85
59
88
100
47
77
50
62
44
89
43
96
72
114
107
59
65
65
66
79
107
61
87
114
99
61
68
109
76
77
108
96
48
36
76
212
78
82
121
70
23
87
83
123
53
28
77
75
63
69
91
69
65
71
45
58
150
148
102
69
67
72
47
66
49
90
53
117
50
72
65
86
101
88
99
126
73
107
43
50
45
64
82
133
70
26
64
56
58
95
54
92
50
66
108
73
89
79
92
78
64
92
48
96
74
128
64
69
71
79
69
58
31
104
69
75
55
110
69
83
53
60
59
93
48
44
139
88
121
69
43
47
30
88
60
144
84
55
52
81
69
71
87
66
99
61
72
61
83
65
91
55
108
98
97
80
60
134
65
106
65
104
112
90
42
105
75
105
74
90
80
84
75
61
151
66
76
93
139
85
57
70
77
90
57
89
98
139
66
74
63
97
74
107
76
120
112
99
51
53
101
51
67
99
67
77
72
102
81
107
63
91
159
73
94
110
100
79
91
91
123
77
89
55
108
62
113
77
42
75
75
58
106
69
59
91
81
50
61
90
59
96
99
128
50
88
146
90
121
69
115
68
58
79
56
53
52
78
92
70
72
106
91
111
73
53
129
68
59
69
99
56
43
37
74
69
89
111
128
69
40
59
78
71
78
133
51
98
119
76
58
74
83
76
74
60
70
98
102
105
119
70
49
39
53
110
49
88
79
74
86
83
71
77
43
77
74
82
45
82
67
91
61
65
66
82
57
73
120
71
71
64
37
35
55
30
46
87
85
94
40
65
83
113
71
35
82
85
75
130
79
98
72
99
85
85
60
131
40
61
56
96
95
40
70
69
59
75
88
102
52
89
50
78
109
80
101
102
57
66
82
32
66
86
44
121
74
68
55
72
67
60
57
107
102
28
117
132
90
84
87
65
46
37
96
99
77
66
95
107
72
131
104
113
45
58
96
56
79
115
76
94
59
89
138
131
57
64
75
62
66
110
98
98
54
58
85
107
29
94
62
68
45
72
80
95
50
69
39
75
85
85
108
51
78
62
128
98
93
79
56
85
66
73
84
87
65
74
84
82
64
59
76
89
38
67
74
63
50
79
69
100
83
34
77
78
65
66
58
78
55
84
23
67
61
53
79
71
42
84
83
52
54
76
71
66
94
92
50
81
65
38
116
104
101
100
50
97
86
49
136
68
86
45
77
43
53
89
111
131
99
76
121
62
74
74
51
62
93
63
78
97
76
125
72
84
84
45
83
100
69
81
106
110
60
99
102
50
71
40
113
98
78
70
64
78
77
86
55
87
124
40
70
87
48
88
91
61
47
61
72
116
108
93
54
75
85
75
90
79
93
63
48
155
113
59
98
78
96
54
61
120
52
100
61
77
60
144
50
61
94
88
58
98
89
43
92
69
71
131
88
111
82
96
110
67
65
43
46
112
69
83
80
111
78
88
84
95
48
47
110
39
55
47
42
42
89
108
62
76
122
120
120
96
58
80
87
46
95
42
49
100
64
59
84
54
80
39
78
90
73
96
56
56
85
44
105
62
75
49
98
106
89
56
90
103
63
41
73
93
32
93
75
56
178
76
53
80
75
53
82
59
91
96
98
51
92
64
77
84
91
84
172
59
67
56
100
102
68
61
58
78
71
79
148
38
59
44
75
85
63
60
68
51
135
103
103
71
83
90
101
93
97
104
61
98
74
56
56
77
87
58
43
50
68
129
56
99
63
104
118
73
66
69
63
82
64
123
105
67
97
92
77
85
97
72
82
63
45
102
68
67
48
98
55
80
84
73
69
111
81
67
114
79
43
82
74
70
73
97
93
109
135
89
141
137
60
44
27
70
95
76
70
92
99
65
66
72
88
56
63
77
91
79
63
113
66
58
76
124
78
55
76
82
67
156
70
137
87
63
93
53
89
79
98
72
97
106
55
86
88
61
48
72
80
74
146
88
91
67
102
28
91
46
79
72
68
64
76
67
56
67
124
96
41
77
110
75
71
71
102
49
103
50
61
79
72
57
56
92
31
89
86
82
76
79
59
88
24
91
69
113
89
69
45
104
76
57
86
87
92
49
108
100
89
62
95
60
86
95
68
97
117
37
68
98
57
111
145
87
84
70
106
76
70
57
95
52
58
85
91
120
74
68
51
84
62
46
93
84
54
77
61
60
85
57
141
84
75
88
47
89
100
84
111
83
92
34
108
71
74
74
148
43
30
39
65
86
105
67
68
73
96
79
87
183
90
87
88
100
117
95
91
38
67
42
60
81
100
38
107
92
60
51
69
65
52
119
67
80
53
45
47
49
132
36
35
60
58
84
85
121
59
85
35
80
97
40
74
49
102
123
52
81
57
70
62
79
83
63
87
70
49
58
99
83
94
112
75
42
117
112
78
75
43
73
82
70
93
98
60
58
66
62
68
75
100
66
92
45
104
55
73
31
117
97
143
136
70
92
51
139
62
62
61
83
68
124
94
69
57
99
45
60
63
96
64
96
43
76
61
88
95
82
77
84
110
62
48
73
54
125
91
138
94
83
113
110
83
82
94
75
129
83
75
54
103
46
97
44
62
51
144
70
125
56
106
72
102
115
66
42
70
56
52
89
106
73
94
86
82
126
65
87
83
66
97
85
81
79
42
115
103
82
73
43
69
35
87
72
109
83
97
68
61
100
40
91
82
107
106
55
127
71
94
84
59
61
92
55
29
61
59
74
68
61
71
133
46
50
128
71
105
82
63
48
98
68
101
55
48
78
39
51
102
35
67
62
57
54
38
56
74
34
126
54
38
61
57
62
70
67
103
66
95
92
56
52
70
116
83
108
98
97
99
85
87
114
72
68
82
84
60
91
26
86
58
87
82
58
76
79
93
66
102
64
71
64
56
41
85
23
72
55
73
91
55
91
92
94
29
69
58
77
66
91
102
75
58
112
97
116
72
51
44
41
106
37
67
40
53
37
71
81
52
66
73
97
52
83
46
36
96
43
53
87
107
96
82
68
78
72
93
125
76
82
68
130
63
157
60
50
74
42
57
46
102
32
71
109
55
76
85
117
128
97
125
66
68
113
144
52
98
89
73
80
82
115
83
82
132
51
39
53
57
55
58
89
124
61
56
57
70
85
56
55
100
110
68
125
48
55
97
93
44
99
112
49
117
60
75
113
54
53
69
38
72
69
47
53
52
73
59
28
83
29
110
137
72
60
105
47
125
117
45
123
129
72
67
111
84
68
104
67
98
61
45
87
71
120
62
129
42
60
76
50
81
119
87
71
21
91
80
68
67
101
76
68
109
80
87
129
98
86
66
67
63
83
98
68
69
54
139
58
59
110
46
116
106
82
122
95
88
86
110
95
47
31
48
75
48
46
61
60
100
91
67
104
70
90
91
75
99
98
105
81
45
108
56
62
77
71
119
66
62
121
112
93
76
82
55
88
75
76
63
51
131
56
31
48
106
50
93
53
62
72
96
36
58
88
102
132
74
103
88
133
95
57
104
99
60
164
124
95
77
62
116
109
58
106
69
91
77
112
78
94
57
62
79
113
95
80
87
86
111
58
114
115
41
80
58
64
76
125
90
80
32
67
92
78
94
76
102
53
37
79
121
80
61
74
69
76
95
25
33
99
65
41
91
80
40
70
39
92
105
78
59
47
97
110
93
87
94
89
79
55
68
70
86
80
46
80
76
72
98
74
93
51
100
148
110
126
129
66
47
59
117
116
103
93
83
49
79
86
115
86
39
120
81
69
81
80
87
57
86
124
102
42
57
53
81
130
109
34
46
114
63
73
55
38
52
108
60
84
44
129
103
79
72
81
80
90
63
69
74
75
39
99
72
111
64
22
50
58
42
75
79
87
137
62
67
78
62
58
64
90
96
91
59
60
71
124
57
88
136
78
66
82
85
74
77
86
92
74
46
100
104
71
77
106
74
69
72
46
68
74
130
83
62
109
61
65
105
76
81
66
41
58
60
46
99
40
63
67
112
61
60
158
168
61
116
69
68
100
112
64
61
85
70
47
84
51
72
64
103
81
50
129
94
26
106
60
81
128
90
66
79
97
80
106
79
66
65
70
65
113
96
48
59
58
69
61
56
81
80
36
34
92
81
74
52
40
72
81
76
89
84
72
43
98
74
107
62
112
99
75
92
93
72
41
58
65
39
76
82
71
37
71
75
116
53
52
50
89
62
57
133
99
110
93
60
110
93
60
29
92
123
43
38
71
66
70
91
119
100
89
40
76
103
104
96
87
56
60
70
96
99
56
91
71
62
45
102
41
86
117
95
165
43
66
82
86
110
40
59
77
93
97
72
103
61
104
86
65
59
55
80
70
98
75
55
80
47
60
109
59
79
67
76
111
59
45
163
37
82
101
88
69
39
63
83
38
39
57
70
83
29
56
41
55
91
96
56
32
95
81
91
69
71
92
59
83
60
53
101
60
65
78
94
83
71
72
103
85
50
95
95
108
126
48
54
81
61
87
65
139
60
73
138
76
84
106
43
71
78
85
91
68
88
64
55
52
72
77
73
70
50
68
97
97
82
58
43
119
70
52
45
94
74
60
180
124
135
47
70
76
54
48
34
76
110
63
62
60
70
66
72
81
104
44
64
63
104
86
98
47
59
84
27
61
83
61
69
117
69
113
90
72
126
91
60
72
43
59
87
77
75
113
42
31
103
58
125
51
63
43
109
105
94
72
65
70
40
73
58
85
90
68
49
97
74
94
112
40
84
80
138
54
56
22
117
73
68
33
92
106
58
31
102
80
72
49
90
85
82
53
82
64
48
91
96
21
85
92
65
69
69
57
126
70
65
64
49
46
82
50
63
73
116
77
88
95
104
64
55
88
102
53
73
75
84
96
50
76
87
69
47
57
66
79
63
98
50
86
75
86
82
95
99
68
106
55
55
90
86
107
82
120
103
100
71
68
82
37
43
106
63
92
101
96
61
66
100
106
53
68
36
72
128
69
84
72
61
55
71
101
55
76
73
98
91
64
72
59
52
64
53
66
67
65
96
76
73
63
68
77
62
92
64
63
66
100
104
98
80
68
90
42
113
56
99
55
65
41
56
52
96
104
65
52
67
89
47
116
56
58
101
62
102
83
38
76
67
121
99
86
124
61
80
109
63
88
88
39
63
83
71
80
119
65
92
83
50
116
68
67
58
99
82
58
64
84
103
56
93
91
23
98
114
71
62
35
95
71
75
114
70
100
43
96
54
39
113
77
57
95
131
66
84
69
82
56
63
79
51
131
41
93
56
97
110
82
84
77
77
54
101
105
40
48
106
99
120
113
88
122
67
111
84
40
141
93
62
40
81
87
104
58
87
101
91
90
43
97
68
77
57
84
114
130
89
61
61
95
83
64
63
61
88
76
80
47
48
100
84
46
57
66
84
39
69
69
84
24
72
71
85
57
68
62
59
93
47
78
138
40
73
76
55
113
93
66
59
58
69
47
100
90
72
90
79
99
107
76
119
91
64
37
67
138
59
109
120
79
51
84
55
119
54
90
104
104
73
72
58
51
73
37
98
64
43
73
73
91
94
94
164
68
107
58
78
79
77
62
60
81
88
127
70
87
58
94
95
69
76
88
54
45
97
64
92
75
73
93
69
51
50
76
78
87
97
89
65
54
65
73
52
89
70
77
100
83
68
74
91
58
128
62
59
96
57
105
99
63
64
69
34
56
32
77
70
52
85
52
41
85
90
94
60
124
99
56
64
90
73
88
107
76
93
78
35
78
93
96
84
137
115
47
89
46
83
98
63
64
59
52
60
55
80
67
105
89
67
33
113
74
63
57
123
74
52
45
54
76
37
61
144
89
34
130
48
49
101
74
89
94
91
62
94
72
67
103
73
133
111
94
88
37
62
70
77
85
59
104
70
51
114
94
100
72
98
56
47
96
89
63
91
64
86
80
53
99
48
121
134
57
99
92
63
94
100
129
109
109
100
66
47
86
74
97
82
56
48
99
68
65
83
82
49
65
61
84
84
66
57
108
54
84
71
64
118
114
105
98
71
50
44
126
55
56
83
76
103
80
73
107
38
41
88
90
82
121
88
100
108
71
101
78
97
69
106
73
76
70
75
75
80
101
31
55
34
111
58
86
115
82
52
57
34
98
73
157
87
99
32
109
76
96
140
93
39
79
54
92
97
107
90
63
95
89
43
54
113
127
54
70
83
81
95
80
31
86
85
84
92
68
56
82
75
70
75
47
113
83
88
65
62
64
125
62
87
77
70
50
70
71
62
81
43
85
109
59
61
69
44
97
87
94
65
91
50
81
100
74
44
78
64
72
149
102
55
114
41
42
121
73
88
124
81
79
65
45
48
62
119
166
112
71
80
89
64
62
72
127
69
72
82
65
78
39
111
76
154
113
119
63
65
69
65
86
56
52
86
98
81
72
34
56
65
88
117
115
104
85
88
62
60
69
77
118
116
94
121
55
52
95
103
96
100
51
57
98
116
55
84
99
72
94
69
88
70
35
67
64
40
49
50
65
52
104
112
58
87
97
74
111
71
58
60
67
119
79
84
64
77
104
83
77
81
54
151
85
59
82
86
92
53
57
60
43
86
74
88
64
83
77
43
38
87
59
56
62
71
61
120
106
53
53
61
58
55
79
66
104
113
76
76
144
80
33
84
92
94
51
96
68
73
132
75
70
52
94
54
61
55
99
40
97
51
167
65
76
70
59
58
102
41
124
116
59
95
73
113
102
82
69
53
53
67
108
118
79
78
57
94
102
64
98
98
56
41
54
62
42
76
99
81
99
92
90
86
65
36
70
89
85
48
78
78
73
70
48
110
59
73
80
59
72
94
104
57
63
48
47
94
120
123
39
87
83
82
142
56
70
53
91
109
196
72
87
57
64
87
85
94
93
96
82
87
46
54
46
113
50
57
128
47
90
59
59
52
67
134
50
52
65
43
59
103
69
54
73
78
46
72
42
28
43
68
110
65
64
48
66
51
78
134
36
58
46
71
61
90
104
74
64
52
100
58
84
95
54
53
73
111
69
63
54
63
73
68
98
100
74
63
178
78
68
111
61
38
90
72
58
70
69
79
86
42
45
84
73
55
56
35
122
51
64
76
101
74
47
65
77
87
60
79
78
68
87
65
66
61
117
78
62
62
72
53
56
137
88
74
92
84
127
38
48
59
47
94
51
90
55
49
37
43
95
59
77
67
63
52
68
43
85
84
90
58
108
72
96
66
49
71
69
82
48
113
126
53
67
160
57
70
39
41
37
70
81
120
48
67
57
95
110
90
86
60
72
66
63
76
117
31
60
54
73
90
55
56
53
69
27
43
94
58
101
65
61
98
67
98
48
67
103
63
62
89
110
54
68
71
68
61
60
44
75
100
41
86
120
58
114
46
76
80
67
101
98
45
102
116
75
95
63
99
75
41
80
47
69
62
60
57
121
75
95
78
76
81
93
137
51
86
73
78
62
73
150
71
60
47
57
46
109
84
52
41
112
69
70
65
49
100
68
60
80
65
74
37
44
90
92
69
71
90
82
118
78
62
69
125
67
63
75
105
70
83
62
134
54
107
59
64
108
85
58
97
36
81
88
89
61
58
72
32
99
88
109
56
82
95
77
45
75
98
81
73
68
52
118
39
74
66
52
63
99
42
86
84
44
70
53
108
47
71
75
56
44
95
84
42
62
79
83
52
135
72
139
43
88
87
123
66
147
106
67
130
52
69
67
47
86
82
56
114
90
56
67
77
35
63
75
128
94
111
91
100
47
59
58
47
73
79
52
72
66
69
51
97
90
77
54
65
87
156
80
71
79
71
103
74
89
141
72
144
106
97
75
110
74
58
89
54
94
120
53
70
49
92
108
58
68
168
74
134
63
104
18
90
117
53
63
61
83
56
72
64
36
41
76
101
74
122
114
96
62
144
64
71
92
70
69
64
58
54
88
61
60
72
89
108
45
87
67
89
84
54
115
71
97
46
58
65
47
51
62
30
57
31
76
70
81
99
79
75
97
70
97
72
58
35
85
63
65
75
38
45
90
60
60
65
65
83
53
68
69
95
59
108
90
106
69
100
78
106
51
73
101
67
74
154
110
40
119
64
65
50
80
90
75
85
57
75
72
85
91
109
55
83
103
130
87
75
86
97
117
71
71
79
99
67
72
105
99
49
34
83
64
77
88
90
35
85
95
66
50
63
52
87
82
67
81
67
92
53
102
89
132
55
66
71
107
109
35
61
63
95
69
89
134
131
48
43
84
44
92
63
58
69
76
89
137
64
111
52
64
64
179
73
65
34
65
56
60
75
80
84
56
53
63
72
52
67
91
79
70
97
56
85
83
112
98
61
77
184
93
104
95
57
157
59
59
77
116
48
78
50
70
46
84
55
107
90
72
104
62
68
107
66
98
54
52
86
56
51
82
73
69
101
88
72
65
102
35
47
86
66
65
107
58
73
46
60
84
97
70
45
91
72
32
63
109
74
43
91
77
77
68
49
83
55
78
87
41
47
112
97
60
39
56
67
67
40
32
59
80
56
106
60
81
86
63
102
49
109
91
42
52
95
97
48
64
122
37
106
55
65
108
123
49
43
64
72
73
121
50
92
90
60
60
79
56
65
90
87
131
55
66
109
85
74
116
113
84
75
92
75
56
114
58
111
84
119
60
95
64
68
75
53
85
61
60
97
87
104
59
89
95
94
72
70
72
109
83
65
77
73
80
86
86
66
66
78
84
61
58
54
90
44
89
74
95
104
91
90
82
108
34
89
83
55
54
64
83
68
66
99
92
73
106
89
84
77
88
117
126
98
91
102
96
49
69
46
98
108
67
38
86
63
95
80
58
86
128
58
91
187
76
80
64
62
104
85
88
74
76
99
78
93
93
24
83
67
104
74
60
54
46
56
95
50
44
97
85
68
54
67
165
42
65
63
73
45
74
86
62
39
65
95
100
90
68
79
41
101
106
70
83
96
59
78
113
110
58
92
32
60
104
39
102
95
64
172
107
64
71
58
146
124
45
92
80
66
62
90
83
40
122
163
87
57
55
88
64
133
68
70
80
80
102
75
53
73
59
46
40
90
83
70
105
90
98
118
83
76
66
85
82
52
57
56
61
62
66
110
74
94
77
66
135
99
36
42
71
78
99
74
100
43
55
152
67
68
60
73
72
90
72
92
72
75
114
128
64
78
107
107
108
90
60
185
83
73
65
69
118
92
105
77
67
75
60
125
64
81
72
67
88
83
29
83
76
79
89
62
95
65
57
78
88
84
97
65
82
90
108
92
126
39
42
56
60
76
66
101
50
66
78
63
44
62
70
89
58
60
90
59
55
76
48
53
71
30
70
91
118
95
70
54
82
56
71
105
60
94
89
70
56
40
36
73
56
92
65
33
94
112
89
68
126
79
72
88
99
88
164
60
39
52
69
93
58
92
60
77
59
117
106
114
67
104
60
50
83
83
46
88
57
83
44
31
94
57
108
86
79
49
69
49
79
57
80
60
99
104
46
47
80
101
44
93
72
66
79
123
79
102
113
96
76
74
81
65
100
69
41
107
65
49
49
73
118
40
42
85
81
66
86
51
46
67
73
40
78
52
86
108
77
63
96
55
51
56
69
67
90
115
80
68
91
95
66
39
81
81
77
52
48
63
138
49
81
83
111
33
61
63
51
49
33
64
68
70
73
83
64
127
114
65
66
96
52
53
53
35
111
97
76
77
83
102
102
64
70
133
90
30
107
85
93
73
45
76
55
95
96
44
40
86
109
41
62
63
136
100
148
83
89
54
83
59
69
33
37
45
61
60
33
69
57
97
54
92
65
76
72
71
50
51
49
155
124
90
76
74
105
27
61
49
79
77
99
90
87
100
64
57
76
100
71
69
69
73
53
94
55
74
118
40
224
94
73
120
53
33
115
80
58
68
47
129
84
107
59
140
61
47
110
53
107
122
134
71
100
91
58
26
41
55
91
91
70
76
75
63
46
65
97
124
56
90
66
110
97
66
36
109
20
52
93
48
58
79
98
83
75
126
106
89
75
92
105
65
67
53
72
96
108
40
81
82
45
134
66
79
125
63
68
46
65
50
71
83
46
71
66
62
77
46
56
48
40
53
62
73
85
55
67
64
86
119
163
45
59
96
53
78
64
77
44
77
62
51
42
107
107
60
51
105
94
132
43
73
128
101
123
50
50
94
107
47
127
49
82
110
42
102
71
55
45
57
132
51
51
90
49
47
50
73
52
91
62
68
40
92
74
100
55
76
81
84
72
103
88
48
56
53
95
73
70
135
86
49
116
69
52
76
81
103
72
84
108
48
113
80
61
83
81
94
110
68
95
116
63
58
139
42
139
78
131
63
98
92
134
73
73
87
100
74
66
59
95
113
109
88
46
131
78
62
88
74
69
119
80
71
114
101
74
93
64
60
99
60
118
118
46
42
86
30
121
89
104
38
48
153
91
62
83
23
65
80
122
65
57
118
97
124
100
75
73
56
111
91
90
49
59
109
142
62
155
104
33
151
100
45
79
43
58
77
64
69
56
49
88
82
66
90
47
53
136
104
86
68
51
30
56
68
42
57
89
62
138
29
86
116
45
74
92
60
74
78
71
114
72
120
43
34
41
77
90
69
105
70
118
53
63
120
72
55
60
126
88
57
64
73
76
85
102
81
69
54
89
88
68
57
49
113
115
89
61
41
47
115
53
62
135
104
73
97
113
80
138
121
78
88
61
36
76
65
80
69
71
69
98
60
79
52
55
87
69
59
72
57
93
77
74
61
44
51
64
134
60
74
73
73
31
123
103
69
118
106
86
52
140
83
49
48
136
132
67
40
81
57
76
79
58
45
59
52
103
92
101
62
86
108
99
69
64
77
124
86
56
101
83
78
91
102
83
124
156
43
52
67
50
102
77
79
126
31
108
86
66
74
60
35
63
78
108
67
90
54
130
114
124
197
65
66
72
88
55
89
119
69
48
52
58
74
55
86
130
82
63
107
51
63
103
48
79
76
87
60
74
61
141
72
98
81
74
77
92
75
142
94
72
98
49
51
57
76
138
46
80
70
75
76
50
35
54
50
67
66
62
113
86
98
47
105
64
134
45
86
86
64
58
68
66
71
38
77
82
81
88
67
60
48
124
58
67
88
107
73
91
39
99
66
86
73
121
90
68
47
39
46
45
104
56
99
80
74
62
63
55
69
109
81
62
97
80
85
91
147
87
68
78
51
50
95
111
51
137
65
56
92
109
52
136
57
43
55
77
38
64
63
93
97
62
115
109
71
47
106
91
98
71
88
74
83
103
51
74
63
44
60
107
101
130
73
135
67
69
54
77
80
59
141
54
29
78
64
76
43
49
48
64
87
115
101
96
77
42
90
86
61
47
97
68
74
56
67
61
57
163
117
159
67
82
62
54
114
79
51
77
90
47
62
111
94
53
81
54
47
100
85
118
75
106
64
72
61
56
117
52
103
40
80
68
51
58
101
50
73
57
117
103
89
51
85
72
106
69
66
93
94
63
69
141
117
83
46
68
93
91
80
67
76
160
68
70
53
68
80
57
85
41
91
54
83
55
117
65
48
72
34
47
87
39
98
71
71
68
99
71
120
92
72
80
79
56
52
62
81
77
92
51
86
81
52
98
53
154
103
48
88
71
57
93
69
94
146
56
92
119
81
53
61
89
46
64
70
45
154
101
47
93
64
124
112
81
82
62
75
82
81
104
69
80
77
128
51
161
99
119
95
102
95
89
57
82
52
39
69
56
149
115
76
64
129
60
62
93
64
68
75
51
54
75
139
72
111
79
50
55
59
92
80
96
61
102
40
75
85
60
87
73
106
47
96
52
103
100
43
58
46
56
52
37
55
91
96
47
106
92
54
22
76
73
66
46
48
123
77
80
82
85
69
72
90
39
99
81
59
65
112
61
110
87
106
56
42
134
100
66
74
70
77
37
109
66
79
81
88
86
60
64
60
98
73
91
61
78
90
79
70
75
71
79
78
65
82
71
57
62
78
36
74
96
103
63
54
72
79
77
31
128
84
87
91
86
107
54
92
34
45
87
92
47
51
51
45
86
85
75
54
79
60
53
114
94
59
87
87
91
46
89
91
76
83
61
101
71
39
63
72
89
67
78
92
100
56
97
72
74
71
109
52
84
35
75
69
60
64
74
56
100
74
100
104
83
70
66
60
102
117
112
35
103
109
92
59
77
143
49
52
43
67
88
88
74
36
127
53
65
156
65
91
64
107
105
66
83
47
60
73
48
76
112
45
80
68
73
99
75
45
98
71
76
64
71
95
80
57
52
76
74
55
46
39
76
97
80
61
96
104
123
87
120
91
65
52
71
57
124
84
49
37
99
48
86
104
65
105
92
87
57
44
108
117
108
54
79
91
94
80
73
86
64
73
114
55
110
100
112
84
119
87
95
118
125
86
43
39
82
82
68
98
46
37
83
82
45
91
93
113
32
84
72
112
49
117
83
69
66
86
110
107
71
36
98
69
51
73
112
95
29
63
86
100
120
94
71
66
49
59
38
92
92
79
69
69
87
46
113
69
83
61
52
61
71
81
103
80
34
101
125
50
127
90
67
83
89
87
51
53
60
32
69
85
78
92
87
78
86
51
93
71
51
104
97
104
123
137
83
86
100
104
72
104
79
59
30
99
73
73
81
133
99
82
63
59
98
65
64
76
40
53
104
131
135
88
34
67
75
70
96
47
77
66
67
78
83
111
107
66
91
87
93
81
91
68
82
112
127
95
117
130
44
71
48
90
50
39
68
55
66
68
81
104
114
83
63
48
92
62
86
28
99
93
131
47
100
128
75
44
25
73
57
63
97
42
47
73
88
72
39
60
69
106
123
75
79
75
102
43
47
62
87
63
103
82
93
84
63
84
77
51
78
78
55
88
71
64
30
122
64
26
67
103
88
104
102
89
60
142
92
76
59
54
70
57
91
79
31
121
154
48
83
68
47
57
88
37
88
127
109
155
78
62
50
82
146
67
75
78
55
124
71
97
57
74
57
59
101
76
73
73
96
52
88
44
106
90
96
66
53
85
112
75
38
100
32
82
95
89
93
85
70
77
74
77
93
64
117
45
55
81
64
62
53
83
112
77
59
84
60
117
43
71
77
93
44
86
83
129
87
39
45
58
73
86
72
59
112
70
96
70
64
89
95
49
94
60
66
90
79
70
105
97
53
37
100
76
76
77
93
87
50
46
38
79
95
46
81
118
66
72
66
58
104
54
62
79
88
83
96
107
43
87
120
109
63
87
79
76
103
71
97
97
69
54
95
81
85
74
99
57
71
92
44
62
106
64
94
100
56
101
55
107
151
36
97
53
43
86
57
108
103
102
34
115
70
78
83
94
31
50
33
68
96
82
115
62
101
77
92
98
79
50
78
135
44
49
91
61
65
54
99
145
43
64
45
92
77
119
85
56
98
69
107
88
66
96
100
76
71
78
51
100
93
88
84
85
114
48
96
46
61
75
82
63
78
91
72
42
76
28
114
49
120
83
75
123
94
85
54
111
88
69
142
46
95
66
68
99
66
53
62
80
64
83
123
101
71
85
81
112
86
40
71
85
74
110
104
59
73
91
100
120
81
93
76
89
84
89
42
82
105
104
120
60
34
57
124
185
92
35
56
53
85
92
71
139
101
27
59
72
88
71
47
113
51
102
87
89
91
109
41
107
54
95
59
67
87
64
55
73
66
106
137
78
58
105
80
88
74
62
87
53
46
42
70
95
71
72
44
60
91
95
63
49
43
71
42
55
63
95
70
68
81
72
96
65
89
97
40
50
87
56
75
92
111
43
45
80
85
135
123
94
87
90
79
66
99
66
55
45
53
86
47
41
106
77
62
85
49
99
81
73
115
58
66
88
137
81
87
111
75
39
64
74
68
69
76
62
99
49
97
118
111
65
77
51
67
82
113
102
58
74
108
64
52
60
75
86
64
149
96
69
76
72
59
72
51
71
78
91
48
38
69
109
102
75
65
71
50
36
84
68
91
45
84
108
58
88
97
100
49
131
55
82
86
129
79
63
54
73
93
65
174
69
68
46
58
68
24
48
59
122
46
70
58
52
90
49
83
103
98
63
84
31
90
107
24
82
54
92
85
104
59
114
48
67
54
57
93
76
58
68
55
98
142
76
95
63
86
111
87
81
68
104
54
53
49
77
89
64
118
79
97
84
47
135
102
72
99
62
56
67
91
88
48
53
65
71
51
70
54
180
112
77
38
50
93
48
80
54
88
91
79
84
71
83
138
54
76
92
41
92
142
30
105
48
43
52
105
42
106
76
92
35
152
61
90
98
88
81
111
79
80
73
60
44
46
51
78
51
66
102
168
93
128
83
47
52
65
88
97
62
89
72
57
106
80
80
62
51
84
38
66
96
105
43
50
67
61
89
57
28
49
61
57
76
77
87
78
85
50
37
99
80
62
90
85
72
80
79
90
74
103
43
84
73
63
88
65
137
79
84
83
33
104
57
60
61
39
63
58
45
98
119
63
49
76
57
96
89
110
70
85
57
45
103
65
100
95
88
68
65
55
64
62
67
62
80
63
71
88
95
74
43
44
57
97
90
59
109
103
119
91
93
50
79
36
60
84
64
49
144
68
63
85
110
76
47
159
67
123
47
67
46
83
61
126
135
52
59
85
174
82
107
81
86
118
49
79
124
94
91
110
105
87
45
121
111
99
121
96
76
122
96
58
58
119
97
61
42
66
78
63
47
62
95
49
84
82
46
41
99
116
41
42
87
55
81
95
50
62
90
81
81
58
72
43
119
83
109
107
52
112
106
65
66
90
53
62
63
109
71
113
55
130
98
50
84
115
90
63
84
50
97
109
69
80
72
126
44
32
66
62
78
78
93
81
164
121
99
107
113
70
64
101
61
102
51
95
94
77
89
45
62
63
83
98
38
53
98
52
56
84
58
92
57
73
87
76
74
151
77
72
83
62
80
68
105
54
60
49
69
131
91
62
65
84
91
71
58
37
79
55
80
48
95
52
88
61
60
58
76
53
152
106
36
80
91
65
87
76
87
93
99
88
59
76
119
51
62
47
105
61
63
78
51
60
102
92
97
173
59
82
93
109
53
56
99
75
65
90
38
112
26
63
70
120
65
74
46
31
170
62
158
66
73
65
66
45
98
37
100
48
92
56
76
64
48
52
100
46
71
47
81
76
68
48
90
86
28
36
34
93
105
57
84
50
52
117
106
42
74
97
94
89
52
88
76
77
71
63
80
55
62
67
41
108
67
57
110
90
112
44
106
55
61
64
40
41
51
97
159
91
54
75
61
53
77
78
125
33
91
31
68
124
93
126
87
103
123
80
120
110
118
89
112
68
44
76
78
83
122
88
57
91
92
119
63
26
48
87
69
73
72
80
69
85
90
68
23
62
74
78
41
74
79
98
65
68
50
78
215
73
63
107
83
78
54
97
77
43
71
99
101
98
49
56
84
97
86
115
104
87
108
69
95
95
109
68
64
66
69
93
82
68
98
128
94
58
78
51
78
53
45
92
35
67
66
79
52
83
74
83
46
125
48
99
93
86
50
72
80
113
45
129
43
67
57
67
90
80
110
65
81
42
180
72
96
64
61
133
63
58
42
85
56
112
102
54
71
44
129
62
74
88
76
90
50
105
67
50
89
70
81
65
71
69
103
81
57
73
74
50
57
118
79
50
71
42
89
70
123
126
52
82
91
54
74
87
46
44
68
47
77
82
74
95
113
40
114
112
120
51
68
70
56
69
87
53
68
108
61
80
136
96
56
81
89
73
109
95
140
63
55
40
100
72
68
52
55
111
119
74
67
106
51
47
45
66
97
38
108
56
79
39
87
36
79
56
67
66
64
116
102
78
55
155
96
65
85
67
90
69
80
87
38
69
111
72
95
61
78
72
32
122
69
90
67
48
43
130
106
82
80
91
61
42
93
71
76
63
106
148
27
69
128
110
80
64
92
65
71
79
118
76
82
81
56
71
75
39
83
69
58
64
78
85
117
91
54
79
99
87
101
51
66
89
106
41
94
111
68
95
57
176
90
86
75
71
78
102
97
93
81
41
59
63
48
76
51
83
76
48
117
92
66
82
49
112
87
87
86
136
100
120
66
126
51
133
95
114
74
48
83
89
71
55
71
96
106
85
77
79
35
70
73
102
90
58
58
98
80
80
88
94
81
88
94
114
85
99
85
81
70
86
119
85
98
75
62
102
88
73
115
61
79
75
64
93
42
89
131
127
139
53
47
74
85
49
94
55
85
54
53
27
76
58
76
87
51
49
86
122
37
66
78
32
81
70
87
93
88
93
71
56
76
68
45
69
45
116
101
70
71
77
38
105
80
95
44
122
47
45
77
58
75
95
53
94
71
72
45
101
48
30
89
57
57
75
73
63
133
61
64
52
97
110
50
54
61
61
52
47
53
85
49
55
47
52
89
58
56
75
56
113
98
42
59
117
75
47
93
95
69
78
99
68
81
142
70
96
105
64
89
32
77
102
81
95
64
85
74
48
48
44
48
71
100
36
118
50
86
63
105
87
75
98
77
78
58
109
79
75
100
81
53
40
136
61
105
52
87
74
52
72
64
92
44
75
57
69
71
49
139
94
53
92
70
44
103
55
102
33
133
52
141
66
98
45
103
50
59
77
66
54
118
66
138
72
57
89
106
103
114
167
51
106
97
106
62
71
97
57
42
99
75
82
70
74
110
104
82
59
48
169
123
124
115
102
67
44
123
56
84
99
44
73
62
67
114
33
39
79
61
77
101
68
100
108
63
56
62
83
90
112
79
78
54
77
70
66
55
85
50
120
116
131
62
102
78
61
76
66
62
122
66
65
83
51
66
63
81
51
65
79
56
107
111
66
107
77
100
120
114
67
62
91
67
65
74
66
50
98
86
110
65
62
100
56
46
47
79
61
68
61
97
77
39
86
95
47
64
111
39
52
52
56
51
70
51
81
77
33
96
47
95
72
93
56
121
65
100
78
116
84
78
89
62
59
49
85
132
113
53
83
94
95
40
52
74
61
76
134
74
62
139
70
40
69
95
125
60
49
55
54
66
140
100
95
80
31
71
62
61
64
38
121
61
45
95
119
107
111
96
69
113
61
77
83
80
45
84
110
40
118
88
93
77
74
93
108
86
59
69
57
100
51
67
70
65
97
41
58
93
76
52
77
108
106
42
72
75
37
92
86
64
62
84
95
65
49
35
87
131
85
72
66
46
61
47
119
115
82
84
38
69
38
68
71
55
61
100
64
63
108
99
54
106
80
71
49
110
50
56
77
32
100
95
63
78
47
48
58
103
40
86
67
70
56
70
100
136
75
116
48
75
50
157
82
73
99
113
66
66
90
75
97
102
36
60
75
103
58
88
83
75
57
109
107
110
57
97
56
86
99
58
99
105
106
71
95
52
76
129
77
68
70
56
40
59
54
103
102
148
62
73
42
77
76
58
121
102
40
114
76
98
49
53
101
109
54
58
85
135
104
80
81
68
94
79
75
52
63
44
82
149
53
69
59
91
73
45
63
80
50
70
45
59
28
48
52
122
45
128
111
65
95
51
54
72
126
60
70
79
125
32
43
65
122
85
64
53
78
57
66
57
69
94
72
74
60
63
110
81
55
76
39
62
70
91
114
96
61
73
92
56
44
74
54
31
93
69
64
47
60
114
158
116
81
81
34
55
35
63
99
84
117
81
64
98
105
64
115
113
64
79
71
75
78
53
55
57
59
65
113
79
58
131
41
49
71
53
60
61
73
106
98
65
47
110
100
67
74
96
69
86
52
56
66
126
151
163
51
79
53
58
76
103
31
66
101
84
81
83
98
57
64
67
56
104
38
67
93
92
70
47
113
77
60
64
123
105
51
49
103
51
102
80
88
49
52
109
50
46
49
23
59
81
79
87
67
72
60
72
77
100
81
49
114
88
67
123
52
93
58
61
101
104
86
75
86
76
72
81
74
89
64
75
80
54
41
68
43
79
77
90
118
104
61
84
100
67
92
90
96
89
74
66
120
85
95
42
57
81
109
53
64
25
59
99
63
56
60
30
92
66
52
103
73
45
47
130
49
86
124
82
94
60
71
78
107
50
55
69
33
93
81
46
88
72
41
62
96
59
42
64
53
34
70
76
92
46
42
86
76
53
76
65
75
114
105
72
61
68
70
75
59
68
103
91
97
58
66
112
130
78
160
61
83
109
72
49
86
123
72
72
46
57
86
62
108
112
61
94
63
45
93
92
84
56
84
66
100
58
59
40
61
85
59
78
91
61
82
67
84
46
50
135
58
58
92
84
48
81
65
68
116
93
99
49
105
67
88
61
112
62
63
82
76
69
89
78
70
56
50
71
95
64
76
47
73
57
84
42
65
61
68
53
92
109
66
68
76
45
62
63
68
101
90
104
89
95
91
70
78
62
97
104
77
46
49
88
78
76
83
42
91
48
94
51
82
65
75
57
92
99
67
93
81
68
106
108
66
89
60
127
96
88
69
89
57
66
69
57
105
79
69
137
46
47
73
67
52
77
73
43
68
82
66
98
101
121
97
49
97
80
112
92
101
96
129
53
65
26
94
69
161
41
90
57
40
65
76
71
81
49
88
102
89
77
83
46
91
53
86
115
99
73
61
40
98
50
49
54
55
99
121
92
43
106
63
93
62
96
79
70
56
57
105
121
84
76
98
91
93
80
63
80
61
99
64
50
70
89
98
88
87
137
114
64
77
52
40
38
100
65
70
94
75
138
123
152
117
103
134
75
58
92
45
77
100
134
80
147
48
91
68
50
106
104
79
89
139
85
41
69
111
69
89
113
62
85
79
80
114
69
134
97
85
66
82
78
97
117
106
56
106
74
51
75
64
97
84
61
79
138
112
87
69
110
63
67
49
80
74
73
71
43
43
106
70
52
78
114
86
45
47
62
115
58
60
36
87
82
92
92
61
52
92
103
40
46
63
79
72
76
32
53
145
73
86
72
52
90
48
79
87
80
93
88
78
40
116
130
65
77
65
116
57
55
49
106
99
69
125
76
112
91
66
71
41
74
53
94
74
72
92
87
96
99
74
46
93
66
104
105
111
79
75
56
85
76
145
63
104
126
70
90
75
144
84
83
60
34
83
98
65
62
67
85
73
66
81
70
50
42
69
98
90
66
59
80
76
130
101
106
57
46
58
111
76
102
86
67
100
122
90
79
65
47
86
71
72
81
28
119
133
62
107
67
61
100
90
55
70
104
134
118
87
116
156
99
114
37
92
73
125
55
42
103
78
88
95
52
101
62
162
131
76
80
76
72
62
123
57
77
63
69
75
87
58
50
117
54
54
101
46
44
94
119
75
125
42
55
74
85
62
80
103
87
65
87
57
67
55
83
80
113
47
78
50
74
44
54
88
157
81
105
130
79
66
46
76
58
74
68
84
160
87
50
71
85
61
71
107
54
75
52
68
51
94
86
58
115
84
88
86
110
35
50
86
189
56
79
99
58
76
121
65
65
150
60
50
53
77
67
82
109
65
123
85
98
97
93
65
103
87
90
84
95
114
71
68
90
49
98
39
75
57
69
73
61
88
39
94
36
93
55
96
110
108
44
67
91
79
77
110
40
54
69
126
134
56
55
57
124
58
63
59
146
80
82
35
81
75
58
73
77
53
94
88
100
96
91
89
65
71
52
91
89
111
88
66
70
91
91
42
100
58
35
76
58
75
71
117
53
55
77
78
151
77
55
62
78
30
68
57
42
77
50
147
69
70
100
88
62
74
71
85
112
74
81
84
49
86
45
108
75
123
91
62
47
68
74
63
90
116
62
98
87
76
51
126
67
53
48
105
78
54
72
64
67
96
99
62
91
104
75
70
72
64
72
50
82
56
62
124
61
101
78
88
61
75
78
35
40
64
89
86
53
38
45
142
99
82
47
32
57
50
98
87
101
73
115
75
141
72
85
66
37
56
78
60
57
91
75
82
66
55
104
46
126
72
90
70
41
43
98
120
89
99
93
35
58
66
116
51
57
102
61
75
51
61
88
33
79
67
107
66
71
67
146
103
53
126
82
59
52
107
60
49
78
46
82
130
61
88
99
67
41
89
86
109
73
111
46
118
135
49
61
89
57
65
49
50
53
83
67
75
63
82
97
67
35
46
50
66
43
150
65
93
138
102
55
74
112
141
77
52
92
62
73
111
28
53
112
80
47
86
76
67
57
75
73
76
86
83
76
57
78
79
41
67
53
60
65
89
80
87
100
68
79
78
98
80
55
60
68
66
107
93
70
68
55
71
82
63
135
100
105
102
38
63
64
46
69
88
51
99
67
56
92
70
108
84
54
116
75
88
59
106
98
70
52
72
88
69
59
62
42
98
41
111
119
65
55
67
78
35
107
88
86
86
65
108
59
44
87
47
82
95
130
61
109
61
41
84
68
80
127
76
96
88
174
95
80
67
69
38
152
57
83
60
56
36
49
72
73
50
96
118
105
77
41
106
63
108
98
73
54
101
68
98
70
80
82
79
54
72
90
103
69
88
79
38
68
122
75
42
79
77
87
23
102
82
45
72
69
106
107
54
93
105
68
79
41
147
57
89
53
81
74
86
37
49
61
39
59
82
73
71
76
55
90
76
56
67
73
59
85
55
114
56
58
94
99
70
84
69
38
64
87
79
59
103
103
63
68
66
66
82
84
69
67
85
116
66
71
71
73
99
88
98
56
105
104
115
91
46
101
95
66
49
34
60
83
69
87
56
76
60
88
84
69
91
99
94
81
99
124
44
138
70
60
50
55
74
81
139
66
62
64
70
89
91
84
79
82
123
59
64
60
52
109
87
77
56
32
49
98
111
92
69
83
115
98
106
47
70
89
82
50
48
70
56
98
53
54
81
83
54
44
61
73
64
42
40
84
73
99
64
84
97
88
154
89
68
65
47
54
52
45
87
101
96
66
51
64
43
44
56
69
102
50
69
66
64
105
50
132
90
60
72
100
87
56
58
83
59
77
90
97
130
45
63
72
81
101
86
59
110
149
79
62
64
40
103
34
51
67
77
65
90
74
88
81
63
82
65
64
112
60
58
52
115
62
34
91
48
76
101
43
43
99
45
65
46
75
136
77
110
83
48
51
101
57
33
69
70
79
54
114
61
87
117
104
80
79
107
73
101
53
79
83
119
78
36
65
114
52
87
64
79
81
111
37
64
87
100
119
55
92
79
77
88
93
70
85
59
64
60
18
73
75
56
73
57
84
89
53
51
89
101
57
85
48
25
59
49
61
33
81
118
71
53
44
88
38
69
57
45
99
86
44
105
100
72
65
73
69
71
60
109
61
51
36
79
61
107
84
51
88
61
119
42
41
75
48
84
79
43
81
93
52
86
115
68
55
94
69
84
70
107
70
143
69
91
71
48
81
68
68
94
88
69
104
107
54
61
61
59
66
75
47
88
49
43
123
39
53
78
58
67
83
34
97
63
144
55
55
90
61
59
59
88
73
76
75
53
63
33
49
91
74
111
106
98
67
71
56
75
82
85
93
69
86
54
93
109
139
78
54
67
70
87
71
95
137
107
79
135
64
57
41
76
49
80
68
50
65
57
107
78
100
82
109
80
103
62
46
47
123
111
83
67
43
138
67
80
75
88
71
63
59
126
53
88
46
77
89
72
54
70
38
52
71
97
99
118
60
50
78
59
104
57
160
85
100
41
34
106
97
96
123
68
57
62
107
41
104
199
61
60
113
42
55
62
61
60
66
70
75
82
132
53
29
95
59
110
124
61
38
20
101
75
78
73
74
77
33
82
84
70
109
54
67
101
88
59
123
75
35
48
106
79
115
45
78
35
100
29
71
42
92
99
89
96
107
39
85
121
114
133
62
111
75
95
45
74
27
61
82
73
63
49
68
125
82
62
46
54
85
77
92
77
81
101
79
69
58
97
86
99
50
109
106
72
49
98
103
53
60
84
62
65
97
49
101
111
64
79
51
83
41
59
88
77
60
72
121
90
50
75
122
87
58
52
51
62
75
98
88
73
69
92
89
85
89
98
64
94
106
89
99
86
52
50
111
105
86
49
92
86
80
73
114
115
40
40
86
88
102
76
94
77
66
80
64
98
70
97
40
53
83
78
92
105
119
102
122
49
69
107
62
84
102
65
102
67
150
178
69
64
136
44
85
100
48
93
71
76
50
32
77
43
72
118
38
48
51
41
66
83
88
136
89
117
69
76
74
62
87
95
127
98
38
93
57
21
76
77
56
78
101
79
67
88
81
67
55
77
62
57
84
99
65
55
82
66
91
97
80
38
107
55
125
99
66
60
38
94
100
127
55
67
76
82
79
96
43
57
86
60
64
71
67
89
54
113
55
70
63
82
132
78
56
131
45
52
100
41
72
103
111
58
146
99
34
114
90
46
149
75
56
60
81
44
49
88
75
50
146
59
90
85
58
121
66
42
95
45
79
76
122
77
94
83
69
35
70
52
63
76
97
80
88
79
39
74
129
84
76
43
63
97
45
77
27
103
86
65
70
76
78
58
56
32
83
84
80
79
110
52
67
85
64
66
87
72
95
68
73
74
80
94
143
129
62
42
134
101
97
67
86
50
83
51
33
85
70
85
72
92
60
83
60
48
82
59
49
78
116
60
77
89
82
55
78
91
51
64
79
69
99
60
96
73
65
76
77
48
65
119
83
67
104
56
46
114
63
63
96
86
81
56
148
70
117
57
86
70
87
31
89
136
88
44
49
36
37
86
141
107
59
101
72
74
55
34
62
46
74
44
82
91
79
67
61
82
53
51
101
74
42
69
72
44
66
63
40
91
91
107
129
117
79
52
100
75
89
42
64
54
105
166
25
33
70
75
110
115
96
41
80
54
92
62
119
101
66
91
79
69
97
138
112
88
89
63
69
36
115
47
79
80
65
117
67
62
73
41
132
33
55
63
88
79
90
70
109
120
96
80
72
69
68
42
79
97
72
39
75
76
86
48
85
81
99
92
60
54
89
123
61
49
101
99
88
75
98
56
50
108
85
34
52
55
83
57
71
72
69
133
67
32
78
76
63
82
59
113
77
65
80
95
49
74
90
115
99
71
112
79
46
88
56
159
43
82
67
85
39
50
63
44
105
98
110
84
110
93
76
60
53
80
155
52
62
48
110
76
67
52
63
47
49
161
92
53
68
131
66
82
58
61
72
139
57
87
103
32
123
80
63
41
56
66
79
103
22
83
99
71
102
116
49
82
70
60
106
39
76
47
88
41
70
42
91
50
75
73
105
72
65
76
68
78
45
80
105
35
77
108
75
57
45
79
87
62
96
58
125
52
51
81
54
85
89
35
83
77
72
42
75
68
71
45
58
78
68
62
55
50
58
83
71
75
46
84
82
66
101
84
112
83
94
92
62
77
75
39
119
124
86
126
80
91
55
78
114
85
73
79
98
86
69
62
104
67
80
59
80
64
93
58
92
62
48
82
90
97
120
62
36
54
111
78
51
42
53
114
30
132
60
84
72
72
108
58
118
71
98
60
52
76
51
43
115
91
44
73
104
62
77
100
88
85
78
74
73
74
49
82
60
53
97
95
63
62
60
32
133
68
95
72
67
64
68
158
67
88
67
111
95
80
81
85
65
49
88
79
80
100
64
97
84
110
102
68
76
82
52
57
96
55
62
48
64
114
85
76
82
112
95
66
110
90
72
62
126
50
78
73
94
67
116
61
56
64
89
104
118
40
51
57
58
42
112
70
109
92
94
71
130
84
39
59
93
101
57
123
71
116
42
104
101
77
61
53
43
69
106
123
96
63
91
66
51
132
76
49
53
100
43
116
41
84
84
56
98
91
64
56
62
69
77
74
90
94
39
118
61
66
74
88
80
46
84
51
62
100
137
99
70
76
76
44
97
108
91
107
120
40
74
68
78
64
75
91
58
64
115
106
83
44
74
38
117
108
83
57
45
78
104
80
77
56
106
100
68
89
61
111
68
70
105
78
80
79
46
69
90
83
131
108
65
87
72
79
76
84
83
82
69
93
79
59
111
70
83
65
83
85
57
110
50
68
63
89
72
26
86
36
83
61
158
209
85
37
66
99
68
69
122
97
30
55
76
101
118
83
58
67
78
37
65
86
130
59
133
86
42
43
84
84
59
40
73
63
46
112
98
61
63
92
102
125
60
93
61
71
74
65
104
95
77
90
47
73
84
86
109
89
86
52
95
92
129
96
69
48
47
68
53
85
49
55
118
87
70
95
88
51
110
45
76
56
71
75
68
83
119
102
77
86
93
127
79
83
47
73
72
103
51
33
75
50
83
43
52
56
62
95
62
164
69
43
73
74
33
67
52
54
82
44
123
73
73
79
43
44
123
53
115
74
51
77
70
102
106
99
60
42
67
67
81
61
44
70
97
64
92
58
83
49
51
75
116
38
85
42
71
98
92
107
73
76
104
102
107
112
117
74
42
144
81
122
43
82
51
46
81
55
51
86
72
67
71
81
96
75
42
77
64
57
113
79
44
153
88
75
57
87
37
74
54
74
138
91
52
79
61
76
32
43
90
48
51
57
83
94
70
55
124
79
70
81
133
42
50
62
64
73
53
124
90
85
79
87
31
68
91
101
31
63
49
59
105
75
115
56
58
65
90
106
82
98
89
75
104
120
78
99
135
43
65
93
97
131
92
59
71
78
54
87
112
73
41
107
42
95
115
63
52
104
67
54
89
61
85
138
25
42
94
59
144
85
37
100
93
61
107
56
82
64
125
78
51
73
78
100
75
52
57
57
61
110
49
80
95
91
56
68
48
31
98
63
112
57
56
73
23
48
49
57
72
46
80
67
70
32
84
64
59
49
69
55
72
81
60
89
52
75
72
121
104
80
95
91
60
73
88
61
85
78
101
115
66
98
71
73
90
103
100
54
40
52
95
90
51
71
83
49
47
54
108
52
69
101
43
77
78
42
70
72
64
73
45
37
89
112
73
99
65
70
95
58
51
131
102
58
119
65
62
127
102
46
67
41
111
58
123
69
81
106
68
81
106
46
73
85
95
54
110
44
48
68
54
70
59
101
46
40
93
89
55
61
36
124
99
85
39
93
89
69
93
59
111
34
66
101
121
113
103
112
71
63
135
60
41
63
81
75
96
48
82
62
58
69
62
58
154
58
96
95
52
94
120
45
94
60
78
122
66
71
68
53
60
59
61
36
43
49
57
63
50
67
87
56
92
96
111
119
141
106
59
29
93
103
30
71
74
74
106
74
97
92
39
70
76
116
101
115
67
93
65
69
38
104
102
71
46
49
50
63
60
60
94
110
50
56
71
94
69
85
94
50
68
120
107
118
93
88
60
53
84
78
46
79
62
51
55
42
80
52
74
46
100
63
61
94
42
80
54
83
72
120
65
102
90
78
66
95
120
175
81
56
113
60
82
129
50
105
106
83
46
74
72
90
81
49
59
89
104
92
118
59
70
103
51
69
89
60
73
128
118
70
82
46
128
49
78
97
82
60
69
53
82
88
86
36
74
94
107
70
84
96
63
68
95
103
83
70
104
53
77
93
81
52
86
68
63
102
62
80
40
79
66
48
75
107
46
80
47
83
49
64
77
56
75
65
49
147
84
48
120
96
61
61
63
72
107
92
47
75
90
97
89
69
50
105
74
117
46
60
62
37
64
66
57
105
80
53
143
61
50
57
43
102
73
95
70
81
36
103
49
65
97
80
102
53
119
58
94
97
96
92
99
37
57
80
112
88
49
108
102
87
52
60
81
105
72
70
101
69
49
45
73
112
63
99
59
68
90
66
47
58
95
47
54
72
102
77
79
36
55
99
57
64
87
88
53
103
102
92
89
47
71
62
44
79
129
123
82
123
165
74
74
23
46
106
103
79
69
51
68
101
77
65
50
45
62
81
78
91
112
91
74
92
112
44
67
116
101
133
70
55
49
85
69
73
122
48
104
42
69
59
107
45
77
73
94
73
114
39
104
43
147
63
65
73
66
64
69
60
46
69
50
99
83
82
67
68
54
74
77
125
47
70
146
54
104
90
69
97
90
67
51
102
107
55
88
60
93
47
51
57
56
53
88
63
64
57
75
34
69
72
76
124
82
54
78
60
85
115
31
74
92
55
63
67
81
88
67
49
91
74
122
41
53
66
94
94
72
96
67
82
88
119
130
87
100
76
103
57
96
54
54
37
109
83
66
58
101
80
122
86
81
76
55
49
69
80
72
102
50
89
41
84
55
73
82
112
51
76
29
68
88
61
61
80
31
104
70
107
86
87
60
39
72
86
32
40
88
80
54
64
63
99
105
101
115
43
123
63
66
79
132
73
146
61
96
100
97
68
81
63
71
81
108
51
67
95
86
60
50
53
82
47
117
164
97
43
114
68
91
63
45
58
69
122
92
92
76
86
143
54
69
83
70
76
40
105
51
103
41
34
126
71
79
93
50
70
69
67
57
114
54
80
57
77
94
81
80
93
106
74
68
125
84
91
122
74
133
21
93
48
58
31
156
71
35
37
69
52
52
107
152
42
71
53
92
33
101
55
103
115
72
84
74
90
53
78
87
43
77
61
102
51
72
53
59
53
73
53
102
51
92
60
81
88
81
72
79
85
95
112
119
69
72
114
133
29
70
83
94
68
66
90
72
60
96
82
83
77
101
76
83
80
62
84
70
68
42
74
58
26
91
86
109
62
108
100
83
98
65
31
118
66
110
145
97
104
84
54
105
66
135
97
50
31
66
65
111
79
59
72
104
77
61
93
75
83
55
80
98
80
62
87
84
105
58
92
67
92
69
53
106
60
88
83
87
94
37
74
87
41
69
45
85
79
62
58
54
100
81
69
61
47
48
50
62
54
77
161
61
84
92
47
50
76
72
89
77
56
65
91
71
79
75
82
94
63
75
65
63
90
112
91
51
60
40
80
98
54
102
108
75
52
70
61
62
66
150
52
105
66
116
79
87
43
88
78
57
75
97
83
86
65
63
111
92
51
68
82
69
42
78
89
115
112
70
108
39
50
75
77
102
94
28
72
100
70
45
55
90
123
63
83
99
74
91
114
121
94
66
84
78
132
39
66
68
100
43
57
69
87
57
71
43
72
59
53
85
39
127
61
62
63
86
110
91
61
50
94
55
46
52
33
92
108
88
148
64
98
121
60
73
62
102
81
83
63
80
90
67
65
114
150
92
73
66
117
68
117
87
59
63
96
108
50
90
119
43
82
50
85
122
81
44
115
147
56
80
120
119
86
66
33
56
99
74
76
92
70
151
55
97
123
56
36
32
101
74
97
100
81
133
138
52
41
79
61
111
64
49
50
62
49
48
99
46
74
76
150
109
83
82
110
39
87
106
91
73
34
82
64
36
68
78
58
85
121
67
59
54
22
114
57
31
68
41
42
55
56
71
122
90
138
104
86
62
89
51
89
80
47
80
47
51
79
97
74
68
32
39
40
112
48
97
60
102
67
37
71
44
101
56
38
56
55
167
69
105
53
109
68
152
83
48
39
62
55
87
53
100
56
65
112
89
155
83
26
74
79
37
48
65
37
41
116
45
52
90
68
167
48
52
72
63
62
73
59
88
131
71
33
72
114
56
96
42
60
100
72
43
77
94
42
112
110
105
105
71
65
109
73
98
156
166
100
95
104
87
42
56
118
65
45
71
38
38
57
29
93
76
86
91
63
120
83
58
81
120
103
60
47
64
157
135
108
95
47
60
55
75
78
34
56
69
76
139
128
97
113
104
81
81
62
85
54
67
70
54
123
77
56
48
129
73
43
80
91
56
82
72
60
65
87
68
91
75
82
84
85
64
41
57
51
100
82
77
78
86
98
88
76
75
41
52
69
72
72
87
90
66
69
46
73
121
51
80
35
46
82
81
67
71
90
126
59
80
104
70
46
58
77
72
67
71
47
73
62
35
68
70
62
77
155
49
105
60
78
97
86
85
67
83
68
80
70
75
78
83
104
65
56
110
94
78
122
67
84
79
77
63
113
31
67
83
120
67
78
78
119
48
79
38
57
57
74
73
22
97
90
68
47
74
85
41
134
94
72
72
77
66
92
84
66
67
80
77
57
61
114
79
102
123
38
85
82
108
121
78
100
76
111
101
76
74
86
64
117
54
83
108
104
112
104
68
46
117
117
56
80
98
82
54
42
83
84
56
71
35
96
76
68
52
71
99
58
60
157
30
43
146
118
93
52
66
56
89
54
110
32
69
56
70
104
52
79
109
95
87
50
69
108
136
59
91
75
100
79
53
73
54
84
79
30
65
81
47
66
80
71
96
51
75
93
69
42
79
60
85
102
81
124
81
139
80
93
46
75
68
45
52
75
75
65
88
90
82
73
68
99
100
56
51
57
56
89
111
65
46
40
71
88
56
54
81
68
41
82
84
88
66
44
73
61
115
98
51
78
55
72
70
68
82
100
133
82
111
87
75
27
80
84
44
89
122
62
94
66
75
75
71
112
49
103
81
101
103
94
73
92
52
85
46
57
41
101
55
35
108
113
77
95
105
75
45
64
98
65
49
58
140
111
81
93
97
85
84
33
57
62
72
56
81
82
49
51
74
78
97
99
108
75
90
117
119
88
104
70
62
98
75
85
118
114
135
63
41
84
98
62
36
122
78
79
74
84
55
101
70
104
67
65
91
90
150
96
96
81
41
60
86
87
47
72
114
61
58
93
81
92
87
58
51
76
55
83
58
75
120
123
90
82
128
47
57
57
40
103
78
71
93
89
112
98
45
120
90
68
44
62
59
84
76
89
95
17
67
110
46
71
67
29
29
84
67
41
50
88
51
109
51
57
78
83
74
91
64
70
70
98
75
44
48
67
61
82
83
142
50
40
66
93
55
52
55
50
46
90
52
85
118
79
41
75
70
88
82
70
62
89
108
95
59
76
99
63
80
74
75
34
91
79
61
96
78
85
58
120
59
132
113
62
54
69
77
97
143
126
52
87
91
86
79
26
81
103
76
41
105
96
67
74
54
174
42
64
112
62
94
81
53
79
60
86
92
113
58
61
36
75
68
70
54
74
73
89
35
47
66
76
68
96
81
104
109
64
46
87
74
95
65
71
51
104
61
92
73
47
59
58
69
59
93
41
57
71
87
40
75
40
66
107
70
49
84
54
85
65
81
101
68
108
46
74
40
52
68
112
48
80
81
63
50
81
77
81
86
72
46
67
48
94
70
70
61
87
86
92
33
110
148
98
63
44
96
62
68
84
90
40
151
100
49
70
37
71
81
53
57
94
72
108
77
93
64
57
45
48
85
66
93
92
47
78
85
65
84
71
107
61
56
57
122
55
92
67
90
67
81
52
79
92
73
82
52
48
108
57
83
55
40
67
119
100
66
91
88
59
45
110
104
38
124
53
97
56
47
87
95
117
71
68
106
64
97
68
60
57
66
93
93
55
114
92
58
47
81
88
46
100
78
52
50
89
109
61
70
131
102
62
39
73
54
91
104
100
91
93
83
55
71
59
40
57
119
51
107
64
50
61
81
89
51
64
49
104
57
74
66
116
79
47
103
91
90
69
43
123
103
113
74
87
79
59
87
79
81
70
89
63
100
118
109
103
67
65
77
46
34
46
97
80
81
91
36
38
93
65
85
63
53
39
28
80
91
42
63
64
56
51
59
88
82
72
87
83
117
54
68
125
60
76
99
46
53
80
76
96
90
111
116
115
70
60
84
85
34
72
66
133
78
112
72
89
75
56
58
52
82
82
83
57
63
59
31
101
78
50
57
100
49
91
113
78
103
116
56
76
87
64
59
67
98
99
103
42
101
80
67
85
33
117
52
73
83
67
50
75
52
36
89
89
91
85
66
31
42
48
93
89
101
62
68
37
79
36
51
95
106
99
86
97
98
82
84
49
62
93
72
75
104
35
190
64
66
45
96
93
87
59
106
35
86
85
116
41
47
111
43
53
111
81
66
62
71
76
52
66
44
92
79
89
50
66
93
97
83
85
59
95
78
65
67
55
80
76
86
69
85
73
62
80
81
85
84
69
64
82
51
110
94
70
72
42
81
79
89
122
88
93
119
117
40
84
65
46
87
155
54
60
58
73
73
60
91
101
72
81
123
32
50
98
72
45
61
77
40
70
125
80
56
60
57
93
102
75
85
31
93
51
99
75
80
78
61
65
112
88
66
70
71
43
95
68
122
92
79
77
77
68
63
67
188
114
90
83
94
100
92
50
83
115
115
67
81
103
90
52
40
81
71
105
43
136
59
74
126
67
99
132
77
91
113
66
49
95
35
103
82
60
71
67
81
62
69
100
46
72
52
87
88
155
41
82
106
53
32
122
79
50
66
60
47
91
92
70
58
67
72
61
77
90
93
86
58
64
94
51
90
114
40
29
78
100
66
87
55
85
54
51
97
25
57
80
106
86
66
61
87
88
54
41
88
126
106
96
34
52
113
57
65
70
64
76
160
65
86
45
118
40
41
79
77
21
66
50
58
141
95
45
115
115
81
60
132
60
55
47
98
67
74
62
116
92
72
99
123
68
107
81
103
64
83
72
62
75
91
93
83
76
45
66
74
84
77
50
33
71
56
116
116
89
49
65
83
93
65
40
66
48
71
42
67
132
99
80
108
48
80
81
103
66
100
59
29
68
65
38
128
45
84
83
102
69
40
51
84
51
61
100
82
73
85
91
88
51
90
47
54
69
78
53
52
93
87
53
91
86
98
59
58
50
127
113
117
103
82
55
60
25
87
39
88
70
69
95
58
80
59
78
63
57
81
51
61
63
126
127
60
129
48
80
96
109
69
89
73
65
78
56
109
88
102
103
64
96
86
73
66
94
49
120
69
78
40
76
59
55
69
70
73
107
89
55
73
66
46
94
91
38
75
68
64
96
48
54
78
57
57
84
58
93
62
51
49
107
63
71
102
92
66
66
55
98
83
102
51
95
167
82
40
44
62
113
78
64
59
72
43
96
74
102
86
46
79
102
63
39
97
74
42
54
100
103
82
60
108
82
70
83
77
67
60
126
46
88
89
79
85
66
84
140
51
70
123
81
83
44
52
87
88
117
118
61
40
74
83
40
86
77
115
64
79
68
36
85
116
95
88
72
49
105
51
42
66
67
105
145
85
101
61
58
58
83
85
78
67
104
73
61
80
73
43
100
74
47
80
114
99
50
102
69
73
79
52
92
73
44
46
114
73
78
95
81
87
65
82
93
69
107
51
59
110
94
124
83
124
77
90
74
119
100
69
76
84
62
77
88
47
37
99
53
102
90
84
119
31
37
78
68
54
69
70
47
107
108
74
93
80
124
102
79
42
30
79
70
98
70
97
59
85
112
65
61
85
56
48
71
33
76
46
77
91
76
31
72
76
150
57
72
97
88
117
63
90
65
74
92
78
82
88
56
81
100
93
66
83
70
62
85
68
67
77
88
29
74
107
111
85
34
85
48
75
85
100
137
93
54
88
51
76
124
81
89
57
63
74
91
75
67
62
77
55
126
42
101
90
65
80
33
99
66
97
81
78
89
55
71
82
70
64
102
67
94
29
115
122
45
65
158
65
71
82
79
98
56
76
103
37
67
105
85
90
116
128
69
91
62
69
105
65
111
88
58
54
58
51
52
55
121
33
108
122
71
73
53
50
58
79
74
72
54
75
52
81
43
60
94
44
50
71
98
102
98
102
150
78
41
80
62
97
86
72
55
95
70
141
51
109
55
54
92
64
37
101
70
20
96
75
88
69
71
104
66
78
69
40
76
86
75
83
78
77
110
117
59
79
77
73
98
108
79
93
133
87
125
51
87
84
83
65
103
84
36
80
58
62
78
66
35
54
77
83
153
82
37
84
69
44
68
72
91
72
64
103
66
51
60
80
53
34
81
55
97
129
91
72
57
104
57
58
64
72
62
54
115
71
122
53
114
120
91
96
42
83
80
123
56
139
108
94
88
49
105
103
86
94
62
94
72
111
118
52
120
69
86
54
83
117
37
37
43
150
97
53
54
83
90
48
72
81
100
72
51
90
45
81
70
50
78
104
77
80
48
50
43
59
95
59
49
102
66
55
69
76
65
94
58
56
46
86
128
42
59
70
79
131
70
42
58
126
48
83
131
57
65
45
67
51
87
128
46
58
124
52
86
89
51
66
130
68
101
100
41
65
54
77
67
93
76
47
60
70
63
87
97
105
77
83
76
57
63
74
93
70
93
74
110
86
37
60
43
42
90
24
60
62
96
75
98
84
91
63
80
65
64
101
60
42
78
111
98
96
47
72
31
95
53
68
72
90
52
77
86
105
52
121
114
55
86
95
34
87
84
55
42
61
84
58
55
111
103
73
107
64
95
64
87
48
111
51
98
37
91
92
48
72
79
131
87
70
47
40
81
48
23
44
77
67
89
103
115
89
99
81
27
61
99
61
59
122
133
48
68
42
35
82
43
139
35
36
101
98
112
127
63
87
104
127
69
162
131
83
120
95
75
67
49
108
109
89
53
60
34
43
89
56
39
73
61
50
131
86
77
102
40
74
93
80
31
75
64
96
87
84
72
94
58
30
70
38
32
141
82
73
100
97
156
63
40
92
45
152
66
49
111
88
45
78
97
54
119
43
31
39
93
50
74
106
68
88
75
65
68
79
97
60
137
67
56
62
79
58
79
62
93
80
35
68
107
43
40
39
96
62
138
69
96
62
80
116
138
131
84
75
130
85
88
123
61
80
52
112
96
58
80
124
71
117
118
43
88
68
95
74
136
74
50
64
55
57
37
58
84
87
34
40
84
70
67
43
82
46
62
90
93
57
62
81
56
59
81
105
75
64
95
90
67
62
78
48
69
78
72
83
52
105
107
57
94
85
98
73
66
112
45
120
80
49
123
59
51
57
72
151
44
80
62
75
62
85
80
120
90
89
47
96
105
48
84
46
57
62
56
47
80
41
79
61
143
90
84
78
43
105
66
100
59
58
93
62
121
59
97
81
69
83
83
62
55
57
101
62
42
73
49
64
96
75
72
82
52
70
69
72
64
74
137
39
88
64
61
100
68
103
55
79
105
88
61
73
88
106
53
83
60
109
36
78
76
96
54
83
55
52
89
99
92
93
94
96
78
86
81
100
122
72
48
50
110
91
71
86
139
55
90
28
146
72
62
72
104
51
71
48
24
65
57
75
92
77
88
60
65
97
45
69
34
63
68
79
58
94
103
107
54
107
70
31
73
85
109
99
58
96
33
53
82
122
43
59
53
85
87
109
100
72
85
98
44
59
54
114
58
57
55
82
90
66
72
76
90
96
80
91
75
62
55
75
99
74
65
93
90
74
25
100
92
101
77
127
57
100
61
86
77
56
75
82
47
71
94
72
52
44
39
70
30
70
66
54
77
58
68
97
98
40
47
85
65
41
61
82
140
50
156
59
43
61
99
77
114
62
88
76
48
74
106
36
36
101
83
105
53
76
77
113
89
72
80
53
70
86
98
66
76
89
63
93
77
55
105
84
101
128
67
58
127
65
63
41
55
95
164
51
39
70
101
51
71
108
65
92
78
35
84
45
60
80
56
64
41
51
56
61
65
117
45
142
103
103
69
83
95
101
62
72
93
50
128
54
43
104
44
68
177
81
97
70
55
70
117
108
98
85
68
64
76
78
65
61
70
95
54
95
47
53
73
60
86
134
88
73
67
54
54
108
62
132
74
68
35
85
55
50
82
75
88
58
99
98
99
78
139
140
124
46
89
54
91
68
78
90
21
54
96
51
72
51
120
141
88
46
68
97
60
84
114
95
91
138
68
100
101
103
85
51
84
85
72
87
47
69
124
60
67
42
69
64
47
67
99
39
88
83
59
52
61
63
103
168
97
69
50
103
51
82
85
88
82
119
65
102
104
77
65
112
62
52
74
58
27
121
70
108
73
95
27
100
51
39
60
79
67
86
107
82
59
43
84
84
104
72
77
34
54
30
63
51
39
66
60
43
95
80
106
68
107
32
77
40
85
107
80
90
49
67
60
100
85
64
154
40
47
54
70
58
71
61
35
74
70
62
80
59
63
105
94
135
93
70
51
65
54
87
87
64
85
85
46
95
68
101
81
101
76
54
49
51
74
79
95
90
55
36
111
91
108
105
52
59
40
41
96
47
82
45
33
56
50
37
65
38
93
41
81
76
55
46
55
161
91
102
85
79
104
111
74
60
56
119
42
43
89
124
82
33
71
62
33
52
73
60
42
80
77
51
54
72
89
71
32
64
38
94
59
18
51
110
74
75
74
109
85
91
133
57
95
98
47
80
61
116
70
115
92
74
79
55
61
95
44
99
49
50
89
67
94
69
55
55
95
108
55
25
81
86
75
68
50
49
134
100
79
93
74
37
82
101
75
64
76
112
78
52
138
51
69
113
100
58
31
75
91
91
67
67
64
41
113
66
49
64
52
131
103
107
48
75
74
85
68
72
55
90
96
73
88
49
95
87
72
60
115
47
67
82
87
83
66
55
83
75
87
62
69
73
80
98
110
91
63
149
45
102
86
48
60
48
77
64
51
128
58
57
130
88
115
58
58
51
103
57
79
87
51
105
157
90
97
62
36
81
86
105
47
35
96
79
89
79
50
60
54
53
65
71
55
82
87
58
147
57
69
56
56
101
51
103
68
62
64
29
64
98
72
73
107
86
69
98
63
69
86
65
87
83
42
49
89
52
68
147
56
83
117
86
125
46
111
92
132
66
74
89
89
103
79
84
54
78
143
98
67
63
41
77
130
88
49
46
59
81
100
118
65
67
57
61
61
122
44
105
40
61
98
66
69
61
106
121
117
114
77
105
98
77
66
100
110
76
61
57
60
121
58
66
77
89
71
56
113
94
42
60
93
72
56
47
63
134
39
51
80
59
65
118
84
72
105
61
77
93
75
93
147
90
79
96
83
30
77
72
58
104
54
46
112
112
76
105
49
85
72
121
57
50
112
95
78
26
66
95
67
47
68
47
138
86
74
92
44
95
56
76
65
61
36
81
71
50
59
51
114
99
55
108
114
21
94
68
67
56
80
83
61
66
93
43
37
58
125
62
63
48
79
76
92
75
106
65
50
132
164
69
101
95
97
66
85
122
97
102
86
51
57
89
61
95
71
91
85
108
145
99
70
43
107
58
76
168
89
32
70
21
95
77
65
29
30
70
88
83
85
48
83
92
80
82
65
52
67
80
57
86
103
152
68
61
69
55
86
100
72
97
51
86
83
75
79
81
100
93
77
109
39
81
42
100
80
57
63
75
67
62
59
72
67
53
59
87
69
73
88
35
92
78
78
82
144
53
91
45
64
75
69
49
66
99
68
54
88
106
98
92
86
94
79
61
86
82
14
82
52
80
70
80
61
77
142
76
55
109
48
64
81
51
43
94
47
75
86
31
82
101
92
107
52
84
44
110
83
72
15
82
51
31
62
68
64
83
89
65
44
46
124
88
90
32
54
67
150
88
47
71
77
73
67
59
142
66
77
113
43
73
61
84
50
65
69
86
105
80
98
43
86
66
88
88
77
75
119
63
62
70
79
82
76
100
50
48
69
108
117
68
71
49
42
77
114
63
79
32
104
87
68
69
111
49
88
65
62
58
79
63
64
76
61
96
58
57
115
49
53
83
117
86
113
59
98
62
65
81
69
107
91
94
117
61
60
94
58
63
80
113
46
42
83
40
64
101
114
116
114
78
53
55
100
43
95
113
66
81
111
85
81
75
52
71
59
94
86
106
55
70
84
81
49
99
69
58
51
68
81
63
94
62
40
60
98
92
121
85
53
76
47
67
82
114
84
61
45
97
61
95
40
124
103
105
48
73
80
45
74
85
71
91
81
99
66
94
106
42
83
91
56
74
76
66
106
86
63
100
40
83
49
102
87
98
103
111
55
106
83
71
64
76
139
61
123
100
109
67
53
48
101
73
116
95
111
100
44
71
95
37
94
79
67
107
53
43
64
81
64
38
91
71
109
117
68
76
92
66
88
95
61
107
57
131
38
51
76
78
109
99
77
54
67
74
82
65
161
85
59
88
39
93
85
62
65
89
64
67
68
93
84
66
61
73
73
61
69
105
88
70
30
87
104
75
87
58
76
77
103
98
56
111
59
61
87
117
103
48
44
170
107
56
86
96
112
45
111
70
102
106
107
54
77
54
37
127
50
104
80
46
97
85
73
58
82
49
64
110
98
129
117
63
120
59
118
127
76
34
81
86
49
110
41
55
44
53
84
47
34
121
90
40
64
39
78
87
76
84
115
134
43
72
76
101
95
43
90
55
62
78
68
86
116
66
104
31
59
100
135
73
91
68
88
45
82
123
88
40
53
125
106
50
57
68
47
57
66
78
100
53
89
102
93
69
53
54
75
85
55
70
53
48
100
87
103
71
61
74
59
99
78
48
54
96
87
63
72
55
64
62
48
57
56
60
109
71
59
86
66
38
115
65
49
91
31
85
43
80
103
98
38
97
88
81
56
58
56
87
65
84
93
85
82
72
126
81
102
94
87
57
44
59
49
34
80
32
35
32
68
48
96
42
75
110
44
106
63
63
29
109
56
97
69
92
62
63
75
89
33
101
63
92
25
40
93
69
88
111
68
109
54
49
87
87
61
68
99
81
68
76
45
94
24
43
85
81
74
32
114
79
65
70
67
68
78
103
114
53
75
87
105
61
96
70
92
45
65
59
54
51
39
74
61
57
59
74
88
81
92
105
63
82
70
83
114
60
41
99
98
116
58
99
39
135
49
69
90
51
35
88
41
61
110
55
91
36
54
97
132
76
51
78
35
70
72
92
58
49
73
135
63
81
47
72
55
49
122
80
44
57
58
29
78
128
62
96
79
83
94
86
75
88
82
99
67
65
38
73
102
35
59
49
62
71
52
65
119
73
63
72
108
36
80
69
54
72
85
79
95
53
65
51
65
52
78
73
89
45
52
84
67
69
104
66
104
50
41
95
65
81
84
59
76
58
53
74
51
104
72
78
54
102
70
52
71
82
135
70
74
92
52
94
53
47
58
42
100
96
70
62
66
77
71
54
101
32
114
121
60
62
44
117
90
83
94
124
85
77
64
51
84
54
120
93
68
98
62
59
66
74
48
72
64
142
137
78
48
62
103
88
116
30
99
108
85
71
115
79
54
65
121
142
174
80
66
134
57
101
107
104
51
58
96
78
113
59
69
65
106
48
65
52
63
135
69
100
84
107
37
101
59
97
68
88
111
53
71
63
88
61
78
93
91
57
71
34
69
88
53
53
57
61
66
60
100
51
85
59
80
77
62
76
43
83
79
48
79
55
94
81
55
110
77
180
73
73
61
88
86
88
55
87
92
132
77
52
48
82
110
52
83
83
53
133
106
74
52
99
86
84
182
62
52
35
72
83
41
53
82
76
110
46
70
83
74
75
66
40
74
64
101
53
134
70
89
82
63
45
130
35
64
74
75
64
93
77
64
109
134
88
73
60
82
83
153
46
46
29
65
72
101
113
64
63
121
101
54
37
80
78
44
99
58
100
87
93
102
71
101
45
87
46
115
56
112
40
63
77
123
42
32
56
85
83
87
88
49
56
68
85
56
19
63
74
82
97
67
64
83
103
80
127
85
61
46
41
84
79
66
70
78
56
61
65
85
63
59
56
46
68
71
61
58
59
93
69
93
97
62
90
67
55
80
65
71
15
72
87
63
50
94
75
104
74
91
84
148
70
80
89
66
64
81
58
98
102
76
100
87
53
105
78
81
62
66
82
37
87
125
93
124
80
87
72
88
103
79
87
66
76
97
24
119
55
53
61
113
99
87
88
50
69
103
78
64
54
43
39
36
57
123
71
110
95
95
117
42
45
66
77
72
85
63
54
48
48
38
72
81
48
58
67
104
61
127
80
74
51
98
74
71
65
59
68
78
40
96
69
124
67
73
50
122
74
79
110
51
156
56
88
59
94
87
86
63
64
77
89
54
52
79
76
52
38
43
62
61
72
44
76
58
62
83
76
67
74
61
98
63
59
73
52
68
90
77
61
36
87
60
62
72
54
58
143
57
78
124
49
85
85
63
89
95
121
113
68
83
75
73
59
54
107
60
82
102
124
95
77
63
49
127
45
64
54
112
131
40
63
91
48
59
84
142
76
99
105
81
90
72
65
96
59
120
54
88
46
91
66
54
114
68
54
56
87
39
110
54
95
74
108
66
58
90
82
82
116
67
71
59
82
153
84
50
97
101
87
91
75
93
90
43
104
87
127
71
27
48
64
88
68
55
78
120
70
68
94
127
52
88
92
82
88
148
75
127
71
86
46
90
45
97
81
80
78
71
72
56
145
60
68
45
80
63
49
65
99
67
60
68
67
74
119
84
39
162
38
57
105
65
51
86
132
99
58
62
68
72
59
81
80
111
82
91
38
100
75
36
60
61
31
59
131
119
123
123
102
54
84
42
75
59
54
48
51
73
56
69
113
67
131
95
70
54
53
67
92
66
33
62
90
90
115
48
106
106
45
106
61
82
95
62
63
101
58
70
68
101
99
84
86
83
71
74
49
98
79
41
109
65
72
65
59
89
68
59
54
92
63
71
52
93
65
72
78
74
60
30
85
68
103
105
40
32
100
96
137
83
105
86
41
101
86
71
75
46
50
95
85
100
130
113
83
72
45
68
95
66
31
54
101
55
98
75
116
130
154
35
113
45
44
34
61
59
50
66
61
99
63
30
60
106
43
72
82
62
81
134
83
91
77
52
54
130
42
79
56
65
69
60
118
66
105
64
57
61
76
45
89
111
95
88
95
125
96
74
49
98
57
48
57
86
69
114
63
106
81
142
92
96
98
95
89
116
114
104
88
51
85
97
81
98
70
78
65
80
90
75
72
54
68
64
67
69
123
90
52
88
83
44
75
56
84
55
70
98
88
51
58
80
56
110
64
42
83
44
107
78
89
91
52
69
96
94
60
39
146
70
64
98
51
53
103
67
151
136
78
85
35
70
49
80
88
95
83
71
104
69
80
114
67
102
75
66
76
73
94
52
84
88
89
134
75
69
66
64
143
46
90
72
83
92
86
55
109
84
75
130
100
64
99
64
119
100
89
70
83
101
90
76
68
79
101
71
44
108
82
57
37
55
44
95
70
78
72
158
74
104
116
67
107
109
82
98
56
75
103
47
68
123
74
101
60
72
89
73
95
68
51
81
88
74
88
90
117
59
52
76
77
83
113
117
73
51
49
55
113
65
74
48
60
65
61
58
86
67
139
69
72
96
61
59
47
88
65
81
59
94
77
39
86
35
70
119
40
35
94
107
67
66
48
90
94
21
72
64
52
69
50
58
76
70
102
40
77
97
33
68
65
50
83
43
120
88
75
82
76
82
62
62
224
61
78
67
89
63
80
76
69
70
84
114
93
62
82
28
67
74
129
30
38
30
74
45
50
54
126
73
105
55
101
44
93
51
123
75
79
31
89
68
79
93
79
54
61
37
110
96
106
110
204
132
70
62
92
69
72
73
64
51
90
75
54
72
72
78
84
58
60
112
37
120
46
40
48
153
47
107
55
43
100
69
71
76
116
121
93
43
63
92
62
65
48
115
104
52
70
80
51
88
69
51
35
72
74
65
50
69
107
32
26
45
43
103
54
59
91
70
75
87
87
95
61
78
87
156
98
146
56
46
107
39
41
32
96
52
89
82
67
95
83
75
86
122
92
86
65
69
96
99
127
97
84
62
47
66
63
113
77
90
63
88
90
54
93
101
41
45
59
72
87
69
107
102
56
99
88
67
83
132
54
69
75
75
112
56
56
75
75
44
107
97
42
78
68
40
54
46
79
77
95
147
86
95
79
57
63
102
92
78
90
64
55
59
62
55
69
77
77
63
37
110
28
80
51
58
99
70
30
84
77
78
91
142
85
180
78
69
44
66
96
30
68
105
84
61
70
122
60
77
68
56
65
46
57
48
151
79
101
86
123
66
64
82
74
104
66
66
95
101
45
117
79
69
61
98
59
129
37
48
83
63
41
55
77
57
58
39
89
71
87
41
91
47
65
71
88
96
50
32
69
91
63
57
54
72
62
79
104
69
75
56
49
82
60
77
55
54
73
87
100
107
87
58
94
54
128
65
56
74
48
82
67
80
76
77
94
97
54
43
68
46
93
57
77
74
65
72
92
87
45
71
90
74
43
63
90
73
54
111
42
85
80
92
57
89
82
79
90
36
83
57
89
103
58
120
76
39
76
96
106
79
64
65
66
81
52
34
50
110
51
19
60
69
41
78
96
127
48
112
97
59
95
58
104
119
113
62
41
105
65
60
102
56
39
94
87
102
83
106
60
76
96
68
37
113
110
50
99
108
50
73
91
91
85
85
58
66
50
57
75
73
84
88
41
83
44
69
70
78
109
48
63
74
89
56
78
44
128
68
81
105
88
68
164
80
58
47
70
84
75
99
99
64
44
81
83
89
63
67
61
149
87
77
96
92
57
72
42
73
83
176
130
81
94
54
101
68
114
74
68
52
58
125
83
73
54
52
149
55
95
28
99
79
72
45
56
56
48
100
126
74
78
120
33
81
43
49
68
76
61
102
81
87
64
65
80
64
58
85
78
55
40
82
63
30
94
46
71
78
112
110
81
58
134
113
41
64
54
73
105
78
100
79
86
30
96
67
58
93
85
101
87
103
123
52
67
54
41
59
58
97
50
77
85
54
54
48
79
48
66
111
113
72
54
96
87
50
120
134
55
79
37
55
75
75
90
56
78
86
41
69
74
64
118
92
66
62
49
88
108
81
60
94
62
52
51
69
60
29
78
121
76
107
143
100
87
44
82
60
176
103
104
66
65
73
71
81
61
66
50
74
91
46
43
83
63
59
57
100
54
90
38
111
113
109
32
53
92
67
73
74
86
88
63
49
45
76
86
41
53
127
53
80
54
99
47
75
165
38
100
125
91
55
77
65
70
38
79
99
31
27
45
42
61
76
158
54
82
43
97
141
107
104
75
69
42
108
103
68
36
81
91
74
68
101
105
79
74
73
62
77
78
42
56
52
57
56
91
46
73
63
81
80
65
90
103
54
81
46
165
85
81
50
93
109
132
86
49
88
86
87
108
71
35
86
70
36
93
73
54
67
78
70
81
109
104
110
137
68
87
78
37
67
120
59
71
70
83
76
121
125
116
92
93
90
91
80
59
53
88
36
100
82
106
44
64
47
64
51
62
97
63
123
48
82
80
33
92
147
104
48
38
70
44
84
105
86
74
118
75
66
148
98
34
24
48
40
83
130
106
101
80
98
93
87
82
119
54
56
43
45
63
105
71
61
56
67
84
64
97
79
115
66
82
52
80
52
46
69
51
98
80
61
38
87
46
62
50
110
42
97
97
61
64
59
34
58
58
92
70
34
85
103
115
79
67
47
49
101
96
94
117
98
51
75
83
99
120
85
66
62
58
51
153
76
68
140
94
72
79
66
36
35
54
45
87
107
84
53
128
49
66
80
87
116
121
75
68
57
72
74
119
128
35
68
59
97
95
138
59
144
62
73
78
51
79
95
70
85
62
74
77
83
63
111
89
66
75
75
107
105
56
68
68
76
53
113
95
67
89
66
72
100
48
58
67
79
90
118
56
83
43
59
48
64
69
99
92
109
49
83
118
58
74
45
72
93
97
107
85
113
59
117
80
111
102
68
57
111
43
39
68
82
52
103
76
56
69
60
60
43
37
76
51
58
65
74
31
71
52
50
105
92
80
97
56
76
68
72
132
60
46
44
65
92
51
127
77
90
62
75
62
51
112
96
74
57
78
66
70
53
48
110
79
95
100
147
55
80
36
79
59
102
61
57
85
60
54
98
142
69
131
56
50
59
73
55
82
60
96
98
86
114
73
56
69
43
93
41
109
44
47
79
54
116
99
97
64
103
72
94
232
50
53
89
74
25
114
64
82
63
103
53
75
42
82
66
91
64
23
97
92
131
67
68
112
84
91
68
72
103
56
134
91
79
75
42
41
93
79
76
97
45
52
131
36
54
73
57
76
62
126
108
72
71
90
78
72
108
82
69
88
69
44
43
54
48
88
66
103
34
43
111
67
43
64
36
80
63
118
65
46
85
99
52
49
33
139
103
99
67
71
94
96
114
104
100
48
41
83
69
82
76
90
81
115
76
105
76
66
56
57
71
163
58
101
100
50
115
78
52
138
57
49
72
100
116
64
32
43
40
68
78
48
36
46
104
33
56
54
94
56
96
86
49
88
114
77
92
112
59
38
47
80
116
113
83
71
55
68
42
81
102
80
50
41
60
87
81
73
94
63
62
118
92
54
85
63
87
60
47
73
40
106
88
66
116
83
54
68
81
72
56
72
120
71
79
82
64
56
171
81
96
100
88
82
63
42
102
87
117
83
66
103
59
103
79
40
80
68
67
50
69
97
76
92
112
68
50
73
76
67
94
80
97
72
119
81
65
68
78
64
51
64
56
102
87
40
86
79
41
71
107
48
87
126
43
78
140
50
59
55
56
108
97
73
73
76
77
88
81
41
61
144
81
122
54
95
114
115
107
52
106
39
52
72
148
104
80
107
68
139
62
50
89
84
57
64
97
46
99
116
52
65
78
84
82
86
81
43
68
72
64
108
51
67
52
36
110
66
108
111
96
99
133
71
83
65
95
64
109
95
71
88
48
57
51
86
55
110
82
97
149
72
101
73
80
129
102
101
83
50
94
56
49
38
82
69
85
42
120
163
86
74
61
62
129
106
96
77
108
30
83
100
56
43
118
115
56
74
83
80
92
102
80
69
100
84
56
88
43
64
57
69
95
37
68
68
76
60
67
79
83
39
55
86
70
46
67
53
67
83
91
67
112
44
58
94
73
70
108
36
41
47
45
63
74
58
85
71
51
67
60
73
44
58
67
44
69
91
39
82
56
60
56
87
76
66
53
115
56
79
66
36
49
89
80
53
78
68
54
101
67
90
66
62
66
45
98
122
43
65
71
58
58
64
65
56
101
123
74
44
32
51
84
80
97
59
39
84
90
37
147
60
63
107
46
48
57
81
111
58
80
105
73
81
50
88
83
95
64
62
79
104
61
57
96
49
100
64
80
63
59
80
63
61
91
101
57
45
44
129
80
58
134
95
74
70
121
67
70
62
123
87
63
67
99
84
80
74
76
75
59
76
73
37
100
114
82
107
51
56
56
92
55
94
87
120
36
92
70
67
80
89
95
42
76
64
167
58
65
54
103
140
49
60
84
77
44
46
64
105
79
81
80
155
107
79
63
100
76
85
93
91
90
38
86
52
103
91
51
60
65
62
61
82
91
115
100
68
62
112
74
106
65
34
67
116
46
114
57
72
87
87
84
83
87
55
72
133
102
64
98
77
46
48
86
106
98
101
80
49
68
73
64
65
89
93
53
96
59
66
89
51
38
70
104
95
82
59
73
76
50
75
63
33
89
112
158
53
52
78
61
85
96
126
69
60
87
101
78
114
114
72
50
101
38
76
87
68
74
57
75
36
52
49
60
91
75
134
76
100
98
50
66
73
138
82
77
88
121
128
88
57
88
104
100
54
53
62
91
108
94
55
71
79
74
92
76
72
50
68
84
29
92
63
64
77
114
44
77
109
73
50
83
78
81
63
66
91
46
58
75
52
77
74
117
75
109
96
46
116
97
136
108
36
92
88
71
86
82
154
38
71
60
95
92
35
70
98
43
53
88
35
36
67
74
64
53
70
65
73
43
98
36
102
63
68
105
85
72
56
72
79
64
106
76
48
68
47
105
83
54
120
66
48
74
111
73
79
65
55
106
42
70
57
85
70
82
97
70
103
124
75
67
64
63
81
89
45
91
50
57
51
123
98
98
77
70
39
119
92
69
69
102
107
88
81
98
84
47
95
79
180
72
119
72
53
77
56
67
95
63
65
55
80
73
100
70
46
67
115
97
86
99
118
85
44
66
64
93
47
109
112
64
60
58
104
88
74
85
54
95
93
79
83
108
65
67
28
68
55
103
61
56
159
105
85
73
79
85
61
42
75
73
91
58
61
98
90
89
73
41
105
66
70
84
55
37
72
63
82
79
60
84
67
67
76
144
64
73
74
63
60
84
80
56
136
97
107
73
104
82
57
57
71
83
62
46
98
119
116
94
53
36
93
90
62
45
137
132
64
41
63
110
52
82
66
91
66
76
73
31
53
104
62
63
41
66
79
105
76
91
78
99
83
53
51
37
108
56
97
114
70
68
128
56
70
84
63
73
56
100
67
42
87
34
41
55
93
82
61
57
67
78
133
61
72
45
64
92
51
62
83
89
68
86
56
110
89
65
70
50
109
36
45
55
75
74
81
69
80
44
85
126
148
96
77
171
65
42
68
77
134
43
94
97
62
77
119
66
46
103
94
73
128
50
110
115
98
61
102
92
38
106
53
56
91
45
89
71
88
70
66
29
45
109
68
72
76
88
101
57
79
48
69
73
50
104
54
34
92
55
105
51
157
133
54
63
63
103
109
112
35
62
59
72
42
50
80
42
49
127
67
58
100
80
105
86
66
113
74
66
74
38
112
75
69
71
36
74
65
99
107
47
58
60
75
96
69
80
72
36
52
64
91
58
77
99
27
105
95
72
48
54
34
105
61
45
51
52
69
64
81
88
86
122
41
68
72
69
47
74
54
79
76
72
52
95
97
97
75
80
66
108
103
57
34
115
89
129
77
55
71
47
63
84
52
69
89
85
84
69
105
120
86
54
94
64
69
69
83
52
81
80
54
52
70
61
49
97
107
78
119
95
99
101
84
82
82
51
71
55
64
69
50
115
135
94
119
72
62
120
86
60
47
61
123
58
61
70
85
77
49
95
150
94
54
64
73
83
82
119
153
77
46
75
94
56
92
99
49
121
70
79
61
84
73
49
68
73
64
91
62
48
105
60
104
85
86
88
44
84
74
75
105
85
89
84
93
120
69
51
109
45
48
78
116
101
84
91
62
76
66
78
52
56
73
48
70
103
86
103
75
73
64
54
85
39
45
75
66
79
87
66
61
84
108
69
76
60
78
105
53
99
40
116
40
99
149
79
46
98
76
69
80
60
76
59
82
105
30
108
79
84
67
58
57
74
93
47
47
64
93
26
60
81
97
40
51
124
54
58
67
56
86
117
59
90
67
53
72
77
84
107
39
52
76
143
106
46
88
62
80
78
36
72
86
77
101
56
119
89
67
49
71
75
86
67
79
76
76
66
98
84
100
72
87
95
83
74
126
80
44
86
44
53
44
118
43
95
107
89
77
90
77
71
111
93
78
44
121
66
42
114
69
87
76
68
76
111
67
94
66
51
58
134
121
36
55
82
33
66
91
74
75
61
91
38
56
72
72
62
100
100
73
99
73
130
77
55
68
88
92
81
151
101
102
80
101
39
111
99
99
66
109
61
67
56
71
59
57
64
138
88
114
71
80
81
26
50
85
41
58
102
92
70
95
104
51
118
60
63
96
60
55
92
73
66
77
104
101
78
63
68
87
62
93
59
56
86
78
90
67
42
77
87
122
52
38
94
156
53
93
77
109
104
65
93
101
49
100
112
54
78
88
70
40
96
117
82
41
96
74
78
73
135
58
67
75
41
69
96
48
79
53
24
55
61
101
106
40
65
78
53
77
60
82
69
66
63
91
47
139
65
123
25
49
55
44
42
38
119
105
91
122
87
107
90
67
50
114
78
64
42
74
57
92
51
55
115
112
74
63
126
62
77
83
109
72
93
59
47
94
53
93
55
109
88
52
62
96
77
129
67
78
53
57
89
73
109
112
51
64
102
32
55
88
80
58
170
94
171
46
117
59
103
55
95
72
84
62
62
45
86
79
77
68
143
94
95
73
78
53
92
94
79
78
40
98
75
69
77
60
124
66
73
68
137
118
56
34
120
73
131
58
95
68
122
112
38
94
55
46
81
77
117
49
125
82
71
67
88
63
85
42
74
94
90
49
71
106
81
73
94
101
93
62
87
67
92
85
46
77
84
58
68
82
118
35
87
100
91
80
103
38
90
113
44
53
58
97
99
69
82
45
116
99
62
99
73
130
79
71
108
74
62
42
79
97
54
95
51
57
56
102
96
94
105
77
73
46
105
84
56
56
33
89
72
60
55
57
38
40
110
87
74
59
95
29
105
90
52
104
142
67
67
47
73
102
67
77
59
78
63
45
113
64
76
49
58
138
90
103
73
92
54
89
107
52
43
44
73
79
116
76
92
67
161
65
80
71
60
106
83
83
87
45
113
89
81
64
98
94
101
103
86
72
58
106
25
81
77
58
98
46
84
67
51
71
100
50
91
91
119
78
75
70
117
72
71
93
67
90
89
58
68
37
62
78
68
73
93
78
66
41
104
125
98
57
104
116
61
104
64
39
123
85
66
36
91
67
85
79
88
65
54
104
92
73
77
79
127
87
99
89
48
37
73
36
65
84
62
48
65
178
77
93
71
34
85
93
132
85
77
99
53
68
85
92
30
52
59
52
107
63
58
102
109
58
88
69
79
88
69
90
49
73
80
115
75
85
86
70
23
103
92
63
144
110
56
95
76
76
36
65
135
76
97
85
39
77
62
67
74
85
64
75
102
54
79
59
80
61
80
121
41
121
54
68
79
143
129
81
78
115
72
50
58
57
71
130
119
61
59
75
97
61
54
82
102
99
70
39
79
44
37
65
63
107
99
71
85
62
107
65
65
97
55
75
89
48
110
47
76
28
95
63
88
55
97
93
55
70
107
85
69
104
54
50
64
115
105
134
99
40
48
76
83
52
85
80
50
49
95
85
48
51
71
81
58
139
115
69
94
41
91
51
55
63
89
109
69
57
92
87
66
66
104
105
59
62
72
101
91
49
41
67
52
60
76
57
104
115
72
62
79
106
58
64
68
58
49
45
139
117
91
113
41
73
94
47
65
92
81
46
91
97
113
100
78
63
98
119
61
60
94
71
89
54
56
50
66
76
65
74
95
100
93
80
120
100
58
115
34
112
64
117
89
51
120
57
61
87
90
81
46
54
90
56
79
53
38
77
97
68
89
40
57
152
92
57
63
82
71
115
65
78
53
120
94
115
88
52
81
59
36
67
81
168
94
48
79
93
76
77
64
70
39
77
105
50
98
67
55
52
52
136
54
96
104
64
53
42
54
58
97
99
33
75
101
68
71
98
56
78
84
88
77
65
62
90
48
71
71
87
65
114
116
86
52
74
104
79
76
37
87
57
61
52
45
86
51
69
92
67
123
42
110
83
38
79
110
52
51
72
136
34
100
103
61
98
109
63
66
102
75
85
86
46
86
112
83
102
77
86
35
109
73
97
62
64
125
86
100
102
63
78
107
25
49
49
86
40
63
59
63
58
61
114
90
62
103
79
52
38
44
103
62
64
84
87
79
64
108
116
68
85
86
52
50
95
63
94
54
84
65
74
102
44
115
48
68
67
57
94
43
90
41
41
54
109
66
116
62
103
86
80
85
47
69
66
60
65
130
106
67
97
85
86
53
115
69
70
106
41
65
60
58
128
47
65
93
100
84
57
43
93
65
133
94
41
94
129
60
77
108
58
123
102
117
56
70
72
79
95
74
43
85
65
67
56
65
71
80
69
69
121
115
62
68
57
71
59
69
101
44
66
72
72
105
142
70
77
114
52
69
118
140
94
93
42
86
85
60
57
106
60
82
86
44
80
92
79
88
34
36
121
126
64
76
60
100
84
57
83
110
112
38
104
103
36
35
79
47
74
69
22
45
99
55
135
66
67
59
76
72
70
67
127
67
75
37
147
103
97
40
62
110
98
96
172
51
73
76
86
80
69
58
66
107
68
82
94
109
90
93
59
70
63
55
97
75
93
89
86
92
47
100
57
84
70
52
86
74
87
68
62
36
61
105
87
67
87
58
128
129
70
81
79
89
51
80
107
76
43
89
115
81
81
62
89
115
50
66
85
55
62
55
92
55
137
73
98
92
100
68
49
80
105
60
72
85
59
57
93
74
82
70
71
57
43
143
49
123
58
84
87
123
83
31
50
49
108
130
64
75
83
67
43
108
84
72
48
71
44
171
41
85
80
71
114
65
75
135
61
86
44
67
84
52
64
73
50
99
110
52
85
107
104
52
97
64
122
53
65
116
68
103
64
73
56
73
190
54
76
60
78
70
113
82
71
95
89
64
76
81
84
46
109
59
76
62
79
110
93
75
93
88
149
113
85
77
65
79
93
76
72
87
54
77
101
107
64
102
35
48
70
68
51
80
85
109
49
63
39
66
85
115
69
52
108
76
75
89
75
110
57
63
52
66
90
75
65
64
121
64
57
75
72
83
81
67
108
57
101
71
57
90
53
75
75
89
38
105
88
65
52
75
79
51
63
90
67
71
70
47
98
81
64
53
63
111
49
112
61
69
57
73
99
44
28
62
55
72
59
59
48
53
58
83
136
42
39
72
66
89
77
66
85
44
84
84
62
53
159
79
41
80
57
92
116
53
66
91
77
100
87
96
86
69
77
88
41
69
69
114
75
87
100
111
97
88
66
45
137
73
72
100
63
47
151
37
91
127
55
79
58
85
56
114
66
83
131
64
84
93
98
114
87
80
40
127
68
49
61
111
63
50
113
52
96
91
53
92
98
91
91
100
84
69
40
65
69
83
70
77
86
170
84
146
66
61
78
83
80
105
103
67
100
72
56
84
68
93
41
66
115
52
85
83
50
90
59
98
51
67
64
93
94
73
76
62
43
72
88
93
66
61
54
135
49
85
90
58
85
55
68
109
83
59
53
88
135
49
50
86
69
57
65
85
71
116
84
38
44
80
82
99
66
61
95
73
65
77
62
71
101
73
94
114
64
85
66
141
115
36
84
99
43
51
78
91
56
52
61
98
76
89
119
78
135
109
90
46
79
62
24
68
95
79
50
76
96
72
42
67
76
82
34
76
62
56
96
85
102
68
48
69
92
33
105
56
53
63
88
118
64
119
82
108
135
78
66
65
85
51
111
112
117
73
51
51
44
88
62
89
98
100
106
93
41
80
119
84
67
145
105
86
42
78
68
79
93
103
96
56
52
78
78
67
30
68
87
67
74
81
76
56
57
106
99
111
86
64
72
81
72
60
53
77
48
85
77
86
116
26
84
83
69
93
48
101
86
111
41
71
103
60
79
63
84
88
55
42
98
75
63
78
121
82
100
84
83
53
52
70
91
105
86
61
64
84
104
76
113
73
74
110
66
110
124
66
30
91
46
44
47
144
50
68
69
126
72
107
104
69
93
43
63
72
68
68
56
65
89
72
74
52
71
89
52
60
47
41
122
105
91
74
72
98
83
48
130
72
66
74
65
48
38
69
119
91
55
117
47
107
47
51
91
111
87
90
54
52
37
53
114
116
109
55
69
55
49
96
64
110
36
107
93
45
67
83
80
40
55
103
91
177
104
72
74
61
84
88
86
93
42
44
102
65
58
91
128
94
38
77
70
55
42
97
56
81
74
91
83
104
114
89
49
70
56
58
58
65
172
87
115
87
34
48
88
73
85
44
58
46
53
59
87
48
55
84
44
69
68
51
95
52
164
116
41
61
67
78
67
67
24
72
66
53
85
95
100
91
120
89
108
118
88
124
51
94
86
51
76
94
97
45
95
78
40
64
83
93
55
36
46
92
81
45
98
38
34
64
65
103
46
105
32
147
65
100
76
76
55
100
47
51
78
108
94
85
122
82
39
79
135
41
84
51
93
47
83
56
68
47
138
98
65
171
70
82
56
97
76
107
74
127
69
48
140
82
59
64
84
68
50
74
86
123
64
55
56
97
44
127
53
30
73
145
52
86
72
109
102
92
68
99
101
59
37
115
126
54
59
97
54
112
125
91
72
88
104
83
103
51
79
100
48
88
46
88
61
66
110
94
82
62
84
62
147
82
85
117
85
120
84
99
64
157
103
57
83
50
93
65
80
138
95
57
94
56
66
80
100
75
58
76
76
78
58
80
55
92
60
47
89
69
78
90
69
78
79
47
52
56
64
111
51
116
65
87
68
74
72
135
117
129
52
51
158
63
61
46
52
43
71
57
68
80
67
127
96
101
69
66
72
47
71
101
115
83
74
95
62
90
55
88
97
31
89
132
99
57
59
108
71
83
59
139
71
80
95
116
60
93
86
80
65
80
39
48
100
82
66
82
100
30
59
57
59
110
63
71
109
57
55
57
75
41
100
113
80
28
98
55
67
54
67
108
78
95
66
85
110
107
87
96
132
67
47
102
92
120
75
60
91
44
100
92
78
41
63
59
128
71
73
105
100
87
60
98
63
92
118
90
83
63
77
77
98
71
133
43
98
51
87
58
109
65
67
31
107
95
91
54
54
69
62
60
42
67
41
28
102
85
80
46
83
78
86
80
80
62
71
76
68
105
50
65
56
112
55
49
80
54
72
95
77
49
97
43
71
90
60
72
73
54
73
46
84
81
83
54
60
73
104
102
107
87
45
44
49
91
61
47
130
120
72
75
47
52
111
96
147
62
82
88
81
97
103
81
36
98
73
98
188
100
136
113
70
91
60
128
99
76
76
48
62
123
57
43
96
85
74
67
93
58
65
77
63
37
76
36
87
104
68
97
108
45
121
108
63
84
93
70
63
68
103
52
73
79
108
94
103
57
99
111
101
87
129
92
64
97
36
95
89
65
72
85
64
55
44
110
40
89
81
94
87
110
67
96
78
82
73
60
89
80
64
55
55
43
74
77
55
33
77
108
37
64
92
75
93
58
95
83
46
44
63
52
56
98
114
66
37
56
62
95
107
59
80
69
101
97
92
78
79
70
70
76
103
83
128
82
120
90
48
52
56
53
80
54
88
92
31
95
67
77
46
72
108
79
71
71
53
57
73
53
82
58
70
39
59
113
121
52
75
99
110
52
78
67
40
93
117
95
76
126
127
91
58
45
100
87
35
65
94
90
44
89
30
49
64
47
77
35
116
75
67
132
63
97
61
110
90
92
79
86
99
77
67
42
23
96
87
77
80
85
68
74
87
110
64
78
71
45
110
50
77
97
85
69
87
81
75
95
40
84
102
54
34
61
69
38
92
53
96
96
85
81
92
126
108
72
37
100
32
85
90
101
65
82
104
59
60
43
52
40
95
65
53
54
87
44
57
126
45
58
86
43
67
60
49
68
79
82
93
97
48
49
114
95
74
131
99
65
88
97
102
104
38
71
80
53
69
66
83
96
45
90
36
83
78
132
95
49
71
51
66
72
66
73
77
62
104
138
106
40
30
80
81
97
53
71
77
80
61
79
81
108
62
69
61
77
31
90
85
62
52
75
51
67
59
63
61
87
64
35
84
64
75
45
78
96
55
40
124
52
80
51
105
90
83
48
77
79
57
104
70
55
81
89
97
79
78
142
81
38
80
38
84
59
37
78
72
85
55
103
74
115
85
82
70
87
92
81
104
85
92
92
92
64
90
66
39
67
65
73
85
49
43
73
49
70
74
93
78
49
88
79
42
48
87
80
70
57
95
54
122
47
81
94
116
61
51
57
73
52
57
34
55
54
44
104
76
69
88
58
71
66
66
53
61
34
99
106
57
88
109
85
72
58
92
67
63
62
55
79
66
87
89
127
75
87
47
73
61
162
100
114
91
83
87
87
60
136
91
99
62
54
45
112
83
76
81
50
51
86
77
77
80
108
28
64
84
115
57
41
48
118
63
70
93
92
94
60
67
92
63
55
73
39
97
146
92
63
42
92
56
109
75
73
100
115
99
112
74
77
86
42
120
83
106
66
130
86
75
77
52
58
95
72
159
63
31
76
57
107
51
83
114
77
108
74
92
79
76
55
76
109
41
123
62
111
45
93
85
47
119
108
68
105
87
166
109
45
48
62
83
86
131
122
72
129
57
57
109
68
87
79
56
56
65
74
83
68
129
69
78
76
76
73
59
91
84
55
72
80
87
81
94
60
80
62
65
109
78
101
53
92
63
73
93
144
97
124
45
121
92
86
91
32
102
44
90
57
66
82
64
85
77
80
101
69
40
163
55
89
94
70
52
87
35
132
108
37
62
73
44
96
110
54
54
68
111
108
49
55
94
82
42
106
74
133
96
43
54
87
76
56
44
51
73
53
58
61
155
110
80
105
94
57
39
42
68
70
82
61
114
157
72
107
102
64
88
29
49
43
71
59
112
52
65
164
80
75
53
45
96
69
75
37
65
77
68
102
59
83
82
42
59
52
54
111
113
52
93
41
151
45
96
84
73
103
108
67
68
63
51
49
85
59
79
130
55
114
86
56
93
97
93
79
73
70
76
85
58
89
71
115
60
54
116
69
89
106
76
105
96
127
96
72
77
50
83
65
54
56
48
56
93
78
99
59
116
83
92
104
64
42
70
85
49
107
68
66
53
91
71
66
83
94
109
107
85
90
75
106
60
96
109
85
71
111
93
33
88
55
68
35
90
76
102
30
68
49
78
113
57
66
68
75
93
97
93
77
93
87
44
46
122
42
74
56
61
97
105
55
81
56
114
90
98
67
43
30
62
82
49
39
63
148
62
88
75
63
146
36
43
64
51
114
64
95
92
51
85
101
75
50
95
97
90
69
85
107
123
91
119
52
53
73
25
175
123
58
47
90
122
65
84
78
114
60
48
56
47
35
99
86
56
93
54
127
55
57
114
82
97
114
82
92
66
125
41
90
41
94
83
90
88
48
54
66
96
67
91
60
65
104
84
94
60
73
66
75
49
98
76
78
87
125
53
75
45
107
79
54
60
34
52
96
74
82
115
87
63
87
37
112
53
70
63
40
51
50
89
47
56
61
72
40
74
46
143
104
51
73
73
90
48
136
84
94
66
40
94
84
42
100
48
67
93
73
84
121
64
128
50
62
147
66
91
82
79
31
85
59
86
80
67
64
78
69
64
41
50
71
48
93
63
103
79
63
94
56
81
90
41
66
89
69
107
81
76
77
43
45
80
57
71
55
77
61
88
59
58
39
61
65
38
41
76
77
65
72
132
106
74
67
91
65
87
43
74
79
94
97
80
139
87
45
62
38
65
77
94
77
78
70
71
99
60
93
114
95
67
111
58
76
59
87
51
47
42
49
91
112
58
122
69
42
69
43
138
34
68
134
67
117
67
54
80
74
103
115
103
69
87
103
67
67
93
59
43
69
40
55
60
34
63
78
46
82
73
87
83
69
92
85
90
80
67
102
50
76
80
71
45
78
106
52
74
39
92
75
96
76
62
71
42
70
72
77
102
110
81
53
92
64
49
103
72
61
108
46
104
58
99
69
78
64
63
58
52
66
63
76
23
73
84
100
71
65
64
56
80
68
151
90
93
82
61
79
86
41
82
66
124
64
59
88
77
56
79
92
102
54
37
74
86
73
115
110
72
75
126
89
38
69
81
100
54
99
142
122
50
144
52
27
45
64
47
63
82
66
70
66
114
57
100
55
77
57
38
63
111
34
82
83
42
90
91
63
51
46
91
62
48
76
58
80
75
79
104
43
69
24
102
90
76
87
45
67
50
53
62
60
67
51
42
58
92
31
72
61
104
55
103
33
111
59
42
47
55
74
75
59
80
48
63
65
47
101
79
65
64
71
46
46
80
109
65
100
90
83
49
58
83
35
88
62
48
67
83
98
78
42
45
100
100
74
52
68
51
89
68
180
81
51
59
77
68
76
49
147
31
74
61
101
52
81
99
104
95
65
104
104
73
50
85
53
110
108
100
101
105
133
50
92
69
91
32
58
86
111
68
62
78
63
67
82
45
72
92
57
106
79
65
64
86
80
63
107
96
49
100
58
62
93
51
60
90
76
71
108
117
93
33
97
90
73
79
74
67
107
60
100
92
35
88
74
71
104
121
91
52
74
98
60
51
91
93
101
65
62
89
58
64
91
54
65
58
65
106
61
64
75
79
56
66
70
62
65
57
68
43
75
79
91
81
98
61
34
136
54
65
118
46
115
82
60
138
61
49
48
78
95
53
56
111
57
85
84
84
93
75
47
85
33
57
55
66
75
77
75
73
88
65
96
74
65
66
55
52
55
95
119
67
71
126
77
103
46
59
103
60
104
71
83
85
58
52
127
74
94
79
32
48
114
138
67
64
56
135
82
70
98
73
78
86
134
119
70
65
69
80
60
86
93
102
93
82
85
80
89
99
41
110
87
75
89
53
74
126
80
89
69
93
65
75
65
99
45
92
86
86
119
89
96
71
133
95
79
84
75
110
87
63
99
66
75
81
118
62
87
103
76
87
48
60
47
66
61
67
89
95
85
78
79
50
46
78
40
64
96
63
100
73
84
63
62
35
129
68
69
61
95
116
84
81
159
66
56
51
70
73
44
44
148
117
43
77
75
72
110
55
80
109
90
51
90
63
36
59
108
90
75
115
81
85
102
103
88
69
56
70
39
40
68
70
80
48
44
96
40
72
64
103
107
83
78
79
113
59
69
73
116
63
108
42
89
52
102
135
91
83
54
72
97
59
167
114
122
73
75
47
66
65
81
72
97
94
81
92
95
124
78
64
96
102
59
117
60
129
100
71
53
83
81
98
70
51
106
208
120
93
123
99
61
76
67
68
118
78
42
76
108
53
64
76
40
47
54
50
67
62
67
77
106
92
86
46
61
90
66
81
103
108
87
91
69
69
105
55
64
94
32
99
77
48
102
74
112
106
116
69
68
45
56
50
82
67
86
75
67
68
73
141
43
80
30
57
79
76
109
46
97
71
82
66
55
93
48
53
101
167
95
81
67
134
83
113
56
102
76
76
104
58
24
67
66
84
41
99
68
74
51
113
67
107
120
88
47
66
53
93
116
58
95
92
46
48
85
84
101
75
66
119
44
128
81
54
109
97
64
71
82
107
56
63
94
72
82
68
111
126
110
80
108
86
96
88
55
77
83
78
38
137
37
142
68
40
61
81
81
63
66
127
118
53
53
130
127
70
30
55
63
62
81
50
79
74
78
108
58
57
46
82
59
67
56
41
118
40
86
86
75
80
77
67
72
99
90
66
57
125
61
105
148
113
30
48
65
63
57
73
77
84
77
145
102
51
62
99
91
128
111
55
67
69
84
72
82
143
66
58
74
92
80
64
83
110
95
66
50
52
61
69
65
67
92
51
131
82
62
33
63
80
48
78
97
50
55
42
60
101
56
82
67
72
88
115
86
114
115
83
48
68
42
104
83
60
108
134
57
108
51
82
77
69
99
110
127
79
39
39
65
80
52
81
81
113
88
51
78
65
103
66
107
67
55
69
36
104
77
95
56
74
93
93
70
84
81
67
87
86
48
78
117
92
89
92
93
43
80
56
98
56
84
56
98
86
62
73
98
113
57
66
104
89
102
44
87
113
105
123
93
43
48
61
81
104
50
57
77
125
84
122
78
73
78
80
39
86
64
102
103
85
79
68
56
107
62
84
94
125
51
58
161
59
95
85
50
56
73
81
64
105
76
39
57
54
115
124
75
81
40
92
94
68
100
17
44
74
75
76
73
68
41
45
88
70
117
78
65
44
106
79
82
92
79
68
77
81
85
59
60
120
76
94
78
61
67
54
40
56
81
49
37
98
82
55
97
55
52
75
83
53
66
113
114
112
82
76
86
94
101
54
51
152
107
91
69
83
64
88
107
94
97
123
109
64
78
64
95
135
86
83
91
88
102
93
87
67
100
82
37
58
83
81
69
66
81
89
58
77
77
64
149
49
61
81
95
75
109
66
59
62
64
93
60
43
48
48
79
87
109
85
73
114
110
101
77
61
111
106
81
85
105
36
90
148
60
49
49
63
88
102
55
74
77
48
62
86
70
131
100
109
107
76
53
90
55
96
111
40
114
74
40
101
56
76
40
54
113
69
90
79
108
34
42
100
73
74
99
64
76
103
111
94
89
75
72
84
82
82
71
45
69
87
58
98
136
82
85
63
63
63
64
85
110
35
81
50
79
89
62
103
36
126
115
51
50
69
78
56
48
75
63
85
93
66
51
84
41
105
64
74
97
68
64
66
55
76
141
91
116
55
58
93
71
53
41
78
56
128
104
47
103
51
84
65
81
51
97
88
90
88
61
64
100
124
46
93
80
116
129
69
97
116
57
101
93
81
67
60
68
101
66
101
108
68
42
111
87
85
106
87
104
52
79
100
68
89
64
77
53
78
95
70
64
85
120
59
93
92
66
66
146
95
64
77
163
91
55
114
78
84
95
87
102
53
69
39
87
80
116
78
147
76
92
77
42
111
58
125
113
94
132
68
120
109
50
88
129
103
86
63
125
60
109
92
57
90
69
96
110
79
63
83
91
103
93
64
40
40
114
63
60
60
65
52
108
64
59
64
58
90
112
106
63
50
95
78
99
111
33
80
85
94
63
66
127
63
62
84
96
128
108
145
131
88
71
75
64
67
96
79
75
128
57
61
68
82
79
60
86
83
80
138
47
56
88
51
71
56
111
66
128
68
91
35
111
79
31
63
42
43
63
74
87
89
132
63
43
95
54
71
87
62
61
75
30
65
79
45
52
66
54
87
105
107
100
59
103
62
78
48
79
46
97
51
119
78
87
60
49
74
54
83
76
78
51
35
74
113
95
45
95
73
72
75
129
67
133
96
79
26
74
43
139
48
47
70
92
44
99
76
35
118
78
81
125
68
92
121
43
57
99
71
46
72
64
45
63
74
93
109
86
103
46
72
76
87
87
70
56
80
57
58
56
45
63
96
77
38
65
88
74
82
65
53
108
82
69
86
56
33
66
69
76
42
88
87
75
58
128
64
137
96
68
40
74
130
82
91
47
49
123
63
129
86
65
50
50
69
89
131
74
55
95
99
84
60
94
62
88
117
47
51
49
73
75
61
75
64
108
53
77
85
78
102
44
134
73
96
48
79
52
124
55
63
69
38
79
105
40
61
42
105
88
76
111
138
83
85
70
75
46
36
54
68
84
89
75
33
99
150
85
51
121
57
58
100
75
84
67
93
113
88
63
75
73
43
53
94
87
78
68
53
55
104
64
66
64
97
69
110
78
46
46
58
54
63
67
33
60
93
105
69
60
49
83
46
50
70
70
88
97
71
50
98
99
75
35
61
68
93
73
64
51
79
62
77
53
104
74
64
76
85
125
66
92
52
65
45
65
76
41
60
78
65
60
51
63
88
59
90
81
93
62
51
91
70
92
64
58
63
65
74
51
74
96
62
41
73
91
103
47
33
81
108
42
116
98
48
102
76
156
84
70
102
54
108
56
64
73
61
120
59
49
107
54
94
52
111
70
88
39
149
71
76
62
100
116
43
91
35
109
110
91
123
73
91
89
86
48
178
58
91
45
50
77
74
92
85
42
45
91
69
35
50
95
83
71
64
52
73
79
70
74
86
78
40
78
111
66
73
55
114
57
104
54
37
72
106
88
69
62
107
34
133
61
69
76
89
74
123
61
56
128
32
83
49
71
79
44
99
55
72
73
72
69
73
128
74
119
67
104
69
49
102
50
99
61
77
168
98
84
58
77
47
61
80
167
110
73
111
112
88
85
64
64
39
90
62
105
89
56
91
81
69
85
99
70
89
156
99
68
83
137
64
76
62
90
58
123
79
70
113
66
47
50
83
80
65
70
120
87
55
63
97
93
58
66
97
70
60
27
67
88
86
105
76
106
69
93
65
113
81
114
63
66
74
83
85
62
54
82
48
68
61
41
61
101
143
72
62
118
73
63
117
53
114
82
87
55
67
55
88
135
85
115
59
92
52
57
45
88
73
36
44
131
87
76
65
99
54
76
101
54
94
145
55
113
140
64
69
104
79
40
60
115
88
104
90
89
90
89
89
42
142
30
65
49
99
91
70
87
84
49
60
86
61
91
99
74
97
116
70
61
63
86
63
74
58
108
129
47
111
82
78
93
61
59
103
44
61
63
98
54
91
73
86
80
84
52
59
133
90
52
63
68
103
59
118
57
70
87
107
76
80
39
57
48
78
78
79
99
80
64
68
54
54
85
78
92
81
95
52
71
125
64
70
60
33
60
112
96
78
49
82
76
104
88
88
65
98
92
75
86
56
84
62
70
100
63
54
70
87
85
77
88
113
83
39
65
120
105
74
65
57
69
78
56
57
73
124
110
59
39
44
78
79
37
41
91
51
92
73
84
122
86
71
49
90
73
78
84
103
83
45
86
64
48
95
74
46
74
78
82
62
130
79
66
42
95
41
95
72
60
110
68
45
81
85
163
68
43
108
57
72
110
161
64
78
54
101
37
109
50
84
89
52
59
60
60
46
69
77
76
21
67
106
82
86
47
73
58
90
95
86
60
68
38
115
98
86
73
49
107
51
108
76
98
140
64
50
89
85
86
48
47
63
83
60
71
66
78
79
66
60
108
75
26
90
151
106
94
100
43
113
71
90
103
91
52
114
55
78
74
129
67
81
36
34
97
76
59
100
103
109
123
38
71
74
53
54
91
48
91
79
109
65
35
24
85
37
67
59
99
29
53
51
138
133
96
72
100
148
78
71
55
32
68
88
70
68
112
42
42
99
65
66
91
56
67
81
63
32
72
98
88
61
46
115
82
135
77
94
93
61
46
83
67
60
55
101
40
92
68
66
79
90
108
113
88
52
83
58
46
74
98
80
66
39
56
112
120
62
71
76
96
76
125
78
63
55
47
42
77
75
74
73
68
131
48
63
87
99
93
138
82
73
114
67
56
49
77
52
86
162
59
111
34
71
71
69
103
52
67
73
113
152
97
59
71
46
69
38
65
56
99
88
71
112
51
75
98
50
44
93
100
84
82
104
100
123
57
113
99
67
89
102
105
72
103
61
64
127
100
64
48
69
63
68
54
51
35
77
64
88
57
97
105
91
45
91
47
49
51
104
56
132
74
47
103
63
87
88
61
56
75
64
64
50
77
66
69
90
77
60
72
61
102
82
102
95
65
102
84
84
50
93
128
62
57
82
33
140
77
66
105
66
73
104
52
110
91
83
98
92
35
49
54
129
76
37
89
97
51
64
59
123
73
143
41
71
102
137
93
112
57
130
43
91
74
87
105
60
108
99
64
116
57
122
98
85
68
27
64
80
67
141
76
77
31
63
85
57
49
102
59
61
110
84
43
111
41
94
76
83
64
90
86
92
50
78
91
55
85
96
84
92
95
65
48
82
46
59
82
51
75
49
65
70
30
99
49
61
79
39
56
65
95
82
98
136
91
99
80
91
74
68
61
76
61
78
58
78
58
49
25
66
100
58
65
73
91
68
77
70
90
51
38
87
86
75
55
49
59
134
105
97
107
115
82
27
36
110
102
44
47
90
59
76
128
52
61
82
106
85
103
110
66
91
63
148
58
144
99
84
86
87
76
65
37
59
93
74
80
39
57
112
69
41
99
56
90
122
103
37
39
112
73
47
49
60
74
34
56
52
65
54
57
73
66
41
84
72
47
78
99
97
88
91
59
91
45
118
85
32
122
51
128
71
85
102
90
75
110
43
74
92
72
51
124
110
73
52
70
65
60
72
87
59
70
83
44
73
113
58
54
106
44
33
50
66
64
83
62
105
80
36
85
106
41
80
115
84
87
84
80
47
28
93
70
120
94
67
114
48
92
125
101
32
73
61
65
86
65
56
115
55
46
78
97
83
63
108
55
50
116
72
95
60
45
47
42
52
65
78
80
78
103
127
44
55
58
58
54
83
165
70
44
83
84
93
65
140
92
63
73
62
60
48
80
39
56
75
106
112
95
56
77
80
39
61
97
51
105
79
53
66
136
99
141
51
88
68
49
68
99
86
104
93
83
93
76
98
53
68
59
60
62
85
83
48
69
77
62
117
58
68
38
78
64
68
59
51
82
57
68
73
74
78
101
58
68
73
57
89
164
71
70
55
59
66
52
61
133
92
56
95
87
59
84
65
74
61
111
131
80
100
76
101
78
53
36
36
86
65
62
63
49
77
49
91
70
61
102
76
81
75
47
52
99
58
85
61
114
75
54
144
82
103
60
79
84
78
70
66
55
88
75
113
84
96
69
97
75
88
76
32
65
82
67
91
51
64
90
54
59
76
90
52
104
48
77
66
54
55
51
86
76
82
46
97
74
41
56
76
96
62
70
93
58
64
48
91
79
95
75
50
98
67
59
91
60
105
65
48
88
78
78
104
70
114
51
46
55
48
52
51
86
71
81
69
85
68
73
61
65
120
94
106
60
82
80
93
98
84
49
82
75
39
72
92
41
104
85
52
56
54
112
81
87
56
69
84
69
49
63
86
27
76
144
102
82
102
70
64
87
76
108
84
40
54
39
110
101
54
71
61
106
89
48
76
74
64
85
89
86
105
45
89
95
74
73
79
79
60
59
56
89
61
61
119
70
34
59
75
64
41
46
85
112
92
80
90
80
96
71
89
73
79
42
107
71
80
53
49
61
98
67
69
47
79
123
83
125
79
60
48
69
31
119
94
63
114
97
87
126
101
69
31
100
47
62
64
79
51
79
103
61
97
95
55
77
104
62
98
32
42
66
74
42
47
55
95
45
39
104
86
45
82
55
105
85
65
48
30
64
131
64
35
80
87
89
87
86
89
69
86
86
51
76
32
93
110
76
135
104
62
68
42
102
79
61
42
65
85
60
104
62
106
126
66
117
55
59
102
59
71
45
68
55
133
33
73
64
84
71
56
43
49
69
111
65
84
53
116
128
61
96
70
86
73
63
125
76
75
75
113
95
48
83
52
65
36
67
112
74
64
89
61
77
50
95
47
66
88
63
47
44
65
81
64
85
118
88
93
88
57
104
82
72
49
60
101
61
103
77
57
111
50
86
134
30
52
24
116
81
95
99
89
106
59
65
55
64
76
89
71
68
99
39
92
106
62
81
88
73
61
120
66
77
78
68
94
66
51
73
100
105
74
96
87
56
81
44
80
86
82
59
61
93
51
74
84
91
55
75
48
65
71
75
42
86
42
62
59
78
89
55
121
72
55
133
60
78
60
54
47
64
88
146
48
132
114
127
100
84
52
79
88
94
99
62
33
101
106
82
139
103
86
58
81
97
155
63
79
33
93
93
78
90
57
92
62
104
45
33
80
130
61
110
83
115
94
119
89
97
20
46
75
65
75
49
58
94
43
51
93
130
53
95
50
71
112
56
126
75
91
67
75
144
110
54
99
69
92
81
77
65
50
101
30
87
74
134
55
83
57
47
66
60
57
52
82
154
64
83
77
105
51
102
71
55
88
93
40
45
54
71
35
60
92
87
75
79
99
75
94
83
82
65
72
81
49
90
66
53
69
118
41
140
78
102
103
78
141
77
74
75
51
95
84
38
56
68
75
61
56
63
62
108
89
43
103
97
136
99
97
80
96
92
50
102
53
118
124
101
107
101
45
98
64
61
67
54
83
42
81
80
120
99
76
81
135
99
65
105
52
57
74
60
122
99
100
52
64
58
58
84
43
69
93
126
112
93
182
111
68
81
62
35
93
44
53
39
56
90
49
115
81
69
82
95
114
61
72
82
99
81
38
76
70
57
68
87
29
79
135
89
98
55
70
65
89
85
71
80
64
73
74
66
45
132
121
89
105
66
88
78
76
113
110
56
38
52
66
92
62
105
92
85
84
121
95
49
58
86
51
85
94
89
47
159
63
74
61
74
88
80
53
41
62
82
61
88
70
76
65
98
80
146
72
48
46
39
37
94
70
58
124
77
117
74
99
90
75
90
52
130
69
97
53
104
68
69
66
36
60
69
113
63
86
57
147
66
67
131
61
71
96
94
118
78
73
58
56
110
51
67
107
54
115
42
95
85
52
67
42
112
54
64
108
126
59
41
72
76
73
73
80
58
139
67
76
94
42
47
67
51
84
42
103
38
58
102
41
47
120
112
83
26
60
73
173
104
83
58
42
59
72
108
56
83
93
61
63
52
118
90
71
90
62
72
71
48
94
108
68
34
40
64
45
109
54
58
75
76
98
110
69
75
69
104
73
71
72
72
96
64
46
131
74
87
66
115
83
90
84
59
46
100
77
93
63
111
56
77
82
95
83
75
79
74
65
98
124
103
89
77
44
95
92
99
71
88
75
77
104
144
102
80
73
36
57
77
101
62
143
72
83
107
74
103
122
106
97
86
71
69
97
44
94
45
56
47
89
83
82
104
69
41
82
55
67
78
79
70
133
87
70
58
89
62
63
67
83
77
56
61
97
52
75
57
52
91
50
84
68
72
54
75
80
87
62
58
79
86
132
76
75
107
38
83
86
107
76
102
153
54
92
64
66
63
121
88
99
73
36
64
31
110
79
52
106
62
68
92
114
57
61
91
63
67
66
112
70
76
49
67
63
86
79
92
91
98
66
61
74
90
86
41
79
82
83
56
98
65
64
65
89
94
139
73
53
85
57
48
65
101
57
61
113
109
61
83
45
69
64
65
63
78
84
82
51
74
65
96
43
55
58
64
74
71
69
62
50
72
94
78
122
48
122
76
42
105
53
142
90
77
41
116
73
124
46
51
76
79
82
130
66
88
38
73
76
71
35
95
81
102
74
69
91
94
86
71
91
46
55
47
76
130
122
66
73
82
99
76
86
33
106
140
62
92
87
78
85
65
84
63
89
60
82
89
77
138
83
93
67
76
54
46
116
110
125
66
102
74
41
86
85
82
57
69
67
92
92
47
104
47
47
49
138
80
111
63
57
92
136
63
68
79
99
52
83
120
64
93
51
116
131
70
100
90
59
68
80
56
59
78
72
53
63
77
68
75
64
63
66
111
67
185
89
71
97
66
55
89
44
98
43
59
97
42
114
89
52
91
69
58
61
184
100
29
105
71
84
98
81
85
104
88
74
68
63
101
49
213
38
108
30
27
45
88
67
94
57
69
126
70
74
68
103
70
61
70
53
75
65
77
78
107
127
73
85
112
118
71
46
80
94
80
58
175
59
100
108
52
66
140
95
101
127
76
55
99
56
50
129
104
85
66
155
88
96
131
57
62
68
71
120
76
50
79
94
87
60
67
78
75
116
71
76
60
110
82
105
131
79
81
140
83
132
107
81
76
70
84
69
71
60
79
59
66
43
152
88
46
110
124
62
130
49
52
74
73
66
84
79
50
58
49
139
119
89
51
87
53
85
138
76
70
51
76
70
95
83
50
124
99
54
47
63
40
112
52
69
95
91
103
111
101
82
81
80
32
63
55
43
103
80
49
134
50
25
63
122
65
105
114
71
99
92
61
54
76
105
91
72
64
44
69
87
45
59
93
43
115
59
121
78
64
130
80
51
91
52
61
57
96
56
76
76
63
53
105
50
105
42
33
60
61
77
87
89
106
64
106
83
37
69
141
94
130
148
81
66
112
57
127
90
101
105
54
63
74
59
27
120
114
56
71
96
78
89
47
132
77
66
76
170
36
96
63
104
56
108
100
108
105
101
68
55
106
63
186
52
88
51
95
146
60
102
73
73
95
76
76
54
94
79
77
78
61
53
70
76
53
61
58
72
44
97
90
70
38
60
116
44
136
130
86
87
57
90
100
65
101
39
91
117
137
64
52
73
99
96
64
50
136
51
86
67
106
72
67
49
64
86
102
51
108
80
61
90
48
108
78
68
74
51
38
47
33
54
51
65
94
49
76
53
80
85
32
45
61
65
61
89
40
43
95
91
42
87
49
73
64
98
25
52
40
68
78
58
81
136
54
68
62
67
83
90
69
78
66
68
82
85
41
84
59
65
51
46
73
88
47
107
59
66
44
88
71
39
60
112
85
84
59
108
96
109
83
64
101
125
77
88
64
61
69
64
65
102
75
54
74
71
61
52
93
124
145
96
82
81
65
74
84
38
115
79
90
94
107
87
76
80
78
39
89
66
34
42
43
73
47
88
77
82
88
115
54
33
42
32
71
128
51
81
111
91
58
108
60
48
117
68
71
45
42
105
80
70
119
100
123
91
82
56
64
54
57
44
69
36
57
102
125
68
79
93
86
71
56
46
69
105
99
74
88
90
56
111
51
68
53
88
72
82
75
76
85
120
88
52
61
59
55
81
127
68
64
75
48
116
44
160
84
90
88
52
117
38
117
36
80
135
98
57
70
44
55
53
111
75
81
85
79
83
122
48
71
36
88
72
73
97
103
65
101
124
123
66
97
50
117
67
73
57
73
105
104
100
95
63
105
73
80
65
57
55
48
63
66
83
115
79
90
112
63
78
88
76
77
66
40
130
85
32
99
113
59
92
73
94
86
104
57
85
113
79
86
77
51
64
72
127
48
55
40
48
84
48
33
80
73
49
74
76
56
64
61
19
80
50
94
71
68
120
51
83
35
86
82
68
148
87
68
81
108
84
83
36
93
54
108
55
80
76
54
71
88
103
65
70
88
106
34
75
89
100
41
40
122
49
76
139
63
45
59
79
104
61
102
69
101
56
49
86
70
48
47
61
75
80
71
102
68
109
63
60
135
94
56
89
105
71
100
118
50
67
84
76
63
126
77
59
47
46
51
106
59
95
40
89
73
81
50
69
73
48
101
80
52
125
67
82
74
114
108
105
79
84
96
92
94
72
72
86
128
109
123
56
64
71
88
68
50
93
106
85
68
47
86
73
129
103
111
92
100
86
43
57
49
73
149
82
39
49
109
61
64
109
102
82
26
68
61
107
110
81
55
60
97
51
124
87
113
75
95
70
90
104
46
77
88
130
59
84
105
73
116
107
85
90
47
73
49
58
54
58
107
88
60
129
64
85
99
52
87
73
74
66
56
104
44
94
63
108
61
62
101
98
73
102
95
66
38
78
73
132
66
97
69
119
104
41
80
69
58
49
71
93
75
94
62
68
85
45
79
107
108
73
89
53
106
125
78
62
51
86
117
53
88
111
49
77
68
80
86
61
60
75
77
69
126
68
77
91
57
103
52
104
84
133
70
65
79
65
49
43
87
54
107
60
70
69
69
77
69
78
52
128
111
42
58
94
79
94
76
79
48
62
47
118
52
112
145
111
67
49
75
137
84
41
81
98
107
124
79
90
56
95
112
65
72
93
61
82
99
76
141
80
72
107
95
102
36
103
52
124
39
86
99
57
83
86
78
72
96
66
91
95
144
84
109
76
77
90
74
74
59
56
50
46
105
57
54
65
89
47
90
82
55
88
24
80
49
65
120
117
154
89
97
80
123
106
75
73
52
60
68
79
44
59
33
107
131
156
71
57
61
49
97
41
40
66
82
59
49
93
43
68
72
108
88
110
82
82
38
68
59
57
48
57
28
54
54
100
63
82
79
49
93
43
104
113
96
111
89
64
68
41
63
79
59
72
67
87
57
61
115
82
83
43
70
94
47
83
104
53
103
55
84
64
105
109
91
109
58
51
79
116
37
130
44
86
73
76
38
49
68
103
92
105
84
54
116
79
72
86
54
80
86
69
71
98
90
107
72
92
181
67
88
91
156
89
41
86
62
73
85
92
89
70
89
58
112
73
82
52
102
60
81
62
63
66
60
60
107
88
86
49
79
104
88
71
63
85
88
71
98
128
42
111
67
100
45
79
37
76
126
127
60
59
88
93
67
83
81
78
44
106
97
66
87
65
113
40
48
91
80
143
80
100
71
62
46
113
77
53
76
81
92
90
51
100
77
60
79
129
75
52
68
146
50
57
91
103
45
30
66
93
73
47
125
87
75
77
136
78
67
137
58
95
91
59
46
59
54
75
80
102
67
69
77
103
101
92
63
37
90
91
57
61
81
100
37
103
60
109
98
32
51
141
113
77
37
45
66
65
59
27
63
82
30
87
149
60
109
95
48
69
59
35
81
48
60
28
98
104
69
90
73
36
49
104
32
80
95
81
66
55
131
75
72
111
37
62
53
41
46
56
50
77
93
98
90
62
147
73
59
80
104
91
95
60
47
53
91
69
47
68
80
59
63
187
89
93
75
102
69
68
76
56
112
84
99
58
53
48
72
69
69
70
68
86
104
119
61
82
40
59
88
80
77
68
76
107
59
43
49
107
57
66
109
44
51
34
61
130
49
92
76
78
69
46
79
120
72
114
85
89
160
70
105
28
96
66
81
87
86
24
87
104
48
132
63
54
94
156
45
84
66
66
65
85
57
130
44
89
99
106
61
106
79
168
73
71
89
81
102
48
68
100
59
112
91
100
86
53
109
124
38
54
99
97
87
68
63
61
64
80
54
76
72
103
69
74
76
86
49
66
98
80
51
88
107
97
131
63
95
115
22
53
65
65
70
89
64
92
53
69
64
67
85
59
65
71
99
77
49
51
63
76
93
47
95
66
137
111
92
66
90
55
92
72
55
69
70
58
44
68
64
58
92
112
75
36
58
36
87
92
108
71
96
32
77
154
47
75
66
79
80
60
76
97
87
73
87
70
156
88
132
56
77
72
92
77
77
96
67
138
71
108
102
49
69
90
78
100
80
49
84
42
124
60
38
92
76
59
53
58
62
106
76
78
41
53
109
67
112
69
79
109
113
85
68
73
93
61
82
105
62
120
76
61
45
66
109
78
81
81
58
51
48
142
76
83
104
71
59
40
74
72
59
99
58
58
86
121
98
81
55
91
70
33
63
58
61
74
63
70
57
92
125
64
63
81
81
99
129
53
43
82
72
65
70
136
80
187
65
96
65
36
52
71
68
63
86
143
87
95
94
53
91
74
77
122
51
110
106
57
59
94
37
79
70
89
67
118
82
67
58
57
90
62
52
65
98
81
89
67
40
91
76
94
129
62
130
55
29
74
91
38
77
89
83
89
44
77
104
46
58
102
69
72
68
54
60
55
71
99
116
136
91
79
100
55
141
69
55
48
103
65
48
42
60
56
46
102
99
60
29
35
59
63
130
106
113
98
87
74
87
74
71
82
57
112
102
95
71
128
51
111
94
85
84
148
77
65
57
108
100
65
60
65
65
77
82
89
29
86
108
60
50
47
87
76
128
109
53
90
54
80
115
66
132
99
71
110
74
82
49
69
65
60
58
43
169
56
61
68
135
105
33
70
73
90
92
88
99
86
51
106
39
50
55
86
80
49
71
66
81
141
131
73
79
57
91
52
70
34
85
115
60
62
44
57
126
62
80
74
89
48
75
75
84
59
46
98
111
70
82
61
65
58
123
32
122
93
43
67
128
57
76
51
61
93
59
66
91
82
76
70
106
85
59
41
72
76
84
66
60
68
88
58
68
80
81
73
94
61
96
35
66
61
102
102
99
54
94
105
81
46
68
53
60
102
77
52
59
41
48
98
123
91
86
94
33
61
74
74
86
41
75
85
98
89
95
29
104
60
160
95
39
55
53
86
52
79
59
59
49
41
101
79
31
87
123
115
58
54
90
120
83
85
66
67
79
62
47
60
115
49
121
71
89
87
85
48
60
35
41
110
86
56
124
78
146
73
69
62
88
46
80
55
50
58
79
98
118
107
92
76
36
80
100
47
72
30
58
51
36
73
89
52
79
110
39
59
53
40
50
42
82
57
73
96
52
33
55
88
75
78
92
49
66
78
72
108
50
82
76
71
69
85
139
94
80
77
100
109
126
70
98
110
65
95
62
34
36
67
65
50
38
93
52
93
79
74
46
96
70
115
109
73
113
100
101
92
45
57
73
95
58
72
99
120
41
43
58
28
75
90
96
83
73
42
66
38
98
77
68
62
78
101
75
65
97
93
67
96
120
99
83
108
56
84
70
55
82
101
61
46
110
39
82
64
61
85
135
72
75
102
113
36
60
53
55
119
66
78
83
100
46
70
79
82
106
33
115
66
63
65
57
90
78
56
105
59
48
75
65
143
75
29
137
89
121
93
114
42
160
93
103
48
44
86
44
50
96
28
45
44
74
79
67
44
122
105
57
171
63
53
61
122
52
62
107
104
131
64
46
54
59
53
57
55
68
84
85
65
67
94
40
75
82
56
29
81
97
79
70
59
49
59
62
110
42
47
53
104
168
43
67
73
60
53
38
75
99
74
83
110
104
67
49
66
79
124
135
56
56
61
71
50
84
54
89
80
70
41
59
85
70
57
70
84
85
64
63
78
100
41
90
77
37
82
55
69
102
45
116
35
74
98
99
66
128
48
137
130
54
99
68
48
60
54
77
82
68
125
54
106
71
69
73
77
93
51
56
27
107
79
82
50
78
55
58
106
130
69
50
58
68
112
125
58
64
75
54
165
97
110
46
89
60
93
83
69
61
48
67
79
94
81
95
52
74
87
84
72
56
72
94
88
85
83
81
112
57
104
89
85
55
94
28
93
97
40
57
64
89
98
64
42
114
71
83
100
46
81
58
114
42
53
66
70
70
78
87
81
48
48
69
67
50
59
136
139
98
50
29
70
48
53
104
55
113
61
47
94
51
74
123
71
79
84
90
56
68
62
49
49
59
83
64
78
39
124
81
110
140
69
94
69
110
54
41
39
104
18
65
124
85
81
100
58
57
65
94
98
75
52
78
58
58
147
78
89
42
92
105
84
58
75
94
73
67
95
109
120
124
94
55
36
46
22
43
84
118
107
33
65
124
79
41
67
51
92
103
54
122
91
77
38
67
99
112
71
53
107
62
143
86
113
93
69
49
74
40
47
56
109
43
58
87
85
78
79
69
97
59
80
97
77
81
72
53
88
44
80
44
41
80
84
57
90
80
92
52
96
61
57
83
68
50
94
93
84
129
63
92
44
149
66
66
46
76
72
55
36
64
95
55
54
48
110
110
109
67
73
74
79
137
68
89
73
62
66
96
66
117
77
57
131
67
98
56
106
87
39
140
61
59
50
117
66
37
80
65
69
104
122
65
62
72
192
94
70
125
65
81
68
101
54
82
44
89
82
100
54
49
87
128
113
117
81
45
121
42
56
82
119
22
84
73
68
59
72
58
71
78
53
75
71
79
67
72
63
50
70
77
55
91
76
110
83
90
85
77
72
58
76
52
48
65
95
68
55
93
107
109
119
91
79
94
78
87
82
55
69
48
109
63
50
111
66
60
83
83
59
42
67
57
79
45
123
73
80
96
47
128
91
36
97
54
76
50
81
105
78
84
104
60
111
82
119
70
91
85
92
68
44
65
101
46
59
42
65
137
52
117
65
75
34
52
95
52
52
65
76
29
56
65
58
121
87
102
60
112
56
142
78
78
80
84
86
92
99
76
85
59
47
64
43
63
66
117
52
61
60
65
107
76
78
111
68
136
101
105
156
80
33
97
77
133
81
54
113
92
33
55
44
83
127
93
42
77
98
104
56
65
47
55
61
67
65
67
101
61
56
33
105
68
57
47
96
84
53
75
142
59
97
44
121
95
122
62
67
81
111
77
62
39
81
110
79
84
98
53
110
82
74
72
83
89
115
93
95
75
94
111
84
55
118
110
108
39
84
126
72
92
29
80
83
42
72
73
56
180
42
64
90
68
98
49
80
103
33
48
102
105
97
98
122
55
78
94
99
88
108
63
55
90
55
109
88
90
97
111
45
43
55
52
80
51
60
52
89
91
74
65
91
64
59
80
55
85
56
111
36
67
55
142
55
98
49
60
63
51
84
60
73
59
66
86
43
84
93
83
87
89
62
55
99
80
89
106
73
83
85
148
57
84
115
53
62
104
81
85
74
63
134
144
75
66
86
98
63
130
79
43
83
88
63
103
114
52
101
49
75
110
83
41
72
33
79
89
78
94
171
85
104
99
87
84
71
74
97
57
95
58
92
105
74
46
80
167
56
58
44
42
80
109
78
68
83
112
93
39
72
59
95
108
117
49
36
59
63
77
71
72
59
62
63
63
70
89
85
60
55
110
101
99
89
56
73
67
78
118
81
50
59
71
76
51
77
93
72
153
72
60
66
128
85
101
98
122
104
77
40
59
81
89
44
58
108
89
67
95
117
37
123
157
85
47
74
88
58
98
110
56
44
91
123
97
94
127
63
60
63
103
63
74
107
58
152
117
85
91
63
86
143
71
38
65
53
74
78
67
97
40
77
142
107
36
80
62
116
61
75
83
124
76
75
83
89
105
100
68
98
56
53
87
53
92
34
82
62
84
39
83
46
72
70
58
42
91
59
98
43
112
57
116
71
96
66
78
89
66
96
98
49
93
79
78
77
61
44
109
100
94
47
121
65
62
40
39
46
102
118
72
45
134
37
129
49
77
139
84
42
69
79
114
74
75
72
64
86
107
116
63
79
43
96
92
66
71
110
58
66
74
90
83
80
69
78
78
91
103
58
82
122
71
55
52
73
65
52
55
39
104
86
85
58
53
44
71
82
81
57
95
64
70
68
60
92
120
47
79
58
47
42
80
50
87
100
60
81
82
66
53
59
58
107
66
45
70
42
71
79
60
93
90
92
141
72
42
54
79
95
44
84
53
89
97
68
95
90
78
73
94
90
80
83
87
103
87
121
89
59
113
85
63
82
81
37
58
79
39
52
70
63
78
144
118
57
86
59
31
116
89
48
93
121
85
89
63
87
55
80
60
92
68
110
80
110
176
85
69
34
75
107
70
127
79
72
85
56
78
90
60
59
59
72
101
53
80
56
76
78
123
79
100
85
44
77
94
59
65
66
66
60
85
75
29
59
62
67
102
81
83
78
118
76
72
77
90
45
68
55
75
65
60
124
64
45
93
79
56
52
69
81
91
71
64
99
86
103
88
82
82
31
152
95
81
51
73
64
60
36
108
23
69
46
84
80
85
86
114
72
94
93
46
114
83
117
87
105
38
87
49
49
53
56
62
60
69
88
155
77
79
91
51
78
64
88
44
67
77
81
43
96
65
100
98
90
85
89
71
107
126
42
41
59
92
93
104
93
92
71
64
71
72
52
72
129
96
89
82
66
68
80
65
79
80
107
70
86
80
106
100
53
77
33
35
70
86
87
60
72
89
48
39
52
90
82
70
82
94
162
77
99
91
100
62
80
70
70
88
65
52
107
45
77
63
78
74
66
65
63
62
69
64
56
88
69
124
43
97
43
31
93
74
84
60
128
59
59
72
63
39
84
47
96
37
53
71
76
117
101
77
71
61
66
46
47
50
50
74
60
74
77
133
73
42
58
69
102
79
64
41
111
63
105
102
43
48
121
114
43
57
140
77
122
102
53
55
61
83
82
60
145
52
76
66
47
59
118
87
71
100
68
84
61
53
77
62
109
63
82
95
45
50
94
68
112
67
76
67
85
67
63
44
72
80
42
112
59
86
67
95
87
93
57
78
117
57
54
75
75
126
68
56
90
59
61
56
40
74
91
65
34
67
70
97
57
135
81
62
50
86
68
41
50
76
67
111
59
124
86
77
71
84
91
67
120
111
57
68
55
94
67
69
65
118
48
84
71
60
98
118
68
63
68
93
61
45
55
53
91
90
96
68
75
110
34
88
82
68
54
87
62
76
86
54
51
67
104
100
67
127
100
85
55
99
70
45
101
108
68
85
118
76
70
73
53
72
69
99
66
89
91
68
117
102
61
77
77
50
43
70
55
41
102
98
102
55
85
64
84
68
36
90
39
45
125
78
61
90
60
79
126
102
67
114
34
42
48
77
69
89
49
51
73
56
99
84
76
96
38
94
103
102
82
59
119
51
98
111
91
128
54
62
108
93
142
49
126
55
99
59
50
59
78
68
64
78
98
135
67
64
70
61
61
74
40
92
65
67
113
107
98
139
109
89
66
67
29
60
90
116
108
96
72
60
102
112
38
46
146
99
91
62
85
61
73
62
82
45
75
58
98
44
116
50
121
120
80
112
76
88
64
105
96
48
69
44
46
82
76
108
111
126
42
52
93
78
82
74
84
110
64
77
106
80
87
73
93
78
65
74
69
55
101
65
54
73
88
80
54
76
67
101
67
110
99
75
95
82
67
73
59
64
104
47
48
69
53
52
89
90
66
67
79
52
162
68
62
52
97
85
48
72
106
67
69
51
72
95
107
67
66
53
89
86
84
36
64
92
55
65
47
74
53
76
54
53
87
130
41
60
59
115
78
93
30
62
106
83
37
87
69
79
88
107
91
93
64
101
72
103
87
85
74
100
42
100
96
98
79
73
47
103
29
68
66
107
69
72
125
94
135
55
64
79
105
61
86
71
39
37
45
71
105
57
52
59
97
73
63
64
103
47
127
77
64
57
103
70
45
57
84
76
61
62
94
101
52
70
47
43
47
81
65
73
52
45
57
75
129
39
101
55
50
57
151
89
115
69
72
51
88
59
153
65
64
159
121
42
95
128
70
33
56
98
76
99
89
107
60
49
51
72
81
81
64
40
99
44
55
92
30
67
64
54
68
78
110
70
40
41
51
59
113
85
122
106
109
76
86
107
122
87
78
85
133
73
104
83
57
40
108
82
96
129
74
58
65
59
105
62
62
64
62
35
73
51
71
116
70
47
82
54
67
121
154
134
90
70
67
114
82
56
100
61
97
123
90
73
73
104
30
51
74
80
82
93
96
48
65
49
92
57
34
72
67
53
95
128
47
71
101
64
119
107
98
74
68
119
93
84
60
88
113
70
76
52
118
57
71
48
92
82
70
37
82
148
91
98
43
52
88
69
84
100
98
70
51
60
89
81
54
93
58
96
121
48
108
63
85
53
51
73
48
76
90
115
96
90
35
87
61
60
104
36
92
31
47
136
76
54
81
58
89
86
57
80
88
86
80
105
52
57
75
77
104
144
56
80
109
39
67
56
55
93
63
92
98
22
80
54
53
44
81
81
88
88
73
56
99
99
77
112
43
68
102
34
89
76
47
59
80
81
90
84
104
49
98
113
64
84
131
69
96
97
33
60
119
55
112
75
97
61
58
54
100
71
99
34
78
65
97
86
106
80
81
77
67
75
132
83
43
79
61
79
30
54
83
79
80
65
68
69
90
42
64
86
90
95
178
104
75
40
58
61
66
109
81
46
76
146
85
102
109
44
66
51
60
67
84
68
85
85
73
66
79
84
91
111
50
74
52
93
101
92
90
53
110
97
59
131
97
59
32
136
112
74
166
58
67
103
68
55
73
101
57
97
56
115
62
52
110
88
66
42
53
75
111
61
38
130
62
21
62
46
81
72
100
40
59
31
74
58
96
70
77
77
35
99
62
57
99
110
86
97
145
93
91
102
148
37
76
52
81
64
78
70
66
54
71
85
66
91
57
64
73
90
109
62
128
75
95
76
67
68
116
95
61
60
53
64
55
71
112
95
41
72
85
102
103
59
59
57
81
57
65
57
40
110
69
93
64
47
119
107
46
115
136
28
64
70
38
28
43
94
80
48
93
97
130
64
68
54
73
27
74
68
68
66
95
83
99
47
54
78
97
105
78
133
87
68
43
58
81
59
62
62
109
112
75
73
72
106
72
111
70
84
115
32
32
73
116
93
66
80
138
82
61
55
62
70
87
71
64
91
76
87
165
60
75
47
63
70
102
59
105
66
86
120
71
60
120
96
74
54
84
94
72
36
67
69
44
50
85
78
85
46
53
40
92
138
115
65
44
47
98
57
55
122
56
63
85
106
45
75
60
36
111
57
48
93
67
61
54
73
61
56
96
61
58
65
47
103
78
71
81
39
70
119
37
86
77
139
37
58
64
54
99
71
68
95
68
49
66
80
45
63
93
105
109
84
57
162
86
81
58
72
71
83
86
46
45
57
103
107
118
132
168
111
141
76
95
217
44
105
53
59
104
86
31
67
69
94
61
102
106
53
73
76
84
129
48
96
64
93
57
80
58
27
88
49
49
38
53
66
64
58
78
56
82
45
80
86
70
50
34
79
57
96
45
73
101
73
57
73
52
76
117
44
49
71
122
54
50
57
38
55
67
97
66
130
61
113
95
74
82
61
87
63
90
78
39
59
77
81
98
49
58
80
80
44
61
70
49
53
104
122
68
31
131
53
59
74
82
61
105
74
55
65
70
80
94
78
19
79
94
40
100
57
60
86
58
57
56
75
48
56
83
73
47
44
96
33
88
125
52
105
110
60
79
144
84
39
95
102
53
55
97
119
118
40
90
79
53
133
58
125
76
117
78
68
98
78
96
129
102
45
40
56
139
37
128
59
71
35
120
147
96
127
86
58
112
66
117
71
64
82
61
33
88
62
107
66
82
98
77
113
48
85
100
54
63
64
64
86
73
63
84
74
95
45
147
43
75
82
67
128
89
45
120
94
81
61
79
60
55
62
41
94
69
107
119
107
73
55
65
109
77
65
56
30
78
69
61
86
50
76
136
49
51
149
54
43
58
48
98
72
112
62
90
64
90
78
65
38
57
90
70
45
68
85
70
52
90
71
55
106
108
95
53
81
96
40
73
79
106
72
46
59
62
91
73
58
84
84
65
58
81
94
83
75
78
94
65
49
105
54
103
65
105
68
58
42
85
70
69
75
101
84
45
35
63
51
75
67
95
61
112
64
103
76
73
77
56
53
36
73
52
91
73
77
65
86
50
74
128
92
109
48
68
57
80
120
115
118
94
65
48
68
45
94
53
48
61
58
98
79
58
102
71
55
53
69
67
56
58
43
60
98
50
69
86
120
70
51
62
83
63
67
43
67
86
52
79
102
125
90
118
85
101
55
88
54
40
64
77
70
33
61
121
68
123
71
78
70
70
88
64
140
76
82
78
46
65
148
44
98
93
64
71
56
89
52
59
113
143
124
52
59
69
105
81
38
91
76
57
53
87
39
80
61
44
58
88
39
57
65
40
59
94
76
96
52
78
123
72
80
50
85
100
89
48
39
104
122
140
68
117
41
78
75
79
125
48
110
104
40
73
78
55
75
86
91
55
64
74
113
65
109
63
50
56
85
105
93
103
44
42
92
67
125
43
59
87
127
82
75
63
98
101
57
85
32
42
73
90
115
88
46
100
112
107
37
74
79
91
127
81
76
49
59
66
64
81
139
63
86
54
44
71
81
96
76
64
66
56
82
51
126
67
70
89
83
88
96
74
92
58
59
72
105
82
84
96
85
97
61
104
42
57
80
68
67
61
53
26
78
47
92
118
90
62
72
71
113
57
81
103
37
91
107
105
52
31
77
87
46
137
43
50
49
61
65
80
66
46
54
84
68
90
77
82
92
101
46
100
94
112
76
84
52
46
57
72
84
55
52
84
81
95
75
57
70
81
71
103
33
100
110
65
74
55
62
91
60
62
79
122
99
51
73
49
84
83
66
50
145
81
57
33
59
71
72
86
25
59
70
82
72
92
50
61
52
104
81
50
59
73
116
46
88
48
141
96
46
78
79
78
87
62
135
104
29
101
57
70
99
103
59
87
77
69
143
72
62
112
75
49
73
54
91
66
87
88
68
51
65
63
110
137
93
81
115
97
78
63
81
78
79
60
87
63
104
66
45
79
67
81
68
77
65
113
147
115
62
109
72
158
63
83
63
135
89
108
90
79
94
27
81
52
58
78
40
64
51
37
88
118
43
71
83
92
79
85
80
140
94
41
55
92
64
54
91
76
90
44
76
97
114
108
45
77
62
68
102
136
55
79
66
36
61
68
56
82
45
74
58
55
77
58
64
81
111
102
66
80
78
89
96
41
123
81
83
59
53
62
63
117
64
72
65
75
80
102
49
73
104
65
80
47
66
105
106
36
70
74
78
75
123
74
47
75
102
70
98
101
109
41
114
88
41
97
76
65
62
42
89
68
68
54
50
79
76
60
43
111
46
68
67
152
95
83
87
81
68
46
66
106
79
87
106
80
78
61
71
50
80
59
103
67
90
121
45
87
122
74
44
79
79
73
87
53
112
51
57
83
134
88
60
61
68
120
98
52
84
126
91
76
81
120
73
112
118
43
85
107
97
84
63
48
60
54
54
108
77
74
63
41
79
56
90
54
58
77
38
87
77
99
75
75
93
65
43
77
86
103
33
171
72
81
122
118
59
94
95
106
77
117
94
49
75
74
78
63
73
73
103
68
167
80
88
82
73
73
31
104
45
75
28
54
54
61
90
125
89
108
78
36
82
83
134
109
70
26
118
61
80
115
63
44
30
67
112
61
113
127
61
109
81
105
91
101
124
66
69
91
80
101
71
66
67
100
71
71
48
68
69
46
102
68
63
84
84
112
57
52
116
63
103
127
79
77
122
78
96
78
72
146
149
105
151
72
82
32
61
82
89
68
61
49
90
85
62
83
85
126
51
85
80
47
74
76
60
62
93
82
66
83
50
107
74
75
30
137
70
35
56
98
58
32
60
85
58
53
134
87
106
81
51
76
135
71
82
56
60
41
96
74
61
57
120
68
94
61
71
59
70
60
60
60
68
88
76
64
88
77
73
95
59
112
57
45
60
88
96
44
46
54
66
68
125
77
47
78
93
131
90
68
108
47
128
155
53
78
107
102
54
78
73
58
59
114
103
134
81
72
74
75
78
38
68
99
123
83
93
33
37
62
82
90
69
47
113
73
102
63
70
89
81
80
36
49
64
46
104
53
78
102
56
144
63
62
112
59
116
62
65
70
64
64
86
100
88
84
55
81
119
70
58
82
77
43
55
68
112
90
131
55
51
69
49
88
137
90
83
54
108
59
84
89
42
56
106
89
59
133
107
84
83
101
106
121
44
69
92
56
64
143
68
81
100
92
74
126
77
42
81
87
95
49
87
83
57
89
73
39
108
114
150
77
93
72
59
49
32
82
60
77
74
99
78
104
50
100
49
50
56
43
79
67
42
55
78
147
54
94
103
27
64
101
48
79
76
74
69
81
55
61
51
72
78
71
128
91
67
99
82
92
91
104
86
46
73
98
50
89
65
104
135
66
55
78
79
59
76
45
99
94
111
52
61
85
39
79
103
82
52
68
112
67
90
90
88
63
59
30
82
113
76
32
78
68
107
65
71
70
117
53
84
31
99
63
47
76
72
59
56
107
55
86
41
99
60
38
56
46
39
60
99
104
85
45
57
104
87
97
61
84
100
73
86
103
163
77
75
140
74
83
72
76
57
54
72
99
105
108
79
58
35
111
56
35
102
62
63
60
47
100
77
87
80
55
86
69
94
39
37
72
69
55
75
62
92
98
70
74
76
74
51
39
110
46
37
113
78
68
55
59
50
79
43
82
73
76
79
51
61
89
71
127
109
110
94
40
64
56
75
50
69
108
80
48
54
70
66
65
77
77
71
68
84
44
41
64
80
91
63
53
99
59
85
60
92
59
92
83
104
89
104
78
58
99
53
82
38
69
63
55
44
53
75
75
51
94
53
72
124
45
43
76
97
35
120
25
49
42
96
106
80
122
71
71
104
85
40
93
64
99
86
93
84
111
57
121
67
67
105
180
66
103
71
75
71
65
45
89
45
78
85
68
73
60
27
89
114
116
60
61
48
56
50
84
84
62
68
98
28
52
133
84
64
41
103
69
57
49
90
97
64
60
92
80
88
93
131
51
76
82
65
80
52
51
72
126
86
37
67
69
78
85
105
132
77
68
71
128
81
75
62
123
48
46
41
58
125
92
103
156
74
42
99
69
84
70
114
87
69
128
73
61
77
120
52
96
75
45
115
74
84
106
42
67
86
100
69
116
68
82
64
57
108
105
56
79
41
84
77
51
78
75
55
53
130
137
114
50
60
74
76
70
57
39
71
90
31
94
47
69
57
55
87
101
60
73
54
66
90
77
70
81
44
32
77
68
73
102
152
44
72
142
89
120
83
56
85
73
103
83
71
98
96
70
93
74
80
101
91
91
50
62
100
47
69
80
64
89
63
71
68
92
68
66
75
60
91
131
100
73
96
63
58
55
58
48
97
67
92
47
49
64
43
119
103
62
49
47
63
73
106
71
73
53
104
62
43
67
87
30
60
73
31
98
59
56
130
96
85
56
107
74
77
86
94
103
53
40
119
135
52
107
101
85
52
77
82
67
78
63
80
32
65
86
63
103
95
115
54
89
101
80
88
97
97
126
101
92
114
92
95
69
93
80
92
76
49
54
78
122
116
41
98
72
126
51
82
73
60
57
69
61
50
53
67
43
113
74
38
110
65
60
73
65
80
64
92
86
69
100
42
92
102
35
50
95
44
62
68
120
55
89
48
96
107
59
68
95
74
77
48
50
70
74
72
39
63
62
75
58
44
69
99
79
78
42
57
82
88
98
80
47
69
37
73
67
140
25
66
121
64
154
77
50
114
77
80
42
82
42
94
65
104
86
52
31
64
93
55
66
64
87
78
91
61
86
38
92
59
109
60
52
67
54
42
87
60
58
106
67
37
112
43
95
58
77
120
102
112
95
54
54
48
56
47
32
100
58
74
61
39
84
81
63
94
69
65
37
93
93
30
109
82
87
100
36
78
70
81
100
32
94
99
81
87
95
55
116
69
83
104
93
69
71
61
83
56
32
43
145
74
101
56
64
80
95
65
94
40
124
63
82
44
83
103
50
255
62
36
92
60
68
134
70
66
51
77
74
113
84
53
89
87
35
74
54
55
90
59
72
96
81
75
95
88
68
63
84
101
30
71
118
77
85
33
114
72
65
45
39
43
103
104
92
109
48
54
73
77
98
84
112
98
98
44
100
58
124
34
71
61
91
76
71
90
80
45
93
90
47
88
81
137
96
73
57
43
77
47
64
84
80
78
98
65
86
89
62
67
45
80
96
59
78
77
76
97
60
68
41
74
85
40
70
60
65
68
73
130
71
103
67
38
43
57
122
87
101
76
106
55
91
88
111
83
53
72
98
83
104
105
63
39
34
34
60
79
56
51
130
71
87
105
69
90
98
104
111
82
117
83
122
106
96
82
80
78
91
129
61
85
99
59
50
55
101
87
34
59
70
43
73
60
43
61
42
86
85
118
68
64
49
83
64
47
73
67
68
88
73
61
56
67
76
65
87
75
131
119
57
109
91
104
95
50
40
105
102
115
58
61
116
77
106
70
95
107
27
64
69
67
66
171
43
65
68
83
38
61
69
77
44
55
82
39
81
62
78
51
41
55
138
95
37
135
32
80
121
49
92
52
57
81
57
59
111
42
72
50
142
110
63
108
100
53
111
52
62
77
81
72
61
70
78
103
47
108
92
52
73
113
114
63
40
60
101
81
64
67
58
83
65
91
105
113
41
75
30
118
51
51
68
101
102
110
92
33
80
92
41
48
113
97
72
42
114
64
66
55
142
61
38
70
31
48
161
45
133
71
69
128
71
102
145
61
63
79
87
59
79
73
83
80
39
109
39
75
79
61
65
70
113
80
128
102
70
82
85
60
71
84
72
117
115
75
56
105
153
100
85
87
72
95
89
77
133
50
94
80
92
63
58
67
90
86
82
55
83
58
62
58
63
63
39
83
61
55
54
97
71
124
121
56
64
91
79
90
47
72
135
53
77
96
97
63
98
48
67
56
112
62
49
90
97
77
47
116
93
100
55
92
94
80
79
49
56
95
81
63
88
57
42
58
88
53
76
45
60
73
82
80
54
82
100
133
112
91
47
94
61
73
50
104
87
82
110
100
78
108
44
107
97
79
81
35
87
117
117
74
68
45
73
66
64
49
120
88
83
63
51
70
52
65
60
117
57
86
81
91
106
93
106
64
72
118
74
94
108
176
97
113
62
39
85
86
75
97
102
72
53
81
33
116
73
74
54
80
72
29
86
69
46
46
76
85
64
112
42
55
67
117
108
68
48
89
100
88
76
52
64
37
141
59
78
53
69
76
45
73
83
92
78
76
113
65
58
51
41
97
90
71
62
68
109
91
99
86
106
93
65
57
105
93
77
82
43
51
36
79
110
65
92
43
80
51
81
95
61
85
87
50
94
54
55
83
99
79
65
51
44
64
84
92
41
64
108
64
137
92
88
35
54
70
80
91
84
75
96
110
89
104
82
59
34
90
61
49
43
64
71
99
142
118
96
60
108
112
87
75
68
69
70
42
92
81
80
73
74
61
37
83
53
64
38
55
64
97
115
53
70
91
38
54
78
104
54
100
55
71
47
46
44
81
64
64
62
107
142
115
40
53
93
75
77
70
102
51
59
40
72
87
67
79
60
33
55
93
123
112
101
58
33
100
157
111
75
34
74
82
65
79
64
77
59
123
85
71
71
73
76
88
76
128
87
100
147
97
65
108
103
108
54
94
127
83
46
57
111
62
83
102
132
98
71
114
92
57
64
35
103
91
35
85
80
85
97
108
66
78
85
97
80
177
82
61
40
92
78
78
83
62
58
54
68
111
54
59
101
74
74
62
113
89
66
38
74
56
78
50
52
85
84
77
64
85
103
95
104
53
92
82
106
52
85
84
59
45
94
111
115
46
50
107
70
89
90
102
81
94
49
89
49
76
105
47
58
35
132
64
95
71
127
96
57
97
97
47
66
73
124
75
141
106
107
61
53
98
77
104
48
74
55
66
119
90
91
75
56
57
97
119
72
77
54
70
41
89
70
43
54
78
86
118
99
71
99
57
75
52
92
59
48
99
61
80
72
41
99
92
88
72
58
84
71
81
86
66
66
76
105
38
60
94
80
89
136
76
53
104
84
61
82
66
66
65
75
117
57
66
103
47
90
76
98
105
70
118
64
90
168
61
66
31
55
41
54
61
92
40
84
61
48
108
58
43
81
92
45
72
73
101
51
109
48
85
102
93
79
109
54
83
53
87
76
53
73
54
47
90
60
64
52
80
70
54
103
64
88
105
93
63
66
56
111
57
175
29
119
88
94
76
57
103
103
94
76
81
104
65
84
68
69
97
105
77
108
107
60
72
73
46
42
58
83
89
55
89
90
84
54
46
69
61
68
43
62
40
46
44
84
50
56
108
57
59
89
70
78
81
74
104
133
109
69
54
114
89
55
49
76
72
85
49
102
94
76
55
104
67
94
57
124
83
97
46
125
70
65
112
92
108
60
70
83
108
51
41
62
57
81
37
81
51
28
100
74
29
80
67
82
62
113
45
94
62
109
116
70
62
107
38
83
53
93
112
75
63
62
73
68
65
75
26
38
48
58
45
26
79
100
49
56
76
53
58
60
70
50
118
90
92
90
38
67
98
62
37
62
73
127
48
52
54
47
104
65
61
69
108
118
108
87
50
42
87
75
63
86
95
88
64
102
44
100
99
66
73
30
87
71
62
100
33
91
53
75
59
125
71
70
60
69
126
81
32
101
84
106
46
147
55
43
78
25
51
84
99
84
98
79
60
32
66
106
61
48
88
109
63
82
70
99
49
82
62
57
69
142
98
67
74
68
130
159
83
52
62
86
29
80
93
97
98
38
77
87
60
87
75
63
57
104
102
114
88
101
62
83
95
96
42
66
100
99
59
62
63
43
138
67
123
80
54
101
34
85
49
45
100
62
32
42
90
72
45
71
99
68
25
39
100
73
118
72
66
83
45
86
65
109
105
67
76
40
46
76
54
105
99
51
172
80
66
80
76
83
68
96
121
52
119
57
126
64
71
72
62
113
52
65
61
64
61
101
63
55
79
98
102
97
54
65
49
45
62
82
59
86
139
91
104
41
97
114
49
109
63
97
89
90
110
75
60
63
43
61
95
59
70
52
102
52
59
117
97
79
48
50
97
75
91
104
67
84
44
87
39
92
86
60
58
85
98
79
84
99
69
66
77
63
69
63
75
67
73
98
80
65
76
44
91
36
42
33
101
100
71
101
117
80
40
96
96
68
81
55
60
60
35
59
95
40
76
86
74
74
68
69
93
119
98
58
77
56
70
84
51
74
124
95
41
48
102
77
71
80
76
105
86
82
74
57
43
101
57
85
92
42
45
69
70
72
138
130
66
26
75
54
79
82
99
75
121
65
80
51
103
53
144
85
96
72
90
124
83
62
95
91
143
45
97
58
111
72
72
77
68
95
70
72
85
77
73
63
59
98
45
62
39
74
60
47
98
57
49
57
71
60
139
48
82
95
108
101
113
112
74
89
93
90
95
47
98
44
113
123
41
83
53
77
58
107
47
129
108
86
105
74
58
74
47
52
121
62
81
45
85
45
65
94
81
107
78
73
105
70
82
99
47
129
45
58
90
87
63
85
46
108
44
86
92
48
74
49
92
106
69
74
98
120
105
133
74
79
94
41
62
47
65
69
68
84
75
117
81
75
75
103
75
102
78
91
111
97
149
39
31
68
81
87
53
47
27
119
81
72
114
67
81
98
70
72
112
100
58
56
87
52
90
52
61
92
54
67
56
69
68
88
61
94
39
48
93
81
48
46
57
95
79
69
104
106
122
95
66
116
108
78
46
67
71
104
136
89
84
112
81
117
83
39
55
161
111
58
70
62
73
122
56
89
80
119
58
90
90
61
40
113
77
131
49
60
105
66
95
35
81
39
125
63
114
56
93
87
167
109
55
68
67
93
59
65
95
107
95
77
111
82
84
50
100
95
55
72
82
92
74
90
48
41
60
44
98
84
86
66
41
24
48
48
109
82
104
87
40
35
117
73
75
56
45
85
95
119
40
54
80
80
70
81
133
55
95
70
79
83
97
91
103
112
63
95
97
63
55
87
46
44
95
78
85
45
55
70
81
70
78
88
52
38
123
91
89
73
150
88
168
70
81
48
94
118
66
67
55
88
60
48
71
62
85
44
93
64
75
86
70
68
94
108
70
113
51
69
69
81
77
80
111
127
41
138
43
54
46
70
100
64
64
39
117
62
85
99
63
78
28
78
79
83
79
85
119
87
76
89
112
52
70
122
119
42
66
45
83
55
59
86
70
88
60
101
64
71
59
52
78
50
103
89
86
70
109
67
85
83
54
110
45
95
67
94
110
73
70
118
38
83
73
49
57
47
111
55
51
129
42
65
124
100
43
91
86
145
74
39
72
123
57
48
82
90
66
132
75
68
95
57
46
81
107
66
81
70
82
105
39
109
63
152
136
81
44
89
120
73
53
74
111
85
89
66
63
71
61
52
79
63
89
52
55
54
116
100
109
25
88
95
37
157
50
73
92
46
49
54
88
53
71
52
80
86
76
59
126
50
98
54
86
42
96
54
99
89
69
98
54
94
86
157
125
141
50
124
85
85
73
52
57
74
79
82
44
99
79
95
94
90
75
81
87
45
115
83
78
54
75
92
57
55
102
70
79
69
77
110
40
69
69
65
99
116
69
69
71
64
37
45
91
86
85
54
81
64
91
56
89
74
117
111
88
63
118
60
76
76
147
46
84
99
36
155
52
58
38
91
60
39
95
83
82
104
84
74
102
142
139
70
81
54
118
51
70
92
69
84
75
33
101
60
113
87
106
30
70
88
80
76
70
86
97
46
74
67
59
61
93
60
122
52
104
61
69
62
89
90
109
72
19
59
86
77
70
59
72
58
60
72
91
33
71
64
77
190
77
72
97
78
117
60
116
62
70
61
72
65
73
67
67
67
73
41
82
63
64
88
75
60
65
153
63
85
73
81
85
82
101
87
80
92
81
78
65
129
55
66
74
61
75
58
70
80
134
130
45
82
86
57
34
112
58
90
103
50
143
64
54
84
104
114
54
90
48
74
91
39
65
44
41
95
50
54
66
125
76
105
96
82
78
50
65
75
80
142
105
70
67
63
58
70
47
50
89
106
86
41
96
71
56
82
86
123
34
38
85
73
74
73
76
90
36
78
131
45
142
73
65
75
59
89
101
65
65
98
90
78
61
79
59
88
48
94
110
91
55
79
72
53
87
36
89
65
116
64
57
49
59
78
93
74
115
54
60
64
62
89
95
54
122
84
101
109
68
25
49
83
118
66
85
102
65
70
108
73
97
122
74
110
75
80
69
54
82
108
80
50
65
58
71
75
87
116
41
71
51
79
106
118
90
61
72
91
67
64
70
46
143
66
78
91
104
67
30
110
71
64
60
96
66
100
57
40
88
80
43
52
97
64
39
52
72
65
97
60
72
93
87
60
75
86
94
109
108
53
48
38
60
67
48
87
65
69
83
55
71
76
59
126
140
43
93
38
57
72
84
88
125
99
43
85
106
114
67
60
54
88
54
70
71
80
95
88
61
120
71
47
93
99
68
51
87
60
57
81
123
41
109
72
106
79
139
52
88
98
82
107
45
97
58
77
110
109
65
69
88
60
171
137
78
86
64
118
35
68
62
103
61
53
94
89
111
106
113
80
61
77
92
51
85
57
76
79
88
88
76
120
59
61
76
69
62
59
103
62
60
90
44
72
50
70
83
83
108
79
88
87
104
88
137
58
72
84
42
90
35
64
76
59
81
73
63
69
51
84
87
95
39
113
119
94
68
67
110
98
82
96
94
86
55
85
54
88
81
57
131
112
71
62
86
53
90
56
86
53
106
78
73
86
67
51
88
64
94
49
40
77
106
99
114
95
149
62
56
69
79
83
85
81
87
102
90
28
109
86
114
54
63
84
68
36
41
71
76
62
107
77
50
89
104
109
86
78
138
117
60
78
77
65
75
51
122
79
71
56
70
83
65
70
97
50
27
68
100
96
74
66
31
104
115
77
106
96
80
44
74
98
55
79
72
53
55
78
66
75
42
74
67
105
67
57
56
132
83
78
51
54
107
31
90
25
85
117
53
93
39
98
84
98
86
147
44
90
61
116
104
109
69
64
113
143
58
112
49
66
75
88
73
107
52
100
101
70
136
77
105
78
46
104
84
56
60
75
55
52
81
52
100
113
64
75
96
103
84
84
123
109
57
69
63
69
65
100
82
65
62
59
86
61
120
80
55
62
95
96
58
59
86
73
117
52
69
49
91
44
29
83
91
88
26
93
31
52
72
38
96
73
74
74
109
95
121
30
67
63
94
69
85
108
59
93
52
89
106
80
79
62
78
97
102
122
36
90
156
68
54
63
76
163
64
94
70
59
71
133
51
86
42
86
103
89
170
96
79
91
73
76
74
67
89
32
77
49
83
79
93
79
88
66
94
82
90
103
84
83
46
138
61
70
59
44
54
146
70
65
87
95
111
88
46
68
68
41
93
80
57
99
76
58
58
77
192
83
34
30
106
59
131
95
53
70
72
64
106
66
45
95
114
51
80
64
112
68
103
43
55
101
115
47
89
89
51
103
63
62
79
93
77
104
66
75
79
122
72
146
75
39
74
42
108
101
91
146
59
75
65
81
83
62
75
88
64
50
61
101
127
49
54
107
61
75
30
81
129
106
71
92
71
47
36
49
135
96
61
67
49
55
61
66
23
43
75
135
65
117
51
61
52
62
52
96
71
90
59
99
64
55
102
65
88
75
90
61
109
50
65
42
83
69
130
82
93
97
90
87
47
74
66
62
55
73
98
47
77
67
38
71
56
36
71
72
105
80
60
70
72
73
92
44
55
101
72
51
71
94
82
107
80
88
64
84
34
61
78
122
40
68
105
104
101
119
127
107
133
99
77
63
77
85
53
90
92
58
77
84
79
108
38
58
118
97
95
90
65
35
101
84
98
86
85
123
60
67
83
70
71
48
63
62
68
87
80
84
78
48
109
87
67
86
110
63
83
89
57
65
103
93
61
83
126
74
60
64
90
83
89
93
78
117
90
107
46
112
53
66
151
121
53
67
48
108
113
31
106
87
64
37
50
84
57
108
66
58
120
83
41
38
127
74
41
116
74
142
75
60
80
71
74
62
41
91
94
47
66
85
85
39
116
89
45
75
137
75
103
92
66
89
93
42
80
70
78
101
60
71
93
74
43
132
112
68
86
47
134
105
103
72
25
70
116
109
63
80
85
60
90
60
61
56
37
80
89
40
78
90
114
92
51
50
44
83
42
53
53
85
81
56
101
37
98
64
49
73
60
34
57
104
62
28
102
65
82
47
84
82
92
72
81
56
53
100
69
41
89
38
78
81
70
56
93
69
90
43
91
75
88
95
73
93
64
72
85
103
80
74
52
84
73
75
53
105
50
90
56
57
60
58
52
95
180
99
112
68
82
124
41
69
66
67
104
79
92
92
52
109
89
66
63
77
131
73
86
43
57
120
51
55
62
55
63
95
57
68
105
43
90
58
43
87
93
74
61
70
96
50
52
104
32
58
48
63
110
70
28
119
70
87
58
53
88
107
100
46
89
82
70
45
72
98
80
64
64
71
77
68
76
85
48
121
84
54
46
88
79
95
48
65
82
97
48
74
70
68
85
62
78
116
53
67
79
124
69
74
75
81
107
90
139
93
81
56
61
65
89
77
91
60
89
83
84
81
101
88
79
81
85
60
57
60
51
36
56
35
49
100
67
54
105
52
73
98
41
45
123
89
54
78
144
63
96
67
116
99
84
72
50
80
72
74
94
94
86
156
77
74
68
178
72
82
123
66
43
93
77
83
46
88
80
106
40
40
72
59
93
40
106
62
92
44
92
89
73
84
88
76
76
120
78
45
69
60
28
100
75
53
130
68
63
57
55
72
65
44
76
100
64
78
55
69
83
66
95
72
75
120
78
48
106
29
136
88
96
51
104
61
80
59
65
90
59
49
96
49
66
51
111
56
73
76
37
53
43
109
89
79
65
100
59
81
82
90
76
86
76
153
87
90
59
61
41
79
66
82
66
87
78
123
89
90
38
35
90
68
164
101
57
98
57
97
111
48
130
49
159
61
40
59
41
77
83
177
55
88
63
91
91
78
40
75
47
82
44
63
73
141
44
93
92
34
185
102
53
74
110
68
45
61
96
69
89
67
41
57
50
110
88
66
108
103
108
79
55
84
94
75
72
45
74
52
72
64
128
40
65
92
43
51
62
73
65
69
59
45
65
80
71
85
30
38
43
58
82
109
51
58
87
52
54
44
37
86
88
72
54
95
71
97
55
109
107
55
79
67
117
63
94
92
110
70
88
93
30
110
60
56
83
121
87
97
86
109
86
55
66
47
81
76
52
94
46
70
55
90
107
78
63
109
72
50
73
80
60
78
57
55
71
94
92
116
105
104
88
89
70
95
68
92
73
47
87
63
115
112
66
80
55
84
67
61
100
63
112
36
65
90
54
68
88
70
121
50
54
69
145
111
48
121
64
65
81
69
86
72
85
49
36
84
108
76
80
49
75
145
75
69
63
61
44
66
104
92
68
77
135
87
55
34
85
71
40
76
57
62
54
90
84
49
57
99
82
83
106
83
20
69
95
99
64
66
115
86
77
113
130
85
96
55
121
76
65
52
58
71
108
62
56
56
97
125
61
77
55
67
68
54
126
88
43
68
87
64
69
89
133
125
72
47
24
49
73
52
43
59
95
37
82
109
53
105
75
93
53
82
138
82
78
66
74
157
81
82
81
91
90
58
70
107
87
80
110
55
110
36
84
113
106
92
67
66
38
66
67
102
115
58
63
63
69
82
99
63
73
61
111
92
77
85
83
116
60
137
54
86
128
103
99
70
65
68
43
75
72
93
105
48
91
89
103
79
44
55
86
86
42
100
86
106
83
70
140
50
98
50
67
80
62
69
64
73
86
68
45
64
124
55
55
91
123
96
104
76
61
134
84
64
44
70
36
91
79
95
100
81
84
107
72
63
94
84
58
128
126
125
73
98
102
91
110
88
71
81
62
110
94
66
47
65
51
83
105
94
68
59
90
83
86
52
75
99
91
89
123
87
99
58
52
83
108
113
79
78
92
63
98
104
60
107
113
65
66
89
71
64
62
101
63
107
86
90
67
71
93
112
72
92
114
78
33
82
53
64
90
149
74
63
52
103
59
80
93
77
77
85
79
59
128
64
82
145
69
63
76
62
102
111
59
90
58
55
133
49
90
45
106
81
62
93
54
126
79
54
99
81
71
87
65
62
159
90
72
78
81
76
77
71
103
100
87
62
54
38
42
137
86
78
80
101
57
116
55
67
124
77
88
136
56
56
137
54
88
143
44
79
61
67
63
102
58
127
60
46
46
112
54
56
141
141
106
47
109
81
66
82
67
90
71
49
72
69
59
92
73
77
41
46
135
88
37
95
112
53
65
63
120
72
74
61
71
32
79
57
118
81
116
61
77
67
125
79
28
92
76
87
45
86
77
68
81
38
88
73
76
56
87
47
58
63
57
96
41
29
177
92
72
56
116
78
50
72
84
103
103
70
40
90
80
79
96
21
64
54
82
39
94
41
90
69
45
96
49
98
50
79
78
73
94
119
99
48
85
70
73
55
58
105
56
88
61
108
68
54
74
97
51
74
90
76
105
85
114
130
77
66
65
81
133
90
173
80
114
72
110
63
64
75
85
70
49
116
38
72
56
60
94
89
69
55
38
90
62
68
69
53
92
36
67
125
53
108
45
58
92
72
111
64
66
95
76
96
46
77
79
82
82
74
79
74
41
77
114
118
53
107
52
90
87
92
90
53
133
88
136
73
46
158
63
71
76
57
64
82
35
39
105
110
48
101
52
123
95
93
57
81
70
76
57
50
110
90
110
67
71
79
81
49
77
121
81
112
88
66
46
84
84
60
68
81
110
75
88
44
71
84
49
59
86
107
58
70
49
70
97
53
96
84
69
82
62
70
58
47
86
66
54
162
106
43
97
41
56
55
41
121
110
51
47
61
63
110
61
41
87
65
115
86
70
54
112
56
124
143
86
54
74
100
66
102
73
88
70
64
89
74
99
92
41
69
118
99
81
40
67
117
54
56
102
78
105
68
67
55
112
88
63
104
121
60
59
81
81
58
116
77
69
115
31
70
88
95
45
81
117
88
71
70
86
127
62
42
96
104
73
63
88
66
112
74
118
102
76
69
71
98
88
43
43
62
51
90
59
87
95
91
89
57
60
47
78
55
94
81
68
83
65
53
42
55
69
52
57
116
74
94
118
53
76
98
60
71
76
81
62
91
67
76
60
55
110
83
82
90
76
106
68
67
83
73
91
121
98
81
53
122
54
68
45
70
65
65
73
89
72
84
65
117
74
37
74
88
51
44
36
100
70
35
100
69
62
70
96
100
82
81
143
139
109
78
131
116
131
154
37
59
60
58
125
68
70
100
66
69
93
69
60
51
93
92
71
102
73
117
50
92
86
53
101
150
84
43
47
98
67
52
46
45
66
55
83
100
69
123
74
61
175
51
47
36
91
37
80
80
86
70
112
52
74
80
67
64
72
55
42
79
65
78
88
127
144
72
51
44
73
48
74
141
84
86
103
86
58
70
89
72
105
116
67
87
50
61
90
49
53
78
72
85
72
68
119
43
65
95
52
44
102
55
91
79
87
95
52
96
95
73
92
48
56
84
83
75
66
44
82
81
94
110
108
90
50
32
93
123
132
64
50
51
124
94
95
58
55
43
77
52
91
85
54
134
69
71
91
93
87
102
89
67
60
74
60
34
60
46
34
75
74
52
176
81
66
69
66
90
66
88
42
87
33
118
73
130
42
60
65
169
64
64
49
159
57
90
30
80
80
108
94
94
76
134
56
92
67
63
76
71
69
83
123
57
90
55
95
134
50
83
79
86
94
80
77
93
90
70
81
136
121
112
103
78
68
98
59
84
90
71
49
120
98
62
54
82
80
128
39
76
90
69
76
55
101
54
71
77
61
75
124
49
55
81
42
96
41
61
144
55
73
87
57
83
38
72
46
65
100
101
67
68
37
75
93
32
68
70
94
77
99
68
91
118
94
93
84
66
105
85
49
42
56
97
81
56
100
75
92
77
50
128
68
122
102
96
68
43
52
46
37
92
38
105
51
92
44
77
52
72
62
87
89
54
39
50
79
95
69
53
79
21
87
64
57
39
61
51
84
89
117
42
80
103
58
117
60
57
72
46
73
58
117
112
106
75
67
108
69
79
30
72
102
64
96
78
65
37
60
68
72
94
81
57
67
77
91
93
70
81
137
142
88
79
95
98
62
58
102
110
122
117
71
108
65
74
40
60
84
104
73
66
55
49
45
94
71
52
45
75
35
60
52
138
51
113
52
73
75
38
55
60
65
97
93
107
71
85
100
85
126
119
69
70
80
37
43
74
34
88
109
52
96
84
90
78
50
81
69
108
116
44
123
78
53
62
55
53
101
100
75
64
54
55
48
85
57
36
47
86
111
112
91
60
59
98
52
60
93
90
87
47
71
80
87
65
55
88
85
130
50
54
85
80
58
92
50
56
77
92
138
102
112
94
124
106
118
80
49
78
71
43
97
89
56
61
80
123
51
89
58
102
71
125
124
43
68
80
67
63
46
74
101
78
78
81
56
54
113
66
83
63
101
54
58
90
62
57
50
71
92
59
68
53
71
90
95
45
50
56
55
65
34
116
65
57
102
94
90
53
31
110
56
85
79
45
74
82
87
38
108
92
102
86
87
119
92
82
83
49
65
86
78
65
90
87
81
68
81
43
67
69
121
76
47
98
46
89
67
71
56
59
106
35
68
75
50
93
64
33
106
64
74
105
68
24
42
45
98
73
53
93
62
56
114
58
93
59
88
52
72
47
86
55
105
50
83
97
81
85
61
91
36
81
74
160
105
78
48
53
58
113
154
108
69
95
76
138
70
54
34
111
80
69
92
88
159
41
95
49
108
129
90
129
82
114
123
66
100
67
61
115
84
98
60
67
90
74
96
59
59
130
96
60
79
129
68
61
23
66
67
65
93
60
99
91
61
53
61
80
68
80
51
65
60
78
47
58
56
71
133
84
118
90
71
60
62
100
51
103
114
34
87
89
51
65
56
54
52
95
62
94
36
35
88
65
34
114
62
78
45
74
84
67
64
39
101
53
52
67
72
77
71
55
93
89
149
68
92
85
59
48
91
76
93
79
50
117
76
39
93
103
39
117
110
78
115
77
65
53
86
88
76
73
60
116
58
104
102
69
70
72
76
83
104
94
45
98
100
57
43
87
31
57
45
38
27
53
68
59
58
89
139
96
72
81
87
80
59
55
82
38
48
51
36
67
76
83
93
64
94
86
89
50
63
148
105
51
94
50
73
55
71
67
64
59
47
74
96
189
72
54
55
61
58
94
105
102
113
107
91
70
74
63
74
85
91
91
78
33
92
47
53
135
82
83
123
116
62
63
107
82
66
53
50
64
93
111
84
45
76
87
97
111
122
43
65
51
36
116
74
77
62
77
44
48
61
96
61
61
43
62
146
70
51
49
107
64
42
71
72
79
104
65
43
28
91
72
53
64
80
83
53
60
103
79
91
56
35
105
81
77
120
86
67
41
56
80
56
49
114
68
61
54
71
84
79
64
75
121
82
66
108
55
51
82
101
83
138
78
79
61
67
73
66
64
142
67
67
89
50
62
42
81
83
39
98
121
100
61
102
75
65
115
111
104
60
72
52
39
109
79
62
69
70
73
75
73
46
98
94
39
57
75
41
64
101
61
84
91
102
81
71
87
53
61
116
87
49
71
77
59
76
99
78
115
47
47
75
82
137
105
66
35
103
49
100
68
102
50
92
108
66
43
78
64
70
57
46
66
100
88
53
58
69
50
51
59
59
71
83
41
111
62
80
75
93
73
100
51
43
92
59
54
105
82
98
55
79
45
108
59
56
119
143
33
96
65
65
48
74
85
86
37
52
84
51
68
82
107
60
61
110
45
92
38
35
72
50
44
59
58
43
66
44
71
33
73
80
143
83
63
84
44
57
60
91
94
66
49
60
46
51
80
73
121
112
65
91
81
67
59
107
107
91
70
72
64
104
41
75
88
65
63
54
79
71
91
33
63
79
80
75
117
56
104
65
71
41
91
116
77
86
112
89
88
102
77
67
92
45
111
35
76
58
73
106
88
58
35
60
85
137
82
79
71
65
70
63
79
79
27
41
45
103
121
72
45
43
59
32
84
88
73
38
127
65
87
88
65
69
54
44
55
107
33
85
79
97
50
127
140
106
91
41
64
52
74
78
63
73
41
64
120
68
48
193
76
148
63
71
105
91
71
84
133
85
135
163
96
109
109
63
98
172
85
76
61
92
81
58
43
87
77
45
117
73
70
94
39
85
103
80
54
61
91
82
72
87
60
58
83
73
56
90
72
67
56
80
33
84
65
129
114
66
71
89
31
118
74
82
75
72
50
107
91
65
67
86
77
64
90
53
120
32
95
77
84
112
81
96
41
78
61
44
58
90
46
94
66
75
61
45
85
71
136
40
72
55
76
58
87
73
109
103
66
80
22
57
60
87
57
61
77
67
92
94
69
100
59
97
35
88
143
51
39
68
116
85
70
78
95
79
102
56
88
86
85
86
78
69
64
102
82
121
53
123
81
40
61
110
75
47
41
82
84
68
53
114
51
49
70
48
61
105
127
72
92
90
124
71
45
28
71
83
61
65
64
76
52
74
87
73
117
41
73
85
62
112
94
62
115
108
97
78
59
93
62
70
75
77
63
63
154
79
92
68
59
162
103
63
69
52
75
78
57
66
49
61
79
74
68
55
29
119
26
73
40
160
114
71
105
85
124
78
58
99
107
104
60
96
94
75
76
117
100
70
52
44
85
74
90
34
72
84
52
46
71
66
100
86
96
102
94
42
76
63
94
68
96
86
51
67
110
77
61
103
97
140
123
64
125
81
63
135
96
102
37
56
54
117
108
65
103
62
76
61
109
58
64
101
84
65
98
126
63
78
83
57
80
93
74
94
100
68
65
69
68
63
43
51
80
66
54
39
54
52
97
110
113
131
68
91
48
52
102
91
130
78
81
65
85
63
80
72
91
56
87
72
45
88
108
82
62
67
63
94
86
46
70
46
47
80
53
62
74
45
104
55
39
61
95
56
85
85
75
55
117
93
96
58
114
66
28
110
98
46
98
72
39
58
60
151
58
76
89
106
74
87
51
87
52
53
58
83
143
72
92
53
93
135
86
60
53
105
169
91
58
83
133
52
75
69
78
68
81
110
43
78
28
78
92
61
72
101
94
72
61
81
51
58
100
88
100
89
89
66
86
126
51
104
74
66
66
75
71
64
81
85
59
85
116
65
60
95
88
55
73
67
44
56
82
132
72
47
93
60
99
73
94
88
76
77
72
72
71
105
83
57
89
91
96
97
91
68
90
66
85
99
81
113
109
55
59
80
93
79
120
87
154
81
101
84
67
105
65
55
86
97
83
99
61
97
82
41
72
31
71
46
93
94
87
97
45
90
90
126
56
74
45
78
112
102
102
88
101
48
90
116
85
52
91
57
97
65
62
68
95
93
75
61
117
64
58
67
73
96
76
66
102
87
76
55
95
66
149
54
91
69
41
75
69
56
71
26
67
52
130
44
78
84
52
52
72
81
69
95
80
77
83
40
96
37
86
26
125
104
59
94
64
97
69
92
67
54
103
128
56
54
88
44
38
47
73
79
120
69
57
77
66
63
69
106
62
90
79
69
49
73
49
153
75
53
60
115
137
108
124
81
102
83
112
61
96
98
61
116
108
85
105
53
58
44
56
58
62
56
65
100
94
43
128
62
96
87
39
97
92
99
55
55
115
115
72
29
72
75
59
59
68
80
80
67
129
51
66
65
49
69
87
114
72
137
102
73
29
78
65
64
57
113
96
65
76
76
65
123
63
79
76
62
31
48
65
104
82
73
100
75
70
60
56
95
91
57
36
132
84
62
55
79
102
85
61
70
25
67
51
71
141
116
74
61
108
130
99
86
86
58
62
88
83
66
89
120
83
50
60
39
76
95
120
119
90
51
58
62
67
115
90
108
48
55
92
47
83
72
49
51
87
77
69
57
69
129
104
107
38
75
74
126
82
53
80
62
79
89
56
55
83
86
96
51
88
74
69
31
95
54
65
75
85
38
24
47
107
82
52
86
53
55
50
68
77
107
52
61
89
98
58
95
71
88
55
64
86
56
56
50
33
57
49
93
44
80
49
61
85
144
88
105
69
61
72
119
114
63
86
49
49
47
55
40
35
76
77
44
63
92
38
62
97
107
52
64
88
89
108
98
93
62
94
90
86
51
52
80
60
35
81
59
58
82
81
73
112
64
81
59
62
54
81
61
54
75
71
55
69
38
88
66
148
50
95
55
69
69
78
95
70
64
67
51
69
62
162
135
72
108
84
65
39
42
113
41
109
62
75
84
81
83
91
33
49
69
36
72
62
52
125
92
88
66
65
55
72
48
121
102
98
89
50
63
84
63
57
77
46
77
76
112
84
63
65
67
127
95
74
125
43
89
125
77
79
64
93
87
62
126
87
71
89
82
57
87
122
81
75
65
69
28
87
54
67
108
75
54
49
68
99
58
85
122
166
56
61
93
69
43
93
104
55
90
56
31
58
76
68
78
122
53
110
48
61
65
94
82
71
40
123
66
95
73
43
49
90
38
88
39
87
42
101
82
43
74
47
58
79
43
79
97
89
41
82
155
119
51
113
73
49
64
43
85
96
141
96
48
60
84
56
76
46
132
59
89
58
44
107
67
46
74
84
60
104
102
73
104
82
54
69
59
101
65
63
58
64
73
96
125
74
35
50
78
96
104
39
79
68
32
87
99
56
103
96
80
65
54
48
48
93
55
67
39
56
61
36
78
86
63
126
111
87
46
105
127
102
105
220
81
66
74
64
59
111
127
82
86
103
73
83
68
107
36
68
75
123
65
52
132
85
99
66
103
91
129
108
69
77
88
125
177
80
66
51
91
63
119
66
67
91
91
83
41
28
117
77
76
88
97
84
62
87
93
49
77
74
72
86
90
81
54
63
59
64
111
47
97
69
56
122
87
62
137
69
61
46
38
62
80
44
93
50
102
45
51
83
69
69
48
49
83
126
62
104
144
55
117
79
55
88
85
35
92
88
96
67
60
107
90
114
104
63
79
67
64
127
33
101
57
51
66
127
77
95
93
48
157
67
96
50
91
88
70
78
82
52
48
104
62
86
52
58
96
88
109
39
98
91
93
68
128
52
94
111
140
46
90
54
84
65
121
88
109
58
61
50
43
122
92
57
49
57
99
56
62
80
73
68
96
70
107
58
77
33
88
111
85
87
64
83
79
104
74
120
45
88
60
102
30
55
73
86
53
78
76
59
97
105
76
78
44
29
111
59
104
51
54
88
66
37
86
111
80
58
60
96
77
89
41
104
75
38
72
66
107
51
131
38
75
81
56
47
44
106
82
74
101
82
73
83
59
70
93
45
133
90
100
80
58
84
71
54
49
81
75
100
90
38
119
68
90
94
63
98
106
107
82
91
122
45
73
50
93
74
95
61
78
68
100
75
60
65
96
41
64
84
38
87
188
89
137
58
72
77
58
86
99
83
51
61
87
60
75
54
49
53
49
41
69
78
88
57
54
71
84
61
36
71
51
80
71
64
57
88
81
91
57
54
115
94
30
79
80
45
75
49
109
87
71
59
64
77
72
65
63
59
37
77
41
54
101
62
65
47
61
86
80
85
55
66
57
107
65
80
75
40
89
39
42
102
54
45
59
102
118
57
109
117
79
47
153
40
81
111
112
44
101
151
62
49
94
51
45
66
109
88
64
50
77
97
108
60
75
121
47
47
76
56
32
43
69
86
46
32
31
55
68
68
109
30
86
100
94
99
62
75
67
54
102
83
97
46
78
98
116
117
61
91
78
47
84
47
97
40
93
57
85
84
96
76
85
64
94
103
47
90
32
67
62
87
53
121
90
86
63
54
48
87
34
89
44
105
36
82
54
46
58
89
44
81
34
57
76
45
96
86
74
61
66
63
78
39
80
89
51
97
64
93
97
69
78
72
113
64
44
87
54
55
140
80
66
88
36
53
57
88
115
79
84
67
109
79
72
84
47
85
79
79
44
101
49
97
77
51
66
133
78
42
64
66
37
103
97
84
72
88
65
79
49
56
70
64
64
102
78
145
57
82
104
78
82
63
74
55
71
157
69
89
32
99
67
82
41
92
72
84
53
53
51
29
51
83
44
62
160
66
67
63
89
89
60
35
77
90
93
61
100
105
82
76
55
82
72
87
70
63
110
106
95
100
52
70
111
60
107
62
144
57
82
34
133
68
87
142
25
70
103
69
79
96
58
98
108
81
57
83
79
53
57
38
23
106
87
90
61
54
92
117
54
63
107
62
69
55
83
96
119
110
129
49
67
130
108
116
60
54
95
57
99
35
87
78
84
57
128
52
83
46
98
68
52
40
45
88
68
62
93
72
78
80
61
62
100
105
66
62
83
77
44
87
103
58
85
65
82
97
62
97
45
71
81
132
69
79
33
75
59
52
93
41
41
88
74
73
79
90
85
81
58
91
70
55
104
75
98
98
42
87
84
113
69
91
89
70
49
98
88
107
107
65
89
113
75
123
45
95
96
76
59
147
66
85
96
61
77
73
41
88
74
116
89
94
79
71
87
86
97
63
100
97
68
47
79
96
35
38
56
88
63
76
91
81
57
58
70
101
159
88
77
52
82
47
95
81
73
64
68
116
67
62
74
77
80
76
68
69
63
107
62
56
86
112
52
45
112
87
65
75
77
82
89
65
83
45
95
72
86
128
102
81
72
97
99
48
91
62
48
62
109
106
83
68
67
109
63
76
78
89
75
116
80
50
85
50
88
72
38
99
72
60
93
109
46
88
85
72
78
77
43
103
59
84
61
67
42
34
54
65
111
31
76
78
98
72
32
133
64
99
120
60
99
76
243
62
69
50
83
93
62
79
82
73
60
51
53
52
54
77
53
84
69
70
124
74
87
72
35
65
103
64
66
105
113
66
51
70
95
55
72
61
40
114
51
64
132
70
119
52
103
123
91
81
97
65
60
100
97
77
68
75
78
119
41
32
63
79
90
43
52
63
62
95
35
32
83
66
70
81
78
68
89
95
60
51
80
110
89
91
67
71
42
77
63
77
41
52
45
94
31
60
85
31
47
78
94
39
106
41
69
90
101
67
93
70
98
31
74
91
70
78
77
29
68
90
97
89
73
87
93
75
73
51
170
71
92
94
94
91
107
39
76
119
97
96
51
84
34
112
81
50
39
70
67
52
82
87
45
92
38
141
91
86
68
129
46
82
60
79
54
69
77
42
94
65
46
86
77
63
70
102
95
81
58
82
86
73
52
85
113
96
88
97
51
51
73
86
44
77
68
59
77
61
81
95
78
65
61
87
54
46
71
57
67
85
90
96
77
48
72
60
77
75
61
75
94
57
93
67
80
29
46
188
138
31
50
75
66
125
81
47
23
61
47
57
71
109
60
76
40
63
73
54
87
88
64
60
61
76
191
97
85
102
50
71
130
51
62
74
77
79
76
33
77
83
96
106
65
50
49
56
55
46
87
54
87
95
90
81
105
73
66
77
77
76
66
90
52
93
42
63
38
61
66
53
84
43
96
90
88
51
105
62
61
45
76
77
78
102
113
106
125
72
85
33
74
82
87
54
56
48
43
52
69
45
83
45
88
61
155
62
73
47
54
100
109
100
117
87
70
63
85
40
50
69
88
115
46
93
80
144
55
77
73
130
110
99
46
55
78
62
48
38
133
80
137
65
79
77
114
58
26
81
70
121
148
94
110
86
89
91
111
100
50
57
73
85
58
45
37
114
79
49
122
127
88
67
75
58
87
51
85
73
36
53
95
101
107
44
104
130
125
86
62
112
94
51
76
64
68
82
51
120
33
51
56
105
68
100
88
82
122
55
71
59
49
67
76
95
130
84
79
47
57
83
86
77
80
76
80
67
72
108
46
99
60
58
98
59
87
65
124
136
55
123
79
48
59
82
78
34
52
140
63
59
77
102
69
92
117
56
96
83
65
83
43
65
102
104
42
45
119
56
68
117
59
97
62
78
110
87
81
85
61
58
100
42
117
68
49
104
72
67
92
81
78
120
33
58
85
146
92
24
52
87
96
74
65
54
78
53
61
25
53
74
42
82
59
100
61
102
74
79
60
74
74
46
57
92
88
52
81
85
80
73
93
75
73
85
76
73
108
57
64
93
63
73
86
75
62
51
74
119
91
39
69
59
59
131
66
72
102
56
101
93
91
62
48
81
93
49
61
37
76
71
51
80
81
86
59
103
122
25
73
78
128
94
93
83
42
31
81
123
79
63
71
50
71
90
48
88
55
65
63
108
55
28
99
89
90
85
71
59
59
105
82
75
97
70
53
47
48
51
70
58
52
72
67
57
100
71
102
54
124
49
61
79
64
88
126
79
76
94
49
62
49
62
82
59
65
81
73
78
98
160
89
113
118
36
111
48
119
59
45
82
49
69
45
83
120
71
94
138
113
101
44
59
87
89
83
60
54
36
60
18
100
49
42
103
58
63
94
97
72
54
65
42
59
68
79
92
82
78
92
109
53
92
59
30
76
58
45
97
43
81
82
59
98
82
75
109
76
48
62
51
98
98
97
61
79
46
75
70
117
39
47
115
33
77
78
51
98
66
38
109
49
54
86
184
92
86
57
94
85
116
95
72
62
108
119
82
76
74
84
92
92
73
72
103
95
92
55
89
73
73
99
71
72
97
93
75
65
63
57
66
70
79
42
110
69
55
85
95
46
55
85
112
88
123
90
63
89
100
61
95
91
69
110
82
95
75
56
46
65
92
106
62
100
74
77
107
72
61
82
43
57
117
66
63
104
75
61
92
82
112
57
55
64
116
133
99
49
52
117
106
75
46
74
50
97
105
34
67
103
56
62
53
84
80
85
57
39
99
69
37
70
40
79
75
103
66
67
50
61
52
79
49
78
45
69
44
47
117
84
85
86
56
82
51
110
69
134
68
77
85
109
80
47
57
63
88
117
65
57
67
54
95
102
96
53
72
116
87
64
64
76
88
64
93
94
66
51
130
115
75
70
88
94
103
101
42
49
62
99
38
71
126
114
80
83
46
49
71
57
63
85
56
55
32
55
74
53
65
51
91
86
101
57
54
66
73
67
119
108
66
143
56
70
112
74
123
104
108
70
19
56
73
71
63
39
85
71
97
102
101
88
79
98
96
52
50
81
55
108
89
130
75
77
56
41
53
100
101
68
70
72
73
72
77
83
97
73
82
49
66
115
39
84
77
87
47
83
107
59
86
75
92
47
80
93
76
96
110
68
77
71
87
53
82
42
98
72
63
87
39
56
122
68
87
150
76
59
102
82
89
75
53
51
85
70
61
86
87
119
71
71
102
91
77
97
69
61
67
45
27
45
122
96
117
96
50
51
95
73
42
66
71
109
82
114
71
71
68
64
64
87
100
119
79
40
79
118
87
73
70
72
69
143
92
100
96
121
73
138
62
99
72
74
82
91
103
99
57
27
110
71
67
62
102
58
100
66
64
162
37
55
63
89
86
66
80
59
62
110
109
65
77
94
95
47
42
75
50
94
92
49
69
40
50
60
64
89
109
161
74
68
54
47
75
63
97
95
111
101
81
65
75
62
31
91
155
61
55
47
89
65
89
65
47
90
97
91
38
34
36
75
64
53
76
83
110
27
94
75
78
106
92
65
88
109
46
109
86
95
108
72
139
100
103
106
84
50
81
80
73
66
81
53
44
85
76
127
77
82
78
111
94
87
49
72
87
81
72
61
78
74
79
46
64
94
85
66
91
51
87
58
98
103
66
78
74
36
77
55
83
82
66
124
102
74
61
78
90
58
103
154
57
82
70
63
72
71
66
75
85
96
65
88
87
123
45
87
138
121
51
37
120
96
92
97
67
103
71
95
77
68
152
56
93
59
97
76
77
61
58
48
90
42
53
91
61
86
54
49
66
62
130
87
96
116
84
77
38
92
51
42
88
100
78
81
121
73
71
85
81
107
68
53
75
73
93
69
94
78
71
82
68
29
46
64
66
61
107
116
68
87
66
90
67
68
73
49
71
70
73
103
50
52
127
98
52
74
66
85
77
58
41
73
96
61
132
115
96
112
42
54
87
128
94
50
80
146
62
74
42
88
122
63
80
111
99
96
62
79
82
99
52
98
80
77
44
61
94
103
117
61
83
70
91
96
95
50
101
109
83
87
76
79
126
71
58
92
68
99
62
54
102
62
115
68
55
63
110
89
67
43
84
59
37
29
59
78
92
85
62
59
96
59
83
110
63
96
102
97
74
60
43
93
82
62
53
83
73
61
96
61
83
112
77
38
52
106
71
76
59
109
28
94
59
43
68
59
58
77
51
44
88
49
122
86
42
77
102
82
77
41
47
85
66
92
66
120
102
89
121
49
155
108
99
43
62
114
86
74
116
70
92
32
57
69
70
96
93
69
73
67
63
54
32
90
100
65
73
79
70
89
99
79
61
80
61
51
83
103
95
46
117
78
86
94
49
71
102
66
87
92
88
74
139
55
63
74
137
50
43
84
44
89
90
53
52
55
95
78
89
79
49
69
71
78
143
96
68
66
43
139
68
100
55
101
106
102
59
77
113
135
85
93
101
55
79
75
43
115
44
63
66
61
78
82
57
73
86
66
61
100
119
62
89
71
79
71
42
127
60
115
119
46
63
91
60
46
53
80
88
69
64
94
46
68
78
26
67
52
35
52
66
81
64
72
49
118
58
133
65
97
45
71
122
59
88
96
87
45
35
95
45
87
82
142
114
92
79
67
77
61
57
76
106
95
84
93
83
88
63
94
90
50
70
89
36
79
59
97
57
41
45
39
79
86
58
27
60
62
75
102
119
131
49
58
56
89
180
86
40
75
100
66
68
96
80
87
65
103
81
61
84
105
83
85
125
89
165
105
54
68
75
108
160
18
92
51
95
52
63
86
140
115
113
120
43
106
82
114
76
99
64
75
106
61
112
108
76
77
90
77
102
80
83
93
113
70
68
84
56
86
63
86
57
93
116
82
91
61
117
46
36
51
42
39
75
77
53
154
54
66
64
110
60
94
54
99
61
143
79
42
67
45
100
52
61
63
105
61
80
70
121
114
121
68
91
60
71
40
77
54
45
65
55
88
52
87
125
52
101
81
49
30
71
66
118
54
44
43
96
79
55
92
84
101
93
58
133
62
59
84
82
109
108
71
80
50
111
85
101
113
60
101
61
63
111
78
84
101
80
97
72
83
60
136
98
57
108
109
52
104
60
88
64
66
91
49
115
45
59
116
123
42
96
75
74
85
47
94
119
60
91
81
60
69
66
43
64
60
81
45
76
48
123
100
51
52
63
106
42
81
113
62
56
101
64
70
152
112
72
40
68
125
94
80
46
74
87
115
85
98
106
97
85
95
55
119
109
75
75
39
56
45
57
46
65
92
109
47
147
82
86
75
70
92
83
84
49
89
77
99
73
94
77
122
67
56
65
70
171
91
47
23
128
72
34
81
76
111
83
56
91
46
63
54
89
50
77
84
91
75
80
34
105
44
54
48
87
69
154
57
92
82
82
104
106
62
78
150
71
80
94
73
47
45
48
85
65
132
88
91
106
68
156
60
74
66
75
80
89
56
71
100
93
78
54
72
60
77
86
122
104
79
114
73
76
141
63
64
146
71
50
75
84
75
99
75
54
85
102
86
47
59
73
67
90
141
57
86
57
69
70
93
96
35
95
119
84
44
118
58
87
54
51
71
107
73
80
45
95
133
78
86
76
82
80
58
42
98
71
64
88
74
51
114
81
88
72
91
80
38
51
55
73
99
63
63
56
51
56
140
56
36
71
62
54
44
100
118
60
39
65
61
86
70
30
112
87
49
90
37
133
134
60
29
71
57
63
53
67
73
37
57
75
92
79
62
82
70
66
105
101
88
91
65
90
55
91
50
71
75
82
51
97
88
60
103
111
74
69
94
91
130
66
91
103
132
55
84
58
85
48
108
140
64
62
68
91
94
106
30
79
108
75
89
46
68
33
61
82
78
54
60
73
110
54
27
55
88
60
102
92
71
46
80
115
90
63
48
33
114
73
62
65
77
98
90
96
61
65
53
37
102
64
68
84
105
67
66
91
119
34
69
68
73
56
42
109
74
95
129
105
76
80
70
128
42
49
49
70
56
91
120
71
101
50
57
75
114
66
82
98
74
51
60
85
110
64
60
93
39
102
115
58
69
107
118
81
121
91
110
104
129
79
90
56
81
129
40
77
51
58
110
38
64
67
60
96
63
115
131
99
49
44
80
60
97
97
102
82
73
54
70
103
41
127
79
142
73
45
131
155
37
65
87
44
76
67
100
88
36
72
60
54
61
82
125
49
51
75
98
70
85
81
85
71
62
102
136
97
94
59
50
90
56
63
77
86
28
43
79
62
56
124
70
47
99
100
58
95
113
74
77
86
83
61
54
61
67
92
57
64
148
61
124
121
112
62
88
53
102
24
55
74
82
86
87
85
46
35
86
61
56
43
40
60
132
83
79
102
63
51
66
71
73
56
41
64
61
53
61
94
87
45
78
106
109
53
66
36
75
78
78
107
94
71
62
95
104
54
129
90
67
104
64
75
142
68
57
62
103
116
100
91
56
40
78
68
84
74
52
54
48
78
112
58
47
100
102
56
55
65
62
108
95
96
169
68
54
67
68
41
66
112
71
57
48
51
67
72
93
57
113
53
97
86
87
113
89
57
114
97
49
80
55
52
74
66
56
122
106
99
83
102
73
75
69
109
138
70
61
65
76
67
60
72
76
76
82
52
90
51
60
77
34
61
67
82
116
102
88
83
114
77
73
61
140
79
111
58
30
74
94
86
100
69
69
84
105
44
79
47
59
103
85
62
84
124
71
81
49
45
117
77
48
131
57
101
76
70
60
97
67
62
41
65
49
112
54
64
52
91
64
63
37
74
83
112
77
57
86
67
75
75
72
71
70
67
128
85
53
118
102
53
96
45
58
48
47
102
47
91
91
68
71
65
63
60
48
70
99
54
98
67
110
69
77
59
60
110
49
77
58
119
56
62
54
51
109
65
34
89
102
120
74
64
37
80
110
91
63
53
101
69
39
49
76
74
60
43
58
73
58
60
151
55
49
124
108
85
70
68
70
53
50
76
45
54
58
59
119
62
137
108
82
93
121
109
105
78
108
120
75
66
25
95
86
64
36
93
78
59
37
62
94
106
69
76
49
79
57
109
49
82
73
112
68
39
111
57
43
94
99
77
32
74
61
119
84
81
98
33
79
81
89
85
74
54
68
88
93
63
80
75
66
110
51
73
96
40
87
107
91
66
66
58
44
146
50
41
50
183
57
51
79
77
73
99
134
157
60
81
77
69
116
128
47
50
72
72
109
93
81
82
90
58
78
73
53
78
65
102
94
62
88
60
33
58
48
56
52
73
62
52
157
68
104
64
74
119
73
91
71
94
90
105
63
132
145
62
51
94
96
39
84
47
79
81
72
100
45
101
72
49
81
73
106
97
86
98
109
78
81
82
43
59
90
64
59
76
113
78
85
34
65
31
53
67
58
99
88
111
84
108
28
50
94
87
49
52
44
15
92
81
46
117
50
47
113
67
99
69
80
47
68
78
77
52
104
72
59
51
93
85
26
143
58
76
71
52
72
51
54
128
52
98
59
53
60
52
55
111
75
56
87
89
104
108
37
97
94
49
124
58
53
92
61
65
55
80
89
89
61
46
90
56
73
38
79
52
69
41
62
46
90
62
42
73
57
77
38
49
63
96
84
71
119
143
45
70
86
85
60
146
55
70
58
103
84
81
83
64
102
45
91
81
36
99
44
48
96
80
57
84
102
43
133
59
60
62
76
102
63
73
98
64
83
68
74
122
104
59
87
100
95
103
106
90
44
65
67
97
101
64
136
55
92
56
82
70
73
69
60
143
72
133
71
82
97
65
124
70
56
81
89
129
48
41
90
78
75
47
127
71
94
84
87
163
51
62
97
102
39
50
79
84
91
93
62
43
63
114
73
86
52
74
66
69
53
97
111
66
103
67
81
54
74
63
89
74
70
103
85
101
151
128
93
76
82
102
95
92
98
91
92
64
73
78
79
87
82
42
110
87
101
75
130
42
67
80
43
130
77
53
95
134
76
76
121
80
48
84
82
64
78
81
180
76
84
81
82
61
70
41
51
83
85
53
88
55
116
75
50
82
96
49
87
74
87
48
50
87
60
93
39
52
113
64
39
82
51
74
81
60
72
80
138
39
116
130
42
94
82
55
66
60
56
68
60
67
46
93
40
103
52
39
79
131
84
94
109
106
101
79
64
86
69
30
122
46
110
89
81
53
60
62
108
109
90
62
72
77
75
44
136
45
80
63
69
79
111
86
66
82
93
136
78
150
70
68
51
72
94
74
66
61
44
41
94
72
43
71
79
67
64
112
81
44
78
90
101
73
66
93
61
64
100
96
80
61
36
105
135
107
82
107
31
105
43
67
60
58
97
82
112
101
77
57
48
105
63
46
80
72
96
48
70
60
62
104
67
45
67
99
81
105
73
76
37
61
60
66
54
95
102
39
76
94
104
107
64
87
51
58
85
52
68
136
97
152
95
94
58
115
65
43
76
35
111
92
49
89
38
59
73
91
44
62
60
84
123
73
56
106
81
49
59
55
108
77
81
83
67
54
77
69
55
43
105
54
71
130
100
83
47
47
51
35
103
72
40
115
39
50
72
52
58
80
71
137
69
100
80
65
75
76
87
63
112
48
89
137
120
61
84
46
113
48
116
55
101
39
82
81
94
63
98
145
42
52
90
70
99
26
82
54
51
41
72
30
63
46
92
96
64
66
39
108
111
30
80
90
121
53
73
82
55
50
100
64
79
120
79
70
79
96
82
42
72
62
46
56
62
76
46
94
54
24
48
69
95
84
90
127
55
46
89
35
50
84
43
43
62
99
77
64
91
91
131
109
51
61
85
45
105
47
61
87
93
118
64
75
69
75
92
77
85
83
68
61
111
75
63
54
33
71
79
48
66
91
51
97
73
62
77
60
91
66
61
80
81
85
88
72
47
53
65
88
54
83
63
106
81
79
85
60
53
58
39
99
42
90
76
94
63
51
70
34
155
71
113
82
71
77
87
67
65
47
51
71
47
48
82
85
105
28
82
95
74
80
120
65
63
46
159
147
69
103
57
69
88
111
32
91
89
54
125
64
95
101
69
53
153
32
98
85
91
69
68
90
80
107
108
76
124
121
93
58
110
58
98
71
76
63
50
90
60
45
40
121
63
40
105
108
61
98
116
51
133
92
31
83
116
62
92
45
105
71
109
78
90
80
69
46
61
61
67
87
105
92
78
81
102
62
41
68
133
54
59
52
70
90
94
108
104
115
52
111
72
78
73
51
76
95
69
92
50
100
57
54
82
89
76
81
56
64
77
76
66
59
87
69
73
86
84
63
110
94
60
59
60
30
91
71
100
98
60
71
77
72
78
65
66
74
88
85
120
64
79
90
73
98
87
39
107
41
99
151
38
55
61
54
60
50
37
51
99
64
66
77
91
84
97
34
96
71
104
50
115
135
131
101
81
81
67
55
96
76
42
76
87
72
84
77
62
88
58
93
121
62
69
65
52
117
71
99
72
65
50
52
56
93
84
45
43
140
73
100
69
80
65
86
42
88
71
52
56
76
61
41
116
104
40
71
174
80
93
88
152
76
72
49
68
80
84
90
87
158
71
89
62
58
103
70
126
121
121
125
71
144
45
96
98
31
91
94
53
48
77
115
67
80
84
63
110
87
86
61
68
103
45
59
96
41
84
74
48
70
73
34
52
108
54
85
80
75
43
79
122
111
125
95
127
119
86
90
73
104
75
57
85
118
60
121
107
131
66
86
43
45
90
86
45
65
43
40
61
66
28
70
92
77
75
61
65
57
67
150
84
43
76
97
75
74
61
76
88
78
54
69
58
85
33
89
76
93
31
59
86
48
121
79
60
70
54
70
93
91
90
59
72
68
90
93
81
43
92
49
46
74
56
46
70
66
99
107
33
50
52
85
111
92
69
55
105
67
46
54
94
59
80
113
58
78
60
35
53
87
78
113
57
77
74
100
70
109
93
134
31
84
70
29
123
60
79
63
61
96
94
72
48
94
38
27
96
50
75
90
88
58
94
113
152
49
106
53
60
101
56
57
103
105
57
101
67
110
76
107
46
78
66
98
87
64
88
135
73
43
78
113
50
92
91
82
59
75
75
71
69
62
69
87
92
83
73
96
71
59
55
95
71
73
65
116
76
58
68
56
52
68
53
66
33
57
56
64
78
40
53
44
80
80
61
68
70
63
36
80
127
93
36
23
84
69
70
92
94
97
49
66
64
86
106
97
37
119
108
97
70
103
52
96
78
101
59
93
90
98
35
75
61
57
96
40
82
57
110
62
80
67
145
60
43
77
61
82
59
48
82
68
120
67
84
66
95
77
67
86
155
100
40
101
36
82
90
29
86
46
56
159
90
70
120
88
80
81
81
66
136
67
55
68
62
69
103
54
111
88
109
76
45
135
79
109
35
55
94
95
88
86
86
86
113
115
93
64
88
86
53
77
58
68
61
44
70
74
70
40
68
33
64
99
59
67
66
40
118
72
74
59
81
36
47
101
109
90
73
85
118
79
81
105
101
39
88
60
117
105
113
70
80
41
109
101
63
91
94
97
75
70
39
59
45
81
107
95
103
66
72
57
63
101
64
168
38
76
86
103
92
64
45
61
60
50
54
56
47
67
54
98
71
133
55
61
56
91
62
80
132
86
70
67
109
42
107
85
76
96
47
69
37
40
68
83
92
79
69
80
82
90
101
79
91
134
76
68
72
68
35
99
57
63
105
78
103
98
72
81
60
122
65
109
89
85
65
80
63
88
72
101
37
83
70
37
49
59
85
61
63
55
48
73
75
54
39
61
65
112
46
73
48
52
88
79
56
99
46
80
49
63
56
95
60
78
64
57
103
47
85
91
84
80
64
81
41
88
27
82
67
85
27
71
81
97
75
82
119
90
62
83
58
56
50
40
54
53
42
91
116
60
70
47
90
93
118
85
92
75
80
36
92
85
67
33
83
46
63
75
71
84
60
43
54
93
61
61
97
158
94
72
56
53
90
115
100
69
101
66
102
170
104
74
40
95
64
70
116
64
76
70
125
70
70
84
85
107
98
50
102
67
51
69
98
22
58
61
64
80
103
95
85
85
56
44
50
93
65
77
55
127
104
71
85
49
41
74
119
97
39
37
92
69
76
102
50
90
57
59
75
73
63
40
50
89
63
98
39
57
58
77
60
76
121
66
105
80
129
121
118
49
68
81
78
98
91
89
115
68
158
71
66
76
125
104
92
39
49
74
76
67
68
82
70
58
48
90
91
59
81
66
80
109
74
47
44
107
58
91
131
52
120
88
63
64
62
45
99
73
114
75
60
59
78
82
83
86
79
132
55
85
99
84
97
112
46
94
95
76
77
60
93
70
90
65
101
61
41
53
84
122
84
98
57
59
93
47
62
42
110
61
59
95
80
47
46
42
68
39
102
51
89
99
56
75
70
66
65
57
61
83
76
76
36
58
62
159
95
47
73
83
62
114
57
62
86
94
75
76
51
27
83
53
91
59
80
109
70
57
59
54
58
89
76
109
94
122
78
61
55
58
98
69
66
68
75
76
120
86
58
79
73
46
49
50
86
48
74
80
67
49
95
70
77
93
53
104
50
56
123
120
85
73
27
100
52
63
77
53
116
77
93
70
95
91
90
61
57
95
116
113
34
71
57
37
90
88
56
46
58
71
73
52
58
97
96
102
71
77
71
74
94
49
85
60
68
67
101
82
131
81
96
98
88
50
74
90
95
76
63
45
101
55
82
53
124
67
48
71
59
78
62
93
95
81
114
73
115
62
89
80
105
100
64
51
90
100
58
75
57
62
120
94
71
65
94
77
65
67
149
50
68
115
67
107
56
83
65
74
79
110
50
63
72
44
79
57
75
88
102
185
65
28
114
89
111
69
51
162
46
46
74
95
82
83
77
122
60
74
50
71
90
61
94
94
100
62
53
95
70
123
41
71
77
118
58
121
68
66
67
50
108
34
55
65
78
70
59
68
104
82
77
91
85
64
86
68
74
55
75
115
71
91
85
92
53
57
28
96
51
78
72
73
96
91
65
58
81
116
70
49
66
57
91
41
62
45
93
67
94
63
50
99
115
62
58
66
63
100
92
72
69
32
55
64
40
122
71
78
100
118
75
83
87
148
80
54
120
59
112
37
50
50
58
48
74
121
77
39
80
77
45
72
70
71
96
99
81
60
57
73
49
63
67
60
105
90
53
51
180
79
95
77
131
72
79
87
59
84
48
78
90
109
107
82
48
69
88
53
71
76
86
93
142
51
40
66
112
66
82
103
60
97
87
103
103
74
99
77
89
117
103
46
89
75
114
133
122
53
61
96
79
53
54
150
43
73
72
100
85
62
77
71
83
107
85
52
83
114
60
83
67
53
97
52
78
88
52
100
64
77
110
77
108
38
65
68
68
84
57
85
94
89
62
112
46
81
92
87
56
90
48
46
106
95
79
51
116
65
92
178
69
101
97
76
64
86
75
41
45
55
73
73
114
104
85
132
55
70
41
44
66
50
39
62
63
88
136
44
65
37
100
95
74
69
92
73
91
80
71
71
96
75
96
31
129
37
60
91
73
66
77
106
125
57
95
62
74
42
147
106
64
91
62
52
79
69
80
91
67
76
70
68
77
66
69
108
91
88
84
98
73
81
120
51
110
109
73
127
71
119
98
77
103
102
91
69
30
83
43
54
69
80
76
119
143
80
83
97
120
72
74
84
63
68
68
36
121
70
83
56
69
84
71
103
67
95
100
65
100
70
92
83
97
57
48
58
101
117
113
87
52
94
125
27
91
41
82
101
75
78
41
80
82
78
84
49
83
68
101
81
58
104
57
38
67
73
74
62
80
84
48
86
81
90
104
59
36
48
56
72
62
77
103
112
125
84
41
108
116
61
80
69
80
61
44
42
54
33
61
49
91
113
35
97
47
63
92
94
87
93
113
75
65
81
106
101
124
99
60
107
91
63
87
106
77
61
47
83
42
74
41
92
65
45
83
109
58
111
78
57
103
70
43
112
56
65
54
88
68
111
38
76
61
96
89
103
91
124
63
70
84
105
151
62
86
38
76
93
65
78
117
89
91
77
78
21
85
101
57
123
81
82
59
89
88
70
65
118
43
98
42
87
68
43
73
98
94
54
52
91
46
61
116
80
87
61
59
75
102
73
88
75
70
66
42
61
90
71
40
109
73
69
115
61
58
135
64
39
63
148
70
81
91
79
26
109
101
53
80
130
56
68
35
40
85
76
53
118
70
72
84
61
131
141
85
70
66
89
44
76
50
48
64
45
76
60
130
65
93
92
54
95
57
55
47
42
98
78
73
66
114
52
108
43
72
38
55
63
108
45
73
64
42
108
48
91
101
80
81
59
66
96
49
131
34
132
80
39
68
77
81
34
112
60
126
99
61
69
94
117
213
110
77
107
44
56
61
144
77
58
91
62
107
89
47
110
94
67
42
68
71
81
78
82
168
81
106
72
76
97
61
70
64
62
82
150
65
139
75
79
61
82
89
65
50
136
116
44
51
43
96
51
46
79
113
61
151
144
67
116
163
63
122
93
47
63
111
83
121
71
76
46
108
77
103
97
122
38
72
62
48
54
37
58
175
45
61
73
103
106
70
96
75
77
80
75
115
71
142
77
88
111
84
28
82
71
59
100
91
51
89
73
51
118
69
110
50
80
71
78
85
118
100
75
61
63
86
29
128
97
49
62
76
59
53
83
60
82
90
71
38
125
54
54
59
103
96
83
69
44
67
85
74
74
80
71
47
44
113
57
89
87
79
98
137
74
85
52
106
57
90
64
80
78
48
104
77
113
77
168
64
61
82
77
104
106
94
57
71
83
70
78
86
87
57
91
128
59
58
78
81
53
56
39
51
59
42
112
83
85
42
43
91
62
53
97
73
37
139
66
102
48
74
48
86
80
72
113
54
73
57
56
62
67
39
51
73
95
65
61
73
89
44
88
54
63
94
81
103
58
79
88
57
96
77
59
51
175
73
142
80
108
69
28
44
65
77
130
89
99
60
106
58
81
45
91
71
71
98
34
75
72
90
95
93
85
43
92
55
76
91
84
82
118
100
83
57
43
79
84
75
86
100
96
89
53
40
87
78
109
73
89
64
54
78
51
83
57
55
83
44
74
56
35
99
67
96
78
106
34
39
91
63
57
110
83
86
72
49
58
54
67
63
72
133
82
101
150
104
68
82
72
45
62
42
103
58
98
49
97
67
61
50
104
94
100
84
30
87
83
62
66
59
48
64
58
41
72
68
53
47
55
76
80
53
84
47
111
84
90
97
63
110
66
89
32
95
81
95
92
63
68
84
93
63
53
125
66
71
77
69
46
59
84
127
103
81
105
87
111
53
67
109
148
59
101
95
55
102
115
42
42
64
115
82
76
100
100
107
96
100
69
72
73
41
71
85
87
44
105
50
50
124
67
96
112
55
48
73
49
81
101
102
41
64
54
108
129
111
48
62
65
133
87
112
78
103
66
74
30
76
70
46
45
44
74
30
104
78
74
63
117
68
87
64
69
101
69
81
60
67
99
88
75
82
95
79
91
94
37
61
85
96
43
66
75
71
48
92
76
45
51
56
92
52
83
134
57
42
171
84
45
56
73
89
109
64
103
83
75
35
90
70
53
90
69
145
95
74
56
79
51
77
85
60
80
111
56
98
113
91
49
73
44
92
82
103
78
40
99
78
100
90
59
98
109
68
72
67
43
30
64
132
73
58
104
69
58
65
107
58
77
138
60
55
32
92
77
72
60
72
63
71
43
60
52
116
33
75
65
70
141
69
75
80
101
56
75
108
93
72
113
74
60
76
82
82
72
50
88
98
137
75
53
114
57
90
89
68
55
49
88
85
90
61
97
40
100
100
46
48
80
41
100
70
69
75
95
65
91
121
76
110
65
62
52
27
48
114
72
74
138
79
103
95
76
73
92
77
64
72
93
63
84
81
63
84
92
84
56
73
71
40
148
49
35
38
95
83
117
88
82
106
99
101
56
114
107
70
48
98
116
72
80
63
55
80
68
98
63
58
39
126
51
148
95
102
79
68
83
93
52
70
81
85
96
74
81
95
61
74
55
40
83
48
57
47
80
57
110
83
82
51
94
81
45
73
43
61
103
48
69
107
55
83
74
91
66
90
72
80
149
49
96
69
85
154
110
63
46
92
106
78
64
91
96
43
55
50
42
49
98
32
29
68
77
50
54
58
41
94
88
81
85
54
48
97
95
50
120
87
25
52
36
102
47
50
52
76
57
67
87
83
131
71
85
92
77
89
67
89
93
52
101
67
74
90
56
108
65
52
78
101
123
56
42
67
88
106
63
62
73
79
77
66
43
53
50
99
61
79
72
138
108
93
94
53
73
94
126
74
78
61
83
82
73
47
82
114
36
67
69
119
64
96
58
55
65
53
52
75
38
124
46
114
106
96
75
95
148
123
61
72
75
98
79
53
115
98
42
39
87
97
63
75
97
72
56
88
59
79
73
152
53
95
49
43
98
73
94
79
94
73
50
80
101
73
55
39
38
88
64
48
68
62
91
72
120
56
65
52
95
92
50
86
100
93
141
67
150
87
71
75
62
78
79
51
75
49
93
90
73
86
57
57
108
59
71
56
35
32
82
76
84
81
99
59
57
65
67
97
86
93
108
95
100
94
115
76
37
76
46
91
62
110
92
49
66
78
62
72
75
73
78
72
93
62
75
48
79
123
107
32
48
73
49
71
99
49
58
64
76
86
93
84
106
100
75
50
77
74
36
57
48
77
93
74
65
53
121
62
85
108
104
118
87
79
66
65
100
91
53
93
61
77
55
84
69
70
82
117
71
83
110
63
52
41
80
92
88
62
83
78
57
43
100
106
48
74
125
74
87
70
87
70
48
77
60
77
63
115
70
48
59
96
80
79
80
80
88
67
86
49
74
91
75
39
65
69
52
82
83
108
105
91
44
133
56
88
46
89
56
121
82
40
85
54
86
101
65
60
110
72
105
59
112
57
77
109
61
72
82
72
112
49
79
65
37
90
76
34
87
54
65
81
53
76
41
89
36
82
56
92
75
59
83
83
59
46
146
35
54
65
66
47
79
67
93
73
94
107
110
81
96
71
64
101
89
100
81
78
63
64
70
70
47
69
99
129
50
150
81
109
160
61
93
92
55
96
88
92
85
69
70
59
62
99
94
124
91
86
58
31
82
71
42
74
54
92
63
78
87
39
89
94
60
44
80
52
37
75
68
99
59
61
68
76
64
48
91
102
126
76
87
99
98
82
94
76
103
77
53
85
57
51
114
113
52
107
74
100
87
116
44
82
82
74
80
53
95
68
55
121
72
81
106
69
45
112
121
127
65
122
98
119
58
97
74
86
53
58
204
50
84
67
62
92
126
111
51
85
72
57
93
96
68
46
53
94
69
69
61
95
97
74
88
64
86
123
82
35
113
67
45
69
55
159
74
53
66
74
85
105
66
57
61
70
81
60
93
73
59
47
91
61
42
96
97
89
40
83
82
83
59
101
66
72
97
61
78
75
62
102
69
143
84
93
63
47
71
127
103
40
102
99
61
59
53
92
72
71
66
51
74
77
58
86
72
48
52
86
81
88
62
85
40
70
73
106
59
50
128
54
44
97
97
51
43
111
99
98
75
123
82
82
56
91
92
85
99
68
68
56
108
67
68
55
70
69
63
56
96
42
67
111
91
44
66
95
85
96
152
95
91
38
67
130
58
79
88
72
92
55
80
94
53
80
85
81
82
94
78
90
72
86
70
57
68
60
68
77
42
88
98
42
52
56
78
99
50
80
60
49
67
58
54
103
40
42
54
83
68
55
67
90
65
102
52
103
83
50
92
133
32
105
40
91
106
86
72
93
144
127
55
46
107
95
50
76
77
53
40
38
54
77
88
77
109
82
81
38
101
49
103
63
56
82
89
60
114
65
66
69
55
44
109
81
42
69
90
114
34
54
91
55
59
83
61
131
48
46
46
118
137
31
43
108
100
61
76
64
86
64
73
149
113
76
52
101
117
100
74
71
68
58
56
99
85
53
84
91
88
65
93
46
48
44
75
74
106
123
42
80
33
46
84
103
77
131
93
44
78
69
83
48
64
80
43
40
92
115
63
63
86
66
133
98
111
83
80
45
59
127
52
83
28
82
55
72
95
24
40
69
97
51
46
54
114
59
62
59
57
95
104
66
83
68
81
113
52
61
43
79
85
75
63
39
66
128
65
41
100
66
99
66
193
50
53
44
81
89
72
50
85
52
68
98
75
69
112
68
36
70
116
61
105
43
89
83
92
83
79
53
95
78
79
63
105
96
89
112
54
97
113
131
74
110
90
123
64
52
117
45
51
94
100
94
59
38
89
101
80
77
33
87
55
70
99
69
66
98
56
84
61
121
104
113
101
68
149
93
106
95
94
79
82
87
111
131
88
62
62
61
57
123
80
50
58
98
65
84
94
112
79
53
96
61
88
76
65
75
73
65
82
44
102
81
64
48
126
73
42
48
87
67
84
60
38
81
99
71
82
59
51
91
79
88
48
91
51
64
68
113
77
82
58
58
150
60
89
77
59
98
104
84
52
69
52
96
58
56
99
89
30
60
57
111
79
48
125
77
114
126
43
104
61
111
45
48
73
101
78
112
63
75
73
76
92
74
97
29
108
41
83
62
75
65
76
48
60
75
93
102
39
97
35
127
68
140
99
58
83
86
54
65
105
123
84
65
103
57
72
80
92
83
77
75
114
75
70
45
44
83
51
87
64
73
42
53
111
108
50
53
52
66
93
27
27
48
155
57
49
49
76
51
69
85
77
52
102
76
92
71
116
59
68
96
59
72
94
80
92
73
77
86
89
64
86
54
43
51
105
107
69
47
62
49
59
57
38
103
55
63
55
95
158
72
54
72
62
25
142
46
62
74
113
69
101
119
62
34
71
66
102
94
62
62
86
118
76
108
76
105
98
78
52
78
81
77
63
72
97
57
78
89
93
103
125
109
64
109
94
53
42
52
41
42
67
82
21
100
84
69
56
40
147
75
118
101
71
58
59
92
89
106
53
80
59
101
59
132
54
59
128
92
68
56
80
128
57
128
33
42
83
92
71
74
42
63
83
66
100
98
90
75
75
65
61
99
106
63
107
46
57
92
85
154
64
183
102
126
71
99
38
40
87
116
52
56
103
66
65
105
117
107
74
61
97
70
47
40
50
76
56
66
61
76
60
72
158
44
36
67
95
91
183
74
92
55
55
66
99
64
38
54
92
75
90
116
86
51
91
122
74
109
70
73
74
82
49
97
49
108
78
127
83
58
38
40
70
82
52
97
71
58
60
96
85
98
19
152
99
58
54
47
112
100
73
45
69
76
70
93
64
97
38
96
121
58
56
67
55
63
115
88
68
64
36
60
62
83
55
91
56
125
67
85
83
96
56
107
116
100
98
52
75
62
31
102
152
65
67
55
86
72
69
83
108
59
68
53
59
107
128
74
118
90
105
91
77
48
77
119
24
102
62
42
69
95
81
79
51
76
60
47
88
44
60
99
58
75
51
126
87
30
53
64
53
95
52
67
61
65
72
98
81
115
74
99
120
88
48
83
115
106
59
30
101
62
66
72
86
92
102
100
43
60
49
111
84
108
43
84
72
43
76
65
87
96
56
95
67
54
94
117
80
69
67
69
88
66
48
91
101
72
55
74
66
89
91
54
65
91
79
73
152
42
49
115
61
98
76
100
69
58
131
68
74
54
61
93
77
81
60
68
88
170
100
89
88
114
64
48
119
96
81
245
80
93
107
106
80
91
34
30
68
65
91
48
119
90
33
141
115
75
23
69
78
102
56
92
30
80
96
54
87
77
103
80
78
80
125
134
48
65
73
77
90
61
131
96
55
54
115
100
80
53
132
82
65
109
86
93
44
58
56
91
135
135
100
79
53
101
62
58
108
58
65
59
60
41
77
74
55
42
65
62
46
56
94
65
73
108
42
117
84
100
72
86
34
97
73
69
63
123
48
55
180
38
96
69
62
73
109
80
121
77
88
41
95
93
72
131
79
75
178
73
96
94
109
54
91
88
74
62
25
60
166
69
61
73
77
86
70
88
91
74
114
111
75
27
105
118
109
78
50
68
54
84
70
96
53
81
103
76
80
56
97
83
58
67
78
98
88
82
49
75
116
68
94
90
66
79
68
44
56
87
63
132
89
36
63
60
83
65
66
55
49
74
71
95
39
64
50
61
81
78
75
38
88
78
107
43
62
65
61
51
73
88
110
39
83
56
76
105
109
117
104
62
101
84
117
107
109
67
107
156
95
75
103
55
72
34
55
65
92
49
49
50
83
91
76
84
68
92
92
57
100
31
109
79
64
51
97
53
64
86
65
77
74
41
82
78
123
103
105
39
93
59
45
77
109
46
123
74
82
45
124
71
153
116
32
83
62
70
64
80
70
72
124
68
65
105
181
39
78
108
70
62
118
81
54
107
97
125
59
107
101
101
64
58
89
47
72
96
65
29
59
92
82
53
127
53
51
95
43
102
73
64
68
134
58
72
126
119
54
57
42
76
56
171
88
73
95
125
45
42
58
87
82
59
83
64
93
117
89
37
117
87
129
66
110
103
74
124
85
69
40
43
50
54
81
57
79
78
88
36
104
49
123
92
91
47
58
96
66
107
66
61
93
67
41
82
68
63
34
97
100
61
36
60
149
66
47
102
40
82
101
111
59
103
96
73
64
61
43
119
64
59
70
73
59
56
166
53
86
49
56
57
144
139
87
52
52
87
115
58
116
53
113
74
59
41
49
43
77
98
64
100
56
68
105
60
68
64
79
91
50
78
55
61
118
113
37
135
101
54
41
100
55
55
116
93
97
68
46
44
71
52
41
104
70
97
100
31
113
58
77
82
101
89
71
68
77
62
119
70
70
58
86
69
108
81
73
76
70
113
99
88
75
84
77
72
61
101
83
69
56
121
64
130
117
94
73
118
95
74
99
84
62
73
89
40
98
44
102
94
52
83
66
61
57
139
61
71
34
71
42
79
104
117
84
35
54
92
50
83
33
62
79
100
109
61
89
101
119
104
86
107
69
49
90
123
36
103
111
53
68
87
74
97
86
59
59
107
83
79
61
130
88
99
85
55
63
78
67
39
61
120
58
71
38
65
103
61
80
88
47
50
76
71
56
61
95
57
86
76
63
79
72
71
70
50
80
30
45
70
77
75
53
110
58
105
50
68
63
78
99
61
46
74
87
91
45
29
114
79
66
85
102
101
90
60
56
71
51
98
103
101
88
101
64
81
43
79
117
113
97
39
87
41
88
79
116
53
94
99
136
77
86
80
101
58
55
55
89
52
69
67
105
67
68
64
100
74
116
110
73
87
76
54
81
37
52
153
93
85
53
108
61
40
64
67
95
82
100
66
64
59
74
74
85
78
76
102
63
96
56
74
88
79
65
69
89
61
79
41
85
115
73
63
64
70
53
76
82
55
67
91
83
75
67
104
167
90
48
138
78
78
59
113
97
40
42
148
74
51
110
60
82
74
81
57
66
77
58
45
76
119
120
71
95
88
80
58
118
43
107
40
100
91
50
106
71
102
60
100
109
72
61
71
90
72
106
83
103
63
85
100
92
130
95
113
70
61
37
51
73
56
80
94
54
71
90
119
62
46
89
87
41
56
63
82
66
79
61
69
152
101
48
83
140
124
130
54
65
48
48
46
135
91
62
80
120
70
76
87
77
90
103
70
93
85
85
73
62
81
53
59
36
65
112
120
53
84
54
103
74
63
76
138
106
106
55
96
60
39
56
65
56
49
89
54
66
88
78
88
193
98
51
72
91
71
43
66
61
45
79
95
62
57
76
62
89
65
81
78
83
88
47
141
80
66
85
75
63
71
57
51
93
92
61
69
125
54
93
57
90
53
73
60
132
113
35
55
48
91
70
111
114
102
99
59
40
94
52
42
90
93
47
57
61
57
62
80
120
48
74
137
62
88
52
115
80
69
109
70
102
104
79
59
50
84
48
70
28
91
65
77
102
110
82
97
92
51
102
106
89
133
98
29
99
48
86
92
97
40
101
39
64
90
94
96
48
73
54
92
104
54
48
96
85
71
53
52
53
96
66
68
55
73
37
73
81
72
117
70
66
55
142
55
48
28
112
78
48
81
78
56
82
52
86
68
75
64
48
100
84
56
112
160
108
95
66
109
63
105
54
46
147
71
98
84
60
64
39
47
95
144
66
78
136
98
84
129
71
103
86
82
96
77
111
74
87
57
68
110
100
57
66
61
89
66
102
138
93
43
52
51
113
63
155
68
48
67
76
84
119
47
83
79
66
69
119
82
69
56
65
120
55
105
73
150
76
79
67
63
106
144
34
108
39
43
95
80
106
75
75
83
86
43
44
50
59
76
120
72
87
54
64
82
78
44
54
78
50
35
65
114
88
72
75
46
32
96
38
88
44
123
109
74
78
89
55
64
98
113
74
36
89
55
90
59
38
79
59
82
77
96
78
58
84
57
75
78
95
60
90
83
89
79
87
95
60
79
108
61
90
121
53
96
60
85
64
56
93
63
114
86
91
85
90
87
75
72
93
83
39
92
77
97
81
73
50
54
45
45
70
60
76
44
58
65
58
110
51
66
120
60
50
43
79
98
123
99
75
49
71
75
143
109
74
39
77
54
63
88
39
42
62
125
66
64
70
36
94
57
41
113
114
88
71
73
96
60
54
87
75
72
96
86
99
82
120
64
94
110
73
110
48
65
127
74
61
146
76
86
140
95
55
105
63
55
83
82
100
70
112
125
101
91
54
118
83
52
63
68
51
112
100
76
96
55
70
65
40
104
79
144
88
88
31
97
126
84
87
58
51
65
93
63
36
87
58
98
71
77
92
63
92
81
110
29
103
64
70
57
38
95
59
68
69
63
62
128
99
97
73
100
64
54
88
117
79
59
63
67
69
42
95
65
85
139
79
79
109
54
94
64
105
147
65
71
72
41
79
63
61
78
119
108
68
76
62
78
55
93
81
70
62
51
71
57
93
73
48
78
123
54
112
69
58
132
90
94
54
90
122
76
77
99
77
87
114
77
49
82
119
72
86
94
104
40
48
75
47
57
111
34
119
61
55
79
54
85
69
53
54
76
56
139
73
57
85
104
94
61
52
113
67
66
58
53
62
55
34
103
61
72
59
71
74
65
86
70
70
74
80
81
27
98
88
95
64
86
71
53
56
79
40
43
62
76
82
71
68
67
83
48
52
99
94
61
88
52
135
96
113
102
52
58
79
86
74
89
48
98
35
71
67
96
48
112
80
89
66
84
46
60
55
88
42
52
53
62
44
83
73
66
88
119
75
90
52
59
43
80
76
65
109
58
82
53
65
92
56
56
69
84
115
55
57
69
32
63
123
87
98
71
118
96
140
56
102
46
41
96
119
64
62
65
122
68
104
83
64
87
88
68
60
59
86
102
125
40
104
57
170
136
74
116
73
44
87
86
73
87
86
150
74
39
59
46
104
100
133
90
79
73
65
48
106
74
54
90
90
85
123
61
90
66
43
76
83
60
62
146
99
100
66
57
75
62
106
71
53
62
87
91
78
41
123
69
131
53
108
53
103
80
88
126
69
77
102
88
85
99
50
70
40
36
108
64
91
40
120
61
88
64
40
51
106
86
71
90
73
68
52
60
81
73
74
97
58
107
68
63
98
63
81
51
84
69
85
104
120
70
67
57
84
45
77
54
72
38
62
152
62
92
98
68
77
57
88
71
82
58
106
105
57
79
94
45
74
35
111
119
66
59
75
36
76
28
103
62
82
71
92
72
81
66
66
79
60
67
112
39
63
40
63
67
116
69
40
59
116
125
66
144
88
43
107
69
46
54
110
67
87
98
80
70
65
41
53
84
88
53
77
89
88
65
93
68
68
87
63
138
86
98
101
72
61
63
65
59
81
74
75
59
109
126
71
90
63
110
55
91
47
65
50
60
103
65
74
94
97
80
43
85
98
72
61
79
131
93
105
53
102
73
40
79
84
50
59
61
114
80
114
64
85
83
81
52
63
52
56
53
60
63
91
79
91
111
85
175
68
67
58
58
70
70
85
67
79
101
74
101
92
67
76
112
64
62
101
93
59
92
72
104
107
113
52
66
59
67
85
45
87
116
62
50
53
60
50
60
86
82
75
90
75
88
89
71
92
61
55
42
43
64
55
114
83
104
77
74
93
57
70
74
85
71
71
72
58
43
100
75
98
30
43
85
77
92
99
56
60
60
46
49
81
89
76
68
87
78
73
79
114
53
40
66
49
65
70
56
61
88
138
63
90
63
60
80
65
78
108
103
102
77
96
74
78
73
67
72
64
66
63
68
97
82
34
103
93
42
60
50
86
92
116
90
86
79
121
56
47
72
81
48
57
110
53
61
63
47
51
89
121
44
81
31
50
68
105
72
113
73
102
84
115
145
51
66
63
123
85
35
48
97
105
79
67
48
56
77
41
71
45
95
84
143
29
86
41
89
124
59
88
121
69
71
139
104
54
75
69
91
53
47
83
101
93
89
36
105
54
109
95
94
94
104
49
38
75
81
54
97
71
56
51
60
112
77
100
57
52
38
65
123
59
62
67
79
61
52
97
59
88
61
50
48
54
53
81
94
99
68
66
89
59
86
102
59
56
55
78
63
68
62
82
139
54
103
55
117
68
85
81
146
91
64
78
60
63
67
57
33
83
92
27
96
88
84
79
48
50
65
51
82
92
47
78
79
104
93
52
91
51
113
60
53
89
72
38
60
77
43
60
90
81
82
93
69
108
55
45
104
53
37
92
68
45
139
81
96
74
38
140
70
75
47
82
66
50
69
129
65
98
34
68
79
96
77
59
61
50
59
84
63
49
107
74
75
30
67
71
48
120
95
58
81
55
65
97
96
84
91
75
62
96
91
56
62
129
67
78
40
84
72
62
64
67
89
40
55
59
56
81
94
34
42
140
55
112
82
48
39
61
84
101
53
71
29
78
96
82
97
58
86
74
95
91
39
86
116
118
76
63
105
72
73
93
79
100
100
94
71
77
82
77
52
47
62
56
71
52
43
64
74
111
77
62
69
56
99
46
45
109
59
103
118
91
74
67
44
105
87
90
75
97
69
44
83
181
74
44
36
121
119
56
57
85
68
73
142
110
49
124
64
55
58
49
72
72
100
70
126
88
71
53
90
64
75
100
154
58
106
92
151
147
79
57
150
55
86
111
50
47
88
57
57
46
86
96
85
82
144
111
114
123
53
103
73
78
45
94
35
81
75
58
146
45
74
63
158
65
78
73
54
77
87
126
58
97
39
59
38
51
61
58
138
102
41
92
55
58
91
69
87
41
72
85
71
95
58
124
73
74
131
67
143
39
53
52
59
93
79
50
94
109
58
39
36
48
49
46
114
53
79
75
65
51
56
68
34
113
98
82
62
104
92
40
105
94
61
51
106
55
85
57
64
72
109
131
57
106
39
102
80
46
104
66
85
96
66
105
96
76
78
71
116
81
75
55
141
75
115
45
72
60
103
85
41
63
91
63
63
87
105
50
88
97
98
76
53
85
88
79
87
82
49
58
39
71
133
32
76
62
57
133
71
48
84
65
68
116
56
49
107
144
91
101
137
47
85
50
148
92
96
80
83
108
168
109
53
79
74
83
63
71
116
124
37
85
50
88
93
70
59
78
52
93
56
51
78
68
126
72
88
86
141
26
89
56
131
33
60
63
90
95
87
106
41
88
103
42
35
106
58
58
75
46
58
54
41
114
80
80
81
62
125
96
123
94
73
49
97
31
99
57
77
70
114
73
61
94
121
73
39
78
53
50
60
82
68
83
82
102
66
103
77
48
93
46
87
79
75
88
92
91
96
52
54
40
88
116
70
93
68
144
143
100
79
70
94
57
117
105
95
69
98
89
69
86
54
57
107
39
120
96
68
34
102
59
79
67
45
45
72
76
80
79
110
96
150
59
90
97
83
82
56
69
77
79
85
57
52
37
42
97
79
59
59
42
82
78
43
65
76
96
95
63
94
57
83
46
53
96
54
121
120
54
42
109
59
45
49
105
67
73
135
51
92
66
95
72
76
88
66
39
55
56
101
112
59
52
60
64
115
71
41
56
82
73
78
42
76
78
92
80
44
86
80
71
61
66
58
92
97
127
55
63
42
107
42
79
65
66
66
100
99
99
68
98
98
107
49
117
80
44
63
61
110
63
52
62
122
68
83
78
34
150
64
96
106
93
77
82
42
107
56
87
88
114
52
84
147
78
87
69
119
35
78
89
133
88
68
67
95
79
132
77
62
44
110
84
71
73
69
115
88
54
176
52
66
102
86
79
78
88
108
44
96
114
95
78
63
63
44
119
63
87
77
99
102
103
41
98
68
78
73
80
52
111
159
71
86
59
50
94
92
132
109
52
90
72
83
72
51
90
70
104
40
77
56
38
36
56
101
100
92
66
94
62
81
61
86
94
57
54
144
51
94
107
86
58
57
91
104
70
101
89
69
84
92
91
113
61
43
84
53
105
97
68
92
151
79
71
55
80
52
81
66
117
79
93
48
56
103
77
97
66
46
40
30
127
111
142
72
107
69
57
79
104
66
107
65
83
73
45
39
44
47
68
105
70
80
55
124
89
32
95
92
129
84
58
105
61
112
125
45
85
106
80
131
134
97
91
76
70
71
68
53
125
129
114
87
98
43
65
74
78
93
26
76
34
98
88
84
54
75
65
82
48
48
78
82
72
87
125
70
90
46
59
44
39
72
54
93
60
86
76
52
96
69
107
108
75
84
82
90
60
75
49
44
99
160
79
107
103
91
112
48
61
81
76
54
38
91
66
124
68
46
51
46
56
80
53
83
73
107
70
93
81
66
98
92
58
95
89
67
55
98
64
106
91
42
107
112
62
84
70
94
85
54
51
45
87
47
80
61
54
84
104
76
119
58
118
101
56
81
84
60
72
44
88
127
124
106
109
128
72
94
87
58
69
80
115
100
60
74
57
85
105
112
50
80
59
55
96
72
46
68
69
104
53
85
42
31
95
68
53
33
72
47
77
98
93
65
87
142
129
91
31
98
65
77
95
80
54
80
81
76
75
36
48
61
94
78
97
113
72
58
82
81
86
84
66
26
37
102
76
76
73
102
78
75
76
102
74
59
77
81
81
81
86
91
105
73
97
56
78
48
49
69
98
90
52
112
41
68
152
40
87
122
81
60
78
80
105
105
89
116
54
90
62
69
68
54
58
147
60
125
54
71
59
118
88
56
81
125
98
77
59
50
107
61
52
87
74
108
43
56
88
69
102
105
110
75
20
47
48
105
56
75
99
66
55
42
62
80
79
132
126
75
89
97
120
134
87
63
50
81
102
70
46
78
47
59
94
47
111
77
89
39
118
89
89
50
106
84
40
77
88
86
58
64
65
67
69
80
61
102
97
65
62
45
100
48
55
87
91
60
42
87
88
78
121
56
86
104
92
38
58
81
142
77
50
64
51
74
51
41
79
80
85
69
78
54
75
74
71
46
141
84
57
61
87
125
64
73
90
82
79
66
56
88
55
106
148
122
111
153
65
100
106
81
85
126
41
76
73
73
83
76
51
81
33
91
70
105
55
60
55
98
62
122
100
56
55
74
50
85
101
91
70
68
98
112
118
156
93
44
55
109
56
147
91
104
56
104
89
53
41
65
87
46
130
69
54
78
75
60
65
83
86
112
63
85
93
51
57
70
70
85
68
96
84
71
86
55
86
41
59
53
88
154
65
65
73
75
38
59
59
57
70
73
61
86
45
53
139
88
92
150
52
82
83
42
58
126
57
41
91
57
56
70
63
40
72
150
65
81
74
70
79
65
124
72
57
80
81
86
92
44
65
100
75
93
101
52
80
157
57
78
73
91
61
88
76
93
49
48
63
53
40
77
87
87
67
140
41
70
74
103
67
80
88
82
77
58
55
83
139
139
82
70
59
38
127
57
82
111
125
63
57
37
69
97
128
90
98
43
85
124
97
70
52
141
43
53
54
83
77
43
145
66
54
77
62
99
87
56
48
108
64
74
42
60
99
99
108
42
25
113
230
90
107
49
36
78
56
73
131
107
79
87
50
93
65
82
83
54
59
45
57
114
65
109
56
87
79
72
71
57
134
116
89
95
28
120
47
86
79
51
85
97
109
86
33
71
48
78
79
84
56
70
66
84
64
55
71
87
86
42
62
66
85
69
64
47
99
98
71
56
42
41
80
33
99
93
86
39
66
28
71
94
100
54
54
41
102
58
76
88
83
39
69
95
50
56
56
82
47
123
86
40
63
91
130
54
94
99
95
96
95
76
61
100
52
58
89
90
104
57
61
53
70
100
65
90
49
54
41
50
70
69
30
48
148
74
68
69
50
92
74
47
107
84
82
76
87
63
117
46
40
76
96
96
69
66
90
55
88
70
62
59
83
87
98
111
60
151
111
69
81
49
62
68
34
64
40
46
53
90
33
84
42
55
46
56
38
78
70
97
99
74
66
84
108
64
107
68
69
103
91
123
27
84
179
59
87
73
74
111
110
42
96
60
133
151
47
78
70
68
43
109
49
59
54
70
110
112
72
60
107
75
54
49
83
71
104
109
75
94
100
54
85
52
81
77
144
54
38
57
53
64
108
55
71
51
72
76
64
92
92
68
63
109
68
49
138
84
98
72
82
83
80
67
88
81
72
100
72
50
51
48
47
47
66
75
83
103
75
72
149
78
73
45
54
58
125
57
58
67
55
50
62
74
102
103
85
47
75
81
95
75
67
94
56
47
106
108
86
75
97
90
124
66
64
41
96
107
47
115
72
49
48
57
130
42
38
40
76
95
62
87
57
91
85
63
61
46
38
54
55
71
107
57
59
125
85
61
52
59
89
50
64
59
66
81
50
51
74
61
76
35
84
32
45
75
94
68
53
30
101
64
49
31
68
74
73
28
55
65
76
56
62
84
55
85
112
95
68
123
122
60
87
91
78
70
138
181
52
104
66
38
110
40
78
53
86
50
95
83
99
101
153
57
30
44
94
92
56
75
61
119
100
96
81
100
64
53
77
83
90
59
85
76
50
70
57
70
65
24
93
83
29
87
65
61
109
64
86
42
111
105
109
76
67
108
104
78
50
76
94
83
62
64
86
88
39
44
55
71
72
59
49
71
85
58
76
61
86
118
47
37
58
79
38
55
60
131
95
69
49
70
91
121
81
97
90
95
65
92
63
71
55
54
30
41
70
71
68
110
81
70
56
62
76
38
58
66
79
36
88
77
39
84
68
89
54
55
119
50
55
154
76
43
95
88
63
55
108
59
57
80
43
68
80
70
69
42
104
108
88
52
70
60
66
56
109
94
103
57
68
66
82
66
91
104
72
65
41
50
115
83
77
72
124
106
25
106
82
110
64
46
67
122
71
60
81
100
76
103
42
87
109
44
82
66
86
71
43
44
81
85
103
72
87
60
70
96
82
73
83
98
79
110
96
65
76
92
67
78
127
95
26
86
54
81
53
76
67
76
78
55
67
62
53
49
63
59
113
49
86
33
58
71
71
69
71
73
104
52
58
66
67
57
150
46
50
55
84
69
87
56
70
50
64
80
50
38
90
91
77
106
99
36
81
72
44
153
85
180
37
88
111
84
56
69
93
104
82
72
84
63
60
155
42
54
97
94
49
50
67
97
132
48
82
54
52
86
77
94
48
51
47
95
88
32
76
64
65
97
71
41
47
101
119
151
90
93
82
108
50
158
63
63
87
90
68
71
82
85
115
60
64
56
135
70
67
96
37
81
159
57
56
62
139
83
70
127
36
71
75
64
87
37
86
73
67
105
94
35
97
75
52
45
103
66
110
78
94
63
52
84
49
102
73
89
81
92
45
56
68
76
78
97
56
49
40
23
92
47
73
88
87
72
53
111
88
79
34
110
54
101
83
56
86
51
56
49
106
84
68
92
122
127
32
82
102
83
101
63
59
79
31
107
69
79
61
55
68
121
45
87
97
92
52
72
96
52
58
86
69
86
91
99
102
33
112
76
50
40
95
91
102
69
98
86
72
52
65
99
86
45
95
79
53
49
81
72
54
84
103
105
61
85
86
55
45
62
80
35
79
45
93
43
77
56
60
107
110
100
53
67
113
55
113
57
98
63
88
111
61
95
42
114
88
110
120
78
103
103
51
96
66
66
77
56
85
69
39
96
47
110
109
144
42
118
93
69
85
59
91
82
76
50
66
88
59
46
82
67
100
93
60
50
79
97
50
68
69
110
48
96
67
127
67
72
78
112
41
38
72
70
68
75
34
56
38
79
75
56
171
127
63
93
75
95
46
63
52
51
56
96
95
88
62
67
48
45
123
54
35
61
79
165
56
58
65
62
86
127
88
87
96
104
75
122
38
61
121
46
64
67
58
61
67
79
53
98
38
104
105
70
49
88
163
95
66
105
58
52
72
61
92
92
85
33
100
97
57
58
69
74
111
49
66
64
72
102
63
104
78
52
63
97
29
55
54
65
100
163
55
77
98
148
91
64
91
58
82
66
79
85
89
111
122
96
68
94
116
65
59
63
40
48
67
65
69
84
58
54
50
58
39
101
120
79
62
60
60
63
68
79
75
68
131
142
60
63
39
67
85
54
73
83
54
65
96
85
64
42
86
81
88
83
147
114
79
71
88
91
88
94
45
68
68
64
94
57
83
71
105
115
64
107
81
45
42
89
47
58
76
122
133
76
106
70
55
100
95
113
104
70
42
105
47
68
57
79
98
64
59
73
83
91
100
99
95
87
67
76
54
52
82
104
90
53
76
38
57
81
72
88
70
77
84
47
69
81
101
75
55
70
115
36
78
52
70
84
85
70
89
105
67
65
61
78
134
44
63
54
86
97
40
75
72
97
120
128
33
72
96
63
98
47
60
102
61
68
72
83
91
86
47
96
123
63
81
62
74
110
95
81
40
82
84
61
74
92
46
116
73
83
104
108
66
54
95
84
69
49
71
99
61
73
55
44
56
73
79
80
106
80
66
66
101
162
96
89
132
55
86
79
62
86
52
50
116
132
71
38
121
87
55
126
96
72
74
52
119
71
85
72
76
102
92
94
77
61
45
108
64
93
89
104
45
113
86
65
57
110
71
66
78
114
65
77
77
67
47
54
77
57
91
113
63
98
64
84
105
75
36
66
64
47
113
75
86
108
54
76
96
109
54
76
67
53
69
94
66
49
114
84
97
40
128
64
99
67
106
43
114
54
66
53
68
71
116
50
51
85
44
81
42
84
105
78
92
57
109
86
33
99
72
106
82
66
70
83
96
54
95
60
88
104
63
68
50
49
78
84
102
53
71
34
94
72
99
26
86
155
86
120
74
85
47
56
82
98
84
52
78
59
103
69
168
54
60
128
114
37
63
94
58
75
85
43
138
89
96
31
28
55
46
69
117
61
86
81
69
84
77
73
74
109
111
85
50
59
36
103
56
125
104
49
41
74
48
47
47
54
45
75
73
58
52
67
86
51
57
99
125
46
93
106
59
93
109
81
98
104
106
61
108
85
103
80
110
39
37
70
95
74
91
71
76
73
54
80
66
59
94
87
71
69
56
125
90
44
40
47
66
102
79
72
80
78
76
112
59
58
68
79
107
51
81
85
93
49
84
128
54
99
80
94
72
65
61
47
52
60
114
68
220
120
54
60
35
57
80
72
30
88
101
74
83
41
109
102
130
88
70
117
93
69
67
120
65
91
104
63
79
98
100
54
102
114
60
71
86
90
122
85
82
85
115
59
76
108
140
97
95
52
59
46
55
121
77
49
42
78
58
77
103
73
58
83
130
116
76
51
93
74
88
41
80
73
83
48
45
30
51
66
74
88
57
65
71
79
75
96
63
90
54
111
42
71
83
149
42
53
54
114
84
45
112
61
97
118
138
40
96
82
74
151
60
79
100
37
68
93
87
57
59
73
77
47
64
56
77
163
74
83
60
53
81
88
69
81
58
103
84
36
72
119
93
61
113
123
48
79
84
126
57
42
71
63
78
55
43
93
71
59
97
145
56
68
31
71
91
80
86
41
82
79
48
38
36
50
67
63
66
56
68
48
44
66
122
84
76
119
78
49
60
28
70
64
82
74
29
55
61
85
62
63
73
86
48
53
107
108
84
108
62
43
58
77
120
55
79
126
60
94
47
51
78
82
61
68
68
43
81
77
71
46
91
90
64
47
67
98
87
106
43
70
123
44
63
73
111
67
127
81
69
34
97
58
65
87
78
83
40
78
74
80
43
87
107
51
99
104
71
87
69
114
55
38
101
77
84
69
95
75
93
85
51
91
74
51
52
84
63
113
60
77
107
91
41
45
95
72
80
91
67
95
99
86
38
54
83
81
34
71
79
62
109
77
102
115
86
39
51
110
56
120
63
51
96
65
66
65
75
57
93
115
91
116
90
48
59
61
71
86
69
92
72
78
48
47
129
97
76
100
101
94
69
86
61
38
98
60
91
80
100
105
149
47
88
49
61
117
95
37
90
67
89
44
54
105
132
81
168
73
77
89
96
51
60
87
81
67
78
78
103
145
89
65
84
93
66
51
64
86
38
42
81
77
54
106
85
85
101
111
131
97
106
101
116
60
113
118
121
66
99
80
56
74
59
161
44
117
93
85
127
183
85
63
72
52
66
69
63
76
60
45
75
79
76
114
100
48
70
47
44
55
70
65
60
74
129
94
65
79
95
97
47
54
55
99
90
94
82
94
59
83
61
107
117
32
66
81
108
92
110
66
51
51
62
98
98
53
122
79
97
113
69
96
95
76
39
114
68
99
137
89
85
79
89
39
96
93
54
51
81
80
114
54
65
63
94
83
83
70
74
78
47
62
98
73
116
80
75
139
46
93
52
47
47
119
61
156
49
61
83
65
66
65
105
72
75
102
64
78
93
93
64
157
62
56
95
69
56
61
85
63
66
125
75
31
109
55
72
38
47
62
70
71
43
118
63
46
63
67
101
74
62
63
42
75
103
106
107
104
50
63
112
126
89
29
69
63
141
38
69
86
57
81
46
42
63
114
47
66
62
97
87
57
56
58
69
84
111
40
78
52
48
118
60
66
74
144
77
45
90
66
55
113
83
95
33
112
83
84
50
118
68
105
102
75
143
118
69
94
54
100
45
79
82
72
78
38
73
94
64
128
77
58
73
64
65
104
90
42
78
82
72
73
67
54
69
148
71
58
80
71
49
65
61
93
54
113
59
87
45
96
75
103
39
66
60
100
71
86
84
109
127
41
65
91
79
76
87
89
85
33
65
73
96
70
140
72
69
64
62
67
73
80
44
62
61
64
108
46
69
100
48
72
106
90
55
82
49
64
55
53
66
101
60
45
98
71
115
58
53
39
85
59
90
78
131
51
66
64
56
80
63
54
116
81
82
119
51
53
107
45
100
64
62
52
119
40
46
59
56
65
87
88
108
102
46
77
46
70
89
70
63
82
58
58
83
92
95
137
52
73
57
42
65
47
94
105
44
49
86
88
119
97
28
40
62
106
66
56
94
101
67
83
57
57
64
95
97
100
95
53
99
35
65
65
51
84
142
70
110
82
122
68
46
61
76
104
43
78
104
100
64
94
225
58
110
47
50
72
77
85
165
42
177
44
72
37
89
90
49
95
105
49
69
73
98
78
71
97
72
78
110
59
83
77
96
122
94
66
53
116
87
118
61
76
105
101
80
51
75
56
46
69
54
62
88
65
59
56
87
98
39
95
85
55
77
60
71
56
64
59
58
82
107
83
90
83
137
102
67
83
86
54
92
126
37
105
95
124
107
75
60
57
66
56
104
56
50
52
74
121
107
71
91
98
62
50
47
60
51
94
92
105
78
107
119
77
87
46
116
105
95
64
47
94
27
103
60
58
51
76
64
64
80
51
72
153
69
65
108
86
90
58
80
153
131
67
76
89
66
37
75
100
93
61
37
60
80
54
168
79
129
47
79
88
134
85
58
112
59
68
51
118
90
77
66
55
61
88
88
76
63
120
144
122
122
27
54
52
72
68
70
75
42
66
48
71
77
68
90
69
50
92
62
109
108
101
93
105
77
83
55
70
79
66
114
111
65
71
51
87
55
57
104
58
62
36
69
85
69
37
75
75
46
63
99
110
46
93
130
93
78
98
58
33
157
84
68
97
75
87
81
73
56
110
58
68
112
106
92
72
88
83
61
63
83
83
134
100
63
83
116
43
73
55
80
38
84
86
99
70
69
68
77
91
120
94
103
85
63
71
104
117
103
75
103
56
42
59
46
80
56
104
54
42
63
83
67
60
50
99
106
87
90
117
85
74
66
174
41
104
143
56
101
85
85
101
59
69
57
48
104
104
93
180
107
59
85
45
133
63
102
103
63
80
88
68
79
89
67
37
49
61
89
103
89
80
63
41
74
106
54
98
66
58
64
54
48
102
48
39
116
54
75
93
90
102
87
153
62
100
103
75
90
78
76
86
34
75
87
112
62
57
75
32
81
112
62
76
68
76
123
61
72
74
108
70
114
44
89
61
45
59
35
114
101
74
87
92
111
40
56
57
63
84
67
70
100
33
92
116
77
73
70
55
61
61
61
58
122
73
86
57
73
49
104
99
153
71
55
50
73
44
99
62
79
69
80
98
99
92
106
63
44
102
54
66
58
57
61
67
85
104
69
147
102
61
41
66
85
81
123
103
75
67
80
75
34
68
71
99
31
103
81
66
84
91
92
62
62
104
68
55
73
72
50
45
122
65
34
45
83
68
49
75
101
88
84
112
88
78
65
85
93
65
88
57
63
70
72
67
88
124
89
96
73
71
55
93
62
135
84
135
95
78
75
79
80
92
59
106
127
59
58
144
34
66
85
53
82
73
70
38
111
76
66
87
63
87
72
48
84
74
86
92
50
58
34
50
89
69
81
66
91
91
63
61
77
37
80
75
157
55
74
38
41
45
60
91
100
80
63
70
95
84
88
127
97
69
65
119
100
48
54
69
90
43
55
73
110
67
102
79
86
56
84
78
51
71
96
60
88
69
80
109
80
78
60
69
59
71
61
93
92
56
100
109
137
37
70
85
52
117
76
63
82
31
115
81
62
87
40
60
65
81
50
102
141
188
57
76
66
115
57
81
74
116
36
88
93
116
66
73
92
115
116
114
41
65
49
74
77
114
75
56
53
88
97
71
102
114
92
66
51
61
101
85
84
61
64
57
36
55
46
96
86
123
62
41
83
74
85
108
115
68
86
87
73
118
71
66
64
74
52
69
43
54
77
58
52
59
40
90
79
91
50
105
58
81
94
69
99
59
76
84
140
44
51
108
62
35
37
71
65
82
54
59
83
34
105
90
111
76
74
62
46
54
49
70
103
53
91
94
73
81
129
75
55
91
56
77
73
93
74
72
37
80
68
97
98
72
103
75
49
102
73
71
134
100
87
104
78
60
121
54
62
75
91
56
97
83
66
63
77
78
43
54
87
55
128
56
56
80
71
88
106
105
57
82
63
177
74
122
67
71
137
102
125
72
83
118
72
100
70
112
38
78
57
102
51
51
70
91
78
85
69
96
153
66
61
84
86
103
39
62
47
55
72
53
94
68
91
56
63
120
82
93
80
112
102
49
48
63
81
75
75
77
57
49
86
82
94
41
92
68
64
84
59
80
112
95
66
82
82
81
53
92
41
67
81
67
56
76
66
93
118
126
101
112
71
51
97
67
77
59
124
86
59
67
32
44
87
71
89
79
102
64
58
52
68
21
48
77
67
60
70
96
96
117
70
74
73
51
51
122
123
58
50
53
66
74
45
115
96
83
57
85
47
71
115
65
64
87
91
142
110
77
65
49
78
79
74
115
66
113
55
62
91
83
51
89
74
58
77
72
109
45
52
46
104
93
98
82
87
62
63
91
96
93
62
132
99
63
130
94
49
100
101
78
59
66
44
90
67
70
76
105
73
79
36
115
81
83
63
77
82
70
59
66
97
101
88
140
55
49
47
51
80
74
54
54
82
139
73
83
114
77
142
67
82
92
101
74
64
68
106
33
52
86
75
62
76
53
88
104
47
96
47
79
91
131
113
89
71
69
66
99
108
53
81
114
53
57
89
83
69
71
57
103
61
128
33
88
45
56
83
74
53
35
105
81
72
93
75
64
74
116
113
79
84
40
72
60
57
58
44
87
58
48
62
72
61
101
91
60
58
115
63
116
110
31
120
50
89
76
95
53
86
73
54
64
49
89
65
77
59
30
86
66
65
82
82
57
69
41
68
64
113
61
84
89
56
116
86
61
70
76
98
50
75
74
116
67
87
109
78
64
102
104
85
76
132
70
64
65
73
52
47
112
67
98
99
31
66
87
159
40
72
56
49
54
48
90
45
55
40
79
109
68
86
111
128
88
52
101
58
55
46
86
66
87
116
89
55
62
70
38
92
127
53
53
40
81
73
73
72
62
42
99
68
81
85
78
98
72
96
74
90
67
66
75
85
89
117
68
52
60
98
84
79
84
76
60
109
101
71
80
87
73
82
81
55
46
83
98
55
77
63
54
73
37
64
42
77
80
27
61
74
69
96
84
70
49
82
96
104
76
63
97
56
100
71
62
71
97
64
96
24
119
86
41
73
75
40
33
83
121
33
65
71
105
107
82
186
73
76
84
56
34
88
66
114
101
61
47
59
109
96
46
94
65
72
56
91
88
78
142
54
57
83
95
111
112
46
104
76
55
66
69
105
114
86
54
80
109
90
117
75
42
84
63
66
94
119
79
72
46
56
118
163
69
80
102
59
86
75
41
98
92
86
47
97
52
77
83
85
75
110
71
54
108
81
71
62
137
85
48
75
64
57
69
67
61
90
43
82
66
79
94
67
85
86
75
106
101
98
66
98
109
35
78
37
53
80
90
87
75
35
69
77
77
77
104
56
79
55
65
44
57
90
49
82
41
106
106
42
52
109
83
87
44
51
31
80
71
75
45
37
111
50
44
84
66
99
47
82
58
95
82
44
79
42
80
153
83
60
94
48
80
65
95
73
107
61
53
63
60
76
64
79
113
103
58
108
86
60
73
99
78
91
82
68
84
107
51
70
84
58
78
81
58
91
55
68
38
172
63
62
102
95
122
73
65
76
62
92
58
62
50
49
164
50
59
76
67
98
93
107
84
64
80
72
78
62
108
88
76
86
47
56
70
58
92
82
90
96
81
32
67
86
118
73
90
101
106
94
93
95
49
59
68
70
84
81
73
102
39
94
144
91
35
80
94
75
41
91
85
123
88
78
71
52
96
84
72
75
43
94
92
70
87
48
73
34
64
94
63
59
68
49
62
113
40
75
81
63
106
87
101
67
102
64
83
119
58
49
139
79
46
47
70
105
78
116
52
134
85
93
56
59
67
72
112
78
73
60
55
115
62
72
63
79
134
72
98
143
63
41
96
108
68
69
41
64
90
57
62
84
75
81
44
52
45
58
90
71
91
80
66
82
26
55
91
98
74
60
73
67
87
80
21
47
96
82
117
98
126
112
80
132
77
110
108
46
129
64
64
71
71
98
83
52
136
141
113
120
67
77
39
47
87
45
64
153
82
65
125
61
129
99
72
46
119
107
63
59
51
71
98
85
96
51
27
52
90
60
66
108
79
87
35
89
66
56
63
44
66
68
78
137
85
65
99
66
47
129
60
34
132
116
59
79
106
58
68
92
58
61
103
140
66
103
76
76
56
73
86
95
66
60
81
146
68
122
75
95
127
91
65
74
59
60
75
60
76
64
60
72
64
81
48
77
70
60
72
74
105
80
64
80
42
110
162
92
75
97
60
107
47
84
62
62
59
68
93
74
47
70
62
69
95
104
45
85
48
119
67
69
85
39
97
69
75
65
88
99
69
97
38
92
51
80
51
68
85
98
105
171
110
80
88
71
100
63
102
138
87
41
68
122
71
100
27
92
108
86
77
86
60
71
56
56
75
79
111
84
97
88
94
76
78
112
86
40
50
52
92
75
51
59
97
58
95
35
92
113
31
51
149
116
87
59
78
89
58
84
96
62
32
49
67
60
45
54
156
97
100
55
77
44
64
67
61
71
103
78
76
39
76
54
108
86
110
46
145
64
65
78
50
69
100
100
103
77
64
94
122
95
114
54
102
41
90
74
111
63
59
82
69
78
56
99
120
74
52
49
56
71
74
116
105
67
67
65
84
43
51
80
65
68
49
60
89
119
140
109
46
79
55
117
60
58
84
86
90
93
65
75
111
76
34
83
48
74
63
102
47
51
89
49
113
119
103
66
70
114
30
112
42
84
86
51
69
41
76
101
71
61
109
56
81
97
44
48
58
83
48
48
62
102
70
46
89
63
102
63
69
63
75
67
50
67
68
106
64
31
110
112
55
60
39
142
84
62
59
49
90
61
70
52
102
112
91
110
113
66
89
81
54
31
43
92
46
35
92
63
68
75
79
95
57
39
65
81
127
82
66
53
92
99
96
74
65
129
131
114
74
87
92
67
67
72
74
78
84
73
88
98
87
24
104
97
101
85
90
64
64
75
100
63
58
31
67
113
72
90
63
110
97
103
102
102
92
97
87
79
79
83
61
70
66
74
118
74
73
111
101
70
78
46
86
73
66
100
41
68
71
52
83
90
82
74
105
93
66
28
42
55
91
66
101
106
60
57
82
64
53
126
43
79
82
55
105
49
68
59
123
84
58
34
58
81
78
67
77
32
78
65
54
40
93
57
113
68
57
59
85
91
102
78
95
106
39
124
79
65
90
51
45
73
36
83
64
100
90
134
86
44
95
70
137
54
59
78
74
99
46
94
88
69
91
139
74
40
76
81
56
44
104
98
106
65
58
117
50
133
92
68
67
93
26
27
104
95
90
55
65
122
121
54
57
55
58
69
69
57
98
42
92
83
86
67
58
73
94
100
70
62
20
67
82
80
80
115
107
71
72
125
37
40
65
78
85
52
68
132
80
84
65
40
78
60
46
67
57
110
67
143
81
57
66
82
51
142
91
98
63
61
56
93
73
112
79
83
85
61
119
61
57
65
87
59
172
92
83
56
65
56
93
59
99
76
38
74
70
61
100
74
86
71
69
106
53
78
96
49
47
83
68
55
91
50
86
61
81
99
72
91
42
62
63
63
108
92
100
81
118
114
72
104
85
93
87
109
79
55
87
59
69
101
110
102
116
64
50
59
61
65
99
81
88
73
100
105
102
68
43
59
110
67
57
47
103
92
112
47
140
57
82
94
39
31
65
78
68
90
77
73
52
54
54
68
69
93
98
54
69
100
54
107
39
65
120
59
85
72
68
80
48
82
64
108
110
90
81
99
55
147
92
92
34
81
93
57
83
92
38
46
56
53
74
48
85
84
60
138
51
66
97
118
134
84
110
94
67
52
61
118
61
73
28
84
66
102
116
82
89
29
72
77
99
68
107
85
42
87
54
47
70
93
69
83
72
83
50
110
57
69
61
90
103
75
23
84
112
81
96
90
92
94
63
96
50
96
55
38
54
66
107
73
64
64
66
66
96
76
62
45
54
108
75
63
97
83
73
139
34
63
87
133
89
55
105
36
80
60
129
117
90
68
75
115
52
94
72
45
37
101
107
79
153
78
65
94
78
88
133
88
46
71
53
74
72
64
76
85
110
44
53
80
57
51
56
86
68
53
118
72
111
127
89
38
62
81
58
89
75
80
110
73
77
53
74
59
79
66
55
82
46
50
50
57
72
79
84
127
83
55
61
79
113
82
81
62
60
42
98
99
89
51
121
50
101
104
75
44
96
72
149
73
98
69
94
100
54
62
56
57
88
95
91
59
122
73
60
112
84
65
52
82
95
77
76
59
68
116
57
106
34
100
96
47
78
57
86
86
73
88
66
50
76
68
69
39
86
88
66
57
97
48
73
58
96
102
101
58
44
50
58
54
88
79
80
51
55
29
132
103
76
78
102
27
105
49
65
67
85
88
87
79
73
74
73
66
76
84
86
65
92
76
50
58
58
75
84
80
47
57
43
69
56
78
66
74
70
112
77
61
70
115
59
99
51
110
73
85
34
65
123
96
94
33
106
46
110
86
69
111
66
87
62
63
133
98
105
113
57
67
39
72
96
97
98
123
85
150
73
55
100
73
66
71
65
63
87
131
104
130
127
85
62
62
96
81
41
64
123
49
90
60
62
88
56
69
64
99
59
59
105
109
76
80
116
86
41
98
44
83
108
110
62
37
73
46
86
79
90
101
102
93
101
51
60
101
31
80
43
67
40
90
68
63
85
32
28
72
69
35
70
42
38
102
135
140
76
102
114
112
89
80
46
69
76
103
69
84
87
80
67
40
134
68
98
49
71
57
52
74
74
66
71
98
148
100
94
103
72
134
106
39
53
77
106
66
64
128
115
76
91
108
53
48
90
73
101
68
24
80
40
68
118
80
70
92
65
121
99
69
75
39
51
139
73
106
58
88
112
67
146
58
68
115
79
78
99
52
99
105
81
52
40
47
93
97
48
85
67
75
43
101
93
116
98
45
60
103
93
46
107
62
63
80
53
73
52
111
62
120
68
59
87
49
63
55
37
70
74
105
64
60
81
69
64
51
99
70
128
57
88
71
70
94
57
69
45
54
95
47
92
50
87
76
59
81
101
47
55
109
74
59
43
60
46
97
92
138
85
63
83
125
48
92
42
108
67
62
85
93
91
123
118
67
39
56
78
78
90
75
87
98
48
92
68
72
80
86
167
49
121
66
91
63
90
87
56
87
31
87
89
56
53
67
49
72
68
96
133
57
91
52
94
182
61
51
67
75
67
125
61
80
83
63
104
93
40
41
54
75
85
37
91
101
89
63
61
59
98
74
89
63
125
113
68
121
71
106
74
65
93
56
57
73
78
43
48
87
101
97
65
71
52
43
76
80
55
64
93
76
35
104
50
46
70
84
32
74
73
116
61
72
42
108
43
58
62
49
82
48
69
96
80
66
73
60
81
81
67
138
82
66
117
56
64
59
85
106
71
109
97
65
105
79
59
115
76
49
40
105
59
63
76
48
55
115
75
65
72
84
67
72
58
136
70
50
57
100
107
60
60
72
35
52
82
100
71
69
63
73
38
57
34
75
59
50
97
56
60
75
73
164
87
104
88
80
90
105
84
86
88
47
71
68
94
57
61
89
64
68
157
84
111
80
86
54
85
108
62
73
92
43
79
59
71
48
80
88
92
129
81
44
85
81
78
109
142
198
93
56
50
66
76
56
124
84
47
110
70
103
85
65
122
56
61
79
67
83
54
55
70
68
62
53
103
53
95
63
42
67
66
71
76
56
47
74
153
47
83
100
58
62
73
99
91
104
63
73
73
48
46
107
57
99
85
86
86
117
58
69
68
43
124
94
47
92
69
54
82
53
129
85
53
71
56
56
77
135
59
65
121
83
65
83
80
53
77
70
64
75
62
64
47
69
39
48
70
44
83
79
72
41
47
128
45
93
113
76
72
50
88
60
78
99
74
50
108
62
60
80
147
71
82
52
67
86
93
69
89
59
55
139
90
89
49
86
75
75
38
100
114
106
43
73
49
90
103
45
120
52
100
57
91
64
132
73
102
106
106
87
53
66
82
75
38
110
61
80
120
55
95
71
62
96
76
42
79
59
34
37
154
50
32
87
55
88
39
58
74
100
94
48
74
79
118
77
84
58
74
103
103
111
71
79
87
76
40
89
66
77
71
101
31
78
54
59
39
73
92
175
71
22
131
65
38
123
104
103
52
122
93
85
94
121
106
67
91
75
57
75
75
59
114
67
46
96
37
94
41
52
83
88
39
77
53
72
66
62
45
44
73
95
87
127
56
88
68
37
76
38
96
82
84
46
75
126
72
61
152
81
50
63
60
61
73
53
68
63
47
100
96
68
108
82
40
71
60
67
55
117
82
84
62
59
60
104
90
86
79
98
69
80
66
81
69
61
67
96
61
56
84
89
84
54
87
72
96
81
36
44
57
59
59
125
137
66
61
64
53
101
96
42
44
79
70
114
47
79
85
72
115
177
123
49
92
102
104
83
77
98
140
45
50
52
99
91
88
62
59
57
141
111
82
58
90
35
86
111
61
125
114
53
71
72
121
65
83
44
105
103
34
79
41
127
69
72
92
95
48
82
57
31
108
68
81
184
108
45
66
50
97
73
55
90
44
58
82
75
54
133
74
90
57
52
36
101
134
70
82
48
37
46
64
68
130
50
63
131
85
38
60
88
89
109
101
69
93
60
72
74
137
99
166
102
73
57
83
110
95
74
81
41
26
117
58
86
58
89
102
49
83
74
76
62
42
41
49
62
31
61
106
87
66
103
58
47
53
69
113
55
79
53
40
96
62
121
82
96
67
65
60
70
79
81
63
67
152
46
83
80
51
79
81
92
90
46
48
88
96
102
41
82
70
55
74
106
106
87
64
91
52
92
86
32
77
62
66
81
59
59
60
61
62
78
72
96
33
41
36
59
70
85
147
141
48
62
52
95
72
45
83
90
87
81
117
62
61
49
94
91
90
71
88
53
80
96
81
47
51
69
41
75
90
89
76
67
73
77
103
65
63
84
48
73
69
95
89
102
42
52
59
80
56
79
88
46
42
57
61
31
91
82
80
67
71
105
54
84
99
95
77
118
73
60
35
68
63
81
94
51
49
82
78
39
48
78
97
42
103
59
112
53
52
123
146
65
70
74
93
58
66
108
131
61
64
83
52
82
70
112
78
122
48
60
73
78
52
102
50
64
82
77
49
91
98
62
73
30
97
91
83
127
72
100
47
99
58
78
72
54
78
90
106
69
46
71
51
94
92
114
96
56
83
89
44
53
59
71
85
130
72
62
108
65
71
97
67
90
70
71
65
81
142
67
68
118
85
63
57
86
62
93
105
87
103
32
97
74
95
80
112
109
46
84
115
66
36
101
84
79
85
74
48
90
84
71
59
67
75
106
68
63
67
95
108
92
87
115
38
58
47
59
131
55
69
141
83
122
50
57
47
74
44
89
109
91
56
84
96
98
133
49
107
67
83
85
101
49
83
62
87
96
55
60
54
104
68
60
72
88
81
78
111
89
77
92
86
81
50
105
66
30
81
77
35
61
112
100
66
82
63
73
35
71
61
31
154
71
96
95
60
72
68
94
88
50
109
58
70
83
41
106
83
86
81
54
90
83
71
83
82
37
89
65
50
132
48
99
65
101
70
44
61
78
41
64
85
74
83
51
129
85
67
110
121
61
77
38
101
71
87
74
96
79
91
115
76
66
145
68
107
100
80
75
151
56
79
69
72
57
72
103
60
71
56
62
120
44
57
72
63
59
78
81
36
41
48
63
129
75
64
84
66
101
68
134
54
73
65
64
48
53
84
58
43
88
67
74
153
95
61
78
59
81
71
75
92
54
66
60
70
63
58
76
76
66
108
79
112
39
174
63
40
60
131
41
53
96
94
59
124
45
97
89
96
82
53
40
83
104
82
60
47
138
98
109
76
62
120
101
60
114
45
87
57
95
52
57
53
148
84
98
35
118
76
91
54
98
82
74
90
118
51
79
87
59
152
58
91
78
97
69
33
86
81
102
82
52
103
85
98
86
110
67
82
48
73
80
38
70
81
71
74
91
87
52
79
98
72
68
77
66
92
98
91
71
113
81
165
95
60
63
53
51
112
68
58
121
114
107
65
135
88
61
117
91
78
73
84
67
54
98
62
86
54
68
93
105
62
83
75
94
45
49
67
57
100
94
42
86
42
107
50
78
68
39
61
51
56
49
54
63
32
89
57
80
83
103
66
95
136
49
73
62
54
48
73
55
69
75
98
76
67
77
83
45
46
100
65
100
53
51
121
29
74
45
93
90
88
73
69
129
76
100
88
105
99
81
136
45
85
77
56
68
59
67
83
58
133
73
55
68
92
64
100
112
73
91
49
96
103
72
56
61
101
56
102
99
76
82
103
78
57
45
141
69
60
39
25
89
92
72
103
70
127
116
60
91
90
69
88
78
71
45
47
111
87
92
48
79
88
73
109
110
51
41
64
47
66
105
55
114
51
126
42
54
40
48
58
56
76
92
89
99
86
95
67
73
38
68
55
108
113
103
76
57
128
53
63
135
94
51
75
61
71
73
58
48
65
112
47
162
98
81
77
36
92
102
71
56
81
62
84
62
73
101
67
83
102
83
90
96
109
97
111
58
113
107
87
59
49
70
93
90
67
64
148
73
104
80
63
55
158
52
87
51
100
108
45
58
57
41
81
81
64
93
92
38
61
74
99
64
77
85
41
65
69
106
69
60
107
111
71
81
52
59
56
116
64
57
78
83
75
33
145
71
77
108
50
126
76
74
109
45
95
58
44
89
67
71
74
58
78
60
29
41
114
31
104
91
34
58
37
109
45
67
61
91
63
61
89
52
74
71
80
111
69
72
70
31
59
63
60
46
71
105
80
91
91
82
78
44
85
44
146
89
94
60
77
82
73
54
93
57
59
59
77
128
97
71
58
56
76
63
42
58
32
89
117
64
66
58
109
84
72
53
62
119
55
53
75
54
91
48
73
50
104
63
50
74
78
93
124
70
35
113
86
108
74
79
123
69
86
48
85
65
48
94
70
68
72
71
65
100
52
97
46
47
95
76
69
47
57
83
63
90
104
117
109
144
60
70
91
84
80
107
75
91
90
88
70
61
87
57
76
60
50
61
73
70
121
51
93
41
90
68
65
68
87
173
111
55
71
121
134
47
103
57
94
61
68
55
57
57
41
116
79
60
74
67
54
106
82
103
46
57
32
57
46
62
97
50
88
109
96
122
79
109
97
60
31
79
97
128
66
53
76
71
63
68
56
78
55
74
64
69
90
104
96
61
39
48
56
57
86
69
60
64
91
101
61
45
92
124
71
67
73
57
61
72
47
139
70
127
116
112
46
128
86
107
79
61
57
75
60
69
99
57
91
77
49
76
110
85
58
84
97
115
78
65
75
69
110
69
77
103
54
80
67
100
100
77
119
89
70
84
64
97
56
58
61
126
83
85
94
83
106
58
77
95
115
81
49
79
74
52
89
66
136
75
74
118
83
36
36
81
64
53
98
63
54
56
86
84
63
102
78
108
87
37
115
40
68
66
117
149
93
134
44
53
100
128
73
73
68
83
97
76
81
63
78
127
59
59
54
101
98
64
94
91
104
67
52
80
100
53
67
53
46
61
64
91
54
90
82
100
58
52
83
84
106
61
75
67
84
63
58
34
113
57
54
53
55
50
54
76
105
102
74
67
79
109
156
51
95
37
58
91
58
90
60
65
105
95
99
110
111
50
53
59
87
92
58
92
61
94
68
85
68
53
44
64
40
39
68
58
66
44
83
85
76
69
55
111
85
78
26
91
66
153
58
72
45
87
104
55
63
66
78
89
128
96
115
59
108
47
57
77
72
93
73
62
97
26
66
86
56
65
102
73
95
112
38
85
76
71
79
93
61
63
63
97
66
51
83
67
33
44
57
68
45
73
115
115
112
95
74
56
71
78
65
60
49
88
83
87
58
121
77
189
54
93
164
72
46
42
64
45
80
110
51
95
44
58
56
40
43
51
55
44
104
55
102
48
51
43
53
73
75
127
70
58
57
83
62
70
132
46
42
93
76
45
60
53
123
81
41
55
68
59
44
90
111
81
85
81
64
89
76
153
68
65
84
48
45
71
70
186
50
109
95
71
79
75
79
37
91
98
67
75
85
62
48
51
83
86
49
115
60
72
107
90
52
43
67
53
101
95
127
101
91
62
58
62
91
50
95
94
102
48
46
104
69
110
65
125
97
91
100
55
91
71
85
74
124
97
65
69
59
88
123
64
29
69
91
51
92
53
64
56
63
132
92
52
89
55
72
56
94
38
57
71
92
69
95
72
121
106
51
87
77
86
77
103
47
49
122
82
42
87
79
47
75
56
81
73
41
29
108
90
92
143
99
64
78
63
63
66
76
77
113
63
111
85
85
62
108
72
59
72
46
83
69
77
48
127
132
76
69
58
50
71
66
59
92
89
120
57
87
46
63
69
55
107
79
56
67
121
60
98
89
78
95
55
87
74
74
99
69
52
77
54
30
93
76
41
96
95
39
54
104
92
62
78
95
43
76
29
57
81
42
127
47
66
113
87
82
34
86
83
64
88
95
72
46
75
42
54
62
119
56
78
120
95
105
39
31
71
80
25
60
32
94
98
83
82
75
106
139
54
63
62
63
114
91
60
66
50
68
118
69
68
82
113
94
73
136
108
60
92
63
71
98
82
40
97
59
114
71
42
78
122
46
45
102
41
66
85
58
79
155
81
58
38
85
97
156
46
88
70
64
86
45
79
42
58
38
111
58
123
114
64
123
36
51
67
58
55
68
91
90
37
89
42
121
79
58
64
74
78
77
57
49
59
73
54
73
43
51
81
103
63
68
118
85
62
65
82
89
89
121
59
69
80
69
81
61
78
71
67
91
64
61
74
89
50
32
58
81
65
96
100
69
47
79
88
95
104
88
84
67
68
110
75
137
73
60
44
79
54
90
100
120
69
79
46
131
87
52
68
81
91
63
83
116
101
42
59
121
62
46
70
61
64
69
63
53
160
94
53
94
99
110
76
63
49
100
99
65
44
94
72
80
79
46
166
62
60
90
77
69
54
92
74
75
105
57
53
87
59
75
97
60
76
83
79
75
78
90
80
83
53
61
60
60
72
69
62
56
66
46
62
65
62
87
52
91
201
81
82
119
76
66
110
75
43
62
79
95
97
97
43
134
52
140
46
60
107
83
104
50
49
50
75
119
82
76
52
85
49
40
69
56
91
77
53
62
49
48
56
59
89
58
91
61
75
97
53
54
82
108
73
41
126
53
90
109
95
84
71
81
60
70
52
57
113
74
86
49
105
181
56
94
59
61
71
83
57
94
67
124
80
128
89
69
47
72
64
80
54
61
91
74
71
100
28
104
92
81
47
62
66
77
41
80
72
60
127
66
88
58
80
91
85
74
105
81
56
25
64
60
54
112
50
55
119
33
66
56
63
79
91
89
94
69
82
82
70
137
83
48
63
51
85
121
82
98
82
68
67
67
99
75
65
71
81
86
88
76
125
49
88
135
46
120
101
63
60
66
46
68
49
73
73
78
68
68
77
97
111
92
68
114
87
66
81
73
59
61
103
75
69
106
90
86
86
99
73
73
51
90
75
51
91
103
114
75
96
110
75
66
73
71
60
38
115
80
64
85
39
60
96
72
53
47
76
56
76
110
96
47
83
63
89
63
34
67
43
79
69
116
73
47
77
115
75
65
53
54
44
127
58
42
84
114
28
138
54
66
87
62
73
103
57
90
54
105
94
65
91
63
59
84
77
91
63
102
73
97
65
109
63
88
85
63
84
73
58
51
81
71
35
98
98
57
93
50
111
53
39
62
121
82
105
105
92
58
117
100
89
95
67
37
145
75
54
58
80
62
118
30
60
96
67
75
45
74
50
48
35
149
122
42
126
67
74
67
61
57
161
90
83
66
38
90
76
32
53
96
40
64
76
119
80
80
82
70
71
69
47
55
105
106
91
80
128
97
118
90
74
48
83
42
85
63
60
56
82
84
88
49
100
41
31
97
89
97
72
72
56
59
67
35
85
76
91
103
45
29
70
90
97
103
96
72
78
152
63
98
93
82
108
85
69
69
83
76
69
109
73
69
51
69
139
108
81
45
73
48
37
54
114
115
44
89
52
90
101
60
84
78
41
131
92
84
88
88
54
66
138
72
87
90
78
78
99
57
115
66
60
99
84
76
91
57
88
72
87
71
62
74
58
55
73
53
74
54
95
43
80
147
67
108
130
78
78
95
86
121
84
104
88
58
61
76
96
54
80
36
42
96
76
69
92
52
64
67
98
58
60
79
82
89
73
105
65
53
58
38
85
44
79
59
117
74
93
109
44
86
46
35
44
88
51
63
53
43
92
26
69
63
102
66
108
74
99
83
111
65
62
32
48
102
86
72
48
62
79
52
83
124
94
118
24
69
83
68
41
87
56
52
62
112
60
76
60
46
105
79
55
101
71
64
76
76
75
86
56
74
107
86
48
64
74
78
112
48
84
54
73
158
76
130
59
110
84
67
127
91
77
46
88
80
101
36
48
59
76
52
134
36
74
66
56
47
123
62
96
41
99
59
40
118
92
97
48
115
49
59
69
57
76
68
152
63
52
121
83
105
71
78
31
93
61
63
58
42
65
114
58
45
66
43
88
152
44
82
65
66
89
66
72
49
63
67
50
71
37
87
81
89
75
39
49
101
69
61
67
104
73
52
48
97
58
71
99
60
63
53
50
97
131
81
84
81
74
88
81
44
59
69
73
80
76
57
78
68
65
42
47
114
67
68
80
64
55
52
121
71
66
130
103
133
93
50
93
56
92
79
40
57
63
49
54
66
67
73
42
65
114
80
135
69
118
103
60
96
44
72
99
65
85
71
36
59
75
48
111
63
61
97
70
79
49
45
48
71
171
160
132
78
94
108
90
110
99
93
66
58
105
44
44
72
90
60
47
45
115
82
112
55
64
38
91
106
98
63
55
122
100
90
88
62
72
61
101
51
109
70
103
96
82
60
70
41
86
78
92
67
48
49
67
84
105
147
55
93
94
77
91
48
77
46
60
93
93
87
32
110
100
110
110
62
101
52
81
51
69
85
109
60
105
80
122
52
99
80
75
69
89
123
65
113
81
65
59
58
85
61
89
88
94
41
78
75
54
55
80
61
40
57
51
79
97
57
54
52
51
80
135
52
87
149
85
103
81
74
86
82
47
76
90
57
47
88
124
105
82
162
83
66
62
56
144
84
89
77
50
89
38
118
67
102
58
59
93
75
127
131
60
59
66
75
101
62
60
106
59
68
48
95
73
23
59
67
66
81
43
96
60
59
93
83
77
98
58
79
74
50
62
95
66
69
83
83
60
73
80
65
70
116
60
56
89
78
47
94
66
89
51
74
77
51
120
75
77
85
59
114
67
74
87
98
84
31
76
81
133
37
36
103
45
68
73
91
47
80
91
96
113
84
76
46
67
46
55
74
94
63
101
59
52
74
71
70
39
54
56
76
107
71
123
69
59
72
68
52
69
41
97
129
129
95
60
65
61
126
108
64
98
95
92
54
131
41
139
56
123
158
123
79
93
49
72
64
79
92
106
124
97
106
65
36
54
116
51
45
177
87
69
72
99
72
125
92
63
58
65
72
75
93
76
61
75
65
50
96
80
89
108
82
96
88
143
49
128
33
60
84
130
59
101
92
63
75
97
57
75
69
68
127
77
74
143
108
133
68
112
29
43
47
85
65
49
39
90
112
63
79
95
83
66
124
123
67
110
90
68
157
67
74
68
38
98
135
62
50
33
55
73
21
36
38
51
90
87
87
46
80
103
82
55
60
121
91
80
46
37
40
56
119
82
54
90
70
67
60
87
52
87
106
67
82
83
88
98
139
61
63
104
114
47
76
127
65
30
72
149
51
46
125
98
104
61
56
96
76
66
133
62
91
82
82
84
90
72
94
78
60
45
57
93
57
100
112
37
75
59
95
151
74
103
170
66
119
70
83
63
51
42
96
98
109
96
44
103
66
102
71
83
54
56
78
72
85
113
72
49
109
103
66
76
29
49
65
113
55
80
50
90
84
68
64
74
46
30
46
103
57
32
73
90
118
72
74
126
39
64
89
65
114
100
85
71
60
92
67
65
71
59
69
68
96
62
93
74
91
69
83
66
67
51
39
55
70
56
72
99
63
70
131
68
111
65
71
66
92
76
93
100
120
69
158
71
49
96
43
59
66
105
91
68
125
80
80
62
107
66
57
38
99
84
104
98
153
89
75
71
53
125
66
70
46
88
85
38
58
107
157
110
86
91
118
98
52
106
128
68
97
82
104
123
52
87
150
99
111
124
80
78
72
70
59
57
58
57
73
85
80
76
102
95
55
112
62
88
94
65
57
55
91
28
43
50
93
79
70
96
59
74
68
88
77
94
60
109
91
69
61
70
29
53
66
141
102
52
142
84
63
81
73
82
105
97
85
140
56
76
52
37
67
106
76
78
79
67
81
73
76
57
78
110
53
60
60
93
90
104
84
78
126
41
83
97
141
112
39
52
67
55
87
95
47
91
90
98
47
66
44
73
48
67
89
92
99
50
91
76
130
90
41
53
168
86
90
76
92
89
138
98
47
73
51
65
40
91
68
74
83
58
90
116
93
44
98
73
115
96
40
45
102
98
58
65
59
53
85
49
92
70
59
99
38
63
69
79
113
78
74
104
90
48
92
86
189
49
72
71
76
53
72
43
68
71
94
64
102
90
81
48
80
83
64
61
72
75
102
71
88
89
83
89
43
79
83
79
80
103
60
68
59
102
49
68
51
43
94
95
40
58
71
63
83
51
81
30
68
99
40
73
71
69
111
43
94
87
67
86
80
47
80
75
77
76
124
66
105
186
113
116
88
69
79
42
90
67
50
79
56
78
61
63
75
69
59
102
117
59
72
85
65
77
89
126
92
73
77
87
90
89
51
60
78
87
118
51
90
71
88
68
63
117
79
69
76
73
84
109
90
86
101
94
91
54
76
125
82
74
108
65
79
77
58
115
67
51
108
91
92
55
69
72
84
80
131
66
40
36
101
77
53
121
23
67
70
83
74
124
55
61
95
82
115
101
42
62
84
38
107
60
47
114
54
59
106
102
52
53
65
48
68
68
75
38
47
55
61
70
47
62
112
64
71
34
104
125
103
50
60
100
82
97
60
91
50
112
37
85
44
100
47
102
55
120
78
81
50
43
102
59
57
60
61
104
73
40
67
45
59
73
71
27
87
89
34
76
79
94
55
87
108
95
86
66
85
61
56
89
71
84
81
59
70
59
46
74
65
101
61
102
41
69
50
47
62
57
100
58
84
70
86
77
83
72
62
80
88
114
86
96
76
54
84
62
50
82
39
61
57
114
65
105
58
169
62
104
50
119
45
124
60
81
61
46
75
117
82
87
82
108
95
56
83
63
60
63
68
51
40
61
82
46
76
60
132
78
71
66
61
88
93
73
85
102
99
48
71
34
60
83
76
103
98
78
106
58
71
60
91
66
56
73
100
108
61
92
102
76
58
101
104
100
102
91
63
93
73
74
77
76
70
67
102
108
82
59
57
74
64
169
87
39
73
83
102
67
79
103
94
80
59
23
80
58
59
75
66
65
76
83
46
63
64
88
88
82
58
38
123
58
77
36
55
73
73
48
89
71
36
44
106
69
96
75
57
86
71
73
103
77
112
40
53
53
36
72
128
57
77
47
53
99
80
112
72
48
33
96
79
84
68
102
81
81
49
51
77
78
78
44
85
56
55
73
48
96
74
65
45
51
72
83
45
90
76
79
116
98
103
42
114
103
89
101
61
50
67
60
57
111
73
68
57
61
95
65
72
71
75
55
61
114
72
71
54
35
66
73
63
79
51
87
81
70
106
108
65
102
49
109
62
54
68
53
78
111
99
82
78
64
85
69
83
65
44
64
61
84
76
145
45
67
73
145
73
42
45
67
72
74
54
66
41
88
59
79
75
59
55
72
66
73
81
111
80
104
88
105
89
60
41
73
78
102
63
112
81
53
77
85
70
67
79
99
77
96
80
56
71
97
51
81
87
130
102
72
76
89
93
45
45
76
60
58
88
105
79
61
74
60
105
73
148
98
65
81
104
78
68
83
63
98
49
89
86
78
108
96
100
77
96
61
75
52
77
33
118
106
132
72
47
72
68
107
62
50
56
70
149
77
90
86
44
54
45
62
38
89
73
79
59
39
91
63
41
41
84
112
107
71
93
75
116
40
77
84
69
37
148
42
70
74
81
39
49
73
72
53
86
101
71
86
99
92
76
47
63
89
72
63
76
86
35
83
139
47
100
74
84
58
104
83
92
64
58
63
120
66
63
96
83
67
62
69
95
39
113
42
87
70
47
55
67
57
131
63
63
140
47
43
63
129
83
70
59
32
65
36
39
160
94
46
101
96
87
38
76
66
55
37
72
58
126
110
80
86
66
48
92
53
84
82
52
56
57
105
65
90
41
125
102
98
57
66
53
61
76
71
72
94
36
57
41
73
63
77
79
90
93
114
59
72
110
58
53
60
31
45
39
109
67
51
81
61
72
81
56
103
79
91
107
77
88
60
64
64
49
74
99
79
88
50
103
120
66
63
66
62
83
24
76
47
92
53
70
69
45
101
77
128
43
51
77
95
93
78
33
57
81
50
104
37
74
47
86
47
67
81
59
48
90
91
49
61
80
98
97
63
88
132
68
59
143
43
92
59
83
70
57
57
37
48
54
56
48
37
55
50
82
118
116
85
82
82
64
118
141
72
97
83
85
63
34
55
61
104
71
66
51
67
79
80
108
92
81
61
88
102
62
47
73
96
35
92
66
83
98
100
65
80
86
63
72
77
71
78
107
64
65
125
93
59
28
57
53
98
69
88
100
80
39
60
112
69
85
32
65
82
149
54
60
86
51
71
43
98
98
65
66
58
119
67
26
93
73
52
40
68
55
107
62
49
32
70
71
94
83
59
86
93
127
65
89
42
101
38
87
79
76
73
47
59
99
77
65
64
56
94
104
86
108
34
56
51
84
58
51
57
116
139
76
69
92
56
76
100
105
64
92
98
77
57
65
53
132
125
87
42
66
78
92
59
143
98
119
156
62
71
86
75
83
68
57
97
89
51
66
103
89
39
95
89
51
124
67
83
62
55
123
92
114
67
78
62
63
97
93
80
69
140
63
84
102
65
59
47
61
87
108
125
89
85
78
85
117
22
114
70
74
85
58
58
70
93
81
86
64
91
99
53
86
132
118
110
47
124
106
74
70
87
68
87
116
56
102
107
47
73
68
82
96
66
49
129
77
45
77
60
63
84
32
113
130
59
79
53
46
78
66
52
58
78
53
63
63
62
94
76
109
62
119
80
58
101
82
75
43
78
97
97
63
67
84
57
58
76
64
65
63
106
67
104
79
53
66
128
79
40
51
55
95
99
45
64
50
84
67
90
83
54
44
145
83
56
84
77
53
79
96
114
70
78
84
85
71
58
62
69
110
131
109
66
68
77
62
62
68
110
33
51
88
85
32
33
75
63
98
106
52
85
52
73
82
67
32
74
68
132
115
69
64
103
110
71
80
101
87
82
58
41
75
94
77
68
43
45
45
34
52
90
84
64
104
51
67
83
72
105
76
76
68
74
69
92
137
78
93
87
86
84
84
76
47
83
114
75
80
67
67
58
70
63
63
96
62
80
104
82
112
88
104
49
139
62
63
70
81
108
38
97
66
86
92
148
66
82
80
50
89
96
67
76
66
46
102
65
72
114
103
83
93
62
65
54
52
90
76
41
42
110
56
85
94
76
127
105
79
93
44
86
71
62
98
94
26
88
59
97
93
71
69
36
51
66
54
63
88
50
128
78
79
119
110
100
102
93
77
117
125
32
96
61
78
121
89
118
131
81
73
85
65
73
70
71
124
71
102
66
66
51
102
113
93
60
44
117
114
48
56
62
113
89
70
57
65
76
90
92
117
60
64
91
57
70
36
61
53
63
64
53
38
56
94
86
33
113
128
80
50
41
53
67
93
94
36
66
134
110
54
88
90
108
92
83
88
80
78
87
103
54
101
127
91
105
49
66
95
89
61
78
79
58
47
99
80
53
61
112
133
113
76
75
72
55
121
65
44
105
80
83
60
85
89
71
47
90
65
81
61
102
131
63
70
83
69
67
57
57
93
72
60
58
75
86
71
70
78
93
78
50
141
67
70
58
62
100
86
97
78
50
87
109
86
101
88
87
85
99
48
58
100
37
32
65
78
53
52
68
100
118
31
126
53
58
81
77
61
60
49
126
64
38
69
119
136
69
27
63
100
136
57
149
97
60
98
132
48
85
58
85
56
37
65
109
100
60
44
114
101
50
63
128
52
48
85
64
76
70
74
142
48
131
91
97
101
34
47
66
73
42
86
73
67
24
103
52
62
74
93
74
70
72
80
120
91
60
79
106
89
54
75
65
63
41
88
93
88
88
107
122
27
71
85
67
84
113
124
96
112
68
75
93
70
77
104
85
70
113
85
81
113
64
110
72
128
61
89
71
91
84
89
60
81
62
71
74
74
92
56
95
129
42
123
78
123
74
90
64
71
75
62
35
93
39
82
82
106
123
104
45
55
62
84
96
97
61
117
98
83
57
84
67
73
80
83
44
98
79
77
57
99
91
72
103
107
159
78
60
107
51
43
55
100
88
66
75
79
126
85
80
75
78
74
32
65
40
126
115
71
38
54
61
74
54
73
90
75
39
80
71
135
74
88
58
74
69
68
99
79
28
61
111
52
68
76
61
70
76
168
83
76
51
105
88
42
50
66
91
67
60
61
78
130
61
114
105
105
96
85
75
75
121
63
69
73
71
56
60
72
107
58
84
31
53
49
86
89
99
108
72
126
53
105
46
65
66
92
85
101
43
58
115
111
96
34
64
151
67
98
53
61
65
87
86
111
49
51
70
77
48
50
83
68
57
80
105
72
55
116
82
63
73
47
65
30
114
69
37
109
52
91
70
50
54
87
81
52
77
102
98
80
104
74
83
92
108
37
72
85
89
44
89
40
70
102
76
74
66
135
84
74
89
64
31
131
81
75
55
71
95
48
87
90
61
65
82
56
85
67
51
90
139
63
68
89
63
90
101
64
73
68
64
112
107
51
75
79
74
110
115
46
61
77
55
91
90
50
76
50
36
53
62
64
28
94
52
73
90
71
124
51
52
90
88
76
53
60
57
77
25
102
45
42
73
137
104
79
53
105
30
63
66
106
65
109
87
58
100
42
54
95
85
53
116
59
104
92
74
30
74
84
83
74
104
31
74
62
58
48
78
53
80
74
79
110
60
67
71
64
101
102
105
44
120
88
54
62
62
28
96
64
65
85
70
107
75
78
45
112
96
85
78
79
80
31
39
94
51
66
91
97
87
73
136
66
53
89
62
59
47
88
41
46
58
66
80
59
91
137
106
63
65
77
126
83
71
86
60
85
73
36
96
77
90
57
119
108
80
87
46
53
91
43
43
93
123
53
61
68
46
58
150
122
93
95
42
68
69
79
64
48
64
138
44
89
80
134
42
158
95
79
66
81
116
85
59
72
108
60
75
40
103
82
100
81
80
93
57
72
113
36
86
76
56
62
39
129
82
67
78
80
70
91
32
76
67
50
96
61
112
66
61
72
126
107
93
75
77
44
49
107
103
61
91
86
47
60
83
80
49
29
50
42
66
126
114
51
95
78
58
124
73
87
95
124
59
61
62
49
44
33
105
89
81
46
62
118
60
84
101
76
85
127
43
77
59
142
85
77
65
65
50
147
107
56
72
104
47
75
73
73
88
79
97
67
77
73
101
103
99
85
75
76
83
70
60
82
69
79
107
55
68
94
79
95
77
68
52
55
65
57
66
96
56
48
85
50
49
94
44
40
67
72
145
51
77
80
76
67
67
75
53
81
58
142
41
53
60
54
61
124
104
40
101
85
28
69
84
35
69
89
66
48
64
56
107
82
140
55
66
91
167
129
82
77
50
98
108
103
91
69
65
89
123
60
84
86
40
102
70
95
72
64
66
67
117
103
101
54
95
68
93
84
95
65
52
75
60
29
104
71
33
71
76
59
66
92
30
59
28
149
53
74
64
89
74
97
82
90
50
104
102
60
40
105
87
68
63
44
118
43
104
73
55
74
77
92
83
61
59
103
47
66
103
59
83
57
51
84
95
58
114
84
84
116
97
68
93
69
120
96
69
36
105
117
53
76
137
81
64
121
100
53
101
106
83
101
87
69
86
138
67
147
61
51
63
85
74
111
87
84
105
99
96
56
102
88
59
92
89
70
134
38
104
126
69
88
71
70
87
77
77
110
116
94
90
97
68
87
85
87
71
45
57
95
66
44
54
151
85
24
97
103
54
58
85
60
105
62
79
68
106
78
60
97
40
80
58
140
71
59
72
106
84
68
52
75
71
87
83
61
60
51
113
67
81
60
86
81
64
78
87
58
91
78
55
112
69
110
61
71
49
64
67
62
73
108
110
98
68
70
62
65
61
113
53
76
80
78
89
44
88
57
85
140
97
56
63
57
91
92
109
121
139
105
42
73
39
79
99
39
101
98
70
53
44
29
83
85
65
33
93
62
73
106
77
52
117
101
125
61
60
65
102
71
108
69
47
55
64
86
96
91
78
40
115
48
133
62
70
59
39
112
103
64
46
69
58
79
113
68
44
90
57
74
54
68
103
65
78
82
91
79
80
49
171
58
102
79
57
172
86
94
62
85
88
164
69
90
50
94
102
102
97
74
62
78
65
32
90
101
55
82
64
105
63
81
60
78
100
66
80
71
57
79
84
41
63
122
59
78
83
76
82
109
61
48
50
48
88
62
117
45
57
113
53
70
81
106
86
96
127
69
71
64
72
90
105
85
42
49
95
125
50
44
95
124
64
120
47
83
114
75
121
96
78
90
78
84
115
57
67
66
62
117
73
134
57
81
111
67
57
41
39
90
79
123
63
85
73
61
44
81
66
52
52
114
86
88
59
54
68
59
95
81
84
50
74
89
95
89
46
92
56
60
80
138
62
94
191
72
88
59
61
61
48
54
47
85
85
45
89
39
60
60
46
84
83
55
84
109
91
59
93
64
81
47
55
49
82
75
31
102
102
91
54
80
104
73
34
80
58
114
42
106
89
66
73
91
67
111
63
50
115
57
60
171
96
48
112
40
99
78
76
63
68
54
88
55
89
63
88
69
74
77
50
70
58
73
76
68
53
130
79
84
65
68
87
57
89
70
78
91
137
73
66
65
76
96
33
75
125
87
36
28
77
79
67
57
96
95
104
114
64
64
79
60
68
75
88
51
96
38
101
104
90
69
83
67
77
45
77
79
69
112
72
60
106
104
88
67
64
59
88
115
43
46
72
50
43
52
91
80
79
73
123
83
52
78
83
67
105
93
48
101
67
77
52
84
116
75
73
79
94
45
54
148
68
24
133
59
108
75
107
70
56
68
114
90
71
96
97
44
106
82
56
59
84
41
66
73
77
59
93
53
116
114
71
67
50
90
68
48
106
81
81
101
99
58
101
49
144
60
121
60
52
79
59
93
69
65
80
48
45
106
107
67
61
63
65
63
53
39
54
71
66
99
74
121
78
99
90
105
94
51
32
111
32
58
76
108
95
76
57
50
50
70
41
63
34
86
88
72
36
88
54
56
113
62
63
58
66
51
101
89
82
43
44
46
79
61
100
51
31
91
42
85
85
105
30
60
63
72
105
115
50
70
90
66
157
57
65
59
89
61
98
118
128
43
69
80
82
48
67
77
98
79
58
69
44
49
84
70
99
72
84
89
76
93
51
60
95
85
95
65
52
60
90
75
88
107
69
102
103
84
46
112
77
59
104
99
61
65
50
59
64
37
58
57
80
64
55
82
110
64
52
111
111
67
51
58
140
76
93
76
107
47
60
104
65
84
126
103
62
68
58
92
60
48
76
26
95
94
85
69
42
177
159
151
67
76
79
77
45
87
97
86
65
38
87
80
82
61
50
73
135
83
108
97
49
86
58
131
98
64
61
75
82
78
61
78
75
93
43
63
73
105
62
56
64
47
81
87
102
67
58
94
67
50
74
39
45
85
121
122
63
99
63
110
89
77
63
69
70
69
64
75
45
110
59
97
46
48
83
96
54
97
73
55
50
57
80
68
67
80
83
57
77
56
105
67
72
90
29
71
97
90
69
109
63
42
172
125
90
85
109
55
106
105
52
95
41
76
80
90
69
101
90
130
48
67
57
77
73
98
54
98
60
91
35
85
44
86
73
52
55
51
82
110
64
48
57
107
55
105
46
49
52
73
93
92
96
78
88
57
51
78
60
82
51
62
42
119
143
43
89
63
31
71
101
75
74
99
71
101
63
87
46
82
48
51
94
91
50
93
92
136
93
81
133
103
97
81
82
77
61
75
115
70
70
101
104
86
59
67
108
50
76
88
78
57
77
62
146
43
46
127
79
46
132
66
52
96
106
61
83
94
96
60
93
84
34
103
72
90
136
52
95
42
43
71
47
77
96
50
122
68
43
39
60
113
60
103
97
90
109
45
74
120
52
75
82
32
106
119
69
106
90
85
73
56
51
88
100
73
75
34
86
81
79
107
54
65
51
62
53
51
87
82
57
78
115
84
98
48
86
60
110
101
115
110
61
106
103
88
166
79
139
96
56
82
89
81
30
119
78
73
90
95
62
57
86
36
47
119
46
98
118
72
45
70
82
120
173
86
25
81
54
106
119
57
79
160
100
54
96
64
76
89
115
46
76
95
96
78
116
49
148
56
67
143
92
86
77
60
61
81
108
99
47
92
66
79
47
52
67
103
80
79
63
110
87
99
57
85
60
56
83
50
81
55
108
46
41
86
104
86
45
92
59
58
40
58
31
77
72
50
78
109
91
63
84
114
33
103
71
53
95
48
37
58
71
100
81
95
35
80
99
62
48
80
72
38
100
67
141
51
59
82
84
74
80
65
39
70
65
54
78
73
62
97
63
54
65
97
35
49
106
122
123
68
117
50
91
53
80
92
105
118
54
66
113
105
102
103
44
121
102
51
98
73
55
60
91
69
86
67
32
129
54
134
30
69
68
96
74
39
103
79
26
61
121
55
136
74
99
90
63
65
58
69
89
52
41
59
78
85
50
76
123
38
68
104
50
103
120
43
55
44
61
53
61
74
48
55
105
48
57
72
87
86
72
57
77
58
69
77
102
76
109
73
46
79
127
92
93
81
126
57
40
36
76
104
124
63
93
82
86
67
93
81
52
56
68
101
109
120
108
52
56
47
110
80
98
78
100
53
125
85
56
78
75
96
104
57
52
60
94
167
103
91
66
90
131
100
79
49
78
84
56
89
72
50
103
57
57
86
72
129
89
69
113
109
30
42
32
50
146
116
50
84
53
82
58
65
89
71
99
63
60
83
89
75
78
147
87
85
116
76
87
90
85
60
59
87
64
33
38
70
115
101
65
95
63
62
55
121
88
77
57
55
65
106
86
37
73
82
107
70
48
68
65
56
49
100
55
85
80
66
94
132
110
52
60
55
75
105
109
38
113
64
49
81
49
49
116
63
78
43
55
86
47
70
63
82
133
97
71
46
59
57
63
65
108
79
81
120
54
123
53
76
85
50
59
48
51
70
24
92
52
74
40
51
87
84
33
59
69
84
85
94
72
99
47
72
121
65
38
45
104
111
66
71
39
52
134
68
69
87
80
68
72
63
68
78
83
92
52
129
69
89
78
37
118
100
57
60
96
53
57
73
45
57
81
65
88
59
44
146
153
84
94
56
53
85
57
73
68
76
59
44
56
35
105
55
89
126
101
102
39
66
79
51
67
85
61
56
69
76
79
70
75
89
63
104
52
83
58
59
30
73
46
89
68
94
87
60
63
74
89
69
121
60
94
82
52
94
75
108
102
66
64
107
89
47
36
95
54
78
57
50
79
77
113
46
92
54
142
56
50
97
75
115
110
81
80
36
91
86
64
106
92
60
91
44
91
82
72
35
49
64
60
94
58
70
76
87
88
65
144
63
65
38
79
82
103
44
41
50
82
29
58
111
108
81
114
45
101
83
71
150
63
53
67
63
69
68
67
92
131
78
102
51
50
73
56
41
62
95
53
57
84
70
90
61
115
86
106
57
104
68
74
58
91
96
109
57
95
89
78
63
103
94
56
75
97
110
59
83
48
117
119
46
86
90
45
82
101
94
29
105
54
87
94
72
83
107
44
61
56
37
88
96
72
50
86
89
75
88
76
61
31
60
90
104
78
84
108
55
87
84
51
120
69
82
48
60
67
75
78
65
52
105
112
77
88
65
85
68
77
93
112
103
74
83
56
47
76
102
92
78
43
98
68
73
86
96
64
88
66
110
68
55
38
77
86
84
43
84
108
109
46
58
78
59
47
65
85
91
51
101
71
70
93
78
69
59
98
100
48
102
89
137
49
86
73
85
65
132
59
59
69
99
61
49
32
73
98
49
71
109
77
70
124
81
70
52
124
94
60
73
68
75
33
90
57
57
92
124
80
73
63
90
80
104
42
65
53
62
94
112
58
51
51
100
91
56
103
83
65
80
59
35
72
72
96
55
68
72
47
73
90
104
88
58
78
79
73
54
66
64
100
82
39
82
104
58
113
66
67
68
97
95
89
60
57
86
58
63
59
130
70
103
108
72
114
79
102
72
119
127
80
70
102
73
96
56
96
70
55
82
98
48
49
141
72
79
45
82
114
101
122
134
85
93
52
102
56
44
69
50
70
63
85
37
60
75
79
59
75
98
74
115
81
88
78
66
98
67
79
110
39
126
62
68
92
61
33
69
81
186
104
64
96
58
73
65
82
117
64
109
48
73
79
89
110
80
50
113
67
68
41
56
53
89
69
82
70
25
39
117
78
54
25
75
93
104
75
65
99
58
85
53
21
128
68
78
63
42
52
125
83
77
47
107
68
78
98
74
42
66
73
77
55
89
90
118
69
59
133
63
69
49
90
56
86
95
72
101
107
99
113
83
93
98
102
55
74
52
37
118
97
48
70
63
30
85
87
102
55
118
64
157
35
127
67
70
42
77
153
73
66
85
40
22
125
83
99
69
62
92
88
80
56
143
75
65
56
30
59
59
85
69
72
53
68
47
49
99
78
60
69
71
121
91
50
106
46
88
94
102
87
70
64
78
79
105
68
71
75
44
66
126
74
72
95
137
48
59
52
81
35
97
64
93
107
77
100
113
44
60
108
71
122
67
115
72
56
68
91
47
59
55
67
56
78
47
64
125
83
42
116
79
104
92
55
86
51
31
134
64
39
58
41
63
74
92
66
91
44
31
74
44
76
44
89
100
67
134
60
75
82
69
90
37
68
29
67
55
62
111
65
100
61
45
78
87
83
118
99
58
49
96
92
87
43
45
82
78
69
155
68
83
89
77
112
85
55
59
114
79
66
70
76
36
79
76
91
103
106
76
77
50
82
59
72
84
55
126
98
70
85
56
64
90
38
105
108
56
95
87
85
69
72
37
79
130
68
112
35
68
74
23
86
80
93
75
94
131
64
90
73
96
39
81
47
76
41
79
122
79
65
80
68
78
65
107
66
69
44
176
67
90
68
53
43
105
64
97
76
91
66
83
84
56
100
73
78
88
90
96
127
126
93
89
58
88
69
77
30
65
92
65
61
36
55
45
38
81
101
73
53
69
56
60
64
84
79
57
72
78
90
96
70
168
130
31
80
81
72
52
49
104
72
68
84
117
75
94
85
81
38
115
97
49
120
63
67
75
75
70
52
126
27
34
75
69
82
34
87
106
42
95
48
108
86
106
36
54
92
69
72
69
70
99
56
110
89
81
84
69
61
55
92
122
54
108
59
45
57
99
72
91
81
91
40
89
75
48
101
41
55
64
70
65
48
52
50
81
103
127
49
104
107
91
88
120
90
96
103
86
69
91
96
90
90
64
73
51
62
83
53
80
140
110
129
109
55
73
55
68
102
87
46
149
54
58
35
76
92
55
85
47
60
76
78
57
106
59
77
60
74
56
104
84
57
92
73
33
94
68
76
54
101
61
100
99
51
76
56
77
158
54
84
98
40
90
45
70
77
155
62
86
58
38
84
63
96
98
98
62
152
55
130
56
55
57
61
78
100
105
89
96
85
38
64
128
96
93
100
110
114
91
80
31
90
96
36
80
93
63
58
65
99
95
39
119
67
48
106
87
134
27
63
83
56
78
86
70
66
80
80
71
56
105
83
94
64
74
78
74
105
74
54
78
38
120
131
66
54
47
45
32
72
75
40
102
61
73
94
71
134
35
65
87
73
40
108
108
113
60
87
105
102
89
56
129
55
35
62
67
73
68
62
34
94
83
76
92
71
62
89
62
58
108
47
53
48
80
63
91
102
127
56
71
65
80
101
93
55
56
56
76
118
65
45
69
67
74
55
52
105
89
94
46
84
91
89
72
66
90
63
84
95
85
51
74
66
91
78
55
67
53
87
43
87
71
95
108
86
44
128
82
75
116
46
49
57
116
76
108
129
125
88
79
80
121
117
133
102
171
48
65
104
79
97
50
52
23
115
87
88
66
42
83
39
92
86
71
70
123
54
90
67
102
97
55
81
78
85
54
54
111
36
95
76
105
58
76
68
109
102
43
108
54
59
45
68
121
84
88
33
78
71
78
97
82
90
80
65
104
63
120
85
71
85
117
82
70
96
116
56
106
81
74
71
37
34
111
54
45
65
78
84
91
78
82
90
92
95
100
112
77
59
70
47
120
95
104
68
46
71
74
98
63
64
129
89
72
107
95
76
55
66
84
84
103
89
55
94
65
41
113
58
83
54
62
98
65
73
127
102
49
83
73
78
82
106
43
43
82
60
64
80
111
66
49
40
40
128
105
115
84
81
48
137
38
95
64
61
65
41
75
86
90
94
66
62
80
65
53
104
107
64
70
67
96
138
93
47
42
43
119
173
99
55
75
95
75
74
65
68
70
76
73
88
80
31
63
86
53
56
102
63
65
41
86
98
83
61
57
73
76
65
87
94
98
68
114
42
115
80
90
91
63
45
105
83
109
58
49
123
67
67
109
64
96
49
89
83
111
63
83
51
118
72
40
52
39
59
64
63
82
40
86
51
139
102
73
76
51
83
116
93
92
151
25
57
92
124
102
57
93
51
102
33
94
82
83
110
94
61
97
69
91
73
123
70
94
79
87
72
46
103
83
73
59
63
60
108
91
61
44
62
81
38
91
93
47
56
78
62
73
109
42
69
122
74
83
82
42
72
68
132
61
77
55
94
49
85
52
50
59
46
79
51
84
97
51
72
91
148
71
80
37
127
92
54
79
57
82
59
72
70
51
93
60
97
52
72
59
57
54
82
133
90
58
67
81
89
106
99
37
107
122
88
99
65
76
70
76
123
91
107
50
82
65
132
57
36
98
55
87
90
48
67
81
121
87
87
44
72
49
102
67
133
106
80
109
56
43
79
93
84
123
111
55
53
36
41
100
81
110
119
49
73
103
115
56
79
80
28
59
66
162
117
154
120
82
56
63
117
88
112
87
67
90
84
58
95
85
76
48
60
31
47
129
46
69
104
107
49
98
93
73
71
147
48
90
114
107
105
65
117
69
81
78
59
61
86
73
88
71
84
66
40
32
59
63
94
46
125
86
78
75
85
56
54
98
67
76
58
46
45
49
44
109
138
49
73
82
66
104
95
127
61
79
147
72
70
100
42
98
80
49
42
76
98
99
50
87
44
85
108
60
81
86
61
84
109
90
46
52
89
84
117
88
48
122
77
53
118
97
88
54
54
81
72
74
22
52
58
81
36
68
101
137
82
68
87
70
97
71
122
131
66
137
83
64
44
63
56
65
125
85
57
77
51
76
124
90
46
65
41
55
93
42
77
48
79
51
88
94
67
71
66
77
62
75
105
51
66
36
72
129
75
85
57
98
94
81
58
71
56
38
81
95
72
91
39
37
70
106
39
95
86
75
110
71
29
41
77
71
61
52
80
60
116
38
79
71
62
55
79
81
92
56
59
60
47
59
94
82
75
75
78
81
53
106
57
45
83
132
66
73
97
59
34
72
45
44
82
63
51
51
131
56
49
134
72
51
94
53
84
70
79
56
88
65
67
75
59
76
83
41
142
64
65
95
50
74
72
48
107
92
99
43
105
62
59
76
75
61
51
57
96
98
58
46
64
66
59
54
59
98
82
126
61
46
96
68
72
40
109
45
54
99
78
132
50
32
49
101
72
52
56
58
92
101
67
38
128
68
105
65
161
64
78
88
47
38
87
50
98
85
74
97
47
67
52
179
69
147
64
61
90
93
47
89
65
97
79
73
87
104
98
79
66
74
46
84
87
123
51
128
70
108
88
67
92
76
80
87
73
116
87
89
58
121
89
122
100
103
80
46
50
62
128
83
52
85
78
90
52
74
77
66
65
60
78
78
73
100
44
63
58
73
117
99
95
80
54
122
92
60
54
75
52
57
101
59
74
53
80
97
65
113
157
119
84
74
58
58
89
62
120
118
83
50
93
92
110
66
67
70
36
77
80
68
58
81
72
83
68
55
78
55
114
81
65
51
68
61
98
91
73
72
43
51
53
94
53
110
59
68
52
92
88
71
112
40
86
84
36
110
40
62
90
81
70
55
95
107
63
42
65
69
70
98
93
73
42
53
59
63
109
90
66
54
82
62
88
102
66
95
16
65
64
92
40
66
50
91
79
91
90
55
50
69
79
78
107
68
150
92
129
110
86
49
63
30
85
65
80
51
115
48
45
82
95
72
102
59
121
112
66
152
93
88
84
63
84
69
95
76
127
81
128
56
64
76
45
94
36
63
97
112
92
73
85
69
52
82
116
93
64
43
63
121
137
46
70
82
93
138
62
75
69
76
82
80
83
93
94
110
97
52
81
131
61
66
127
44
97
79
100
78
94
103
82
84
71
32
63
67
87
48
58
71
51
72
78
51
66
77
94
47
93
129
93
63
83
84
79
95
95
84
92
79
63
72
43
64
105
103
112
54
76
102
111
61
53
61
56
59
55
94
47
121
58
82
84
75
46
100
178
102
89
53
71
87
96
62
55
68
96
90
93
67
98
82
103
53
105
80
99
59
62
80
53
81
83
70
62
94
42
98
54
77
63
89
119
70
101
72
105
50
59
87
54
72
42
96
100
82
144
123
63
113
37
107
75
118
48
46
47
142
83
111
70
119
63
79
59
71
87
51
96
91
77
35
48
109
97
119
22
69
52
109
72
73
64
49
65
82
76
77
92
103
119
114
69
111
123
97
66
43
63
65
69
116
82
73
77
80
61
85
46
48
84
38
59
109
110
89
108
44
59
85
70
52
52
64
72
76
92
84
66
63
84
94
42
127
62
64
44
65
87
95
50
112
48
81
119
61
65
127
100
53
81
63
62
98
87
54
65
82
78
130
97
82
137
97
104
62
87
90
78
105
60
94
42
96
75
125
87
103
39
75
77
98
75
65
74
69
70
34
66
120
65
73
40
54
101
40
68
88
88
77
52
86
79
68
96
123
120
98
117
89
69
77
65
87
76
34
58
83
81
76
69
32
97
52
81
76
96
24
59
111
74
144
81
103
50
72
80
76
84
65
87
98
81
42
120
95
51
91
116
90
51
38
58
56
70
107
74
69
67
37
94
126
57
87
52
64
76
129
93
81
93
72
104
84
64
98
83
81
73
62
74
79
50
89
55
71
87
64
126
92
78
58
105
87
64
33
61
70
70
72
82
62
46
59
90
112
66
70
75
67
70
57
103
133
54
44
99
90
86
64
124
46
76
51
65
90
78
160
141
91
89
65
112
90
100
101
48
72
53
68
81
89
145
148
107
45
73
85
47
58
128
61
84
52
71
74
68
60
102
111
92
135
107
70
63
56
45
122
97
60
39
99
68
68
88
125
125
71
70
55
43
45
84
68
75
63
51
115
88
74
61
82
81
94
105
80
132
72
52
86
63
76
119
108
63
62
61
84
113
107
69
54
103
73
41
62
42
58
93
79
72
43
70
74
73
59
47
90
50
96
33
45
77
39
56
33
77
64
127
97
120
86
104
40
81
63
107
53
68
77
92
55
87
79
80
64
34
81
73
105
66
35
57
50
107
47
150
85
30
113
60
42
68
58
121
106
48
76
56
110
69
39
95
129
55
103
82
57
112
96
145
63
119
103
62
77
85
78
83
67
49
86
70
71
41
28
65
48
78
43
61
86
101
56
70
66
65
82
98
77
62
68
82
98
155
42
110
61
66
82
97
123
60
53
78
66
78
95
61
65
52
91
84
74
67
71
74
108
85
36
52
69
96
89
54
79
92
100
71
65
60
67
73
89
68
60
30
120
104
73
111
35
113
41
64
64
120
76
32
99
46
67
80
90
111
73
54
94
126
90
41
55
68
73
51
62
87
50
86
38
90
109
62
66
71
73
91
78
94
89
109
46
91
79
81
48
116
74
69
54
107
100
118
83
58
57
76
92
84
71
102
94
58
68
83
45
119
119
77
58
93
63
79
53
50
84
79
43
55
96
80
92
36
77
53
139
111
119
59
57
91
105
58
44
82
59
56
108
118
45
73
99
41
98
73
72
105
72
71
39
48
85
34
59
83
82
95
82
117
120
77
69
49
101
51
54
92
84
34
82
35
61
89
41
66
95
56
101
80
74
73
87
72
40
97
99
56
72
66
88
110
144
117
87
60
66
100
75
62
73
127
61
85
64
90
107
73
46
109
58
76
83
62
47
72
46
54
75
53
124
71
74
61
84
66
87
87
39
39
54
86
79
99
59
82
57
118
111
59
53
58
54
88
96
84
61
109
103
58
50
58
95
82
141
76
68
62
36
79
67
66
80
64
80
117
59
70
149
51
106
70
85
92
55
33
46
104
89
91
81
85
70
66
66
65
61
86
75
78
89
46
93
70
44
107
58
102
61
59
70
91
68
152
74
71
97
86
62
113
66
97
112
105
107
73
52
61
96
124
84
84
65
51
100
55
52
64
65
93
56
45
47
102
62
89
81
76
33
92
77
69
42
79
53
50
56
133
46
49
63
121
93
58
57
122
61
100
69
92
98
91
73
58
74
119
81
105
89
80
119
109
90
106
102
78
104
82
62
71
90
47
56
92
51
82
46
92
78
55
74
76
72
96
41
79
69
63
56
29
75
44
97
101
88
102
75
26
32
63
52
78
80
58
60
65
64
84
94
135
87
119
67
89
113
53
76
101
46
72
71
94
57
70
85
99
110
33
33
90
45
75
109
58
88
63
54
52
85
43
72
62
71
70
116
97
97
97
99
73
82
68
58
68
69
104
92
44
70
62
101
91
102
51
89
87
82
62
55
69
77
56
109
94
102
65
95
77
132
40
91
93
83
110
64
109
47
61
87
37
67
72
96
84
80
95
88
57
49
93
55
60
82
49
40
68
102
61
102
97
77
90
55
54
68
85
71
134
55
62
61
76
70
72
59
71
47
144
104
66
96
96
48
90
85
88
79
57
102
99
87
82
52
72
84
132
91
99
86
62
91
58
87
98
122
148
43
105
61
78
50
79
26
119
50
92
44
86
40
113
119
85
78
73
132
49
81
66
63
63
106
75
73
93
77
68
74
66
70
63
80
63
41
65
82
59
49
42
96
65
98
53
87
57
51
61
79
81
84
74
52
95
100
70
108
70
86
61
82
56
91
19
54
55
87
94
87
93
45
70
99
44
112
55
72
79
86
59
39
73
122
96
48
112
76
86
59
104
42
77
83
59
52
75
40
40
78
114
50
63
63
73
66
84
101
87
99
81
66
81
79
72
66
108
75
90
72
89
42
35
42
52
74
70
98
80
114
48
73
81
78
73
52
106
34
125
92
70
107
117
88
72
54
61
64
67
72
68
81
55
65
63
82
46
30
105
110
40
40
76
70
50
33
98
36
63
68
94
106
104
45
60
91
63
67
44
83
150
69
59
65
126
96
92
38
47
65
50
40
70
44
81
75
68
66
114
77
95
99
92
95
97
44
52
81
80
77
51
98
98
107
109
84
40
87
61
34
66
63
32
83
27
40
74
99
100
109
72
69
53
107
42
65
95
65
109
101
55
31
93
111
102
85
66
52
106
109
69
67
105
189
70
57
71
77
51
68
54
53
93
80
91
90
83
112
65
131
126
119
99
84
54
119
92
95
114
79
87
60
126
91
36
59
98
72
72
50
115
51
65
107
96
68
106
76
44
53
131
108
56
57
92
100
106
101
58
86
75
68
108
57
51
67
45
75
76
71
82
80
68
78
76
95
40
98
112
61
47
96
81
87
97
161
53
109
63
75
77
122
82
40
46
79
100
58
78
127
74
51
107
62
75
91
117
84
97
123
66
75
113
89
90
101
113
92
85
115
55
85
110
120
83
97
98
85
91
75
94
159
44
54
80
43
57
76
48
67
86
87
51
80
63
86
76
56
65
83
74
85
88
98
101
53
52
31
96
76
55
86
70
108
76
71
47
67
135
119
46
122
50
42
128
118
118
91
64
82
76
109
57
33
87
96
93
28
51
79
57
53
45
79
89
65
51
113
86
115
63
61
121
97
38
68
75
92
57
64
91
127
67
127
51
68
102
89
112
38
87
95
59
80
80
83
56
85
45
54
67
108
46
121
56
47
64
51
90
51
78
98
82
87
72
66
104
80
55
65
99
80
49
59
100
55
65
74
62
44
83
42
88
72
69
60
116
98
91
104
110
42
94
65
101
96
52
107
29
89
56
79
87
100
84
97
47
70
95
66
71
114
133
92
57
83
83
48
32
100
74
109
69
122
61
97
86
85
91
71
79
80
86
102
48
87
43
123
54
113
37
89
80
56
59
86
81
120
64
63
90
71
53
69
98
43
51
87
100
105
66
63
86
96
59
185
86
93
49
55
74
97
99
103
104
74
79
63
68
106
90
49
59
46
85
80
81
41
59
98
44
58
72
111
105
62
124
87
128
68
65
145
60
93
52
107
63
43
105
90
90
66
46
77
78
90
105
65
87
94
55
61
114
37
67
54
86
34
51
66
63
92
92
93
100
73
65
142
38
54
48
62
84
92
92
48
49
43
41
48
53
68
77
59
67
103
121
64
48
69
66
64
64
62
109
83
62
83
120
83
85
83
90
122
72
57
103
101
123
66
62
97
52
85
74
81
67
96
71
45
94
44
55
69
73
43
82
105
57
67
57
54
90
101
83
110
53
104
54
51
82
93
64
59
36
59
65
62
106
91
77
54
140
91
65
91
68
55
68
71
58
79
75
105
77
68
115
95
86
50
72
59
124
49
45
68
81
67
124
76
123
70
45
79
36
82
115
111
58
86
39
97
108
104
39
64
59
43
68
77
106
33
82
43
80
51
106
63
102
135
52
42
98
82
122
41
44
68
137
115
66
88
72
109
98
80
60
55
88
78
135
77
120
51
54
104
91
95
74
105
70
52
72
39
101
74
61
69
76
94
70
60
88
54
81
112
58
65
51
95
98
111
56
112
59
68
132
77
90
72
56
45
87
48
123
90
90
87
64
114
100
51
75
159
100
80
54
88
54
78
83
58
77
31
78
94
121
75
66
93
121
86
82
117
65
32
69
84
113
53
192
51
46
107
98
53
74
87
69
59
92
53
82
87
30
167
52
99
65
61
53
89
52
87
154
44
81
50
46
55
78
100
61
70
97
78
59
78
63
86
85
59
94
100
106
66
83
73
57
98
50
97
69
37
50
64
77
48
43
89
61
73
74
97
121
58
54
97
56
54
165
128
109
54
62
84
75
26
56
119
89
48
78
73
69
144
60
93
54
54
89
88
40
77
58
70
84
59
61
70
84
69
71
81
43
72
87
74
110
73
65
53
84
50
77
75
76
47
142
71
92
81
77
88
61
69
82
81
63
77
80
105
133
110
60
108
95
47
108
89
106
113
31
61
92
105
85
64
63
88
77
96
104
57
111
71
73
87
75
52
56
44
41
59
54
187
55
128
91
88
46
52
58
84
66
50
66
118
56
38
60
83
79
69
52
53
59
69
45
70
71
64
67
76
55
86
89
85
59
71
76
110
81
72
69
49
55
89
77
69
62
103
80
107
39
82
139
54
97
79
91
122
67
42
44
77
54
39
74
77
93
98
64
92
82
62
79
55
37
82
124
114
67
44
69
102
82
65
83
82
108
76
96
76
78
77
181
58
121
64
101
100
107
59
68
73
34
115
112
31
87
94
77
67
75
87
70
86
44
58
66
86
87
86
50
53
64
48
74
107
101
51
65
61
142
94
41
87
57
106
48
66
78
111
53
113
73
111
132
63
68
99
49
84
88
44
54
68
91
76
85
82
64
61
54
86
132
90
89
84
64
87
91
88
96
69
39
86
65
143
91
53
105
117
31
79
87
71
97
79
119
80
51
39
67
72
66
63
72
57
37
82
70
37
59
72
58
98
83
52
176
57
61
153
61
99
71
106
44
63
91
45
55
71
59
71
92
110
72
38
89
113
63
75
96
49
74
68
77
94
63
102
78
74
60
46
46
81
48
101
54
85
48
57
30
84
99
72
69
60
62
75
67
66
88
43
98
102
64
102
77
110
134
69
89
59
60
43
74
92
50
80
75
82
140
93
77
143
73
85
44
115
51
135
82
93
69
65
67
74
104
85
94
156
47
60
146
74
61
62
59
53
62
61
87
65
84
71
56
74
37
63
79
50
78
135
136
114
86
56
71
44
70
94
78
93
93
48
106
90
71
117
106
40
58
68
63
61
70
75
81
79
79
81
39
121
62
121
65
66
81
101
74
66
138
72
66
86
147
79
82
84
90
81
66
94
99
50
88
136
104
58
66
81
46
58
59
48
100
73
26
81
59
73
47
128
78
76
74
47
72
46
118
83
89
81
74
62
78
74
85
85
67
104
77
98
84
72
44
91
79
37
91
105
60
73
136
74
75
81
83
83
63
92
51
101
76
82
65
86
45
59
38
76
65
75
101
116
94
72
61
26
86
104
88
54
120
95
50
55
77
71
89
100
75
71
75
47
96
60
62
75
55
34
58
34
54
76
42
96
73
48
97
70
78
73
62
99
94
38
56
110
78
75
60
54
30
63
112
74
68
66
104
71
114
68
107
54
86
83
75
89
61
89
68
77
99
99
57
80
79
64
71
49
50
120
81
58
67
95
81
84
88
88
43
72
74
47
122
61
114
99
73
57
140
75
49
95
70
68
51
63
70
66
48
57
102
44
104
65
112
61
43
64
75
67
78
78
80
36
106
74
85
106
80
46
33
110
77
63
80
75
64
69
64
84
70
71
63
97
89
89
67
85
86
62
68
55
87
86
112
82
52
89
97
77
78
80
74
36
68
72
70
88
38
94
55
76
79
101
55
120
100
135
84
46
46
54
50
136
96
83
74
74
105
112
54
78
106
73
79
56
78
124
61
87
73
131
96
49
94
100
85
59
72
51
108
105
61
59
64
58
69
102
54
102
123
134
87
83
77
102
78
62
50
46
122
49
43
78
48
41
90
59
55
77
77
89
102
65
87
73
60
56
67
83
64
87
98
58
111
59
103
78
96
62
66
53
129
90
52
115
84
101
34
76
93
97
76
111
52
51
59
93
48
72
136
58
78
70
69
29
142
102
69
75
72
64
102
91
91
68
96
114
99
46
127
84
78
56
78
54
118
60
72
67
95
55
108
50
96
118
41
90
85
99
93
71
115
63
66
98
29
52
72
51
66
80
140
82
102
46
134
62
63
69
52
41
47
73
76
104
69
96
76
60
96
88
59
92
63
89
81
100
144
47
93
74
75
96
73
88
45
73
67
94
100
82
80
96
62
86
77
109
40
89
144
94
107
51
56
81
63
64
84
106
72
70
83
79
85
65
39
99
145
65
101
78
110
63
57
85
70
49
74
45
81
65
37
97
75
118
116
87
121
43
60
84
92
70
99
138
67
66
130
77
41
58
74
40
92
94
76
46
58
89
115
64
41
99
45
88
79
96
113
113
75
40
86
120
97
43
46
70
79
70
29
78
33
55
85
117
115
48
58
118
41
67
72
69
93
61
59
61
69
102
78
121
48
67
87
71
55
80
87
71
52
74
68
47
87
65
73
95
77
110
73
108
103
46
76
84
107
92
42
41
55
62
54
156
78
38
42
96
85
88
40
83
53
91
58
52
98
70
114
72
59
50
79
84
77
89
102
84
75
42
111
89
77
85
61
60
103
47
87
39
95
75
62
44
76
127
87
97
70
114
71
84
115
51
139
37
55
107
65
98
53
94
73
42
73
64
105
47
49
59
83
106
110
64
54
74
49
91
92
76
116
93
139
61
68
66
48
58
67
89
59
59
55
77
60
68
79
67
62
96
51
39
85
62
80
53
82
74
51
78
73
135
68
65
82
87
62
77
91
82
72
108
60
130
26
77
85
88
51
117
54
102
73
56
106
107
48
37
135
62
74
67
60
53
108
75
115
108
99
120
68
41
31
153
23
87
107
52
125
77
91
91
47
40
75
93
51
84
69
93
76
82
42
118
82
74
55
69
91
66
77
31
59
97
34
89
72
61
60
66
81
85
65
72
146
34
58
106
65
111
57
57
76
64
101
92
60
35
73
93
97
65
101
86
27
36
82
100
81
135
129
71
86
64
42
80
49
47
95
50
77
110
101
48
65
119
104
76
63
49
80
75
91
83
60
30
123
42
69
60
76
67
66
79
92
35
131
100
66
104
61
62
71
31
49
69
77
103
83
69
41
100
40
77
75
122
112
100
96
54
63
55
101
113
100
36
92
64
70
81
76
80
90
80
108
77
62
88
82
82
57
36
49
42
58
51
44
52
59
30
55
45
40
65
115
83
99
93
53
129
69
57
89
92
94
70
85
70
83
89
41
136
60
115
86
55
66
68
86
60
115
41
60
57
106
85
77
48
77
38
73
67
68
50
89
121
74
90
36
62
117
43
75
161
52
61
65
29
78
87
73
61
93
46
66
111
81
43
85
99
66
67
101
64
65
55
66
68
46
75
51
120
92
57
144
74
86
93
70
87
102
73
43
31
113
49
69
108
110
67
134
72
45
81
47
49
108
67
63
151
103
150
100
74
72
48
42
71
74
108
63
105
66
82
110
127
96
58
105
82
67
33
89
85
91
112
131
100
92
44
43
67
94
95
90
74
72
83
78
68
60
90
69
53
84
86
108
63
58
96
78
59
56
85
51
88
70
50
130
95
55
82
99
48
102
67
79
72
61
90
36
95
77
141
80
90
100
46
95
97
46
100
80
49
90
74
79
95
53
41
66
59
38
95
45
71
30
77
95
119
72
99
37
109
91
61
68
49
91
84
101
70
94
67
53
65
73
87
78
55
58
104
144
75
75
95
76
118
22
76
71
62
62
77
48
77
49
49
76
50
108
75
116
43
41
106
72
75
43
59
39
73
80
68
65
58
78
87
83
67
85
95
102
71
92
88
78
94
45
97
66
92
77
62
121
97
38
56
78
46
65
63
45
103
65
119
83
73
34
45
85
87
63
76
139
45
112
95
66
65
46
60
79
46
134
66
79
86
58
93
48
77
89
95
66
81
73
48
53
57
86
91
36
106
81
69
54
51
54
87
101
63
68
53
68
78
56
123
72
109
62
36
82
110
68
46
47
32
116
47
144
62
129
67
104
104
87
80
36
81
50
95
39
63
87
158
111
115
75
56
99
53
70
47
55
65
81
52
77
102
68
57
105
68
58
58
83
80
70
55
44
79
65
77
80
62
71
82
46
102
106
62
63
69
42
97
79
114
71
43
54
50
62
110
77
97
57
73
87
99
116
109
35
67
83
63
92
62
62
116
112
71
103
37
100
92
47
59
112
57
31
119
17
92
67
23
54
90
87
94
101
107
43
100
66
89
125
76
30
56
84
52
48
62
103
111
71
106
44
86
61
98
48
72
84
74
89
106
67
74
93
73
57
52
43
92
97
79
128
111
102
132
59
76
90
83
65
67
57
61
59
56
105
86
70
42
65
119
74
57
77
48
70
103
61
101
82
87
59
76
39
65
83
35
94
130
81
42
52
85
44
74
41
83
37
101
85
25
69
137
70
71
72
81
56
57
64
64
120
58
60
69
89
72
124
80
42
47
57
79
90
54
53
70
63
81
33
82
68
54
59
86
49
33
40
99
79
91
50
78
90
45
40
111
77
65
69
56
103
62
94
97
97
118
85
78
121
143
74
92
65
51
68
64
112
78
131
98
70
81
79
64
78
122
82
79
74
53
84
70
81
69
66
47
77
98
67
106
68
131
50
100
87
59
92
58
73
75
69
60
88
74
77
63
63
94
84
75
110
90
115
67
142
104
75
93
81
51
76
73
56
94
88
56
66
148
81
67
51
46
92
30
76
73
61
99
77
111
67
113
85
102
92
76
112
93
54
47
88
71
91
60
121
116
53
105
132
108
66
59
43
99
133
47
64
94
145
85
112
79
47
48
70
133
57
61
73
124
102
59
36
69
111
50
73
106
81
52
73
61
92
77
82
56
104
85
99
39
92
50
120
73
84
77
62
147
71
52
70
88
85
79
39
113
152
54
112
55
44
60
147
67
50
101
98
80
83
57
52
68
118
83
81
84
72
58
65
76
93
62
78
69
78
74
87
64
57
77
59
117
65
131
51
86
53
66
41
61
113
99
106
46
50
63
50
114
81
43
84
85
106
75
65
60
65
119
73
71
58
77
91
63
67
77
73
77
74
88
77
116
61
103
42
114
88
46
69
74
51
107
62
66
117
68
100
61
79
36
94
94
102
90
70
48
56
72
69
46
76
96
47
111
99
37
57
81
81
73
73
46
84
101
80
72
58
84
85
107
39
85
68
94
78
68
83
34
74
47
80
87
64
92
97
47
46
44
72
138
67
92
70
56
91
93
57
106
110
82
43
83
42
129
48
92
25
61
75
69
87
63
91
159
61
109
104
118
87
70
57
72
71
95
58
59
95
52
85
147
105
101
91
71
91
113
83
90
103
97
58
130
66
75
59
92
83
89
74
63
100
95
73
21
79
72
55
78
82
62
63
71
72
60
71
154
55
58
25
44
81
45
89
35
111
50
40
78
80
85
78
72
44
91
37
89
111
127
139
71
44
47
104
112
57
81
41
33
86
106
77
117
38
69
91
94
69
47
118
76
67
42
117
69
53
116
95
53
83
58
108
73
94
63
45
54
97
88
48
75
74
78
86
72
57
62
58
56
128
90
65
37
98
63
52
57
91
86
104
62
133
42
95
110
77
30
69
71
39
70
50
47
98
79
115
69
92
71
65
43
114
145
74
76
60
54
84
72
52
60
91
50
95
113
65
109
45
106
75
80
121
70
51
77
95
28
35
58
64
98
90
93
150
91
56
93
67
98
85
87
51
47
71
73
74
84
47
91
135
45
116
50
54
74
125
68
69
58
66
82
53
51
47
83
130
128
101
85
53
41
97
52
98
113
70
89
61
78
46
105
119
75
94
83
75
65
64
56
66
104
126
56
59
113
73
87
94
87
89
56
43
42
62
81
66
112
44
107
84
66
50
84
104
60
85
72
126
44
115
46
94
61
118
66
53
94
80
43
57
115
101
83
40
83
132
74
59
90
54
111
118
121
48
58
72
86
80
50
64
46
71
91
83
52
81
43
143
78
71
62
82
95
96
55
108
61
57
94
47
70
89
89
62
64
67
96
61
81
56
53
68
62
52
77
61
88
44
76
92
62
121
51
98
73
47
61
84
143
110
67
75
71
60
130
79
45
57
57
56
78
92
57
47
61
91
97
105
63
61
74
85
72
124
52
88
74
96
69
92
69
105
70
75
99
113
51
51
50
38
82
171
106
50
86
64
76
61
82
122
70
72
47
57
80
86
133
70
87
89
72
82
83
63
112
92
92
73
110
67
61
76
56
99
45
96
81
87
35
55
73
87
40
54
105
85
90
63
87
79
72
52
95
130
97
110
96
77
88
81
61
78
64
95
44
74
84
120
134
137
134
65
77
93
56
98
68
68
102
23
63
108
87
65
52
114
118
102
70
60
129
93
155
35
66
50
67
45
97
92
49
56
49
58
93
65
71
55
97
64
120
63
51
97
49
125
93
50
127
71
67
81
54
76
109
58
62
111
94
60
81
75
88
82
74
106
67
74
145
78
89
119
84
102
79
138
95
114
66
78
51
73
89
97
81
74
80
66
39
63
112
52
91
50
103
85
38
78
70
39
52
109
50
71
61
115
60
51
82
49
67
36
86
81
57
82
55
101
59
68
63
83
52
90
51
58
103
79
83
59
115
84
42
96
78
51
93
52
86
61
30
85
81
89
81
53
86
98
94
52
65
37
65
92
81
114
69
83
82
33
69
94
101
51
70
58
68
71
58
94
90
88
48
37
72
47
103
50
52
75
64
80
69
75
86
77
103
130
86
83
65
93
65
52
54
68
105
45
73
100
65
78
117
103
58
79
75
83
92
151
69
61
77
35
94
43
51
42
48
72
70
120
130
104
45
65
59
64
77
134
78
108
56
77
65
54
86
154
129
33
53
37
65
40
119
69
103
111
74
128
47
86
85
47
96
89
103
75
81
85
78
71
90
37
84
76
134
76
55
70
68
96
93
95
53
68
102
63
68
39
42
43
94
81
66
91
66
66
43
80
104
75
75
64
81
69
71
61
69
117
98
64
100
54
148
43
74
84
82
90
72
106
53
56
126
72
53
67
91
100
99
84
62
120
92
57
50
133
104
122
57
61
89
140
43
33
54
75
119
71
90
49
86
106
73
45
67
108
63
127
48
50
54
89
80
38
59
72
56
68
60
51
76
63
97
107
83
73
38
121
90
65
37
63
99
76
88
67
54
134
69
59
119
98
78
121
74
77
63
100
72
61
66
91
87
62
88
105
63
113
58
81
87
66
59
46
97
151
64
97
51
54
80
39
83
97
97
62
42
118
60
37
77
66
67
105
81
44
69
125
60
104
49
67
105
59
72
79
137
88
84
82
44
93
60
113
94
67
108
77
98
49
85
71
72
65
85
111
89
67
83
89
30
91
47
78
46
80
95
71
122
78
28
67
92
32
85
84
121
50
38
110
44
54
71
73
40
102
111
68
59
87
85
91
46
89
59
39
53
83
77
94
80
71
96
90
99
59
103
73
58
96
79
92
94
64
53
90
93
80
121
97
81
127
117
95
59
129
59
107
97
99
49
69
102
144
60
83
75
54
55
64
91
114
69
118
77
60
79
97
108
65
103
76
51
65
71
118
142
57
48
90
72
60
76
81
73
108
94
74
74
62
92
49
95
44
79
90
69
68
49
79
105
58
163
36
45
62
65
50
129
88
99
79
37
46
62
75
38
139
75
49
122
97
58
34
100
65
102
78
73
95
114
44
81
77
103
95
58
82
123
83
50
47
69
71
67
78
59
110
77
93
64
80
56
107
94
118
72
65
93
47
86
44
35
62
143
63
48
50
82
67
138
66
89
117
102
57
88
46
92
113
71
101
66
58
67
81
64
63
103
64
83
117
71
114
47
40
93
89
132
69
117
67
90
79
68
78
90
80
103
31
127
123
91
72
49
96
122
61
100
77
83
92
45
78
157
49
93
84
81
39
54
83
91
72
77
33
89
50
84
64
88
57
75
63
85
44
104
84
35
76
57
68
108
46
69
65
50
45
75
41
89
90
85
76
90
39
68
88
96
39
42
54
77
56
111
60
72
56
87
97
99
55
101
81
62
100
82
72
66
63
79
99
76
46
111
100
131
51
120
85
52
93
36
46
53
87
66
95
116
95
46
107
59
96
51
88
74
96
112
72
71
83
93
75
50
36
60
63
113
50
74
63
95
68
117
44
86
98
56
97
36
56
109
81
55
58
91
71
93
47
36
79
63
83
56
114
132
92
94
68
101
55
91
115
86
109
70
79
94
58
68
64
40
113
97
76
123
59
112
79
50
104
100
81
88
66
96
70
117
127
78
50
58
57
76
63
36
55
108
64
29
76
98
76
83
70
127
60
73
73
59
121
93
104
98
48
78
80
93
112
98
86
87
45
57
72
80
65
37
81
74
60
98
116
91
52
66
116
45
65
73
52
44
59
114
51
79
87
63
67
60
59
103
59
101
49
107
90
77
98
54
76
55
108
84
66
43
56
131
43
113
115
54
32
36
83
72
121
118
74
97
64
106
53
54
43
60
64
79
54
84
53
47
65
73
103
94
148
96
76
108
125
73
79
97
53
76
91
81
66
116
54
93
59
53
70
116
72
84
63
144
54
82
101
70
60
65
92
97
157
70
105
81
40
77
61
122
109
96
48
79
113
33
55
85
55
75
91
122
73
70
113
94
40
84
25
50
88
55
51
48
97
78
88
95
99
28
46
88
96
82
58
68
107
116
70
39
56
71
148
52
71
72
62
70
63
95
80
77
86
94
106
108
48
92
55
60
74
99
79
40
60
51
139
67
85
46
65
99
86
65
90
70
65
56
131
92
83
82
91
61
49
101
72
77
41
70
45
62
84
59
90
30
109
45
53
74
82
106
61
49
55
47
50
44
81
52
73
85
60
69
100
77
59
65
58
73
77
113
79
85
41
115
79
125
37
95
52
41
65
53
71
71
57
85
77
70
70
41
50
46
94
45
67
41
55
84
50
81
101
168
38
72
68
77
145
49
90
72
52
51
64
88
82
43
63
99
87
64
56
80
57
79
133
104
70
69
68
93
59
124
57
104
62
63
95
76
64
76
35
84
88
82
82
80
55
206
133
63
60
92
