84
84
85
89
93
86
80
76
76
74
69
67
67
56
55
63
65
60
59
62
61
54
50
53
62
68
68
65
63
68
68
62
58
55
55
56
53
58
57
53
68
66
57
52
56
54
58
63
47
61
61
51
45
47
52
54
59
49
46
37
37
45
49
51
57
56
59
56
44
50
68
74
56
65
60
50
67
69
55
54
54
51
45
42
46
47
42
52
62
61
55
49
44
46
52
55
53
55
64
72
74
63
61
59
58
56
58
61
61
55
46
50
54
55
53
45
48
53
59
57
50
44
58
55
47
46
52
48
41
64
63
63
66
65
62
61
62
56
55
65
74
72
59
48
49
50
52
49
42
43
48
44
42
43
52
54
58
63
56
61
62
61
71
69
49
45
44
43
57
67
42
55
57
51
55
49
32
42
60
55
57
74
77
64
49
46
52
76
74
63
67
71
79
92
94
99
109
105
71
65
60
81
89
96
95
92
92
91
89
52
69
96
83
96
117
94
69
48
32
40
62
64
67
67
87
81
68
66
72
65
37
55
53
41
97
103
112
78
77
79
58
72
89
98
102
107
105
125
159
161
143
123
136
103
104
109
127
105
80
101
89
94
98
93
111
111
84
52
36
72
108
85
80
111
80
89
51
61
89
101
79
84
101
99
98
137
161
80
80
62
55
57
123
91
91
112
45
69
45
82
81
80
81
79
73
68
66
67
67
65
66
68
61
62
66
65
60
60
64
65
61
58
59
58
53
50
54
61
62
64
72
71
67
63
60
56
59
60
58
70
70
64
55
59
61
65
65
41
45
49
44
43
50
55
51
43
37
46
50
54
61
60
57
60
66
62
67
68
70
70
62
66
60
61
65
53
49
54
45
45
44
44
48
46
39
50
48
48
53
62
67
65
67
70
69
65
61
61
61
59
60
60
54
47
48
57
66
60
58
55
54
54
54
54
49
49
49
49
54
60
64
50
59
62
61
61
57
60
64
61
60
66
71
73
74
76
64
55
50
40
31
40
57
52
41
43
45
44
43
43
45
45
46
44
44
52
61
47
50
54
59
63
67
68
58
43
54
63
50
53
65
64
64
73
73
59
58
62
53
56
61
63
58
51
51
54
68
61
47
56
60
63
70
79
68
64
67
75
76
68
75
90
86
65
66
87
70
47
36
40
53
52
53
63
69
53
40
41
43
34
38
55
67
72
71
79
58
55
95
47
84
38
45
62
79
100
78
98
131
123
124
131
143
109
115
97
81
95
114
119
126
113
126
142
96
120
141
130
89
94
116
114
109
132
135
113
99
54
67
71
66
103
88
114
107
86
29
40
59
70
85
97
112
143
159
129
95
56
16
50
120
91
87
122
122
79
95
100
85
84
81
79
75
72
72
68
67
68
70
73
73
71
71
68
65
61
63
67
68
65
59
57
61
64
62
59
58
58
56
54
57
57
56
54
75
74
71
69
65
61
58
54
50
50
50
47
43
41
43
48
52
53
52
55
62
67
73
69
60
59
59
59
63
56
60
57
56
58
65
73
72
66
59
61
60
50
39
39
54
66
67
62
71
78
76
72
70
72
71
65
61
58
56
55
56
55
54
53
53
57
59
59
61
64
61
56
44
46
46
43
41
41
42
43
44
47
48
47
48
48
52
59
56
51
51
49
38
45
42
43
47
48
44
39
42
60
64
53
58
79
83
70
63
56
50
45
46
49
51
48
48
49
42
42
51
62
62
51
43
45
48
46
48
39
62
64
51
48
48
68
61
61
66
70
69
72
79
82
75
93
96
80
59
48
47
35
44
53
55
54
59
71
79
75
80
88
92
86
74
61
57
54
56
63
69
65
77
72
51
50
64
53
42
100
105
75
69
74
62
65
62
69
93
94
84
80
72
55
90
111
38
99
66
58
95
124
67
56
73
99
83
88
80
111
122
116
127
146
142
95
86
95
111
101
114
95
116
87
98
109
121
150
142
102
76
92
36
56
77
95
119
108
111
107
118
54
69
40
54
79
75
95
153
161
94
82
67
69
80
110
77
128
133
85
132
143
176
69
70
70
70
74
76
78
74
72
72
76
77
76
74
77
72
68
67
70
72
72
71
58
57
63
68
67
63
60
56
52
46
49
55
56
56
72
71
70
69
68
67
66
57
49
47
45
41
47
43
46
54
59
57
56
62
71
58
64
59
52
55
61
64
67
57
54
60
75
79
72
71
73
69
64
64
62
48
32
45
54
66
76
83
79
72
70
62
57
58
56
50
50
51
52
58
64
64
56
47
42
54
56
57
62
65
58
47
46
46
46
46
45
44
44
46
43
40
41
49
52
54
39
46
43
38
44
49
45
44
43
46
51
53
52
53
51
50
58
75
86
83
74
68
45
54
55
55
54
50
44
45
44
45
43
44
51
60
72
62
53
50
54
57
55
40
66
62
45
46
40
55
43
46
52
59
62
60
60
63
74
91
92
74
54
46
49
51
56
50
50
55
72
96
101
95
96
99
103
102
94
72
60
54
57
63
63
70
81
73
51
50
64
53
41
72
75
57
96
107
57
46
54
63
107
84
86
70
45
51
68
63
36
89
86
92
97
102
64
74
84
89
79
95
93
125
136
117
104
116
124
128
112
86
73
80
100
74
118
116
112
100
117
152
133
90
89
110
88
92
96
113
119
111
109
103
79
74
87
33
97
81
108
147
157
149
93
100
31
34
99
114
71
115
168
82
131
177
202
78
78
78
76
79
81
84
84
79
78
82
82
75
73
72
66
63
65
69
70
67
65
64
64
63
60
58
64
72
51
48
51
59
66
68
70
67
66
69
70
69
70
73
67
57
56
54
46
54
45
56
60
64
68
74
75
64
57
66
65
60
64
64
52
42
40
44
44
56
64
73
89
86
63
53
57
46
61
92
83
87
85
73
60
56
58
44
40
51
78
94
86
54
52
45
43
48
51
50
50
52
63
67
61
59
62
62
56
52
47
45
50
53
52
49
53
51
52
59
62
50
39
45
56
52
37
32
36
51
63
59
53
46
39
40
51
75
83
90
95
101
98
77
54
60
41
42
56
66
56
40
51
49
50
59
61
65
69
70
76
71
54
47
58
54
70
52
54
60
56
66
66
69
62
49
42
40
34
34
45
47
56
61
57
49
47
50
52
59
64
64
58
58
66
59
48
46
54
67
63
50
45
65
79
79
84
90
59
73
71
70
76
72
52
38
56
76
57
91
102
53
63
80
119
68
67
65
63
55
41
35
98
74
66
96
50
66
50
47
63
44
49
122
124
109
123
134
136
139
146
130
110
91
69
42
44
87
81
141
159
137
114
133
150
116
113
106
104
115
70
41
99
139
123
96
93
85
121
86
84
30
132
167
146
160
163
103
58
55
63
96
90
105
82
146
177
255
178
102
88
87
84
81
84
77
66
60
63
68
75
77
79
75
78
73
73
72
67
66
67
63
67
61
57
58
59
60
63
44
52
56
56
57
54
47
58
64
61
60
70
65
63
54
57
55
54
59
52
51
55
52
58
54
44
56
66
53
49
49
44
35
36
44
46
42
55
59
62
62
71
89
81
68
59
47
51
57
53
48
62
72
71
64
65
69
69
62
54
71
96
84
54
53
43
38
41
41
39
42
50
58
59
57
60
68
69
64
72
70
70
73
75
77
77
69
69
69
68
65
64
63
75
70
63
58
52
46
41
55
52
48
46
50
63
79
92
72
57
57
61
65
79
95
94
68
67
65
63
64
64
63
64
61
63
59
59
69
65
69
74
75
71
68
72
66
70
73
75
77
79
65
68
69
71
74
76
77
75
73
52
49
51
49
49
48
43
33
40
50
61
66
70
76
98
92
86
80
55
42
36
36
44
48
46
64
102
112
62
47
41
42
51
75
77
62
57
46
48
57
49
39
47
67
60
54
50
65
74
60
120
111
74
82
59
42
54
62
109
149
125
74
86
98
114
116
122
84
90
116
89
85
51
56
29
37
42
39
95
139
122
120
118
123
137
113
109
104
71
55
78
113
125
83
133
112
94
116
136
155
149
182
165
146
144
143
111
98
105
97
111
115
83
100
162
155
137
147
168
104
102
94
85
75
70
66
56
61
68
75
77
77
70
76
69
68
67
64
66
68
65
65
61
58
56
55
53
54
47
56
61
55
51
50
50
58
62
62
62
72
66
64
61
64
61
58
59
55
60
53
55
66
64
56
70
69
44
41
42
39
31
34
44
48
72
83
72
68
70
71
74
73
74
61
50
50
42
36
45
60
71
70
63
69
75
80
71
56
57
68
59
56
57
48
42
44
47
47
50
55
60
59
62
67
69
68
67
67
66
69
73
76
77
77
69
71
74
76
76
74
73
72
73
73
71
67
60
48
46
47
54
65
79
87
89
74
49
40
53
51
40
56
90
95
76
80
86
84
75
66
59
60
57
61
58
56
62
55
61
68
70
68
61
60
59
62
65
69
74
76
61
70
74
79
81
81
79
76
75
69
69
68
65
66
63
52
33
33
30
40
46
47
52
60
60
65
74
70
59
51
55
57
54
45
55
82
78
77
71
49
31
39
59
55
68
66
52
47
58
56
42
40
51
64
47
47
61
66
57
91
112
103
52
97
112
130
123
109
87
55
41
113
122
93
86
71
46
96
125
84
91
61
53
44
68
48
96
96
131
117
116
129
128
127
120
112
82
59
57
101
130
105
128
72
124
135
119
154
125
114
169
167
143
140
143
121
113
113
81
92
85
71
113
124
131
111
125
133
88
81
70
59
52
60
67
74
76
79
79
78
75
74
65
63
67
69
64
65
69
65
60
64
61
53
52
55
51
54
55
56
47
44
53
67
69
72
66
63
72
66
62
80
74
64
64
68
54
54
58
51
39
43
55
59
76
96
82
73
71
75
85
93
91
73
50
46
46
44
53
72
68
72
52
60
70
63
65
69
63
53
45
48
66
68
64
72
76
74
70
66
76
76
67
57
53
56
61
68
74
73
70
73
74
69
66
68
73
70
65
65
64
63
61
60
59
57
56
61
64
67
66
67
64
57
56
63
74
98
93
85
79
75
73
73
75
86
89
84
84
91
90
82
106
79
60
61
66
67
70
78
77
66
58
60
63
70
71
76
80
79
78
66
57
64
60
58
61
65
66
61
56
59
62
62
60
61
64
67
69
72
72
71
77
80
73
67
70
54
46
38
34
39
47
38
33
37
48
49
49
55
49
57
66
63
61
83
60
65
58
52
53
54
68
90
95
76
51
50
55
58
65
67
67
63
62
52
50
65
100
93
124
155
63
57
48
63
83
128
153
124
48
34
73
103
53
74
134
117
118
113
103
55
47
68
120
105
81
113
119
127
127
125
111
96
78
52
93
118
116
99
82
58
111
154
149
136
100
135
136
142
158
167
170
176
152
104
80
115
90
110
114
32
73
95
108
129
128
66
63
66
72
76
79
83
78
80
80
78
73
71
77
79
79
79
71
56
54
62
68
65
67
65
49
53
64
60
64
54
59
60
54
60
71
75
78
70
59
64
69
76
71
61
50
50
53
44
50
45
29
64
97
83
90
117
94
85
81
77
71
72
73
69
69
61
58
62
61
60
65
69
49
45
71
78
79
74
61
59
57
59
67
70
63
53
58
65
68
68
75
68
75
76
73
67
61
61
65
68
73
74
68
64
67
68
66
71
66
56
55
56
57
57
60
59
59
59
65
69
72
62
73
79
77
79
87
92
75
73
70
66
64
62
62
61
54
51
54
57
58
64
73
60
81
72
83
87
80
80
98
107
101
65
48
36
33
45
50
52
53
60
64
54
49
52
61
70
69
61
57
63
63
63
61
58
51
42
36
43
49
61
58
49
50
54
53
58
51
51
48
47
53
45
40
37
39
40
40
42
20
38
57
61
61
72
74
83
96
103
76
42
51
76
82
92
81
61
48
35
34
48
67
57
58
53
66
89
98
54
53
112
101
70
111
94
75
62
57
54
53
62
41
47
38
64
86
109
120
116
161
123
93
60
37
76
112
136
107
118
114
110
93
63
74
68
70
148
116
75
62
55
35
110
130
64
117
148
142
93
81
157
181
143
149
100
115
139
111
88
111
86
51
88
67
85
101
87
61
55
53
60
72
77
84
85
86
88
84
77
71
72
72
73
75
68
54
56
74
86
63
75
78
59
56
61
51
51
42
57
64
59
62
71
81
76
64
65
86
75
63
76
67
54
49
46
39
52
43
53
66
77
82
83
87
108
105
105
97
80
69
66
62
59
59
47
54
68
70
66
68
40
45
74
74
73
61
62
61
59
58
62
67
64
54
69
82
73
57
62
83
74
80
83
78
69
65
65
66
74
78
68
64
71
75
72
55
50
41
42
45
49
51
47
48
50
53
60
62
64
86
99
106
98
87
79
57
68
65
62
64
69
72
72
70
78
78
69
66
73
78
76
75
66
44
55
69
71
78
80
101
112
100
88
77
74
70
65
54
44
49
68
63
44
46
52
57
55
51
61
55
51
48
48
52
55
55
54
42
50
66
60
43
40
45
55
53
40
43
42
40
42
53
53
56
58
45
37
34
39
24
27
38
43
50
91
98
114
116
75
40
77
120
93
96
84
67
56
45
45
64
72
58
66
65
78
70
32
46
80
125
91
72
59
72
61
45
53
67
57
63
76
47
60
103
82
117
127
73
153
98
103
89
72
55
117
113
131
114
84
86
72
50
97
63
55
144
108
90
88
55
65
100
101
97
122
172
145
66
118
187
173
140
140
156
111
134
126
85
98
96
59
99
60
66
84
75
54
53
51
49
50
52
54
64
66
73
78
78
74
71
68
56
53
70
81
65
54
64
50
51
52
51
64
74
63
66
73
60
65
73
73
72
62
87
83
61
77
67
50
61
62
62
49
34
74
81
79
81
78
72
70
72
71
67
76
94
116
130
126
106
88
64
54
56
66
70
67
65
51
54
64
76
68
62
61
68
72
66
57
49
56
85
154
161
144
98
55
38
43
33
52
69
74
76
81
81
77
73
69
64
63
60
57
61
67
60
62
64
75
89
93
85
83
84
90
101
96
90
75
70
64
59
54
52
64
67
61
63
73
86
96
87
56
62
70
74
69
61
60
64
67
104
80
70
77
78
72
64
58
58
72
74
75
77
90
102
110
102
88
84
85
86
86
78
67
68
80
88
81
85
89
91
88
82
77
76
73
83
76
55
51
55
49
60
60
61
61
62
66
69
65
63
62
61
42
37
38
52
48
42
35
30
27
28
34
50
62
46
63
102
93
95
97
84
56
58
65
56
73
90
74
78
78
78
54
49
48
65
70
64
55
50
59
42
50
52
49
57
108
43
40
47
82
108
93
81
93
132
127
117
122
125
101
99
131
122
112
95
86
82
82
109
120
93
89
90
125
68
71
80
97
112
111
73
105
163
170
155
133
142
142
114
70
130
133
57
53
92
124
69
67
92
85
72
73
91
95
97
95
86
88
90
90
85
81
74
61
53
79
77
67
71
72
64
76
89
80
61
60
65
63
67
78
84
84
69
68
76
67
60
69
78
61
57
68
48
48
67
58
62
56
44
50
86
80
78
75
70
65
66
70
76
75
67
57
52
52
52
51
49
57
63
62
56
55
59
60
73
84
87
74
83
90
90
85
80
76
79
85
81
83
107
86
65
56
53
49
44
57
56
62
75
82
81
84
90
82
73
68
75
85
90
94
94
97
119
119
118
117
110
89
81
72
70
76
74
71
51
51
52
51
48
48
66
98
96
95
86
72
70
77
86
82
67
51
51
66
78
80
84
77
99
100
70
58
74
64
59
54
52
52
53
53
62
74
62
55
70
60
73
96
82
72
72
69
60
50
52
53
54
56
60
61
58
52
50
64
71
63
63
67
59
48
50
50
51
53
54
53
62
61
60
58
48
45
44
39
39
39
41
42
42
39
30
23
29
26
39
66
77
86
88
84
63
61
62
62
96
91
81
66
49
43
46
55
57
75
70
42
48
64
83
83
42
48
40
48
55
32
62
62
50
42
62
91
113
123
110
105
109
111
123
136
141
126
113
86
91
108
101
102
97
77
137
134
168
125
128
96
92
129
149
57
90
138
149
135
161
182
131
102
112
100
67
70
124
132
96
68
81
90
111
109
106
81
84
87
87
86
93
99
82
87
82
65
56
66
93
78
77
81
72
67
90
97
69
68
77
80
70
64
71
80
80
70
74
77
61
53
63
49
67
71
55
60
58
39
64
69
61
46
51
76
73
85
82
79
76
73
70
68
51
50
48
44
44
48
58
65
63
74
69
52
50
62
68
66
77
79
69
82
90
87
83
75
74
84
94
85
73
73
61
54
58
63
61
54
58
56
62
75
81
82
92
106
93
85
82
91
101
101
100
104
99
98
93
95
99
97
93
90
85
80
80
82
85
85
85
85
81
72
62
62
73
77
93
100
80
61
65
89
81
64
53
60
79
87
85
87
67
97
109
82
63
73
57
57
56
56
56
55
53
62
71
56
46
58
52
72
72
66
69
80
82
70
58
63
66
67
67
69
72
68
62
45
58
67
61
62
67
62
58
55
43
44
47
44
38
51
51
51
50
50
48
46
47
51
53
50
45
41
44
50
34
44
52
52
49
49
106
92
76
58
63
63
57
88
87
79
65
54
55
73
86
63
78
75
41
36
58
96
81
46
55
48
48
44
32
43
79
72
62
96
110
106
120
108
100
100
107
127
144
150
117
86
62
85
117
96
76
113
107
133
127
144
114
118
88
97
131
149
120
120
115
158
138
136
143
123
131
109
100
75
96
122
110
73
75
90
108
136
120
106
76
75
74
74
80
85
89
74
73
68
62
57
59
62
95
85
70
68
77
73
65
66
93
93
73
58
58
66
74
74
84
69
66
63
54
48
62
39
44
63
41
52
71
85
78
59
51
59
56
63
75
69
64
62
58
51
50
60
64
69
72
72
71
73
74
69
74
76
62
65
75
70
55
55
55
66
68
56
42
49
51
64
72
69
84
81
103
98
87
73
64
62
65
81
80
81
84
85
82
77
73
87
80
74
82
86
74
61
55
54
63
58
55
53
47
49
51
53
56
60
61
62
63
65
73
85
91
89
82
83
86
98
112
124
127
106
66
68
75
82
83
75
68
65
68
77
79
99
112
99
78
82
87
89
86
87
85
81
61
57
56
55
51
58
67
77
89
102
108
104
101
111
94
105
108
96
82
75
69
63
64
75
79
62
51
49
44
63
71
64
58
61
63
60
45
47
48
48
61
62
58
52
53
54
54
55
59
72
74
64
71
76
98
125
132
106
68
40
42
72
76
58
77
113
81
60
52
39
42
31
38
58
62
56
48
41
46
40
56
61
66
64
57
26
59
78
85
93
121
135
128
78
86
84
97
134
152
162
185
113
72
40
64
110
116
115
120
139
135
152
74
65
110
120
120
86
71
104
101
122
123
142
143
160
147
88
80
73
79
117
110
118
95
112
99
96
79
43
8
81
91
83
78
76
58
58
48
48
59
58
52
69
52
91
71
49
54
75
79
81
99
67
70
87
72
72
86
75
55
70
69
62
55
52
56
40
41
28
29
82
94
105
90
71
65
72
73
58
50
47
47
49
52
58
65
71
64
65
65
63
60
59
65
73
76
75
73
69
65
61
59
60
61
62
87
97
82
60
61
66
71
77
85
94
91
88
90
85
88
107
119
104
95
79
59
54
67
79
73
58
42
46
60
71
70
60
53
71
70
56
48
47
50
52
72
68
56
47
74
74
62
65
61
64
63
61
75
71
81
71
72
99
137
156
145
111
101
87
77
78
85
90
90
95
72
71
82
103
110
101
75
78
77
85
83
78
81
72
69
59
50
52
71
71
79
89
95
90
83
79
68
84
90
91
93
99
94
82
75
69
70
72
72
68
65
65
57
62
70
82
92
87
74
62
69
71
72
101
107
101
81
68
59
59
55
52
80
108
114
110
100
95
84
67
55
55
53
76
77
51
58
74
97
75
50
52
39
37
48
45
60
62
43
44
58
41
58
60
45
38
55
42
29
35
46
56
82
124
153
152
166
135
119
133
151
155
159
168
128
100
99
97
157
129
134
133
135
152
135
91
80
123
143
154
138
126
84
95
77
123
161
136
172
173
153
89
80
73
67
86
84
65
68
69
110
82
94
84
78
78
78
82
65
54
57
47
51
55
48
40
48
54
86
71
54
60
83
93
97
111
56
77
87
69
67
79
72
71
71
55
57
54
46
42
45
58
49
40
86
93
94
80
74
77
78
64
48
48
50
53
61
72
82
84
78
81
80
78
77
74
73
75
78
82
85
86
85
82
79
76
70
79
90
109
112
105
95
77
90
100
101
96
95
96
96
92
88
93
100
94
93
90
81
67
55
52
57
65
71
35
35
52
68
70
58
47
45
52
53
44
42
47
53
58
64
63
55
54
56
54
62
58
66
80
84
80
94
88
105
119
116
96
77
70
102
114
119
105
83
73
82
94
93
92
95
97
104
108
104
95
78
78
78
63
56
53
61
66
71
75
76
62
52
60
61
57
50
50
60
79
72
81
85
88
93
92
87
88
97
97
92
85
84
93
104
80
76
77
97
115
112
98
80
75
70
73
93
84
69
52
45
43
47
43
37
57
93
84
65
51
50
52
55
56
62
65
92
92
62
63
74
90
89
50
41
40
43
35
47
56
47
37
38
51
40
47
68
61
41
46
51
38
35
47
62
86
114
129
132
142
144
148
149
148
143
136
132
121
127
152
146
146
132
129
126
128
143
133
103
113
141
147
158
127
116
106
108
98
127
160
151
188
173
158
70
22
56
58
87
126
115
78
47
94
70
99
82
59
74
89
77
84
89
59
51
61
48
45
61
59
100
81
83
81
79
86
91
81
67
77
76
74
73
66
59
63
49
65
62
57
60
74
92
93
88
67
63
107
92
75
56
46
46
53
60
88
96
90
88
89
92
96
95
88
90
92
90
86
83
84
88
90
97
92
88
85
83
81
81
90
86
84
72
61
64
75
91
80
69
67
75
71
59
67
69
70
71
67
53
63
72
78
87
83
59
40
51
76
70
64
60
51
42
41
44
58
68
85
79
72
74
81
57
55
59
70
72
65
63
57
85
76
57
78
99
108
101
83
67
68
83
93
89
66
75
94
117
128
117
92
72
73
65
68
74
77
88
103
110
93
75
70
66
66
73
70
61
57
62
69
85
95
92
87
80
73
72
76
83
83
89
91
92
94
90
88
93
87
83
89
102
109
102
91
110
109
96
95
98
99
96
86
78
73
68
32
28
36
43
45
51
55
49
40
53
58
51
48
49
49
55
70
95
91
73
77
71
51
62
76
98
52
47
34
23
42
47
54
80
82
98
66
39
20
51
61
53
37
48
64
41
62
83
96
98
110
124
127
146
121
116
133
129
108
114
143
128
155
73
107
132
126
156
160
162
146
139
109
124
81
81
107
105
138
147
126
111
157
132
118
178
177
166
121
116
117
131
153
107
23
12
45
86
51
74
79
60
42
46
62
57
56
60
71
74
56
54
74
67
74
67
74
85
87
80
81
79
69
65
66
76
75
55
55
77
64
72
74
80
79
71
68
71
71
73
78
36
31
59
67
81
103
112
103
98
98
91
90
86
80
77
83
95
103
110
111
100
92
92
95
95
98
85
79
78
82
89
93
85
80
83
108
111
107
103
89
85
76
68
66
65
60
68
86
86
73
75
82
67
73
68
69
78
84
85
90
97
86
62
58
66
76
82
85
83
73
74
74
64
53
47
43
48
54
57
58
66
73
98
91
79
83
92
76
63
73
72
70
67
63
59
56
59
57
57
56
55
63
86
110
100
74
57
61
61
56
61
55
95
104
100
112
106
99
93
100
104
100
93
95
98
91
92
98
108
112
104
82
91
86
80
83
88
81
73
75
79
90
90
88
89
89
87
72
58
56
73
78
62
44
49
33
25
33
51
60
70
74
71
68
66
64
63
77
74
74
79
73
63
75
87
85
79
56
58
63
58
70
76
49
12
34
70
85
92
81
76
77
63
66
77
93
79
50
44
47
51
51
59
56
56
80
77
63
81
120
130
137
119
88
75
108
154
157
131
134
59
78
133
106
144
118
158
173
95
63
37
66
71
120
122
127
160
145
168
168
186
215
203
195
170
158
121
147
166
94
50
70
56
63
120
126
75
81
119
42
44
43
47
58
57
66
50
63
61
59
68
66
87
64
76
98
107
90
75
65
53
77
84
87
73
59
57
63
65
64
70
90
93
75
58
55
63
66
64
39
55
96
82
88
99
102
97
115
121
95
96
97
94
89
82
78
98
105
107
103
103
105
99
89
87
80
78
79
84
90
94
93
95
96
100
104
102
98
99
90
75
61
59
70
72
78
91
92
83
80
78
71
74
73
74
79
86
92
93
91
73
72
80
87
87
81
78
81
73
86
92
85
75
70
53
60
63
60
72
79
80
91
74
74
91
89
68
60
70
64
64
74
87
85
66
51
48
46
44
36
32
43
60
99
99
68
56
46
37
42
28
59
101
95
106
115
95
89
103
105
89
77
93
97
96
83
71
71
75
77
80
62
56
48
47
50
44
43
53
82
95
89
79
76
78
78
65
48
35
44
45
33
20
38
29
27
39
67
74
77
82
80
80
82
84
85
89
93
85
77
63
62
93
112
69
67
49
58
71
68
72
69
40
31
71
121
117
96
80
92
81
68
68
91
108
70
51
48
51
52
54
68
52
44
61
61
51
64
93
115
134
133
100
67
95
156
169
134
109
57
101
106
106
135
100
161
162
68
63
55
68
94
122
123
115
145
145
163
176
160
164
175
203
189
178
120
129
105
67
92
120
80
78
125
55
78
148
92
67
86
78
56
69
72
71
69
77
90
93
85
76
96
74
88
69
75
72
58
71
50
47
52
66
67
57
58
70
55
62
71
66
66
78
90
115
101
104
98
70
95
101
88
89
88
85
81
83
86
99
103
96
87
86
86
89
67
83
89
89
111
136
122
87
85
83
76
79
86
94
107
101
107
105
87
89
93
95
105
100
97
99
100
92
90
83
89
95
94
85
75
68
77
89
93
88
87
92
92
85
89
87
79
78
85
85
80
77
85
76
67
71
80
86
85
83
83
85
91
94
94
91
96
90
68
49
47
55
74
78
83
80
71
73
81
97
82
68
66
71
70
61
54
47
69
111
129
115
92
76
74
92
108
85
78
94
115
92
87
77
66
59
59
62
34
34
37
41
42
40
46
50
50
60
70
57
42
59
93
68
57
60
52
44
58
78
58
46
35
36
35
37
41
45
50
46
44
70
67
62
40
41
40
53
77
87
65
74
95
120
109
154
183
122
105
77
75
61
30
47
80
71
55
79
140
113
58
63
95
96
78
46
82
63
65
74
45
64
46
51
78
57
45
66
50
89
64
54
134
118
128
127
126
131
141
148
148
146
108
149
133
127
123
114
92
144
168
103
135
120
71
66
83
87
131
151
130
149
150
114
71
86
155
145
180
150
135
109
91
80
79
99
92
55
124
87
52
68
48
45
44
56
71
68
74
46
65
82
78
60
52
90
88
54
68
67
69
65
35
54
68
78
62
49
64
101
129
111
109
101
101
108
116
123
99
87
97
96
68
81
75
78
81
83
82
77
70
70
66
75
82
90
99
96
88
85
89
83
76
93
124
136
127
103
95
100
101
96
91
92
91
82
80
92
85
75
70
77
81
88
94
92
79
77
81
85
89
89
88
88
95
77
75
69
66
74
85
87
82
80
89
93
86
75
72
74
80
80
70
68
74
80
83
100
100
97
87
71
73
79
76
78
78
77
87
103
109
92
90
89
84
79
86
94
89
89
90
92
93
89
80
74
71
74
75
85
115
140
145
166
145
130
126
115
112
118
126
112
92
80
81
106
115
113
102
92
89
89
87
85
92
101
98
83
80
89
88
76
53
54
61
55
53
73
96
110
96
95
85
61
47
50
67
60
51
45
52
66
81
64
63
72
88
84
73
151
133
149
148
110
127
146
98
105
102
98
85
72
72
74
67
65
108
91
61
72
96
91
87
100
84
97
116
81
65
68
65
69
119
117
76
94
78
97
77
77
114
156
121
144
131
123
133
142
138
134
143
152
138
104
141
114
81
104
149
158
83
75
67
59
67
67
115
122
125
154
170
128
127
114
141
164
135
167
169
97
126
90
53
67
57
61
119
63
74
99
98
54
63
71
71
55
52
55
54
64
71
67
58
62
103
66
57
70
60
42
36
41
78
55
46
68
95
109
118
128
106
96
92
106
118
113
104
89
83
99
97
67
82
78
83
85
87
84
79
74
75
74
77
78
84
95
95
90
82
95
99
91
89
103
114
118
107
98
104
105
105
110
115
96
85
85
107
98
90
89
94
92
94
98
97
87
86
88
84
81
83
90
96
100
85
79
72
70
76
87
93
94
82
83
87
82
70
67
73
68
69
73
76
76
73
69
82
88
94
96
86
83
81
65
63
58
57
67
84
97
104
99
94
88
82
87
93
90
88
83
75
71
72
75
77
86
95
111
107
98
105
118
119
130
141
137
127
120
118
106
105
107
114
124
127
124
125
119
112
107
100
92
88
92
99
105
99
81
64
63
69
54
59
80
93
97
102
105
96
95
99
96
88
83
82
66
49
37
34
37
56
74
78
85
88
87
89
96
149
138
133
105
68
98
135
106
87
106
111
101
95
87
76
73
76
90
75
61
72
72
44
55
86
91
73
84
49
47
51
40
91
101
50
63
66
53
94
67
90
130
135
103
124
115
111
122
127
112
113
135
143
102
88
143
101
80
128
134
120
59
61
64
52
39
65
104
123
150
140
166
135
119
123
147
130
104
149
142
122
110
93
73
58
58
85
116
71
128
127
88
68
73
70
56
74
80
65
42
60
83
98
103
99
71
73
75
39
53
74
82
105
80
95
127
127
109
99
100
102
94
108
110
102
96
89
82
81
82
99
93
57
75
72
63
66
70
72
75
88
94
100
101
102
108
112
103
95
97
85
80
92
106
110
107
105
108
116
117
110
114
115
101
104
101
102
103
96
96
101
100
92
86
88
92
97
99
100
90
80
80
88
94
88
89
85
82
84
83
83
91
103
96
82
80
82
81
76
71
72
65
63
69
73
76
78
70
67
67
75
97
98
96
98
99
94
84
72
67
76
67
75
90
98
98
99
98
97
109
116
109
98
90
83
77
86
100
101
105
122
132
128
136
140
132
133
148
137
109
109
109
112
115
117
108
103
101
110
119
117
102
88
90
100
76
41
30
60
101
108
91
112
107
100
89
90
101
109
78
92
76
69
77
78
68
72
55
51
52
51
60
57
45
60
85
109
113
102
136
103
112
106
105
129
145
136
117
123
101
60
41
46
63
79
57
35
47
40
26
37
58
64
70
69
87
63
57
46
51
120
82
60
79
58
43
74
119
74
49
57
86
63
95
121
141
153
140
97
81
110
152
97
66
125
133
132
113
100
100
73
79
73
52
39
28
87
139
121
134
164
147
148
122
148
135
131
125
128
93
69
47
43
47
62
79
94
102
87
80
96
57
53
62
64
55
76
86
108
101
87
80
83
84
58
55
42
75
86
92
96
87
118
95
87
92
91
80
77
86
133
127
100
98
98
86
70
73
71
88
92
83
93
77
81
86
91
94
94
95
97
91
92
94
99
99
89
87
123
113
113
121
116
103
102
114
124
115
112
118
150
153
118
96
100
102
103
105
99
90
92
100
109
107
94
77
81
104
107
108
101
92
88
100
93
81
77
86
91
85
81
84
98
110
114
114
108
89
68
79
73
79
84
85
87
91
80
77
73
71
84
96
104
113
110
106
101
94
88
91
99
103
109
105
95
96
102
102
115
121
115
110
111
111
107
92
53
66
77
81
85
89
107
105
102
64
55
89
134
148
149
148
141
126
92
83
57
73
96
112
109
92
68
77
80
96
105
85
55
55
77
69
73
78
80
84
84
77
73
75
119
120
105
105
120
119
117
122
110
89
97
84
91
114
115
101
108
126
106
136
112
76
77
94
98
100
99
101
103
86
67
71
71
52
38
53
41
29
28
36
39
47
54
44
97
73
123
77
69
79
79
89
90
87
67
92
87
106
114
75
88
93
101
125
124
114
104
78
76
109
146
102
74
150
154
137
110
102
122
89
98
92
83
101
78
81
100
99
173
89
114
103
124
165
102
90
98
90
122
100
77
57
53
78
115
131
110
100
111
100
60
90
79
34
66
92
90
79
81
94
90
69
71
55
47
83
99
89
92
108
108
98
103
106
101
92
76
88
128
129
113
87
94
99
88
74
53
51
76
84
88
108
92
101
113
113
97
87
99
99
99
100
98
95
96
101
103
105
105
107
105
98
92
96
107
108
105
91
100
133
142
121
95
89
86
94
94
92
91
100
100
97
94
96
101
98
103
110
104
93
92
97
107
126
119
114
120
120
100
84
85
105
99
93
100
95
79
72
73
68
85
91
88
88
93
90
81
75
74
84
87
81
88
98
102
94
84
82
83
92
110
101
72
68
83
83
83
87
88
91
107
124
121
106
98
69
73
87
101
114
124
94
96
78
72
106
108
83
121
118
124
140
144
98
98
80
91
104
95
82
95
99
104
97
80
65
65
77
84
82
86
78
67
70
78
74
61
57
62
76
87
95
89
78
77
88
83
65
56
62
71
74
61
42
52
83
91
122
151
157
96
72
108
110
86
90
99
93
121
125
88
77
63
56
66
51
28
38
53
40
47
52
47
86
124
132
33
112
84
86
77
45
144
72
69
92
108
112
84
61
76
89
115
112
106
93
77
95
117
141
127
97
124
142
117
100
118
117
104
123
85
88
90
97
100
90
141
146
174
174
99
148
167
93
96
99
110
108
88
53
63
89
84
133
105
114
74
139
95
101
107
106
100
77
64
64
104
86
78
74
54
43
76
102
109
113
116
117
108
100
103
99
92
96
105
120
123
113
95
85
66
71
80
85
84
84
88
103
94
93
115
100
109
102
96
97
104
113
112
107
110
109
101
91
84
79
78
88
97
99
104
113
116
114
108
81
80
96
120
124
109
107
100
94
97
99
101
103
99
109
112
102
93
110
117
117
98
79
85
110
122
113
113
118
121
122
114
97
95
108
107
102
104
101
89
97
123
109
103
85
84
86
82
76
77
80
89
90
73
75
73
72
81
91
96
101
106
108
101
68
49
69
90
81
74
73
64
69
86
95
89
87
94
100
112
112
113
114
108
97
93
75
83
118
92
83
99
90
118
120
92
87
138
137
142
118
101
100
104
106
75
113
86
61
54
55
53
53
57
59
58
57
57
57
57
58
73
73
61
57
61
68
71
59
48
50
68
83
88
99
107
86
65
48
41
53
78
75
100
105
122
135
125
118
92
73
69
108
122
106
127
154
149
87
81
83
91
86
61
70
60
78
100
111
59
119
85
74
68
46
72
100
100
171
120
90
109
92
64
82
119
133
125
142
157
131
116
120
118
79
86
118
130
128
129
124
125
101
133
118
106
75
83
95
106
140
144
167
139
55
147
135
111
118
146
71
95
86
91
58
77
73
91
140
71
103
78
62
100
94
77
67
95
98
97
72
82
57
46
81
105
132
120
134
130
114
110
109
103
95
111
143
140
110
99
99
86
67
76
86
89
93
96
97
114
118
120
90
63
89
93
97
90
86
88
87
77
77
69
79
86
82
75
75
82
85
99
109
109
113
119
109
94
74
99
116
116
112
107
103
90
87
87
91
89
87
88
114
117
108
87
78
95
96
86
91
96
105
113
108
106
101
103
100
98
95
86
84
93
90
92
89
94
109
118
116
120
130
118
107
107
107
104
97
89
90
93
83
84
81
79
82
90
101
105
102
91
81
91
85
73
80
92
88
81
96
104
94
81
77
78
78
83
113
111
109
108
98
83
92
105
110
86
79
74
69
100
85
100
133
138
105
99
91
110
136
145
125
86
62
47
76
94
84
67
64
68
70
63
64
65
61
55
57
65
60
64
67
63
62
69
76
73
80
86
81
99
105
90
89
92
106
104
93
107
115
120
104
79
76
72
79
106
128
91
70
66
75
95
108
112
115
62
68
84
90
84
71
70
93
88
128
105
127
89
100
71
71
48
72
87
112
70
104
103
122
142
109
103
141
125
152
172
127
122
166
156
97
74
85
103
126
144
142
144
139
162
157
88
74
69
104
75
60
79
147
151
106
133
157
93
103
121
152
108
50
48
50
71
85
82
144
137
133
100
119
102
72
77
71
72
109
98
79
77
57
48
77
113
120
110
116
114
112
109
96
69
60
75
139
153
124
102
110
103
71
69
81
93
90
90
89
90
96
84
76
60
67
95
105
108
105
98
91
83
72
71
77
91
101
95
81
75
77
102
115
127
129
125
114
95
75
71
85
107
116
116
106
94
84
83
86
90
86
84
85
104
108
101
84
79
93
88
72
80
86
98
116
121
106
111
110
105
103
104
97
93
97
79
78
72
79
106
117
105
106
117
123
117
117
120
122
108
91
85
90
95
97
96
92
85
81
80
83
87
100
92
98
103
105
102
87
77
95
106
102
81
69
75
83
83
93
109
106
102
99
91
81
96
90
82
61
56
66
80
113
65
64
112
135
110
105
81
95
117
144
154
127
64
56
46
56
83
91
75
65
71
63
61
58
54
52
55
58
65
65
68
65
61
62
66
73
88
99
90
119
133
114
105
112
120
113
100
102
104
123
95
49
37
51
79
117
119
97
95
75
64
86
103
112
103
72
57
83
115
102
61
80
72
100
109
153
148
114
145
125
118
88
84
88
110
87
106
77
88
133
135
139
126
135
128
113
103
136
171
147
105
84
90
116
144
149
132
142
142
144
138
89
80
59
95
50
28
60
161
146
107
142
98
117
168
140
128
99
65
59
53
76
85
85
151
115
149
84
107
70
93
100
107
115
97
78
74
31
79
106
106
108
102
116
100
109
100
79
70
86
121
155
112
96
111
131
114
98
117
119
121
104
91
88
92
94
78
88
107
114
86
109
139
141
135
115
92
87
95
85
91
99
98
83
70
75
96
107
100
96
92
84
75
74
81
66
92
92
79
76
76
71
72
74
80
100
109
118
127
123
142
151
141
134
129
117
131
143
134
112
107
113
100
80
85
85
82
81
76
75
81
86
99
116
117
118
122
117
101
96
121
135
140
144
151
150
126
109
100
77
76
78
103
100
98
100
96
91
100
116
104
93
97
109
108
106
102
82
73
84
95
92
87
87
98
91
94
93
87
82
82
72
71
65
66
88
110
122
89
93
99
82
60
130
148
86
87
71
64
84
113
167
143
94
61
80
117
126
108
89
96
91
79
78
90
94
88
81
69
71
83
93
101
107
81
74
84
96
129
151
144
105
126
132
135
137
116
106
124
117
68
58
99
134
151
126
88
102
99
84
88
87
102
97
86
94
109
115
126
142
120
129
133
134
192
108
121
104
118
79
73
108
101
107
107
95
99
125
118
112
137
124
136
113
128
171
165
152
155
119
112
116
133
145
158
178
176
159
102
106
105
129
107
107
101
102
109
85
51
75
82
42
84
47
69
66
75
22
32
61
45
73
94
102
92
81
107
91
56
80
97
99
89
61
50
55
81
101
86
91
97
78
66
69
92
112
128
141
138
119
103
113
111
111
115
120
120
115
131
124
115
105
96
102
114
116
113
121
131
93
98
127
107
102
103
115
119
97
91
104
93
82
81
96
110
105
81
69
67
72
76
90
104
107
108
114
120
121
116
118
124
116
102
87
75
79
96
114
122
126
114
124
129
96
77
84
99
99
95
100
92
97
87
83
84
90
90
81
73
72
65
59
67
82
96
107
113
112
110
100
106
106
102
104
118
118
119
126
150
146
136
100
95
91
88
85
91
99
114
108
102
102
111
117
108
79
88
99
103
93
80
75
79
88
89
79
65
66
72
64
46
79
91
97
110
109
106
90
74
68
78
86
100
117
132
117
94
87
101
113
109
124
144
155
142
124
118
120
121
103
93
86
90
103
112
113
109
93
116
137
140
137
140
123
118
114
110
128
126
109
109
95
67
58
80
112
146
130
142
111
86
80
84
109
98
88
108
120
76
89
79
68
109
97
100
117
132
134
102
90
109
127
183
115
114
120
152
122
101
112
101
118
172
128
118
106
113
120
134
154
154
160
129
153
149
154
156
157
138
136
153
172
158
143
155
168
150
110
86
54
79
71
65
74
66
84
117
159
150
174
142
90
92
133
129
44
19
30
58
62
74
129
109
98
86
91
68
48
111
112
100
72
51
63
68
63
65
74
82
68
63
88
126
141
144
132
119
109
106
112
115
110
91
92
88
88
109
93
102
88
69
61
62
65
69
73
79
82
89
80
64
64
65
73
87
98
118
126
123
127
125
121
121
120
111
89
92
90
85
84
89
88
81
75
80
99
119
125
124
125
155
174
192
148
114
114
131
165
164
139
126
104
88
102
98
103
98
92
91
87
90
92
90
85
80
79
81
85
87
93
111
115
112
105
91
76
85
98
86
87
92
91
87
77
89
99
99
101
116
130
157
148
136
132
133
131
129
122
111
105
105
100
92
96
105
78
64
78
93
85
67
56
54
47
41
30
27
37
48
99
131
109
83
80
74
97
97
99
106
112
108
83
76
88
123
128
107
99
102
106
109
108
109
122
148
164
152
127
82
73
81
104
120
121
113
111
98
124
140
142
145
154
149
146
152
156
129
107
89
112
112
103
94
87
75
67
55
52
62
86
86
97
124
68
70
120
133
56
62
75
82
94
89
97
113
147
146
85
89
87
103
76
100
135
141
109
126
128
112
78
106
148
134
111
113
97
116
158
155
166
165
152
157
127
142
129
101
124
127
127
104
99
120
135
138
157
164
139
106
110
105
90
46
30
93
160
114
156
132
116
102
96
104
88
87
57
39
98
102
134
122
114
112
92
90
89
77
107
101
80
57
80
81
65
71
63
65
60
60
90
126
132
137
132
122
114
102
90
87
98
78
74
102
106
89
90
108
112
84
61
54
54
56
64
68
73
73
99
94
68
74
74
74
71
69
95
112
133
138
136
125
115
106
92
75
76
72
74
86
94
91
86
83
120
164
198
197
172
151
180
194
195
137
117
109
104
129
145
135
125
111
102
102
94
93
89
89
93
94
92
71
93
104
95
91
96
92
80
100
102
95
91
91
84
73
97
107
81
75
77
76
73
72
83
95
97
94
107
120
119
124
126
136
149
143
130
117
112
116
125
122
107
101
105
84
67
77
100
106
85
60
50
49
45
39
42
61
83
140
116
83
76
75
74
83
67
82
89
83
87
105
98
70
94
128
133
109
102
110
109
114
111
102
107
129
150
159
108
86
80
91
106
116
120
108
111
124
138
150
155
155
145
144
152
159
130
111
94
119
103
80
67
66
63
70
56
49
60
85
89
106
133
107
93
117
114
47
67
90
99
87
91
99
109
134
141
99
71
78
103
51
77
128
123
119
122
117
106
72
95
148
140
125
120
90
113
159
144
117
135
141
146
118
127
110
107
134
156
157
137
146
166
162
159
174
146
134
127
126
114
139
82
77
143
95
59
149
154
117
95
96
132
137
99
77
42
123
128
122
115
140
126
89
76
77
68
78
55
51
96
142
108
94
76
79
103
120
148
146
87
109
110
105
104
104
98
89
88
105
112
112
93
80
102
136
135
109
59
49
50
60
75
72
77
82
73
94
102
78
55
60
64
67
74
108
122
113
100
89
98
127
153
152
112
100
81
81
90
84
83
98
105
114
142
167
162
138
117
116
107
92
92
105
106
98
105
102
84
97
113
117
114
111
106
102
94
84
83
91
123
122
120
118
112
105
99
95
77
81
88
89
88
88
92
78
80
76
84
90
97
106
113
100
90
90
88
81
76
77
88
91
103
121
116
124
112
104
95
90
93
108
134
148
133
118
108
98
91
96
107
85
94
94
110
119
114
114
97
73
75
84
78
77
71
75
63
51
49
57
63
58
68
71
88
112
127
128
108
112
115
114
111
116
121
112
97
127
139
150
149
136
121
114
103
110
120
123
130
140
146
151
156
160
157
153
139
116
132
88
45
51
79
86
66
80
75
49
41
49
82
112
78
94
111
111
88
108
83
64
75
85
89
86
61
69
90
85
93
122
75
91
115
85
114
98
97
124
118
98
129
118
126
110
117
141
146
141
160
120
132
160
135
148
136
147
166
169
160
153
157
160
154
161
159
139
136
122
98
97
105
130
152
153
91
155
165
100
85
77
50
91
145
141
66
67
78
68
76
128
105
96
57
61
58
59
64
56
77
112
147
144
118
128
133
134
131
115
85
113
138
129
127
114
93
99
117
113
110
126
136
126
110
107
113
106
83
60
68
78
81
73
84
89
82
82
89
106
88
74
85
84
83
100
121
113
92
81
73
74
75
76
86
92
98
92
84
82
83
99
123
170
131
100
109
111
93
81
93
93
94
109
109
96
80
76
91
101
97
92
89
84
75
95
110
110
112
125
133
127
113
105
101
92
85
77
69
92
93
89
89
95
99
98
98
95
75
75
78
86
100
76
72
73
77
61
68
84
95
96
80
78
78
73
104
130
125
127
130
118
95
84
101
108
97
101
137
156
149
147
135
118
116
126
110
90
95
108
114
119
117
120
124
125
125
105
75
61
66
65
63
65
56
50
42
54
103
116
115
111
99
96
109
121
123
122
82
71
96
139
163
157
141
135
126
121
125
127
124
123
137
138
141
143
141
127
115
133
89
56
59
77
85
88
113
98
60
44
59
93
99
43
120
96
92
124
119
126
120
129
133
138
129
82
70
138
138
144
112
107
100
108
117
115
111
104
113
140
131
108
160
134
136
167
163
119
117
100
67
74
101
104
116
137
137
135
151
162
161
163
156
157
163
167
142
130
116
102
97
119
106
80
116
112
147
141
139
121
96
59
73
124
149
115
128
89
52
121
46
11
60
17
117
71
32
64
39
59
99
110
124
134
128
144
123
76
54
72
151
117
103
94
97
107
125
129
117
140
141
155
156
131
97
75
67
61
64
66
76
87
91
79
87
82
81
80
101
90
74
93
101
103
114
114
103
81
76
75
76
71
61
61
76
81
79
77
76
73
79
93
166
149
101
80
73
78
94
79
85
93
105
106
100
92
99
100
94
84
86
104
104
108
116
120
118
117
119
109
106
92
86
86
83
81
77
70
91
101
101
99
100
103
104
97
100
95
94
82
69
65
63
67
73
76
74
89
106
96
102
91
98
102
97
112
95
95
105
118
120
113
116
126
108
103
112
119
124
134
143
140
145
136
142
132
107
99
116
116
114
128
136
133
127
138
124
99
82
80
73
74
87
79
63
44
47
83
116
84
70
78
98
107
115
112
95
78
81
98
119
132
137
139
173
163
129
115
111
116
122
122
125
129
135
145
134
120
121
97
77
80
89
90
78
101
93
57
48
67
92
91
65
109
90
106
139
139
153
144
121
131
131
115
91
92
137
121
131
116
91
111
112
106
118
109
104
118
137
123
119
171
141
145
177
175
141
133
104
70
43
69
113
121
117
131
147
164
155
152
169
161
146
146
163
104
117
120
95
83
102
95
94
81
159
137
135
129
121
85
40
68
125
111
99
102
59
103
62
19
26
56
139
134
35
54
28
22
18
30
120
129
103
72
54
56
89
116
109
75
110
129
134
138
149
139
121
124
116
120
123
116
104
96
94
84
74
65
61
64
65
60
78
83
80
82
83
105
96
76
106
133
141
135
95
84
78
72
69
72
75
75
78
85
80
88
111
131
131
112
92
72
72
64
72
75
70
69
95
99
99
92
98
108
115
119
120
120
121
125
122
114
116
117
116
109
95
87
113
106
93
88
93
97
101
103
99
96
97
94
90
94
104
112
110
110
93
95
94
92
93
103
113
113
98
91
95
93
107
108
97
101
101
103
119
119
116
113
108
94
80
80
94
116
137
131
115
115
100
65
100
89
74
83
108
133
150
149
149
140
95
84
83
85
97
88
67
51
49
52
59
55
72
73
71
76
72
103
104
66
48
62
76
75
70
67
65
73
83
91
99
110
119
99
112
132
132
125
118
113
131
130
132
143
160
146
129
118
113
101
86
85
94
89
103
108
77
72
84
65
59
75
80
91
109
94
92
116
98
77
107
104
90
91
111
152
136
98
127
117
128
102
111
127
110
103
118
132
134
149
151
150
175
174
133
121
134
73
73
92
85
45
55
109
142
140
146
134
117
112
110
126
171
151
116
140
122
97
109
106
44
162
126
136
122
130
137
89
75
90
118
125
48
41
90
184
59
76
49
62
93
28
30
58
73
28
29
23
20
54
54
40
69
70
85
102
105
110
137
128
135
133
121
105
85
76
84
107
103
87
68
63
75
90
93
92
80
63
62
73
82
69
65
62
77
94
111
96
80
96
110
116
111
83
86
72
65
60
64
76
83
81
67
68
100
151
182
182
149
107
79
85
87
86
85
91
97
81
86
90
96
95
89
82
82
84
84
81
82
109
123
133
116
97
90
96
105
111
91
84
85
89
88
91
97
97
88
87
91
92
89
84
82
82
100
104
102
101
100
103
92
104
110
108
122
125
120
110
111
106
111
104
106
113
93
92
93
92
86
78
77
84
83
74
88
118
119
115
134
135
113
113
103
90
98
118
116
125
143
168
159
134
111
93
85
68
59
65
72
77
75
73
66
62
58
47
53
113
125
82
52
76
68
43
61
61
68
70
67
68
81
96
109
100
94
115
139
148
144
129
130
131
137
142
124
106
99
101
93
84
80
86
93
103
108
89
81
65
36
49
77
83
92
105
122
123
86
40
46
95
94
96
79
86
156
160
148
176
190
199
170
161
124
121
111
111
126
158
170
161
160
157
130
102
105
103
53
72
58
38
55
88
103
109
91
128
110
93
88
69
65
143
130
117
106
113
115
97
114
73
149
111
90
114
178
154
105
96
98
108
136
70
77
174
83
77
31
57
43
72
43
74
75
86
38
27
18
20
33
51
76
88
92
104
112
120
136
125
119
105
97
89
76
77
92
101
94
83
72
69
73
83
89
98
97
91
73
65
69
70
63
63
66
83
98
117
105
84
89
93
97
96
78
85
74
73
71
74
79
84
85
75
74
101
138
154
156
141
113
73
72
89
99
97
87
76
82
86
88
87
88
86
82
89
87
83
80
81
115
133
99
97
91
88
96
110
108
103
99
101
102
95
93
98
100
86
89
95
96
91
88
89
109
127
131
127
119
107
100
84
96
104
104
111
122
129
118
110
101
107
99
101
86
78
75
73
71
69
66
64
74
68
75
95
103
90
90
108
123
129
137
130
122
125
130
142
139
138
157
164
157
145
144
131
103
80
75
93
108
98
96
101
101
88
77
63
108
134
100
56
67
73
63
72
68
73
72
64
58
63
72
63
66
74
88
105
109
105
96
100
108
118
130
117
103
94
99
95
82
62
50
55
61
59
49
52
37
20
43
77
84
86
109
152
140
75
47
55
108
103
97
93
98
139
151
145
138
143
123
92
78
62
63
67
71
76
114
154
162
163
151
131
131
140
119
47
65
58
44
51
70
93
118
121
137
102
86
100
109
128
177
157
93
93
113
124
117
94
107
139
185
132
158
117
138
103
73
60
92
124
84
135
94
92
20
57
45
32
50
57
113
96
71
86
53
30
71
26
29
84
92
102
121
146
154
129
87
91
120
114
111
115
110
113
107
74
71
69
64
66
76
79
72
73
91
106
96
91
107
118
110
105
105
116
110
102
91
77
95
96
79
72
86
79
78
80
88
103
121
136
141
108
90
95
97
90
86
83
76
83
84
83
70
70
93
101
94
85
82
101
113
109
123
123
121
113
115
126
93
93
93
96
101
101
95
89
80
84
98
115
119
113
112
119
132
135
138
138
126
128
150
154
152
143
132
121
117
118
132
122
125
128
122
122
111
107
118
116
98
97
114
71
77
78
79
80
81
78
71
60
71
86
94
94
93
98
105
104
131
133
138
147
152
149
142
141
135
133
143
147
144
148
150
147
141
137
115
101
104
100
99
101
104
109
116
103
110
138
114
90
93
81
86
82
87
89
77
75
80
72
57
53
56
61
55
53
63
46
49
59
63
70
82
86
57
45
73
61
39
48
47
39
34
44
45
27
27
53
76
73
91
127
136
98
64
59
75
114
100
102
111
108
129
159
150
124
111
108
96
92
95
114
99
101
112
150
116
109
132
164
137
114
139
115
58
42
49
51
42
70
97
85
92
98
72
93
92
148
144
127
113
137
131
72
73
116
117
102
131
155
133
124
138
111
48
24
74
90
106
111
44
52
49
38
75
117
95
69
83
96
24
57
34
39
59
104
93
77
77
57
19
32
83
98
83
74
89
116
120
116
107
95
87
58
76
76
79
78
76
79
82
89
86
79
78
76
97
130
113
87
78
100
108
96
103
117
72
91
101
74
82
74
85
92
100
101
92
83
84
95
98
98
87
79
88
95
88
82
81
92
104
97
83
81
94
93
112
160
163
150
134
119
115
111
106
109
121
93
72
71
77
90
103
111
118
137
146
155
157
156
156
154
151
133
120
119
131
134
133
137
138
131
116
108
99
94
92
105
109
108
92
84
96
94
90
98
110
117
118
119
81
96
97
97
96
94
94
95
95
89
83
86
93
97
94
89
91
104
103
107
117
125
128
131
138
142
143
145
139
130
148
127
101
96
112
145
144
133
127
115
98
89
99
148
143
117
122
126
122
110
84
78
79
87
93
90
94
107
113
119
107
68
74
81
81
80
66
68
79
81
50
52
56
83
84
107
95
67
63
73
82
68
68
67
52
55
79
78
71
100
125
102
69
56
45
69
128
113
89
120
138
128
126
105
95
82
112
128
103
117
118
118
140
140
101
85
134
157
128
92
132
148
104
48
39
33
45
87
142
171
170
56
81
108
144
139
156
139
154
170
58
95
115
90
57
51
104
138
117
112
82
76
106
81
65
96
93
54
77
81
81
81
74
92
102
71
55
87
100
106
74
26
29
55
88
87
100
109
35
61
87
98
87
62
95
58
121
111
98
114
91
69
76
81
79
81
82
80
81
87
97
91
78
68
61
75
97
88
85
82
90
80
79
103
101
66
79
90
83
84
79
81
85
90
87
77
73
88
141
119
94
79
80
94
100
93
82
74
82
94
93
82
74
89
83
99
157
160
149
136
116
111
109
109
112
123
99
93
97
105
115
121
125
135
147
153
151
137
127
126
122
116
136
141
139
135
132
132
134
119
110
98
96
91
87
86
88
97
100
90
87
82
68
93
92
106
126
137
135
104
96
92
89
91
95
99
104
99
92
86
89
99
106
103
95
92
100
103
107
110
106
100
96
115
131
130
133
137
139
150
136
116
101
99
114
117
143
151
155
148
136
130
137
123
125
123
110
121
140
110
58
70
80
90
93
97
110
121
132
119
74
81
90
84
74
75
70
75
81
55
46
41
55
73
118
136
105
69
80
102
86
84
82
66
62
76
69
64
99
119
85
60
57
43
89
119
109
120
125
96
87
97
102
105
100
122
133
120
144
135
138
156
140
87
106
129
93
89
110
149
171
139
64
86
100
124
177
201
147
72
126
156
161
135
105
128
138
103
164
65
83
107
94
68
37
105
135
113
110
68
62
85
61
51
76
94
91
100
56
81
86
55
61
86
71
56
104
76
97
84
64
28
47
66
87
116
112
112
77
23
13
67
106
42
132
100
49
34
40
53
76
76
82
72
69
77
78
81
97
116
91
72
71
76
82
80
94
104
90
76
90
93
109
85
97
90
76
98
65
68
64
67
77
84
82
81
99
111
83
68
70
67
66
79
94
86
77
79
88
106
114
106
73
55
48
76
96
112
118
116
120
137
151
154
155
138
130
135
138
134
120
108
113
108
109
105
96
93
98
104
108
125
127
120
115
120
111
86
78
75
78
81
82
85
88
97
89
72
70
105
104
101
83
73
83
109
127
135
139
121
107
95
93
95
97
101
124
123
117
110
111
115
111
102
115
103
104
109
112
110
106
106
102
95
106
116
112
101
99
85
81
95
116
128
123
115
117
114
112
122
143
162
144
139
113
104
116
135
139
101
86
85
89
93
85
86
98
109
100
88
108
115
101
86
88
100
112
103
75
77
76
57
43
47
97
117
89
86
69
65
82
99
90
81
81
70
71
94
111
109
124
145
143
150
117
127
112
111
110
111
99
95
74
145
153
145
170
143
124
137
159
153
59
84
78
82
129
153
134
106
94
128
152
167
160
156
162
149
118
73
23
69
92
104
89
74
98
154
81
127
105
75
107
108
114
98
73
88
81
116
134
128
132
102
99
145
78
102
70
45
39
65
80
68
77
73
80
81
34
55
58
102
82
98
152
137
110
94
76
100
112
50
83
98
88
64
72
75
45
41
51
62
55
55
72
75
77
97
91
69
85
100
119
126
118
95
91
76
83
86
86
121
79
95
104
79
81
95
76
68
65
72
81
78
67
66
81
83
85
81
79
89
94
87
91
83
89
99
117
113
86
69
72
76
90
118
141
147
110
121
147
158
142
111
92
126
116
107
103
101
100
102
104
100
101
105
100
90
90
98
111
123
123
126
143
135
99
78
79
85
84
82
84
89
96
109
120
132
118
108
121
125
125
131
128
114
110
133
163
157
152
145
132
126
139
137
131
121
119
133
153
156
148
146
164
161
147
136
137
144
151
156
154
135
138
143
144
141
125
110
105
105
115
125
122
133
141
141
145
153
148
141
141
124
134
133
129
153
145
125
106
102
107
97
95
109
113
94
89
111
113
104
102
100
103
99
92
133
132
104
94
107
82
85
95
86
34
47
50
75
94
82
64
55
84
90
92
99
121
137
138
134
138
122
105
107
99
71
76
77
60
87
160
128
127
161
139
133
145
130
110
78
141
161
150
141
105
96
128
125
72
108
137
107
67
80
72
12
113
103
108
77
117
121
107
106
150
126
118
146
161
124
113
110
102
83
103
116
148
139
133
130
115
134
143
112
99
79
61
42
51
57
46
59
77
82
7
16
112
134
115
98
128
180
117
66
99
124
102
62
30
95
113
107
98
89
83
76
67
59
63
65
76
57
37
59
97
55
56
88
111
112
105
107
102
104
97
93
68
98
104
83
77
107
112
81
116
95
71
74
79
83
83
80
79
95
92
91
94
95
93
90
88
86
71
76
98
117
111
93
79
89
84
101
127
131
125
106
116
132
151
141
89
102
115
109
103
96
88
85
97
108
99
100
104
95
85
84
87
99
101
108
120
137
142
132
90
83
83
86
86
90
95
101
92
98
119
122
109
103
115
135
129
112
108
99
103
144
152
134
124
150
165
148
141
140
139
139
144
152
159
163
162
158
153
145
129
122
130
129
132
135
132
131
132
134
144
153
158
153
148
149
147
132
126
139
155
151
143
173
157
140
133
136
132
123
131
146
154
143
134
108
92
100
107
102
85
97
120
117
103
101
101
76
83
110
132
122
95
109
117
107
95
98
86
43
37
62
68
69
75
57
44
86
78
96
117
128
156
170
147
136
123
102
86
96
90
82
53
72
118
130
127
144
150
150
165
125
94
147
127
149
115
126
134
137
135
115
87
122
113
44
50
84
51
38
51
88
140
103
45
105
133
109
138
133
130
120
126
106
116
122
117
97
116
74
133
146
101
110
127
72
106
99
100
105
156
141
106
80
83
108
94
89
37
0
40
93
91
90
112
98
142
134
100
115
68
29
52
65
149
101
91
85
86
85
82
89
101
85
76
64
50
72
86
63
27
42
77
94
108
117
122
134
106
108
117
88
114
77
79
84
101
111
101
95
100
89
80
80
94
108
111
108
97
100
101
98
92
86
83
82
74
71
69
75
86
87
81
89
89
92
141
142
117
101
108
120
120
115
118
97
86
95
96
95
89
80
78
102
91
84
82
83
85
88
81
65
84
93
90
85
95
108
110
116
112
107
103
95
89
87
79
71
75
93
106
102
102
103
122
124
119
123
121
119
135
159
162
148
145
137
122
114
118
119
115
110
106
100
94
89
102
116
124
115
106
107
118
118
117
111
112
117
121
103
99
90
81
77
86
88
82
83
98
107
97
90
122
125
132
144
150
147
140
138
139
118
128
129
125
129
136
132
131
138
60
86
114
109
104
86
117
118
108
100
86
99
124
95
99
105
78
67
76
52
48
70
91
85
81
87
96
120
129
120
119
122
114
104
134
119
95
100
89
51
52
75
112
130
159
157
141
144
144
145
137
154
117
127
176
168
141
106
93
106
115
96
24
38
66
66
81
86
83
142
128
81
93
136
156
158
124
128
123
109
136
109
101
128
122
139
125
111
83
131
131
107
127
109
71
80
68
124
66
102
81
63
82
84
62
31
47
90
93
44
86
83
84
101
101
110
106
130
94
118
143
77
61
104
93
82
81
94
105
106
109
113
68
74
86
87
107
113
83
107
84
119
115
99
110
133
121
121
116
116
106
117
86
95
90
76
85
104
70
85
96
84
86
103
111
102
96
108
112
109
97
87
86
92
96
94
109
116
118
112
98
85
75
77
91
135
120
103
105
134
122
108
108
110
80
78
90
87
88
92
94
89
83
81
83
85
79
77
89
96
90
75
78
85
96
109
109
95
74
77
91
103
115
122
125
105
93
83
82
86
90
96
93
92
87
91
110
125
111
95
93
89
95
114
131
134
113
115
115
117
124
129
118
102
95
98
111
123
119
110
111
119
123
127
127
126
127
129
122
119
116
113
108
91
86
88
88
95
93
79
77
101
119
115
106
93
88
95
110
120
138
141
143
142
126
101
81
106
127
67
68
71
71
88
110
117
116
108
112
115
116
99
115
121
121
130
136
128
146
152
127
102
110
113
101
114
112
96
99
115
98
91
122
116
93
89
77
91
98
101
114
112
138
158
150
162
175
150
121
121
156
100
82
90
152
126
109
96
69
54
68
138
150
121
99
77
85
107
63
125
142
98
95
152
155
150
152
129
126
119
91
118
126
127
140
128
117
135
123
80
73
70
24
40
62
61
68
71
96
85
61
70
67
46
45
52
59
45
22
85
86
86
92
111
105
97
122
125
133
130
71
65
90
103
99
98
102
105
101
96
91
79
80
73
88
128
133
99
114
114
121
101
104
131
148
148
147
124
108
101
112
91
87
86
78
92
116
75
80
103
90
94
114
120
104
92
103
108
105
92
84
88
96
99
100
118
125
122
109
91
79
85
90
100
112
92
84
99
140
129
118
119
114
84
89
95
91
91
98
103
98
82
85
88
93
89
82
88
100
103
88
84
88
98
110
104
85
80
84
93
101
110
113
112
121
110
99
93
94
100
107
113
106
100
103
119
134
119
93
98
106
112
113
114
117
130
130
124
117
122
133
132
122
103
100
109
119
115
109
111
123
128
133
132
130
129
130
124
122
118
117
114
108
110
100
96
94
89
80
82
96
95
89
86
85
87
92
103
113
113
128
153
164
142
119
116
143
131
62
64
75
86
100
110
128
127
107
129
122
90
113
121
127
145
157
137
133
126
120
84
72
103
111
94
113
111
104
111
117
92
86
118
133
81
104
121
156
159
138
93
121
160
136
149
177
175
164
130
135
155
123
102
130
142
106
84
83
87
107
132
133
65
84
95
76
84
88
97
119
100
60
107
158
118
128
118
102
115
107
113
145
145
138
148
141
121
131
117
90
88
67
43
87
82
56
79
86
85
77
53
59
66
44
42
38
29
40
47
80
80
84
91
118
106
116
107
91
78
100
73
68
68
87
104
111
97
84
82
81
74
81
74
89
126
134
114
106
149
126
154
143
126
119
110
102
82
81
84
98
128
79
92
94
94
99
106
88
86
97
76
80
113
130
110
86
77
86
88
83
82
89
92
89
94
118
118
107
98
101
109
95
103
106
95
87
92
112
103
130
134
118
106
102
100
107
105
107
110
111
109
110
103
98
105
111
102
93
96
100
90
88
82
80
95
109
110
113
108
80
75
77
78
76
76
84
95
103
102
96
93
78
83
92
96
98
109
109
114
108
110
110
100
93
94
86
111
127
121
110
108
108
105
112
117
127
136
133
131
138
135
136
135
124
120
120
121
115
115
119
121
117
113
119
125
110
97
91
94
108
109
100
83
77
88
96
95
102
116
110
123
155
150
100
91
131
106
109
94
79
102
120
104
108
111
95
107
107
90
134
119
126
149
146
113
106
85
84
59
80
113
84
30
26
38
81
113
104
83
90
126
156
137
152
153
140
122
106
121
175
167
137
148
165
165
171
144
166
166
86
141
163
128
128
152
156
112
83
111
124
129
124
91
91
86
88
121
110
89
98
116
100
101
132
125
120
124
65
81
138
143
152
152
144
137
124
118
92
84
63
65
62
62
30
60
87
63
62
94
70
30
32
37
51
68
60
60
98
89
94
105
103
111
108
89
82
78
79
94
114
114
81
115
90
77
81
83
75
75
83
97
106
107
94
83
81
88
104
106
144
130
117
107
92
80
78
82
81
103
110
89
87
94
119
110
64
94
102
81
87
90
96
96
84
77
89
105
108
95
84
84
87
84
92
98
100
102
103
104
105
115
109
108
113
121
128
128
94
102
102
99
100
96
94
91
89
88
87
87
88
83
77
87
106
120
114
104
95
87
98
106
119
131
115
88
77
100
90
92
90
72
74
95
90
82
79
94
131
145
163
148
124
101
94
95
96
106
113
108
106
103
98
98
96
92
104
111
106
97
98
112
126
115
102
106
110
111
112
113
113
129
145
163
168
167
163
137
126
104
102
120
120
137
142
125
113
112
113
108
108
95
97
96
93
95
103
108
109
132
132
123
121
140
144
100
113
94
70
79
76
72
79
61
76
90
121
131
145
147
133
123
106
97
97
90
77
83
63
44
41
56
78
96
86
94
104
106
105
116
141
162
138
147
135
132
124
131
158
169
135
126
128
152
173
162
138
119
110
65
135
160
142
162
128
110
102
79
69
78
106
98
114
118
94
81
80
67
115
135
121
129
151
148
132
121
140
101
119
127
138
172
167
131
128
118
103
83
79
80
66
57
62
58
38
82
101
109
109
76
58
67
59
55
39
52
56
95
86
99
107
100
118
106
73
84
81
85
100
120
121
85
87
72
73
82
75
65
75
94
112
113
103
85
79
93
111
130
123
136
120
104
91
74
71
68
77
87
111
123
111
103
110
120
77
71
102
97
86
86
89
97
91
75
76
116
131
128
102
83
85
92
91
97
92
96
106
111
110
107
101
92
94
118
126
122
110
85
94
100
99
95
92
92
86
87
90
93
93
88
69
83
77
77
81
85
103
127
141
118
102
96
99
94
85
84
97
88
96
97
78
70
83
89
81
71
74
106
129
152
148
132
119
120
122
115
95
80
76
81
86
82
81
85
76
76
84
103
125
133
126
116
97
87
89
97
109
126
137
146
158
170
183
178
164
152
115
118
117
128
144
123
129
133
126
118
113
113
114
108
98
97
92
87
86
90
93
93
87
107
94
92
154
167
113
112
61
69
63
62
66
53
64
61
54
86
153
159
136
116
97
75
70
74
63
42
48
58
75
94
105
108
109
111
99
113
116
96
113
149
152
139
142
133
132
132
145
173
169
134
133
117
138
164
147
119
108
113
112
142
137
121
109
101
78
71
74
57
48
100
113
133
119
84
75
79
66
121
145
144
146
150
138
125
132
136
117
133
141
149
171
143
123
117
109
106
74
61
65
100
98
77
73
62
83
91
97
68
36
27
44
67
58
33
52
66
115
87
98
109
112
103
92
87
97
89
86
89
97
113
110
58
48
56
69
78
100
117
114
105
95
95
106
125
142
151
141
128
90
69
60
64
71
93
87
88
95
104
104
103
87
102
128
81
87
85
105
125
110
97
96
93
91
111
173
153
116
83
86
114
134
136
112
119
113
103
96
100
107
112
101
100
119
121
108
89
90
91
100
100
88
97
101
95
97
98
95
89
88
90
92
95
106
114
106
96
85
76
75
94
114
120
112
97
86
78
85
81
94
103
97
88
76
77
73
75
93
91
91
98
91
90
103
123
138
147
162
152
146
139
121
105
96
93
109
128
132
120
110
117
132
150
169
178
176
172
173
177
162
148
129
109
107
107
105
131
139
136
116
86
67
84
115
116
111
99
100
113
117
101
104
111
122
131
136
136
135
119
109
77
102
162
139
97
61
53
68
64
65
62
45
37
79
98
106
109
108
82
66
76
67
49
54
75
97
107
100
98
101
99
94
94
91
103
111
111
112
113
113
114
139
145
145
144
145
157
173
162
123
121
134
165
182
150
75
123
144
132
78
92
121
122
102
119
119
82
80
110
124
138
147
125
84
76
98
116
109
110
125
129
124
130
145
111
75
97
102
127
142
118
110
112
93
89
101
87
79
71
62
72
85
77
70
101
78
83
59
60
45
26
58
68
27
61
111
170
99
118
120
110
99
96
100
91
87
91
86
81
100
120
79
39
45
83
94
93
97
93
103
114
121
124
119
104
89
87
80
59
61
65
73
86
86
95
100
115
147
135
122
115
95
82
84
76
81
91
106
118
110
85
77
87
97
99
85
75
78
87
96
110
122
136
117
101
89
87
95
104
115
119
127
110
102
101
99
104
95
105
110
96
106
105
101
93
83
78
80
85
87
78
72
72
74
71
72
75
74
70
86
96
92
96
108
112
97
89
84
88
85
91
108
113
116
104
87
87
82
77
74
85
94
89
78
75
93
100
91
84
87
110
148
168
139
135
140
154
161
155
146
144
146
132
122
114
113
122
134
159
154
152
147
134
119
113
111
100
87
76
67
70
69
75
85
97
101
98
91
78
68
66
68
75
76
67
56
50
82
91
122
156
146
116
87
96
72
57
66
72
66
54
80
99
91
84
92
97
75
83
84
86
96
105
97
82
95
94
100
108
103
92
94
100
119
107
95
114
116
106
117
107
126
139
140
142
149
153
157
156
158
162
162
145
120
162
177
165
136
147
111
135
101
128
126
107
110
124
140
151
157
140
99
75
88
110
120
161
157
139
134
146
126
79
80
109
92
121
129
119
129
79
95
99
115
72
78
70
54
71
63
44
67
117
110
121
127
134
108
83
82
83
99
77
87
62
54
104
130
127
103
106
102
96
85
85
95
91
80
98
117
86
79
99
108
87
85
95
84
110
122
121
111
99
85
75
80
74
67
76
78
78
84
100
109
114
120
139
115
91
112
99
82
92
67
82
82
94
122
123
92
79
86
87
82
76
78
87
89
90
107
131
156
99
77
74
87
104
115
119
128
140
108
93
93
96
106
96
107
115
100
107
103
105
92
78
77
84
90
78
88
82
81
83
77
75
75
71
70
81
84
74
81
102
111
115
116
97
112
123
108
87
107
115
105
85
77
74
72
68
71
74
77
80
85
87
97
95
91
91
109
134
131
74
80
94
105
103
96
101
113
118
115
115
115
120
132
143
137
132
130
126
113
105
103
108
104
102
94
79
67
60
57
65
79
88
86
77
71
73
63
58
64
71
76
82
87
92
80
109
127
114
126
118
103
67
76
71
66
71
68
49
84
92
84
71
88
83
51
45
56
84
96
83
114
114
99
94
105
112
103
94
103
117
108
99
112
116
108
110
100
119
132
132
134
140
141
143
160
166
166
164
154
148
180
150
174
156
133
134
142
125
118
136
124
92
122
155
146
160
140
93
81
113
135
132
148
149
151
152
155
131
89
72
94
120
143
160
147
122
135
101
132
163
76
129
90
114
95
58
57
92
87
41
78
95
116
76
56
74
63
69
69
86
89
90
109
113
119
118
108
101
90
86
86
85
84
84
93
124
124
129
121
99
80
77
85
93
90
86
84
79
75
78
83
83
85
83
81
81
84
91
99
87
90
131
125
112
123
100
95
91
86
83
96
91
90
103
121
100
79
78
71
86
83
76
79
93
103
105
109
101
81
85
95
102
107
109
104
116
113
94
100
107
115
130
126
121
120
117
101
96
119
106
83
77
87
87
85
73
75
94
108
96
84
77
69
88
90
87
83
81
85
89
105
106
108
117
136
142
131
108
92
87
101
110
101
99
99
99
97
100
109
116
137
152
140
133
123
106
98
94
100
101
104
106
108
110
114
116
109
103
99
99
102
105
105
97
101
111
113
107
92
74
74
76
82
92
97
75
64
54
54
79
86
88
92
86
115
124
144
132
142
134
146
140
94
73
69
86
105
112
109
95
79
74
68
63
73
59
69
82
70
46
46
51
59
46
53
61
66
69
74
91
95
93
95
105
111
102
98
113
95
108
99
103
107
90
80
97
117
122
129
129
130
141
149
145
155
155
142
107
148
159
159
153
146
122
142
136
124
120
100
112
132
147
155
163
137
130
148
138
133
154
148
146
136
128
141
146
136
133
147
99
115
120
126
125
127
98
97
64
52
107
79
130
96
58
97
69
48
113
78
37
39
60
64
76
83
75
102
127
116
13
33
105
115
128
119
102
101
82
90
89
87
92
107
127
149
135
121
94
71
70
81
86
82
85
86
87
87
85
87
93
94
90
83
82
82
80
79
88
86
114
146
80
103
84
76
75
82
87
91
101
96
85
99
122
112
101
101
85
68
74
83
108
135
140
126
115
106
111
113
108
98
87
82
105
99
92
102
99
97
105
98
91
86
93
113
110
89
84
94
106
116
119
115
103
104
109
111
107
104
111
114
111
105
107
108
108
106
102
99
97
103
103
97
108
122
124
130
133
120
98
115
127
123
142
142
136
130
125
115
115
105
109
121
131
129
122
120
120
111
100
96
95
90
79
70
76
77
82
86
96
109
121
97
88
86
64
51
53
57
57
73
88
88
77
83
99
105
114
138
140
143
146
152
152
145
152
128
124
112
125
112
100
92
84
84
84
73
58
55
54
65
81
65
71
84
63
63
66
74
67
53
48
45
43
40
35
29
21
8
18
25
33
39
43
43
57
83
101
98
81
103
83
101
121
90
117
113
134
136
121
123
137
148
137
146
146
170
161
156
171
164
148
129
160
153
115
110
84
66
81
113
134
113
163
151
146
162
139
123
138
174
142
134
170
163
122
116
96
121
150
130
123
159
149
135
145
124
96
105
124
137
70
64
98
79
29
34
60
56
71
82
85
97
104
100
108
73
57
22
42
112
132
128
112
99
89
88
93
97
100
109
124
138
143
119
95
75
75
82
85
87
91
91
91
95
95
94
94
96
99
93
82
84
86
85
85
79
73
126
127
78
90
93
71
71
79
90
95
105
103
92
100
119
111
104
106
93
79
95
114
134
149
136
110
95
97
121
126
121
109
103
105
112
102
92
99
92
87
96
100
98
106
123
143
114
83
80
77
78
84
92
101
98
107
123
134
134
129
119
99
84
97
102
101
94
85
80
79
93
93
88
80
84
90
86
97
126
131
106
123
137
128
123
121
113
106
104
102
121
122
142
153
147
138
126
105
92
89
91
99
108
109
101
92
94
91
90
84
79
81
86
86
77
74
57
53
66
78
94
102
110
109
102
101
108
135
143
157
142
120
98
103
166
155
167
155
159
147
146
116
94
90
89
94
98
94
87
83
80
82
92
72
73
84
91
74
63
64
58
52
47
35
30
24
20
20
21
21
19
22
22
24
28
28
36
50
77
63
114
89
69
96
95
97
108
124
152
147
129
135
142
141
117
149
153
179
157
155
174
164
142
118
133
127
95
80
85
85
86
115
127
110
143
135
151
166
122
112
153
155
149
152
163
158
135
122
120
153
132
103
111
150
124
165
136
117
79
90
114
77
72
92
72
7
20
85
49
38
62
71
80
94
91
77
63
34
54
25
26
132
126
114
104
93
98
109
112
121
129
130
129
123
89
90
85
88
97
104
102
100
104
94
96
101
104
104
102
103
99
98
94
92
90
87
85
88
110
116
92
82
82
93
86
78
83
92
93
100
100
94
92
102
98
99
106
97
90
106
120
126
126
117
107
108
116
121
121
113
104
102
105
117
122
116
100
88
78
78
81
90
114
136
138
137
149
122
106
100
106
117
134
110
109
114
114
123
137
139
139
151
120
119
110
96
87
86
88
114
109
112
115
125
132
130
112
107
119
144
133
111
103
126
132
134
130
121
104
96
95
102
95
89
100
109
110
122
128
134
136
129
118
106
98
80
80
91
93
86
83
86
82
85
88
72
76
87
89
80
96
120
142
149
123
112
101
100
116
122
117
98
165
177
152
161
158
174
176
179
140
125
132
134
112
81
72
82
78
65
77
82
87
104
94
61
55
63
76
89
81
60
53
48
40
31
24
22
23
18
19
15
16
20
18
13
21
5
50
83
64
100
127
99
126
115
139
145
145
151
153
147
125
107
157
146
149
163
161
163
140
127
117
117
116
147
95
84
76
78
98
86
132
149
140
121
120
164
190
143
135
144
150
143
153
167
166
147
140
119
112
136
117
70
64
53
54
99
109
108
86
28
15
127
130
52
86
80
108
133
109
89
82
74
78
62
26
53
46
15
113
106
96
86
96
106
99
112
120
128
127
113
94
88
96
103
108
106
103
101
96
91
85
87
94
97
95
90
88
86
105
83
81
79
86
74
138
81
78
102
121
131
134
84
79
72
74
85
92
99
98
108
114
96
115
124
96
122
114
108
119
110
100
109
97
90
111
111
107
106
104
100
109
122
139
141
122
105
97
98
107
148
178
164
135
123
105
91
85
86
84
87
115
105
111
102
97
103
103
106
121
133
139
140
123
114
118
118
132
126
133
121
108
105
103
96
101
100
95
116
117
109
96
100
100
95
95
100
101
96
98
104
111
112
105
98
96
100
109
107
92
85
92
98
95
102
100
93
83
82
87
94
89
73
74
82
81
81
141
132
112
82
61
60
64
57
56
47
62
73
85
196
162
147
146
161
174
177
165
146
128
108
126
82
105
111
121
125
94
76
84
90
89
83
94
69
72
90
112
106
70
69
65
61
66
75
73
80
68
61
78
78
95
88
100
64
112
107
107
117
110
106
82
95
131
105
111
141
146
127
150
124
143
148
160
166
167
172
147
149
118
105
163
153
90
102
69
74
69
103
104
162
150
154
157
148
158
173
168
135
81
113
133
169
151
162
143
133
140
113
107
86
62
52
48
67
88
61
31
75
154
151
111
67
62
79
88
93
126
152
140
117
106
93
69
97
60
65
42
113
98
90
92
99
108
110
118
130
136
125
99
82
102
105
108
107
102
96
92
89
85
86
86
90
92
88
86
86
95
71
81
82
81
66
131
107
90
130
129
114
125
70
73
76
73
70
77
94
107
121
116
111
99
120
126
93
117
118
106
110
108
101
106
96
89
102
100
101
109
117
121
132
130
135
156
153
147
143
127
113
139
175
171
147
145
115
107
112
120
113
100
86
126
146
153
147
143
131
117
113
129
132
112
93
82
81
91
114
102
89
84
87
93
94
85
91
95
96
96
88
79
94
94
92
94
107
119
98
93
99
105
103
91
79
77
92
89
95
95
84
77
84
91
111
103
96
85
79
84
95
87
87
74
72
95
123
149
95
96
90
77
69
59
54
53
60
50
59
52
66
203
158
146
149
166
175
174
166
156
143
117
111
96
104
108
127
91
103
59
62
72
74
78
90
75
80
99
117
100
67
71
69
66
69
77
79
81
92
79
88
81
98
94
109
75
107
93
93
108
104
102
86
108
118
111
116
130
141
148
149
140
155
152
170
171
170
165
146
140
98
100
165
129
116
101
78
72
98
98
120
151
157
161
166
165
155
148
151
148
102
115
147
168
155
167
174
136
164
110
158
108
89
50
60
57
73
41
127
127
158
156
109
97
125
87
106
122
153
163
148
129
103
84
86
78
39
64
49
113
118
125
133
131
128
132
126
113
100
95
96
100
107
96
98
97
91
86
84
83
82
79
80
80
77
74
79
84
89
110
61
89
119
107
123
131
104
90
86
101
85
70
64
79
79
71
76
112
125
127
121
119
117
117
107
97
101
134
120
109
116
110
110
113
112
124
123
117
113
111
111
97
105
112
101
92
95
102
97
102
126
148
139
143
163
152
141
138
139
135
132
128
128
109
86
83
97
108
106
102
140
133
122
122
117
101
91
87
88
69
70
74
74
71
72
69
76
92
98
102
113
106
116
115
103
102
112
104
101
93
89
94
100
98
92
73
61
64
76
78
76
81
87
81
90
98
100
97
91
89
105
121
132
136
119
92
77
93
97
102
104
104
94
88
83
91
73
94
82
104
206
195
176
174
184
179
164
159
162
117
144
128
111
106
142
92
105
120
90
90
85
66
56
61
71
81
103
116
85
70
74
75
75
73
76
86
80
72
74
94
87
96
84
95
106
101
79
83
109
110
101
103
95
115
110
121
134
128
115
128
145
152
159
169
160
180
166
138
131
109
112
130
127
128
106
109
79
80
111
168
166
168
164
165
162
146
147
170
168
131
83
147
149
169
193
118
89
122
188
162
150
115
79
80
45
37
87
132
151
139
109
118
122
89
88
98
139
154
161
166
164
134
100
90
91
73
81
56
138
154
142
113
114
107
102
94
92
91
98
101
101
98
88
94
98
95
88
82
76
68
62
64
67
68
72
78
85
89
85
129
94
85
134
84
90
90
127
129
65
75
82
53
64
74
88
106
127
135
136
124
113
123
124
124
128
112
138
128
117
108
93
97
101
104
104
101
95
90
93
99
110
106
104
111
107
105
105
108
114
109
97
102
123
113
105
106
114
126
133
140
138
121
102
100
102
86
71
78
93
86
99
117
98
102
128
130
132
134
99
90
79
80
97
101
88
81
88
99
108
119
126
109
89
81
87
94
91
89
95
104
109
107
105
108
134
132
132
126
116
115
116
111
112
104
109
115
117
116
117
113
106
91
89
91
83
78
76
84
94
97
88
68
68
69
75
82
85
73
99
194
195
181
177
180
174
164
158
152
134
132
121
118
104
111
102
149
110
121
92
75
87
91
72
79
92
103
90
81
82
89
75
75
79
74
80
82
77
81
101
88
93
87
103
91
87
88
89
108
108
87
101
120
89
98
120
129
127
128
142
144
154
160
143
132
170
176
161
141
111
132
125
109
131
135
127
143
102
142
159
178
168
178
177
152
148
161
159
175
140
90
129
151
162
169
131
119
129
94
73
110
56
46
71
122
77
73
64
78
113
80
122
168
126
92
190
161
147
157
163
155
160
143
89
20
22
61
57
147
156
140
125
130
112
106
88
93
99
103
101
97
102
91
96
98
95
88
81
72
66
59
58
63
67
71
77
81
78
98
74
78
109
70
72
69
99
138
119
76
84
76
63
72
88
110
125
122
132
124
118
107
118
117
125
138
124
127
115
113
103
94
106
103
103
97
94
90
88
96
106
116
107
101
109
112
114
113
125
123
108
95
101
97
84
85
84
95
113
126
134
114
104
101
105
101
87
91
105
109
80
102
115
99
99
118
122
132
134
121
117
94
83
99
127
111
98
97
116
124
131
106
85
70
73
79
78
78
72
79
89
95
94
95
105
112
119
120
105
92
100
110
105
89
96
99
93
85
83
85
67
89
106
105
96
93
97
93
95
101
106
99
77
76
78
73
91
79
69
87
153
190
190
194
189
173
161
150
138
144
135
141
116
98
87
105
119
111
101
84
90
103
98
72
73
93
103
78
86
91
102
79
78
86
78
79
89
91
85
93
76
87
85
98
96
99
108
99
111
115
97
118
103
100
109
125
126
113
105
142
147
163
154
143
137
163
171
159
140
113
136
119
110
139
124
144
152
119
148
180
176
176
170
154
140
143
153
156
167
129
99
114
163
162
161
153
147
123
116
73
78
41
102
148
77
49
71
103
124
141
96
155
178
92
94
176
140
135
147
154
146
140
128
102
10
25
66
56
128
103
87
94
99
89
85
88
91
96
98
99
100
102
92
93
93
91
85
77
68
63
61
63
67
69
72
74
75
77
74
75
75
76
77
81
72
91
95
87
106
111
110
95
105
122
135
135
125
112
92
105
113
106
111
136
134
107
115
114
108
108
108
107
111
114
110
108
111
109
105
106
114
120
121
96
84
83
86
89
93
102
107
100
90
96
89
110
128
131
133
137
131
95
87
82
91
108
121
117
108
93
85
74
71
82
98
108
137
126
130
114
114
118
107
114
136
140
119
105
102
89
98
100
94
91
93
83
95
83
84
84
83
86
92
94
98
104
110
101
81
76
87
95
112
88
79
70
71
85
94
100
95
99
95
90
88
86
88
88
82
78
77
74
83
83
76
68
66
69
70
64
94
137
191
203
183
182
181
157
129
138
159
114
123
90
87
89
99
83
100
80
78
69
55
73
86
83
80
88
93
87
89
100
99
86
87
88
80
91
86
73
74
83
86
89
104
109
102
107
120
117
100
125
88
103
135
131
100
83
133
147
152
146
149
158
159
155
134
137
134
116
140
117
130
160
105
108
152
148
155
151
165
158
167
159
151
156
119
129
165
154
174
167
191
152
153
145
142
97
56
58
195
161
149
97
55
74
100
90
132
158
180
147
84
137
101
117
153
142
132
104
68
61
36
55
76
94
45
106
96
89
86
67
69
80
89
93
96
98
99
100
103
93
96
96
90
82
74
72
72
77
73
73
76
82
84
84
82
78
78
78
78
80
84
89
95
107
127
126
121
133
137
137
130
120
111
106
104
110
107
118
128
130
137
137
105
107
99
94
98
103
103
106
106
105
103
103
97
88
86
101
101
97
78
74
79
86
86
91
100
103
98
91
96
85
84
80
79
92
109
119
136
134
128
119
113
111
114
117
116
108
118
132
138
136
135
130
126
127
111
115
131
136
120
111
104
105
97
98
104
84
89
90
97
116
125
118
119
117
116
119
125
125
112
79
86
77
91
117
94
72
97
96
88
91
87
86
86
83
79
84
98
85
71
67
66
69
77
80
78
72
69
82
88
85
80
71
66
65
75
80
77
99
135
164
187
190
172
137
144
109
106
115
110
85
96
105
117
118
103
73
76
75
69
67
74
79
75
72
85
81
90
99
100
106
88
99
90
82
90
104
99
82
87
116
112
97
106
110
114
137
112
91
88
116
112
85
81
106
130
136
142
143
161
161
159
160
152
144
149
165
174
179
169
124
144
168
134
131
138
146
160
181
152
109
113
124
152
157
172
180
187
177
175
169
142
114
44
89
115
117
156
105
55
89
118
117
77
113
163
158
62
155
118
105
123
111
99
74
63
54
37
38
96
107
47
32
108
99
91
84
69
76
90
96
99
101
102
102
101
102
97
100
98
91
79
72
72
76
77
75
78
86
91
93
92
86
80
72
71
73
79
86
101
111
123
133
115
116
133
140
133
115
100
100
109
112
115
116
125
133
137
147
142
105
107
100
95
102
106
104
104
105
100
97
98
93
86
86
99
96
93
80
80
85
91
97
95
100
113
122
92
74
71
76
83
92
104
113
106
110
121
133
138
135
135
144
154
145
124
112
120
133
134
126
119
119
126
116
119
130
134
108
107
111
121
117
104
95
90
89
87
98
121
131
96
80
88
100
115
128
129
115
99
83
69
97
132
110
79
87
86
92
100
98
93
84
73
85
94
112
97
83
81
81
61
66
64
63
61
59
71
67
65
60
56
56
61
76
74
94
107
101
109
152
186
187
147
156
107
112
100
105
86
108
110
119
109
99
66
77
76
69
69
80
82
73
68
88
85
94
103
103
108
90
98
86
77
86
96
87
75
109
122
99
88
115
114
103
123
124
98
114
135
101
74
96
114
143
135
138
150
171
151
118
155
160
152
168
159
160
177
168
143
160
165
130
124
134
137
154
178
163
124
107
107
150
135
158
150
182
181
185
160
142
73
61
76
78
154
145
152
97
68
100
117
143
139
180
131
133
126
114
134
114
78
58
21
17
29
12
25
73
81
22
43
109
97
85
80
87
93
97
101
102
103
102
100
97
97
102
100
98
91
81
75
77
79
86
90
94
95
95
93
93
82
87
108
110
103
95
93
111
110
99
92
113
112
110
118
111
87
78
97
113
120
121
133
143
141
151
178
170
98
105
106
108
115
118
115
115
105
94
88
92
93
93
98
89
89
89
88
88
89
87
86
86
83
81
85
104
107
110
107
104
106
115
125
140
146
142
138
130
116
107
114
129
161
153
123
111
119
112
89
100
103
104
100
93
85
80
97
103
101
96
131
139
132
124
118
119
121
118
122
133
118
116
110
101
97
98
98
83
93
121
139
124
103
92
84
92
83
78
72
73
73
68
63
64
76
84
89
103
111
124
114
96
86
83
75
80
72
66
59
60
67
74
74
86
89
96
96
79
67
94
136
159
174
154
138
105
97
112
117
129
152
140
130
110
105
69
72
71
66
68
75
79
86
88
99
102
95
104
119
109
102
91
86
82
75
82
82
98
106
126
145
120
95
109
126
99
91
92
102
120
136
136
150
99
116
141
165
114
127
168
160
138
159
164
171
177
169
162
139
110
108
117
113
135
162
161
167
175
162
165
145
132
149
132
163
187
163
160
81
74
36
56
83
60
47
95
113
55
127
144
157
164
164
124
147
146
119
118
30
31
35
26
41
67
73
83
43
33
29
63
96
93
91
93
91
87
84
84
86
88
90
90
89
91
93
92
89
88
88
87
87
87
89
94
95
96
97
104
111
133
132
131
125
113
102
97
86
87
94
107
88
97
127
158
164
145
125
124
106
115
142
139
145
146
140
146
150
126
131
125
115
111
107
105
107
109
102
98
101
99
96
98
92
89
85
85
88
89
88
99
99
98
98
109
128
125
118
110
104
112
128
133
122
121
111
106
111
112
107
109
114
132
146
158
150
126
106
100
102
108
96
91
88
95
108
124
123
132
142
101
84
84
98
89
109
137
135
123
120
107
98
85
78
83
89
87
98
135
121
84
82
79
69
78
73
103
111
113
117
118
111
115
98
87
94
113
132
140
131
130
118
108
100
90
99
95
96
96
93
87
84
83
77
72
73
90
102
93
84
89
122
134
148
123
146
118
132
115
132
136
132
122
137
116
77
86
79
58
71
82
79
77
70
69
64
58
73
98
137
124
104
97
105
104
93
96
86
100
131
142
130
132
150
142
110
115
79
67
83
79
152
130
72
144
137
169
147
163
152
141
154
164
141
175
189
160
170
164
137
138
139
135
142
167
166
173
166
125
127
144
143
129
162
154
191
183
40
101
104
115
98
111
80
81
82
113
148
174
146
137
142
79
143
70
118
120
166
107
89
51
72
77
47
54
54
50
50
74
40
99
93
87
84
84
80
76
82
83
84
87
90
91
88
89
87
80
82
88
86
85
94
97
94
91
93
102
116
127
138
124
106
97
98
104
107
106
107
108
107
83
79
93
111
143
150
128
106
92
109
140
166
168
133
115
141
149
121
141
141
127
121
111
103
108
119
116
115
114
112
112
112
107
92
88
97
95
98
99
112
116
119
114
116
137
123
113
107
107
114
119
116
111
100
96
98
90
78
85
97
92
123
144
161
174
167
144
126
118
124
109
104
111
118
118
109
88
89
116
97
81
89
110
124
133
113
96
113
99
90
90
87
86
89
94
98
157
117
101
109
98
80
80
87
75
98
106
112
121
133
142
127
129
132
146
161
154
132
136
80
19
11
60
106
83
98
84
99
106
84
86
95
98
98
90
89
88
64
52
71
59
94
127
127
146
162
139
137
125
128
135
151
148
126
91
111
100
93
102
129
90
78
84
69
58
77
98
99
134
106
106
120
112
104
103
90
91
89
105
139
148
138
134
137
104
104
54
86
61
55
163
110
96
144
136
154
145
158
134
145
166
137
145
187
182
136
143
142
160
149
144
146
161
166
173
174
150
137
155
137
153
154
125
173
199
49
123
175
95
110
107
83
115
178
76
119
142
141
119
137
130
95
86
107
174
23
125
101
100
53
24
56
67
52
59
57
100
81
71
85
82
78
78
84
84
83
82
83
85
87
89
90
90
89
88
85
91
102
106
107
113
109
100
93
91
93
95
97
91
88
85
93
117
131
128
109
110
111
107
90
89
93
100
106
112
118
114
120
151
170
160
156
147
142
155
163
162
173
175
168
164
157
154
157
152
155
154
145
134
125
121
114
107
117
154
157
154
148
141
139
133
121
111
111
98
95
92
90
90
89
88
97
101
100
103
102
97
99
100
93
105
93
87
98
111
121
130
128
121
97
96
96
83
68
72
91
100
88
85
98
105
117
98
94
107
112
104
98
104
88
79
86
88
90
113
110
95
90
94
91
90
94
96
87
99
105
112
121
135
146
146
137
128
130
140
130
106
86
77
95
119
99
88
123
83
96
98
101
105
90
125
142
139
131
129
128
110
103
119
114
120
127
123
114
106
95
134
130
151
162
137
114
122
97
90
75
85
134
145
110
104
102
98
94
87
77
128
109
86
99
111
98
109
125
94
113
106
89
102
129
143
150
144
114
78
65
75
63
111
118
83
118
71
126
129
122
154
137
108
117
129
155
179
180
115
114
129
163
153
156
168
165
172
158
134
147
170
165
128
149
171
175
145
51
164
77
69
78
78
100
150
130
115
59
121
144
168
153
144
123
83
74
56
35
149
110
66
68
40
37
72
70
47
50
90
99
68
100
71
71
72
74
82
85
86
88
89
89
87
84
82
83
77
87
94
102
112
113
109
112
104
95
89
88
88
87
86
82
90
95
100
114
114
98
81
80
83
81
111
132
132
144
153
149
125
114
143
144
128
116
109
111
136
176
187
123
112
100
93
93
101
114
121
124
111
100
90
86
90
94
106
109
125
141
132
117
100
87
86
90
92
89
96
93
92
94
94
89
86
90
107
93
101
105
101
94
88
91
100
87
87
90
96
94
89
92
106
127
126
100
90
101
118
124
118
111
108
99
93
87
96
117
104
90
98
78
84
69
78
85
94
113
124
105
82
95
98
89
78
77
87
98
118
132
148
153
141
121
110
109
111
113
106
112
116
110
75
100
78
59
66
69
155
189
149
124
120
112
113
116
119
106
101
112
125
123
116
116
99
76
75
94
98
101
116
131
134
121
143
130
99
94
112
106
103
102
128
127
119
107
90
102
142
158
145
152
146
115
105
103
99
122
144
151
133
113
122
147
147
132
132
138
150
140
145
135
140
145
120
114
103
138
105
88
109
123
154
129
132
139
160
170
167
130
120
102
139
156
168
174
177
176
179
170
135
113
121
159
163
180
83
90
200
186
146
113
112
129
130
77
109
108
54
102
129
134
146
153
116
139
136
145
140
125
127
126
135
119
98
84
55
42
64
23
56
59
73
69
70
73
77
82
83
83
84
85
85
81
76
74
77
72
86
94
97
103
102
98
100
102
94
90
88
89
91
92
85
93
106
104
108
102
87
87
84
86
83
140
175
175
144
147
136
109
105
148
134
108
99
95
98
119
159
172
130
116
112
115
114
123
131
133
108
99
91
86
92
104
114
135
138
148
131
115
102
90
77
77
87
96
96
94
92
100
104
105
98
93
94
100
94
103
106
102
97
88
88
100
99
100
104
108
102
96
99
100
115
130
120
111
112
117
124
115
111
110
89
87
95
112
102
76
65
84
95
76
76
92
113
120
107
86
80
89
106
111
108
103
99
99
107
130
131
132
122
111
109
113
115
121
126
106
100
100
94
86
70
59
67
73
36
32
159
163
124
93
99
94
124
122
107
101
108
118
119
117
115
82
67
63
68
72
89
114
144
157
166
173
153
118
101
107
103
106
89
102
92
89
93
76
87
124
144
147
155
146
125
109
106
109
119
128
139
110
86
101
128
125
115
124
138
135
128
138
131
158
145
127
135
128
89
97
129
105
116
158
144
151
140
156
154
165
136
121
92
133
159
169
168
179
180
179
161
112
91
119
154
150
103
78
178
168
201
137
128
140
125
132
84
89
71
35
95
136
126
137
136
143
135
116
127
163
160
134
123
141
136
109
82
50
34
47
24
61
82
112
69
73
79
82
80
78
77
80
83
84
81
77
76
85
89
104
106
95
89
89
93
101
96
90
81
75
74
79
84
102
105
120
108
96
89
85
87
95
110
107
127
131
100
93
79
86
110
138
142
105
96
85
97
113
105
106
127
139
127
132
141
135
125
114
98
102
110
111
111
117
127
138
133
138
138
91
84
99
110
90
83
90
95
87
83
86
85
86
82
78
86
105
130
126
129
126
131
139
126
110
111
116
115
118
120
113
109
116
123
114
110
116
119
120
120
121
118
112
107
111
105
93
85
104
99
96
101
91
132
139
139
121
96
96
114
110
102
104
103
119
145
151
143
145
126
78
88
110
122
124
123
118
114
112
86
79
74
69
69
75
72
79
82
56
106
93
113
121
103
88
95
101
94
83
79
73
64
70
91
104
72
77
108
131
143
146
137
130
128
160
126
96
116
148
141
135
139
119
162
134
121
118
121
126
112
88
97
152
148
146
117
104
117
108
113
155
162
147
123
111
109
124
151
158
161
148
175
144
170
150
159
140
145
84
117
94
92
119
147
137
163
148
180
157
172
122
96
87
147
167
167
179
166
171
172
153
141
129
105
164
58
124
181
179
175
161
135
149
101
134
92
105
100
42
39
97
121
135
161
142
135
176
164
131
122
168
99
121
134
127
111
108
103
88
80
60
74
43
74
62
70
76
80
78
71
73
72
72
73
74
74
77
100
100
95
89
86
87
89
93
93
88
79
74
76
84
94
100
100
103
99
88
79
76
79
80
88
97
99
94
93
92
86
81
96
127
146
112
102
99
100
98
98
108
115
125
147
124
110
111
116
127
133
130
119
129
120
105
101
110
116
106
116
134
137
111
92
88
98
89
99
113
105
91
86
78
90
113
127
125
119
99
86
99
105
105
117
140
151
148
164
160
142
133
143
150
147
140
121
110
121
122
111
101
126
125
135
147
119
115
124
136
135
124
122
135
138
128
169
158
155
163
167
165
164
152
158
160
150
132
112
86
66
99
110
120
126
127
120
113
108
108
95
80
72
71
82
90
95
85
80
78
139
123
115
81
70
73
57
46
48
60
79
105
122
132
136
135
131
103
93
84
89
107
129
140
138
143
131
119
111
126
150
149
141
129
143
144
106
156
122
138
109
88
104
122
96
110
123
120
118
132
134
128
144
166
189
171
181
176
191
185
181
152
172
173
144
160
162
160
167
164
93
137
128
125
104
133
156
173
142
178
179
121
121
82
114
147
138
162
146
154
126
119
142
140
127
121
96
143
168
150
173
178
145
135
147
90
74
54
60
47
29
64
112
142
130
140
116
162
132
147
140
90
71
160
109
150
134
138
153
116
91
85
73
39
52
84
64
72
77
80
79
73
74
71
68
67
68
71
75
93
89
87
86
86
90
93
95
96
85
81
83
89
97
102
105
101
99
86
79
75
75
79
79
80
83
83
85
88
90
86
91
116
145
145
101
105
110
113
108
101
107
121
134
152
123
107
107
110
109
110
106
97
136
140
118
109
119
119
102
87
95
132
107
90
96
108
99
103
110
104
107
114
117
124
137
140
128
115
98
82
99
105
103
121
156
171
163
178
171
136
124
130
142
158
160
157
139
140
144
137
125
123
138
137
137
120
112
134
128
116
120
148
159
135
141
129
120
131
148
149
155
162
181
168
139
108
88
85
94
101
121
123
124
121
117
110
106
104
103
86
70
73
79
88
86
100
88
73
84
170
145
123
90
82
93
84
75
102
128
138
146
137
120
104
95
89
71
79
90
99
104
111
116
146
119
113
106
110
131
142
152
150
141
117
149
109
92
103
126
109
98
111
125
116
119
105
102
107
106
104
121
133
186
193
146
172
179
186
187
182
149
168
166
134
155
171
148
168
165
121
139
124
99
87
116
146
168
169
180
168
103
108
74
125
149
121
159
171
161
118
118
128
129
150
145
125
183
175
152
182
180
141
107
122
114
106
89
60
37
44
36
89
170
123
133
161
156
153
153
154
133
122
122
88
142
147
145
150
129
131
157
98
65
70
82
67
77
79
77
78
74
73
59
56
57
63
68
69
72
76
80
86
93
98
102
102
102
92
99
106
110
107
96
87
89
84
74
72
72
71
73
75
74
78
82
77
78
82
91
127
150
136
110
95
94
110
121
125
125
136
138
126
102
90
94
103
92
73
69
72
73
113
138
133
129
127
117
79
68
65
79
80
83
91
104
114
131
147
148
129
136
128
122
125
133
134
135
135
115
105
98
96
96
101
121
142
121
111
122
120
122
127
120
123
118
117
104
92
103
125
147
139
120
100
114
110
90
129
113
118
141
141
111
90
104
101
121
136
129
123
119
80
79
81
85
84
81
76
71
75
89
91
89
84
82
82
83
83
77
64
77
87
88
99
102
95
94
74
67
74
79
95
109
101
84
80
85
79
93
103
95
80
72
77
83
68
73
78
79
84
107
131
88
47
63
71
77
87
83
69
72
118
132
108
126
135
125
138
121
114
111
100
116
117
117
124
118
93
77
74
78
166
206
176
186
146
145
187
189
196
195
188
164
170
149
151
164
166
75
101
149
131
127
122
145
147
169
181
97
106
110
59
121
172
125
144
147
137
108
98
79
75
99
83
189
162
173
195
164
159
146
173
163
138
131
109
65
55
37
54
90
115
116
111
101
114
149
131
146
143
81
120
119
142
170
153
118
111
99
73
75
81
85
65
70
80
79
71
73
68
66
61
59
59
62
64
65
74
90
93
101
105
106
107
108
107
104
105
105
98
89
77
70
76
75
72
71
71
72
75
72
71
75
77
69
81
98
125
135
124
89
70
89
86
78
89
99
110
116
105
93
110
103
101
95
82
76
82
84
92
125
150
168
141
96
82
83
92
99
75
66
76
93
114
115
109
111
111
100
116
115
114
125
135
130
126
139
116
100
101
124
132
122
125
142
75
31
20
13
11
21
28
30
20
25
29
28
30
37
91
78
76
100
119
120
144
148
120
104
110
138
172
161
129
130
115
112
133
133
117
115
115
119
117
101
73
50
39
55
62
66
69
72
74
75
91
86
92
74
70
80
85
90
97
82
80
83
81
72
98
106
104
98
102
108
107
115
122
123
105
84
75
79
86
81
91
95
98
103
107
107
99
106
115
128
125
123
136
135
115
110
154
85
90
88
109
115
112
135
144
114
97
90
105
110
118
136
140
136
164
165
180
162
149
118
149
184
173
174
148
140
146
180
167
154
168
166
88
139
132
123
105
120
139
137
149
103
76
140
87
78
127
159
146
143
120
144
169
117
90
108
94
102
149
182
185
167
158
143
140
127
124
105
102
63
76
101
87
162
169
74
127
139
88
91
122
133
112
115
121
104
148
142
153
140
109
54
9
35
36
59
57
54
71
81
79
70
71
66
63
66
63
61
61
62
64
80
95
100
105
109
108
108
109
108
101
99
95
85
75
67
63
88
87
78
72
70
72
76
78
74
75
74
70
90
114
135
126
101
71
58
76
83
82
92
101
111
112
100
99
113
104
95
84
76
86
99
103
109
122
135
159
134
92
92
82
96
115
99
72
72
89
93
96
94
101
108
95
111
135
131
135
134
119
116
153
161
115
113
154
143
73
34
49
26
21
25
33
25
20
32
22
28
27
25
28
29
28
22
41
29
27
56
57
95
101
137
171
174
167
174
119
114
123
104
98
116
95
49
23
30
41
51
51
47
52
60
73
73
73
76
79
82
84
101
93
100
76
66
78
85
101
98
82
88
88
92
107
87
95
97
92
83
73
86
84
91
94
83
73
76
91
104
110
113
112
117
124
121
110
88
61
93
60
80
119
108
66
84
108
170
48
70
106
124
114
94
111
116
85
74
81
86
79
92
130
144
153
198
149
137
130
136
124
141
131
131
193
152
142
169
196
155
150
137
171
119
192
169
114
113
130
124
109
122
84
127
154
76
95
141
151
153
153
165
145
166
129
113
111
70
103
177
167
180
188
161
158
127
139
75
122
113
93
127
82
131
154
142
73
111
123
106
95
129
139
118
125
90
144
135
118
159
158
115
79
35
13
31
68
56
47
55
67
63
54
62
59
61
56
56
57
58
63
73
97
106
109
108
105
103
104
104
102
80
71
64
61
62
67
74
82
76
70
73
74
74
76
74
75
74
75
83
101
123
123
108
93
82
77
87
96
111
115
112
107
107
104
107
89
87
83
85
91
102
110
113
100
99
104
109
108
103
98
88
86
84
76
73
81
92
92
100
107
118
126
121
127
128
125
119
135
144
150
135
94
139
162
128
75
31
9
9
22
24
26
37
42
24
25
21
38
31
53
47
32
44
36
38
42
44
44
43
42
60
43
38
56
93
132
80
30
30
29
48
44
17
11
14
41
47
46
64
79
82
91
90
88
92
95
88
93
114
107
101
98
72
82
90
74
81
93
95
89
92
86
78
52
71
84
82
82
94
122
113
123
112
97
103
107
101
98
78
78
78
99
101
72
74
93
70
135
127
95
97
115
136
137
168
87
81
95
126
140
114
126
123
109
104
109
101
82
112
102
105
102
131
161
163
159
186
193
169
166
155
182
174
147
181
190
193
143
140
174
184
153
180
162
86
88
113
68
86
134
114
120
100
104
76
87
141
143
122
175
152
123
148
99
102
119
131
167
179
178
158
120
106
148
65
40
86
88
139
100
98
79
93
98
159
121
146
136
123
101
90
81
56
42
67
123
160
146
147
174
99
16
46
56
60
58
56
41
51
55
52
56
63
69
66
65
66
72
83
95
110
107
108
106
103
102
102
99
94
71
69
69
67
63
63
66
74
68
69
72
72
73
74
71
74
76
74
93
119
137
113
97
87
85
86
95
105
108
112
112
111
111
105
98
93
92
89
89
89
93
99
106
99
95
85
82
87
94
95
88
87
83
83
84
88
89
99
98
92
96
107
129
145
150
145
161
134
110
118
176
146
81
78
39
8
24
12
19
23
26
22
33
53
44
36
82
44
66
58
59
62
43
55
55
52
55
56
42
43
60
56
56
64
85
107
58
32
38
31
43
47
35
29
3
34
55
56
61
72
83
96
100
97
98
96
92
97
108
110
101
81
91
90
74
70
90
88
102
115
121
165
172
172
118
108
134
134
124
97
87
85
83
91
94
74
65
81
67
80
92
99
94
93
128
123
184
93
81
110
123
121
101
143
137
98
77
106
112
119
127
148
145
125
120
128
93
141
147
134
117
90
150
115
87
84
103
104
112
120
98
112
167
143
197
201
186
172
162
159
155
168
165
142
143
163
122
123
119
133
145
146
155
117
60
70
129
138
128
180
161
124
83
170
189
169
155
137
166
146
111
105
109
118
82
98
116
126
156
122
155
97
91
114
131
115
109
118
77
57
46
58
76
84
79
111
82
65
37
22
59
78
53
77
96
83
61
41
49
59
61
62
69
73
75
77
81
88
96
102
106
105
106
104
103
103
104
101
96
79
78
78
75
69
67
68
70
65
67
72
71
70
70
70
71
74
72
93
120
130
101
88
84
90
95
100
109
104
116
123
123
119
104
92
107
102
96
88
83
90
117
141
118
99
88
82
81
86
91
86
84
84
85
88
87
86
87
89
93
106
129
149
159
168
143
135
118
130
129
148
134
26
16
24
25
37
14
20
26
61
78
96
105
87
86
123
118
76
129
101
62
101
91
73
59
73
63
53
74
58
56
61
77
89
92
87
35
45
43
51
49
32
20
31
46
62
73
69
60
73
95
99
88
93
96
97
99
100
102
87
75
95
82
70
82
86
75
99
116
105
160
151
79
68
89
109
97
102
133
106
110
108
108
107
91
80
89
77
84
84
90
99
102
125
151
159
82
89
101
112
134
133
165
112
117
84
113
147
168
164
157
140
116
116
137
149
159
119
91
96
85
137
113
90
95
98
86
90
89
72
70
135
119
192
193
165
170
158
130
162
180
170
161
170
109
50
109
111
127
154
165
168
137
105
101
120
140
152
161
144
109
98
177
177
152
85
103
122
122
151
186
138
61
88
100
142
119
106
69
98
75
106
125
122
144
85
77
100
110
115
113
100
88
101
93
104
62
57
106
98
61
66
60
82
77
63
58
55
64
72
73
82
80
89
95
103
109
111
113
117
110
106
99
95
96
100
99
94
92
89
89
86
81
79
81
71
67
71
75
73
71
70
73
69
72
70
104
126
119
87
73
75
92
105
112
122
140
137
124
110
104
95
92
91
91
90
88
86
96
126
159
157
119
125
120
96
79
77
82
83
81
83
94
104
108
104
111
113
114
113
102
109
119
130
129
121
117
154
187
79
44
27
19
8
18
36
42
109
104
100
125
104
64
93
133
76
100
113
71
60
100
116
63
113
171
127
143
114
86
72
60
62
76
85
97
81
85
73
69
58
50
80
96
90
93
95
81
68
75
88
95
83
88
89
93
97
89
82
77
89
82
80
88
88
81
136
183
178
145
92
71
71
71
72
82
100
115
103
125
127
125
130
135
122
116
130
121
131
120
104
106
112
132
132
111
80
89
123
143
127
148
136
85
97
65
75
81
97
109
119
146
138
122
118
129
115
122
108
133
126
122
90
101
130
119
111
113
97
104
103
123
128
164
176
178
178
158
118
166
98
139
160
142
162
99
102
115
129
169
146
139
135
138
147
156
160
144
161
127
83
97
101
122
80
85
138
171
183
172
135
102
120
127
116
111
106
105
87
115
109
130
154
165
155
115
50
31
53
60
58
68
87
148
141
118
96
144
131
61
57
53
61
62
74
87
57
57
73
91
89
93
96
99
103
106
107
113
123
135
107
98
87
84
88
93
94
93
93
91
91
91
90
86
83
72
78
89
89
85
81
80
77
78
81
75
113
133
118
86
75
74
86
98
104
108
126
113
98
87
86
89
94
89
94
103
109
113
119
126
130
150
115
107
110
108
96
84
96
92
89
94
95
95
98
97
107
108
102
104
116
125
134
107
128
150
124
85
45
39
27
24
32
59
138
166
88
99
82
86
94
117
60
90
123
123
66
149
128
55
61
151
94
63
136
94
177
163
134
118
97
90
95
93
94
84
106
110
107
114
107
91
106
114
119
113
99
91
87
85
88
86
86
89
88
86
82
79
105
100
78
93
88
76
97
91
75
66
73
95
106
93
80
104
135
120
92
118
129
119
106
100
92
78
84
105
101
142
146
132
121
139
104
105
96
88
93
113
137
145
185
143
125
126
98
128
127
123
146
139
112
110
122
131
123
120
145
144
102
92
112
89
79
61
59
76
91
94
95
82
102
99
124
162
174
167
156
177
184
153
145
144
188
144
127
101
147
146
97
80
130
105
113
126
115
91
89
115
97
127
43
132
101
124
86
138
152
184
194
180
177
139
111
153
128
109
109
104
140
73
82
183
154
125
105
66
63
64
38
47
107
49
104
126
154
131
100
151
101
54
91
102
86
105
96
54
53
69
91
103
107
108
104
106
107
110
117
124
122
99
94
91
91
95
97
96
95
94
91
88
89
87
85
83
73
76
85
87
86
84
81
81
80
78
77
119
127
109
83
76
80
92
101
99
100
104
99
94
92
93
94
95
96
100
104
106
107
110
114
118
112
98
101
110
114
108
99
94
94
96
99
92
89
89
102
119
122
115
114
137
153
133
122
118
141
92
19
37
29
30
26
55
94
117
116
78
84
61
89
105
127
106
36
98
166
48
87
149
118
56
89
133
79
85
144
176
179
125
86
74
82
66
52
79
79
100
109
106
108
111
109
118
123
120
108
100
99
95
88
91
89
90
91
90
89
85
89
97
89
84
83
80
86
86
80
68
68
82
108
117
102
109
123
122
100
89
97
110
110
111
114
108
93
92
108
91
119
115
131
142
145
111
108
95
98
114
120
127
137
187
114
119
141
116
124
104
135
138
111
83
98
129
137
130
142
131
96
75
86
100
88
70
57
65
79
81
93
115
85
92
100
122
148
174
196
182
208
178
125
119
118
141
128
110
96
143
103
88
133
145
133
112
128
106
101
164
116
130
88
48
125
137
146
105
160
155
173
187
142
118
139
158
176
106
112
166
138
115
81
118
156
143
113
85
68
71
53
92
100
26
74
129
97
141
118
155
81
44
67
81
82
93
119
82
76
77
91
106
114
119
120
117
117
115
113
112
111
98
93
97
103
104
102
100
97
98
92
89
88
86
87
89
91
83
79
77
83
84
82
79
83
75
72
86
124
110
85
80
85
97
107
109
99
98
90
94
101
107
110
106
100
86
87
87
83
78
75
78
81
86
98
111
122
127
126
125
128
132
138
130
120
116
119
110
145
170
166
152
123
121
118
165
175
163
106
40
26
14
51
131
159
90
67
106
91
76
109
45
71
85
98
119
113
102
102
88
87
108
127
131
130
93
73
118
121
181
125
98
81
71
55
62
90
84
81
92
99
105
125
128
103
114
111
98
98
110
114
104
102
98
98
99
100
98
97
91
79
79
84
76
99
137
133
119
98
93
103
91
86
109
108
112
114
101
87
102
125
133
136
130
116
96
88
96
80
105
95
133
129
104
121
128
145
104
113
126
140
159
174
111
160
159
122
112
116
137
124
102
80
62
58
90
142
151
128
102
91
63
52
97
82
82
103
108
87
92
125
86
63
95
131
122
110
124
181
191
122
170
134
138
158
173
129
109
114
150
136
173
146
154
148
138
163
165
122
122
158
123
182
162
154
141
162
149
189
171
162
180
170
173
159
59
122
126
148
115
160
171
174
148
149
112
82
55
36
33
75
36
29
85
115
128
118
102
79
112
80
90
96
75
105
132
71
109
118
130
129
110
118
123
120
124
121
110
99
98
105
110
110
107
103
97
94
97
100
96
96
93
92
94
97
99
93
87
77
77
78
77
76
74
79
88
106
112
90
83
89
94
104
109
112
114
115
113
111
108
103
98
93
92
87
87
87
84
81
83
88
95
98
97
99
102
107
110
112
108
103
98
90
90
97
108
135
162
172
162
155
163
168
166
67
57
50
44
47
54
169
156
96
87
103
67
52
84
64
88
141
138
126
166
124
136
129
113
110
72
46
59
82
51
83
98
37
66
107
105
93
54
47
88
90
43
57
65
79
84
79
89
107
98
114
124
122
116
117
118
116
109
104
103
105
106
106
106
94
98
95
69
95
127
138
111
105
99
107
119
114
118
116
134
139
128
124
116
87
103
116
119
112
105
93
83
82
75
66
87
134
96
92
123
124
98
141
148
119
115
139
98
122
174
146
101
88
101
67
63
79
94
78
66
132
83
89
102
86
59
92
137
127
124
112
104
104
102
97
98
83
66
74
99
88
68
79
124
142
102
143
148
152
145
172
157
89
75
204
114
176
116
140
149
127
159
156
114
162
115
127
125
123
159
166
135
153
135
104
130
153
148
171
182
139
109
88
163
169
168
147
142
150
120
161
112
114
116
128
78
97
18
64
76
76
126
163
81
87
157
99
102
103
79
84
69
124
130
138
134
114
119
121
118
120
116
108
101
102
106
112
111
107
102
97
97
97
99
101
101
97
94
92
94
94
91
89
79
78
77
77
77
73
88
105
121
100
83
86
93
97
105
110
114
116
114
110
110
109
105
101
96
95
85
85
82
80
78
80
86
93
94
91
94
99
104
110
112
111
105
99
96
96
101
109
127
157
165
149
137
154
165
113
24
31
52
31
33
132
161
120
83
95
103
82
64
35
116
91
113
116
121
147
162
128
132
61
33
32
52
75
63
43
24
42
28
33
74
85
121
107
67
69
89
42
43
55
67
79
86
82
90
104
111
123
129
126
121
118
118
111
105
104
106
108
108
108
97
95
89
77
108
131
123
109
105
104
109
115
106
116
122
144
150
139
127
109
81
93
102
100
92
90
90
86
86
80
58
90
137
100
117
122
103
78
131
124
108
123
143
140
131
148
143
131
135
122
131
112
105
113
122
131
114
92
95
113
105
85
109
133
111
111
106
103
102
93
84
84
90
78
99
133
120
104
125
118
130
123
148
173
173
167
172
177
85
175
181
188
105
75
172
117
132
162
111
148
124
137
147
132
83
108
156
154
162
122
105
132
138
148
176
171
113
119
127
174
174
170
166
144
163
148
136
112
93
42
36
97
52
31
67
64
79
154
162
118
174
127
93
81
110
76
75
59
143
149
148
135
121
124
125
113
110
107
107
109
112
111
113
109
103
99
99
98
100
100
102
104
102
96
91
89
89
93
91
81
80
79
76
70
80
94
127
134
77
84
88
98
102
109
117
121
109
102
100
92
93
103
109
104
95
98
92
85
83
86
92
96
97
91
90
97
106
112
114
112
111
117
123
116
115
125
140
131
135
116
114
128
174
163
105
32
21
26
24
108
114
93
102
85
53
42
60
93
122
108
121
152
152
146
141
125
118
68
9
18
14
15
28
36
31
48
63
22
19
19
26
25
36
57
55
28
89
66
66
59
54
63
82
96
108
114
119
120
118
114
112
112
112
106
104
103
103
101
97
97
80
62
100
124
124
111
118
110
106
105
103
112
123
137
142
140
125
101
74
75
84
90
100
92
81
93
99
87
75
62
124
107
126
137
126
118
103
77
113
97
143
167
110
143
166
161
108
117
154
156
161
137
124
128
100
90
63
84
88
94
98
106
133
137
146
138
122
117
103
84
80
89
31
96
108
56
66
139
191
165
159
149
111
103
124
161
196
198
167
169
56
101
113
120
123
183
113
163
113
145
103
111
134
102
115
176
175
164
156
98
79
169
130
132
198
123
95
126
156
148
119
111
113
141
164
141
139
128
108
101
78
66
84
95
72
108
177
148
85
78
83
80
67
75
81
92
127
133
136
135
128
127
126
123
106
106
107
110
113
114
113
114
111
108
107
106
104
103
102
104
104
102
96
91
88
87
86
85
79
77
76
75
74
95
131
134
99
81
85
84
97
103
112
121
125
112
105
96
90
90
97
104
101
94
92
86
80
79
83
89
94
95
85
85
89
94
95
93
90
98
101
111
129
122
109
101
101
114
143
165
133
52
60
96
64
44
68
119
145
71
49
57
64
74
96
126
146
152
145
152
156
140
138
142
132
122
82
1
8
29
56
81
73
84
85
70
83
91
77
55
76
94
102
109
105
88
82
81
75
70
76
91
103
102
106
110
112
112
110
111
111
122
110
106
105
99
92
83
59
77
61
87
124
111
81
84
85
90
93
91
109
126
119
128
132
127
110
82
71
97
110
122
115
99
101
106
102
89
92
125
99
95
96
88
91
102
117
118
100
152
131
141
150
154
149
108
101
115
121
122
164
166
105
99
134
112
109
88
92
104
108
115
91
107
109
111
129
139
122
99
90
64
64
73
83
88
93
124
130
143
125
101
116
156
182
130
127
154
171
128
116
108
95
153
103
94
124
152
139
97
74
116
137
125
155
191
104
160
149
115
113
140
171
132
161
119
142
141
185
195
133
156
168
170
146
98
59
38
71
92
97
102
97
78
67
93
127
169
176
161
154
133
88
90
99
81
119
123
125
120
125
122
117
102
105
108
113
115
115
113
114
113
111
110
108
107
105
103
102
103
100
98
94
91
89
87
84
75
73
74
80
85
114
137
120
82
79
78
83
92
99
110
119
122
110
104
93
104
115
113
100
88
89
85
86
90
95
98
97
91
85
95
94
97
102
106
107
107
93
102
114
114
106
103
106
98
121
152
151
109
51
66
56
65
78
101
123
116
72
42
37
36
78
129
126
117
147
147
137
128
118
122
122
104
98
105
64
33
15
18
34
41
57
74
87
107
75
30
61
81
114
141
140
118
97
101
102
98
93
94
100
105
103
106
108
111
112
111
113
113
124
111
108
108
102
93
83
82
76
83
62
99
113
73
71
76
84
89
89
106
124
124
129
130
125
112
87
76
93
104
112
107
96
93
92
90
97
126
136
91
67
71
79
108
121
122
104
101
158
118
157
160
158
145
98
104
124
131
143
150
141
132
132
153
131
117
89
91
102
107
111
93
110
122
124
121
119
118
119
112
70
80
99
75
70
112
135
125
111
119
120
127
150
109
115
124
143
162
128
137
109
112
127
84
95
109
161
106
76
62
111
146
142
160
184
86
142
125
121
108
132
173
182
150
117
156
186
198
154
127
150
152
155
163
109
64
86
103
98
82
76
73
72
89
145
145
136
146
145
151
157
90
77
90
98
123
133
136
126
108
103
99
104
108
112
116
116
114
114
111
110
108
108
109
108
105
103
99
100
101
102
100
97
94
90
84
74
72
78
97
118
134
109
81
78
75
70
80
84
92
103
111
113
106
103
130
105
72
47
46
67
93
119
113
105
100
97
93
88
84
91
85
84
86
90
96
100
88
85
87
106
117
129
137
81
41
57
84
88
28
47
97
108
131
122
77
55
60
52
76
101
106
96
90
95
103
103
116
117
110
109
113
111
114
105
92
106
111
104
99
106
86
58
43
26
36
60
108
150
187
185
164
152
109
92
98
110
120
127
132
136
120
118
115
114
113
114
113
113
112
109
107
107
104
101
99
97
108
102
87
77
91
131
69
72
81
91
89
79
82
79
88
99
111
114
97
78
97
98
95
97
104
103
99
103
91
109
78
68
59
86
109
118
120
101
85
138
154
107
129
114
115
125
126
132
136
135
130
118
108
120
147
147
122
114
88
88
88
84
95
119
108
116
128
118
108
119
134
119
111
113
95
131
153
101
91
100
95
139
150
134
124
110
133
136
113
78
134
121
106
138
67
96
68
89
139
107
57
39
98
131
121
151
191
141
106
135
105
78
188
151
114
119
107
148
176
128
156
143
154
149
128
90
92
105
86
92
81
74
95
117
133
141
157
172
164
122
102
116
103
96
79
76
109
100
121
135
127
99
103
108
110
114
117
116
114
111
112
110
107
105
103
104
104
104
101
107
105
103
103
100
94
89
86
83
85
86
90
110
133
114
90
85
88
82
87
78
90
97
107
113
115
113
113
125
107
95
108
135
145
121
55
44
32
27
33
46
59
67
62
72
77
82
86
89
91
75
78
78
47
43
61
83
57
23
35
42
71
88
101
118
123
107
81
68
61
49
97
97
104
105
96
92
91
84
93
85
87
93
99
110
122
129
117
108
117
115
115
124
124
133
132
130
146
161
186
232
184
144
120
94
84
89
101
106
112
122
126
130
138
134
128
119
114
111
110
106
104
102
105
102
97
96
100
104
115
112
107
99
89
83
85
127
107
88
81
82
78
77
69
66
64
75
87
90
98
103
104
94
85
82
69
68
86
74
116
77
80
59
70
87
83
81
68
78
172
120
74
94
94
113
125
86
80
74
62
72
73
66
76
103
87
68
70
63
75
80
73
81
110
130
147
137
120
125
129
111
98
70
120
154
114
70
77
97
112
83
69
98
112
129
127
154
116
112
141
118
111
148
72
68
82
76
152
128
90
150
117
84
123
135
120
116
118
116
125
93
131
136
174
127
126
107
106
103
107
110
91
100
150
185
126
139
163
115
134
133
121
125
135
162
161
171
157
160
161
139
127
121
86
84
121
146
100
112
120
113
107
112
113
114
115
115
116
116
117
114
109
108
106
104
103
102
103
104
103
106
106
101
96
92
91
86
88
89
88
103
121
127
93
92
95
98
97
99
104
109
114
117
117
118
120
118
118
108
101
101
107
105
91
102
115
130
137
133
120
100
85
66
60
58
57
56
54
52
46
55
47
39
46
56
70
94
113
135
135
112
121
136
120
83
64
45
19
37
93
100
103
106
106
102
97
93
91
130
137
135
135
145
155
158
165
152
147
149
155
158
154
131
146
152
146
129
114
96
158
220
198
152
135
113
122
132
133
121
103
100
115
131
124
126
124
119
114
111
106
101
97
88
87
86
87
92
98
105
111
106
89
95
92
81
59
97
111
89
87
98
101
121
116
112
108
99
81
54
50
52
69
96
86
73
78
64
69
122
77
71
76
62
81
94
105
96
131
156
113
138
151
146
149
153
136
123
108
105
109
129
146
144
135
145
136
100
83
78
76
93
106
109
113
117
126
139
145
141
133
158
116
82
115
112
84
104
131
136
138
139
144
137
119
98
113
149
125
84
70
133
84
99
96
74
66
135
127
53
104
141
132
134
136
136
171
130
105
102
96
95
97
93
94
87
96
124
122
142
176
118
125
168
185
150
139
128
101
111
136
151
146
147
155
160
168
155
135
119
102
92
103
85
111
97
79
98
97
99
104
106
109
114
115
115
116
118
119
118
114
110
109
108
107
104
104
103
103
103
104
102
99
95
92
91
92
93
88
93
112
124
117
84
88
98
105
106
108
112
118
119
118
116
117
116
113
104
107
106
96
92
94
95
82
88
95
100
104
109
109
106
103
91
84
77
71
65
61
64
73
72
77
87
100
113
120
121
124
121
122
136
130
63
47
49
45
35
66
103
99
103
107
109
107
102
99
97
114
122
119
116
121
127
130
120
113
117
118
119
115
106
128
144
153
140
117
113
109
98
186
242
205
173
153
113
111
132
141
132
132
144
143
126
128
128
125
124
119
110
101
97
89
85
80
79
84
92
101
107
106
98
103
99
90
68
67
116
114
98
111
123
131
124
118
114
103
84
67
61
63
86
85
68
65
60
57
72
130
99
99
90
68
83
102
97
98
144
130
113
144
139
141
151
154
139
130
118
97
92
126
163
146
117
134
98
67
69
78
75
96
117
93
110
124
134
142
146
145
147
167
88
133
149
102
100
161
145
140
130
120
121
117
107
113
129
173
148
109
116
154
54
67
72
97
116
138
110
121
95
94
108
131
138
126
140
103
110
91
96
119
103
108
129
118
123
144
116
140
180
116
128
164
175
150
132
119
105
107
120
138
147
151
134
135
159
161
140
118
87
53
38
71
65
75
93
109
88
83
97
101
100
110
114
114
114
116
117
117
112
108
109
110
110
108
106
102
100
105
106
104
101
96
94
93
89
94
87
98
125
125
99
81
79
81
93
111
113
113
120
120
118
116
117
111
104
112
90
84
102
113
100
81
89
92
94
95
98
104
107
106
126
107
98
95
97
100
102
95
97
103
108
105
103
99
93
100
113
128
136
82
31
46
37
28
50
87
97
101
85
87
89
90
89
89
89
91
110
115
115
115
121
129
135
130
125
118
120
138
156
161
141
133
121
118
133
127
117
106
97
145
233
238
194
157
151
148
146
147
144
135
132
124
122
119
118
119
118
109
99
111
101
96
86
82
84
88
89
91
93
101
102
100
97
97
77
63
103
111
71
90
99
103
89
61
54
72
77
80
80
105
88
83
101
86
93
94
112
65
63
58
71
105
126
115
115
168
120
134
145
166
161
154
133
102
106
105
112
103
113
109
77
65
104
99
87
99
89
60
80
122
112
95
74
94
144
164
146
132
134
155
156
166
159
133
114
143
153
150
129
113
91
81
116
144
133
119
105
150
103
106
110
116
115
98
128
128
108
55
87
148
136
81
73
124
135
145
98
102
134
106
115
93
93
106
100
120
169
163
97
107
156
178
145
145
146
140
133
121
119
129
136
124
124
143
147
134
102
58
53
84
75
162
188
144
121
101
90
101
104
98
98
99
98
96
97
100
103
106
109
109
108
107
105
102
100
99
104
107
107
102
97
93
91
85
84
84
97
113
106
80
70
71
74
83
101
113
121
126
134
140
140
135
117
108
111
110
100
77
53
38
29
71
78
88
98
111
126
135
138
110
96
91
92
95
99
102
99
94
109
133
137
141
138
118
92
63
45
37
40
36
33
46
91
117
103
103
106
95
91
84
79
78
83
92
99
104
109
117
125
126
124
122
125
119
132
147
154
133
101
95
103
109
107
108
117
125
123
128
118
135
213
239
171
172
165
160
157
151
142
134
130
133
132
129
128
125
121
115
121
107
106
104
98
90
87
86
81
79
87
86
87
91
87
98
73
68
100
87
69
65
59
52
51
61
78
99
121
123
104
91
84
79
92
97
114
129
95
105
85
63
50
61
71
146
154
74
62
73
78
93
111
115
131
146
149
140
148
135
116
101
75
86
93
99
102
102
105
110
105
102
135
148
146
135
100
78
91
94
146
146
120
118
126
119
114
130
122
138
140
102
66
82
78
115
133
142
107
132
90
84
100
127
132
183
169
149
123
98
74
93
132
139
145
118
119
114
104
111
126
127
113
97
117
114
106
86
124
131
86
134
175
120
155
165
150
150
131
111
113
115
106
133
134
113
91
82
65
77
122
119
156
146
141
118
100
89
95
99
92
90
93
91
89
90
93
98
103
109
108
107
105
103
101
100
99
102
106
107
101
96
91
89
85
81
85
96
107
98
74
66
72
78
83
88
102
115
126
137
146
146
138
114
105
102
111
109
101
111
123
99
20
22
25
30
46
68
87
96
97
93
94
99
105
109
111
114
106
114
112
98
85
69
34
36
44
46
33
38
46
68
103
115
106
106
106
108
101
96
89
84
86
96
110
120
114
107
109
113
115
113
112
134
134
146
151
154
136
109
114
113
106
95
91
104
117
115
120
135
90
147
250
171
160
166
164
155
149
150
140
130
135
137
135
132
128
123
118
126
112
111
112
106
98
91
88
80
76
83
81
84
90
99
78
72
58
85
84
87
88
70
67
82
91
90
110
100
113
87
89
82
64
87
91
106
111
74
93
79
52
27
35
51
167
156
57
30
51
45
67
95
106
119
127
122
126
124
96
78
84
69
117
128
148
151
144
144
134
114
141
163
161
153
150
126
118
142
129
139
131
123
128
143
158
105
136
136
145
146
110
76
77
87
93
154
159
104
145
92
103
131
157
146
171
167
143
88
75
117
156
139
112
136
139
130
99
75
104
139
110
112
88
112
118
84
46
147
116
90
149
171
123
145
110
132
136
118
100
102
98
83
75
52
80
98
74
96
131
112
115
136
151
130
100
108
97
82
86
81
83
88
88
87
83
83
88
106
115
112
109
107
107
107
107
107
107
105
104
103
101
97
94
80
76
92
111
106
85
72
74
73
76
80
84
89
95
100
110
125
136
137
114
104
97
104
109
103
89
75
68
75
86
98
104
95
72
47
29
34
24
23
20
18
19
23
31
30
29
28
28
27
27
27
31
31
33
47
122
147
124
118
113
112
108
106
120
127
115
105
97
90
90
92
88
92
92
94
95
97
99
102
125
117
104
108
115
122
128
103
101
96
93
86
87
89
108
105
97
100
84
141
185
173
166
166
160
144
141
138
130
131
133
134
143
150
145
134
129
119
116
116
115
112
106
96
93
89
85
82
82
83
92
84
89
82
70
111
111
104
96
97
95
84
74
74
93
119
89
62
63
60
57
52
115
80
78
91
92
75
75
83
78
178
104
102
101
111
109
86
61
69
128
142
151
173
168
161
165
161
133
107
123
105
94
82
60
54
66
67
90
127
138
118
117
140
158
164
116
84
99
143
144
104
78
121
139
131
90
102
112
148
116
102
152
86
134
120
148
163
145
167
159
158
158
154
151
123
113
138
143
127
125
127
73
50
102
126
114
120
97
103
112
129
94
90
133
141
113
155
168
120
128
109
87
84
46
26
48
57
78
85
89
78
78
105
97
101
75
105
107
124
147
84
100
110
106
87
84
85
94
92
87
83
82
88
108
119
119
118
116
112
109
108
107
105
103
102
102
101
98
96
82
86
101
109
100
84
80
81
80
82
86
90
96
103
111
113
119
127
132
117
107
113
109
105
103
100
90
75
46
49
55
63
73
84
92
96
123
105
94
81
70
66
67
57
52
50
58
63
64
63
85
97
108
106
98
105
114
122
117
106
95
93
103
122
126
117
114
116
115
118
117
109
125
127
118
114
116
109
98
95
103
116
114
104
86
73
73
75
78
83
91
91
91
100
124
111
90
98
93
227
202
164
153
157
147
144
137
111
115
127
134
129
124
132
148
128
124
124
123
123
121
118
101
95
92
87
80
78
80
80
86
81
78
81
81
110
99
104
99
86
74
66
73
70
98
83
68
71
74
77
69
132
88
85
92
82
64
72
67
66
149
82
118
104
115
161
135
136
170
123
92
104
97
95
86
85
90
85
92
92
81
73
74
75
77
77
90
79
85
95
98
108
124
128
135
68
77
110
130
105
60
86
114
158
158
174
132
89
75
117
161
79
103
135
156
160
132
135
154
112
53
92
193
187
187
180
162
153
151
142
120
111
118
145
115
44
27
50
75
135
152
117
110
145
124
123
182
169
108
133
107
84
50
33
24
29
79
59
122
138
124
136
116
119
82
111
120
122
122
116
71
86
105
110
96
93
91
99
97
91
86
83
89
107
120
121
121
118
113
109
108
109
108
105
104
103
102
100
98
86
93
104
104
92
81
82
82
81
84
87
94
101
108
115
115
117
122
127
118
110
104
106
109
109
103
92
77
55
56
60
65
73
83
90
95
89
105
112
114
112
116
122
109
106
105
113
115
112
108
106
109
107
98
88
99
111
112
112
107
98
92
94
108
105
102
107
115
119
124
124
116
140
142
135
132
135
130
120
93
103
108
104
102
99
97
86
85
88
91
97
97
98
98
111
117
79
97
99
185
226
178
151
156
150
139
130
115
116
125
131
126
117
123
139
123
125
126
126
122
118
115
103
96
93
90
83
81
86
81
85
77
76
84
67
91
118
123
110
86
71
64
69
90
110
89
70
67
69
72
59
119
75
68
81
82
64
62
68
68
132
77
111
109
147
175
166
163
159
84
86
124
123
111
121
133
124
121
92
102
90
74
69
77
85
91
105
75
67
88
109
126
128
114
125
73
98
121
120
101
83
127
175
190
113
146
116
113
133
178
118
70
89
131
167
149
162
164
138
74
100
181
181
156
155
170
170
169
170
163
103
102
99
88
72
39
32
66
81
147
155
107
94
126
139
132
169
132
55
89
84
53
58
29
55
112
64
82
113
106
122
121
95
126
71
94
98
111
113
105
75
72
89
110
120
111
93
98
96
94
90
89
95
111
116
118
117
112
107
104
107
110
109
105
101
100
98
96
94
88
100
104
93
79
78
90
86
85
88
93
104
113
122
119
118
117
116
116
118
118
119
113
100
85
76
77
88
99
101
102
101
97
93
88
86
94
102
114
123
126
125
126
116
118
120
121
117
113
112
107
102
102
108
113
120
125
124
107
100
107
107
94
94
90
90
95
99
97
101
108
108
97
96
97
100
105
110
115
129
141
139
129
124
115
106
103
102
104
109
111
107
101
98
97
87
95
87
85
86
179
202
179
146
147
140
121
129
124
124
129
136
134
127
122
127
125
121
117
114
113
111
110
98
91
90
82
84
93
91
86
78
75
73
67
72
72
91
85
73
88
102
122
123
130
106
90
91
101
105
83
147
107
117
134
116
74
60
64
114
148
138
142
137
172
149
132
121
129
120
118
132
121
98
98
117
131
147
91
94
108
111
111
115
107
93
107
72
68
98
128
146
144
126
110
124
132
131
127
114
97
124
135
130
123
165
136
160
191
86
72
90
138
137
111
167
147
85
106
166
174
173
164
184
191
172
150
134
126
122
72
99
92
68
69
55
68
64
104
160
153
128
133
159
142
155
165
128
136
124
85
50
59
115
113
50
67
61
65
80
98
113
136
110
108
120
110
115
118
127
85
87
94
105
123
110
86
98
105
102
94
100
112
93
107
104
105
107
106
102
104
110
104
99
94
91
89
89
89
82
92
95
89
83
88
103
97
93
95
101
120
131
140
142
137
129
122
116
110
109
110
111
111
106
100
95
95
107
101
99
103
103
100
99
103
86
79
85
96
117
124
107
105
109
109
107
112
109
103
110
112
111
112
122
157
166
142
116
98
108
122
113
109
98
97
97
99
99
103
112
122
105
100
105
106
103
106
114
120
113
105
100
102
99
91
88
95
101
104
103
98
94
107
104
107
117
120
113
105
102
173
216
152
141
128
148
122
124
126
127
130
133
134
133
137
125
117
113
115
114
112
113
105
103
99
89
89
97
99
87
77
75
78
68
64
70
64
103
108
104
117
111
111
112
111
94
72
73
74
59
108
97
112
113
102
68
81
69
130
124
145
146
122
151
145
147
106
117
121
115
108
81
114
111
110
137
135
99
109
113
108
100
94
91
97
141
113
95
110
129
134
144
169
182
100
82
113
126
119
128
109
117
123
118
115
110
144
88
101
103
92
78
72
129
80
100
157
102
138
124
112
105
143
151
172
183
145
152
126
60
57
42
74
95
60
64
56
103
145
127
109
106
113
102
166
144
84
51
56
60
59
82
100
78
56
79
101
110
126
161
171
96
71
115
83
148
114
92
91
93
93
98
105
123
114
95
101
105
100
90
96
113
110
115
108
103
102
99
96
98
103
99
94
90
87
86
86
87
85
97
103
96
90
93
106
104
99
100
106
121
127
132
132
131
129
124
119
116
118
111
107
101
98
99
101
102
99
95
93
97
97
96
99
103
99
97
103
108
121
126
117
101
102
103
110
109
104
100
102
101
100
102
106
125
135
144
130
121
130
139
126
103
105
107
105
100
95
98
107
115
108
109
118
120
116
115
120
112
105
96
94
98
99
94
101
103
102
99
98
95
92
90
93
103
116
122
123
139
119
141
203
178
148
134
126
127
129
129
129
130
134
133
131
129
131
123
115
113
114
113
113
110
109
105
96
98
105
96
89
82
78
76
67
67
64
66
80
108
112
102
114
112
118
123
108
83
80
79
65
99
87
102
105
100
72
87
100
144
124
142
144
135
144
155
147
115
118
122
112
103
85
121
124
116
126
114
82
98
104
101
88
85
100
107
135
106
81
96
150
189
187
171
121
112
124
133
152
148
109
67
126
126
93
66
111
117
89
112
92
101
80
136
73
82
158
165
88
185
174
133
150
163
126
127
94
90
69
56
42
61
66
73
72
44
45
52
67
81
78
73
72
78
79
96
82
84
87
92
97
105
113
111
92
87
107
100
136
166
140
105
98
92
84
73
143
108
96
100
123
115
111
110
122
122
111
114
119
120
124
136
151
133
128
116
102
91
88
90
95
99
100
95
90
86
85
86
87
83
94
108
99
99
107
113
109
101
98
102
111
112
112
111
113
117
121
124
123
121
119
109
96
89
90
94
96
89
87
85
85
85
88
93
99
106
119
126
118
110
113
122
106
94
92
105
96
89
90
100
98
100
104
98
91
100
102
107
110
107
112
124
111
89
102
105
92
84
94
110
119
111
117
127
129
122
114
112
100
97
93
99
101
98
101
103
103
101
100
104
99
93
100
99
100
97
84
73
85
98
95
162
219
159
161
138
133
134
132
127
126
127
124
122
115
136
132
122
114
115
117
107
105
106
109
105
103
105
92
87
83
82
79
72
70
62
67
51
76
99
90
107
118
120
127
120
101
96
88
70
93
84
110
122
124
87
82
109
155
115
137
132
124
110
116
91
100
87
136
130
128
106
120
115
104
102
99
104
83
93
103
73
35
64
107
89
83
97
132
150
146
137
131
130
105
80
95
124
108
65
84
102
128
148
165
140
125
117
81
32
91
138
83
107
132
171
179
129
167
186
188
165
175
115
118
91
149
186
182
132
92
59
67
114
123
92
86
100
140
125
101
92
94
46
74
92
93
93
119
102
71
77
66
70
100
112
103
141
124
108
82
97
104
85
125
130
123
117
89
129
118
111
108
112
118
117
114
105
96
93
104
117
107
112
111
106
97
92
94
98
99
100
97
93
88
84
81
79
72
81
101
88
96
110
109
105
99
97
100
111
119
126
131
127
124
127
132
128
122
110
106
100
95
92
92
94
98
100
100
93
90
92
96
99
99
116
115
110
103
105
119
116
107
100
98
91
90
94
82
88
93
94
88
87
91
94
102
110
107
109
135
129
96
105
111
107
100
103
118
133
129
124
119
114
108
103
100
99
105
112
123
112
96
100
98
94
85
78
98
113
121
116
110
113
123
128
125
121
105
107
108
205
207
150
149
134
131
126
119
116
118
119
119
124
125
124
124
125
120
115
115
109
104
113
114
108
101
96
87
82
85
89
76
68
71
57
74
56
71
124
137
120
105
101
106
110
119
113
92
95
90
122
133
135
85
56
83
134
113
133
149
138
158
152
126
106
85
122
135
149
141
128
122
126
123
121
103
87
77
92
103
89
93
115
136
151
155
120
79
77
89
85
76
44
63
78
93
86
50
73
101
92
116
76
113
132
169
143
129
80
79
151
163
145
189
192
177
170
172
175
128
159
181
131
63
49
122
127
138
118
128
140
131
133
130
126
107
83
68
77
93
94
119
128
129
137
123
99
41
50
71
79
76
81
92
123
97
129
122
91
95
87
79
125
97
111
115
106
104
94
90
88
93
102
103
117
110
98
87
87
98
112
113
119
120
112
102
99
98
97
96
96
94
91
86
82
80
73
84
109
93
98
109
102
98
96
99
103
111
120
129
135
134
131
129
127
126
126
115
107
98
95
98
101
102
102
106
106
100
95
98
101
102
102
116
108
107
104
106
116
113
112
109
100
97
98
101
90
101
105
95
87
90
89
91
94
105
107
112
142
143
115
116
121
123
117
111
122
140
123
114
105
97
91
86
83
96
103
112
125
111
93
99
95
93
86
77
86
100
110
109
104
104
109
111
105
100
88
87
84
148
216
170
150
134
130
123
115
113
118
121
121
122
127
125
126
126
121
113
115
114
110
109
110
108
105
99
94
90
90
89
73
66
71
60
69
65
60
97
146
123
106
100
103
104
110
104
84
96
87
111
114
123
90
70
79
106
116
106
137
123
134
106
108
88
98
128
142
151
126
113
115
119
105
97
87
82
78
83
90
86
84
93
119
115
110
90
81
108
129
115
103
67
88
93
77
70
79
112
93
80
122
113
168
160
151
157
78
102
150
159
158
171
237
203
202
228
187
151
150
191
169
173
94
70
138
105
86
108
134
113
93
131
149
127
104
66
53
72
90
80
88
97
98
122
138
124
87
59
66
70
67
69
95
129
139
150
94
73
103
89
75
98
93
106
102
103
82
79
74
72
84
84
79
92
98
90
78
81
88
102
105
107
116
128
131
122
108
99
98
106
106
100
106
104
86
81
102
118
98
101
106
93
89
93
98
109
116
116
127
126
121
119
119
118
119
125
123
116
104
96
100
105
104
104
103
104
111
120
126
124
121
121
120
113
108
109
103
96
113
103
101
101
94
102
118
126
127
108
98
114
110
117
125
114
104
105
115
126
141
142
131
134
137
130
130
133
130
115
104
101
102
99
93
90
94
93
102
116
112
102
100
92
87
85
87
81
75
72
80
80
76
71
69
69
64
62
61
64
65
126
230
144
146
130
122
125
128
129
129
124
134
118
114
115
110
111
121
103
111
104
115
108
98
108
97
91
87
87
83
70
70
70
70
68
68
63
57
148
133
126
121
128
135
133
121
107
105
109
119
124
123
114
99
54
58
108
83
82
28
49
47
29
74
98
35
56
42
43
46
44
37
34
35
29
37
35
40
41
35
46
78
85
110
136
139
114
88
78
82
57
67
99
105
66
74
137
129
92
153
104
112
72
64
103
127
153
100
126
128
141
141
146
156
174
198
214
209
183
155
172
131
129
164
144
166
93
92
72
31
46
96
105
92
99
89
75
35
77
34
90
94
101
105
138
154
152
147
123
93
75
75
84
99
121
128
122
121
131
128
111
107
110
122
122
124
112
110
106
104
105
101
93
94
101
97
92
96
98
85
78
79
83
87
91
99
112
125
119
119
107
93
95
102
100
104
121
121
96
93
96
89
89
95
101
111
113
107
111
110
105
103
108
118
125
126
122
121
115
105
101
101
107
104
111
117
119
117
112
113
114
119
130
123
113
106
105
105
123
113
99
88
88
97
105
106
107
96
95
112
109
114
133
134
131
119
105
107
150
159
139
141
149
125
92
93
113
108
89
82
86
89
89
89
86
98
94
113
135
123
93
106
100
95
95
89
84
82
75
72
66
64
70
77
76
78
67
74
71
52
160
208
141
138
136
134
124
119
119
117
108
110
112
116
111
108
113
110
102
103
101
102
105
102
101
95
90
91
91
79
75
69
66
60
59
64
62
82
124
121
109
98
93
94
99
108
123
102
92
85
82
79
72
66
74
151
126
54
59
55
52
93
90
53
49
44
37
40
40
44
41
38
43
47
40
37
44
54
57
64
82
67
83
119
132
112
100
78
39
66
69
55
63
78
91
150
89
95
74
131
92
111
104
113
160
133
117
102
180
166
155
143
133
148
167
154
141
148
167
133
126
138
128
138
154
142
147
145
124
124
128
105
88
84
117
84
91
39
21
67
98
106
98
113
99
88
77
78
97
123
125
110
137
130
95
89
115
134
140
124
98
50
84
94
74
104
106
109
111
112
104
93
104
109
107
104
111
112
94
89
86
85
85
84
85
91
98
117
120
114
105
102
101
96
110
127
116
93
88
91
90
94
100
104
112
119
114
117
109
103
99
106
118
127
124
122
120
115
109
104
103
102
105
112
120
126
123
119
118
120
127
125
117
107
102
101
102
122
114
105
99
102
103
104
100
99
92
95
107
109
115
112
123
135
137
131
127
149
165
152
151
151
127
99
104
128
111
103
102
100
96
93
89
97
106
110
126
146
139
113
116
108
101
98
90
86
84
78
78
75
74
78
87
94
99
89
90
96
58
126
216
144
139
134
128
118
115
115
113
103
106
108
113
110
107
110
111
97
104
99
101
107
98
98
97
95
94
92
81
79
78
74
67
61
62
62
56
133
126
100
74
60
49
48
58
118
103
103
105
99
82
64
77
78
155
131
72
91
84
92
122
112
80
68
66
78
56
55
60
58
46
46
50
53
50
57
68
73
79
92
96
83
88
90
89
111
115
80
80
106
91
89
97
93
143
119
115
116
127
94
139
117
128
139
113
129
121
165
135
168
150
147
156
153
143
145
134
129
103
113
137
148
164
170
154
150
136
116
123
136
130
97
80
107
86
89
28
30
102
122
118
105
95
77
80
103
120
119
99
98
124
146
113
98
124
153
144
123
97
62
48
96
106
63
73
80
90
100
110
100
89
104
107
103
100
111
118
106
105
103
106
113
114
104
90
81
86
82
84
95
101
101
106
129
139
110
97
91
91
97
104
107
105
109
123
121
124
118
114
110
111
120
124
116
113
108
107
111
116
116
117
115
116
120
127
132
136
137
136
122
97
99
111
126
141
148
161
135
109
106
109
113
121
118
109
105
110
113
112
115
110
108
115
128
139
140
130
118
131
140
144
144
128
116
115
107
105
103
96
89
87
88
90
88
114
117
127
136
127
117
107
97
92
85
83
84
79
86
90
89
89
93
102
103
100
77
84
82
74
179
151
139
125
112
107
110
112
105
102
102
98
102
104
104
107
104
98
102
104
103
104
99
95
102
104
99
90
83
81
81
79
78
68
60
66
69
57
59
40
29
41
38
34
46
57
67
70
57
56
76
97
97
77
116
78
91
88
78
102
118
127
106
111
128
114
95
109
145
152
115
83
55
57
62
76
87
79
69
67
71
86
98
94
82
86
93
91
106
93
86
81
97
154
215
129
130
145
125
136
126
135
160
114
129
127
144
144
164
162
154
169
166
136
132
131
147
155
165
146
144
147
130
144
137
115
104
111
117
100
76
66
67
91
110
79
53
65
85
81
84
93
90
106
128
94
90
82
96
140
170
113
97
114
122
93
64
83
116
123
91
96
77
52
95
95
96
101
113
110
105
104
111
112
109
116
119
110
99
99
102
102
98
94
96
101
108
98
88
85
77
76
90
108
115
91
95
97
100
112
124
128
124
124
126
115
109
121
121
118
113
117
120
112
111
106
102
98
93
92
105
123
126
128
123
116
117
126
136
142
123
120
124
136
154
171
159
120
96
112
106
109
124
120
113
117
125
118
97
92
103
107
114
123
129
134
159
146
126
115
135
149
121
99
110
106
103
106
111
104
91
81
78
84
87
93
130
139
104
99
90
81
79
82
85
88
88
87
86
90
98
101
79
71
86
96
83
90
81
176
150
149
142
123
103
101
102
99
88
97
95
100
103
102
101
99
103
91
99
98
95
110
111
108
100
97
100
87
72
86
74
71
69
60
62
60
62
71
55
42
52
44
38
54
98
121
140
131
118
119
127
111
96
124
81
103
134
116
105
79
65
80
63
46
54
47
64
108
123
91
81
112
89
85
87
82
70
74
101
95
106
104
116
146
139
113
111
140
124
113
108
119
187
179
126
112
145
132
128
163
174
161
165
168
126
166
168
173
172
176
161
172
195
154
104
117
117
83
83
56
77
156
121
75
70
74
103
116
101
86
63
97
109
107
123
80
90
101
116
146
140
114
119
83
74
70
77
103
125
128
96
92
123
99
47
57
100
94
59
112
126
70
20
128
126
124
128
136
123
107
106
105
105
110
111
112
117
109
97
88
88
93
96
97
97
107
119
117
107
104
97
83
72
84
93
92
98
105
109
108
142
152
141
133
116
114
109
109
111
114
118
120
119
108
106
101
96
95
97
103
100
120
131
124
114
111
120
134
135
130
129
128
142
171
190
163
131
103
103
117
120
112
120
134
134
123
124
128
113
109
110
114
121
127
131
147
148
143
134
131
133
116
100
105
113
105
106
103
97
92
86
93
97
96
113
126
121
111
101
96
90
86
83
82
81
79
84
89
92
94
93
79
77
89
93
87
93
93
124
174
138
130
118
101
100
91
85
84
90
85
89
95
98
102
99
104
107
88
85
98
114
106
104
100
98
104
94
78
78
82
76
66
63
62
79
69
52
91
100
82
68
47
63
116
134
140
138
133
130
133
133
97
113
73
102
101
112
100
83
91
117
99
75
62
44
40
40
53
69
74
90
78
92
70
79
65
51
98
131
120
130
134
115
116
140
152
147
147
103
107
136
167
194
107
109
159
135
170
170
153
148
154
153
142
147
169
148
190
168
172
197
185
144
128
150
140
127
100
85
100
91
47
66
76
77
83
90
96
104
101
125
159
175
129
85
109
83
126
133
120
112
97
51
68
59
74
117
122
102
72
29
64
61
71
95
81
70
73
105
124
114
80
115
123
132
139
151
154
152
153
134
113
105
112
124
131
132
132
132
130
123
117
119
124
132
136
130
119
118
117
108
101
99
82
79
87
97
103
113
132
132
122
125
121
122
110
110
110
110
111
125
131
127
118
106
99
97
100
103
109
114
113
117
131
140
141
141
142
149
147
137
131
136
144
153
130
122
128
110
108
123
141
136
128
125
131
149
152
125
118
114
111
112
116
136
135
138
136
141
150
138
121
123
107
107
107
93
79
75
72
78
85
97
104
102
101
109
89
87
85
85
89
89
89
89
88
85
81
81
84
80
79
85
88
89
105
106
123
190
150
135
116
92
90
83
84
83
95
94
98
97
94
96
96
96
100
107
105
101
101
101
102
102
101
102
91
82
82
77
69
69
78
78
67
73
62
75
114
105
63
60
68
135
149
146
142
137
126
116
108
105
126
69
99
103
112
114
98
85
83
89
95
101
109
104
101
78
67
104
65
64
76
79
118
123
96
85
63
56
42
39
52
55
39
30
24
56
62
64
92
197
134
100
136
140
159
165
163
150
132
154
156
149
161
153
148
131
153
174
179
177
178
175
179
141
113
105
97
91
90
88
92
95
89
96
104
100
90
118
98
104
110
142
128
120
126
150
144
131
97
100
87
77
102
124
134
121
116
36
49
56
58
70
54
40
77
115
101
106
80
50
90
90
92
99
122
124
121
118
122
125
126
128
131
123
130
124
121
123
123
115
106
99
111
125
124
110
106
111
113
117
128
136
119
98
85
81
88
98
108
119
134
131
130
121
124
125
120
112
106
108
112
108
105
106
111
114
114
112
116
115
118
132
141
140
140
142
174
177
170
152
144
152
127
131
124
118
115
106
106
106
114
124
124
109
105
121
127
123
123
123
123
124
137
139
135
126
134
158
155
133
123
115
112
109
95
86
87
89
97
97
116
129
124
120
126
85
82
79
80
93
100
103
111
108
101
92
87
86
78
102
101
99
100
117
107
103
212
150
116
95
81
82
76
72
81
83
83
90
92
96
104
98
98
100
96
91
89
91
90
94
99
105
105
102
101
93
96
93
90
92
86
75
87
72
50
87
101
79
97
106
133
154
164
146
110
101
119
120
112
127
97
158
168
163
172
161
139
125
109
90
82
75
97
94
80
86
83
52
88
86
93
114
118
108
101
83
79
79
99
112
83
69
94
110
57
42
43
59
120
72
52
67
65
108
141
188
168
164
158
140
138
157
153
161
182
184
182
178
174
174
170
142
153
147
131
124
120
125
142
127
94
85
115
130
105
72
99
138
126
157
164
146
79
66
118
135
118
71
85
81
61
91
83
102
112
50
69
67
57
63
88
89
96
119
109
120
112
79
59
102
100
97
100
122
124
120
111
117
117
108
105
110
118
113
105
104
113
120
115
99
87
89
107
114
108
107
113
115
115
122
145
141
124
103
91
79
83
95
114
132
129
126
114
118
121
121
116
109
108
111
110
110
114
117
117
114
114
121
121
122
131
135
133
133
136
147
156
168
158
142
141
154
158
136
113
116
113
114
111
110
109
112
113
107
109
109
108
110
114
114
118
128
130
126
115
121
146
150
133
126
111
106
106
100
97
98
100
101
101
111
127
126
120
120
87
84
81
82
89
92
94
99
97
92
88
91
100
107
106
100
89
82
96
89
91
202
143
116
105
96
98
88
81
87
95
99
103
97
94
100
94
95
96
88
84
87
94
82
84
90
99
103
100
101
96
101
100
96
94
87
81
80
81
70
77
76
58
65
75
91
113
133
124
101
105
135
146
127
128
98
154
155
142
132
130
122
123
101
66
55
64
81
71
68
82
71
71
77
78
91
97
86
73
67
75
81
74
61
58
64
78
94
117
86
43
76
112
135
103
67
79
51
119
155
167
171
157
143
143
161
178
167
164
171
167
163
163
161
154
142
122
159
145
106
117
147
149
138
139
110
73
82
109
96
60
92
83
137
145
187
149
76
53
125
145
108
66
84
69
74
75
65
68
54
25
70
44
68
75
71
70
98
127
104
107
98
71
58
143
143
136
124
113
116
118
116
119
111
100
108
136
175
139
117
92
83
86
94
100
104
91
93
105
114
119
115
104
124
138
143
117
103
118
143
144
126
118
122
121
119
114
106
107
110
114
118
118
116
113
114
117
119
120
122
126
123
129
127
128
135
134
127
123
128
149
149
151
138
133
151
161
161
149
135
110
102
123
126
121
105
84
80
111
121
110
108
111
115
117
121
138
135
141
130
122
129
132
133
140
127
115
118
117
111
99
88
89
98
90
98
102
98
92
63
67
76
84
89
85
80
84
92
101
107
108
104
83
79
82
84
84
97
90
94
217
158
125
101
76
74
74
82
91
88
91
96
93
96
108
104
99
95
86
80
78
79
84
82
86
98
105
99
99
95
94
89
87
90
89
85
86
85
88
66
92
131
108
103
131
124
105
102
114
126
131
119
109
128
84
120
112
103
108
117
112
103
55
57
96
107
94
94
102
101
94
83
70
68
81
72
49
45
54
90
71
74
76
58
51
57
53
107
63
45
120
114
137
169
126
111
125
119
155
152
158
180
147
160
183
167
158
148
178
192
188
163
147
142
129
121
116
97
107
138
130
126
160
136
136
136
108
65
62
93
74
74
105
139
182
178
144
112
99
113
168
103
96
119
114
118
91
92
88
33
30
26
54
61
66
66
67
91
102
124
117
104
100
116
125
123
117
112
107
104
105
111
115
119
121
122
120
119
110
104
107
113
118
121
123
116
122
132
132
122
117
119
114
116
107
104
109
120
129
129
135
142
148
123
104
95
83
90
102
111
114
108
110
114
112
112
114
119
127
133
144
141
141
141
138
129
119
115
113
148
151
146
134
135
148
155
136
125
116
117
115
104
100
107
111
110
107
100
95
106
105
106
112
126
136
126
112
109
113
117
118
126
137
140
144
136
126
114
105
101
103
85
83
83
113
133
119
96
82
89
91
85
95
100
98
78
83
80
70
70
74
77
87
85
80
75
96
106
116
190
144
124
110
91
78
62
63
89
98
97
100
104
104
100
102
105
93
89
89
78
75
84
78
79
88
98
99
100
94
95
99
99
97
101
93
76
79
80
77
85
107
121
119
91
96
105
102
108
118
113
92
99
126
137
109
97
102
128
121
110
114
95
83
97
74
78
89
100
101
93
78
80
86
86
84
88
94
98
98
105
94
90
96
81
69
85
111
100
142
97
130
162
159
99
94
78
111
128
140
161
154
177
182
171
165
151
154
139
123
116
118
115
110
100
100
72
91
119
97
94
122
120
146
153
140
100
60
63
100
91
70
85
118
168
186
160
105
109
135
136
129
123
127
92
81
80
37
4
20
46
43
54
58
55
57
61
73
88
110
101
123
112
102
113
116
118
113
102
97
95
99
105
108
107
104
100
103
98
96
102
110
113
112
113
114
123
133
134
128
127
131
139
132
106
102
108
113
116
115
121
132
146
132
108
92
74
85
101
113
115
123
130
121
120
118
120
124
129
131
139
137
135
134
127
120
118
120
119
140
151
156
145
132
133
137
121
114
127
135
131
118
102
104
108
115
122
104
87
82
89
104
123
139
144
113
120
111
108
109
112
123
135
138
137
136
125
115
111
106
100
77
80
89
117
133
119
102
98
94
87
86
108
111
106
112
113
105
91
85
88
90
111
81
66
73
89
77
83
203
155
129
114
99
95
84
85
86
106
107
102
100
103
103
103
101
89
90
88
75
68
85
80
79
86
94
98
98
101
99
101
101
100
102
91
82
77
85
83
73
91
115
114
85
91
100
97
102
108
102
108
112
113
154
134
78
85
77
63
68
86
63
59
71
71
74
89
103
103
99
87
85
100
103
109
121
115
110
138
142
129
119
118
99
90
111
121
166
104
123
84
151
158
103
112
108
119
131
142
158
163
174
168
154
147
125
122
120
101
94
101
102
97
95
77
63
103
101
63
94
138
137
153
167
147
87
43
49
74
58
55
84
132
174
171
140
101
115
141
132
146
152
157
110
94
102
81
42
25
32
51
60
62
54
46
48
81
120
93
110
118
135
67
71
77
87
96
85
82
82
85
92
97
99
97
107
101
93
87
85
86
85
86
88
98
111
126
132
130
123
118
105
100
95
114
139
149
148
127
131
140
146
132
122
118
113
115
114
105
86
64
68
91
98
111
125
134
135
131
128
118
109
110
115
117
119
117
123
131
134
142
143
138
138
120
119
122
159
165
146
125
127
126
120
112
108
116
118
105
96
93
103
118
132
133
132
124
127
132
133
133
125
115
133
132
117
113
117
109
94
90
93
95
109
115
104
93
94
90
84
80
82
80
76
76
72
72
69
69
84
93
80
66
72
83
96
94
105
192
146
125
107
91
85
70
66
87
93
96
97
99
103
105
107
102
100
91
89
92
93
89
87
86
87
91
97
96
95
90
93
98
97
97
90
91
74
88
91
65
74
107
114
100
113
124
130
140
143
138
135
115
115
141
152
102
85
122
131
134
106
59
71
71
65
40
33
34
31
37
36
37
60
76
84
84
63
55
78
87
103
128
147
146
154
177
141
40
101
83
104
133
123
142
152
152
144
148
144
138
127
124
124
123
122
115
105
83
94
101
94
84
80
66
59
110
117
101
134
153
139
158
172
175
139
67
27
26
27
32
41
94
143
161
132
98
104
123
142
130
123
91
74
128
110
116
130
95
46
62
53
56
61
70
66
53
62
89
63
116
98
128
49
49
52
67
91
87
86
76
86
101
115
114
104
105
95
87
82
79
81
87
95
103
128
141
138
126
113
103
99
112
117
112
118
131
132
123
122
130
140
146
130
126
130
111
107
103
103
99
82
79
63
65
72
83
96
108
118
122
117
115
118
121
118
115
114
110
125
120
120
119
121
126
127
129
115
119
126
119
115
120
127
134
134
132
119
112
106
107
114
126
134
133
127
126
120
121
124
126
131
134
130
131
124
119
125
126
111
91
90
93
102
115
116
102
94
88
89
91
90
86
91
95
87
82
90
94
93
112
113
86
94
126
153
176
178
160
163
122
102
81
67
73
72
78
83
83
89
93
91
93
95
94
83
86
78
76
81
81
83
87
88
86
88
92
89
93
91
98
104
98
94
100
92
79
79
85
77
72
88
111
127
128
116
110
107
100
93
98
104
115
120
137
145
109
110
122
108
91
122
125
126
105
90
100
111
102
106
99
64
53
56
59
57
77
95
68
56
60
85
101
99
97
106
145
136
125
122
168
113
152
154
144
141
135
127
120
111
122
112
111
109
100
110
109
123
108
110
131
149
157
159
170
154
101
133
152
127
158
166
163
151
105
62
41
43
57
51
35
109
128
131
124
105
89
84
88
97
89
50
64
124
146
164
185
159
112
65
32
53
70
71
59
51
71
104
102
96
108
95
52
49
50
65
84
78
78
87
90
101
111
108
99
107
102
95
90
89
91
96
104
113
127
134
122
105
99
108
118
115
131
138
136
134
121
102
106
115
129
138
128
119
118
113
105
99
99
98
80
74
82
75
68
66
72
84
97
113
108
103
103
103
107
114
122
122
138
131
124
119
114
114
121
127
115
117
124
120
120
133
129
124
124
130
128
119
107
107
112
122
127
126
128
102
104
119
133
135
135
132
123
124
116
119
126
126
106
87
90
95
107
121
119
102
91
87
85
82
78
71
74
81
77
75
91
108
115
140
148
146
149
170
178
178
170
164
142
112
105
93
77
75
65
65
62
70
80
82
81
83
88
93
78
80
78
75
75
68
66
72
76
78
83
92
88
91
90
99
103
95
89
98
93
81
75
81
81
72
80
107
137
140
127
124
125
121
115
105
122
100
105
118
141
110
83
96
94
111
155
124
111
92
84
106
123
115
125
136
91
75
78
68
48
75
111
85
60
52
76
102
116
132
148
148
158
142
170
141
171
133
153
140
136
132
120
116
111
108
100
105
111
110
148
156
144
118
128
175
196
177
154
161
159
96
155
188
127
153
173
167
153
106
73
59
65
90
95
57
108
117
131
154
153
118
71
113
151
99
84
62
83
145
176
183
158
135
70
60
67
67
64
61
60
68
84
131
94
123
82
76
76
70
71
79
72
78
83
80
80
91
108
109
109
116
101
87
83
85
85
87
91
115
124
130
133
125
112
103
104
128
146
140
139
139
136
133
128
117
112
126
122
118
108
101
85
89
119
146
155
143
142
134
118
104
98
95
71
76
76
88
107
107
96
97
97
101
104
105
108
110
112
123
121
116
106
110
118
125
99
95
104
120
127
118
107
116
114
111
112
120
131
128
116
110
109
120
132
133
140
156
137
133
126
119
119
114
96
107
100
115
100
96
94
79
45
55
63
67
90
101
108
127
133
150
167
165
155
132
101
98
107
127
130
139
172
143
118
95
83
76
76
76
73
73
79
83
87
90
90
91
97
94
90
74
64
62
64
63
66
71
74
77
82
84
80
82
84
86
86
86
84
83
93
84
80
88
78
76
98
70
59
52
54
61
63
62
70
68
68
84
94
96
99
127
99
74
78
128
127
113
131
119
112
113
123
144
155
147
126
113
109
106
120
143
149
147
122
111
131
143
142
149
135
137
146
148
142
131
118
127
129
132
113
102
111
134
139
154
148
158
195
153
132
144
170
170
205
217
190
186
167
172
141
133
165
172
161
157
128
136
113
86
87
88
129
143
111
145
116
158
136
140
113
94
145
74
128
48
94
113
161
168
165
168
162
125
93
88
114
100
64
54
66
106
99
97
99
97
82
89
95
97
87
80
79
85
91
95
103
118
123
96
104
94
85
84
90
95
97
97
105
113
119
123
128
132
135
151
155
161
152
139
130
126
126
125
124
119
115
115
111
112
118
122
125
122
96
90
104
102
101
109
133
150
139
127
112
96
88
94
99
105
110
112
101
99
101
110
118
122
122
117
119
124
113
114
125
134
124
120
121
119
122
120
109
130
148
144
125
112
123
141
125
116
119
121
127
133
140
134
129
124
116
116
117
115
105
111
121
102
99
109
115
131
138
148
156
148
132
119
125
116
112
108
102
105
111
94
104
109
123
137
173
195
127
103
83
74
68
68
69
66
64
65
66
65
64
61
60
62
63
68
79
77
73
73
80
79
78
76
75
79
82
66
72
79
82
82
83
91
76
87
87
86
87
76
74
92
108
93
83
83
88
86
80
97
111
145
162
163
154
150
138
159
132
90
105
109
120
111
120
113
112
122
121
144
188
178
178
170
145
131
135
128
124
109
101
109
114
118
124
123
131
127
118
111
114
122
136
135
140
177
184
180
176
168
149
152
152
125
164
205
175
176
211
208
196
177
136
179
155
144
155
158
124
111
147
120
134
156
149
110
72
87
129
90
107
134
188
190
151
98
92
125
102
75
116
111
123
151
168
176
167
162
115
98
103
70
39
58
72
81
118
143
120
96
99
86
93
103
109
103
102
100
101
114
119
119
123
119
105
115
116
113
108
104
105
107
110
119
122
122
122
129
141
152
150
154
152
137
123
120
122
133
136
144
144
129
126
115
107
104
105
105
104
111
109
117
103
90
91
103
116
128
157
135
113
103
101
101
101
97
94
86
89
98
111
123
129
143
125
111
115
115
124
137
133
131
138
140
132
123
121
104
121
142
149
138
128
135
149
134
132
133
128
127
133
133
151
142
132
123
120
124
132
111
122
137
128
131
148
161
183
165
141
123
114
117
120
121
114
110
108
103
102
92
87
73
92
100
138
202
190
127
103
82
72
63
60
57
53
56
53
53
55
57
61
65
83
75
72
78
72
58
50
54
55
56
57
60
71
75
89
92
93
89
84
83
91
82
90
92
91
88
74
70
81
111
109
107
107
104
91
79
93
101
125
145
149
142
138
139
169
152
113
108
111
126
118
122
97
81
108
137
173
142
151
159
148
128
131
135
122
117
110
110
118
120
116
116
118
106
107
115
121
136
159
151
189
198
179
175
175
189
182
172
143
105
112
213
194
209
185
203
192
167
147
133
179
147
114
134
115
90
139
159
117
111
126
144
141
122
124
121
124
97
148
187
186
127
130
74
140
83
65
99
116
138
162
177
182
166
149
82
83
120
94
42
33
57
102
147
150
115
83
78
70
76
91
101
108
114
104
100
104
110
125
136
130
123
106
121
131
128
119
116
119
121
138
148
148
139
136
143
152
151
165
150
138
144
159
167
164
156
160
157
144
151
141
126
114
117
131
140
145
130
143
155
163
154
130
111
108
102
103
121
141
143
147
151
146
130
116
112
112
112
109
106
108
108
109
114
113
107
101
119
124
133
128
109
119
133
128
127
129
135
131
119
99
109
110
129
138
125
124
135
134
165
159
149
138
127
132
151
168
165
145
140
134
130
131
118
117
120
124
115
107
105
94
96
96
87
73
76
86
100
98
105
138
182
188
147
105
83
69
61
51
49
48
43
39
46
52
57
60
63
64
45
40
38
47
48
48
49
50
53
57
62
67
82
86
87
86
85
84
84
86
89
90
88
88
92
89
79
75
77
130
142
148
149
141
130
120
101
103
107
122
132
137
143
140
131
133
144
123
96
77
77
86
113
142
160
165
136
157
149
141
123
108
117
123
121
112
109
106
97
92
95
97
110
146
176
179
142
129
159
170
145
158
183
193
195
167
185
161
135
147
166
164
223
190
193
189
215
190
149
171
144
150
155
169
166
174
183
135
142
113
102
119
129
118
100
131
124
117
140
168
91
66
47
97
74
103
101
144
103
117
149
146
149
156
140
89
114
89
73
80
62
74
127
125
121
123
107
63
57
66
76
84
95
86
74
81
117
145
155
159
153
123
119
111
139
155
125
105
97
75
93
115
122
111
104
114
129
151
148
135
138
145
148
145
145
140
145
147
159
162
139
122
128
133
132
128
124
121
129
137
144
147
150
140
126
108
104
103
106
113
127
134
129
126
117
123
126
125
120
120
110
99
85
80
92
103
110
122
109
132
149
129
130
115
106
99
116
127
110
97
117
122
110
112
123
137
150
139
104
128
140
147
130
118
129
137
134
118
121
121
114
117
127
112
116
140
128
90
80
81
107
146
149
121
111
104
100
129
117
142
176
167
128
100
80
78
75
69
62
53
47
42
67
62
54
45
39
40
42
43
46
50
48
50
54
59
68
65
65
68
66
63
68
69
73
80
87
91
93
90
74
77
73
79
97
108
97
81
123
127
116
121
121
107
97
110
138
165
173
173
161
148
146
152
134
114
152
141
112
106
144
179
174
156
152
139
125
118
121
109
112
124
116
108
92
90
89
112
121
148
161
173
144
170
78
118
140
211
88
167
191
176
171
162
125
138
194
136
177
181
192
180
196
193
184
214
201
146
153
152
110
162
171
79
83
111
158
162
163
166
155
133
115
103
96
112
98
139
188
134
86
73
92
116
122
112
114
109
147
154
162
155
144
81
93
89
105
129
112
67
103
166
147
135
137
88
32
88
90
88
84
99
109
114
104
128
148
158
163
156
125
125
119
132
137
114
95
78
54
91
109
120
120
119
125
134
144
148
143
140
139
141
140
136
139
143
143
151
147
130
126
136
145
143
136
129
128
135
147
154
149
141
126
118
129
127
124
115
106
110
113
109
115
129
134
129
114
104
102
98
96
96
109
115
117
119
119
106
115
124
114
126
124
114
108
122
134
123
107
88
121
115
119
132
149
173
179
161
149
148
145
129
113
107
100
104
108
124
126
121
116
113
133
122
130
116
106
101
100
121
126
112
91
94
108
116
115
116
153
176
144
109
95
80
72
63
58
57
59
61
63
60
52
49
48
45
44
43
43
43
46
40
40
44
47
63
61
63
69
71
68
71
72
78
88
98
105
109
109
107
102
83
70
80
97
105
108
124
135
138
139
127
112
107
128
141
143
154
166
166
165
137
133
152
162
143
153
151
179
165
153
144
132
128
121
128
118
128
123
121
123
102
98
99
106
128
151
184
176
144
159
185
111
108
101
198
123
139
212
164
170
128
155
120
158
193
140
162
159
185
181
196
177
173
199
177
146
166
140
166
181
150
115
147
136
154
151
149
146
118
106
122
131
115
82
95
130
149
154
89
79
69
62
61
95
122
135
143
160
120
159
70
12
86
125
110
98
81
68
111
137
89
134
118
74
54
130
125
113
100
108
130
148
130
127
122
122
122
110
101
131
145
131
109
110
108
93
86
89
100
117
129
128
121
116
124
133
149
139
127
126
132
125
147
151
150
144
128
133
143
153
160
157
151
147
147
149
152
144
132
124
122
129
142
148
140
117
102
97
98
98
111
137
139
128
120
124
132
120
118
116
117
113
107
100
107
110
102
103
114
97
106
139
132
124
129
147
165
145
142
141
137
133
128
123
114
103
102
103
99
99
113
125
127
149
160
124
115
130
145
145
139
130
134
125
135
122
119
109
95
107
123
117
116
110
133
156
167
140
99
80
75
57
63
71
75
74
64
54
47
55
53
54
57
59
55
53
47
48
49
46
48
52
55
71
67
64
67
71
70
67
61
67
75
84
89
91
89
77
85
82
78
79
79
78
78
104
118
140
157
162
160
156
149
150
139
139
130
113
104
53
83
109
96
170
209
171
143
124
119
133
134
128
131
126
110
121
116
104
114
115
124
132
109
162
162
191
121
89
134
97
101
160
119
132
220
168
170
165
175
169
204
171
188
190
190
182
163
160
160
176
173
175
191
191
169
159
160
158
138
167
174
165
143
164
130
154
158
168
179
164
133
165
139
146
155
144
110
137
107
86
75
73
83
117
146
135
132
110
2
9
67
25
95
99
109
83
68
108
140
135
105
102
86
43
141
121
96
79
70
72
75
81
91
94
93
88
73
57
80
106
104
83
80
85
92
106
96
111
123
125
118
110
108
109
104
126
130
123
124
132
128
139
146
153
140
133
141
151
149
144
141
145
151
148
151
144
130
128
136
137
126
110
134
141
136
140
131
105
90
104
121
129
137
141
142
139
121
125
131
137
137
137
138
142
147
143
146
152
122
128
135
148
154
160
171
171
141
121
125
122
120
120
115
107
107
112
108
116
143
151
135
116
130
141
137
125
119
115
115
127
135
146
130
115
104
115
123
101
96
108
113
118
124
172
164
122
83
74
66
55
68
65
60
50
45
45
55
64
56
60
56
49
46
48
51
52
48
45
44
45
47
49
61
60
57
57
63
74
73
81
83
86
89
91
92
91
99
96
85
81
85
86
81
81
93
106
112
121
130
105
62
37
37
43
49
50
56
72
57
79
161
227
148
128
122
104
106
104
97
106
129
127
133
129
122
104
104
112
116
160
176
166
197
159
106
54
100
142
120
141
80
180
188
144
153
178
198
180
205
166
189
180
177
182
167
154
121
152
183
147
194
213
169
170
183
166
183
113
134
134
98
117
179
147
116
139
172
142
97
96
122
62
44
27
19
99
144
95
74
62
66
96
116
127
124
81
83
56
52
64
100
78
55
98
99
77
111
136
144
120
96
59
35
121
104
86
78
78
82
87
70
78
76
74
82
90
89
92
111
118
104
88
84
90
97
102
110
117
115
107
102
101
98
93
120
125
117
118
130
136
133
142
152
133
134
139
147
147
144
140
138
143
142
152
147
132
122
123
121
116
104
131
137
132
143
142
125
116
99
114
123
133
142
141
136
133
137
139
126
121
122
127
140
142
148
152
147
116
116
121
130
129
128
131
120
96
122
136
141
139
137
127
121
130
132
122
124
139
133
110
95
131
124
122
112
101
107
122
129
134
139
120
112
99
109
102
101
99
105
115
116
129
169
133
105
86
64
59
65
59
52
44
41
43
52
61
68
57
55
52
50
50
50
52
53
51
48
48
49
51
53
63
68
70
70
74
83
81
79
81
85
91
96
102
108
89
92
91
95
99
92
82
80
79
97
116
128
138
128
98
49
48
41
39
34
48
74
122
194
204
148
126
126
121
102
109
114
109
111
124
113
119
123
110
98
114
96
52
62
54
63
97
114
123
126
135
118
128
65
90
185
147
147
175
207
174
178
180
207
196
183
182
167
151
147
117
172
157
157
198
193
170
186
178
162
156
104
168
151
84
117
180
122
140
156
127
88
83
100
127
70
43
35
28
76
82
58
53
52
53
70
89
98
72
106
94
62
54
17
113
92
42
99
118
90
120
137
140
112
92
74
55
93
84
75
70
68
69
72
66
54
51
59
70
81
75
75
85
112
122
109
111
116
102
128
141
147
143
130
116
106
101
97
95
110
115
112
114
131
149
152
135
129
139
140
127
137
140
135
136
149
150
144
139
143
147
129
104
86
79
80
91
113
136
143
133
119
124
109
100
110
131
134
125
135
143
146
135
134
136
139
139
137
144
136
104
94
98
101
100
94
84
81
87
99
119
113
105
105
113
119
113
105
114
116
122
128
122
121
128
103
80
95
87
70
62
58
89
110
98
77
110
110
108
123
117
106
93
81
91
167
148
117
91
81
78
74
62
40
38
42
48
52
58
59
52
64
58
59
58
61
62
58
55
61
66
75
78
75
70
79
84
89
88
85
89
94
87
88
88
88
89
91
99
101
102
98
96
94
90
97
112
97
92
97
113
124
121
111
75
62
48
97
175
191
144
123
99
102
119
116
124
120
115
114
118
119
118
116
117
110
78
94
123
121
86
80
142
103
117
119
84
112
132
119
98
108
172
151
125
192
199
183
191
167
144
176
203
180
157
156
117
116
125
113
173
161
158
161
185
199
172
139
149
180
158
193
177
143
144
161
147
130
97
97
151
145
94
49
64
64
67
55
70
94
68
65
86
68
89
116
147
146
132
129
101
84
74
92
56
66
85
96
100
110
119
117
100
116
125
122
75
85
89
83
83
79
70
60
64
71
72
70
86
133
121
86
84
107
103
92
103
120
126
124
118
111
108
110
112
89
94
114
131
128
112
100
98
106
106
101
127
133
126
129
131
127
119
118
124
121
108
91
76
69
60
62
70
79
84
91
98
105
116
130
140
126
135
110
88
84
89
90
105
109
110
97
99
102
104
119
134
128
113
113
106
113
105
107
107
105
109
119
135
109
95
94
104
99
81
79
94
113
110
120
131
120
95
78
64
93
54
49
39
25
25
46
66
58
34
42
53
67
71
60
82
108
119
156
147
101
87
79
69
57
48
42
38
41
49
49
45
50
59
58
56
55
60
61
66
71
68
77
80
79
72
74
77
78
83
83
84
85
86
88
88
89
93
97
100
100
99
99
91
96
96
99
100
93
86
88
100
99
96
97
103
108
111
104
172
186
150
135
133
133
117
96
98
111
112
116
110
117
119
122
127
125
114
83
82
93
100
79
73
78
64
70
70
57
75
64
84
56
76
74
160
141
74
148
204
179
184
172
150
146
144
172
189
172
150
158
118
92
143
139
161
166
156
171
207
198
166
166
164
92
159
165
133
170
170
124
84
85
168
131
98
75
85
70
51
36
67
139
238
131
83
71
73
65
72
104
120
114
116
105
103
105
117
117
109
120
118
99
98
101
83
103
114
114
101
73
90
97
91
97
93
81
77
68
65
66
71
87
107
90
75
84
102
92
84
110
146
163
139
119
109
109
113
117
121
118
111
123
125
114
106
108
113
111
105
114
109
96
72
75
76
75
75
76
72
74
69
73
79
82
91
109
123
120
114
105
98
100
110
120
124
122
100
83
82
90
94
104
110
113
108
108
110
112
133
153
135
108
109
110
126
135
120
106
104
119
127
103
97
94
98
101
91
76
77
91
127
134
135
130
111
90
80
68
82
61
61
61
50
42
56
68
62
43
39
45
56
48
47
69
102
134
168
120
88
77
73
67
55
47
46
44
45
49
49
47
51
58
58
55
57
61
61
67
74
73
76
82
83
72
74
77
79
87
85
83
85
88
88
86
85
88
91
94
95
95
98
91
95
94
97
101
94
86
82
98
100
97
95
101
115
126
121
173
148
139
144
133
123
117
104
106
113
108
111
111
117
121
124
124
118
109
87
108
86
77
74
83
80
55
53
63
85
37
64
54
57
47
122
152
76
95
144
205
179
183
172
148
145
138
165
189
176
169
177
121
111
132
140
177
180
163
171
209
205
173
159
157
138
193
168
150
173
159
108
65
70
142
84
101
140
97
76
35
46
91
135
155
134
95
74
70
43
53
82
108
87
65
50
50
54
60
91
69
68
70
64
75
78
56
88
113
113
90
84
92
95
92
103
101
91
74
71
76
83
83
84
72
67
78
86
87
89
96
104
110
91
87
95
110
117
112
103
102
105
112
131
137
122
109
114
112
103
93
103
112
114
101
98
94
87
84
103
112
114
125
143
147
137
131
134
127
125
126
132
137
133
118
106
74
69
73
87
103
111
110
83
93
104
115
115
112
108
107
130
132
114
102
88
100
93
94
95
101
109
112
92
81
101
109
98
89
93
93
88
116
114
113
115
109
94
85
80
63
106
68
57
80
86
95
94
99
104
100
96
95
105
115
117
140
172
154
104
78
65
59
57
55
55
56
56
50
51
51
52
59
60
52
61
64
66
64
69
76
76
70
80
86
85
84
82
79
86
83
81
82
84
83
81
88
88
89
88
89
92
100
91
95
91
89
96
98
92
90
87
93
94
96
103
123
143
106
111
97
100
106
111
118
113
116
118
117
109
116
127
118
125
123
106
93
94
111
79
69
65
51
51
52
41
85
34
68
58
60
80
136
132
58
125
110
104
182
152
175
190
183
142
144
155
174
181
194
172
197
179
144
152
156
185
164
155
170
187
182
156
180
152
177
150
102
150
134
133
114
89
93
111
114
80
84
135
89
95
93
86
102
85
129
98
48
51
99
88
57
69
48
37
73
102
108
106
79
88
86
74
60
46
39
42
45
44
43
37
106
99
96
100
99
89
81
87
83
93
113
127
130
96
92
91
89
95
102
100
102
114
115
110
111
119
132
144
151
131
130
122
144
159
153
142
124
123
123
128
153
155
150
121
128
136
139
133
138
150
137
134
136
136
135
139
141
106
103
102
107
110
101
82
65
116
122
116
109
104
105
110
90
98
106
114
118
116
112
105
102
114
117
100
89
86
96
96
100
111
125
128
90
90
88
92
100
96
84
80
84
97
89
88
102
116
119
120
123
126
122
103
86
85
93
102
97
105
118
102
99
100
102
89
118
161
148
104
101
66
62
65
68
62
57
58
54
57
62
59
53
54
59
57
60
66
69
69
73
81
83
89
92
95
97
99
96
90
97
97
97
96
95
94
94
89
90
92
91
88
84
81
78
87
88
88
92
96
94
93
84
82
82
82
83
94
109
109
79
84
80
84
96
97
99
102
99
103
129
136
142
121
125
117
99
88
88
87
86
72
73
66
63
54
36
50
71
44
55
159
150
77
100
125
93
118
130
196
183
175
205
171
113
150
158
167
177
159
202
184
166
166
158
192
173
132
150
192
194
192
184
131
183
172
167
175
177
160
218
128
110
114
79
137
77
173
161
73
62
34
92
83
134
133
128
84
81
85
109
122
104
60
25
53
63
62
130
125
132
87
57
74
60
34
48
71
85
79
57
103
106
111
106
95
95
88
93
84
84
101
119
128
121
116
111
108
109
101
92
91
99
111
114
130
148
160
152
131
113
115
137
147
146
140
136
121
132
145
158
178
174
166
155
160
160
155
157
169
166
145
150
174
172
129
110
114
103
138
150
121
88
79
104
135
147
121
113
104
108
114
107
104
99
97
118
112
104
107
123
115
124
134
127
123
115
91
103
116
113
100
99
110
105
88
88
92
85
86
94
95
100
110
113
112
114
128
143
141
127
119
102
71
64
86
102
109
117
114
98
99
98
90
104
138
164
128
112
111
83
77
76
74
64
56
51
51
47
47
53
59
62
63
66
77
71
82
77
77
84
85
90
93
93
95
99
101
100
99
101
107
106
99
94
86
91
90
88
86
85
87
96
88
90
89
82
79
81
85
87
85
85
84
84
90
105
120
118
82
75
86
80
76
81
81
80
88
104
109
109
114
114
106
98
96
99
98
84
89
75
60
48
45
54
56
61
58
46
138
155
49
92
81
156
101
116
142
187
146
197
191
177
164
148
164
165
141
134
192
187
179
149
173
185
159
172
159
188
189
177
182
156
203
174
159
168
182
223
101
129
98
86
104
84
86
172
127
104
21
86
104
103
128
132
150
131
116
104
122
135
101
66
74
68
68
92
147
134
117
84
27
50
51
52
74
89
125
88
43
131
136
140
132
105
105
102
87
80
80
93
109
117
111
115
109
105
105
103
99
103
111
113
139
157
135
104
101
112
131
134
130
133
142
148
146
134
132
130
135
173
185
190
200
184
176
177
171
167
182
167
148
106
85
99
116
132
148
128
99
89
99
112
126
142
141
130
126
121
119
114
101
113
114
112
111
109
99
89
88
96
107
113
119
134
120
113
102
98
97
90
89
106
114
119
114
95
89
107
115
100
97
93
97
104
108
109
110
111
123
101
95
90
74
58
82
76
73
67
63
67
64
88
148
127
132
120
108
104
96
83
75
70
62
58
61
57
56
58
60
64
67
71
71
73
70
80
75
75
81
80
85
89
92
100
108
113
114
112
109
111
110
107
104
94
96
95
93
89
87
87
93
83
86
85
80
77
77
77
75
77
80
87
91
92
95
99
117
108
71
53
52
72
93
70
89
112
124
126
121
114
98
114
123
121
119
122
114
122
163
161
129
120
117
106
100
72
147
39
56
61
70
84
90
113
123
142
176
152
189
172
172
162
155
171
168
150
141
142
178
178
163
182
143
201
184
172
179
187
183
162
163
180
219
147
186
160
49
101
101
97
126
129
89
87
156
90
135
57
62
93
120
124
136
144
116
99
108
122
118
93
58
54
76
95
88
115
96
70
77
60
68
59
76
99
84
87
60
53
134
126
122
120
115
111
103
91
89
95
106
113
111
98
100
98
99
104
110
115
121
125
125
119
112
112
127
136
128
123
130
125
125
130
133
130
125
126
129
137
160
171
179
173
184
190
187
184
135
98
97
97
122
144
143
145
142
96
97
102
115
122
117
125
145
157
165
149
135
131
128
129
126
124
124
111
117
117
103
98
86
79
86
93
105
123
111
101
104
113
112
106
98
94
101
104
102
100
98
94
93
99
102
105
104
104
107
114
111
108
93
94
87
79
80
95
91
89
83
80
102
119
169
153
105
137
120
110
106
90
78
72
71
66
66
67
61
64
64
61
64
69
71
70
70
73
81
76
77
81
75
89
92
93
98
107
112
113
114
110
110
112
112
113
103
99
98
95
90
85
82
83
82
84
84
81
79
78
75
70
66
67
76
86
92
95
98
90
98
117
133
151
154
145
127
129
122
113
118
116
109
122
119
103
83
76
81
71
66
78
59
46
62
68
84
151
129
129
130
132
110
119
69
82
115
111
144
167
169
176
138
132
122
164
159
144
150
157
123
160
174
188
144
165
184
142
172
192
177
189
181
195
203
207
182
166
114
124
146
145
157
141
117
134
158
180
165
122
137
135
173
111
129
130
102
82
106
113
137
155
147
132
99
88
98
105
123
110
94
107
61
46
58
84
79
84
78
63
56
126
112
108
114
127
126
119
114
111
114
118
119
111
95
97
99
104
111
120
126
129
130
107
112
137
151
149
140
132
125
123
116
116
121
128
131
126
132
141
148
150
157
164
170
182
196
194
163
101
100
112
127
154
149
133
151
146
64
110
138
133
127
133
132
128
153
161
140
128
125
127
131
125
120
125
115
116
115
100
96
89
82
84
90
103
127
121
115
114
112
106
104
100
103
107
103
99
99
95
95
103
104
99
101
102
95
87
82
88
84
98
105
96
97
113
114
109
108
100
91
115
136
156
137
105
134
120
131
88
87
74
71
73
71
70
71
65
70
71
66
66
71
73
71
69
75
82
77
79
82
73
88
90
90
93
100
106
107
111
109
113
115
115
118
109
104
102
99
93
87
83
82
82
84
83
80
80
80
76
71
66
64
68
75
80
86
90
84
97
106
111
124
138
145
156
154
147
135
113
100
90
114
104
90
82
83
88
78
71
70
59
66
86
89
99
81
97
118
127
148
149
126
109
108
111
97
136
152
168
164
122
133
129
176
174
160
170
168
132
163
191
210
149
186
168
151
181
201
171
175
186
180
194
208
164
157
116
105
155
117
129
126
111
121
146
176
130
102
147
128
111
76
110
90
97
96
104
100
123
124
107
86
73
101
110
102
118
88
89
105
62
56
71
88
73
75
63
62
65
125
110
106
111
120
127
129
127
120
116
113
110
108
108
116
118
119
120
119
113
101
92
125
147
155
159
167
161
141
132
122
140
147
137
132
138
130
130
127
123
123
147
173
182
164
125
92
99
179
190
165
144
124
129
139
112
79
126
122
120
122
116
106
114
138
144
144
128
132
137
130
129
128
112
120
123
123
132
129
122
157
155
123
114
115
106
105
117
123
111
99
105
99
102
132
130
105
103
111
102
90
94
107
110
102
95
97
104
115
126
121
112
105
110
123
137
125
119
116
114
132
148
156
114
94
130
136
124
108
87
74
69
72
74
79
84
78
86
87
77
75
81
84
80
65
75
80
75
77
79
68
76
78
77
80
88
94
95
106
110
120
125
123
127
121
114
112
108
101
93
87
84
80
79
77
75
76
78
76
71
68
68
72
77
82
90
97
102
107
118
117
115
112
114
116
115
115
109
87
100
119
113
99
92
97
95
82
74
77
71
66
59
58
67
69
69
65
52
80
101
84
117
127
152
134
114
151
136
152
130
113
183
184
154
168
152
142
161
111
133
181
193
187
176
174
189
139
151
183
178
176
177
179
183
176
161
102
122
154
88
91
119
150
160
148
152
133
132
82
104
112
152
91
104
77
69
109
151
169
162
142
106
79
90
91
120
120
71
63
73
47
65
66
71
77
70
81
97
73
133
123
111
107
117
124
128
135
130
123
119
120
127
134
148
125
110
115
129
138
145
153
139
146
152
157
155
150
144
135
125
123
128
131
139
148
148
147
137
141
174
150
131
88
93
111
138
158
164
166
188
166
158
135
89
87
123
125
134
136
129
130
138
139
134
136
137
122
115
120
128
130
118
114
118
120
116
112
104
128
144
127
102
111
118
113
85
107
129
136
128
116
96
105
107
112
118
118
117
123
132
136
133
129
131
128
125
129
124
125
128
122
118
123
132
142
134
132
133
126
129
140
153
114
103
130
135
108
80
80
77
77
79
80
80
82
87
87
81
78
84
77
73
83
71
71
80
75
74
76
72
70
74
77
80
83
87
88
102
101
108
118
121
129
131
133
128
118
108
103
99
85
80
81
79
77
81
86
85
80
75
78
86
90
87
90
96
99
102
113
113
112
108
107
91
94
94
92
103
104
101
80
92
92
91
103
107
107
105
103
94
84
78
76
70
68
60
64
76
89
118
134
120
90
114
168
145
171
166
143
138
136
154
170
149
144
151
171
133
129
164
198
170
161
150
189
183
193
169
159
169
187
184
166
170
150
156
150
161
85
104
150
162
159
157
151
131
121
97
107
99
69
1
95
161
152
133
91
108
154
164
121
71
100
83
83
36
74
81
70
75
66
58
75
67
73
77
70
50
137
122
109
107
109
116
124
134
131
128
129
135
139
136
119
102
108
146
175
169
152
147
145
150
151
151
149
147
146
140
130
125
131
134
137
144
155
147
137
146
153
118
92
96
116
139
149
142
140
152
160
149
139
104
72
98
136
139
147
143
128
123
130
131
124
127
133
126
124
127
127
124
121
126
136
119
112
113
113
130
127
106
94
110
114
109
101
101
112
126
122
104
107
119
123
129
134
133
131
135
141
134
122
115
120
122
121
123
127
127
127
126
123
125
129
130
125
129
143
134
136
150
149
114
105
127
133
110
69
80
78
79
82
84
84
85
86
86
82
79
81
75
73
78
65
72
77
71
67
69
68
70
73
75
78
79
82
84
99
96
100
110
119
127
128
130
128
119
104
91
86
88
87
85
81
80
84
88
86
80
80
83
91
95
94
97
102
105
106
112
114
114
107
102
95
98
98
97
95
92
89
88
91
86
84
93
99
101
105
107
107
104
101
96
88
82
71
76
91
110
137
145
130
94
134
155
150
159
170
166
148
134
152
158
151
155
147
168
131
115
145
180
166
154
127
180
199
165
160
150
170
177
187
178
176
146
152
154
172
87
122
149
148
156
146
150
123
121
124
115
87
77
48
72
77
113
118
18
96
150
140
144
111
65
43
52
85
45
66
73
75
60
53
65
58
71
71
68
67
127
115
107
107
111
120
131
139
142
147
145
133
114
101
113
120
128
126
123
127
139
148
146
144
138
130
130
136
142
141
138
138
142
149
157
167
170
149
128
115
112
124
135
117
112
105
107
122
144
139
125
107
94
117
145
134
115
123
108
103
114
121
122
130
143
162
140
126
117
114
112
109
106
110
116
113
123
136
139
135
125
119
126
132
112
110
103
107
111
115
121
130
141
135
135
130
119
109
105
107
110
120
117
110
109
110
115
126
134
130
126
125
121
116
111
127
122
126
134
119
124
144
114
105
107
118
118
107
83
71
69
72
77
78
79
81
80
79
78
74
71
70
68
65
56
74
74
72
69
70
75
69
69
73
79
77
78
83
85
92
93
96
103
107
121
130
131
126
114
102
96
91
96
90
82
79
79
80
83
84
79
84
91
97
101
105
109
107
112
114
109
105
102
103
97
97
100
100
100
103
107
89
83
81
86
91
96
96
100
102
105
107
104
98
93
93
97
102
105
104
109
115
116
134
122
98
195
122
163
111
100
148
172
153
153
157
166
173
173
162
182
191
187
176
168
186
191
155
210
181
153
197
186
157
155
137
150
149
162
111
148
181
146
139
162
117
105
127
81
55
59
86
68
68
67
94
130
93
110
177
170
96
109
141
163
114
29
23
50
87
98
91
88
79
71
62
52
51
62
129
132
130
119
130
136
136
130
123
121
122
117
114
136
135
139
146
153
151
143
140
140
134
126
121
117
120
130
136
143
139
145
157
161
155
145
108
102
108
121
154
155
135
121
124
119
113
120
141
132
99
93
121
137
119
114
125
126
129
139
159
179
186
173
154
111
124
130
129
123
117
113
117
112
111
123
141
146
135
136
126
124
126
120
108
108
98
106
106
100
103
118
133
132
134
130
118
108
107
110
111
115
121
118
112
109
114
128
128
133
127
122
119
113
107
92
99
106
105
122
146
166
117
115
110
104
99
99
77
62
62
63
67
69
67
68
68
66
70
66
58
59
62
50
52
64
58
62
63
62
68
67
64
66
71
63
62
67
68
77
72
73
86
89
106
110
116
119
113
105
98
89
96
97
100
99
91
82
83
90
91
94
96
99
103
106
106
116
120
120
116
113
110
111
115
116
117
116
103
103
107
97
88
92
99
96
99
107
99
99
104
110
112
111
116
122
123
125
136
144
130
103
84
67
105
157
154
184
172
134
147
141
145
163
146
142
156
164
175
152
169
181
193
170
153
186
136
144
178
181
165
156
166
166
168
115
95
106
155
95
129
176
145
146
183
164
134
116
164
153
99
94
96
62
129
146
113
94
69
140
132
142
152
147
136
183
154
115
66
50
43
57
80
74
81
55
65
81
83
135
143
140
127
137
140
135
109
105
108
120
128
132
156
143
140
151
162
152
129
123
132
122
118
115
117
125
135
143
150
147
161
170
159
127
95
89
100
124
141
162
157
128
112
126
134
137
148
147
125
84
124
137
129
135
143
137
125
141
149
156
182
210
198
165
137
131
125
117
108
105
106
104
100
100
115
132
133
118
134
121
115
112
106
106
105
103
109
116
119
119
122
133
127
132
130
118
109
107
108
107
117
122
119
114
111
115
126
134
139
130
121
116
109
101
101
112
114
104
115
136
151
120
116
107
98
95
100
74
61
60
62
66
67
65
63
60
58
61
59
48
51
53
41
49
58
50
55
56
54
60
65
61
63
65
55
52
57
57
63
55
58
77
79
95
101
112
120
117
109
106
108
103
108
114
112
98
82
78
83
92
96
99
103
109
113
113
131
129
122
120
116
108
104
102
106
113
119
112
113
118
115
102
102
103
92
92
101
109
108
111
115
113
110
113
132
136
136
142
145
130
108
97
86
129
94
109
128
117
135
139
128
147
194
201
187
153
145
150
117
139
163
191
162
162
205
131
146
166
186
169
171
167
163
181
144
119
112
147
57
138
198
161
152
168
182
136
157
91
73
91
120
92
88
120
128
84
113
118
156
180
160
127
150
167
226
186
126
71
48
31
36
58
65
92
58
72
88
80
138
149
158
154
125
113
103
121
118
126
132
129
132
150
149
143
135
128
123
130
147
164
134
141
154
151
140
138
139
153
166
153
122
102
110
128
139
132
135
139
134
137
139
152
147
144
154
167
130
112
122
137
144
139
141
149
145
124
123
140
151
144
147
150
137
137
115
114
113
109
107
110
105
103
104
121
123
118
113
110
106
103
117
130
113
123
114
115
117
119
117
116
127
137
138
127
117
118
122
124
127
133
129
126
122
119
115
110
116
118
120
120
121
122
122
105
107
95
111
120
159
153
122
113
90
74
74
78
90
68
66
63
60
58
56
51
41
46
49
47
45
49
51
51
49
47
47
47
49
50
51
55
51
50
47
43
50
62
61
57
59
62
61
61
54
61
75
85
94
102
103
109
112
113
113
111
111
106
94
83
84
90
94
96
100
109
116
127
128
123
122
122
120
117
121
120
115
108
99
103
108
90
89
91
89
81
82
88
100
104
109
113
114
113
112
115
121
124
126
132
136
127
113
111
108
102
90
80
95
124
121
129
133
124
123
122
119
149
143
133
127
130
141
140
156
160
130
159
189
186
201
191
178
170
167
146
117
131
179
92
153
198
189
179
168
161
137
114
76
106
128
135
140
139
110
110
97
27
88
150
143
140
155
155
173
209
173
103
92
70
54
58
76
73
55
103
112
108
111
135
132
125
122
138
146
149
128
126
130
139
138
137
135
134
132
130
129
124
118
115
117
127
130
129
116
117
145
169
199
160
118
129
137
139
141
136
144
148
151
155
159
163
146
157
162
163
162
122
109
122
124
120
114
128
152
166
141
126
120
120
114
120
139
150
136
125
125
119
108
101
101
94
88
89
101
100
106
117
122
114
118
139
151
123
119
125
125
126
122
115
115
139
144
138
131
130
136
136
136
142
133
123
121
122
123
121
120
123
131
121
115
119
120
117
131
150
135
125
131
171
138
126
114
91
71
71
77
97
75
72
67
63
58
54
49
50
49
45
40
42
43
43
40
49
49
49
49
49
50
50
55
56
51
49
63
72
71
86
78
73
70
65
77
77
70
69
63
64
78
92
115
118
122
125
124
120
113
100
87
95
120
144
157
149
130
114
122
123
121
123
127
125
123
113
115
118
119
116
115
114
113
111
115
115
109
109
110
107
111
118
122
124
126
129
121
125
126
125
128
133
135
133
127
110
96
98
108
119
129
126
129
132
135
135
134
132
128
143
148
132
114
117
122
140
132
121
129
112
97
106
73
85
79
84
104
92
74
89
91
106
102
112
122
110
111
103
119
107
97
106
123
133
151
166
134
73
95
128
140
154
142
163
170
167
166
73
11
46
76
91
82
58
53
80
64
58
74
96
132
129
126
127
141
139
132
131
130
138
143
136
131
131
119
113
109
112
113
118
125
131
136
133
123
124
148
170
175
149
125
123
144
151
149
147
147
163
166
158
149
147
153
156
160
161
159
157
121
114
130
142
152
153
159
168
169
144
134
122
116
123
137
141
133
121
124
126
118
106
103
107
98
99
106
118
117
125
138
144
129
126
139
144
121
117
125
129
133
132
126
124
143
141
150
141
125
124
128
126
124
116
110
113
119
122
127
130
134
139
122
115
114
111
105
111
131
121
108
121
175
148
131
115
89
73
76
83
93
72
70
65
62
59
56
50
52
51
47
42
41
43
42
38
48
49
49
49
48
48
48
52
55
52
54
71
80
78
87
81
78
74
68
74
73
98
96
84
72
69
68
77
59
81
109
129
131
116
88
64
70
95
120
135
142
143
143
152
143
112
107
107
105
103
128
125
122
123
123
118
114
126
123
123
123
118
120
124
123
122
123
126
132
135
135
128
125
121
120
124
129
130
129
122
105
96
106
120
125
127
125
124
124
123
121
119
119
123
126
134
141
136
118
123
145
138
139
145
128
120
129
120
123
102
90
100
94
83
93
91
117
121
124
120
100
107
91
103
93
96
119
127
119
146
152
105
69
134
121
112
137
127
143
120
81
80
59
65
42
29
55
84
77
63
71
71
64
77
89
80
100
121
129
124
121
120
121
116
115
111
100
101
124
106
110
119
127
127
123
122
125
139
139
140
146
155
141
113
122
138
144
136
134
138
138
177
187
169
143
145
140
144
164
152
145
148
142
130
153
179
166
144
123
123
137
151
147
142
135
135
137
128
113
105
109
113
124
128
124
119
120
104
122
134
122
126
137
142
148
128
127
136
129
121
119
109
114
123
132
133
131
136
150
146
133
121
120
116
110
110
106
113
119
112
104
110
123
127
118
120
119
108
100
99
118
114
107
116
113
161
137
126
116
93
79
79
81
85
72
69
65
61
59
55
51
43
48
50
47
44
47
48
48
48
49
49
49
48
46
45
49
51
54
62
69
74
77
80
78
81
80
73
74
72
57
61
63
70
83
88
88
83
79
72
61
56
57
57
56
54
77
87
82
81
91
102
109
105
111
133
162
183
192
187
184
179
171
151
146
144
144
140
142
143
140
142
141
151
150
147
147
147
148
149
140
137
133
128
125
126
131
137
134
136
129
125
123
132
147
113
111
111
108
108
115
126
133
130
131
135
136
122
117
117
120
125
127
133
131
122
116
117
125
120
97
92
108
116
103
124
119
103
104
102
109
87
63
112
126
115
102
93
90
58
55
86
142
134
102
60
47
74
75
68
92
30
45
72
105
99
79
99
113
87
83
85
72
67
97
95
107
124
122
125
126
112
127
136
131
116
112
125
110
113
119
124
127
135
140
137
149
138
129
124
122
129
145
147
136
151
163
162
152
149
151
148
141
138
152
156
155
171
206
188
132
118
148
156
160
158
138
116
127
153
155
129
126
115
103
102
112
120
123
118
123
127
122
115
127
127
141
128
125
136
142
143
136
125
118
119
125
128
123
128
110
109
106
115
126
122
139
147
142
137
129
118
110
118
131
134
106
115
142
136
129
124
121
115
120
130
118
103
102
114
96
89
83
117
163
151
123
104
92
81
71
78
92
74
71
71
68
60
52
49
45
52
55
51
47
48
52
55
57
49
50
50
47
49
54
59
53
53
68
63
56
53
53
77
87
84
81
72
85
82
72
68
72
75
79
106
99
102
105
101
93
95
112
129
131
136
142
142
129
106
87
79
84
92
100
107
105
97
79
83
84
79
81
83
80
84
80
91
115
125
118
119
104
100
90
87
89
87
87
91
101
120
132
130
127
126
121
124
144
156
137
124
145
149
131
175
179
176
177
199
166
150
178
187
170
189
180
180
170
136
115
125
152
132
97
137
134
130
124
111
108
118
123
89
100
106
85
87
78
52
12
81
151
116
99
121
98
102
84
101
102
119
95
82
45
84
90
89
77
95
92
106
85
101
75
45
62
70
76
49
58
91
101
107
110
122
128
114
123
132
141
138
129
121
122
128
128
129
117
117
125
125
126
130
133
153
143
126
124
134
148
161
137
133
148
151
144
134
131
144
147
147
142
139
147
152
153
145
129
124
128
111
123
134
130
128
126
122
114
112
125
122
118
120
129
136
134
126
139
145
154
140
116
126
136
125
127
132
120
113
114
111
121
117
118
123
125
119
122
119
111
103
106
115
118
150
143
120
107
115
132
138
134
127
184
202
199
171
139
142
151
152
156
146
135
126
126
130
134
123
118
102
110
163
158
131
108
88
77
77
87
88
83
78
74
72
69
62
59
53
50
48
51
61
68
65
60
56
59
59
57
56
61
68
62
61
62
67
66
65
67
64
72
73
71
73
76
86
88
84
78
76
82
87
78
84
83
90
100
111
119
124
127
133
129
126
121
110
96
84
89
99
103
97
94
96
98
100
99
94
91
87
72
57
67
75
85
94
101
108
119
89
91
88
85
85
79
78
86
85
77
69
78
97
105
98
100
149
171
171
171
189
184
173
153
161
189
178
202
181
154
171
183
153
139
177
190
155
143
137
125
139
160
134
163
183
176
147
111
114
150
154
110
92
89
106
90
39
24
94
107
120
108
73
81
102
116
77
77
75
90
66
50
53
44
62
62
53
65
95
96
106
122
98
75
85
86
85
61
51
65
89
112
112
120
122
114
124
132
114
117
117
118
123
131
136
129
118
120
127
127
128
139
151
182
146
117
120
137
144
144
125
130
152
151
143
133
130
138
142
142
136
134
142
146
156
142
128
128
135
114
120
123
119
115
109
107
109
115
132
127
121
120
125
129
129
126
131
154
173
155
117
115
121
127
126
126
107
105
108
107
120
114
109
109
113
117
121
117
109
103
106
112
117
141
128
124
121
123
122
118
118
122
225
209
192
174
138
144
178
175
161
132
130
133
131
123
129
118
115
97
110
164
162
130
110
90
79
79
86
90
86
78
73
71
71
67
61
57
55
53
56
65
73
70
62
60
66
63
57
55
60
66
62
65
68
71
72
76
80
77
76
73
73
74
74
78
80
83
81
76
79
88
81
83
86
93
104
112
113
111
111
121
120
120
118
112
102
96
95
101
104
101
100
103
108
89
88
85
84
81
70
60
68
81
92
98
105
112
99
88
92
92
90
87
80
79
92
101
88
74
100
135
126
91
72
154
179
179
175
191
190
196
170
192
195
164
163
128
133
120
157
194
206
205
216
175
159
154
129
125
154
152
142
139
124
125
112
112
139
124
62
55
67
93
85
43
35
63
82
87
97
79
62
65
104
61
64
65
91
86
84
74
55
70
51
37
54
88
106
120
116
86
76
87
89
89
88
80
75
84
103
107
122
134
131
126
118
102
117
132
140
142
139
125
105
110
122
126
119
123
135
141
145
137
127
129
131
129
126
132
139
150
146
137
130
126
140
139
134
129
136
140
142
156
150
137
122
116
124
119
124
130
125
112
116
131
128
107
113
120
125
122
115
114
118
158
156
164
147
112
107
104
104
105
110
117
124
122
109
100
99
99
102
105
109
109
121
116
120
125
122
120
118
124
121
122
127
128
134
152
170
198
200
188
147
114
125
128
113
97
106
108
122
140
146
127
107
97
84
112
162
154
124
116
95
79
78
82
97
81
76
71
70
68
64
62
61
64
67
68
66
67
68
66
55
65
62
60
62
66
68
55
61
66
70
76
81
84
85
75
77
86
85
81
77
77
81
79
70
63
65
78
57
65
80
91
90
84
83
83
89
93
93
85
76
67
63
80
75
84
90
85
74
63
81
78
77
77
72
73
77
79
80
82
93
116
134
120
113
112
104
96
90
80
77
132
127
125
140
151
140
144
174
181
179
188
196
190
196
197
201
179
190
142
152
182
186
215
195
179
159
169
183
170
184
172
181
171
151
139
142
128
108
93
143
134
96
115
90
49
62
70
70
64
56
69
100
71
128
71
48
58
64
50
35
87
113
113
121
133
135
149
142
89
56
64
76
85
116
99
98
120
106
82
71
69
65
75
96
112
124
143
149
134
133
131
137
129
124
138
165
173
129
96
114
136
145
152
159
149
124
114
104
114
134
142
139
141
163
161
150
149
155
162
165
160
164
160
147
137
148
157
165
141
127
128
125
127
130
119
110
109
116
116
111
113
108
112
126
143
147
137
124
117
129
111
115
116
110
113
103
113
113
110
97
104
105
96
99
101
102
105
111
116
115
132
121
119
116
104
104
106
89
97
113
126
124
112
103
103
98
92
113
104
91
114
115
134
115
154
137
111
102
93
119
102
95
81
108
162
160
128
116
87
73
82
87
91
80
77
74
72
66
63
65
62
64
66
67
70
73
70
64
65
68
64
64
67
66
62
69
74
76
78
83
83
79
98
81
81
88
81
79
75
90
81
76
79
77
70
75
62
68
82
99
108
108
106
105
99
106
107
105
102
103
105
101
98
112
116
106
91
83
73
61
57
63
67
62
60
76
76
84
99
111
111
98
109
103
92
87
91
91
94
95
117
115
109
125
128
113
108
124
139
144
126
85
85
104
108
98
124
108
99
106
138
96
129
144
126
126
104
122
149
137
126
120
131
115
91
144
145
135
174
144
90
95
37
51
43
35
59
47
39
103
81
112
117
91
82
64
85
87
57
91
94
43
54
74
90
134
128
114
85
61
84
119
138
87
79
110
93
96
120
62
60
72
68
109
128
146
154
153
155
155
149
141
129
126
128
127
109
111
116
119
127
145
159
150
133
111
117
116
114
113
115
116
139
132
126
149
163
162
158
158
153
151
150
157
156
144
161
151
138
129
125
126
129
122
120
115
112
114
118
118
123
118
130
149
149
128
110
105
106
113
118
117
117
117
114
104
110
103
115
114
105
106
105
131
129
113
118
139
144
150
143
132
123
117
112
105
108
109
109
109
110
110
106
101
99
96
97
105
118
127
130
125
135
164
158
137
137
159
173
156
135
113
152
186
158
136
106
87
83
81
79
93
76
69
66
64
63
68
77
74
75
76
78
78
76
75
74
69
66
66
64
61
61
63
69
76
76
76
81
84
90
92
89
87
86
87
81
77
79
78
82
82
74
72
72
61
77
92
100
104
107
107
105
102
101
109
119
124
130
132
117
118
149
149
146
144
141
143
130
137
126
121
123
107
99
120
128
139
141
146
140
129
106
95
88
69
71
101
141
128
135
151
152
144
128
106
136
132
114
111
137
140
156
194
156
144
137
153
194
151
172
219
193
171
203
139
167
162
160
165
171
173
161
115
91
120
122
99
96
72
32
40
31
43
33
97
38
74
68
98
102
141
109
101
77
105
86
87
32
72
34
76
74
108
107
118
116
95
83
79
89
99
81
98
138
139
124
106
64
65
74
91
132
135
134
135
148
153
154
169
163
151
137
129
124
109
119
128
124
107
97
101
109
110
119
113
111
119
129
133
133
115
130
144
141
131
127
134
140
143
149
158
169
159
146
170
170
170
166
159
151
153
147
137
125
125
133
139
131
121
112
110
119
123
122
126
133
121
125
131
132
131
128
120
126
128
121
124
125
125
133
145
138
123
116
123
105
94
102
113
112
103
113
138
133
129
125
123
119
116
115
118
121
117
117
121
127
129
126
122
119
123
126
139
146
147
150
145
150
158
148
153
179
157
132
106
88
82
77
75
86
61
59
67
75
78
82
82
77
77
77
76
75
74
72
71
70
64
67
70
68
66
66
73
79
77
75
75
74
77
87
87
88
90
91
86
83
82
80
82
81
74
71
68
76
93
109
108
103
102
102
102
101
102
104
98
88
87
93
103
116
138
128
120
126
135
107
104
98
77
82
84
85
84
95
92
98
101
110
114
141
137
125
122
125
112
103
132
129
123
112
115
142
161
159
183
175
197
215
203
160
135
180
224
222
173
184
212
212
183
159
132
142
172
168
168
169
144
142
140
150
163
141
81
54
78
93
64
69
71
27
43
42
102
44
44
38
57
61
96
63
55
93
104
78
73
70
79
90
37
71
76
74
89
97
95
93
84
84
91
115
99
77
65
67
83
82
39
53
89
100
148
151
148
137
126
133
139
132
140
144
142
143
146
137
138
117
109
119
119
102
102
116
122
127
128
129
130
128
125
128
135
139
132
118
112
121
113
116
115
122
136
130
131
152
159
168
168
157
138
140
138
142
146
144
144
140
134
122
130
141
141
134
131
140
150
140
136
138
138
141
142
138
128
126
127
116
103
95
91
91
96
108
116
112
117
128
121
119
124
133
128
115
113
103
97
97
107
119
124
124
123
133
136
136
128
120
122
129
118
120
138
133
115
119
144
138
125
117
105
125
167
162
117
98
85
81
75
78
88
81
78
83
85
83
82
77
78
77
76
72
71
70
68
67
65
63
68
71
70
68
68
73
77
73
72
73
71
72
79
82
87
91
94
96
96
80
77
78
78
73
72
66
76
103
123
122
112
108
100
93
85
93
100
92
78
79
89
99
96
89
105
108
98
93
100
101
98
76
72
73
78
87
83
70
78
90
105
113
124
126
105
99
118
114
99
119
115
119
126
118
102
114
145
168
180
147
158
169
190
164
160
186
212
237
180
152
196
196
194
166
125
118
170
162
165
170
161
143
185
191
143
164
193
173
158
151
126
115
103
72
50
37
39
57
38
34
51
35
61
99
121
137
121
96
92
83
57
56
39
65
71
89
95
92
98
103
120
125
103
97
103
82
82
111
102
35
66
83
72
144
153
154
145
134
140
146
144
147
140
126
122
127
122
122
102
97
109
115
108
109
121
122
124
123
127
134
140
142
137
136
135
135
125
116
119
126
132
127
127
128
117
123
143
149
157
157
147
131
134
134
145
153
153
146
143
142
129
138
143
136
129
130
138
147
136
139
142
138
140
143
139
134
121
115
110
110
116
120
123
114
117
119
112
112
110
113
111
126
142
134
108
109
103
90
81
89
103
112
120
126
131
133
131
120
109
111
120
115
117
120
108
93
103
131
100
92
90
74
87
149
166
112
97
86
81
76
80
90
78
76
81
82
78
75
75
68
67
64
61
60
59
57
58
60
63
67
69
66
66
67
70
73
69
71
75
75
77
81
84
87
89
90
93
95
80
76
78
80
77
77
72
85
110
128
124
114
107
95
83
87
91
98
92
78
76
84
76
89
94
107
106
96
97
98
92
98
82
84
100
102
75
85
83
88
84
86
104
135
132
113
102
113
116
110
114
107
114
131
122
95
101
140
217
94
104
129
135
147
155
219
192
190
183
146
148
217
179
209
175
115
119
157
157
173
183
174
131
152
149
107
179
175
117
127
169
152
145
150
95
79
52
81
60
44
53
73
58
70
93
115
116
103
94
82
91
77
40
39
46
79
89
99
97
94
103
119
107
122
116
110
110
117
111
67
55
62
66
71
143
144
142
137
140
143
143
139
143
139
131
135
148
142
155
175
163
114
91
110
128
123
115
108
109
122
133
135
130
111
111
128
135
122
104
100
124
135
132
131
132
130
149
150
153
158
161
157
154
159
162
165
161
148
137
130
132
126
129
126
125
129
135
126
114
132
159
166
159
153
151
146
116
102
108
125
129
133
131
131
130
136
129
120
143
139
140
150
156
147
131
124
144
151
146
143
142
135
130
138
153
146
140
142
137
122
109
106
98
121
99
103
119
113
93
108
100
103
99
108
158
165
114
102
92
84
77
79
86
80
83
91
88
77
70
69
68
65
62
61
59
59
60
61
53
64
67
62
57
59
65
63
65
60
71
81
85
89
103
103
101
96
91
90
93
83
79
82
86
87
90
86
89
110
121
115
109
110
100
88
87
80
89
90
76
71
77
92
102
82
96
100
95
102
108
96
127
122
82
91
62
81
82
81
103
119
124
113
114
109
110
104
98
110
119
115
116
110
106
105
100
124
164
96
131
119
149
184
183
118
126
116
161
153
172
169
162
181
158
151
140
134
166
113
138
114
154
162
186
201
149
144
55
41
141
138
85
129
150
108
144
129
104
107
100
100
64
62
113
87
84
74
120
119
125
88
83
53
49
73
81
76
100
102
74
83
76
118
117
112
111
98
93
82
32
60
64
76
84
136
132
137
137
114
124
135
146
143
128
125
144
155
164
163
160
134
110
116
127
123
121
107
103
108
120
130
131
130
118
120
138
146
133
118
117
126
136
150
154
139
138
135
124
124
131
139
149
158
143
148
152
147
141
145
151
152
148
144
134
132
137
138
141
152
136
125
119
117
117
118
117
106
105
109
111
111
113
110
113
130
132
114
106
125
130
144
142
129
119
119
121
128
127
135
139
130
120
111
102
94
98
99
93
91
104
115
112
105
104
110
114
114
109
104
105
110
95
98
114
169
159
116
106
90
78
74
75
85
79
79
77
76
72
70
68
70
64
67
67
60
60
61
56
55
63
62
61
62
61
59
64
69
69
75
89
95
92
97
103
106
103
100
96
92
99
95
92
94
97
96
91
87
120
127
115
114
108
99
99
95
102
98
90
89
95
104
106
115
110
111
121
126
122
122
116
113
108
99
94
83
91
123
131
131
107
72
96
102
98
124
97
114
126
156
59
140
169
107
102
153
198
154
144
115
81
130
162
154
185
175
186
189
164
176
186
185
192
192
189
149
144
173
168
120
100
174
158
143
137
122
173
116
114
144
102
135
118
102
13
32
94
116
100
146
149
131
88
122
95
96
85
124
131
123
90
74
92
68
55
87
90
92
97
104
105
129
95
111
117
126
99
113
73
65
117
138
147
112
131
131
130
118
108
129
144
140
134
122
126
146
150
161
160
140
117
113
127
130
124
124
120
114
122
131
132
134
139
127
123
113
112
103
99
105
121
144
155
144
141
140
128
138
146
153
157
168
162
128
127
135
137
136
141
141
138
128
126
114
107
116
125
126
128
119
119
121
121
121
118
115
107
103
118
115
123
126
102
109
134
127
104
105
121
127
145
131
112
103
105
101
116
132
131
119
100
95
102
100
88
104
95
84
78
86
93
89
92
93
103
107
106
100
94
107
100
89
96
118
178
156
117
105
89
77
71
71
82
76
77
76
74
71
67
67
75
69
65
65
63
64
63
57
61
65
64
66
68
65
61
67
70
71
77
89
95
93
97
102
106
105
103
101
98
102
97
94
94
93
91
96
88
123
135
124
117
108
97
95
99
106
97
90
95
106
113
107
121
122
118
119
117
111
103
104
101
88
91
101
98
113
122
105
93
75
59
102
121
110
119
97
131
149
176
154
162
155
120
179
191
163
133
151
117
115
122
147
175
161
165
171
202
187
195
192
183
166
183
199
122
147
163
176
134
134
161
144
183
169
115
126
132
96
105
74
139
121
112
131
104
93
75
98
108
127
161
128
112
97
91
97
128
96
117
105
89
107
76
52
86
76
81
94
99
105
113
113
121
145
151
112
114
93
94
137
148
136
93
107
109
111
113
135
139
128
142
139
136
144
148
133
152
150
119
105
124
144
146
144
148
137
136
134
120
101
100
111
113
120
129
134
133
137
146
139
161
152
124
145
149
141
120
120
131
137
128
109
104
106
117
124
131
134
126
119
151
154
144
136
140
140
123
108
126
113
111
112
113
118
123
117
141
145
136
131
116
110
115
106
98
112
123
107
142
111
102
96
100
100
99
151
180
146
119
117
119
110
104
107
96
91
88
86
92
95
90
88
86
80
78
76
74
72
73
68
66
76
115
182
148
121
109
92
75
69
71
81
76
77
77
77
76
76
77
83
72
68
68
67
71
72
66
67
68
69
72
75
71
65
68
69
69
78
88
93
95
96
98
101
103
103
101
103
103
97
94
95
93
92
114
112
124
129
124
121
115
104
93
102
97
87
86
91
94
90
127
133
130
122
113
100
88
80
85
86
81
113
127
119
87
95
95
107
108
103
114
132
146
96
145
177
153
96
145
96
129
58
86
70
105
100
106
124
144
108
113
176
162
90
142
169
184
154
155
186
154
147
213
173
189
177
185
104
171
202
187
133
154
164
90
172
119
135
102
113
112
99
68
53
95
85
43
76
92
62
99
109
119
132
149
138
137
121
90
90
126
93
71
93
74
76
87
88
104
132
141
131
152
145
140
136
108
70
112
117
148
142
119
119
120
115
114
132
142
125
125
120
127
139
138
153
160
157
165
168
161
161
156
140
121
131
134
127
118
111
108
107
115
125
132
134
132
137
150
154
142
135
139
121
119
115
114
120
123
119
119
115
125
127
125
123
122
118
120
138
131
119
119
126
124
120
123
107
113
126
129
120
114
114
129
133
131
125
118
116
118
112
116
125
114
100
127
109
101
98
90
86
90
102
163
152
118
91
90
89
79
77
86
76
78
81
83
92
104
109
95
92
83
81
82
86
89
89
94
76
82
147
187
145
121
107
88
72
66
71
82
78
79
79
78
76
74
75
78
73
74
74
72
74
78
76
64
72
71
70
71
70
68
70
69
70
84
92
99
103
108
107
108
111
109
104
108
109
99
95
99
101
100
122
125
127
131
129
124
125
122
112
107
109
110
104
91
90
98
109
122
126
109
94
86
84
73
69
73
84
98
89
70
107
98
87
99
108
122
131
157
138
99
112
164
114
152
153
162
135
153
153
136
116
133
106
137
142
127
132
120
94
179
205
143
190
128
182
204
187
160
155
182
163
194
198
209
160
145
159
117
131
128
175
92
104
76
131
181
142
111
159
111
160
160
150
46
17
58
49
49
52
98
142
155
138
150
147
140
95
69
76
64
71
80
99
115
112
112
162
142
143
113
137
106
90
94
91
102
135
120
110
106
112
116
116
123
125
122
126
126
138
157
157
146
162
166
167
152
130
129
128
109
127
129
128
129
135
135
130
117
127
142
150
151
146
146
165
158
140
137
135
115
121
113
115
119
115
120
128
104
117
122
125
127
125
115
110
137
126
117
117
117
107
100
104
104
99
108
115
113
115
123
138
120
123
119
120
129
121
127
108
110
112
107
135
96
104
103
95
89
90
96
133
103
91
87
94
98
93
83
78
79
87
91
87
86
89
90
97
95
85
82
81
84
86
79
85
60
68
148
177
129
118
106
86
70
65
68
81
83
83
83
80
78
76
75
75
73
76
77
73
75
79
78
62
73
71
69
69
69
68
66
64
66
82
89
96
102
110
107
108
111
108
102
106
100
89
86
94
100
101
125
125
128
137
135
127
127
128
121
101
98
113
117
105
95
94
112
129
130
102
78
69
70
67
71
81
83
70
78
84
77
91
104
118
110
110
128
147
146
100
148
125
101
112
146
173
177
178
177
148
155
124
135
150
119
115
135
125
140
200
173
94
199
101
170
197
173
166
133
176
150
170
164
211
138
136
137
128
184
134
184
157
151
113
205
186
130
92
137
128
154
157
110
79
70
29
36
52
56
125
153
137
146
148
132
124
114
86
78
75
81
77
89
114
113
116
119
128
133
92
137
121
93
73
101
112
120
86
105
118
123
122
116
121
142
171
168
155
145
146
142
117
106
104
109
121
126
128
133
141
128
134
139
143
141
137
132
123
129
135
145
153
161
170
164
139
124
129
129
120
117
92
98
104
108
109
110
110
121
124
122
118
115
118
123
125
118
115
114
108
100
103
111
108
117
117
119
125
127
125
122
122
122
123
124
122
121
116
113
105
101
111
118
102
97
104
106
102
103
108
102
79
78
76
80
91
92
88
88
98
104
107
106
101
95
91
93
100
116
112
98
82
71
73
71
80
85
159
170
121
99
91
85
82
79
82
79
84
87
87
84
84
87
84
82
80
80
81
79
76
78
82
84
89
87
85
85
82
80
80
79
79
87
92
98
107
111
104
106
107
107
115
99
106
111
108
104
101
98
125
136
136
136
136
131
124
117
116
103
100
103
100
90
88
96
81
118
128
106
113
139
131
89
103
108
87
70
86
90
93
108
117
113
117
128
92
114
120
114
164
173
167
169
140
97
61
72
111
131
135
141
152
193
176
197
180
162
196
182
160
133
184
159
149
200
169
108
145
205
154
149
171
152
134
116
135
160
157
181
126
106
123
114
93
130
156
133
156
161
165
180
165
121
76
138
113
108
143
157
142
151
148
105
95
78
72
127
133
132
124
121
105
86
92
137
87
93
74
86
135
127
89
88
92
107
105
121
55
68
80
90
102
113
125
120
113
109
102
95
95
111
101
110
129
142
145
139
136
136
138
126
122
126
132
135
137
124
120
126
128
132
134
131
130
129
123
120
129
129
125
110
110
111
116
118
115
114
119
121
118
109
103
104
108
109
116
117
110
109
117
120
120
116
116
116
122
126
119
108
113
113
111
105
105
106
106
110
111
113
119
121
103
95
94
93
88
83
83
87
82
76
79
79
81
89
88
86
88
102
106
110
110
105
98
92
99
100
102
100
96
92
90
77
82
85
90
154
152
114
102
95
94
90
84
83
90
85
88
90
91
91
89
85
82
80
81
83
82
80
82
87
78
85
83
81
81
81
79
78
73
71
78
83
95
105
113
115
118
118
114
113
110
112
110
104
99
103
104
128
139
145
147
141
134
131
132
135
111
102
102
102
101
103
108
123
111
111
115
103
100
90
122
90
79
90
85
97
117
116
116
115
104
97
113
126
164
190
137
131
150
155
133
161
151
119
109
143
158
144
137
149
85
91
166
150
121
178
171
137
149
156
167
194
188
127
126
163
168
172
172
143
182
200
132
129
113
123
119
131
121
172
137
85
134
157
134
120
154
141
112
116
101
99
105
92
82
84
68
81
82
74
81
80
79
56
46
62
70
87
103
124
131
129
81
94
92
92
125
154
108
59
69
86
99
97
105
95
94
97
101
113
117
118
124
107
92
79
76
94
136
89
99
112
125
133
134
138
141
131
130
131
130
128
126
123
127
120
132
136
138
136
124
113
120
120
113
113
116
115
111
107
109
115
117
115
117
126
132
133
125
118
117
120
111
120
122
113
111
116
119
113
118
105
116
119
109
101
102
108
109
110
103
101
100
100
100
101
105
111
113
105
102
99
92
83
80
83
86
74
75
80
82
84
88
84
79
82
102
102
99
94
92
95
99
91
95
104
103
97
89
84
82
91
93
98
154
145
111
104
96
94
95
86
85
93
89
89
90
91
90
86
81
85
82
81
82
80
77
78
82
77
83
80
78
78
78
77
76
73
71
76
85
98
109
107
111
112
112
112
108
110
112
106
98
94
100
107
131
136
144
147
139
130
126
128
129
111
106
103
103
102
110
119
119
123
115
93
67
84
103
84
95
127
151
100
110
138
127
103
85
78
90
134
179
159
131
110
168
157
114
113
170
127
133
150
135
145
164
143
137
92
168
205
142
119
182
178
134
108
168
178
177
183
149
173
163
166
170
174
169
202
132
130
156
111
153
129
112
131
174
142
104
126
123
107
86
135
131
108
115
101
98
100
142
124
97
96
81
86
94
99
57
28
51
50
79
74
84
86
117
143
154
120
91
77
72
106
137
102
67
82
84
98
94
94
119
114
119
124
139
146
134
126
113
110
112
121
146
114
84
84
89
97
108
119
123
124
134
126
121
121
120
118
115
115
117
163
163
169
171
155
136
125
112
106
106
108
111
105
97
94
101
105
102
105
110
123
134
133
129
125
124
122
127
132
130
126
120
116
114
112
110
112
103
88
86
94
103
105
105
95
94
96
99
92
98
96
92
98
115
108
91
88
86
84
82
77
69
84
89
90
88
88
85
86
94
98
93
87
84
85
90
95
101
93
74
75
84
97
106
91
104
99
101
156
142
125
109
93
89
93
92
89
93
93
90
89
91
89
85
81
87
84
83
83
80
76
76
80
84
86
82
79
79
78
76
76
70
69
74
80
90
99
115
117
114
116
125
122
130
118
116
107
104
107
105
113
114
127
137
136
134
135
133
127
109
105
105
107
110
111
114
108
107
78
96
105
121
124
176
172
161
142
131
126
108
125
108
116
132
131
138
107
114
147
175
187
136
155
179
139
113
124
143
133
141
163
161
135
194
132
123
154
136
89
187
155
163
196
192
191
180
215
175
151
159
179
175
169
107
117
126
79
84
82
87
126
140
109
110
110
97
126
127
171
153
121
121
125
117
97
164
168
116
111
120
127
101
86
41
32
35
46
69
56
74
96
93
116
112
109
162
167
137
89
68
72
61
54
71
74
104
108
97
166
144
128
119
89
87
99
110
114
126
120
122
156
120
96
109
116
117
123
127
130
137
139
142
138
129
118
114
123
136
157
192
172
178
193
187
135
127
134
154
138
115
103
89
85
92
102
98
80
92
98
114
118
120
125
120
112
113
115
115
116
122
133
144
148
148
142
121
93
76
80
90
102
103
102
98
104
108
109
110
118
102
94
112
107
106
103
102
101
102
103
103
99
103
97
94
94
93
91
93
96
90
86
88
89
88
91
97
78
68
75
79
75
78
88
83
88
92
93
171
134
119
113
105
83
101
103
88
107
93
97
94
92
94
90
83
86
83
85
84
78
78
81
78
82
70
75
77
72
76
64
70
65
67
68
79
98
109
113
108
109
117
124
129
133
124
125
104
88
100
100
80
109
103
95
90
91
99
109
120
94
98
109
112
108
128
166
145
120
155
119
118
145
141
157
152
153
142
106
107
102
103
121
130
150
155
145
147
139
147
130
174
186
146
145
96
104
151
176
178
154
131
180
185
131
131
194
196
98
96
151
234
164
184
161
223
134
110
135
117
97
129
159
151
176
170
128
135
151
134
126
144
121
147
92
135
120
161
135
172
140
139
106
107
90
106
204
162
162
170
127
100
85
72
58
49
51
82
61
73
73
64
96
113
97
133
130
166
166
166
139
103
64
39
50
105
125
118
123
124
123
120
113
105
109
114
103
107
120
125
135
168
114
98
112
118
119
121
122
120
122
137
133
131
129
129
136
150
149
144
135
121
137
162
159
124
136
139
124
102
94
83
91
88
88
89
82
75
85
96
106
109
110
117
114
112
141
140
137
135
140
144
145
142
149
100
85
86
90
96
101
95
97
97
96
103
106
107
99
108
99
97
115
109
107
96
99
104
108
107
103
90
88
84
84
86
85
82
84
88
84
79
83
86
85
83
84
75
68
72
74
72
74
79
82
81
81
85
173
131
109
109
106
89
102
104
92
102
94
97
95
92
94
89
82
80
79
82
83
80
80
79
74
76
71
77
74
65
73
68
71
67
68
68
76
92
101
115
109
102
99
100
99
98
90
101
97
80
65
66
129
132
130
124
115
101
88
77
72
83
90
99
115
155
166
133
121
132
143
132
142
154
151
153
154
155
136
100
105
104
100
112
121
135
137
140
117
117
147
142
163
157
129
141
118
118
159
174
165
180
189
185
113
166
146
189
119
99
116
155
188
197
136
215
146
127
152
169
166
166
181
156
167
139
166
146
144
153
108
68
120
159
126
98
167
133
157
135
169
153
140
94
104
100
123
163
168
159
146
109
102
105
129
74
32
22
61
51
66
63
77
91
100
118
148
142
149
95
146
185
139
82
50
53
117
130
122
119
138
134
123
110
112
123
128
132
136
141
149
168
179
92
88
103
115
121
129
127
121
121
150
153
154
152
138
127
128
142
133
144
151
155
143
120
137
116
101
99
93
99
112
117
121
114
100
95
113
118
124
127
126
122
121
119
121
116
117
115
112
112
111
108
101
111
111
117
118
110
100
93
103
104
101
93
93
88
83
89
95
96
103
114
105
104
98
99
99
97
96
96
97
89
86
85
84
80
76
80
87
87
86
90
96
99
98
97
88
92
89
91
95
92
86
67
65
64
75
181
133
97
106
110
104
100
96
97
88
90
95
93
91
92
85
75
81
78
68
61
68
77
80
79
74
74
80
69
51
61
65
67
69
68
67
69
77
89
86
94
97
97
108
140
137
144
126
125
124
118
130
129
148
139
122
106
99
98
101
102
108
91
102
151
147
113
121
146
152
148
159
143
142
177
177
168
146
118
123
119
98
109
121
108
114
133
141
122
173
141
126
166
175
154
155
123
171
168
176
190
178
164
123
141
142
188
167
128
123
108
85
195
184
209
144
188
181
182
198
194
182
164
138
184
181
139
175
183
151
137
113
163
152
77
158
178
175
175
94
129
157
114
67
106
88
64
115
152
89
120
143
123
78
41
20
33
48
69
58
55
67
57
79
103
117
148
110
71
74
137
129
125
158
131
122
89
109
106
78
141
121
117
132
128
118
121
129
140
135
136
159
159
97
118
125
126
125
127
126
117
116
119
119
124
131
131
129
134
154
140
128
132
132
129
129
116
123
124
114
125
127
121
111
117
114
101
95
102
102
116
117
126
131
125
126
131
113
115
113
110
110
116
122
124
126
109
103
97
95
98
103
109
110
111
117
123
122
117
107
102
102
108
104
93
97
89
95
101
103
101
98
96
84
77
74
75
77
79
85
91
101
101
99
99
101
101
98
91
91
94
96
96
95
92
83
90
94
98
190
138
100
107
102
104
89
86
96
95
85
91
92
92
93
85
73
65
78
74
67
77
78
67
63
64
67
71
74
73
80
67
63
70
64
70
70
74
92
104
115
120
115
116
137
141
151
152
151
145
145
157
134
108
113
114
115
119
123
119
109
86
97
115
125
131
133
130
122
129
165
150
152
164
158
175
170
140
106
100
101
98
128
137
115
126
151
134
147
94
119
171
186
158
158
159
166
149
160
185
158
133
154
157
150
178
158
187
130
134
109
112
190
173
182
204
203
182
168
193
170
141
168
162
126
170
172
182
171
145
111
89
179
149
122
172
179
173
131
164
146
175
98
68
85
96
87
99
132
69
56
67
72
44
31
26
27
32
89
65
54
75
72
66
99
144
133
123
57
57
104
110
86
113
149
152
121
89
67
63
113
110
118
137
148
142
138
130
139
126
127
153
149
90
119
124
121
117
121
121
118
118
123
123
129
135
127
115
113
135
133
151
158
145
130
127
126
136
137
122
115
114
106
121
124
122
117
110
108
112
113
113
123
127
123
127
135
118
115
111
112
120
131
133
129
119
106
105
107
106
104
104
114
114
112
117
122
120
114
108
100
104
112
105
92
97
93
99
104
105
101
97
95
88
80
76
79
83
83
83
84
90
90
94
101
105
97
85
83
77
81
82
77
76
79
74
81
86
93
192
138
96
104
93
102
88
86
95
97
86
93
95
95
97
89
77
65
82
77
67
75
75
64
63
61
72
70
73
79
85
67
66
74
65
70
69
72
91
102
109
115
112
109
135
151
168
167
161
160
153
127
88
123
130
134
134
133
132
118
103
85
93
106
109
126
131
108
134
141
167
144
138
149
146
160
147
115
92
104
104
105
103
108
107
127
134
125
109
82
109
168
176
148
164
169
124
123
168
189
167
163
170
172
163
200
177
216
132
77
63
157
213
164
210
179
191
157
175
198
178
150
165
139
115
137
176
184
179
146
88
63
200
161
169
200
173
162
149
158
163
143
61
57
51
91
122
114
107
97
102
103
86
33
31
22
20
47
117
76
79
69
114
99
73
115
150
105
31
58
82
100
96
115
155
143
150
116
81
76
116
102
101
111
111
116
116
118
123
135
158
182
145
101
99
108
110
108
112
115
118
125
128
124
128
137
144
151
166
146
163
169
150
124
115
122
111
120
129
134
135
138
140
129
133
134
122
108
116
112
125
123
118
115
112
110
109
115
116
120
123
121
123
124
120
121
136
137
141
142
138
130
123
112
104
98
97
97
98
91
103
110
105
103
113
111
104
110
109
101
95
96
101
89
100
104
103
103
96
87
86
77
84
101
111
103
86
74
66
73
73
66
62
60
60
72
64
67
73
160
151
81
96
105
103
98
101
100
78
84
91
95
93
92
90
85
77
72
69
66
60
65
73
74
75
80
73
71
76
75
70
76
76
72
75
77
85
98
134
120
126
127
110
109
63
86
128
157
118
85
134
145
151
149
146
142
139
136
129
120
91
100
98
69
58
69
71
84
74
84
72
78
108
130
145
105
92
110
115
118
117
127
122
140
161
147
177
104
75
54
120
164
144
157
184
212
223
189
161
142
115
141
189
189
184
156
174
96
153
199
119
139
217
167
202
188
197
191
198
183
150
141
125
132
98
75
165
198
167
138
148
185
176
143
170
180
152
115
153
120
98
94
117
138
124
95
107
132
114
144
128
111
98
41
25
1
37
96
86
105
67
100
99
74
92
132
81
71
82
115
134
139
50
62
107
140
170
144
97
93
93
105
117
116
122
128
122
130
162
153
111
90
90
90
102
106
107
114
116
117
122
134
128
122
127
132
127
122
102
121
125
132
138
123
105
112
119
127
128
122
125
129
130
122
118
113
103
113
120
118
116
114
112
110
109
112
109
104
107
111
113
118
120
118
123
111
108
116
125
128
124
111
106
104
103
99
97
99
106
111
112
107
106
106
99
96
103
104
101
96
93
86
97
105
108
108
108
102
95
97
94
91
94
96
92
86
82
80
77
65
58
54
54
55
64
62
70
75
152
158
110
117
117
107
99
105
108
95
97
104
107
102
94
91
90
81
78
81
78
72
72
75
73
73
76
71
70
73
72
68
73
76
75
77
74
78
87
113
132
131
124
132
66
13
22
43
79
131
166
159
151
153
149
145
143
140
132
117
105
109
109
93
65
58
65
59
53
48
46
44
50
53
45
34
31
40
48
50
67
78
100
112
120
112
166
128
88
86
124
183
216
234
222
177
164
153
139
169
170
111
123
192
194
199
169
160
201
147
167
146
214
200
152
168
181
162
193
167
180
135
119
95
92
116
163
197
165
180
157
127
171
161
129
150
171
180
141
132
113
134
145
131
106
91
92
118
122
104
95
138
163
105
52
16
34
70
85
127
123
91
93
78
86
117
104
52
78
143
119
138
108
105
96
101
119
141
165
163
88
89
102
114
112
115
116
104
139
164
124
96
117
92
92
102
104
103
107
111
112
119
131
130
125
135
144
136
125
111
129
133
128
122
112
107
117
122
128
128
121
125
130
123
115
117
120
113
112
118
115
115
114
110
105
104
106
97
91
97
108
112
118
122
120
115
98
98
108
118
121
121
115
109
104
99
96
98
102
109
109
108
104
106
104
97
102
104
103
101
97
93
86
92
99
102
105
108
103
99
104
92
88
87
88
86
83
81
82
75
60
56
53
53
55
59
63
76
81
148
163
127
130
127
114
107
112
112
97
97
103
105
100
92
90
90
80
76
79
78
70
67
66
62
62
65
62
62
67
67
65
70
73
72
74
72
75
85
97
123
133
121
115
68
22
54
29
67
137
160
155
151
154
147
148
151
134
112
111
128
115
110
96
83
82
83
73
74
74
61
63
74
74
63
49
53
56
50
39
40
40
65
71
72
103
134
82
115
158
196
235
207
174
182
171
125
133
140
162
156
137
155
172
193
204
197
224
157
173
183
166
209
188
132
154
181
175
177
171
177
130
150
99
165
165
168
157
132
185
171
122
156
139
150
179
149
153
139
116
140
157
132
99
87
91
92
101
102
95
92
138
144
73
60
54
70
63
86
148
132
101
92
69
87
131
116
69
75
98
154
146
100
117
90
119
108
124
147
152
109
110
117
121
123
130
131
154
142
122
107
136
153
96
109
114
107
98
97
100
105
113
134
136
135
140
139
132
125
123
132
194
195
151
116
112
120
117
115
114
114
114
114
125
114
110
111
109
120
123
117
120
121
117
109
103
102
98
94
102
112
111
109
110
111
112
100
105
110
109
105
102
94
98
107
115
109
107
107
115
111
110
110
115
122
122
124
116
106
104
104
104
105
109
110
108
105
98
82
69
74
87
89
93
99
101
95
86
79
67
65
70
68
63
61
60
66
81
82
132
163
150
144
142
132
125
122
110
96
100
103
103
99
97
95
94
79
75
76
73
61
57
56
51
54
56
57
58
60
61
61
58
59
56
59
60
66
78
101
97
121
129
113
101
44
8
15
24
71
139
150
144
146
155
142
115
118
140
140
118
114
117
136
158
167
157
147
156
157
119
118
126
129
132
108
91
69
68
102
99
95
108
110
91
133
123
177
218
154
184
183
177
193
142
107
175
173
181
179
157
192
245
221
203
227
217
182
195
210
177
204
184
205
165
170
180
195
143
157
160
122
161
111
123
92
112
160
151
180
198
167
169
162
146
161
146
138
129
155
126
111
108
105
93
87
86
70
50
78
88
76
70
105
108
81
59
60
94
118
113
90
101
109
121
123
103
102
69
123
93
56
124
99
120
131
141
138
112
93
134
143
150
136
111
131
147
118
84
100
119
136
166
103
113
119
116
108
108
107
108
114
124
131
138
141
136
135
145
138
131
122
134
135
130
128
123
111
100
95
98
91
85
104
104
105
102
103
113
101
103
112
122
124
121
120
121
102
95
99
102
94
90
101
112
105
105
113
117
116
115
117
118
113
109
101
101
109
118
113
109
106
105
108
124
131
131
120
110
112
116
115
113
99
102
104
108
106
90
78
84
83
85
91
103
109
99
85
80
68
79
89
82
69
61
73
69
73
65
110
158
162
144
143
135
126
117
104
104
100
99
96
93
92
91
84
69
64
64
59
52
52
57
56
56
51
51
49
46
44
43
45
49
50
52
48
48
56
59
72
80
84
90
89
93
65
23
3
34
81
121
136
142
128
127
144
143
123
113
120
107
118
147
164
145
126
127
102
98
69
74
70
60
63
59
61
68
99
145
141
149
166
125
165
183
197
104
140
193
184
154
150
199
191
135
154
165
172
202
205
168
165
184
213
247
215
237
212
255
222
216
236
185
211
181
204
195
193
196
181
167
176
100
92
84
76
124
133
159
177
184
170
170
162
164
138
152
140
125
114
104
95
98
101
77
46
21
19
28
32
73
99
129
92
80
88
87
84
115
102
86
66
104
164
164
120
70
70
34
15
92
99
112
112
122
134
131
129
135
127
142
148
131
111
107
91
81
98
104
117
139
161
109
99
96
101
109
107
107
105
100
123
131
147
161
157
140
133
130
142
141
145
142
128
115
110
102
95
91
79
75
72
91
92
98
104
104
96
94
98
109
114
112
117
121
117
90
94
97
97
90
88
103
122
128
121
127
129
122
114
108
99
98
98
96
101
113
125
121
121
122
121
123
131
135
115
114
113
116
116
113
117
107
113
117
117
111
104
98
97
92
92
96
101
107
106
95
84
83
96
96
87
77
74
75
74
69
76
86
165
161
145
138
133
130
118
109
98
99
87
94
104
93
80
75
65
69
72
72
69
68
64
59
63
58
53
51
50
49
49
44
41
42
39
37
42
52
81
77
73
73
80
89
89
87
55
23
26
67
111
122
129
126
131
134
127
120
114
108
108
124
140
144
122
84
62
59
60
63
83
96
93
86
88
113
114
97
130
144
145
153
135
204
162
132
123
190
162
152
130
166
220
174
120
155
154
155
185
201
193
185
161
192
237
217
213
197
171
195
223
199
189
210
165
198
186
163
193
182
179
150
115
95
95
83
122
113
177
183
172
185
166
157
151
137
129
117
96
100
87
111
93
90
67
27
26
26
51
68
94
98
106
77
102
89
67
101
128
110
94
101
123
182
116
69
38
41
54
68
73
104
122
109
119
114
139
132
121
97
102
112
117
132
150
156
150
116
106
120
138
165
131
93
95
108
116
113
112
116
119
125
130
134
139
135
126
125
116
127
135
130
117
111
118
110
104
96
90
83
82
79
85
85
90
95
97
95
98
99
102
104
104
113
121
120
104
102
99
94
90
92
101
112
120
121
124
122
115
109
107
115
105
99
117
128
133
134
136
133
130
129
129
121
117
114
110
105
106
106
106
112
116
117
120
126
130
127
114
105
92
89
94
100
110
116
112
107
110
115
107
95
86
84
84
86
88
91
94
160
170
143
144
138
127
114
111
88
94
88
92
95
85
78
79
83
85
82
78
77
79
79
77
65
66
65
63
60
55
51
52
47
43
43
50
63
76
56
58
61
64
68
80
82
79
83
90
93
98
102
101
98
107
115
114
109
105
98
91
100
83
73
84
108
131
150
132
138
125
125
127
133
140
144
151
134
110
133
143
140
123
178
173
125
137
132
149
174
166
137
140
189
198
156
130
132
134
160
172
176
197
197
193
194
205
214
208
195
208
197
154
138
194
206
189
204
170
184
177
122
166
105
127
84
109
130
133
158
154
182
157
140
138
121
83
70
55
15
42
39
83
56
37
37
51
63
79
61
68
55
48
101
136
95
64
110
106
103
108
91
105
144
109
103
124
64
113
90
73
70
99
121
120
140
146
153
113
87
147
139
139
140
128
136
142
126
114
125
112
116
148
120
100
102
116
129
125
114
111
113
126
130
126
129
133
137
144
118
118
130
136
122
111
110
112
111
106
101
106
107
104
98
97
95
96
97
97
102
113
115
118
121
127
128
124
99
96
95
94
97
102
107
108
97
112
120
122
122
124
129
116
121
129
140
132
119
113
115
116
116
114
112
120
126
116
108
98
96
98
100
107
112
116
117
112
102
90
78
73
66
75
90
98
101
102
98
98
98
87
80
80
86
92
68
77
89
82
78
136
183
150
146
134
119
107
106
85
84
88
89
88
86
84
88
91
95
97
95
93
92
88
83
77
73
70
68
66
65
65
55
56
58
52
49
45
42
66
68
68
67
64
64
66
62
70
76
75
71
80
126
126
107
76
64
74
78
74
74
114
126
145
175
183
159
131
133
133
128
138
143
147
156
180
174
144
107
102
117
129
121
195
128
120
172
168
193
201
184
155
141
158
184
193
176
177
171
177
165
161
192
208
186
184
174
177
198
204
212
217
173
161
99
188
159
76
175
183
189
164
136
98
89
121
88
71
143
165
133
134
138
131
101
40
8
44
72
51
42
23
55
44
51
70
97
118
106
62
12
22
52
72
101
107
76
103
101
96
93
102
106
86
63
111
123
100
110
83
77
85
108
123
120
134
127
110
108
108
137
132
134
138
138
150
156
126
117
123
106
124
148
104
111
97
95
103
100
96
98
103
116
120
117
122
131
141
149
132
140
139
129
116
111
120
113
114
111
105
112
113
109
103
99
94
95
94
97
104
112
114
117
119
123
121
118
107
105
98
92
92
97
101
101
106
120
128
131
131
132
135
129
131
135
132
124
118
119
119
120
118
115
114
126
131
118
109
98
96
98
100
106
109
112
112
105
94
84
77
76
63
71
86
93
98
102
103
99
102
95
88
86
84
82
66
79
96
86
85
131
187
159
149
136
125
112
104
83
89
96
95
92
95
93
93
97
101
102
102
100
98
93
87
81
73
70
68
69
68
68
62
62
58
52
52
53
51
65
66
67
66
66
67
69
51
66
83
86
74
65
82
93
125
120
79
51
45
48
57
172
181
165
156
154
152
149
123
139
148
144
138
144
162
172
168
142
110
100
115
131
159
183
135
163
185
198
172
140
154
162
163
165
165
176
168
158
152
171
176
167
178
176
196
197
167
151
162
184
222
232
194
184
80
143
155
78
164
133
162
189
148
123
128
114
109
111
164
150
129
118
134
111
77
43
22
24
49
74
46
21
52
47
50
56
75
95
130
34
51
68
42
55
78
94
88
99
70
120
109
81
60
96
130
100
65
85
111
87
82
80
93
114
125
145
147
122
119
115
137
140
142
138
133
134
125
110
100
111
106
128
108
131
126
97
82
89
93
94
93
92
124
122
110
111
117
120
124
101
112
114
123
126
118
110
112
117
115
106
109
106
98
96
90
84
83
85
94
103
109
108
109
107
107
109
117
121
115
98
81
76
86
99
104
100
109
119
125
125
126
128
121
116
115
117
115
113
112
107
99
95
104
119
127
119
122
112
101
100
102
104
105
102
94
84
79
77
76
71
68
66
85
109
116
112
108
104
101
99
83
80
83
82
77
69
65
75
65
84
106
162
176
159
150
152
134
105
71
109
118
113
109
115
109
97
96
98
96
91
90
90
89
86
75
76
77
74
71
68
64
56
57
57
52
58
57
53
68
65
63
65
71
77
77
81
86
95
101
98
89
89
72
52
58
109
133
77
22
26
105
122
136
167
194
188
169
139
144
147
145
136
133
143
173
158
128
101
106
121
135
165
232
187
169
168
187
189
153
166
149
142
168
173
167
190
189
189
203
188
156
152
147
169
202
199
172
120
118
198
164
169
185
105
49
144
197
97
50
127
132
164
167
159
169
138
124
128
101
137
110
105
105
74
55
54
25
26
79
55
31
89
85
53
42
73
81
47
135
162
112
48
50
87
127
79
100
86
80
117
79
81
114
65
25
54
98
87
96
123
118
108
116
116
122
155
122
107
106
149
141
125
110
112
133
150
148
129
124
123
124
110
125
132
112
92
87
88
86
86
89
111
117
118
116
116
122
127
108
113
127
119
109
108
112
110
106
105
102
102
102
103
113
109
108
110
111
115
120
130
128
122
115
112
116
115
117
115
103
89
82
86
90
90
97
117
121
113
117
118
109
91
99
104
103
109
112
108
102
98
105
117
116
112
114
106
103
99
95
93
92
94
86
86
86
84
81
79
78
78
92
101
108
109
99
92
96
97
89
84
87
86
82
80
80
86
84
88
75
86
134
189
173
165
159
132
101
104
116
112
110
110
108
105
104
94
93
91
89
90
88
84
80
75
75
75
73
76
75
65
67
68
72
75
73
73
76
78
81
86
91
93
100
102
102
104
104
99
100
102
97
100
86
81
81
85
99
111
106
98
102
106
117
118
118
126
137
160
189
188
177
168
170
164
229
225
193
178
166
205
197
183
189
195
186
184
115
140
119
109
142
170
165
158
129
162
160
161
158
133
131
146
151
155
146
169
204
197
160
182
133
128
102
125
166
177
166
143
129
124
131
153
122
132
115
116
124
105
84
97
119
97
95
115
115
86
76
91
118
89
97
80
38
46
64
68
60
121
147
143
100
84
123
60
53
55
108
97
117
72
82
64
71
48
61
92
96
89
101
126
123
106
116
148
58
5
21
60
122
116
106
98
96
122
150
152
125
124
126
116
109
119
133
116
100
92
90
88
89
95
109
115
113
112
114
119
125
109
119
128
116
104
104
108
105
103
102
100
102
106
108
113
115
116
116
114
118
125
129
124
117
111
113
117
115
126
123
111
96
86
86
89
93
102
116
121
119
119
114
102
86
102
115
117
121
124
120
112
110
116
121
113
107
110
103
109
111
105
93
87
96
95
93
90
87
86
87
88
89
101
106
107
103
92
87
94
89
84
87
91
90
86
84
88
91
88
83
60
74
117
189
180
170
158
135
109
110
121
118
116
118
118
113
111
96
88
85
91
93
88
84
84
79
80
81
79
80
76
66
71
72
76
78
74
73
75
84
86
89
94
97
102
102
111
113
112
107
107
109
107
104
90
93
99
86
75
93
119
106
97
94
104
109
104
103
107
121
155
179
197
216
232
235
245
205
148
164
185
196
141
178
125
115
180
127
124
140
131
123
136
160
163
145
152
160
136
130
137
129
142
160
144
138
153
178
200
196
176
139
71
86
91
142
123
136
169
118
115
157
166
129
132
123
121
113
97
93
108
114
100
94
111
147
157
133
128
150
137
110
107
79
52
70
86
61
7
137
170
138
110
126
100
38
66
53
121
101
112
67
120
73
55
74
87
86
102
90
101
125
120
102
121
164
45
18
49
80
122
115
112
115
99
103
117
116
93
114
115
88
91
108
146
123
102
97
101
100
97
95
113
111
108
104
104
107
109
93
111
130
120
110
110
110
95
92
94
96
96
101
109
103
102
104
112
117
120
124
115
110
101
98
102
109
107
110
104
98
93
87
79
82
88
90
98
106
113
110
99
91
84
100
113
117
120
120
115
116
107
103
105
103
111
110
109
111
111
106
99
96
103
105
100
93
90
90
92
93
94
93
92
89
88
84
87
98
100
95
96
95
91
85
84
93
84
79
73
69
88
105
191
199
186
156
136
121
125
129
124
119
122
123
119
113
111
98
92
100
102
93
88
92
92
81
81
78
78
79
74
75
76
80
84
82
82
84
91
90
90
93
96
96
94
109
110
110
107
104
102
105
99
103
93
81
81
88
87
77
96
108
107
103
105
104
97
95
100
98
105
104
100
101
94
118
132
140
180
193
203
200
214
194
134
103
139
158
180
174
162
130
132
144
135
197
161
125
148
165
140
133
139
153
168
141
113
136
179
195
167
114
97
157
139
127
130
175
155
144
138
118
100
118
115
100
110
130
119
94
100
132
165
164
134
124
120
99
81
44
93
114
61
43
66
68
65
30
45
78
139
151
129
123
124
51
45
71
117
112
120
38
45
129
88
67
84
91
115
121
100
89
102
108
98
40
72
116
105
93
95
101
107
124
131
135
112
109
127
123
109
111
128
149
127
107
103
103
103
98
98
98
101
103
104
107
109
112
101
112
119
113
113
115
112
105
101
102
102
82
81
87
94
97
104
112
114
117
121
125
120
112
103
99
100
99
107
93
88
95
91
76
69
69
77
92
97
102
92
85
94
116
111
102
105
119
123
116
104
102
105
109
109
117
112
102
101
99
98
98
96
90
91
88
87
89
93
95
93
90
88
82
81
87
89
93
102
106
100
92
90
87
88
91
95
85
88
80
75
96
93
157
197
197
163
143
131
133
139
131
124
124
125
120
115
109
110
109
106
101
100
101
103
94
81
84
82
80
81
79
86
85
85
86
85
87
91
88
92
96
100
101
106
108
102
104
108
108
104
96
99
104
104
101
103
98
78
66
77
79
80
80
85
99
101
81
82
87
91
97
97
95
98
99
89
97
111
114
111
91
108
112
112
122
150
184
209
170
147
151
140
147
138
109
180
173
161
176
175
146
129
112
209
170
193
187
172
163
148
96
121
147
152
169
174
140
124
108
105
122
128
103
114
113
122
118
109
128
160
139
104
127
142
159
168
134
89
82
68
94
104
115
92
57
86
67
78
48
98
179
167
117
101
63
61
67
74
56
77
75
125
74
30
29
75
79
104
105
111
122
132
128
107
81
72
74
80
68
96
105
109
108
109
107
104
106
113
138
139
133
128
120
146
129
112
105
101
97
97
100
96
98
101
102
105
106
106
117
125
120
115
116
120
118
105
101
103
104
82
81
88
101
108
119
125
121
122
131
126
123
118
108
104
104
106
112
97
91
97
95
77
63
63
77
95
98
99
87
83
96
122
115
105
110
119
112
96
95
100
110
113
108
110
106
100
101
102
102
100
95
85
83
82
82
87
94
96
93
89
93
84
83
90
92
94
102
102
96
88
87
87
91
97
97
90
96
85
69
92
84
140
190
198
167
148
136
134
145
135
127
126
127
124
117
105
111
112
105
101
102
106
107
97
88
94
92
88
87
84
91
89
88
86
84
87
91
90
94
99
100
98
101
104
97
99
105
106
101
92
94
96
100
90
83
90
89
82
86
78
83
81
78
93
101
86
75
81
85
92
93
93
98
98
106
111
109
111
112
108
101
106
105
107
111
105
150
157
176
202
169
161
162
131
192
168
153
177
170
134
140
158
200
167
173
159
158
163
150
138
137
174
166
117
113
97
104
115
111
102
106
117
115
119
102
122
165
172
145
129
134
150
147
151
169
152
122
119
68
83
69
85
115
81
51
78
60
33
90
149
142
130
53
46
56
68
78
72
40
112
121
57
40
49
76
93
110
109
104
105
122
135
113
80
91
110
122
117
98
94
91
91
92
109
130
143
151
147
129
113
115
127
159
138
101
101
107
96
101
99
99
95
96
101
106
111
113
130
136
121
118
123
128
123
118
112
113
110
86
85
91
115
119
122
125
127
122
115
122
119
112
102
98
101
105
115
116
107
91
81
83
86
81
90
103
101
95
90
83
78
102
116
117
102
99
96
94
102
102
103
106
108
109
108
101
103
104
101
98
96
100
103
102
101
104
107
107
104
100
87
95
100
97
98
101
98
98
90
76
73
71
70
69
79
82
62
32
58
73
78
126
194
194
176
168
145
140
143
142
136
127
120
119
119
113
113
111
106
106
107
105
100
99
98
94
91
89
86
83
82
86
84
77
83
84
79
92
97
98
100
104
102
105
96
99
100
95
93
95
94
98
95
95
92
91
98
99
92
75
70
74
79
79
82
86
99
102
97
109
131
152
158
141
135
130
126
121
120
120
111
102
95
97
100
100
100
101
103
107
115
128
146
161
191
182
187
167
157
159
156
185
187
198
202
191
195
167
138
121
110
101
98
98
101
107
101
101
121
116
105
106
107
136
172
177
168
135
83
82
91
122
157
174
165
154
147
124
61
52
62
49
81
92
39
41
47
98
83
71
60
33
16
38
93
74
109
78
86
59
75
95
89
70
65
84
95
79
107
133
138
139
123
108
69
63
84
111
91
85
83
85
88
99
113
111
141
130
100
100
106
126
150
133
97
94
100
94
97
93
97
95
96
99
101
104
104
124
128
123
120
123
124
122
117
111
106
99
81
86
96
110
109
108
111
120
126
120
113
111
104
96
93
96
98
89
90
86
78
76
84
98
106
110
100
97
85
72
68
75
95
105
106
99
100
102
105
106
102
98
99
103
107
105
111
106
100
95
93
92
89
96
103
111
116
116
110
105
101
96
94
90
84
87
94
95
77
78
74
74
78
82
84
75
63
43
39
73
75
77
62
177
202
184
170
160
135
144
144
136
125
118
119
121
123
118
109
105
106
108
101
92
90
87
83
83
88
92
93
77
84
85
78
87
92
90
99
104
104
105
108
107
111
108
99
97
102
105
99
99
90
90
97
102
101
105
109
103
102
96
86
76
73
79
87
91
87
125
145
152
160
173
164
162
163
163
150
132
120
120
115
109
105
100
101
107
109
113
116
114
108
102
97
94
93
98
102
107
105
102
113
108
111
100
98
96
91
102
95
92
89
94
99
102
104
116
111
87
101
112
140
118
44
117
175
160
130
113
105
184
167
149
153
173
159
131
147
139
107
71
101
78
49
126
129
65
84
101
85
61
45
41
56
59
70
51
117
84
83
57
61
89
91
78
126
124
112
96
132
146
136
152
138
94
86
71
72
83
80
83
94
114
118
123
121
151
138
110
110
111
133
149
134
98
94
100
92
92
87
93
96
98
97
97
95
94
113
123
129
124
120
117
114
107
102
96
91
79
88
96
106
104
102
106
115
120
113
108
106
102
96
93
94
94
91
91
91
86
87
98
113
121
107
102
97
84
69
71
82
99
102
98
95
99
103
107
109
108
106
108
111
110
108
113
109
104
101
100
101
100
112
121
129
128
120
115
117
121
110
105
103
100
101
99
92
91
94
89
85
84
82
79
77
66
48
46
73
71
69
59
127
195
200
170
164
142
141
144
141
130
122
120
121
123
118
108
104
107
109
104
96
88
85
82
83
89
93
94
82
78
81
91
86
89
97
98
104
106
109
112
106
108
100
93
92
98
100
92
89
106
108
115
115
104
99
100
98
100
105
101
91
81
75
73
91
87
124
142
144
143
145
137
131
125
123
126
123
120
106
105
102
100
100
101
105
106
109
112
108
101
100
106
99
94
83
87
91
81
76
76
77
100
102
105
94
91
101
91
96
91
82
101
117
118
89
108
93
131
168
137
120
55
63
141
162
118
119
133
143
126
143
158
173
174
148
148
142
115
99
96
81
96
111
111
106
85
81
95
99
85
45
59
94
44
110
102
69
37
24
40
78
102
105
107
110
138
132
127
102
94
137
147
109
110
97
95
99
96
93
90
98
107
113
141
131
119
116
118
119
113
140
131
99
98
103
94
92
81
88
95
100
100
100
99
99
122
118
120
121
116
108
100
98
98
96
91
87
93
98
97
101
102
104
104
99
90
91
95
96
93
90
88
82
86
84
82
87
96
103
109
113
108
106
101
97
96
94
90
111
105
94
104
106
102
99
103
107
110
110
107
104
106
111
114
117
118
118
119
126
126
123
116
108
101
101
106
112
106
109
113
109
105
96
83
79
84
80
83
88
84
75
72
75
62
45
62
71
77
89
81
127
195
197
161
152
143
148
147
138
127
120
119
118
116
111
105
101
102
100
97
90
93
90
90
91
91
88
90
81
79
92
91
89
91
96
102
103
105
108
103
105
101
104
106
102
103
108
112
126
120
121
124
116
108
105
101
105
88
78
80
86
85
79
70
86
79
83
108
130
134
129
130
131
131
130
126
124
112
109
101
96
100
108
104
110
110
109
109
109
107
102
107
115
98
103
100
84
96
99
85
100
119
115
98
107
98
88
93
103
92
76
76
88
124
119
107
110
159
127
92
104
102
165
183
170
148
95
97
119
167
136
120
169
176
175
172
146
126
137
116
76
55
59
82
95
110
128
116
83
97
104
83
127
34
28
29
56
64
67
62
67
86
73
107
115
112
88
93
114
103
91
108
95
95
98
90
94
95
88
113
138
148
115
112
118
123
114
103
107
135
132
98
90
95
91
92
91
82
76
82
100
114
118
116
89
91
95
93
89
88
87
93
98
98
92
88
87
85
76
82
91
99
102
101
100
95
94
93
92
89
83
76
77
79
87
100
112
115
109
102
98
124
116
107
97
91
91
94
102
107
109
102
105
118
109
106
103
104
106
97
89
97
108
114
106
96
93
96
99
97
95
94
94
90
84
78
83
83
78
77
78
76
71
76
77
75
68
64
69
78
81
93
78
52
69
78
86
94
108
94
142
190
176
166
144
156
154
129
114
124
129
122
112
109
110
102
99
105
109
98
100
102
101
97
94
96
100
100
95
96
103
100
90
85
92
100
105
105
102
102
99
99
102
106
109
109
111
107
108
102
99
106
106
96
91
94
101
107
103
98
91
81
75
68
81
88
89
92
97
129
125
131
129
101
99
97
87
80
75
73
68
68
87
99
96
90
86
84
88
95
107
121
134
132
118
104
100
102
97
99
105
115
118
116
119
119
97
96
87
112
178
208
181
81
82
65
145
99
43
139
136
174
142
160
168
124
94
93
126
147
117
153
163
158
161
185
147
144
95
88
72
37
38
111
98
106
156
161
68
114
84
53
33
29
56
82
39
51
65
84
113
93
86
116
115
61
36
82
119
104
108
122
116
104
98
95
92
95
134
147
141
107
102
107
113
106
97
97
133
133
102
95
100
94
93
89
78
76
78
87
96
102
103
103
103
101
99
95
93
90
93
99
99
95
89
85
82
76
82
92
100
105
105
104
97
95
93
92
90
86
82
83
92
105
114
116
110
103
98
103
121
112
104
94
89
89
104
109
111
113
106
104
113
112
110
106
102
99
95
93
94
102
105
96
86
83
88
94
92
89
86
83
80
76
73
83
84
80
78
78
75
70
79
82
83
77
75
83
93
83
86
69
52
74
76
80
89
106
107
118
162
170
174
153
154
152
139
124
121
126
122
110
106
108
101
97
102
105
100
101
103
102
98
95
97
101
101
97
98
103
99
89
88
95
104
109
109
106
106
112
109
107
107
108
112
122
117
118
112
110
115
112
104
101
99
92
88
84
90
98
97
79
70
73
79
81
86
92
105
129
119
104
103
84
91
80
77
76
81
84
83
85
74
78
83
89
92
93
94
100
111
125
133
131
120
108
102
114
103
121
128
120
118
125
102
91
102
141
133
166
205
208
123
78
116
149
127
111
112
69
174
188
141
138
135
115
116
141
73
80
113
170
166
150
172
142
107
98
99
56
36
35
93
99
116
129
87
71
105
84
69
51
42
55
49
72
85
64
73
81
126
100
113
86
50
59
92
108
113
102
88
87
87
83
91
98
95
108
123
126
117
115
116
116
107
107
126
139
141
108
92
93
82
81
73
73
78
83
85
93
102
109
112
108
101
102
101
96
92
99
99
99
97
92
92
90
80
81
84
91
100
112
116
118
113
106
102
102
103
104
112
117
117
110
100
98
102
109
115
112
103
96
88
83
86
102
110
112
115
111
108
113
118
115
109
104
99
100
103
104
105
101
94
87
87
95
96
94
90
83
77
76
81
85
79
75
71
69
69
70
70
80
80
91
94
90
86
84
86
76
56
58
83
76
81
74
83
91
82
122
168
138
164
160
157
152
136
127
131
130
115
110
114
113
112
113
112
108
104
107
107
105
101
102
104
102
97
98
103
104
99
106
108
110
109
108
112
115
110
113
116
116
117
116
111
119
124
124
124
125
118
115
120
109
116
121
115
108
99
87
90
79
65
64
66
69
72
83
91
111
108
81
92
83
83
77
73
72
73
70
60
71
72
75
79
86
92
94
105
103
105
110
119
126
129
129
110
117
115
110
115
104
74
103
101
103
125
131
154
161
198
202
174
167
81
172
119
73
59
147
163
170
180
164
122
105
92
92
64
124
137
141
170
128
126
126
142
72
40
46
51
157
174
143
110
66
78
76
65
72
48
44
38
41
64
74
62
70
90
92
95
99
87
54
26
39
65
73
96
114
133
128
78
72
70
77
138
161
163
139
145
149
140
122
117
134
155
157
116
90
85
81
87
83
89
89
95
103
111
116
116
103
100
102
104
106
104
103
91
83
77
75
83
88
96
92
86
82
81
90
111
114
106
101
95
90
88
86
86
96
96
96
99
99
99
96
94
96
91
83
78
75
78
89
101
112
114
107
102
97
98
96
92
89
92
98
95
90
88
84
82
82
82
81
86
88
86
82
77
75
76
79
83
70
69
73
79
86
95
104
92
85
84
87
82
72
65
75
71
55
50
77
76
80
77
86
82
101
96
111
165
168
176
174
155
137
140
141
128
117
115
119
119
117
120
119
117
108
111
113
112
109
109
107
101
94
94
101
109
113
115
114
110
105
102
111
118
124
127
125
118
118
123
122
117
121
124
132
135
130
130
140
128
122
116
108
106
106
101
96
90
76
73
72
69
66
69
67
69
101
180
172
167
156
147
128
108
92
85
79
85
83
83
86
90
93
91
84
92
98
95
90
88
95
104
125
112
98
100
96
98
120
169
89
78
94
100
165
193
170
164
165
126
183
144
156
95
78
151
147
115
77
96
192
133
115
121
155
172
151
124
120
128
132
89
48
25
43
34
61
78
109
136
141
113
89
90
71
70
62
73
74
52
63
36
44
83
92
108
117
101
69
99
157
126
88
129
85
91
102
113
80
66
58
70
143
158
148
144
140
134
120
108
114
142
144
147
110
86
85
85
93
92
96
96
100
106
112
116
119
106
105
107
106
104
103
101
91
82
75
76
83
87
95
97
92
88
90
96
110
110
101
97
93
91
89
89
87
87
90
92
94
93
92
90
87
90
90
86
82
78
86
102
108
113
111
111
109
98
92
90
89
88
89
92
93
91
96
91
90
93
93
90
89
95
92
87
84
83
82
82
81
73
75
81
85
86
90
96
73
78
96
93
79
66
59
75
76
61
54
88
83
77
80
82
82
93
92
88
172
178
177
176
165
147
140
138
133
122
121
125
119
117
120
122
120
110
112
115
115
111
111
107
102
97
97
99
104
108
112
113
113
111
110
117
122
130
134
131
125
123
130
127
123
124
127
134
140
134
133
142
124
126
125
117
111
105
96
99
94
78
77
76
73
71
79
77
61
66
165
174
164
181
187
190
186
174
154
99
110
107
104
103
105
101
95
91
93
96
96
94
89
85
83
95
119
84
91
90
84
105
168
91
78
103
88
137
176
171
162
153
115
136
152
131
83
91
145
128
107
30
10
147
121
156
216
158
161
141
145
136
124
104
95
44
27
33
41
81
80
105
126
117
77
95
103
78
68
58
52
47
16
24
27
80
120
114
106
93
109
110
104
90
64
79
141
90
117
137
131
73
64
74
93
131
117
135
140
119
115
125
122
119
105
122
132
118
95
87
83
80
86
104
104
104
112
121
119
112
100
101
98
95
94
93
93
91
87
85
86
85
83
83
82
87
97
105
113
120
119
113
110
108
105
104
100
97
100
97
88
80
79
85
92
94
93
88
85
91
102
109
111
102
112
119
108
104
99
94
85
83
82
83
85
95
101
100
98
94
91
88
87
85
87
89
86
76
72
76
81
82
84
85
94
93
80
67
63
71
76
62
79
90
90
95
95
87
67
67
92
83
90
92
84
69
63
69
71
79
206
171
167
180
167
153
145
134
135
129
130
131
119
112
126
122
115
116
113
114
112
107
110
100
95
86
80
93
113
111
111
114
120
126
124
121
127
132
134
134
133
129
99
141
137
140
142
137
136
139
141
126
119
117
123
119
108
102
106
99
87
78
73
76
84
80
79
76
71
77
109
139
109
88
96
83
69
100
145
133
150
144
159
164
179
162
151
146
147
116
109
120
97
99
85
153
154
106
60
54
140
130
108
99
97
105
106
130
166
130
130
137
88
135
132
82
72
129
112
90
41
9
160
124
62
101
163
152
150
157
152
119
156
123
43
17
76
76
108
109
108
134
149
113
87
87
78
96
88
51
60
81
101
90
61
56
72
102
137
117
136
128
108
99
87
107
101
126
152
166
80
96
123
128
121
115
146
148
131
125
127
119
105
84
99
121
119
94
86
94
100
101
100
104
106
107
110
110
109
103
105
95
86
81
83
84
86
85
85
87
75
69
65
60
62
68
75
80
83
83
79
83
88
90
89
90
92
100
100
97
93
93
98
99
99
100
99
99
103
109
114
113
114
112
106
100
103
105
104
93
93
93
94
96
105
107
94
92
93
97
101
101
88
87
89
88
84
82
83
84
83
67
71
79
81
78
81
87
86
90
80
86
90
91
95
75
86
76
60
70
68
71
80
90
100
109
111
101
94
142
201
167
147
177
170
153
141
143
141
140
134
123
117
127
122
120
122
118
117
114
107
109
104
101
103
99
90
82
101
102
110
117
119
110
107
115
120
124
123
124
128
133
119
119
129
139
141
145
142
135
130
124
118
120
117
111
112
108
105
94
86
80
80
85
90
88
87
84
75
78
83
94
116
79
93
115
118
110
106
116
100
99
82
88
76
116
130
167
176
146
94
64
85
156
164
137
131
135
145
146
146
153
142
149
138
133
131
165
136
83
108
176
173
154
152
142
151
83
54
37
23
23
68
92
66
76
134
157
151
125
147
119
108
39
54
73
73
100
107
77
137
143
91
100
77
56
64
127
125
109
95
60
40
55
68
54
77
101
123
143
149
157
131
92
107
100
115
123
130
94
96
106
106
120
116
142
131
124
122
124
114
100
94
109
128
123
94
85
98
105
98
103
105
105
102
103
107
111
108
109
97
88
83
84
88
89
86
86
87
77
73
70
64
66
69
72
73
72
71
76
82
91
92
90
90
93
105
105
101
98
96
100
103
103
107
108
109
113
116
116
113
103
97
90
91
97
99
99
103
98
89
82
84
103
108
95
96
98
99
99
97
89
96
95
90
84
79
76
75
74
74
85
95
95
91
90
94
85
86
78
76
76
77
80
68
83
76
59
81
88
88
97
99
98
98
101
95
94
123
177
196
171
168
167
149
142
145
146
146
138
123
115
118
125
121
121
116
115
114
110
110
106
99
98
104
102
95
81
103
122
126
136
143
127
133
132
131
131
135
141
151
147
139
135
132
131
134
135
127
134
131
127
127
122
118
120
116
110
95
87
82
84
87
85
88
89
89
79
77
78
75
104
120
81
66
101
112
111
118
102
102
80
89
89
102
110
140
172
175
138
102
102
151
140
132
117
79
105
127
129
130
175
152
146
131
131
162
166
133
122
154
238
228
200
182
170
96
67
46
31
29
54
114
64
16
99
155
137
147
142
120
96
32
49
51
72
95
109
70
111
118
125
122
90
82
101
142
139
115
92
74
60
58
56
59
117
120
109
132
156
156
146
119
88
120
137
143
150
97
102
110
102
107
107
134
141
140
134
127
116
98
112
137
145
138
114
96
107
113
101
90
86
82
80
83
96
107
114
112
106
103
100
102
103
97
92
88
90
91
92
96
83
82
79
76
71
63
62
68
76
85
93
96
100
103
113
112
106
98
96
101
105
106
99
101
102
103
103
100
95
93
89
91
105
106
103
101
108
108
103
96
97
102
96
95
97
98
94
87
83
85
81
77
75
78
82
84
86
90
94
94
88
80
74
75
77
81
74
79
78
82
90
91
96
95
84
66
89
97
88
92
87
82
90
107
110
103
112
73
163
194
164
175
153
134
135
144
152
150
143
135
124
118
112
109
101
102
105
104
94
97
103
112
118
127
133
132
105
106
137
147
140
167
171
156
145
145
152
155
149
150
154
160
161
154
150
137
121
127
127
127
129
125
121
126
129
127
104
92
91
93
95
88
96
100
96
90
93
95
86
80
81
103
50
28
109
108
109
103
116
93
101
96
121
130
120
137
165
172
159
127
107
126
144
140
67
73
114
111
55
141
83
60
34
49
95
162
141
115
142
139
147
174
183
206
191
164
96
58
10
12
59
65
40
73
126
150
123
53
112
95
43
36
75
74
113
60
68
106
105
127
121
110
134
157
88
64
52
84
107
111
91
86
119
131
120
136
127
136
150
141
132
121
102
129
125
109
105
107
113
108
133
133
158
146
135
113
109
119
113
119
134
144
156
138
99
84
89
86
78
76
82
87
92
102
115
116
110
107
109
107
103
98
91
90
90
96
96
93
95
88
87
85
81
78
71
70
80
83
90
96
102
103
103
99
101
102
100
101
105
107
106
114
115
112
112
112
108
102
99
98
102
111
104
99
99
92
92
86
78
82
93
86
78
75
76
84
94
94
75
90
87
90
97
99
91
84
82
86
92
94
94
94
91
88
89
72
77
76
83
92
90
97
94
90
83
84
90
86
85
95
104
117
126
118
103
81
112
104
167
190
153
172
140
131
130
133
132
136
133
114
122
128
128
120
115
112
108
116
106
106
128
131
141
156
148
149
146
141
153
167
153
164
157
153
155
154
147
145
140
140
137
124
113
116
119
113
126
119
117
125
129
133
138
134
138
124
113
108
101
96
95
96
94
94
107
106
99
91
79
86
78
90
122
104
101
98
102
131
119
128
117
108
123
115
140
160
157
170
163
157
108
129
141
69
54
132
129
77
51
153
63
36
19
37
137
174
110
27
118
172
170
149
130
126
171
182
193
142
81
79
117
67
51
123
129
92
196
113
61
76
79
86
98
103
96
81
69
91
104
132
128
113
104
87
66
52
69
61
85
118
123
113
110
89
88
97
131
133
139
152
102
93
85
100
122
90
96
100
116
167
157
138
140
121
111
113
109
106
118
137
148
158
140
105
96
98
87
83
78
80
84
91
94
97
97
97
99
101
105
105
105
96
95
99
105
97
89
87
88
84
79
79
84
84
82
88
88
92
100
107
108
104
105
102
104
104
98
99
108
112
102
105
119
119
109
106
115
110
110
110
104
98
92
89
88
80
79
89
102
100
95
88
100
105
99
94
96
93
83
88
88
81
76
79
80
78
92
96
102
100
90
84
83
79
72
75
90
98
96
90
93
105
107
85
94
98
70
86
103
116
118
120
120
77
75
104
128
136
163
162
136
132
118
113
130
141
140
136
140
135
134
132
129
125
121
118
118
119
130
146
152
163
167
145
156
162
151
148
170
158
170
153
154
163
155
147
128
106
85
76
73
64
67
79
82
112
122
129
123
121
139
155
147
137
132
127
115
105
104
97
109
111
101
113
117
110
111
106
105
110
118
125
137
128
103
96
104
98
90
100
123
124
130
139
150
163
156
136
154
92
115
124
62
87
119
113
110
74
140
111
43
36
36
88
146
130
80
73
114
163
140
97
96
91
91
154
171
132
110
129
135
104
102
141
163
170
150
112
68
74
80
84
97
87
68
55
83
130
127
91
98
112
87
89
66
70
55
116
151
100
95
103
100
89
103
98
107
150
146
109
106
70
63
100
111
112
116
124
105
112
136
135
116
104
105
103
103
111
138
134
135
129
109
96
94
92
75
79
80
79
81
88
94
89
90
93
96
96
96
95
102
103
104
104
92
89
91
83
80
80
88
97
101
98
88
86
90
95
103
109
111
120
105
96
96
100
109
111
104
82
104
111
114
109
103
98
102
94
85
93
105
114
119
121
118
110
101
101
102
95
87
90
89
84
86
92
93
94
94
89
82
83
86
87
83
83
85
89
90
87
86
88
83
79
95
95
87
89
99
102
90
84
75
72
95
104
103
121
133
137
137
121
57
95
90
83
70
115
179
169
155
156
150
146
144
146
144
141
134
133
131
128
125
123
122
115
122
139
148
152
162
165
155
158
158
150
151
165
152
149
144
134
113
97
90
30
35
32
37
43
39
41
51
56
96
141
159
158
157
151
135
144
142
144
138
127
122
124
110
107
109
113
123
122
119
106
108
108
102
91
83
97
104
85
89
94
86
94
115
117
129
135
129
134
157
166
153
150
105
96
117
96
135
62
38
109
100
81
136
121
77
50
28
86
153
140
74
111
160
125
111
146
145
112
121
170
164
147
138
146
155
159
164
115
150
172
179
181
118
68
93
91
48
58
72
76
80
105
90
78
74
88
85
72
59
79
107
123
109
88
149
127
119
122
117
121
121
105
113
121
86
73
80
115
122
119
114
136
152
164
137
128
126
130
128
125
123
127
121
121
131
129
108
89
87
86
86
89
94
96
94
89
95
92
82
76
77
80
84
89
94
100
97
91
92
94
90
92
99
104
104
82
71
73
79
90
101
107
107
105
86
90
101
109
110
111
102
86
92
98
90
89
96
99
94
100
94
88
96
101
101
99
88
95
99
95
96
97
90
87
92
99
103
106
105
91
86
98
105
100
92
91
92
91
91
88
85
84
86
87
88
85
84
57
70
95
98
84
80
83
89
87
111
128
122
119
125
115
106
108
93
69
76
67
85
77
83
148
189
146
141
150
167
171
153
140
139
130
128
127
128
129
130
129
123
127
140
162
172
174
164
172
161
150
139
128
109
91
73
67
57
50
43
37
44
35
52
73
93
115
133
149
161
136
140
169
190
193
188
184
177
169
156
151
141
131
123
128
112
107
118
125
118
117
127
119
113
112
112
106
94
103
117
100
82
89
89
94
143
134
138
143
136
130
139
151
123
91
89
146
105
105
173
137
76
80
84
92
128
128
99
46
61
122
155
119
130
138
120
125
119
92
86
108
146
134
127
138
161
173
157
130
164
151
152
151
146
129
74
17
48
61
63
64
69
80
93
102
89
82
109
93
81
71
83
107
128
143
157
116
112
126
129
128
156
152
99
84
119
157
143
104
115
126
124
117
134
135
130
134
130
131
133
125
120
118
115
109
106
114
121
110
99
100
86
82
86
94
97
92
86
94
92
80
73
72
75
80
83
90
97
97
96
95
95
86
92
101
105
101
77
67
65
71
81
90
94
92
90
101
106
114
114
109
109
106
93
91
94
87
87
96
102
102
103
99
94
93
90
83
78
82
87
94
99
102
94
90
107
104
100
97
94
95
99
83
92
94
86
82
89
100
105
105
98
90
85
84
84
82
88
67
66
79
81
81
84
86
94
104
98
101
107
92
80
98
104
109
116
95
67
72
87
86
77
115
150
152
182
157
143
158
176
170
150
138
128
124
122
122
123
123
124
128
132
144
159
167
167
154
150
130
109
91
75
62
51
40
36
33
40
45
41
65
82
103
123
141
160
171
176
181
180
187
191
193
201
204
196
187
180
164
158
150
141
134
133
121
113
121
131
126
123
116
118
118
115
103
92
92
79
100
97
86
90
88
93
151
135
131
136
129
125
136
150
126
89
93
148
87
64
162
171
109
54
65
88
131
179
156
77
42
84
149
131
148
152
122
139
137
85
44
49
75
108
128
116
117
152
168
151
131
124
168
155
146
145
53
38
63
44
52
69
77
81
96
100
92
90
132
134
131
77
56
74
100
95
98
111
124
126
120
111
136
142
102
89
95
148
154
124
111
110
110
115
101
111
134
135
134
131
121
102
95
103
95
104
105
112
126
121
104
101
104
98
90
84
79
75
72
84
87
85
80
75
75
77
84
94
101
105
109
101
90
91
99
105
102
91
75
78
77
74
71
67
66
71
78
101
105
111
112
111
114
107
90
90
97
103
102
96
93
94
81
80
79
79
82
85
88
103
95
101
120
128
114
119
94
99
104
107
103
98
99
101
99
92
87
93
102
102
95
93
89
82
80
83
84
82
84
82
61
52
58
79
97
102
99
114
116
55
61
74
72
88
86
86
95
81
97
99
78
92
89
101
163
185
155
177
176
155
157
186
191
174
144
133
127
121
118
118
116
114
122
126
83
70
65
55
43
34
34
38
35
34
32
46
65
72
85
128
163
172
173
190
196
201
214
211
199
195
131
105
89
71
76
118
163
227
226
186
156
135
131
131
125
118
112
112
135
135
129
115
107
104
108
110
105
87
99
78
98
99
57
64
114
110
121
125
115
112
121
110
81
119
96
117
164
129
117
79
101
146
167
85
78
110
144
155
156
100
56
120
149
147
172
133
145
127
86
61
24
22
64
121
154
152
148
139
118
129
150
137
130
149
91
23
32
58
52
61
71
69
64
71
81
112
137
126
106
80
67
83
104
110
95
82
80
108
103
130
147
143
123
102
114
88
96
111
83
85
99
105
111
120
122
134
134
131
124
120
117
112
96
87
91
101
103
103
123
137
131
103
98
87
81
81
78
75
79
80
80
76
74
74
76
89
93
97
98
100
98
97
90
95
100
101
99
100
102
99
95
90
88
87
86
87
106
109
105
97
97
106
112
110
104
111
106
104
98
90
89
90
91
93
99
102
105
108
110
111
117
120
117
108
111
106
106
105
103
105
106
97
96
98
100
101
96
91
85
81
73
78
86
89
88
89
94
89
85
90
109
102
80
71
82
85
102
102
61
68
70
61
89
103
98
97
100
99
93
91
87
80
86
115
130
138
145
160
179
175
153
156
184
210
138
137
150
126
112
135
152
121
87
46
31
23
23
30
38
56
80
102
147
167
171
179
194
204
201
200
206
207
179
136
113
86
67
81
82
84
79
68
79
87
82
78
119
74
121
208
217
175
158
135
125
109
106
122
132
148
132
127
117
110
107
106
98
89
75
74
83
91
101
111
107
111
121
128
116
97
94
103
109
103
75
103
162
107
75
103
104
69
84
98
124
126
153
129
124
109
145
160
175
137
122
139
105
112
70
41
26
42
42
105
139
171
152
167
154
159
141
104
79
67
59
20
24
51
55
54
50
48
60
100
128
132
113
94
87
52
56
89
107
105
89
84
120
136
124
113
128
123
92
78
101
107
106
101
87
99
103
112
126
129
140
144
134
126
128
125
111
90
87
85
90
95
103
131
150
142
105
102
87
79
87
89
81
87
87
82
78
75
74
76
77
84
96
105
104
96
90
90
96
102
102
99
106
112
109
100
94
95
99
102
106
122
116
104
92
95
108
116
117
109
113
109
110
105
96
92
96
98
99
96
95
95
96
106
107
112
115
114
112
115
113
109
103
99
100
102
90
95
96
97
94
88
82
80
80
82
90
95
95
92
92
95
102
89
99
115
104
87
86
75
81
94
92
66
68
67
72
102
109
91
88
101
102
91
87
84
79
77
85
95
136
152
181
190
175
167
162
144
180
189
159
153
150
143
147
153
109
61
29
38
52
67
108
128
153
172
185
195
193
199
205
210
207
198
189
149
107
96
79
80
70
65
91
104
80
77
77
87
92
89
90
100
95
60
66
144
209
207
177
136
119
100
94
138
144
157
137
129
133
130
116
123
103
84
71
72
85
102
109
124
117
124
133
114
84
87
115
95
123
79
82
164
119
73
70
74
65
102
105
114
114
169
122
139
144
169
149
181
117
139
146
100
105
75
34
23
58
28
98
157
173
145
153
162
170
144
120
115
106
86
60
57
73
100
104
89
82
72
96
111
113
114
103
96
84
71
88
112
127
112
87
120
123
108
106
127
125
105
101
129
133
127
122
71
81
84
95
123
130
144
140
127
115
111
100
87
101
95
90
96
105
119
142
150
135
93
92
113
126
117
97
86
93
92
91
91
93
94
96
97
91
89
90
92
95
99
105
107
107
102
97
107
115
107
102
101
112
125
130
130
124
114
100
95
99
108
113
111
109
122
116
111
105
103
107
113
116
116
103
96
93
93
99
96
97
106
118
111
99
94
100
100
93
83
84
94
89
92
95
92
87
86
89
92
86
84
80
81
89
99
106
109
89
98
95
81
85
102
100
86
66
69
94
81
76
87
77
83
108
113
87
91
101
92
85
90
97
94
88
95
112
140
170
174
155
164
200
171
151
179
172
160
172
183
151
141
145
192
206
212
215
215
222
221
206
189
151
132
113
111
112
106
96
88
51
68
81
68
53
49
66
89
75
51
54
68
78
85
92
97
103
88
111
92
93
97
71
154
211
195
148
92
73
112
120
124
132
141
143
139
125
136
128
117
99
86
95
108
105
108
118
135
141
128
100
79
82
133
113
63
129
128
102
74
105
122
75
96
124
139
138
153
103
150
123
166
172
144
133
115
109
83
63
40
35
39
35
76
158
161
190
138
142
158
150
141
123
115
128
94
73
31
45
53
55
59
71
79
93
111
148
138
116
76
111
118
80
80
105
98
132
120
104
100
105
100
104
122
127
131
128
129
57
76
91
105
118
117
127
122
118
107
94
85
83
91
90
85
85
84
87
111
128
122
97
113
127
122
103
93
94
91
90
94
100
108
113
114
108
110
119
124
104
100
107
125
120
113
107
106
108
110
116
113
115
125
132
130
123
103
101
102
107
110
109
102
98
112
109
104
108
108
104
105
100
104
106
96
93
96
100
97
97
97
99
107
101
88
97
104
107
99
89
86
96
96
97
99
99
93
87
80
76
88
88
90
102
118
126
126
103
79
89
87
79
73
67
78
81
78
95
86
66
89
106
116
117
110
101
90
102
110
108
98
91
98
90
84
102
125
131
122
141
179
174
127
136
191
159
148
145
133
129
136
129
125
115
106
104
110
106
108
116
125
126
109
104
103
108
122
115
73
36
58
48
47
29
22
21
35
65
65
55
57
63
70
87
102
99
100
90
117
113
113
107
88
94
56
126
224
146
109
84
76
90
105
117
126
135
129
124
116
115
117
107
100
103
113
126
126
107
94
98
106
107
90
101
128
76
102
146
122
93
95
115
102
135
136
129
132
133
139
121
117
110
135
187
163
109
133
95
57
21
31
43
58
100
107
176
164
104
134
137
159
175
125
67
71
96
100
139
110
94
92
77
75
70
77
90
132
135
115
69
51
64
100
124
97
135
110
108
109
113
114
111
112
118
112
114
133
151
71
84
93
112
134
125
129
144
127
117
115
110
102
89
89
87
79
69
71
93
117
131
102
82
90
100
94
83
79
68
66
80
95
110
117
122
117
129
137
136
117
116
119
127
117
114
116
113
103
94
97
95
103
107
105
109
114
115
118
123
123
121
118
117
116
114
94
102
113
117
112
108
121
108
93
87
93
95
94
100
103
102
95
91
91
91
112
113
113
107
98
87
71
81
89
97
93
81
73
79
90
73
84
94
91
90
97
103
69
69
84
83
77
80
89
94
93
103
109
69
81
111
107
106
108
107
96
81
78
80
70
63
67
76
83
84
76
77
79
78
74
87
125
163
186
174
161
156
146
139
147
155
141
131
126
113
101
99
118
118
94
100
96
116
125
154
136
53
33
37
30
38
40
49
43
30
32
42
50
55
64
67
67
88
107
94
69
87
81
89
86
103
109
88
82
102
115
65
211
204
126
99
74
74
98
111
126
127
152
146
135
123
116
105
87
86
85
127
159
135
121
127
119
109
80
71
80
87
100
97
87
63
63
117
142
157
114
128
85
117
162
102
113
107
155
150
148
134
100
88
26
25
38
79
95
119
165
168
139
128
160
180
148
128
135
136
153
147
114
123
97
115
149
135
122
105
119
129
157
92
47
69
79
77
116
116
128
113
123
121
107
101
108
102
88
134
152
133
122
83
95
104
119
135
126
129
124
115
116
120
116
109
98
97
98
88
73
65
73
86
97
102
83
72
78
79
74
74
64
64
79
94
108
115
118
126
132
132
127
115
117
120
126
120
121
120
113
104
98
109
107
113
116
117
123
130
126
118
113
111
111
110
113
118
110
93
97
106
116
124
132
109
103
96
98
101
101
99
107
109
108
105
103
107
106
115
116
113
101
94
90
81
78
84
90
88
80
74
79
89
79
85
90
81
72
71
71
49
48
65
69
68
74
84
83
82
75
64
55
67
79
72
69
70
73
70
63
68
80
70
62
64
74
84
92
103
93
85
79
74
75
90
109
160
196
202
193
175
157
147
153
129
126
138
123
107
94
67
83
76
90
108
151
141
141
121
45
27
37
39
52
44
50
46
37
37
42
46
50
48
64
87
103
92
73
66
85
72
75
90
106
102
83
92
94
84
78
103
191
184
123
102
69
91
116
111
128
145
142
138
132
129
122
108
94
74
89
118
127
134
141
136
102
80
80
92
123
110
113
96
83
69
96
108
109
115
128
113
151
110
71
102
105
127
151
157
153
111
71
13
40
61
100
112
132
168
170
159
139
147
152
129
122
136
137
148
141
121
99
100
147
156
146
135
126
120
115
130
76
49
70
85
81
103
98
105
96
94
98
105
111
116
120
126
135
122
96
98
91
104
116
120
120
114
109
115
110
111
112
107
103
91
97
96
90
81
72
71
76
81
107
91
79
101
103
85
85
80
75
80
93
106
115
119
120
124
127
123
116
118
121
131
127
125
117
109
112
107
108
108
112
111
111
119
122
105
99
100
109
105
92
91
100
102
117
122
117
108
102
101
100
97
93
96
105
116
122
113
110
103
97
96
96
92
99
108
106
91
87
95
87
86
81
76
70
64
58
58
60
42
50
64
68
69
72
72
63
63
70
70
68
70
75
81
84
78
69
89
79
56
59
67
82
95
94
81
74
70
66
63
67
78
95
108
110
95
83
87
95
94
85
77
70
140
179
178
178
166
132
137
146
129
137
156
138
116
136
144
129
111
116
143
122
111
99
57
46
45
45
49
52
54
66
76
73
63
52
44
66
73
73
78
80
73
68
48
50
51
69
64
60
80
98
86
96
86
85
70
110
217
184
130
75
77
108
123
130
136
137
137
137
137
135
115
113
94
83
94
103
122
154
127
95
93
84
156
94
111
81
71
116
61
100
95
88
72
95
83
78
83
103
100
117
163
143
163
131
66
34
46
100
114
74
93
146
154
150
132
143
159
165
178
182
166
130
136
131
152
133
138
154
86
78
89
49
73
101
109
98
89
80
74
87
102
94
71
105
121
114
124
149
141
110
97
104
114
120
65
80
97
103
125
128
113
106
97
91
86
87
97
99
78
73
70
77
91
109
129
143
152
141
120
96
75
81
103
88
78
68
80
95
109
116
120
120
117
109
110
124
137
130
122
114
108
106
118
109
98
104
114
116
120
130
128
93
97
99
99
92
88
93
101
101
96
102
105
105
103
103
98
99
102
106
102
98
93
96
96
93
90
90
91
88
103
110
116
113
110
107
94
88
80
73
68
68
68
70
74
61
59
59
52
48
51
53
53
61
65
57
52
54
59
45
44
53
68
55
43
40
52
55
66
80
85
80
80
89
96
100
96
94
96
92
71
67
67
70
75
75
70
66
84
67
70
85
126
156
154
148
144
109
131
100
84
137
152
134
131
116
103
76
83
99
107
121
121
108
98
76
80
70
68
65
63
75
83
72
76
78
82
83
70
60
62
58
49
54
69
66
60
65
41
78
67
85
88
96
96
60
141
216
171
96
78
105
117
127
131
129
125
128
137
132
143
134
116
108
93
80
86
105
124
139
118
149
119
109
97
54
68
125
116
102
146
155
95
107
87
64
53
61
70
90
90
131
122
87
35
80
85
106
119
133
135
121
131
150
158
175
187
189
183
171
158
96
149
157
101
93
94
53
83
116
108
49
26
17
34
75
91
98
100
102
93
98
105
113
124
139
150
151
147
106
93
96
99
67
78
93
101
125
126
107
100
101
102
94
87
93
100
97
90
83
79
78
85
103
123
131
137
126
105
110
126
131
80
73
69
81
97
109
115
110
106
104
106
123
133
138
121
120
119
112
110
120
109
100
106
111
112
115
125
123
104
104
101
94
92
97
101
99
100
102
108
106
99
91
87
104
104
103
108
102
92
81
86
89
91
91
92
95
95
105
103
104
104
100
92
91
78
72
67
65
67
70
78
85
70
72
73
65
61
65
69
87
93
75
52
39
40
45
66
55
45
41
36
42
51
40
35
40
61
81
86
78
86
98
102
95
89
86
81
54
60
67
75
83
89
89
86
88
95
93
105
124
135
133
165
146
124
127
103
105
145
113
113
133
117
95
83
106
124
117
125
121
115
124
124
87
79
77
68
65
85
95
75
84
77
63
56
53
55
63
57
46
60
65
68
68
61
61
57
71
93
53
110
93
77
48
182
201
136
123
90
106
120
128
127
120
121
128
135
139
136
127
120
110
90
74
84
113
136
124
129
141
108
112
65
49
125
120
126
162
126
93
122
103
83
77
83
63
56
61
76
61
71
52
68
69
103
124
134
141
130
129
149
141
155
173
180
179
179
114
89
152
150
108
109
103
64
96
110
119
50
38
29
20
72
78
83
99
108
112
124
119
117
126
135
139
140
141
101
85
79
75
81
83
96
103
92
101
110
101
104
99
92
88
86
76
104
111
102
82
69
64
74
89
99
95
108
128
114
89
91
86
82
92
101
106
115
124
123
121
121
120
119
113
108
118
114
115
124
129
117
114
111
122
132
132
124
116
108
104
108
106
97
98
102
94
79
88
81
85
95
104
111
113
109
99
96
108
106
98
92
94
90
87
89
90
84
84
95
101
96
75
60
60
79
76
84
91
91
92
95
97
97
88
88
86
82
78
79
83
76
74
63
70
83
85
78
75
74
75
81
85
69
52
52
47
46
55
73
85
77
72
72
60
58
74
78
78
97
93
93
95
97
96
98
101
107
101
112
112
106
109
120
118
115
131
108
123
123
117
109
109
112
105
99
135
130
101
130
140
129
139
161
123
93
112
112
92
89
115
137
139
113
99
83
64
53
58
70
58
63
73
66
65
68
65
74
77
75
76
62
63
85
82
86
104
77
156
225
99
77
96
116
126
129
124
115
128
136
148
156
144
121
100
92
97
86
86
104
120
118
111
120
91
59
105
147
148
124
138
126
118
110
98
102
110
102
106
91
104
85
51
62
59
74
104
112
129
157
138
111
158
151
161
172
142
111
123
125
117
139
148
71
14
40
56
75
130
151
61
44
27
53
103
119
96
90
95
78
65
66
62
70
79
68
54
60
38
33
44
55
66
76
96
111
133
129
115
97
100
100
96
93
89
78
80
92
97
95
94
90
88
90
117
122
130
134
113
93
94
82
84
102
107
106
103
102
106
109
111
115
115
111
107
110
112
115
114
109
115
127
128
124
120
119
122
123
114
100
99
99
101
98
91
88
90
87
87
86
88
92
97
100
98
98
102
104
98
91
87
83
80
80
84
85
78
77
85
81
74
69
74
85
93
91
96
98
93
90
88
84
80
75
76
75
72
71
72
74
95
88
114
121
114
116
128
118
111
102
95
90
90
90
66
60
52
45
43
47
57
74
76
74
82
97
101
94
85
94
101
102
99
94
94
96
100
112
115
115
116
121
126
119
116
93
111
165
143
110
113
103
103
109
117
131
111
129
123
115
114
123
130
110
122
108
95
89
83
77
81
90
91
91
72
67
86
105
111
100
104
67
60
87
107
101
104
97
79
67
77
82
90
88
96
111
94
73
132
177
146
113
87
84
90
92
101
118
131
143
146
147
144
134
122
125
111
97
89
85
90
106
109
104
136
191
151
123
128
145
118
93
82
80
95
96
83
79
111
91
78
104
93
97
64
67
92
123
127
102
96
170
158
144
161
169
153
143
129
128
86
70
63
63
70
66
78
103
109
99
98
81
79
73
63
60
66
71
68
66
83
109
101
73
77
84
62
63
95
136
159
71
85
100
112
140
138
123
101
102
102
98
94
90
85
80
86
84
80
81
82
83
87
100
110
115
117
103
96
103
122
118
113
111
106
102
99
98
100
101
106
114
117
118
116
112
106
102
100
116
125
112
111
108
105
108
111
108
103
99
99
102
95
80
78
88
89
97
96
93
88
88
88
92
96
99
92
86
84
86
95
87
77
74
74
75
79
92
86
79
76
81
89
93
86
90
92
88
87
87
84
81
73
77
77
77
80
84
86
93
89
105
109
108
116
129
119
115
110
107
89
76
68
69
66
62
58
52
46
41
71
66
61
65
77
84
83
86
97
108
108
100
94
93
93
102
115
114
119
127
132
131
128
119
84
111
160
136
115
113
102
106
115
119
116
95
107
98
98
110
120
119
113
106
104
104
104
94
78
67
65
84
83
70
61
62
63
59
105
105
83
77
92
103
97
115
113
104
95
103
103
100
101
118
120
104
87
95
209
168
139
119
116
106
95
108
141
146
141
131
131
146
152
148
153
121
110
104
92
90
99
107
115
133
174
174
164
155
127
118
115
115
110
111
107
89
114
111
83
102
105
83
106
83
80
81
85
83
77
97
166
159
144
148
152
143
142
143
117
81
62
57
66
69
87
69
75
100
95
86
85
62
45
43
53
58
66
104
114
112
109
99
85
79
62
35
33
64
102
125
83
88
92
88
98
110
110
102
99
94
91
85
83
94
91
92
83
73
71
69
64
64
80
101
114
118
121
126
132
115
110
101
102
106
105
100
102
109
120
126
117
109
104
95
94
95
104
116
109
95
86
97
105
100
91
90
95
107
101
104
108
103
92
94
102
86
101
108
106
100
92
88
81
87
87
67
67
76
84
88
83
80
83
84
83
86
93
94
96
96
94
91
96
93
92
90
86
88
92
93
91
87
87
80
78
85
90
90
93
104
100
97
103
103
97
104
87
75
81
100
102
103
97
84
72
68
64
59
61
43
37
39
43
47
60
72
78
93
107
104
97
92
91
90
89
98
106
110
107
96
88
91
84
94
126
120
92
100
91
91
111
128
121
117
112
107
98
84
76
77
89
121
127
130
123
104
91
91
95
96
91
95
119
130
117
101
98
94
81
104
102
87
80
81
66
63
68
74
87
97
98
87
90
129
130
150
171
121
194
171
143
121
110
106
107
116
128
137
136
136
139
136
132
147
155
142
123
104
99
111
124
120
113
108
119
137
151
179
178
175
156
126
104
101
95
103
83
97
86
58
86
85
100
108
92
94
94
70
69
93
120
147
150
134
131
147
128
133
103
82
88
93
81
52
65
66
60
64
81
111
116
73
59
63
56
72
96
108
133
119
88
64
24
17
63
50
56
80
102
83
76
79
85
82
88
91
104
102
101
102
95
89
99
100
99
84
67
62
62
62
67
72
88
99
103
107
107
101
98
100
104
110
115
111
100
105
107
107
105
96
95
95
114
121
119
101
84
86
90
106
111
108
98
87
84
88
107
105
105
102
99
96
96
95
101
96
94
95
91
84
78
80
88
91
74
75
82
86
99
90
81
79
78
85
91
92
91
94
101
102
95
87
84
81
77
73
79
89
95
95
95
91
81
78
88
96
97
88
81
99
95
75
63
66
79
75
82
97
105
105
110
97
89
80
72
60
53
81
89
80
77
66
45
43
51
82
97
108
108
108
114
116
113
102
111
119
113
102
108
125
139
117
125
111
109
103
106
103
98
112
123
106
83
82
81
90
86
75
87
115
109
114
89
78
88
90
81
87
106
76
65
59
70
88
97
95
77
76
88
93
99
96
84
70
51
56
79
92
93
87
76
98
75
92
98
94
127
121
151
158
137
128
148
165
169
166
162
154
139
132
140
153
155
158
146
141
135
123
115
118
120
124
131
132
130
126
114
122
139
160
169
148
118
77
96
117
94
96
105
82
93
90
89
90
118
129
114
128
64
40
45
66
82
86
84
78
55
46
57
48
59
98
97
80
65
85
85
72
101
58
40
48
43
30
77
144
101
101
82
54
40
43
40
30
52
76
107
126
78
79
82
82
72
94
119
121
93
79
82
79
73
91
97
89
75
64
59
59
63
68
68
86
111
107
102
107
103
109
106
109
117
111
108
112
113
103
90
85
93
96
95
110
110
104
94
86
94
97
99
96
90
85
80
78
80
81
85
92
94
85
80
86
98
92
81
81
88
88
82
75
90
102
103
78
84
100
109
107
98
93
90
86
95
92
86
95
97
88
85
89
85
83
86
85
76
73
79
86
89
95
91
88
92
99
100
96
90
77
92
93
85
77
74
68
69
71
78
102
98
87
81
87
85
75
63
53
72
91
97
99
88
74
60
47
55
81
98
95
97
108
111
104
111
129
123
116
120
130
136
138
126
117
110
105
108
119
114
112
129
129
103
107
89
99
90
88
91
95
106
113
89
103
95
74
75
88
87
77
68
62
55
53
72
81
67
73
67
71
81
88
92
94
64
58
72
103
75
63
83
83
89
100
80
89
106
98
104
144
162
146
131
139
159
168
183
153
170
192
167
166
168
162
163
151
154
156
136
143
124
121
129
115
130
142
130
137
134
118
112
139
178
171
147
119
94
92
106
117
116
86
100
90
69
76
95
100
93
57
47
41
39
52
66
70
53
40
81
92
82
76
75
106
82
105
95
110
87
60
61
63
61
58
47
69
128
78
71
51
24
20
41
45
28
57
76
102
123
84
78
71
69
73
93
114
101
90
83
78
72
69
69
77
74
66
61
59
64
73
79
89
122
137
136
142
132
105
95
106
104
104
99
94
93
95
95
93
94
96
98
99
90
93
96
96
99
98
92
83
78
76
79
86
86
82
86
84
83
82
78
74
78
85
83
88
93
95
95
93
92
94
93
86
89
99
104
101
93
94
101
102
94
89
87
87
88
85
82
89
102
111
109
111
107
98
91
88
87
86
91
95
92
86
84
84
85
72
76
108
100
85
78
78
96
90
81
76
82
78
72
103
102
96
95
97
88
78
65
61
60
69
82
88
76
45
34
40
65
92
104
107
108
128
101
104
131
145
110
63
81
115
113
93
98
101
113
95
104
99
99
115
94
91
98
94
94
100
107
107
90
108
96
83
90
108
112
108
109
88
77
89
105
113
104
85
107
117
96
81
80
84
83
78
82
76
66
71
70
63
73
76
79
70
92
120
133
93
65
51
53
64
94
120
101
112
128
92
83
101
91
108
76
161
177
184
192
176
181
165
151
149
133
125
123
113
128
134
131
124
123
113
111
171
166
146
118
94
78
57
52
52
60
72
78
87
117
150
120
115
117
109
96
80
66
52
44
40
36
46
67
77
90
127
131
113
72
53
28
38
52
67
83
74
76
121
136
114
109
106
87
81
81
66
58
73
98
114
53
53
57
61
57
53
51
61
69
78
75
68
70
66
76
73
67
59
58
66
81
92
110
128
143
145
139
134
131
129
137
117
108
101
100
103
99
98
93
86
76
80
84
89
97
100
97
92
93
94
99
97
95
90
85
84
87
96
92
86
81
80
83
86
87
79
94
93
86
79
76
77
85
92
99
99
101
101
102
95
97
103
97
82
81
82
83
86
90
94
97
95
79
82
81
78
77
76
78
82
86
88
84
83
83
83
82
83
80
72
79
78
77
77
76
77
76
77
81
84
83
82
70
74
77
83
91
90
96
88
77
65
62
66
76
84
74
63
41
22
28
50
63
64
59
52
85
111
104
86
74
124
119
91
84
81
83
106
106
82
78
85
86
102
86
84
92
93
93
97
92
87
79
91
88
83
94
108
104
95
95
107
126
132
117
106
109
125
122
100
109
122
113
91
91
83
85
92
103
111
108
101
119
117
109
106
95
88
90
63
71
109
133
139
131
119
140
150
153
126
133
153
89
107
162
158
94
56
41
61
93
141
184
192
199
191
169
131
118
105
109
123
76
50
74
85
92
102
131
165
178
138
115
92
81
93
122
133
119
84
97
107
107
109
117
120
75
69
105
89
58
51
65
93
118
92
94
30
16
18
46
49
41
47
45
51
102
73
114
111
84
88
103
116
137
87
82
103
124
54
53
53
56
60
57
55
51
62
77
79
69
69
69
75
74
68
63
60
67
78
89
107
128
147
149
134
121
121
139
140
120
111
100
100
109
103
100
94
87
81
86
91
88
93
94
89
85
91
94
86
88
90
87
83
85
93
96
96
91
84
83
87
90
93
86
86
81
76
76
83
89
100
98
96
104
104
94
85
88
88
92
86
75
84
89
90
90
91
93
96
96
91
79
75
73
76
76
76
78
82
75
69
72
75
76
76
77
76
67
75
76
75
68
60
61
61
66
71
69
66
67
76
73
63
58
61
68
98
88
81
70
62
56
58
69
93
74
59
53
45
37
50
72
65
71
105
126
117
104
102
111
104
92
78
72
84
108
94
71
80
92
83
95
76
92
101
97
93
96
89
85
80
81
87
101
107
94
87
94
99
100
122
145
138
117
108
137
138
116
112
114
108
96
67
76
86
84
126
145
130
130
138
111
97
96
96
129
117
97
91
108
123
117
103
93
116
170
147
111
124
116
111
61
162
101
58
81
43
95
130
132
113
111
157
186
188
185
181
155
110
71
59
77
110
120
123
114
115
129
139
127
101
96
115
127
131
123
101
76
80
73
68
78
95
100
104
95
138
128
91
66
60
89
117
97
70
43
35
32
42
52
45
51
55
56
67
83
111
113
100
97
88
99
137
100
108
120
124
47
49
53
54
50
44
37
56
65
82
88
74
60
66
76
83
88
88
86
85
89
95
129
143
136
141
148
140
126
132
123
122
119
98
95
110
108
104
97
91
87
87
88
113
105
94
91
96
89
78
90
88
86
86
87
87
83
85
91
90
86
84
88
95
96
92
99
98
93
88
89
90
95
98
98
87
84
91
101
89
87
88
85
75
84
86
79
82
88
90
88
85
89
82
83
87
95
97
90
84
83
72
78
85
84
80
83
92
97
89
87
83
83
79
72
66
66
68
71
61
61
65
77
73
65
63
67
64
68
62
65
72
76
70
61
61
57
79
100
99
85
69
58
49
60
139
125
94
83
83
80
122
105
101
79
95
97
64
69
77
74
73
76
72
90
90
93
80
82
101
97
75
72
82
81
76
83
89
83
76
89
78
89
120
128
114
106
98
92
86
84
81
77
75
80
64
74
87
86
106
111
104
121
105
119
129
109
83
101
129
131
130
138
120
110
124
97
74
85
67
73
110
76
122
106
116
127
130
138
81
93
118
146
131
91
81
99
96
99
87
80
97
120
110
122
118
117
118
118
115
111
86
114
137
117
86
89
81
42
79
101
104
107
120
115
90
87
103
95
83
93
104
100
72
41
50
62
111
57
27
74
81
59
56
80
100
90
68
88
136
140
101
109
121
86
107
105
97
95
40
42
42
44
51
52
51
72
93
106
103
92
76
78
105
114
115
104
98
104
107
105
99
99
109
124
139
145
144
133
146
122
107
112
120
117
110
96
83
86
108
109
105
104
103
100
92
86
87
90
92
94
94
89
88
90
90
82
73
73
77
83
96
105
104
99
97
90
89
91
90
86
84
93
92
85
82
87
96
102
99
97
97
96
89
86
75
78
82
83
83
86
98
97
91
87
90
93
94
93
94
91
80
70
71
83
89
87
93
92
90
88
82
73
67
65
70
72
73
70
68
72
73
73
72
68
66
70
85
77
80
80
81
86
92
98
91
65
46
47
55
63
66
60
149
129
96
94
93
112
126
115
119
98
102
90
67
68
84
78
69
70
78
71
73
79
82
75
74
81
76
70
71
72
75
77
75
75
84
95
102
100
96
91
90
94
100
92
91
101
79
76
84
76
93
91
95
108
113
115
128
131
129
134
139
139
143
136
106
131
146
132
119
136
159
152
148
135
127
121
125
136
132
115
104
96
99
97
87
81
88
95
95
133
123
123
116
117
119
107
114
114
94
87
105
104
105
117
142
164
151
108
116
111
72
31
34
51
47
49
80
96
80
69
71
69
74
53
71
86
103
91
92
84
87
75
57
83
82
64
75
57
37
51
54
62
63
63
54
52
64
83
103
128
149
109
108
110
107
41
37
39
49
55
56
64
89
105
114
108
94
81
92
111
117
112
97
89
95
102
100
92
99
112
124
133
135
137
137
141
85
114
149
141
115
100
94
90
99
114
105
93
99
95
90
84
82
85
87
92
92
92
88
88
89
89
80
71
71
79
92
106
114
110
107
96
90
89
93
91
88
85
90
89
85
83
88
96
94
94
97
102
105
93
83
72
77
83
86
88
91
100
95
85
79
83
91
93
88
83
87
82
77
80
89
91
89
95
94
95
94
90
80
74
76
77
77
76
71
66
64
66
70
76
80
83
86
95
84
88
88
84
84
93
104
80
55
39
38
44
51
53
45
137
140
118
110
113
109
119
117
102
97
81
83
81
64
82
75
73
84
90
76
87
74
81
80
81
88
83
87
115
101
88
79
68
59
66
81
104
110
110
108
113
127
139
95
116
109
105
113
107
91
102
101
94
108
121
106
118
127
130
139
142
133
130
130
167
155
121
92
105
139
136
153
146
148
134
104
97
97
79
103
116
90
82
89
89
83
87
89
88
139
138
135
122
124
105
79
83
82
90
105
53
61
76
86
97
114
119
110
97
62
29
24
27
29
35
33
58
101
129
136
130
115
95
69
66
83
91
75
81
77
94
85
51
62
73
67
61
55
50
57
47
49
60
40
41
51
69
81
83
82
84
60
60
64
63
59
55
62
76
67
62
65
70
85
95
98
98
96
101
114
122
123
115
106
100
97
91
95
105
117
125
125
127
131
119
133
162
182
150
109
105
130
123
108
92
91
97
98
90
87
85
87
90
87
83
95
92
90
91
92
92
90
85
85
94
100
102
109
116
117
109
94
92
94
95
93
92
85
84
77
81
82
81
87
90
87
87
86
90
87
83
93
83
74
78
90
100
95
87
82
82
84
84
83
80
81
88
93
98
101
100
93
86
80
82
88
90
90
86
84
88
87
89
81
72
79
77
92
94
98
100
99
94
85
77
83
88
87
85
87
84
93
89
87
79
62
54
48
41
57
158
134
103
120
101
111
99
118
96
92
92
78
87
84
104
106
88
76
75
77
87
83
74
74
82
73
72
87
84
90
105
111
106
106
112
119
121
122
130
144
156
161
162
158
97
101
100
94
103
93
101
73
65
132
110
97
93
110
143
167
160
134
83
128
118
108
120
143
140
116
105
72
87
90
88
122
141
141
119
120
147
179
177
139
107
62
78
82
84
85
93
74
83
83
70
65
61
126
139
107
84
82
93
82
53
44
49
67
87
72
30
17
25
22
15
46
85
96
101
116
126
141
131
147
150
139
135
131
133
144
150
142
105
71
40
39
37
56
57
40
43
34
44
43
43
44
53
76
111
137
119
134
142
136
69
72
76
78
73
66
60
53
62
69
84
101
105
97
111
115
113
104
93
82
76
73
78
93
114
125
120
116
116
129
121
105
107
112
118
117
97
94
87
87
108
101
86
82
82
84
86
87
86
84
90
86
89
99
105
104
103
88
89
98
103
99
97
99
95
87
94
104
104
97
90
89
89
85
77
91
100
99
102
91
98
104
108
105
100
99
89
82
74
76
87
94
93
88
85
85
83
80
77
79
85
91
83
80
79
79
79
80
82
88
90
85
84
89
96
103
95
97
95
99
102
84
83
84
83
79
77
82
102
100
109
117
112
105
100
102
95
90
87
88
89
94
93
83
85
97
111
126
125
86
81
103
98
106
92
111
116
82
87
90
84
80
91
82
65
63
68
73
88
100
89
92
82
84
82
77
79
93
107
113
130
128
118
106
93
71
50
52
54
76
92
96
92
91
86
101
111
117
132
139
146
152
135
128
133
135
137
143
122
126
130
144
147
123
122
154
101
103
101
109
122
110
140
116
167
162
126
88
88
115
138
97
76
72
42
58
69
65
55
49
68
75
112
99
81
85
87
73
57
61
73
50
50
68
96
101
81
63
59
72
103
115
96
76
68
57
29
25
93
86
99
122
76
110
132
136
113
107
113
107
73
58
71
56
41
52
32
49
52
52
47
49
67
95
117
125
130
137
135
73
78
78
76
78
74
66
63
68
74
87
107
112
101
114
115
110
100
88
84
84
86
76
75
85
95
99
105
115
129
114
120
100
79
80
82
99
101
95
84
88
89
84
67
68
71
74
78
87
89
88
84
87
97
104
101
96
93
90
96
102
101
100
97
88
99
95
97
94
87
86
91
79
75
67
87
98
99
102
99
104
106
103
98
96
99
87
85
83
82
85
88
87
90
84
80
79
78
76
79
82
84
81
83
84
82
80
80
90
97
95
86
84
90
100
102
89
89
92
103
100
71
76
68
65
77
96
108
100
113
121
121
106
87
78
83
96
98
100
93
80
80
87
86
84
79
99
109
87
72
102
66
114
115
108
111
103
115
109
108
103
101
97
62
56
73
81
88
96
95
70
63
59
72
89
112
140
155
139
112
100
83
61
52
57
60
57
52
56
76
85
97
97
85
101
90
98
115
116
127
140
137
141
152
150
124
102
111
127
147
163
176
172
138
123
129
78
81
83
99
107
92
137
105
111
103
100
105
128
156
152
114
87
84
68
78
68
83
73
77
102
91
88
80
81
56
49
70
86
85
71
44
76
78
72
90
94
95
112
112
139
162
160
147
116
80
74
82
149
102
89
108
44
72
84
107
126
115
113
118
84
63
74
49
31
45
30
31
36
40
43
56
81
111
130
117
116
124
130
82
85
81
71
71
68
58
60
65
72
79
88
103
101
109
111
109
99
93
93
97
99
78
76
75
73
70
80
93
87
104
121
108
98
107
123
102
102
98
90
86
96
106
82
75
71
74
78
85
89
91
89
89
92
92
88
89
107
109
109
109
109
107
101
93
98
102
91
79
82
87
83
80
89
94
86
87
98
106
96
93
90
83
80
100
88
79
83
83
83
86
86
87
93
87
87
88
84
86
91
89
99
105
116
123
122
114
108
111
103
90
78
77
89
98
100
107
103
90
71
61
58
71
69
75
93
113
123
116
97
97
96
86
70
58
61
79
81
74
69
72
78
85
93
85
93
98
83
76
68
51
68
112
126
120
119
115
120
114
88
81
75
58
93
95
84
68
55
61
71
66
86
143
149
144
127
118
119
116
106
95
80
67
65
65
63
65
71
66
60
66
75
83
87
86
99
103
99
122
117
97
124
115
134
154
153
158
139
93
53
50
63
57
73
107
137
107
79
81
80
83
109
111
109
141
112
111
144
126
123
113
144
141
120
122
122
131
110
118
97
59
75
93
106
120
138
80
112
149
93
71
73
81
117
112
125
118
66
84
99
118
148
169
173
151
121
83
104
44
90
104
51
37
60
64
99
127
143
122
70
49
43
61
75
58
45
36
47
56
47
50
50
46
58
59
63
60
60
61
88
85
78
71
65
61
59
61
62
68
71
74
86
98
105
106
103
96
93
92
91
88
72
76
88
92
89
103
125
164
160
121
105
100
101
103
83
110
134
134
82
70
71
83
83
85
87
87
82
81
81
78
75
79
89
100
109
122
115
105
98
103
107
106
99
108
102
102
89
79
79
81
85
84
78
80
92
92
86
84
87
87
85
85
96
97
98
102
100
97
95
87
90
84
72
72
82
81
78
85
93
79
78
85
88
83
76
73
87
88
109
106
102
101
98
98
105
104
99
87
81
82
73
74
78
81
77
68
70
103
96
93
98
102
100
89
74
78
70
58
56
57
54
56
63
70
73
77
91
87
64
46
78
86
86
128
146
135
149
132
126
120
107
89
63
80
48
50
74
80
94
151
109
98
98
113
126
128
127
129
121
100
81
73
69
65
66
64
68
82
87
90
92
93
97
115
113
115
123
121
146
115
113
130
148
152
155
124
111
122
102
77
73
64
61
79
89
91
99
108
124
135
105
87
123
126
147
150
157
149
132
144
137
130
115
102
115
126
116
141
139
139
160
106
43
7
83
106
113
141
99
54
66
176
176
123
166
166
114
131
119
116
120
129
129
119
102
118
103
107
79
77
71
66
88
101
76
74
85
60
40
36
45
55
52
47
39
67
106
99
97
116
113
119
134
128
136
147
152
88
83
79
76
66
62
60
56
61
69
71
67
76
100
96
98
99
97
99
99
98
94
82
80
88
85
77
79
91
78
79
113
122
112
96
88
106
120
125
108
62
64
75
86
88
91
90
89
81
77
78
77
76
81
90
101
107
108
107
106
100
99
101
102
101
107
99
99
88
82
85
86
95
82
77
93
92
88
85
87
89
87
87
89
92
99
97
95
88
83
82
78
90
78
64
65
74
71
66
73
81
80
72
74
77
75
75
78
96
91
96
93
95
102
105
92
94
92
95
98
90
90
101
95
91
87
78
68
80
112
102
89
83
84
80
69
64
73
71
65
67
70
69
68
64
72
69
73
81
78
64
65
93
80
81
119
142
160
170
138
116
106
90
69
62
71
71
94
110
105
109
105
95
107
120
127
130
131
126
120
121
111
102
103
104
102
103
107
113
120
118
118
123
129
143
154
143
137
139
136
160
120
123
136
144
145
151
142
122
110
103
103
108
112
106
104
108
102
105
97
97
110
91
93
133
159
176
147
142
134
137
122
120
119
118
123
124
122
152
164
154
163
79
69
75
70
101
132
155
128
70
14
78
152
127
133
176
152
146
152
152
156
156
152
137
116
115
111
112
92
58
74
71
75
81
69
65
86
62
49
51
46
50
60
67
66
42
75
122
108
89
102
106
111
116
134
146
160
166
94
85
80
84
75
75
79
75
73
75
76
73
77
92
83
88
94
102
109
111
103
93
86
93
95
96
97
97
96
95
90
96
104
105
101
95
90
94
97
91
75
76
79
78
84
86
83
81
82
81
86
89
90
84
83
86
88
89
97
102
99
94
94
95
94
90
96
91
85
88
87
77
75
87
96
74
63
70
85
86
81
71
75
87
83
96
96
91
86
93
104
101
106
111
106
104
102
98
102
108
107
85
79
87
92
90
91
99
84
86
100
90
82
83
84
91
90
88
93
94
86
88
90
69
53
54
57
59
80
80
87
89
83
80
84
90
88
97
90
77
74
77
73
69
75
88
102
118
126
128
130
105
85
78
92
76
83
114
109
119
133
140
134
123
122
147
140
111
86
96
118
111
112
117
115
108
110
121
127
125
121
113
102
98
90
79
74
76
73
71
76
84
93
98
109
111
104
94
103
81
47
44
76
115
141
155
163
151
132
105
122
125
70
48
80
116
135
146
153
136
124
121
91
111
112
121
121
113
122
126
116
111
113
113
125
143
153
138
119
141
146
127
116
102
53
122
156
44
34
131
101
37
49
124
117
107
162
145
101
138
138
149
163
175
173
160
174
183
180
179
126
76
110
135
152
116
60
55
45
43
32
36
38
45
56
55
38
77
93
86
86
87
91
111
115
121
124
125
124
93
87
84
84
80
79
84
85
92
94
86
84
91
91
85
87
92
91
85
86
88
82
91
98
97
92
94
105
117
123
126
149
147
138
118
96
95
91
83
77
84
83
77
79
74
76
87
89
81
86
88
87
89
88
81
75
82
91
87
85
90
95
94
88
82
85
91
91
97
94
82
76
90
97
99
94
89
87
94
69
71
77
81
83
85
91
96
91
85
89
93
85
92
102
96
99
97
92
100
112
108
93
84
83
92
102
101
95
91
98
87
85
93
99
97
74
84
92
100
80
76
98
113
98
73
54
55
71
83
64
70
76
86
96
97
95
103
101
100
98
96
94
95
97
91
97
118
128
121
111
110
109
124
111
99
65
61
112
139
149
154
157
165
135
100
99
102
63
62
95
99
124
123
99
108
132
136
134
132
119
103
77
86
100
75
70
88
70
62
119
118
103
80
51
84
92
98
84
83
71
85
89
91
110
134
142
144
144
161
142
139
148
129
73
54
121
135
129
150
146
131
128
82
89
169
124
128
146
153
161
168
136
122
114
104
119
105
89
94
79
82
107
97
114
99
75
53
142
84
45
60
33
99
117
100
113
130
117
105
155
140
161
167
188
179
169
182
180
122
135
119
69
125
160
182
140
83
157
57
52
29
38
43
54
65
60
68
68
45
60
91
89
78
82
83
98
110
117
113
95
92
91
91
82
82
85
87
96
99
95
91
93
84
80
83
89
90
88
93
98
96
100
102
95
86
86
95
106
108
112
118
115
117
110
93
93
92
88
83
88
89
85
77
79
85
87
84
79
85
85
82
82
85
85
84
89
88
85
82
84
87
86
81
74
67
91
101
107
98
77
64
85
95
100
108
98
83
75
72
75
82
89
92
87
89
89
85
81
83
88
84
95
107
104
107
104
94
98
108
107
83
78
79
89
97
94
87
98
98
81
84
97
100
95
85
90
91
96
94
94
110
88
88
83
74
70
69
52
64
70
76
86
99
98
94
88
88
87
91
95
96
94
91
105
85
96
105
101
97
98
95
107
104
65
46
53
83
105
113
134
154
154
125
124
101
103
76
80
102
102
115
105
106
133
154
141
125
118
106
103
86
99
100
78
73
66
80
118
101
65
53
62
75
81
99
105
76
71
65
75
71
88
114
132
138
144
145
152
169
160
86
77
100
80
128
136
148
140
117
153
138
100
104
141
129
172
160
174
166
179
154
127
143
147
142
105
100
106
104
118
101
124
123
103
76
97
87
45
49
25
59
92
122
117
98
106
126
128
160
149
180
184
187
162
155
174
174
137
122
92
63
131
165
183
169
125
89
57
37
62
36
50
86
85
65
96
92
72
77
100
103
96
98
105
107
106
100
95
94
96
96
93
83
84
87
93
95
93
88
86
87
83
95
96
100
97
90
93
101
100
98
90
78
68
67
76
85
79
79
68
76
107
122
114
108
102
92
83
77
72
69
77
88
93
85
81
84
80
71
70
70
75
81
86
88
86
83
81
82
84
84
79
76
75
78
82
87
94
99
94
98
100
101
111
102
83
72
87
81
78
80
84
88
89
77
77
74
73
76
78
103
112
103
95
92
91
89
92
92
97
93
93
98
102
97
89
72
80
97
113
126
121
106
103
100
87
72
77
78
75
70
77
77
70
69
80
102
99
95
84
76
83
85
82
112
108
105
103
97
89
79
71
73
85
106
116
108
97
91
90
88
90
90
93
100
104
134
105
88
117
168
166
130
118
115
117
133
124
114
102
72
86
115
136
133
122
106
87
90
90
102
101
98
109
101
113
88
52
69
67
56
58
69
89
107
83
68
64
72
66
67
89
124
136
128
174
161
93
108
82
80
145
142
141
150
113
147
104
76
68
119
169
146
122
145
145
144
173
163
184
173
175
166
144
116
96
107
81
103
102
139
135
151
111
99
96
121
76
89
103
93
132
144
94
79
110
117
138
140
157
141
141
127
153
156
180
142
106
129
126
111
125
155
134
184
69
90
73
39
28
40
55
58
71
56
40
49
56
82
116
121
115
131
136
141
134
130
91
89
83
78
83
89
90
93
86
76
72
75
82
96
91
93
97
91
80
82
89
90
83
78
76
76
79
85
89
110
110
125
131
138
132
114
90
93
105
119
111
91
77
81
83
84
83
83
84
78
82
85
84
79
77
82
87
90
89
88
89
92
93
93
94
105
97
92
83
91
100
95
91
102
108
111
102
90
88
83
84
90
97
97
83
79
82
85
79
76
78
81
95
94
78
62
65
79
79
73
75
79
76
75
82
89
91
87
84
90
77
73
80
84
81
78
79
84
87
106
115
110
93
98
96
86
80
80
76
90
96
97
106
125
130
117
98
101
100
93
82
78
80
85
119
108
106
104
103
104
106
117
116
110
132
111
107
139
121
99
82
93
124
167
171
176
170
163
165
140
114
79
66
77
102
129
136
121
105
101
89
70
98
145
137
111
99
88
96
92
62
70
86
74
71
56
74
83
72
72
91
79
102
97
81
97
129
170
173
133
164
147
113
106
93
144
151
177
99
104
135
100
162
114
122
146
117
106
174
142
173
184
173
139
125
139
143
140
108
146
101
114
111
182
78
60
93
83
72
56
48
71
101
134
148
136
112
102
108
115
123
137
148
176
131
130
185
183
161
127
141
153
125
109
160
205
150
87
86
54
51
50
37
41
69
76
57
58
69
76
84
99
112
118
125
129
130
115
103
94
91
84
80
89
89
85
83
82
83
85
90
91
91
92
96
102
98
87
90
99
101
96
95
92
91
90
89
88
95
91
99
102
109
119
120
110
111
116
118
93
79
74
82
82
85
86
83
76
78
86
87
82
77
80
88
92
93
92
90
91
92
93
94
95
110
100
96
84
94
108
103
86
97
102
110
104
94
92
87
86
91
95
92
81
81
87
87
83
78
81
82
84
85
77
67
73
84
77
68
73
79
78
78
83
88
87
82
81
86
69
68
81
92
94
94
82
83
88
98
100
89
84
81
71
62
66
78
85
96
116
125
120
117
111
103
106
108
112
115
117
122
129
135
121
106
112
126
139
147
151
133
141
152
125
110
130
161
147
172
173
146
141
158
132
167
168
160
165
152
126
92
72
67
80
112
129
113
93
91
87
77
108
136
125
115
108
109
108
82
81
99
107
96
83
66
78
78
86
100
121
129
131
124
138
176
178
104
124
171
159
115
98
98
114
122
147
147
92
156
107
93
173
58
129
133
111
87
145
144
157
175
173
131
130
150
138
90
133
83
100
128
133
154
29
107
96
119
88
49
60
47
97
162
192
164
119
109
125
108
107
119
131
162
122
138
171
177
189
166
161
151
109
63
143
168
156
104
58
33
33
25
33
56
65
53
34
50
63
83
93
94
107
117
113
87
80
70
63
89
87
89
94
87
83
84
82
85
93
103
102
89
77
102
107
103
93
95
108
113
109
94
99
97
91
87
88
91
88
90
96
91
87
90
96
111
93
84
90
82
78
84
76
75
87
86
70
81
67
69
78
77
76
87
93
85
87
86
88
89
89
88
82
78
70
98
114
114
103
95
93
92
86
84
93
90
87
89
81
82
82
81
84
91
89
94
93
85
76
73
79
81
83
89
91
90
89
82
81
89
103
108
109
99
84
83
92
99
85
92
86
86
91
87
70
73
73
71
75
78
78
93
83
76
81
90
97
101
100
97
98
100
94
82
77
77
83
94
98
102
111
104
85
92
99
102
91
90
97
94
103
115
111
108
138
161
97
101
112
117
103
84
73
78
90
79
109
137
139
159
102
118
82
67
88
110
116
119
120
106
110
105
104
118
132
137
150
146
114
93
61
59
90
74
72
101
111
94
102
107
139
176
144
136
89
81
138
29
30
75
95
99
134
141
91
107
117
152
144
120
192
72
114
104
115
146
139
127
127
125
169
154
100
101
97
133
112
81
89
82
94
175
31
123
119
110
91
104
103
118
12
96
147
118
90
116
154
165
113
148
160
160
164
137
110
100
132
183
170
182
155
134
127
89
64
60
87
82
49
34
24
41
47
42
45
30
52
55
58
59
59
61
65
70
84
108
137
157
78
76
76
77
73
75
78
83
84
86
85
78
74
87
95
97
95
93
102
113
109
97
88
84
84
88
87
82
76
74
81
95
94
101
123
142
121
104
90
94
95
92
96
83
96
72
79
143
117
104
71
70
72
78
81
78
78
89
84
79
77
78
85
91
96
94
97
101
99
94
92
91
96
90
91
96
90
86
87
99
94
85
77
77
92
94
91
93
92
88
86
84
71
78
82
85
90
98
96
94
100
100
103
106
101
90
85
86
88
98
100
85
86
93
92
83
81
78
77
83
77
69
72
82
96
103
97
85
78
83
85
84
81
82
88
95
97
108
105
96
92
84
90
113
108
106
93
82
93
115
124
124
142
121
160
142
104
92
100
96
89
83
88
60
28
45
98
100
92
125
129
114
105
115
126
128
127
134
134
123
152
150
129
109
106
115
124
149
147
107
82
119
157
145
138
146
151
127
176
140
155
140
122
143
131
137
111
80
70
92
119
113
121
142
135
115
130
141
131
150
185
94
171
152
81
95
89
124
161
118
107
132
173
149
166
149
126
121
126
162
73
102
79
91
77
103
104
80
95
89
84
45
125
133
82
100
161
173
146
113
141
161
178
177
151
143
157
149
113
123
130
93
70
52
57
87
107
47
36
34
20
46
47
36
41
43
51
59
69
86
104
117
122
121
118
140
144
152
157
73
75
73
72
68
71
75
84
82
79
76
75
75
86
88
91
91
90
97
106
104
96
93
88
87
89
88
84
79
82
86
95
93
98
115
132
115
102
92
94
99
96
97
102
88
65
99
162
110
117
92
83
73
70
76
88
88
87
84
81
78
78
84
88
92
91
100
100
93
88
88
91
105
100
98
102
95
92
94
101
93
78
67
67
92
97
98
94
88
84
82
81
75
75
78
81
88
98
97
94
98
99
101
103
100
91
83
80
91
104
93
78
80
85
83
81
81
76
68
72
81
86
78
82
87
86
77
68
69
70
78
83
85
89
98
98
96
94
82
86
105
102
100
124
108
106
89
81
91
105
111
103
125
120
144
90
93
84
85
68
73
97
102
53
47
70
67
75
86
95
103
80
97
81
87
112
127
125
121
117
152
153
131
104
99
115
133
139
135
127
150
155
149
155
174
149
127
186
120
132
148
138
126
120
125
156
137
101
80
82
88
93
120
133
113
115
127
117
128
150
168
134
167
109
74
87
109
127
142
128
122
122
177
153
151
151
144
117
111
116
74
158
64
81
97
140
136
84
82
74
82
55
115
116
86
111
154
160
153
113
146
170
172
169
150
133
135
149
100
105
119
102
86
59
73
102
114
61
49
45
32
77
68
53
66
65
81
103
101
99
102
108
113
115
114
136
124
113
101
73
79
82
78
73
75
75
83
76
71
74
82
88
74
76
82
86
84
82
86
91
94
99
98
91
81
77
81
86
85
84
93
94
88
86
86
96
102
106
110
109
101
95
72
95
145
174
164
183
195
178
104
65
78
82
71
76
76
78
83
85
83
84
84
86
85
98
90
79
82
96
108
91
85
85
85
81
83
90
97
95
90
86
87
97
96
90
86
85
90
91
86
72
74
78
81
86
91
87
82
86
87
90
95
98
99
97
95
89
97
83
85
89
88
89
91
86
83
88
101
89
75
62
57
55
60
64
63
62
77
77
80
88
93
92
92
91
94
102
106
91
66
52
53
43
38
35
30
21
19
29
81
116
106
71
72
39
31
30
41
51
47
36
41
54
46
30
28
38
33
19
41
57
78
90
70
40
31
27
16
26
18
20
31
38
35
29
42
38
64
44
61
108
128
80
190
134
76
79
55
69
94
105
126
164
93
127
164
140
100
85
104
139
137
112
86
99
132
125
182
169
170
164
169
119
123
115
110
132
138
67
142
180
144
150
160
146
135
110
108
121
140
59
65
51
113
117
84
117
117
111
82
52
43
83
130
144
151
169
121
165
186
164
166
155
126
113
101
118
131
130
146
147
149
143
117
86
77
64
44
52
85
49
41
60
55
77
74
84
98
109
108
95
77
63
47
57
69
77
72
84
91
87
77
74
71
72
73
73
73
78
84
77
75
77
81
86
90
89
84
79
79
75
67
59
56
59
62
70
78
93
89
83
83
89
90
104
113
108
95
90
82
74
62
89
146
172
125
111
70
74
84
79
77
108
126
105
99
90
78
67
67
71
77
92
94
90
90
98
104
104
79
74
71
73
73
81
91
80
78
72
68
67
71
70
68
57
51
55
60
60
60
48
56
62
65
65
58
55
62
69
71
69
69
71
73
73
62
73
78
81
70
64
76
77
98
114
107
59
43
37
43
42
43
46
46
44
47
48
44
57
81
86
66
53
62
51
67
66
33
29
40
26
39
43
55
63
64
96
151
137
49
62
112
102
82
91
75
65
72
93
99
70
71
55
67
68
57
54
72
96
55
37
36
55
73
86
89
86
84
98
98
80
60
48
47
39
42
49
64
52
32
31
25
33
21
26
41
60
93
64
85
102
63
87
134
102
128
150
192
193
174
161
141
142
122
102
161
129
133
161
164
150
79
114
127
107
109
105
110
187
124
139
143
142
133
141
138
141
123
102
73
77
92
138
111
56
84
88
104
127
95
82
81
91
138
181
180
149
139
110
110
109
91
106
97
116
117
107
134
141
54
60
79
101
118
95
76
75
107
114
72
86
100
80
67
70
73
76
76
74
73
74
77
76
79
81
79
71
82
93
95
80
71
64
74
73
72
73
77
79
81
80
84
85
87
93
99
96
89
83
83
76
71
69
67
62
77
64
71
68
73
81
80
84
102
107
94
87
83
80
51
110
141
140
143
98
76
96
79
68
88
120
128
117
90
92
90
83
82
90
87
80
79
75
82
90
95
92
86
75
73
67
64
70
68
59
57
54
61
60
44
60
61
64
58
51
50
58
66
60
51
50
46
43
46
54
60
61
71
66
51
50
60
60
51
56
64
63
54
56
73
89
113
113
107
94
73
69
66
67
72
62
50
53
61
66
76
82
87
72
61
78
94
95
93
74
52
44
45
49
54
80
86
86
90
130
151
124
69
96
105
113
115
105
100
85
83
99
115
102
88
103
92
89
84
90
110
115
42
28
29
30
39
62
83
86
76
87
82
76
77
70
58
59
50
68
61
71
65
50
51
49
39
38
33
69
87
69
51
72
68
68
96
105
108
98
189
175
153
146
130
148
116
135
120
170
134
121
156
115
98
120
142
114
103
106
82
112
148
109
157
135
132
160
148
155
140
102
112
32
61
82
134
159
114
84
98
108
118
119
84
86
119
130
134
133
115
106
117
134
146
146
103
81
73
77
95
114
76
29
53
96
97
73
76
66
67
99
75
49
65
57
68
50
60
77
97
106
105
104
108
113
101
99
107
106
72
82
90
84
70
70
71
67
70
77
81
81
80
73
70
77
86
93
101
108
110
109
101
98
94
93
95
93
89
87
77
69
63
64
68
69
68
73
79
89
100
101
108
145
118
109
118
117
112
118
104
105
109
113
105
90
80
85
91
94
89
86
90
88
85
87
87
87
84
82
78
74
74
80
85
74
71
71
69
66
63
73
83
88
97
90
91
86
77
70
70
71
62
54
63
75
86
96
100
94
86
107
95
88
87
87
86
84
96
95
103
111
116
116
113
85
94
102
102
97
96
95
103
108
102
92
92
93
88
89
86
93
102
107
111
107
87
101
102
92
88
91
99
108
108
121
135
147
129
102
99
111
115
115
119
111
98
95
92
94
101
105
110
115
103
91
99
110
119
114
101
82
72
52
35
32
44
62
80
94
127
131
125
119
110
103
106
130
124
102
122
128
115
110
90
84
88
86
79
81
68
63
54
59
84
105
110
93
79
107
73
72
112
136
153
141
107
139
144
114
144
111
112
103
97
97
87
74
71
77
84
103
98
112
132
142
115
118
128
77
83
52
78
65
77
99
94
63
50
63
76
83
64
74
49
85
126
75
66
155
170
177
176
164
140
104
109
98
79
64
68
66
71
82
54
44
57
76
85
90
82
84
71
75
47
51
72
100
113
125
123
117
118
125
131
114
123
139
139
84
75
65
66
85
81
70
71
77
85
93
94
95
94
90
87
89
100
111
113
105
96
93
91
90
90
90
91
91
85
84
72
74
79
88
96
94
91
89
90
75
84
108
87
92
131
168
165
141
124
120
105
99
97
90
84
75
79
81
81
76
72
76
81
85
83
82
79
74
73
77
79
70
68
66
65
65
66
67
70
74
74
76
78
75
74
69
73
75
78
85
95
102
109
112
106
91
81
89
111
128
88
86
96
100
94
91
94
95
102
116
113
102
89
79
87
98
104
98
87
94
101
83
93
97
98
100
93
78
79
87
97
100
90
75
70
103
105
94
84
91
104
113
120
107
131
140
125
131
138
118
104
95
91
99
94
85
80
75
78
97
117
105
107
132
124
100
86
94
99
94
104
113
108
100
86
59
32
24
29
43
56
65
75
94
115
124
128
134
158
166
156
135
121
122
143
145
125
141
128
90
97
79
95
133
150
145
119
107
118
117
113
105
115
141
123
101
100
114
86
92
72
63
70
80
107
145
129
97
102
78
56
62
93
115
131
130
164
137
154
151
92
105
130
151
148
104
81
84
105
143
133
128
120
132
139
114
103
112
134
124
93
86
92
91
98
108
108
103
55
35
55
101
84
57
81
122
120
145
161
172
152
107
106
104
116
92
101
113
118
111
103
102
102
99
67
64
69
67
81
80
75
69
73
72
72
71
79
90
98
100
100
103
94
89
90
100
109
106
94
85
80
82
85
85
85
88
92
78
92
85
81
84
92
107
79
84
92
99
105
126
155
84
86
107
136
153
147
130
111
108
115
110
89
80
80
74
74
76
76
77
84
90
95
91
91
89
86
85
87
88
77
73
70
75
76
79
82
81
87
86
87
91
82
84
73
78
83
86
92
101
110
110
105
96
90
93
101
106
106
80
93
109
113
103
94
90
102
106
106
99
95
96
99
101
98
94
91
97
94
89
87
94
96
97
98
91
79
78
87
88
82
76
71
78
97
97
87
79
88
98
103
106
97
135
140
149
145
130
127
111
100
97
91
88
81
68
70
82
96
104
105
121
119
96
84
83
93
92
85
108
118
114
104
87
63
41
34
36
22
27
33
40
61
80
85
96
106
135
131
114
95
83
119
120
119
117
115
105
95
88
82
94
122
139
133
123
125
108
109
107
97
116
146
121
109
78
98
72
76
95
96
123
108
125
157
136
101
103
81
63
61
91
95
99
140
131
139
193
134
87
92
112
100
116
83
79
92
112
148
135
115
134
162
106
61
92
94
90
86
97
121
120
103
129
124
93
74
59
60
75
105
87
84
114
140
135
160
173
157
154
125
129
123
122
77
103
104
94
78
73
81
86
85
71
70
75
69
79
70
61
61
76
69
57
65
79
95
106
105
101
92
82
87
97
104
101
91
86
88
93
98
98
90
81
83
91
88
84
93
132
141
112
84
97
107
109
108
110
112
121
120
110
91
89
93
88
124
117
116
127
122
93
80
77
68
68
73
82
88
91
89
88
96
103
105
100
91
79
71
64
68
79
84
79
86
97
88
91
88
94
111
83
73
92
98
101
98
96
99
105
91
93
93
91
91
93
92
89
101
107
107
105
107
109
109
95
96
91
87
91
101
110
96
99
96
83
85
107
123
124
118
105
94
89
82
83
57
65
60
62
84
92
83
89
89
73
56
59
78
101
118
134
104
136
136
130
130
117
122
119
117
86
87
80
56
64
59
76
103
107
104
116
104
92
82
80
74
66
68
55
60
66
79
100
114
104
84
69
59
54
52
60
62
47
43
35
37
30
29
37
42
30
62
78
70
66
60
54
67
83
79
79
95
97
130
138
94
102
106
88
97
100
103
105
117
144
124
130
132
148
118
109
136
167
169
169
188
172
88
89
124
159
156
131
134
141
146
89
152
108
85
119
148
107
82
73
75
109
88
65
64
43
69
83
62
121
164
191
155
142
140
103
110
129
107
93
74
71
73
91
85
106
111
97
134
155
155
167
159
111
94
82
83
60
82
90
93
94
103
114
107
91
61
86
118
132
71
75
80
84
78
72
68
68
80
93
97
98
97
84
80
84
91
94
89
84
86
95
87
88
89
92
93
91
87
98
85
102
135
141
139
152
145
137
135
140
122
118
133
131
119
106
97
92
98
105
132
108
153
146
89
108
136
91
88
87
90
96
99
97
94
103
101
101
104
108
105
99
88
90
89
87
92
95
94
82
77
77
83
95
109
112
110
103
97
96
98
97
99
97
95
93
92
88
82
76
72
91
102
100
93
97
101
96
88
93
77
81
84
77
70
91
99
96
87
112
114
105
79
71
74
82
78
72
71
82
81
79
81
83
85
89
85
66
62
81
104
114
111
110
90
96
113
124
122
118
119
120
113
99
82
97
105
95
86
81
78
84
94
92
84
50
40
33
41
62
84
109
103
103
109
120
126
124
121
119
91
87
88
82
86
90
83
86
87
92
102
102
94
86
61
71
74
59
91
73
69
64
76
74
84
108
107
146
134
107
106
105
81
87
114
131
104
130
126
97
101
103
107
127
86
121
170
170
160
157
172
164
156
125
144
135
93
137
148
154
77
189
161
101
102
107
63
52
48
48
71
91
145
139
61
64
97
76
93
88
71
61
77
86
80
85
65
74
52
52
68
87
57
37
65
63
48
89
99
107
135
111
88
117
137
133
119
109
103
64
52
48
44
71
80
122
153
149
136
72
79
84
85
77
73
74
76
82
90
96
99
98
84
82
86
91
92
88
85
88
96
82
88
96
105
105
97
86
66
78
92
141
159
144
134
131
132
130
133
123
115
121
123
122
100
80
84
99
115
107
100
148
149
109
128
145
92
95
100
103
104
101
99
98
105
99
102
111
119
116
107
97
95
93
97
101
96
88
87
83
82
87
95
106
110
111
105
100
101
103
104
105
100
100
101
101
91
79
78
85
102
109
101
89
93
104
107
109
101
81
85
81
73
70
82
80
95
107
110
100
72
63
55
58
64
63
63
72
74
70
68
73
83
89
87
82
82
85
106
126
115
104
115
102
106
116
120
115
109
109
109
104
95
88
100
105
94
80
65
64
79
82
48
45
39
59
86
109
116
113
95
90
87
92
105
105
94
87
92
85
98
103
95
103
119
121
112
117
163
161
151
125
88
67
69
69
74
111
79
83
103
100
94
108
128
120
121
105
99
109
115
107
110
126
107
100
137
142
107
96
99
103
99
70
97
151
176
160
162
165
163
144
116
138
120
120
124
160
151
109
175
114
69
78
74
40
32
43
56
108
120
112
128
92
65
86
86
93
93
92
85
72
61
61
64
58
77
63
68
86
90
52
41
63
55
47
109
131
158
177
157
122
131
146
130
131
132
118
85
78
78
76
104
125
137
143
125
115
101
100
95
83
72
79
85
86
80
77
82
88
92
89
93
95
95
91
84
84
87
90
97
103
104
103
99
89
80
76
82
89
139
168
150
121
115
113
102
104
121
112
105
142
137
118
118
131
91
110
183
178
145
121
120
118
106
75
80
86
89
88
92
98
105
109
107
104
102
104
102
96
102
104
103
91
88
81
74
81
80
81
84
88
100
107
104
99
97
101
106
108
111
106
102
103
109
111
111
120
132
105
94
87
86
94
98
92
89
79
81
92
88
83
89
98
123
135
137
104
89
106
85
76
77
87
93
95
79
85
84
82
83
84
84
81
94
135
121
76
71
86
95
107
102
113
123
129
130
130
131
136
117
96
84
96
97
85
68
62
52
44
45
82
101
99
100
96
90
89
94
99
87
78
70
62
51
52
77
108
133
141
138
134
149
166
163
149
147
175
161
169
177
155
157
114
124
124
75
89
111
89
71
88
114
93
69
122
110
146
145
135
139
113
94
127
127
144
151
124
114
146
167
152
127
112
120
132
104
108
118
94
109
111
101
89
101
98
82
93
80
131
93
76
101
41
44
43
46
70
157
88
104
136
126
124
123
93
110
128
145
134
98
91
104
101
76
70
39
38
57
79
101
101
78
81
97
107
141
171
178
185
145
107
135
158
139
142
127
117
115
113
103
101
122
139
128
113
106
74
64
52
46
55
60
62
76
74
75
83
88
89
90
92
97
96
90
87
88
88
86
83
87
90
93
89
78
66
66
52
175
185
171
164
152
120
118
112
114
110
108
116
97
112
126
128
131
136
127
121
114
123
170
161
121
108
95
92
89
90
95
100
101
101
99
109
106
100
98
95
93
101
102
98
89
94
101
103
103
103
103
99
95
98
106
107
101
97
99
100
98
95
100
111
117
114
113
115
112
105
99
109
110
99
96
102
106
100
104
94
92
89
94
104
141
133
113
105
105
95
97
94
87
82
78
74
76
72
77
71
62
54
52
56
64
88
74
73
84
88
85
91
101
101
103
105
111
111
106
102
104
107
112
89
70
53
37
34
49
69
88
103
95
79
101
96
86
74
74
82
75
75
79
81
81
89
109
128
141
130
151
162
170
185
181
153
148
159
142
137
144
145
141
138
136
149
109
127
142
106
100
86
101
93
52
64
108
77
96
142
150
115
110
133
99
102
110
148
148
118
115
96
84
80
104
110
104
107
99
102
97
83
100
86
125
103
92
151
117
119
92
59
120
70
50
93
86
106
104
170
79
92
136
115
106
150
130
79
137
142
122
111
112
88
48
33
44
39
32
30
11
25
37
79
87
81
112
118
145
188
180
146
88
103
152
138
124
118
128
118
121
122
107
119
149
117
115
123
69
57
46
45
65
68
66
70
71
78
89
94
91
89
98
102
100
92
86
85
83
79
89
90
95
101
98
82
64
57
72
194
170
148
129
83
113
114
116
115
95
95
113
121
133
128
95
81
142
134
124
128
116
169
198
136
92
90
82
76
78
83
85
81
75
91
98
96
93
88
84
78
98
102
104
104
106
104
99
98
100
102
100
98
106
116
103
98
95
97
100
99
97
106
120
122
109
103
109
111
105
90
92
94
91
95
105
109
100
109
96
90
93
103
117
157
120
96
97
124
116
90
86
79
72
60
49
53
67
67
66
64
66
71
78
81
80
72
78
88
77
69
79
84
87
91
97
108
114
110
105
111
110
106
52
36
36
37
70
78
90
96
94
92
98
92
89
79
70
79
99
114
116
110
92
75
78
98
112
111
143
167
177
179
182
164
125
119
136
126
135
140
134
133
147
148
146
97
118
137
124
97
85
91
66
31
66
76
54
101
143
148
121
98
97
87
102
116
154
147
110
113
102
75
81
108
100
84
117
124
125
115
85
124
70
105
95
123
147
103
89
135
44
111
95
88
118
105
148
130
160
97
104
107
99
137
142
94
109
121
119
113
98
76
66
73
35
50
29
26
41
23
29
39
77
54
40
74
82
154
157
151
144
108
123
165
147
139
128
130
111
113
128
122
139
142
106
117
135
52
51
54
60
78
81
80
76
81
77
72
79
94
98
100
95
92
90
89
87
82
80
87
92
93
84
76
77
86
94
105
104
69
68
85
131
139
118
105
106
124
118
94
99
114
122
120
119
118
111
149
142
134
110
80
83
102
72
67
63
68
79
79
68
62
73
71
69
66
66
72
80
101
100
100
93
87
88
93
97
92
94
90
82
93
89
88
100
109
114
119
117
116
113
103
92
91
95
97
92
85
83
84
85
84
84
84
84
73
85
135
136
118
108
112
85
83
66
64
111
115
123
113
95
83
79
74
73
71
75
75
76
74
76
77
83
80
81
75
66
65
80
99
114
107
91
88
97
110
119
122
106
72
43
67
83
89
88
83
76
74
82
90
104
113
122
112
103
108
116
119
98
114
102
104
123
129
116
101
98
146
163
169
172
170
151
129
133
165
148
144
151
139
119
128
137
127
103
101
118
129
79
91
82
75
71
70
80
97
110
117
133
115
101
112
100
111
132
134
150
143
98
91
114
93
92
98
119
120
97
129
147
145
81
97
75
99
99
128
123
111
83
82
133
95
108
97
88
124
181
169
106
149
188
164
148
139
105
104
132
143
142
122
85
58
52
57
75
39
42
25
21
22
15
29
40
75
79
73
128
165
174
140
102
122
153
127
127
155
145
116
130
134
112
112
146
143
133
103
46
45
51
68
94
86
76
65
76
84
87
96
105
77
83
85
85
81
72
67
67
69
86
90
86
82
82
92
102
98
97
91
85
93
110
132
110
113
113
108
91
92
94
123
116
112
122
136
115
94
97
124
137
111
86
103
110
68
68
72
73
67
63
72
81
70
66
68
67
65
63
66
72
74
80
98
104
105
104
91
89
89
86
83
100
110
109
104
105
105
102
99
96
87
82
77
76
79
81
82
81
85
91
97
101
101
97
94
88
84
127
104
92
101
99
99
100
102
114
91
79
100
103
104
111
109
95
84
72
91
87
80
72
65
64
68
100
102
98
83
72
73
84
91
88
87
91
97
92
70
48
41
59
92
120
103
92
92
83
79
79
87
92
92
98
106
102
103
107
108
109
118
121
98
98
105
85
67
83
110
141
160
165
161
147
122
100
103
86
64
86
106
109
108
108
101
108
116
108
106
93
103
94
97
69
72
89
90
88
99
98
98
109
110
107
104
145
150
142
161
153
116
113
105
112
107
134
146
133
124
117
110
134
103
93
103
100
80
114
81
38
32
105
68
108
129
148
96
125
180
115
124
116
120
131
139
140
125
114
97
96
100
95
91
98
107
107
51
67
66
51
54
30
40
54
52
51
74
103
152
118
83
103
136
143
171
107
93
147
141
122
126
105
90
105
133
134
131
113
48
47
53
68
88
80
69
69
74
85
97
100
91
82
90
92
90
81
72
68
71
74
87
86
86
88
93
100
103
113
115
101
88
87
108
129
121
106
91
92
103
91
81
95
99
123
149
151
82
66
96
109
99
89
103
107
85
80
76
88
96
85
76
78
78
80
70
71
71
67
64
63
68
72
80
99
104
102
97
92
89
86
85
88
95
104
98
86
85
88
84
84
85
76
77
78
79
79
79
79
79
84
89
95
99
98
93
89
91
89
96
75
85
100
85
78
69
92
119
86
82
84
87
91
99
96
85
83
93
100
94
84
74
66
67
74
104
107
101
83
71
71
82
91
101
99
99
79
51
40
46
79
108
127
97
91
99
105
94
91
94
95
93
97
108
116
123
117
104
100
111
117
90
79
86
92
79
73
81
84
97
103
106
106
101
86
71
65
52
61
103
126
124
117
101
87
92
105
82
88
100
116
111
115
90
98
108
92
110
110
122
121
113
113
106
126
138
151
161
155
134
119
107
87
103
102
131
137
124
128
115
104
122
119
104
102
88
85
119
73
49
57
54
40
137
130
145
97
128
177
109
97
127
152
155
144
136
140
135
105
113
124
114
93
79
70
55
42
78
54
36
52
39
35
43
45
51
82
108
143
153
100
112
141
137
165
123
99
139
131
131
122
81
87
118
132
104
67
44
70
72
72
73
68
66
64
69
71
74
78
75
72
83
82
83
82
79
76
75
76
79
86
91
92
94
98
100
99
100
111
109
98
82
95
91
87
104
112
108
83
88
112
132
151
166
156
130
95
91
92
97
92
101
119
120
120
118
94
94
100
92
95
107
108
108
90
90
92
90
85
82
87
89
89
87
91
90
85
90
92
87
85
88
85
103
106
83
80
87
82
86
88
84
87
89
84
75
69
70
72
76
75
78
83
84
82
79
85
99
93
88
89
85
77
84
91
107
103
69
70
59
58
48
43
48
63
89
103
97
96
91
85
79
78
81
85
96
98
90
84
92
107
120
116
82
66
51
57
92
129
137
132
118
89
85
75
63
76
73
74
78
77
86
101
105
97
80
60
53
54
48
53
33
41
61
72
93
99
76
124
154
174
174
157
128
106
120
146
143
139
133
106
79
80
112
123
118
96
97
128
113
120
88
82
113
131
154
128
117
116
103
97
78
51
140
131
144
169
137
107
119
94
107
85
100
118
109
96
100
139
156
138
152
127
64
56
88
129
78
62
44
12
91
175
100
104
136
172
168
94
156
158
122
119
138
143
149
136
121
137
144
111
82
73
69
79
83
54
79
77
71
66
127
77
49
61
71
76
90
95
87
114
143
149
160
145
128
135
130
154
129
89
115
118
118
103
83
76
100
97
91
80
70
67
62
69
63
65
72
73
66
58
63
62
66
76
79
73
67
63
79
86
92
98
103
107
111
100
99
97
95
92
87
84
88
86
84
81
63
90
134
158
150
147
93
66
138
88
87
139
154
128
127
104
67
98
129
155
150
132
118
111
109
103
98
107
112
112
108
105
96
87
75
89
76
105
94
91
99
94
96
104
81
112
134
98
82
84
89
105
98
84
83
81
79
77
77
80
83
85
87
92
98
98
94
89
98
88
89
92
88
90
96
91
115
107
72
76
78
67
56
45
44
61
79
85
86
95
83
74
76
80
84
91
76
96
113
112
100
92
86
80
47
72
100
127
129
113
101
99
89
78
57
44
44
53
64
71
83
89
76
63
76
73
62
66
73
63
54
73
77
106
121
122
126
131
132
135
154
162
159
157
138
115
109
95
115
108
104
114
106
84
65
117
91
87
90
96
129
127
121
77
64
68
98
76
116
144
105
93
104
54
63
145
121
137
142
127
123
115
114
108
117
103
131
129
102
127
138
136
82
124
30
30
17
83
111
29
41
62
32
133
153
67
94
177
155
164
120
124
100
142
153
117
129
143
123
135
157
131
115
86
104
115
101
96
96
96
98
87
100
33
64
64
56
58
54
79
82
120
156
159
140
140
149
139
144
144
146
120
100
113
109
87
68
76
81
84
88
90
82
66
63
60
69
71
78
81
75
61
56
57
56
64
72
78
73
68
64
78
85
90
97
102
107
109
99
97
93
91
88
84
81
82
82
80
80
72
86
114
151
116
79
53
91
125
77
91
157
141
157
131
65
79
114
127
140
146
146
136
120
106
98
108
116
115
110
107
107
99
107
99
109
129
110
95
100
94
88
104
117
80
108
135
101
88
93
95
102
90
84
80
76
79
85
90
91
90
83
82
86
90
93
91
87
88
76
75
81
81
82
87
99
98
85
72
74
78
84
66
57
57
72
88
94
100
97
93
91
96
95
88
80
76
96
110
101
82
62
44
31
56
106
119
115
96
80
78
70
74
78
77
73
75
81
83
94
99
94
87
93
96
108
81
63
62
60
65
96
97
109
106
98
104
117
127
134
145
156
157
148
120
93
86
121
103
115
138
136
103
71
73
111
86
80
91
109
139
132
108
65
66
60
72
118
149
135
106
103
102
96
113
130
130
137
128
127
128
109
110
98
97
97
114
126
116
131
161
135
63
97
26
0
23
84
75
58
71
45
41
169
186
127
114
130
140
182
119
130
85
131
144
99
133
165
130
161
150
109
129
124
129
128
129
155
116
108
95
81
47
41
67
66
68
77
64
83
94
125
154
160
149
141
153
148
148
144
144
122
106
121
117
74
101
109
69
83
100
110
101
65
66
69
76
86
93
87
67
50
44
43
47
56
69
79
81
80
76
80
85
91
95
99
103
105
98
93
82
79
77
75
74
73
80
80
81
89
82
77
72
80
75
71
105
89
105
84
102
143
134
116
112
105
120
111
105
106
106
111
126
143
127
100
102
114
118
115
111
116
112
104
191
189
135
150
115
98
93
109
121
91
93
123
95
88
101
103
96
88
89
83
77
80
88
94
93
90
83
81
82
84
86
85
85
84
78
76
78
77
77
80
74
105
114
96
92
93
89
78
74
72
74
75
76
87
84
79
77
76
76
72
67
47
53
52
43
40
49
64
75
71
92
100
110
110
105
104
112
123
126
100
95
93
89
73
75
68
57
55
50
38
46
49
55
49
34
35
78
107
88
69
62
67
75
76
69
80
95
109
105
88
80
87
95
117
138
146
147
119
81
71
85
94
99
107
118
116
100
112
92
78
55
75
90
91
129
124
115
118
111
108
108
117
126
121
136
148
134
137
126
99
117
123
130
122
120
146
67
145
73
143
149
142
135
84
49
64
131
110
168
95
12
69
134
136
141
113
113
113
128
122
130
158
158
155
132
123
114
146
122
124
154
149
137
88
111
92
79
49
76
82
95
88
97
107
80
98
142
160
158
161
152
150
149
152
147
142
116
105
127
127
129
75
62
118
75
83
86
78
68
72
77
83
83
80
68
55
47
42
50
59
69
78
87
92
90
82
79
83
87
90
95
98
99
96
92
83
82
82
81
80
82
91
93
89
90
89
92
90
74
79
71
73
106
95
126
163
128
105
110
103
106
102
100
101
106
106
101
97
99
121
132
130
117
103
98
100
103
110
98
168
150
152
128
96
97
100
96
101
131
104
136
120
103
96
94
90
94
91
93
90
82
71
65
67
71
77
78
78
77
76
73
72
77
80
84
81
79
79
80
105
84
66
73
91
88
94
90
89
85
78
70
67
70
78
86
89
82
70
57
48
69
84
102
111
103
87
75
67
76
68
64
81
101
111
114
114
118
113
79
62
50
41
24
22
30
44
47
52
67
77
72
72
77
89
112
141
132
108
104
122
136
152
156
146
127
115
103
91
87
82
72
99
104
132
129
108
87
80
114
110
124
118
121
106
94
53
52
44
61
63
96
94
137
106
100
140
133
95
114
135
107
126
140
132
132
126
123
111
100
106
147
137
95
109
56
102
144
166
104
108
83
128
75
40
33
53
142
129
89
99
122
126
145
121
123
112
85
121
140
127
157
170
146
145
142
118
131
133
142
121
116
120
71
61
50
32
60
85
69
84
96
161
154
73
92
132
158
155
154
161
126
134
152
157
151
122
111
137
140
85
61
56
67
76
77
75
72
76
78
77
76
82
80
67
56
51
50
64
70
77
83
88
91
86
76
69
75
81
86
91
96
100
96
93
87
87
88
87
86
89
93
93
93
91
92
100
84
73
83
74
62
88
98
129
117
116
82
87
116
102
105
103
98
95
98
104
105
103
112
129
135
130
118
109
107
109
112
107
153
159
143
119
106
96
100
101
105
134
104
131
123
103
86
83
85
90
88
91
89
81
70
65
68
73
81
80
78
76
75
75
75
78
77
80
88
95
96
95
91
73
63
79
85
70
69
83
82
76
66
57
51
46
49
60
67
62
56
63
75
92
100
110
113
107
97
93
92
73
83
80
88
100
104
108
102
90
75
42
27
19
19
39
58
78
86
79
76
82
88
80
74
78
94
120
135
125
99
102
124
137
149
158
148
120
111
107
106
112
103
77
61
85
134
119
100
103
122
111
106
115
102
124
107
101
77
43
20
53
67
98
96
82
105
134
137
102
107
147
104
99
121
134
145
152
139
136
126
108
97
131
122
76
85
100
122
182
83
86
78
122
153
74
80
77
78
110
104
118
101
89
128
163
96
124
90
49
97
135
129
156
164
125
153
136
108
140
145
139
115
147
157
108
87
41
28
54
88
82
80
94
148
130
98
116
119
142
157
156
160
120
129
144
147
145
123
120
146
146
84
57
64
77
43
57
66
68
66
60
57
75
74
70
62
55
57
76
67
75
87
93
92
83
71
60
61
67
76
83
90
94
96
97
94
98
96
90
88
90
91
91
98
95
87
91
81
82
79
80
82
80
79
85
88
92
98
103
105
104
102
96
101
106
104
99
96
98
101
98
109
100
119
126
128
148
130
109
106
117
134
142
124
114
121
117
107
114
118
98
117
117
81
67
81
85
64
71
80
82
80
78
72
70
75
95
93
82
79
73
71
82
83
86
110
119
107
97
101
87
67
59
66
45
40
49
53
71
76
76
82
81
89
105
121
118
102
94
91
83
78
78
79
78
75
71
65
61
65
37
35
38
60
78
74
63
40
49
78
85
92
86
89
97
102
102
102
89
96
92
90
95
102
114
132
134
114
85
79
104
116
108
112
130
147
138
128
122
122
107
83
98
90
136
128
126
121
99
75
77
79
101
118
105
112
98
65
77
103
81
46
67
128
116
125
130
112
114
122
94
109
128
151
166
155
134
126
128
106
123
97
83
67
109
93
124
102
125
79
76
129
98
122
141
107
71
125
149
55
153
115
142
101
123
138
113
63
91
168
148
126
94
92
137
139
152
155
138
140
169
177
119
146
116
76
77
83
72
86
133
126
134
133
142
104
80
120
164
162
147
118
123
116
154
157
128
136
152
157
130
123
116
91
65
81
87
82
61
52
54
57
56
52
48
43
47
66
74
73
73
77
79
77
70
63
56
63
72
80
87
91
93
92
89
90
89
87
87
90
89
94
88
83
91
86
87
90
92
95
100
97
91
93
95
97
101
103
104
104
102
99
99
99
98
97
98
99
100
105
98
105
106
158
184
134
129
134
133
98
115
124
104
113
106
96
88
88
107
116
127
129
106
104
112
100
85
85
80
72
77
92
95
84
77
81
75
75
87
92
89
87
89
85
55
55
58
60
63
67
79
84
80
91
92
85
81
73
66
75
88
89
103
111
116
109
96
90
86
70
64
70
78
81
81
76
73
72
69
82
99
113
126
126
113
109
112
97
80
82
71
58
80
96
112
124
124
80
74
79
80
88
109
136
147
121
104
95
96
106
116
125
140
156
152
139
133
144
138
121
114
108
135
123
121
139
145
133
132
125
141
139
108
122
110
99
116
109
84
76
85
109
108
117
126
135
145
139
107
111
117
123
134
143
137
122
115
138
138
133
108
110
70
87
111
94
98
101
63
110
127
108
72
133
136
112
125
124
57
95
132
155
91
141
151
161
131
151
131
111
145
124
113
159
156
143
144
153
166
179
149
121
138
112
90
83
70
94
137
130
113
129
145
157
100
98
138
163
158
149
124
111
102
142
158
136
127
123
125
125
119
84
53
70
87
96
87
53
43
44
47
46
44
42
40
46
65
69
67
66
70
77
80
74
67
59
66
75
82
90
92
94
92
90
89
89
90
92
93
83
99
98
92
85
81
92
93
96
100
103
101
91
91
102
102
105
105
104
102
98
97
95
93
93
94
96
97
97
104
93
111
161
197
178
143
143
133
136
128
115
106
97
106
97
92
91
90
109
129
118
125
111
118
125
108
97
81
87
86
83
81
77
75
80
83
82
85
93
94
85
75
55
65
57
68
84
89
88
96
103
102
91
85
84
79
84
75
76
90
96
86
91
99
111
110
94
83
77
75
82
87
92
92
89
87
86
87
91
94
103
114
122
119
108
97
117
111
94
81
62
61
86
98
109
117
116
75
68
80
89
103
125
141
135
88
86
100
115
126
132
138
142
145
148
131
125
141
135
119
124
120
139
117
127
138
133
126
136
146
154
135
124
122
88
88
108
94
73
93
122
132
114
117
115
122
134
119
89
76
114
136
133
131
136
135
133
141
121
133
140
148
72
64
136
78
101
92
76
102
127
96
96
142
117
121
134
147
38
97
131
119
93
140
136
183
122
122
146
133
166
115
129
146
139
139
151
161
163
159
138
120
150
121
95
99
107
113
111
90
121
113
140
161
118
117
139
143
143
143
124
119
113
146
155
144
144
131
117
130
107
58
31
77
94
98
84
46
34
36
36
38
38
40
46
55
74
68
67
68
70
72
71
63
58
68
73
81
88
93
95
95
88
90
91
93
97
99
99
96
85
84
89
97
99
96
96
100
101
97
96
93
89
86
89
96
99
101
100
97
88
88
88
91
92
93
95
97
92
85
103
120
113
106
114
106
106
102
115
129
125
111
100
91
92
100
103
106
120
117
119
92
87
96
98
119
129
122
101
80
70
65
69
79
84
80
75
71
81
93
93
114
112
69
69
80
87
90
78
73
72
77
95
111
125
113
110
116
114
90
68
73
84
85
79
81
97
108
111
113
108
102
98
96
96
99
100
99
96
96
109
113
105
98
99
109
114
92
70
78
108
88
90
85
79
74
69
80
89
105
110
114
116
99
83
102
120
130
126
123
128
135
137
111
106
115
124
124
127
134
132
107
129
152
151
145
147
130
129
125
128
88
86
122
100
107
103
94
91
89
111
94
112
146
170
148
102
84
161
109
81
110
147
140
114
108
114
115
116
113
122
65
112
115
82
170
140
122
94
143
77
78
147
187
151
141
111
100
116
130
107
116
128
110
112
104
132
147
142
109
99
124
138
147
160
155
151
162
175
156
138
95
77
78
72
49
67
62
89
122
105
141
140
145
146
149
142
154
150
119
129
129
145
136
140
157
136
105
99
77
64
66
80
85
75
55
31
32
38
42
41
42
44
50
60
73
61
63
62
60
58
57
59
58
66
71
77
82
86
86
86
75
81
85
88
94
95
91
84
93
143
162
98
103
87
80
83
82
77
77
91
92
78
82
87
92
90
84
76
63
68
74
75
74
73
76
79
86
85
80
94
100
95
96
110
105
101
92
78
93
127
139
121
105
98
100
100
100
111
123
98
85
91
92
86
103
119
126
120
103
77
58
53
59
76
90
90
90
81
60
80
84
88
96
96
92
93
97
108
101
82
118
128
115
108
104
106
95
77
81
102
111
115
111
106
106
102
96
99
94
90
92
99
103
103
99
110
84
73
87
95
93
98
101
103
110
63
73
95
94
111
116
112
98
79
56
65
73
90
92
94
95
68
45
105
121
135
135
126
118
113
110
76
100
134
137
146
164
157
136
123
171
157
148
150
140
142
126
121
107
106
122
105
78
68
73
76
75
102
127
117
124
146
140
107
97
92
92
127
148
140
133
127
105
83
61
112
94
95
132
74
114
97
75
106
126
108
152
131
78
139
137
144
82
124
109
116
127
118
102
116
75
62
116
155
140
112
108
79
125
122
134
143
139
136
153
165
153
123
123
75
49
54
64
60
62
68
94
88
149
125
106
150
155
152
143
156
153
161
171
148
149
147
135
131
128
143
54
45
72
77
63
58
51
46
44
44
46
42
45
48
51
55
56
63
57
55
57
57
53
48
54
63
72
81
87
81
77
81
81
84
87
89
95
84
76
86
131
165
153
112
108
95
83
65
80
58
65
79
102
96
106
89
95
106
95
88
78
71
79
70
61
68
72
74
85
93
84
88
91
86
82
81
91
100
98
97
90
85
95
129
138
129
104
92
88
70
109
127
84
87
92
90
88
85
87
99
127
137
108
80
85
80
71
58
63
70
75
85
96
98
94
91
89
82
76
96
86
85
101
119
118
119
118
124
115
104
107
110
139
154
139
122
114
109
104
106
104
104
106
103
97
94
98
106
114
82
85
105
112
100
91
96
110
92
58
70
83
97
97
99
92
76
62
62
66
64
88
97
84
71
63
75
88
113
124
117
120
127
126
118
96
122
147
148
147
150
145
121
120
169
158
145
140
128
115
117
112
106
121
114
100
87
84
86
100
111
119
108
112
175
120
149
138
84
84
113
127
126
115
108
108
104
97
93
102
38
112
150
80
107
81
68
71
100
98
140
130
80
135
164
115
109
140
141
165
99
84
85
74
72
70
134
112
127
103
75
96
106
114
132
128
148
157
162
117
112
134
158
58
72
90
88
48
69
60
79
86
157
118
136
169
154
166
161
166
146
160
166
147
160
154
126
153
166
117
63
70
89
92
49
50
51
54
52
52
51
52
51
51
54
57
56
49
42
43
46
50
49
50
54
61
72
76
83
88
88
90
93
101
105
104
103
99
125
170
186
145
118
114
96
96
101
94
98
92
90
126
119
113
105
106
138
136
85
68
83
75
71
64
67
75
71
67
75
67
75
77
76
73
76
81
86
77
69
81
74
69
77
73
87
112
130
125
87
83
93
132
97
76
62
68
57
66
62
75
80
84
113
125
99
86
69
61
70
80
86
92
91
95
87
79
75
69
66
64
63
72
90
113
118
123
129
120
102
96
108
119
135
116
116
116
115
111
103
103
98
88
76
74
76
81
89
95
102
106
112
116
103
86
80
89
84
74
80
88
94
103
107
90
68
56
66
94
97
96
96
102
119
127
112
76
72
68
63
77
104
118
117
115
106
122
136
145
155
154
140
119
119
131
138
158
159
135
130
120
118
121
83
74
80
105
96
90
64
80
106
110
145
125
121
167
137
117
111
77
75
101
146
155
126
116
138
133
107
123
160
137
72
109
120
121
110
127
117
145
137
70
142
186
145
133
155
114
117
65
58
68
72
85
87
108
120
108
88
112
111
82
100
149
155
152
124
135
122
134
133
113
53
78
74
79
97
62
64
92
100
122
109
153
170
166
158
127
151
164
128
146
154
145
144
159
147
114
95
93
66
29
19
48
54
61
64
57
55
54
52
60
66
65
61
57
60
45
49
52
54
57
58
60
62
66
63
66
79
82
84
94
108
99
86
95
91
95
117
162
143
138
124
78
88
89
84
79
101
88
88
131
155
125
103
102
98
78
84
95
80
73
75
77
68
59
60
64
85
81
81
81
81
77
73
68
65
71
81
80
86
93
92
84
76
84
112
125
103
114
115
72
81
82
85
76
67
65
49
59
102
119
108
111
103
80
79
87
91
86
80
75
76
67
66
74
81
86
83
78
74
74
84
94
102
107
100
93
89
90
98
113
106
103
100
102
106
100
86
76
81
89
94
91
86
85
89
107
118
123
118
99
86
89
97
87
88
94
87
93
104
110
102
92
90
99
114
112
98
99
107
119
121
107
110
122
109
95
94
93
83
88
106
126
124
125
141
157
154
140
121
112
130
137
136
142
152
151
140
119
96
95
102
100
105
91
97
92
88
76
119
128
149
150
125
104
137
101
91
96
91
89
113
141
123
81
93
99
73
107
117
74
119
119
137
132
151
136
134
93
70
139
118
84
138
134
91
42
82
124
99
68
80
94
96
88
71
66
70
74
84
89
117
116
128
127
139
100
96
109
94
104
74
93
99
56
79
68
77
99
128
136
170
168
164
157
132
155
156
157
150
147
149
145
121
95
76
61
67
56
48
51
55
62
68
69
63
63
65
60
60
60
60
59
59
56
55
61
65
67
70
74
73
68
81
72
68
78
79
83
102
115
131
143
157
150
126
111
90
121
134
118
85
71
66
69
81
56
77
133
103
82
67
88
92
89
94
88
80
72
67
65
62
61
76
83
72
64
71
69
72
76
76
72
70
78
89
85
97
101
86
77
85
86
70
54
92
119
137
130
82
79
63
66
70
72
90
92
96
105
92
82
100
84
87
94
79
67
70
75
67
69
71
73
71
60
50
36
47
64
80
91
83
74
69
71
86
95
91
92
88
88
82
77
80
97
113
114
92
93
96
100
99
95
96
99
91
83
98
115
112
106
111
90
82
90
85
81
91
97
104
95
84
82
93
106
104
91
102
105
103
103
103
122
124
106
95
112
136
133
111
99
98
96
107
129
136
129
127
118
124
137
133
124
133
155
158
155
144
127
105
101
98
93
99
91
100
64
44
121
138
144
122
137
130
120
95
89
97
117
153
143
67
55
127
131
144
117
100
118
85
73
89
100
132
151
139
160
117
72
118
139
138
120
155
127
96
95
101
84
74
82
79
98
92
84
85
61
64
115
123
133
136
152
155
138
100
152
142
110
106
119
117
96
115
121
109
94
103
127
150
165
173
162
147
128
162
159
157
138
141
155
140
88
59
45
17
88
78
40
17
59
63
68
70
66
68
70
72
65
60
60
65
66
53
56
63
68
69
75
80
78
72
90
80
73
82
80
86
107
167
182
154
147
136
112
98
102
119
106
85
88
92
107
98
69
76
135
122
100
88
81
108
103
95
110
101
85
87
76
68
59
60
79
82
58
61
72
69
67
70
72
71
61
65
70
76
111
129
115
107
93
82
79
71
78
99
138
147
102
81
52
63
72
84
71
62
65
81
93
88
78
72
92
103
82
69
82
98
69
67
61
64
63
53
43
57
65
77
87
82
65
51
56
50
58
67
70
85
99
94
98
102
108
116
120
112
86
86
90
97
100
96
90
87
74
60
81
108
111
106
109
93
82
86
79
78
87
85
79
73
69
78
95
105
97
78
90
93
94
103
113
120
113
107
107
127
150
144
119
102
92
81
88
110
117
116
125
115
131
132
129
130
138
152
144
138
137
136
101
98
107
120
109
68
86
77
85
121
120
123
100
126
119
113
102
69
83
140
168
126
100
109
106
107
143
94
106
138
88
72
85
121
159
129
147
180
109
92
129
116
108
111
130
129
95
101
121
105
67
44
54
76
73
57
68
58
52
82
77
140
127
137
150
132
98
173
152
99
122
124
141
129
120
110
107
93
98
122
156
172
168
157
136
116
163
171
150
153
149
140
109
70
63
71
67
60
45
38
34
58
59
61
63
63
61
62
56
55
54
60
68
75
76
68
63
56
52
53
60
68
73
78
75
73
71
72
77
84
111
161
116
126
132
143
135
109
142
140
141
172
178
136
100
76
63
78
107
132
103
89
100
92
99
117
102
88
99
77
69
70
65
61
60
54
53
64
75
82
81
76
71
67
73
70
72
72
59
47
70
68
60
58
70
103
119
104
97
104
115
103
80
102
83
87
89
94
100
101
91
79
74
69
88
112
117
98
77
88
71
76
79
80
82
84
89
74
66
74
87
81
76
94
92
84
71
62
62
77
78
79
85
95
101
97
91
85
87
99
107
95
81
79
81
73
74
93
108
110
101
95
70
67
76
79
82
89
88
83
70
63
71
85
85
77
75
93
111
112
111
122
115
92
90
120
134
133
114
90
113
156
142
112
91
73
71
87
103
120
133
150
151
138
135
104
108
114
118
104
104
111
79
83
126
129
100
107
119
106
121
136
133
134
117
82
106
114
116
125
127
81
50
82
86
114
120
120
148
105
97
115
156
167
152
157
173
107
121
124
116
134
115
140
110
95
67
62
67
54
47
40
46
64
71
65
70
82
92
101
140
124
92
95
111
122
157
153
135
143
129
117
139
124
104
116
123
125
131
102
66
76
139
140
146
178
162
155
158
145
104
85
115
130
107
87
94
68
51
56
70
76
85
91
82
71
63
65
65
67
69
74
77
75
79
77
74
71
71
78
87
95
81
82
80
74
70
74
81
125
153
144
175
155
169
162
122
130
129
155
126
147
120
96
94
81
61
45
53
55
69
70
80
79
82
117
145
108
91
76
68
62
60
61
62
77
72
71
60
54
65
84
75
69
62
72
72
75
87
74
80
79
78
80
78
84
108
98
98
112
132
133
83
102
98
97
99
91
83
89
104
108
106
86
75
66
87
135
130
94
58
56
62
73
84
92
89
92
94
75
83
100
80
77
76
81
85
83
72
55
56
58
57
53
46
45
56
63
78
86
74
65
68
71
59
49
58
76
97
111
119
87
82
86
87
81
86
94
90
88
89
93
94
83
81
92
106
120
117
113
121
105
104
111
118
121
130
130
117
113
134
106
90
94
85
70
65
53
74
59
57
63
85
120
92
122
134
101
94
120
110
85
105
112
71
60
96
98
90
99
94
113
101
84
109
127
146
145
156
107
78
101
37
82
90
88
90
126
102
122
134
151
147
135
155
160
99
151
143
129
132
118
149
135
168
106
50
45
60
62
80
110
106
101
102
99
83
70
72
67
76
56
68
128
151
138
110
116
159
150
142
143
134
112
90
75
92
137
107
69
120
170
147
118
128
128
163
122
88
101
145
154
142
127
109
95
79
74
59
80
85
90
85
70
69
70
74
73
72
72
75
77
78
85
89
92
88
82
81
89
98
84
82
78
70
64
64
68
112
113
135
157
148
169
152
150
134
131
113
96
116
126
118
100
77
66
77
78
64
62
57
75
83
73
85
106
123
105
81
68
67
67
64
64
65
63
64
73
84
93
95
75
80
86
90
73
65
73
72
75
71
67
70
81
93
122
118
106
102
123
141
95
90
92
101
108
99
81
82
94
103
78
63
71
68
70
95
112
102
64
51
64
84
92
83
95
101
91
78
85
92
83
79
78
80
78
72
67
73
73
74
72
66
60
62
71
71
82
89
87
89
93
94
77
59
60
70
84
90
91
87
82
75
70
68
69
73
85
81
81
86
90
83
81
82
84
94
103
102
103
107
96
118
119
112
120
126
112
87
108
93
88
91
76
54
50
75
67
55
40
61
107
132
83
118
131
98
99
120
108
106
84
89
80
72
91
84
93
77
88
127
100
82
122
118
135
148
119
81
109
108
20
80
95
104
131
169
103
74
123
137
147
142
147
145
106
121
122
127
132
121
147
143
130
103
77
77
88
85
78
70
58
46
49
57
55
56
66
59
81
67
75
132
148
127
130
133
154
140
134
129
127
94
64
62
102
119
85
65
88
119
122
127
140
150
146
98
100
124
142
140
148
149
128
64
63
66
48
83
80
72
58
48
57
67
70
70
74
76
77
79
81
84
83
80
77
75
75
77
79
70
76
91
104
107
101
95
83
72
85
95
106
82
73
51
103
103
75
92
79
52
84
113
125
113
96
70
75
72
73
70
73
79
88
131
135
130
109
93
90
82
69
68
71
74
92
105
99
83
69
89
89
84
83
82
82
88
89
98
100
96
91
76
80
96
94
99
108
111
116
149
136
124
107
93
82
78
87
99
94
92
86
72
61
59
63
70
88
110
91
76
65
56
75
81
89
95
93
91
89
83
75
72
78
82
80
88
68
68
69
71
70
71
74
78
74
73
77
80
88
94
90
69
87
84
78
77
78
78
91
112
107
73
72
71
73
71
65
59
59
61
68
72
85
79
78
74
65
61
58
60
62
41
58
80
92
126
142
103
77
60
62
67
92
127
139
127
129
104
82
66
48
96
117
117
117
109
75
68
115
102
96
74
61
67
122
87
81
105
111
96
94
89
119
119
104
67
80
115
103
96
80
134
111
99
130
116
154
168
134
125
96
74
78
105
120
123
141
142
134
130
128
151
126
107
94
93
118
120
91
81
64
55
59
59
57
61
58
56
44
65
119
149
166
133
128
113
103
114
108
119
68
39
42
82
87
85
102
125
130
120
120
113
106
108
126
158
159
142
142
137
121
119
44
41
49
49
90
82
71
62
62
64
66
76
69
70
75
75
78
80
68
71
75
75
79
87
91
93
96
86
79
78
82
85
87
92
107
101
177
177
122
142
168
153
115
82
83
74
72
72
68
85
122
136
91
81
82
71
64
63
64
79
97
89
95
94
103
118
101
77
81
70
64
59
60
74
87
92
91
112
88
109
78
89
109
87
106
104
91
93
91
91
95
101
104
104
107
117
128
128
129
136
133
108
81
78
94
68
74
83
66
49
48
48
51
41
73
104
105
85
73
78
81
101
105
55
70
89
97
83
69
65
65
64
70
53
57
60
60
60
67
79
92
84
62
52
60
65
70
86
100
97
79
89
95
85
100
103
95
103
98
62
53
69
72
75
71
65
59
60
61
67
48
54
67
58
56
57
50
78
72
100
106
63
67
89
99
66
33
39
71
87
58
51
107
133
105
77
104
109
107
58
65
130
72
78
49
76
105
111
97
98
76
126
143
106
93
93
100
106
96
118
121
119
109
104
111
132
153
127
78
69
74
63
58
70
89
67
53
109
91
71
86
96
68
79
105
113
125
87
93
99
122
130
115
112
117
117
109
93
88
79
54
41
56
27
51
90
98
110
120
104
105
117
114
77
66
74
70
72
53
39
41
80
96
96
112
96
71
66
100
148
161
155
154
155
131
132
129
96
108
67
46
44
47
83
80
73
68
68
69
68
74
68
71
79
82
86
81
80
81
80
75
75
80
87
90
83
74
77
86
95
94
91
85
94
116
168
144
86
108
147
136
107
86
80
76
79
75
72
79
96
112
114
109
89
80
74
68
62
62
68
98
88
73
90
129
130
99
82
66
61
61
69
85
95
96
94
86
98
96
110
114
104
102
105
97
88
88
96
114
97
100
99
99
104
113
119
107
109
121
135
134
113
90
78
85
88
72
54
55
62
55
57
55
61
88
105
102
95
79
90
99
85
71
87
88
83
72
65
68
74
79
86
63
67
70
70
70
76
87
88
77
59
62
84
94
94
100
90
103
95
94
97
97
108
110
92
85
101
89
81
83
90
82
67
58
63
89
94
89
77
66
59
57
68
67
94
102
95
90
86
90
84
47
75
60
42
43
66
89
77
56
73
103
84
95
112
115
115
132
100
85
50
51
55
39
96
92
99
113
79
139
118
107
92
89
112
111
91
137
132
140
131
116
136
144
109
125
104
75
55
42
38
51
74
54
40
92
99
85
78
50
51
69
96
112
116
108
103
107
122
117
86
78
90
103
115
124
122
105
78
57
49
31
64
111
128
134
137
128
91
111
146
118
97
90
81
70
49
49
76
119
127
129
89
78
78
94
125
165
174
155
155
155
133
133
131
103
114
73
64
68
48
67
75
82
84
84
75
64
73
74
81
84
82
84
79
78
78
75
67
66
70
77
79
85
94
98
95
94
95
98
81
105
106
118
140
128
121
103
93
95
111
105
98
104
93
88
79
74
77
106
119
118
95
75
68
73
83
83
62
56
43
51
90
118
117
107
95
79
74
73
72
72
70
86
97
92
97
135
111
98
85
96
99
93
99
96
79
80
84
88
91
91
95
98
119
103
87
89
113
139
138
124
78
57
63
72
72
64
58
52
62
59
68
81
94
104
99
81
72
78
82
84
88
86
86
85
82
75
68
65
71
71
70
68
68
74
85
99
91
82
81
87
91
97
104
139
147
149
107
80
81
60
58
83
100
95
100
102
97
76
78
80
85
91
86
76
70
98
93
68
62
61
76
83
57
119
136
92
86
104
132
88
62
72
80
87
113
114
94
73
61
78
55
28
75
101
57
47
93
88
67
61
91
89
52
90
143
139
104
169
97
82
85
89
117
115
47
53
42
66
127
129
105
117
113
110
104
104
101
97
91
108
105
104
61
73
91
84
76
61
51
74
110
127
140
130
114
103
90
74
69
72
118
108
118
119
98
102
117
111
107
90
95
120
128
134
157
115
93
85
82
77
83
94
136
127
128
128
98
99
105
115
79
85
115
128
148
165
159
163
154
131
122
124
134
155
81
68
90
110
122
120
106
85
75
71
62
71
80
91
90
84
91
101
82
85
84
79
74
72
69
67
74
72
78
90
92
85
74
91
78
86
87
93
100
131
201
172
156
154
119
101
90
101
95
102
117
109
86
100
107
118
124
105
76
64
67
71
67
60
55
62
83
105
114
95
92
86
75
68
71
78
68
65
55
76
95
135
96
100
80
88
109
100
72
81
81
89
98
104
99
92
102
101
107
102
87
77
81
93
99
136
117
81
67
71
71
66
63
53
56
57
47
55
83
114
116
94
64
75
75
67
61
70
77
75
70
69
72
60
62
65
69
74
82
91
80
72
79
95
102
98
83
65
75
91
136
131
118
140
118
102
119
125
84
77
82
88
110
111
101
84
69
73
80
58
58
59
78
106
117
120
108
110
112
93
82
87
85
96
106
105
120
106
98
125
127
109
115
115
78
71
96
39
40
43
54
63
105
87
89
116
86
98
91
83
107
101
88
82
82
86
114
126
102
92
88
90
84
71
79
91
85
105
95
111
101
78
76
85
103
93
96
95
88
92
97
111
95
95
98
89
96
88
92
80
73
82
94
94
87
76
62
87
127
124
95
79
74
65
49
68
109
117
103
98
73
63
95
128
131
124
127
121
113
95
80
136
158
150
102
70
68
106
140
153
163
148
160
150
140
123
116
136
141
150
124
101
107
84
102
116
118
109
88
65
72
79
88
88
86
94
89
83
85
85
81
75
73
72
68
72
70
74
82
85
82
79
79
68
91
96
85
92
142
163
148
149
158
143
134
121
87
88
97
106
105
109
121
91
108
124
114
91
80
78
64
61
63
65
66
78
102
117
109
104
99
87
74
68
69
69
58
67
68
99
121
83
74
90
118
123
90
74
87
96
94
94
97
97
92
96
97
95
85
73
66
72
88
101
147
147
114
90
79
73
71
63
56
55
62
59
61
76
93
112
102
75
79
78
75
80
81
78
74
75
76
63
57
62
68
72
74
73
72
77
76
90
99
89
77
66
53
72
78
120
119
96
118
102
106
115
128
118
98
89
91
105
114
116
107
95
89
90
73
71
76
87
102
119
97
88
72
65
91
97
81
90
103
80
74
80
73
94
150
164
157
149
131
105
105
103
65
79
69
75
95
119
78
106
93
98
98
104
109
102
61
81
89
80
69
98
110
91
73
69
89
93
69
72
86
74
102
90
94
74
59
62
69
84
82
81
104
98
82
77
78
87
83
72
66
63
67
71
76
79
80
73
64
66
80
73
77
91
89
68
56
62
74
54
64
91
98
82
67
53
62
99
122
114
96
94
95
100
108
114
141
139
121
119
91
69
87
124
137
168
153
157
140
141
135
133
154
146
98
97
105
104
80
71
67
74
122
118
94
82
89
98
103
97
84
71
88
78
74
81
87
81
75
74
67
66
71
74
79
87
95
76
87
99
90
89
93
90
128
161
156
120
85
85
100
106
115
135
153
150
126
131
104
121
103
99
114
114
106
91
85
75
67
67
69
69
66
91
107
99
100
100
92
88
88
96
84
85
92
80
109
166
149
126
111
113
111
93
85
89
74
64
77
85
80
85
70
71
83
86
86
93
100
103
115
140
150
130
97
72
71
63
66
72
70
72
76
65
53
82
115
78
82
89
89
75
68
85
108
110
97
85
79
83
91
86
71
64
96
89
78
72
77
82
74
60
62
38
94
95
44
49
39
30
41
60
84
80
68
59
68
93
122
115
84
97
90
67
68
52
47
59
55
26
60
49
54
54
42
49
52
33
25
41
63
62
72
75
52
102
94
87
82
66
95
97
126
134
98
70
53
91
71
131
99
96
115
127
137
128
95
108
124
127
126
142
140
122
93
81
121
124
119
149
130
150
112
90
75
72
81
136
141
69
76
70
43
57
86
112
128
108
96
112
80
102
87
93
95
112
100
70
67
68
74
57
58
66
58
60
60
59
61
76
77
76
77
75
79
103
85
87
101
114
128
134
127
137
142
148
100
67
47
90
103
96
106
117
165
150
157
160
141
113
102
104
101
129
121
107
102
60
72
84
81
85
93
90
74
76
78
76
75
86
133
104
106
112
117
112
102
99
100
108
106
107
109
115
125
136
116
117
141
135
119
130
159
146
148
136
129
133
128
134
128
111
133
146
117
134
127
155
159
171
152
95
108
161
120
112
99
87
79
71
66
63
60
89
109
87
82
96
93
73
69
70
113
109
74
82
75
78
76
72
74
70
61
55
58
66
83
91
86
121
92
76
71
77
80
84
94
101
89
74
73
103
137
135
110
86
78
66
75
82
77
67
64
67
57
71
114
86
74
78
98
100
83
74
75
76
73
72
69
74
93
106
91
57
45
45
58
59
47
46
57
64
67
110
108
58
53
53
52
58
70
100
101
91
82
104
79
49
67
109
56
40
49
37
43
69
78
61
70
79
57
52
64
72
85
110
130
100
67
52
61
60
54
62
93
92
78
58
79
85
108
118
98
85
73
53
90
101
96
116
157
144
94
101
100
102
111
119
132
137
125
114
101
83
112
118
136
156
129
133
128
100
78
115
136
96
77
92
84
79
65
96
124
111
98
88
100
98
75
102
86
69
73
64
72
71
63
71
65
86
82
84
82
66
71
77
48
42
43
38
42
59
72
78
67
100
118
141
153
145
146
132
141
148
137
97
81
100
101
102
107
123
143
152
133
130
123
119
118
115
118
126
121
154
189
178
62
65
70
72
83
84
73
66
71
78
80
75
73
89
71
77
86
99
103
100
98
101
106
114
119
125
132
144
153
132
119
154
149
150
161
156
142
131
120
124
140
134
140
141
130
142
146
126
135
137
135
156
128
108
115
125
141
121
116
109
101
90
80
72
70
83
92
106
117
92
71
83
80
74
78
106
89
51
60
69
70
66
62
64
66
62
78
89
87
73
65
69
80
81
65
60
64
66
72
83
89
78
61
49
63
95
119
126
123
100
76
79
78
77
78
77
81
69
68
114
102
87
79
83
78
72
76
78
71
72
54
51
73
89
78
54
53
54
63
76
79
77
84
95
100
81
101
100
56
44
50
44
46
54
83
88
80
71
72
57
42
61
94
80
76
74
72
81
90
85
79
73
61
55
72
78
69
91
111
93
65
81
87
61
58
73
68
84
91
85
66
47
87
101
102
75
77
63
62
136
89
123
123
127
113
99
118
111
101
121
118
109
119
121
111
92
116
133
132
155
141
112
148
140
130
138
138
86
63
111
93
96
71
74
51
140
76
89
88
110
112
87
99
73
58
67
61
68
69
64
67
82
81
65
73
70
48
60
85
66
73
76
63
45
39
41
53
36
92
108
131
150
142
128
133
153
142
96
96
127
117
104
110
128
143
153
115
105
124
131
123
110
97
110
143
115
118
124
113
85
88
92
88
75
77
72
61
59
61
66
69
68
68
75
72
71
72
71
68
59
54
70
78
81
82
82
76
71
71
78
106
83
134
173
130
104
88
74
69
67
73
79
59
75
70
69
82
66
82
107
147
109
90
127
123
89
102
112
131
147
143
126
114
111
133
147
145
128
128
137
133
107
114
134
128
103
72
79
111
113
114
116
116
98
90
81
65
67
81
87
93
131
116
105
101
101
97
93
93
89
73
73
82
81
76
77
87
125
147
98
80
93
92
70
56
53
62
53
56
94
101
93
68
49
52
56
47
67
76
97
105
85
61
56
61
66
80
83
72
70
82
83
74
62
47
60
94
76
41
47
57
52
49
56
57
53
47
50
48
59
58
45
94
93
73
28
31
59
40
18
35
69
60
44
34
28
24
32
52
40
32
39
54
43
29
35
86
34
70
71
58
45
85
56
87
94
65
120
59
63
77
111
119
131
147
105
93
120
96
87
99
107
111
123
144
120
118
156
128
117
163
141
149
84
110
132
105
97
108
49
74
122
79
115
33
74
88
97
91
84
85
59
63
58
72
74
82
73
53
54
52
92
98
100
116
122
113
85
62
59
57
60
58
60
72
102
87
81
64
62
76
81
81
83
109
120
129
123
136
121
116
116
117
114
111
125
136
145
117
100
120
121
113
131
145
128
105
121
73
69
71
71
71
73
69
79
78
76
72
66
65
84
87
89
89
79
68
62
65
67
66
64
65
68
68
58
46
53
72
66
100
132
105
54
75
71
69
68
70
73
68
75
65
67
71
64
62
50
66
98
112
112
106
127
150
91
81
72
68
69
78
104
131
134
116
70
90
120
124
130
138
132
137
150
158
140
136
118
125
132
132
126
127
137
104
111
123
120
107
112
109
114
110
114
116
110
103
94
82
89
88
74
68
77
82
77
62
83
161
136
84
66
84
68
64
51
53
52
52
78
113
99
79
79
99
109
86
58
46
42
48
48
42
43
59
48
41
43
44
40
35
35
40
38
43
84
75
31
42
40
37
35
39
44
49
51
69
69
63
72
82
77
114
157
105
96
106
86
86
86
95
122
114
92
99
110
113
122
106
118
132
110
93
87
67
82
104
81
88
100
107
55
68
17
72
112
76
40
126
128
129
116
112
118
102
97
113
94
103
100
79
105
141
109
123
138
102
99
127
115
125
115
127
128
107
99
117
88
117
62
59
53
60
58
77
91
74
65
71
70
57
63
58
65
65
78
73
66
103
126
113
83
86
81
49
53
70
54
40
36
51
57
58
66
72
78
81
103
112
104
102
106
99
93
61
57
71
93
114
121
115
123
137
112
87
125
150
116
83
106
112
101
116
124
126
129
122
70
76
85
87
71
75
83
88
79
73
72
75
77
82
85
82
78
74
72
71
70
69
64
59
60
63
60
55
61
74
73
72
71
71
70
72
69
88
86
79
76
71
86
84
81
88
88
66
78
108
106
129
147
148
139
120
102
82
78
79
72
63
79
92
83
97
73
80
108
97
85
112
97
96
102
139
148
141
132
134
120
120
120
115
137
121
107
116
121
119
116
120
120
109
125
132
123
112
108
106
103
95
83
88
102
99
82
73
72
80
127
147
141
113
87
76
56
50
53
42
48
46
80
110
119
119
120
83
64
80
55
55
78
91
83
72
76
58
42
34
44
66
71
60
50
45
71
93
77
57
66
76
67
68
76
82
87
84
106
90
102
86
89
96
114
163
98
101
86
96
109
90
104
101
82
66
76
79
76
79
84
112
88
91
102
63
75
144
139
138
135
136
113
71
57
65
176
39
66
112
161
123
112
96
101
112
100
134
104
91
86
81
88
123
139
112
134
121
93
93
105
120
141
150
109
117
105
113
111
71
83
57
69
51
47
44
47
41
53
59
56
59
73
70
54
71
84
85
86
89
80
80
70
63
77
68
43
51
68
63
46
48
56
66
80
95
88
87
112
122
133
105
133
146
150
122
100
92
91
118
130
113
109
138
119
63
93
118
139
84
77
111
102
103
109
127
122
116
116
83
79
78
75
62
63
65
64
64
69
77
78
72
62
70
69
69
74
81
85
84
81
79
77
78
79
70
61
61
64
64
65
63
61
57
56
73
43
92
166
64
70
60
95
91
93
106
120
91
50
45
52
55
56
61
62
57
65
60
87
98
72
81
102
88
66
45
51
50
39
30
32
25
34
40
35
45
68
88
110
108
117
121
112
104
87
72
59
60
73
78
73
95
111
118
123
124
129
134
132
125
121
129
125
113
97
96
107
78
78
76
104
140
138
107
80
75
81
87
71
73
72
87
108
119
105
95
97
89
85
78
84
100
105
101
102
116
107
105
112
123
126
106
76
64
68
91
111
103
91
96
87
72
82
94
81
88
105
92
96
87
97
93
55
72
129
113
95
86
80
69
109
91
103
110
118
124
116
96
86
95
100
114
109
67
55
95
114
132
152
138
134
129
117
154
112
88
119
139
129
148
128
104
105
118
116
118
113
88
98
89
91
114
115
104
123
98
79
69
72
102
133
139
125
90
83
97
97
77
61
58
56
74
62
77
67
50
53
71
89
93
83
68
71
78
68
56
50
52
58
65
76
89
105
81
39
46
72
66
50
52
47
44
78
108
102
70
88
95
113
139
107
100
119
128
126
133
165
139
121
77
72
80
114
111
79
59
105
111
112
71
71
77
66
121
141
159
153
137
69
70
72
71
71
68
63
72
68
65
66
67
67
75
79
76
73
75
79
78
73
69
62
63
68
76
75
70
70
58
61
68
70
70
70
70
67
108
152
116
104
55
132
124
96
79
76
66
59
67
55
53
43
40
52
59
55
63
56
52
73
86
58
28
34
50
38
43
30
33
41
33
39
39
41
52
54
50
46
46
43
45
50
56
82
88
120
134
139
124
103
89
69
54
61
65
69
79
94
111
121
126
114
116
124
117
99
90
86
78
87
79
87
107
111
80
80
76
69
61
71
84
98
62
61
87
98
103
78
56
63
67
70
80
85
99
87
90
103
113
115
118
119
111
101
107
115
119
116
108
101
102
101
101
92
104
108
97
91
82
89
124
97
101
94
89
140
102
82
99
104
85
99
114
132
133
115
103
105
112
105
115
121
74
47
69
58
76
91
119
122
116
106
101
71
92
106
89
61
120
122
122
137
125
114
119
103
115
111
90
89
99
100
107
124
102
74
80
90
81
100
124
114
114
108
101
88
94
97
81
72
52
54
56
62
56
65
71
68
65
65
68
82
89
81
72
68
74
83
92
102
123
105
130
111
66
69
70
58
59
67
57
47
77
101
88
76
96
108
114
118
108
118
115
111
128
151
114
104
109
121
156
118
95
112
93
109
99
100
67
61
59
47
72
93
123
125
123
122
73
77
79
78
75
68
64
60
60
62
64
64
62
67
68
67
66
66
66
67
65
63
67
64
61
68
70
68
68
65
66
68
68
66
65
64
72
108
94
112
107
86
110
64
65
67
68
72
75
57
56
64
65
56
49
42
38
45
42
74
83
46
40
56
45
44
56
65
55
53
51
40
48
52
55
56
58
63
68
76
72
68
69
70
68
70
80
104
116
108
103
112
110
108
103
93
79
69
68
76
84
77
74
81
95
100
101
107
91
80
106
91
83
89
86
83
85
76
67
73
85
101
75
60
53
49
57
88
100
70
78
75
74
84
89
92
79
72
77
91
102
104
94
76
89
104
111
113
119
118
107
114
98
96
105
103
106
107
96
83
90
100
72
96
91
121
170
115
70
95
118
93
100
117
145
149
126
111
116
125
98
110
93
57
70
94
78
85
85
81
86
85
85
92
114
117
107
79
86
91
113
127
137
111
100
118
96
97
89
91
100
96
92
121
135
83
71
83
90
79
93
110
98
113
115
107
87
91
98
80
78
56
54
57
59
56
76
65
64
61
62
73
89
83
80
77
74
76
84
97
112
117
100
133
115
73
68
63
71
58
55
49
50
72
96
103
80
100
95
91
86
88
105
93
102
124
138
154
157
139
137
128
96
98
122
132
94
81
74
35
50
58
51
86
93
122
123
109
91
65
71
71
65
64
67
67
78
76
75
75
74
75
89
90
93
94
92
88
90
94
99
100
87
73
76
83
85
88
80
78
73
70
67
65
65
59
62
82
86
91
123
135
71
57
60
71
64
48
53
39
45
44
44
51
51
43
123
88
71
74
70
72
76
69
85
78
64
60
62
64
70
70
64
58
60
64
67
67
61
61
63
78
95
93
96
86
75
67
69
72
72
78
106
105
111
122
133
136
134
131
121
119
118
117
105
95
96
95
118
138
93
88
106
100
110
115
104
89
79
72
78
82
73
71
80
81
69
91
112
112
92
82
101
105
94
85
75
71
73
70
71
73
71
84
104
105
102
113
116
101
83
100
113
102
116
120
104
84
110
108
66
83
84
109
103
147
124
87
114
127
115
106
113
134
140
117
100
103
103
107
114
74
92
124
93
111
120
132
125
111
91
90
112
99
70
108
90
70
69
89
138
133
133
135
118
87
103
69
69
69
89
112
98
82
80
82
78
66
67
90
106
100
101
106
93
109
109
90
88
73
77
78
52
59
46
47
65
77
76
68
77
96
78
61
70
68
59
66
94
120
129
112
123
89
81
96
61
60
62
51
59
74
55
46
75
111
144
91
83
98
116
115
113
104
121
130
131
159
162
152
166
129
113
127
126
134
101
61
65
57
55
70
72
102
151
151
136
122
64
66
73
82
79
74
73
77
75
72
76
80
84
83
83
79
78
82
87
91
99
104
100
94
83
73
71
76
82
85
87
74
70
72
74
73
88
86
73
59
65
71
69
82
63
44
36
39
50
52
43
69
75
87
55
65
130
77
80
72
61
64
79
80
67
52
54
56
65
73
71
66
54
57
61
66
65
62
59
66
66
69
74
78
70
64
70
71
70
70
74
78
73
64
67
75
86
89
82
76
74
94
106
116
122
130
140
148
153
145
152
163
167
165
164
152
147
140
134
112
95
87
85
83
77
70
70
76
83
98
99
93
111
110
77
59
66
75
83
86
86
78
72
77
82
87
90
91
93
102
113
92
100
106
91
101
104
89
103
132
93
104
93
96
98
112
115
111
77
80
97
117
139
137
128
109
101
115
130
133
110
90
109
132
116
103
120
146
147
125
112
93
90
111
92
114
114
104
108
68
25
80
122
145
158
138
113
87
64
51
68
105
104
73
72
90
67
75
80
66
84
105
88
86
86
86
88
85
85
94
62
74
85
67
64
64
59
59
63
52
74
93
103
86
67
70
63
62
66
64
84
113
75
59
75
89
87
74
59
63
59
62
59
87
149
162
84
54
67
70
90
119
129
115
120
119
129
139
143
134
165
142
110
110
137
144
90
87
101
93
71
66
74
84
91
134
148
144
140
66
67
70
73
70
73
77
73
72
73
76
81
84
81
85
77
72
75
82
88
91
94
97
89
78
71
71
80
88
87
82
64
64
73
80
82
87
76
62
54
54
56
56
56
53
48
46
52
73
77
80
60
78
46
57
115
90
57
82
74
55
69
83
70
54
47
60
64
68
70
65
61
57
64
71
67
63
64
67
74
72
71
73
76
72
69
73
77
79
77
77
79
79
72
76
82
82
72
56
48
46
66
74
79
81
86
94
101
106
90
111
129
127
118
116
132
112
115
131
106
101
105
104
100
88
75
70
75
92
59
61
69
111
134
118
103
89
98
103
99
93
82
74
74
86
72
79
85
89
100
117
111
114
98
76
80
70
57
94
107
75
105
106
106
115
102
91
78
64
84
104
116
147
151
136
105
96
122
141
139
109
93
100
108
94
92
118
135
134
121
119
103
97
111
96
121
126
111
50
47
81
68
128
145
140
133
118
94
69
50
69
107
98
63
67
76
69
74
76
74
85
95
88
79
66
58
58
59
66
80
83
97
106
82
70
63
57
56
55
46
66
89
112
102
80
61
47
58
67
55
67
76
65
81
100
101
101
85
51
46
40
59
72
115
136
78
47
39
70
71
81
100
109
117
118
110
131
150
141
143
170
138
93
87
122
137
108
102
113
106
83
76
86
96
101
116
127
133
142
62
68
77
81
65
61
61
75
70
63
61
65
71
76
59
55
57
72
87
94
92
91
79
74
75
83
89
90
88
77
72
72
79
84
84
81
74
67
65
67
44
41
48
51
58
62
56
52
66
70
42
65
94
119
95
68
75
66
49
62
80
62
47
53
59
74
66
68
72
70
62
57
68
65
60
54
55
59
62
66
64
63
63
67
74
76
82
88
87
78
68
66
74
78
70
61
55
55
64
75
81
77
80
79
75
71
70
70
68
66
66
87
106
98
76
59
67
90
104
92
96
97
105
106
108
111
113
108
76
77
74
78
104
106
97
108
117
115
104
95
97
94
86
82
74
59
83
102
99
91
93
105
95
75
85
74
58
65
107
102
78
95
76
53
64
53
53
69
105
123
109
104
108
100
92
88
86
87
78
61
70
60
59
73
90
97
98
93
92
85
93
89
94
115
100
76
51
70
98
80
93
89
95
95
73
74
110
103
77
81
90
88
83
96
101
71
89
85
78
88
90
85
92
98
88
80
76
73
80
94
117
110
89
82
79
60
45
48
51
62
67
76
98
109
117
93
63
51
54
59
64
80
74
91
98
73
66
78
79
47
61
78
60
34
36
60
43
41
78
67
42
61
113
118
147
129
121
126
103
105
146
138
104
100
121
94
66
93
62
38
43
52
53
68
97
121
142
149
148
84
78
73
70
70
75
81
75
70
63
62
66
73
83
85
81
82
90
95
94
87
83
80
80
82
88
90
91
91
88
83
82
80
74
67
66
62
64
67
69
69
69
70
66
59
60
69
68
53
61
110
143
74
54
81
74
84
74
74
73
63
52
60
65
55
54
48
54
58
59
60
65
70
65
57
52
53
54
54
57
59
62
65
68
75
78
79
88
93
87
76
69
63
57
67
76
77
77
76
75
72
71
67
62
58
56
57
58
77
79
77
87
99
93
77
74
86
72
64
86
83
97
105
111
119
124
127
129
115
112
96
86
94
74
57
70
89
111
119
109
97
82
69
63
72
78
81
80
75
74
79
102
114
119
71
70
74
65
99
101
88
80
61
87
91
93
100
111
140
114
72
140
99
107
116
114
116
121
108
81
96
106
125
121
98
85
83
127
140
130
107
77
72
94
92
89
104
117
98
90
79
81
82
96
84
83
92
105
114
90
95
109
108
118
126
112
122
112
89
79
77
76
77
84
96
93
83
67
57
61
57
73
67
62
57
47
51
52
59
89
88
82
66
74
86
93
94
81
67
66
67
51
63
62
62
76
77
60
51
68
76
54
44
38
29
66
65
66
70
83
65
53
76
94
117
117
123
124
125
136
152
143
95
78
99
61
62
73
60
48
50
59
59
66
83
123
128
106
99
65
65
71
79
85
84
85
87
83
76
74
77
82
85
65
63
68
80
91
96
97
98
93
92
87
80
80
82
86
81
76
77
77
75
74
78
70
68
64
62
67
65
60
66
61
64
67
57
80
119
104
43
65
97
81
76
84
89
88
72
65
73
71
62
67
54
39
37
38
43
56
72
67
65
62
54
52
52
52
56
59
64
67
70
74
76
78
88
95
90
77
66
47
65
74
77
70
64
65
73
78
69
65
64
67
74
82
88
82
87
80
65
59
72
90
62
74
64
72
106
85
103
105
110
109
101
94
94
104
128
107
97
109
92
75
79
59
80
98
107
115
107
85
69
66
83
77
70
74
88
104
98
79
85
75
70
76
72
94
102
98
88
73
97
87
100
92
91
129
118
85
155
80
104
118
109
112
134
134
106
95
118
108
85
85
109
123
133
144
119
92
68
78
113
110
112
126
119
105
113
92
92
101
105
79
76
69
117
101
87
96
105
105
128
142
128
133
120
92
72
70
71
68
85
101
98
86
65
51
53
63
73
60
59
58
48
52
55
61
95
94
89
58
62
60
60
71
85
91
91
81
44
73
60
36
54
75
75
78
67
73
62
54
46
29
57
72
89
64
68
57
46
63
89
95
98
115
104
110
129
132
138
102
81
88
39
63
87
88
75
57
56
62
70
78
100
92
106
118
73
79
78
77
74
72
77
74
72
77
81
82
83
80
82
81
81
82
84
85
85
82
81
82
86
87
84
84
86
73
72
78
79
75
71
71
61
59
53
55
72
68
66
51
60
66
71
81
79
59
58
76
79
71
72
78
79
72
75
65
54
56
62
63
67
64
60
56
43
46
47
57
50
52
57
52
44
40
41
49
50
51
53
56
63
66
75
75
60
43
44
47
67
76
78
81
79
72
74
74
69
59
59
68
77
82
83
83
92
84
66
62
76
93
96
93
91
101
103
69
79
96
94
87
84
88
91
88
87
76
78
94
103
101
112
127
110
75
69
71
83
101
99
97
72
92
94
85
75
72
73
79
66
65
100
109
109
108
93
73
55
57
68
83
98
104
82
76
104
136
91
141
142
137
128
116
113
122
128
130
89
101
104
102
105
107
113
117
93
126
103
86
130
113
103
104
103
101
101
87
73
76
89
97
95
112
90
115
106
111
120
114
123
132
120
120
136
130
114
107
99
92
97
97
103
100
84
86
100
75
51
41
53
49
52
45
53
57
63
86
76
83
76
61
62
63
71
68
77
99
97
70
87
81
76
68
65
78
71
94
93
91
89
79
73
81
78
75
65
59
70
75
93
91
93
93
82
78
96
88
84
97
89
93
96
77
68
81
62
53
50
64
67
56
75
106
120
124
118
82
83
76
70
64
61
65
58
60
68
69
63
64
78
81
81
81
82
84
85
85
83
80
77
80
84
86
88
92
78
74
69
64
59
57
60
59
47
51
69
70
68
72
66
62
65
75
75
64
68
75
72
65
64
67
64
62
65
62
49
43
54
64
62
60
63
84
67
58
67
58
53
44
49
56
41
36
44
56
63
64
63
61
61
61
61
51
47
43
45
55
62
73
80
84
82
80
79
75
63
55
67
71
72
70
68
72
79
87
77
87
97
100
88
68
100
89
95
104
89
90
95
86
81
84
96
99
92
92
89
80
84
86
81
93
115
110
103
121
114
88
70
52
50
85
70
62
67
85
108
121
96
91
91
103
121
123
106
87
80
82
89
88
86
90
57
50
55
80
107
57
77
74
70
77
85
92
112
130
134
91
97
91
93
101
84
90
63
86
116
98
108
137
72
93
96
95
88
75
71
70
74
63
88
109
118
105
111
109
115
117
101
112
122
113
117
119
91
71
84
92
93
105
117
116
108
86
87
102
79
72
53
49
52
56
47
59
58
61
81
71
82
85
72
61
89
97
102
112
115
100
36
61
62
57
47
50
77
83
100
91
110
128
100
78
101
93
72
42
41
56
60
77
100
111
106
83
101
116
89
57
66
90
83
105
80
71
88
71
60
52
65
70
59
75
105
117
119
115
81
81
82
86
91
85
79
75
77
75
69
67
68
56
57
65
67
62
61
67
66
59
57
60
69
77
77
74
72
70
70
64
60
57
55
57
54
56
55
51
65
63
54
56
60
58
62
67
51
65
65
55
49
51
56
58
63
54
51
42
42
50
54
56
62
61
64
61
49
55
73
79
61
70
65
55
72
74
60
58
58
55
49
46
50
51
47
57
67
66
60
54
49
51
57
60
58
60
69
77
79
65
63
61
60
58
60
63
63
57
48
52
56
57
55
52
55
60
66
64
57
51
65
62
54
53
59
55
48
61
60
60
63
62
59
58
59
53
52
62
71
69
56
45
50
51
53
50
43
44
49
45
43
44
53
55
59
64
63
68
69
68
78
76
56
52
51
50
64
74
49
62
61
55
59
53
36
46
64
59
61
78
81
68
53
50
56
73
71
61
65
70
78
92
94
100
110
107
74
68
63
89
97
101
100
94
92
88
86
49
68
97
87
101
124
97
72
53
38
48
69
73
75
73
87
79
62
59
61
54
34
52
50
40
96
102
111
80
80
82
63
77
94
103
106
110
106
124
160
164
151
146
163
131
130
130
141
111
82
96
86
90
97
91
111
112
88
58
46
85
121
100
95
139
108
116
78
84
109
118
93
96
109
105
102
139
159
118
109
80
60
51
110
78
81
117
54
76
47
80
79
79
80
78
72
67
65
66
65
63
63
65
58
63
67
66
61
61
66
68
64
63
64
63
60
57
61
68
66
68
74
73
69
63
61
57
60
58
56
68
67
61
59
63
65
69
69
45
49
53
48
47
54
59
55
47
42
51
55
59
66
65
62
65
71
67
72
73
75
75
67
71
65
66
70
58
54
59
49
49
48
48
52
50
43
55
53
53
58
67
72
70
72
75
74
70
66
66
66
64
62
62
56
49
50
59
68
62
60
57
56
56
56
56
56
56
56
56
61
67
71
57
66
69
68
68
64
67
63
60
59
65
70
72
73
75
63
54
49
39
30
39
56
53
42
44
46
45
44
44
46
46
47
45
45
53
62
54
57
61
66
70
74
75
65
50
61
70
57
60
72
68
68
77
77
63
62
66
57
60
65
67
62
55
55
58
67
60
47
56
61
64
72
81
71
67
71
79
80
72
83
97
91
70
68
87
67
44
33
39
54
56
58
70
70
54
42
45
48
41
45
61
73
74
71
76
53
48
88
44
81
35
42
61
78
100
80
101
134
126
129
136
148
114
119
99
81
97
117
127
148
140
154
167
116
133
146
133
85
90
115
113
110
134
137
118
107
65
80
84
81
118
117
142
135
111
49
57
73
82
95
105
118
147
162
131
126
80
29
52
111
76
72
111
124
84
98
97
87
86
83
81
76
74
71
67
64
65
67
68
68
65
68
65
62
59
61
65
66
66
60
60
64
67
65
62
61
62
60
59
59
59
58
56
76
75
72
67
63
59
56
58
54
54
54
51
47
45
47
52
56
57
56
59
66
72
78
74
65
64
64
64
68
61
65
62
61
63
70
78
77
71
64
66
65
55
44
43
58
70
71
66
75
82
81
77
75
77
76
70
66
63
61
60
61
60
59
58
58
59
61
61
63
66
63
58
46
48
48
45
43
43
44
48
49
52
53
52
53
53
57
64
61
56
56
54
43
48
45
46
50
51
47
42
45
63
67
56
61
82
86
73
64
57
51
46
47
50
52
49
49
50
43
43
52
63
66
55
47
49
52
50
52
43
66
68
55
52
52
72
63
63
68
72
71
74
81
84
77
95
98
82
61
50
49
39
48
58
60
59
65
77
86
82
88
96
101
95
83
68
64
59
61
65
69
63
75
70
51
51
68
58
49
96
104
73
68
74
64
69
65
72
96
96
84
80
71
54
85
106
35
96
64
58
95
124
67
59
76
102
88
93
85
113
124
117
127
149
150
117
112
122
135
120
126
101
118
85
98
109
122
153
148
109
85
101
49
69
90
109
133
135
138
133
140
71
82
51
63
85
80
99
156
165
98
102
82
76
79
101
63
113
120
79
128
137
166
75
74
74
75
77
77
77
73
70
69
72
72
68
66
72
69
65
64
67
69
70
69
59
58
64
69
68
66
63
60
56
51
54
57
58
58
73
72
71
70
66
65
64
61
53
51
49
45
51
47
50
58
63
61
60
66
75
63
69
64
57
60
66
69
72
62
59
65
80
84
77
76
78
74
69
69
67
53
37
49
58
70
80
87
83
76
75
67
62
63
61
55
55
56
57
63
69
69
61
52
47
56
58
59
64
67
60
49
48
48
48
48
47
46
46
51
48
45
46
54
57
59
44
51
48
43
49
54
50
47
46
49
54
56
55
56
54
53
61
78
89
86
77
71
46
55
56
56
55
51
45
46
45
46
44
45
52
61
76
66
57
54
58
61
59
44
70
66
49
50
44
59
45
48
54
61
64
62
62
65
76
93
94
76
56
48
51
56
61
55
55
61
78
102
108
102
104
107
112
111
103
78
66
59
61
65
63
68
79
71
51
52
69
58
48
68
71
55
94
106
57
48
55
66
110
87
88
72
48
51
64
59
32
87
84
90
97
102
64
74
87
92
83
99
98
128
138
116
104
119
132
150
137
112
98
100
113
80
121
115
112
102
120
159
141
100
99
123
102
105
110
127
133
138
136
126
99
88
98
42
103
85
111
151
161
154
100
115
42
39
96
105
58
101
154
73
122
167
188
85
85
84
82
82
84
86
83
77
74
76
74
67
62
67
61
58
60
64
65
64
62
62
62
61
58
59
65
73
57
54
56
64
71
73
72
69
68
70
71
70
71
74
71
61
60
58
50
58
49
60
64
68
72
78
79
68
62
71
70
65
69
69
57
47
45
49
49
61
69
78
94
91
68
58
62
51
66
97
87
91
89
77
64
60
62
49
45
56
83
99
91
59
57
50
48
53
56
55
55
57
66
70
64
62
65
65
59
55
50
48
53
56
55
52
59
57
58
65
68
56
45
51
62
58
43
38
42
57
69
65
59
52
45
46
57
81
89
96
101
107
104
83
60
62
43
44
58
68
58
42
53
51
52
61
63
67
71
72
78
73
56
49
60
56
72
54
56
62
58
68
68
69
62
49
42
40
34
34
45
47
56
61
57
49
47
50
60
67
72
73
67
67
75
69
58
56
64
78
74
61
51
71
83
83
85
90
57
71
69
70
78
77
57
45
53
72
53
89
99
51
60
79
120
71
70
71
69
62
48
31
94
70
62
92
48
64
49
47
63
45
50
125
127
113
125
135
133
137
147
137
131
117
96
67
63
101
88
146
163
143
121
141
160
129
127
120
119
129
85
56
113
153
147
118
114
101
128
90
85
30
132
168
149
164
171
112
65
60
64
94
84
96
71
133
160
239
160
82
93
92
90
85
87
79
68
60
61
65
69
71
71
67
74
69
69
68
62
63
64
60
65
59
55
58
59
60
63
50
58
62
62
63
59
52
63
66
63
63
71
66
64
59
62
60
59
64
57
56
60
57
63
59
49
61
71
58
54
54
49
40
41
49
51
47
60
64
67
67
76
94
86
73
64
52
56
62
58
52
66
76
75
68
69
73
74
67
59
76
101
89
59
58
48
43
46
46
44
47
55
61
62
60
63
71
72
67
75
73
73
76
78
80
80
72
72
72
71
68
67
66
78
73
66
61
55
49
44
61
58
54
52
56
69
85
98
78
63
63
67
71
85
101
96
70
69
67
65
66
66
65
66
63
65
61
61
71
67
71
76
77
73
70
74
68
72
75
77
79
81
67
68
69
71
74
76
77
75
73
52
49
51
49
49
48
43
41
48
58
70
75
79
85
107
101
95
89
64
51
45
41
49
51
50
65
102
111
61
46
42
44
56
80
84
62
57
45
46
55
46
37
44
64
61
57
53
71
81
69
114
105
68
79
56
39
51
61
108
148
125
75
87
99
115
116
120
81
88
116
94
105
77
83
56
60
59
50
103
151
135
133
132
137
152
128
126
121
87
70
93
127
139
103
150
126
106
119
135
154
146
179
163
148
149
151
123
102
109
102
116
118
85
98
154
135
114
124
147
109
106
98
90
78
72
65
56
59
66
72
74
71
64
72
67
65
64
61
63
67
63
66
62
58
56
55
55
56
55
64
67
61
57
56
55
63
67
64
65
75
69
67
66
69
66
63
64
60
65
58
60
71
69
61
75
74
49
46
47
44
36
39
49
53
77
88
77
73
75
76
79
78
79
66
55
55
47
41
49
64
75
74
67
73
79
85
76
61
62
73
64
61
62
53
47
49
52
52
55
60
63
62
65
70
72
71
70
70
69
72
76
79
80
80
72
74
77
79
79
77
76
75
76
76
74
70
63
51
50
51
58
69
83
91
93
78
53
44
57
55
44
60
94
97
78
82
88
86
77
68
61
62
59
63
60
58
64
57
63
70
72
70
63
62
61
64
67
71
76
78
63
68
72
77
79
79
77
74
73
67
67
66
63
64
61
50
38
38
35
45
51
52
57
66
66
71
80
76
65
57
60
62
57
48
56
82
77
76
70
50
33
44
64
61
72
70
53
48
58
53
38
36
48
63
49
50
67
73
64
85
106
97
46
94
109
127
120
108
86
54
40
114
123
92
85
67
40
90
123
88
111
87
83
71
93
66
109
105
146
133
132
145
144
143
137
128
98
75
72
116
145
120
144
87
136
144
121
151
121
110
165
166
146
145
151
133
119
122
91
102
95
79
114
118
112
87
101
113
88
81
70
60
54
59
67
74
76
79
79
76
73
72
65
62
66
68
66
67
70
68
62
66
66
57
56
59
55
62
63
64
55
50
59
74
74
77
71
68
75
69
65
85
79
69
69
73
59
59
63
56
44
48
60
64
81
101
87
78
76
80
90
98
96
78
55
51
51
49
58
77
73
77
57
65
75
68
70
73
67
57
49
52
70
72
69
77
81
79
75
71
81
81
72
62
58
61
66
73
79
76
73
76
77
72
69
71
76
73
68
68
67
66
64
62
61
59
58
63
66
69
68
69
66
59
58
65
76
100
95
87
81
77
75
75
77
88
91
86
86
93
92
84
108
81
62
63
68
69
72
80
79
68
60
62
65
72
71
76
80
79
78
66
57
64
60
58
61
65
66
61
55
58
61
61
59
60
63
66
68
71
71
70
76
79
72
70
73
57
49
41
37
42
50
41
36
40
51
52
52
59
53
60
69
64
61
82
59
64
59
55
58
59
74
102
107
85
57
52
55
55
62
63
63
61
62
55
54
70
93
86
117
150
58
52
45
60
80
127
152
123
47
33
68
98
47
66
127
113
121
132
129
86
78
94
142
122
94
135
140
148
147
144
129
114
95
69
111
136
131
115
98
69
122
161
155
134
95
128
130
138
157
168
176
183
164
116
96
134
112
134
133
44
74
75
84
108
111
62
59
63
69
75
79
83
78
80
82
80
75
73
79
81
81
83
75
60
57
68
73
70
73
71
55
59
71
67
72
62
67
68
62
66
78
82
83
75
64
67
72
79
76
66
55
55
58
49
55
50
34
69
102
88
95
122
99
90
86
82
76
77
78
74
74
66
63
67
66
65
70
74
54
50
76
83
84
79
65
63
61
63
71
74
67
58
63
70
73
73
80
73
80
81
78
72
66
66
70
73
76
77
71
67
70
71
69
74
69
59
58
59
60
60
62
61
61
61
67
71
74
64
75
81
79
81
89
94
73
71
68
64
62
60
60
59
52
49
52
55
56
62
71
62
83
74
85
89
82
82
100
109
103
67
50
38
35
45
50
52
53
60
64
54
49
52
61
70
69
61
57
62
62
62
60
57
50
41
35
42
48
60
57
48
49
53
52
57
50
49
46
45
51
43
38
35
37
37
37
39
24
42
60
64
62
72
73
82
96
104
79
47
56
82
101
108
95
72
54
37
32
42
61
51
54
51
65
89
99
47
46
105
94
65
106
89
72
59
54
51
52
61
40
40
30
53
75
99
115
119
180
151
124
91
66
99
130
153
136
143
138
132
113
82
92
84
86
165
134
93
81
74
43
117
135
66
114
142
136
87
77
155
183
149
158
113
134
161
139
120
142
114
70
95
49
63
80
75
57
52
50
57
70
77
84
85
89
90
86
79
74
75
76
77
79
72
58
62
80
91
70
81
84
67
63
68
58
62
50
65
72
67
68
78
88
81
69
70
91
78
66
81
72
59
54
51
44
57
48
58
71
82
87
88
92
113
110
110
102
85
74
71
67
64
64
52
59
73
75
71
73
45
50
79
79
78
66
66
65
63
62
66
71
68
59
74
87
78
62
67
88
79
85
88
83
74
70
70
71
77
81
71
67
74
78
75
58
53
44
45
48
52
54
49
50
52
55
62
64
66
88
101
108
100
89
81
59
66
63
60
62
67
70
70
68
76
76
67
64
71
76
74
77
68
46
57
71
73
80
82
103
114
102
90
79
76
70
65
54
44
49
68
63
44
46
52
57
55
51
61
54
50
47
47
51
54
54
53
41
49
65
59
42
39
44
54
52
38
41
40
38
40
51
51
54
55
42
34
31
43
28
29
41
44
50
90
98
114
117
78
45
82
126
112
115
99
78
64
47
43
59
66
52
60
62
77
71
33
39
73
118
84
67
54
67
58
42
50
64
56
62
75
40
51
92
70
106
122
75
172
126
134
121
101
78
136
130
160
142
111
108
92
69
115
80
71
161
126
109
107
75
72
106
104
97
117
167
139
61
115
185
175
146
149
169
131
156
154
119
132
125
80
106
45
43
65
63
58
57
55
53
52
54
56
66
68
72
77
77
73
70
75
63
59
76
87
73
62
71
57
58
61
60
73
83
72
72
79
66
71
79
79
78
69
94
90
68
84
74
57
63
64
64
51
36
76
83
81
83
80
74
72
74
73
70
79
97
119
133
129
109
91
67
57
59
69
73
70
68
60
63
73
85
77
71
70
77
81
75
66
58
65
94
155
163
146
100
57
41
46
36
55
72
76
78
83
83
78
78
74
67
66
63
60
62
68
61
61
63
74
88
92
84
82
83
89
100
95
89
74
69
63
58
53
51
63
67
61
63
73
86
96
87
56
62
70
74
69
61
60
64
67
104
80
70
77
78
72
64
58
58
72
74
75
77
90
102
110
102
88
84
85
86
86
78
67
68
80
88
79
83
87
89
86
80
75
74
71
81
74
53
49
53
47
59
59
60
60
61
65
68
64
62
61
61
42
37
38
51
47
42
35
30
27
29
35
52
64
49
66
105
96
103
105
91
62
64
70
61
77
94
77
81
81
81
57
53
51
68
73
67
58
53
62
45
52
54
51
59
110
45
43
50
89
118
106
98
113
157
153
143
145
147
122
117
149
157
146
125
114
106
102
127
138
109
102
103
135
77
80
76
95
114
118
84
112
166
169
150
128
141
146
127
90
126
130
57
55
99
134
82
80
104
94
78
73
94
98
100
98
88
90
92
92
87
83
76
63
55
81
84
73
77
78
70
82
97
88
68
67
72
70
74
85
91
90
75
74
82
73
66
75
85
68
64
75
55
55
74
60
64
58
46
52
88
82
80
77
72
67
68
72
78
78
70
60
55
55
55
54
52
60
66
65
59
58
62
63
81
92
95
82
91
98
98
93
88
84
87
93
89
91
109
88
67
58
55
52
47
60
59
65
77
84
83
86
92
87
78
71
78
88
93
95
95
98
118
118
117
116
109
88
80
71
69
75
73
70
50
50
51
50
47
47
65
98
96
95
86
72
70
77
86
82
67
51
51
66
78
80
84
77
99
100
70
58
74
64
59
54
52
52
53
53
62
74
62
55
70
60
73
96
82
72
72
69
60
50
50
51
52
54
58
59
56
50
48
62
69
61
61
65
57
47
49
49
50
52
53
52
62
61
60
58
48
45
44
39
39
39
41
42
43
40
31
25
31
28
41
68
80
92
93
89
68
65
66
65
99
93
83
68
51
45
48
57
61
79
74
45
51
67
86
86
45
51
43
51
58
35
61
64
53
48
72
104
129
144
132
127
128
130
140
152
157
156
139
110
111
126
116
115
110
88
146
141
174
131
131
91
89
131
153
65
95
141
145
130
154
178
132
109
129
104
75
78
134
145
111
85
98
107
125
121
114
84
87
90
89
88
95
101
84
89
84
67
58
68
95
84
83
87
78
73
96
103
75
75
84
87
77
71
78
87
84
74
79
82
66
58
68
54
72
76
60
65
63
44
66
71
63
48
53
78
75
87
84
81
78
75
72
70
54
53
51
47
47
51
61
68
66
77
72
55
53
65
71
74
85
87
77
90
98
95
91
83
82
92
102
93
81
75
63
56
60
65
64
57
61
59
65
77
83
84
94
108
98
90
85
94
104
104
101
105
100
97
92
94
98
96
92
89
84
79
79
81
84
84
84
84
80
71
61
61
73
77
93
100
80
61
65
89
81
64
53
60
79
87
85
87
67
97
109
82
63
73
57
57
56
56
56
55
53
63
72
57
47
59
53
73
73
67
70
81
83
71
59
61
64
65
65
67
70
66
60
43
56
65
59
60
65
60
57
54
42
43
46
44
38
51
51
51
50
50
48
46
47
51
54
51
46
42
45
51
36
46
54
54
51
51
112
97
81
63
67
67
60
91
89
81
67
56
57
75
88
67
82
79
45
40
62
99
84
49
58
51
51
47
35
41
79
73
67
104
122
121
139
127
119
117
124
142
158
162
141
109
80
101
130
108
86
123
115
139
131
147
117
120
81
93
131
153
125
124
114
153
129
127
137
123
137
125
110
88
109
137
127
91
96
111
128
153
136
119
77
76
75
75
83
88
92
77
76
71
65
63
65
68
103
93
78
76
83
79
71
72
99
99
77
62
62
70
78
79
89
74
71
68
59
53
67
44
49
68
47
58
77
87
80
61
53
61
58
65
77
71
66
64
60
53
52
63
67
72
75
75
74
76
77
72
77
79
65
68
78
73
61
61
61
72
74
62
48
55
57
70
78
75
90
87
105
100
89
75
67
65
68
84
83
84
87
87
84
79
75
92
85
77
85
89
77
62
56
55
62
57
54
52
46
48
50
52
55
59
60
61
62
64
72
84
90
88
81
83
86
98
112
124
127
106
66
68
75
82
83
75
68
65
69
78
80
100
113
100
79
83
88
90
87
88
86
82
62
58
57
56
52
59
68
78
90
103
109
105
102
112
92
103
106
94
80
73
67
61
62
73
77
60
49
47
42
62
70
64
58
61
63
60
45
47
48
48
61
63
59
53
54
55
55
56
60
73
75
65
72
77
99
126
133
111
73
45
47
76
80
61
80
116
83
62
55
42
45
34
42
62
66
60
52
45
50
44
60
65
69
67
60
29
54
76
84
95
126
146
140
94
102
100
113
147
162
172
195
129
86
50
72
117
120
119
122
141
136
153
73
63
108
110
112
83
71
107
101
118
113
128
129
149
141
88
90
92
98
139
132
140
119
136
123
120
102
63
28
82
92
84
79
79
61
61
54
54
65
65
59
76
59
99
79
57
62
83
85
87
105
72
72
89
74
74
88
75
57
72
71
64
57
55
59
43
44
31
32
85
97
108
93
74
68
75
76
61
53
50
50
52
55
61
68
74
67
68
68
66
63
62
68
76
79
78
76
72
68
64
62
65
66
67
92
102
87
65
66
71
76
82
90
99
96
90
92
87
91
110
122
107
98
82
62
57
70
81
75
60
47
51
63
74
73
63
54
72
71
55
47
46
49
51
71
67
55
46
73
73
61
64
60
63
62
60
74
70
81
71
72
99
137
156
145
111
101
87
77
78
85
90
90
96
73
72
83
104
111
102
76
79
78
86
84
79
82
73
70
60
51
53
72
72
80
90
96
91
84
80
69
82
88
89
91
97
92
80
73
67
68
70
70
66
63
63
56
61
69
82
92
87
74
62
69
71
72
101
107
101
82
69
60
60
56
53
81
109
115
111
101
96
85
68
58
57
55
78
78
52
59
74
97
75
50
52
40
38
49
49
64
66
47
48
62
45
62
64
49
42
58
45
32
28
42
55
83
129
163
163
180
149
133
146
162
163
166
175
134
105
102
99
156
128
133
133
133
151
133
89
77
120
132
145
134
125
84
93
70
110
144
118
156
161
147
94
104
96
90
109
107
85
87
88
129
101
115
105
77
79
79
83
68
57
63
53
58
62
55
49
57
63
94
79
62
68
91
99
103
116
58
79
89
70
68
80
73
73
73
57
59
57
49
45
48
61
52
43
89
96
97
83
77
80
81
67
51
51
53
56
64
75
85
87
81
84
83
81
80
77
76
78
81
85
88
89
88
85
82
79
75
84
95
114
117
110
100
82
95
105
106
101
100
101
98
94
90
96
103
97
96
93
84
70
58
55
59
67
73
40
40
55
71
73
61
48
46
53
52
43
41
46
52
58
64
63
55
54
56
54
62
58
66
80
84
80
94
88
105
119
116
96
77
70
102
114
119
105
83
73
82
94
94
93
96
98
105
109
105
96
79
79
79
64
57
54
62
67
72
76
77
63
53
61
62
58
51
51
61
80
70
79
83
86
91
90
85
86
95
95
90
83
82
91
102
79
75
76
96
114
112
98
80
75
70
73
93
84
69
53
46
44
48
44
38
58
94
85
66
52
51
53
56
59
64
67
94
93
63
64
74
90
89
50
42
41
44
36
51
60
51
41
42
55
44
51
72
65
44
49
54
41
28
42
61
86
119
139
143
157
159
162
163
159
151
143
139
125
130
153
146
145
131
128
124
127
142
131
101
110
138
137
151
122
116
107
106
90
114
143
132
171
161
152
73
45
79
81
107
145
134
95
64
110
88
117
100
57
72
87
78
87
92
64
58
68
57
54
73
71
113
92
94
89
87
94
97
86
72
79
77
72
71
64
56
60
50
66
63
58
61
75
93
94
89
69
65
109
94
77
59
49
49
56
63
91
99
93
91
92
95
99
98
91
93
95
93
89
86
87
91
93
100
95
91
88
86
84
84
93
89
87
75
64
67
78
94
83
72
70
78
74
62
69
71
73
74
70
56
67
76
82
90
86
62
43
53
78
75
69
63
54
45
44
45
59
69
84
78
71
73
80
57
55
59
70
72
65
63
57
85
76
57
78
99
108
101
83
67
68
83
93
89
66
75
94
117
128
117
92
72
73
65
68
74
77
88
103
110
93
75
70
66
66
73
71
62
58
63
70
86
96
93
88
81
74
73
77
84
81
87
89
90
92
88
86
91
85
81
87
100
107
100
89
109
108
95
94
97
98
95
85
77
72
67
32
28
36
43
45
52
56
50
41
54
59
53
50
51
51
57
72
96
92
73
77
71
50
61
75
97
51
46
33
23
42
47
58
84
86
102
70
43
23
54
64
56
40
51
67
44
55
80
94
99
115
134
140
163
139
133
147
142
118
124
150
131
157
74
107
131
125
156
160
163
147
140
109
123
80
76
105
105
140
151
127
106
146
116
100
162
166
161
125
135
136
147
169
120
34
22
52
96
61
86
93
58
40
44
63
60
61
65
78
83
68
66
87
80
90
78
85
96
95
88
87
84
71
66
64
75
72
52
50
72
65
73
75
81
80
72
69
72
73
75
80
38
33
61
70
84
106
115
106
101
101
94
93
89
83
80
86
98
106
113
114
103
95
95
98
98
101
88
82
81
85
92
96
88
83
86
111
114
110
106
92
88
79
71
69
68
63
70
89
89
76
78
85
71
77
72
72
81
87
88
93
99
91
67
61
69
79
85
86
84
74
73
73
63
52
46
43
48
54
57
58
66
73
98
91
79
83
92
76
63
73
72
70
67
63
59
56
59
57
57
56
55
63
86
110
100
74
57
61
61
56
61
55
95
104
100
112
106
99
93
100
104
100
93
95
98
91
92
98
108
112
104
82
89
84
78
81
86
79
71
73
77
88
88
86
87
87
85
70
56
54
71
76
60
42
47
32
24
32
50
59
69
74
71
68
66
64
64
78
75
76
81
75
66
78
90
86
80
56
58
63
57
69
75
48
11
33
70
85
92
81
79
80
66
69
80
96
82
53
47
50
53
53
61
58
51
77
77
65
90
133
145
156
139
107
93
124
166
169
142
137
61
79
133
106
144
120
161
176
99
66
40
68
72
121
123
133
169
154
173
168
180
202
189
183
163
157
129
164
183
109
61
79
61
65
120
128
79
88
128
40
42
41
48
60
62
71
57
71
72
72
81
82
103
75
87
109
115
98
81
70
55
78
82
84
70
54
53
59
66
65
71
91
94
76
59
57
65
68
66
41
57
98
85
91
102
105
100
118
124
98
99
100
97
92
85
81
101
108
110
106
106
108
102
92
90
83
81
82
87
93
97
97
99
100
104
108
106
102
103
94
79
65
63
74
76
80
94
95
86
83
82
75
78
77
78
82
89
95
96
93
78
77
83
90
90
84
79
82
74
85
91
84
74
69
53
60
63
60
72
79
80
91
74
74
91
89
68
60
70
64
64
74
87
85
66
51
48
46
44
36
32
43
60
99
99
68
56
46
37
42
28
59
101
95
106
115
95
89
103
105
89
77
93
97
96
83
71
71
75
77
80
60
54
46
45
48
42
41
51
80
93
87
77
74
76
76
63
46
33
42
43
31
18
36
27
25
37
66
73
76
81
79
80
82
84
85
90
94
87
79
66
65
96
115
70
68
49
58
71
67
71
68
39
30
70
121
117
96
80
95
84
71
71
94
111
73
54
50
53
54
56
70
54
40
57
60
55
72
106
132
155
154
121
85
111
171
181
145
112
59
102
106
106
137
102
164
166
75
69
60
73
98
124
127
122
157
156
171
178
155
156
164
193
183
178
129
145
121
80
102
125
82
77
123
53
79
151
101
67
86
78
56
71
75
76
74
83
96
100
92
85
105
80
94
75
81
78
64
74
53
50
55
69
70
60
61
73
61
68
76
71
71
81
93
116
100
103
97
68
93
99
92
93
92
89
85
86
89
102
106
99
89
88
88
91
78
94
97
97
118
143
128
90
87
81
73
76
80
89
100
100
106
104
86
88
92
94
104
99
96
98
99
91
89
83
89
95
94
85
75
68
76
88
92
87
86
90
90
83
88
86
78
77
84
84
79
76
84
75
66
70
79
85
83
82
82
84
93
96
97
94
101
95
75
56
55
63
73
78
83
80
71
73
81
97
82
68
66
71
70
62
55
47
69
111
129
115
92
76
74
92
108
85
78
94
115
96
91
81
70
64
64
67
39
40
43
47
48
46
52
53
53
63
73
60
45
62
96
71
60
63
55
47
61
81
61
49
38
39
38
40
44
48
53
49
47
73
70
65
40
41
40
54
79
90
69
78
99
124
112
157
185
124
109
81
76
62
31
47
79
69
53
76
137
111
56
58
91
99
81
49
85
66
68
77
48
67
49
54
81
60
48
58
42
83
60
52
138
125
141
142
141
147
154
160
159
155
111
152
137
130
127
117
96
149
175
110
140
125
75
70
76
84
135
165
157
180
180
139
90
98
161
144
175
140
170
141
119
105
99
114
104
63
130
93
58
73
50
47
46
58
74
71
77
51
70
88
84
66
58
95
91
57
71
70
72
68
38
57
74
84
68
55
70
107
135
117
115
106
106
111
119
124
100
88
96
95
66
79
73
82
85
87
86
81
73
73
69
78
85
92
101
98
90
93
97
90
83
98
130
139
130
105
95
98
99
93
88
89
90
81
79
91
84
74
69
76
80
87
93
91
78
76
81
85
89
89
88
88
94
76
74
68
65
73
84
86
81
79
88
92
85
74
71
73
79
79
69
67
73
79
82
98
98
95
85
70
75
81
79
81
81
82
92
108
116
92
90
89
84
79
86
94
89
89
90
92
93
90
81
75
71
74
75
85
115
140
145
166
145
130
126
115
112
118
131
117
97
85
86
111
120
118
107
98
95
95
93
91
92
101
98
83
80
89
88
76
53
54
61
55
53
73
96
113
99
98
88
64
50
53
70
63
54
48
55
69
84
64
63
72
89
86
76
155
137
153
151
113
129
148
99
110
107
100
87
73
73
73
66
64
105
88
59
70
91
86
88
101
85
97
116
81
65
68
65
69
119
117
77
95
72
91
74
75
115
162
131
159
148
140
149
157
150
145
154
152
140
106
145
119
90
115
160
170
93
80
70
60
68
66
117
130
137
177
195
152
147
130
152
171
139
169
169
132
157
118
78
85
71
71
126
69
77
102
100
57
66
74
74
58
55
58
59
69
76
72
63
66
107
68
59
72
62
44
40
44
81
61
52
74
102
116
125
135
111
101
97
111
121
116
105
90
85
98
96
65
80
76
87
89
91
88
82
77
78
77
80
81
87
97
97
92
87
100
104
96
95
106
117
120
109
97
104
105
103
108
113
95
84
84
106
97
89
88
93
91
93
97
96
86
85
88
84
81
83
90
96
99
84
78
71
69
75
86
92
93
81
82
86
81
69
66
72
67
68
72
75
75
72
68
79
85
92
94
86
82
80
67
65
61
60
70
87
103
104
99
94
88
82
87
93
90
88
83
75
72
73
76
78
86
95
111
107
98
105
118
119
130
141
137
127
120
118
109
108
110
117
127
131
128
129
123
116
111
104
96
92
92
99
105
99
81
64
63
69
54
59
80
93
97
102
105
97
96
100
97
89
84
83
67
50
38
35
38
57
75
78
85
88
88
91
98
152
142
136
108
71
100
137
107
93
112
114
103
97
88
75
72
75
87
72
59
70
67
39
56
87
92
73
84
49
47
51
40
91
101
51
64
67
50
91
66
90
134
141
114
140
132
129
140
142
127
124
146
139
99
90
147
109
91
143
150
136
69
66
66
50
37
68
110
132
161
158
186
153
134
137
157
139
114
158
152
154
141
121
97
76
72
95
123
74
131
130
90
75
80
77
61
79
85
68
45
61
84
99
104
98
70
72
73
39
53
74
84
107
84
101
134
134
118
108
109
110
99
111
113
105
99
92
83
83
84
101
92
56
74
71
66
69
73
75
78
91
97
103
104
105
111
115
106
98
99
87
82
94
108
112
109
107
110
118
119
112
116
117
103
103
100
101
102
95
95
100
99
91
85
87
91
96
98
99
89
79
79
87
93
87
88
85
82
84
83
83
91
103
96
82
80
82
81
76
71
72
65
63
69
73
76
78
67
64
64
72
94
96
94
96
97
94
84
72
67
76
67
75
90
98
98
99
98
97
109
117
110
99
91
84
78
86
100
101
105
122
132
128
136
140
132
133
148
137
109
113
113
116
119
121
112
107
105
113
122
120
105
91
93
101
77
42
31
61
102
109
92
113
108
101
90
91
102
110
78
92
76
69
77
78
68
72
55
51
52
51
60
57
45
60
86
110
115
104
139
106
115
109
107
131
146
137
125
130
105
64
44
49
63
79
57
33
45
38
24
32
53
64
71
70
88
64
58
47
52
121
83
61
80
59
43
75
120
78
55
66
98
78
113
141
161
171
157
111
95
120
139
90
66
132
147
151
138
126
124
88
85
74
47
30
42
102
153
134
143
173
153
155
131
158
149
150
150
159
124
97
72
63
64
74
88
99
105
90
83
98
65
60
69
71
60
79
89
110
100
86
78
81
82
55
54
41
74
86
92
99
89
122
101
94
101
100
89
89
98
136
130
102
100
100
88
72
75
73
90
94
85
95
79
84
89
94
97
97
98
100
94
95
97
102
102
92
90
123
113
113
120
115
102
104
116
126
118
115
124
156
159
124
95
99
101
102
104
98
89
91
99
108
106
93
76
80
102
105
106
100
91
87
99
93
81
77
86
91
85
81
84
98
110
114
114
108
89
68
79
73
79
84
85
87
91
77
74
70
68
81
93
101
110
107
103
98
91
85
88
99
103
109
105
95
96
102
103
116
122
116
111
112
112
108
92
53
66
77
81
85
89
107
105
102
64
55
89
134
150
151
150
143
128
93
84
58
74
96
112
109
92
68
77
80
96
105
85
55
55
77
69
73
78
80
84
84
77
71
73
117
118
103
103
118
117
115
120
108
87
95
82
90
113
114
100
108
126
106
136
112
76
77
93
97
99
107
109
108
90
71
74
72
53
38
51
39
27
26
31
34
46
53
43
96
73
123
77
69
79
79
88
89
86
66
97
92
112
123
87
102
109
123
145
144
132
119
92
86
119
131
91
71
156
169
161
138
134
152
108
109
94
79
94
100
102
118
114
178
91
114
104
131
179
124
121
136
138
150
127
101
76
67
89
121
135
111
101
112
100
67
97
86
41
72
95
92
81
80
94
88
67
68
52
46
83
99
89
95
111
112
102
109
114
109
101
85
97
137
131
115
89
96
101
90
76
55
53
78
86
90
111
95
104
116
116
100
90
102
102
102
103
101
98
99
104
106
105
105
107
104
97
91
98
109
110
108
94
106
139
148
127
94
88
85
93
93
91
90
99
99
96
93
95
100
97
101
108
102
92
91
96
106
126
119
114
120
120
100
84
85
105
99
93
100
95
79
72
73
68
85
91
88
88
93
87
78
72
71
81
84
78
85
95
99
91
81
79
80
92
110
101
72
68
83
83
84
88
89
92
108
125
122
107
99
70
74
88
102
115
125
95
97
79
73
107
109
84
123
120
126
142
146
99
99
81
92
104
95
82
95
99
104
97
80
65
65
77
84
82
86
78
67
70
78
74
61
55
60
74
85
93
87
76
75
86
81
63
54
60
69
73
60
41
51
83
91
122
151
157
96
71
107
109
85
99
107
98
126
129
91
78
64
56
64
49
26
36
48
35
46
51
46
85
124
132
33
112
84
86
76
44
143
71
74
98
114
122
96
74
92
108
135
130
122
108
88
103
124
126
118
94
130
157
141
128
147
147
123
135
91
87
86
122
124
109
156
151
176
174
101
154
181
116
128
139
162
135
114
76
80
102
93
138
109
114
75
140
95
104
110
109
103
79
66
66
104
86
78
73
53
42
75
106
113
117
120
121
112
104
107
106
99
103
112
127
130
119
95
85
66
71
82
87
86
86
91
106
97
96
118
106
112
105
99
100
107
116
115
110
113
112
104
94
87
82
80
90
99
101
106
115
118
116
110
83
82
98
122
126
111
106
99
93
96
98
100
102
98
108
111
101
92
109
116
116
97
78
84
109
121
112
112
118
121
122
114
97
95
108
107
102
104
101
89
97
123
109
103
85
84
86
82
76
77
80
89
90
73
74
72
71
80
88
93
98
103
106
101
68
49
69
90
82
75
74
65
70
87
96
90
88
95
101
113
113
114
115
109
98
94
76
84
119
93
84
100
90
118
120
92
87
137
136
141
117
100
99
103
105
74
111
84
59
52
53
51
51
55
57
56
55
55
55
55
56
67
67
55
51
55
62
65
53
42
44
62
77
82
93
104
83
62
45
38
50
75
71
96
101
118
131
121
114
100
81
74
112
126
109
128
154
149
85
79
81
89
82
57
67
57
75
98
110
58
118
84
73
67
44
70
97
97
176
125
96
116
103
76
97
136
149
138
153
164
134
118
120
109
74
85
121
139
142
149
147
149
123
152
132
119
85
107
117
123
154
150
171
144
60
158
151
135
151
185
116
119
109
110
74
87
80
94
140
69
102
77
61
98
92
75
66
95
98
97
72
82
57
46
84
108
135
130
144
140
124
118
117
110
102
115
146
143
111
100
100
87
65
74
86
89
93
98
99
116
122
123
96
69
95
99
99
92
88
90
90
80
80
72
82
89
85
79
79
86
90
104
114
114
119
122
112
96
76
98
116
116
110
105
101
89
86
86
90
88
86
87
113
116
107
86
77
94
95
86
91
96
105
113
108
105
100
102
99
97
94
85
83
92
90
92
89
94
109
118
116
120
130
118
107
107
107
104
103
95
94
97
87
87
84
79
82
90
100
104
101
88
81
91
85
74
81
93
89
82
97
105
95
82
78
79
79
84
114
112
110
109
99
84
93
106
111
87
80
75
70
99
84
99
132
137
104
98
90
109
135
144
124
85
61
46
75
93
83
66
63
67
69
62
63
64
60
54
56
64
52
56
59
55
54
61
68
65
72
78
73
91
97
82
86
89
103
101
89
103
111
116
100
75
71
67
74
101
135
97
73
69
78
97
108
112
115
60
66
82
89
80
67
66
90
85
126
104
126
89
100
70
70
46
70
84
108
72
106
105
127
148
118
113
152
136
160
178
129
120
161
147
98
75
86
104
128
147
149
155
155
185
181
114
100
95
120
90
73
92
156
160
115
143
169
110
125
144
179
139
73
67
68
83
94
86
146
137
131
99
118
101
68
73
67
68
107
96
79
77
57
51
80
116
123
115
129
126
124
121
106
77
68
82
142
154
125
101
109
101
69
68
80
91
90
90
91
92
98
88
79
66
73
102
112
110
107
100
93
85
75
74
80
94
104
99
85
79
81
110
123
134
136
130
120
98
78
73
85
105
114
113
103
91
83
82
85
89
85
83
84
103
107
100
83
78
92
87
72
80
86
98
116
121
105
110
109
104
102
103
96
92
96
79
78
72
79
106
117
105
106
117
123
117
117
120
122
116
99
91
96
99
101
100
95
88
81
80
82
86
99
92
98
104
106
103
88
78
96
107
103
82
70
76
85
85
94
110
107
103
100
92
82
97
91
83
62
57
67
81
112
64
63
111
134
109
104
80
94
117
144
154
127
64
55
45
55
82
90
74
64
70
62
60
57
53
51
54
57
57
57
60
57
53
54
58
65
80
91
82
111
125
106
100
107
115
108
95
96
98
117
89
43
31
45
73
111
125
103
98
78
66
88
103
112
103
70
55
82
114
98
57
76
69
97
107
152
147
114
145
124
117
86
82
85
106
87
106
79
90
139
142
147
137
144
135
116
100
129
162
136
110
87
91
115
142
148
135
148
151
164
165
118
113
94
109
63
38
69
170
155
117
155
112
133
186
161
148
120
88
78
69
88
94
89
153
113
147
82
106
69
87
94
101
109
94
76
72
31
82
109
110
112
106
123
116
125
116
92
82
96
129
162
115
97
111
129
110
94
111
118
120
103
91
88
92
96
82
92
113
120
93
116
146
143
137
117
94
89
98
88
94
102
101
87
74
79
100
118
111
104
100
91
82
80
84
68
90
89
76
70
71
64
71
73
79
99
108
117
126
122
141
150
140
133
128
116
131
143
134
112
107
113
100
79
84
84
81
80
74
73
79
86
99
116
117
118
122
117
101
96
121
135
140
144
151
159
135
118
108
83
82
82
107
103
101
100
96
91
99
117
105
94
98
110
109
107
103
83
74
85
96
94
89
89
99
92
95
94
88
83
83
73
72
66
67
89
111
123
87
91
97
80
59
129
147
85
87
71
64
84
113
167
139
90
57
76
113
122
104
85
92
87
75
74
86
90
84
73
61
63
75
85
93
99
73
66
76
88
121
143
136
100
121
127
130
132
110
100
118
110
61
51
92
127
145
131
93
104
101
86
89
87
102
97
84
92
108
114
122
139
114
123
127
130
188
105
118
101
115
75
69
103
95
101
105
93
99
125
121
116
142
130
143
115
127
165
155
139
141
131
119
118
132
141
151
172
176
165
123
135
139
168
150
112
109
109
117
95
63
88
97
58
99
62
84
79
87
44
51
77
57
80
97
101
90
79
103
87
55
79
96
97
89
64
54
62
88
109
96
104
110
92
80
76
99
120
134
147
145
124
109
117
113
114
115
120
121
116
123
119
111
101
94
100
114
115
115
123
134
98
103
132
110
105
108
120
124
104
99
112
104
93
93
108
122
119
85
71
69
73
76
89
102
102
104
109
117
118
114
116
121
118
104
89
77
81
98
116
123
127
115
125
130
97
78
84
99
99
95
100
92
97
87
83
84
90
90
81
73
72
65
59
67
82
96
107
113
112
110
100
106
106
102
104
122
122
123
130
153
149
139
100
95
91
87
84
90
98
113
107
101
101
110
116
107
78
87
98
102
92
79
74
78
86
86
76
62
65
70
62
46
78
90
98
111
110
107
96
80
74
84
92
106
123
138
123
100
93
107
119
115
123
144
155
142
125
119
121
122
104
94
87
90
103
112
112
109
94
117
140
144
142
143
126
121
114
109
124
121
104
95
80
55
47
73
109
147
134
144
111
84
75
74
96
106
96
116
126
81
92
80
67
104
86
90
106
122
123
91
87
106
122
180
112
112
115
148
116
94
103
91
104
158
136
126
112
117
121
134
152
151
156
126
149
147
154
157
158
136
134
152
172
159
144
159
174
159
125
102
74
102
94
78
87
78
94
124
167
158
185
156
107
112
156
157
73
25
36
63
67
79
132
112
99
85
87
64
42
109
112
100
72
53
65
70
67
69
81
89
75
72
97
131
146
149
138
125
115
112
116
119
114
95
96
92
92
114
89
100
87
68
60
61
65
69
73
79
84
91
81
65
70
71
79
93
104
125
134
131
135
136
131
131
132
123
94
95
93
87
84
88
86
76
70
75
96
115
122
121
122
154
173
191
147
113
113
130
164
163
138
125
103
87
101
98
103
98
92
91
87
90
92
90
85
80
79
81
85
87
93
111
115
112
105
91
76
85
98
86
87
92
91
87
80
92
102
102
101
116
129
156
147
135
129
131
129
127
121
110
104
104
99
91
95
104
77
63
77
92
84
66
55
53
46
42
31
28
37
51
102
134
113
87
84
78
101
101
103
110
116
112
87
80
92
127
132
111
103
106
110
109
108
109
122
149
165
153
128
83
74
82
104
120
121
113
113
100
129
146
148
152
162
156
153
158
161
129
107
88
99
100
92
86
81
73
71
60
57
64
85
81
89
113
77
79
130
141
64
67
79
83
92
83
89
106
138
138
78
87
85
102
75
97
133
139
106
123
122
106
72
99
141
144
120
120
101
117
158
152
161
160
148
153
125
142
131
103
122
126
126
103
98
120
137
142
165
179
156
128
135
130
105
61
44
106
171
124
167
143
129
115
112
121
107
111
65
47
106
108
140
125
117
113
91
86
85
70
107
101
80
57
80
83
67
74
66
68
63
64
94
130
136
141
136
126
118
106
94
91
105
85
81
109
113
96
97
108
112
85
62
53
53
56
64
68
73
73
98
93
65
80
80
80
77
75
102
119
141
146
144
135
125
116
102
81
79
76
76
86
93
89
81
78
114
161
194
194
169
148
179
193
194
136
116
108
103
128
144
134
124
110
101
101
94
93
89
89
93
94
92
71
93
104
95
91
96
92
80
100
102
95
91
91
84
73
97
107
81
75
77
76
73
72
83
95
97
93
106
119
118
121
124
134
144
138
125
116
111
115
124
121
106
100
104
83
66
76
99
105
84
59
51
50
46
42
45
64
88
145
121
88
84
83
82
91
71
86
93
87
91
109
102
74
98
132
137
113
106
114
109
114
111
102
108
130
151
160
109
87
81
91
106
116
120
113
116
132
144
158
164
165
154
153
161
165
135
115
98
106
91
70
60
62
61
75
61
54
63
86
84
98
122
118
105
126
124
57
75
94
102
87
88
93
104
128
135
94
71
78
103
50
76
127
120
116
120
113
103
69
90
143
150
135
127
94
113
158
140
111
129
136
141
116
127
112
109
133
155
156
136
145
165
163
163
181
161
152
150
152
141
157
100
93
158
109
71
161
165
129
108
111
147
154
117
85
50
131
136
128
121
144
128
88
75
73
63
80
57
50
96
142
108
94
74
78
102
119
147
145
84
110
111
106
104
107
101
94
92
112
121
121
102
90
112
146
139
114
62
52
52
62
75
72
76
81
70
91
99
72
62
67
71
73
80
115
129
120
107
95
104
135
160
159
119
104
85
84
91
83
81
93
100
108
138
163
159
134
113
113
104
89
89
102
104
96
103
100
82
95
112
116
113
111
106
102
94
84
83
91
123
122
120
118
112
105
99
95
77
81
88
89
88
88
92
78
80
76
84
90
97
106
112
99
89
89
87
78
74
75
83
86
98
116
110
118
111
103
94
89
92
107
133
147
132
117
107
97
90
95
106
88
99
99
115
124
123
123
106
82
86
95
90
90
84
79
67
55
53
61
67
62
72
75
92
116
131
132
112
112
115
114
111
116
122
113
98
128
140
150
149
136
121
114
109
117
129
134
142
152
159
164
167
171
168
162
148
125
122
77
38
45
76
87
72
88
82
55
42
48
75
101
89
105
123
123
98
117
89
69
79
85
87
84
60
67
89
87
94
123
75
90
114
84
112
97
97
125
120
102
133
129
137
118
121
141
144
136
153
112
126
155
133
148
138
150
165
168
158
151
155
158
154
163
165
155
155
147
127
126
125
150
171
172
107
169
179
112
97
89
61
102
156
152
78
79
87
77
85
135
112
100
58
60
56
54
66
58
79
112
147
144
117
127
132
131
128
112
82
110
138
129
128
115
94
102
120
118
117
135
144
136
120
117
125
111
88
66
71
82
84
73
85
88
81
80
84
101
83
83
94
93
91
108
127
119
98
87
78
79
80
81
91
99
103
97
87
83
82
96
117
164
125
96
105
108
90
77
90
90
91
107
107
94
78
74
90
100
96
91
88
83
75
95
110
110
112
125
133
127
113
105
101
92
85
77
69
92
93
89
89
95
99
98
98
95
75
75
78
86
100
76
72
73
76
60
67
81
93
94
75
73
73
68
99
129
124
126
129
117
94
83
100
107
96
100
136
155
148
146
140
123
121
131
119
99
104
118
126
131
131
134
138
139
127
107
77
63
68
67
65
67
58
52
44
56
105
118
115
111
99
96
109
121
123
122
82
71
96
139
163
157
141
145
136
130
135
138
136
134
149
151
152
154
152
138
124
123
81
49
56
77
89
97
122
107
67
48
58
88
91
50
128
104
101
133
128
132
125
133
133
137
129
82
71
139
140
146
113
107
99
106
115
114
110
105
115
144
137
115
170
144
143
170
162
117
111
92
59
68
96
102
116
139
140
134
150
160
159
160
153
157
165
173
158
150
142
132
128
138
125
99
135
129
165
157
155
135
107
70
82
133
154
127
140
101
64
130
55
18
66
18
117
69
29
67
42
59
99
110
124
134
127
143
122
75
53
71
148
118
104
95
98
110
128
134
121
147
149
163
164
141
107
85
72
66
67
70
78
90
92
80
86
82
79
78
99
85
82
101
109
111
122
120
109
87
82
81
82
74
64
64
83
86
84
80
76
72
76
87
160
143
97
76
70
75
91
77
83
91
103
104
98
90
98
99
93
83
85
103
103
108
116
120
118
117
119
109
106
92
86
86
83
81
77
70
91
101
101
99
100
103
104
97
100
95
94
82
69
65
63
67
73
76
74
88
105
95
99
89
96
100
92
107
94
94
104
117
119
112
115
125
107
102
111
118
123
133
142
143
150
141
147
138
116
108
126
126
126
140
149
147
142
140
126
101
84
82
75
76
89
81
65
46
49
85
118
85
71
79
98
107
115
112
95
78
81
98
119
133
138
140
180
170
138
124
121
126
132
133
134
139
145
154
143
129
113
89
71
76
89
94
87
113
103
65
52
68
87
83
72
116
96
113
146
146
159
149
125
131
130
114
91
92
138
122
132
116
89
108
109
103
117
108
105
120
140
129
125
180
149
151
180
174
138
128
97
62
38
64
111
121
119
134
146
163
153
150
167
159
146
149
170
120
137
146
125
113
118
112
111
98
176
155
153
145
137
99
51
77
134
117
112
115
71
115
74
28
34
62
141
134
34
51
29
23
19
31
121
132
106
75
57
59
92
120
113
79
115
134
139
143
153
143
125
128
122
126
129
122
110
102
100
86
76
67
64
65
66
61
79
84
81
83
84
106
95
83
113
140
148
142
101
90
82
76
73
75
78
78
81
92
84
92
114
131
129
109
86
66
66
60
68
73
68
67
92
96
96
89
95
105
112
116
117
117
118
122
119
111
116
117
116
109
95
87
113
106
93
88
93
97
101
103
99
96
97
94
90
94
104
112
110
110
93
95
94
92
93
107
117
117
102
93
97
96
110
108
97
101
101
102
118
118
115
112
107
93
79
79
93
115
136
130
114
114
99
64
101
90
75
87
112
137
156
156
156
147
105
95
94
96
97
88
67
51
49
52
59
55
72
73
71
76
72
103
105
67
49
63
76
75
70
67
65
73
83
92
100
111
120
104
117
138
136
129
122
118
135
134
137
146
164
150
133
108
105
94
83
86
97
101
116
121
87
80
86
64
54
75
80
92
111
96
94
118
99
77
105
103
89
90
111
152
130
91
123
111
122
97
106
122
108
102
118
134
137
153
156
155
178
175
131
118
129
68
67
88
81
43
55
111
144
138
144
132
116
111
109
128
175
159
133
160
147
125
138
116
55
175
141
154
140
151
155
107
91
104
132
136
57
53
102
196
71
86
59
70
98
30
31
57
72
29
30
24
22
58
58
45
76
77
94
112
115
120
149
136
143
141
129
113
91
82
90
110
106
89
70
65
76
91
90
89
79
62
61
74
83
70
69
66
80
99
115
100
88
102
116
123
118
89
90
76
68
63
68
77
85
83
73
72
104
153
181
180
145
100
73
79
84
83
84
90
96
79
84
88
94
93
87
79
79
81
81
78
79
106
120
133
116
97
90
96
105
111
91
84
85
89
88
91
97
97
88
87
91
92
89
84
82
82
100
104
102
101
100
103
99
111
118
116
128
131
126
116
115
110
115
106
108
116
92
91
92
91
85
77
76
83
82
73
87
117
118
114
133
133
113
113
103
90
100
120
118
130
148
173
164
141
118
93
85
68
59
65
72
77
75
73
66
62
58
47
53
114
126
83
53
76
68
43
60
61
68
70
68
69
82
97
110
101
95
116
140
147
143
128
127
128
135
139
121
103
89
91
88
80
81
91
105
117
121
99
89
69
35
44
72
78
88
102
120
121
86
39
44
91
89
91
76
84
154
149
137
165
181
189
162
153
119
116
107
107
122
157
169
163
162
157
129
99
103
99
49
68
55
35
54
88
104
110
89
126
109
92
88
70
69
149
140
134
125
137
141
123
118
77
155
122
106
132
200
176
127
118
117
125
151
82
89
186
94
88
42
66
49
78
47
75
74
85
39
28
19
22
37
57
84
95
101
114
125
132
150
138
128
114
106
96
83
84
98
107
97
85
74
68
72
82
88
92
94
89
71
65
69
72
64
67
70
88
105
124
112
91
96
99
103
103
84
89
78
76
75
75
81
86
86
81
78
105
140
153
154
137
106
67
66
86
96
96
86
75
78
82
84
82
83
81
77
84
82
77
74
75
109
127
99
97
91
88
96
110
108
103
99
101
102
95
93
98
100
86
89
95
96
91
88
89
109
127
131
127
119
107
100
93
105
113
113
118
130
137
124
116
107
111
103
105
90
77
74
72
70
68
65
63
73
67
74
94
102
89
89
107
121
127
135
128
122
125
130
144
141
140
162
169
162
150
144
131
103
80
75
93
108
98
96
101
101
88
77
63
109
135
101
57
67
73
63
71
68
73
72
65
59
64
73
64
67
73
87
104
108
101
92
96
103
113
125
113
99
84
89
89
78
62
55
67
75
72
60
60
41
19
39
70
78
81
104
150
138
73
44
50
104
98
92
88
94
135
138
132
127
132
114
83
71
54
58
62
67
72
112
152
162
164
151
130
128
138
116
44
62
56
41
50
70
94
118
118
135
101
86
101
111
132
184
167
110
111
136
150
143
96
110
143
195
148
176
139
162
127
97
82
111
141
99
147
106
102
30
68
54
41
56
61
114
97
70
90
57
34
75
30
32
87
95
105
123
148
155
130
88
85
114
108
106
110
104
107
103
70
69
67
63
65
75
78
86
83
90
96
79
69
83
93
91
90
99
123
125
120
96
82
100
101
84
76
90
82
81
83
90
105
123
138
136
103
86
91
94
87
84
81
74
81
82
81
67
67
90
99
95
92
97
117
127
120
126
121
113
103
104
120
88
99
99
102
107
107
101
95
85
89
103
120
124
118
117
124
140
143
146
146
134
136
158
162
160
151
139
128
124
125
133
123
127
130
124
124
113
109
121
119
101
100
117
74
77
78
79
80
81
78
71
60
71
85
93
93
92
97
104
109
136
138
143
152
157
154
147
146
140
138
148
152
149
145
147
146
142
139
121
107
111
105
102
101
102
104
109
109
116
141
117
92
95
81
86
82
85
87
75
73
76
68
57
53
56
62
56
54
64
46
49
59
62
68
80
84
56
44
72
60
38
47
46
38
33
43
44
26
26
52
77
75
93
130
139
101
65
59
74
109
95
97
105
103
124
154
145
119
106
103
91
87
90
109
94
96
107
145
111
106
129
161
135
112
138
114
58
42
49
51
42
70
97
85
87
94
71
94
98
157
156
143
132
158
152
96
97
140
117
102
134
160
144
138
152
126
63
40
89
105
120
122
67
70
59
37
63
97
75
53
85
108
45
85
35
40
60
105
94
78
78
58
19
32
83
98
82
73
84
110
114
111
102
90
81
55
73
74
78
77
75
78
82
90
87
81
78
76
98
130
113
88
79
102
111
98
105
118
73
92
101
74
82
74
84
91
99
100
91
82
83
90
94
94
83
76
85
93
86
80
79
90
102
94
80
78
92
94
116
175
179
164
145
124
114
105
99
102
120
92
79
78
84
97
110
118
124
143
152
161
163
162
162
160
157
140
127
126
138
141
140
144
145
138
123
115
106
101
99
104
108
107
91
84
96
94
90
98
110
118
119
120
82
96
97
97
96
94
94
95
95
89
82
85
92
96
93
88
93
106
105
109
119
127
130
133
140
144
145
147
141
132
147
126
102
96
114
151
150
138
132
118
98
87
96
141
149
123
125
129
124
112
84
78
79
85
91
88
92
103
109
119
107
69
75
82
82
81
67
69
79
81
49
51
55
82
83
106
94
66
62
72
81
67
67
66
51
54
78
79
73
102
128
105
72
57
45
68
123
108
84
114
133
123
121
100
90
77
107
123
98
112
113
113
135
135
96
80
131
154
126
90
130
147
103
48
39
33
45
87
142
170
169
52
80
109
147
145
168
153
170
189
80
117
137
112
79
56
111
145
127
127
100
95
125
101
85
114
111
70
92
101
97
88
72
83
88
56
46
93
115
126
98
26
29
55
88
86
99
108
34
60
86
97
85
60
93
53
116
105
94
109
86
64
73
78
78
80
81
79
81
87
92
87
82
75
74
89
114
104
99
94
97
78
75
97
102
67
80
91
83
84
79
81
85
90
86
76
72
87
137
115
90
76
77
91
98
91
80
72
80
92
90
79
71
87
82
103
172
176
163
147
121
110
105
103
109
125
101
99
103
111
121
127
131
140
152
158
156
142
132
131
127
120
141
146
144
140
137
137
139
124
116
104
102
97
93
92
88
97
100
90
87
82
68
93
93
107
127
138
136
105
96
92
89
91
95
99
104
99
92
86
89
98
105
102
94
92
100
103
107
111
107
101
97
116
132
131
134
138
140
149
135
117
103
101
118
123
147
156
158
148
133
126
131
129
131
126
113
123
142
110
58
70
78
88
91
95
106
117
132
119
75
82
91
85
76
77
71
76
82
55
46
41
54
72
117
135
104
68
79
101
85
83
81
65
61
75
70
65
101
122
88
63
58
43
88
114
104
115
119
91
82
94
99
102
97
119
130
117
141
132
135
153
137
84
103
127
91
87
108
148
170
138
64
86
100
124
176
200
146
71
122
155
162
139
114
140
154
122
183
87
105
129
116
90
48
116
148
127
129
90
84
107
84
74
97
112
109
117
73
94
91
53
54
76
62
51
114
92
118
105
62
26
45
64
85
114
110
110
75
21
11
65
104
40
127
95
44
30
36
49
72
74
80
72
69
77
78
81
97
105
83
77
85
97
108
110
124
130
108
85
80
78
90
80
92
85
71
93
60
63
59
62
72
79
77
76
94
107
79
65
67
64
63
77
92
84
75
77
85
103
111
103
69
55
52
89
111
127
129
121
121
136
150
156
164
149
136
141
144
140
126
114
118
113
114
110
101
98
103
109
113
123
125
119
114
119
110
85
78
75
78
81
82
86
89
98
90
73
71
106
105
102
84
74
84
110
128
136
140
121
107
95
93
95
97
101
124
123
117
110
111
115
111
102
114
102
103
108
111
109
105
105
102
95
106
116
112
101
100
87
83
97
120
132
127
119
119
114
112
121
140
157
150
145
116
107
118
137
139
101
86
83
87
92
84
82
94
110
101
89
110
117
103
89
91
103
115
105
77
79
78
56
42
46
96
116
88
85
68
64
81
98
89
80
80
71
72
96
113
112
127
146
143
149
112
122
107
105
105
106
96
92
71
142
150
142
167
140
121
134
156
150
56
81
77
81
128
152
133
106
94
128
152
167
159
155
161
148
116
70
23
73
101
116
105
93
120
176
103
149
126
96
128
128
134
119
96
116
109
144
162
156
158
128
122
166
96
108
74
47
37
61
77
69
83
92
102
101
50
51
54
98
78
93
147
132
105
90
72
96
108
47
80
93
83
59
69
72
41
37
50
61
55
55
72
75
77
97
89
67
86
103
123
133
124
101
95
79
82
79
77
110
72
88
97
72
74
89
70
62
59
66
75
72
61
60
78
80
82
78
76
86
91
84
88
80
86
96
114
110
83
68
72
79
101
130
153
155
115
122
146
160
148
123
108
132
122
113
109
107
106
108
110
106
107
111
106
96
96
104
106
119
119
122
139
132
96
75
76
83
82
80
83
88
96
109
120
132
118
108
121
125
125
131
128
114
110
133
162
156
151
144
131
125
138
137
131
121
119
133
153
156
148
145
163
160
146
135
136
144
151
156
154
135
139
144
145
146
130
115
110
110
119
127
124
135
141
141
145
151
146
146
146
127
136
135
131
153
145
125
104
101
106
96
92
106
114
95
91
113
115
107
105
103
106
102
95
136
135
107
93
106
81
84
94
85
33
46
49
74
93
81
63
54
84
91
93
101
123
140
138
134
137
117
100
102
93
66
72
76
59
86
159
127
126
160
138
132
144
129
109
77
140
160
149
140
105
96
128
125
72
108
137
106
66
79
70
10
114
106
116
89
133
142
132
133
177
149
139
164
179
140
138
135
129
111
136
149
181
171
162
157
140
155
162
127
98
78
57
38
47
57
52
71
103
108
29
33
108
130
111
94
123
175
112
61
95
120
98
59
27
92
108
102
93
86
80
73
64
58
62
66
76
57
37
59
97
58
59
86
105
103
95
95
90
92
87
84
63
95
103
77
71
101
106
75
110
89
65
68
73
77
77
75
74
92
89
88
91
92
90
87
85
83
68
73
95
114
108
90
77
89
89
112
138
142
132
109
115
131
150
144
104
118
120
114
108
101
93
91
103
114
105
106
110
101
91
90
93
95
97
104
116
134
139
129
87
81
81
85
85
89
94
101
92
98
119
122
109
103
115
135
129
112
108
99
103
143
151
133
123
149
164
147
141
140
139
139
144
152
159
163
161
157
152
144
128
122
130
129
132
135
133
132
133
135
151
160
165
160
153
151
149
134
128
139
155
150
142
172
162
145
135
138
134
125
131
146
154
141
133
107
91
97
104
103
86
99
122
119
106
104
104
79
86
113
135
125
98
108
116
106
94
97
85
42
36
61
67
68
74
56
43
86
78
97
119
130
158
170
146
135
118
97
81
90
85
78
52
71
117
129
126
143
149
149
164
124
93
146
126
148
114
125
134
137
135
115
87
122
113
44
49
83
50
36
49
89
144
113
59
124
157
135
166
160
155
141
144
122
130
149
144
126
145
106
165
178
133
139
153
96
126
116
114
104
153
138
101
77
82
113
106
113
64
20
58
93
91
89
111
96
140
131
97
113
66
27
51
64
149
96
86
80
83
82
79
86
101
84
77
64
50
72
86
63
33
45
67
75
81
83
86
98
74
83
99
88
122
86
73
78
95
105
95
89
94
83
74
74
88
102
105
102
95
98
99
96
89
83
80
79
71
68
66
72
83
84
78
89
90
96
150
150
124
102
106
114
114
112
118
108
99
98
99
98
92
83
81
105
94
87
85
86
89
92
85
69
78
87
84
79
89
103
105
111
107
103
99
91
85
83
78
70
74
92
104
100
100
101
120
122
117
121
119
117
134
158
161
147
144
136
121
114
118
119
115
110
106
101
95
91
104
119
127
118
109
111
122
122
121
116
117
122
126
115
111
100
89
85
89
91
83
83
98
108
98
91
125
130
137
146
152
149
141
138
139
118
127
128
124
128
133
129
132
139
61
88
116
111
107
89
120
121
110
102
88
101
123
94
98
104
77
66
75
51
47
69
90
84
80
86
95
120
129
121
121
124
114
103
132
114
90
95
84
46
48
76
113
131
160
158
142
145
145
146
138
155
118
128
177
167
140
105
93
106
115
96
24
38
66
66
81
85
82
141
131
89
105
152
180
186
155
159
154
134
156
125
112
139
149
166
153
142
115
163
163
138
155
134
90
96
81
134
71
105
79
60
78
81
63
40
68
112
116
60
88
85
85
102
100
109
104
128
92
117
142
77
61
105
87
76
75
90
101
103
106
112
67
74
86
87
106
112
82
98
74
103
97
78
86
109
100
103
101
107
109
121
95
91
86
72
81
100
66
81
92
79
81
98
106
97
91
107
111
107
95
84
83
89
92
90
105
113
115
109
95
82
76
80
98
142
126
105
103
127
111
96
97
103
83
85
87
84
85
89
91
87
81
79
81
83
77
75
87
95
89
72
75
82
93
106
106
93
72
75
89
101
113
120
123
104
92
81
80
84
88
94
91
90
85
88
107
122
108
93
91
88
94
113
130
133
113
115
115
117
125
130
119
103
102
105
118
131
127
118
119
128
132
136
137
136
137
139
136
133
129
124
117
95
88
90
89
95
94
83
80
105
124
120
108
95
89
96
110
120
138
140
142
141
126
98
78
106
127
68
69
72
72
90
112
118
117
109
112
115
116
98
114
120
120
129
135
127
145
151
126
101
109
112
100
113
111
96
100
116
100
91
121
114
88
84
72
86
93
97
114
112
138
158
150
162
175
150
121
121
156
100
82
90
150
125
108
95
69
54
68
139
151
122
99
77
85
107
63
128
150
112
115
177
185
182
187
161
150
136
104
127
132
153
166
156
146
167
155
110
100
95
45
58
74
71
73
90
111
94
61
65
60
40
44
62
73
62
39
89
90
89
95
112
105
97
122
125
133
130
72
66
92
97
93
92
98
101
98
93
90
78
80
73
87
127
132
98
94
95
105
86
91
121
140
142
143
122
106
102
113
92
86
85
77
91
115
73
78
101
88
92
111
117
101
89
102
107
103
90
82
85
93
95
96
114
122
119
106
88
76
88
95
107
119
98
86
93
129
114
102
104
105
84
93
89
85
85
92
97
93
77
80
83
88
85
78
84
96
99
86
82
86
96
108
101
82
77
81
90
98
107
110
109
119
108
97
91
92
98
105
111
103
97
100
116
131
116
91
96
104
111
112
113
116
130
130
124
117
123
134
133
123
113
110
119
129
126
120
122
135
140
145
145
143
142
143
141
137
133
129
123
112
112
102
97
95
91
84
87
103
100
94
88
87
88
93
103
113
113
127
152
163
142
116
114
143
131
63
65
76
87
101
111
129
127
107
128
121
89
112
120
126
144
156
136
132
125
119
83
71
102
110
93
112
110
104
112
118
94
86
117
131
76
99
116
151
154
134
93
121
160
136
149
177
175
164
130
135
155
123
102
130
140
104
83
82
86
107
132
134
66
85
96
77
85
88
97
121
107
74
127
185
150
162
153
134
139
124
126
154
151
164
174
168
150
161
147
120
116
93
63
103
95
64
83
113
106
89
57
55
56
34
33
43
40
53
63
87
87
90
96
122
109
118
109
93
80
102
76
71
72
80
97
105
93
80
78
78
73
80
74
89
125
133
112
104
114
95
138
135
129
131
126
121
101
97
95
97
123
72
92
93
93
98
105
86
84
95
73
77
110
127
107
82
76
85
87
81
80
86
89
85
90
114
114
104
95
98
106
98
108
113
102
90
92
104
91
111
114
100
94
99
100
99
97
99
102
103
101
102
96
91
98
104
96
87
90
94
90
87
81
79
94
108
109
112
107
79
74
76
77
74
72
80
91
98
97
91
88
73
77
86
90
92
103
103
112
106
108
109
99
92
93
86
111
127
122
111
109
109
106
123
128
139
148
145
144
151
148
150
149
139
135
135
136
133
133
134
135
126
116
122
126
112
98
93
98
113
116
104
87
79
89
97
96
102
116
110
122
154
150
100
89
129
106
109
94
80
103
121
105
108
111
95
106
105
88
132
118
125
148
145
112
105
84
83
58
79
112
83
29
25
36
80
113
105
84
91
126
155
135
147
148
136
117
101
117
175
167
137
148
165
165
171
144
166
166
86
141
163
128
126
150
154
111
82
111
124
130
125
92
92
87
89
122
111
93
107
130
120
128
163
159
156
158
89
97
148
148
156
179
171
165
152
149
122
114
91
89
83
77
42
67
90
98
91
113
78
27
21
22
37
66
65
71
111
83
90
101
102
112
111
91
84
80
79
93
112
110
73
109
85
72
79
81
74
76
87
105
116
118
108
97
96
103
115
117
152
137
123
113
96
83
78
81
79
99
106
83
79
89
114
106
63
95
102
80
83
84
85
84
69
58
82
98
103
90
79
82
85
84
91
98
102
104
104
106
107
115
109
108
113
121
128
127
93
101
101
98
99
93
91
89
87
86
85
85
83
79
73
81
100
114
108
95
87
79
93
101
114
126
110
83
72
95
85
87
85
67
69
90
88
80
77
92
129
143
161
146
122
99
92
93
94
104
108
103
101
98
93
93
91
87
99
107
102
93
94
108
122
122
107
109
111
110
109
108
108
124
142
163
170
169
165
146
135
113
109
126
126
140
145
128
114
113
114
110
110
95
97
96
93
96
104
110
111
134
134
125
123
142
146
102
112
93
69
78
75
71
78
60
75
89
120
130
144
146
132
122
105
96
96
89
76
82
62
43
40
55
77
95
85
93
103
105
104
115
140
161
137
146
134
131
123
130
157
167
133
124
126
150
172
161
137
118
109
64
134
159
141
171
137
119
109
86
76
82
108
100
114
118
91
78
77
64
114
136
127
142
169
172
158
149
171
129
145
151
159
191
187
148
145
132
119
105
110
117
109
103
106
96
71
107
129
137
137
101
83
90
79
70
44
52
53
86
82
97
104
99
119
109
75
86
83
85
99
115
115
77
83
71
72
82
75
66
79
99
121
123
113
97
93
107
125
141
134
144
127
110
95
76
71
67
75
82
105
115
103
95
102
115
72
67
103
97
85
82
83
88
80
60
61
111
126
123
97
78
83
90
91
96
92
98
108
112
111
108
101
92
94
118
126
122
109
84
93
99
98
94
89
89
84
85
88
91
91
83
65
79
71
71
75
79
94
119
133
113
97
91
94
89
80
79
92
83
91
92
73
65
78
87
79
69
72
104
127
150
146
130
117
118
120
113
93
78
74
79
84
80
79
83
74
74
82
101
124
132
125
115
102
89
91
98
108
123
134
143
155
170
185
181
170
158
124
127
126
134
150
128
132
136
129
119
114
114
116
110
97
96
91
87
86
90
94
94
88
108
95
93
155
167
113
111
60
68
62
61
65
52
63
60
53
85
152
158
135
115
96
74
69
73
62
41
47
57
74
93
104
107
108
110
98
112
115
95
112
148
151
138
141
132
131
131
144
172
167
132
131
115
136
163
146
118
107
112
111
141
136
120
118
110
85
78
81
61
52
102
115
133
119
81
72
76
63
120
146
150
159
169
162
151
160
167
145
159
165
170
190
166
143
133
121
117
91
84
94
134
136
114
106
91
105
115
121
92
59
48
64
84
73
38
53
63
107
90
101
111
116
106
97
90
100
90
85
87
93
108
103
62
54
62
74
84
106
125
123
114
106
105
117
136
153
161
153
137
98
75
64
67
70
91
81
79
85
90
90
88
76
91
118
73
82
81
104
124
109
93
90
87
82
102
168
148
111
81
84
112
132
135
111
119
113
102
97
101
108
111
100
99
118
120
107
88
89
90
99
99
87
96
100
93
95
96
93
87
83
86
88
89
100
108
100
87
77
68
70
89
109
115
107
92
81
73
80
76
89
98
92
83
74
75
71
73
91
89
89
96
89
88
101
121
136
145
160
150
144
137
119
103
94
91
108
127
131
119
109
116
131
152
171
179
177
171
172
176
163
149
132
119
119
119
119
140
148
145
122
92
72
86
117
118
112
100
101
114
119
99
102
109
120
130
135
135
134
118
108
75
100
160
137
95
60
52
67
63
64
61
44
36
78
97
105
108
107
81
65
75
66
48
53
74
96
106
99
97
100
98
93
93
90
102
110
110
111
112
112
113
138
144
144
143
144
156
172
160
121
119
132
163
181
149
74
122
143
131
77
91
120
128
108
122
122
85
83
111
125
138
146
124
83
73
94
112
108
112
132
143
143
155
172
140
107
126
129
152
164
138
138
136
110
97
99
85
81
77
74
89
104
96
88
115
88
93
69
72
57
37
69
77
31
62
108
165
108
127
128
118
107
101
105
95
88
91
85
77
97
115
90
50
56
93
104
104
107
103
114
125
131
133
130
115
100
97
89
66
66
66
72
81
80
85
88
99
128
116
101
101
81
71
72
66
76
85
102
114
106
83
75
83
93
96
82
72
75
84
95
109
121
135
115
101
88
86
94
103
113
117
125
108
100
99
96
101
94
104
109
95
105
104
99
91
81
76
78
80
83
74
66
66
68
65
63
67
66
65
81
91
87
91
103
107
92
84
79
83
80
86
103
111
114
102
85
85
80
75
72
83
92
87
76
73
91
100
91
84
87
110
148
168
139
135
140
154
162
156
147
145
148
132
122
115
114
123
135
162
159
162
163
152
140
134
120
109
95
82
73
75
71
77
87
98
102
99
92
79
64
62
64
71
72
63
52
46
78
86
117
151
140
110
81
95
71
56
65
71
65
53
79
98
90
83
91
96
74
82
83
85
95
104
96
81
94
93
99
107
102
91
93
99
118
106
94
113
115
105
116
106
125
138
139
141
148
152
155
154
156
160
160
144
119
161
176
164
135
146
110
134
102
129
127
108
111
125
141
150
156
139
98
74
87
109
118
161
159
146
148
165
151
106
109
141
122
149
155
142
150
114
124
117
122
59
60
54
43
66
64
50
75
125
119
117
126
133
108
85
84
87
103
79
88
62
52
114
140
137
113
114
107
101
89
87
95
91
79
97
114
97
90
110
119
97
95
105
96
122
133
132
122
110
96
86
89
83
72
79
79
76
80
91
99
100
105
120
94
70
98
85
71
80
57
74
76
88
118
119
90
77
84
85
81
75
77
86
88
89
106
130
155
97
75
72
85
102
113
114
123
135
103
88
91
94
103
93
106
114
99
106
102
103
90
76
75
82
85
74
84
76
75
77
71
66
67
63
65
76
79
69
76
97
106
110
111
92
107
118
103
82
105
113
103
83
75
72
70
66
69
72
75
78
83
85
97
95
91
91
109
134
131
74
80
94
105
103
97
102
114
120
115
115
115
121
133
145
142
139
140
142
134
128
126
117
113
110
100
85
72
62
59
67
80
89
87
78
72
69
59
55
61
68
73
79
84
88
76
105
122
109
120
112
102
66
75
70
65
70
67
48
83
91
83
70
87
82
50
44
55
83
95
82
113
113
98
93
104
111
102
93
102
116
107
98
111
115
107
109
99
118
131
131
133
139
140
141
158
164
164
162
153
147
179
149
173
155
132
133
141
124
117
135
123
91
121
154
145
159
139
91
79
111
133
130
148
151
158
166
174
156
116
101
126
150
171
186
170
143
170
130
152
170
61
110
70
99
84
53
59
96
93
45
69
86
110
72
54
74
65
71
71
88
89
90
119
123
128
127
116
106
94
90
90
89
88
88
97
128
136
141
133
110
91
88
97
103
100
97
93
89
85
88
93
88
90
87
82
81
82
85
91
77
76
116
107
93
104
90
85
81
76
73
86
81
81
97
115
96
77
78
71
87
84
77
79
93
101
103
107
99
79
82
92
99
104
106
95
107
104
88
94
102
110
128
124
120
119
116
101
96
117
104
81
75
85
82
81
69
69
88
102
90
75
69
61
83
85
82
78
76
80
84
100
101
103
112
131
137
126
107
91
86
100
108
99
97
97
97
95
97
106
113
134
151
139
132
122
105
97
93
100
101
104
106
108
110
114
116
111
103
99
99
102
105
106
99
106
121
129
125
112
94
83
84
90
98
103
80
66
56
56
79
86
89
93
87
111
120
140
129
139
131
143
137
90
69
65
81
100
107
103
94
78
73
67
62
72
58
68
81
69
45
45
50
58
45
52
60
65
68
73
90
94
92
94
104
110
101
97
112
94
107
98
102
106
89
79
96
116
121
128
128
129
140
147
143
153
153
140
106
147
158
158
152
145
121
141
135
121
117
97
108
128
143
151
159
136
128
146
136
131
152
146
145
137
135
155
165
161
160
176
131
145
148
152
148
149
132
126
83
57
93
61
112
82
50
93
70
51
116
79
25
28
49
55
72
81
75
104
129
118
15
35
112
122
134
125
107
104
86
94
94
95
101
117
137
161
147
133
107
84
82
93
96
91
93
92
93
92
91
93
96
95
91
83
82
80
78
75
83
78
106
136
69
92
73
73
72
77
82
83
91
86
75
89
113
106
97
97
83
71
77
86
108
135
140
126
113
104
107
110
105
93
82
77
95
89
82
93
90
91
100
93
89
83
92
112
110
89
82
92
104
114
117
110
99
100
103
105
101
98
102
106
103
101
103
104
104
102
98
95
93
99
99
93
104
118
120
129
132
119
97
113
125
121
140
140
133
127
122
112
112
105
109
121
131
129
122
120
120
112
101
97
96
91
80
71
78
79
82
86
94
108
120
97
89
88
74
63
65
70
65
81
96
94
82
88
101
107
116
138
140
144
147
153
148
141
148
125
121
109
122
109
97
89
81
80
80
69
54
54
53
64
80
64
70
83
62
62
65
73
66
52
47
44
42
39
34
28
20
7
17
24
32
38
42
42
56
82
100
97
80
102
82
100
120
89
116
112
133
135
120
122
135
146
135
144
144
169
160
155
170
163
147
128
159
152
108
102
76
61
76
108
129
109
159
150
145
161
138
123
138
172
143
140
183
182
146
143
125
153
180
158
149
182
170
160
165
138
101
98
117
131
68
67
105
86
33
36
58
46
62
73
79
96
104
102
112
77
61
26
43
117
137
133
115
102
92
92
98
102
109
119
136
154
160
133
109
89
87
95
95
96
99
97
96
97
98
95
95
97
98
92
82
82
84
83
81
75
68
121
122
70
82
86
72
70
78
86
90
95
91
80
88
108
102
98
100
89
82
98
117
137
149
136
109
93
95
117
123
115
104
98
100
101
91
80
89
83
81
90
95
96
103
122
143
114
83
78
75
76
82
90
96
94
103
117
128
128
123
110
91
76
93
98
97
90
81
76
75
89
89
84
76
80
86
82
96
125
130
105
122
135
126
121
119
110
103
101
99
118
121
141
152
147
138
126
105
92
89
91
99
108
109
101
92
98
93
90
84
77
80
85
85
76
75
62
60
73
88
102
110
118
115
107
106
110
137
145
157
142
120
99
104
161
151
163
151
155
144
143
113
91
87
86
90
94
90
83
82
79
81
91
71
72
83
90
73
62
63
57
51
46
34
29
23
19
19
20
20
18
21
21
23
27
27
35
49
76
62
113
88
68
95
94
96
107
123
151
146
128
134
140
139
115
147
151
178
156
154
173
163
141
117
132
126
88
73
78
78
79
110
122
106
139
134
150
165
122
112
153
153
149
157
176
176
159
148
149
185
161
131
137
173
145
184
154
129
83
88
112
79
79
103
85
18
28
87
45
30
57
65
76
93
93
79
67
40
58
29
27
134
128
115
105
93
98
112
117
128
139
143
146
143
113
107
102
104
113
117
113
109
110
96
96
99
102
99
97
97
97
96
92
90
88
85
83
86
109
115
91
83
83
94
91
83
86
91
89
90
88
79
77
90
86
88
97
91
95
111
123
129
128
116
106
105
114
117
115
108
99
96
99
103
108
105
90
78
69
72
76
88
111
135
138
137
152
120
104
98
104
115
129
106
105
108
108
117
131
130
131
143
116
115
106
92
83
82
84
110
105
108
111
121
128
126
111
106
118
143
132
109
101
124
130
131
127
118
101
93
96
103
97
91
102
111
112
124
130
136
138
131
120
108
101
86
84
93
93
84
79
80
76
79
84
71
77
88
90
88
104
128
148
154
128
114
103
102
116
122
117
99
166
168
143
152
149
166
168
172
133
118
125
127
105
74
65
75
78
65
77
82
87
104
94
61
55
63
76
89
81
60
52
47
39
30
23
21
22
17
18
14
15
19
17
12
20
4
49
82
63
99
126
98
125
114
138
144
144
150
152
145
123
105
155
144
148
162
160
162
139
126
116
116
115
138
86
75
67
71
91
81
129
146
139
120
119
165
191
144
132
144
155
155
171
190
192
175
171
148
139
162
140
91
74
60
59
102
114
118
99
48
37
149
147
63
88
71
105
132
108
90
84
79
84
68
32
58
50
18
115
110
104
95
114
125
120
133
138
145
140
122
100
88
102
109
114
115
114
112
108
103
96
96
100
101
96
91
88
86
105
82
80
78
85
72
136
79
74
98
117
127
129
98
91
80
76
81
75
80
79
88
98
86
109
124
100
112
104
98
109
101
91
100
88
81
102
102
98
97
95
91
100
113
130
134
115
98
90
93
102
143
175
161
132
120
106
92
86
87
83
86
111
99
102
93
87
93
92
95
110
127
133
134
117
107
111
111
125
119
127
115
102
99
97
95
100
99
94
115
116
108
95
99
99
94
94
99
100
94
96
102
109
110
103
96
94
98
107
105
90
83
90
96
103
110
108
98
88
86
88
95
89
73
72
78
77
77
142
135
115
87
66
69
73
66
62
52
64
74
84
192
160
145
144
159
172
175
164
145
127
107
125
81
104
110
120
120
89
71
79
85
84
78
89
64
67
85
107
101
65
64
60
56
61
70
68
75
63
56
73
73
90
83
95
63
111
106
106
116
109
105
81
94
130
104
110
140
145
126
148
122
141
146
158
164
165
170
145
147
116
103
161
151
85
97
64
70
65
99
100
161
149
154
157
148
158
173
168
134
80
112
134
171
153
167
150
143
152
127
123
102
78
52
48
68
89
64
34
79
159
156
115
67
59
74
80
94
127
153
143
120
112
101
79
113
78
83
63
117
103
97
102
117
127
131
139
148
151
137
107
86
102
111
114
116
111
107
104
101
97
97
97
99
98
92
88
88
95
71
80
81
80
65
129
105
88
126
125
110
121
66
87
88
81
72
73
79
88
102
96
95
87
114
124
94
107
108
96
100
99
92
97
87
80
93
91
92
100
108
112
123
121
126
147
147
140
136
120
108
134
170
166
144
142
116
108
113
119
112
99
82
120
140
144
139
133
121
108
104
123
126
106
87
75
74
84
107
95
83
78
81
87
88
84
90
94
95
95
87
78
93
93
91
93
106
118
97
91
97
103
101
89
77
75
90
87
93
93
82
75
82
89
119
111
101
90
83
88
96
88
87
74
70
93
121
145
98
99
93
82
74
68
63
62
66
55
61
53
65
199
156
144
147
164
173
172
165
155
142
116
110
95
103
107
126
86
98
54
57
67
69
73
85
70
75
94
112
95
62
66
64
61
64
72
74
76
87
74
83
76
93
89
104
74
106
92
92
107
103
101
85
107
117
110
115
129
140
147
147
138
153
150
168
169
168
163
144
138
96
98
163
127
111
96
73
68
94
94
116
150
156
161
166
165
155
148
151
147
101
114
148
170
157
172
181
146
176
124
172
124
105
50
61
58
74
44
130
131
162
160
113
99
122
82
98
124
155
165
151
135
109
92
96
92
55
82
69
120
125
133
145
148
145
151
143
129
112
104
101
101
105
106
108
107
103
99
100
99
98
94
93
91
86
83
85
90
90
111
62
90
120
107
123
131
102
89
85
97
81
66
79
91
88
73
72
96
107
107
101
101
103
107
101
93
91
124
110
100
107
101
101
104
103
115
114
108
104
102
102
85
93
102
90
81
84
93
88
93
120
141
132
136
158
149
138
135
135
131
128
123
123
103
80
77
92
103
101
97
136
129
117
117
112
96
86
82
83
64
65
70
70
67
71
68
75
91
97
101
112
105
115
114
102
101
111
103
99
91
87
92
98
96
90
71
59
62
74
76
74
79
85
84
93
102
104
98
92
90
106
122
134
138
121
94
77
98
102
107
112
114
104
99
94
100
82
99
84
105
205
193
174
172
182
177
162
158
161
116
143
127
110
105
141
91
100
115
85
85
80
61
51
56
66
76
98
111
80
65
69
70
70
68
71
81
75
67
69
89
82
91
79
90
105
100
78
82
108
109
100
102
94
114
109
120
133
127
114
126
143
150
157
167
158
178
164
136
129
107
110
128
125
123
101
104
75
76
107
164
165
167
164
165
162
146
147
170
167
130
82
147
151
171
198
125
96
134
200
176
164
129
81
81
46
38
88
134
154
143
113
121
123
88
86
94
142
159
166
170
171
143
108
101
105
89
97
74
146
165
153
126
129
123
118
108
102
100
102
102
98
92
99
107
110
109
105
100
94
89
82
82
83
84
85
89
96
93
89
133
98
89
136
86
92
90
127
129
64
74
81
68
77
83
91
104
112
116
116
104
93
105
108
112
118
101
127
117
106
97
82
86
90
94
94
91
85
80
83
89
96
92
90
97
95
93
93
96
104
99
87
93
114
104
97
98
109
120
127
134
133
116
100
98
100
86
72
79
94
82
95
112
93
97
123
124
126
129
94
85
75
76
93
100
87
80
87
98
107
118
125
108
88
80
86
93
90
88
94
103
108
106
104
107
133
131
131
125
115
114
115
110
110
103
108
114
117
117
118
114
110
95
95
97
89
84
85
93
103
107
100
80
80
82
86
93
94
79
104
196
193
179
175
178
172
162
157
151
133
131
120
117
103
110
101
144
105
116
87
70
82
86
67
74
87
98
85
76
77
84
70
70
74
69
75
77
72
76
96
83
88
82
98
90
86
87
88
107
107
86
100
119
88
97
119
128
126
127
140
142
152
158
141
130
168
174
159
139
109
130
123
107
126
130
122
139
98
138
155
177
167
178
177
152
148
161
159
173
138
90
129
153
164
174
136
126
139
104
83
122
68
49
73
124
79
74
65
80
116
83
125
171
128
93
190
170
156
166
172
163
170
152
100
32
34
74
70
158
167
152
137
145
128
120
101
102
105
105
101
93
95
104
109
113
110
105
100
93
87
80
79
81
85
87
90
94
84
104
80
82
113
74
74
71
101
140
119
76
84
76
77
84
96
114
124
109
116
104
98
87
98
99
109
124
113
116
104
102
92
83
95
93
93
87
84
80
78
86
96
101
92
86
95
98
100
102
113
111
96
85
91
87
74
77
76
86
104
120
128
109
102
99
105
101
89
93
107
111
76
97
110
94
94
112
116
126
128
116
112
89
79
95
126
110
97
96
115
123
130
105
84
69
72
78
77
77
71
78
88
94
93
94
104
111
118
119
104
91
99
109
104
84
94
97
91
85
83
86
69
93
110
111
105
102
106
102
104
112
117
111
92
91
91
86
102
88
75
92
155
188
188
192
187
171
159
149
137
143
134
140
115
97
86
104
114
106
96
79
85
98
93
67
68
88
98
73
81
86
97
74
73
81
73
74
84
86
80
88
71
82
80
93
95
98
107
98
110
114
96
117
102
99
108
124
125
112
104
140
145
161
152
141
135
161
169
157
138
111
134
117
108
134
119
139
148
115
144
176
175
175
170
154
140
143
153
156
165
127
99
114
163
164
163
158
152
130
123
83
88
51
107
152
80
51
71
103
125
143
101
160
183
97
99
180
150
145
156
165
156
150
137
114
20
37
77
67
140
115
99
106
111
99
94
96
97
98
98
97
95
96
104
105
107
106
103
96
90
86
84
86
87
89
90
91
91
86
83
84
84
82
83
87
76
95
99
91
107
112
111
106
113
129
137
133
112
95
73
85
92
87
92
118
116
95
103
102
96
96
96
95
99
102
98
96
99
98
94
95
99
105
106
81
70
69
72
78
82
91
95
90
80
86
80
101
119
125
126
132
128
92
86
83
92
112
125
121
113
91
83
72
68
79
95
105
134
123
127
112
112
116
105
113
135
139
118
104
101
88
97
99
93
90
92
82
94
82
83
83
82
85
91
93
97
103
109
100
80
75
86
94
107
83
77
68
71
85
96
102
100
105
104
100
98
96
98
98
92
89
90
87
96
96
87
79
75
75
75
66
92
135
189
201
181
180
180
156
128
137
158
113
122
89
86
84
94
78
95
75
73
64
50
68
81
78
75
83
88
82
84
95
94
81
82
83
75
86
81
68
69
78
81
88
103
108
101
106
119
116
99
124
87
102
134
130
99
82
131
145
150
144
147
156
157
153
132
135
132
114
138
115
125
155
100
104
148
144
151
150
164
158
167
159
151
156
119
129
165
154
174
167
193
154
155
147
147
102
61
63
200
166
153
100
57
76
102
93
137
164
188
158
95
148
111
131
167
156
146
117
78
70
45
63
83
100
51
114
104
97
95
75
76
85
93
95
97
98
97
97
98
101
104
105
102
95
91
91
93
98
93
93
96
99
101
101
92
88
88
88
86
88
92
97
100
112
132
129
124
136
142
139
131
117
105
93
89
92
89
99
109
111
118
120
93
95
87
82
86
91
91
94
94
94
92
92
86
77
75
88
88
83
64
63
68
75
75
81
90
93
90
83
87
80
79
75
74
87
106
116
134
133
127
120
114
112
115
118
116
107
117
131
137
134
133
128
124
126
110
114
131
136
119
110
103
104
96
97
103
83
88
89
96
115
124
117
118
116
115
118
124
124
111
78
85
76
90
116
93
71
96
94
88
91
87
86
88
85
81
89
103
92
78
74
73
74
82
87
85
82
80
93
99
94
86
76
68
65
74
78
75
97
133
162
185
189
171
136
143
108
105
114
109
84
91
100
112
113
98
68
71
70
64
62
69
74
70
67
80
76
85
94
95
101
83
94
85
77
85
99
94
77
86
115
111
96
105
109
113
136
111
90
87
115
111
84
80
104
128
134
140
141
159
159
157
158
150
142
147
163
172
174
164
119
140
164
130
127
137
145
160
181
152
109
113
124
152
157
172
180
187
177
175
169
142
116
46
91
117
119
160
108
57
93
121
122
83
123
176
172
78
171
134
123
138
126
114
89
76
66
46
46
101
109
48
33
115
106
98
90
73
81
94
98
100
102
102
100
99
99
102
105
106
100
91
87
89
94
97
95
98
103
108
108
107
98
92
82
81
83
89
93
108
118
130
137
119
120
137
141
131
112
96
92
97
98
100
98
108
116
120
130
125
90
92
85
80
87
91
90
90
91
86
83
84
79
72
72
85
85
82
69
69
75
81
87
87
92
105
113
86
68
69
74
81
89
101
112
104
108
119
132
137
134
134
144
155
144
123
111
119
132
132
124
117
117
125
115
118
129
134
107
106
110
120
116
103
94
89
88
86
97
120
130
95
79
87
99
114
127
128
114
98
82
68
96
131
109
78
86
86
94
102
100
95
86
75
87
96
114
102
88
86
86
64
69
70
68
68
69
81
77
72
65
58
56
60
72
72
92
105
99
107
150
185
186
146
155
106
111
99
104
85
103
105
114
104
94
61
72
71
64
64
75
77
68
63
83
80
89
98
98
103
85
93
81
72
81
91
82
70
108
121
98
87
114
113
102
122
123
97
113
134
100
73
95
112
141
133
136
148
169
149
116
153
158
150
166
157
158
172
163
138
156
161
126
120
133
136
154
178
163
124
107
107
150
135
158
150
182
181
185
160
142
73
61
77
79
155
148
155
99
72
105
123
153
152
194
148
150
146
134
155
131
94
73
35
31
41
20
33
75
83
21
42
113
101
88
83
88
93
97
102
103
104
103
102
99
99
101
101
101
95
88
86
89
93
102
107
109
110
110
107
105
96
101
119
121
114
105
102
120
118
105
98
119
118
113
111
104
79
70
87
101
106
106
118
129
127
137
164
156
83
90
91
93
101
104
101
101
91
80
74
78
79
79
84
79
79
79
80
80
81
82
80
80
77
77
81
100
103
114
111
107
109
115
125
138
144
140
135
127
113
104
112
124
160
152
122
110
117
110
87
98
101
103
99
92
84
79
96
102
100
95
130
138
131
123
117
118
120
117
121
132
117
115
109
100
96
97
97
82
92
120
138
123
102
91
83
98
89
84
76
78
78
70
65
66
77
85
90
102
110
124
114
98
87
86
80
85
77
68
59
59
63
68
65
84
87
94
94
77
65
93
135
158
173
153
137
104
96
111
112
124
147
135
125
105
100
64
67
66
61
63
70
74
81
83
94
97
90
99
114
104
97
86
81
77
70
77
81
97
105
125
144
119
94
108
125
98
90
91
101
119
135
134
148
97
114
139
163
112
125
166
158
136
157
162
169
172
164
157
135
106
104
113
112
134
162
161
167
175
162
165
146
131
149
132
163
187
163
160
79
73
35
55
82
59
49
96
117
59
134
155
171
180
183
147
172
170
145
143
48
49
50
41
54
78
81
88
45
33
27
58
97
94
92
93
91
86
83
83
85
89
91
91
92
94
90
91
90
90
92
95
98
99
104
109
110
108
109
115
122
146
145
144
135
123
112
107
94
95
101
113
93
102
132
147
153
135
113
113
95
102
129
126
133
134
128
134
138
111
116
110
100
97
93
91
93
95
88
84
87
85
82
84
84
81
77
80
82
83
82
95
95
94
96
107
126
123
126
115
109
117
131
136
122
119
109
103
105
106
102
102
107
131
145
157
149
124
104
98
100
106
95
90
87
94
107
123
122
131
141
100
83
83
97
88
108
136
134
122
119
106
97
84
77
82
88
86
97
134
120
83
81
78
68
77
82
112
120
119
123
123
113
117
99
88
93
110
129
137
128
127
118
108
101
93
102
97
97
95
89
81
75
72
75
70
71
88
100
91
83
88
121
133
147
122
145
117
131
110
127
131
127
117
132
111
72
81
74
53
66
77
74
72
65
64
59
53
68
93
132
119
99
92
100
99
88
95
85
99
130
141
129
131
149
141
109
114
78
66
82
78
150
128
70
142
135
167
145
161
150
139
152
162
139
173
184
155
165
160
133
134
135
134
141
167
166
173
166
125
127
145
144
128
162
154
191
183
38
99
103
114
97
107
76
82
83
116
152
182
158
153
162
103
167
96
146
147
193
124
106
68
86
89
57
61
59
50
48
69
34
98
92
87
84
84
81
77
83
85
86
90
93
94
91
94
92
88
89
95
92
93
101
106
103
101
103
112
126
137
144
129
109
100
101
106
107
106
107
107
106
83
79
94
99
131
140
122
102
92
109
140
163
165
127
106
130
137
103
122
125
115
110
101
97
105
117
116
114
113
111
112
112
111
96
91
98
95
98
99
110
114
117
110
112
133
118
109
103
103
110
115
112
106
95
91
93
85
73
80
92
87
120
141
158
171
164
141
123
115
121
106
101
108
115
115
116
92
92
117
93
75
81
100
116
125
107
92
111
98
101
98
94
89
88
88
88
145
103
87
95
85
70
70
77
105
123
127
127
131
137
139
120
116
116
124
136
130
108
132
75
16
10
60
112
92
107
93
108
115
93
92
101
106
106
95
93
92
67
54
72
60
94
127
127
146
160
137
129
117
122
131
147
144
120
85
103
90
79
83
109
70
69
75
59
48
69
89
90
128
101
101
117
109
101
101
94
95
93
109
140
149
139
135
138
103
103
53
85
60
54
158
105
91
140
132
150
144
157
133
145
166
137
145
187
181
135
142
141
159
148
143
145
160
165
172
173
149
136
154
145
158
153
122
167
188
39
112
165
90
106
105
82
113
160
60
110
143
161
149
173
169
132
121
136
196
40
133
122
121
72
42
69
78
58
60
48
88
65
53
85
82
78
78
85
85
84
83
85
87
89
91
92
93
95
94
93
98
109
112
113
119
117
108
100
98
100
102
104
96
93
88
96
119
133
127
109
110
110
106
90
89
93
90
96
105
112
109
119
150
169
159
152
141
133
144
152
143
157
160
156
153
150
148
154
150
155
153
144
133
125
119
117
110
120
154
157
154
146
139
137
131
117
107
107
94
91
88
86
86
85
84
92
96
95
98
97
92
94
95
88
102
90
84
95
108
118
127
125
118
94
93
93
80
65
76
95
103
89
80
92
99
108
92
88
103
110
103
99
111
92
84
86
87
88
108
105
91
88
94
93
92
98
102
106
114
116
118
123
132
137
133
120
107
105
113
103
79
74
65
85
110
95
87
124
85
98
100
104
106
91
125
149
146
135
133
131
113
104
120
115
119
126
123
114
103
92
127
123
147
159
134
111
120
93
83
67
75
117
126
91
98
95
91
87
80
72
123
104
81
94
106
93
105
121
90
109
102
85
98
124
138
145
139
109
73
57
67
55
103
113
78
113
67
122
125
121
153
136
108
117
129
155
179
179
114
113
128
162
152
155
167
164
171
157
133
146
169
164
133
151
170
172
139
43
157
71
64
78
79
102
154
134
101
47
115
145
183
173
170
151
112
102
82
57
167
123
100
99
72
67
98
93
65
63
92
99
64
96
72
72
73
75
83
86
87
89
90
90
88
85
83
84
84
94
101
109
119
120
116
116
108
99
93
92
92
91
90
87
94
97
102
116
116
97
80
80
81
80
110
131
132
138
149
144
123
111
141
142
126
113
104
105
127
168
177
107
97
88
82
83
94
111
120
123
111
99
89
85
88
92
106
109
125
141
132
116
99
86
83
87
89
86
90
87
88
90
90
85
82
86
102
88
96
100
96
89
83
86
95
85
85
88
94
92
87
90
104
125
124
98
88
99
116
124
119
112
107
97
88
83
92
115
102
89
99
81
88
71
80
86
95
114
125
105
86
100
107
100
93
94
106
117
118
130
142
144
128
104
89
87
86
86
78
84
87
81
56
81
61
43
52
61
148
182
145
120
114
106
107
109
126
112
104
115
128
125
117
116
99
75
74
93
97
98
113
128
131
121
144
132
101
96
113
104
100
96
116
114
106
109
92
104
141
156
143
147
139
107
97
93
90
113
133
138
120
100
109
134
134
119
119
125
137
127
132
122
127
132
115
109
98
134
101
84
108
122
153
129
132
139
160
170
166
129
119
101
138
155
167
173
176
175
178
169
134
112
120
161
165
179
82
87
198
185
148
117
121
141
143
89
122
101
49
97
127
136
152
162
128
154
153
163
162
148
150
174
183
167
143
125
93
77
93
43
71
72
85
70
71
74
78
83
84
84
85
86
86
82
77
75
78
80
94
102
105
110
109
105
107
107
99
93
91
92
94
95
89
97
108
106
110
104
86
86
84
84
81
139
174
174
140
146
134
108
104
147
133
105
97
92
93
113
151
163
115
104
100
104
107
118
128
132
108
99
90
85
89
101
112
135
138
148
131
113
101
89
74
74
84
93
91
89
87
96
100
101
94
89
90
95
89
98
101
97
92
83
83
95
97
98
102
106
100
94
97
98
113
128
118
109
110
115
123
114
110
109
87
85
93
110
101
75
66
87
99
80
78
94
115
122
108
87
80
93
111
120
119
116
114
116
124
121
119
116
105
90
84
86
87
90
95
75
69
69
65
65
51
42
51
59
26
23
152
156
117
87
93
86
117
128
113
104
111
120
121
117
115
82
65
61
67
71
85
110
143
157
167
176
157
122
105
110
105
105
87
94
81
78
98
81
91
126
146
145
151
139
118
99
95
98
108
114
124
95
71
86
113
110
100
109
123
122
115
125
118
145
132
122
130
123
85
93
125
104
115
157
144
151
140
156
154
164
135
120
91
132
158
168
167
178
179
178
160
111
90
118
156
152
102
77
177
168
204
144
136
154
141
150
101
107
69
33
93
134
124
136
137
147
143
127
143
182
183
162
174
193
186
159
128
91
72
81
48
81
99
128
71
75
81
84
81
79
78
81
84
84
81
77
76
85
97
112
115
104
98
97
101
110
102
94
85
79
78
83
88
106
109
122
110
98
91
85
87
95
108
105
126
130
99
96
81
87
113
140
143
105
94
83
95
108
99
99
119
128
116
123
135
130
123
113
99
103
111
110
110
114
124
132
133
138
136
89
83
96
107
88
81
85
90
83
77
80
81
82
78
74
82
101
125
121
124
121
126
134
121
105
106
114
113
116
118
111
107
114
121
112
108
114
117
118
118
119
116
110
105
109
103
92
84
103
100
96
104
94
135
142
142
124
97
96
112
108
97
98
97
113
139
142
135
137
100
51
60
79
90
89
88
83
79
77
54
47
45
39
52
61
59
69
73
51
103
92
112
120
102
88
92
98
100
89
82
75
66
72
91
103
71
75
106
129
141
142
133
134
132
168
134
104
125
157
148
142
143
121
160
130
116
126
129
134
117
92
99
148
141
137
106
93
103
92
97
144
151
136
112
101
99
114
141
150
153
140
167
139
165
145
154
135
140
80
113
90
91
118
146
137
163
148
180
157
171
121
95
86
146
166
166
178
165
170
171
152
140
128
104
164
58
125
182
183
182
169
147
164
121
156
116
128
122
43
40
96
118
125
151
133
130
176
169
142
140
192
130
166
179
171
154
150
142
122
110
83
94
60
89
64
72
78
81
79
72
74
72
72
73
74
74
77
99
108
103
98
95
97
99
101
101
96
87
82
83
91
100
106
104
107
101
91
82
79
79
80
89
96
98
93
92
91
92
87
101
134
152
117
104
101
101
96
95
102
108
116
137
117
104
106
114
127
134
131
123
130
119
104
98
104
110
105
115
133
134
108
90
86
93
84
95
107
99
85
80
74
86
109
123
121
115
94
81
94
100
100
112
135
146
143
162
158
140
131
141
148
145
138
119
108
119
120
109
99
120
121
131
143
117
113
122
135
133
122
120
133
133
124
172
159
156
162
164
160
154
135
138
134
120
102
78
50
28
68
77
85
91
90
83
76
73
72
62
50
44
44
57
82
87
80
76
76
143
128
120
89
78
78
63
52
52
66
84
108
124
134
138
135
130
102
91
82
87
105
125
136
144
149
140
128
122
138
160
160
149
136
146
143
103
153
130
146
115
94
107
124
93
103
114
111
107
118
120
114
139
161
184
166
176
174
189
185
181
153
173
177
148
164
166
155
162
159
89
133
124
124
103
132
156
173
142
178
179
120
120
81
113
146
137
161
145
153
125
118
141
139
126
120
96
143
169
154
179
188
158
151
164
111
96
75
80
66
28
63
109
140
124
134
112
159
134
155
153
107
93
187
139
178
161
165
178
139
109
101
82
47
57
89
66
73
78
81
80
74
75
71
68
67
68
71
75
92
93
92
91
93
98
101
103
105
96
92
93
99
106
111
114
105
103
89
82
78
78
80
80
81
82
82
84
87
89
94
98
123
153
152
108
110
113
114
108
98
103
113
125
145
118
102
105
110
110
111
110
101
137
139
115
106
113
113
101
86
94
130
105
88
91
103
95
97
104
98
101
108
113
120
133
136
124
111
93
77
94
100
98
116
151
166
158
176
169
134
122
128
140
156
158
155
137
138
142
135
123
117
132
133
133
118
110
132
126
111
116
142
150
127
131
128
119
130
145
143
145
150
162
143
111
75
51
45
52
58
89
91
91
88
81
74
70
71
71
57
43
48
56
65
81
95
84
71
84
175
152
130
99
91
101
92
83
108
134
144
149
139
122
106
95
88
70
77
88
97
102
107
112
152
125
122
115
119
141
152
160
158
146
119
147
106
87
110
132
115
101
114
124
112
112
98
93
96
95
93
107
128
181
188
144
170
177
185
188
183
153
173
171
139
163
179
143
163
160
117
135
120
98
86
115
146
168
169
180
168
102
107
73
124
148
120
158
170
160
117
117
127
128
149
144
125
183
176
156
188
191
155
124
140
135
126
105
75
52
41
33
87
168
122
132
162
160
160
162
168
149
141
146
108
162
167
165
167
145
145
167
102
68
73
82
68
78
80
78
79
74
73
59
56
57
63
68
69
72
75
79
87
95
102
106
109
110
104
110
118
123
119
110
100
93
88
77
76
76
75
75
77
76
78
82
76
77
81
100
136
159
145
119
105
102
117
125
125
124
131
132
117
99
87
92
102
93
77
73
76
77
114
137
130
123
121
109
78
67
64
78
76
79
87
98
108
125
141
139
120
127
124
118
121
129
130
131
130
110
100
93
91
91
96
116
137
118
108
119
117
119
124
117
120
115
114
101
89
100
122
141
133
114
96
109
106
86
123
105
107
128
124
93
68
90
89
109
124
116
112
106
65
63
61
61
60
53
47
42
50
62
64
61
56
54
54
56
59
54
45
59
72
73
88
92
87
89
70
68
78
83
99
113
105
88
82
87
85
99
106
98
82
74
77
83
68
71
76
78
83
103
127
90
49
67
75
82
92
88
72
74
117
130
102
118
124
126
139
120
112
109
97
112
113
110
116
110
85
69
66
67
155
195
167
177
140
141
183
187
196
197
190
168
174
153
146
159
161
71
97
145
130
126
121
145
147
169
181
97
105
109
58
120
171
124
143
146
136
107
97
78
74
98
82
189
163
177
201
174
171
160
190
179
152
141
118
71
61
26
44
85
114
125
125
120
135
170
151
164
161
96
132
130
153
181
164
128
120
107
79
75
80
84
64
70
80
79
71
73
68
66
61
59
59
62
64
65
74
82
88
96
102
106
108
111
114
114
118
118
113
103
92
84
80
80
76
75
76
77
78
75
74
76
78
69
81
97
134
145
134
100
82
100
97
88
94
103
109
111
98
83
107
102
100
96
83
80
87
90
97
126
149
165
135
90
73
82
91
98
72
62
72
89
108
109
103
102
102
90
106
111
110
121
131
126
122
134
111
95
96
119
127
117
120
137
72
28
17
10
8
18
25
27
17
22
26
25
27
34
85
72
70
96
115
116
138
138
109
87
90
115
145
130
102
104
91
92
115
119
108
110
113
117
116
100
73
47
37
37
43
47
48
52
54
55
71
67
75
60
59
70
75
72
79
65
65
70
73
67
93
102
101
93
97
103
100
121
128
126
108
87
77
79
86
81
90
94
97
102
104
104
98
105
115
128
125
123
136
134
111
104
145
73
75
72
105
111
107
130
138
108
93
85
100
105
113
133
137
133
145
146
161
144
131
103
136
173
162
167
144
136
143
177
164
149
163
161
84
135
128
122
104
119
139
137
149
103
76
139
86
77
126
158
145
142
119
143
168
116
89
107
93
101
149
183
189
173
168
155
154
142
138
114
107
64
73
97
70
148
163
75
146
165
119
124
155
163
137
132
132
107
158
152
163
150
119
63
17
41
39
64
62
60
71
81
79
70
71
66
63
66
63
61
61
62
64
80
87
92
100
106
108
109
112
114
112
111
108
99
90
83
78
93
92
82
76
75
77
79
81
77
76
75
70
90
114
144
135
111
82
70
90
95
92
98
105
110
107
92
88
112
103
94
85
80
90
105
109
114
123
134
156
128
86
83
82
96
115
96
68
68
83
87
90
88
92
98
85
101
131
127
131
130
115
112
148
156
110
108
149
138
68
29
44
23
18
22
30
22
17
29
19
25
24
22
25
26
25
16
35
23
23
52
51
86
91
124
154
152
141
145
87
83
95
78
76
99
81
41
22
31
45
57
57
54
57
65
57
55
55
57
60
63
65
82
76
82
65
56
68
77
79
78
64
71
73
83
98
80
88
90
85
76
64
77
90
97
97
86
76
78
91
104
110
112
111
116
123
118
107
83
59
91
60
80
119
108
64
79
102
161
33
53
89
118
108
87
104
110
79
67
76
81
74
89
127
141
150
174
125
116
109
117
107
124
116
118
184
143
135
162
192
151
145
132
166
115
188
165
113
112
129
124
109
122
84
127
153
75
94
140
150
152
152
164
144
165
128
112
110
69
102
179
168
184
194
171
170
141
154
89
128
116
93
124
76
112
138
133
74
132
154
143
133
165
171
143
142
101
144
145
128
169
168
124
90
45
21
36
73
61
53
60
72
68
59
68
65
67
62
62
63
64
69
78
102
107
110
108
104
100
102
101
100
85
81
79
82
86
96
103
91
82
74
74
74
75
77
76
78
77
79
89
106
130
124
109
92
82
77
87
96
111
116
111
106
105
102
102
88
86
82
81
86
94
102
103
90
90
98
105
106
101
96
85
83
81
71
68
73
82
82
89
96
104
112
105
111
112
109
104
120
131
138
127
90
137
162
131
78
36
18
18
22
24
23
34
39
21
20
16
33
23
45
39
24
36
25
29
32
36
39
39
38
55
35
28
42
75
113
57
29
30
30
53
51
27
21
24
50
52
45
60
69
71
77
77
74
75
76
69
73
94
87
81
79
58
69
77
64
62
74
77
76
83
83
78
53
72
85
81
81
91
117
110
119
108
93
99
103
97
94
74
74
75
96
98
70
72
95
70
131
122
90
90
109
131
133
167
85
82
95
127
146
120
135
134
121
119
124
113
91
116
103
101
92
119
149
153
149
177
185
164
162
151
180
170
143
176
183
186
135
131
165
175
146
173
157
81
84
112
67
85
134
114
120
100
102
74
83
135
137
113
166
143
117
142
95
101
118
132
173
181
179
158
120
108
156
78
54
93
89
130
85
78
62
85
104
184
168
196
180
156
123
101
86
59
48
77
129
166
152
153
180
105
21
51
61
65
63
61
44
54
59
56
61
68
74
71
70
71
76
87
99
114
109
110
108
104
101
101
99
94
76
77
81
82
83
85
88
86
79
75
78
76
75
77
75
78
83
82
101
127
144
115
99
86
85
86
95
105
108
112
111
110
109
103
93
94
91
88
85
84
85
91
97
90
86
79
78
85
92
95
87
83
79
78
79
80
81
89
86
80
82
93
113
129
134
129
145
119
97
105
166
138
75
75
38
9
28
16
23
23
26
22
31
51
43
35
78
40
61
53
54
57
38
47
47
44
50
51
37
35
50
45
43
47
65
84
31
27
34
30
44
51
42
38
12
41
58
55
57
63
73
85
86
80
81
77
72
77
88
90
82
62
77
77
64
60
76
77
91
108
116
166
173
175
120
110
135
134
123
93
88
86
84
91
94
74
65
81
67
81
93
100
96
95
130
125
184
90
76
105
116
115
96
139
136
97
79
107
114
122
130
153
152
133
131
140
103
151
153
138
118
88
145
111
83
82
101
105
114
124
102
116
170
144
196
197
182
168
157
154
150
163
160
138
139
159
118
119
115
129
141
142
156
116
59
67
124
133
120
172
153
118
77
166
188
168
155
141
166
145
107
105
112
126
97
115
131
137
158
118
148
97
94
129
156
152
145
147
98
68
50
59
77
88
90
120
91
74
46
31
68
87
62
86
105
91
69
42
50
60
63
64
71
75
77
79
83
90
98
103
107
110
110
108
104
104
105
102
97
83
84
87
88
84
84
85
84
79
76
78
77
75
76
76
78
82
79
102
129
138
103
90
84
90
95
99
109
104
116
121
121
117
102
87
108
103
95
84
78
85
109
132
109
93
82
78
79
86
91
85
83
80
81
83
82
78
77
79
81
94
115
135
143
150
127
119
103
115
116
138
127
21
13
22
24
38
15
22
27
62
79
95
104
86
84
121
116
72
125
97
58
97
86
68
54
68
58
45
66
48
42
46
58
66
68
61
28
40
39
50
50
35
25
38
51
65
72
64
54
63
85
85
71
74
77
77
79
80
82
68
56
82
69
60
74
78
67
94
113
104
162
153
84
73
94
111
99
102
131
107
111
109
108
107
91
80
89
77
85
85
91
101
104
127
154
160
79
84
97
106
129
129
161
111
116
86
114
149
167
165
158
144
122
124
148
160
169
126
97
99
86
137
114
91
98
101
91
98
99
82
79
141
122
195
193
163
168
154
126
158
176
166
157
166
105
46
104
106
122
149
160
170
137
105
98
115
135
144
153
136
104
92
173
176
151
85
106
121
120
147
185
141
69
103
119
162
134
115
72
99
84
119
145
148
175
112
98
113
115
116
111
101
93
113
104
115
73
68
117
109
72
77
71
93
88
73
56
53
63
71
72
81
79
88
94
102
108
109
111
115
116
112
106
100
100
102
100
96
94
92
92
91
87
88
90
88
84
84
86
83
78
78
81
77
82
81
114
137
129
89
76
75
92
105
111
121
140
137
122
108
102
93
87
94
92
91
87
82
91
121
150
148
113
121
118
96
79
79
81
82
80
79
90
99
100
96
101
103
102
101
88
95
103
114
113
105
102
142
176
70
38
21
14
6
16
34
40
111
106
102
127
104
64
93
132
75
100
111
69
58
98
115
59
109
167
118
135
102
72
57
41
42
52
59
69
72
76
66
64
54
50
80
97
91
92
93
77
62
67
78
78
64
69
69
73
77
69
62
58
72
69
70
80
80
83
138
185
183
150
98
77
77
77
76
86
104
116
104
130
132
130
135
140
126
120
134
126
136
125
110
112
118
138
135
112
78
85
119
137
122
144
133
85
97
67
76
84
92
104
116
143
138
124
124
137
122
132
117
141
134
130
96
110
139
132
124
129
115
122
120
135
136
169
180
178
178
158
118
166
97
138
159
138
157
94
95
108
122
160
137
142
136
139
145
152
156
137
154
119
78
91
97
120
78
85
138
168
178
166
131
103
128
145
140
138
132
127
103
129
139
160
184
192
175
128
57
33
50
55
55
69
92
159
155
132
110
158
144
74
70
66
74
75
87
100
56
56
72
90
88
92
95
98
102
105
105
111
121
132
114
104
93
89
92
96
96
94
94
92
91
92
91
88
84
91
95
102
100
95
91
88
85
88
91
85
125
143
129
89
78
75
87
99
103
107
125
112
96
85
84
87
89
92
97
104
108
112
115
121
124
144
111
105
108
108
98
86
96
92
89
93
91
91
92
88
98
98
92
92
104
113
119
92
113
138
112
73
36
30
21
18
27
54
133
164
86
100
83
87
96
119
59
90
123
122
65
148
128
53
59
152
94
62
135
85
167
151
120
103
79
71
75
73
72
75
97
101
100
109
102
87
102
110
113
105
91
81
76
74
69
66
66
66
65
63
62
59
86
83
68
85
82
72
110
104
88
77
84
104
112
99
86
108
139
124
96
122
134
124
111
105
97
82
88
109
106
147
151
138
127
145
110
108
97
86
89
109
131
140
181
140
125
126
100
130
130
116
139
132
107
105
119
132
126
125
151
153
112
102
124
100
91
75
74
93
109
112
113
100
115
108
129
163
174
165
157
178
185
153
144
143
184
139
122
94
140
137
88
71
133
106
114
124
111
87
82
108
89
122
37
128
99
122
86
138
149
177
184
174
176
145
125
175
158
139
135
126
161
115
119
215
180
137
112
69
64
65
39
49
110
54
109
138
166
143
112
163
113
66
103
114
98
116
107
52
52
68
90
102
106
107
103
105
105
108
115
121
119
105
100
95
94
97
98
96
93
93
89
88
89
88
85
83
91
93
98
98
96
91
88
89
88
88
87
127
137
118
87
80
81
93
102
98
99
103
98
92
90
91
92
90
99
103
107
107
106
106
110
112
106
94
99
110
116
110
101
94
94
96
98
91
85
83
96
110
113
105
104
125
141
121
110
106
130
81
8
28
23
24
21
50
89
114
113
75
85
62
91
107
126
106
36
96
165
47
85
147
116
54
91
134
79
84
138
165
167
110
70
59
64
49
35
63
70
93
102
99
101
103
104
110
115
110
98
89
85
81
74
71
69
67
68
67
66
65
69
78
75
74
77
76
82
103
97
84
81
95
117
123
108
113
127
126
104
93
101
115
115
116
119
113
97
96
112
96
124
120
137
148
151
117
111
96
96
110
116
121
132
183
111
119
141
118
125
107
127
131
104
77
92
123
136
130
145
135
101
85
95
112
99
82
69
80
94
99
111
133
101
105
107
125
148
171
193
182
208
178
124
118
117
137
123
105
89
136
96
79
124
148
134
113
126
102
97
157
109
122
83
42
121
135
144
105
160
152
166
177
133
114
142
170
195
135
139
192
160
137
123
157
188
169
125
92
74
77
61
99
107
33
79
132
109
153
130
167
93
56
79
93
94
105
130
93
78
79
93
108
116
121
122
119
118
116
114
112
111
97
97
101
104
104
101
97
94
94
88
87
85
86
88
90
92
97
93
87
89
90
87
84
89
81
79
92
131
117
92
84
89
98
108
110
98
97
89
93
98
104
108
104
95
91
92
90
84
77
74
74
77
82
96
109
122
129
130
129
130
134
138
130
118
114
115
104
139
161
157
141
112
109
111
158
168
156
100
35
21
9
49
129
156
87
65
104
89
76
109
45
70
84
97
116
110
100
97
83
82
103
122
133
132
93
72
112
112
170
114
87
70
61
46
54
85
81
78
87
94
98
118
119
90
99
97
81
79
92
94
84
79
75
75
74
75
75
74
71
62
65
76
72
95
135
157
141
118
111
116
98
91
111
108
112
114
101
87
104
126
134
137
130
116
96
88
96
80
106
96
134
131
106
123
131
146
101
108
122
134
154
170
107
159
158
124
113
118
131
118
96
73
55
51
82
136
148
129
104
95
72
61
105
90
92
113
118
100
105
135
96
66
95
128
117
102
114
177
187
118
166
130
134
154
169
125
104
109
145
131
168
148
154
148
135
158
160
114
114
150
118
176
158
153
140
162
153
187
165
151
169
161
171
164
72
145
148
168
133
176
209
210
176
171
126
97
74
59
59
100
59
45
92
111
136
126
110
87
120
87
97
103
82
112
139
77
113
122
134
133
114
122
127
124
127
124
112
101
100
106
110
110
107
100
92
89
89
92
91
93
93
93
95
100
102
103
97
83
81
79
77
77
75
80
91
110
115
94
87
94
99
106
110
113
113
113
111
109
105
100
96
91
87
92
92
90
86
82
82
87
91
94
95
99
104
109
114
116
110
105
100
90
90
95
104
131
156
166
153
146
152
157
164
65
55
49
43
46
53
168
157
96
87
102
66
51
83
62
86
139
136
122
162
120
132
123
107
101
63
37
50
85
54
84
97
30
59
99
97
85
48
46
89
93
48
59
65
78
80
74
80
96
81
96
105
100
93
91
92
90
84
79
78
80
81
83
83
74
81
81
63
91
125
139
138
130
122
125
133
120
121
115
133
136
124
120
115
86
102
115
118
111
104
91
81
80
74
65
86
134
96
92
123
126
98
138
143
114
108
133
93
118
173
145
102
88
103
64
60
75
87
71
57
121
73
81
97
83
60
95
142
130
127
115
107
108
106
101
100
83
62
67
89
75
54
65
117
135
95
138
143
147
141
168
153
88
74
203
113
176
116
139
148
123
153
150
105
153
106
121
119
119
158
165
135
160
135
98
117
138
135
164
181
145
124
104
176
179
179
178
169
172
138
180
138
147
158
175
122
133
42
73
65
79
129
166
84
89
159
101
104
105
81
86
71
129
135
143
139
120
125
126
123
125
120
112
104
105
108
113
109
105
98
92
89
89
91
96
97
96
95
95
97
100
101
96
83
79
77
77
78
74
89
106
123
103
85
90
98
102
107
111
115
114
112
108
108
106
102
99
94
90
90
90
87
82
79
79
85
89
90
89
94
101
108
114
116
113
107
101
96
96
99
105
123
151
159
140
128
143
154
112
23
31
52
31
34
133
162
121
83
95
102
83
65
36
115
90
109
112
117
143
156
122
126
52
24
23
43
66
66
46
25
41
23
26
66
77
115
105
67
73
96
53
47
56
67
78
81
75
80
86
92
100
103
100
93
91
91
86
80
79
81
83
85
85
77
78
76
71
104
129
124
137
133
127
127
129
112
117
122
141
145
134
124
106
80
90
98
96
88
86
86
82
82
76
54
87
134
97
115
120
105
78
127
119
103
116
137
135
127
147
141
132
135
123
131
109
102
108
114
121
102
80
85
104
101
84
110
135
113
113
107
104
104
95
84
83
87
71
89
120
106
88
107
109
121
114
141
166
168
162
168
176
84
174
181
188
105
75
170
115
128
156
105
139
115
128
141
126
79
107
155
155
169
123
99
120
123
135
166
168
116
131
138
185
181
177
192
169
184
165
158
142
133
90
90
148
93
58
76
51
80
155
163
119
175
128
93
81
110
76
75
59
144
150
149
136
121
124
125
113
111
108
109
111
115
114
107
102
96
92
92
94
96
96
99
101
99
96
91
88
88
87
87
83
84
86
83
78
88
100
133
139
82
91
97
99
103
110
117
121
110
102
100
94
95
105
111
108
99
92
86
80
78
82
89
93
94
88
87
93
101
107
108
106
103
109
115
107
106
119
134
125
129
109
109
123
169
158
108
35
24
29
27
111
117
96
105
88
57
46
64
97
126
107
120
151
151
145
140
124
117
67
9
18
14
15
28
39
34
51
64
23
20
23
30
30
41
64
63
38
98
80
77
67
56
58
71
77
81
86
89
92
90
88
88
88
82
78
77
79
81
83
83
85
72
59
103
128
128
118
127
119
112
111
108
114
125
138
143
141
128
104
77
80
94
100
107
99
88
98
104
90
76
63
123
106
125
134
123
111
96
72
109
96
143
167
113
147
169
164
112
121
158
150
155
133
122
131
104
95
68
88
90
93
92
97
121
131
143
136
123
119
107
90
88
99
40
102
114
61
69
142
203
177
168
154
112
102
123
159
194
198
170
173
66
111
102
109
113
173
104
156
107
141
99
106
128
97
109
170
168
169
158
98
75
162
120
122
188
113
90
126
158
153
124
127
129
157
178
156
153
142
120
113
87
74
89
100
76
105
174
143
78
68
73
69
58
74
87
106
151
136
139
138
131
130
129
123
107
107
107
110
114
116
115
107
104
101
100
99
100
99
98
101
101
99
96
90
87
86
82
81
81
81
82
82
82
103
138
140
104
86
92
92
98
104
113
121
125
112
105
96
92
92
99
106
105
98
90
84
78
78
83
89
95
96
86
85
89
93
93
91
88
94
97
107
124
117
107
99
99
111
140
162
130
51
58
96
64
44
68
119
145
71
49
58
65
75
97
127
147
153
144
151
155
139
137
141
131
121
81
1
8
29
56
81
73
84
85
71
84
93
79
57
80
98
107
114
112
94
92
89
79
69
68
78
84
75
78
82
84
86
87
87
89
94
83
82
83
79
74
69
47
69
55
85
125
111
83
90
91
97
98
96
111
128
121
130
135
130
113
85
74
102
115
127
120
104
104
109
103
88
91
124
96
92
93
85
84
96
112
116
99
152
131
144
154
158
154
112
105
119
117
118
163
167
109
104
143
121
114
91
92
101
102
106
89
105
110
113
133
146
131
110
103
76
74
83
89
94
99
138
144
155
131
103
116
155
179
129
126
154
173
133
121
98
85
145
96
87
118
146
135
93
71
112
132
120
149
188
107
161
148
110
106
130
161
122
151
114
140
141
187
197
146
169
181
182
159
110
71
47
80
99
103
107
99
80
64
90
125
167
175
159
154
134
95
101
114
101
126
130
129
124
128
125
117
103
104
108
112
115
115
114
107
106
104
103
104
103
101
99
99
100
100
97
93
90
88
83
80
77
77
80
86
93
122
144
125
87
85
85
89
93
100
110
119
122
110
104
93
106
117
115
102
92
93
82
83
88
93
97
97
91
85
95
94
96
100
104
104
104
92
101
113
113
105
102
105
97
120
152
151
109
51
66
56
65
78
101
123
116
72
42
37
36
79
130
127
118
148
146
136
127
117
121
121
103
97
104
64
33
15
18
34
39
56
73
86
107
75
30
61
83
116
142
144
121
100
109
108
100
89
84
85
86
76
78
80
83
86
87
89
91
97
87
85
85
82
75
69
69
66
74
58
95
111
71
76
81
89
94
91
108
126
126
131
132
128
115
90
79
95
106
114
109
98
94
93
89
96
122
132
87
62
66
74
101
115
119
102
100
158
121
160
164
164
151
103
108
128
131
144
151
145
138
140
163
140
125
94
93
102
104
107
93
110
124
128
128
128
130
132
125
83
92
109
85
77
119
151
141
125
127
123
127
148
107
113
122
141
162
131
140
101
104
120
77
89
106
158
104
74
59
108
145
140
157
181
87
141
121
115
101
122
161
170
140
110
151
184
198
154
138
161
164
165
174
118
73
94
110
105
85
79
75
74
86
142
143
136
149
151
158
167
102
92
105
116
133
143
146
134
112
107
102
105
108
111
113
112
110
108
107
106
104
104
105
104
102
100
99
99
100
101
101
98
95
89
83
77
77
85
106
125
140
115
87
82
79
75
83
84
92
103
111
112
106
103
130
107
74
49
48
71
97
121
115
108
103
101
97
92
89
96
89
88
89
93
98
102
95
92
94
113
124
136
143
85
45
61
87
91
31
50
96
108
131
122
77
55
60
52
76
101
106
96
90
96
104
102
115
116
109
108
112
110
113
104
92
106
111
104
99
100
80
53
38
24
35
59
107
147
184
182
161
147
104
91
97
105
111
114
115
116
93
91
88
87
89
90
91
91
92
89
88
88
87
84
82
82
95
89
76
66
80
120
70
73
82
92
91
81
84
81
90
101
113
116
99
79
96
97
94
96
103
99
95
99
86
104
73
63
54
78
101
113
116
98
83
139
156
110
132
120
121
131
133
139
143
141
136
124
116
128
157
158
132
122
96
92
91
85
96
122
114
122
137
130
122
135
153
138
127
129
109
145
165
113
112
120
112
149
157
136
124
107
128
131
108
73
130
117
102
134
63
94
67
88
138
109
58
41
100
132
122
151
191
140
102
131
99
68
178
141
104
109
100
143
171
126
154
147
158
154
133
96
96
109
90
96
83
76
96
118
133
138
156
174
175
137
122
141
130
121
100
93
121
112
133
147
137
106
108
112
111
113
114
112
107
103
105
106
103
101
100
101
101
101
101
106
104
104
104
101
95
90
87
84
90
90
95
118
140
121
97
92
93
84
89
79
90
97
106
112
114
113
113
124
109
97
110
138
149
126
58
48
36
31
37
51
64
72
67
77
81
86
90
93
94
87
90
88
57
52
70
90
64
30
42
48
77
94
107
116
121
105
79
66
59
47
96
96
103
104
95
91
90
83
92
84
86
92
98
109
121
128
116
108
117
115
115
124
117
126
125
125
142
157
183
229
180
137
112
84
72
75
90
93
99
105
107
110
115
107
101
95
90
89
88
87
85
85
88
85
80
78
82
86
97
94
89
81
71
65
67
122
102
85
80
83
81
82
74
71
69
77
89
90
98
97
98
88
79
76
63
62
80
68
110
71
74
53
64
81
79
77
68
79
173
122
79
99
100
121
133
94
88
82
72
82
82
75
85
111
94
75
76
69
80
85
77
85
117
137
157
150
135
144
148
133
120
91
138
170
130
84
91
120
133
101
80
104
114
128
121
148
107
103
132
110
103
149
74
70
84
80
156
132
95
155
121
91
129
141
125
121
114
112
121
89
125
130
168
120
119
102
101
97
101
104
90
100
150
186
128
141
166
118
136
135
123
126
136
162
158
173
165
175
185
170
163
158
115
106
135
152
111
123
129
123
114
117
117
116
114
112
112
112
110
106
106
105
103
101
100
102
102
103
104
107
107
103
98
94
93
90
91
93
93
110
128
134
100
100
101
102
97
99
102
108
113
116
116
116
119
117
117
110
103
103
110
110
96
106
119
134
141
137
125
105
90
71
65
62
61
60
58
56
58
67
59
48
56
64
78
100
119
141
138
116
123
138
118
81
63
44
18
36
92
99
102
105
105
101
96
92
91
129
136
134
134
144
154
157
164
151
147
149
155
158
154
124
139
147
141
127
113
95
155
213
189
140
119
94
99
110
111
99
79
75
90
106
99
101
101
96
94
91
88
83
80
71
70
69
70
74
80
87
92
86
69
75
72
61
48
88
104
84
87
101
106
128
123
117
113
101
81
52
41
43
60
87
80
67
72
58
63
116
73
67
72
58
77
93
104
96
132
159
117
142
158
154
157
162
148
135
120
115
119
137
154
151
139
147
138
101
84
81
79
96
111
118
123
129
139
155
164
161
154
180
135
99
130
124
96
114
151
153
154
147
149
137
114
91
104
140
115
74
60
123
89
105
102
80
75
144
135
63
113
150
144
145
147
147
182
127
104
101
95
96
98
94
94
87
94
121
119
136
170
117
124
167
185
151
141
130
105
115
140
154
149
150
157
162
173
166
151
143
131
125
136
110
128
105
80
106
106
108
112
111
114
118
117
116
116
115
115
114
107
107
106
105
104
104
103
102
102
104
105
104
101
97
94
93
96
99
93
97
118
130
124
91
96
104
110
106
106
110
117
118
117
114
115
115
112
103
109
108
98
95
99
100
86
92
99
105
109
114
114
111
108
96
89
82
75
69
65
74
83
82
85
95
106
119
124
125
126
123
122
136
130
60
44
46
42
32
63
101
97
101
105
107
105
100
97
95
113
121
118
115
120
126
129
119
112
117
118
119
115
106
122
139
148
138
117
113
108
95
179
232
191
155
131
87
85
106
114
105
105
117
116
101
103
105
105
104
101
92
83
78
70
66
61
60
65
73
82
88
87
78
83
79
70
55
54
107
107
95
114
130
138
130
124
118
105
84
65
52
54
80
79
62
59
54
53
68
126
97
97
88
66
81
101
96
100
146
133
117
150
146
149
159
166
151
143
131
107
100
134
167
150
119
134
98
66
68
78
75
99
120
102
120
136
147
158
163
166
168
189
105
148
161
112
110
168
161
156
143
126
125
116
103
107
120
164
138
99
106
144
63
76
81
106
125
148
120
133
107
106
120
144
151
139
153
103
110
93
99
122
109
113
134
123
124
143
113
137
177
115
127
163
175
151
135
123
109
111
126
144
153
156
139
140
167
172
156
140
112
79
64
90
77
80
92
115
94
86
101
105
104
112
116
115
115
115
116
116
111
108
109
110
109
107
105
103
101
107
108
106
103
101
99
98
97
102
92
104
130
132
107
89
85
86
96
110
108
108
119
119
116
114
115
110
103
111
92
86
104
116
105
86
93
96
98
99
102
108
111
110
130
111
102
99
101
104
106
102
104
110
112
108
103
99
92
97
110
123
129
75
24
44
35
26
48
85
95
99
84
86
88
89
88
88
88
90
109
114
114
114
120
128
134
129
124
118
120
138
156
161
140
132
121
120
137
131
119
106
92
136
218
218
170
127
115
112
113
115
111
105
103
99
98
98
98
101
100
93
83
89
79
73
66
62
64
69
70
72
76
84
85
83
80
80
60
50
94
107
76
97
109
112
95
65
55
70
72
74
74
99
84
79
97
84
91
94
112
67
65
60
73
107
127
116
117
170
123
139
151
173
172
165
145
117
121
120
122
113
119
113
79
63
99
94
83
95
87
60
81
126
118
101
84
105
158
179
162
149
152
168
167
174
165
136
117
152
162
157
131
110
86
76
108
136
124
109
97
143
96
116
120
126
128
111
140
140
121
68
102
163
150
95
87
138
139
149
105
111
146
119
128
106
105
112
104
121
170
162
97
107
157
179
150
151
152
149
142
132
130
139
148
135
137
156
161
146
115
70
62
92
76
161
187
142
123
103
92
101
105
100
100
101
101
98
99
102
105
107
108
108
107
106
104
103
101
100
106
109
109
107
101
97
95
95
92
91
102
119
113
88
78
78
80
87
100
108
115
124
132
138
138
133
116
107
110
112
102
79
56
43
34
73
80
90
100
113
128
137
140
112
98
93
94
97
101
104
102
97
110
132
136
139
133
112
83
54
35
25
28
22
29
42
87
113
99
99
102
92
88
81
76
75
80
89
96
103
108
116
124
125
123
121
124
118
132
147
154
133
101
96
104
111
112
114
123
129
125
124
108
120
192
211
138
131
126
123
121
117
109
105
105
109
111
110
109
108
104
99
94
83
82
80
76
70
67
68
63
62
73
72
74
78
66
79
58
57
96
92
76
75
68
58
55
62
76
94
117
119
100
89
82
77
92
97
116
133
99
111
91
69
56
62
73
148
158
79
67
79
88
104
123
129
146
162
165
149
157
142
120
102
73
79
85
92
98
99
105
112
109
106
140
156
155
148
114
93
107
107
157
152
124
118
124
117
117
133
123
136
136
96
59
74
70
106
125
135
102
127
103
97
113
140
146
197
182
164
137
112
91
110
149
156
162
126
128
126
118
129
144
147
132
114
129
123
112
90
127
130
86
137
179
127
163
176
161
163
144
125
127
128
122
148
150
125
101
86
65
73
116
108
147
140
139
117
99
89
95
100
94
92
95
93
91
92
95
100
104
108
107
106
104
102
102
101
100
104
108
109
106
100
95
93
95
90
92
101
113
105
82
74
79
84
87
87
97
107
124
135
144
144
136
113
104
101
113
111
103
114
128
104
23
24
27
32
48
70
89
98
99
95
96
101
107
111
114
115
107
115
111
96
80
63
28
27
34
34
21
24
32
64
99
111
102
102
102
105
98
93
86
81
83
93
107
117
113
106
108
112
114
112
111
133
133
146
151
154
136
109
115
114
108
100
100
113
123
116
118
127
74
126
222
138
119
125
125
117
115
117
111
105
111
116
116
113
111
106
102
99
85
87
88
84
76
71
70
62
59
69
68
71
77
79
59
57
48
81
90
94
98
79
73
86
92
88
103
96
109
85
87
80
64
87
93
110
115
80
99
85
61
36
36
53
169
160
62
35
57
55
78
107
120
134
143
138
136
134
103
83
84
65
110
120
140
145
140
145
136
118
145
168
169
162
160
140
133
158
142
148
137
127
128
141
153
108
137
137
141
142
104
69
69
79
86
146
152
99
142
105
116
144
171
160
185
180
157
102
92
134
173
156
129
153
148
140
113
91
123
159
130
132
107
125
129
90
51
150
118
92
152
175
130
155
121
145
149
132
114
116
114
99
93
68
92
106
77
93
122
100
101
124
142
127
115
122
111
95
95
90
90
93
92
88
85
84
89
106
113
110
107
105
105
105
105
105
105
102
101
100
97
93
90
89
85
96
115
110
89
75
78
78
79
82
85
90
95
101
111
126
136
137
114
103
96
104
109
103
89
76
69
84
95
107
113
104
81
56
38
43
33
30
27
26
27
31
32
31
30
28
28
27
25
26
30
30
29
43
118
143
121
115
110
109
105
103
117
124
112
102
94
87
87
89
85
88
91
93
94
96
100
103
126
118
106
110
117
127
133
107
105
99
93
84
83
83
100
97
88
90
75
131
176
138
129
127
121
104
105
106
112
117
119
118
121
121
110
95
101
91
90
90
89
86
82
72
69
67
63
60
60
61
69
62
67
62
51
96
98
93
89
92
93
83
75
78
92
117
89
64
67
64
63
58
121
85
83
94
94
75
76
95
90
189
115
113
109
118
116
93
71
80
144
160
170
174
169
165
169
165
137
110
125
105
95
83
62
56
72
82
106
145
155
136
135
158
174
179
128
95
109
154
155
115
87
130
149
141
100
109
116
150
115
97
146
76
120
107
164
179
161
182
173
174
174
171
168
141
132
160
166
150
149
142
97
81
137
160
144
138
103
99
101
122
95
99
147
136
108
154
169
127
137
121
99
96
58
35
55
63
81
101
105
92
92
117
106
108
79
105
104
119
141
98
114
124
117
96
91
92
99
95
91
85
84
89
109
119
119
118
116
112
110
109
108
105
103
102
101
100
97
94
91
95
105
113
104
88
83
85
85
85
88
91
97
103
112
114
120
127
132
117
106
112
109
105
103
100
91
76
53
56
62
70
80
88
96
100
128
108
97
84
73
69
70
58
53
49
57
63
62
61
83
95
104
102
94
99
108
120
115
104
93
91
101
120
124
115
112
114
113
116
115
107
120
124
115
111
113
108
97
94
102
117
115
105
89
76
79
81
84
87
91
91
89
97
118
106
84
93
86
220
171
131
117
119
107
106
105
92
99
111
116
107
95
97
109
100
96
96
97
97
95
91
77
71
68
65
58
56
58
58
64
58
58
62
65
98
88
95
94
84
74
67
74
69
97
83
70
76
78
83
75
139
93
91
96
84
65
73
65
65
148
82
118
104
114
160
133
134
169
123
95
108
96
94
88
88
93
87
94
92
80
74
75
76
79
82
95
85
93
105
109
121
137
141
149
80
88
122
141
116
71
97
125
170
170
186
144
98
80
120
160
77
97
127
147
173
145
148
166
123
64
104
204
200
200
194
176
171
169
160
133
129
142
173
143
67
41
55
71
124
147
118
117
156
121
122
182
171
116
144
120
97
63
46
35
40
87
64
134
150
133
145
125
126
89
115
122
123
122
115
85
100
116
121
105
100
98
104
100
95
87
85
90
108
120
121
121
118
113
109
109
110
108
105
104
102
101
99
96
95
102
108
108
96
85
85
86
86
87
89
95
102
108
116
116
118
122
127
118
109
103
106
109
109
103
93
78
59
60
64
69
77
86
93
98
89
105
113
113
111
115
121
108
105
104
112
114
110
106
104
104
102
93
84
93
105
110
110
105
96
90
92
106
103
100
105
113
117
122
122
114
134
139
132
129
132
128
118
91
101
108
104
102
102
100
96
94
94
97
100
100
98
96
110
114
74
93
95
180
197
146
118
118
112
101
96
93
99
107
113
102
87
88
100
95
97
98
98
96
92
88
79
72
69
68
61
59
64
59
63
54
56
65
51
79
107
114
104
81
69
64
70
89
109
90
72
72
74
78
65
126
81
74
85
85
65
63
59
60
126
73
107
105
143
170
161
157
153
79
81
120
121
110
123
135
126
123
93
102
89
74
70
78
87
97
105
76
70
92
118
136
139
126
136
84
109
133
131
112
94
138
186
204
128
161
130
124
141
183
119
69
84
125
162
158
171
172
147
83
108
189
191
166
165
182
183
182
183
176
113
117
118
112
95
57
44
69
77
138
150
106
99
136
138
133
170
137
66
102
99
68
73
44
68
124
74
89
120
113
129
128
101
132
77
98
101
114
116
107
86
83
98
119
127
118
100
102
101
97
94
93
97
113
117
119
118
113
108
106
109
112
111
106
102
101
98
96
94
97
109
108
97
83
82
93
90
90
91
95
105
114
122
120
119
118
116
116
118
117
118
113
100
85
76
78
89
102
101
102
101
97
91
87
83
91
97
109
116
119
118
119
115
117
119
118
114
110
107
102
97
95
101
106
114
119
119
102
95
102
102
89
89
85
85
90
94
92
96
103
103
91
93
94
97
102
109
114
128
140
139
129
124
118
109
115
114
115
118
119
112
105
101
100
87
95
88
84
86
160
178
151
112
109
102
85
101
101
103
107
110
104
93
83
98
96
93
89
86
85
84
83
71
67
66
58
60
69
68
63
58
54
54
51
58
60
81
76
67
84
100
120
123
130
107
93
96
106
112
90
155
113
124
138
119
76
62
53
104
144
136
143
139
174
150
132
120
125
115
110
124
119
97
100
119
133
149
93
95
108
112
113
117
110
100
96
64
62
95
130
150
151
135
120
135
144
143
139
126
109
137
148
146
140
182
152
175
204
95
79
93
140
136
108
170
150
87
109
169
176
175
167
187
194
178
156
140
132
128
79
108
103
81
81
65
73
66
103
156
151
128
137
163
144
159
172
136
151
140
104
69
78
134
131
65
80
74
66
81
99
114
139
113
111
126
116
124
127
136
95
97
103
112
130
117
93
102
109
107
99
104
116
97
107
104
105
107
107
103
105
111
105
100
95
92
89
89
89
91
101
99
93
87
92
106
101
98
98
103
121
132
140
143
138
130
122
116
110
108
109
111
111
106
100
96
96
107
101
99
102
102
97
96
98
79
69
74
85
106
111
94
102
106
106
104
106
103
98
103
105
104
105
112
147
156
137
111
93
103
117
108
104
93
92
92
94
94
98
107
117
101
98
103
104
101
106
114
120
113
107
102
104
103
95
100
106
112
113
111
106
99
111
108
111
121
123
116
108
89
156
193
122
104
88
108
91
97
101
101
102
104
100
96
108
96
87
83
85
86
84
85
78
76
72
65
65
73
78
66
56
56
59
53
50
59
53
93
100
98
111
107
111
112
112
97
77
78
81
66
116
103
119
117
105
70
83
68
130
132
158
161
140
169
162
163
118
128
125
117
110
81
114
114
114
141
139
103
112
115
111
103
98
96
106
126
101
86
105
130
138
153
179
194
112
94
125
136
129
138
121
129
138
136
133
128
161
102
113
112
99
83
75
130
78
98
154
99
136
122
110
105
143
151
174
185
147
154
128
64
61
44
76
97
63
67
62
108
150
132
114
108
115
108
172
153
96
68
76
81
82
105
121
98
73
96
115
108
125
160
172
97
74
118
89
157
126
106
105
101
101
106
112
130
121
99
105
109
104
95
101
118
116
114
108
103
102
99
97
99
104
100
95
91
88
86
86
87
94
106
107
100
94
97
109
108
104
103
108
122
128
132
133
132
130
124
119
116
117
110
107
101
98
99
102
103
99
95
93
96
96
93
94
98
92
86
92
95
108
113
102
98
99
100
104
103
99
93
95
94
93
92
96
116
126
138
124
115
124
133
120
97
99
101
99
94
89
92
101
109
104
108
117
119
115
116
121
113
106
98
96
100
104
99
111
113
111
108
106
103
97
95
97
107
120
126
127
143
110
128
184
151
114
94
86
92
98
102
102
103
102
99
94
97
102
93
85
83
84
85
85
82
82
78
69
71
81
75
68
61
59
57
52
52
51
55
70
98
104
93
108
112
118
124
111
88
85
86
72
107
93
109
109
103
74
89
102
147
136
159
167
159
170
180
169
135
132
130
118
108
86
122
128
120
131
118
86
101
106
105
92
90
105
116
121
94
72
93
151
194
197
184
135
124
136
143
162
156
117
78
138
139
109
84
129
134
103
124
101
108
85
139
76
77
153
162
85
182
170
131
147
160
126
127
94
90
71
58
48
63
66
71
70
44
48
58
77
93
88
80
77
81
83
103
91
94
104
110
118
126
134
132
113
104
122
115
134
164
140
105
99
95
90
79
154
120
110
114
128
120
116
115
126
126
115
118
123
124
128
143
159
141
128
117
103
92
90
92
97
101
102
97
92
88
87
88
89
92
103
112
103
103
111
116
113
106
101
104
112
113
112
112
114
118
121
124
123
120
118
109
96
89
90
95
97
92
90
88
85
86
87
90
94
99
108
113
105
95
98
107
101
89
87
100
89
82
83
94
89
91
95
89
80
89
96
101
104
101
106
118
105
83
96
99
86
78
88
104
113
108
116
126
128
121
115
113
101
98
96
102
104
103
106
107
107
105
104
108
104
98
105
104
105
101
88
77
89
97
90
148
194
124
121
94
95
99
101
99
97
95
91
86
83
104
100
90
84
85
87
79
77
77
82
78
76
78
71
66
64
63
60
55
56
49
54
40
65
89
80
97
117
119
128
122
106
101
94
76
100
90
116
126
127
88
83
110
157
127
156
154
149
138
143
114
120
104
143
135
133
107
121
119
109
107
103
108
86
95
106
76
39
69
115
82
77
96
134
158
159
153
150
148
118
91
105
131
114
68
89
107
136
161
179
156
140
130
93
41
99
143
86
110
125
164
172
122
163
182
184
163
173
113
119
92
150
187
183
141
94
57
61
108
121
96
99
119
164
144
116
101
98
47
77
96
100
106
134
119
89
95
83
85
115
125
113
143
126
110
84
102
109
93
133
141
135
131
103
134
123
116
113
116
122
121
118
111
103
100
111
124
114
112
111
106
98
93
96
100
101
102
99
95
90
86
83
81
81
90
105
92
100
114
112
109
104
100
102
112
120
126
132
128
125
127
132
128
121
109
106
100
95
92
93
95
105
107
105
98
93
93
95
97
94
107
104
97
88
90
104
111
102
95
92
85
84
88
73
79
84
84
78
77
81
85
93
101
98
100
126
120
87
96
102
98
91
94
109
124
124
122
117
112
106
102
99
98
104
113
124
113
100
104
98
94
85
79
99
114
122
117
113
116
126
131
128
124
109
107
98
184
174
110
103
91
93
91
87
85
87
86
83
90
93
92
92
93
90
85
85
79
75
84
85
81
74
76
67
62
66
70
59
54
57
44
61
43
60
113
125
119
104
101
108
114
123
119
98
101
95
128
136
137
86
57
67
122
111
137
158
150
172
166
137
114
89
117
128
140
141
128
125
129
126
124
105
88
77
93
104
90
95
120
137
154
162
132
96
97
113
109
98
60
74
84
98
87
50
72
101
94
124
87
124
145
179
153
137
85
83
154
167
140
184
187
172
165
168
173
126
160
182
133
65
52
125
130
151
122
125
133
124
132
138
144
136
117
97
97
107
102
116
125
129
139
131
110
53
62
83
91
87
89
98
128
103
135
129
98
102
94
87
136
108
123
127
118
108
98
93
93
97
106
107
121
116
104
94
94
105
119
115
122
123
115
106
103
102
102
101
101
99
96
90
86
84
82
93
113
97
102
113
105
102
101
102
105
112
121
129
136
135
132
129
127
126
125
114
107
98
95
98
102
103
110
114
114
105
98
99
100
100
97
107
97
94
92
91
101
108
107
104
94
91
92
92
81
92
95
85
77
80
79
82
85
96
98
103
133
134
106
107
112
114
108
102
113
131
117
111
102
94
88
85
82
95
102
112
125
111
96
102
93
91
85
76
85
101
111
110
105
105
112
114
108
103
94
87
74
127
183
130
104
91
92
88
83
82
85
88
88
88
93
93
94
94
89
83
85
84
81
80
81
79
76
79
74
70
71
70
56
52
57
46
56
52
46
86
134
122
104
100
105
108
114
110
90
102
92
116
117
125
90
71
57
85
107
104
140
129
142
113
113
90
96
117
127
136
125
112
117
122
108
99
88
82
77
83
90
86
85
97
122
121
119
105
101
133
155
140
127
85
99
99
79
71
79
109
92
80
130
122
179
171
161
165
86
107
154
163
159
165
231
197
197
223
184
149
148
192
171
175
98
74
142
109
99
113
131
106
86
130
157
147
135
102
84
96
105
91
81
91
95
121
143
131
97
70
77
80
74
74
100
131
148
160
104
83
113
99
85
109
104
118
114
115
86
83
78
76
85
85
80
93
98
90
78
79
86
100
105
107
116
128
131
122
108
99
98
106
106
100
106
104
86
82
104
121
103
107
112
100
95
96
100
109
109
108
117
119
113
111
113
112
116
124
121
116
106
100
104
112
111
118
114
111
114
117
116
111
104
104
104
99
98
102
100
93
110
100
95
93
87
92
108
120
121
104
96
114
115
122
119
105
93
93
98
107
120
121
112
117
125
121
124
131
128
109
100
100
102
101
97
94
99
98
105
116
112
100
98
90
85
83
85
79
74
71
79
79
75
70
69
69
64
58
57
60
59
115
213
118
102
81
71
76
84
91
96
94
105
89
85
86
82
83
93
77
85
78
92
85
75
85
79
73
69
69
65
53
53
56
55
53
53
50
44
135
139
132
126
129
134
131
118
105
104
109
119
124
124
115
99
59
63
113
89
88
34
55
53
35
80
104
40
61
47
52
55
53
46
43
44
38
46
44
48
49
43
53
85
107
130
154
153
126
96
84
86
59
70
102
110
72
83
146
123
88
149
104
115
79
75
116
141
167
115
138
138
150
150
154
164
182
205
221
217
191
166
183
143
141
178
158
181
118
115
94
52
69
119
130
117
127
119
105
66
107
64
89
93
101
108
146
163
161
155
128
94
74
73
79
93
122
128
124
123
134
130
115
111
112
121
118
115
116
114
110
108
109
102
94
95
101
97
92
96
96
83
79
80
84
88
92
100
113
126
120
120
108
94
96
103
101
103
123
124
101
99
102
96
95
98
103
111
106
97
101
103
97
95
102
112
122
125
120
121
117
109
105
108
114
115
120
124
122
114
105
100
99
102
115
111
103
101
102
102
122
110
96
81
81
87
96
97
98
90
91
108
110
115
127
128
122
107
90
88
129
138
120
124
137
116
86
89
111
103
85
81
86
91
93
93
91
102
97
113
134
122
91
104
98
93
93
87
83
81
74
71
65
63
69
77
76
74
63
70
65
42
143
182
99
89
85
85
80
81
86
87
79
81
83
87
83
80
85
84
76
77
78
79
82
79
83
77
72
73
73
62
58
52
51
45
44
49
49
69
129
126
113
98
92
91
97
106
123
103
93
86
82
79
71
65
73
150
126
54
59
56
53
94
91
53
49
44
37
45
45
46
43
40
45
49
42
38
45
55
56
63
81
85
99
133
144
123
106
82
41
68
70
56
65
83
97
156
87
93
74
134
98
119
115
125
173
145
130
112
187
172
161
149
138
156
175
161
148
156
176
145
138
150
141
151
167
161
168
164
142
143
147
128
111
108
143
111
117
65
46
67
98
107
102
121
108
96
84
82
101
124
125
109
134
138
105
97
124
144
149
133
107
57
87
95
70
110
112
113
115
116
105
94
105
110
107
104
111
112
92
91
88
87
87
86
87
93
100
119
122
116
107
104
103
98
109
126
119
98
94
97
97
99
103
105
112
111
104
107
101
95
94
100
114
124
123
120
120
118
112
108
108
109
115
121
127
126
120
111
106
104
112
110
105
98
96
97
98
121
113
102
92
92
94
93
89
89
82
87
102
106
112
108
117
126
126
116
110
128
144
133
134
139
118
93
100
126
106
99
98
100
98
95
93
101
110
113
126
145
138
112
114
106
99
96
89
85
83
77
77
74
73
77
87
94
97
87
86
90
48
109
190
102
90
83
78
73
77
83
83
73
76
78
83
82
79
82
85
71
78
76
78
84
75
80
79
77
76
74
64
62
61
59
52
46
47
49
43
138
130
103
74
59
47
47
57
117
103
105
107
100
83
64
72
73
150
127
68
87
81
89
119
109
77
64
62
74
57
56
61
59
47
47
49
51
46
52
63
68
74
84
109
96
100
100
95
114
117
80
80
106
92
90
99
97
147
118
117
117
131
101
149
128
140
152
124
140
129
169
137
174
156
152
161
158
150
152
143
138
112
122
149
161
177
183
170
167
152
131
137
153
148
117
101
131
110
112
52
54
101
123
120
109
102
86
88
109
126
123
100
98
124
144
128
114
139
168
158
136
110
75
58
104
109
64
78
85
95
105
114
104
93
105
108
104
101
110
117
105
108
106
109
116
117
107
93
84
89
85
87
98
104
104
109
129
139
113
100
95
95
102
106
108
104
106
115
111
113
113
109
105
107
116
121
115
112
108
107
114
119
121
122
124
123
124
127
129
128
127
124
109
86
89
105
121
136
146
162
134
108
100
100
102
109
103
95
91
96
99
101
104
108
106
109
119
127
125
111
99
112
123
132
133
122
112
113
99
100
99
95
89
89
92
94
92
115
116
126
133
124
115
105
95
91
84
82
83
78
85
89
88
88
92
101
101
98
75
80
72
59
155
109
92
76
65
62
73
80
77
72
72
68
72
76
76
79
78
72
76
81
80
81
76
75
82
84
79
72
64
62
64
62
61
53
45
51
54
59
60
40
28
40
39
35
48
61
71
74
61
57
77
97
87
67
107
70
84
81
72
96
112
121
100
105
122
108
98
112
148
155
116
83
52
52
53
67
76
68
58
54
76
91
104
97
84
86
93
89
103
90
83
80
96
154
215
135
135
152
133
146
137
149
175
127
142
138
151
145
165
166
158
173
170
140
137
136
155
163
173
154
154
157
140
154
147
124
112
121
127
110
86
79
81
105
124
94
68
79
86
82
87
98
99
114
138
103
95
87
100
143
174
118
126
142
149
119
89
107
140
145
110
113
91
64
103
103
104
106
118
115
109
108
115
113
110
117
120
111
100
100
103
103
99
95
97
102
109
99
89
86
78
77
91
106
113
91
96
101
104
113
126
128
123
118
116
103
97
118
117
114
112
115
117
111
110
106
103
99
94
96
109
127
130
130
123
113
111
118
125
132
113
113
119
131
151
169
160
121
95
106
97
97
109
104
94
99
107
100
82
77
105
107
112
117
118
122
140
127
107
98
123
138
115
95
106
98
95
101
107
103
91
83
80
85
86
92
127
136
101
98
89
80
78
81
84
87
87
86
85
89
97
100
78
71
86
94
79
82
66
154
110
104
93
76
61
64
72
72
58
67
65
70
75
74
73
72
76
64
75
74
71
86
88
85
80
77
80
68
53
67
55
54
52
43
44
45
60
71
54
42
52
47
41
59
105
129
146
137
121
121
129
109
94
123
81
103
135
118
107
81
67
83
66
49
56
58
75
119
133
99
88
113
90
84
83
78
64
68
95
94
105
101
113
143
136
111
109
137
121
110
104
115
183
175
133
122
154
143
142
178
190
178
180
184
140
176
172
177
174
178
163
174
197
158
108
121
122
88
88
64
85
165
130
82
76
79
107
120
105
91
69
104
117
115
130
86
96
103
118
150
146
123
127
93
83
78
86
109
133
136
104
130
161
136
81
90
131
126
88
141
152
94
44
136
134
132
136
141
128
112
110
109
109
111
112
113
118
109
97
88
88
93
96
97
97
107
119
117
107
104
97
83
71
83
94
93
99
106
110
109
142
148
135
123
104
100
108
108
110
112
116
119
118
107
105
102
97
96
98
105
102
122
131
122
112
108
114
126
127
122
124
123
139
168
187
164
132
102
97
108
108
97
104
115
115
105
106
113
98
113
112
114
117
118
119
130
129
126
117
119
122
107
94
101
103
97
101
99
96
92
88
95
98
95
112
123
116
106
100
95
89
85
82
81
80
78
83
88
91
93
92
78
76
88
92
82
84
80
102
133
92
83
72
59
64
61
58
54
60
55
59
67
70
74
72
77
80
64
61
74
90
83
81
77
78
84
74
59
59
63
57
49
46
44
61
64
49
88
99
82
69
51
70
125
143
148
146
137
132
135
135
99
116
77
106
106
117
106
89
98
124
106
82
69
60
56
54
66
81
83
96
83
94
70
79
65
49
96
126
115
125
129
112
113
138
150
144
144
100
103
132
163
190
116
118
170
149
185
187
172
167
174
170
157
159
176
151
189
167
171
196
187
146
130
154
144
131
105
90
105
96
52
70
79
79
84
91
97
106
104
129
164
179
133
88
112
83
128
137
126
121
108
61
79
69
83
127
130
112
82
70
104
98
107
128
114
102
105
136
154
144
109
125
133
140
147
159
159
157
158
139
116
108
115
127
132
131
131
131
129
122
116
118
123
131
135
129
118
117
116
107
99
97
81
80
87
97
103
112
129
127
116
113
106
107
111
111
110
110
111
124
130
126
117
105
99
97
100
103
108
113
112
116
130
137
138
138
139
146
144
136
130
135
143
153
129
121
121
100
97
110
126
121
113
110
117
137
140
131
124
116
109
106
105
119
118
121
121
129
139
129
115
119
98
100
99
90
78
74
72
78
85
97
102
97
96
104
88
86
84
84
88
88
88
88
87
84
80
80
82
78
78
84
87
87
99
92
101
152
104
88
70
51
54
55
57
53
65
64
68
68
65
67
69
69
73
83
81
77
77
78
79
79
78
79
71
62
62
58
50
50
59
60
49
61
52
67
108
101
63
63
75
144
158
153
147
140
125
115
114
111
133
76
107
111
121
123
107
94
93
98
104
110
121
115
112
88
77
113
72
71
82
85
123
128
101
90
53
48
35
34
49
52
39
30
26
57
61
63
88
193
130
112
148
152
174
183
183
170
154
175
175
166
173
159
153
128
150
171
176
176
177
174
181
143
115
108
100
94
93
91
96
98
91
97
105
99
90
119
100
105
110
142
127
119
124
148
146
135
107
112
100
89
115
137
145
133
128
49
83
90
91
101
85
69
107
146
134
142
118
87
100
100
102
109
130
132
129
123
127
130
129
131
134
126
130
124
121
123
123
115
106
99
111
125
124
110
106
111
113
115
126
135
118
97
83
79
85
92
101
109
122
116
114
123
126
125
120
112
105
107
111
108
105
106
111
115
113
110
114
113
118
131
140
139
139
143
175
178
169
151
143
151
125
129
120
110
105
96
94
95
103
113
115
103
101
117
138
132
127
123
119
115
122
122
118
111
122
147
146
127
117
104
103
102
90
83
86
90
97
97
114
124
119
113
119
85
82
79
79
92
99
102
110
107
100
90
85
84
76
103
102
100
99
111
96
83
174
106
70
51
40
49
48
47
51
53
53
60
63
67
75
71
71
73
72
67
65
67
65
69
74
80
82
79
78
73
75
72
71
73
67
56
67
54
32
73
92
74
97
108
139
159
167
146
108
96
112
116
108
124
94
156
166
161
171
160
138
123
107
88
80
69
91
89
75
80
79
48
84
84
92
115
119
109
104
73
69
72
94
109
85
73
98
116
63
45
44
59
118
70
66
81
80
124
158
207
189
184
178
157
152
166
155
162
175
177
175
172
171
171
167
141
152
146
132
125
120
125
142
135
101
91
117
131
106
72
100
138
126
154
160
142
74
62
114
135
121
82
98
96
76
105
97
115
125
63
81
91
81
84
109
110
117
143
134
152
150
120
102
111
109
106
109
129
131
127
116
122
122
113
108
113
121
114
106
105
114
121
116
100
88
90
108
115
109
108
114
116
113
120
144
140
123
101
89
76
77
87
104
117
114
110
116
120
123
123
117
108
107
110
110
110
112
116
116
113
112
119
119
122
131
135
134
134
137
148
157
169
159
141
140
152
154
132
105
108
102
104
101
100
102
107
108
107
109
120
117
116
116
112
109
113
113
109
100
109
135
141
127
120
100
97
99
95
94
97
99
101
101
109
122
121
113
113
87
84
81
81
88
91
93
98
96
90
86
89
98
105
107
101
90
81
90
78
71
164
99
70
61
58
65
60
56
57
65
69
73
68
65
71
67
68
69
64
60
63
70
57
59
65
74
78
77
78
76
80
79
75
75
68
62
54
58
50
60
62
50
62
75
95
117
133
122
96
98
125
134
115
116
87
143
144
131
121
119
111
112
90
55
43
47
64
55
51
67
56
59
66
69
82
92
83
70
67
65
71
67
56
58
66
82
100
125
94
48
78
112
135
101
82
94
66
138
175
188
191
176
161
158
173
185
166
162
164
160
156
156
155
148
139
119
158
143
104
115
147
149
138
149
117
79
87
111
98
62
93
84
137
142
183
145
71
48
120
144
111
77
98
84
90
93
82
84
67
38
83
61
85
91
87
85
114
146
128
140
136
113
104
152
152
145
133
122
123
125
123
124
116
105
113
139
178
141
119
94
85
88
96
102
106
93
95
107
116
121
117
106
120
136
141
116
101
116
141
140
120
110
112
106
102
98
108
109
112
116
119
117
115
112
114
115
118
119
121
125
119
125
126
127
135
136
129
125
132
153
150
152
139
134
152
157
157
142
126
102
91
112
118
113
100
81
79
115
125
122
119
117
117
115
115
123
120
124
115
110
118
123
124
134
116
106
111
112
108
98
87
89
98
88
93
97
92
85
63
67
76
84
88
84
79
83
91
99
105
106
102
81
80
83
85
83
93
79
74
181
114
79
57
38
41
46
57
61
58
61
66
64
67
79
77
72
68
62
56
54
55
59
57
61
73
80
76
76
72
73
68
66
71
70
66
56
56
63
44
75
120
102
99
132
125
102
96
104
113
118
97
87
106
62
99
91
82
87
96
91
81
33
35
74
77
64
64
73
72
67
60
49
49
65
58
38
36
46
80
61
67
73
58
54
63
61
118
73
52
125
116
137
169
142
127
141
138
174
172
176
198
162
172
192
170
153
140
168
182
179
156
140
136
123
118
113
95
105
135
127
123
156
147
146
144
113
70
64
95
75
75
105
138
178
173
139
103
93
112
170
115
111
137
131
136
108
108
103
45
42
38
66
71
76
77
79
106
121
155
153
147
150
117
126
126
122
122
117
116
117
121
125
126
126
125
121
117
108
102
106
112
118
120
122
112
118
128
127
117
110
112
112
114
105
102
107
118
126
124
126
132
134
104
84
72
83
90
103
115
117
115
117
121
120
118
119
126
132
137
146
143
143
146
146
137
130
126
123
153
155
147
133
132
145
152
133
122
114
115
113
102
99
106
110
109
107
100
95
118
115
110
110
117
125
116
103
104
108
109
104
106
111
110
121
117
111
104
99
100
103
87
85
82
111
126
109
86
78
85
86
83
94
99
99
79
86
83
74
74
78
81
82
82
78
75
95
97
97
145
90
67
56
45
43
36
42
59
68
67
67
71
71
70
73
78
68
70
72
63
62
64
58
59
68
78
79
80
74
75
79
79
77
81
73
53
56
57
54
62
84
98
96
68
70
79
76
82
92
87
67
74
102
114
86
74
79
105
97
85
89
68
56
69
53
58
71
86
89
84
72
74
77
76
72
75
79
82
86
93
81
79
87
74
63
81
108
101
143
99
134
166
163
118
113
97
127
142
151
171
161
182
185
174
164
148
151
129
113
106
108
106
101
94
95
67
88
116
96
93
120
118
151
158
144
105
65
67
101
91
69
83
117
168
187
161
116
121
148
147
141
134
136
100
87
85
39
6
22
48
45
58
63
62
66
75
89
108
133
121
143
130
103
114
119
123
122
112
107
105
109
114
115
112
107
101
103
98
96
103
110
113
112
112
110
119
129
128
122
120
124
137
130
104
100
106
112
113
110
112
122
132
113
87
72
74
85
101
114
118
127
137
128
125
124
125
128
132
135
140
138
138
137
133
128
126
128
127
145
153
156
142
129
127
134
118
111
125
133
129
116
101
103
107
114
121
104
87
94
98
105
118
130
132
103
111
106
103
101
98
103
111
109
114
117
110
105
105
105
100
79
81
88
114
128
111
92
96
92
85
84
107
110
105
113
114
105
94
88
91
93
109
80
66
73
87
67
63
158
101
73
60
53
58
55
64
56
76
74
69
67
70
72
72
72
64
71
71
60
53
65
60
59
66
74
78
78
81
79
81
81
80
82
71
60
55
63
61
51
69
93
92
63
69
78
78
83
89
83
91
95
97
138
118
62
69
61
47
51
69
45
40
52
56
62
80
96
100
98
88
85
97
100
105
115
108
102
134
138
125
117
116
98
92
112
123
172
110
130
94
161
168
119
128
122
132
144
152
167
169
178
171
155
145
123
118
112
93
86
93
93
91
89
72
61
101
99
62
93
137
136
158
172
151
92
48
53
75
58
54
82
131
174
172
142
112
127
154
146
158
163
166
117
100
104
83
44
25
33
55
64
67
61
55
62
95
137
112
128
136
150
68
74
80
92
103
94
90
90
94
99
104
104
100
108
106
98
91
89
88
87
87
87
94
106
118
123
120
112
107
105
100
95
113
138
148
146
122
125
131
134
114
103
99
111
113
113
104
86
68
72
96
103
115
127
135
137
132
125
115
109
110
117
120
122
123
129
133
134
140
138
133
131
118
117
120
157
163
144
123
126
125
119
111
107
115
117
111
100
91
94
106
117
123
123
120
123
127
121
114
103
88
111
111
101
101
111
107
94
91
94
94
106
109
96
85
93
89
83
79
81
79
75
75
71
70
67
67
82
91
84
70
73
83
91
81
82
146
95
71
55
45
48
40
41
57
60
63
64
64
68
72
74
71
72
67
68
73
76
69
67
66
67
71
77
76
75
70
73
78
77
77
70
68
54
68
71
47
56
90
100
88
103
114
122
132
137
132
136
116
116
142
153
103
86
123
132
135
107
60
73
73
67
45
39
43
43
51
49
49
71
87
93
91
69
62
92
101
117
142
161
161
169
192
155
55
116
98
119
148
137
147
157
158
150
151
148
142
130
127
125
124
123
115
105
77
88
97
90
80
76
65
58
111
118
102
136
155
141
160
177
180
143
72
32
30
28
32
41
93
143
162
134
101
118
138
157
145
137
102
84
135
113
116
130
93
45
59
59
62
69
77
75
63
73
101
76
128
109
135
52
52
55
72
95
91
93
83
90
105
119
119
107
108
104
96
88
85
85
89
95
102
123
133
130
116
101
91
87
111
116
113
118
131
132
123
120
125
134
135
116
110
112
106
102
100
100
98
85
82
67
69
74
84
95
108
115
113
110
108
114
118
118
116
115
111
126
119
116
114
115
120
126
128
114
118
125
118
114
118
125
132
132
130
117
110
111
107
110
116
119
117
115
117
114
117
118
116
115
111
105
105
99
100
110
115
106
89
89
94
101
112
110
96
86
88
90
92
91
85
89
93
82
78
84
88
87
103
105
95
100
129
150
164
157
129
117
72
52
34
25
36
41
50
54
52
58
60
58
58
61
60
52
57
53
53
60
60
63
67
68
66
68
72
69
73
71
78
84
78
74
80
72
59
60
68
62
59
78
102
125
128
118
113
113
106
99
108
113
124
128
145
153
117
118
130
117
101
133
137
138
118
103
114
127
119
123
117
81
66
69
72
70
89
107
87
75
79
104
120
115
113
122
159
149
137
133
179
124
163
150
140
137
134
126
120
112
123
113
113
111
102
114
113
121
106
108
130
148
158
160
171
156
103
135
156
131
162
170
168
157
110
67
46
48
59
52
36
109
129
133
127
108
105
101
105
113
104
62
73
130
148
164
183
155
108
61
42
62
80
80
68
59
79
113
111
103
113
99
55
52
53
68
88
82
82
91
94
105
114
111
102
110
111
104
96
95
95
98
104
112
122
126
114
95
87
96
106
115
131
139
137
134
121
102
104
110
123
129
113
105
102
106
98
94
96
97
81
75
84
77
68
67
71
81
92
104
99
96
96
98
104
114
123
123
138
129
122
114
108
108
120
126
114
116
123
119
119
131
127
122
122
128
126
117
112
107
108
112
112
110
116
92
98
113
124
123
119
109
98
94
90
98
110
114
100
82
89
94
106
118
114
95
84
88
86
83
79
70
72
76
73
69
85
100
107
130
138
157
156
171
172
162
145
129
95
62
57
48
38
41
36
37
33
41
49
51
47
49
54
59
47
51
53
52
55
48
46
52
56
58
63
72
68
71
70
79
83
75
69
78
72
62
56
64
66
59
71
100
137
143
133
132
135
131
127
114
131
108
113
126
148
117
91
104
103
121
167
136
123
104
97
119
137
130
140
151
105
88
88
78
58
85
122
100
75
67
91
116
129
144
159
157
164
148
174
144
174
136
145
132
131
127
117
113
111
108
101
108
113
112
152
160
144
118
128
175
196
178
155
163
161
98
157
191
130
156
176
172
159
111
78
64
70
92
96
58
108
118
133
157
157
134
87
130
166
113
96
71
89
147
176
181
154
132
66
72
78
77
73
70
66
74
91
137
100
128
86
80
80
73
74
79
72
78
83
80
80
94
111
112
113
120
105
91
87
86
86
87
89
111
118
124
125
117
104
93
104
128
147
140
141
140
137
132
126
112
106
115
110
106
98
91
78
84
115
147
156
144
143
134
115
101
93
87
60
65
67
80
102
103
95
97
99
102
104
105
106
108
110
122
120
115
105
109
117
124
97
93
102
118
125
116
105
120
116
107
101
105
115
113
106
102
101
110
116
113
113
125
103
100
98
95
101
99
85
100
95
108
93
87
83
68
44
53
61
65
86
97
102
121
125
142
157
155
144
121
112
103
103
111
103
102
126
95
71
53
47
44
47
51
48
49
54
58
59
60
60
61
67
65
62
51
44
42
45
43
46
51
54
57
62
64
60
62
64
66
66
66
64
62
74
65
63
73
67
67
93
71
64
59
64
72
76
75
71
69
68
84
94
96
99
128
100
76
80
131
131
117
136
125
119
119
130
151
157
148
126
114
110
106
122
145
154
149
124
113
131
143
141
145
131
128
137
138
132
121
108
117
120
123
107
96
108
132
137
155
150
160
198
156
135
144
170
170
205
217
189
185
167
172
142
134
163
171
160
156
134
143
119
92
93
94
132
145
112
145
117
160
139
144
125
107
157
87
139
56
102
118
163
169
165
169
162
126
107
100
125
110
71
60
73
110
105
107
109
107
86
93
97
100
86
79
77
83
90
94
103
121
125
100
102
92
83
81
87
92
94
94
102
111
117
121
124
128
131
147
151
159
151
140
131
126
126
124
121
114
106
106
100
101
107
113
117
117
97
91
105
103
99
105
126
142
129
116
102
86
82
90
97
104
111
115
104
102
104
111
119
123
120
115
117
122
111
112
123
133
123
119
120
118
121
119
119
135
147
137
112
97
108
129
113
105
104
101
99
101
104
91
89
87
85
91
97
99
90
98
109
90
84
95
99
122
129
139
148
140
124
111
117
108
102
98
92
95
101
103
104
96
97
96
123
139
76
59
49
45
45
48
51
48
46
47
46
44
40
37
35
37
38
45
60
58
56
56
60
59
58
56
55
59
62
46
52
59
62
62
63
71
56
67
68
69
72
63
63
83
105
92
85
88
93
92
86
94
108
143
160
162
153
150
138
159
132
90
105
108
119
111
121
113
110
121
119
139
181
170
171
164
138
127
133
123
119
104
96
103
108
109
115
112
121
115
106
99
100
108
126
127
132
169
178
174
173
165
147
150
150
125
164
204
173
174
209
207
192
173
133
174
151
137
148
152
118
103
139
128
143
164
157
118
79
90
131
92
107
135
190
193
154
104
98
132
109
81
122
116
127
155
172
180
172
168
123
113
116
82
50
66
79
88
126
155
135
115
121
90
97
105
109
102
100
98
99
112
118
119
123
121
109
110
111
108
102
98
99
104
107
116
119
121
122
129
141
152
145
149
150
136
123
120
122
133
134
143
141
123
117
106
94
93
95
97
100
110
111
119
102
88
87
96
106
118
147
125
104
97
96
100
101
100
98
90
93
102
116
126
132
141
123
109
113
113
122
135
132
130
137
139
131
122
120
115
130
145
144
126
112
120
135
123
118
115
104
97
98
93
104
99
92
89
91
100
112
95
107
122
114
115
130
143
173
155
131
113
104
107
110
111
104
102
100
95
94
84
91
69
75
68
93
146
130
76
61
52
48
44
43
43
39
42
38
35
35
38
40
41
59
54
52
61
55
44
36
34
35
36
37
40
51
55
69
72
73
69
64
63
71
62
70
72
73
71
59
57
70
106
106
106
108
104
93
81
92
100
126
146
151
145
142
143
173
155
116
110
112
127
120
122
96
81
106
134
167
135
142
151
141
123
126
132
117
112
105
105
112
114
110
110
109
98
97
105
112
127
150
142
180
189
171
169
169
183
179
168
139
101
109
209
190
205
181
199
188
161
142
128
171
138
105
125
104
80
129
149
126
120
134
152
149
129
127
123
126
97
149
189
189
130
131
75
142
85
71
104
121
142
167
182
188
173
157
92
97
133
106
51
41
65
110
156
164
135
108
105
76
80
93
101
105
109
99
95
99
107
124
136
132
129
94
109
121
117
108
107
112
117
136
148
148
142
140
147
158
145
159
147
136
144
158
166
164
156
158
154
139
145
135
114
102
107
122
134
145
130
143
155
161
148
121
102
96
92
94
115
136
142
147
153
149
136
124
120
120
119
116
113
105
105
106
112
111
105
99
118
123
132
127
109
119
133
145
140
136
133
123
106
84
95
96
114
118
98
89
94
89
113
111
103
98
92
102
127
146
145
127
120
115
109
110
103
102
105
111
101
96
94
84
86
88
78
67
70
80
100
89
84
101
130
124
81
53
44
41
43
40
38
38
33
31
36
41
43
45
45
45
26
21
21
33
36
36
37
30
33
37
42
47
62
66
67
66
65
64
64
66
69
68
66
68
72
71
62
58
62
119
132
140
141
136
124
114
102
105
111
128
139
145
152
149
140
141
151
127
99
79
80
89
116
144
159
162
130
150
140
133
117
106
117
124
120
111
108
105
96
92
95
97
110
147
177
180
143
130
160
161
136
150
175
186
188
160
178
153
127
138
157
154
213
184
187
183
206
181
140
161
132
138
141
155
150
158
168
120
152
123
111
128
138
126
104
134
126
117
140
169
93
69
44
95
72
102
102
146
107
122
154
154
159
168
155
105
129
103
86
90
71
83
136
136
141
149
139
100
52
61
70
78
89
80
68
75
111
139
149
153
147
117
119
111
139
156
126
106
98
76
94
117
124
113
106
116
131
138
135
129
134
145
148
146
146
138
141
139
144
144
118
119
125
128
127
123
115
110
117
125
129
132
134
124
110
104
97
96
97
102
115
122
116
115
111
121
128
128
127
127
114
103
89
84
93
104
111
122
109
132
149
127
129
114
110
105
122
135
119
106
124
127
113
111
118
127
137
122
87
84
93
100
81
69
81
94
95
88
104
113
115
121
133
118
122
146
134
95
85
83
107
144
144
115
100
93
87
109
95
115
144
129
85
54
34
36
39
40
41
39
38
38
47
44
36
27
24
25
28
29
35
39
39
41
47
52
48
45
45
48
46
43
48
49
53
60
67
71
73
70
49
52
48
51
72
83
72
58
106
115
109
115
120
108
98
95
123
157
170
175
166
158
159
165
147
126
161
148
119
93
131
163
158
138
134
119
106
99
104
94
99
113
107
93
79
80
82
109
121
151
165
177
147
170
75
112
131
200
78
157
181
166
161
152
115
128
184
126
168
172
184
172
190
187
178
208
195
141
148
147
105
157
166
74
78
106
153
166
168
174
163
143
125
116
111
127
115
159
208
154
106
72
91
115
122
116
119
115
155
163
171
161
149
83
94
105
121
144
125
79
115
177
160
151
156
108
56
84
86
84
80
94
104
109
99
123
143
153
159
152
121
125
119
132
137
115
96
79
55
92
111
122
122
121
127
136
131
136
137
136
139
141
142
137
137
139
135
136
130
112
123
133
142
138
131
120
117
123
135
139
134
125
110
102
125
123
117
106
96
98
101
97
104
123
132
129
118
110
110
103
101
101
112
119
121
120
120
107
115
124
114
126
124
114
111
125
138
128
112
93
125
114
114
123
137
158
160
142
111
108
105
86
70
64
59
67
75
105
113
115
114
115
133
122
130
116
107
101
100
121
124
108
86
87
98
104
93
92
125
143
106
68
51
35
31
28
29
37
45
52
56
40
34
31
30
30
29
29
29
32
35
31
31
35
40
43
41
43
49
51
48
51
52
58
68
78
85
89
89
82
77
58
45
55
72
82
85
107
123
129
133
124
111
108
117
132
139
155
169
174
173
147
143
160
170
146
154
152
166
152
139
128
114
110
101
109
99
111
108
108
112
93
85
86
96
122
148
183
178
148
163
186
109
103
93
187
112
129
202
154
160
118
145
110
148
183
130
153
150
176
173
190
171
167
194
172
141
161
135
161
176
145
110
142
131
149
158
156
153
126
115
132
144
128
97
112
147
169
174
109
83
73
66
66
101
132
146
155
173
131
169
79
18
90
144
126
113
93
80
121
147
100
149
133
93
75
127
122
110
97
105
127
145
127
124
120
120
120
108
99
131
145
131
109
110
108
93
87
90
101
118
130
129
122
117
117
126
145
137
127
127
133
126
146
148
145
134
116
118
141
150
157
154
146
138
138
139
140
132
118
110
107
114
142
148
137
112
94
89
88
88
100
131
134
125
119
124
132
129
125
123
124
120
111
104
111
113
105
106
117
98
107
127
120
114
119
139
157
137
134
131
126
117
110
103
93
79
89
89
80
76
85
94
93
115
126
96
90
109
126
128
113
104
110
105
121
112
111
105
94
107
123
117
117
111
98
121
131
104
62
43
40
25
35
45
54
54
49
41
34
35
33
36
39
41
40
38
33
34
35
35
37
41
44
51
47
44
47
51
50
47
41
47
55
64
69
71
69
57
65
62
55
56
56
55
58
86
104
128
147
156
154
153
156
157
147
147
139
120
109
55
80
102
83
148
184
144
131
110
105
116
117
110
112
107
93
106
103
93
105
106
114
125
102
158
160
193
123
91
136
96
97
153
108
120
206
159
161
156
165
159
194
161
178
180
180
172
154
151
151
171
168
170
186
186
164
154
155
154
134
163
170
161
139
160
138
162
166
177
188
173
145
177
151
159
168
157
123
150
128
107
95
92
105
139
169
158
155
133
25
27
84
40
114
116
125
96
78
117
146
141
113
112
96
54
142
122
98
81
72
74
78
84
94
97
96
91
76
60
80
106
104
83
80
85
92
106
96
111
123
125
119
111
109
108
103
125
130
122
123
131
127
137
144
149
133
126
133
151
149
144
141
142
146
143
143
134
120
117
125
124
113
113
137
142
137
139
128
100
82
96
113
121
129
136
137
134
125
129
135
139
139
140
141
142
147
143
145
151
121
127
115
128
135
141
154
154
126
106
110
107
102
102
95
87
87
118
110
115
135
139
116
94
104
112
108
96
91
89
89
83
93
107
96
91
86
101
113
96
92
104
112
117
123
122
116
78
43
40
37
32
50
50
45
35
27
27
36
45
37
41
37
31
28
30
33
34
33
30
29
32
34
36
38
37
34
34
40
51
50
58
60
63
66
68
69
68
85
79
68
63
67
66
61
61
75
88
95
107
118
95
52
52
52
54
59
56
58
68
47
63
139
198
111
87
78
92
94
90
83
89
112
108
116
112
107
91
93
103
109
156
172
163
197
159
107
55
99
139
113
131
67
165
173
126
147
172
191
173
197
158
181
172
169
174
159
146
114
145
178
142
189
208
165
166
179
162
179
109
130
130
94
113
175
157
126
149
182
150
105
104
128
69
48
31
23
104
149
128
106
93
96
122
142
154
151
108
110
85
80
90
125
100
74
114
111
87
119
139
145
120
97
59
36
122
105
87
79
80
84
90
73
81
79
77
85
93
92
92
111
118
104
88
84
90
97
102
110
117
115
107
102
101
100
94
120
125
116
117
128
135
130
140
148
129
131
133
149
149
146
140
138
139
137
147
139
123
113
113
111
106
109
136
140
135
144
141
122
111
92
107
114
124
133
132
127
133
137
137
125
120
121
124
137
139
143
147
142
111
109
101
110
110
109
114
103
83
109
122
127
125
123
113
107
116
141
126
124
134
124
95
79
110
102
97
90
80
86
101
88
94
101
86
88
79
94
88
90
89
95
105
105
118
114
80
58
46
31
34
46
48
43
35
27
28
33
40
44
38
36
33
31
31
32
34
35
33
30
30
34
36
38
41
46
48
48
52
61
59
57
59
63
69
74
80
86
77
78
77
78
81
74
62
60
59
78
99
114
125
115
88
59
58
47
41
35
44
66
110
176
180
119
88
86
80
89
96
101
95
94
107
96
102
106
95
85
103
87
45
60
53
62
96
114
124
124
132
112
119
53
76
171
130
130
169
201
168
171
173
199
188
175
174
159
143
139
110
165
153
153
194
189
166
182
174
158
152
100
164
147
81
114
177
133
149
166
137
95
90
106
133
73
45
37
30
77
83
91
85
83
81
95
114
123
97
132
120
89
80
45
139
115
64
117
131
100
125
141
140
111
88
70
53
95
86
78
73
72
73
77
71
59
56
64
75
85
79
75
85
112
122
109
111
116
102
128
141
147
143
130
116
106
103
99
95
108
112
109
108
125
143
147
129
125
136
137
130
140
143
138
137
148
146
140
134
138
140
122
96
78
84
85
96
118
139
144
133
119
121
102
91
100
118
121
110
125
133
136
123
122
124
125
125
123
130
120
89
79
83
90
88
82
74
71
77
93
113
108
103
102
112
118
113
105
108
110
114
118
112
110
117
94
71
89
83
69
62
59
66
90
79
59
96
96
94
107
97
82
63
47
53
123
90
64
43
42
49
54
49
37
35
37
39
37
39
35
24
45
39
40
39
42
43
39
36
40
45
54
57
54
49
55
60
65
64
61
65
70
63
64
64
64
65
67
75
89
90
85
80
78
72
77
92
77
73
80
96
109
108
98
64
49
36
83
160
176
127
104
79
82
96
93
99
95
104
103
105
106
103
98
99
92
63
81
113
112
79
76
142
103
118
118
81
108
125
111
90
96
158
137
108
175
182
180
188
163
140
171
198
175
152
151
112
111
120
109
169
157
154
157
181
195
168
135
145
176
154
190
174
140
141
158
156
139
103
103
155
150
96
51
65
64
64
52
67
91
93
86
106
85
101
127
159
159
146
145
119
105
97
117
83
91
106
114
112
117
121
118
96
112
118
115
78
89
93
87
88
85
76
66
70
76
77
75
90
137
122
87
85
107
103
92
103
120
126
124
118
111
108
110
112
90
95
113
126
121
102
90
86
95
95
92
123
129
122
134
136
132
124
120
124
121
107
87
73
64
56
55
64
82
87
94
101
108
119
131
141
126
128
101
77
71
74
75
91
95
96
83
84
87
89
101
116
111
96
94
87
94
105
107
106
104
107
117
133
109
97
98
110
107
91
92
107
95
93
104
117
108
85
73
61
94
62
61
54
40
41
46
65
59
35
41
49
58
55
36
51
67
68
98
80
53
44
40
38
32
31
31
33
36
42
38
30
31
35
33
37
36
39
40
45
50
47
53
56
55
47
49
52
53
59
59
60
61
62
64
64
65
69
73
76
76
75
75
78
80
80
81
82
73
66
68
81
80
79
82
90
97
100
77
145
160
124
110
108
110
97
78
81
97
103
107
103
106
108
111
113
111
99
68
67
80
89
70
66
74
60
71
69
56
72
59
77
45
65
61
145
126
59
135
191
166
180
168
146
141
139
167
184
167
145
154
114
88
140
136
156
161
151
166
203
194
162
162
160
88
155
161
129
166
166
125
85
86
169
131
98
75
84
69
48
33
64
136
235
144
96
81
79
64
70
101
118
116
122
114
117
121
135
146
136
143
137
113
106
104
85
101
111
111
97
77
95
102
96
103
100
88
84
74
71
71
76
91
111
91
76
85
103
93
85
111
146
163
139
119
109
109
113
117
121
117
107
117
116
103
94
96
101
99
95
106
102
89
78
81
82
79
79
77
72
72
68
69
76
78
87
105
124
121
115
106
101
103
113
121
124
117
93
72
68
75
79
94
100
103
97
97
99
98
119
140
122
93
94
95
111
139
124
108
106
119
127
103
96
96
102
107
99
86
90
104
109
118
121
118
101
82
77
69
85
71
72
75
66
58
58
73
66
47
40
45
50
36
26
38
61
84
109
52
51
42
40
39
31
29
32
35
36
38
35
29
32
37
34
36
37
41
41
47
51
50
53
57
58
47
46
49
51
63
61
59
61
64
64
62
61
64
67
70
71
71
74
75
78
77
78
82
74
64
62
79
83
82
82
90
106
119
95
147
120
111
116
108
98
94
86
89
100
101
107
107
107
111
113
110
104
94
72
93
73
66
65
76
76
53
53
60
82
32
57
43
43
34
107
137
63
82
133
194
168
180
169
145
142
135
162
186
173
166
175
119
109
131
139
172
175
158
166
204
200
168
155
153
134
189
164
146
169
155
107
64
70
142
82
99
139
96
75
34
46
91
135
152
147
108
84
74
40
48
76
104
86
68
56
61
70
78
120
96
91
89
78
83
84
58
89
111
111
88
86
94
97
95
107
105
95
78
74
78
85
84
84
71
69
80
88
89
90
97
105
111
92
88
95
110
117
112
103
96
99
103
119
123
107
91
96
94
88
77
91
101
103
109
106
99
92
89
104
113
113
125
141
146
134
128
131
122
120
123
131
138
134
121
109
75
65
68
79
91
97
96
86
96
107
116
116
113
108
107
130
130
112
100
86
98
100
98
97
101
107
108
86
78
98
108
98
92
98
101
98
109
109
108
113
107
93
86
81
66
109
71
60
83
89
94
94
99
107
104
99
94
99
101
94
107
130
105
46
58
45
39
38
36
37
38
40
34
33
33
34
40
41
33
41
44
46
44
46
53
51
45
52
58
56
55
53
50
59
56
54
55
57
56
54
61
61
62
61
62
65
73
70
74
69
67
72
74
70
67
70
78
83
87
98
120
140
94
97
81
82
87
89
94
89
94
98
98
94
102
113
108
115
111
94
79
80
96
65
56
54
42
44
48
39
81
28
61
48
47
65
121
114
40
111
99
94
174
147
170
186
179
138
140
151
170
178
191
170
195
178
143
152
156
180
159
150
165
182
177
151
175
147
172
145
98
146
130
129
107
83
87
105
108
76
80
131
88
95
94
87
104
87
151
119
63
61
99
85
54
67
47
41
83
115
124
127
106
114
108
90
72
56
43
44
46
45
44
40
109
102
100
104
104
94
86
91
87
96
115
128
130
95
94
93
91
97
104
102
103
115
116
111
112
120
132
144
151
124
122
111
129
144
136
124
106
104
104
110
138
142
138
128
135
143
144
137
141
150
138
133
134
135
131
136
138
99
96
97
104
109
102
84
67
118
121
112
100
93
93
95
103
111
119
127
128
126
122
114
111
123
126
107
96
93
100
99
100
109
122
120
80
80
79
86
96
94
84
82
89
101
93
92
106
120
123
123
124
125
116
97
78
74
82
94
88
101
116
104
103
103
100
81
104
139
117
67
56
54
49
52
53
44
39
38
32
35
41
39
34
37
42
40
40
46
49
46
50
58
58
61
64
66
68
68
65
59
71
71
71
70
69
68
68
63
64
66
65
62
58
55
55
64
65
62
69
72
70
70
67
69
73
75
80
94
109
111
78
78
69
69
77
75
76
75
72
78
105
111
120
111
115
107
87
74
74
73
72
61
62
57
56
50
34
44
63
34
42
144
132
59
82
107
79
106
122
191
179
174
201
167
109
146
154
163
174
156
200
182
165
166
159
193
167
126
144
186
188
187
179
126
178
167
162
170
172
155
213
117
99
103
70
128
71
169
157
72
63
35
95
86
137
163
155
108
98
90
111
122
104
64
31
65
80
83
155
151
154
106
72
85
68
39
51
72
87
83
61
84
89
96
92
85
90
85
93
87
89
106
128
138
131
118
113
111
112
106
97
97
104
115
118
132
149
161
150
129
104
105
126
136
135
129
126
111
123
138
153
179
176
168
153
158
159
154
155
166
163
141
144
168
165
122
101
105
98
133
145
117
84
78
104
136
148
126
120
111
117
123
116
100
96
94
116
110
103
106
122
114
123
132
125
120
112
89
101
114
112
99
98
110
105
88
87
91
84
84
92
93
93
103
106
105
109
123
137
138
124
116
100
69
62
84
94
103
115
113
97
93
83
66
72
100
121
85
69
71
53
47
48
50
43
38
36
38
34
32
35
40
41
42
42
49
43
54
49
49
56
57
62
65
65
67
71
73
72
72
74
80
79
72
67
59
64
63
61
59
58
60
69
66
68
67
60
57
59
63
65
63
63
62
62
68
83
98
108
72
62
71
62
58
65
67
68
79
98
110
113
119
110
102
94
92
95
94
80
85
71
56
44
41
50
52
52
49
37
129
146
39
84
73
148
96
111
137
183
142
193
192
178
165
148
164
165
141
134
192
187
180
150
175
187
157
170
157
184
184
169
172
141
188
158
141
150
163
204
82
131
99
86
102
83
85
173
129
106
25
90
108
107
132
145
160
139
121
102
120
133
104
70
82
80
82
108
164
172
153
115
52
68
62
56
73
85
121
86
43
121
126
131
123
97
100
98
85
82
84
102
120
130
126
120
114
111
111
109
105
109
116
118
143
160
137
106
100
111
125
128
122
124
133
138
136
124
124
123
131
170
185
190
197
181
174
175
170
164
180
163
144
103
79
93
110
126
140
120
94
84
95
108
124
142
140
133
131
126
126
121
108
110
111
109
109
108
98
88
87
95
106
111
117
132
117
111
100
96
96
89
88
106
114
119
113
94
88
105
113
98
90
86
90
99
103
104
105
108
120
100
94
88
72
56
77
72
71
66
61
58
49
64
115
89
89
77
66
64
65
53
47
45
38
39
44
42
41
41
41
43
46
47
47
45
42
52
47
47
53
52
57
61
64
72
80
85
86
85
82
84
83
80
77
67
69
68
66
62
60
60
66
61
64
63
58
55
55
55
53
55
58
65
69
70
73
77
107
95
56
38
34
54
77
56
77
102
118
126
122
118
93
109
118
116
114
117
109
117
158
156
124
115
112
101
91
63
137
31
48
53
62
79
85
109
119
138
172
148
185
172
172
162
154
170
167
149
140
141
177
178
163
183
144
199
182
170
175
182
175
152
151
166
203
132
168
143
30
82
100
96
124
127
89
88
158
94
141
65
70
101
127
131
147
151
121
102
106
121
118
97
65
65
90
113
107
136
132
104
107
84
84
70
80
98
80
83
58
53
141
130
125
121
110
106
97
88
90
98
116
128
130
123
111
109
110
115
120
125
129
133
130
124
116
116
131
137
129
125
130
124
122
126
127
122
116
117
122
130
154
168
176
167
179
185
182
179
133
96
95
95
120
142
140
142
139
86
87
94
106
113
111
119
140
155
164
150
135
131
131
132
124
122
122
110
116
116
102
97
85
78
85
92
103
121
109
99
102
112
111
105
98
94
100
103
101
99
96
92
91
93
97
100
99
99
105
112
109
106
92
93
86
80
80
89
87
89
84
78
93
101
142
120
63
94
77
68
68
59
47
43
43
41
43
44
41
44
44
41
41
44
46
45
45
48
56
51
52
56
50
64
67
68
73
82
87
88
90
86
86
88
88
89
79
75
74
71
66
61
58
59
60
62
62
59
57
56
53
48
44
45
54
64
70
73
76
77
85
102
118
133
136
130
111
115
112
105
114
114
107
114
111
95
75
68
73
63
58
70
51
38
54
60
76
143
124
124
125
127
105
115
65
78
113
109
142
165
169
176
136
130
120
162
157
142
148
155
121
158
172
187
143
164
182
140
168
188
172
181
171
184
192
193
167
151
99
107
129
142
155
139
115
134
162
186
174
136
154
154
191
129
147
137
108
86
108
113
137
157
153
141
113
104
119
129
149
141
125
133
82
62
67
88
79
81
76
61
56
141
125
117
119
123
120
113
109
110
116
128
134
133
123
112
114
117
124
131
135
139
138
113
116
142
156
154
145
137
131
127
117
116
119
122
123
119
123
132
139
143
150
157
163
175
192
190
159
99
98
110
128
154
149
134
152
147
54
100
128
123
118
124
126
122
148
159
139
127
124
126
131
123
119
124
114
115
114
99
95
88
81
83
89
101
125
119
113
113
111
105
103
99
102
106
102
98
98
94
93
101
100
95
97
98
93
85
80
86
83
97
104
97
98
114
110
107
107
101
89
104
118
129
101
63
91
77
89
52
54
43
40
44
44
45
46
42
47
48
43
41
46
48
46
44
50
57
52
54
57
48
63
65
65
68
75
81
82
87
85
89
91
91
94
85
80
78
75
69
63
59
58
60
62
61
58
58
58
54
49
44
42
46
53
58
64
68
70
83
91
94
106
123
130
141
140
136
125
108
96
86
106
96
82
74
75
80
70
63
62
51
58
78
81
91
76
92
113
122
144
145
122
105
106
109
97
136
152
168
164
117
128
124
171
169
155
165
163
127
158
187
206
145
183
166
149
177
197
167
168
179
169
183
194
151
144
101
90
140
114
126
124
110
122
151
185
143
118
169
152
135
102
135
94
100
98
105
99
123
126
113
95
87
120
134
128
148
117
115
129
80
69
80
92
74
73
61
62
65
151
134
125
124
121
124
125
122
119
119
124
127
130
137
134
134
136
134
129
122
108
97
130
152
161
165
173
169
149
144
133
147
150
137
130
132
123
122
119
112
112
139
165
176
158
119
86
96
178
189
166
146
126
132
142
117
84
116
112
110
111
107
97
105
132
138
139
123
127
132
127
126
128
112
120
122
122
131
128
121
156
154
122
113
114
105
104
116
122
110
98
104
98
101
131
129
104
102
110
101
89
90
103
108
100
93
95
104
115
125
122
113
106
111
124
135
125
120
116
109
120
127
125
76
52
87
93
85
74
57
44
39
42
45
50
55
51
59
60
53
51
57
60
56
40
50
55
50
52
54
43
51
53
52
55
63
69
70
81
85
95
100
98
102
96
89
87
83
76
68
62
59
58
57
55
53
54
56
54
49
46
46
50
55
60
68
75
85
90
101
100
98
97
99
101
102
101
98
76
89
109
104
90
83
88
86
73
65
68
62
57
50
49
58
60
64
60
46
76
97
80
113
125
150
134
114
151
136
151
129
109
179
180
150
164
148
139
158
108
130
178
190
184
173
170
185
135
147
179
171
169
168
170
172
165
151
92
112
141
84
90
118
151
166
158
168
152
157
112
136
145
187
125
105
78
70
109
150
170
165
148
117
92
108
114
145
149
92
84
91
63
76
75
76
78
70
81
97
73
159
147
131
123
124
128
129
136
132
128
127
133
143
154
162
139
122
125
136
143
148
154
140
149
158
165
166
161
157
150
137
133
134
133
137
145
141
140
129
133
163
142
123
86
91
109
136
158
166
168
191
169
162
138
92
92
127
116
125
127
123
124
132
133
128
130
130
117
110
115
123
125
118
114
118
120
115
111
103
127
143
126
101
110
117
112
84
106
128
135
127
115
95
104
106
111
117
117
116
122
131
134
131
127
129
128
124
128
125
126
129
125
121
126
135
142
135
133
133
118
114
115
119
74
59
84
92
70
48
51
48
48
50
51
51
53
58
60
54
54
60
55
51
61
48
48
57
52
51
53
49
47
51
54
57
60
64
65
79
78
85
95
98
106
108
110
105
95
85
80
76
62
58
59
57
55
59
64
63
58
53
56
64
68
65
68
74
79
83
94
96
95
94
93
76
79
79
77
86
87
84
67
79
79
78
90
94
94
92
90
81
71
65
63
57
60
52
59
71
84
113
128
116
86
112
166
143
169
164
143
134
132
150
166
146
141
148
168
130
126
161
195
167
158
146
185
179
189
162
153
163
181
178
160
161
141
147
141
152
82
101
150
165
168
169
169
152
148
130
142
134
106
37
96
162
153
135
93
110
157
169
128
82
113
101
104
61
88
94
83
86
75
64
81
71
73
77
70
50
161
144
129
123
118
123
128
138
134
132
137
144
151
151
132
112
117
153
178
170
151
145
146
151
157
159
160
160
160
155
142
135
137
136
138
141
149
140
128
137
144
109
83
96
116
139
149
142
142
154
163
152
141
107
75
100
138
133
141
137
122
118
125
126
119
122
128
121
119
122
122
119
121
126
136
118
111
112
111
128
125
104
92
108
112
107
100
100
111
125
121
103
105
117
121
128
133
132
130
134
140
132
120
114
119
121
120
124
128
128
130
129
126
128
132
131
126
132
143
126
121
125
115
74
59
81
91
72
39
53
51
52
55
55
55
56
57
59
55
54
58
55
53
60
42
49
54
48
44
46
45
47
50
52
55
56
59
61
76
73
77
87
96
104
105
107
105
96
81
68
63
65
65
63
59
58
62
66
64
58
58
61
69
73
72
75
80
85
86
93
97
97
93
88
81
84
84
80
76
73
69
75
78
73
71
80
86
88
92
94
94
91
88
83
75
72
63
68
83
102
129
140
125
89
130
151
146
155
168
164
144
130
148
155
148
152
145
166
129
113
143
177
163
151
123
176
195
158
154
144
164
171
181
172
170
139
145
147
165
84
119
150
151
165
158
168
144
148
154
146
119
110
80
77
82
116
122
21
101
154
146
151
120
76
59
70
106
56
77
84
84
69
59
71
62
74
71
68
67
138
126
118
120
124
133
143
151
152
154
150
135
114
99
117
124
129
124
118
121
130
139
142
143
140
140
143
152
160
154
149
145
148
151
157
163
164
143
122
109
105
117
128
123
118
111
113
128
148
143
129
110
97
119
147
135
116
122
107
102
113
121
122
128
141
160
138
124
115
112
110
107
106
110
116
112
121
134
137
132
122
116
123
130
110
108
103
107
110
114
120
128
139
133
133
128
118
108
104
107
110
119
116
109
108
109
115
126
134
133
128
127
125
120
115
131
126
129
134
109
107
117
79
62
60
72
76
71
55
50
48
48
52
53
51
51
52
51
53
53
52
53
53
50
36
54
54
52
49
50
55
49
49
53
59
57
58
63
65
72
73
76
83
87
101
110
111
106
94
82
76
71
74
68
60
57
57
58
61
62
57
62
69
75
79
83
87
84
89
96
92
88
88
89
83
83
83
82
78
79
83
75
69
67
72
77
82
82
86
88
91
93
90
84
79
80
84
91
94
93
98
106
107
125
114
90
187
114
158
106
95
143
168
149
150
154
163
170
170
159
179
188
183
172
161
179
184
148
204
175
150
194
183
154
151
133
146
145
157
107
147
180
148
143
171
132
123
147
104
79
83
109
89
80
80
107
142
104
118
184
175
102
114
148
173
126
44
29
56
93
104
97
94
85
76
65
55
54
62
130
134
133
129
147
155
155
146
137
129
123
113
104
120
134
135
140
144
141
131
125
125
125
124
123
126
135
146
155
152
149
150
160
163
152
141
104
98
104
117
151
152
131
131
134
129
122
129
147
138
103
96
122
138
117
111
122
130
133
143
160
180
187
174
155
112
124
130
129
123
117
113
117
112
111
122
139
143
132
133
123
121
123
117
105
106
98
106
105
99
102
116
131
130
132
128
117
107
106
110
111
113
119
116
112
109
114
127
130
135
130
125
122
116
110
96
104
109
108
111
126
137
78
70
63
58
57
63
49
44
43
44
46
45
41
40
42
40
46
47
40
46
49
39
32
44
38
42
43
42
48
47
44
46
51
43
42
47
47
56
51
52
65
68
85
89
95
98
92
84
77
68
74
75
78
77
69
60
61
68
69
72
74
77
81
84
84
91
95
100
98
96
96
97
101
100
99
96
76
75
79
80
71
75
82
79
82
90
82
82
87
93
95
94
99
108
109
111
122
130
117
90
71
54
94
146
145
175
163
125
138
132
136
155
139
135
149
158
168
145
162
174
185
162
146
179
129
138
172
178
162
153
163
163
166
113
92
103
152
91
125
175
144
148
189
174
147
129
179
169
113
108
109
83
149
165
132
110
83
150
140
148
156
153
143
192
165
116
70
54
47
61
86
80
87
60
68
84
83
133
143
143
134
153
160
155
127
119
116
121
122
120
136
139
135
143
152
140
114
107
117
113
113
116
126
140
154
163
159
157
166
173
159
124
93
85
96
120
136
158
153
127
125
136
144
147
157
153
131
88
128
138
127
133
140
132
129
145
153
160
186
211
199
166
138
131
125
117
108
105
106
104
100
100
114
130
130
115
131
117
112
109
103
103
102
103
109
115
118
118
120
131
125
130
128
117
108
106
108
107
115
120
117
114
111
114
125
136
141
133
124
119
112
104
107
117
119
107
104
116
122
81
71
60
52
53
64
45
43
42
43
45
43
39
37
34
32
40
40
33
38
42
30
29
38
30
35
36
34
40
45
41
43
45
35
32
37
36
42
34
37
56
58
74
80
91
99
96
88
85
87
81
86
92
90
76
60
56
61
70
74
77
81
87
91
91
106
104
102
102
99
94
90
88
90
95
100
85
85
90
98
85
85
86
75
75
84
92
91
94
98
96
93
96
115
119
122
128
131
116
93
84
73
118
83
98
117
106
126
129
118
138
186
193
180
146
138
143
110
132
155
182
153
155
198
124
140
160
183
166
168
164
162
179
142
116
109
144
53
134
196
160
154
174
189
146
170
105
85
104
131
102
110
143
151
106
130
133
169
189
167
132
154
174
234
197
127
72
52
35
40
64
71
98
63
75
91
80
133
144
153
147
116
102
94
112
114
125
135
137
143
164
159
153
145
135
128
132
149
166
136
146
160
160
151
149
152
145
158
149
118
101
109
127
139
132
133
136
127
129
131
151
146
142
152
165
128
110
119
134
141
139
140
148
144
121
120
137
148
141
144
147
135
135
113
112
111
107
105
108
102
100
101
118
120
117
112
109
105
103
117
130
113
123
114
115
117
118
116
115
124
134
135
124
111
112
116
118
121
122
121
120
119
118
115
113
119
121
119
117
116
115
115
98
109
106
125
109
127
104
71
68
60
55
56
51
42
43
41
39
39
39
38
38
30
35
38
36
34
35
37
37
35
33
33
33
35
36
37
41
37
36
33
29
36
48
42
38
40
43
42
42
35
42
56
66
76
84
85
91
99
100
100
98
96
92
80
69
70
77
81
83
89
98
105
103
104
99
98
101
99
96
101
100
96
89
81
85
90
80
79
81
79
71
72
78
90
94
99
103
104
103
102
106
112
115
117
123
127
118
104
102
99
93
81
71
86
115
113
120
124
114
113
112
109
139
133
123
117
121
132
132
142
146
115
144
174
172
187
177
167
160
157
139
110
125
173
87
145
191
182
170
159
154
130
109
75
105
129
137
142
149
121
121
110
38
99
158
147
141
154
155
171
208
173
145
131
107
84
82
93
85
61
107
118
117
124
135
130
123
118
132
141
144
125
123
131
142
144
148
148
158
155
151
147
140
132
125
125
133
136
135
123
124
152
179
182
143
105
118
128
131
133
129
137
141
142
145
147
151
142
153
158
159
158
119
106
119
121
116
113
127
151
165
142
127
121
121
115
121
140
151
137
126
126
120
109
102
102
95
89
90
102
99
105
116
121
113
117
136
148
120
116
126
126
125
121
114
114
136
141
135
126
125
131
131
129
135
125
115
115
120
123
124
123
126
134
121
114
116
117
111
124
149
146
139
120
137
90
72
69
58
52
53
50
49
47
44
42
39
39
36
34
39
38
34
29
28
29
27
24
34
34
34
34
34
35
35
40
41
36
34
48
57
56
67
59
54
51
46
58
58
51
50
44
46
60
74
97
113
117
120
119
116
109
96
85
95
120
145
158
152
133
117
106
107
105
108
112
110
106
96
98
101
102
100
97
96
93
91
95
95
89
89
90
87
91
98
102
104
106
109
110
114
115
114
117
122
124
122
116
99
85
87
97
108
118
123
126
128
131
130
129
127
123
138
143
128
110
114
119
127
119
111
118
101
86
96
63
75
72
77
97
86
71
86
85
101
97
105
115
104
105
99
116
107
101
111
127
139
158
174
143
84
105
138
148
161
145
166
173
169
169
78
48
80
107
117
104
72
63
86
68
64
83
107
132
129
126
126
137
136
129
128
130
140
147
143
140
142
148
142
136
135
134
135
137
142
142
136
126
127
151
173
178
129
107
106
129
140
140
138
139
156
159
149
139
137
143
149
153
154
155
153
116
109
127
138
148
152
157
166
167
148
138
126
120
127
141
145
137
125
127
129
121
109
106
110
101
102
109
119
118
126
137
143
126
123
136
139
116
112
124
128
132
131
125
123
140
138
145
136
120
119
121
119
117
108
104
110
117
122
127
133
137
142
125
115
112
109
103
104
130
130
122
110
141
98
77
70
57
51
57
56
45
44
42
40
38
38
37
35
38
37
33
28
27
27
26
22
33
34
34
34
33
33
33
37
40
37
39
56
65
63
68
62
59
55
49
55
54
79
77
65
54
51
50
59
55
77
107
127
131
116
89
67
75
102
127
144
151
153
153
142
133
102
96
96
94
90
115
111
108
106
107
102
98
101
98
98
98
93
95
99
98
97
98
101
107
110
110
115
112
108
107
111
116
117
116
109
92
83
93
107
112
114
124
123
123
121
119
117
117
121
124
132
139
135
117
122
135
128
130
136
119
110
121
112
115
97
85
95
90
80
90
87
112
116
120
113
94
103
87
101
96
101
125
135
127
151
157
112
77
144
131
122
144
133
149
126
87
88
68
99
73
58
79
102
90
72
77
75
70
84
101
83
103
124
132
126
123
122
123
118
118
114
104
106
129
136
140
144
149
144
136
129
128
133
131
130
136
143
129
101
103
121
130
124
125
131
133
174
186
168
142
142
137
141
155
143
136
138
134
122
147
173
162
139
121
121
135
149
154
149
142
141
143
134
119
110
114
118
128
132
128
123
124
112
130
142
127
129
138
141
147
125
122
129
122
111
109
108
113
122
129
130
128
131
145
141
126
114
113
109
103
103
98
107
113
109
102
110
123
130
121
123
121
110
102
101
109
114
116
128
99
127
87
72
69
61
57
60
53
35
41
40
37
36
35
34
34
28
33
35
32
29
29
30
30
30
31
31
31
30
28
27
31
33
36
44
51
56
59
61
59
62
61
54
55
53
38
42
44
52
65
70
70
75
74
68
59
56
58
62
63
64
89
99
96
95
105
116
109
105
109
132
158
178
185
178
175
169
159
137
132
130
121
117
119
120
117
119
118
128
127
124
124
124
125
126
126
123
119
114
111
112
117
123
120
122
115
111
109
118
133
108
106
106
103
103
110
121
128
125
126
130
131
117
112
110
113
121
122
128
126
117
112
113
123
118
95
90
106
116
101
123
115
100
101
100
107
86
64
119
135
126
115
106
94
64
62
94
151
143
111
72
58
85
86
79
105
43
68
95
126
115
92
108
119
91
87
90
79
77
101
99
111
128
126
128
129
115
128
137
130
115
109
122
127
128
132
133
130
133
133
125
130
114
102
98
94
101
117
140
130
149
165
165
158
157
161
158
152
149
161
165
164
157
192
174
120
106
138
147
154
152
133
114
125
152
154
136
133
122
109
108
118
126
128
123
127
131
126
119
131
131
151
138
133
141
146
144
135
124
116
114
118
118
112
117
108
107
104
113
124
117
134
140
135
130
122
108
100
108
121
124
99
108
135
131
124
121
120
113
123
133
122
107
106
106
94
96
95
103
128
100
68
57
58
58
49
50
41
40
40
40
40
35
29
28
28
34
37
33
28
28
32
35
40
32
33
33
30
32
37
42
36
36
51
46
39
36
34
58
68
65
62
53
66
63
53
49
54
57
61
88
82
88
92
90
85
91
112
132
138
143
149
149
136
113
94
85
90
96
102
107
104
96
76
78
77
70
71
70
68
74
70
81
105
115
108
109
94
90
80
77
79
77
77
76
86
105
117
115
112
111
106
109
129
141
122
109
130
134
117
161
165
162
163
185
152
136
164
173
156
175
166
166
165
131
110
122
149
129
93
136
132
130
124
111
107
117
122
89
100
105
84
87
78
53
15
86
161
129
114
137
117
110
92
109
113
130
106
95
58
97
105
103
91
109
105
119
97
112
84
51
68
74
77
51
60
96
106
110
113
125
131
117
126
133
142
135
123
113
113
116
114
131
118
115
119
115
112
112
111
125
113
96
92
102
116
129
138
136
154
159
153
147
145
157
163
162
154
151
158
163
135
129
113
108
114
101
113
125
124
123
124
120
113
111
130
127
123
124
133
140
138
130
142
148
157
143
119
128
138
130
132
137
124
117
115
110
120
115
113
118
118
112
115
117
109
98
101
110
113
143
136
113
97
105
122
128
123
116
172
190
187
159
126
131
140
142
149
145
135
129
130
134
123
120
126
112
95
125
107
73
59
52
54
56
57
37
48
43
41
41
41
37
36
34
31
29
32
40
47
44
36
37
40
40
38
37
42
49
43
42
43
48
47
46
48
45
53
54
52
54
57
67
69
65
59
58
64
69
60
62
64
72
86
100
111
120
127
134
130
125
121
108
92
80
93
103
107
99
96
96
97
99
95
89
86
80
65
50
68
76
86
95
102
109
120
90
92
89
86
86
80
79
75
74
66
58
67
86
94
87
89
138
160
160
160
178
173
155
135
143
172
161
185
164
137
154
166
136
121
159
172
150
138
132
120
136
157
131
162
182
175
147
111
114
149
153
111
93
91
107
91
41
26
99
115
133
123
93
101
124
131
92
91
89
103
80
64
68
59
77
77
67
78
106
100
110
126
99
76
86
87
86
62
52
67
91
113
113
121
125
117
125
133
112
111
109
106
109
114
116
127
114
113
119
114
111
121
129
155
120
89
92
109
118
118
128
133
158
159
152
144
142
150
153
153
147
143
148
152
138
124
110
112
119
102
110
114
113
110
107
105
108
114
136
131
125
124
129
133
133
130
135
157
176
158
120
118
124
131
130
130
108
106
109
107
120
112
107
107
108
112
116
112
104
98
101
107
111
135
122
115
112
114
113
107
107
111
211
195
178
159
123
129
166
164
151
129
129
136
136
128
118
115
120
108
95
126
108
72
61
54
53
56
56
39
48
43
40
40
42
39
38
36
34
32
35
44
49
46
38
41
47
44
38
36
41
47
43
46
49
52
53
57
61
58
57
54
54
55
55
59
61
64
62
58
61
70
63
64
66
76
91
103
108
109
111
122
121
120
116
108
97
88
97
103
106
101
100
103
107
88
84
81
80
76
65
55
71
84
95
101
108
115
102
91
95
95
93
90
83
82
83
92
79
65
91
126
117
82
63
145
170
170
166
182
181
179
153
176
179
148
147
113
118
104
141
178
190
188
199
166
153
148
124
120
149
149
139
138
123
124
111
110
139
124
66
59
69
95
86
44
39
67
90
102
114
99
84
87
123
79
81
81
107
102
101
89
70
85
66
51
66
98
105
119
115
85
75
86
88
88
87
79
75
84
100
105
120
132
129
124
114
96
107
118
121
119
111
95
100
106
115
117
109
110
121
127
132
124
116
118
123
121
120
128
135
148
145
138
130
127
141
138
133
125
127
131
132
137
131
118
104
101
113
109
116
124
121
110
116
131
129
106
112
119
124
121
114
113
117
157
155
163
146
111
106
103
104
105
110
117
124
122
109
100
99
99
102
105
109
109
116
111
115
120
116
114
112
115
112
113
116
117
123
141
159
181
181
169
127
94
105
108
97
82
100
106
121
144
150
115
104
102
93
95
124
100
66
66
59
53
55
50
44
44
39
36
37
37
37
37
38
44
46
44
42
43
42
40
36
46
43
41
43
47
49
36
42
47
51
57
62
65
66
56
58
67
66
62
58
58
62
60
52
45
47
60
44
54
72
85
90
87
88
90
96
98
94
85
72
62
55
77
72
81
86
81
70
62
79
76
75
75
70
71
75
78
79
81
92
115
133
119
112
111
103
95
89
79
76
127
122
120
135
146
135
139
169
176
174
183
191
185
191
192
196
174
185
138
148
178
182
211
191
175
155
164
178
165
173
161
170
162
143
132
135
124
104
91
140
131
93
111
86
54
66
74
72
66
59
75
106
80
144
90
70
83
89
78
62
111
136
132
138
151
153
165
158
102
68
72
81
80
111
94
93
118
104
81
70
68
64
74
95
106
121
140
146
132
129
125
129
116
107
117
137
142
93
93
111
131
141
145
152
141
116
108
101
113
136
146
145
147
152
150
141
142
147
153
156
150
154
148
133
118
128
137
144
120
108
109
107
113
119
111
105
105
115
116
111
115
105
109
123
140
144
134
121
115
127
109
113
114
108
111
101
108
108
108
95
102
105
96
99
101
103
106
112
120
119
127
116
114
110
98
98
97
80
88
102
115
113
101
92
92
79
72
92
80
67
90
93
114
99
145
133
111
103
97
107
99
100
90
91
124
107
70
66
51
47
59
55
38
41
40
39
39
35
34
38
39
41
42
43
46
48
45
39
45
48
44
44
47
46
42
49
54
56
58
63
63
59
79
62
62
69
62
60
56
71
62
57
61
59
52
57
57
64
80
100
112
116
118
119
111
114
111
106
100
99
100
97
93
107
111
101
87
79
69
59
55
60
66
61
59
70
70
78
93
105
105
92
103
97
86
81
85
85
88
91
113
111
105
121
124
109
104
120
135
140
122
81
81
100
111
101
128
113
104
111
143
101
134
149
131
130
107
125
138
126
115
110
121
106
84
138
141
131
170
140
87
92
34
57
49
39
63
52
44
109
89
121
133
110
103
88
111
118
87
119
118
64
74
92
108
150
142
127
95
66
86
109
131
80
74
105
91
94
119
61
59
70
65
111
128
145
149
139
137
137
131
123
115
116
123
126
111
116
118
118
123
135
145
134
115
99
111
118
121
128
134
138
135
128
122
143
157
156
153
150
145
143
140
147
146
134
134
124
113
107
107
115
122
117
117
114
113
116
120
119
113
111
123
144
146
127
109
106
107
113
117
113
112
112
107
99
105
98
107
106
95
94
93
116
114
97
102
120
125
124
117
106
99
93
88
83
86
87
89
89
90
90
85
80
74
71
72
80
93
101
104
99
109
137
131
110
110
132
142
132
122
106
125
138
98
75
55
50
59
58
50
42
53
46
42
40
36
41
50
45
46
47
47
47
45
44
43
49
46
46
44
41
41
43
49
56
56
56
61
64
70
72
69
67
66
67
61
57
59
58
62
62
54
52
52
46
63
82
95
103
109
111
110
106
101
105
111
113
115
117
99
100
131
131
128
126
123
125
112
119
108
103
105
89
96
117
125
136
138
143
137
126
103
92
85
66
68
98
133
120
127
142
143
135
119
97
126
123
105
102
129
132
149
177
139
127
122
138
179
138
159
206
183
161
193
129
157
147
145
155
163
169
162
119
99
128
130
106
101
74
34
40
39
50
37
100
39
74
67
98
102
145
118
113
91
119
108
109
51
86
44
81
76
108
106
116
115
94
83
79
76
87
74
97
141
148
133
115
66
66
71
87
131
131
129
126
130
134
133
148
144
133
124
120
119
108
113
120
114
96
84
87
93
94
109
106
108
120
133
142
143
111
126
138
135
125
122
126
132
135
139
148
159
150
135
144
144
146
145
140
136
143
138
130
120
120
129
135
127
110
101
101
110
116
117
121
131
119
121
125
124
123
118
111
121
123
116
116
116
116
123
134
127
110
103
110
89
78
82
93
92
83
93
118
114
110
109
107
103
100
100
103
106
98
97
101
107
109
106
102
99
103
106
118
125
126
129
118
131
150
145
128
136
99
73
56
51
58
55
46
36
35
33
40
48
51
54
53
48
48
48
47
46
45
43
42
50
44
47
50
48
46
46
53
59
57
55
55
54
57
67
67
68
70
71
66
63
62
60
62
61
54
51
48
62
82
99
102
101
103
106
106
102
102
100
90
77
74
78
93
106
128
118
110
116
125
97
94
88
67
72
74
75
81
92
89
95
98
107
111
138
134
122
119
122
109
100
124
121
115
103
106
133
152
150
173
166
188
206
195
152
128
163
207
208
159
170
199
199
170
146
122
132
162
160
160
154
131
132
134
146
164
143
87
62
86
98
69
71
73
27
50
46
105
45
44
38
56
62
98
70
64
105
117
93
95
89
96
104
44
76
78
74
88
95
94
92
83
85
87
114
103
86
78
83
100
97
49
60
94
103
141
142
137
122
106
110
114
107
117
124
125
128
135
130
117
96
90
103
106
92
94
110
118
123
123
123
124
121
118
122
129
130
123
110
104
111
103
106
105
111
125
119
120
128
135
144
144
133
118
121
119
125
128
129
128
126
120
104
115
125
127
122
121
129
141
131
125
126
123
125
126
120
123
121
122
110
97
89
85
84
89
100
110
106
111
122
109
107
112
121
117
104
102
94
88
88
100
112
117
117
116
122
125
125
117
109
111
118
108
110
128
123
105
109
134
122
116
117
110
107
128
107
60
50
52
58
56
50
40
49
46
50
55
53
52
48
51
50
49
47
46
45
45
44
45
43
48
51
50
48
48
53
57
53
52
53
51
52
59
62
67
71
74
76
76
60
57
58
58
53
52
46
66
94
117
118
112
109
104
97
87
93
96
84
67
65
74
99
96
89
105
108
98
93
100
101
98
76
72
73
78
84
80
67
75
87
102
110
121
123
102
96
115
111
96
114
110
114
120
109
93
105
136
158
171
138
148
159
180
155
146
172
198
223
168
140
184
186
184
156
115
110
162
154
152
160
152
137
181
189
144
168
196
176
161
153
128
115
103
75
51
38
39
57
38
35
52
38
69
110
136
152
139
115
109
97
69
63
41
65
70
87
93
91
97
102
121
135
114
112
123
103
105
136
125
53
79
94
83
133
140
139
128
111
116
122
120
123
117
106
105
112
111
97
79
77
93
104
101
107
121
124
124
119
118
123
127
129
128
127
126
127
115
106
109
116
121
116
116
114
103
109
119
125
133
133
124
108
111
111
122
132
132
126
123
122
110
119
125
121
113
116
126
135
124
124
126
122
121
123
119
126
113
109
104
104
111
115
118
111
114
115
110
110
108
104
102
117
136
128
102
104
98
85
78
86
100
109
117
123
124
126
124
113
102
105
114
109
111
114
102
87
97
125
88
90
96
84
70
112
113
55
49
53
60
57
54
42
44
42
47
49
45
45
45
41
40
39
38
37
36
37
38
40
43
47
49
46
46
47
50
53
49
51
55
55
57
61
64
67
69
70
73
75
60
56
58
60
57
57
52
76
104
124
122
114
108
99
87
89
90
94
84
67
62
70
77
90
95
108
107
97
98
99
93
99
83
85
101
103
72
82
80
85
81
83
101
132
129
110
99
110
113
107
109
102
109
125
116
86
92
131
207
85
93
119
125
137
146
205
178
176
171
134
136
205
170
200
166
108
112
150
150
163
173
165
125
148
147
108
181
178
120
130
170
152
145
150
96
79
52
81
60
44
54
75
63
81
106
129
131
120
112
97
105
89
45
41
46
77
87
96
96
93
104
120
120
136
131
130
133
140
133
90
70
76
79
83
126
127
123
117
118
119
120
116
119
117
109
115
129
125
130
155
147
106
91
118
140
140
129
118
114
118
124
120
113
101
101
118
125
110
93
89
110
121
118
117
117
115
134
131
134
138
138
132
127
130
133
136
132
120
109
104
106
103
106
106
106
111
117
110
98
116
140
147
138
131
126
121
110
96
102
120
124
130
128
129
130
135
131
122
146
142
139
149
155
146
130
125
144
154
149
146
145
139
134
142
157
146
140
142
137
122
109
107
99
122
100
105
121
115
95
104
103
114
114
95
121
112
57
54
59
63
60
56
41
43
46
54
54
43
37
39
41
41
39
38
39
41
41
42
33
44
47
42
37
39
45
43
45
40
51
61
65
69
83
83
81
76
71
70
73
63
59
62
66
67
70
66
87
108
120
114
110
111
104
90
87
79
84
82
66
60
63
92
102
82
96
100
95
102
108
96
127
122
82
91
62
77
78
77
99
115
120
109
110
105
106
100
94
106
115
111
112
106
102
99
94
115
155
86
120
108
136
171
171
106
114
104
149
141
160
160
153
172
151
144
133
127
160
107
131
107
147
156
182
197
147
142
55
41
140
137
83
127
148
108
144
130
105
108
102
105
69
69
123
99
96
88
134
132
138
99
91
55
49
71
79
73
97
101
73
84
79
124
124
120
123
111
106
95
44
69
73
84
93
119
115
120
119
96
105
116
127
124
110
107
126
138
147
148
146
127
110
124
141
144
144
128
119
118
121
124
121
115
106
108
127
132
119
104
102
111
121
135
136
121
120
117
109
109
114
120
126
129
114
117
121
118
113
119
125
127
128
124
115
113
119
122
127
137
121
108
100
96
97
96
95
100
99
104
106
108
110
109
111
130
132
116
108
128
133
145
143
129
119
122
124
132
131
139
143
137
127
118
109
100
102
103
97
95
108
119
117
110
109
115
119
120
115
110
103
114
109
113
100
133
105
58
57
57
57
57
53
44
42
42
43
42
39
37
38
43
40
42
44
40
40
41
37
35
43
42
41
42
41
39
44
49
49
55
69
75
72
77
83
86
83
80
76
72
79
75
72
74
77
76
71
90
123
130
118
117
112
100
101
94
98
93
82
79
85
93
99
108
103
104
114
119
115
115
109
106
101
92
87
76
87
119
127
127
103
68
92
98
94
120
93
110
122
152
58
139
168
106
98
147
192
145
134
104
68
115
148
140
171
163
174
177
154
166
176
177
184
184
183
143
138
167
162
116
96
170
154
139
131
116
166
112
109
141
98
133
116
100
16
35
98
119
105
151
155
137
97
132
105
103
93
132
142
131
98
80
92
66
53
82
87
89
96
103
106
132
91
108
114
124
95
110
70
62
115
136
145
114
117
117
116
104
92
113
128
124
118
106
112
132
136
147
147
129
110
113
133
142
141
142
136
126
127
130
127
124
125
113
109
99
98
89
84
90
106
126
137
126
122
121
109
127
133
138
140
148
135
99
98
106
109
110
117
119
118
109
107
96
92
100
111
114
116
107
104
105
105
102
98
95
102
98
113
112
120
123
101
108
132
127
104
105
121
127
146
132
112
103
105
104
119
136
135
123
104
102
109
107
94
108
99
88
82
90
98
94
97
98
108
112
111
105
99
105
104
101
109
102
140
99
57
56
56
56
55
51
42
42
43
42
41
38
37
37
48
42
40
42
40
41
43
37
41
45
44
46
48
45
41
47
50
51
57
69
75
73
77
82
86
85
83
81
78
82
77
74
74
73
71
76
94
127
139
128
122
112
98
97
98
102
92
82
85
96
103
96
110
111
107
108
106
100
92
93
90
77
80
90
87
109
118
101
89
71
55
98
117
106
115
93
127
145
172
155
163
154
119
175
187
157
124
141
103
102
107
133
158
145
155
161
192
177
185
184
175
158
177
193
116
141
159
172
132
132
159
140
179
163
109
119
125
89
100
70
135
119
110
135
109
100
81
106
115
136
170
137
118
102
96
100
131
104
123
111
92
105
74
47
81
73
78
93
99
105
116
109
117
139
145
105
105
85
87
131
142
134
93
98
100
102
105
129
133
123
137
133
130
136
140
124
143
136
105
93
114
136
140
140
144
133
129
125
107
86
82
92
97
104
113
119
118
119
128
121
142
133
105
124
128
120
113
113
120
124
111
85
79
81
93
103
113
120
116
110
137
140
132
126
131
131
117
102
120
104
102
102
101
104
109
114
138
142
133
128
113
107
112
101
93
107
118
102
137
108
99
93
97
99
98
150
180
146
119
120
121
112
106
109
99
94
91
89
95
98
93
91
89
83
81
79
77
75
65
67
72
83
93
138
88
59
57
57
56
55
52
46
46
47
49
49
48
48
48
54
45
41
41
40
44
44
38
47
48
49
52
55
51
45
48
49
49
58
68
73
75
76
78
81
83
83
81
83
83
77
74
75
73
72
94
121
134
137
131
126
119
105
93
98
92
82
78
83
84
80
117
123
120
112
103
90
78
70
75
76
71
103
117
109
83
91
91
103
104
99
110
128
142
92
141
173
149
92
147
98
130
58
85
66
99
91
96
110
129
91
96
158
144
79
131
158
175
145
146
177
147
140
206
169
185
173
181
106
171
200
183
127
146
156
80
161
110
127
97
107
108
94
79
64
107
98
55
88
103
71
108
111
119
128
145
133
141
124
93
91
122
88
66
87
68
73
85
88
107
137
142
132
151
142
137
131
102
64
108
116
150
144
114
115
117
113
115
133
143
126
126
121
125
137
135
148
138
135
141
144
137
134
128
112
92
101
105
99
90
83
80
91
99
107
114
116
114
118
131
135
121
114
118
100
98
111
109
112
112
104
100
94
106
109
109
113
116
116
120
129
122
112
112
121
121
119
122
106
111
122
124
115
107
107
127
131
129
122
115
111
113
105
110
116
105
90
117
99
94
91
83
81
85
97
160
149
115
90
88
87
77
75
84
76
78
81
83
92
103
108
94
91
82
79
80
84
87
77
89
78
85
121
139
81
55
54
52
53
54
53
49
52
53
52
51
49
47
48
49
44
45
45
41
43
47
45
44
52
51
50
51
50
48
50
49
50
64
72
79
83
88
87
88
91
89
84
88
89
79
75
79
81
80
102
137
139
141
137
131
130
123
112
104
104
105
96
83
81
89
107
120
124
107
92
84
82
71
67
71
82
96
87
68
103
94
83
95
104
118
127
153
134
95
108
160
110
148
155
164
137
153
152
132
110
124
96
123
127
110
113
102
76
168
194
132
180
118
172
196
179
152
150
177
158
189
193
211
162
145
157
111
123
118
162
79
93
66
123
175
138
106
175
127
176
175
164
59
30
68
54
47
48
89
132
143
141
152
148
139
91
64
69
58
65
77
97
115
115
117
176
156
155
122
143
110
91
94
94
108
143
130
107
103
109
116
118
126
128
125
129
128
139
157
154
143
139
140
140
124
101
98
95
75
93
95
94
98
104
104
99
101
111
124
132
133
128
127
146
139
119
116
114
94
98
109
111
111
105
106
109
85
97
104
111
117
121
115
114
127
119
110
112
114
106
99
105
105
99
107
111
108
110
116
136
118
121
116
117
124
116
121
99
101
102
97
123
85
97
96
88
82
83
91
128
98
88
84
91
96
91
81
76
79
87
91
87
86
89
89
96
94
84
80
79
82
84
66
78
60
70
120
128
65
52
50
50
51
52
53
49
60
60
59
56
51
49
48
46
44
47
46
42
44
48
47
42
53
51
49
49
49
48
46
44
46
62
69
76
82
90
87
88
91
88
82
86
80
69
66
74
80
81
105
136
140
146
143
134
132
129
121
98
93
105
109
97
86
85
111
128
129
101
77
68
69
66
70
80
82
69
77
83
73
87
100
114
106
106
124
143
142
96
144
121
97
108
148
175
179
178
176
144
149
115
125
136
104
98
116
107
122
189
162
84
189
91
160
189
165
158
128
171
145
165
161
213
140
136
135
122
176
124
171
144
140
103
197
180
126
87
153
145
170
175
127
95
82
39
41
50
50
115
141
123
148
150
133
123
109
79
71
69
75
74
87
114
116
121
139
145
150
103
146
126
97
77
106
120
130
97
113
124
126
122
105
105
122
147
142
127
117
118
117
92
76
74
79
91
98
100
107
117
108
115
124
129
130
125
122
131
134
136
143
149
152
160
152
127
110
115
118
109
106
113
117
120
120
118
109
104
113
114
112
107
106
109
114
124
117
114
113
107
98
101
109
106
112
112
114
120
122
120
120
120
120
121
119
117
116
111
107
99
95
105
109
93
96
103
105
101
102
107
103
80
81
79
83
94
97
93
93
98
104
107
106
101
95
91
93
100
116
112
98
82
71
85
78
78
71
126
131
79
59
55
52
52
49
52
47
51
54
54
51
51
54
54
52
51
51
52
50
49
51
55
51
58
56
54
54
53
51
51
50
52
60
65
73
82
86
79
81
83
80
88
75
82
89
90
87
86
87
115
142
142
144
145
143
137
130
127
109
102
101
94
80
76
82
83
120
124
100
103
128
119
78
94
101
83
68
85
89
87
103
111
108
113
121
85
106
111
104
157
166
161
165
142
97
58
66
100
119
121
126
136
177
160
181
165
146
180
171
149
121
173
148
140
191
163
103
143
202
153
146
167
143
123
106
123
148
146
170
114
97
115
107
89
128
153
132
159
163
165
180
164
120
75
138
115
117
154
172
158
169
163
119
107
89
77
129
132
129
119
114
95
75
79
125
91
97
75
86
135
126
86
85
90
104
103
120
55
66
76
81
87
96
104
96
89
84
78
72
72
91
91
100
117
130
133
125
122
124
128
117
115
121
128
134
135
125
121
124
123
126
125
122
119
119
114
112
124
125
121
121
120
119
120
117
106
103
104
105
102
93
87
88
92
104
111
112
105
104
112
118
118
114
114
114
121
125
118
107
111
111
109
103
100
101
101
105
105
107
113
115
94
86
93
92
87
82
82
86
83
77
82
82
84
92
93
91
93
102
106
110
110
105
98
92
99
100
102
100
96
92
90
89
89
83
75
118
113
72
62
59
60
60
54
53
58
52
55
57
58
58
56
55
52
51
52
54
53
53
55
60
47
54
52
50
52
52
50
49
46
44
51
58
70
80
90
90
93
94
90
89
86
90
90
85
84
90
94
120
146
152
156
151
144
141
143
144
116
103
100
98
92
93
98
122
110
105
107
93
91
81
114
85
75
89
87
100
120
114
115
115
102
96
112
124
161
186
132
126
145
154
132
162
151
116
104
133
146
130
122
133
69
75
151
134
105
164
160
125
139
145
157
184
179
121
120
158
165
169
169
139
178
196
125
121
106
114
108
119
111
163
128
77
128
152
129
122
156
141
112
114
100
98
105
94
91
95
83
97
100
90
97
93
92
62
50
63
69
84
98
117
124
120
70
98
96
93
126
154
108
57
67
85
96
95
104
89
86
87
88
96
98
98
104
84
69
59
56
74
117
89
97
110
121
127
128
130
133
124
126
128
129
128
126
125
126
118
127
130
132
127
115
104
111
114
109
112
116
116
118
115
112
116
115
106
104
111
116
114
106
99
98
102
104
113
115
106
104
111
114
111
116
104
115
120
110
102
103
106
107
108
101
96
95
95
95
95
99
105
107
96
93
98
91
82
79
82
85
75
76
83
85
87
91
89
84
87
102
102
99
94
92
95
99
91
95
104
103
97
89
84
94
98
91
83
118
103
69
64
58
60
62
56
55
61
56
56
57
58
57
53
51
55
53
52
53
51
50
51
55
46
52
49
47
49
49
48
49
46
44
51
60
73
84
84
86
87
87
88
84
88
89
87
81
81
89
97
125
144
152
155
149
140
136
137
138
116
107
103
99
97
102
109
118
121
109
85
60
75
96
79
92
127
151
104
115
142
126
103
86
80
92
137
180
159
130
109
166
155
113
112
171
125
129
142
125
133
149
126
121
76
153
190
126
105
168
169
124
98
156
168
167
174
142
167
157
163
166
169
163
199
129
126
152
105
146
120
100
121
164
133
96
117
117
100
88
137
131
108
113
99
97
99
144
133
108
111
97
104
110
114
72
41
60
56
82
74
83
83
112
138
148
114
95
81
73
107
137
102
65
80
83
96
92
93
101
96
101
106
121
127
116
108
95
94
96
107
132
101
94
94
95
100
110
117
119
117
127
118
116
117
118
118
115
106
108
152
152
158
160
146
130
121
110
106
112
117
122
112
101
98
104
105
97
98
101
112
122
121
114
110
109
111
116
121
120
116
113
111
109
110
111
116
107
93
91
99
101
103
103
93
89
91
94
87
92
90
86
92
106
99
90
87
85
83
81
76
70
85
92
93
91
91
90
91
99
99
94
88
85
86
91
96
102
94
75
76
85
98
107
100
108
94
86
120
100
82
67
55
55
60
59
56
59
60
57
56
58
56
52
51
57
55
54
54
51
49
49
53
53
57
53
50
50
51
49
49
45
44
49
55
67
76
92
94
89
91
100
99
110
99
99
94
93
99
99
111
123
136
146
145
143
144
140
134
113
107
105
106
107
108
109
106
105
76
92
102
119
122
176
175
164
145
136
130
111
128
112
122
139
141
149
116
122
153
181
192
139
158
181
138
110
121
136
122
127
148
144
119
179
117
110
141
123
76
179
146
154
185
181
180
170
208
169
145
153
172
167
160
110
119
128
80
81
76
80
116
130
99
99
99
87
116
118
172
154
120
120
123
115
95
163
170
124
122
135
142
118
104
58
46
49
56
77
61
77
99
93
115
111
107
160
171
141
91
69
73
62
53
70
74
102
107
97
142
122
106
100
72
72
84
97
103
115
111
112
148
111
102
114
118
116
118
118
116
119
121
124
122
117
107
105
114
120
141
176
156
163
181
177
126
121
132
156
149
127
115
100
96
103
113
107
88
97
102
115
118
118
123
116
108
100
102
104
105
112
126
137
143
146
143
125
98
81
85
98
100
101
100
96
99
103
104
105
112
96
88
106
98
97
102
101
100
101
102
102
100
104
100
97
97
96
96
98
101
91
87
89
90
89
92
98
79
69
76
80
76
79
89
92
92
85
75
133
91
73
69
65
46
66
70
55
73
60
64
61
59
61
57
53
56
54
56
55
49
51
54
51
53
41
46
50
45
49
37
45
40
42
45
56
75
86
90
85
86
94
101
109
114
107
111
93
79
96
98
81
118
112
104
99
98
103
113
123
95
100
110
114
110
131
169
146
121
156
121
121
149
146
163
159
159
147
108
108
102
107
126
138
161
168
161
163
154
159
141
182
192
150
148
95
99
146
168
168
141
116
163
169
116
119
183
184
88
85
144
227
156
175
151
214
126
101
127
110
89
121
149
141
182
176
132
137
149
130
120
134
111
137
81
126
110
151
127
173
141
138
105
105
88
104
203
163
170
180
141
114
101
86
72
62
62
92
68
77
77
66
99
113
98
134
130
170
170
167
140
104
65
39
50
105
124
117
123
100
101
98
94
90
97
103
95
99
113
118
129
161
107
103
114
117
114
111
107
100
101
113
111
111
113
114
124
139
130
125
116
102
121
146
147
114
130
138
126
111
105
96
104
101
101
103
96
86
95
105
115
115
114
119
114
111
130
129
126
125
130
137
140
137
147
101
89
90
95
101
106
93
95
95
94
98
101
102
94
102
93
91
109
100
98
95
98
103
107
106
102
91
89
87
87
89
88
87
89
93
85
80
84
87
86
84
85
76
69
73
75
73
75
80
89
83
74
67
135
88
63
65
66
52
67
70
58
66
61
64
62
59
61
56
52
50
50
53
54
51
53
52
47
47
44
50
47
38
46
43
46
42
45
45
53
69
81
92
86
79
76
77
79
79
75
87
87
74
63
67
132
142
139
133
122
108
92
80
75
85
92
102
119
160
171
138
122
135
146
138
148
161
159
161
162
163
142
101
104
99
103
117
129
146
151
156
134
132
161
154
172
164
133
144
114
114
152
165
152
165
175
168
97
154
133
177
109
88
107
148
181
189
127
206
137
119
143
161
159
159
173
146
157
145
169
150
146
151
104
62
112
150
117
89
158
126
150
128
171
154
140
93
102
98
121
161
169
166
156
122
116
121
141
86
43
33
69
58
70
67
79
93
100
119
149
144
153
99
147
186
140
83
50
53
117
129
121
118
118
114
105
94
104
117
124
130
136
140
147
166
174
87
90
103
111
111
113
107
97
93
122
127
133
134
124
117
119
121
112
123
130
134
123
102
123
105
93
96
98
106
119
124
129
124
110
105
125
128
135
136
132
127
122
118
118
109
110
108
105
105
106
103
99
109
110
116
119
111
101
94
101
102
99
91
88
83
78
84
89
90
97
108
96
95
97
98
98
96
95
95
98
90
89
88
87
83
81
85
92
87
86
90
96
99
98
97
88
92
89
91
95
92
86
74
67
57
55
141
87
51
59
67
65
63
62
63
52
57
62
60
58
59
52
45
51
49
39
32
39
50
53
52
47
47
53
44
26
36
40
44
46
45
47
49
57
69
63
71
74
74
88
121
119
130
116
119
122
119
133
136
158
147
130
112
102
100
101
101
108
92
106
159
156
125
133
148
154
153
166
152
155
191
191
181
156
124
122
114
92
107
122
112
123
145
158
141
191
156
139
174
180
156
155
119
166
160
168
178
164
147
107
125
130
177
158
120
114
98
81
191
179
203
135
179
174
174
191
187
174
155
128
173
183
141
175
183
149
133
106
154
145
70
154
176
173
175
94
132
159
114
67
104
86
62
113
152
95
128
155
135
92
48
27
39
54
72
60
57
66
56
79
103
116
147
110
74
77
138
130
126
159
130
122
89
108
105
77
124
107
105
123
126
121
125
133
144
138
138
159
155
91
124
130
127
120
116
108
96
92
98
102
111
124
128
130
137
130
116
103
107
107
106
108
97
108
111
105
122
127
122
104
110
109
99
93
102
102
116
116
123
123
116
115
117
111
113
111
108
108
114
120
122
124
107
101
95
93
96
101
107
108
109
115
118
117
112
102
96
96
102
98
84
88
88
94
100
102
100
97
97
85
80
77
78
80
84
90
96
101
101
99
99
101
101
98
91
91
94
96
96
95
92
89
90
84
78
150
92
52
60
59
65
52
49
59
57
52
58
59
59
60
52
43
35
49
45
38
48
51
40
36
37
40
46
49
48
55
44
40
47
44
50
50
54
72
81
92
97
95
96
120
126
140
143
147
144
148
164
144
117
120
121
118
120
122
117
107
87
99
120
135
144
149
147
121
129
171
158
164
179
174
191
186
153
115
100
97
91
121
133
114
131
160
148
164
110
133
181
192
160
157
156
160
143
153
174
145
119
138
141
134
165
147
178
121
126
101
110
188
170
176
198
195
175
160
186
162
133
160
150
113
168
169
179
167
138
104
82
172
145
120
172
181
177
135
171
149
178
99
68
83
94
85
97
131
74
63
77
83
57
33
28
28
33
87
63
51
72
69
64
96
141
131
121
59
59
104
110
86
114
148
151
121
87
65
61
99
97
108
130
151
146
144
136
144
131
129
152
148
85
129
131
124
114
112
108
101
99
106
110
120
132
130
123
123
111
109
127
134
120
105
104
106
119
122
111
111
111
106
108
111
111
106
101
104
108
108
105
113
116
108
109
116
117
114
110
111
119
129
131
127
117
101
100
102
101
99
99
112
112
110
115
117
115
109
103
94
98
106
99
83
88
92
98
103
104
100
96
96
89
83
79
82
86
88
88
89
90
90
94
101
105
97
85
83
77
81
82
77
76
79
80
81
76
73
152
92
48
57
50
63
51
49
58
59
53
60
62
62
64
56
47
35
53
48
38
46
48
37
36
34
47
45
48
54
62
44
43
51
45
50
49
54
73
79
86
92
92
89
117
136
157
158
156
159
157
134
98
132
137
139
136
134
131
116
100
84
95
112
119
139
148
127
131
140
172
152
149
164
162
177
164
129
102
105
101
99
96
102
106
131
143
139
126
98
123
179
182
151
163
164
119
117
161
178
154
149
154
156
147
189
166
206
123
69
54
155
211
161
204
173
183
150
168
192
171
143
154
127
103
135
172
180
172
139
81
56
193
157
167
200
177
169
156
167
167
146
62
58
49
89
119
111
106
101
108
113
96
45
31
22
20
46
115
73
75
65
110
95
70
112
148
103
33
60
82
100
96
115
154
142
150
114
79
74
120
106
105
113
113
115
115
115
117
129
152
175
138
94
100
109
111
109
113
116
117
121
118
110
109
117
119
124
137
142
156
158
137
109
97
103
92
99
108
115
117
120
122
117
123
124
112
98
107
103
118
116
113
110
107
107
105
117
118
124
127
125
127
127
121
122
131
130
130
130
123
114
107
99
93
93
95
96
99
92
104
109
103
98
103
101
99
105
107
99
93
94
100
88
99
105
104
104
96
90
89
80
87
103
113
105
88
76
68
76
76
70
66
65
65
60
54
56
63
141
123
44
52
55
50
50
58
63
54
51
58
62
63
62
60
54
48
43
41
38
32
37
45
46
50
55
48
47
52
51
43
49
49
45
47
49
57
70
110
96
105
108
95
99
57
84
129
162
126
94
146
158
164
162
156
150
145
140
129
118
90
99
98
69
61
72
74
85
75
86
74
80
110
133
151
111
99
118
126
129
128
128
125
144
167
153
184
111
81
60
123
165
144
155
180
206
215
181
153
130
102
128
176
178
177
152
174
98
155
203
112
132
208
158
193
178
188
179
186
172
139
131
113
121
85
65
154
188
157
129
142
178
171
138
164
174
146
110
148
117
96
92
115
138
125
95
108
133
118
148
131
117
104
50
31
7
41
95
85
102
64
99
98
75
96
138
90
71
81
114
133
138
48
60
105
138
169
143
97
97
97
109
121
117
123
126
120
126
158
147
105
84
84
89
101
107
108
113
115
114
117
123
112
102
106
106
98
92
91
110
112
117
120
105
86
93
101
109
113
111
114
120
120
112
110
105
95
106
113
111
111
109
107
105
105
108
111
106
109
115
117
122
123
119
124
106
101
105
113
113
109
98
95
93
98
97
97
99
107
111
112
105
101
97
90
91
98
102
99
94
91
85
96
104
109
109
109
102
98
100
94
91
94
96
92
86
82
80
77
66
59
56
56
57
54
52
61
65
133
131
73
73
67
54
51
62
71
71
67
74
77
72
65
62
61
54
50
53
53
47
47
50
48
50
53
48
47
50
49
43
48
51
51
53
50
51
60
89
108
110
105
117
56
7
22
46
86
139
178
172
166
167
163
158
153
146
136
119
105
108
109
94
68
61
69
66
57
52
49
47
53
56
48
37
37
46
54
57
74
85
98
112
121
115
170
133
94
92
130
186
218
235
220
174
162
151
134
164
162
103
112
181
185
192
164
157
201
149
169
139
207
193
142
158
171
152
184
158
169
124
109
86
83
107
156
190
157
172
151
121
165
155
123
144
163
172
134
125
110
130
141
128
103
90
91
118
123
107
97
142
166
108
57
20
36
71
84
125
121
89
93
79
90
123
114
64
78
142
118
137
107
103
94
99
118
140
164
163
93
94
105
117
115
116
117
102
137
162
120
92
113
85
91
101
103
102
106
108
109
112
117
112
104
111
116
106
93
96
114
116
111
103
93
90
100
107
115
118
117
123
128
115
107
109
113
106
105
111
110
110
109
105
99
98
100
97
93
99
109
116
122
125
121
116
93
91
99
106
109
106
104
98
95
94
94
98
102
109
109
106
102
101
95
88
97
99
101
99
95
91
85
91
98
103
106
109
103
102
107
92
88
87
88
86
83
81
82
75
61
57
55
55
57
49
53
67
71
129
136
90
86
77
61
59
69
75
73
68
74
76
71
63
61
63
53
51
54
53
45
43
42
38
42
45
42
42
44
44
42
47
50
49
51
49
52
62
72
99
112
102
97
58
18
54
32
74
147
173
170
167
168
161
160
161
142
116
113
128
115
110
99
86
89
90
81
79
79
65
67
78
77
66
52
56
59
55
45
46
46
63
69
71
104
135
84
118
161
199
237
207
175
181
169
127
132
139
159
153
130
146
163
183
196
192
221
157
175
185
158
201
180
122
144
171
165
168
162
169
122
143
93
159
161
164
152
127
180
166
116
150
133
141
171
141
144
130
107
134
151
128
95
84
87
91
99
101
95
94
140
146
75
62
56
70
63
84
146
130
99
92
71
92
141
128
83
75
97
153
145
99
115
88
117
107
123
146
152
113
114
121
125
125
132
133
156
142
122
106
135
152
92
106
111
104
95
94
96
98
104
117
116
110
111
108
97
90
99
108
170
171
130
97
95
107
108
111
114
122
125
127
122
111
107
108
106
117
118
112
114
115
111
103
97
96
98
94
102
113
112
110
111
112
113
98
98
101
98
93
90
88
92
101
110
107
105
105
113
109
105
105
109
113
113
119
111
104
102
102
102
104
108
109
109
106
99
82
72
77
88
90
93
99
101
95
86
79
67
66
71
69
65
63
55
61
77
77
115
139
116
100
92
79
75
78
73
69
73
76
76
72
70
71
69
54
52
53
50
41
36
35
30
35
37
38
39
41
42
42
39
40
37
41
42
48
60
76
72
97
108
95
91
40
8
20
33
83
152
167
162
162
171
156
127
126
147
144
121
116
120
140
166
176
168
158
163
164
125
124
131
134
136
112
95
73
72
104
101
97
105
107
89
131
123
177
219
155
186
183
178
192
141
105
184
181
188
183
159
192
242
216
198
222
212
178
194
209
176
195
175
196
156
161
171
187
135
150
153
116
156
106
119
95
115
161
152
179
195
162
161
155
137
152
136
128
119
145
117
102
101
98
88
82
82
65
48
77
88
76
70
105
103
76
54
54
88
113
109
89
102
114
129
136
118
122
68
122
92
55
123
98
119
130
140
137
112
93
136
145
152
139
114
133
149
120
86
101
120
136
166
102
110
116
113
105
104
103
102
104
106
109
111
111
102
98
106
110
103
97
111
115
113
115
115
109
104
106
117
115
110
107
107
108
105
104
112
100
99
108
116
118
115
110
111
101
94
97
102
93
91
102
113
106
103
108
111
107
105
107
116
111
107
99
99
105
114
109
105
100
99
102
115
122
126
115
108
110
114
113
112
98
101
105
109
107
90
81
87
83
85
90
102
108
98
83
79
67
78
88
82
69
61
70
67
71
61
96
134
128
102
95
82
76
73
67
77
73
72
69
66
68
67
59
46
41
41
39
32
31
36
35
37
33
33
31
28
26
28
30
33
34
38
34
34
42
31
47
56
63
72
79
88
63
24
10
42
93
134
152
158
142
141
154
151
130
118
124
110
122
152
171
155
137
138
109
105
76
81
77
67
68
64
66
74
103
150
146
154
168
126
166
184
197
104
139
191
182
152
148
197
190
134
167
178
183
210
209
170
165
181
208
242
209
233
208
255
221
207
227
176
202
174
197
188
187
193
178
165
175
101
93
94
86
132
139
160
177
180
161
161
152
154
128
142
132
117
105
94
85
90
93
71
40
17
17
27
31
74
99
129
83
71
79
78
75
109
96
85
67
110
175
179
138
94
71
35
16
93
100
113
113
123
135
132
131
137
128
143
149
132
114
110
94
83
100
105
118
139
161
108
99
96
101
106
105
103
99
90
105
109
119
129
120
102
93
102
114
116
122
123
114
105
104
103
102
104
103
100
100
99
100
104
110
109
97
95
97
105
108
106
108
111
107
86
90
95
95
89
89
104
123
129
119
122
123
116
105
98
99
98
98
94
97
109
121
115
115
116
115
114
122
126
110
109
111
114
114
111
116
106
112
118
118
112
104
101
100
92
92
96
100
106
105
94
83
82
95
95
87
77
74
74
73
69
75
73
143
129
103
90
83
80
74
72
71
72
60
67
77
66
56
50
40
46
49
49
49
47
43
38
44
39
35
33
32
34
34
28
27
28
27
25
30
40
56
52
49
52
61
78
81
83
55
26
33
75
120
135
143
140
143
144
134
125
118
110
110
127
144
151
130
95
74
68
69
70
90
103
98
92
94
118
120
103
135
149
150
157
138
207
164
134
122
188
160
149
127
164
218
172
118
168
167
166
193
205
195
185
158
187
232
212
209
193
169
193
214
190
179
202
157
191
182
159
190
181
178
150
118
99
107
93
130
119
179
183
168
176
157
147
141
128
120
108
89
90
77
103
85
84
61
23
22
24
50
69
95
99
107
68
93
78
56
92
119
104
90
102
129
191
130
87
59
42
55
69
74
105
123
110
120
116
141
134
123
95
100
110
115
132
150
156
149
117
107
120
137
164
129
96
98
109
117
113
109
112
111
109
108
107
107
99
88
85
97
108
118
113
103
101
112
108
106
105
105
107
107
107
99
99
102
107
107
100
101
100
101
100
98
104
110
109
98
96
95
92
89
91
102
113
121
120
122
117
109
103
101
120
110
101
116
124
127
128
127
124
121
120
120
112
108
109
105
103
104
104
104
111
115
116
121
127
131
127
117
108
91
88
92
98
108
113
109
104
107
112
105
93
84
82
87
90
90
92
84
141
138
103
96
88
77
70
73
60
64
58
62
66
56
49
50
56
57
57
53
52
54
54
52
45
45
46
44
41
37
36
36
33
29
31
38
53
66
31
34
37
43
49
65
71
70
78
86
91
97
102
104
108
117
124
121
112
106
98
90
99
83
74
88
113
139
158
140
146
131
131
134
138
146
149
154
138
113
138
145
143
128
183
178
127
139
130
146
170
161
132
137
185
195
153
138
138
140
164
174
177
195
193
189
189
200
210
207
193
206
188
145
131
187
201
184
201
167
184
178
125
169
111
133
96
121
141
139
160
152
175
148
129
129
114
78
67
51
14
36
33
77
52
33
35
49
63
81
65
72
59
54
107
127
86
55
101
97
94
102
87
104
145
115
114
137
79
116
93
76
74
103
125
124
145
151
158
118
92
140
132
132
134
124
132
139
123
113
123
109
114
145
116
106
108
123
134
128
115
111
109
112
110
102
99
99
101
106
110
110
122
128
116
105
108
113
115
115
113
125
129
128
120
116
114
113
111
108
108
116
114
114
116
118
118
112
90
90
89
89
95
101
106
109
98
111
119
120
118
120
123
125
127
134
140
128
113
104
105
106
106
104
102
111
117
111
103
96
94
96
98
106
111
115
118
113
103
90
81
76
65
74
89
96
99
100
95
95
95
84
78
78
84
90
73
82
95
84
70
118
153
110
98
84
69
63
68
57
49
53
54
55
53
51
55
60
64
66
66
64
62
58
53
53
48
47
45
46
46
46
37
41
42
40
37
33
30
42
44
47
46
44
45
49
48
56
63
62
60
69
114
134
112
80
65
74
77
69
67
109
122
142
172
184
160
133
142
142
136
143
148
151
158
180
174
143
104
98
114
126
125
199
129
119
168
162
185
193
176
148
135
155
182
194
177
175
169
174
162
155
185
201
178
177
169
174
197
204
212
209
167
154
95
183
156
75
174
184
192
167
142
107
98
132
99
77
147
165
129
125
127
122
93
34
6
45
75
56
40
21
53
44
51
72
99
122
112
71
21
31
63
83
97
103
72
97
91
86
83
96
102
85
64
114
129
108
113
86
80
89
112
128
125
139
132
115
113
113
128
123
125
130
133
145
152
122
114
119
104
121
144
100
120
106
104
110
105
99
99
100
103
102
93
94
99
104
111
130
138
136
126
113
109
118
114
118
118
117
130
132
128
127
121
116
114
111
108
110
115
114
114
114
113
111
106
98
96
92
87
90
96
100
102
107
119
127
129
127
128
131
140
140
141
132
120
112
109
109
108
106
105
104
117
125
113
104
96
94
96
98
105
108
111
113
106
95
84
80
79
62
70
85
91
96
100
100
96
99
92
86
84
82
80
74
84
102
91
77
113
157
119
101
86
75
68
66
55
52
59
58
57
60
58
58
64
67
71
71
69
67
62
56
54
49
45
45
46
48
49
43
44
43
38
40
41
39
44
45
46
45
46
49
51
33
49
66
69
57
48
64
97
129
122
79
50
40
41
48
164
173
160
152
152
151
148
134
148
156
149
141
147
163
170
165
139
104
93
108
124
159
183
133
159
179
190
163
131
145
155
158
162
164
178
164
154
146
165
169
160
169
167
189
191
163
148
161
184
222
224
188
178
76
140
152
77
165
136
165
195
156
131
136
125
117
117
166
148
123
109
123
101
68
38
21
27
53
81
45
21
52
48
51
60
79
101
139
45
62
79
55
68
77
92
86
94
63
110
99
74
54
91
128
100
67
90
116
92
87
86
99
120
132
152
154
129
126
121
124
127
132
129
126
127
120
105
96
106
102
123
104
126
136
107
93
98
102
99
96
92
114
105
88
83
84
86
87
105
116
117
124
127
119
111
115
120
119
115
122
121
113
122
114
108
105
104
107
111
112
110
106
102
97
98
105
112
106
92
76
74
85
98
105
101
110
118
123
123
122
124
132
127
122
118
111
105
102
95
87
83
92
109
119
114
117
107
99
98
100
102
104
101
93
85
80
78
76
74
71
63
82
105
112
107
103
99
96
94
78
75
78
77
72
77
73
81
70
76
88
132
136
111
100
102
90
67
43
70
79
74
70
78
72
59
61
63
61
57
56
56
55
52
47
49
50
50
46
45
44
37
39
39
38
44
45
41
47
44
42
44
51
57
58
62
64
73
79
76
67
66
74
54
58
108
128
70
13
16
94
112
127
161
189
185
166
151
155
156
150
138
135
142
169
152
118
91
94
108
122
161
228
181
161
158
175
175
140
154
140
137
166
173
170
182
179
180
194
176
145
141
136
161
196
195
172
121
119
200
157
163
179
101
46
144
196
98
52
132
139
171
177
169
177
144
128
128
97
131
100
94
95
68
52
57
31
33
88
56
32
90
89
57
48
79
90
58
148
175
125
64
66
87
127
79
98
79
73
107
69
74
107
60
23
54
100
92
101
128
124
114
123
123
129
163
129
114
112
145
140
128
115
116
133
145
136
113
106
106
111
104
127
140
120
102
97
99
96
95
95
107
108
104
97
93
95
99
114
118
120
108
98
98
108
111
115
120
122
123
123
121
121
115
110
107
104
97
100
110
108
104
99
101
106
110
111
109
98
84
80
85
91
91
98
118
121
111
113
114
105
86
94
99
100
106
109
107
101
97
106
118
117
113
115
109
106
102
98
97
96
98
90
90
90
87
84
81
80
80
93
102
108
109
98
91
95
96
88
83
86
85
81
79
75
84
82
85
64
68
106
152
129
118
110
86
58
66
82
78
76
76
75
72
71
64
63
61
61
62
60
56
52
46
46
46
44
48
47
37
42
43
47
52
50
50
53
50
53
58
63
68
75
77
79
81
81
79
80
82
77
72
58
53
56
61
78
92
88
85
91
97
110
113
113
121
139
161
186
184
171
160
160
154
219
217
187
175
163
204
193
179
187
193
184
182
116
142
121
113
146
174
169
164
129
162
161
162
159
134
132
147
151
154
144
167
201
194
157
179
130
125
96
119
160
168
157
134
118
113
120
142
111
128
111
112
121
102
81
94
114
92
91
111
108
79
69
84
125
95
101
84
39
47
65
72
70
140
172
171
133
117
134
70
58
54
102
87
108
62
76
59
67
46
59
89
100
93
109
135
134
119
133
165
76
22
35
72
122
116
111
104
102
124
148
143
109
108
109
106
105
123
139
122
107
102
99
97
98
101
108
108
103
96
93
97
100
115
121
121
105
93
94
104
108
112
117
120
122
124
126
124
123
122
118
110
104
110
113
108
103
100
105
112
114
117
114
105
91
84
86
90
94
106
118
123
119
118
113
101
81
97
110
114
118
121
119
111
109
117
122
114
108
111
103
109
111
106
94
88
98
96
94
91
87
86
87
87
88
102
106
107
103
91
86
93
87
82
86
90
89
85
83
83
89
86
80
51
58
92
155
138
122
110
89
66
72
87
84
82
84
84
80
78
66
58
55
61
65
60
56
56
50
51
52
50
52
48
38
46
47
51
55
51
50
52
56
58
61
66
72
77
77
88
90
89
87
87
89
87
76
62
65
74
62
54
74
102
93
86
85
97
102
99
98
102
117
147
167
183
200
216
219
229
192
134
154
176
187
135
172
119
112
177
124
123
139
130
125
138
162
165
147
152
160
137
131
138
130
143
161
144
137
151
176
197
193
173
136
68
83
85
136
117
127
160
109
104
146
155
118
121
120
118
110
94
90
105
111
96
90
107
143
153
129
124
146
144
116
111
83
53
71
90
65
17
156
192
165
140
159
111
48
71
53
116
93
104
60
114
68
51
72
85
84
105
93
106
134
131
116
138
182
65
36
66
94
128
121
123
128
112
111
119
111
84
102
103
82
89
117
148
125
105
102
107
109
106
104
115
111
104
96
92
91
94
98
112
123
110
99
100
106
99
103
109
116
113
117
123
117
114
115
118
118
115
116
107
102
96
94
103
111
112
98
94
89
87
83
80
84
93
97
105
113
120
115
104
96
79
95
108
113
116
116
114
115
106
104
106
104
112
111
109
111
112
107
100
97
104
106
101
94
90
90
92
92
93
93
92
88
87
83
85
96
98
93
94
93
90
84
83
89
82
78
72
63
74
81
158
159
140
110
89
78
87
92
87
85
88
89
85
80
78
65
62
70
72
63
60
64
63
52
52
49
50
51
46
50
51
55
61
59
59
61
63
62
62
65
71
71
69
86
87
87
87
84
82
85
71
75
68
56
58
67
66
58
81
95
96
94
96
97
90
76
78
75
79
77
73
74
67
91
105
114
159
171
181
188
202
182
122
94
130
151
173
167
155
125
127
139
130
193
157
121
144
161
136
129
135
149
163
135
107
129
172
188
163
110
93
153
132
120
123
166
146
135
129
107
89
107
108
93
103
123
112
90
96
130
166
165
135
126
122
102
84
51
100
118
65
47
70
72
71
40
61
97
161
177
157
134
131
57
48
69
114
107
116
34
42
128
86
66
83
91
115
123
106
100
115
124
117
64
96
139
125
106
110
117
126
143
145
143
111
103
119
115
106
113
139
145
124
107
104
108
109
109
109
108
108
106
106
105
106
106
101
111
110
103
103
108
111
110
112
117
120
98
95
100
102
105
110
115
114
112
116
117
115
107
99
98
100
101
93
82
78
87
88
77
72
77
87
104
109
113
103
96
105
111
106
97
101
115
119
115
103
101
106
110
110
118
113
101
100
98
97
97
95
89
90
87
86
88
91
93
91
88
87
81
80
85
87
91
100
104
98
90
88
85
87
90
91
83
87
81
73
85
73
130
160
155
119
99
91
95
102
94
87
87
88
86
81
76
77
76
73
71
70
71
73
65
52
55
53
52
53
51
61
60
60
63
62
64
68
60
64
68
72
76
81
83
79
81
85
88
84
76
79
77
79
76
78
75
55
46
58
64
65
67
72
88
90
70
55
60
62
68
68
66
69
70
60
70
83
88
85
68
90
94
96
106
134
168
196
157
134
139
128
136
127
101
176
169
157
172
170
141
124
107
204
164
187
180
165
156
141
94
119
145
148
165
170
133
117
101
96
113
119
94
105
103
112
109
100
121
154
135
105
130
145
163
176
142
98
91
73
99
109
119
96
61
92
73
88
61
114
196
187
138
109
70
68
71
75
56
77
75
124
73
29
29
75
78
101
105
113
126
142
143
124
103
98
100
106
93
110
121
129
131
129
123
112
107
110
130
133
131
132
133
142
125
109
106
106
107
108
113
109
109
108
108
107
106
106
116
122
110
102
106
113
117
111
112
118
122
98
93
99
102
109
119
122
116
114
121
116
115
110
102
100
103
105
101
86
81
92
92
79
69
71
89
109
111
112
100
95
108
116
109
99
106
115
108
95
94
99
110
113
108
110
106
99
100
101
101
99
94
84
82
81
81
86
92
94
91
87
92
83
81
88
90
92
99
99
94
86
85
85
90
96
93
88
97
85
68
83
68
115
156
158
125
106
96
96
108
98
90
89
90
87
83
71
78
79
72
68
72
76
77
68
59
65
63
60
59
56
66
64
63
63
61
64
68
62
66
71
72
73
76
79
74
76
82
86
81
72
74
71
75
65
58
67
66
62
67
61
68
66
65
80
88
73
49
55
59
66
67
67
72
72
82
87
85
89
90
86
83
88
87
89
93
89
134
141
162
188
155
149
150
119
187
163
148
172
165
129
135
152
194
161
166
152
151
156
143
135
134
171
162
113
109
93
97
108
104
93
97
108
106
109
92
112
156
166
139
125
135
153
151
159
177
161
131
128
73
88
74
89
119
87
57
84
70
46
104
164
159
147
60
53
63
73
83
74
42
114
121
57
40
49
76
92
108
110
107
110
132
150
133
102
118
138
150
144
116
114
114
117
115
127
142
146
148
141
123
111
118
139
155
135
101
104
115
108
114
116
116
110
109
112
116
118
118
125
128
111
105
113
121
124
124
126
129
129
98
93
98
105
109
112
114
116
110
103
110
107
100
92
89
92
96
105
108
102
88
83
89
94
94
104
119
117
110
105
97
92
96
110
111
98
95
92
93
101
101
103
106
108
109
108
101
103
104
100
97
95
99
102
100
99
102
106
106
103
99
86
93
98
95
96
99
96
96
88
74
72
70
69
68
75
82
63
35
61
71
66
105
165
157
136
128
105
103
104
103
97
88
83
82
82
79
79
77
73
73
74
72
67
70
69
65
62
61
58
55
57
61
59
54
60
61
56
64
69
70
72
79
77
80
73
76
77
75
73
75
74
74
71
71
69
68
75
79
72
56
53
57
62
64
67
71
79
82
78
92
116
137
144
127
124
119
115
110
109
109
93
84
78
80
83
83
86
87
89
94
102
115
133
151
185
176
181
161
150
152
149
178
180
190
194
183
187
160
131
120
109
98
95
95
98
102
96
96
114
109
98
99
98
127
163
170
161
131
79
80
94
126
161
181
174
163
156
136
64
57
67
55
87
98
48
50
57
109
92
80
70
43
20
43
98
81
117
85
93
63
79
96
90
70
65
83
96
82
112
141
151
156
143
133
97
91
111
138
110
107
107
111
112
117
122
114
138
122
92
97
107
135
150
133
100
102
112
108
115
113
118
115
113
111
111
113
113
116
119
110
108
113
120
123
126
125
122
115
91
92
99
100
99
98
101
112
118
111
107
105
100
92
89
92
94
85
89
87
81
82
95
111
120
127
116
112
99
83
79
85
89
99
100
95
96
98
103
104
100
98
99
103
107
105
109
104
98
93
90
89
86
92
99
108
113
113
107
102
98
95
93
88
82
85
92
93
75
76
73
73
78
82
84
71
63
47
44
77
75
68
44
152
169
146
132
122
98
103
103
97
86
79
80
84
86
81
75
71
72
74
68
59
61
58
54
54
60
64
65
52
59
60
55
64
69
67
71
76
76
77
83
82
86
85
76
74
82
85
79
79
66
68
75
80
79
83
86
83
82
77
67
57
54
60
68
74
70
111
134
144
154
169
159
160
161
161
146
128
114
107
102
96
92
89
90
98
100
104
106
106
100
94
89
91
90
95
99
103
101
98
108
103
106
96
94
92
87
98
94
91
88
93
96
99
101
111
106
82
97
105
133
111
41
114
172
157
127
113
105
186
171
153
157
180
166
138
154
142
110
76
108
88
58
135
138
75
92
107
89
65
47
44
60
64
78
62
128
94
92
62
65
92
92
78
126
130
118
105
144
162
155
173
162
121
113
97
96
102
102
107
119
136
136
132
122
145
130
102
104
112
140
151
136
104
105
112
108
113
109
114
115
115
112
107
103
102
103
112
116
112
110
113
117
116
116
114
107
89
92
99
101
99
98
102
111
119
113
108
108
104
98
95
96
95
91
93
93
91
97
110
127
138
124
118
112
95
80
79
90
93
96
92
91
95
99
105
107
106
106
108
111
110
108
112
107
102
99
97
98
96
108
117
125
125
117
112
114
118
109
104
102
98
99
97
90
89
93
88
85
84
82
79
73
66
52
53
80
71
63
43
102
165
164
132
126
105
100
103
100
91
83
81
82
86
81
74
70
73
75
70
62
59
56
53
54
61
65
66
57
53
56
68
63
66
74
70
76
78
81
87
81
83
77
70
69
78
80
72
69
84
86
93
93
82
77
77
78
80
85
81
71
62
56
54
73
70
111
131
136
137
141
135
129
123
121
122
119
114
97
96
93
91
91
94
97
98
104
107
102
97
96
102
98
93
82
85
89
79
73
73
74
97
100
103
92
89
99
90
95
90
81
100
114
115
86
103
88
127
164
130
113
55
63
141
162
119
120
135
145
128
147
162
177
178
152
152
145
118
104
103
91
106
122
122
116
90
84
97
101
85
45
62
98
52
123
114
80
47
31
44
80
102
105
104
118
149
145
142
120
114
161
172
134
135
121
119
118
117
117
115
120
122
120
139
123
109
106
110
116
118
146
137
110
111
120
115
115
105
111
116
116
114
110
106
106
111
107
106
107
106
104
103
107
112
115
107
95
95
99
104
108
112
114
115
112
105
108
112
113
110
107
104
98
91
90
91
98
108
117
126
130
124
121
113
106
104
100
95
105
99
88
100
102
98
97
101
105
110
110
107
104
106
107
110
113
113
113
113
120
119
117
110
102
95
96
101
107
105
108
112
108
104
95
82
78
83
80
83
89
85
76
68
75
66
52
70
74
72
75
60
97
161
159
123
115
102
107
106
97
86
81
80
81
79
74
68
67
68
66
63
61
64
61
61
63
63
60
65
56
54
69
68
66
68
68
74
75
77
83
78
80
78
81
83
82
83
88
92
104
98
99
102
94
86
83
78
85
68
58
60
66
65
59
47
64
62
69
97
122
129
125
126
127
127
122
118
116
107
104
98
92
96
104
103
108
108
109
109
108
106
103
109
116
99
104
100
84
96
98
84
100
119
115
99
108
99
88
93
103
91
75
75
85
121
116
102
106
155
123
88
106
104
167
186
173
151
98
98
120
169
138
122
169
176
175
173
149
132
144
126
87
66
70
92
100
111
127
113
80
96
107
87
135
47
42
42
67
72
72
63
67
85
70
120
128
128
105
112
137
128
116
132
119
116
116
134
138
139
130
144
161
160
117
108
111
120
118
117
134
139
137
106
99
108
106
110
109
99
88
92
105
117
118
115
99
103
110
109
108
107
108
114
117
117
108
99
98
94
94
100
110
119
122
122
122
117
115
114
112
109
102
94
93
95
103
116
128
131
125
118
114
140
132
123
113
107
107
92
100
105
107
100
103
116
107
103
100
101
103
94
86
96
107
113
105
95
92
95
98
96
94
93
93
89
83
77
82
82
77
76
77
75
70
75
76
74
67
63
68
77
82
94
79
55
71
78
82
84
92
71
112
152
133
116
106
118
117
95
80
90
96
89
79
76
74
66
61
67
71
65
67
69
68
64
64
66
70
71
66
67
76
73
63
60
67
75
80
80
77
77
74
74
77
82
85
85
87
84
85
79
79
86
86
76
71
75
82
88
84
79
74
64
51
44
58
68
70
75
82
118
116
123
124
97
98
96
79
75
70
69
67
68
92
104
100
94
88
85
88
95
111
125
138
136
121
107
103
106
98
101
105
116
119
117
120
114
92
91
81
106
174
203
176
79
80
64
144
100
44
128
126
169
139
162
172
132
105
103
135
156
124
160
168
164
170
191
152
146
96
88
72
40
41
122
112
124
176
181
78
123
90
57
31
24
49
75
31
45
62
82
113
96
91
124
125
77
56
107
149
135
138
150
139
122
142
139
136
137
165
167
153
107
98
100
110
110
111
124
137
138
110
104
113
109
112
107
95
88
88
92
99
102
102
113
115
116
116
114
112
111
114
118
118
111
100
96
91
94
100
111
120
125
126
126
119
116
114
112
110
105
100
99
108
121
130
132
126
119
114
119
137
128
120
110
103
103
102
107
109
111
104
102
111
110
107
103
99
96
92
90
93
101
104
95
85
82
87
93
91
88
85
82
79
75
72
82
83
79
77
77
74
69
78
81
82
76
74
82
92
82
87
70
55
76
76
77
81
93
86
89
127
129
126
113
114
115
102
87
87
93
89
77
73
72
65
60
64
66
67
68
70
69
65
65
67
71
72
68
69
76
72
62
63
70
79
84
84
81
81
87
84
82
82
84
88
98
94
95
92
90
95
92
84
81
80
73
69
65
71
79
80
55
46
50
59
62
69
77
92
120
111
99
99
80
90
72
69
71
77
83
83
90
79
82
87
91
92
93
92
104
115
128
136
134
123
111
103
115
103
121
129
121
119
124
95
84
97
136
127
162
201
204
119
77
115
148
128
113
101
60
169
185
143
142
143
124
126
150
82
87
120
178
171
159
180
148
112
99
99
56
36
38
103
111
131
147
107
81
114
89
73
49
37
50
42
66
79
61
72
81
129
104
120
98
65
79
117
137
144
132
116
110
105
122
130
138
133
135
142
134
115
106
106
111
110
119
151
143
147
116
104
107
100
100
94
91
94
94
94
97
103
108
124
120
116
119
121
118
114
121
120
118
113
106
103
101
96
97
100
108
117
133
137
139
134
129
124
123
124
124
132
136
136
129
119
114
118
123
129
124
113
106
98
93
96
100
108
110
113
109
106
111
116
112
106
101
96
97
100
103
104
100
93
86
86
94
95
93
89
82
76
75
80
84
78
74
70
68
68
69
69
79
79
90
93
89
85
83
85
75
57
58
85
78
79
68
73
76
62
94
138
102
121
117
117
112
96
89
93
94
79
74
77
76
75
76
74
75
71
74
74
72
71
72
74
73
68
69
76
77
72
79
81
83
82
81
85
88
85
88
91
91
92
92
87
99
104
104
104
105
99
96
101
90
97
102
96
89
80
68
66
55
42
44
47
52
57
70
80
102
100
76
87
79
73
69
65
67
69
71
62
73
74
77
81
86
90
92
106
104
106
111
118
125
128
129
108
115
111
106
111
100
70
95
93
97
118
124
147
156
194
198
172
165
79
171
121
64
50
142
160
172
184
170
131
114
101
101
71
132
145
149
186
141
137
133
146
75
40
46
51
163
181
153
123
79
83
81
69
76
47
42
36
39
63
75
65
75
98
102
102
106
99
71
47
64
93
103
127
143
159
150
111
105
104
109
159
174
166
133
133
137
132
121
126
158
161
163
127
103
101
99
107
105
107
105
108
113
118
118
118
116
115
119
124
126
126
125
113
105
97
95
98
102
108
103
98
94
96
105
129
135
127
124
117
113
111
111
111
118
116
116
118
118
115
110
106
106
96
87
82
76
79
90
99
110
112
105
100
95
96
94
89
86
89
95
92
87
87
83
81
81
81
80
85
87
85
81
76
74
75
78
82
69
68
72
78
85
94
103
91
84
83
86
81
71
64
72
70
54
50
80
79
83
76
84
76
91
81
94
143
121
129
130
111
93
96
99
88
77
77
82
81
82
84
85
84
75
78
80
79
79
79
77
72
65
65
74
82
86
87
86
82
77
73
84
91
99
102
100
95
95
100
99
100
104
107
113
116
111
111
121
109
103
97
89
87
87
82
72
66
53
53
52
50
49
54
54
56
90
170
164
159
145
137
120
100
89
84
80
85
83
83
86
88
89
87
82
90
96
93
85
83
90
98
119
106
89
91
87
89
111
159
79
68
85
91
156
186
163
158
162
123
181
142
154
86
72
146
144
115
79
99
198
138
120
127
162
180
160
134
144
148
149
101
57
31
46
34
61
79
110
138
146
118
92
91
72
71
63
74
78
56
69
45
54
95
107
125
126
112
82
115
178
151
116
160
117
122
130
140
109
97
89
100
162
168
150
136
128
120
112
107
123
163
151
156
121
99
101
105
116
115
117
114
114
116
119
121
122
119
121
125
126
127
126
125
115
104
97
96
98
101
107
108
104
100
102
111
128
130
121
119
117
114
115
114
112
109
110
112
113
112
108
102
97
98
94
87
81
77
84
100
106
111
109
109
107
96
90
88
86
85
86
89
90
88
95
90
89
92
92
89
88
94
91
86
83
82
81
81
80
72
74
80
84
85
89
95
72
77
95
92
78
65
58
72
75
60
54
91
86
80
81
81
80
88
83
78
158
131
131
130
119
101
94
94
91
82
82
88
84
81
86
88
87
77
79
82
82
81
81
77
73
68
68
72
77
81
82
83
85
83
81
90
95
105
109
108
102
103
110
107
105
106
109
116
123
117
116
125
105
107
106
98
92
86
77
75
70
55
54
56
54
52
62
62
48
53
154
165
155
170
176
180
178
169
151
98
111
107
103
102
101
97
89
87
89
92
92
88
83
79
77
86
110
73
80
79
73
94
157
80
67
94
79
128
167
164
155
147
112
133
150
129
77
85
141
125
107
32
13
151
126
161
222
165
169
150
155
161
147
123
109
55
33
36
41
79
79
104
126
117
77
96
104
79
69
59
56
53
25
33
39
95
137
131
126
104
120
123
122
111
88
108
171
121
149
167
159
98
91
101
119
148
126
134
130
105
101
113
121
127
128
131
141
129
110
106
103
103
110
126
123
121
125
129
125
118
116
117
118
118
117
117
117
115
111
107
107
101
98
97
94
99
109
120
128
137
139
133
131
129
128
127
125
122
119
116
107
96
94
97
102
103
97
88
83
86
96
103
105
100
110
117
106
102
97
92
83
80
79
80
82
92
98
99
97
93
90
87
86
84
86
88
85
75
71
75
80
81
83
84
93
92
79
66
62
70
75
61
78
89
89
94
92
86
66
67
95
86
93
95
85
71
63
68
68
75
164
129
125
137
124
107
99
90
92
88
91
96
85
80
94
89
82
83
80
81
82
77
80
71
66
57
53
66
86
82
82
85
93
99
99
98
107
112
115
115
116
112
84
127
123
126
128
122
121
124
123
109
100
98
104
100
88
82
81
74
62
55
50
56
64
61
60
59
54
62
94
124
95
74
85
74
61
95
142
132
149
140
155
158
173
153
146
141
142
110
103
111
88
90
74
142
143
93
47
41
127
118
96
86
86
94
95
120
157
121
124
132
83
131
128
77
68
125
111
90
41
10
161
128
65
107
173
163
162
171
179
144
178
140
55
26
80
76
106
106
105
131
146
110
85
87
78
97
92
57
69
92
114
105
76
73
89
122
149
131
150
145
127
122
113
134
130
155
182
195
106
122
149
154
138
124
145
139
118
110
117
118
114
107
108
131
132
110
105
117
125
127
124
126
123
121
121
118
115
120
122
115
108
105
107
111
113
109
109
108
94
85
81
76
81
87
94
99
102
102
98
102
107
109
108
109
111
112
112
109
104
102
104
105
103
102
97
95
97
103
105
104
112
110
104
98
101
103
102
91
90
90
91
93
102
104
93
91
92
96
100
100
87
86
88
87
83
81
82
83
82
66
70
78
80
77
80
86
85
89
79
85
89
90
94
73
84
74
60
70
69
72
81
91
101
109
111
102
93
113
169
134
111
138
128
109
97
100
101
101
99
89
86
97
89
87
89
85
84
84
77
79
75
72
74
72
63
55
73
77
85
92
95
91
89
97
105
111
112
113
119
124
109
109
117
128
130
131
128
120
113
105
99
101
97
91
92
83
80
69
61
55
57
62
70
68
67
65
56
59
64
76
101
65
79
106
111
105
101
111
95
94
74
78
66
110
124
161
170
140
88
55
76
147
154
127
121
123
133
134
136
143
132
139
130
125
123
157
130
77
102
173
171
152
150
140
150
82
54
37
22
22
69
95
71
85
146
170
166
151
171
141
125
51
60
77
74
99
104
74
134
140
88
99
76
57
66
134
135
120
106
73
53
68
81
67
88
112
134
156
162
172
147
108
127
122
140
149
157
120
122
132
133
137
124
143
122
110
108
115
115
110
119
117
138
136
110
103
121
129
124
127
127
122
116
114
115
117
125
126
118
110
107
111
115
115
112
109
108
96
89
86
85
87
90
93
94
91
90
95
101
107
108
106
106
109
114
114
110
104
102
104
105
105
107
106
105
107
110
110
107
101
95
88
89
95
97
97
101
95
86
79
81
100
105
94
95
97
98
98
96
88
95
94
89
83
78
75
74
73
73
84
94
94
90
89
93
84
85
77
75
75
76
79
68
83
76
59
81
87
87
96
99
98
98
101
95
93
100
151
168
139
132
129
107
98
102
106
107
101
90
84
87
92
88
88
83
82
84
80
80
77
70
69
77
75
68
57
79
98
105
115
125
112
119
121
121
123
127
136
146
137
129
125
122
120
123
121
112
117
112
108
107
102
98
100
89
85
70
62
57
59
64
62
65
69
69
59
57
58
57
86
105
67
55
92
107
106
113
97
94
70
79
77
98
106
136
168
169
132
96
93
142
131
122
107
69
95
117
123
124
169
145
140
125
125
158
162
130
119
153
237
227
199
182
169
95
67
43
27
27
53
115
69
25
111
170
152
171
164
139
110
43
55
55
73
94
106
68
109
116
123
119
90
83
104
149
149
125
103
85
71
67
65
65
123
130
120
143
167
167
158
133
103
138
156
163
171
123
130
138
131
127
117
136
133
129
123
121
117
111
138
146
154
152
129
115
129
139
126
115
107
100
94
95
104
115
130
131
127
126
126
128
129
123
118
113
112
109
110
111
110
109
106
101
96
83
81
87
92
99
105
108
110
113
115
112
106
98
96
101
105
104
97
99
98
99
99
96
91
91
87
89
103
104
101
99
106
105
100
93
94
99
93
94
96
97
93
86
82
84
80
76
74
77
81
83
85
89
93
93
87
79
73
74
76
80
73
78
77
81
89
90
98
98
84
66
88
94
86
87
82
77
85
102
105
98
100
59
145
172
136
143
117
92
93
104
114
113
110
105
94
85
79
76
68
69
75
74
64
68
74
83
91
100
106
112
85
86
119
131
128
157
162
150
141
144
152
155
151
141
145
151
151
144
138
126
107
109
110
108
109
105
101
103
101
99
77
67
66
68
70
63
71
76
74
68
71
73
67
62
63
88
37
17
102
100
101
95
106
83
89
84
119
128
118
135
163
168
155
123
102
121
139
133
60
66
107
111
55
141
82
60
34
48
94
163
142
116
145
143
151
175
182
206
190
163
93
54
8
11
59
70
49
87
143
168
144
71
128
107
52
42
79
75
114
60
68
106
105
130
120
111
137
161
96
72
62
94
113
117
92
85
117
126
124
140
131
140
154
145
137
126
110
138
138
123
133
136
142
137
153
145
160
140
124
103
104
121
126
147
143
156
169
153
118
108
114
111
103
99
100
101
104
112
123
132
129
128
132
133
129
125
118
115
115
118
114
111
110
119
118
115
111
105
93
90
96
97
102
106
111
112
109
97
99
100
98
99
103
105
104
112
113
110
110
110
106
100
97
96
100
109
102
97
97
90
89
83
75
79
90
83
77
74
75
83
93
93
74
89
86
89
96
98
90
83
81
85
91
93
93
93
90
87
88
71
76
75
82
91
89
99
96
93
83
81
88
81
80
89
98
111
120
111
96
75
104
92
149
167
124
139
100
89
90
95
96
102
101
84
89
95
95
87
82
82
78
86
77
77
99
104
114
129
129
130
127
125
138
157
144
158
153
151
155
155
151
151
134
134
128
115
103
106
108
99
108
102
98
105
109
110
115
106
110
96
86
81
76
71
70
72
70
70
83
82
75
72
60
68
63
77
111
95
94
90
92
121
108
116
103
107
122
114
138
158
155
168
159
153
103
125
137
65
50
128
133
81
54
155
66
39
21
41
141
178
114
33
124
178
171
150
130
125
168
179
189
137
78
79
122
76
65
140
147
110
212
126
72
82
83
90
99
104
97
84
72
94
109
134
130
116
109
96
74
60
76
66
87
117
118
106
98
89
88
97
129
131
137
150
101
94
90
106
130
121
123
122
131
168
150
129
131
114
111
120
122
126
148
135
148
162
148
119
115
123
116
112
107
104
106
108
110
110
128
128
129
131
133
133
131
122
118
120
125
115
107
104
104
100
95
95
98
98
96
99
99
103
109
116
117
113
107
104
106
106
98
99
107
111
98
100
114
114
101
98
107
105
105
106
102
97
93
89
88
80
77
86
96
93
88
85
97
102
96
91
95
91
83
88
88
81
78
81
82
80
91
95
101
99
89
83
82
78
71
74
89
97
95
89
94
106
108
86
95
99
71
87
104
118
120
122
122
79
72
100
119
123
145
138
106
94
75
70
87
100
99
96
100
99
98
94
91
85
81
78
77
80
93
113
122
134
138
135
146
152
143
140
165
154
169
152
154
163
157
149
130
108
87
77
72
60
62
71
70
93
102
107
98
94
110
126
122
112
107
102
87
77
76
69
82
84
74
86
90
83
84
79
78
83
91
100
117
109
88
85
97
95
89
103
121
122
128
137
148
161
155
135
153
91
114
123
61
86
118
114
111
73
139
110
42
35
32
84
142
126
76
67
108
159
136
93
92
86
89
152
168
131
109
129
137
106
104
143
153
164
148
114
72
82
89
91
103
87
66
51
77
124
127
90
97
111
85
87
63
67
53
114
149
99
94
103
98
87
102
97
107
150
148
112
111
75
68
105
143
139
138
139
106
105
127
126
109
104
111
116
123
140
142
140
142
138
122
112
112
114
98
102
102
101
103
108
114
118
119
123
123
124
122
121
126
124
125
123
107
104
106
101
98
98
103
112
116
112
102
100
101
106
114
120
122
122
107
96
96
100
108
110
103
78
99
106
106
101
95
90
97
89
81
91
104
115
119
121
118
108
98
95
95
88
84
87
86
81
83
91
91
92
94
89
82
83
88
89
85
82
84
88
89
86
85
87
82
78
94
94
86
88
98
103
91
85
76
73
96
105
104
122
135
139
139
123
59
94
87
76
60
98
157
141
119
116
110
103
101
102
103
100
98
95
93
90
86
84
83
78
87
106
121
127
139
142
147
150
150
145
145
161
148
145
143
133
111
95
90
30
36
31
36
39
34
36
43
44
80
122
139
136
135
126
110
120
116
119
113
102
97
99
85
82
82
86
96
95
92
80
82
82
77
66
59
78
87
72
79
89
82
94
116
115
127
133
127
132
155
165
152
149
104
95
116
95
134
61
37
108
99
80
135
120
76
49
24
82
149
136
70
107
156
121
107
142
140
107
119
168
163
147
138
146
157
161
166
110
147
172
182
188
127
78
102
99
49
57
69
71
76
104
89
77
73
86
83
70
57
77
105
121
108
87
148
125
117
121
116
121
121
107
116
126
91
78
85
147
149
141
129
137
146
155
128
121
126
136
140
144
151
145
137
137
145
141
117
98
96
98
100
107
116
122
122
120
122
119
108
102
100
103
105
109
113
116
113
105
106
107
109
111
116
121
121
97
86
88
94
104
115
121
121
117
85
89
100
108
109
107
98
82
86
92
81
80
87
90
85
95
88
84
94
100
102
99
88
95
98
92
91
90
83
82
87
94
100
103
102
90
84
96
105
100
92
91
92
91
90
87
84
83
85
86
87
84
83
56
69
94
97
83
81
84
90
88
112
129
123
120
126
117
108
110
95
71
78
67
84
72
72
131
169
116
107
112
127
128
110
95
94
91
89
88
89
90
92
94
89
97
115
144
157
160
153
168
157
146
135
124
105
87
69
61
51
44
37
31
38
30
47
68
88
107
125
139
151
124
126
155
176
177
172
168
156
148
135
130
120
107
99
105
89
82
93
100
93
92
105
97
89
88
89
84
75
87
103
90
76
85
89
95
141
132
136
141
134
128
138
150
122
90
88
145
104
104
172
136
75
79
83
91
127
127
98
45
59
120
153
117
128
133
115
119
115
88
81
103
144
132
127
138
161
173
158
131
162
152
155
159
158
142
85
27
57
64
64
62
66
75
92
101
88
81
107
91
79
69
81
105
126
142
156
115
110
124
128
127
155
152
101
86
124
162
148
109
147
153
146
132
136
129
121
125
123
131
139
137
138
146
140
133
125
129
132
117
101
102
92
92
102
116
125
124
120
119
117
103
96
93
96
100
100
107
112
111
107
106
104
104
110
118
122
118
92
82
80
86
95
104
108
106
102
97
102
110
110
105
105
100
87
85
85
78
78
87
93
93
97
93
90
91
89
83
78
82
87
93
96
97
87
84
102
99
95
92
91
92
96
82
90
92
86
82
89
100
105
104
97
89
84
83
83
81
87
66
65
78
80
80
83
87
95
105
99
102
108
93
81
99
106
111
118
97
69
73
89
86
73
107
137
135
155
127
109
120
133
126
106
91
89
85
83
83
85
88
90
98
106
123
145
157
159
149
148
128
107
89
73
57
46
34
30
27
31
36
32
56
74
95
115
133
152
163
166
171
170
177
179
181
189
192
184
169
162
145
139
131
120
113
113
98
90
98
106
101
98
94
96
96
92
82
71
73
62
87
85
78
86
85
93
149
133
129
134
127
123
135
149
125
88
92
147
86
63
161
170
108
53
64
87
130
178
155
75
40
82
147
131
148
147
117
134
131
79
39
44
73
106
126
114
117
153
169
152
129
125
173
165
158
158
66
50
73
47
51
68
74
77
95
99
91
89
130
132
129
75
54
72
98
94
97
110
122
124
119
110
135
142
104
91
100
153
159
129
142
137
132
130
103
105
125
126
127
131
126
114
113
130
132
136
132
130
136
124
101
94
101
101
102
104
107
109
111
103
106
104
97
92
90
92
96
104
111
113
114
106
95
105
113
119
115
104
88
89
88
86
81
77
77
82
89
93
97
103
104
103
106
99
81
81
88
94
93
87
84
85
75
74
74
77
81
85
88
103
95
100
117
123
108
113
87
92
99
102
98
93
96
98
96
91
85
91
100
102
95
92
88
81
79
82
83
81
83
81
60
51
57
78
96
103
100
115
117
56
62
75
73
89
88
88
97
83
99
103
82
93
89
100
158
176
138
154
148
121
119
144
147
128
105
94
87
83
83
84
86
88
102
110
77
69
65
57
42
33
33
36
33
29
26
37
56
61
74
116
151
160
163
180
186
191
204
203
191
187
126
100
84
66
71
114
159
213
212
173
141
120
113
114
106
99
92
92
112
112
106
92
84
81
86
88
83
67
81
61
83
88
48
59
110
108
119
123
113
110
119
109
80
118
95
116
163
128
116
78
100
145
166
84
77
109
144
155
156
100
57
121
150
148
164
125
137
121
80
55
18
17
59
119
153
151
147
138
117
131
154
144
141
162
105
36
43
67
54
60
69
63
59
70
80
111
136
124
104
78
65
81
102
108
94
81
79
106
101
129
146
142
122
103
116
93
101
116
88
115
125
126
126
121
116
126
125
124
124
126
129
130
123
128
127
131
125
117
126
135
124
99
100
97
99
105
108
109
94
95
92
88
84
84
84
94
98
101
102
101
99
98
94
99
104
105
104
103
106
103
97
92
90
89
87
88
95
98
94
86
86
94
100
98
94
100
95
93
87
79
78
84
85
88
96
101
105
108
110
111
116
118
112
102
105
100
100
98
96
98
101
92
93
95
97
98
95
90
84
79
72
77
85
88
87
88
93
88
84
89
108
101
79
70
83
86
103
103
62
69
71
62
90
105
100
99
102
101
92
90
88
81
88
115
129
131
132
142
152
143
117
116
142
171
99
100
112
92
81
107
128
103
73
42
31
27
29
27
36
54
75
97
141
158
162
169
184
192
189
188
192
199
171
128
105
78
62
76
77
80
75
67
78
86
81
77
112
67
112
199
206
164
145
120
108
92
87
102
112
125
111
103
93
86
83
80
74
68
55
55
68
79
90
101
105
109
119
126
114
95
93
102
108
102
74
102
161
106
74
99
100
65
83
96
124
126
154
130
128
113
149
165
180
130
114
131
97
103
64
35
20
38
38
101
138
170
151
167
156
164
151
116
92
82
73
33
33
52
52
48
43
39
58
98
126
130
112
93
86
51
55
88
106
103
87
82
118
134
123
112
127
122
93
79
106
112
111
107
116
124
123
126
127
123
132
135
127
126
134
137
129
117
128
121
121
119
119
139
151
140
103
104
95
95
109
115
111
100
100
93
89
84
82
81
80
87
97
106
103
96
88
91
97
101
101
98
104
110
107
99
90
91
96
99
101
108
102
90
78
81
94
104
105
97
102
98
99
94
85
81
90
91
94
93
94
95
96
106
107
111
113
109
106
109
107
103
97
93
93
95
85
90
93
94
91
85
81
79
79
81
89
94
94
91
91
94
101
88
98
114
103
86
85
76
82
95
93
67
69
68
73
103
111
93
90
103
104
89
85
84
80
79
89
97
133
143
166
170
147
133
124
104
142
152
122
118
117
112
119
129
91
47
25
38
56
71
103
123
146
165
179
186
184
190
195
200
197
187
178
138
102
91
74
75
65
60
87
100
79
76
76
86
91
90
91
97
92
55
59
135
200
196
164
121
102
81
73
117
123
135
115
105
109
106
90
99
82
64
52
56
70
89
97
122
115
122
131
112
82
86
114
94
122
78
81
163
118
72
66
70
61
100
103
114
114
170
126
143
149
174
157
189
108
130
138
92
96
66
28
17
52
24
94
153
170
145
153
166
176
154
133
131
121
100
73
66
74
97
98
81
72
70
94
109
111
113
102
95
83
70
87
111
125
110
85
118
121
106
105
126
124
106
102
133
138
133
128
99
105
103
108
124
124
136
132
121
116
117
113
106
129
129
123
125
130
138
157
162
143
97
99
121
136
130
112
102
103
102
97
97
97
97
97
96
90
86
87
87
90
95
95
95
95
90
85
93
101
93
86
85
97
110
115
112
106
96
82
77
83
92
97
96
94
109
103
100
94
92
95
106
109
111
100
95
93
93
99
97
96
104
114
106
94
85
91
91
84
77
78
87
84
87
90
89
84
83
86
89
85
83
79
80
88
98
105
108
88
97
94
80
84
101
101
87
67
70
95
82
77
88
78
85
110
115
89
93
93
83
81
90
101
100
97
100
113
135
157
154
128
131
166
135
115
145
138
127
141
155
125
121
129
183
202
210
215
204
211
210
195
178
141
122
103
104
105
99
89
81
44
67
80
67
52
48
65
88
74
50
53
67
77
84
91
96
104
89
110
89
88
90
62
143
198
180
130
73
54
91
99
103
111
118
120
114
100
113
107
98
81
70
80
96
103
106
116
133
139
126
99
78
81
132
112
62
128
127
101
70
101
118
73
94
124
140
142
157
108
158
131
176
182
135
124
106
99
75
54
31
29
33
29
72
155
158
187
135
152
168
164
158
141
132
144
107
83
33
43
48
46
50
69
77
91
109
147
137
115
75
110
117
79
78
103
96
131
119
102
98
103
98
104
123
131
136
134
135
84
98
109
117
118
111
119
114
112
108
101
98
102
119
119
114
113
109
111
131
147
138
109
122
135
129
109
98
99
99
97
99
104
109
112
113
105
107
113
119
98
94
98
106
101
94
88
85
87
89
92
89
91
99
106
104
97
84
82
83
87
92
91
86
82
97
96
91
95
96
92
93
93
97
101
93
91
96
100
97
98
96
97
103
96
83
88
95
98
90
80
80
89
91
92
94
94
90
84
77
73
87
87
89
101
117
125
125
102
78
88
86
78
72
66
79
82
79
96
87
67
90
107
117
119
112
103
92
104
96
97
90
90
100
99
94
113
131
132
114
126
158
146
98
103
158
126
114
112
103
100
108
105
105
103
97
98
106
89
93
101
110
112
98
95
94
101
115
111
70
33
57
50
49
31
24
23
36
66
66
54
56
62
66
83
98
95
103
93
118
112
110
102
81
85
45
113
209
127
90
65
57
71
86
96
105
112
106
103
94
96
99
93
87
90
111
124
124
105
92
96
105
106
89
100
127
75
101
145
121
87
89
111
100
135
136
130
136
138
144
129
127
121
146
178
154
100
123
85
47
12
22
37
52
95
102
173
161
101
146
151
175
194
145
89
89
113
112
142
110
90
85
68
72
68
75
88
131
134
115
69
50
63
99
122
95
132
109
107
107
111
112
109
112
118
116
119
139
157
106
115
120
132
139
124
124
137
119
110
112
111
108
99
107
105
95
84
87
107
131
143
112
92
100
109
103
91
87
79
77
86
99
112
117
118
111
119
125
122
99
96
99
102
92
89
91
88
80
71
73
74
82
86
86
90
95
95
99
104
107
106
106
106
107
105
85
91
102
104
99
92
128
115
100
94
97
99
98
102
105
104
97
90
90
90
103
104
104
101
92
81
66
76
84
92
91
79
71
77
88
73
84
94
91
90
97
102
68
68
83
82
76
79
88
95
94
104
110
71
83
113
109
108
110
109
98
83
80
81
71
62
63
70
74
74
64
65
68
68
68
81
121
159
183
169
152
145
133
124
128
137
121
111
109
96
86
84
96
96
74
80
77
104
115
149
132
54
35
42
37
48
39
48
42
29
31
41
49
54
63
66
66
87
106
93
68
86
80
88
85
102
108
87
81
101
114
64
210
203
125
82
55
54
74
85
97
92
117
112
101
91
84
74
59
66
65
109
141
121
108
116
112
104
80
72
84
92
105
105
83
59
60
113
141
157
114
129
89
123
169
112
124
118
157
150
147
130
94
81
18
17
30
74
93
119
167
171
145
144
177
198
170
150
158
161
178
174
140
148
120
138
171
137
124
105
120
131
157
91
46
67
75
73
113
113
124
110
120
120
107
104
113
111
99
146
162
143
130
118
126
131
139
140
125
124
117
107
109
117
117
115
108
115
114
104
88
78
86
99
109
112
91
80
85
85
80
80
75
73
85
99
110
114
114
121
122
120
113
97
97
100
101
95
96
95
88
81
75
85
86
92
95
96
104
111
106
99
94
95
96
98
102
109
101
84
86
95
103
111
116
114
108
101
102
105
104
102
109
111
110
104
102
106
105
106
107
104
95
88
84
76
73
79
85
86
78
72
77
87
79
85
90
81
72
71
70
48
47
64
68
67
73
83
84
83
76
65
57
69
81
74
71
72
75
72
65
70
81
71
61
60
68
78
82
91
83
75
73
68
71
88
108
159
191
194
184
164
142
130
136
110
108
122
107
91
78
45
63
56
71
92
139
133
136
117
44
29
42
44
59
43
49
45
36
36
41
45
49
47
63
86
102
91
72
65
84
71
74
89
105
101
82
91
93
83
77
102
190
183
105
85
50
69
90
84
96
110
107
103
100
97
91
80
72
54
69
100
110
119
130
127
97
79
80
96
127
115
118
94
81
66
95
108
109
116
132
117
158
120
82
115
119
131
153
158
152
107
66
5
32
53
95
110
132
170
173
165
153
163
169
147
144
158
161
172
167
145
123
123
170
178
148
137
127
121
117
130
75
48
68
81
77
100
95
101
91
91
96
105
114
122
129
136
147
132
106
105
124
135
141
139
125
113
103
107
102
104
109
108
108
100
108
108
102
92
84
82
85
90
114
95
83
103
104
86
85
86
81
82
94
105
111
114
110
113
113
108
96
97
100
103
99
97
92
84
87
83
84
84
88
90
90
98
101
86
80
84
94
93
82
82
91
96
108
113
106
95
89
88
99
96
92
95
104
115
121
113
110
103
97
96
96
92
90
99
97
85
81
89
82
81
76
71
68
62
56
56
58
42
50
64
68
69
71
71
62
62
69
69
67
69
74
82
85
79
70
90
81
58
61
69
84
97
96
83
76
69
65
62
63
74
89
101
103
90
81
87
97
99
91
83
76
144
179
177
172
157
122
125
134
115
125
144
126
105
120
128
115
97
104
133
114
106
95
56
45
46
46
51
51
53
65
75
72
62
51
43
65
72
72
77
79
72
67
47
49
50
68
63
59
79
97
85
95
85
84
69
109
208
173
117
61
59
86
96
101
105
106
106
106
106
103
91
89
72
63
76
86
108
141
118
90
89
83
156
94
113
82
72
117
63
104
101
94
81
107
97
93
101
125
122
131
175
154
171
133
66
32
40
94
109
72
91
146
154
152
141
152
169
178
191
197
183
146
155
151
174
154
161
177
88
81
90
51
75
101
109
97
87
76
70
84
100
90
67
101
119
115
128
153
147
117
104
111
119
122
94
106
120
121
130
127
110
100
91
84
83
86
99
105
84
79
76
84
98
117
135
149
154
142
119
92
71
75
96
89
79
67
77
90
102
107
109
107
99
90
89
103
113
102
94
86
80
81
92
83
74
80
90
95
99
108
106
74
78
83
84
80
78
84
95
95
90
93
96
94
92
90
87
88
91
97
96
92
88
94
94
92
91
91
94
91
94
101
107
107
104
101
89
83
75
68
66
66
66
68
72
61
59
59
51
47
50
52
52
60
64
56
51
53
58
46
45
54
69
56
44
41
54
57
68
82
87
82
82
88
95
96
92
90
91
90
70
71
73
81
88
92
90
86
101
82
83
94
130
158
154
146
139
104
126
95
79
132
144
126
123
108
95
71
78
94
102
116
117
104
94
72
76
66
64
61
59
71
79
68
72
74
78
79
66
56
58
54
45
50
65
62
56
61
37
74
63
81
84
92
92
61
140
213
166
87
65
85
95
100
103
99
95
98
105
104
117
108
93
84
71
62
69
91
113
130
111
144
114
104
99
59
73
131
125
113
159
171
114
130
113
91
83
94
96
114
113
149
136
97
40
79
82
103
116
131
133
119
131
152
160
178
190
194
190
181
168
107
165
173
119
111
113
55
86
117
110
52
27
17
33
73
87
95
97
100
90
96
103
111
124
141
155
156
152
111
95
98
99
93
102
115
116
130
127
104
94
95
95
91
86
93
104
101
94
88
84
83
91
109
126
132
136
122
99
101
116
120
80
73
66
76
90
100
104
97
91
87
87
103
110
115
93
92
91
87
84
94
85
76
82
90
90
93
103
101
85
88
85
79
80
87
92
93
94
96
99
97
88
80
76
89
89
91
97
93
83
75
81
87
90
90
93
99
98
96
94
95
98
94
86
86
73
67
62
63
65
68
76
83
70
71
72
64
60
64
68
86
92
74
51
38
39
43
67
56
46
42
37
43
52
41
37
42
63
83
88
80
85
94
98
91
85
84
79
58
66
78
90
103
111
113
113
112
115
111
118
135
141
137
167
146
122
124
102
104
144
109
109
129
113
91
78
101
119
112
120
116
110
119
119
83
75
73
64
61
81
91
71
80
73
59
52
49
51
59
53
42
56
61
64
64
57
57
53
67
89
49
106
89
79
50
183
200
131
114
73
88
98
104
99
92
91
95
107
111
108
101
97
88
70
56
67
100
126
113
120
132
101
117
69
53
134
131
139
178
144
115
147
131
115
112
119
93
86
88
99
79
85
62
69
68
100
121
131
139
128
127
149
141
156
173
182
183
184
122
98
165
166
124
126
120
67
99
111
121
53
39
29
19
71
75
80
96
106
109
123
118
118
127
137
144
145
146
106
87
79
73
104
104
113
116
96
102
108
97
97
95
87
85
85
76
104
111
103
84
72
69
79
94
100
94
102
119
103
76
75
83
79
87
94
99
106
113
110
106
104
103
99
93
88
94
90
91
100
105
96
92
91
102
112
112
105
97
89
88
92
91
85
88
93
88
75
84
76
79
86
95
100
102
93
83
80
96
94
87
83
88
86
85
89
90
85
85
86
92
87
69
54
54
74
71
79
86
89
90
93
95
95
87
87
85
81
77
78
82
75
73
61
68
81
83
76
76
75
76
82
86
70
53
53
48
47
57
75
87
79
71
71
59
56
72
78
78
103
104
108
115
121
125
130
134
140
131
138
136
125
123
131
126
120
133
110
125
125
119
110
110
113
104
98
131
126
97
125
135
124
131
153
115
89
108
108
88
85
111
133
135
109
95
79
60
49
54
66
54
59
69
62
61
64
61
70
73
71
72
58
59
81
88
90
108
79
156
221
89
63
78
95
103
102
95
85
99
107
120
128
118
94
76
70
77
69
69
90
107
105
98
122
93
63
111
156
159
140
157
149
145
141
130
141
149
139
142
123
131
108
69
75
64
74
102
110
127
152
133
106
160
152
161
174
143
114
126
130
122
148
157
83
26
52
59
79
132
153
64
45
28
53
102
116
93
88
94
75
67
68
66
74
85
74
61
67
42
34
43
50
84
93
110
124
137
130
113
93
96
96
91
88
85
74
79
91
98
97
99
97
95
97
120
123
126
126
101
78
78
79
81
97
102
99
94
93
95
96
98
100
98
94
90
90
94
97
96
91
99
111
112
109
105
104
107
108
102
86
85
87
91
89
85
84
86
83
82
81
82
83
87
90
86
86
90
94
87
82
81
77
75
78
82
84
77
76
76
72
65
63
68
79
88
86
91
93
91
88
86
82
78
74
75
74
71
70
71
73
94
86
112
119
112
114
126
119
112
103
96
91
91
91
67
61
53
46
44
49
59
73
75
73
80
97
101
95
94
105
117
124
124
123
126
130
136
146
144
140
136
136
138
128
122
96
112
166
144
111
114
104
104
110
116
130
110
125
119
111
110
118
125
105
117
103
90
84
78
72
76
85
86
86
67
62
81
100
106
94
98
61
54
81
101
95
98
91
73
61
71
76
84
90
98
113
94
73
130
171
136
99
69
65
67
65
72
90
103
115
119
120
120
110
100
105
93
80
72
68
76
92
104
101
132
192
153
130
138
159
136
116
108
109
128
131
119
112
142
119
102
123
107
100
65
66
91
119
122
97
91
178
166
152
169
176
160
149
133
132
90
75
68
68
75
69
82
105
112
103
100
82
79
72
60
58
64
70
66
77
94
119
113
85
88
94
71
68
98
134
155
87
99
114
123
144
140
121
99
98
98
93
89
85
81
79
85
85
82
88
92
93
97
105
113
115
110
94
82
88
118
114
108
106
101
94
90
89
89
90
93
99
102
103
100
96
90
86
86
102
111
100
99
96
94
97
100
97
89
85
87
92
86
74
74
84
87
92
91
87
82
78
78
82
86
89
83
77
78
80
90
82
75
72
72
74
78
83
77
70
70
75
83
88
81
85
87
86
85
85
82
79
72
76
76
76
79
83
85
91
87
103
107
106
114
127
119
115
110
108
90
77
69
70
67
63
59
53
47
42
71
66
61
65
77
84
84
92
108
124
129
125
122
123
126
137
146
143
144
147
147
143
135
123
86
111
160
135
114
114
103
105
114
118
115
94
106
97
94
106
116
115
109
101
99
99
99
89
73
62
60
79
78
65
56
57
58
54
99
99
77
71
86
97
91
109
107
98
89
97
97
94
100
116
118
102
85
93
203
160
128
104
97
86
71
81
114
119
114
104
107
122
130
125
133
102
93
87
75
73
85
98
106
126
170
173
166
160
138
133
133
136
135
140
137
122
145
139
109
123
121
95
110
85
79
80
84
81
75
95
181
174
157
161
163
154
150
151
123
83
64
59
66
69
91
73
77
103
99
88
86
62
45
41
51
56
65
102
128
126
124
114
99
94
76
46
41
67
102
123
96
100
104
98
102
112
110
100
95
90
84
77
75
85
90
93
85
78
81
81
77
78
91
107
116
114
113
116
120
114
109
97
98
102
100
95
94
101
112
116
108
98
93
85
84
85
94
106
100
86
80
91
99
94
86
85
90
93
89
92
98
94
86
90
100
84
99
103
101
94
85
78
79
85
85
65
65
74
82
86
81
77
78
79
77
80
84
85
87
90
88
85
91
88
87
85
84
86
90
91
89
86
86
79
77
84
89
88
91
102
98
95
101
101
95
104
87
75
81
101
103
104
98
85
73
69
65
60
62
45
37
39
43
47
60
74
83
103
119
121
116
116
117
116
121
125
129
128
121
106
93
92
83
90
120
111
83
91
87
87
107
124
120
116
111
106
97
85
77
78
90
122
120
123
116
97
84
84
88
89
84
88
112
123
110
94
91
85
72
95
93
78
71
72
57
54
59
65
78
88
89
79
82
120
124
144
167
115
185
161
129
106
92
84
84
91
103
112
113
113
116
116
112
128
136
125
106
87
84
96
107
103
99
97
109
132
150
180
184
186
169
142
125
123
121
128
105
117
101
71
94
88
101
108
92
93
93
69
68
120
145
171
175
155
149
163
142
142
105
81
83
88
75
56
69
68
63
68
83
112
117
73
57
61
55
71
94
130
155
140
110
84
43
35
78
59
63
84
101
94
88
89
93
85
90
91
102
98
97
95
87
81
91
101
100
86
74
73
75
78
83
85
97
103
102
102
99
90
98
100
102
108
114
107
96
99
102
102
97
88
87
87
106
113
111
95
78
80
86
102
107
106
96
85
82
86
93
93
93
92
90
92
92
93
99
94
92
90
85
77
71
81
89
92
73
74
81
85
96
87
78
73
72
79
85
83
82
85
95
96
89
82
79
76
72
71
77
87
93
93
94
90
80
77
87
95
95
86
79
97
93
73
61
64
79
75
82
97
106
106
111
98
90
81
73
61
54
82
91
82
79
66
45
43
51
87
104
118
122
125
133
139
137
129
134
138
128
113
114
126
137
111
116
100
98
92
95
98
93
108
119
102
82
81
82
91
87
77
89
117
111
107
82
71
81
83
74
80
99
69
58
52
63
81
90
88
68
67
79
84
90
87
75
61
42
47
70
83
84
78
64
86
65
82
89
88
121
115
141
147
122
111
129
143
146
143
139
131
119
111
119
134
136
141
129
124
120
108
100
99
101
106
116
118
120
121
113
123
145
168
182
164
136
99
118
137
109
109
116
88
95
91
90
90
118
128
113
129
96
72
76
95
109
109
104
93
67
47
54
41
51
87
101
84
68
88
89
74
102
59
40
46
41
29
77
142
125
125
108
79
64
65
61
47
63
85
113
127
95
96
98
93
77
97
122
122
94
82
88
87
84
103
103
95
84
73
68
70
74
79
75
91
114
108
102
104
100
90
87
91
99
95
92
98
101
92
81
76
87
90
89
95
95
89
79
74
84
87
90
88
85
80
76
75
77
76
80
87
89
82
77
85
97
91
78
78
83
83
77
70
78
91
92
63
70
84
93
91
84
82
80
78
89
88
77
86
88
82
79
83
80
78
84
83
75
72
78
85
88
90
89
86
90
96
99
95
89
76
92
93
85
80
77
69
70
72
79
102
98
87
81
87
85
74
62
52
71
95
101
100
89
76
65
52
65
95
116
118
122
138
144
137
129
147
139
129
130
137
141
139
125
112
100
94
97
105
109
107
124
124
98
102
84
94
85
83
86
90
101
108
85
99
91
70
71
84
83
73
64
58
51
49
68
77
63
63
57
61
71
78
82
84
54
48
62
93
65
53
73
74
80
91
71
80
97
89
95
135
153
137
122
130
150
165
180
150
167
189
164
163
165
159
160
148
151
153
133
140
110
107
115
104
120
132
120
130
127
111
106
133
172
165
141
116
91
90
107
119
120
88
100
87
64
66
83
86
77
59
49
42
40
52
66
69
52
41
85
98
90
84
84
130
106
129
119
130
104
76
74
75
71
69
57
81
142
119
112
90
59
52
68
67
45
62
76
98
114
107
99
91
86
84
100
119
106
95
88
85
80
79
81
79
76
70
65
65
70
79
86
94
125
138
136
139
127
98
76
86
86
86
83
78
78
83
83
83
85
89
91
92
74
77
80
81
84
86
82
74
72
70
75
82
85
81
81
79
78
77
73
71
75
82
80
85
88
90
90
88
87
84
82
75
74
85
88
85
77
80
90
91
84
83
81
81
82
79
76
83
97
106
104
106
105
96
88
85
84
83
86
93
90
84
81
83
84
71
75
108
100
85
81
81
96
90
81
76
82
78
72
103
101
95
94
96
87
77
69
65
64
70
83
90
80
52
45
53
83
113
127
131
135
141
113
116
141
152
115
66
80
112
108
85
88
90
102
90
99
94
94
110
89
86
93
89
89
95
102
102
85
104
92
79
86
104
108
104
105
84
73
85
101
109
100
81
97
107
86
71
70
74
73
68
72
66
56
61
60
53
64
67
70
61
83
111
124
84
56
42
44
55
85
111
97
108
124
88
79
97
87
104
72
157
173
180
188
172
177
150
137
137
122
115
113
105
120
126
125
118
117
106
107
165
160
142
116
94
80
59
53
53
59
67
70
77
105
138
121
116
116
108
93
77
63
49
43
42
40
51
72
85
111
148
150
132
89
69
40
49
61
76
93
83
87
133
170
146
141
135
111
103
98
78
61
72
94
105
84
83
84
86
76
68
64
72
78
87
85
78
80
76
72
69
63
58
58
67
82
93
109
125
138
138
130
125
120
109
117
98
89
85
83
88
87
86
83
76
68
73
77
69
77
82
79
76
81
84
90
91
91
88
85
84
88
91
87
81
76
75
76
79
80
72
87
88
81
74
71
72
75
82
88
87
87
87
86
79
83
89
86
72
72
76
79
82
86
90
93
91
74
77
75
71
70
69
71
75
79
83
82
81
81
80
81
82
79
71
79
78
77
80
79
78
77
78
82
85
84
83
71
75
78
83
91
90
96
91
80
68
63
67
75
83
75
67
46
31
38
62
78
79
61
54
87
112
105
85
73
120
115
86
76
73
75
98
101
77
73
80
81
97
81
79
87
88
88
92
87
82
75
87
84
79
90
104
100
91
91
103
122
128
113
102
105
117
114
92
101
114
105
83
83
75
77
84
95
103
100
95
113
111
103
100
89
82
84
57
65
103
127
133
125
115
136
146
149
122
129
149
85
103
158
154
90
52
37
57
81
129
172
182
190
182
162
124
111
98
105
119
71
45
65
76
85
97
128
164
177
139
116
91
80
89
117
128
114
83
93
103
102
104
109
112
70
64
103
89
59
55
68
107
132
106
109
42
27
28
54
56
48
53
52
60
113
93
132
129
100
103
116
125
143
88
81
100
118
87
86
84
86
83
76
70
63
73
86
88
78
75
76
66
65
62
58
56
63
77
88
104
123
139
140
123
110
107
119
120
101
92
83
83
94
90
87
83
76
73
78
83
67
72
74
71
69
79
84
77
82
86
85
83
86
97
91
90
85
78
77
81
84
84
77
80
75
70
70
77
84
93
88
87
92
90
80
69
72
74
78
75
65
75
80
89
89
90
91
92
92
86
73
69
67
66
66
66
68
72
70
67
70
73
73
75
76
75
66
75
76
75
71
63
65
65
70
75
72
69
70
79
76
66
61
64
71
101
93
84
73
63
57
57
68
92
73
59
56
50
44
59
81
64
70
104
122
113
100
98
107
99
87
73
67
79
103
89
66
75
87
78
90
71
87
96
92
88
91
84
80
76
77
83
97
103
90
83
90
95
96
118
141
134
113
104
129
130
108
104
106
100
88
59
68
78
76
118
137
122
124
132
105
91
90
90
123
111
91
85
102
117
111
97
89
112
166
143
107
120
112
107
57
158
97
54
77
39
91
119
121
103
101
150
179
181
178
177
151
106
66
56
74
100
110
115
109
110
125
138
128
102
97
114
126
130
119
97
72
74
68
60
70
85
90
96
87
134
126
91
67
61
99
127
108
81
53
44
40
49
57
50
57
62
65
78
94
122
124
111
106
94
105
141
99
107
117
118
82
84
86
85
77
67
56
72
77
93
97
80
64
68
60
67
74
77
75
75
81
87
121
133
125
127
132
124
110
112
103
103
100
81
78
94
95
91
86
80
78
78
79
92
84
75
72
78
78
68
81
82
84
85
88
88
86
81
85
84
77
73
77
83
84
80
88
87
84
82
83
86
90
91
92
77
72
77
85
73
71
74
71
63
74
76
78
81
84
86
84
81
83
76
74
78
86
86
79
73
72
67
76
83
82
77
82
91
96
88
87
83
83
82
75
69
69
71
74
64
64
68
80
76
68
66
70
67
71
65
68
75
76
69
58
58
51
75
96
97
84
71
60
51
50
130
116
85
74
74
74
116
99
95
75
91
93
60
64
72
69
68
71
67
85
85
88
75
77
96
92
70
68
78
77
72
79
85
79
72
85
74
85
116
124
110
102
89
83
77
75
72
68
66
71
55
65
78
77
97
102
100
117
101
115
125
105
79
97
125
127
126
134
116
106
119
92
69
80
62
68
105
71
117
101
111
122
125
133
76
84
109
137
123
86
76
94
93
96
84
77
96
119
109
116
112
111
112
114
111
107
85
114
137
117
87
90
82
43
73
95
95
97
110
105
80
77
93
89
79
91
104
100
78
47
57
70
119
65
34
81
87
65
63
85
106
98
67
87
135
139
100
108
120
84
105
103
95
93
69
69
69
71
74
73
70
87
105
115
109
94
76
77
84
95
96
86
83
90
96
94
88
88
95
110
123
127
126
114
127
104
88
95
103
102
97
83
72
75
99
100
96
85
85
82
77
71
75
80
83
88
89
87
86
89
89
78
67
64
67
71
81
89
88
83
82
78
79
82
84
82
81
88
87
75
70
73
82
86
83
81
81
82
77
74
67
70
74
75
74
77
89
88
82
78
81
84
85
84
85
86
78
68
69
80
88
86
92
91
90
88
82
76
70
65
70
72
73
70
68
72
73
73
72
68
67
71
86
80
80
80
80
83
89
92
85
59
43
45
55
65
68
64
139
119
87
85
84
106
120
109
115
94
101
89
66
67
79
73
64
65
73
66
68
74
77
70
69
76
71
65
67
68
71
73
71
71
80
91
98
96
92
87
86
90
96
86
85
95
73
70
78
70
87
85
89
102
107
109
122
127
125
130
135
135
139
132
102
127
142
128
115
132
155
147
143
130
122
116
120
131
127
110
99
91
94
92
82
76
82
90
90
130
120
120
116
117
119
107
115
115
94
87
106
105
106
116
141
163
147
104
115
110
71
31
34
51
49
43
74
87
71
59
61
59
64
45
67
85
103
91
94
87
90
79
62
88
87
69
81
62
42
57
60
70
72
56
47
45
59
78
98
123
144
106
105
107
105
61
57
60
70
74
75
79
101
116
120
110
94
80
87
90
96
93
79
74
82
88
89
81
88
98
110
117
119
119
118
122
67
95
133
124
100
87
81
79
88
105
96
84
84
80
75
70
68
73
77
83
86
86
83
83
87
87
76
65
62
69
77
90
95
89
86
80
75
79
84
85
84
82
88
84
76
73
74
82
78
78
81
86
91
78
71
62
67
73
76
78
81
91
86
76
70
77
85
87
82
77
82
80
75
78
86
90
88
94
93
95
94
90
83
77
74
75
75
75
70
65
63
65
69
75
79
82
85
94
85
89
87
83
81
88
99
75
52
38
38
47
56
58
52
128
131
112
104
107
103
115
113
98
93
79
81
79
62
77
70
68
79
85
71
82
69
76
75
76
83
78
82
111
97
84
75
64
55
62
77
100
106
106
104
109
123
135
89
110
103
99
107
101
85
96
95
88
102
115
100
112
123
126
135
138
129
126
126
163
151
117
88
101
135
132
149
142
144
130
100
93
93
75
99
112
86
78
85
85
79
84
86
85
136
135
135
122
124
107
80
84
83
92
107
59
67
79
89
98
113
118
106
93
58
28
22
27
29
35
28
52
95
120
128
120
105
87
61
62
82
91
77
83
78
95
87
54
65
79
72
66
59
54
63
54
57
69
33
34
44
64
76
78
77
79
57
57
61
60
65
61
68
85
78
71
74
77
90
97
97
95
88
91
91
99
102
96
89
85
84
80
86
94
106
111
111
113
115
101
115
145
164
134
93
90
118
111
97
81
82
88
89
80
77
75
77
80
77
73
86
83
81
82
83
83
81
81
80
86
88
86
89
94
92
84
74
76
82
87
88
88
84
83
75
72
72
69
73
74
71
69
70
74
72
68
75
65
58
62
76
86
85
78
76
76
80
82
81
80
81
83
91
96
99
97
92
85
79
81
88
90
90
89
87
82
81
83
76
67
74
72
87
89
93
95
95
90
81
76
82
86
85
83
82
82
93
91
92
85
73
67
64
57
55
156
132
101
118
99
109
97
116
94
90
90
76
85
79
99
101
83
71
70
72
82
78
69
69
77
68
67
83
80
86
101
107
102
102
108
115
117
118
126
140
152
157
158
154
93
97
96
90
99
89
97
69
61
128
106
93
92
109
142
166
159
133
82
127
117
107
119
142
139
115
101
68
83
86
84
118
137
137
115
116
143
175
173
135
103
62
78
82
85
86
95
76
85
87
73
68
64
131
144
125
99
96
105
89
57
44
44
62
81
66
24
12
20
17
14
44
80
92
95
111
121
136
128
148
152
144
141
137
130
142
149
142
107
73
43
41
41
59
60
46
49
42
42
41
41
42
51
73
108
134
116
131
139
133
63
66
72
77
75
68
63
56
63
69
79
94
94
83
88
92
93
85
76
69
66
64
69
84
104
114
109
102
102
111
103
88
90
97
102
103
85
82
77
77
99
93
78
78
78
78
80
81
77
75
80
76
77
87
93
92
89
85
84
88
89
81
77
74
69
61
74
86
90
87
85
86
90
84
75
85
90
87
88
75
80
86
90
89
84
83
64
57
52
56
69
78
81
79
79
81
82
80
79
83
89
86
81
78
77
76
78
79
81
87
90
85
84
92
99
96
88
90
88
92
96
78
77
78
77
73
72
77
97
98
107
112
107
101
98
101
98
96
97
102
106
115
117
107
89
101
115
130
127
88
83
103
98
106
90
109
114
80
82
85
79
75
86
77
60
58
63
68
83
95
84
87
78
80
78
73
75
89
103
109
126
124
114
102
89
67
46
48
50
72
88
92
88
87
82
97
107
113
128
135
142
151
134
127
132
134
136
142
121
125
129
143
146
122
121
151
98
100
98
106
119
107
137
113
164
159
123
85
85
112
139
98
77
75
45
61
74
69
59
55
74
81
117
104
107
111
108
89
70
69
76
45
42
58
85
92
71
53
52
73
102
115
94
75
64
54
28
25
96
91
106
132
86
104
127
131
109
107
114
107
74
58
73
58
43
56
37
49
52
52
47
48
66
94
116
123
128
133
131
65
70
73
72
79
75
69
64
68
71
82
98
101
86
91
92
90
81
74
71
74
77
67
66
75
85
88
93
101
112
96
103
83
64
65
68
87
89
85
74
80
81
76
63
64
67
70
72
78
80
78
74
75
85
90
87
82
90
85
86
88
83
78
72
62
73
73
79
80
77
81
88
80
74
65
81
88
87
88
83
86
88
85
79
80
83
62
60
58
60
65
69
75
81
78
79
79
80
80
83
88
79
79
81
82
79
79
79
89
96
95
86
84
93
103
92
79
79
82
94
91
62
67
59
56
69
88
100
92
108
116
116
101
83
77
82
99
106
112
107
99
104
113
112
90
85
105
113
91
76
104
68
114
115
106
109
101
113
104
103
98
96
92
57
51
68
76
83
91
90
65
58
55
68
85
108
136
151
135
108
96
79
57
48
53
56
53
48
52
72
81
93
93
81
97
86
94
111
112
123
136
136
140
151
149
123
101
110
126
146
162
175
171
137
122
126
75
78
80
96
104
89
134
102
108
100
97
102
125
153
153
115
90
87
71
81
73
87
77
83
108
97
93
87
109
82
73
89
100
93
74
40
68
68
61
79
84
85
102
113
140
162
160
146
115
79
73
83
154
109
99
118
55
64
78
102
122
114
112
118
83
62
73
50
33
49
35
33
38
41
44
57
80
110
129
115
114
120
126
67
71
70
64
72
71
64
66
68
73
76
81
92
86
82
84
82
74
69
72
79
84
68
68
69
69
68
78
93
81
95
109
92
80
87
103
82
84
82
78
82
94
106
80
73
69
72
76
80
84
85
83
83
86
83
79
80
81
83
83
80
79
77
69
62
67
77
71
63
68
75
73
72
81
88
81
85
95
103
93
87
85
76
70
87
75
64
70
70
70
75
76
80
88
84
86
87
84
89
94
92
93
99
110
117
116
108
102
105
97
84
72
71
83
92
99
106
102
89
70
60
58
71
69
75
93
113
123
116
99
99
98
90
74
64
67
88
92
87
82
88
94
101
109
98
104
110
93
84
76
57
71
113
127
116
115
109
114
105
79
72
66
49
84
86
75
59
46
52
62
57
77
141
147
142
125
116
117
114
104
93
78
65
63
63
61
63
69
64
58
64
73
81
85
84
97
101
97
120
115
95
122
113
132
152
151
156
137
91
51
48
61
55
71
105
125
97
69
75
74
80
109
115
116
153
126
127
160
144
141
106
137
134
118
123
125
139
120
133
117
84
102
126
141
145
163
104
134
167
108
84
79
84
117
110
120
113
59
77
94
116
146
167
171
151
120
82
103
45
91
105
54
40
49
56
94
125
145
127
76
54
50
67
79
62
49
41
41
50
41
43
46
42
54
55
61
59
61
62
72
71
67
63
64
64
62
64
65
67
68
66
75
82
86
87
84
79
76
77
78
77
62
68
82
86
85
99
121
158
151
109
89
81
81
83
63
92
120
122
78
68
71
78
78
80
82
82
76
75
75
69
66
70
80
89
99
102
95
83
76
78
82
80
74
83
82
83
75
67
69
71
75
74
69
74
87
89
83
81
82
82
78
75
83
84
89
93
91
88
86
80
85
79
67
69
79
78
77
84
92
74
73
80
83
78
71
68
82
83
104
101
97
96
93
97
104
103
98
86
80
82
73
74
78
81
77
68
70
103
98
95
100
106
104
95
83
89
81
71
69
70
70
72
74
81
83
87
99
93
70
49
79
85
82
124
141
130
143
126
120
114
101
83
57
74
42
44
68
74
88
145
107
96
96
111
124
126
125
127
119
98
79
71
67
63
64
62
66
80
85
88
90
91
95
113
111
113
121
119
144
113
111
128
146
150
153
122
109
120
100
75
71
62
59
69
79
82
93
104
123
136
108
93
134
137
160
164
171
163
129
141
134
132
117
106
123
138
130
157
158
161
185
133
66
28
104
123
129
155
110
59
68
176
174
118
161
160
108
126
117
114
118
127
129
119
102
118
105
109
81
82
76
58
80
96
74
76
89
65
45
40
48
58
54
50
41
61
100
93
93
112
109
115
132
126
136
148
153
72
69
68
68
65
63
63
59
62
68
66
59
65
84
82
83
84
84
86
88
87
85
74
72
79
79
71
73
85
72
70
101
107
93
76
68
86
102
111
98
58
64
75
81
83
86
85
82
74
71
69
68
67
70
79
90
96
92
91
87
81
79
81
82
81
87
83
85
76
72
75
78
85
72
67
87
87
83
82
84
84
82
80
79
81
86
91
89
82
77
76
72
85
73
59
60
69
66
63
70
78
75
67
69
72
70
70
73
91
86
91
88
90
97
100
91
93
91
94
97
89
90
101
95
91
87
78
68
80
112
102
89
85
86
84
74
70
83
82
76
80
83
82
81
74
82
79
81
89
84
67
68
94
79
77
115
137
155
164
132
110
100
84
63
56
65
65
88
104
99
103
99
93
105
118
125
128
129
124
118
119
109
100
101
102
100
101
105
111
118
116
116
121
127
141
152
141
135
137
134
158
118
121
134
142
143
149
140
120
108
101
101
106
110
104
94
99
96
99
93
96
111
94
99
141
170
188
159
156
148
137
122
122
123
122
130
133
134
166
178
170
182
98
90
95
90
118
148
169
139
81
19
80
152
125
128
171
146
140
147
150
154
154
150
137
116
115
111
114
94
60
79
76
67
75
64
63
88
66
54
55
50
53
63
69
66
43
71
118
104
85
98
102
109
114
134
146
161
167
80
71
69
74
72
72
78
74
70
72
71
63
66
78
76
81
87
95
102
104
95
85
78
85
86
87
88
88
87
90
84
85
89
89
82
77
72
78
83
81
73
76
80
73
79
81
76
74
75
71
76
80
79
73
72
75
77
80
88
91
88
83
82
83
82
78
84
81
75
78
79
69
61
73
84
65
57
65
80
81
76
66
68
78
72
85
94
89
84
91
99
96
101
106
99
97
95
91
95
101
100
80
74
82
87
85
86
94
79
81
95
85
77
78
79
88
87
85
91
92
84
86
88
67
51
52
55
57
78
78
85
87
83
80
86
92
93
104
100
87
85
89
85
81
82
95
107
124
132
131
133
106
86
77
91
72
78
109
103
113
127
134
128
117
116
141
134
105
80
90
112
105
110
115
113
106
108
119
125
123
119
111
100
96
88
77
72
72
69
67
72
80
89
94
105
107
100
90
99
77
43
42
74
113
139
153
161
149
130
103
120
123
68
46
78
110
129
142
149
135
123
122
94
117
119
131
130
124
133
136
119
114
119
121
133
154
164
151
132
154
157
138
127
113
68
135
169
56
44
138
107
38
49
124
115
105
158
141
97
133
136
147
161
173
173
160
175
184
183
182
130
82
116
129
149
114
60
60
51
48
36
39
41
46
55
55
37
73
89
82
82
85
89
109
114
121
124
128
128
81
75
72
74
72
74
79
80
87
86
78
74
79
79
82
84
89
88
82
81
83
77
83
89
87
82
84
95
107
118
121
138
135
123
102
77
79
77
71
68
82
84
78
76
71
73
81
84
76
79
81
80
79
79
72
66
73
89
85
83
85
90
89
83
76
79
82
82
87
84
72
64
72
81
85
84
80
81
87
64
66
70
75
74
74
81
95
90
83
87
91
83
87
97
90
92
90
82
90
102
98
91
82
81
90
100
99
93
89
96
85
83
91
97
95
71
81
89
98
78
74
96
111
96
71
52
53
69
81
60
66
72
82
94
95
95
105
106
105
105
103
104
105
107
93
99
121
131
122
112
111
110
124
110
98
63
59
110
135
145
150
153
161
131
96
95
98
59
58
91
95
120
121
97
106
130
134
132
130
117
101
75
84
98
73
68
86
66
58
115
114
99
76
47
80
88
94
80
79
67
81
87
89
108
132
140
142
142
159
140
137
146
127
71
52
117
131
128
149
145
132
129
85
92
174
130
134
154
161
169
170
141
127
125
117
132
120
104
107
92
93
115
99
116
109
85
63
148
90
49
64
34
98
116
98
111
126
113
101
150
138
159
165
186
179
170
183
181
125
139
123
76
132
157
181
140
85
162
63
58
34
42
44
53
64
58
66
66
43
58
89
87
77
81
82
101
113
120
117
83
80
79
81
74
74
77
79
88
91
85
81
81
72
77
80
85
86
83
88
93
88
92
92
85
76
74
83
94
105
107
109
103
102
94
77
77
77
76
74
87
90
88
76
78
82
84
81
76
80
80
77
75
78
79
78
83
87
84
81
83
86
85
79
72
62
85
92
97
86
65
49
67
77
84
96
87
74
69
65
68
76
83
83
78
79
88
84
80
82
84
80
90
102
98
101
97
87
91
101
100
80
75
76
86
94
91
84
95
95
78
81
94
97
92
80
85
86
91
89
89
105
83
83
79
70
66
65
48
58
64
70
82
95
96
93
90
90
92
96
102
103
101
98
106
86
97
106
102
98
99
95
107
103
64
44
51
81
101
109
130
150
150
121
120
97
99
72
76
98
98
111
103
104
131
152
139
123
116
104
101
84
97
98
76
71
64
75
113
96
60
48
57
70
76
94
100
71
66
60
70
69
86
112
130
136
142
143
150
167
158
84
75
98
78
127
135
147
139
118
154
139
103
107
146
135
178
166
179
171
181
156
132
154
160
157
120
115
121
117
128
108
126
123
110
82
103
93
49
53
26
58
91
121
115
96
104
122
124
155
147
178
182
185
162
155
175
175
140
125
96
69
137
164
183
171
128
97
64
43
67
40
52
85
83
62
91
90
70
75
98
102
95
97
104
110
109
105
100
82
84
84
81
73
74
77
83
85
83
78
74
75
71
86
87
90
87
80
83
91
90
88
78
66
56
55
64
73
76
76
59
65
92
107
98
93
87
81
77
76
75
72
80
91
96
88
81
84
81
70
69
69
73
79
84
86
86
83
81
82
84
84
80
75
73
72
71
72
78
80
75
77
80
81
97
90
72
63
81
75
72
74
78
79
81
71
71
68
67
70
72
99
108
98
90
87
86
87
90
90
96
92
92
97
101
96
88
71
79
96
112
125
120
105
98
95
82
67
72
73
70
65
72
73
66
65
76
98
90
86
75
70
77
81
78
111
109
107
105
102
94
84
76
72
84
105
116
108
97
91
90
88
89
89
91
98
102
132
103
86
115
166
164
128
116
113
115
131
122
112
100
70
84
113
134
131
120
104
85
88
88
100
99
96
107
99
108
83
47
64
62
51
53
64
84
102
78
63
59
67
64
65
87
122
134
126
172
159
91
106
80
78
143
140
142
151
114
148
105
78
71
122
172
152
127
150
150
148
179
158
182
173
186
179
162
134
116
125
96
116
110
141
135
156
113
101
98
122
77
90
102
92
129
142
92
77
108
115
133
138
155
139
139
127
153
156
180
144
108
131
131
116
127
158
137
190
78
98
80
45
31
40
53
55
66
50
40
49
56
81
115
120
117
133
140
146
139
135
81
79
73
66
71
74
75
78
71
64
60
63
72
86
74
76
80
74
65
67
74
75
68
66
64
64
67
73
77
107
107
115
120
126
117
99
75
81
94
113
112
94
82
88
90
91
90
90
89
83
87
88
87
82
81
83
88
89
88
90
91
95
96
96
95
104
88
80
66
70
77
70
67
78
87
95
87
79
79
77
78
84
91
91
75
71
70
73
69
66
69
72
89
90
76
60
65
79
80
74
76
78
75
74
81
88
90
86
83
89
76
72
79
83
80
71
72
77
80
99
108
104
87
92
90
80
74
74
70
79
85
88
97
116
124
111
97
100
101
94
84
81
83
88
115
104
103
101
100
101
106
117
116
109
131
109
105
137
119
97
80
91
122
165
169
174
168
161
163
138
112
77
64
75
100
127
134
119
103
99
87
68
96
143
135
109
97
80
88
84
54
62
78
66
63
48
66
75
64
64
83
77
100
95
79
95
127
168
171
131
162
145
111
104
91
145
152
178
102
107
138
104
166
118
126
152
123
112
180
147
163
178
169
147
138
157
163
163
128
164
116
125
116
185
79
61
94
83
72
56
47
70
98
131
146
134
110
100
106
110
121
135
146
174
131
130
185
183
162
128
142
157
129
112
166
212
159
97
98
62
57
54
37
40
66
71
51
58
69
76
83
101
114
120
127
133
135
123
111
84
81
74
68
74
74
70
68
67
68
73
78
81
81
73
77
83
79
70
73
82
85
81
80
80
79
78
77
76
94
88
92
91
97
104
105
95
99
105
112
94
82
79
91
91
94
95
92
83
85
93
92
87
82
83
92
96
92
91
92
93
94
96
97
96
109
91
81
65
71
83
76
62
73
81
94
89
83
83
78
80
85
89
86
73
73
73
75
71
66
71
73
78
81
75
67
73
85
81
72
77
78
77
77
82
87
86
81
80
85
68
67
80
91
93
87
75
76
81
91
93
83
78
75
65
56
60
72
79
85
105
114
111
108
105
97
102
107
113
116
119
125
132
138
116
102
109
123
136
144
148
133
141
151
124
108
128
161
145
170
171
144
139
156
130
165
166
158
163
150
124
90
70
65
78
110
127
111
91
89
85
75
106
134
123
113
106
101
100
74
73
91
99
88
75
58
70
70
78
92
113
127
129
122
136
174
176
102
122
169
157
113
96
96
112
124
149
149
95
159
111
97
177
62
133
140
117
93
151
150
145
165
169
137
143
168
158
113
156
103
115
141
139
157
30
108
97
120
88
49
59
46
94
159
190
162
117
107
123
103
105
117
129
160
122
137
170
176
190
167
162
154
112
69
150
175
166
117
70
41
40
29
34
55
62
48
26
50
63
83
92
96
109
119
115
91
85
78
71
79
77
78
80
69
65
66
66
71
82
95
97
88
78
87
92
88
78
80
93
98
94
79
84
82
76
72
73
76
76
80
88
86
83
86
92
107
89
80
84
71
67
71
85
84
97
97
83
96
82
84
92
91
89
99
103
95
89
88
88
88
88
83
76
70
60
82
96
95
83
72
70
66
60
61
76
75
76
80
75
75
75
74
77
81
79
87
86
78
69
67
73
75
77
83
85
84
83
76
75
83
102
107
108
98
83
82
91
98
84
91
85
85
90
86
70
73
73
71
75
78
78
93
83
76
81
91
98
102
96
96
97
99
93
82
78
79
87
98
102
106
115
111
92
107
116
121
111
113
120
116
122
131
124
114
140
161
97
107
118
120
106
85
72
74
86
76
106
135
137
158
104
106
70
55
77
99
108
111
112
100
105
100
102
116
130
135
145
141
110
89
58
56
87
71
68
97
106
88
96
101
129
166
137
129
83
77
135
27
27
73
93
99
135
142
100
116
124
159
151
127
200
77
119
106
117
147
140
128
126
114
161
151
106
112
110
149
128
94
101
89
96
169
21
128
124
115
96
109
105
120
13
97
146
117
89
115
153
164
110
145
159
160
164
136
109
99
130
178
163
173
146
124
135
96
71
67
93
88
54
39
29
46
51
46
49
34
54
57
60
61
61
64
68
73
88
112
141
161
70
68
66
65
59
59
62
69
72
76
77
74
73
89
83
85
83
81
90
101
97
85
76
72
72
76
75
70
64
63
72
89
90
100
122
142
121
102
88
90
86
83
85
86
100
77
85
151
125
111
77
74
75
80
83
79
80
91
86
79
76
77
80
85
88
84
81
83
80
74
69
68
73
69
70
81
78
77
81
94
89
80
72
72
85
87
86
88
87
83
81
79
66
73
77
81
86
94
92
90
96
99
102
105
100
89
84
85
87
97
99
84
85
92
91
82
80
77
76
82
77
69
72
82
96
103
97
85
78
79
81
80
77
78
87
94
98
109
107
98
96
88
94
117
120
120
107
97
110
132
141
140
155
132
164
142
102
90
105
101
91
85
88
58
26
43
94
96
88
122
126
114
100
110
121
123
124
131
132
121
153
151
132
112
109
118
127
150
148
109
85
122
161
149
142
150
155
131
180
143
158
134
117
139
127
134
109
77
68
89
116
111
120
141
135
121
136
147
136
155
190
99
174
155
81
95
89
124
160
117
99
124
170
153
175
162
139
134
139
172
78
102
73
85
79
105
106
82
97
89
84
45
125
133
81
98
159
170
143
109
137
159
178
178
152
146
161
150
113
122
127
88
66
59
64
94
114
53
42
39
25
51
52
41
46
47
55
58
68
85
104
117
122
121
118
141
145
153
159
68
67
65
62
56
59
63
72
72
71
71
71
74
88
77
80
80
79
86
95
93
85
82
77
76
78
77
73
68
73
80
91
91
98
115
132
115
102
92
92
93
89
87
102
89
68
103
168
115
120
92
81
70
66
72
85
86
89
86
81
77
77
80
82
84
81
84
82
74
68
65
68
84
81
81
90
86
86
89
99
91
76
65
65
87
92
93
89
83
79
77
76
70
70
73
76
83
93
92
89
94
98
100
102
99
90
82
79
90
103
92
77
79
84
82
80
80
75
67
71
80
85
77
82
87
86
77
68
69
64
74
79
81
85
94
97
95
95
83
87
106
104
103
127
117
115
100
94
103
119
124
115
135
126
146
90
91
79
89
72
74
98
103
52
46
67
65
73
84
94
102
80
95
80
86
111
126
127
123
119
156
157
136
111
106
122
140
141
137
130
154
160
155
161
181
156
134
193
127
139
155
134
123
117
123
154
135
101
78
80
85
90
117
131
112
119
131
121
132
152
170
136
169
110
74
86
107
125
140
126
114
114
174
157
160
162
157
130
123
126
79
158
58
75
98
141
137
85
82
74
81
53
113
114
84
109
152
158
151
108
143
169
172
171
152
137
140
154
103
107
119
103
87
64
78
107
119
65
53
49
36
80
71
56
69
68
84
102
100
98
102
108
113
115
114
137
125
114
102
69
75
78
72
64
66
66
74
70
67
70
80
88
76
70
76
80
78
76
80
85
88
93
92
85
75
71
75
80
80
82
92
95
91
89
91
101
105
110
111
107
99
90
71
95
147
179
170
186
195
174
96
55
68
74
66
73
79
81
84
84
83
80
78
78
75
82
71
60
62
74
86
76
73
73
79
77
81
90
98
96
91
85
86
94
93
90
86
85
90
91
86
72
73
77
80
85
90
86
81
85
86
89
94
97
98
96
94
88
96
82
84
88
87
88
89
84
81
86
99
88
74
61
56
54
59
63
62
61
71
71
74
82
87
88
88
90
93
101
105
92
67
53
54
43
40
37
35
25
23
33
85
120
107
69
70
34
26
33
44
54
50
39
44
57
46
30
27
37
31
17
39
58
79
91
71
43
34
31
20
33
25
29
40
48
45
39
43
39
66
46
64
112
132
85
195
140
82
85
61
75
96
108
130
168
96
130
164
139
98
80
99
134
133
109
85
98
131
124
182
169
169
163
168
115
119
111
104
126
132
60
137
178
145
156
169
155
145
120
115
123
140
55
59
46
108
112
78
113
113
107
78
48
39
79
125
139
146
164
114
161
183
164
167
161
134
121
109
127
140
139
154
155
154
148
122
91
82
69
48
56
89
53
45
63
58
80
74
84
98
109
108
95
77
63
48
58
70
78
70
82
89
85
72
69
66
67
71
71
71
76
82
75
73
75
79
84
88
87
82
77
77
73
65
57
54
57
60
69
77
96
92
87
90
96
97
111
118
111
96
90
82
83
73
102
161
189
139
122
77
78
86
82
83
118
139
109
103
91
78
67
63
65
68
82
78
71
71
78
82
82
70
65
65
71
73
82
95
84
82
76
69
68
70
67
69
58
52
56
61
61
61
49
57
63
66
66
59
56
63
68
70
68
68
70
72
72
61
72
77
80
69
63
75
75
96
112
105
57
41
35
41
40
41
45
45
43
46
42
38
51
76
81
61
48
60
49
65
66
33
29
40
26
38
42
54
62
63
95
150
136
48
62
112
102
82
89
80
70
77
99
105
79
80
64
73
73
59
54
72
95
54
39
38
57
75
88
93
90
91
106
106
88
68
58
57
39
42
49
65
53
33
31
25
33
21
26
41
60
93
71
93
110
71
95
139
104
129
149
188
189
169
156
137
141
119
99
159
127
131
157
160
146
74
108
121
101
100
96
105
182
122
140
147
146
139
147
143
146
125
102
69
73
82
129
102
47
75
79
95
121
89
76
77
87
134
177
176
141
134
107
109
112
97
116
107
128
129
120
147
154
67
62
81
103
120
97
78
77
109
116
74
87
101
81
67
68
71
74
74
72
72
73
76
75
78
80
78
69
80
91
93
78
69
62
72
71
70
71
72
74
76
78
82
83
85
91
97
94
87
81
81
74
69
67
65
60
76
63
74
72
77
88
87
91
109
112
99
89
83
80
66
127
160
162
166
119
94
111
91
79
101
135
147
139
94
96
92
83
82
86
81
71
69
59
63
71
75
70
64
69
67
63
64
72
69
63
61
58
65
61
45
57
58
65
59
52
51
59
67
61
52
51
47
43
46
54
60
61
70
65
50
49
59
59
50
55
63
62
53
55
72
88
111
111
105
92
71
67
64
65
70
60
48
52
60
65
71
77
82
67
56
76
92
95
93
74
52
45
46
50
55
80
86
87
89
129
150
123
68
96
106
115
117
107
102
91
89
107
123
112
100
115
104
99
92
96
113
116
41
30
31
32
41
64
87
90
80
94
90
84
87
80
68
69
52
70
62
72
65
50
51
48
38
37
31
67
85
67
58
80
77
77
104
113
110
100
188
174
149
143
126
145
115
132
118
168
132
120
152
111
95
115
137
108
97
97
73
107
143
107
157
136
133
164
152
157
142
102
111
28
57
72
124
149
104
75
89
99
112
113
80
82
115
126
133
132
106
100
113
135
148
153
113
93
86
91
109
128
88
41
54
97
99
75
78
69
70
101
77
51
67
58
69
50
58
75
95
105
104
103
107
112
100
98
106
105
68
78
86
82
68
68
69
65
68
73
75
75
71
62
68
75
84
91
99
106
108
107
99
96
92
91
93
91
87
86
76
72
66
68
75
76
75
80
84
93
102
102
109
167
140
133
143
143
138
143
128
128
132
137
130
117
109
90
96
96
90
86
86
82
76
76
71
68
65
62
56
53
68
76
81
74
73
72
73
70
67
74
82
86
92
85
91
86
77
70
70
70
61
53
62
74
84
94
98
92
84
106
94
87
86
86
85
83
95
94
102
110
115
115
112
83
92
100
100
95
94
93
101
106
100
91
91
92
87
89
86
93
102
107
113
109
91
105
106
96
93
96
104
113
116
127
141
153
133
106
103
115
121
121
130
124
111
108
99
101
110
117
123
133
121
109
114
123
128
120
103
82
75
58
41
38
50
68
88
102
139
143
137
131
122
117
120
139
133
110
129
134
120
114
94
87
90
88
80
82
69
71
60
66
92
114
119
98
83
108
74
73
112
137
155
142
108
140
145
115
145
111
112
103
94
93
83
68
65
71
82
101
96
110
131
141
114
118
128
77
82
51
77
64
67
89
84
53
41
54
70
79
63
73
50
86
127
76
69
153
169
178
180
170
151
117
122
111
92
77
81
77
82
81
53
44
57
77
86
91
83
85
72
75
47
50
71
97
110
122
120
114
115
122
128
111
120
136
136
76
67
60
61
84
80
69
67
73
80
83
82
81
78
83
80
82
93
104
106
98
89
86
84
83
83
83
84
84
83
82
71
74
82
92
100
98
96
93
92
77
85
109
108
113
151
188
185
162
146
143
129
123
120
112
105
94
85
87
84
77
73
72
75
76
72
66
60
55
53
56
58
64
62
62
63
65
66
68
71
73
73
74
73
65
64
65
69
71
73
80
90
97
103
106
100
85
75
82
104
121
87
85
95
99
93
90
93
94
101
115
112
101
88
78
85
96
102
96
85
92
100
82
92
96
97
99
92
77
84
92
104
107
97
81
79
112
114
104
94
101
114
125
132
125
147
156
138
143
150
130
117
108
107
121
118
112
107
81
84
108
130
122
129
154
146
119
103
106
106
96
103
116
111
105
91
64
37
29
37
52
67
76
86
105
126
138
138
144
167
175
164
142
128
129
149
151
131
147
135
97
100
83
99
138
156
151
124
111
122
123
119
112
123
150
130
108
107
121
90
96
76
67
72
81
106
144
127
95
100
77
55
60
91
113
126
125
159
132
152
150
91
105
130
142
139
95
72
78
101
139
134
129
123
138
145
122
111
120
138
130
103
98
104
105
115
125
125
117
67
45
65
111
83
56
80
122
121
147
163
174
154
108
107
104
116
91
98
110
115
108
100
99
99
96
64
61
66
64
71
70
67
64
69
71
68
67
74
82
86
86
84
83
87
82
83
93
102
99
87
78
73
75
78
78
78
81
85
74
88
84
82
84
95
110
82
87
93
101
105
124
154
100
101
121
148
165
160
144
127
125
132
126
103
91
89
80
80
79
77
78
80
84
86
80
75
70
67
65
66
67
71
67
66
73
76
79
82
81
85
84
82
84
70
72
69
74
79
81
87
96
105
104
99
90
84
86
94
99
99
79
92
108
112
102
93
89
101
105
105
98
94
95
98
99
96
92
89
96
93
88
86
93
95
96
97
90
78
88
97
98
92
86
81
89
108
109
99
91
100
113
118
120
120
156
158
167
162
147
144
128
118
118
118
117
112
101
75
87
106
116
122
144
142
119
105
99
104
98
86
106
119
115
105
88
65
44
38
40
29
34
41
49
71
90
95
104
114
142
138
120
101
89
125
126
126
124
123
113
103
90
84
97
126
143
140
128
133
115
115
116
106
126
157
131
119
88
106
80
84
103
101
127
110
126
157
136
101
102
80
62
59
86
90
94
135
126
134
188
130
86
92
112
91
107
77
73
88
108
147
136
118
140
170
114
72
103
105
97
96
109
135
135
121
147
142
111
87
70
71
83
113
86
83
113
140
136
162
175
159
156
127
130
123
122
76
100
101
91
75
70
78
83
82
68
67
72
66
68
59
51
53
73
66
54
60
71
85
92
89
81
70
72
77
87
94
91
81
76
78
83
88
88
80
71
73
81
83
80
91
131
141
112
87
100
108
111
109
108
111
119
130
118
97
92
95
91
130
125
126
137
130
96
79
72
75
74
77
83
89
87
83
79
85
86
86
81
71
58
50
55
62
73
80
77
84
95
86
89
83
87
101
70
60
86
92
95
92
90
92
98
83
85
85
82
82
84
83
80
100
106
106
104
106
108
108
94
95
90
86
90
100
109
95
98
95
82
84
106
122
123
117
104
93
88
82
83
69
77
72
74
96
105
96
104
104
88
71
76
94
117
134
162
130
160
158
152
149
136
143
142
142
119
122
118
95
68
63
85
116
123
126
140
128
112
99
90
79
66
64
51
56
62
75
98
112
102
82
69
60
57
56
64
66
51
48
40
42
35
34
42
48
36
69
86
79
76
71
65
64
84
80
81
99
102
135
146
101
111
117
100
110
115
116
118
128
155
135
140
142
156
126
112
139
169
171
170
187
171
87
87
119
154
149
124
127
134
141
85
151
108
85
113
142
101
78
69
74
110
91
70
72
53
80
95
74
133
177
206
170
160
159
124
132
149
127
108
87
81
81
99
83
105
110
97
135
157
157
169
161
113
95
82
83
59
77
85
88
89
98
109
102
86
55
80
112
126
61
65
72
76
74
68
64
64
75
85
87
86
83
68
68
72
79
82
77
72
75
84
77
78
79
82
86
84
80
93
83
106
145
156
156
172
163
154
147
146
119
112
123
129
121
113
109
107
131
136
153
120
160
144
84
100
132
94
91
88
89
91
90
85
79
87
85
85
89
93
92
86
79
81
80
81
86
89
89
77
72
72
81
93
106
109
108
101
95
94
96
95
97
95
93
91
90
86
80
74
70
90
101
99
92
96
100
95
87
92
76
80
83
76
69
91
99
96
87
112
114
105
80
72
75
83
79
73
72
79
80
82
87
92
94
93
79
58
54
78
108
126
133
136
117
124
141
152
151
147
148
149
139
124
103
117
122
112
95
90
87
93
103
101
90
56
44
37
42
62
82
107
111
111
117
128
134
132
127
125
94
90
91
84
86
90
83
78
79
88
99
103
97
89
66
76
79
64
94
74
70
68
80
78
91
115
115
155
143
116
115
114
90
96
123
160
131
153
145
114
116
122
128
152
110
142
183
174
157
151
163
159
157
137
159
149
103
140
147
149
71
183
162
104
108
113
67
51
45
42
63
83
140
139
66
75
111
95
112
118
101
91
107
113
106
109
87
91
62
56
68
85
54
41
69
64
49
90
98
106
134
110
85
114
135
131
115
112
106
66
54
48
43
69
78
119
150
146
133
63
70
78
79
73
72
73
72
78
84
87
89
86
69
70
74
79
80
76
73
77
85
72
78
86
95
98
90
79
61
76
99
152
175
164
157
154
152
147
144
125
114
117
119
124
106
90
97
126
140
123
108
153
150
107
127
149
98
100
103
104
100
95
90
87
93
85
88
100
108
105
96
88
86
84
91
95
90
83
82
78
77
85
93
103
107
109
103
98
99
101
102
103
98
98
99
99
89
77
76
83
101
108
100
88
92
103
106
108
100
80
84
80
72
69
82
80
95
107
110
100
72
64
56
59
65
64
64
73
71
69
72
82
94
98
93
79
76
79
105
132
131
128
144
131
136
146
150
144
138
138
135
128
118
106
117
120
109
86
71
70
88
91
54
51
45
63
90
111
118
113
95
97
94
100
111
111
100
93
96
89
100
104
96
104
119
121
104
111
159
162
153
129
95
74
75
75
80
114
80
84
108
105
99
113
136
128
129
114
108
118
127
119
123
139
134
126
159
159
123
112
116
125
124
95
117
163
181
158
156
154
156
143
127
153
135
130
128
160
146
105
171
117
75
84
78
41
31
40
50
100
112
107
128
97
76
101
104
113
121
121
114
101
90
87
90
81
96
74
74
89
91
51
45
67
56
48
110
130
157
176
156
119
128
144
128
127
133
119
86
78
78
77
104
125
136
142
124
114
97
96
91
81
72
79
87
86
80
75
78
82
83
78
81
83
83
79
73
73
76
79
87
93
97
96
92
82
73
74
83
98
154
189
174
149
145
141
129
126
136
124
114
145
144
128
128
139
107
121
189
176
145
125
126
129
125
87
92
96
96
93
92
96
101
103
101
99
99
101
99
96
93
95
94
85
82
75
69
76
75
76
82
86
97
104
103
98
96
100
105
107
110
105
101
102
108
110
110
119
131
104
93
86
85
93
97
91
88
78
80
91
87
82
88
98
123
135
137
104
89
106
86
77
78
88
94
96
80
82
83
86
93
97
97
94
98
136
125
85
87
109
125
142
137
148
156
159
159
156
155
158
136
112
97
107
107
95
72
66
56
48
49
86
105
103
105
102
97
96
101
106
89
80
73
65
54
54
79
111
134
142
139
132
147
164
161
143
144
175
164
174
185
165
167
124
133
133
77
91
112
95
77
94
120
101
76
130
121
157
157
147
154
128
110
150
148
161
164
135
126
160
185
174
153
133
133
138
103
102
104
84
106
121
114
102
110
103
82
92
79
134
104
90
105
45
45
42
41
63
149
81
99
136
132
135
138
113
130
159
176
165
130
123
134
130
103
93
55
51
67
87
106
105
82
82
98
108
140
170
177
184
142
104
133
156
135
141
126
117
115
113
104
104
125
146
138
123
118
73
63
51
47
59
64
66
80
75
76
82
86
84
83
81
86
85
79
76
77
79
77
76
80
83
86
84
73
61
65
53
185
200
194
192
183
154
152
146
144
135
130
136
114
133
146
144
142
142
127
114
103
119
171
169
137
136
113
108
102
102
105
106
105
103
100
111
108
105
103
102
100
92
93
89
83
88
95
98
98
98
98
97
93
95
103
106
100
96
98
99
97
94
99
110
116
113
112
114
111
104
98
108
109
98
95
101
105
99
103
93
91
88
93
103
144
136
116
108
108
98
100
97
90
85
81
77
79
75
74
72
68
67
70
77
85
101
85
84
100
111
115
128
143
141
140
140
142
140
130
121
121
121
123
95
75
58
42
34
50
70
87
102
96
81
103
101
93
84
86
94
89
75
79
82
81
89
110
129
140
129
149
160
168
183
179
151
146
158
147
145
153
158
156
153
150
161
119
130
144
106
106
92
107
98
58
70
117
86
107
154
165
131
126
150
115
115
121
155
154
124
123
111
103
103
122
125
110
106
95
88
86
78
107
96
137
113
97
154
118
122
100
78
141
72
52
93
84
101
97
160
73
90
138
123
118
167
149
102
170
176
156
145
147
121
79
62
71
58
46
42
21
33
41
83
88
82
113
117
144
187
179
143
85
101
150
134
120
114
126
118
121
126
112
127
164
134
135
145
68
58
47
49
70
73
71
75
75
79
88
92
86
82
87
91
89
81
75
76
74
70
82
83
88
96
93
77
59
56
73
204
185
171
157
113
146
150
149
148
122
120
135
142
157
153
114
94
149
134
114
116
111
172
207
153
119
108
100
92
91
94
94
87
79
95
102
100
99
97
94
88
89
93
95
98
100
98
94
93
95
97
98
96
103
113
102
97
94
96
99
98
96
105
119
121
108
102
108
110
104
89
91
93
90
94
104
108
99
108
95
89
92
102
116
160
123
99
100
127
119
93
89
82
75
63
52
56
70
66
67
73
82
92
102
104
96
85
93
105
100
102
116
126
129
129
132
139
140
132
122
125
120
112
56
39
39
40
70
78
89
95
93
92
98
94
94
86
80
91
113
131
116
109
91
75
78
99
111
110
141
165
175
177
180
160
121
120
138
132
144
153
149
149
163
163
158
108
121
138
124
100
90
96
71
35
71
84
64
112
156
162
139
117
116
100
114
124
158
149
115
120
114
93
103
126
114
91
118
120
111
106
80
132
80
115
103
129
148
104
92
146
65
136
97
88
118
101
142
124
151
91
103
109
107
149
159
116
133
156
156
150
135
111
101
107
66
76
47
41
52
31
37
43
81
55
41
75
81
153
156
150
141
105
121
163
143
135
124
128
109
113
132
128
149
159
126
140
160
53
52
55
64
83
86
85
81
85
81
73
77
92
91
89
86
83
81
80
78
76
74
82
87
88
79
71
74
83
90
104
111
83
87
109
158
168
147
134
133
146
138
114
116
134
145
138
133
126
112
142
135
134
118
95
105
132
89
84
77
80
89
85
72
66
77
75
75
75
75
83
91
92
91
91
87
81
82
88
92
87
89
88
80
90
86
87
99
108
113
118
116
115
112
102
91
90
94
96
91
84
82
83
84
83
83
83
83
72
84
134
135
117
107
111
90
88
71
69
116
120
128
118
100
88
84
79
78
76
75
80
87
95
101
107
111
101
99
91
84
88
108
134
151
147
126
119
123
132
136
134
113
77
47
71
87
93
93
88
79
78
83
90
102
112
121
113
109
116
128
133
117
114
102
105
122
129
117
102
97
146
161
168
171
169
150
128
136
170
158
155
165
157
137
146
152
139
111
104
119
129
80
92
83
79
75
76
91
108
123
133
150
134
120
134
110
119
135
136
151
144
103
103
130
116
111
112
127
122
94
120
143
145
92
108
86
107
102
129
124
116
93
103
159
95
107
96
84
118
172
160
102
148
191
174
162
157
128
129
170
181
180
159
122
92
83
86
100
54
52
32
25
24
19
33
41
76
80
72
127
164
173
137
99
120
151
123
121
150
140
114
130
138
118
123
164
166
158
131
46
45
53
70
98
92
82
69
80
86
87
94
101
71
74
76
76
72
66
61
61
63
81
85
84
80
79
89
99
92
93
94
93
104
125
150
130
131
131
122
100
99
98
124
123
126
138
152
132
106
102
128
148
128
107
126
139
79
76
80
78
69
65
72
80
69
67
69
71
70
72
75
63
65
71
92
98
99
99
86
84
84
84
81
97
107
108
103
104
104
101
98
95
86
81
76
75
78
80
81
80
84
90
96
100
100
96
93
87
83
126
103
91
100
98
104
105
107
119
96
84
105
108
109
116
114
99
88
76
95
94
95
94
94
97
101
123
120
111
96
88
94
110
120
123
117
117
116
106
80
53
43
61
94
124
109
101
103
95
90
88
93
94
91
94
102
101
104
113
118
121
134
123
100
100
108
88
69
86
113
143
162
167
161
147
122
100
111
94
75
100
121
124
123
123
113
120
123
109
107
91
104
95
99
74
78
98
105
105
118
119
122
132
135
131
116
154
157
145
164
156
123
126
124
136
129
151
157
137
126
118
112
141
116
106
114
106
81
113
80
39
37
124
92
107
125
144
91
117
172
107
121
116
126
141
155
161
150
141
133
132
136
130
126
129
136
132
72
79
73
55
55
28
44
58
53
52
75
102
151
117
82
100
133
141
169
103
88
142
136
120
125
106
96
114
149
152
152
137
46
45
53
70
92
84
73
73
76
85
95
96
85
73
81
83
81
75
66
62
65
69
82
84
84
86
90
97
100
104
109
101
93
94
120
141
135
118
102
100
104
91
78
89
102
134
167
169
105
85
109
120
114
108
124
127
108
86
82
91
97
86
74
73
73
75
67
70
72
71
69
68
59
63
71
93
98
96
92
87
84
81
83
86
92
101
97
85
84
87
83
83
84
75
76
77
78
78
78
78
78
83
88
94
98
97
92
88
90
88
95
74
84
99
84
84
75
98
124
91
87
89
92
96
104
100
89
87
97
104
103
100
98
98
101
106
127
123
112
94
83
88
101
113
134
127
121
96
63
47
48
79
108
129
103
100
110
118
109
106
105
105
98
96
104
112
120
116
107
107
121
130
95
84
91
98
82
77
85
89
101
107
108
108
103
88
73
73
62
74
116
141
139
132
115
98
102
110
83
89
98
116
113
118
97
107
120
110
130
133
146
147
139
139
133
141
151
159
166
159
139
129
122
107
129
126
150
150
131
132
119
111
134
134
119
113
94
86
115
68
48
61
71
60
133
126
140
92
120
169
101
94
128
158
167
160
159
164
162
137
145
156
145
124
108
96
78
60
88
59
38
51
36
39
47
46
52
83
107
142
152
99
109
138
135
163
119
94
134
129
129
121
82
91
127
145
120
85
65
66
68
71
72
70
68
66
71
72
73
74
70
64
73
76
77
76
73
70
69
71
74
84
89
90
92
97
99
98
88
101
104
97
83
99
96
91
108
111
103
72
75
96
121
152
179
178
157
130
121
116
115
113
122
135
129
129
118
94
91
97
87
86
98
98
98
82
85
89
89
86
83
78
80
80
81
85
84
80
85
87
82
83
86
82
100
105
82
79
86
81
85
87
83
86
88
83
74
68
69
71
75
74
77
82
83
81
78
84
98
92
87
88
84
76
93
100
116
112
77
78
67
65
55
50
55
70
96
110
105
106
109
111
112
113
115
108
109
107
96
91
99
119
133
144
106
83
63
64
94
129
135
132
120
99
98
91
81
99
94
92
90
84
85
96
100
92
76
61
55
61
59
59
40
48
69
80
101
106
83
129
159
179
178
160
131
109
130
156
155
152
146
119
92
91
123
131
122
97
95
126
114
122
93
92
125
147
177
156
146
147
134
128
107
82
159
148
157
180
145
117
133
113
132
116
129
142
127
108
109
151
170
153
171
145
77
62
87
125
71
58
43
24
107
171
96
99
128
165
159
85
153
160
128
131
156
166
176
164
148
164
171
138
107
98
92
100
100
64
84
77
69
64
131
81
50
62
72
75
89
94
86
111
140
147
158
141
123
133
128
154
128
90
119
124
127
114
96
93
95
92
84
71
59
55
50
59
57
61
72
77
75
68
75
71
70
74
73
64
58
58
80
87
91
93
91
91
91
98
97
95
92
89
84
81
85
83
81
79
61
88
132
148
143
143
91
69
152
107
110
164
179
154
153
129
92
100
131
156
151
129
115
107
103
96
91
97
102
102
98
95
85
77
66
86
74
103
93
89
96
90
93
101
77
108
128
92
76
79
84
100
96
82
80
80
78
76
76
79
82
84
86
91
97
97
94
89
98
88
89
92
89
91
97
93
117
109
74
77
79
68
57
46
44
61
79
85
86
92
80
73
77
84
93
102
88
111
128
124
111
103
95
89
49
77
105
131
133
117
107
105
95
87
66
53
54
64
87
94
104
105
89
69
80
74
63
66
73
65
56
75
96
123
139
139
141
145
147
149
165
171
168
165
145
122
115
98
121
115
113
123
115
92
70
121
91
84
84
87
121
134
130
85
72
76
107
89
130
161
123
110
121
70
80
166
142
158
163
149
145
140
141
137
153
141
171
171
146
174
164
162
106
140
41
39
22
86
111
28
40
61
33
134
150
64
91
175
155
166
123
131
110
153
166
133
147
161
141
148
169
144
127
100
118
129
113
109
102
100
99
87
98
29
61
61
54
53
46
71
73
111
148
152
137
138
149
141
144
144
145
117
96
109
106
91
77
91
101
79
83
83
73
55
51
50
59
65
74
81
79
70
66
68
65
66
70
69
64
59
59
79
86
91
92
92
91
91
97
95
91
88
85
81
78
79
79
77
77
70
84
112
144
109
74
53
97
138
95
112
179
166
181
156
90
104
116
128
141
146
143
133
116
102
91
101
106
105
100
97
97
89
98
91
107
128
109
95
99
91
84
102
114
77
105
129
95
82
88
90
97
88
82
77
75
78
84
89
90
89
82
81
85
89
92
91
87
88
76
75
81
82
83
88
101
100
87
74
75
79
85
67
58
58
72
88
94
100
94
90
90
97
101
97
91
91
111
125
115
93
73
53
40
58
111
124
120
100
86
84
76
80
87
86
82
86
92
106
117
120
110
100
99
100
109
82
65
64
62
67
101
117
126
124
115
119
132
142
148
157
165
166
156
127
100
92
124
109
123
148
146
112
79
80
115
87
78
85
101
132
141
117
73
74
68
80
131
163
152
124
120
119
114
130
151
151
158
149
150
151
134
137
127
130
133
152
165
158
173
187
159
85
110
37
5
26
84
75
56
69
44
40
168
180
124
111
128
138
182
120
137
94
142
157
115
149
183
148
174
162
122
141
138
143
142
141
168
126
112
96
81
45
37
64
63
66
72
58
77
87
117
146
153
146
139
153
150
150
144
143
119
102
117
115
78
111
124
89
78
95
105
93
57
56
60
70
82
91
89
71
56
54
49
51
56
63
68
70
71
71
84
90
95
94
94
91
92
97
92
80
77
74
72
71
70
77
77
78
87
80
75
66
74
73
74
110
102
121
102
120
163
153
133
128
121
120
111
105
106
105
107
122
138
121
93
96
105
109
106
102
109
105
99
191
190
135
151
115
97
90
108
119
89
91
117
89
82
96
98
91
86
87
80
76
79
87
93
92
89
82
80
81
83
85
84
85
84
78
76
78
77
77
80
76
107
116
97
93
94
90
79
75
73
74
75
76
87
81
78
76
80
82
81
78
62
68
67
58
52
60
75
84
76
97
105
115
116
111
110
118
132
135
109
106
104
100
96
98
89
75
68
59
44
50
51
57
54
39
40
86
125
106
88
80
83
92
92
84
92
106
118
113
95
86
93
100
122
148
158
159
131
92
81
92
97
101
105
115
113
109
120
100
86
63
86
103
107
146
142
133
137
129
125
129
138
147
142
159
171
157
163
152
128
145
154
160
154
152
168
86
162
83
149
151
141
132
81
43
58
125
107
165
87
4
63
127
131
138
112
115
117
134
131
141
169
171
168
143
133
125
158
134
138
169
162
150
98
117
96
82
49
72
78
92
86
95
102
74
91
135
156
154
158
150
150
150
153
148
141
115
102
125
126
133
81
73
131
71
79
82
74
62
68
73
79
81
80
70
59
53
51
54
59
65
69
75
80
79
77
84
91
95
95
94
93
92
95
91
82
80
80
78
77
79
88
90
86
87
86
89
89
73
80
74
80
116
108
139
176
141
115
118
111
110
103
101
102
105
104
99
95
94
116
126
124
112
98
93
95
97
105
94
169
151
153
130
97
96
98
95
100
130
103
130
114
97
91
89
85
92
89
90
89
81
70
64
66
70
76
77
77
76
75
72
71
77
80
84
81
79
79
80
106
85
67
74
92
89
95
91
90
86
79
71
68
70
77
85
90
86
76
68
61
85
101
119
126
118
102
87
79
81
73
70
88
108
118
124
124
128
124
90
73
61
52
47
45
51
62
63
61
73
83
78
79
84
97
122
152
150
126
122
141
156
170
174
163
142
126
114
99
91
85
75
104
110
143
142
122
103
96
126
121
132
123
123
108
94
61
60
51
71
73
107
109
153
123
120
160
153
114
132
157
129
150
164
156
156
150
147
135
122
126
166
155
110
124
70
116
156
171
106
107
79
122
66
31
24
44
136
123
79
89
111
117
137
112
117
110
84
122
141
131
161
176
152
151
149
127
141
143
154
136
132
134
83
73
59
37
65
81
65
81
94
161
154
72
90
130
156
151
151
159
126
136
152
157
152
122
112
138
142
88
64
62
74
75
76
74
71
75
77
76
76
82
82
71
60
57
59
66
70
73
72
76
79
75
71
77
85
91
94
94
93
95
95
92
86
85
86
84
83
86
90
90
90
88
89
97
84
73
85
76
67
96
109
140
126
125
88
90
117
103
105
103
98
95
96
102
103
101
107
125
130
125
114
105
103
103
107
103
154
160
144
120
106
94
97
100
103
132
103
125
117
97
81
78
80
88
86
88
88
80
69
64
67
72
80
79
77
75
74
74
74
77
76
80
88
95
96
95
92
74
64
80
86
71
70
84
83
77
67
58
52
47
48
59
68
66
65
74
88
109
117
127
130
122
112
105
104
78
89
87
95
107
114
118
112
102
86
53
38
32
32
62
81
99
104
95
87
91
95
87
84
88
105
132
149
143
117
121
144
158
170
177
167
137
125
118
114
116
105
78
64
90
145
133
114
120
138
126
117
126
110
128
109
104
88
53
30
63
77
109
111
98
124
154
157
122
129
168
126
121
145
158
169
177
164
160
150
126
114
145
134
87
96
114
135
193
88
87
77
116
144
65
70
67
70
102
96
108
90
78
117
153
87
115
85
47
95
134
130
157
165
129
156
141
114
149
155
151
128
164
174
122
99
52
37
62
81
78
77
92
148
131
99
116
119
140
155
153
158
117
131
144
147
146
125
121
148
148
88
61
67
82
43
57
66
68
68
62
61
79
78
74
66
59
61
80
69
75
83
84
80
71
62
58
69
79
88
93
95
95
93
96
93
96
94
88
85
87
88
88
95
92
84
88
78
82
79
80
85
85
85
91
94
96
100
103
103
99
95
97
102
105
103
98
95
96
99
96
105
97
117
124
125
145
122
102
100
115
133
140
123
112
117
112
104
111
115
95
111
111
75
62
76
80
62
69
77
81
79
77
71
69
74
94
92
81
78
72
70
81
82
85
109
118
106
96
100
88
68
60
67
46
41
50
54
72
77
77
83
82
90
106
122
122
108
103
102
99
96
96
97
96
92
87
80
76
71
43
42
48
70
88
85
75
52
61
91
98
104
98
112
120
123
123
118
102
108
104
102
107
116
129
150
154
128
101
96
121
137
129
134
152
165
152
139
130
124
107
83
100
92
146
141
140
138
115
92
91
92
111
123
110
117
109
75
87
115
93
58
83
146
135
148
153
134
136
143
115
131
150
175
191
183
162
151
153
122
136
105
87
68
110
108
139
115
131
82
75
126
93
114
134
100
64
121
145
44
142
104
131
91
112
129
106
56
86
166
146
124
92
92
136
139
154
161
147
151
183
195
137
164
133
92
90
95
65
79
130
126
139
138
148
109
83
123
164
161
145
115
123
116
155
159
133
142
160
165
138
131
123
94
66
82
91
86
67
61
63
66
65
61
54
49
51
68
80
77
73
71
70
68
64
61
66
75
84
88
90
90
88
90
87
88
87
84
84
87
86
91
85
80
89
84
85
88
90
95
100
100
96
98
98
100
102
102
101
98
94
100
100
100
99
98
97
98
99
103
97
105
104
156
183
133
119
124
124
94
111
120
101
108
100
89
84
83
103
112
121
123
100
99
107
95
83
83
77
71
76
91
94
83
76
80
74
74
86
91
88
86
88
84
54
54
57
59
62
67
80
85
81
92
93
86
82
74
67
76
89
90
104
112
120
113
102
101
99
86
85
91
99
102
99
94
91
88
78
91
109
123
137
139
126
122
126
111
93
97
86
73
105
119
135
145
142
96
88
93
94
105
128
156
170
146
116
109
110
123
136
148
163
179
173
155
144
149
140
118
111
108
136
133
134
156
162
152
150
142
157
152
117
130
118
112
129
122
96
88
99
126
129
139
148
157
168
162
129
127
135
145
158
171
165
152
145
166
159
148
117
113
71
85
134
117
118
114
74
116
130
110
72
133
137
113
128
127
48
86
123
146
83
132
142
155
126
146
126
106
143
122
111
153
152
143
145
159
178
194
167
142
162
135
109
101
87
85
130
127
113
136
155
166
109
106
143
163
157
147
119
111
102
144
163
142
135
135
137
139
131
96
64
71
90
99
92
61
53
54
57
56
53
48
46
51
67
78
73
68
68
71
71
69
67
67
78
85
90
91
89
89
90
88
86
86
87
89
90
80
96
95
90
83
80
91
90
93
99
102
101
94
94
105
105
105
104
101
96
92
98
96
94
94
95
97
96
96
104
92
111
161
195
176
142
132
123
127
123
110
101
93
101
91
85
86
86
105
126
112
119
105
113
120
103
95
79
84
85
82
80
76
74
79
82
81
84
92
93
84
74
54
64
56
66
82
87
86
96
103
102
91
86
85
80
85
76
77
91
97
87
92
100
115
116
103
94
90
91
103
108
113
113
110
105
104
105
100
103
113
126
135
132
121
112
132
125
110
96
77
76
111
121
132
138
134
91
84
97
106
122
144
164
160
115
97
111
129
142
151
160
167
171
169
147
136
146
136
117
120
119
140
127
141
156
153
146
157
166
171
150
137
132
98
102
121
107
86
107
137
149
135
139
137
146
157
141
110
91
130
154
155
158
166
167
165
171
144
150
152
154
74
64
163
105
126
110
91
113
136
102
100
146
121
125
142
155
32
91
124
112
88
135
130
178
117
117
141
131
164
114
128
137
133
137
152
167
173
174
157
142
174
144
117
120
127
104
104
87
121
120
150
172
129
125
144
146
142
141
119
118
114
149
161
152
155
144
132
145
122
73
46
80
97
103
92
57
48
50
51
50
49
49
52
60
74
83
79
74
72
70
67
61
58
76
83
89
92
90
88
85
85
87
88
90
94
96
96
93
82
82
87
96
99
96
90
94
96
95
94
94
92
89
92
97
100
100
98
95
92
92
92
92
93
94
96
97
92
86
103
120
113
107
115
95
95
92
110
124
120
107
95
85
86
97
100
104
119
111
113
86
82
91
93
117
127
119
100
79
69
64
68
78
84
79
74
70
80
92
92
113
111
67
67
78
85
88
78
73
72
77
96
112
126
114
111
117
115
92
70
75
88
89
85
90
108
124
129
134
132
126
120
118
117
118
119
108
105
108
121
126
118
113
114
124
131
108
85
93
123
113
113
108
100
95
87
97
108
124
132
138
143
126
113
109
127
142
141
141
152
161
164
133
123
125
129
125
123
127
132
110
138
168
171
168
171
154
151
146
148
104
100
136
115
121
119
109
106
104
130
115
133
169
193
170
123
107
171
122
97
132
174
172
150
145
149
143
138
129
133
72
116
152
119
205
167
147
114
161
92
91
160
200
165
156
127
99
114
128
105
113
125
107
111
103
131
146
141
108
98
123
127
137
155
155
156
173
190
175
163
121
102
102
95
72
58
53
86
122
115
155
153
158
158
157
145
153
148
114
127
130
147
142
148
169
152
123
122
101
88
89
83
90
82
64
45
46
54
57
56
54
53
56
62
73
80
78
73
64
58
55
57
59
74
79
82
83
81
76
73
71
77
81
84
90
91
88
81
91
141
161
98
103
87
70
74
76
73
75
92
93
82
86
91
93
91
84
76
67
72
78
79
75
74
77
80
86
86
79
94
100
96
97
99
95
92
87
74
88
124
135
116
100
96
98
100
100
105
117
92
80
86
87
84
101
116
125
119
102
76
57
52
59
76
89
89
89
80
59
79
82
86
94
94
90
91
97
108
101
82
118
129
116
109
105
107
96
79
83
104
115
119
117
115
119
118
114
123
118
114
116
121
125
122
118
119
95
85
99
108
108
113
116
121
127
79
88
111
110
136
141
135
119
100
74
83
92
109
115
119
122
98
77
109
127
145
149
145
141
139
136
98
117
147
142
147
160
150
137
125
181
174
170
174
166
167
150
144
128
124
139
120
95
85
89
92
90
117
146
138
147
169
163
129
120
114
101
139
163
161
160
159
142
123
101
145
121
115
146
84
123
141
117
145
158
137
177
154
97
158
155
162
100
144
129
118
128
119
103
116
75
61
115
156
141
113
109
80
126
123
121
133
132
134
158
176
169
143
148
102
76
80
89
84
50
59
91
89
161
139
122
165
167
162
148
157
151
153
171
147
152
151
146
144
145
164
81
73
101
104
85
78
70
62
55
53
52
47
47
50
52
56
60
66
68
66
67
67
61
57
60
67
72
81
86
77
73
76
76
75
78
81
89
80
74
87
134
169
157
114
104
87
74
65
81
57
64
75
96
91
100
82
90
100
90
84
76
64
72
65
59
68
73
78
89
98
87
91
91
86
80
79
91
100
98
97
90
85
95
129
138
129
104
92
88
70
104
122
82
87
92
91
89
86
87
94
118
126
93
63
65
75
68
55
60
67
74
84
95
97
95
92
90
85
79
96
86
85
101
119
118
119
118
124
115
105
108
112
141
157
142
128
120
116
114
117
117
119
121
121
114
111
117
124
126
95
98
118
123
113
104
111
127
114
84
100
116
130
132
131
124
108
92
89
91
87
107
115
101
85
76
87
112
135
143
134
134
140
134
127
104
131
157
158
160
163
159
124
122
176
166
154
150
139
126
131
129
127
151
149
136
98
95
96
107
117
124
114
121
188
136
167
159
106
108
124
141
146
139
138
144
141
136
127
126
56
126
161
87
112
117
103
99
122
118
161
153
104
158
184
129
112
127
123
155
89
74
76
65
63
61
128
106
123
99
71
92
102
110
133
130
153
165
174
129
126
147
169
63
75
90
86
46
69
60
79
87
158
119
137
170
155
167
162
167
147
161
159
140
155
154
131
160
178
134
86
93
114
118
69
70
70
68
63
58
56
54
53
53
55
58
60
52
52
53
56
58
57
56
60
65
72
76
82
84
84
86
88
91
95
94
94
92
120
167
185
145
117
112
88
86
89
92
96
91
91
128
124
117
109
110
139
135
83
63
77
68
64
59
65
75
72
71
79
72
78
80
76
72
74
79
86
77
69
81
74
69
77
73
87
112
130
125
87
83
87
126
92
74
60
68
58
66
62
70
74
75
102
112
84
81
66
58
67
77
85
91
90
94
88
80
76
72
69
64
63
72
90
113
118
123
129
120
102
97
109
121
137
119
120
122
121
118
113
114
111
101
91
89
93
98
106
112
114
118
124
127
114
97
93
104
101
93
106
116
124
133
139
122
98
86
93
119
120
116
115
119
133
141
124
88
91
85
80
91
117
129
125
122
114
131
146
157
170
170
156
125
123
138
147
169
170
145
141
134
134
139
111
105
111
117
107
100
72
86
112
117
155
139
137
185
158
140
136
88
87
118
168
183
158
151
171
164
129
139
172
145
76
113
155
154
137
147
138
166
162
97
170
211
164
142
146
101
108
56
49
59
66
79
81
104
116
104
87
111
110
81
99
150
157
157
131
145
134
146
145
124
58
81
74
77
95
62
64
92
101
123
110
154
171
167
159
128
152
165
129
141
151
145
146
165
158
127
113
115
90
53
43
66
70
75
76
66
60
56
54
60
66
66
62
58
63
53
57
60
63
63
64
64
64
66
62
65
75
78
80
90
100
90
77
86
83
88
111
157
138
133
118
68
76
77
78
73
101
93
99
152
177
147
122
115
104
77
77
84
71
67
69
72
66
59
61
68
89
84
82
82
80
76
70
68
65
71
81
80
86
93
92
84
76
84
112
125
103
103
104
63
75
77
83
76
67
65
47
57
97
113
102
102
98
78
77
85
89
85
79
74
75
68
67
75
85
90
84
79
74
74
84
94
102
107
100
93
90
91
99
115
111
108
106
108
112
110
96
88
94
102
107
105
100
99
103
119
130
133
128
110
97
100
109
101
105
117
112
118
132
137
129
117
115
124
136
131
115
116
121
131
133
119
120
134
120
106
102
99
89
92
110
134
133
136
155
173
171
158
130
122
141
147
148
154
164
162
152
132
112
117
125
125
117
103
108
100
96
83
128
139
164
167
145
126
160
126
99
105
104
107
135
165
150
107
118
116
85
114
120
75
119
150
164
158
170
156
156
119
100
169
147
108
154
135
87
38
78
120
95
64
79
93
95
88
71
66
72
76
86
91
117
118
133
134
146
110
106
119
103
109
77
93
97
54
79
68
77
100
129
137
171
169
165
158
133
156
157
158
148
146
151
149
129
108
92
79
89
79
71
73
69
73
78
77
67
65
65
60
60
60
60
60
60
59
61
67
71
71
74
78
75
70
81
70
67
77
75
79
98
109
125
136
150
142
118
104
83
113
126
110
75
60
54
57
71
54
83
149
135
118
99
118
115
101
96
79
63
63
58
59
58
59
76
84
73
67
72
70
71
75
74
70
70
78
89
85
97
101
86
77
85
86
70
54
92
119
124
117
71
68
54
60
65
70
88
92
96
105
92
82
100
79
85
92
77
65
69
74
66
68
72
74
72
64
54
37
48
65
81
91
83
74
69
71
86
96
92
93
90
94
88
83
86
103
119
124
102
103
106
110
109
107
108
111
102
93
108
122
119
113
118
100
92
102
103
102
112
120
123
114
103
101
110
123
118
105
114
117
113
113
113
129
127
109
98
114
138
135
113
101
103
104
117
144
153
146
147
128
134
149
145
137
146
168
171
168
156
140
121
117
114
106
111
103
109
73
52
131
150
160
140
157
153
144
121
95
103
126
166
158
84
72
144
147
155
125
103
119
84
72
115
124
152
168
157
182
143
104
151
173
169
144
163
130
95
94
100
83
74
82
79
100
94
86
90
66
69
120
128
135
138
154
160
143
105
158
148
114
110
120
118
96
115
121
109
94
104
128
151
166
174
163
148
129
163
160
158
136
140
158
145
98
72
61
37
112
102
65
41
69
73
76
75
68
68
70
71
64
58
60
64
67
56
60
67
72
73
77
82
80
72
90
78
71
80
78
82
103
163
178
149
141
130
106
91
95
111
98
77
78
82
97
83
57
72
140
138
134
124
117
139
125
106
111
91
65
77
68
59
53
55
77
81
59
62
73
68
66
68
70
69
61
65
70
76
111
129
115
107
93
82
79
71
78
99
125
134
91
70
43
54
67
79
69
60
65
81
93
89
79
67
90
101
80
67
82
98
69
67
62
65
64
57
47
58
66
78
88
82
65
51
56
50
59
68
71
86
101
100
104
108
114
122
126
118
96
96
100
107
110
106
100
97
85
69
90
115
118
113
116
100
92
98
95
96
105
106
96
90
86
92
109
119
109
90
100
103
104
113
120
127
114
108
108
127
150
144
119
103
97
89
98
123
132
133
145
125
141
142
140
142
150
165
157
151
149
148
114
111
120
133
121
80
95
86
94
131
133
139
118
147
142
137
128
75
89
149
177
139
115
124
121
121
152
100
109
139
87
70
108
143
177
144
162
200
135
122
162
150
139
135
141
135
94
100
121
105
67
44
54
78
75
62
73
63
57
87
83
142
129
139
152
134
102
177
156
103
123
125
142
130
121
110
107
93
99
123
157
173
169
158
137
117
164
172
151
150
149
142
113
79
77
90
88
85
71
64
59
63
64
65
64
61
60
58
52
51
52
58
67
76
77
68
63
56
52
53
60
68
73
76
73
71
69
70
75
82
109
159
114
124
130
140
131
104
136
134
135
166
172
130
86
65
59
81
120
159
133
117
125
110
107
116
91
70
90
67
61
64
61
59
59
53
53
63
74
80
79
72
67
67
73
70
72
72
59
47
70
68
60
58
70
103
119
95
88
95
106
94
71
96
77
82
87
92
100
102
92
80
69
67
86
110
115
98
77
88
71
77
80
81
86
88
91
76
68
75
88
82
76
94
92
85
72
63
63
79
87
88
94
104
107
103
97
91
93
105
112
100
86
84
86
83
83
99
114
114
105
97
75
72
83
90
93
102
101
93
80
73
81
95
92
84
81
99
117
118
117
127
120
93
89
119
134
130
112
88
111
157
145
120
101
85
85
101
107
126
139
159
161
148
148
117
122
128
130
115
111
118
91
94
137
138
108
115
129
119
137
154
153
156
140
107
115
123
125
133
138
92
62
94
96
122
127
123
149
105
96
131
171
180
161
167
187
127
148
154
148
162
136
149
114
94
66
61
66
54
47
40
48
66
73
70
75
87
97
106
142
126
93
95
110
121
156
152
134
142
130
118
140
128
104
116
123
126
132
103
67
77
140
141
147
179
163
156
154
141
103
89
125
143
125
111
122
96
82
87
71
77
84
89
78
65
57
59
59
63
67
73
76
76
78
76
73
70
70
77
86
93
79
80
78
72
68
72
79
123
152
145
177
157
171
163
121
128
126
152
123
145
118
89
87
79
62
51
66
68
82
81
86
79
78
108
132
98
82
67
60
56
55
58
61
76
71
69
58
50
61
79
75
69
62
72
72
75
87
74
80
79
78
80
78
84
106
96
93
107
126
124
74
93
89
91
94
89
81
89
104
104
104
84
73
64
87
135
130
94
60
58
64
77
88
95
91
94
96
76
84
101
80
78
77
82
86
84
73
64
65
67
66
59
51
50
59
66
82
87
75
67
70
73
69
57
63
80
98
112
119
87
84
88
93
90
95
103
91
89
90
94
95
84
82
93
110
124
121
117
125
109
106
111
119
120
127
128
113
110
132
104
91
97
89
74
72
51
72
60
59
67
93
131
107
138
150
114
103
128
118
95
115
122
78
67
104
107
102
114
111
132
122
106
133
141
160
156
167
117
88
112
46
92
99
96
97
132
106
123
148
162
154
139
159
168
114
169
165
153
152
132
149
132
164
102
46
41
56
61
79
109
106
101
102
101
85
72
74
71
77
57
67
125
145
132
104
110
158
151
143
147
138
112
90
75
93
138
108
70
121
171
148
119
129
129
164
117
85
101
149
164
157
147
133
124
111
106
90
79
84
88
83
64
63
64
68
67
68
70
73
76
79
81
85
88
84
78
80
88
96
82
80
76
68
62
62
66
108
110
136
159
151
172
154
150
133
129
110
94
114
125
113
98
75
65
78
81
69
65
61
75
81
69
80
98
113
94
72
60
61
62
61
63
63
62
62
69
80
88
90
75
80
86
90
73
65
73
72
75
71
67
70
81
93
123
118
106
100
118
135
84
79
81
92
102
94
79
80
94
99
76
61
69
66
70
95
112
102
66
53
66
88
96
86
98
103
93
79
86
93
84
80
79
81
79
73
68
83
82
83
81
72
65
67
74
74
83
90
88
89
93
94
87
67
65
74
85
89
90
87
82
76
74
74
75
82
84
80
80
85
89
84
82
83
85
95
104
103
104
108
98
120
120
113
120
124
108
84
105
90
86
92
76
56
52
69
60
53
40
64
114
142
97
133
147
114
110
129
115
116
93
98
86
78
98
93
104
92
105
145
120
103
145
134
151
161
131
92
119
118
29
90
106
114
140
175
107
78
136
147
153
143
150
151
116
137
141
146
147
130
142
133
124
97
71
71
82
81
74
69
57
45
48
57
55
56
66
63
82
66
72
126
142
119
122
127
151
140
136
133
132
94
64
62
103
120
86
66
89
120
123
128
141
151
147
96
98
125
148
151
163
170
153
95
94
97
79
80
77
67
53
39
48
58
61
64
68
71
75
78
82
79
78
76
73
71
71
73
75
68
74
89
102
105
98
94
77
68
86
98
111
87
77
54
104
103
74
92
79
53
87
116
127
113
93
61
66
63
62
63
67
75
87
131
125
120
100
85
84
77
66
65
69
71
90
101
95
78
64
89
89
84
83
82
82
88
89
98
100
96
91
76
80
102
100
103
108
109
110
138
123
111
96
82
73
72
82
94
90
90
84
70
59
59
63
70
88
112
93
78
69
60
78
84
92
97
94
92
90
84
76
73
79
83
81
89
78
78
78
80
78
76
79
81
74
73
76
79
88
92
88
78
94
89
81
78
77
76
89
110
106
74
76
75
77
68
62
56
56
58
67
71
84
78
77
75
66
62
59
66
66
46
61
80
90
122
136
97
71
54
55
63
87
122
126
115
121
100
82
71
57
109
133
134
134
121
86
78
123
110
104
79
66
73
130
98
95
121
128
115
114
110
139
138
122
81
93
126
113
107
93
146
125
112
141
125
163
177
142
128
94
72
80
111
130
135
153
150
136
118
112
142
117
98
85
84
109
114
85
77
60
51
55
58
56
60
62
57
43
62
113
141
158
125
120
110
103
116
113
125
68
39
42
83
88
86
103
126
131
121
121
114
107
109
127
159
162
151
156
154
143
146
75
71
80
79
79
71
60
51
51
53
55
66
59
60
65
65
68
70
58
63
67
70
76
84
90
92
95
83
76
73
74
77
77
80
96
88
164
163
108
130
155
143
106
77
81
73
71
72
68
85
122
136
90
80
81
69
62
61
62
74
92
78
84
83
94
109
91
69
73
65
60
55
58
72
85
90
87
108
82
100
68
77
97
75
94
94
82
87
87
87
98
104
107
104
107
115
122
120
122
126
122
97
69
66
83
65
73
84
72
57
58
60
62
52
78
107
105
83
71
78
81
101
105
55
70
90
98
84
70
66
66
66
72
65
69
72
72
72
79
90
103
95
73
63
70
75
80
96
95
92
74
84
90
80
94
97
89
97
91
55
46
62
65
68
67
61
55
58
59
65
46
53
66
57
55
59
39
67
61
89
95
51
55
77
84
51
18
23
55
71
42
52
108
134
106
77
104
109
107
58
65
131
73
79
50
71
100
109
95
98
78
133
155
120
110
112
123
129
121
137
140
134
122
110
113
129
148
120
69
60
65
57
52
67
88
66
52
108
90
70
85
95
67
78
104
112
124
86
93
99
122
130
112
109
112
109
99
83
76
67
39
26
41
12
36
77
87
99
110
97
100
114
113
78
66
74
73
71
52
38
40
79
95
95
111
95
70
65
99
147
160
166
166
168
146
148
147
116
128
85
63
59
59
72
69
62
57
57
58
57
64
58
61
69
72
76
71
70
73
72
70
71
79
86
89
82
73
73
81
87
86
81
75
82
103
155
131
74
96
134
126
98
78
78
73
78
75
72
79
96
112
113
108
87
78
72
66
57
57
63
87
77
62
81
119
120
91
74
61
57
57
67
83
93
94
90
82
94
87
100
104
92
90
95
87
79
82
92
110
100
103
102
99
104
111
116
101
102
111
126
123
103
78
66
80
85
73
57
63
72
65
68
66
66
91
105
100
93
79
90
99
85
71
87
89
84
73
66
69
75
80
88
75
79
82
82
82
87
98
99
88
70
72
94
104
104
110
85
98
90
89
92
92
103
104
86
79
95
83
75
77
84
76
64
55
60
87
92
87
75
66
59
57
68
70
85
93
85
80
76
80
74
35
63
46
28
29
52
75
62
57
74
104
85
95
112
115
115
132
100
86
51
52
56
33
92
88
98
112
80
145
126
118
105
104
130
129
111
156
149
155
142
122
137
141
104
117
95
66
48
36
34
48
70
50
36
88
95
81
74
46
47
65
92
108
112
104
103
107
122
114
83
75
85
95
105
114
112
93
66
45
37
16
51
98
117
123
127
121
86
108
145
119
97
90
84
69
48
48
75
118
126
128
88
77
77
93
124
164
173
164
165
166
145
147
146
120
131
89
78
80
58
56
64
71
73
73
64
53
62
64
71
74
72
74
69
69
69
66
61
62
69
76
79
84
93
94
89
85
86
89
75
99
96
109
130
115
109
90
83
86
102
99
93
99
92
87
78
71
74
103
114
113
90
68
62
67
77
77
52
46
33
41
80
109
108
98
89
74
69
68
70
70
68
86
96
91
91
126
102
88
75
87
90
87
95
95
79
85
89
93
94
94
95
96
116
100
82
83
107
130
130
116
70
52
60
73
75
69
65
62
71
67
73
86
97
106
99
81
72
78
82
84
89
87
87
86
83
76
69
66
82
82
81
79
79
85
96
109
101
92
91
97
101
107
114
137
145
147
105
78
79
58
56
81
98
93
98
100
95
72
74
79
84
90
87
77
71
99
95
70
64
63
81
81
55
115
132
88
82
98
126
82
54
64
73
80
104
105
95
74
62
79
56
29
76
102
58
48
94
89
68
62
82
80
45
83
136
135
101
166
97
82
87
91
119
119
58
64
50
72
128
128
101
112
105
102
99
99
98
95
91
103
100
99
56
68
86
79
71
56
46
69
105
122
135
125
109
98
85
69
64
67
110
100
110
110
89
93
108
102
94
77
84
109
118
127
150
110
90
84
83
77
83
94
135
126
127
127
97
98
104
114
78
84
114
127
147
164
164
168
160
138
130
133
144
165
91
77
98
116
112
110
96
76
66
62
53
62
71
82
81
75
82
92
72
75
77
74
72
70
68
66
73
70
76
85
85
75
64
90
76
82
82
86
91
121
191
162
146
143
109
93
81
96
90
97
112
104
79
93
97
109
115
96
65
53
56
60
56
49
46
53
74
96
108
89
85
79
70
63
66
73
70
65
55
72
89
129
87
91
74
82
105
99
72
83
90
97
106
109
104
97
102
101
106
101
85
75
79
89
95
126
108
75
63
70
73
71
69
59
64
65
54
62
90
114
116
94
64
75
75
67
61
71
78
76
71
70
73
69
71
73
77
82
90
99
88
80
87
103
109
105
90
72
74
90
135
130
117
139
117
101
118
124
84
77
82
88
108
109
102
85
70
76
83
61
61
63
82
110
121
127
111
113
115
96
85
89
87
98
105
104
119
104
96
123
125
110
116
116
79
72
97
40
41
44
55
64
106
88
90
111
81
93
86
78
101
95
81
75
75
76
104
116
92
92
88
89
80
67
73
85
79
99
91
110
100
79
77
88
93
83
86
85
78
82
87
101
85
85
88
79
86
78
82
70
63
74
86
86
79
71
58
83
123
120
93
77
72
54
40
59
100
110
96
93
68
60
94
127
131
124
127
119
111
93
78
134
156
148
100
68
66
104
138
151
161
148
160
150
140
124
117
137
142
152
126
103
109
78
96
110
112
103
82
59
66
73
82
82
80
88
83
73
78
78
76
73
72
71
69
71
69
72
77
78
75
69
80
67
89
91
78
83
132
153
138
139
148
133
124
113
82
83
90
99
98
99
111
82
99
113
103
80
69
66
55
52
54
56
57
69
92
110
102
97
92
80
67
61
62
71
60
67
64
95
115
77
68
84
114
119
89
76
89
105
103
102
105
102
97
99
100
95
86
72
66
72
86
100
136
136
105
84
78
74
73
68
62
63
70
66
70
85
93
112
102
75
79
78
75
80
81
78
74
76
77
64
65
70
76
80
82
81
80
84
83
97
106
96
84
73
60
72
78
120
120
97
119
103
107
116
130
120
100
91
93
103
112
117
108
96
92
93
76
74
80
91
106
123
104
92
76
69
95
101
84
93
106
82
76
82
72
93
149
163
158
150
132
106
106
104
66
80
70
76
96
120
79
107
96
101
98
104
109
101
57
77
82
72
59
88
99
80
68
64
84
87
63
66
80
68
96
88
93
74
60
65
72
74
72
71
94
88
72
67
68
77
73
62
56
53
57
61
66
69
70
65
56
61
76
69
76
90
87
68
56
62
65
45
58
85
91
77
62
51
59
98
121
114
96
94
95
100
108
114
141
139
121
119
91
69
87
124
137
168
152
156
139
140
134
131
153
145
97
97
105
104
75
66
62
69
117
113
89
77
84
93
98
92
79
66
81
71
69
78
84
80
76
75
68
65
68
71
74
80
88
79
90
99
86
84
86
82
118
151
146
110
76
75
92
99
108
128
146
143
117
122
95
110
92
88
102
102
94
84
78
68
60
60
62
62
59
84
97
89
90
90
82
78
90
96
84
81
86
74
100
157
143
120
107
112
111
95
91
95
80
69
82
90
83
88
73
71
84
87
87
94
102
93
106
131
144
126
93
71
71
65
71
77
77
79
85
65
53
82
115
78
82
89
89
75
68
85
108
110
97
89
83
87
95
90
75
68
101
94
83
77
82
87
79
65
62
38
95
96
45
50
40
31
43
62
86
82
70
61
65
90
122
115
84
98
91
68
69
55
50
62
58
32
67
56
61
59
47
54
57
36
28
44
65
64
74
77
54
102
94
88
83
67
96
99
128
135
99
71
53
91
71
147
115
110
129
138
147
135
98
109
125
125
124
137
135
110
81
69
110
113
110
142
125
145
110
90
75
72
83
138
131
59
66
60
33
47
76
102
118
98
86
102
70
92
77
83
85
102
92
62
61
64
73
55
58
66
60
61
61
54
56
71
72
71
75
73
77
100
84
86
100
113
127
134
127
137
142
148
100
67
47
90
103
96
106
117
165
149
156
158
139
110
99
101
98
127
120
106
102
58
70
82
79
83
91
88
72
74
76
73
72
83
130
99
101
107
114
111
103
100
103
109
107
106
106
110
120
131
117
118
140
132
115
123
151
138
140
128
122
128
123
130
123
106
128
141
112
128
121
146
150
162
143
85
98
151
115
107
94
82
72
64
59
57
54
80
100
78
71
85
82
72
68
66
107
100
64
72
65
68
67
66
68
69
60
57
60
68
84
92
87
121
92
76
71
78
81
85
95
102
86
69
68
98
131
129
106
82
76
65
76
85
82
72
64
67
57
71
114
86
74
78
98
100
83
74
75
75
77
76
73
78
97
110
95
62
50
50
63
64
52
51
62
66
69
112
110
60
55
55
55
61
73
103
104
94
85
99
74
47
65
107
56
40
49
37
44
70
79
62
74
84
62
57
69
77
89
114
134
101
69
54
61
60
54
62
92
91
78
58
80
86
109
119
99
86
73
52
89
100
115
135
176
163
110
116
113
112
118
125
136
141
126
115
85
69
98
106
125
147
123
128
126
98
76
114
135
95
76
82
74
69
55
86
114
101
88
78
90
88
65
92
76
64
68
59
67
65
59
67
63
84
80
84
82
66
71
77
46
40
41
36
40
58
71
77
66
99
117
140
152
144
149
135
144
151
140
100
84
103
104
105
110
126
146
155
133
129
122
118
116
113
116
124
120
153
189
179
62
65
70
72
83
83
72
65
70
77
79
74
72
88
66
72
83
96
102
101
101
104
109
115
118
122
129
139
148
132
119
153
146
146
155
150
134
125
113
120
136
132
138
139
128
140
144
121
130
131
129
150
122
99
106
116
132
116
111
104
96
85
74
66
64
74
83
97
107
82
61
73
76
70
72
97
79
39
48
57
58
56
53
55
62
58
79
89
87
73
64
68
79
79
63
59
64
67
73
84
90
77
60
46
58
90
113
120
117
94
74
78
79
77
78
77
81
69
68
114
102
87
79
83
78
71
75
77
70
75
57
54
76
92
81
57
56
57
66
79
83
81
88
99
102
83
103
102
58
46
52
46
48
56
85
90
82
73
67
52
40
59
92
79
75
73
71
82
91
86
80
77
66
60
77
83
72
94
115
94
66
82
87
61
58
73
68
82
90
84
66
47
88
102
103
76
77
63
61
135
87
139
139
142
128
112
131
122
111
128
124
113
123
125
112
76
102
119
122
146
135
107
146
138
128
136
134
82
58
106
85
88
63
66
43
132
68
81
80
102
104
79
91
65
54
63
57
64
65
60
66
80
79
63
71
68
46
58
83
66
73
76
63
44
38
40
52
35
91
107
130
149
141
131
136
156
145
99
99
130
120
107
113
131
146
156
118
106
125
132
123
110
97
110
143
116
119
126
115
87
90
94
89
76
78
73
62
60
61
66
69
68
68
70
70
69
72
72
69
63
58
74
79
82
82
80
74
66
67
74
101
76
128
167
124
98
84
71
68
68
74
82
60
75
70
69
82
64
80
105
143
105
86
123
119
84
100
110
129
142
139
122
108
105
124
137
135
118
117
126
122
98
105
124
116
88
56
63
95
97
99
104
104
89
81
77
61
63
77
82
88
128
113
102
98
98
94
92
92
88
80
78
82
80
71
71
78
116
136
88
73
88
87
67
57
53
62
53
56
94
101
93
67
48
51
55
46
66
79
100
108
88
64
59
64
70
84
87
76
74
86
87
78
63
48
61
95
77
42
48
58
53
50
56
57
53
47
45
43
57
56
43
94
93
73
28
32
60
41
19
39
73
64
48
38
32
25
33
54
40
32
39
53
42
28
34
83
32
69
70
58
45
86
57
87
94
64
118
57
60
78
112
120
132
148
106
94
121
95
86
98
105
109
121
130
106
107
146
123
113
161
139
147
80
105
124
95
88
97
45
70
118
75
111
29
70
84
93
87
80
81
55
59
60
74
76
84
73
53
54
50
90
93
95
111
117
106
78
63
60
58
61
59
61
71
101
86
80
63
61
73
78
87
89
115
126
135
129
142
127
122
122
123
120
117
131
137
146
118
101
121
122
115
133
147
130
107
123
75
71
73
72
72
74
70
80
79
76
72
66
65
84
82
87
87
79
69
66
69
73
70
68
66
68
66
56
41
48
67
59
93
126
99
48
69
67
69
69
74
78
73
76
66
68
72
65
62
50
66
97
111
111
105
123
146
89
79
70
66
65
74
98
126
126
106
61
81
109
113
119
128
122
125
135
142
121
117
99
106
116
117
111
117
127
99
106
117
114
101
105
103
108
104
108
113
107
100
91
79
98
95
77
69
75
76
68
51
72
150
126
74
59
76
69
65
51
53
52
52
78
113
98
78
78
98
108
85
61
49
45
51
51
45
46
63
52
45
47
48
45
40
40
44
42
47
88
78
34
45
43
40
37
41
46
51
53
65
65
62
71
81
77
114
157
105
98
108
88
88
91
100
124
116
94
101
112
114
123
105
117
131
109
93
84
64
79
101
79
87
99
107
55
68
17
71
111
73
37
123
119
120
107
103
109
93
88
104
85
94
91
70
96
132
96
112
129
94
94
123
114
124
114
123
123
97
88
103
75
116
61
58
52
59
57
76
90
73
64
70
69
56
62
63
70
70
83
75
68
103
124
108
78
80
74
42
43
60
58
41
37
52
58
59
67
71
77
80
102
109
101
99
112
105
99
67
63
77
99
120
127
121
129
143
118
93
127
152
119
86
109
116
105
120
128
130
133
125
61
67
76
81
66
70
81
85
78
72
72
75
77
85
86
83
79
75
73
72
69
69
62
57
58
61
56
51
57
71
70
67
66
65
64
63
61
78
76
68
65
60
73
73
70
79
79
57
72
103
101
127
145
148
139
120
103
77
73
77
70
61
77
92
83
97
74
81
109
98
89
116
93
92
98
134
143
136
127
129
115
115
115
110
132
116
105
114
119
114
111
114
111
100
115
122
112
101
97
95
89
81
69
74
88
85
68
59
58
66
113
133
127
99
73
70
50
47
50
41
47
46
80
113
122
124
125
88
71
87
62
60
82
92
83
72
76
61
48
44
56
81
89
78
63
57
81
100
82
61
67
77
71
73
86
94
99
97
126
109
117
97
92
91
104
153
88
92
82
95
111
97
104
106
93
88
103
110
105
104
92
112
85
87
100
63
75
141
139
145
144
143
117
72
56
63
175
39
66
111
159
117
106
90
95
106
94
128
98
85
80
75
83
118
134
110
132
119
91
91
103
118
139
148
107
115
103
111
109
69
82
56
68
50
46
43
46
40
52
58
55
58
72
69
52
69
82
83
84
87
78
78
68
61
75
66
41
49
66
58
44
46
54
64
79
94
87
86
113
123
133
108
136
146
150
125
104
98
101
128
142
124
120
147
128
71
98
119
138
83
76
107
97
98
104
126
123
119
124
74
73
72
69
57
58
63
62
63
68
76
78
72
62
71
68
68
73
80
84
82
79
74
73
74
75
66
55
55
62
62
60
58
55
51
50
65
35
83
157
53
59
50
86
82
87
100
114
86
48
43
52
55
56
62
63
58
60
55
85
96
70
79
102
88
66
46
52
51
40
34
36
23
32
38
33
43
66
86
107
105
114
118
109
101
84
70
57
55
68
73
67
89
102
109
113
114
117
122
120
113
110
118
114
102
86
85
96
67
67
65
93
129
127
96
75
70
76
82
68
70
71
86
109
120
108
98
100
92
92
84
90
104
108
101
102
119
112
114
123
136
143
125
95
76
80
101
117
107
95
97
88
76
86
104
93
100
117
111
113
99
105
96
49
63
118
102
86
82
79
71
116
91
107
122
137
151
144
123
108
103
100
111
106
66
56
97
114
134
161
148
143
135
120
155
112
89
122
141
130
148
122
98
99
112
110
112
107
82
92
83
85
108
110
99
121
96
77
67
70
100
131
137
123
88
81
95
95
75
59
57
55
73
61
76
66
49
52
70
88
92
82
67
70
76
66
54
48
50
56
63
74
87
103
79
37
44
70
64
45
50
45
42
76
107
101
69
87
96
114
139
110
103
122
131
129
138
171
149
131
87
82
90
123
120
88
64
105
111
110
69
66
72
60
115
139
159
156
145
63
64
66
66
66
63
61
70
65
64
65
66
66
75
76
73
70
73
74
73
68
63
56
57
59
67
66
61
61
53
56
64
66
66
64
65
62
100
145
109
95
46
123
122
94
77
74
64
59
67
56
54
44
44
56
63
59
58
51
50
71
84
56
28
34
50
39
44
31
34
45
37
38
38
40
51
53
49
45
45
42
44
48
54
80
86
115
129
134
119
98
84
62
48
52
56
60
68
83
100
110
116
104
106
114
107
89
80
76
68
77
69
77
97
101
73
73
69
62
56
66
79
96
60
59
86
97
102
77
65
72
72
75
83
88
101
91
97
113
125
132
139
140
134
112
118
124
125
120
112
102
103
105
105
101
115
119
108
104
93
98
129
97
95
84
80
131
96
78
98
106
90
100
119
144
151
141
130
130
133
110
116
119
71
49
73
64
81
99
133
136
129
116
108
76
98
113
97
69
126
126
118
133
121
110
115
99
111
107
86
85
95
96
103
120
100
72
78
88
79
98
122
112
112
106
99
86
92
95
79
71
51
53
55
61
55
64
70
67
64
64
67
81
88
79
70
66
72
81
90
100
121
103
128
109
64
67
68
56
54
65
55
45
75
100
87
75
95
109
115
118
111
121
120
116
133
156
120
110
116
128
163
125
102
122
102
118
98
99
66
58
56
44
69
90
122
128
128
131
68
72
74
73
70
66
62
58
57
59
63
63
61
66
63
62
61
61
61
60
58
57
58
55
52
57
59
57
57
61
62
64
64
62
60
59
67
103
87
105
100
79
103
63
64
66
67
71
76
58
57
68
69
60
53
46
42
40
37
72
81
44
38
56
45
44
57
66
56
54
55
44
49
53
56
57
59
63
68
76
72
68
69
70
68
70
74
98
111
103
98
107
103
101
96
83
70
60
59
67
75
66
63
70
84
89
90
96
80
69
95
80
72
78
75
74
76
70
61
67
79
96
70
55
48
47
55
86
98
78
86
80
79
88
91
96
86
81
88
106
119
126
117
100
100
114
120
118
123
121
108
115
101
100
114
113
117
118
107
92
96
101
71
89
81
111
160
109
66
94
120
98
100
122
156
167
150
136
139
142
101
108
91
55
72
101
87
91
93
95
100
97
95
99
120
123
115
88
94
97
117
123
133
107
96
114
92
93
85
87
96
92
88
117
131
81
69
81
88
77
91
108
96
111
113
105
85
89
96
78
77
55
53
56
58
55
75
64
63
60
61
72
88
82
78
75
72
74
82
95
110
115
98
131
113
71
66
61
69
53
53
47
48
70
95
102
79
99
96
92
86
91
108
100
109
132
146
160
163
146
144
135
103
105
129
139
104
80
73
34
47
55
48
83
90
123
127
115
101
63
69
69
63
62
65
65
76
74
73
73
72
73
86
83
86
87
85
81
80
84
90
89
76
62
64
71
73
76
76
74
69
66
63
61
61
56
59
77
81
86
118
130
75
61
64
75
68
52
57
43
49
48
48
55
55
47
118
83
69
72
68
70
76
69
85
79
65
61
63
68
74
73
67
61
63
67
70
70
64
64
66
81
97
95
98
81
70
62
64
67
67
73
101
100
104
115
126
129
127
124
111
109
108
107
95
85
86
85
108
128
83
78
96
90
104
109
98
83
73
66
72
76
67
65
74
75
63
85
117
117
96
86
103
107
98
92
84
85
89
89
94
99
97
94
114
113
107
116
119
102
84
103
116
110
126
130
114
87
111
108
65
80
76
101
95
140
119
83
113
128
118
107
116
143
156
136
122
120
117
108
111
72
93
129
103
124
129
143
140
126
104
100
120
107
79
119
102
80
77
95
137
132
132
134
117
86
102
68
68
68
88
111
97
81
78
80
76
64
65
88
104
98
99
104
91
107
107
88
86
72
76
77
51
58
45
46
64
76
75
67
76
95
77
59
68
66
57
64
92
118
127
110
121
87
79
94
59
58
57
49
57
72
53
45
74
110
143
92
84
98
119
118
125
116
133
140
137
164
167
154
168
134
118
134
133
144
103
63
65
57
55
69
71
103
154
158
148
136
63
65
72
79
76
72
71
75
73
70
71
75
79
78
78
74
71
75
80
84
89
95
91
83
72
62
60
64
70
79
81
70
66
68
70
69
84
82
72
58
64
70
68
87
68
47
39
42
53
55
46
72
76
88
56
66
131
72
75
70
59
62
77
80
67
52
55
57
66
74
75
70
58
61
65
69
68
65
62
69
69
72
77
81
73
67
63
64
65
65
69
73
68
59
62
72
83
86
79
73
71
89
101
111
117
125
135
143
148
140
147
158
162
160
159
148
143
136
130
106
89
81
79
77
71
64
61
67
74
98
99
93
111
110
77
59
71
85
95
102
105
101
98
103
91
96
97
96
96
105
114
93
103
109
98
110
113
98
100
129
88
98
87
88
90
104
110
106
75
78
97
118
138
140
137
123
117
132
145
141
106
86
105
133
125
117
138
156
159
139
125
104
99
119
100
124
126
117
119
76
31
80
122
145
158
138
113
86
63
50
67
104
103
72
70
88
65
73
78
64
82
103
86
84
84
84
86
83
83
92
61
73
84
66
63
63
58
58
62
51
73
92
102
85
65
68
61
60
64
62
82
111
73
57
73
87
85
72
57
58
57
60
57
85
148
161
83
53
68
71
90
122
132
135
138
135
142
145
148
136
165
142
112
112
142
151
100
93
104
96
74
68
76
86
93
142
158
158
158
65
66
69
72
67
70
75
71
70
68
71
76
79
76
80
72
67
70
77
81
84
88
88
80
69
60
60
69
77
81
76
59
59
69
76
78
85
74
60
52
54
56
56
59
56
51
49
55
76
78
81
61
79
45
56
114
89
52
77
72
53
67
81
70
54
47
61
65
69
71
69
65
58
65
72
68
64
65
68
75
73
72
73
76
72
69
67
71
73
72
72
74
74
70
73
79
79
69
55
47
45
61
69
74
76
81
89
96
101
85
106
124
122
113
111
130
110
113
129
101
96
100
99
94
82
69
64
69
83
57
59
67
109
133
117
102
92
106
113
114
112
103
97
100
95
81
87
90
93
104
118
112
118
102
84
89
79
66
87
100
68
98
99
98
107
96
86
73
62
82
104
117
146
152
143
117
110
136
154
144
105
86
96
111
103
108
139
144
144
133
130
112
103
116
102
129
136
123
59
53
85
70
130
147
142
135
119
95
70
51
70
107
98
63
67
74
67
72
74
72
83
93
86
77
64
56
56
57
64
78
82
96
105
81
69
62
56
55
54
45
65
88
111
101
78
59
45
56
65
53
65
74
63
79
98
99
99
83
49
41
38
57
70
113
135
77
46
38
71
72
81
103
112
140
139
128
145
157
143
143
170
138
93
89
126
143
117
108
119
110
87
80
88
98
105
124
137
148
160
62
68
77
81
64
58
59
73
65
58
56
59
65
70
58
54
56
70
85
92
90
86
74
68
69
77
83
84
82
70
65
65
74
79
79
78
71
66
64
66
45
42
49
54
61
63
57
53
65
69
39
62
91
114
90
63
70
61
44
60
78
60
45
53
59
74
67
69
73
71
66
61
68
65
60
54
55
59
62
66
64
63
62
66
73
75
76
82
81
72
64
62
72
76
70
60
54
56
65
76
82
75
78
77
73
69
68
68
66
64
64
85
104
96
74
60
68
91
105
91
95
94
102
103
103
106
108
101
69
69
66
70
97
99
90
103
117
120
113
108
113
114
108
106
83
69
91
108
103
95
95
107
99
79
93
84
67
74
97
92
69
86
67
46
59
48
50
67
103
121
107
103
107
101
98
97
98
99
85
63
62
52
55
76
101
115
121
100
99
93
100
93
96
116
102
81
59
79
104
83
93
91
97
97
75
76
112
104
78
82
91
88
83
96
101
69
87
83
76
86
88
83
90
96
86
78
74
71
78
92
116
109
88
81
78
59
44
47
50
61
66
75
97
108
115
91
61
49
52
57
62
78
72
89
96
71
64
76
77
42
59
76
58
32
35
59
42
40
79
68
42
64
116
147
174
152
139
134
105
104
141
133
102
99
122
99
74
98
67
43
46
55
56
71
100
129
153
162
164
84
78
73
70
69
74
78
73
65
58
56
60
67
74
86
82
83
91
96
93
86
83
78
78
80
84
86
87
87
80
75
74
74
68
64
63
60
62
65
69
71
71
72
66
59
60
68
67
50
55
104
135
66
46
71
64
74
69
69
71
61
50
58
65
55
54
49
55
59
60
64
69
67
62
53
48
49
50
50
53
55
58
61
64
71
73
74
83
88
82
72
65
62
57
67
76
78
78
80
79
76
71
67
62
58
56
57
58
77
79
77
87
99
93
77
79
91
77
69
89
83
97
104
110
116
121
124
123
109
100
84
74
83
63
46
61
88
112
124
119
110
100
89
85
81
88
90
86
80
79
81
104
119
124
80
80
84
74
88
90
77
70
53
81
86
91
98
109
138
112
70
138
98
108
119
122
124
129
111
80
86
96
120
124
111
106
109
130
144
134
109
77
70
91
90
90
108
123
100
89
76
84
85
99
86
85
94
106
115
91
96
109
108
118
126
110
120
110
87
77
75
74
75
82
94
91
81
65
55
59
56
72
66
61
56
46
50
51
58
88
87
81
65
73
84
91
92
79
65
64
65
49
61
60
60
74
75
58
49
63
74
52
42
36
28
65
64
65
71
84
65
56
79
126
147
143
143
130
126
135
147
138
89
77
99
66
69
78
64
52
53
60
59
66
84
128
137
117
115
68
68
71
79
84
83
82
85
78
71
68
71
73
76
66
64
69
81
92
97
96
98
91
90
85
78
76
78
82
73
68
69
71
69
71
75
68
66
64
62
69
67
62
66
61
63
66
56
77
113
98
35
57
87
71
66
72
84
83
70
63
71
69
62
67
54
40
38
39
44
60
76
64
62
59
50
48
48
48
52
55
60
63
66
70
72
73
83
90
85
74
62
46
65
74
79
71
65
69
77
82
69
65
64
67
74
82
88
82
87
80
65
59
72
90
69
81
69
77
109
88
103
105
109
108
98
91
91
98
115
94
84
96
81
64
70
55
81
103
117
128
125
105
89
75
93
86
76
79
93
107
101
84
90
84
80
86
81
81
91
87
78
65
91
82
98
90
89
127
116
83
153
79
105
121
115
120
142
137
105
84
108
103
88
98
130
149
136
148
123
94
68
75
110
108
113
130
125
107
112
88
95
104
108
81
78
71
118
102
88
97
105
105
128
142
126
131
118
90
70
68
69
66
83
99
96
84
63
49
51
62
72
59
58
57
47
51
54
60
94
93
88
57
61
58
58
69
83
89
89
79
42
71
58
34
52
73
73
76
62
71
60
52
44
28
56
71
88
65
69
57
49
66
122
126
124
135
110
111
128
127
133
96
80
88
43
70
92
93
78
60
56
62
70
78
105
100
116
133
67
73
73
72
73
73
78
75
73
76
78
77
78
73
71
70
70
73
78
81
81
80
77
78
80
78
73
73
75
73
72
78
79
75
71
71
61
59
53
55
72
68
66
72
81
85
85
92
84
62
58
75
78
70
71
78
80
77
80
70
58
60
65
66
68
64
59
55
41
44
45
55
58
60
62
55
45
39
40
48
49
52
56
61
71
74
80
80
64
47
45
46
64
73
75
80
79
75
77
78
73
61
61
70
79
83
84
84
93
85
66
62
76
93
96
83
82
92
97
67
79
97
95
88
84
87
89
85
81
65
72
94
109
111
124
137
111
70
60
62
74
96
97
97
65
89
95
90
85
83
85
94
78
75
105
109
107
106
94
74
55
56
67
83
99
106
85
80
108
140
94
143
155
150
139
125
119
124
128
128
85
98
104
102
105
109
115
112
88
123
100
83
128
111
99
97
95
91
84
70
55
68
81
87
86
102
81
110
102
109
121
115
124
134
122
120
136
130
113
106
98
90
95
95
101
98
82
85
99
74
47
37
49
45
48
41
49
53
59
82
72
79
73
58
62
66
76
73
80
99
95
72
90
83
75
65
63
78
73
89
91
89
87
77
72
80
77
74
66
60
71
79
97
102
108
112
108
108
125
110
99
105
90
91
95
77
71
80
61
52
49
63
66
55
74
104
118
122
116
75
76
71
65
63
62
66
59
61
67
66
58
59
71
70
70
70
73
78
81
81
81
76
73
74
75
75
77
81
78
74
69
64
59
57
60
59
47
51
69
70
68
72
87
83
84
89
86
69
71
75
71
64
63
66
64
63
70
67
54
47
58
67
65
61
63
83
66
56
65
56
51
52
57
61
44
37
43
55
62
63
64
64
66
69
69
56
52
47
49
56
61
70
77
81
81
80
82
78
67
59
69
73
74
72
69
73
80
88
78
87
97
100
88
68
90
80
86
98
87
90
96
87
82
84
95
97
89
86
78
74
84
92
91
105
125
111
98
112
105
79
65
50
50
78
67
63
72
95
119
133
111
103
101
108
121
121
104
87
80
81
88
86
85
90
59
53
58
84
110
60
79
87
83
88
94
98
114
130
132
87
94
91
93
101
86
92
58
81
113
95
105
134
70
89
89
86
78
58
54
51
66
54
78
98
108
94
103
105
114
116
103
114
125
116
117
119
91
70
83
91
91
103
115
114
106
84
86
101
78
68
49
45
48
52
43
55
54
57
77
67
78
82
69
63
93
104
109
116
116
99
38
64
64
56
44
47
77
85
95
89
108
126
98
77
100
92
71
43
42
57
64
81
111
126
125
109
131
145
111
72
74
91
81
104
80
74
87
70
59
51
64
69
58
74
103
115
117
113
98
98
99
103
105
101
95
93
97
96
95
95
99
90
78
86
88
83
82
87
85
78
75
78
85
92
92
89
87
95
95
87
83
80
79
78
75
78
77
72
86
84
75
83
87
85
89
94
78
92
92
82
76
78
83
85
90
74
71
62
62
70
74
76
82
81
84
81
69
75
93
99
81
90
85
75
94
96
82
83
83
80
74
73
77
78
67
77
87
86
80
74
69
71
77
80
78
80
89
97
99
88
86
84
83
81
83
86
86
80
71
75
79
80
78
71
74
79
85
83
76
70
84
81
73
72
78
74
67
80
79
79
82
81
78
77
78
72
71
81
90
88
75
64
68
69
71
68
61
62
67
63
61
62
71
73
77
82
73
78
79
78
88
86
66
62
61
60
74
84
59
72
73
67
71
65
48
58
76
71
73
90
93
80
65
62
68
92
88
75
78
78
84
94
92
95
102
96
57
51
44
78
86
94
94
93
94
95
93
56
73
99
86
97
117
90
65
49
36
50
75
82
86
85
99
90
72
66
67
60
55
73
71
58
112
116
125
92
89
89
67
81
97
106
117
117
108
119
144
137
114
94
110
80
83
91
108
85
60
90
81
87
95
92
113
114
87
54
35
68
103
79
72
90
59
71
37
55
84
99
76
82
96
93
88
126
146
93
89
66
54
53
119
88
92
120
51
69
36
101
100
97
98
94
88
83
83
84
86
87
90
94
89
84
88
87
82
82
87
87
83
82
83
82
76
73
77
84
91
93
97
96
92
87
82
78
81
80
77
89
88
82
86
90
92
96
96
72
76
80
75
74
81
86
82
74
62
71
75
79
86
85
82
85
91
87
92
93
95
95
87
91
85
86
90
80
76
81
74
74
73
73
79
77
70
75
73
73
78
87
92
90
92
95
94
90
86
86
86
84
85
85
79
72
73
82
91
85
83
80
79
79
79
79
74
74
74
74
79
85
89
75
84
87
86
86
82
85
81
78
77
83
88
90
91
93
81
72
67
57
48
57
74
71
60
62
64
63
62
62
64
64
65
63
63
71
80
64
67
71
76
80
84
85
75
60
71
80
67
70
82
80
80
89
89
75
74
78
69
72
77
79
74
67
67
70
81
74
59
66
66
68
71
78
64
58
57
62
63
55
72
89
85
66
67
89
74
51
40
44
56
55
54
63
64
49
39
46
52
49
55
75
87
87
83
87
60
55
95
65
102
54
59
77
92
112
92
110
141
131
133
139
151
118
122
96
71
76
88
90
99
89
106
125
81
105
124
116
82
87
111
109
105
129
132
111
96
51
63
66
62
97
63
91
87
71
24
38
58
70
86
94
106
132
145
110
108
66
19
47
112
81
77
115
121
78
89
88
112
109
106
102
94
89
87
83
81
84
86
90
91
91
89
86
83
80
82
86
87
86
80
79
83
86
84
81
80
87
85
81
82
82
81
77
97
96
93
88
84
80
77
83
79
79
79
76
72
70
72
77
81
82
81
84
91
92
98
94
85
84
84
84
88
81
85
82
81
83
90
98
97
91
84
86
87
77
66
68
83
95
96
93
102
109
101
97
95
97
96
90
86
83
81
80
81
80
79
78
78
80
82
82
84
87
84
79
67
69
69
66
64
64
65
67
68
71
72
71
72
72
76
83
80
75
75
73
62
65
62
63
67
68
64
59
62
80
84
73
78
99
103
90
82
75
69
64
65
68
70
67
67
68
61
61
70
81
77
66
58
60
63
61
63
54
77
79
66
63
63
83
76
76
81
85
84
87
94
97
90
108
111
95
74
63
62
48
57
64
64
62
65
73
79
74
77
81
84
76
64
61
57
55
57
64
71
68
80
75
53
53
67
54
42
93
100
74
73
82
76
81
82
89
113
111
96
90
79
62
105
126
52
113
78
70
107
134
77
66
81
107
91
96
81
108
113
101
103
118
111
70
65
79
99
92
106
87
107
90
100
107
116
142
134
91
64
80
29
51
72
92
116
80
85
86
102
53
72
45
60
81
73
85
137
140
65
93
75
69
74
96
60
108
112
67
116
125
156
101
101
99
97
96
95
93
87
84
86
89
92
89
89
94
90
86
85
88
90
91
90
79
78
84
89
88
85
82
85
81
73
76
80
81
79
94
93
92
90
87
86
85
86
78
76
74
70
76
72
75
83
88
86
85
91
100
83
89
84
77
80
86
89
92
82
79
85
100
104
97
96
98
94
89
89
89
75
59
74
83
95
105
114
110
103
95
87
82
83
81
75
75
76
77
83
89
89
81
72
67
77
79
80
85
88
81
70
69
69
69
69
68
67
67
70
67
64
65
73
76
78
63
70
67
62
68
73
69
64
63
66
71
73
72
73
71
70
78
95
106
103
94
88
64
73
74
74
73
69
63
64
63
64
62
63
70
79
87
77
68
65
69
72
70
55
81
77
60
61
55
70
57
60
66
73
76
74
74
77
88
105
106
88
68
60
63
62
67
59
58
61
76
98
101
94
93
94
95
94
86
74
62
55
60
64
65
73
82
74
53
51
65
54
41
65
68
56
99
114
69
63
73
85
127
102
101
84
57
61
81
76
49
101
98
103
109
112
72
82
92
97
86
102
91
119
124
98
78
88
95
104
95
73
66
75
96
70
114
121
114
99
111
143
120
75
74
97
79
85
93
112
118
83
83
82
64
73
92
41
103
84
104
137
138
124
59
110
36
33
91
98
49
90
141
56
107
155
179
114
113
110
106
101
101
99
97
90
88
90
89
82
79
87
81
78
80
84
87
85
83
84
84
83
80
80
86
94
81
78
78
86
93
95
93
90
89
91
91
90
91
94
96
86
85
83
75
83
74
85
89
93
97
103
104
93
82
91
90
85
89
89
77
67
65
69
69
81
89
98
114
111
88
78
82
73
88
119
112
116
114
102
91
87
89
69
65
76
103
119
111
79
77
70
68
73
76
75
75
77
85
89
83
81
84
84
78
74
69
67
72
75
74
71
75
73
74
81
84
72
61
67
78
74
59
54
58
73
83
79
73
66
59
60
71
95
103
110
115
121
118
97
74
77
58
59
73
83
73
57
68
66
67
76
78
82
86
84
90
85
68
61
72
68
84
66
68
74
70
80
80
81
74
61
54
52
46
46
57
59
68
73
69
61
59
62
62
69
74
72
64
64
70
61
50
47
53
64
60
47
51
71
84
84
87
92
58
72
70
70
75
73
53
38
48
69
52
92
108
64
77
97
140
90
87
85
81
72
58
46
108
84
76
106
59
75
57
55
71
50
55
130
132
99
111
119
114
112
116
103
90
78
61
38
41
86
80
140
166
141
113
126
136
101
94
85
86
103
62
37
98
140
97
72
75
72
120
89
87
32
130
160
132
137
134
65
58
53
56
82
70
79
51
114
142
223
148
75
123
121
116
110
106
94
81
72
72
76
81
83
84
82
91
86
86
85
82
82
83
81
87
81
79
82
83
84
89
74
82
84
84
85
81
72
83
87
84
82
91
86
84
81
84
82
81
86
79
78
82
79
85
81
71
83
93
78
74
74
69
60
61
69
71
67
80
84
87
87
96
114
106
93
84
72
78
84
80
77
91
101
100
95
96
100
94
87
79
96
121
109
79
78
68
63
66
66
64
67
75
80
81
79
82
90
91
86
94
92
92
95
97
99
99
89
89
89
88
85
84
83
95
90
83
78
72
66
61
73
70
66
64
68
81
97
110
90
75
75
79
83
97
113
109
83
82
80
78
79
79
78
79
76
78
74
74
84
79
83
88
89
85
82
86
80
84
87
89
91
93
79
78
79
81
84
86
87
85
83
62
59
61
59
59
58
53
43
50
60
69
74
78
82
104
98
92
84
59
46
40
45
53
56
53
67
104
109
59
44
37
39
50
74
77
52
49
40
47
60
55
51
61
83
81
74
68
83
91
78
126
117
80
90
65
48
60
69
116
156
133
80
92
104
107
106
107
66
67
90
64
68
40
48
25
34
40
36
90
139
118
115
107
111
121
95
92
87
60
47
72
110
122
68
118
100
84
110
131
150
141
172
150
126
117
112
75
85
92
82
94
97
63
77
135
124
106
118
144
138
135
125
112
95
87
79
68
70
77
83
85
83
78
87
81
82
81
78
82
85
84
87
83
82
80
81
80
81
78
87
89
83
79
78
75
83
87
85
84
94
88
86
88
91
88
85
86
82
87
80
82
93
91
83
97
96
69
66
67
64
56
59
69
73
97
108
97
93
95
96
99
98
99
86
75
77
69
63
74
89
100
99
94
100
106
105
96
81
82
93
84
81
82
73
67
69
72
72
75
80
80
79
82
87
89
88
87
87
86
89
93
96
97
97
87
89
92
94
94
92
91
90
91
91
89
85
78
66
62
63
70
81
95
103
105
90
65
56
69
67
56
72
106
110
91
95
101
99
90
81
74
75
72
76
73
71
77
69
75
82
84
82
75
74
73
76
79
83
88
90
75
79
83
88
90
90
88
85
84
78
78
77
74
75
72
61
41
41
38
48
54
55
60
66
66
71
80
76
65
57
66
68
62
53
60
84
75
72
66
45
28
38
58
57
58
56
45
43
60
60
52
51
67
81
64
65
79
83
74
95
116
107
56
103
118
136
129
116
94
62
48
119
128
88
80
58
28
74
102
61
76
50
47
38
64
42
89
88
123
107
106
118
115
114
105
99
69
49
49
95
126
101
118
64
116
127
110
144
112
99
153
146
119
113
112
87
91
95
64
75
70
56
96
104
106
85
101
114
114
105
94
81
69
73
79
84
86
89
89
89
86
86
77
76
80
82
81
82
88
87
83
89
88
82
81
86
82
85
86
85
76
72
81
93
94
97
91
87
94
88
84
105
99
89
89
93
79
79
83
76
64
68
80
84
101
121
107
98
96
100
110
118
116
98
75
71
71
69
78
97
93
97
77
85
97
90
92
98
92
82
74
79
97
99
89
97
101
99
95
91
101
101
92
82
78
81
86
93
99
93
90
93
94
89
86
88
93
90
85
85
84
83
81
77
76
74
73
78
81
84
83
84
81
74
73
80
91
113
108
100
94
90
88
88
90
101
104
99
99
106
105
97
121
94
75
76
81
82
85
93
92
81
73
75
78
85
83
88
92
91
90
78
69
76
72
70
73
77
78
73
63
66
69
69
67
68
71
74
76
79
79
78
84
87
80
75
78
62
54
46
44
49
57
48
45
49
60
61
61
70
64
69
74
68
61
78
54
59
53
48
52
53
70
80
87
68
47
47
57
62
73
78
78
75
74
64
63
76
101
94
125
157
65
59
52
67
87
135
160
131
55
41
75
104
49
64
121
101
100
100
92
45
37
57
106
88
64
89
97
109
112
114
103
92
76
50
89
112
108
89
72
65
116
154
145
119
76
109
106
111
127
136
142
149
128
68
49
89
73
102
111
32
69
84
97
117
117
85
82
84
88
89
91
95
88
90
94
92
88
86
94
93
93
94
87
72
72
84
92
90
95
95
79
85
97
93
95
85
88
89
83
88
97
101
103
95
83
86
91
98
96
86
75
75
78
69
75
70
54
89
122
108
115
142
119
110
106
102
96
97
98
94
94
86
83
87
86
85
90
94
74
70
96
105
106
101
90
88
86
88
98
101
94
78
83
90
93
93
100
93
100
101
98
92
86
86
90
93
93
94
88
84
87
88
86
91
86
76
75
76
77
77
75
74
74
74
80
84
87
77
88
94
92
94
102
107
86
84
81
77
75
73
73
72
65
62
65
68
69
75
84
74
95
86
97
101
94
94
112
121
115
79
62
50
47
57
62
64
65
72
76
66
61
64
73
82
81
73
69
70
70
70
68
65
58
49
43
50
56
68
65
56
57
61
60
65
58
60
57
56
64
56
52
49
51
54
54
56
36
54
69
71
66
72
68
77
88
96
72
40
50
78
73
81
72
56
44
34
35
52
73
65
68
62
73
97
104
54
53
112
101
72
113
96
79
66
61
60
60
69
48
56
45
67
83
100
109
102
148
111
82
47
20
55
88
111
72
86
90
93
85
62
78
73
75
147
112
67
51
42
54
125
139
63
95
116
104
51
40
117
146
115
127
85
68
97
81
73
108
92
64
101
71
84
99
85
80
73
71
76
84
89
94
95
98
102
98
92
89
90
87
88
90
84
70
76
96
110
89
103
108
90
89
94
84
84
73
86
93
88
90
97
107
101
89
89
110
97
85
101
92
79
74
71
64
77
68
78
91
102
107
108
112
133
130
130
122
105
94
91
87
84
84
72
79
93
95
91
93
65
70
99
101
100
88
91
90
88
87
93
98
95
79
94
107
98
82
87
108
99
105
108
103
94
90
90
91
94
98
88
84
91
95
92
75
70
61
62
65
69
71
62
63
65
68
75
77
79
101
114
121
113
102
94
72
79
76
73
75
80
83
83
81
89
89
80
77
84
89
87
89
80
58
69
83
85
92
94
115
126
114
102
91
88
82
77
66
56
61
80
75
56
58
64
69
67
63
73
62
58
55
55
59
62
62
61
49
57
73
67
50
47
52
62
60
49
52
51
51
53
65
65
68
72
59
53
50
55
40
41
48
48
50
85
90
106
109
71
38
76
122
82
87
76
61
53
44
46
66
78
66
72
73
85
76
38
46
80
125
91
73
61
74
65
49
57
73
64
70
83
58
68
106
80
110
116
61
140
86
90
74
53
32
91
86
93
81
60
69
64
49
101
70
61
145
104
81
75
40
88
118
111
95
97
138
105
23
74
146
138
112
118
143
60
91
95
69
97
105
75
114
68
69
85
75
70
69
67
65
65
67
69
79
81
86
91
91
87
84
94
82
81
98
109
96
85
97
85
86
90
89
102
112
103
96
103
90
95
101
101
100
88
113
109
87
102
92
75
86
87
87
74
59
99
106
104
106
103
97
95
97
96
89
98
116
138
152
148
128
110
86
76
78
88
92
89
87
77
80
90
102
94
88
87
94
98
92
83
75
82
111
183
188
171
123
78
60
65
55
74
91
97
101
108
108
106
98
93
86
85
82
77
80
86
79
77
79
90
102
106
100
98
99
105
116
111
105
90
85
79
74
69
67
79
79
73
75
85
98
108
99
68
74
82
86
81
73
72
76
79
116
92
82
89
90
84
76
70
70
84
86
87
89
100
112
120
112
98
94
95
96
96
88
77
78
90
98
90
94
98
100
97
91
86
85
82
92
85
64
60
64
58
67
67
68
66
67
71
74
69
67
66
63
44
39
40
65
61
54
47
40
35
33
37
49
59
42
59
96
87
92
94
83
58
64
73
67
86
105
92
96
96
96
72
65
58
75
80
74
65
62
71
54
64
66
63
71
123
58
62
67
99
120
99
80
86
117
108
96
99
101
79
75
107
73
72
65
66
70
75
103
114
83
76
77
111
56
61
77
96
111
110
68
94
147
149
130
108
120
123
101
63
123
125
49
42
81
110
56
54
82
77
68
71
109
113
115
113
103
105
107
107
102
98
91
78
70
96
103
95
99
100
92
106
120
111
94
95
100
98
102
114
120
114
99
98
104
95
88
97
104
87
83
93
73
73
92
81
85
79
67
73
109
103
101
98
93
88
89
93
99
97
89
79
74
74
74
73
71
79
85
84
78
77
81
82
100
111
114
101
110
117
117
112
107
103
106
112
108
110
134
113
92
81
76
71
64
77
78
84
98
107
108
111
117
107
97
90
97
107
110
113
113
116
134
134
133
130
123
104
96
87
85
91
89
86
66
66
67
66
63
63
81
110
108
107
98
84
82
89
98
94
79
63
63
78
90
92
94
87
109
110
80
68
84
74
69
64
62
62
63
63
70
82
70
63
78
68
81
104
90
80
80
77
68
58
61
62
63
65
69
70
67
61
59
73
80
72
72
76
68
53
55
55
55
57
58
57
64
63
62
58
48
45
44
49
49
47
49
50
48
42
33
24
28
25
36
63
73
82
86
83
64
66
69
72
108
105
96
81
64
58
61
70
64
82
77
50
56
72
93
93
52
60
52
60
67
44
75
76
58
46
61
84
100
101
86
80
83
85
98
113
118
84
78
62
76
100
97
98
93
71
127
123
160
119
120
87
82
120
139
42
72
114
118
101
126
149
101
76
93
87
54
55
109
115
78
49
62
75
99
99
99
99
102
105
104
103
110
116
99
104
99
82
73
83
110
106
105
109
100
95
120
127
99
101
110
113
105
99
106
115
109
99
101
104
88
80
88
74
92
95
79
84
82
63
87
92
84
69
74
99
96
108
105
102
99
96
93
91
73
72
70
66
66
70
80
87
85
96
91
74
72
84
90
95
106
108
98
111
119
116
112
104
103
113
123
114
102
100
88
79
83
86
83
74
78
76
84
98
106
107
119
133
118
109
104
113
123
121
119
123
118
113
108
110
112
110
108
105
100
95
95
97
100
100
100
100
96
87
77
77
85
89
105
112
92
73
77
101
93
76
65
72
91
99
97
95
75
105
117
90
71
81
65
65
64
64
64
63
61
68
77
62
52
64
58
78
78
72
75
86
88
76
64
72
75
76
76
78
81
77
71
54
67
76
70
71
76
71
62
59
47
48
51
46
40
53
51
51
50
48
46
44
55
59
59
56
51
46
47
53
35
45
51
51
48
48
102
90
75
59
68
70
67
100
101
94
80
69
69
87
100
68
83
82
48
43
65
104
89
54
65
58
58
54
44
52
87
75
61
89
98
88
94
81
73
72
80
103
122
126
79
55
40
74
112
96
77
112
102
125
117
138
110
115
75
84
119
138
102
97
86
124
100
96
105
89
101
86
85
62
81
106
91
53
57
72
93
121
109
99
95
94
93
93
100
105
109
94
93
88
82
79
81
84
124
114
99
97
105
101
95
96
123
123
102
87
89
97
105
101
111
96
93
88
79
73
86
63
68
87
63
74
93
108
101
82
74
82
79
86
98
92
87
85
81
74
73
82
86
91
94
94
93
95
96
91
96
98
84
87
97
92
83
83
83
94
96
84
70
77
79
92
100
97
112
109
130
123
112
96
86
82
83
99
100
101
106
108
107
102
100
112
104
96
104
108
94
80
74
73
78
73
70
66
60
62
64
66
69
73
74
75
76
78
86
98
104
102
95
95
98
110
124
136
139
118
78
80
87
94
95
87
80
77
74
83
85
105
118
105
84
88
93
95
92
93
91
87
66
62
61
60
56
63
72
82
94
107
113
109
106
116
103
114
117
105
91
84
78
72
73
84
88
71
60
58
53
67
75
66
60
63
63
60
45
47
46
46
59
58
54
57
58
59
57
58
62
75
77
67
74
79
101
128
135
104
66
39
43
77
83
66
87
125
95
74
64
51
54
43
41
61
65
61
53
46
51
47
63
68
74
72
65
34
60
79
80
82
104
114
102
45
53
51
68
104
125
138
161
84
51
26
59
110
119
118
121
136
130
148
71
66
113
108
109
76
59
86
77
93
86
101
102
119
109
54
53
60
66
103
96
104
83
100
87
88
73
36
3
100
110
102
97
96
78
78
70
70
81
81
75
92
75
120
100
78
83
104
107
109
127
94
95
112
97
97
111
99
80
95
92
85
78
74
78
62
63
48
49
102
112
123
112
93
87
94
95
80
72
69
69
71
74
80
87
93
86
87
87
85
82
81
87
95
98
97
95
91
87
83
81
87
88
89
114
124
109
87
88
93
98
104
112
121
118
113
115
108
110
129
139
122
113
97
79
76
89
102
98
83
67
70
82
93
92
80
72
90
89
71
63
62
63
65
85
81
69
60
87
87
75
78
74
77
76
74
88
84
93
83
84
111
149
168
157
123
113
99
89
90
97
102
102
100
77
76
87
108
115
106
80
83
82
90
88
83
86
75
72
62
53
55
74
74
82
92
98
93
86
82
71
93
99
100
102
108
103
91
84
78
79
81
81
77
74
74
61
66
74
84
94
89
74
62
69
71
70
99
105
99
84
71
62
62
58
55
83
111
117
113
103
98
87
70
51
52
50
75
80
56
64
82
105
85
58
60
45
43
54
48
63
65
46
49
63
46
63
67
52
45
63
50
37
35
43
50
69
106
128
120
127
96
82
100
120
126
133
144
106
83
91
96
161
134
139
135
134
149
134
92
84
129
140
150
135
123
72
78
52
93
126
98
133
137
121
64
72
67
61
80
79
60
65
66
110
82
96
86
95
97
97
101
85
74
79
69
74
78
71
64
72
78
117
102
85
91
112
121
125
138
81
102
110
91
89
101
94
94
94
78
80
76
68
64
67
78
69
60
104
111
112
102
96
99
100
86
70
70
72
75
83
94
104
106
100
103
102
100
99
96
95
97
100
104
107
108
107
104
101
98
95
104
115
134
137
130
120
102
115
125
126
121
120
121
121
115
111
115
120
112
111
108
99
85
75
74
80
88
96
60
59
74
90
92
78
66
64
71
68
59
57
60
66
70
76
75
67
66
68
66
74
70
78
92
96
92
106
100
117
131
128
108
89
82
114
126
131
117
95
85
94
106
99
98
101
103
110
114
110
101
84
84
84
69
62
59
66
71
76
80
81
67
57
65
66
62
55
55
65
84
81
90
94
97
102
101
96
97
106
106
101
94
93
102
113
85
80
81
101
119
114
100
82
75
70
73
93
82
67
57
50
48
50
46
40
60
96
87
68
54
53
55
58
52
59
62
93
95
67
69
82
98
97
58
47
46
48
40
50
59
50
42
43
56
45
54
75
68
49
54
59
46
36
46
57
74
96
104
100
102
104
109
114
117
114
110
108
102
113
145
146
150
137
134
127
125
140
132
104
117
147
148
159
128
116
99
94
77
98
127
115
151
139
126
44
16
50
53
82
123
114
77
48
97
74
103
86
78
93
108
98
106
111
83
76
86
74
71
89
87
129
114
116
112
110
115
119
108
94
100
98
93
92
85
77
81
71
87
83
78
81
95
111
112
107
84
80
124
109
92
76
66
66
73
80
108
116
110
108
109
112
116
115
108
112
114
112
108
105
106
110
112
119
114
110
107
105
103
103
112
108
106
94
83
86
97
113
102
91
89
97
93
81
90
92
92
93
87
71
79
88
94
105
103
81
62
74
99
95
88
82
73
64
61
63
77
87
100
94
87
87
94
69
67
71
82
84
77
75
69
97
88
69
90
111
120
113
95
79
80
95
105
101
78
87
106
129
140
129
104
84
81
73
76
82
85
96
111
118
101
83
78
74
74
81
76
67
63
68
75
91
101
98
93
86
79
78
82
89
92
98
100
101
103
99
97
102
96
92
98
111
118
111
100
117
116
103
102
105
104
101
91
82
77
72
34
30
38
51
53
57
61
55
45
56
61
52
49
48
48
54
69
91
87
71
77
73
55
67
81
103
57
52
38
25
44
49
59
85
89
105
73
46
28
59
69
63
47
58
74
53
71
91
97
91
95
100
96
108
81
78
96
98
81
90
119
112
144
68
107
136
130
158
158
157
141
135
109
128
86
83
110
107
137
137
111
87
126
93
76
136
138
131
90
103
104
120
143
102
20
11
44
88
53
76
78
79
61
65
83
79
80
84
96
100
84
82
103
96
105
100
107
118
118
109
109
106
92
86
85
93
91
71
70
92
85
93
95
101
98
90
87
90
88
90
95
51
46
74
87
101
123
132
123
118
118
111
110
106
100
97
103
115
125
132
133
122
114
114
117
117
120
107
101
100
104
111
115
103
98
101
126
129
125
121
107
103
94
86
84
83
78
91
108
108
93
93
100
83
89
84
87
96
104
107
112
120
111
86
80
88
98
102
104
102
92
89
89
79
66
60
53
58
64
67
68
76
83
108
101
89
93
102
86
73
85
84
82
79
75
71
68
71
69
69
68
67
75
98
122
112
86
69
73
73
68
73
67
107
116
112
124
118
111
103
110
114
110
103
105
108
101
102
108
118
122
114
92
100
95
89
92
97
90
82
84
88
99
99
97
98
98
96
83
69
67
84
89
71
53
58
40
32
40
56
65
75
86
83
80
76
72
69
82
77
75
78
70
59
71
81
81
75
54
58
65
62
74
81
54
16
38
72
85
92
81
84
85
71
76
87
103
89
62
56
59
65
65
73
70
74
96
87
64
73
103
104
100
80
51
41
79
126
133
110
118
48
73
133
108
144
117
154
165
85
55
33
65
74
115
115
121
152
127
143
134
144
167
150
141
119
109
78
119
139
70
29
52
41
51
108
117
65
70
107
62
64
63
69
81
82
91
76
90
90
89
98
98
119
97
109
131
138
121
103
92
76
98
103
103
89
74
70
76
86
85
91
111
112
94
77
72
80
83
81
54
70
111
102
108
119
122
117
135
141
115
116
117
114
109
102
98
120
127
129
125
125
127
121
111
109
102
100
101
106
112
116
109
111
112
116
120
118
114
115
106
91
77
75
86
88
101
113
114
103
98
94
87
90
89
90
97
106
114
115
114
98
96
102
109
109
101
97
100
92
101
107
100
88
83
63
70
73
70
82
89
90
101
84
84
101
99
78
70
82
76
76
86
99
97
78
63
60
58
56
48
44
55
72
111
111
80
68
58
49
54
40
71
113
107
118
127
107
99
113
115
99
87
103
107
106
93
81
81
85
87
90
71
65
57
56
59
53
52
62
91
104
98
88
85
87
87
77
60
47
56
56
44
31
47
38
36
48
74
81
84
95
93
92
94
94
93
94
96
84
74
59
58
87
106
65
63
47
58
73
72
76
74
45
35
75
123
117
94
78
102
91
78
78
101
120
82
63
62
65
66
68
83
67
67
80
74
56
57
78
90
98
95
64
33
64
130
145
111
93
46
96
104
106
136
97
155
152
59
55
53
69
97
111
112
104
133
122
134
138
113
110
118
144
131
124
72
96
74
37
65
95
60
59
110
40
63
130
74
77
96
90
68
86
92
95
96
107
122
128
121
114
136
96
110
91
97
94
80
89
68
65
70
84
85
75
76
88
83
90
98
91
91
100
112
134
118
119
113
82
107
113
103
104
104
101
97
101
106
119
125
118
110
109
109
114
100
114
118
118
137
161
144
105
100
94
84
85
90
96
108
114
120
118
100
102
106
108
118
113
110
112
113
105
103
91
97
103
102
95
85
80
90
104
108
105
104
111
111
104
102
100
92
91
98
98
93
90
98
89
80
84
93
99
97
96
96
98
108
111
114
113
120
115
94
75
76
84
87
90
95
92
83
85
91
107
90
76
74
79
78
67
60
57
79
121
139
125
102
86
84
102
118
95
88
104
125
105
100
90
79
70
68
71
42
40
43
45
46
42
48
60
60
70
80
67
52
69
103
78
67
70
62
54
68
88
66
54
43
44
43
45
49
53
58
54
52
78
75
70
42
43
38
48
66
73
44
53
74
101
93
140
172
113
108
82
78
66
36
55
87
80
64
85
144
116
59
62
92
104
86
54
92
73
77
86
57
76
56
61
88
65
53
71
57
97
74
63
141
118
111
103
98
102
111
122
127
126
100
141
123
113
104
86
59
108
131
77
120
118
78
79
83
79
110
116
78
100
108
81
44
60
123
100
120
69
102
78
68
65
71
95
90
52
120
83
48
67
62
60
59
71
91
88
96
71
92
112
108
92
84
124
106
72
86
85
87
83
53
72
88
98
84
71
86
123
151
139
137
126
126
130
138
144
118
106
112
111
80
93
87
94
97
99
98
93
88
90
86
97
104
113
122
119
111
112
116
109
101
117
146
156
145
120
107
111
110
104
99
98
104
95
93
105
98
88
83
90
94
101
107
105
92
90
91
95
99
99
100
100
108
90
88
84
81
89
100
102
99
93
102
106
99
88
85
87
93
93
83
81
87
93
96
111
111
108
98
84
90
96
94
98
98
101
111
127
135
104
102
101
96
91
98
104
99
97
98
100
101
95
86
80
81
84
85
95
125
150
155
176
155
140
136
125
122
128
137
123
103
91
90
115
123
121
110
98
95
95
93
89
100
109
106
91
88
97
96
84
61
62
69
63
61
81
104
118
104
103
93
69
55
58
75
68
59
53
60
74
89
66
63
70
83
73
59
132
114
130
130
94
115
135
91
104
101
97
86
75
77
79
72
72
112
95
64
73
95
90
93
106
90
105
124
89
73
76
73
77
127
125
82
100
82
103
85
86
120
162
120
126
106
95
104
114
112
113
124
142
129
93
128
96
59
75
117
124
59
58
61
62
73
74
114
109
97
109
127
92
98
93
120
140
102
120
105
66
97
69
39
59
54
60
118
59
68
95
95
72
81
89
89
75
74
77
79
89
98
94
85
91
132
80
72
85
75
57
52
59
96
75
68
90
118
132
141
151
131
121
117
130
140
135
123
108
100
114
112
79
94
90
99
101
103
100
97
92
95
94
99
100
106
118
118
113
106
119
123
115
111
123
134
135
124
111
116
117
116
121
126
109
98
98
120
111
103
102
107
105
107
111
110
100
99
100
96
93
95
102
108
113
98
92
85
83
89
100
106
107
95
96
100
95
83
80
86
81
82
86
89
89
86
82
90
96
103
107
98
96
94
80
80
76
77
87
104
119
116
111
106
100
94
97
103
98
96
91
83
77
78
81
83
96
105
121
117
108
115
128
129
140
151
147
137
130
128
114
113
115
122
132
134
131
132
126
119
114
107
99
95
100
107
113
107
89
72
71
77
62
67
88
101
105
110
113
101
100
104
101
93
88
87
71
54
42
39
42
61
79
80
85
86
82
80
84
131
119
115
89
54
86
126
99
83
102
107
98
94
90
80
77
81
94
79
64
75
71
43
61
92
97
81
92
57
55
59
48
99
109
56
69
72
57
100
74
98
137
137
100
104
88
81
92
99
88
92
116
130
90
77
130
86
59
104
105
89
34
43
55
51
42
77
110
115
127
100
127
101
93
104
132
112
79
113
91
91
84
73
61
52
57
86
115
65
122
123
85
93
98
95
80
98
104
85
62
79
102
117
122
116
88
80
84
49
63
86
96
120
96
115
150
150
135
125
126
129
118
130
132
122
116
109
101
98
99
116
108
70
88
85
81
84
88
90
93
108
114
120
121
124
130
134
125
117
114
102
97
109
123
127
124
122
125
133
134
127
131
132
118
117
114
115
116
109
109
114
113
105
99
101
105
110
112
117
105
95
95
103
109
101
102
97
94
96
93
93
101
113
108
94
92
94
93
88
83
84
77
75
81
85
88
90
76
73
73
81
105
107
105
107
110
106
96
84
79
88
79
87
102
108
108
109
108
105
117
122
115
104
96
89
83
94
108
109
113
130
140
136
144
148
140
141
156
145
117
112
114
117
120
122
115
110
108
118
127
125
112
98
100
106
82
47
36
66
107
114
97
118
113
106
95
96
107
115
80
94
78
71
79
80
70
74
57
53
54
53
62
59
45
58
81
104
104
91
122
87
98
92
94
120
138
131
104
112
90
50
35
42
61
79
59
38
50
43
29
36
57
72
76
75
93
69
63
51
56
126
88
66
85
64
51
77
122
79
55
61
86
57
73
92
110
121
113
75
62
93
133
82
56
116
122
119
96
78
74
49
57
58
43
31
45
99
138
108
100
128
115
122
104
134
124
118
108
102
67
48
32
35
45
64
83
95
98
83
76
93
84
79
88
89
79
96
104
125
114
100
91
94
95
66
60
49
82
94
102
108
101
134
115
110
116
117
106
105
114
151
145
117
115
115
103
87
90
88
105
109
100
110
94
101
106
111
114
114
115
117
111
112
114
119
119
109
107
135
125
125
134
129
116
117
131
141
135
132
140
172
175
140
109
113
115
116
118
112
103
105
113
122
120
107
90
94
123
126
127
118
109
103
113
105
93
87
96
99
93
89
92
110
122
126
126
120
101
80
91
85
91
96
97
99
103
84
81
77
75
90
102
110
119
116
112
107
100
94
97
109
113
119
115
105
104
110
108
121
127
121
115
116
116
112
100
61
74
85
89
93
97
115
113
110
72
63
97
142
147
148
147
142
127
95
88
63
79
104
120
119
102
78
79
82
98
107
87
57
57
79
71
75
80
82
86
86
79
72
74
118
119
104
104
119
118
116
121
109
88
96
83
88
111
110
95
100
116
94
124
100
66
69
88
92
95
83
85
86
73
56
63
66
48
38
54
42
30
29
35
38
54
61
49
101
75
125
79
71
81
81
93
95
94
74
93
88
108
118
77
85
83
77
94
91
84
78
57
61
95
128
87
62
142
146
129
97
85
100
63
75
72
67
86
87
85
94
83
138
52
78
72
100
146
88
79
87
78
102
84
67
54
54
83
121
136
106
96
107
98
86
116
105
59
88
112
107
94
94
106
99
78
79
61
54
91
107
97
104
120
123
113
121
127
122
116
100
112
152
144
128
104
111
116
105
91
70
68
93
101
105
126
110
121
133
133
117
107
119
119
119
120
118
115
116
121
123
117
117
119
118
111
105
111
124
125
125
111
122
155
164
143
108
102
99
107
107
105
104
113
113
110
107
109
114
111
122
129
123
110
109
112
120
138
131
124
130
128
108
92
93
115
109
103
110
105
89
82
83
78
95
101
98
98
103
96
87
81
80
90
91
85
92
102
106
98
88
86
87
102
120
111
80
76
91
91
89
93
93
96
112
129
126
111
104
75
79
93
107
120
130
100
102
84
78
112
114
89
120
117
123
141
145
101
103
86
97
112
103
92
105
109
106
99
82
67
67
79
86
84
88
80
69
72
80
76
63
56
61
75
86
94
88
77
76
87
82
64
55
61
70
69
56
37
46
75
83
112
141
149
88
66
102
105
83
72
83
76
106
114
80
72
59
54
67
52
29
39
52
39
54
59
52
90
126
132
33
112
84
88
81
50
151
79
70
94
110
114
84
56
65
62
84
78
75
67
58
80
106
123
113
87
118
136
109
87
99
95
77
99
65
69
74
100
98
81
123
111
136
136
64
118
145
74
81
86
98
92
75
47
62
93
92
141
112
112
70
135
93
121
127
126
120
94
79
79
116
96
88
81
61
50
81
115
124
128
131
132
123
115
118
116
109
113
122
137
140
131
107
97
78
83
95
100
99
99
106
121
112
111
133
120
131
124
118
119
126
133
132
127
130
127
119
109
102
97
95
105
114
116
121
130
133
131
125
98
97
113
137
141
126
120
113
107
110
112
114
116
112
122
125
115
106
123
130
134
113
94
100
125
137
126
126
130
133
134
124
107
105
118
117
112
114
111
99
107
133
119
113
95
94
96
92
86
87
90
99
100
81
82
80
79
86
95
100
105
110
111
109
76
57
77
98
87
80
78
69
74
91
98
92
90
97
106
118
118
119
120
114
103
99
81
89
124
98
89
105
90
120
122
94
89
142
141
146
123
106
105
111
113
82
112
85
60
53
54
52
52
56
58
57
56
56
56
56
57
67
67
55
51
55
62
65
53
42
44
62
77
82
93
99
78
57
40
33
45
70
68
93
98
117
130
122
115
77
58
54
97
112
100
122
152
149
86
82
82
90
83
58
78
68
84
101
108
54
114
80
69
65
47
75
108
108
172
121
92
109
89
56
68
91
100
92
111
131
113
105
112
104
70
80
110
122
116
112
101
99
74
107
97
91
60
71
81
87
118
112
134
104
20
115
106
87
98
130
57
85
80
90
63
86
86
103
148
70
100
73
59
112
106
89
80
107
110
109
82
92
67
54
91
115
142
142
156
152
136
129
128
120
112
124
153
150
116
105
105
92
76
85
96
99
105
110
111
129
134
138
110
85
111
115
120
113
109
111
109
99
97
89
97
104
100
91
91
98
109
123
133
133
135
139
129
111
91
112
128
128
123
118
114
103
100
100
104
102
100
101
127
130
121
100
91
108
109
98
103
108
117
125
120
119
114
116
113
111
108
99
97
106
98
100
97
102
117
126
124
128
138
126
115
115
115
112
115
107
106
108
98
96
93
89
90
98
106
110
107
95
89
99
93
79
86
98
94
86
101
107
97
84
80
81
81
88
118
116
114
113
103
88
97
110
115
91
84
79
74
105
90
105
138
143
109
103
95
114
140
149
129
90
66
44
73
91
81
64
61
65
67
60
61
62
58
52
54
62
50
54
57
53
52
59
66
63
70
76
71
89
95
80
81
84
98
96
86
100
110
117
101
76
75
71
78
105
119
83
62
60
71
92
106
112
115
61
67
83
87
79
66
80
101
94
127
100
121
81
92
65
66
47
75
95
122
71
105
102
121
138
99
86
110
93
119
144
105
108
158
150
92
69
80
96
115
126
118
115
106
131
131
69
61
58
84
57
43
64
129
131
84
108
131
68
79
100
134
97
45
45
54
79
99
97
159
149
134
97
116
99
82
87
81
82
118
107
89
87
67
60
89
125
132
121
145
140
138
135
118
88
79
92
149
159
130
106
114
104
72
76
88
102
100
100
103
104
111
100
94
80
89
118
128
131
128
121
114
106
94
91
97
109
119
111
97
91
93
129
142
153
154
149
136
115
93
88
97
118
125
124
114
100
97
96
99
103
99
97
98
117
121
114
97
92
106
101
82
90
96
108
128
133
119
124
123
120
118
119
112
108
114
87
86
80
87
114
125
113
114
125
131
125
125
128
130
129
112
105
108
111
112
111
104
97
89
88
90
92
105
100
106
109
111
108
93
82
100
111
105
84
72
78
84
84
98
114
111
107
104
96
86
101
95
87
66
61
71
85
120
72
71
119
140
115
109
85
99
119
146
156
129
64
51
41
51
78
86
70
60
66
58
56
53
49
47
50
53
54
54
57
54
50
51
55
62
77
88
79
108
122
103
94
101
111
104
92
96
100
119
93
47
35
49
77
115
113
93
89
71
61
85
103
114
105
71
56
80
112
95
54
90
80
106
108
148
142
106
137
119
113
87
87
96
120
87
106
78
85
129
126
123
97
101
94
85
81
121
165
144
103
80
85
110
130
130
106
110
104
111
114
70
70
52
76
33
13
48
151
134
92
125
77
96
146
122
111
87
62
58
58
86
99
101
166
126
152
83
104
67
97
104
111
119
103
87
83
41
91
118
119
121
115
131
132
141
131
108
96
108
140
172
120
101
113
132
111
93
111
126
128
111
101
98
104
108
94
104
127
134
109
132
162
166
160
138
115
110
117
105
111
117
116
99
86
91
111
140
131
125
121
110
100
96
99
81
103
100
85
80
78
72
85
87
93
113
122
131
140
136
155
164
154
147
142
130
139
151
142
120
117
123
112
93
100
100
99
98
95
94
100
94
107
124
125
126
130
125
109
104
129
143
148
152
159
174
150
133
121
95
94
93
118
112
110
108
104
99
105
122
110
99
103
115
114
111
107
85
76
87
98
93
88
88
103
96
99
98
92
87
87
77
76
70
71
93
115
127
98
102
108
91
67
135
153
90
89
73
64
84
111
165
136
87
54
73
110
119
101
82
89
84
72
71
83
87
81
70
58
60
72
82
90
96
70
63
73
85
118
140
133
94
115
123
126
129
110
104
122
117
68
58
99
134
149
124
87
99
98
85
91
89
104
99
87
93
106
110
119
134
128
135
137
131
185
98
109
92
108
72
70
109
107
115
108
96
99
123
114
101
119
92
102
78
99
149
153
146
154
121
112
113
127
132
135
146
140
119
67
81
88
121
104
89
86
91
104
86
51
71
74
31
68
31
55
53
67
21
32
67
57
88
112
117
104
84
104
86
53
87
104
108
99
73
65
72
98
120
106
113
119
101
91
102
125
143
158
169
164
143
125
129
125
123
123
128
126
121
146
139
128
118
108
114
126
129
128
138
151
118
123
154
127
124
127
139
143
123
120
133
126
115
117
132
146
145
110
96
90
91
88
97
107
106
105
113
124
129
127
130
138
130
116
101
90
94
113
131
141
145
135
145
151
118
99
96
111
111
107
112
104
109
99
95
96
102
102
93
85
84
75
69
77
92
106
117
123
122
120
110
116
116
112
114
133
133
134
141
162
158
148
110
103
99
95
92
96
104
118
112
106
106
115
121
112
83
92
103
107
97
84
79
83
91
93
83
71
73
81
75
58
92
106
116
129
130
127
94
78
72
82
90
104
121
136
121
98
91
105
117
113
128
146
157
140
120
113
113
114
96
88
82
88
105
114
117
109
89
99
113
109
101
98
81
78
78
81
112
115
101
86
75
55
53
81
120
152
135
143
109
85
81
85
113
85
73
92
100
58
71
66
62
108
100
101
114
123
121
85
96
113
126
171
97
91
93
123
92
75
88
81
103
158
95
87
74
82
90
106
129
136
145
119
146
148
156
161
162
139
135
148
162
145
126
136
148
132
96
75
46
74
66
60
67
56
69
91
130
117
142
107
55
59
100
99
15
21
32
57
61
72
125
105
93
81
86
65
46
122
124
112
84
65
77
82
78
80
91
99
85
81
106
150
165
168
154
141
129
126
128
130
125
104
105
101
101
120
112
122
105
84
74
75
77
81
85
91
97
106
99
83
84
85
93
109
120
143
153
152
158
158
156
156
158
149
114
114
110
100
94
94
91
80
74
82
105
129
139
140
143
168
187
207
163
129
129
146
180
179
154
141
121
105
119
110
115
110
104
103
99
102
104
102
97
92
91
93
97
99
103
121
125
122
115
101
86
95
108
96
97
102
101
97
89
101
111
111
109
124
137
164
153
141
136
136
134
132
126
115
109
109
104
96
100
109
82
68
82
97
89
71
60
59
52
47
36
33
45
58
109
141
122
96
93
87
110
100
102
109
115
111
86
79
91
126
131
110
102
105
109
111
110
109
120
144
159
147
120
77
68
77
102
120
123
115
110
95
109
118
110
108
113
105
102
112
120
101
83
67
83
88
86
84
83
78
72
56
51
59
83
85
100
129
58
58
106
117
40
47
64
77
95
95
102
114
141
136
72
90
86
100
70
88
121
126
91
106
106
90
56
83
125
94
73
78
64
86
134
135
155
157
147
154
126
142
130
102
123
124
124
99
93
110
124
125
142
148
122
89
95
88
84
38
19
80
137
89
127
101
85
71
67
76
61
63
54
36
95
96
128
114
106
105
87
85
86
77
119
113
92
69
92
95
79
83
75
77
72
73
103
139
148
153
148
138
130
118
106
102
115
95
91
117
121
104
105
132
136
105
80
69
67
68
74
78
83
85
112
107
82
92
92
92
91
89
120
138
160
167
167
160
150
143
129
97
94
88
88
94
99
94
85
84
124
172
209
213
190
169
195
209
210
152
132
124
119
144
158
148
138
124
115
115
106
105
101
101
105
106
104
83
105
116
107
103
108
104
92
110
112
105
101
101
94
83
107
117
91
85
87
86
83
82
93
103
105
101
114
125
124
128
129
139
150
144
129
121
116
120
129
126
111
105
109
88
71
81
104
110
89
64
56
55
51
47
50
69
92
149
125
91
86
85
84
93
70
85
92
86
90
108
101
73
97
131
136
112
105
113
111
116
111
100
103
125
145
154
103
82
76
89
106
118
122
109
110
111
116
119
119
113
99
98
108
117
95
80
65
89
75
60
54
59
62
71
54
47
56
81
88
109
138
101
85
105
100
32
54
79
95
89
99
105
111
132
135
90
69
76
101
46
72
122
113
107
108
101
86
50
68
121
97
83
83
57
85
138
128
111
131
140
145
119
127
109
106
131
153
154
134
143
161
155
149
163
128
114
104
104
90
133
76
67
129
74
35
123
125
89
65
70
106
112
75
70
35
116
121
114
107
130
117
83
73
74
69
93
70
64
108
154
118
104
85
86
110
127
153
151
91
115
116
111
112
114
108
100
101
122
130
130
111
100
122
156
164
136
81
69
65
74
85
80
84
87
77
100
108
82
72
77
81
85
92
131
147
138
126
117
128
158
186
185
129
115
94
91
96
89
86
99
107
120
153
180
180
157
136
132
123
108
106
119
118
110
116
113
93
106
120
124
121
123
118
114
106
96
95
103
135
134
132
130
124
117
111
107
87
91
98
99
98
98
102
88
90
86
94
100
107
116
120
107
97
95
93
85
79
80
89
92
102
120
114
122
116
108
99
94
97
112
138
152
137
122
112
102
95
100
111
95
103
103
119
127
122
122
103
77
80
87
80
80
74
78
66
54
52
60
66
61
71
74
91
115
130
131
111
112
115
112
109
114
117
108
93
123
135
148
147
134
121
114
105
109
108
104
104
106
106
108
107
111
108
107
95
72
97
57
20
33
67
79
60
73
66
41
34
46
83
117
75
89
103
101
74
96
75
62
80
97
100
95
66
70
87
76
86
117
77
95
120
90
115
95
89
109
96
67
96
71
81
71
84
115
131
132
161
123
136
162
136
146
133
143
160
166
159
154
160
163
156
158
151
119
109
90
61
59
97
122
141
140
71
134
143
76
61
53
27
68
124
122
56
57
66
56
64
117
96
86
52
58
59
61
78
70
91
122
157
154
125
135
140
140
135
119
89
117
140
131
132
119
98
107
127
124
127
144
155
146
132
129
137
133
110
82
86
93
93
81
90
93
86
85
90
108
90
92
103
102
102
119
141
133
114
103
97
98
100
101
111
105
109
103
92
88
88
103
127
174
139
111
122
127
111
100
107
107
108
121
121
107
91
85
98
108
102
97
93
88
87
107
122
122
124
137
145
139
125
117
113
104
97
89
81
102
103
99
99
105
109
108
108
105
85
85
88
96
110
84
80
81
84
66
73
88
98
99
81
79
77
72
103
134
129
131
134
122
99
88
105
112
101
105
141
160
153
151
146
127
125
134
118
96
99
110
116
119
116
117
121
122
126
106
76
62
67
66
64
66
57
51
43
55
104
117
113
109
97
94
107
119
121
120
80
69
94
137
161
155
139
137
127
111
110
106
98
91
99
97
96
96
94
80
67
98
60
31
41
65
75
78
101
86
49
34
53
92
104
42
117
89
82
112
109
118
118
134
145
151
141
92
76
143
126
133
105
109
107
117
126
122
115
100
102
121
99
73
118
94
102
139
142
105
111
103
72
80
103
105
114
134
133
129
148
161
164
167
160
159
160
159
119
99
79
60
52
108
95
67
103
93
127
120
118
100
73
38
53
106
131
105
118
79
42
109
36
2
52
12
117
74
38
74
49
67
107
118
132
142
135
151
130
83
61
79
157
122
108
99
102
115
133
140
130
157
160
174
177
153
119
97
92
86
82
82
90
97
97
84
91
84
84
83
104
92
93
112
120
122
133
134
123
101
96
97
98
91
81
81
89
92
90
87
84
80
85
97
172
157
112
93
89
94
110
91
97
105
116
117
109
101
106
107
99
89
91
108
108
120
128
132
130
129
131
121
118
104
98
98
95
93
89
82
101
111
111
109
110
113
114
107
110
105
104
92
79
75
73
77
83
84
82
96
111
101
106
94
101
105
98
113
99
99
109
122
124
117
120
130
112
107
116
123
128
138
147
150
154
144
150
138
113
103
118
117
114
126
132
130
123
139
125
100
83
81
74
75
88
80
64
45
48
84
117
80
66
74
96
105
113
112
95
78
79
96
117
128
133
135
173
162
121
103
94
92
95
90
87
89
93
101
88
74
92
70
55
64
77
80
68
89
79
42
37
60
91
94
65
108
84
97
128
128
145
142
126
143
144
128
103
100
143
106
118
108
92
115
120
114
125
113
100
107
119
95
87
135
108
115
153
156
129
125
105
73
45
70
114
119
114
127
142
161
154
153
172
162
146
142
154
81
86
83
55
39
89
80
79
64
140
117
115
108
100
64
19
48
105
91
92
95
51
95
54
11
19
50
136
134
39
60
31
25
21
33
125
137
111
82
64
68
101
131
124
90
121
140
145
149
162
152
136
139
134
138
143
136
124
118
116
101
89
79
73
70
70
65
81
86
83
87
89
111
101
101
131
158
164
158
115
102
94
87
84
84
87
85
88
100
93
101
123
141
140
120
98
80
80
74
82
86
81
80
101
105
105
98
104
114
121
125
124
124
125
129
126
118
128
129
128
121
107
99
125
118
105
100
105
109
113
115
111
106
107
104
100
104
114
122
120
120
103
105
104
102
103
119
129
129
113
105
109
105
119
118
105
109
109
110
126
123
120
117
112
98
84
84
98
120
141
135
119
119
104
69
106
94
79
88
113
136
152
149
149
139
94
81
80
82
97
88
67
51
49
52
59
55
72
73
71
76
72
103
99
61
44
58
74
75
72
69
67
73
81
87
95
105
114
97
110
126
122
114
105
96
112
107
107
115
129
113
96
96
94
84
74
78
86
79
90
93
62
59
75
62
60
77
78
86
98
82
80
105
93
79
119
119
105
104
123
162
118
81
114
111
126
103
112
128
111
100
110
121
116
130
134
133
159
159
118
109
123
65
67
89
82
44
55
110
143
139
145
133
114
107
104
117
158
135
91
111
90
64
74
89
25
145
108
116
100
110
113
67
52
68
96
102
26
41
90
184
59
75
48
59
91
27
33
63
80
23
25
19
19
57
59
49
82
85
103
122
127
132
163
147
154
152
140
126
105
96
104
125
121
104
85
80
94
109
101
98
85
67
66
76
85
72
70
69
85
105
124
109
111
126
138
142
136
103
102
87
75
68
71
79
84
82
85
84
116
166
195
194
160
116
87
91
95
92
92
96
102
82
87
91
99
98
92
86
86
88
90
87
88
117
131
145
128
109
102
108
117
123
103
96
97
101
100
103
109
109
98
97
101
102
99
94
92
92
110
114
112
111
110
113
115
127
131
129
142
145
138
128
127
121
126
118
120
125
97
96
97
96
90
82
81
88
87
78
92
122
123
119
138
138
115
115
105
92
99
119
115
126
142
167
158
133
110
93
85
68
59
65
72
77
75
73
66
62
58
47
53
106
118
77
48
74
68
45
65
63
68
68
63
63
74
89
104
95
89
110
135
142
138
123
120
119
123
124
106
86
87
89
85
79
76
84
83
91
91
72
66
54
30
48
78
82
85
93
107
108
74
34
47
106
109
111
93
98
168
143
131
159
176
187
160
151
116
113
104
104
119
152
164
162
161
155
124
90
91
87
37
57
46
30
52
90
108
115
94
129
107
87
76
54
46
121
106
92
80
89
93
75
93
50
127
88
67
90
154
130
81
72
72
83
110
44
87
182
90
84
36
61
45
74
48
79
80
93
31
20
13
17
36
57
86
101
108
123
134
144
163
154
143
129
121
112
99
100
114
123
114
100
89
84
88
98
104
102
101
94
74
67
69
71
66
68
73
92
113
132
122
117
122
123
125
122
98
101
87
83
78
77
80
83
81
93
90
117
155
169
168
152
122
81
78
95
103
102
91
80
79
83
85
86
87
87
83
91
89
87
84
87
121
139
111
109
103
100
108
122
120
115
111
113
114
107
105
110
112
96
99
105
106
101
98
99
119
137
141
137
129
117
110
108
120
128
128
134
143
150
138
128
119
123
115
116
101
82
79
77
75
73
70
68
78
72
79
99
107
94
94
112
124
130
138
131
124
125
130
143
138
137
158
165
156
144
144
131
103
80
75
93
108
98
96
101
101
88
77
63
101
127
95
52
65
75
65
76
70
75
70
60
53
56
65
58
61
69
85
102
106
102
91
95
100
109
119
104
90
85
90
91
79
60
49
47
49
42
30
36
26
14
40
78
82
78
98
138
125
61
39
54
119
118
112
108
111
150
132
126
121
128
109
78
65
51
54
59
64
71
113
153
170
169
153
128
121
126
101
27
47
44
34
48
72
99
126
125
138
99
78
87
90
105
151
130
68
69
92
105
98
72
83
116
161
109
134
93
114
79
49
35
65
97
56
147
106
103
29
64
51
38
54
62
118
102
78
91
58
35
76
33
37
92
102
114
135
163
173
150
109
85
114
110
112
117
116
121
118
85
82
78
71
71
81
83
97
92
86
86
61
46
59
73
76
83
103
149
156
156
100
86
104
107
90
87
102
97
98
102
111
126
146
161
156
123
103
105
103
94
87
82
75
82
85
86
74
74
99
100
99
102
118
142
153
142
145
135
124
111
110
124
94
95
95
98
105
105
99
95
88
92
107
124
130
124
123
130
159
162
165
165
155
157
179
185
183
174
165
154
150
151
151
141
142
145
137
137
125
121
130
128
108
107
122
79
77
78
79
80
81
80
73
62
73
90
98
98
97
102
109
105
132
134
139
148
153
150
143
142
134
132
142
146
143
138
142
141
137
136
117
103
104
98
93
89
87
85
90
95
102
130
108
87
92
81
88
84
88
90
78
74
77
69
57
53
54
57
51
49
59
44
49
61
67
79
93
97
52
40
68
56
34
43
42
34
29
39
40
22
22
48
69
64
79
111
118
80
49
49
70
115
102
101
107
100
118
148
139
113
100
97
85
81
84
103
88
90
101
139
105
117
140
170
140
115
136
110
50
32
39
41
32
60
87
77
91
95
69
88
86
140
134
117
102
125
119
62
63
106
127
110
139
163
136
125
135
105
40
13
60
74
87
88
47
54
48
33
65
106
86
63
84
98
28
60
37
42
62
107
98
82
83
63
27
42
95
110
96
89
81
110
116
115
108
97
91
66
84
85
86
83
80
83
84
94
91
80
76
74
93
128
113
90
84
114
130
119
128
123
78
97
109
82
92
86
98
105
115
116
109
100
101
110
111
109
97
85
92
98
89
81
82
93
107
101
87
87
93
98
125
196
204
190
167
143
128
117
107
110
128
100
85
84
92
105
118
128
136
155
164
175
177
178
178
176
173
159
146
145
157
160
159
163
164
157
142
134
125
120
118
118
122
121
105
96
108
104
100
106
118
123
124
125
86
96
97
97
96
96
96
97
97
91
87
90
97
101
98
93
90
103
102
106
116
124
125
128
135
139
140
142
136
127
142
121
97
94
111
149
148
134
126
111
88
74
81
125
135
111
116
122
119
109
84
80
81
88
94
89
93
102
108
117
105
64
69
76
76
75
61
64
77
81
54
56
61
78
79
102
90
62
58
68
77
63
63
62
47
50
74
71
62
88
109
84
51
41
35
64
129
115
88
114
130
117
115
94
84
71
101
117
92
106
107
107
129
129
90
74
138
161
131
93
131
143
98
40
29
23
35
79
134
165
164
53
78
103
136
131
148
128
143
157
44
81
101
76
43
50
104
137
116
106
74
67
93
66
48
76
73
33
53
74
71
70
60
78
88
61
51
93
110
117
84
28
31
57
90
91
104
113
40
66
94
105
96
71
104
50
113
105
95
113
92
71
82
87
86
86
86
84
83
89
89
86
85
81
82
98
124
117
112
108
113
92
89
111
107
72
85
96
91
92
89
91
97
102
100
90
86
101
154
132
105
87
86
98
103
94
83
75
85
97
97
86
80
88
87
112
193
201
189
169
141
126
119
113
118
137
113
113
117
127
137
143
147
159
172
178
176
164
154
153
149
145
161
166
163
159
156
156
158
143
132
120
118
113
109
108
100
109
112
102
97
92
76
101
98
112
132
142
140
109
98
94
91
93
97
101
106
101
94
88
91
103
110
107
99
90
98
101
105
106
102
96
92
111
126
125
128
132
134
145
131
112
100
100
117
121
146
152
151
140
124
115
117
117
119
117
106
118
139
110
60
72
81
91
92
96
105
116
130
117
69
76
83
77
65
66
63
70
76
53
46
41
50
68
113
131
100
64
75
97
81
79
77
61
57
71
64
57
88
105
67
44
42
33
84
120
111
119
119
87
76
89
94
97
92
114
125
112
136
127
130
148
132
79
98
132
96
90
109
146
166
133
56
76
92
116
171
195
142
67
121
151
154
125
95
118
127
92
151
51
67
91
80
54
31
99
128
104
99
54
46
68
42
32
54
70
67
75
41
66
68
38
44
74
63
55
115
89
113
98
63
27
48
67
88
117
113
113
78
24
14
66
105
41
121
91
40
27
35
50
73
77
83
74
71
77
78
81
97
99
80
83
96
116
131
136
150
155
130
102
88
81
92
87
99
92
78
100
67
70
66
69
78
85
83
82
100
121
93
76
78
73
70
82
97
89
80
82
92
110
118
112
68
57
61
108
134
150
151
141
139
150
164
169
181
167
162
167
170
166
152
140
147
142
143
139
131
128
133
139
143
144
146
137
132
135
126
99
90
87
88
89
90
91
94
103
95
78
76
110
109
106
88
76
86
112
130
138
142
123
109
97
95
97
99
103
126
125
119
112
113
117
113
104
112
100
99
104
107
105
100
100
94
87
98
106
102
91
95
84
80
94
119
131
128
118
118
112
110
117
135
151
138
135
109
100
113
134
139
103
88
86
88
90
82
79
91
105
96
81
99
104
89
72
74
86
98
91
64
66
67
52
38
42
92
112
84
81
64
60
77
94
85
76
76
66
66
85
99
93
108
132
135
147
119
129
111
105
101
100
91
87
66
137
145
137
162
135
116
129
151
145
51
76
75
79
124
148
128
98
86
118
144
159
154
151
159
146
117
63
13
58
82
92
76
61
84
138
64
110
87
57
89
91
97
80
54
68
60
93
111
105
110
81
78
125
58
80
49
26
22
50
70
64
81
90
99
99
47
50
53
99
79
97
151
136
109
91
71
95
105
42
73
87
77
53
64
67
38
34
46
59
53
53
70
73
75
95
90
70
91
110
132
143
136
113
106
88
90
86
82
114
79
95
104
79
81
93
74
64
61
68
75
72
61
60
87
89
91
87
83
93
98
91
95
87
93
103
121
117
90
66
74
86
119
152
175
176
134
140
162
175
164
145
131
154
144
135
131
129
128
130
132
130
131
135
130
120
120
128
126
136
136
137
153
143
105
84
83
86
83
81
81
86
98
111
122
134
118
108
121
125
125
131
128
114
110
133
167
161
156
149
136
130
143
139
133
123
119
133
153
156
148
143
159
156
142
130
131
136
143
146
142
123
125
130
131
140
126
111
106
106
118
126
123
134
143
143
147
154
149
139
139
120
131
132
130
155
147
127
105
99
104
92
87
101
109
89
80
100
101
90
86
82
85
81
74
117
116
88
89
102
77
80
90
81
29
42
45
70
89
77
59
50
84
86
85
88
109
123
126
126
135
124
107
106
93
62
63
72
55
82
155
123
122
156
134
128
140
125
105
73
136
155
144
135
97
86
118
115
62
98
129
101
62
77
71
11
100
89
95
65
104
109
93
92
136
107
98
126
141
103
96
93
84
63
83
96
128
121
114
114
101
122
134
104
93
74
54
37
46
57
50
67
92
95
16
17
105
127
110
95
127
179
116
65
96
119
95
54
20
83
102
96
89
81
75
68
59
53
58
61
74
55
35
59
97
65
66
91
107
104
94
95
90
92
88
87
70
104
111
81
75
105
110
79
112
91
67
68
73
77
77
72
71
99
96
95
98
99
97
96
94
92
77
82
104
121
115
97
78
91
95
130
158
164
151
128
131
145
164
161
125
141
139
133
127
120
112
107
119
130
121
122
126
117
107
106
109
112
112
119
130
145
148
138
94
86
82
83
83
87
90
101
92
98
119
122
109
103
115
135
129
112
108
99
103
149
157
139
129
154
169
152
143
142
139
139
144
150
157
161
159
153
148
139
123
114
122
119
120
123
119
116
117
119
144
153
158
153
147
148
146
133
127
141
157
155
147
177
155
138
130
135
131
124
133
148
156
142
131
103
86
92
99
98
80
88
109
105
89
85
83
58
65
92
116
106
79
104
112
102
90
93
81
38
32
57
63
64
70
52
39
88
76
91
108
116
144
158
141
133
125
103
85
90
79
69
48
67
113
125
122
139
145
145
160
120
89
142
122
144
109
120
126
129
125
105
75
112
103
36
44
79
48
37
50
75
127
89
33
92
121
96
125
117
113
100
106
85
94
108
103
82
99
56
115
128
86
95
116
64
101
97
101
112
162
145
108
84
87
116
102
99
45
0
36
85
83
84
109
99
145
138
104
118
69
28
47
59
139
93
83
77
78
77
72
79
93
79
72
62
50
72
88
65
45
54
66
69
72
71
70
84
63
76
97
98
135
101
75
80
97
107
97
91
96
85
76
74
88
102
105
102
98
101
102
101
96
92
89
90
82
79
75
81
92
91
85
91
94
105
167
169
142
120
120
126
124
123
130
126
118
107
108
107
99
90
88
112
99
92
90
91
92
95
88
72
90
99
96
89
99
110
112
117
111
104
100
90
84
82
76
68
72
90
105
101
101
102
123
125
120
124
122
122
142
166
169
153
150
141
126
116
118
119
113
108
104
96
90
86
99
112
120
109
98
97
108
107
104
96
95
100
104
103
99
89
78
74
80
84
78
81
98
110
102
96
134
124
131
143
149
148
143
140
141
118
125
124
119
123
126
120
127
134
53
77
103
97
90
72
103
104
96
89
75
90
119
90
94
100
73
62
71
47
43
65
86
80
76
82
100
122
127
113
110
111
104
98
133
121
96
99
81
40
39
71
108
126
155
153
137
140
140
141
133
150
113
123
172
163
135
100
85
96
105
84
12
26
56
58
73
80
78
137
114
68
81
125
146
148
114
117
112
94
119
89
78
105
114
131
115
100
68
116
116
96
117
104
68
83
72
135
91
124
100
77
93
92
68
37
51
91
88
31
75
72
77
97
105
117
115
139
103
125
148
79
61
100
89
78
75
87
98
98
101
107
63
72
86
89
111
118
88
99
73
103
95
75
84
107
99
103
104
112
116
130
104
88
83
69
78
99
67
82
93
83
85
104
112
103
97
105
109
108
98
91
92
100
106
104
119
124
126
118
102
89
80
85
106
158
142
120
116
135
117
100
103
111
98
101
96
93
92
96
98
92
86
82
84
84
78
76
88
93
87
79
82
89
100
113
113
98
77
80
94
106
118
123
126
102
90
82
81
85
91
97
96
95
90
95
114
129
117
104
102
96
102
119
136
138
115
115
113
115
120
125
114
97
95
98
110
120
116
105
104
111
111
115
112
109
110
112
119
116
112
107
100
81
75
79
83
93
96
86
87
116
120
116
107
94
91
98
112
122
138
138
138
136
118
89
69
104
125
62
63
64
64
79
101
110
111
103
110
115
116
94
110
116
116
125
131
123
141
147
122
97
105
108
96
121
116
96
94
108
89
83
117
115
95
90
76
83
87
86
112
110
136
156
148
160
173
148
119
119
154
98
80
88
151
123
106
91
61
44
56
125
137
108
87
65
75
97
53
111
129
87
87
145
149
143
147
120
114
102
74
98
104
118
129
116
102
117
105
60
55
55
12
34
60
63
76
96
118
101
69
72
67
44
42
53
58
44
21
74
76
78
88
116
113
107
134
137
143
138
77
68
89
101
97
94
97
98
93
88
85
74
78
73
92
133
140
106
85
88
105
89
98
130
153
156
157
135
117
107
118
96
81
80
73
87
111
74
79
104
93
97
118
124
110
98
98
105
104
93
87
94
104
109
110
128
133
130
115
95
83
93
101
117
135
114
99
105
137
119
105
107
110
96
105
99
95
95
102
107
100
83
86
87
92
86
79
85
97
100
91
87
91
101
113
108
89
84
88
97
105
114
117
116
120
109
98
92
95
101
110
116
110
104
109
125
140
125
102
107
115
119
120
119
121
132
130
122
115
118
129
127
117
105
102
110
118
112
104
105
115
118
121
117
115
112
113
122
118
112
109
104
95
98
89
89
90
90
87
93
113
96
90
87
86
90
95
105
115
113
125
148
158
134
107
102
141
129
58
59
70
81
95
105
124
125
107
133
126
95
108
116
122
140
152
132
128
121
115
79
67
98
106
89
120
116
104
107
110
83
78
113
132
83
105
120
148
148
123
91
119
158
134
147
175
173
162
128
133
153
121
100
128
143
105
81
78
81
99
120
120
50
69
82
63
71
76
85
107
89
51
100
152
113
125
113
95
105
92
98
127
125
127
135
127
104
109
93
66
67
48
26
76
77
53
82
106
101
87
56
56
57
35
34
37
32
44
53
69
71
76
89
125
118
130
122
106
93
114
83
76
73
87
104
109
94
79
75
73
68
76
72
91
130
141
123
115
94
77
138
146
148
157
159
154
133
123
115
102
120
66
84
88
88
93
101
87
87
100
80
84
119
138
118
96
71
81
85
84
85
95
100
99
105
128
128
115
104
105
113
103
114
123
118
105
104
115
95
113
115
100
96
108
110
114
112
114
117
116
114
113
104
99
105
111
100
91
94
98
92
92
86
84
99
114
115
118
113
87
82
84
85
85
73
81
92
102
101
97
94
80
87
96
100
104
115
115
123
117
119
117
107
98
98
88
111
125
117
106
103
103
100
115
120
129
136
131
127
133
128
127
124
110
104
104
103
111
111
111
112
105
97
105
112
101
92
92
101
119
126
103
86
78
91
99
98
104
118
110
120
150
142
90
77
117
106
109
92
75
98
116
100
106
111
97
111
116
101
145
114
121
144
141
108
101
80
79
54
75
108
79
25
21
47
86
115
100
76
83
118
151
136
154
154
137
114
95
106
173
165
135
146
163
163
169
142
164
164
84
139
161
126
131
153
155
109
78
103
114
114
109
76
76
71
73
106
95
78
88
107
93
97
129
122
118
121
57
68
123
125
133
138
128
117
101
90
62
54
33
39
40
44
18
51
83
74
69
94
63
18
17
19
37
67
68
73
117
69
78
92
97
117
120
103
97
93
89
101
115
109
70
113
89
76
82
84
79
80
90
108
118
122
111
100
99
106
137
139
173
156
139
127
108
92
86
86
82
98
105
83
76
85
110
103
59
90
100
78
82
86
89
88
74
64
90
106
110
96
83
85
88
86
96
108
115
119
124
127
130
125
119
118
121
129
136
135
101
107
107
104
105
100
98
94
92
89
88
88
87
80
74
83
100
114
108
96
85
77
100
108
121
133
117
90
79
102
92
94
92
74
76
97
93
85
82
97
134
146
164
149
125
102
93
94
95
105
115
110
107
104
99
99
95
91
103
108
103
94
95
107
121
115
101
102
105
105
104
102
102
118
133
153
159
158
154
125
116
96
93
114
116
133
138
121
108
107
106
99
99
87
87
86
81
80
86
89
89
112
112
103
101
121
125
81
110
91
67
76
73
69
76
58
73
87
118
128
142
144
130
120
103
94
94
87
74
80
60
41
38
53
75
93
83
91
101
103
102
113
138
159
135
144
132
129
121
128
155
168
134
125
127
151
170
159
135
114
105
60
130
154
136
152
118
100
91
68
60
67
94
87
102
106
82
69
68
55
110
128
113
122
143
138
121
109
129
89
108
117
128
161
128
93
91
83
80
66
69
76
64
56
55
45
18
52
104
112
112
79
64
74
68
63
47
60
64
103
70
85
97
95
124
118
87
98
95
93
105
119
115
74
80
67
70
80
75
68
82
103
128
132
123
109
106
120
138
161
154
163
145
124
107
88
79
73
80
86
105
113
101
92
99
111
69
64
98
95
83
81
85
91
84
65
66
118
133
130
103
82
86
93
93
101
102
110
123
132
132
129
109
100
102
126
134
130
117
92
99
105
104
100
96
96
89
90
91
94
94
87
66
80
73
71
75
79
95
117
131
120
104
98
101
96
87
86
99
90
98
99
80
72
85
92
84
74
77
109
130
153
149
133
120
121
121
114
94
83
79
84
89
85
82
86
75
75
83
102
122
130
123
113
96
84
86
92
103
118
129
136
148
162
174
170
158
146
105
108
109
120
138
121
125
129
122
113
108
106
105
99
93
91
86
79
76
78
80
78
72
92
79
79
141
155
101
109
58
66
60
59
63
50
61
58
51
83
150
156
133
113
94
72
67
71
60
39
45
55
72
91
102
105
106
108
96
110
113
93
110
146
149
136
139
130
129
129
142
170
168
133
132
116
137
161
144
116
103
108
107
137
131
115
99
93
69
62
65
46
38
89
104
123
109
72
63
69
56
116
138
136
139
141
128
112
119
125
104
120
129
137
158
112
92
88
81
85
59
55
63
99
97
73
63
45
58
93
99
70
39
31
52
74
66
41
58
74
122
83
94
106
115
111
103
97
107
95
90
88
92
104
95
48
40
50
67
80
106
128
130
131
126
130
145
166
185
196
167
152
111
87
75
76
76
96
85
82
86
89
87
85
74
89
116
71
79
78
102
122
107
94
92
89
85
105
175
155
118
86
89
117
137
140
117
129
125
116
115
119
128
117
106
105
124
126
113
94
95
96
105
105
93
102
106
98
100
99
96
90
87
87
89
91
100
108
100
88
75
66
76
95
115
121
113
98
87
79
86
82
95
104
98
89
77
78
74
76
94
92
92
99
92
91
104
124
139
148
163
153
147
140
122
106
95
92
106
125
129
117
105
112
127
147
166
174
172
166
167
171
157
141
123
108
105
105
104
121
129
128
108
80
65
81
112
113
107
94
93
106
108
102
105
110
121
128
131
131
130
114
106
76
103
163
142
100
58
50
65
61
62
59
42
34
76
95
103
106
105
79
63
73
64
46
51
72
94
104
97
95
98
96
91
91
88
100
108
108
109
110
110
111
136
142
142
141
142
154
170
161
122
120
133
164
179
147
72
118
139
127
73
86
115
114
94
111
111
74
72
103
117
130
141
119
78
68
91
109
103
101
116
118
113
116
131
94
60
80
86
112
126
101
98
100
78
73
86
73
70
65
60
71
84
74
62
89
77
82
58
62
47
29
63
74
32
66
115
172
107
126
130
120
110
105
108
98
90
91
83
74
92
109
84
44
52
92
105
108
116
115
132
147
158
162
160
147
132
106
98
74
72
71
77
85
82
86
88
99
124
112
98
100
80
69
72
65
73
85
101
113
107
84
76
84
94
103
89
79
82
91
101
115
127
143
126
113
102
100
110
119
118
122
130
113
105
104
103
108
100
110
115
101
111
112
104
96
84
79
81
84
84
75
68
66
68
65
64
65
64
71
87
97
93
97
109
113
98
90
85
89
86
92
109
112
115
103
88
88
83
78
75
86
97
92
81
78
96
102
93
86
89
112
148
168
137
133
138
152
157
151
142
140
145
130
120
110
109
118
129
155
152
153
150
138
125
119
103
92
80
70
63
68
66
72
82
93
97
93
84
71
65
63
63
70
69
60
49
43
79
90
123
158
150
122
93
91
67
52
61
67
61
49
75
94
86
79
87
92
70
80
81
83
93
102
94
79
92
91
97
105
100
89
91
97
116
104
92
111
113
103
114
104
123
136
137
139
146
150
156
155
157
161
161
142
117
159
172
160
131
142
105
129
94
121
121
102
105
119
135
146
152
137
96
72
85
107
119
153
148
128
123
133
111
61
61
91
72
101
110
100
109
82
94
93
104
53
58
54
41
62
58
40
62
110
102
116
124
131
106
82
81
86
102
78
90
64
55
116
142
139
115
117
110
104
90
86
95
89
75
93
109
101
94
116
125
106
105
115
108
138
151
152
142
132
118
108
94
88
76
84
83
79
81
92
98
99
102
116
91
65
97
84
69
80
56
72
76
88
117
120
91
78
85
86
87
81
83
92
94
95
114
138
163
108
88
85
98
116
127
118
127
139
109
94
96
99
110
100
112
120
105
114
110
108
95
79
78
85
89
75
85
78
75
77
71
67
65
61
69
80
83
73
80
101
110
114
115
96
111
122
107
86
106
114
104
84
78
75
73
69
74
77
80
83
88
90
99
97
93
93
111
136
131
74
78
92
103
101
92
97
109
117
113
113
113
116
128
140
135
131
131
129
119
112
110
100
96
95
88
75
66
57
56
64
75
84
81
72
64
66
56
50
56
61
66
72
77
85
75
106
128
116
130
122
98
62
71
66
61
66
63
44
79
87
79
66
83
78
48
42
53
81
93
80
111
111
96
91
102
109
100
91
100
114
105
96
109
113
105
107
97
116
129
129
131
137
138
142
159
165
165
163
151
145
177
145
169
151
128
128
136
119
112
130
118
87
117
150
143
157
137
92
80
112
134
131
140
140
140
141
142
116
71
53
76
100
122
139
126
100
138
100
127
152
54
106
69
96
80
47
48
82
79
30
72
89
112
73
55
74
64
70
70
87
89
90
131
133
137
134
119
109
95
91
91
90
89
89
100
131
160
165
155
130
111
106
111
115
109
103
98
91
86
87
92
91
93
90
84
81
83
85
89
75
75
113
103
89
98
88
83
79
75
72
85
82
82
97
117
97
78
78
71
92
89
82
87
101
112
114
118
112
90
93
103
110
113
115
96
108
107
90
98
106
116
133
129
126
125
124
109
104
122
109
84
78
88
86
82
70
71
88
102
90
76
67
59
87
89
86
82
80
84
88
104
105
107
116
135
141
130
105
89
84
98
109
100
100
100
102
100
104
113
120
143
157
145
138
128
110
102
98
102
103
106
106
108
110
114
116
110
103
97
97
100
103
101
94
100
112
118
113
100
82
66
69
75
86
93
74
63
53
53
77
84
84
87
81
99
108
128
114
124
116
126
122
78
58
56
75
97
104
103
89
73
68
62
57
67
53
63
76
64
40
40
45
53
43
50
58
63
66
71
88
92
90
92
102
108
99
95
110
92
105
96
100
104
87
77
94
114
119
126
126
127
138
148
144
154
154
141
104
145
156
154
148
141
117
136
130
116
112
92
105
125
140
148
158
134
129
147
137
132
153
147
141
129
119
132
135
122
117
128
81
93
99
104
102
103
99
95
55
35
80
51
102
73
39
81
56
34
99
63
29
32
53
58
73
82
75
103
128
117
14
34
131
140
150
137
113
109
89
97
97
98
108
126
149
175
169
155
126
101
98
107
106
98
95
90
89
85
81
83
85
99
95
85
84
81
79
74
80
76
103
134
65
88
69
68
67
73
79
81
90
87
76
90
116
108
98
98
84
76
82
91
116
145
152
138
127
118
121
121
114
100
89
83
94
88
81
94
93
93
104
99
94
90
98
120
118
99
87
97
107
117
120
114
100
101
105
105
101
98
103
104
101
102
104
105
105
103
99
96
94
100
100
94
105
119
121
125
128
115
95
114
126
124
143
145
140
134
131
121
121
115
119
131
141
139
132
128
128
117
106
102
101
95
84
75
77
78
82
86
95
106
118
95
84
83
66
53
55
60
50
66
83
84
75
84
100
106
115
138
138
139
142
147
137
129
136
110
104
92
103
90
80
72
66
68
69
60
45
49
48
59
75
59
65
78
57
57
60
68
61
47
42
42
40
37
32
26
18
5
15
22
30
36
40
40
54
80
98
95
78
100
80
98
118
87
114
110
131
133
118
120
136
147
136
145
145
167
158
153
166
159
143
124
154
147
102
99
73
57
72
104
126
106
158
148
143
159
136
123
138
173
138
130
165
154
110
102
79
104
130
110
102
136
127
131
138
113
79
82
101
117
53
50
87
70
18
22
45
47
63
74
79
94
104
101
111
76
60
27
45
139
157
152
130
109
97
95
102
106
116
129
150
170
180
146
122
100
99
104
104
101
102
97
92
92
91
89
87
89
103
97
84
85
85
84
80
74
65
118
118
67
79
80
66
65
73
83
87
94
93
82
90
112
105
100
102
90
87
103
124
144
159
148
123
107
109
131
134
125
111
104
106
99
89
80
90
84
83
94
99
101
110
128
151
124
93
83
80
79
85
93
100
95
104
119
128
128
123
111
89
74
94
99
98
91
82
77
76
90
90
85
77
81
87
83
91
121
126
101
120
136
129
124
124
117
110
110
108
129
135
155
166
159
150
138
117
102
99
99
107
116
117
109
100
99
92
90
84
78
78
83
83
74
70
56
53
65
79
87
97
105
105
100
102
109
136
144
157
140
118
94
98
155
142
154
140
143
129
128
96
74
72
71
78
83
79
74
77
74
76
86
66
67
78
85
68
57
58
52
46
41
32
27
21
17
17
18
18
16
19
19
21
25
25
33
47
74
60
111
86
66
93
92
94
105
121
149
144
126
132
141
140
116
148
152
176
154
152
169
159
137
113
127
121
82
67
72
72
73
106
118
103
136
130
146
163
120
110
151
156
147
150
159
150
125
109
105
138
113
83
92
129
102
162
132
109
66
75
99
65
63
87
68
2
15
76
36
28
54
65
75
91
90
76
66
40
59
30
29
159
151
136
123
103
106
117
123
136
151
159
166
168
141
97
92
94
103
108
107
104
106
95
96
100
105
103
101
101
102
101
97
93
91
86
84
87
107
113
87
78
78
89
84
76
79
87
86
89
90
82
80
94
90
92
100
93
98
115
130
138
140
130
120
122
128
131
125
115
105
100
101
102
107
103
89
79
70
74
80
93
118
141
146
147
161
125
109
101
107
118
133
107
106
110
108
117
131
131
129
141
117
116
107
93
84
83
85
111
106
109
112
122
129
127
106
101
113
139
130
110
104
129
135
138
136
127
112
104
114
121
112
106
117
126
127
137
143
148
150
143
132
120
110
86
85
92
93
85
80
80
76
79
83
67
72
83
85
73
91
117
138
148
124
113
102
101
116
122
115
94
161
173
148
155
150
164
165
164
125
108
115
117
97
66
59
69
70
57
69
74
79
96
86
53
47
55
68
81
73
52
50
45
37
28
21
19
20
15
16
12
13
17
15
10
18
2
47
80
61
97
124
96
123
112
136
142
142
148
150
146
124
106
156
145
146
160
158
158
135
122
112
111
110
131
79
68
60
63
85
75
124
141
134
115
115
160
186
139
139
146
149
141
149
161
155
134
127
102
94
117
98
50
65
52
52
95
107
109
89
36
25
137
139
57
87
76
100
127
103
84
79
73
80
66
32
61
53
23
114
111
107
102
128
142
139
154
158
163
157
137
114
100
100
107
112
112
110
108
104
99
92
95
100
102
98
93
90
94
113
88
86
83
90
75
139
80
75
97
116
126
126
83
77
67
63
70
68
74
75
87
98
87
111
126
103
120
112
106
117
106
96
105
93
84
105
103
99
98
96
92
105
118
135
141
122
105
97
100
109
150
184
170
141
129
98
84
80
82
79
84
112
101
105
94
86
92
90
91
106
127
133
136
121
114
118
119
133
126
131
117
102
99
97
101
106
105
100
121
122
114
101
105
105
100
100
105
106
105
107
113
120
121
114
107
105
109
118
116
101
94
101
107
106
113
111
102
91
89
92
97
91
75
73
79
78
78
147
140
120
91
69
68
72
63
60
48
61
69
80
189
161
146
145
160
173
176
162
143
123
103
121
77
99
105
115
116
85
67
75
81
80
74
85
60
63
81
103
97
61
60
56
52
57
66
64
71
59
52
69
69
86
79
91
61
109
104
104
114
107
103
79
92
128
102
108
138
143
124
149
123
142
147
159
165
166
171
146
148
117
104
162
152
81
93
60
67
62
96
97
159
147
154
157
148
158
173
168
132
78
110
129
166
148
160
142
134
140
114
110
89
65
50
46
63
81
43
5
42
118
115
80
43
50
80
104
86
119
145
134
111
102
90
68
100
64
69
48
118
106
103
111
131
144
150
158
168
170
153
120
98
110
107
110
111
106
103
100
97
93
93
93
96
96
91
87
87
103
79
86
87
85
70
132
108
89
127
124
109
118
63
74
76
68
61
64
72
84
98
95
95
89
116
127
98
115
116
104
108
104
97
102
92
83
96
92
93
101
109
113
128
126
131
152
151
147
143
127
115
141
177
173
153
151
108
100
107
115
108
97
83
122
142
145
137
132
119
103
99
123
128
108
91
82
81
92
115
102
87
80
83
87
88
90
96
100
101
101
93
84
99
99
97
99
112
124
103
102
108
114
112
100
88
86
101
98
104
104
93
86
93
100
122
114
105
94
86
91
100
90
89
76
71
94
122
146
103
104
98
85
77
67
62
59
64
51
58
48
61
196
157
145
148
165
174
173
163
153
138
112
106
91
98
102
121
82
94
50
53
63
65
69
81
66
71
90
108
91
58
62
60
57
60
68
70
72
83
70
79
72
89
85
100
72
104
90
90
105
101
99
83
105
115
108
113
127
138
145
148
139
154
151
169
170
169
164
145
139
97
99
164
128
107
92
69
65
91
91
113
148
154
161
166
165
155
148
151
145
99
112
143
165
152
166
173
137
164
111
159
111
92
48
56
53
68
25
103
98
125
123
80
77
115
88
122
113
144
154
140
123
97
79
85
79
42
68
57
128
135
144
157
164
163
168
159
144
124
113
107
105
106
97
99
98
93
90
90
89
88
87
86
85
81
78
81
86
94
115
66
94
122
109
123
131
103
87
83
94
78
63
74
87
85
70
69
96
105
106
102
101
103
108
103
94
99
132
118
105
112
106
106
107
106
116
115
109
105
103
103
87
95
103
94
85
88
96
93
98
124
148
139
143
164
144
133
130
132
130
129
127
127
105
82
77
89
99
97
93
135
130
121
121
118
103
93
89
90
68
69
71
69
66
77
74
81
97
103
107
118
111
121
120
108
107
117
109
110
102
98
103
109
107
101
82
70
73
85
87
85
90
96
89
98
105
107
102
96
92
108
124
133
137
120
93
77
101
105
110
114
113
103
95
90
95
77
95
79
100
201
194
175
173
183
178
163
156
159
112
139
123
106
100
136
86
96
111
81
81
76
57
47
52
62
72
94
107
76
61
65
66
66
64
67
77
71
63
65
85
78
87
75
86
103
98
76
80
106
107
98
100
92
112
107
118
131
125
112
127
144
151
158
168
159
179
165
137
130
108
111
129
126
119
97
100
72
73
104
161
163
165
164
165
162
146
147
170
165
128
80
145
146
166
192
117
88
124
188
163
151
116
70
73
40
32
80
121
135
120
88
100
109
83
91
111
123
139
146
153
153
126
93
85
92
76
86
62
165
183
171
145
148
139
133
119
111
105
103
97
91
80
83
90
96
94
89
84
80
74
70
70
72
74
76
81
88
94
90
134
97
88
135
85
89
88
125
127
60
70
77
75
85
90
98
109
115
118
118
105
94
105
108
112
117
107
133
123
112
103
86
90
94
95
95
92
84
79
82
88
95
91
89
96
95
93
93
98
105
100
88
96
117
107
95
96
106
120
129
138
139
122
103
101
101
84
67
74
89
83
96
116
99
104
130
134
136
136
100
89
76
77
92
106
93
86
93
104
113
124
131
114
94
86
92
99
96
96
102
111
116
114
112
115
141
139
139
133
123
122
123
118
115
108
113
119
119
119
120
116
109
94
93
93
85
80
84
92
102
106
96
76
76
75
80
87
89
75
98
191
194
180
176
179
173
163
155
149
129
127
116
113
98
105
96
140
101
112
83
66
78
82
63
70
83
94
81
72
73
80
66
66
70
65
71
73
68
72
92
79
84
78
94
88
84
85
86
105
105
84
98
117
86
95
117
126
124
125
141
143
153
159
142
131
169
175
160
140
110
131
124
108
122
126
118
136
95
135
152
175
165
178
177
152
148
161
159
174
139
88
127
150
161
168
130
119
130
95
74
112
58
30
59
113
74
76
67
77
109
74
114
162
123
95
200
141
127
137
145
139
146
133
83
20
24
65
63
180
189
174
159
164
144
133
110
107
105
100
93
81
79
86
91
94
91
87
81
76
70
65
64
69
73
76
81
85
82
102
78
81
112
73
73
68
98
137
117
74
82
74
90
96
107
125
132
116
119
106
99
88
97
97
109
123
119
122
110
108
96
87
99
94
94
88
83
79
77
85
95
98
89
83
94
97
99
100
113
111
96
86
92
88
75
75
74
87
107
124
132
115
107
104
107
103
88
90
102
106
77
101
114
100
101
122
126
136
138
122
116
93
80
96
132
116
103
102
121
129
136
111
90
75
78
84
83
83
79
86
96
102
101
102
112
119
126
127
112
99
107
117
112
90
99
102
94
87
85
88
68
92
109
107
100
97
101
99
101
108
113
107
87
84
84
79
96
83
71
88
152
189
189
193
188
172
160
147
135
139
130
136
111
92
81
99
110
102
92
75
81
94
89
63
64
84
94
69
77
82
93
70
69
77
69
70
80
82
76
84
67
78
76
89
93
96
105
96
108
112
94
115
100
97
106
122
123
110
102
141
146
162
153
142
136
162
170
158
139
112
135
118
109
130
115
135
145
112
141
173
173
173
170
154
140
143
153
156
166
128
99
112
161
161
160
152
146
122
115
74
79
42
85
135
69
48
79
111
130
142
95
153
176
91
95
183
116
111
125
135
129
125
116
94
9
27
71
63
164
139
121
128
127
111
103
99
97
93
88
82
76
74
82
83
84
85
81
76
69
66
66
70
75
77
78
81
81
83
80
81
81
80
81
85
77
96
100
92
109
114
113
126
132
147
152
146
121
101
75
86
91
83
88
114
112
99
107
106
100
100
98
97
101
104
98
96
99
96
92
93
94
100
101
78
67
66
69
76
80
89
95
89
79
85
81
104
122
129
133
139
137
101
92
88
96
113
124
120
109
94
86
77
75
88
104
114
143
132
134
117
115
119
106
119
141
145
124
110
107
94
103
105
99
96
98
88
100
88
89
89
88
91
97
99
103
109
115
106
86
81
92
100
111
87
80
71
73
85
95
101
96
101
99
92
90
88
90
90
84
83
83
80
89
89
81
73
70
71
71
63
93
136
190
202
182
181
178
154
124
133
154
109
117
84
81
80
90
74
91
71
69
60
46
64
77
74
71
79
84
78
80
91
90
77
78
79
71
82
77
64
65
74
77
86
101
106
99
104
117
114
97
122
85
100
132
128
97
80
132
146
151
145
148
157
158
154
133
136
133
115
139
116
121
151
96
101
145
141
148
148
162
158
167
159
151
156
119
131
165
154
174
167
190
151
152
144
141
96
55
56
193
144
136
91
56
88
114
100
140
160
177
144
81
134
102
95
131
121
113
87
53
49
28
52
76
98
51
135
123
116
112
86
84
89
94
90
89
86
82
80
78
78
81
84
80
75
72
71
74
83
81
82
85
91
93
93
91
87
89
89
88
90
94
100
104
116
136
136
131
143
162
160
149
134
117
100
92
92
87
95
103
104
111
112
97
99
91
84
88
93
93
94
94
92
90
90
84
75
73
82
82
80
61
59
64
73
73
79
89
92
88
81
88
84
83
79
80
94
115
127
145
141
135
125
118
114
117
120
118
112
123
137
145
145
144
139
135
132
116
119
133
138
125
116
109
110
102
103
109
89
94
95
102
121
130
123
124
122
121
124
130
130
117
84
91
82
96
122
99
77
102
97
90
91
87
86
87
82
78
85
99
85
71
67
66
67
75
79
77
73
72
85
91
89
82
72
65
63
72
79
76
98
134
163
186
187
169
132
139
104
101
109
104
79
87
96
108
109
94
64
67
66
60
58
65
70
66
63
76
72
81
90
91
97
79
90
81
73
81
95
90
73
84
113
109
94
103
107
111
134
109
88
85
113
109
82
78
105
129
135
141
142
160
160
158
159
151
143
148
164
173
170
160
115
137
161
127
124
135
143
160
181
152
109
113
124
154
159
174
182
187
177
175
167
140
113
41
86
112
114
145
97
52
94
128
126
81
114
158
147
51
144
107
99
105
93
83
60
50
44
27
31
95
108
50
37
133
122
114
104
82
85
95
97
95
94
90
87
84
82
80
83
85
79
71
68
71
78
85
84
87
95
102
103
102
98
92
84
83
85
91
99
114
124
138
146
128
131
148
161
152
129
111
105
101
98
97
94
101
108
112
122
117
93
95
88
83
90
94
90
90
91
85
82
83
76
69
69
82
81
78
65
67
73
79
86
85
90
103
114
86
68
72
77
86
96
110
120
115
119
130
140
145
140
139
146
157
149
128
117
127
140
143
135
128
128
133
121
123
134
136
113
112
116
126
122
109
100
95
94
92
103
126
136
101
84
92
104
119
132
133
119
103
87
73
101
136
114
83
91
88
93
101
99
94
83
72
84
93
109
96
82
79
79
55
60
60
61
60
60
73
69
65
61
55
54
58
73
73
93
106
100
108
151
183
184
142
151
102
107
94
99
80
99
101
110
100
90
57
68
67
60
60
71
73
64
59
79
76
85
94
94
99
81
89
77
68
77
87
78
66
106
119
96
85
112
111
100
120
121
95
111
132
98
71
93
113
142
134
137
149
170
150
117
154
159
151
167
158
159
168
159
134
153
158
123
117
131
134
154
178
163
124
107
107
152
137
160
152
184
181
185
160
140
71
59
72
74
150
139
148
96
73
108
121
142
132
168
114
114
109
99
124
99
65
44
9
8
21
5
20
72
82
26
48
122
110
95
88
90
93
95
97
97
96
95
91
88
88
83
83
82
78
72
70
75
80
92
99
104
107
107
107
105
99
104
123
127
120
114
111
129
129
117
112
133
134
130
129
120
94
81
95
101
103
101
111
120
116
126
153
145
86
93
94
96
101
104
101
101
90
79
71
75
76
76
81
77
77
77
78
78
79
79
80
80
77
78
82
101
104
117
114
112
116
123
135
151
157
153
146
136
122
111
117
130
165
157
128
118
128
121
100
111
112
111
105
97
89
84
102
108
106
101
136
144
137
129
123
124
126
123
127
138
122
120
114
105
101
102
102
87
97
125
143
128
107
96
88
96
87
82
75
74
74
67
60
61
72
79
84
97
105
114
104
87
79
77
73
78
71
63
57
57
62
70
68
85
88
95
95
78
66
91
133
154
169
149
133
99
91
106
108
120
143
131
121
101
96
60
63
62
57
59
66
70
77
79
90
93
86
95
110
100
93
82
77
73
66
73
79
95
103
123
142
117
92
106
123
96
88
89
99
117
133
135
149
98
115
140
164
113
126
167
159
137
158
163
170
168
160
153
132
103
101
110
110
132
162
161
167
175
162
165
150
136
151
134
165
189
163
160
80
71
33
53
80
57
48
98
118
60
126
138
145
143
137
93
117
118
98
103
24
25
29
22
37
64
70
81
44
35
32
65
101
98
96
95
89
82
79
78
80
83
85
85
85
87
73
73
74
76
77
80
84
89
97
104
107
108
109
117
124
152
151
150
144
132
122
117
107
108
117
129
112
121
151
163
167
146
123
119
93
96
121
117
121
122
116
122
126
114
119
113
103
97
93
91
92
94
87
81
84
82
79
81
82
79
75
77
82
83
82
96
96
95
97
110
129
126
128
119
113
123
140
145
134
132
122
114
117
116
109
110
114
136
151
163
157
135
117
111
113
119
103
96
93
99
112
129
128
137
147
106
89
89
103
94
114
142
140
128
125
111
102
89
82
87
93
91
102
139
125
88
86
83
73
82
79
109
117
115
119
119
110
112
94
83
88
105
124
132
119
118
108
98
93
86
95
92
92
93
88
81
78
76
76
71
72
89
101
92
81
86
117
129
143
118
140
112
126
106
123
127
123
113
128
107
68
77
70
49
62
73
70
68
61
60
55
49
64
89
128
115
95
88
96
95
84
93
83
97
128
139
127
129
147
139
107
112
76
64
80
76
151
129
71
143
136
168
146
162
151
140
153
163
140
174
180
151
161
157
130
131
132
132
139
167
166
173
166
125
127
149
148
133
164
156
193
185
39
100
101
112
95
106
75
87
88
121
153
169
134
116
113
45
105
33
87
94
148
105
87
50
71
75
46
53
55
52
53
76
44
103
97
89
86
82
76
71
75
72
72
73
76
75
70
71
70
65
71
79
78
82
93
103
102
102
104
113
128
139
144
132
114
107
110
118
119
118
117
115
111
83
77
89
113
145
149
126
103
84
101
132
156
160
127
111
138
149
103
124
128
119
118
110
107
116
130
126
122
119
116
114
114
114
99
96
103
103
108
109
123
127
131
125
129
150
138
110
104
104
111
116
113
110
99
97
99
91
79
87
99
94
129
150
167
180
173
150
132
124
130
115
110
117
124
124
126
103
101
122
94
75
79
99
114
123
107
93
114
103
123
119
113
108
104
102
99
149
103
86
92
79
61
61
68
105
120
122
120
120
123
122
101
97
93
101
114
106
84
123
69
11
5
58
110
91
106
92
107
114
90
88
97
83
85
75
76
77
56
43
64
52
86
119
117
134
148
125
118
106
110
119
135
132
108
73
92
80
70
76
102
63
64
70
57
46
67
90
91
128
98
98
112
102
92
89
97
98
96
112
144
153
143
139
142
108
108
58
90
65
59
154
101
87
137
129
147
142
155
131
145
166
137
145
187
179
133
140
139
157
146
141
143
158
163
170
171
147
134
152
134
154
158
131
179
202
48
118
166
87
105
110
90
124
174
71
115
137
133
111
125
116
78
65
82
147
0
92
105
102
52
20
49
61
46
54
53
92
66
49
87
82
78
78
80
80
78
75
74
74
76
77
78
76
85
84
82
90
102
108
111
119
120
111
106
104
106
108
110
99
97
95
105
131
145
141
121
122
118
112
92
89
91
99
105
112
116
113
117
148
167
157
151
143
136
150
158
145
158
163
160
161
158
158
165
161
165
161
150
138
127
122
122
115
125
162
165
164
157
150
150
144
131
121
122
109
92
89
87
87
86
85
96
100
101
104
103
98
101
102
95
109
97
91
102
115
125
134
132
125
101
100
100
87
72
85
104
110
94
84
94
99
109
92
90
104
113
108
104
119
101
90
94
93
93
114
109
92
89
94
92
91
97
100
102
107
108
108
110
115
120
114
100
86
83
92
82
58
62
53
75
101
86
82
119
80
93
95
97
98
83
115
131
128
120
119
120
104
96
114
109
114
121
115
104
94
83
119
115
138
150
125
102
108
82
73
56
65
109
119
84
86
85
81
79
74
68
120
101
78
90
102
87
96
112
87
106
99
82
95
121
135
142
136
106
70
55
65
53
101
109
74
109
64
119
122
119
151
134
108
117
129
155
179
177
112
111
126
160
150
153
165
162
169
155
131
144
167
162
126
148
175
181
149
54
164
71
60
70
73
99
155
137
114
57
119
140
162
145
133
110
66
53
34
8
119
77
67
65
35
31
63
64
41
46
89
99
61
87
67
67
68
70
77
80
81
83
82
82
80
77
75
76
92
102
109
117
127
128
124
125
117
108
102
101
101
100
99
93
103
109
114
129
129
111
94
92
92
88
115
136
134
138
150
148
128
118
152
153
137
122
111
109
130
166
175
110
100
92
88
91
102
118
128
131
119
107
95
91
93
97
116
119
135
151
142
124
107
94
92
96
98
95
100
97
89
91
91
86
83
87
106
92
102
106
102
95
90
93
102
90
90
93
99
97
92
95
109
130
129
103
93
104
121
132
124
117
112
100
92
84
93
118
107
95
104
88
97
60
69
78
87
108
120
103
89
104
112
106
98
101
112
124
108
117
128
127
111
86
68
66
64
65
57
63
69
63
39
66
45
28
39
50
138
172
134
109
102
94
93
93
110
98
93
104
121
120
112
114
97
73
72
89
92
93
108
123
126
113
136
121
90
83
99
89
85
80
100
98
90
85
70
82
123
141
130
141
133
104
94
91
85
108
129
130
112
92
101
126
126
111
111
117
129
119
124
114
119
124
111
105
94
131
98
81
106
120
151
129
132
139
160
170
164
127
117
99
136
153
165
171
174
173
176
167
132
110
118
156
164
184
88
94
201
183
137
102
100
121
126
77
113
109
56
103
130
131
142
145
104
125
117
121
115
96
94
116
123
107
84
69
44
35
63
31
64
63
73
62
65
68
72
77
78
78
79
80
80
76
71
69
73
93
105
113
116
120
119
113
115
113
105
100
98
99
101
102
98
108
120
119
123
117
100
100
96
95
92
145
180
179
137
144
135
113
112
161
149
122
110
101
99
113
148
156
118
106
104
110
114
124
135
140
116
107
98
91
96
108
117
147
148
158
141
124
109
97
83
81
91
100
97
95
93
97
101
102
95
90
91
99
93
104
107
103
98
90
90
102
100
101
105
109
103
97
100
101
116
131
121
112
113
118
129
120
115
114
90
88
96
113
106
81
71
94
108
91
64
81
102
111
100
82
78
96
115
125
125
122
121
123
131
106
103
100
87
71
64
65
65
69
74
55
51
51
47
48
34
26
36
46
16
14
142
146
107
75
79
73
101
116
101
95
104
115
118
115
115
82
66
62
65
67
82
107
138
149
159
165
143
107
88
91
84
84
66
71
59
56
66
51
64
102
125
130
140
131
112
97
93
96
104
111
117
88
64
79
106
103
93
102
116
114
107
117
110
137
124
118
126
119
82
90
122
102
113
155
144
151
140
156
154
162
133
118
89
130
156
166
165
176
177
176
158
109
88
116
153
151
107
83
182
168
197
128
115
128
115
128
83
91
74
38
98
139
125
134
129
133
120
97
106
136
131
103
105
121
115
90
63
33
25
46
32
70
89
117
60
64
70
73
73
73
72
76
79
82
79
77
76
85
110
123
124
111
103
100
103
109
100
93
84
78
77
84
89
118
121
135
123
111
103
97
99
105
119
116
134
138
107
89
76
89
120
153
164
129
118
104
109
115
99
91
108
132
120
128
139
134
128
118
103
108
116
116
116
121
133
142
145
150
147
100
91
103
114
93
86
89
94
84
79
80
82
83
79
75
83
102
129
125
130
127
132
140
128
112
113
115
114
117
119
112
108
115
122
113
109
115
118
119
119
122
119
113
108
112
108
97
89
109
105
104
111
101
144
135
135
117
92
94
113
109
101
102
101
115
139
143
133
135
83
32
39
58
69
67
66
63
59
58
39
34
31
28
42
50
50
60
66
47
98
87
107
115
97
80
83
89
90
79
75
70
63
71
93
108
76
80
109
130
142
141
132
117
115
147
111
80
98
128
115
108
108
84
121
92
78
87
90
97
85
65
77
136
131
130
102
91
102
92
97
142
149
134
110
99
97
112
139
147
150
137
164
135
161
141
150
131
136
77
110
87
89
116
144
137
163
148
180
157
169
119
93
84
144
164
164
176
163
168
169
150
138
126
102
164
60
129
186
184
175
154
123
133
84
120
84
102
99
47
44
102
125
134
159
136
127
164
147
110
100
142
71
85
98
92
75
78
79
71
72
67
85
54
82
53
61
67
73
73
66
69
70
70
73
74
76
79
104
110
105
97
92
89
90
90
88
83
74
71
75
84
96
102
116
119
113
100
91
86
87
88
94
102
104
101
100
99
90
87
105
144
166
139
127
124
121
110
102
104
102
107
145
124
108
110
117
129
136
133
124
134
125
112
107
116
122
113
123
141
141
115
95
91
97
88
96
109
99
85
80
75
87
110
124
122
116
98
85
100
106
106
118
142
153
150
163
159
141
132
142
149
146
139
120
109
120
121
110
100
122
122
132
144
120
118
127
140
138
127
123
136
137
125
177
164
161
170
173
167
163
141
140
135
118
94
68
38
15
50
60
66
72
71
64
57
54
56
47
39
33
35
50
79
84
77
75
77
146
131
124
92
80
81
63
52
51
56
77
101
119
131
137
137
135
107
96
85
90
106
126
135
118
123
111
97
88
102
123
120
108
94
103
97
58
108
89
105
79
60
78
100
78
93
107
106
105
117
119
113
143
165
188
170
180
177
192
187
183
155
175
178
149
165
167
151
158
155
86
130
121
122
101
130
156
173
142
178
179
118
118
79
111
144
135
159
143
151
123
116
139
137
124
118
98
145
173
155
175
177
138
122
128
70
58
44
53
44
34
69
116
145
128
136
111
152
121
134
127
73
54
142
65
104
90
96
113
83
67
72
77
49
61
92
55
65
70
73
74
69
70
69
66
67
68
73
77
97
92
88
85
85
87
86
88
88
80
78
84
91
103
110
113
117
115
98
91
85
83
84
84
85
87
88
90
95
97
97
104
131
164
168
127
130
132
132
120
105
104
111
120
152
124
108
108
112
112
113
111
102
141
145
124
117
125
125
107
91
99
135
110
91
95
107
96
99
106
98
101
108
114
121
134
137
125
112
97
81
100
106
104
122
158
173
165
179
172
137
125
131
143
159
161
158
140
141
145
138
126
117
132
134
134
121
113
135
129
115
117
142
151
125
129
136
127
138
154
153
156
160
168
147
110
70
42
33
36
41
76
76
76
71
65
58
54
54
56
43
34
41
50
59
78
92
83
72
86
179
158
136
104
96
104
94
85
108
124
134
142
134
119
105
97
93
75
82
91
98
103
106
111
126
99
93
84
88
107
117
123
119
106
79
106
63
45
69
94
79
70
87
103
100
102
90
88
94
93
91
106
134
187
194
149
175
182
190
192
187
156
176
174
142
165
181
139
159
156
114
132
117
96
84
113
146
168
169
180
168
100
105
71
122
146
118
156
168
158
115
115
125
126
147
142
127
185
180
157
184
177
132
92
102
94
89
76
52
33
48
40
92
173
120
128
154
146
142
141
142
120
109
110
45
99
104
104
112
98
109
143
103
75
82
90
62
73
75
73
74
72
71
57
54
57
63
68
69
72
70
74
79
84
88
91
93
95
94
106
118
129
131
123
116
104
97
82
79
77
74
72
74
73
78
82
81
82
87
117
153
176
162
134
117
113
127
134
133
130
137
136
120
106
94
97
107
95
76
72
75
76
118
143
139
135
135
124
76
65
62
76
75
80
88
100
110
127
143
142
123
130
125
119
122
130
131
132
134
114
106
99
97
97
103
123
144
125
115
126
124
126
131
124
127
122
121
108
96
107
129
141
133
116
97
113
107
87
123
103
103
122
116
83
55
89
89
111
128
123
120
115
70
66
60
57
50
41
31
24
43
53
55
50
45
43
43
45
49
46
39
55
69
70
84
90
84
86
69
70
81
86
102
116
106
89
81
84
73
87
97
91
77
71
77
85
70
74
77
76
81
100
124
76
35
50
58
62
72
66
51
52
96
109
80
97
104
94
108
92
87
88
80
101
104
104
113
107
82
66
63
71
159
199
170
180
142
142
184
188
196
196
189
167
173
152
142
155
157
68
94
142
128
124
119
145
147
169
181
97
103
107
56
118
169
122
141
144
134
105
95
76
72
96
80
191
165
178
199
166
157
137
158
142
117
114
97
57
51
40
55
91
112
108
102
92
104
139
123
138
139
77
118
88
110
138
122
91
89
86
69
87
96
100
78
68
78
77
69
71
66
64
59
57
57
60
62
63
72
80
84
92
95
98
100
102
107
116
126
134
136
132
125
119
89
86
79
74
72
71
71
68
67
71
73
69
83
102
163
172
159
120
96
106
99
89
97
106
114
118
106
94
116
108
106
100
85
79
83
86
93
128
155
174
147
104
90
77
86
93
67
59
69
88
108
111
105
107
107
98
114
112
111
122
132
127
123
138
115
101
102
125
133
124
127
144
81
37
26
19
17
27
34
36
26
31
35
34
36
43
85
72
72
97
116
117
138
137
105
80
79
101
128
110
85
89
79
83
111
118
109
114
116
118
114
96
65
38
25
35
39
43
43
45
47
48
64
60
68
57
57
69
74
62
69
57
58
64
70
63
90
99
96
89
91
97
92
107
114
115
99
80
72
77
84
81
88
92
93
98
99
99
96
103
113
126
123
121
134
132
110
104
146
75
78
75
80
86
85
110
122
94
84
79
96
101
109
128
130
126
141
142
157
140
127
98
130
167
156
159
135
127
134
168
155
145
159
157
81
132
125
120
102
117
139
137
149
103
76
137
84
75
124
156
143
140
117
141
166
114
87
105
91
99
149
185
190
171
160
141
131
111
103
83
85
50
68
96
88
161
167
69
116
126
75
77
112
127
108
114
124
112
131
125
136
123
94
44
6
41
56
84
82
76
71
81
79
70
71
64
61
64
61
59
59
60
62
78
85
90
96
101
100
101
105
110
116
123
127
126
123
119
119
99
98
85
75
71
70
72
72
70
70
70
70
92
116
175
164
136
102
84
93
95
91
98
106
115
114
103
102
120
109
100
89
81
89
101
105
110
125
140
165
140
100
100
74
88
107
91
65
65
83
87
92
92
97
106
93
109
132
128
132
131
116
113
152
160
116
114
155
144
75
36
51
32
27
31
39
31
26
38
28
34
33
31
34
35
34
16
35
25
24
53
53
87
89
118
146
141
126
127
66
62
74
61
63
91
78
39
27
35
48
57
55
47
50
58
57
53
53
53
54
57
58
76
69
78
63
54
67
75
66
67
54
61
66
76
93
74
82
84
79
68
55
68
76
83
86
77
69
73
89
102
108
110
109
112
118
113
102
87
62
94
62
82
121
110
67
83
106
166
40
61
97
94
86
68
86
94
67
59
70
77
70
84
122
134
143
170
121
111
104
111
100
117
109
110
175
134
125
152
181
140
141
128
162
112
185
162
111
110
127
124
109
122
84
127
151
73
92
138
148
150
150
162
142
163
126
110
108
67
100
178
170
185
192
163
156
118
125
54
100
95
81
119
76
131
151
138
66
99
110
92
82
119
132
114
126
95
152
121
104
144
144
103
74
37
23
55
95
81
69
66
78
72
63
68
63
63
58
58
61
62
69
81
105
91
96
100
102
107
115
120
122
104
91
82
77
73
78
81
86
80
77
78
76
70
69
62
61
60
65
89
112
140
144
127
108
94
85
89
96
109
111
109
104
106
103
106
83
81
77
78
83
92
100
104
91
93
100
106
107
102
97
80
78
76
67
64
70
80
80
87
94
103
111
105
111
113
110
107
127
140
148
140
104
150
172
138
83
39
17
17
12
14
14
25
32
14
14
10
27
20
42
36
21
33
21
24
30
33
36
38
37
52
33
26
39
71
107
51
27
30
32
57
57
36
31
34
59
58
50
61
68
67
74
68
65
67
69
62
66
87
80
74
72
49
60
68
54
56
68
73
70
76
76
70
45
64
79
76
76
86
114
105
116
105
92
98
104
98
95
73
71
70
89
89
58
60
82
60
128
119
86
82
95
111
108
139
60
66
83
119
120
94
106
100
85
80
85
77
60
93
85
90
90
121
137
143
140
170
182
161
161
152
181
169
140
170
175
176
124
124
158
168
140
167
153
77
81
110
65
83
134
114
120
102
105
75
84
137
139
116
167
144
117
142
94
99
114
127
169
176
173
150
110
95
141
61
37
85
84
131
90
87
68
83
92
155
116
137
119
101
77
67
66
50
48
87
129
166
152
153
180
105
24
54
65
69
67
65
49
59
62
57
57
64
68
65
64
67
75
86
100
117
104
107
107
106
107
109
109
104
82
80
79
77
72
72
75
76
71
73
76
75
70
68
61
63
67
71
104
138
160
130
114
100
97
94
97
105
106
110
109
108
110
104
97
88
86
83
82
81
83
89
98
91
89
81
79
86
93
95
83
80
76
75
76
78
79
88
86
80
82
93
114
130
134
130
148
124
104
114
177
149
85
84
44
13
29
17
24
23
26
22
32
52
41
33
77
39
58
50
51
54
35
44
44
41
47
48
34
33
48
43
37
40
58
76
22
23
31
28
46
54
48
45
21
49
65
60
58
64
71
83
77
72
73
70
65
70
81
83
75
55
68
68
54
50
73
73
87
102
110
160
167
168
115
105
130
132
121
92
82
81
79
89
92
74
65
81
65
76
87
92
85
82
117
111
172
83
72
99
106
99
74
110
106
67
58
93
101
93
101
121
118
96
91
100
66
117
125
115
102
76
139
99
71
69
88
91
100
110
88
102
161
136
191
194
179
165
153
150
146
159
156
135
136
156
115
116
112
126
138
139
150
111
54
62
121
130
118
170
151
118
77
165
186
166
153
142
166
143
104
97
101
111
78
96
112
121
145
109
140
89
83
110
127
109
101
103
59
36
27
45
71
87
94
115
86
69
41
28
65
84
59
85
104
93
71
46
54
62
62
61
66
70
72
74
78
87
97
105
111
113
113
111
108
108
109
106
101
84
82
84
81
77
74
75
69
66
71
76
73
69
66
62
62
67
71
109
144
157
118
103
96
100
103
104
111
104
116
122
122
118
103
91
102
97
90
81
75
82
107
133
110
95
84
79
80
86
91
81
79
77
78
80
79
76
76
78
81
94
115
135
144
150
128
120
106
120
123
147
135
28
20
27
29
40
17
21
32
67
84
100
109
91
87
124
117
73
124
96
57
96
82
64
51
65
55
43
64
46
39
41
51
58
58
48
22
36
36
48
52
40
31
46
57
70
77
68
54
62
83
76
63
67
70
70
72
73
75
61
49
73
60
50
63
75
64
90
108
99
157
148
78
69
90
108
96
102
132
101
106
104
106
105
91
80
89
75
80
79
83
90
91
114
137
146
70
78
88
94
110
104
132
80
85
64
98
136
137
134
126
109
84
83
106
120
134
95
71
80
72
125
100
77
81
84
71
75
75
58
58
127
113
188
191
164
171
151
123
155
173
163
154
163
102
43
100
102
118
145
156
159
127
95
91
109
129
141
151
134
101
92
172
174
149
85
111
126
121
146
180
130
54
84
97
137
111
94
53
81
67
99
120
119
141
77
65
85
93
100
99
95
89
113
96
107
65
60
109
103
66
71
67
89
84
72
57
54
61
69
67
76
74
83
89
98
106
110
114
120
132
126
116
106
103
99
94
85
81
81
83
84
83
85
87
69
66
74
78
75
70
67
68
64
71
75
126
157
154
101
85
85
100
113
116
126
142
139
125
111
105
96
91
87
86
85
83
79
88
118
151
149
115
122
119
96
79
78
77
78
76
76
87
96
98
94
100
102
102
101
88
95
104
115
114
108
105
146
182
75
42
25
18
9
19
37
43
126
121
117
140
116
74
103
140
81
102
114
70
59
99
111
56
106
166
119
133
102
71
52
35
33
42
46
55
63
69
60
60
53
50
82
101
95
97
96
78
62
65
77
70
57
62
62
66
70
62
55
51
64
60
60
69
69
78
133
180
177
146
94
73
75
75
75
87
105
118
106
123
126
124
131
136
125
119
133
122
130
118
100
100
104
124
114
94
66
76
108
123
102
117
100
49
63
43
58
67
62
74
83
108
102
85
86
98
88
98
88
117
111
109
82
93
118
106
94
93
77
84
84
111
121
163
183
186
190
158
118
166
95
136
157
135
153
90
89
102
116
153
130
125
120
123
132
140
145
129
148
116
75
91
96
121
79
85
148
177
184
170
130
97
113
123
114
105
97
91
67
94
103
124
150
161
150
108
41
20
41
49
50
63
86
151
142
119
97
145
134
64
60
56
65
66
80
93
54
54
70
86
83
87
90
93
98
103
106
114
126
139
132
120
105
95
91
89
83
78
76
76
79
84
86
87
86
69
76
92
92
87
83
77
74
77
82
84
141
168
159
94
83
80
92
104
109
113
130
117
101
88
87
90
93
85
90
98
104
108
112
118
124
144
112
106
109
108
97
85
94
90
87
91
90
90
92
89
99
99
93
94
106
115
122
95
116
140
114
75
39
33
25
22
31
60
139
169
91
120
103
105
111
134
73
102
133
130
70
153
130
56
62
147
92
60
133
86
168
153
120
100
75
65
66
62
58
66
90
94
94
105
99
84
101
109
113
103
89
79
74
72
62
59
59
60
59
57
55
52
79
75
58
74
70
60
101
95
79
71
78
99
110
97
84
109
140
125
97
123
127
118
105
101
93
81
87
108
102
141
144
128
115
131
96
87
79
74
78
97
115
118
152
107
89
92
76
109
113
88
111
104
77
75
88
100
95
95
123
126
87
78
100
83
71
50
45
57
69
70
71
60
89
91
123
167
184
178
159
180
187
153
142
141
181
135
118
88
134
130
81
64
114
88
96
109
99
75
72
102
86
119
37
127
100
123
86
148
158
185
192
176
172
135
108
152
124
101
96
87
120
67
75
174
145
115
96
58
56
59
34
44
103
47
102
124
152
129
98
151
101
54
91
104
88
108
99
53
50
66
86
98
101
102
99
103
106
111
120
128
128
121
114
106
99
94
90
84
78
75
74
76
81
83
83
83
69
74
88
90
88
84
80
78
77
80
86
146
164
149
90
83
85
98
107
104
105
109
104
97
95
94
95
94
92
96
100
102
102
103
107
112
106
95
100
110
115
109
100
92
92
94
96
89
84
83
96
111
114
106
105
127
143
125
114
110
134
85
12
31
25
28
25
56
95
121
120
82
103
80
106
122
140
118
48
107
173
52
90
150
119
57
86
129
77
82
140
169
169
113
71
56
60
42
27
50
63
85
94
93
95
100
100
108
112
108
96
85
82
78
71
64
62
61
62
61
60
58
62
71
66
64
65
64
70
93
87
74
72
88
112
119
106
112
126
127
105
94
102
108
109
110
115
109
96
95
111
92
118
113
127
136
137
103
90
78
84
101
105
107
112
156
78
83
107
94
107
90
104
105
78
51
66
97
108
104
118
110
78
61
74
90
82
62
45
51
61
61
71
93
64
79
91
118
150
178
204
182
208
178
122
116
115
134
119
101
83
130
90
72
117
131
118
97
113
90
86
149
103
119
80
42
120
136
145
105
168
161
174
185
138
113
135
156
175
104
104
155
122
98
75
110
147
132
101
74
60
65
50
91
99
25
72
125
95
139
116
153
81
44
67
81
84
95
122
85
77
78
92
107
113
118
119
118
120
120
119
122
123
111
100
104
106
102
97
90
85
83
76
75
76
78
82
85
87
80
78
79
85
88
83
77
79
71
72
92
149
143
121
83
88
100
112
115
106
105
97
101
105
111
113
107
99
84
85
83
79
73
70
71
76
81
97
110
122
128
129
128
129
133
138
130
119
115
116
106
141
164
160
145
116
113
119
166
176
163
104
39
25
13
54
134
163
96
76
117
102
86
119
55
78
92
105
123
117
105
103
87
86
107
126
128
127
91
70
116
117
176
120
93
74
62
47
52
81
76
73
83
90
92
112
114
84
92
88
73
72
82
85
75
73
69
69
69
70
69
68
64
54
56
65
60
83
122
143
128
106
99
106
91
85
106
106
110
112
99
87
103
120
129
132
128
114
96
88
96
78
101
90
126
120
93
110
114
132
92
102
113
122
135
145
78
128
127
102
97
105
115
102
80
57
39
35
69
122
133
115
90
80
55
44
84
69
68
89
93
72
77
108
71
49
83
119
113
100
115
174
184
115
163
127
131
151
166
122
100
105
141
127
164
137
144
138
128
152
154
111
112
148
115
176
157
151
138
162
154
190
169
157
175
166
172
160
62
125
125
143
107
149
162
164
135
132
93
66
46
31
34
79
41
34
85
110
125
115
99
76
109
79
89
95
75
105
132
73
116
125
135
134
115
123
128
127
132
131
124
114
115
126
100
100
97
93
86
85
86
89
87
88
85
85
87
89
91
92
88
81
82
81
77
72
69
72
84
109
132
119
116
90
95
105
112
117
121
124
122
120
114
107
101
94
91
85
85
83
81
77
78
83
90
93
96
99
103
108
113
115
109
104
99
90
90
96
105
132
158
168
156
149
156
161
177
78
66
57
49
51
58
173
162
104
97
116
82
69
101
63
87
140
137
123
163
121
133
125
109
104
66
40
53
78
47
79
95
37
67
110
108
96
58
54
94
98
51
58
65
76
77
70
75
90
71
84
91
87
79
78
79
75
79
74
73
75
76
77
77
67
73
72
51
79
112
125
119
111
104
109
120
110
112
110
128
131
121
117
111
82
97
111
114
109
102
92
82
81
72
61
81
126
86
80
111
112
86
133
140
110
100
119
73
91
143
117
84
76
92
55
51
66
81
65
52
119
71
78
93
78
54
88
135
109
106
96
90
93
91
87
89
73
53
57
80
66
45
56
111
129
89
134
139
143
138
165
150
86
72
201
111
176
114
137
146
122
153
150
106
154
107
121
119
118
156
163
133
153
133
100
124
145
144
171
186
145
117
94
166
168
165
137
128
133
98
135
91
100
112
133
87
107
26
68
73
72
122
159
77
84
154
96
99
102
78
85
70
132
138
146
142
120
125
129
127
131
129
124
119
122
129
97
96
92
87
86
86
87
89
93
94
91
87
84
86
86
92
89
84
81
79
77
73
68
81
100
122
118
108
117
92
98
106
113
119
125
123
119
119
115
111
104
97
94
83
83
80
77
74
75
81
88
89
90
94
100
107
113
115
112
106
100
96
96
100
106
124
153
161
143
131
147
158
126
37
43
62
39
39
137
167
126
93
107
116
101
85
56
111
86
106
109
116
142
156
122
126
55
27
26
46
69
59
39
20
39
29
34
77
90
127
118
77
82
104
57
48
58
67
76
77
69
71
76
78
86
90
85
79
74
74
81
75
74
76
78
79
79
70
70
67
59
92
116
110
115
111
109
111
114
102
109
114
134
141
130
119
101
76
85
95
93
87
85
87
83
83
75
51
82
127
88
103
108
92
68
124
116
99
108
123
115
102
119
116
116
123
115
123
104
97
104
112
120
104
82
86
105
100
80
105
130
91
92
89
88
91
84
76
78
82
65
80
111
95
75
93
102
114
107
135
160
164
158
165
174
82
172
181
188
105
77
173
116
129
158
107
142
116
129
141
126
78
105
151
150
161
118
99
124
130
144
175
175
121
129
134
179
174
169
155
130
145
123
111
90
80
38
41
107
63
41
73
61
75
150
158
114
170
123
91
79
110
76
75
59
146
154
153
141
129
134
135
121
116
110
108
106
108
103
95
92
86
82
82
83
87
87
92
94
92
88
83
83
83
91
86
69
67
70
75
80
101
122
159
161
85
83
80
93
97
105
115
123
115
112
110
106
107
117
123
119
108
96
88
77
72
71
74
76
75
69
72
82
95
104
110
110
101
107
113
108
107
121
136
129
133
116
115
129
176
165
117
44
33
38
34
118
122
101
110
93
60
49
67
100
129
115
128
157
157
151
146
129
122
72
11
20
16
17
30
48
41
58
69
25
22
24
31
33
47
72
74
50
115
83
79
69
55
55
65
70
70
74
78
80
78
75
76
76
72
67
66
67
68
71
70
71
59
44
86
113
113
102
122
114
108
107
102
109
120
133
137
135
121
97
70
73
85
91
99
91
80
91
97
83
70
57
118
101
120
129
118
119
103
68
98
78
119
139
82
114
138
133
87
98
135
128
133
108
97
104
77
72
46
71
77
88
92
102
131
117
128
121
109
105
93
76
75
88
35
100
114
64
74
147
181
155
151
148
114
108
131
170
205
206
175
174
58
103
108
113
114
171
97
146
95
130
90
102
128
103
119
184
184
162
153
96
76
169
128
131
197
122
94
126
155
147
117
117
118
144
163
135
130
119
98
93
70
61
82
94
75
114
181
150
85
76
82
83
75
92
99
107
138
141
144
145
138
139
138
131
112
111
109
108
108
105
102
97
94
91
90
89
89
90
89
94
94
92
88
85
82
81
83
78
68
66
68
75
85
116
157
164
124
89
84
77
92
98
108
121
127
120
115
108
104
104
111
118
114
107
95
87
79
74
75
79
81
80
70
75
81
89
94
94
93
95
98
108
128
121
110
104
104
118
147
171
139
59
69
106
74
54
78
129
155
79
57
63
70
80
102
131
151
157
152
159
161
145
143
147
136
126
86
3
10
31
58
83
83
92
93
76
86
92
78
56
81
101
111
120
120
106
94
91
80
67
65
72
77
64
66
70
72
73
73
75
76
83
74
72
72
68
64
58
35
58
43
72
111
99
70
86
87
90
92
90
106
123
116
125
128
123
106
78
67
95
108
120
113
97
97
102
97
83
86
119
91
87
88
80
91
100
108
104
81
128
103
113
121
125
122
85
80
94
88
89
133
135
76
72
112
94
92
74
80
96
102
109
76
92
96
99
118
130
114
94
86
64
65
75
85
92
97
112
119
135
121
100
118
160
186
135
131
156
172
126
114
99
84
142
90
77
106
132
123
82
64
109
136
127
159
199
100
156
146
114
113
139
170
131
160
120
143
141
184
192
139
160
171
168
139
88
49
26
61
83
91
100
94
79
73
97
130
168
173
160
156
138
101
103
111
89
132
138
138
133
137
134
125
108
109
108
108
107
105
100
97
96
94
93
93
94
92
90
92
93
92
92
88
85
83
82
77
64
63
68
82
96
133
163
147
106
85
77
77
87
95
108
119
124
118
114
105
118
129
127
114
101
102
91
90
93
94
93
89
81
75
85
86
92
101
109
111
113
97
106
118
118
111
108
111
105
128
162
161
119
63
78
68
77
90
113
133
126
80
50
45
44
84
135
132
123
153
154
144
133
123
127
127
108
102
109
66
35
17
20
36
50
64
81
92
109
75
28
59
82
115
144
147
126
107
111
108
99
86
82
80
79
65
67
68
71
73
75
77
78
88
77
77
77
73
65
60
60
56
65
47
84
99
59
70
75
83
88
86
103
121
121
126
127
121
108
83
72
90
101
109
104
93
89
88
85
92
119
129
84
59
63
71
108
119
114
90
82
134
92
129
131
130
117
73
81
101
97
110
117
110
102
103
129
111
101
74
79
92
99
104
81
98
110
113
112
109
110
112
105
66
78
98
74
69
111
122
112
100
114
116
125
149
110
116
125
142
160
124
131
98
101
114
69
77
91
141
89
61
50
103
143
145
164
190
82
139
122
119
108
131
171
180
149
117
155
185
198
152
132
153
154
154
157
99
52
73
92
89
74
72
70
73
97
149
146
134
142
141
150
159
100
89
98
102
145
155
156
145
123
116
107
109
108
107
106
103
98
92
96
95
93
95
96
95
93
93
91
94
95
96
95
92
89
85
78
68
70
78
105
131
152
129
103
94
80
69
74
82
90
103
113
117
116
115
142
119
86
61
60
80
106
133
127
117
108
104
98
91
85
92
90
91
94
102
110
114
105
102
104
123
134
146
155
97
57
73
102
106
46
65
110
120
143
134
89
67
70
62
84
109
114
104
98
101
109
110
123
122
115
114
118
115
118
109
94
108
113
106
101
110
90
60
44
25
33
55
102
142
179
177
156
143
100
89
93
101
106
108
108
109
84
80
77
76
77
78
78
78
85
82
81
81
80
77
75
77
89
83
72
62
76
116
64
67
76
87
86
76
79
76
85
96
108
111
94
74
92
93
90
92
99
96
92
96
83
101
70
60
51
76
99
117
117
91
71
121
132
81
101
86
85
95
99
105
110
103
98
86
77
91
122
126
105
98
75
77
80
77
90
113
102
110
120
110
99
108
125
108
98
102
84
120
143
91
73
83
78
125
139
123
116
102
124
127
104
67
121
106
91
123
51
79
49
68
118
88
40
27
89
126
117
151
191
136
101
132
103
76
186
150
113
118
108
150
177
131
159
146
157
148
126
82
79
92
73
79
69
65
88
113
133
147
161
171
161
114
94
109
99
99
83
77
107
128
149
161
149
116
114
115
113
111
109
103
97
92
89
97
94
92
91
92
94
94
93
101
99
98
99
96
90
85
79
76
84
89
98
121
148
131
107
100
99
83
86
74
90
99
111
117
122
125
125
138
122
109
122
147
158
132
73
60
47
42
46
57
68
76
71
83
90
97
101
105
109
99
102
100
69
67
85
106
80
46
58
64
93
110
123
129
134
118
92
79
70
58
104
104
111
112
101
97
96
89
100
92
92
98
104
115
126
133
121
110
119
117
117
126
125
134
133
131
143
156
178
222
171
127
101
72
60
62
84
87
91
98
101
103
109
100
92
85
80
78
77
73
71
78
81
78
73
74
78
82
93
92
87
81
71
65
67
116
96
80
75
77
74
76
68
65
63
74
86
88
96
97
98
88
79
76
63
62
80
68
110
71
74
53
64
81
80
76
60
65
155
100
49
67
64
82
94
53
47
41
38
48
51
46
58
87
76
59
64
59
74
81
76
86
110
129
146
133
112
116
116
95
81
50
100
134
94
51
58
74
90
61
48
78
93
110
109
136
98
94
123
99
92
131
53
49
63
57
133
109
72
133
104
75
115
131
118
114
111
111
120
88
127
134
172
127
126
109
108
107
111
114
95
102
150
181
117
127
149
101
122
122
112
118
131
160
165
172
154
152
151
128
117
114
84
83
118
138
129
141
146
135
122
121
118
113
110
105
103
101
100
95
97
98
96
94
93
94
97
98
99
102
102
98
93
91
90
76
80
94
99
118
138
144
108
103
101
101
97
99
103
113
118
122
124
127
133
131
131
123
116
115
119
116
102
117
130
145
150
146
131
111
96
77
71
71
70
71
69
67
72
81
73
63
68
77
91
114
133
155
153
128
136
151
129
92
71
52
26
44
98
105
108
110
110
106
101
97
93
137
144
140
140
150
160
162
169
156
149
151
157
160
156
131
146
153
145
128
111
91
148
205
180
128
106
80
85
99
100
88
69
68
83
99
94
94
93
88
83
80
76
71
72
64
63
62
63
70
76
83
88
85
68
74
73
62
42
81
98
78
79
94
100
121
116
113
109
100
81
53
42
44
61
88
80
67
72
58
63
116
72
66
71
57
76
89
100
86
118
140
94
115
125
117
116
119
100
87
72
90
94
114
133
135
125
142
135
103
88
86
86
103
117
113
115
117
122
129
132
124
111
134
89
55
89
86
60
79
102
108
109
110
117
109
92
72
87
125
103
64
50
113
66
79
76
54
48
117
111
39
92
129
124
128
131
133
168
122
99
96
90
90
93
89
92
87
99
128
128
146
182
125
130
172
185
143
128
116
90
100
126
143
140
143
154
161
167
150
124
107
87
80
93
81
109
92
72
125
123
123
125
117
117
117
114
110
108
108
106
105
97
100
99
98
97
96
98
97
97
99
100
99
98
94
91
90
81
87
96
106
130
144
134
97
98
102
106
104
107
113
123
124
125
125
126
129
126
117
122
121
110
104
105
106
95
101
108
111
115
120
120
117
114
102
95
88
84
78
74
86
95
94
98
106
118
131
136
136
138
135
134
148
142
69
51
53
49
39
70
106
102
104
108
110
108
103
98
96
121
129
124
121
126
132
134
124
117
119
120
121
117
108
126
143
152
141
117
111
104
90
173
223
180
143
118
72
72
93
103
94
96
110
109
96
98
99
96
95
89
80
71
71
63
59
54
54
59
67
78
84
83
77
82
78
69
49
48
100
101
88
107
122
131
126
120
117
104
84
68
55
57
82
81
64
61
56
54
69
127
98
98
89
67
82
97
91
89
132
114
94
122
112
110
118
120
101
90
78
82
76
111
150
136
108
132
100
71
74
86
83
106
129
99
112
124
129
132
131
127
125
142
60
105
121
75
75
135
114
109
99
88
92
86
78
85
103
149
126
89
97
135
36
49
54
79
98
123
95
109
85
86
100
126
134
122
136
95
100
82
88
113
99
106
127
119
126
148
120
146
188
123
135
168
175
143
124
108
94
96
112
132
143
149
135
134
156
155
129
104
73
40
29
70
65
73
87
131
110
101
112
108
105
109
111
109
109
110
111
111
107
100
101
102
104
102
100
97
96
102
105
103
100
97
95
94
76
87
98
118
149
150
118
92
83
79
87
108
112
115
127
127
127
127
128
126
119
127
105
99
116
125
111
90
94
97
99
100
105
111
114
113
133
114
105
100
102
105
107
112
114
120
121
117
111
107
98
104
117
129
136
82
31
47
38
29
51
86
96
100
82
84
86
85
84
84
84
86
117
122
120
120
126
134
139
134
129
120
122
140
158
163
138
130
121
119
136
130
118
104
89
131
211
211
160
117
99
96
98
102
102
97
97
95
94
93
91
91
90
80
70
78
68
65
57
53
55
62
63
65
69
77
78
76
73
73
53
42
87
98
69
89
101
107
91
64
57
73
76
76
76
101
85
80
98
85
92
94
112
66
64
59
72
106
119
108
104
156
104
116
123
139
132
122
97
62
64
61
88
79
91
88
58
50
95
91
82
96
88
62
83
125
116
97
73
88
133
146
123
105
104
124
125
137
131
107
88
105
117
113
92
75
56
47
85
117
107
97
86
135
88
89
93
99
102
85
116
118
101
48
83
144
133
78
70
121
124
134
87
92
126
99
110
89
91
108
105
125
175
170
109
117
162
183
143
139
138
132
125
116
116
128
138
127
120
138
138
122
89
46
43
79
78
166
192
143
138
116
104
111
107
99
95
96
94
93
94
99
104
109
103
103
102
101
99
97
96
95
103
106
106
103
100
96
94
71
77
99
121
141
132
101
81
71
68
73
98
114
125
135
143
151
151
147
132
123
126
125
115
91
65
49
38
68
75
87
97
110
127
136
139
111
97
90
91
94
96
99
109
104
115
138
141
144
137
116
86
57
36
27
28
22
28
41
86
112
96
96
99
87
83
76
69
68
73
82
89
111
116
122
130
131
129
126
129
123
134
149
156
135
103
91
99
108
108
114
123
130
124
123
107
117
189
207
131
113
109
107
107
107
102
99
101
105
106
104
102
98
94
86
83
71
70
68
65
59
56
58
53
52
64
63
65
69
61
73
51
51
87
85
68
67
63
56
54
64
79
100
118
120
101
90
83
78
92
97
115
132
98
109
89
67
54
54
62
135
143
59
44
51
53
64
77
78
87
100
103
102
112
100
83
71
48
63
74
82
89
90
95
99
95
105
136
145
138
122
81
54
62
61
114
114
91
90
101
96
74
90
81
98
101
64
31
51
49
89
112
125
96
123
75
69
87
114
121
174
162
145
120
95
73
92
131
138
144
105
107
102
93
103
118
120
110
95
119
118
112
93
132
144
98
144
182
120
152
160
145
145
127
110
114
118
112
125
124
101
77
69
53
70
120
125
164
154
144
131
113
101
103
102
91
87
90
88
86
89
92
99
106
103
102
101
99
97
96
96
95
101
105
106
102
99
94
92
71
73
100
120
135
124
95
77
72
72
73
85
103
118
135
146
157
158
150
129
120
117
128
124
115
123
134
108
16
19
22
27
45
67
86
97
98
92
93
96
102
106
107
120
112
120
116
101
84
67
30
30
35
36
21
24
32
63
98
108
99
99
99
100
93
88
79
74
76
86
98
108
121
114
114
118
120
118
116
138
138
148
153
156
138
111
109
109
103
96
99
112
123
118
119
125
74
123
219
133
101
107
108
104
105
110
105
101
107
111
110
106
101
96
89
88
74
75
76
71
65
60
58
52
49
58
59
62
68
72
53
50
39
72
80
86
90
74
71
85
94
93
110
97
110
86
88
81
64
87
92
109
114
78
97
83
58
33
28
42
156
143
42
12
29
20
38
61
69
75
81
75
84
84
59
43
50
38
92
107
129
133
128
131
122
103
144
164
158
145
135
107
94
113
96
105
99
94
102
118
133
65
95
95
104
107
72
41
46
58
68
133
142
93
137
77
88
118
146
135
162
160
140
85
74
116
155
138
111
135
127
116
88
64
95
131
103
107
87
115
123
90
54
155
131
104
159
178
123
144
105
128
131
115
99
103
103
89
67
42
68
85
60
84
123
110
124
146
159
134
118
125
114
101
102
97
96
99
95
90
84
79
83
98
101
98
95
92
92
90
90
90
93
93
94
95
94
92
89
86
84
105
127
122
100
82
79
74
72
77
87
95
105
105
116
131
144
147
126
117
110
116
121
113
97
81
74
93
104
116
122
113
90
63
45
50
38
36
33
29
30
34
34
33
32
28
28
27
26
24
28
28
26
40
115
140
128
122
117
116
112
110
124
131
119
109
101
94
94
96
92
85
87
89
90
92
95
98
121
113
101
105
112
121
127
108
106
104
101
97
98
97
113
108
93
89
70
121
159
118
110
110
106
92
93
93
98
104
106
105
110
113
104
90
87
77
77
77
76
73
70
60
57
56
52
49
49
50
55
49
56
55
47
99
105
101
96
99
98
88
79
79
90
118
89
63
68
65
63
58
117
79
76
85
81
63
62
83
76
172
98
97
96
110
109
86
60
63
105
112
115
142
135
128
132
128
104
91
114
103
97
85
61
51
60
75
93
123
121
94
85
108
127
138
106
81
100
148
149
109
58
99
115
104
63
75
89
128
95
78
124
49
81
63
135
152
135
161
156
161
164
161
158
127
113
137
138
121
117
113
65
49
105
133
120
122
93
96
107
129
100
104
150
140
112
152
163
111
116
97
75
72
34
14
37
49
70
72
76
66
66
93
85
92
65
97
99
116
141
101
117
127
123
103
99
100
105
100
94
84
81
84
101
109
109
108
104
100
96
95
94
93
93
94
96
96
95
95
88
94
114
125
116
99
90
86
81
78
83
93
102
113
116
119
125
135
142
129
120
126
121
117
113
108
96
81
63
66
72
80
90
97
105
109
134
115
104
89
78
74
75
62
57
54
62
65
65
64
86
96
105
103
93
99
108
125
120
109
98
96
106
125
129
120
117
119
118
121
120
112
127
131
122
118
120
114
103
100
108
122
120
110
94
81
75
79
84
90
101
103
102
108
128
112
86
90
80
210
153
114
101
106
95
95
92
77
84
96
102
96
87
91
104
86
82
84
84
84
82
80
65
59
58
54
47
45
47
45
53
50
51
58
66
102
94
100
100
89
76
69
76
65
93
81
67
72
77
81
71
132
86
79
82
70
49
57
76
73
144
74
108
94
109
156
134
135
167
111
76
85
76
73
64
61
66
63
83
90
85
79
80
80
76
75
98
83
80
81
75
78
93
98
113
60
74
112
133
108
63
67
93
134
130
146
108
67
57
99
142
56
73
90
108
143
117
122
144
106
50
94
196
191
190
179
159
149
145
134
107
103
116
148
120
47
28
48
70
130
153
123
123
160
128
128
184
168
103
127
100
77
43
26
18
24
76
57
112
128
112
126
106
110
73
101
111
115
114
110
88
103
120
127
112
108
106
110
105
98
89
82
85
102
112
113
111
108
101
97
95
96
96
95
96
97
97
97
97
92
101
117
120
108
96
92
87
82
80
84
97
107
118
120
121
123
130
137
130
123
117
118
121
119
111
98
83
70
71
75
80
86
95
102
107
97
113
118
119
117
121
127
114
111
110
118
119
115
111
107
108
106
97
85
95
107
115
115
110
101
95
97
111
108
105
110
118
122
127
127
119
146
150
143
140
143
139
129
102
112
118
114
112
111
109
88
89
92
97
107
109
108
107
118
121
78
94
92
174
181
131
103
105
101
90
84
79
83
93
99
90
77
82
95
81
83
86
86
83
79
77
67
60
59
57
50
48
53
48
52
46
49
61
52
81
111
119
108
85
72
66
72
84
104
85
67
68
70
74
61
118
71
62
70
68
47
45
78
75
126
64
95
93
132
164
158
157
155
76
75
111
106
92
102
113
102
102
85
100
94
82
75
80
84
87
113
78
63
75
89
99
99
88
104
67
95
123
123
104
86
108
154
168
87
120
94
92
117
163
101
49
62
91
124
129
144
148
126
66
93
178
183
157
156
170
166
164
163
156
89
94
96
90
75
41
32
62
76
143
156
112
103
138
144
138
172
133
52
85
78
47
52
23
50
110
63
81
104
97
113
112
87
118
63
84
90
103
105
96
88
85
103
124
135
126
108
111
107
102
97
94
96
108
112
114
112
107
100
95
98
101
100
98
96
96
96
94
94
94
108
117
109
95
93
100
91
86
84
90
107
119
132
124
124
123
124
126
130
131
132
125
112
95
84
83
94
111
111
112
111
107
102
95
92
100
104
116
124
126
125
126
123
125
127
127
123
117
114
109
103
102
108
113
118
123
125
108
101
108
108
95
95
91
91
96
100
98
102
109
109
101
102
103
106
111
117
122
136
148
147
137
132
125
116
105
104
107
115
122
118
114
110
109
95
103
93
89
88
146
166
139
102
100
91
73
87
85
86
93
97
93
84
76
84
82
81
77
74
73
73
72
60
57
56
48
50
59
60
57
51
49
50
51
58
60
82
77
69
85
101
121
115
122
99
86
89
100
105
82
144
101
108
121
100
55
41
70
115
132
111
109
100
135
118
106
102
114
111
108
122
104
79
79
95
109
127
80
89
108
114
112
112
99
84
113
75
64
86
109
123
120
104
95
119
132
133
129
116
99
109
118
110
98
140
115
142
178
74
61
76
119
106
77
143
123
63
88
152
162
164
160
180
187
168
144
128
118
114
63
91
86
64
67
54
66
61
99
157
154
130
140
166
143
158
165
125
130
114
76
41
50
106
105
42
62
57
60
75
93
106
130
104
100
114
102
107
110
117
97
99
108
118
138
127
103
111
118
113
103
107
117
96
107
104
103
105
102
97
97
103
97
94
89
87
87
89
89
88
100
108
105
99
103
113
102
94
91
98
123
137
150
147
143
135
130
126
122
122
123
123
123
116
108
101
101
117
111
109
110
110
106
105
105
87
77
82
93
114
120
103
113
117
117
113
116
113
105
111
113
111
112
120
155
164
141
115
97
107
121
112
108
97
96
96
98
98
102
111
121
102
99
104
105
102
106
114
120
113
106
101
103
102
94
90
98
104
108
113
109
105
120
117
120
130
132
123
115
80
148
185
114
96
78
96
73
78
81
84
88
90
90
87
94
82
76
72
74
74
73
74
67
67
63
55
55
63
73
61
51
50
55
48
47
55
51
92
98
98
111
108
103
104
104
90
70
71
73
58
103
89
103
100
86
49
61
64
120
91
102
92
66
95
92
101
68
86
100
95
89
57
88
83
81
106
106
80
95
104
102
92
83
74
77
145
115
91
99
114
115
126
152
172
100
84
115
127
118
127
99
105
107
96
93
90
127
76
91
95
81
63
48
99
57
77
135
82
121
109
98
95
135
143
163
174
136
143
115
50
47
31
63
86
52
58
52
101
144
126
108
105
112
96
158
136
74
36
39
42
40
63
82
61
39
64
89
109
123
158
167
92
67
109
77
140
106
83
80
104
104
109
118
138
131
110
116
118
113
101
105
121
116
119
110
105
102
97
92
93
98
94
89
86
83
84
86
87
91
105
116
112
106
108
116
109
100
96
103
124
133
142
137
137
135
132
129
128
131
124
119
113
108
107
107
108
109
103
101
104
104
102
101
105
100
94
100
104
117
120
109
107
108
109
114
113
106
101
103
101
100
100
104
121
131
142
128
119
128
137
124
101
103
105
103
98
93
96
105
113
101
104
113
115
111
111
116
108
101
93
91
95
98
93
103
105
106
105
108
106
103
101
106
116
129
135
136
152
103
120
177
144
105
86
74
73
78
83
83
86
89
87
85
84
88
82
74
72
73
74
74
71
73
69
60
62
71
72
65
58
53
51
47
47
45
51
68
97
102
94
108
104
110
116
104
81
79
79
64
96
81
93
92
84
53
68
89
128
86
91
87
73
83
97
96
72
79
93
84
76
55
90
93
83
91
81
61
82
92
91
78
70
82
85
138
106
75
84
133
171
170
158
112
112
126
135
153
145
106
61
118
113
72
46
91
100
77
102
82
90
65
112
47
58
134
145
70
167
158
119
138
151
116
117
84
78
58
45
34
50
54
59
58
34
37
46
66
81
77
72
70
74
69
87
72
70
70
72
77
83
91
91
74
68
89
84
135
165
140
103
94
88
80
67
137
100
87
89
131
123
120
121
137
137
126
129
134
135
137
149
162
143
136
122
107
96
89
89
94
96
97
92
87
85
84
87
88
89
102
121
115
115
122
123
114
102
94
99
114
118
122
116
119
123
129
134
135
134
132
121
108
99
98
100
102
99
97
95
93
91
93
97
101
106
116
120
112
102
105
114
108
96
94
107
96
89
90
98
94
96
100
92
84
93
98
103
106
103
108
120
107
85
98
101
88
80
90
106
115
103
111
121
123
116
109
107
95
92
89
95
97
96
99
108
108
106
105
111
108
102
111
110
111
110
97
86
100
93
86
145
190
118
113
83
76
79
80
78
79
80
76
74
70
91
89
79
73
74
77
68
66
69
73
69
67
69
70
65
60
59
54
47
47
41
46
34
61
87
79
98
112
114
123
117
102
97
90
72
92
80
104
111
110
70
65
96
136
79
92
79
66
54
64
42
57
49
99
94
92
75
87
82
69
67
66
83
69
84
97
67
25
49
91
89
79
91
120
134
131
124
122
126
108
83
97
123
104
59
83
100
121
131
146
120
109
104
69
20
78
121
57
79
115
154
162
112
152
171
173
150
160
100
105
76
134
171
167
124
80
44
49
96
108
81
81
99
142
124
95
82
81
39
66
82
82
78
101
83
51
57
47
52
84
97
89
142
125
107
81
96
102
82
120
124
115
108
78
137
126
120
119
127
133
133
130
123
113
110
119
130
120
122
121
114
103
97
95
99
98
97
94
92
87
85
82
80
78
89
114
104
112
125
119
110
100
93
97
114
125
136
136
133
130
135
142
140
135
123
118
112
105
100
98
100
111
113
109
102
98
98
100
102
100
112
110
104
95
95
109
117
106
99
96
89
86
90
76
80
85
85
79
76
80
88
96
104
101
103
129
123
90
99
105
101
94
97
112
127
130
127
122
117
111
107
104
103
109
117
128
117
103
107
106
102
93
84
104
119
127
122
118
123
133
138
137
133
108
105
96
181
169
102
90
72
72
69
66
65
69
71
69
78
80
81
81
82
79
75
75
69
67
76
77
72
65
77
68
61
62
64
51
43
46
35
53
37
56
111
127
117
102
99
107
113
122
117
96
97
88
118
125
124
72
43
77
124
90
102
113
100
119
117
94
75
56
88
100
111
117
102
96
98
95
97
92
83
79
98
109
94
92
113
132
145
146
108
64
62
77
77
75
49
68
80
92
81
42
78
103
89
101
57
92
115
152
129
114
63
58
123
132
137
181
183
168
159
159
161
111
142
164
112
44
31
104
109
131
105
110
117
108
114
117
118
106
84
66
69
81
78
123
132
131
136
118
93
33
42
63
71
70
74
88
121
99
131
122
91
94
86
76
122
91
103
105
96
111
101
98
99
108
117
119
133
128
116
104
102
113
125
127
131
130
120
109
104
101
98
95
95
95
92
89
85
83
79
92
122
109
114
124
112
103
97
95
100
114
126
139
140
140
137
137
137
138
139
128
119
110
105
106
107
108
113
117
117
109
103
104
105
105
103
112
103
101
96
96
106
112
111
108
96
93
94
95
82
93
96
84
76
79
78
85
88
99
101
106
136
137
109
110
115
117
111
105
116
134
127
120
111
103
97
93
90
103
110
120
133
119
103
109
104
102
93
84
91
106
116
115
110
110
119
121
115
112
94
87
73
124
178
122
91
72
69
66
60
61
68
73
73
76
81
82
83
83
78
73
75
74
73
72
73
71
68
81
75
69
67
64
46
41
46
37
48
46
43
84
136
120
105
100
104
109
115
110
90
98
86
109
108
112
78
57
78
100
98
83
109
93
105
79
83
66
75
99
108
115
105
91
93
95
81
77
82
84
85
95
102
96
90
98
113
107
98
76
66
94
118
108
101
73
93
95
74
65
71
120
98
78
109
95
149
141
134
141
63
84
129
130
125
167
231
197
194
217
175
137
133
174
150
154
75
51
119
86
79
93
114
90
70
110
134
119
103
66
50
64
76
61
97
105
106
127
139
123
86
56
63
69
66
68
96
130
143
152
96
75
104
88
74
95
87
98
94
93
87
84
79
77
87
87
82
95
100
92
80
82
89
103
115
117
126
138
141
132
118
109
108
116
116
110
116
114
96
100
119
130
107
107
108
92
85
85
89
99
103
105
115
113
110
109
113
114
123
132
132
128
118
111
115
120
119
121
118
117
119
124
124
118
112
110
105
98
96
96
93
86
121
111
105
104
95
101
116
124
125
105
97
112
111
116
121
108
97
97
104
113
127
128
118
123
129
124
126
132
129
109
99
98
102
100
98
95
102
102
112
124
120
111
109
103
98
96
96
90
82
79
85
85
80
75
71
71
66
59
58
61
59
113
205
105
77
51
40
46
59
72
81
83
91
75
71
72
68
69
79
62
70
63
76
69
59
69
69
63
59
59
55
45
45
47
48
46
46
42
38
129
125
122
122
133
142
142
127
110
99
99
109
114
118
110
97
65
67
116
89
86
32
53
51
33
78
104
44
65
53
51
54
52
45
42
43
37
45
43
50
52
46
59
91
94
118
140
140
112
83
70
72
48
61
95
104
68
80
143
123
87
150
102
106
61
45
73
88
106
50
74
78
93
123
130
141
161
187
205
202
178
150
166
123
119
153
132
152
63
69
55
21
41
91
100
85
89
81
71
35
81
40
97
98
99
99
125
142
144
144
124
96
79
78
83
93
88
100
102
109
127
129
116
112
107
116
115
116
117
115
111
109
110
104
96
97
103
99
94
98
99
86
81
82
86
90
94
102
115
128
122
122
110
96
98
105
103
119
136
133
105
99
98
88
85
89
92
103
100
95
99
97
94
93
102
114
129
133
131
131
129
118
114
116
122
121
127
132
129
123
113
109
106
110
118
113
102
98
97
97
130
119
105
89
88
95
101
102
101
90
90
105
105
110
129
130
125
111
95
94
136
145
126
130
141
119
88
90
112
100
84
79
84
90
92
94
94
105
102
121
142
130
102
117
111
106
104
98
91
89
80
77
70
68
74
79
78
75
64
71
65
40
136
169
74
59
54
55
55
62
71
76
65
67
69
73
69
66
71
69
61
62
62
63
66
63
73
67
62
63
63
54
50
44
44
38
37
42
43
63
122
122
116
108
106
108
111
117
123
98
87
81
82
81
76
71
79
155
126
52
57
51
48
89
86
51
49
44
39
39
39
41
38
37
42
48
41
40
49
59
62
71
89
73
88
120
132
109
94
68
28
57
62
50
60
79
95
154
74
81
64
125
84
98
85
87
127
95
77
62
146
134
135
123
115
133
154
143
132
141
159
125
116
126
115
123
139
115
127
132
116
121
125
102
82
74
108
78
88
40
24
67
96
101
88
100
89
83
76
81
102
126
125
107
125
101
71
73
107
135
144
130
104
49
80
89
69
110
112
114
116
117
107
96
107
112
109
106
113
114
95
88
85
84
84
83
84
90
97
116
119
113
104
101
100
95
125
140
126
102
94
93
90
92
94
97
104
108
102
105
98
92
91
100
115
131
131
131
130
127
121
117
114
115
124
128
135
136
129
122
116
114
119
115
109
99
96
94
95
127
119
109
99
100
99
99
93
90
83
85
99
101
107
109
119
129
130
121
116
135
151
139
140
143
121
95
101
127
103
96
97
98
97
94
94
104
113
118
134
153
146
120
125
117
110
107
97
93
91
83
83
79
78
82
89
96
98
88
87
90
46
102
177
77
60
52
51
50
58
68
72
62
65
67
72
70
67
70
72
58
65
62
64
70
61
70
69
67
66
64
56
54
53
52
45
39
40
43
37
134
131
108
86
77
68
65
71
122
103
102
106
102
88
72
79
80
154
128
67
84
76
82
112
102
72
61
59
71
49
48
53
51
41
41
47
52
47
56
69
75
81
95
99
86
88
89
83
103
104
68
70
98
86
85
96
96
146
97
96
101
117
85
125
98
104
109
81
97
90
142
113
148
130
129
139
138
132
134
126
119
93
101
125
135
149
155
131
133
125
110
120
135
126
90
70
97
78
84
28
32
96
115
107
94
84
69
77
105
126
126
102
96
116
129
89
78
110
147
145
127
103
68
47
93
102
59
81
88
98
108
117
107
96
109
112
108
105
115
122
110
101
99
102
109
110
100
86
77
82
78
80
91
97
97
102
141
151
120
105
98
94
98
101
103
99
101
112
109
111
109
105
102
106
117
128
123
120
116
115
121
126
125
126
133
133
135
139
140
141
138
136
119
94
97
109
125
140
149
166
139
113
104
105
106
113
106
95
91
95
98
97
100
109
107
111
122
131
130
117
105
118
129
136
137
124
113
114
97
97
96
93
87
88
91
95
95
120
122
134
142
133
126
116
106
99
92
90
89
84
91
95
94
93
97
106
104
101
78
81
71
52
143
85
64
46
37
39
55
67
66
61
61
57
61
64
64
67
65
59
63
67
66
67
62
66
73
75
70
62
57
55
56
55
54
46
38
46
49
56
62
48
42
58
59
53
61
64
70
73
60
61
82
105
95
75
108
68
78
73
60
82
98
107
84
91
108
94
77
91
129
138
102
71
47
49
54
70
82
76
66
64
69
84
94
88
73
76
81
77
94
83
78
76
94
154
215
101
103
121
109
119
107
113
134
83
98
98
118
127
151
141
133
148
147
117
115
114
134
140
150
130
129
130
113
127
120
103
97
110
119
101
75
61
58
79
99
71
49
62
68
64
66
76
80
101
130
102
98
90
99
134
157
88
82
102
116
94
70
93
126
132
91
95
74
52
105
105
106
109
121
118
112
111
118
117
114
121
124
115
102
102
105
105
101
97
99
104
111
101
91
88
80
79
93
117
124
99
101
104
107
115
125
128
121
118
115
103
97
113
114
111
110
118
124
117
118
114
108
104
98
99
110
138
141
142
135
124
123
131
139
143
122
121
126
138
158
174
164
125
100
110
100
101
112
107
96
99
107
98
79
74
104
107
113
119
122
126
146
133
113
104
127
142
117
96
107
95
92
98
104
101
89
82
79
87
91
98
134
143
108
106
97
88
86
89
90
93
93
92
91
95
103
106
84
73
88
97
80
80
61
141
85
75
63
50
39
46
61
63
48
57
55
60
64
63
62
61
65
53
63
62
59
74
80
77
71
68
71
61
46
60
49
47
45
36
40
40
48
63
50
44
60
56
48
62
97
116
132
125
112
116
126
110
95
118
71
91
119
97
85
57
43
56
39
22
32
24
43
89
106
76
70
105
84
82
84
79
68
72
99
89
100
94
106
134
127
99
97
128
114
105
101
114
184
176
99
88
123
111
106
137
141
123
121
122
81
124
135
144
150
154
141
152
175
135
85
98
99
65
65
40
61
138
103
64
64
73
106
121
104
85
59
88
96
94
114
72
84
79
94
123
120
102
114
85
82
80
85
105
118
112
67
89
122
103
54
69
113
105
66
111
123
68
22
138
136
134
138
144
131
115
113
112
112
115
116
117
122
117
105
96
96
101
104
105
105
115
127
125
115
112
105
91
79
91
99
98
104
110
114
111
144
149
135
124
104
100
104
104
108
113
119
124
124
113
111
107
101
100
100
104
114
134
141
133
123
119
126
137
138
133
131
130
146
175
194
168
136
107
101
113
112
102
107
117
117
105
106
110
95
112
111
114
118
121
123
136
135
132
123
123
126
110
96
102
101
94
97
96
92
90
87
94
100
100
117
130
123
113
106
101
95
91
88
87
86
84
89
96
99
101
100
86
81
93
97
86
85
74
91
111
66
55
46
37
48
50
49
44
50
45
49
56
59
63
61
66
69
52
49
62
78
75
73
69
69
75
67
52
52
57
51
42
39
40
57
45
34
79
95
82
71
50
63
108
122
125
125
122
119
124
132
94
107
63
89
86
94
80
61
67
93
75
51
38
23
20
21
38
57
64
86
76
91
68
79
65
50
97
122
111
119
123
103
104
126
138
135
137
95
100
131
164
191
85
89
140
116
146
142
116
103
103
99
88
95
125
106
168
146
150
175
165
124
108
131
121
108
82
67
82
73
29
55
70
76
86
95
99
103
95
115
144
162
119
77
103
59
104
112
100
100
92
52
75
68
82
119
115
88
45
30
69
67
81
107
93
81
81
102
120
110
79
127
135
143
150
162
163
161
162
143
121
113
120
132
137
145
145
145
143
136
130
132
137
145
149
143
132
131
130
121
104
102
87
85
95
105
111
118
136
133
120
115
109
110
106
106
108
110
113
129
135
132
122
110
101
97
98
101
116
121
120
124
138
146
147
145
146
153
151
142
136
141
149
161
137
129
129
108
105
117
131
126
116
113
117
137
140
129
122
115
110
108
109
125
124
127
126
133
143
132
117
120
93
94
96
85
74
70
70
78
85
99
107
103
102
110
93
91
89
89
94
94
94
94
95
92
88
88
93
89
83
89
92
90
99
89
90
129
78
60
46
29
38
43
48
45
57
56
60
60
57
59
60
60
64
73
71
67
67
70
71
71
70
71
64
55
55
52
44
44
53
56
45
35
27
48
94
92
55
52
59
115
127
120
117
113
104
95
104
101
117
58
84
87
92
92
76
63
59
67
73
79
85
81
80
61
53
96
64
64
78
81
119
122
95
83
51
45
29
28
40
43
27
18
15
49
56
59
87
194
131
90
126
128
143
143
132
109
82
96
93
86
99
99
95
113
135
154
159
156
157
153
159
121
94
87
81
75
76
74
79
87
86
99
109
104
90
114
89
91
98
134
122
115
111
133
125
112
82
90
82
77
106
130
137
119
108
21
56
65
70
83
67
51
83
115
91
94
71
43
102
102
104
111
133
135
132
127
131
134
134
136
139
131
140
134
131
133
133
125
116
109
121
135
134
120
116
121
123
118
129
141
126
105
94
90
96
102
109
117
126
119
117
118
123
123
120
114
110
112
116
110
107
106
109
110
109
113
117
116
120
136
145
144
144
147
179
182
174
156
148
156
138
142
134
123
116
107
104
103
111
119
120
105
102
118
134
129
126
123
120
118
127
128
124
116
126
151
149
129
119
100
98
96
86
78
82
85
95
97
117
128
125
120
126
87
84
81
84
97
105
108
118
115
108
101
96
95
87
108
107
105
104
113
92
74
153
81
44
26
20
34
37
40
43
45
45
52
55
59
67
62
62
64
62
57
55
57
58
62
67
73
74
73
72
66
70
67
65
67
63
52
43
34
18
64
85
68
87
94
113
129
136
118
85
76
94
104
96
107
75
135
143
136
143
132
110
98
84
65
57
43
67
67
56
68
70
47
85
85
90
110
113
101
93
71
67
66
88
100
74
59
84
104
53
38
39
57
119
71
43
58
57
95
122
162
133
121
109
89
90
111
116
128
167
169
165
160
156
154
150
121
134
128
116
111
108
115
132
112
85
81
114
133
108
72
95
130
116
147
157
143
78
63
111
125
102
50
68
67
53
88
84
106
116
53
67
78
68
75
100
101
102
121
102
102
93
60
46
116
114
111
114
135
137
133
122
128
128
119
115
120
128
119
111
110
119
126
121
105
93
95
113
120
114
113
119
121
114
123
150
148
131
112
100
87
89
98
113
122
117
113
111
117
120
122
119
113
112
115
112
112
113
114
112
108
113
120
120
122
133
137
136
136
139
150
161
173
163
146
145
166
169
147
120
121
116
115
110
109
109
113
112
109
111
116
114
114
115
113
112
118
119
115
105
113
139
144
129
122
96
92
93
91
89
93
95
99
101
112
126
125
120
120
89
86
83
86
93
97
99
106
104
101
97
100
111
118
112
106
95
86
92
74
62
143
74
44
36
37
50
49
49
49
57
61
65
60
57
63
58
59
60
54
50
53
60
50
52
58
67
71
71
72
69
75
74
70
69
64
58
37
42
39
53
61
48
57
65
72
92
107
99
76
82
113
122
103
100
69
123
122
109
99
97
89
92
72
37
27
27
46
40
41
60
53
63
70
72
83
89
76
61
55
63
69
61
50
48
55
68
86
112
83
41
73
110
135
102
59
71
43
110
140
147
142
121
103
103
123
144
146
147
158
154
148
146
143
134
122
102
140
128
91
103
137
141
130
124
99
67
81
110
97
59
87
76
127
135
182
146
77
55
124
139
94
43
63
51
63
71
66
74
60
31
74
55
79
88
84
78
103
126
96
85
75
49
40
157
157
150
138
127
129
131
129
130
122
111
119
146
185
140
118
93
84
87
95
101
105
92
94
106
115
120
116
105
121
137
146
124
112
129
154
154
132
121
121
113
108
101
105
106
109
115
121
122
120
117
116
116
116
115
116
120
118
124
124
125
133
135
128
124
131
154
152
154
141
136
154
174
174
160
143
117
107
126
129
124
107
88
84
118
128
118
115
115
116
116
117
128
125
130
120
114
122
126
127
136
110
101
105
106
103
93
83
87
96
89
97
101
96
92
65
69
78
86
93
90
85
91
99
110
116
117
115
94
85
88
90
88
94
77
65
159
89
53
32
17
26
35
50
53
50
53
58
56
59
71
68
63
59
52
46
44
45
52
50
54
66
73
70
70
66
68
63
61
65
66
62
46
48
59
46
81
126
104
96
116
107
83
80
92
105
112
86
76
92
48
82
72
63
68
77
74
67
20
24
63
66
54
56
69
74
72
70
58
55
68
58
34
27
35
78
59
61
66
48
43
49
46
104
62
44
119
113
137
169
115
100
115
110
144
137
136
156
119
134
163
153
160
153
167
180
174
148
130
124
109
101
98
82
93
126
120
118
153
117
122
129
106
66
63
92
69
67
97
133
177
177
146
120
103
110
157
79
72
99
97
110
90
98
98
43
42
38
66
73
77
73
69
87
89
98
89
78
81
119
130
131
128
131
127
128
129
131
134
134
132
130
123
130
119
113
112
117
118
118
118
109
117
129
131
123
117
120
125
127
118
115
120
129
135
131
131
133
133
98
77
64
81
88
105
118
124
125
127
129
122
116
112
110
110
112
143
138
138
139
135
124
116
112
112
147
154
151
139
141
156
171
152
139
128
129
126
113
107
112
115
114
109
100
95
118
116
113
113
122
129
117
104
101
104
106
101
105
112
112
127
121
114
105
99
98
101
86
84
87
116
134
118
97
79
86
90
86
99
104
104
84
93
90
83
83
87
92
88
89
89
85
103
100
93
124
64
40
32
30
37
39
51
48
57
57
58
64
64
62
67
71
63
64
65
56
54
57
51
52
61
71
72
73
67
68
72
72
70
74
66
39
42
43
40
48
70
84
82
52
55
64
61
67
75
70
63
69
92
100
70
56
61
89
85
78
85
75
65
81
58
60
69
77
75
67
58
62
68
67
60
59
56
56
64
71
62
61
70
58
49
69
99
95
138
96
133
167
164
86
81
65
91
107
117
137
128
152
156
147
143
129
134
127
111
105
107
107
102
96
99
73
95
123
104
101
131
129
155
161
143
101
61
68
106
103
83
97
125
170
182
153
99
99
122
115
103
100
109
79
75
79
38
5
21
43
44
59
67
68
73
78
86
97
107
94
116
106
107
118
124
129
131
122
117
115
119
123
123
118
112
105
113
108
104
108
112
113
110
108
107
118
128
130
126
127
131
148
141
115
111
117
120
122
116
117
123
132
109
82
65
72
85
103
119
125
138
147
134
128
122
118
114
113
112
135
133
131
128
123
115
113
115
116
139
152
158
149
138
137
151
135
128
139
146
140
127
109
111
113
119
126
106
89
92
97
107
122
135
136
104
112
103
100
98
97
104
111
111
120
121
113
106
105
103
100
78
83
93
121
135
122
103
99
95
88
87
112
115
111
118
119
113
101
95
98
102
114
86
74
81
92
68
56
135
73
46
36
37
52
57
71
45
66
65
60
60
63
67
67
68
59
65
64
53
46
58
53
52
59
67
71
71
74
72
74
74
73
75
64
47
42
50
48
38
56
79
78
49
55
64
63
68
72
66
83
85
84
123
102
46
53
46
34
41
61
43
42
54
61
64
75
86
85
80
74
75
90
93
96
101
89
79
107
111
98
92
93
77
71
94
109
160
100
122
86
153
160
93
102
97
106
116
125
140
143
155
150
137
130
110
107
110
91
84
91
94
91
91
76
64
106
104
67
99
143
142
164
175
150
88
44
54
80
68
68
95
137
174
166
131
95
107
128
113
122
129
139
99
88
99
82
43
25
28
54
65
71
67
62
65
95
129
92
104
112
129
72
79
85
98
113
103
101
101
103
109
112
110
105
112
110
102
94
90
87
84
82
83
91
103
116
124
121
116
111
105
102
97
118
143
153
151
128
129
134
134
112
99
95
114
116
118
110
94
77
81
102
106
114
122
127
124
116
118
108
101
100
106
109
111
111
119
128
132
141
144
139
139
129
128
131
168
174
155
134
134
133
127
119
115
123
125
109
99
92
97
108
120
124
124
119
120
124
121
116
106
93
114
116
104
103
113
108
96
95
98
100
115
119
107
96
99
95
89
85
86
84
80
80
76
75
72
72
85
94
83
71
75
83
88
73
68
122
66
43
33
29
40
38
44
49
53
56
57
58
64
67
69
68
68
63
63
67
69
62
60
59
60
64
70
69
68
63
66
71
70
70
63
60
45
59
62
37
46
80
89
76
91
102
109
119
121
118
118
98
100
128
139
89
72
109
118
119
91
42
52
52
64
39
27
26
21
28
32
39
65
83
88
84
57
46
56
65
81
107
126
128
138
163
129
32
95
79
100
129
120
140
150
148
138
140
134
128
119
116
117
118
118
115
105
77
88
96
89
79
75
61
54
106
113
97
131
150
136
155
183
183
142
68
28
29
32
40
51
99
145
156
121
84
101
119
134
116
104
72
60
119
106
114
130
94
43
54
55
60
71
85
84
72
79
101
66
114
95
127
59
59
62
78
104
100
101
91
99
114
128
125
114
115
103
95
88
83
84
86
93
98
120
131
128
115
101
91
87
106
111
108
116
131
134
125
123
129
136
139
116
110
112
113
109
107
107
104
90
87
70
70
73
79
90
100
106
106
102
100
105
109
108
108
107
105
121
117
117
118
119
124
132
134
122
126
133
126
122
129
136
143
143
141
130
123
107
105
109
117
122
120
117
118
114
116
118
117
118
117
111
106
102
102
113
119
110
94
94
99
109
121
120
106
97
96
95
97
96
90
94
96
86
79
86
88
87
104
103
90
96
122
141
152
140
109
91
45
27
14
9
27
38
47
48
47
53
55
53
56
59
58
49
53
48
47
55
55
56
60
61
59
61
65
62
66
64
71
77
71
67
73
65
52
53
60
55
51
69
93
113
116
107
102
101
94
87
84
92
107
115
134
142
106
107
115
98
77
101
101
100
101
85
89
98
85
89
91
62
56
62
65
63
79
93
55
43
47
74
90
88
86
96
134
129
117
116
162
107
146
149
139
134
129
121
112
104
117
107
108
108
101
117
116
122
107
109
128
146
153
154
163
145
92
122
142
116
147
155
172
157
106
61
40
44
58
56
41
111
124
120
108
87
92
85
86
87
75
38
54
118
143
164
184
154
105
52
33
57
81
85
77
70
90
120
108
96
107
98
62
59
60
75
97
91
91
100
103
114
123
118
109
117
110
103
94
93
94
95
102
110
119
124
112
94
87
96
106
105
123
133
132
132
121
104
107
114
127
132
116
105
103
114
106
101
103
102
85
77
83
76
66
62
66
76
86
97
92
88
88
92
97
106
117
118
136
130
123
118
112
112
126
132
120
122
131
127
127
142
138
133
135
141
139
130
108
105
107
113
115
113
118
93
98
113
125
125
122
115
104
92
89
97
111
116
102
88
95
100
114
125
121
103
92
93
91
88
84
75
75
80
74
69
85
98
105
128
136
151
149
163
160
146
125
107
69
37
35
29
23
31
30
33
29
37
46
48
45
47
52
57
44
47
48
46
48
41
39
45
49
51
56
65
61
64
63
72
76
68
62
71
67
56
50
57
59
51
64
92
127
134
123
121
124
120
115
93
110
93
100
115
140
109
80
89
84
96
131
98
83
80
71
89
101
89
99
120
80
71
77
69
49
74
108
77
52
44
68
93
109
124
142
140
150
134
160
133
163
125
143
130
127
121
108
104
101
98
93
101
108
109
153
161
144
118
128
173
194
173
149
152
150
85
143
174
113
139
157
175
159
105
71
57
64
89
98
62
108
112
120
136
134
123
74
112
145
88
74
54
79
144
176
182
153
127
55
60
70
76
78
79
78
86
99
135
96
124
85
89
89
82
83
87
80
86
91
88
88
101
120
121
122
119
106
92
88
88
88
89
92
112
120
124
123
115
102
91
96
120
142
138
140
142
141
137
131
118
110
119
114
110
107
99
85
88
116
142
150
138
135
126
110
96
90
85
54
59
62
77
98
100
93
97
98
104
106
107
109
111
113
128
126
123
113
117
125
132
108
104
113
129
136
129
118
119
115
108
105
110
118
116
107
100
99
109
117
115
118
131
94
95
94
93
101
102
91
107
101
115
100
92
89
74
49
58
64
68
87
98
102
121
123
140
155
153
142
117
108
97
92
95
82
76
100
72
51
37
33
33
39
44
41
47
50
54
56
58
58
59
65
61
58
45
37
35
38
36
39
44
47
50
55
57
53
55
57
59
59
59
57
57
68
59
56
66
61
60
87
65
57
51
56
64
67
66
57
55
56
72
82
84
87
114
82
55
56
100
96
82
104
91
78
73
79
100
118
116
102
98
96
94
108
131
150
146
121
110
129
141
139
144
130
129
138
139
133
122
109
108
111
114
93
82
93
117
122
139
136
147
187
149
128
146
170
170
203
215
185
180
157
160
128
118
148
153
142
136
130
135
107
78
79
82
125
142
114
143
109
146
118
119
121
98
145
70
122
41
91
114
162
171
165
164
152
108
90
88
119
111
79
72
83
119
101
99
100
98
98
104
109
109
92
85
82
88
96
100
111
130
137
112
105
97
88
88
94
101
103
103
109
116
120
122
123
125
128
146
150
162
156
145
136
134
134
132
128
121
111
111
104
109
113
116
115
111
83
75
89
87
86
94
120
139
128
112
100
85
82
91
100
109
116
122
111
109
111
116
124
128
131
126
128
133
122
123
134
141
131
127
128
126
129
127
121
139
153
144
121
104
111
129
113
103
101
100
98
102
106
75
77
78
80
87
98
102
95
105
113
92
87
95
100
123
130
140
146
138
122
109
115
106
101
97
90
93
99
102
102
87
80
74
96
112
57
46
39
39
39
41
41
38
44
45
45
41
38
35
31
33
34
39
53
51
48
48
53
52
51
49
48
52
55
39
45
52
55
55
56
64
47
58
61
61
65
55
57
76
100
87
80
82
89
88
82
89
101
131
145
142
132
126
112
133
106
64
81
87
98
85
90
77
69
75
71
101
152
149
155
152
128
116
121
129
125
110
102
107
112
114
118
116
122
117
108
99
100
108
117
116
121
156
162
158
156
148
132
137
138
115
156
199
174
175
210
205
191
170
128
168
142
127
138
140
106
92
126
115
126
143
136
97
63
79
126
91
107
129
177
174
133
104
96
125
101
69
112
110
128
158
175
179
166
154
100
90
98
70
46
69
85
94
128
143
116
93
98
102
109
117
119
108
105
103
104
117
124
127
133
133
121
116
117
115
112
108
111
115
118
125
126
126
124
129
139
150
149
153
155
142
131
130
132
143
145
151
148
127
122
111
101
97
96
94
91
92
90
98
82
73
75
88
104
117
145
124
105
99
100
106
109
109
109
101
102
111
122
133
139
155
137
122
126
126
133
146
140
138
143
145
137
127
125
121
137
152
151
136
122
123
135
121
115
111
100
95
96
93
86
83
80
80
87
98
114
98
112
125
114
115
128
141
171
153
129
111
102
105
108
110
103
100
98
93
92
82
94
68
67
53
70
121
104
59
49
44
44
40
36
34
28
41
35
33
34
34
37
39
55
49
45
53
47
33
25
27
28
29
30
33
44
48
62
65
66
62
57
56
64
53
61
63
63
63
52
49
64
100
101
102
103
102
90
78
90
96
112
128
127
116
109
110
140
124
89
89
96
113
99
98
66
45
65
91
133
109
125
140
133
117
120
125
121
116
109
109
116
116
112
110
110
96
95
103
107
122
145
135
173
180
160
155
155
169
164
156
128
92
102
206
187
206
182
200
187
161
139
125
168
133
98
118
98
71
120
140
107
99
111
128
126
111
116
118
125
97
144
178
172
111
135
77
139
80
61
98
117
143
171
185
186
165
142
67
72
113
92
46
43
68
113
155
147
110
78
74
90
92
105
111
112
115
103
99
105
114
132
146
144
143
104
119
132
131
124
124
128
134
150
158
156
147
141
146
156
155
169
158
149
156
172
180
176
168
169
163
145
149
139
118
104
105
115
120
121
104
117
131
140
132
112
97
96
93
95
117
142
148
157
165
164
150
137
131
131
129
124
121
124
124
123
126
125
118
110
126
129
137
132
111
119
133
153
149
146
144
134
116
89
95
93
109
111
91
83
90
84
91
91
88
88
86
100
127
148
147
127
119
111
104
105
96
95
100
105
98
92
92
82
85
86
79
67
70
82
108
92
79
85
108
99
55
39
37
38
43
38
34
29
23
28
34
39
40
42
43
41
22
15
14
24
24
24
25
23
26
30
35
40
55
59
60
59
58
57
57
59
62
55
53
57
61
61
54
50
55
115
130
137
139
133
124
114
106
104
96
102
105
104
107
102
97
104
120
113
92
76
73
78
99
122
131
131
106
134
133
131
119
109
119
126
116
107
104
101
91
84
87
87
98
133
161
164
125
112
142
162
137
148
172
180
182
154
172
150
125
139
160
162
221
186
187
183
207
182
141
160
132
138
140
154
150
158
165
117
127
96
82
97
111
103
90
127
125
119
138
161
80
52
51
100
73
100
97
143
108
125
158
157
158
158
136
76
100
78
68
81
68
82
133
128
116
114
98
56
49
58
70
78
91
82
72
79
115
143
151
155
147
117
127
119
147
161
131
111
102
80
96
116
123
110
103
113
128
156
152
133
133
137
136
130
130
125
130
136
151
156
133
110
116
122
123
120
118
114
121
129
134
135
137
125
111
93
87
88
92
100
115
124
123
123
123
134
141
143
143
143
117
106
92
87
95
106
113
124
109
132
149
128
127
112
122
117
134
146
128
115
130
133
118
117
124
135
144
130
95
73
85
92
74
64
77
88
90
80
94
102
101
106
119
116
118
142
130
91
81
80
105
145
148
119
108
101
97
84
71
94
129
118
79
54
37
40
43
42
40
36
33
29
46
42
34
25
21
22
25
26
31
35
34
36
41
46
41
38
38
41
39
36
41
42
46
53
60
64
66
63
44
47
43
47
67
78
65
50
96
103
93
99
102
90
80
88
116
144
153
154
144
133
133
139
121
102
140
130
101
77
115
148
145
126
124
112
99
93
97
89
93
107
100
88
71
70
66
90
97
124
138
152
128
158
68
112
134
206
76
155
180
167
162
153
116
129
183
124
163
165
173
161
190
187
178
208
195
138
145
143
101
153
162
68
72
100
147
149
148
153
142
119
101
90
82
98
83
124
173
119
71
78
99
123
130
117
113
101
132
134
140
133
127
69
89
76
94
121
108
65
103
163
142
124
128
81
34
83
85
85
81
98
108
113
103
127
147
157
160
153
120
133
127
140
145
120
101
83
59
94
110
121
121
118
124
133
148
150
141
135
131
129
128
123
125
130
132
143
140
124
114
124
135
134
128
121
121
127
139
144
137
126
111
102
114
112
109
101
94
98
103
101
112
133
143
141
130
124
123
107
105
105
117
122
124
124
124
109
117
126
116
126
124
124
120
134
147
134
118
97
128
119
118
128
141
163
166
148
100
100
97
79
64
58
55
61
70
98
104
103
102
102
131
120
128
114
102
99
98
119
125
109
90
94
106
114
69
68
104
128
95
62
50
38
35
32
31
36
42
47
48
39
32
29
28
27
26
26
26
28
31
26
26
30
34
36
34
36
42
44
41
44
45
51
61
71
78
82
82
77
72
53
40
50
67
74
77
97
111
114
117
107
93
90
111
125
127
139
150
151
150
122
118
137
147
127
138
136
150
136
126
115
102
100
94
102
93
104
103
102
106
86
79
80
86
108
129
162
154
121
138
168
97
97
91
191
118
127
200
152
161
119
146
111
149
182
128
148
143
167
162
190
171
167
191
169
138
158
131
157
172
139
104
136
125
143
140
138
135
105
94
108
118
102
68
80
115
134
139
74
82
72
67
69
99
123
129
131
145
101
142
58
6
89
116
100
94
79
70
112
136
84
126
110
71
56
136
131
119
106
114
134
152
134
131
125
125
123
111
102
141
155
141
119
118
116
101
92
94
105
122
132
131
124
119
124
133
146
138
125
122
128
120
141
143
142
133
116
121
129
141
148
147
142
139
139
140
142
132
118
109
104
111
132
138
130
106
91
86
87
89
104
135
140
132
125
132
140
138
135
133
134
130
120
113
120
120
112
113
124
103
112
127
120
113
118
136
154
134
131
129
124
117
110
104
92
79
80
80
73
70
81
91
91
114
125
93
86
104
120
121
114
105
110
104
120
110
109
102
92
105
123
117
119
113
79
102
115
92
53
37
36
26
34
46
53
53
46
35
28
34
32
34
37
39
37
35
30
31
32
31
33
37
40
42
38
35
38
42
41
38
32
38
46
55
60
62
60
50
58
55
49
48
48
47
49
76
93
116
135
142
140
138
149
150
136
132
122
102
89
34
61
84
67
137
177
137
117
97
92
106
107
100
105
100
86
99
95
87
98
99
112
119
94
147
145
172
101
69
114
78
85
145
104
120
206
152
154
151
163
158
195
162
179
179
179
170
149
144
144
168
164
166
182
182
160
148
149
145
125
154
161
152
128
149
123
147
151
160
171
154
125
155
127
133
142
131
95
122
95
76
68
70
84
118
143
129
126
104
0
11
76
43
92
98
112
89
77
116
146
137
102
101
87
48
160
140
113
96
84
86
87
91
101
104
101
96
81
65
92
118
116
95
90
95
102
116
104
119
131
133
124
116
114
103
98
123
132
127
129
137
133
142
145
148
125
116
122
139
137
134
133
135
143
140
141
133
118
113
119
116
105
104
128
134
131
134
123
96
79
93
111
119
127
133
134
131
137
140
146
151
151
149
150
152
155
151
153
159
127
133
106
121
128
134
146
146
119
99
105
102
98
100
94
86
86
114
107
111
133
139
118
96
107
116
110
98
90
88
88
84
94
108
95
89
84
100
111
92
89
101
108
113
119
111
104
67
35
31
31
26
46
47
42
32
25
23
32
41
33
37
33
27
24
26
29
30
28
25
24
26
28
30
30
29
26
26
32
43
42
50
52
55
58
60
61
60
74
69
58
53
57
57
52
52
65
78
85
96
106
83
40
49
49
46
50
44
45
56
35
50
128
190
105
85
77
80
82
79
74
81
104
102
109
105
100
83
87
96
101
155
169
158
189
147
91
37
79
120
97
119
58
158
168
122
135
160
181
167
194
156
179
170
167
172
157
143
108
139
172
136
183
202
156
157
170
151
168
98
118
118
82
101
163
148
117
140
171
139
92
91
114
53
31
14
6
84
129
75
56
49
58
93
113
123
118
75
79
57
58
77
122
77
55
103
107
88
122
144
149
118
92
57
38
143
126
107
97
93
96
99
82
88
86
84
92
100
99
104
123
130
116
100
96
100
107
112
120
127
125
115
110
109
89
86
118
127
122
125
139
143
137
143
147
118
116
119
136
138
135
132
130
136
134
144
136
118
106
104
102
96
102
129
133
128
138
136
117
105
86
101
109
119
128
127
122
143
147
148
133
128
129
131
144
146
149
153
148
117
116
92
103
103
102
106
96
77
103
119
124
124
122
113
107
116
140
127
126
138
127
100
82
115
105
100
92
79
85
100
86
94
100
85
86
78
91
87
88
87
93
103
101
114
107
72
50
38
24
27
39
42
38
30
24
23
29
37
42
34
32
29
27
27
28
30
31
29
26
26
29
31
33
30
35
37
37
41
50
48
46
48
52
58
63
69
75
63
65
64
68
71
64
53
51
50
71
91
105
116
106
78
60
59
43
36
27
35
55
98
166
170
111
85
84
78
80
87
92
86
86
100
89
95
99
88
77
97
80
37
61
51
58
91
104
110
109
115
96
104
41
65
162
123
123
155
187
156
163
167
196
186
173
172
157
141
136
104
159
144
144
185
180
157
171
163
147
140
88
152
135
66
99
162
127
144
158
129
87
82
96
123
62
32
23
16
63
69
38
35
39
43
66
85
94
65
97
85
56
53
23
126
87
41
101
122
99
128
144
142
107
85
67
54
118
107
97
90
83
82
83
77
63
60
70
81
94
90
85
95
122
132
119
121
126
112
140
153
159
155
142
128
118
90
88
93
111
119
120
122
137
153
153
129
114
121
120
121
131
134
131
131
144
143
137
130
132
132
112
85
65
77
78
89
111
132
136
125
111
112
94
82
91
110
113
103
126
134
137
125
122
124
125
125
122
129
120
86
76
80
88
88
82
73
72
78
95
117
112
108
109
118
124
121
113
120
120
125
129
121
118
125
99
76
91
82
67
60
54
60
83
73
55
93
95
93
107
96
80
61
45
50
120
86
60
39
37
43
47
41
30
28
31
34
32
35
31
21
39
33
34
33
36
37
33
30
35
40
49
52
49
44
45
50
55
54
51
55
60
53
54
54
54
55
57
65
73
74
69
67
65
60
68
83
70
66
72
89
102
100
90
72
56
38
83
157
171
120
97
70
73
88
87
94
90
98
97
99
100
98
94
95
88
56
73
104
103
69
65
140
101
113
113
74
99
115
100
77
84
147
126
100
167
174
165
173
151
131
165
194
171
149
147
108
107
114
100
160
148
145
148
172
184
157
124
133
164
142
175
159
125
126
143
155
138
103
101
154
146
91
46
59
56
57
43
58
82
54
53
79
66
89
113
139
133
113
106
77
62
55
78
40
52
75
92
98
109
116
112
85
101
108
109
93
101
104
96
91
85
74
64
70
79
81
81
99
149
127
92
90
115
111
100
111
128
136
134
128
123
120
122
124
84
89
111
130
128
111
99
96
103
99
93
114
118
110
128
130
128
120
119
124
121
105
84
68
58
47
45
52
75
80
87
94
101
112
123
133
118
120
94
71
63
67
68
90
94
93
80
81
82
84
97
112
104
89
88
80
87
113
115
114
112
118
128
144
121
109
110
122
118
101
101
116
111
109
117
130
120
96
80
68
99
64
61
51
37
38
38
60
53
30
39
48
59
56
36
49
65
65
94
74
49
38
35
33
27
24
25
27
30
36
34
25
25
31
29
31
30
34
35
40
45
42
49
52
51
43
45
48
49
47
47
48
49
50
52
52
53
57
61
64
64
63
63
61
64
65
67
68
62
55
59
74
73
72
75
84
91
94
84
150
161
123
106
103
104
88
68
71
88
94
98
93
102
104
107
110
108
96
63
62
74
83
61
56
63
49
66
64
51
67
53
71
39
59
53
138
119
52
127
183
158
169
157
137
135
133
163
180
163
139
145
103
76
125
121
150
155
145
160
194
185
153
151
149
77
143
149
117
154
154
129
89
88
171
131
98
73
82
65
43
26
57
129
228
124
78
70
75
69
73
96
105
92
86
71
68
72
85
90
85
101
105
90
91
93
74
86
94
94
85
86
101
106
99
99
93
81
77
70
69
74
82
100
123
95
80
89
107
98
90
116
154
171
149
129
119
119
123
129
119
115
108
119
119
107
98
100
105
101
94
103
96
83
76
79
80
80
80
79
74
73
66
66
71
69
76
93
118
115
109
100
94
96
106
113
116
111
87
68
65
72
76
93
98
101
95
95
95
95
116
134
116
88
89
88
104
150
135
120
118
131
139
115
110
109
114
119
110
96
99
113
123
131
134
130
112
93
84
74
90
73
74
76
66
58
55
69
65
46
42
47
52
38
25
36
57
77
101
41
45
36
35
35
27
25
29
30
31
34
32
25
26
32
30
29
30
34
34
40
45
44
47
52
53
42
42
45
47
51
49
47
49
52
52
50
49
52
55
58
59
59
62
59
62
61
64
68
63
53
53
72
76
75
76
84
99
111
96
148
117
108
112
101
91
86
76
79
91
91
98
98
105
109
111
109
101
91
69
88
67
60
56
66
65
41
45
53
75
26
51
39
40
28
102
132
57
76
127
188
162
171
160
138
137
130
157
181
166
157
163
106
94
111
119
168
171
152
160
198
194
162
146
144
123
178
153
135
158
143
112
69
72
144
83
100
137
94
71
29
38
83
127
145
127
91
75
73
49
55
78
95
66
39
18
18
23
30
62
43
47
57
55
68
74
47
75
96
96
75
83
91
92
86
93
90
80
64
65
73
84
89
94
87
68
79
87
88
92
99
107
115
97
93
103
118
125
122
113
106
109
108
121
122
104
87
92
90
85
77
95
107
109
111
108
103
96
93
109
118
118
127
142
142
129
121
122
118
116
118
126
132
128
114
102
70
62
65
77
91
97
96
91
101
112
120
120
117
110
109
132
133
113
101
87
99
110
109
109
113
120
122
98
89
107
116
106
97
102
104
100
116
115
114
118
112
99
91
86
73
116
80
69
92
98
102
102
107
116
113
106
99
101
100
88
98
116
88
24
49
36
32
32
32
33
36
40
34
31
31
30
34
35
26
34
37
39
37
40
47
46
40
48
54
52
51
49
46
48
45
43
44
46
45
43
50
50
51
50
51
54
62
53
57
55
53
60
62
59
59
62
71
77
80
92
113
133
82
84
66
68
73
76
82
77
83
89
91
91
99
112
107
114
111
94
78
79
93
62
50
48
33
34
37
26
69
16
51
39
41
60
118
112
40
110
97
92
171
143
166
183
176
135
137
148
167
173
184
158
182
160
122
126
128
177
156
147
162
179
173
147
171
141
166
139
89
137
121
120
114
87
91
109
110
75
79
128
84
87
86
79
93
76
115
88
44
52
109
96
63
70
42
26
59
87
95
96
53
67
70
64
58
48
42
43
40
37
36
33
100
91
86
89
84
72
66
74
73
87
112
132
140
111
91
90
88
94
103
101
105
117
120
116
117
125
140
152
159
140
137
117
132
141
129
114
96
97
98
110
145
152
150
134
141
149
150
146
148
158
143
138
137
133
128
129
129
93
90
91
99
104
96
79
62
113
119
113
103
97
97
100
112
120
128
136
137
135
131
123
118
130
133
113
102
99
109
108
110
120
131
131
89
88
84
90
97
95
82
79
85
100
92
93
107
123
126
128
129
133
128
111
93
90
98
109
105
116
130
117
114
110
103
78
95
125
97
41
25
42
40
43
46
40
37
37
34
37
40
38
30
30
34
32
33
39
42
40
44
52
53
57
60
62
64
65
62
56
58
58
58
57
56
55
55
50
51
53
52
49
45
42
39
48
49
49
55
60
60
62
59
61
66
67
73
86
101
89
57
56
49
50
60
61
62
66
65
73
105
114
123
112
116
106
87
74
73
70
69
55
56
48
46
39
21
30
50
24
33
137
128
57
82
107
79
106
120
188
176
170
200
166
108
145
153
160
169
147
188
167
145
142
128
161
167
126
144
186
188
184
176
122
174
163
158
164
166
149
207
123
105
109
73
131
71
166
154
67
55
27
84
75
126
113
112
76
80
96
123
134
112
65
27
53
64
66
136
104
115
76
53
77
70
45
58
74
86
82
62
77
82
93
92
93
97
94
101
94
93
109
125
130
122
107
102
102
105
100
93
97
107
124
129
145
167
179
171
150
105
104
124
132
129
123
117
102
116
130
147
174
171
165
166
169
167
159
156
161
154
130
132
154
149
106
86
90
94
129
141
114
81
76
104
138
152
130
126
117
124
130
123
123
117
113
130
121
111
114
128
122
131
143
138
137
131
103
114
125
120
105
103
110
105
90
92
97
92
95
105
107
100
110
114
113
116
130
147
147
133
127
111
80
73
95
92
103
118
118
102
93
78
56
57
81
102
66
53
59
53
47
47
48
40
34
31
32
28
27
31
36
38
39
40
45
39
50
45
45
52
53
58
61
61
63
67
69
68
63
65
71
70
63
58
50
55
54
52
50
49
51
60
55
57
56
49
46
48
52
54
52
52
51
51
57
72
87
98
62
54
66
60
56
65
67
70
82
100
112
116
122
109
101
93
91
94
93
79
84
70
55
43
40
49
51
47
44
32
124
141
37
81
70
145
93
108
134
182
141
192
174
162
151
138
156
157
133
126
182
175
166
132
153
163
144
157
145
175
180
167
173
144
191
159
141
146
157
197
75
130
103
94
113
91
90
168
115
82
0
53
71
72
97
102
126
118
117
124
144
154
113
69
71
66
67
97
158
133
117
84
30
54
56
59
81
99
135
97
51
111
117
122
116
94
97
97
86
81
83
99
116
123
119
114
108
107
107
107
103
109
119
124
152
169
149
118
114
125
125
128
119
119
126
129
127
114
113
113
120
163
177
182
204
188
179
176
168
157
168
151
132
88
65
81
98
114
137
117
91
81
94
107
125
144
145
138
137
132
134
129
116
129
130
126
122
116
106
94
93
101
114
122
130
146
134
124
113
107
104
95
93
108
116
121
118
100
96
116
126
111
97
93
97
105
109
111
112
115
129
108
102
99
83
67
74
71
74
71
66
59
44
54
100
70
70
60
50
54
63
51
44
41
34
33
37
35
34
34
35
38
41
43
43
41
38
48
43
43
49
48
53
57
60
68
76
81
82
76
73
75
74
71
68
58
60
59
57
53
51
51
57
50
53
52
47
44
44
44
42
44
47
54
58
59
62
66
97
86
49
33
30
52
77
56
77
103
120
128
124
119
90
106
115
113
111
114
106
114
155
153
121
112
109
98
86
58
135
28
45
50
60
76
82
108
118
137
171
149
186
162
164
154
150
168
165
147
138
137
172
170
153
169
128
186
169
158
166
176
172
151
153
166
203
129
164
136
23
75
105
104
137
140
99
92
153
79
115
28
31
64
93
97
104
117
99
95
120
135
128
98
57
48
67
89
87
121
96
71
79
62
71
64
83
106
94
97
69
61
125
113
108
103
91
87
81
73
76
87
107
123
126
120
113
111
112
117
122
127
131
135
133
127
117
117
132
139
131
124
128
119
115
117
115
109
101
102
106
114
140
153
161
167
176
182
178
173
121
83
82
82
107
130
131
133
132
85
86
92
107
114
113
121
144
158
170
155
143
139
138
139
137
135
133
118
122
121
107
102
90
84
93
100
116
134
120
110
113
120
117
110
100
96
105
108
107
107
107
103
102
95
101
104
103
103
108
117
114
111
98
99
92
85
88
89
88
91
89
83
94
99
133
105
47
77
60
52
57
56
44
39
39
36
37
38
34
37
37
34
35
39
41
40
40
43
51
46
47
51
45
59
62
63
68
77
82
83
80
76
76
78
78
79
69
65
64
61
56
51
48
49
49
51
51
48
46
45
42
37
33
34
43
53
59
62
65
68
76
95
111
129
132
127
111
114
111
103
113
115
108
112
109
93
73
66
71
61
56
68
49
36
52
58
74
141
121
121
122
124
102
114
64
77
114
110
143
168
171
178
137
131
123
167
162
147
153
160
124
161
173
185
138
159
169
128
157
179
166
178
169
182
190
192
164
146
92
100
121
151
166
152
128
142
163
176
153
103
110
109
149
89
109
96
74
63
95
115
139
156
143
124
88
75
88
97
120
110
94
108
63
51
62
91
87
92
89
72
64
120
105
96
96
98
94
89
87
90
102
117
127
130
126
119
121
123
130
135
140
141
140
113
115
138
152
148
139
131
129
126
111
108
107
110
110
103
106
115
122
125
132
139
157
169
183
181
148
86
85
97
114
142
139
126
146
141
53
99
129
124
119
127
128
126
152
164
145
133
132
134
139
134
127
132
120
120
119
104
100
93
87
89
97
112
136
130
124
121
119
111
109
104
107
111
108
104
106
102
104
112
101
96
98
99
96
88
83
91
88
102
110
102
103
119
109
108
112
106
94
108
116
120
89
47
74
60
75
40
49
38
35
38
37
38
39
34
39
40
35
34
39
41
39
39
45
52
47
49
52
43
58
60
60
63
70
76
77
77
75
79
81
81
84
75
70
68
65
59
53
49
48
49
51
50
47
47
47
43
38
33
31
35
42
47
53
57
61
74
84
87
102
118
127
138
139
134
124
105
95
85
103
93
79
71
72
77
67
60
59
48
55
75
78
88
73
89
110
119
143
144
121
106
107
110
99
138
154
170
166
121
132
128
177
175
161
171
169
131
162
188
205
142
178
154
137
166
188
158
162
173
167
179
191
145
138
94
83
133
121
135
135
118
126
145
168
115
79
120
102
87
57
93
61
71
76
91
97
121
121
101
76
62
90
100
93
114
89
90
107
64
59
77
95
79
84
72
72
73
126
108
97
94
87
89
90
90
91
98
110
119
128
143
146
147
146
143
138
129
114
100
126
146
151
153
159
154
134
142
129
140
141
125
115
116
105
103
98
92
92
118
144
160
142
103
70
77
160
171
150
132
113
123
135
111
80
117
113
111
115
110
100
110
136
142
145
129
134
139
134
133
130
114
122
127
127
136
133
126
162
160
128
119
122
113
112
124
130
116
104
110
104
107
137
135
110
108
118
109
97
91
104
109
101
94
98
106
117
130
126
117
111
116
129
136
127
124
124
116
124
126
120
65
38
70
77
70
64
49
36
31
34
37
42
47
42
50
51
43
41
47
50
46
35
45
50
45
47
49
38
46
48
47
50
58
64
65
74
78
88
93
91
95
89
82
80
76
69
61
55
52
47
46
44
42
43
45
43
38
35
35
39
44
49
57
64
77
82
93
93
91
90
94
96
96
98
94
72
85
107
99
85
78
83
81
68
60
63
57
52
45
44
53
55
61
57
46
75
96
79
114
126
151
136
116
153
138
156
134
106
176
177
147
161
145
134
153
103
123
171
183
175
164
159
174
124
136
170
163
161
161
163
166
159
142
83
103
133
83
88
116
145
152
134
132
106
100
48
73
88
133
74
89
62
56
99
145
164
158
138
103
74
86
88
116
119
73
65
75
52
68
72
79
83
78
91
107
81
134
121
104
94
90
93
95
105
108
108
114
126
143
161
173
150
134
135
146
149
153
156
135
142
148
152
150
144
139
147
133
125
124
120
124
128
123
121
110
112
145
123
104
65
68
86
113
134
144
147
172
152
148
129
85
88
126
119
128
130
127
128
136
137
132
134
137
123
116
121
129
131
116
114
118
122
120
117
109
135
151
134
109
118
125
120
89
112
134
141
135
123
103
112
114
119
125
123
122
128
136
137
134
130
132
130
129
133
129
131
134
130
126
133
142
142
137
138
141
129
121
118
117
66
46
69
76
57
37
43
40
40
42
43
43
45
50
51
45
44
50
44
40
50
42
42
51
46
45
47
43
41
45
48
51
54
58
59
73
72
79
89
92
100
102
104
99
89
79
74
70
56
47
48
46
44
48
53
52
47
42
45
53
57
54
57
63
72
76
87
88
87
85
84
69
72
72
70
79
80
77
61
73
73
72
84
88
88
86
84
75
65
59
57
51
57
50
56
68
81
110
128
115
85
113
167
144
170
167
145
123
121
139
154
131
124
131
151
113
107
144
178
150
141
137
176
168
178
152
141
151
169
166
148
152
132
138
134
145
73
92
138
148
141
133
121
93
81
61
76
76
54
0
91
156
145
124
80
97
146
162
121
74
104
89
87
39
75
84
73
78
70
62
81
74
81
85
78
58
137
121
104
96
89
92
101
113
113
117
126
139
151
158
141
122
126
161
185
175
156
148
141
145
147
146
146
143
143
150
138
126
127
123
124
126
133
122
111
120
127
92
66
72
92
115
125
118
118
132
142
135
127
96
68
95
135
137
145
141
126
122
129
130
123
126
132
125
123
126
126
123
119
124
136
123
117
120
122
139
136
117
103
119
123
118
105
105
117
131
129
111
116
128
132
136
141
138
136
139
145
135
125
119
124
126
125
129
133
133
137
136
133
135
141
133
130
137
151
137
128
128
113
66
46
66
77
59
29
46
44
45
48
49
49
50
51
52
48
47
50
46
44
50
36
43
48
42
38
40
39
41
44
46
49
50
53
55
70
67
71
81
90
98
99
101
99
90
75
62
57
59
54
52
48
47
51
55
53
47
47
50
58
62
61
64
69
78
79
86
89
89
84
79
72
75
75
72
69
66
62
67
70
65
63
72
78
80
84
86
86
83
80
75
67
70
60
65
80
99
126
137
122
86
129
150
145
156
169
165
133
118
136
138
129
133
124
145
108
92
122
158
144
132
114
167
184
148
142
132
150
157
167
160
158
129
135
139
157
75
110
136
132
138
120
118
85
81
90
87
69
67
41
73
75
105
107
0
81
139
136
144
115
70
49
56
87
48
69
76
79
66
59
71
65
79
79
76
75
121
109
101
102
107
116
129
139
143
147
146
134
114
102
120
127
133
129
122
125
135
142
141
141
135
132
134
142
148
147
143
137
138
140
145
151
150
129
108
97
95
107
118
97
92
83
85
100
123
118
106
91
80
106
136
129
111
127
112
107
118
123
124
131
144
163
141
127
118
115
113
110
104
108
116
118
132
147
151
149
139
133
140
144
123
121
105
109
115
120
128
139
152
146
144
139
126
114
109
109
112
125
124
117
116
117
125
136
144
142
140
139
136
132
127
132
129
136
144
120
117
122
77
56
50
59
62
59
44
45
43
44
48
49
48
49
49
48
49
48
46
46
46
43
29
47
47
45
42
43
48
42
42
46
52
50
51
56
58
65
66
69
76
80
94
103
104
99
87
75
69
64
63
57
49
46
46
47
50
51
46
51
58
64
68
72
76
76
81
86
82
78
77
78
72
72
73
72
67
69
73
66
60
58
63
68
73
73
77
79
82
84
81
75
70
74
78
85
88
87
92
101
102
120
111
87
184
112
155
103
89
137
159
137
135
137
144
151
151
140
162
173
171
160
155
171
176
138
192
161
133
177
166
139
139
122
137
136
151
108
145
176
137
126
142
93
75
96
60
43
59
93
80
66
60
79
106
61
77
151
152
88
107
141
164
112
21
27
54
91
102
97
94
85
79
70
60
61
70
116
121
122
120
141
151
153
146
138
131
125
114
105
120
130
132
140
145
142
133
128
128
128
125
122
125
132
143
151
147
141
143
151
152
143
130
93
87
95
108
146
147
128
104
107
102
93
100
119
112
80
75
104
122
105
102
115
133
136
146
164
184
191
176
157
114
126
130
129
123
117
113
115
112
113
130
152
160
151
154
144
142
144
136
122
120
98
108
110
105
110
127
144
143
145
139
125
113
111
112
111
124
130
127
124
121
126
141
143
148
145
140
137
131
125
97
107
116
117
125
137
142
79
65
53
45
45
51
38
40
39
40
43
43
40
39
41
39
44
43
36
40
43
33
25
37
31
35
36
35
41
40
37
39
44
36
35
40
42
51
46
47
60
63
80
84
90
93
87
79
72
63
63
64
67
66
58
49
50
57
58
61
63
66
70
73
73
84
88
91
88
86
85
84
88
87
87
85
65
64
68
70
61
65
72
69
72
80
72
72
77
83
85
84
89
99
100
102
113
121
109
82
63
48
88
140
140
170
158
120
143
137
139
152
133
127
139
146
158
135
154
168
183
160
140
171
121
126
158
161
143
134
144
146
151
100
83
94
145
106
139
183
149
143
175
150
117
99
158
159
116
121
128
52
112
119
76
45
22
98
101
122
139
139
127
171
133
118
71
55
48
62
86
80
87
63
73
91
91
120
131
134
127
152
159
156
129
122
119
125
124
120
137
136
132
141
151
140
117
110
120
116
117
118
125
137
150
161
154
149
159
164
149
115
81
74
87
111
130
155
150
125
97
109
117
120
128
125
105
63
105
120
112
120
131
126
132
148
156
163
189
215
201
168
140
133
125
117
108
105
106
102
100
102
122
143
147
134
152
140
133
130
122
120
119
103
111
120
124
126
131
145
139
143
139
125
114
111
110
107
128
133
130
126
123
128
139
149
156
148
139
134
129
121
107
120
125
116
118
127
127
82
66
50
39
41
52
37
39
38
39
42
41
38
36
33
31
37
36
28
32
36
24
22
31
23
28
29
27
33
38
34
36
38
28
25
30
31
37
29
32
51
53
69
75
86
94
91
83
80
82
70
75
81
79
65
49
45
50
59
63
66
70
76
80
80
99
97
93
92
89
83
77
75
77
83
86
74
74
79
88
75
75
76
65
65
74
82
81
84
88
86
83
86
105
111
113
119
122
107
86
76
65
112
77
92
111
102
121
138
126
143
184
190
174
138
130
135
102
126
152
183
156
149
190
116
128
146
166
147
149
145
144
164
129
107
100
137
70
151
209
166
153
164
171
121
144
90
83
113
151
129
74
101
99
42
59
66
113
146
136
112
137
156
210
163
131
76
55
36
41
64
71
98
66
80
98
88
140
151
160
154
121
106
97
113
111
120
128
126
129
149
150
144
136
127
121
127
144
161
131
142
156
155
145
143
145
142
155
146
115
97
105
122
131
122
120
121
108
108
110
133
128
127
137
150
116
98
110
125
134
131
135
143
139
128
127
144
155
148
151
154
140
140
118
117
114
110
108
111
111
109
110
127
129
125
120
117
113
111
125
138
121
131
122
123
125
126
124
123
133
143
144
133
121
122
126
128
131
136
132
130
128
126
123
120
124
126
125
124
123
123
123
116
122
112
126
107
128
107
70
63
50
41
44
42
42
39
37
35
36
35
34
32
26
31
36
34
32
34
36
36
32
30
30
30
32
33
34
38
34
33
30
26
33
45
38
34
36
37
36
36
28
35
49
59
66
74
75
81
91
92
92
90
89
83
71
60
61
69
73
77
83
92
99
101
102
97
96
96
94
91
94
93
89
82
71
75
80
71
70
72
70
62
63
69
81
85
90
94
95
94
93
101
107
110
112
118
122
113
99
97
94
88
76
66
81
110
102
111
115
112
112
113
110
140
134
122
115
116
123
121
133
137
108
139
171
169
186
174
161
151
145
123
91
103
151
84
142
185
174
161
150
144
124
106
83
119
149
160
167
161
127
115
93
6
69
134
132
133
149
147
158
187
137
95
84
64
50
56
75
75
57
108
116
114
117
137
133
126
119
132
138
141
120
116
123
131
130
132
131
142
139
136
133
127
119
114
114
123
126
125
115
116
144
170
175
136
99
114
123
128
130
123
131
133
133
133
133
137
130
141
146
148
147
110
99
112
116
113
109
125
149
163
144
129
123
125
119
125
144
155
141
131
131
125
114
107
107
100
94
95
107
105
111
122
127
119
123
143
155
127
123
131
131
131
127
120
120
143
148
142
133
132
138
138
137
143
138
128
127
131
133
131
130
133
141
129
122
125
126
121
142
163
152
140
118
136
90
72
64
49
38
39
41
49
44
41
38
35
35
32
29
35
34
30
27
27
28
27
24
31
31
31
31
31
32
32
37
38
33
31
45
54
53
63
55
50
45
40
52
51
44
43
37
36
50
64
87
110
114
117
116
115
108
95
86
97
122
149
162
157
138
122
106
107
105
105
109
105
99
89
90
93
92
87
85
84
86
84
88
88
82
82
83
80
84
91
95
97
99
102
104
108
109
108
111
116
118
116
110
93
79
81
91
102
112
118
121
125
132
134
133
133
129
142
147
129
109
109
114
118
111
102
112
97
84
94
61
73
66
69
87
74
56
71
85
98
91
97
105
92
93
88
109
107
104
117
138
151
168
177
138
68
78
111
125
143
134
157
164
155
148
46
7
43
75
90
83
59
55
82
67
62
78
99
130
127
124
124
134
131
122
121
120
127
133
127
123
125
128
122
117
117
117
119
123
128
130
125
115
116
140
162
167
120
97
99
124
134
135
133
136
150
153
142
129
127
133
139
143
144
146
144
110
105
122
135
147
150
158
167
168
147
137
125
121
128
142
148
140
128
132
136
128
116
113
117
106
107
114
124
123
131
143
149
133
130
143
146
123
119
130
134
138
137
131
129
147
145
152
143
127
126
129
127
125
121
116
121
128
132
137
142
146
151
134
125
123
120
114
120
144
137
122
108
140
99
75
65
46
38
43
47
45
41
39
36
34
33
33
30
35
34
30
25
26
27
26
22
28
29
29
29
28
28
28
32
35
32
34
51
60
58
64
58
55
49
43
49
47
72
70
58
44
41
40
49
54
76
108
128
133
118
93
72
81
110
137
153
160
163
163
143
132
101
94
92
90
84
107
102
99
96
94
89
85
96
93
93
93
88
90
94
93
92
93
96
102
105
105
107
104
100
99
103
108
109
108
101
84
75
85
99
104
106
120
119
121
122
122
122
122
126
129
135
140
133
113
118
125
119
121
129
114
108
119
110
113
93
81
89
81
71
81
86
109
112
111
103
82
91
75
89
89
97
125
137
130
157
160
105
62
119
106
98
126
121
139
114
73
67
39
66
42
30
57
86
80
67
75
74
66
77
91
74
94
115
121
115
110
109
109
104
101
97
87
86
109
112
116
122
128
125
118
113
111
119
118
118
124
131
117
89
86
105
117
112
116
123
127
169
181
164
138
137
132
136
150
138
131
136
131
120
147
173
163
143
124
126
140
154
147
142
135
137
141
132
119
113
118
124
137
143
139
134
136
115
133
145
131
134
143
147
153
132
129
137
130
120
118
114
119
128
136
137
135
138
152
148
134
122
121
117
111
111
109
117
123
118
113
120
133
139
130
132
133
122
114
113
126
126
121
128
96
126
86
70
63
50
43
46
42
34
38
36
33
32
31
29
27
23
28
32
29
26
27
28
28
26
27
27
27
26
24
23
27
29
32
40
47
52
55
57
55
58
55
48
49
46
31
35
37
42
55
60
60
73
71
67
60
58
62
68
71
74
101
113
109
108
118
129
111
107
110
130
155
174
179
171
166
159
147
124
119
117
115
111
113
114
111
113
112
122
121
118
118
118
119
120
117
114
110
105
102
103
108
114
111
113
106
102
100
109
124
104
102
102
100
100
107
118
125
122
123
127
127
113
108
100
105
112
116
122
122
114
111
112
124
119
96
91
107
116
104
121
112
93
92
87
92
68
46
101
118
109
98
89
93
60
54
79
130
122
90
52
42
69
72
63
87
23
50
77
111
104
83
103
117
92
86
86
72
68
86
84
96
113
111
111
112
98
112
119
112
97
92
105
108
109
114
114
113
118
117
111
116
102
91
85
82
89
105
112
104
128
144
148
144
146
152
150
146
143
156
160
159
156
191
173
120
106
139
150
156
156
137
119
130
158
160
128
126
115
105
104
116
126
131
127
136
140
137
130
143
143
152
139
135
144
149
148
140
129
121
120
125
126
120
125
113
112
109
118
129
123
140
147
142
137
129
116
108
116
129
132
106
116
143
138
131
130
128
124
132
142
133
118
117
121
105
102
93
100
126
99
65
49
46
42
35
39
38
38
37
37
36
30
23
23
21
30
33
29
24
27
31
34
33
25
26
26
23
25
30
35
29
29
44
39
32
29
30
54
64
59
56
47
59
56
46
42
44
47
51
78
72
79
84
86
82
90
114
137
146
151
159
157
144
121
102
85
90
95
101
105
100
91
71
72
69
61
61
61
56
65
61
72
96
106
99
100
85
81
71
68
70
68
68
69
79
98
110
108
105
104
99
102
122
134
115
102
123
127
106
150
154
151
152
174
141
125
153
162
145
164
155
155
159
125
104
115
144
124
90
134
133
130
126
113
112
122
127
91
100
103
79
77
66
37
0
64
134
101
85
108
87
97
79
96
99
114
89
77
38
77
86
86
76
96
96
112
93
108
81
51
68
75
79
50
57
92
100
93
96
108
114
100
109
117
126
120
109
100
98
102
101
117
104
102
107
103
101
100
100
114
102
85
79
89
103
116
107
105
128
136
134
130
132
147
153
155
150
147
154
159
135
129
113
108
114
102
114
128
128
127
129
125
118
117
126
123
119
123
132
141
139
133
147
155
164
152
128
140
150
133
135
140
127
120
119
115
125
120
119
124
125
119
122
122
114
104
107
116
119
150
143
120
105
113
130
136
131
124
174
192
191
163
133
137
148
150
157
153
143
136
139
143
139
131
129
111
90
122
104
71
52
40
38
39
46
34
44
39
36
36
37
32
30
28
25
23
28
37
44
41
34
31
34
34
32
31
36
43
37
36
37
42
41
40
42
41
49
50
46
48
51
60
62
58
52
48
54
59
50
48
50
60
77
94
108
119
129
138
134
130
123
109
91
79
92
102
106
96
93
94
93
95
92
85
82
74
59
44
60
68
78
87
94
101
112
82
84
81
78
78
72
71
69
68
60
52
61
80
88
81
83
132
154
154
154
172
167
143
123
129
156
143
167
146
119
136
148
120
107
147
160
147
135
129
116
131
152
126
157
178
173
145
111
116
154
158
115
95
90
102
85
30
12
79
92
103
90
56
64
86
108
71
74
74
93
67
47
47
36
54
58
54
71
110
103
113
129
103
80
90
91
90
64
54
66
90
97
97
105
108
100
109
117
97
97
96
94
98
104
107
115
103
103
108
105
101
111
118
144
107
77
78
95
103
101
97
104
132
136
133
128
130
140
145
147
141
140
146
150
136
122
108
112
119
102
111
115
115
114
110
110
113
119
135
130
124
125
130
134
136
133
138
162
183
165
127
125
131
132
131
131
110
108
111
109
122
115
110
110
112
116
120
116
108
102
105
111
115
139
126
120
117
119
118
113
113
117
210
195
178
162
126
134
170
170
159
136
135
143
142
134
132
124
124
104
90
123
106
68
54
40
36
40
45
36
45
39
35
35
36
35
32
31
29
27
30
41
47
44
36
34
40
37
31
29
34
40
36
39
42
45
46
50
54
54
53
50
48
49
49
52
54
57
55
48
51
60
53
50
55
66
83
98
105
110
113
126
125
122
117
107
94
85
94
100
103
99
98
101
105
86
81
78
77
73
62
52
64
77
88
94
101
108
95
84
88
88
86
83
76
75
78
87
74
60
86
121
112
77
58
140
165
165
161
177
176
169
143
163
164
132
131
94
99
88
125
163
177
178
189
167
153
148
121
116
145
142
132
133
118
120
109
111
139
126
69
60
68
92
80
36
25
50
67
71
80
62
45
48
95
53
62
68
97
91
83
68
47
62
47
38
62
107
111
125
121
90
80
91
93
93
92
84
77
86
85
90
105
117
114
111
102
84
97
109
114
113
107
93
94
97
107
110
100
102
112
116
116
108
98
100
102
100
98
101
110
127
127
124
118
119
135
134
131
124
128
132
133
133
127
114
102
98
111
108
114
124
120
111
116
133
131
111
117
124
129
126
119
118
122
162
160
168
151
116
111
108
106
107
112
119
126
124
111
102
101
101
104
107
111
111
120
115
119
124
120
118
116
120
117
118
122
123
129
147
165
174
177
165
126
93
106
110
100
85
104
109
126
147
153
129
113
105
90
88
121
98
62
57
45
36
39
37
40
38
33
32
32
32
30
32
32
37
41
40
38
39
41
39
29
39
36
34
36
40
42
29
35
40
44
50
55
58
62
52
54
61
60
56
51
51
55
53
42
35
37
50
36
48
69
85
92
92
94
98
104
104
98
87
71
59
52
72
67
76
83
78
69
60
80
77
78
78
75
76
80
76
77
79
90
113
131
117
110
109
101
93
87
77
74
124
119
117
132
143
132
136
166
173
171
180
188
182
188
189
193
171
181
129
137
166
170
199
179
164
146
158
175
162
179
167
174
163
140
126
127
113
93
79
131
124
88
108
83
57
67
73
69
61
52
63
92
61
117
58
34
44
50
40
29
87
120
126
128
135
131
139
132
82
56
74
100
87
118
101
99
123
109
86
75
74
70
82
103
92
106
125
131
119
117
113
118
108
100
112
134
140
93
86
104
125
132
137
142
130
105
92
82
92
114
121
119
121
130
128
124
126
136
146
151
148
153
148
133
120
130
139
139
115
102
105
103
110
117
109
102
104
113
116
111
114
114
118
132
149
151
141
128
120
132
112
116
117
111
114
104
112
112
111
98
105
107
98
101
103
105
108
114
121
120
131
120
118
114
102
102
102
85
93
108
121
119
107
98
98
72
65
87
76
65
90
95
115
100
148
134
113
105
98
121
108
103
87
84
121
103
66
57
37
30
41
42
34
36
34
33
34
30
28
31
33
35
38
39
42
44
41
35
38
41
37
37
40
39
35
42
47
49
51
56
56
52
75
58
58
63
56
54
49
64
55
50
51
49
42
47
54
63
83
105
121
127
130
132
123
125
120
111
103
98
97
88
87
101
107
98
86
78
70
62
60
67
74
69
67
74
74
82
97
109
109
96
107
101
90
85
89
89
92
90
112
110
104
120
123
108
103
119
134
139
121
80
80
99
116
106
131
109
98
104
136
94
127
143
127
131
112
130
146
134
121
111
120
101
74
126
129
119
158
129
78
85
27
57
49
40
62
48
38
99
76
104
106
80
70
52
72
77
51
94
102
57
65
78
86
123
116
107
86
70
107
118
139
87
80
111
96
99
124
67
67
81
76
108
126
141
145
136
133
133
127
119
112
114
119
122
108
112
113
113
114
125
132
119
101
85
99
107
113
121
130
135
136
129
121
143
157
156
150
148
143
140
138
145
144
132
139
129
116
109
105
109
114
111
110
109
108
113
119
121
121
118
131
151
153
135
117
111
112
115
115
110
108
106
101
95
101
95
105
104
94
94
95
119
117
100
105
126
131
123
116
107
99
93
88
85
88
89
91
91
92
92
90
85
69
66
67
76
89
100
105
100
112
142
136
117
117
139
147
132
116
96
116
134
97
74
51
42
47
50
44
47
39
32
30
28
25
30
41
37
38
41
42
42
40
41
40
42
39
39
37
34
34
36
42
49
49
49
54
57
63
63
60
58
57
58
52
48
50
49
53
53
45
43
43
43
60
80
92
101
108
112
113
107
101
104
108
109
110
112
79
80
111
111
108
106
103
105
92
99
88
83
85
69
89
110
118
129
131
136
130
119
96
85
78
59
61
91
131
118
125
143
144
136
120
98
125
118
98
93
118
119
133
170
132
120
115
131
172
130
151
198
174
152
184
120
148
140
138
146
152
157
148
104
84
115
119
98
95
73
33
42
50
60
46
105
41
74
63
90
92
130
99
93
68
96
85
86
31
69
35
77
75
110
111
121
120
99
85
81
122
123
92
93
122
119
106
98
78
86
92
101
127
128
125
121
126
128
128
143
138
129
118
115
115
104
113
118
112
90
76
76
80
81
97
96
101
115
132
141
144
112
127
138
135
125
119
124
130
133
137
146
157
145
131
147
147
146
144
136
129
134
131
122
114
116
126
134
128
114
105
104
115
123
123
127
136
124
122
125
122
120
116
106
117
120
113
114
117
117
124
138
131
117
110
117
99
88
83
94
93
84
94
120
116
112
112
110
106
103
105
108
111
94
96
100
106
108
107
103
100
105
108
123
130
131
134
125
133
147
136
121
130
97
69
49
42
46
44
38
39
22
20
29
37
40
43
45
40
40
42
41
40
39
39
38
43
37
40
43
41
39
39
46
52
50
48
48
47
50
58
58
59
61
62
57
54
53
51
53
52
45
42
39
61
80
98
102
102
105
107
107
104
102
99
87
73
68
73
81
94
116
106
98
104
113
85
82
76
55
60
62
63
74
85
82
88
91
100
104
131
127
115
112
115
102
93
122
119
113
104
107
134
153
151
172
161
181
197
184
139
112
155
199
199
150
161
190
190
161
137
112
122
152
149
149
147
123
123
122
134
150
129
73
49
75
91
63
70
72
29
60
55
112
49
46
38
52
56
87
54
47
85
97
70
72
67
77
89
37
72
77
76
93
100
99
97
88
87
112
130
104
69
48
46
66
76
58
79
116
122
135
137
131
115
99
102
107
100
109
117
117
121
129
124
122
101
92
103
100
83
83
98
107
114
119
123
128
128
126
122
129
131
124
108
102
110
101
104
103
109
121
115
116
128
133
142
140
129
111
114
112
118
124
126
128
126
120
102
112
125
127
122
122
133
144
136
129
128
126
126
126
120
120
118
119
110
99
91
89
91
97
111
120
118
123
136
111
109
114
123
121
108
106
99
93
93
107
119
124
124
123
126
129
129
121
113
115
122
109
111
129
124
106
110
135
132
121
115
103
97
121
102
53
40
37
42
41
39
38
38
35
41
45
43
42
40
42
41
42
40
39
38
39
38
38
36
41
44
43
41
41
46
50
46
45
46
44
45
50
53
58
62
65
67
67
51
48
49
49
44
43
37
65
95
117
119
112
111
105
98
86
91
93
81
65
62
71
97
94
87
103
106
96
91
98
99
96
74
70
71
76
79
75
62
70
82
97
105
116
118
97
91
110
106
91
111
107
111
120
110
94
106
137
157
166
131
139
149
168
140
135
161
187
212
156
128
172
174
172
144
103
97
149
141
144
151
143
125
169
176
130
154
185
167
154
148
127
115
105
80
55
42
41
57
36
30
46
29
54
94
117
133
117
93
90
80
55
56
38
67
75
92
98
96
102
107
125
134
106
91
88
60
61
96
97
57
96
116
103
127
134
132
120
103
106
112
110
113
109
97
97
105
105
103
85
79
93
100
93
95
109
113
116
116
119
129
136
139
129
128
127
125
114
105
108
114
119
114
112
111
100
106
117
123
129
129
118
100
103
103
116
127
129
125
124
124
104
113
121
118
113
116
128
139
128
129
129
125
123
125
120
124
111
109
106
106
115
121
125
120
125
129
123
124
122
107
105
122
140
132
106
110
104
91
85
93
107
116
124
132
132
133
131
120
109
109
118
113
113
116
102
87
97
125
98
95
96
76
62
104
107
48
37
36
41
40
41
38
34
32
38
40
36
35
37
32
31
32
30
29
28
30
31
33
36
40
42
39
39
40
43
46
42
44
48
48
50
52
55
58
60
61
64
66
51
47
49
51
48
48
43
79
106
125
123
116
110
100
88
88
88
91
81
65
59
67
79
92
97
110
109
99
100
101
95
101
85
87
103
105
67
77
75
80
76
78
96
127
124
105
94
105
108
102
106
99
106
125
116
87
93
132
206
80
87
110
115
125
131
192
165
163
157
120
122
191
155
185
151
92
96
134
134
154
164
156
113
136
134
94
168
167
111
123
165
152
145
152
98
79
52
81
60
42
49
70
56
67
89
112
112
101
90
78
88
75
39
40
48
82
92
103
102
99
108
124
111
121
108
95
91
96
95
62
73
87
96
99
118
119
116
108
105
107
106
102
107
104
98
106
122
117
136
157
148
103
83
107
126
124
116
109
108
117
129
127
123
100
100
117
124
110
91
87
109
118
115
114
112
110
129
125
128
131
132
125
118
122
125
130
128
117
108
105
109
95
98
99
100
107
115
111
101
119
144
151
143
134
130
125
110
96
104
124
130
137
137
140
142
149
144
137
163
159
144
154
161
152
136
130
152
161
156
155
154
148
143
153
168
158
152
152
147
130
117
112
104
126
102
104
120
114
94
118
112
116
107
86
112
104
46
40
40
42
40
40
36
34
37
46
45
34
28
31
32
31
31
30
30
31
34
35
26
37
40
35
30
32
38
36
38
33
44
54
58
62
74
74
72
67
62
61
64
54
50
53
57
58
61
57
92
113
125
119
114
113
105
89
85
77
81
80
64
58
62
92
102
82
96
100
95
102
108
96
127
122
82
91
62
74
75
74
96
112
117
106
107
102
103
97
91
103
112
108
109
103
101
99
94
116
156
85
116
102
128
162
159
92
100
90
135
127
146
145
138
157
135
128
117
111
144
91
121
97
137
144
170
185
134
130
45
33
135
133
84
128
151
100
136
124
100
103
99
101
63
62
114
87
82
73
117
114
121
83
80
52
49
74
84
80
104
107
79
89
84
122
117
107
103
85
78
69
24
64
72
86
92
111
107
110
107
82
90
101
112
109
96
95
114
128
139
145
143
121
102
113
126
127
126
113
108
110
116
124
122
120
106
108
125
131
118
103
99
108
118
130
132
117
116
113
102
102
107
113
118
123
106
112
116
114
110
118
126
130
119
117
109
109
117
122
127
140
124
114
104
101
99
99
98
104
103
108
112
115
117
117
122
140
144
129
121
143
148
150
148
137
127
129
131
141
140
148
154
147
137
128
119
112
113
114
108
106
117
128
123
116
113
118
122
120
115
110
117
123
110
106
89
121
95
46
42
38
36
39
40
42
33
33
34
33
30
28
30
34
30
35
36
31
31
34
30
28
36
35
34
35
34
32
37
42
42
48
62
68
65
68
74
77
74
71
67
63
70
66
63
65
68
67
62
99
132
139
125
122
115
102
100
92
95
90
80
77
83
91
93
102
97
98
108
113
109
109
103
100
95
86
81
70
84
116
124
124
100
65
89
95
91
117
90
107
119
149
54
135
164
104
97
147
192
146
133
100
62
108
139
129
158
151
162
165
142
154
164
164
171
171
169
129
124
153
148
105
85
159
142
127
119
104
156
103
103
136
95
134
117
103
0
18
84
108
98
145
151
133
92
124
96
95
82
121
126
116
85
70
90
69
58
89
96
98
104
111
111
137
105
119
121
127
94
105
61
53
103
123
130
93
108
108
107
93
77
98
112
108
103
91
99
121
127
138
141
123
102
103
121
128
125
126
123
114
120
125
124
123
125
112
108
98
97
88
81
87
103
122
133
122
116
115
103
121
127
131
133
141
128
93
92
102
106
109
117
121
120
103
101
92
89
100
111
116
120
111
109
108
108
104
100
96
108
104
119
119
127
132
109
116
143
137
116
117
133
139
151
137
120
111
113
111
128
145
144
134
115
112
119
117
106
119
108
97
91
99
104
100
103
102
112
115
114
108
102
118
113
101
102
89
127
88
46
41
37
35
39
40
42
32
33
33
32
29
27
29
39
33
33
34
32
33
36
30
34
38
37
39
41
38
34
40
43
44
50
62
68
66
68
73
77
76
74
72
69
73
68
65
65
64
62
67
106
138
150
137
126
115
100
96
94
99
89
80
84
95
102
90
104
105
101
102
100
94
86
87
84
71
74
84
81
106
115
98
86
68
52
95
114
103
112
90
124
142
169
150
158
150
117
174
186
157
125
140
100
96
100
124
148
132
145
151
182
167
175
173
164
147
165
181
104
129
147
160
120
120
147
128
167
151
97
109
117
83
96
67
136
120
113
112
87
82
67
95
108
131
167
134
114
96
89
93
122
89
109
99
85
106
77
53
88
82
87
101
107
113
121
124
132
153
155
112
108
83
81
117
126
113
69
91
91
93
94
113
117
104
118
117
114
123
129
115
136
125
94
81
104
125
128
129
133
124
121
118
101
81
78
88
97
104
113
116
115
117
126
117
138
129
99
119
123
115
107
107
116
118
104
81
75
77
91
100
113
120
117
111
137
140
134
127
134
136
121
106
124
107
103
101
101
103
108
123
147
151
142
137
120
114
119
108
100
113
124
108
143
115
106
100
104
105
106
158
188
156
129
129
133
124
118
121
104
99
96
94
100
103
98
96
94
90
88
86
84
82
78
73
72
75
79
125
77
46
43
38
39
42
45
52
35
36
38
38
37
37
40
46
36
34
34
33
37
40
34
40
41
42
45
48
44
38
41
42
42
51
61
66
68
67
69
72
74
74
72
74
74
68
65
66
64
63
85
136
146
148
141
132
122
107
91
95
88
78
76
81
83
79
115
121
118
110
101
88
76
68
73
74
69
101
115
107
82
90
90
102
103
98
109
127
141
91
140
172
148
91
142
93
125
56
83
65
99
92
95
107
124
84
88
148
132
73
125
152
168
138
139
170
139
132
198
160
176
164
172
93
159
188
171
115
135
145
71
155
105
124
94
109
109
98
45
34
83
78
41
78
97
70
107
110
117
125
142
129
127
113
84
85
123
94
73
97
78
84
96
98
114
143
147
137
159
151
146
138
106
64
96
98
129
123
108
106
108
101
99
117
125
108
110
105
112
125
126
142
125
122
129
134
127
127
124
108
88
99
101
95
86
79
76
91
99
105
112
114
112
114
127
131
116
109
113
95
93
108
106
109
108
101
96
91
102
107
109
112
116
117
122
134
127
119
119
128
128
125
128
111
114
121
121
111
101
101
140
144
140
131
124
118
119
112
114
119
108
91
116
98
101
98
90
87
92
104
167
158
124
98
99
98
88
86
95
76
78
81
85
94
108
113
100
97
90
90
91
95
98
87
95
75
76
106
125
69
43
40
36
38
42
51
58
39
40
41
40
38
36
39
41
36
39
39
36
38
44
42
37
45
44
43
44
43
41
43
42
43
57
65
72
76
79
78
79
82
80
75
79
80
70
66
70
72
71
93
153
155
153
148
139
134
125
110
99
100
101
94
81
82
90
110
123
127
110
95
87
85
74
70
74
85
99
90
71
102
93
82
94
103
117
126
152
133
94
107
159
109
147
150
159
132
151
150
131
110
125
95
120
122
103
106
92
64
166
192
130
178
116
170
193
176
149
146
173
154
185
189
198
149
133
144
99
112
108
154
73
89
64
121
177
139
110
136
91
147
152
147
49
23
67
57
50
49
90
131
143
130
141
140
134
92
70
77
68
77
88
108
125
124
123
159
141
145
119
143
113
95
94
85
96
130
119
100
94
100
104
104
109
111
108
112
114
125
145
145
136
125
127
129
113
93
93
90
73
91
93
92
95
101
99
94
101
111
122
130
131
126
123
142
135
114
111
109
89
92
106
108
108
103
103
105
81
96
102
110
116
120
115
115
135
126
118
119
121
114
107
110
110
101
105
108
104
104
110
149
131
134
127
126
131
122
125
104
104
103
96
123
83
104
103
95
89
90
98
135
105
97
93
100
107
102
92
87
77
85
91
87
88
91
94
102
100
92
91
90
93
95
76
85
58
59
106
114
53
40
37
34
36
43
50
60
46
46
47
44
40
38
39
38
36
41
41
37
39
45
44
35
46
44
42
42
42
41
39
37
39
55
62
69
75
81
78
79
82
79
73
77
71
60
57
65
71
72
96
154
156
161
154
142
136
131
119
93
89
102
107
95
87
86
116
133
134
106
82
73
74
71
75
85
87
74
82
88
72
86
99
113
105
105
123
142
141
95
143
120
96
107
143
170
174
176
174
143
149
116
124
133
99
91
109
97
110
187
160
82
187
89
158
186
162
155
124
167
141
161
156
200
127
124
122
110
165
114
163
138
136
101
195
182
127
91
114
109
141
151
109
84
78
38
44
53
52
116
141
123
137
139
125
118
113
86
79
79
87
85
98
124
125
127
114
126
134
95
143
129
100
76
99
109
119
89
100
114
117
114
101
105
121
147
143
126
116
115
113
87
66
64
69
80
86
88
94
105
99
108
117
126
128
125
121
133
137
138
146
150
155
161
154
127
110
114
116
105
102
108
113
117
118
115
107
104
111
112
110
103
101
102
107
129
122
119
118
112
103
106
114
111
118
118
120
126
128
126
123
123
123
124
123
121
120
115
111
103
99
109
114
98
102
109
111
107
108
113
108
85
86
84
88
99
101
97
97
110
116
119
118
113
107
103
105
112
128
124
110
94
83
99
88
83
68
111
114
63
47
43
43
44
39
42
34
44
47
47
44
44
47
46
44
43
43
44
42
40
42
46
46
53
51
49
49
47
45
45
44
45
53
58
66
75
79
72
74
73
71
77
63
72
78
80
79
81
83
113
164
164
163
162
155
146
136
131
109
101
102
94
81
76
82
69
109
123
104
111
134
121
76
87
91
74
69
90
95
99
110
113
104
104
111
79
104
116
112
165
173
163
164
129
87
53
66
104
121
120
119
123
154
135
158
146
131
167
151
131
107
169
144
135
182
147
84
122
183
135
139
164
136
117
97
111
134
128
152
98
82
104
101
88
131
160
140
152
158
163
178
162
118
70
130
101
90
120
131
113
121
134
93
85
72
71
128
137
136
126
122
104
83
86
129
92
100
80
94
147
140
103
102
103
113
108
118
43
54
65
72
80
89
99
92
85
80
74
66
66
84
79
88
105
116
119
112
109
110
118
108
109
117
125
132
136
129
125
127
127
130
128
125
123
120
115
110
121
122
118
123
122
121
123
122
111
107
107
108
103
94
87
88
92
110
117
118
111
110
118
123
123
119
119
119
126
130
123
112
114
114
112
106
104
105
105
109
109
111
117
119
99
91
99
98
93
88
88
92
88
82
87
87
89
97
97
95
97
112
116
120
120
115
108
102
109
110
112
110
106
102
100
103
99
88
72
104
96
56
50
47
51
52
44
43
45
45
48
50
51
51
49
47
44
43
44
46
45
44
46
51
42
49
47
45
46
46
44
43
39
37
44
51
63
73
84
83
86
84
80
77
76
79
81
78
77
84
92
118
164
170
171
163
154
150
149
149
119
105
101
97
93
92
97
127
115
117
120
102
94
76
101
63
48
61
63
79
103
115
111
107
89
78
92
111
154
185
136
130
149
152
128
146
139
109
101
134
146
129
115
120
46
52
130
118
92
153
142
111
129
143
156
182
172
109
104
139
148
154
164
138
169
187
115
108
90
97
90
103
99
154
123
75
130
158
136
119
153
141
112
115
98
94
97
81
64
61
42
52
52
63
71
73
75
58
51
67
75
93
105
125
131
125
74
97
97
97
131
162
120
70
80
93
103
96
100
77
75
77
79
88
91
91
97
78
63
52
49
67
110
77
84
97
109
113
114
117
120
114
117
123
125
126
126
124
131
123
133
134
136
132
118
107
114
114
108
110
114
111
124
118
117
121
120
111
111
116
119
118
108
101
100
102
111
120
122
113
111
117
120
116
121
109
120
124
114
106
107
109
110
111
104
100
99
99
99
99
103
109
111
101
98
104
97
88
85
88
91
80
81
88
90
92
96
93
88
91
110
110
107
102
100
103
107
99
103
112
111
105
97
92
108
108
96
80
104
87
53
52
47
51
55
46
45
48
49
49
50
51
50
46
43
47
45
44
45
43
41
42
46
41
47
44
42
43
43
42
42
39
37
44
53
66
77
78
79
80
80
78
74
77
81
80
74
75
85
95
125
157
165
168
159
150
145
144
143
119
109
103
98
94
100
108
126
132
123
98
67
76
86
59
61
91
113
71
85
115
121
93
72
59
68
110
162
147
125
107
167
156
111
107
153
112
120
139
124
133
146
119
106
53
130
169
110
92
159
154
112
89
156
169
166
169
132
153
141
146
154
166
163
190
120
115
140
89
128
103
86
109
155
128
94
120
121
107
87
136
133
110
116
100
95
94
131
106
74
70
52
56
84
91
51
24
55
56
87
82
91
92
119
144
152
116
94
80
75
111
145
112
76
91
89
101
93
88
89
84
89
92
107
113
102
94
81
81
83
96
121
92
85
83
85
89
99
105
108
107
121
115
113
116
119
120
117
111
113
158
158
164
166
151
132
122
111
106
110
114
118
120
110
107
111
113
104
105
106
118
126
125
117
113
112
119
124
129
128
124
120
117
115
115
115
119
110
96
94
102
104
106
106
96
93
95
98
91
96
94
90
96
111
104
96
93
91
89
87
82
75
90
97
98
96
96
94
95
103
104
99
93
90
91
96
101
107
99
80
81
90
103
112
115
119
100
83
106
84
66
55
44
46
53
50
47
47
53
50
49
51
49
45
43
49
47
46
46
43
40
40
44
48
51
47
44
44
44
42
42
38
37
42
48
59
68
86
88
82
84
93
91
101
92
92
88
91
97
99
114
132
145
155
154
152
151
148
140
114
106
103
102
102
101
103
111
110
81
93
97
104
97
140
132
117
98
96
97
82
109
89
94
105
104
109
87
99
139
171
185
132
149
170
117
91
106
128
118
124
143
136
104
156
96
91
125
114
68
168
137
149
189
187
184
168
200
157
131
139
162
165
161
99
108
115
66
66
62
64
104
120
90
93
97
86
117
121
174
158
125
125
128
118
96
159
159
100
90
96
99
73
82
39
29
36
55
80
67
86
108
101
123
116
110
161
170
140
90
71
77
67
59
76
76
103
103
89
130
109
93
85
54
51
63
78
83
97
96
100
137
102
98
108
113
111
112
113
113
117
119
124
123
119
111
110
119
123
144
179
159
166
183
178
129
123
133
155
145
123
111
106
102
109
119
112
91
100
105
117
120
119
124
115
107
109
111
112
113
120
133
144
149
151
147
128
101
84
88
100
103
104
103
99
103
107
108
109
116
100
92
110
103
102
108
107
106
107
108
108
105
109
105
102
102
101
100
102
105
95
91
93
94
93
96
102
83
73
80
84
80
83
93
107
103
92
73
120
75
58
58
55
38
60
61
46
61
53
57
54
52
54
50
45
48
46
48
47
41
42
45
42
47
35
40
43
38
42
30
38
33
35
37
48
67
78
84
79
80
86
93
102
107
100
108
91
80
97
101
86
125
119
113
108
108
112
122
130
97
97
104
103
96
114
152
128
103
138
99
94
116
105
117
108
111
106
86
94
92
80
94
101
119
122
114
124
123
135
124
167
178
135
131
67
77
127
155
159
135
109
153
154
95
97
165
172
79
79
134
221
154
180
159
217
124
94
116
94
76
110
147
142
170
164
118
124
136
118
106
124
101
128
75
121
108
149
124
175
143
143
110
110
93
107
201
157
149
153
108
78
62
69
57
52
54
93
74
86
88
78
108
121
103
138
130
169
171
169
142
106
69
41
52
105
122
112
115
90
88
85
79
69
75
81
72
78
94
102
115
151
99
99
111
113
111
109
104
99
100
113
113
113
116
119
128
145
132
127
118
104
122
147
149
115
130
136
123
106
99
89
110
107
107
106
99
88
96
104
114
113
113
116
112
109
138
137
134
133
138
144
146
143
152
105
92
93
98
104
109
96
98
98
97
102
105
106
98
106
97
95
113
105
103
101
104
109
113
112
108
96
94
92
92
94
93
91
93
97
90
85
89
92
91
89
90
81
74
78
80
78
80
85
105
95
81
65
122
72
48
54
56
44
61
61
49
54
54
57
55
52
54
49
44
42
42
45
46
43
44
43
38
41
37
43
40
31
39
36
39
35
37
37
45
61
72
86
80
73
70
69
72
73
70
84
86
76
66
72
139
151
148
142
132
118
103
89
82
84
87
91
104
140
149
115
91
104
115
104
112
119
110
110
111
116
104
87
100
103
74
85
90
103
102
107
92
99
135
134
155
148
116
123
85
87
133
150
143
158
166
158
81
132
114
161
97
82
102
138
175
187
132
211
140
117
136
148
143
143
160
144
156
133
158
136
133
139
92
50
101
141
108
82
151
120
144
122
170
156
142
98
107
103
124
162
164
148
132
92
83
85
129
74
35
27
72
66
81
78
91
105
108
124
153
143
154
100
151
190
144
87
52
55
115
127
117
113
107
103
91
78
81
91
97
105
112
120
132
154
168
84
87
101
108
109
113
106
95
92
121
128
132
134
124
118
120
116
107
120
127
131
122
100
120
103
90
91
92
99
112
130
132
126
112
106
123
127
131
131
128
121
117
114
113
116
117
115
112
112
112
109
104
114
115
121
123
115
105
98
104
105
102
94
92
87
82
88
93
94
101
112
101
100
103
104
104
102
101
101
103
95
94
93
92
88
85
89
96
95
94
98
104
107
106
105
96
100
97
99
103
100
94
90
79
64
54
129
72
36
49
58
58
57
53
54
40
50
55
53
51
52
45
37
43
41
31
24
31
41
44
43
40
40
46
37
19
29
33
36
38
37
38
40
48
60
57
65
68
68
81
115
115
127
115
119
125
124
140
146
168
160
143
126
117
113
113
109
106
84
89
135
125
89
95
109
115
113
124
105
101
132
132
125
106
88
117
121
106
82
91
77
80
97
106
96
153
125
113
151
158
134
129
84
136
137
149
166
155
137
94
109
108
157
143
109
109
97
70
182
175
207
140
180
168
163
175
168
155
138
119
169
172
130
165
173
137
122
96
145
135
60
143
164
161
163
82
125
154
112
69
109
91
67
116
152
85
113
135
113
67
41
20
37
54
81
72
70
80
70
91
113
122
152
110
81
84
143
135
131
163
135
124
89
106
103
73
116
96
91
106
101
94
98
106
121
119
124
151
152
95
120
124
122
116
112
104
91
88
93
95
105
118
121
124
130
120
106
96
100
102
100
103
91
101
105
98
115
119
114
111
117
115
102
96
102
100
114
112
118
120
111
111
114
116
118
116
113
113
119
125
127
129
112
106
100
98
101
106
110
111
112
118
122
121
116
106
100
100
106
102
89
93
94
100
106
108
106
103
102
90
85
82
83
85
88
94
100
113
113
111
111
113
113
110
103
103
106
108
108
107
104
105
102
92
77
138
77
38
50
50
58
46
41
51
46
45
51
52
52
53
45
35
27
41
37
30
40
42
31
27
30
33
39
42
41
48
36
32
39
35
41
41
45
63
75
86
91
88
89
113
123
138
144
148
149
155
174
156
134
138
139
137
140
140
131
118
82
85
97
101
101
102
95
93
101
137
119
116
124
112
126
123
97
72
88
98
99
102
108
83
91
115
99
120
71
100
154
166
136
129
125
124
109
125
154
129
108
125
126
118
146
129
163
112
123
99
97
176
163
176
198
193
167
147
167
139
110
139
138
104
156
160
170
158
130
96
74
164
136
108
160
168
162
120
155
138
169
93
66
84
99
90
102
136
70
56
66
69
40
30
27
30
38
100
77
68
89
86
78
107
150
136
124
71
71
116
120
94
119
154
156
123
88
66
62
90
88
96
112
124
119
116
110
121
111
116
147
146
91
121
124
117
107
105
102
94
92
98
102
111
123
121
112
112
99
97
117
124
113
98
98
99
112
115
105
102
102
98
115
118
117
112
104
103
107
105
102
111
112
105
105
112
122
119
115
116
124
134
136
132
122
107
106
108
107
105
105
115
115
113
118
121
119
113
107
98
102
110
103
88
93
98
104
109
110
106
102
101
94
88
84
87
91
92
92
93
102
102
106
113
117
109
97
95
89
93
94
89
88
91
96
93
84
72
140
77
34
47
41
56
45
41
50
48
46
53
55
55
57
49
39
27
45
40
30
38
39
28
27
27
40
38
41
47
54
36
35
43
36
41
40
44
63
73
80
86
85
82
113
133
155
159
160
165
166
144
110
149
155
159
157
154
149
130
111
79
81
86
84
95
96
72
112
120
142
115
106
109
100
109
96
68
52
87
96
101
78
80
76
94
100
90
82
59
90
149
156
124
133
134
81
83
132
156
138
136
141
141
131
169
148
194
116
66
55
142
199
154
204
173
180
140
152
170
145
117
132
113
91
123
163
171
164
131
73
48
185
148
155
188
162
153
140
148
153
135
54
53
50
94
126
118
112
100
104
105
87
33
29
22
22
52
128
90
92
82
127
110
81
121
153
106
46
73
94
112
106
123
160
147
152
117
82
77
93
79
80
89
92
95
97
98
103
115
138
159
122
78
95
104
106
104
108
111
113
118
117
110
111
119
123
129
142
133
148
152
131
104
93
99
88
96
105
111
113
116
118
103
111
112
100
88
98
94
110
108
107
106
103
102
102
114
115
123
128
128
130
132
126
127
137
137
136
134
126
117
117
108
101
99
100
101
103
96
108
114
108
104
111
109
103
109
110
102
96
99
105
93
105
110
109
109
104
97
96
89
96
115
125
117
100
88
80
85
81
71
65
61
61
70
62
60
62
134
112
35
41
46
42
40
49
54
42
44
51
55
55
54
52
49
42
39
37
34
28
34
42
43
43
48
41
37
42
41
34
40
38
34
36
38
46
59
108
94
102
104
92
97
57
85
133
168
137
109
162
177
172
170
165
161
157
152
141
131
96
104
98
67
54
63
65
80
70
83
69
75
105
126
141
97
81
97
96
97
96
71
70
94
123
115
153
93
67
48
114
157
134
143
169
180
192
160
134
116
93
120
170
174
171
143
162
84
141
186
94
114
191
143
178
166
173
165
170
154
119
106
87
93
77
56
148
186
156
132
146
185
177
144
168
176
146
107
145
102
81
79
103
130
119
93
110
138
129
160
146
131
120
45
27
5
42
100
91
109
71
105
103
77
97
136
85
73
86
119
139
146
59
73
118
149
177
148
99
72
74
86
98
99
105
111
105
114
146
135
93
72
72
85
97
102
103
108
110
109
113
121
112
101
105
107
100
94
85
104
106
112
116
101
82
89
97
105
108
105
108
113
108
100
99
94
84
98
105
105
105
105
103
102
102
105
108
103
108
116
120
125
128
124
129
112
108
111
117
116
112
105
101
99
102
100
99
101
109
113
114
108
105
102
95
95
102
105
102
97
96
90
101
110
114
114
114
110
105
107
102
101
104
108
104
98
94
92
87
71
61
55
55
54
63
60
64
64
126
120
64
62
58
46
41
53
62
59
59
66
69
64
57
54
55
47
46
49
48
42
43
46
44
44
47
40
39
42
41
36
41
44
41
43
40
42
51
87
106
107
101
114
54
7
24
51
94
150
194
189
187
176
172
167
163
158
148
131
115
113
109
89
59
50
55
50
42
37
38
36
44
49
41
30
27
36
42
41
56
67
60
76
89
86
147
113
82
82
120
177
207
221
205
157
137
128
114
145
149
92
106
177
180
186
158
148
189
136
156
123
191
177
130
146
159
140
169
141
151
102
84
57
52
98
146
182
154
170
151
123
169
157
125
144
161
169
128
119
95
118
130
119
96
86
89
120
127
116
109
154
181
123
53
19
35
73
89
130
126
94
95
81
89
119
106
54
80
147
123
143
115
114
105
110
126
146
169
165
71
72
84
98
98
100
103
89
125
150
109
83
104
77
86
96
98
97
101
103
102
106
114
110
101
109
115
106
94
89
107
109
104
97
87
83
93
100
107
109
106
111
116
104
96
98
103
96
97
105
106
106
106
102
99
98
100
95
90
98
111
119
125
130
126
121
99
98
104
110
111
109
110
104
100
98
97
100
104
111
111
109
105
105
100
93
101
103
104
102
98
96
90
96
104
108
111
114
111
109
114
100
96
97
98
98
95
93
92
85
66
59
54
54
54
58
61
70
70
122
125
81
75
68
53
49
60
66
61
60
66
68
63
55
53
56
46
46
49
48
40
39
38
34
35
38
35
35
38
38
36
41
44
41
43
41
44
54
68
95
109
98
93
56
17
56
37
84
159
189
189
190
179
172
172
173
153
128
125
136
117
108
92
75
73
72
60
56
57
48
52
64
66
57
45
49
52
48
35
36
34
38
46
50
86
121
73
111
154
190
226
195
159
161
148
103
111
119
142
138
120
139
158
181
193
186
214
147
164
174
145
188
169
112
134
161
153
153
145
150
99
117
61
127
150
155
146
121
176
163
116
152
133
142
169
138
139
123
100
122
139
117
86
77
84
89
102
106
105
106
153
159
88
61
55
70
65
89
151
135
102
92
68
86
132
116
68
77
102
158
151
107
126
99
128
115
129
151
154
96
97
104
108
111
118
120
145
132
114
101
131
148
91
99
104
97
86
85
87
90
95
109
109
105
105
103
93
86
95
104
166
167
125
91
88
99
99
100
102
107
109
110
113
102
98
99
99
112
114
109
114
115
113
105
101
100
96
92
102
115
116
114
116
117
118
103
105
106
102
95
92
92
96
105
114
110
108
108
116
112
109
109
113
118
118
123
115
107
105
105
107
109
113
115
114
111
104
90
79
84
92
95
101
107
111
105
96
89
75
71
75
71
64
62
62
67
78
74
107
127
106
89
83
71
66
69
64
58
64
67
67
63
61
61
62
47
46
47
44
34
31
30
25
31
33
34
35
37
38
38
35
36
33
37
38
44
56
72
68
93
103
91
89
39
10
26
42
97
169
187
186
175
184
169
139
137
157
153
126
111
109
125
143
149
138
126
129
131
97
98
109
114
121
97
81
59
58
91
88
84
88
92
76
119
113
169
213
147
175
171
162
174
120
82
163
160
170
168
146
182
235
212
194
219
209
175
190
204
171
188
168
189
149
154
162
176
122
134
134
92
127
74
84
84
106
153
144
174
190
158
158
149
132
145
127
118
109
133
108
95
95
92
84
79
81
69
53
85
96
86
82
117
107
80
58
58
92
117
110
87
97
107
116
118
97
97
73
127
97
61
129
104
127
138
146
142
114
93
122
131
138
122
97
119
135
107
75
95
115
134
166
107
101
107
104
96
93
92
90
94
96
98
102
101
93
90
99
106
99
92
105
108
105
106
104
96
89
89
97
93
88
98
98
99
96
98
108
96
98
109
118
122
119
118
119
99
92
98
104
98
95
107
118
111
108
114
115
110
106
108
117
112
108
100
100
106
115
110
106
102
101
104
118
125
130
119
111
113
117
118
117
103
107
110
114
112
98
88
94
85
87
95
108
116
106
94
87
75
84
93
84
69
61
77
72
72
58
87
122
118
90
85
74
67
64
58
66
64
63
60
57
58
57
52
38
35
35
32
25
26
31
30
33
29
29
27
26
24
25
27
33
34
37
33
34
42
27
43
52
58
68
77
85
64
29
18
53
109
151
175
171
155
152
166
162
138
122
125
99
105
129
140
120
97
96
75
72
43
50
46
36
38
34
34
40
68
110
105
113
131
92
134
153
171
80
121
176
167
137
133
182
172
116
149
160
166
195
195
159
157
174
204
239
209
232
207
253
219
202
222
171
197
168
189
180
175
178
159
142
147
69
59
83
75
121
129
152
169
171
154
152
143
144
118
132
121
104
100
92
83
88
91
71
42
18
20
32
37
79
107
137
88
76
84
83
80
111
98
81
61
98
158
156
112
62
76
40
21
97
104
117
117
127
137
134
130
136
112
127
133
114
95
91
77
69
87
97
113
137
163
113
91
86
91
97
93
92
87
78
93
98
108
118
111
93
85
98
110
111
116
116
105
95
92
89
86
86
81
78
77
88
89
94
100
102
92
90
95
106
110
110
113
119
115
85
89
96
98
94
93
109
128
134
124
128
127
118
106
99
99
98
98
95
98
110
122
117
117
118
117
117
125
129
114
113
114
117
117
116
121
111
118
123
123
117
112
108
107
92
94
98
105
112
113
102
91
90
101
100
89
79
74
80
78
69
71
64
130
118
91
80
74
71
65
63
60
63
51
58
68
57
46
43
33
40
43
43
42
42
38
33
40
35
31
29
30
31
31
28
26
27
27
25
30
40
52
48
45
47
55
74
79
82
57
33
43
88
137
154
154
151
155
154
144
131
121
109
97
106
117
117
91
52
28
37
38
39
59
72
66
58
56
78
76
55
79
91
92
107
91
162
124
97
91
165
139
132
112
149
205
159
105
151
150
150
178
191
184
175
151
181
229
209
208
192
170
194
209
185
177
199
154
185
173
148
175
163
157
124
87
66
95
82
119
109
168
173
159
167
148
138
132
119
111
99
79
88
76
101
83
84
61
24
23
27
55
73
99
104
112
73
98
84
62
97
122
106
87
96
117
174
107
61
28
47
60
74
78
109
127
112
122
115
140
133
122
74
79
89
92
106
124
132
128
99
93
110
132
162
132
89
91
101
109
103
100
101
100
96
95
96
96
87
77
75
90
101
110
105
94
91
100
95
92
88
86
85
85
84
84
84
88
93
96
93
94
95
99
99
100
107
116
115
98
96
96
95
94
96
107
118
126
125
127
121
111
103
101
116
106
98
114
123
127
128
128
125
122
121
121
113
109
113
109
106
107
107
109
116
120
122
126
132
136
135
124
115
89
86
93
101
113
120
116
113
116
119
110
96
87
85
92
93
89
87
74
127
127
91
86
79
68
61
64
49
56
50
54
58
48
41
44
49
53
52
48
47
50
50
48
38
40
40
38
37
33
33
36
32
29
33
40
54
67
27
30
33
38
43
58
65
65
75
85
94
103
110
113
117
126
131
127
117
110
98
85
81
59
43
51
72
92
109
116
122
105
103
103
106
110
108
109
87
58
72
79
74
70
127
124
77
92
89
115
143
139
113
122
174
186
144
123
124
126
149
160
163
182
182
178
183
196
207
205
194
207
181
138
125
181
197
178
194
158
172
164
108
148
85
107
84
109
127
127
147
140
165
139
123
122
108
74
62
48
10
36
33
79
53
34
36
50
63
80
64
71
60
54
107
132
91
60
106
102
99
104
86
100
139
103
97
117
56
121
98
81
77
104
124
123
141
147
154
114
88
112
104
103
102
89
97
104
92
85
100
92
102
138
115
102
104
116
128
121
107
101
98
101
99
90
88
89
89
95
97
97
109
115
102
91
93
97
98
96
93
103
106
104
99
96
94
95
94
94
98
109
109
111
113
119
119
114
91
90
91
93
100
106
112
114
103
116
124
123
119
119
123
120
123
130
138
127
113
105
106
107
107
105
103
112
118
115
107
99
97
99
103
111
116
121
123
118
108
98
88
83
60
70
87
97
102
105
102
102
102
91
83
83
87
93
77
85
93
79
59
104
142
98
88
75
60
54
59
46
43
47
48
48
46
44
50
55
61
63
62
60
60
56
51
43
41
39
39
39
40
42
35
38
42
40
37
35
32
40
42
44
41
37
38
41
39
47
55
56
56
67
114
136
115
83
67
74
75
65
59
90
97
111
137
142
116
86
115
115
112
120
125
128
134
154
146
112
71
60
73
85
92
166
98
89
139
136
164
172
157
130
119
140
167
180
163
162
156
159
145
139
169
185
165
167
163
169
193
202
212
198
155
144
86
177
149
70
169
176
183
156
128
88
79
118
85
65
133
153
118
116
121
117
91
34
9
49
80
62
43
24
56
46
53
71
98
121
110
66
16
26
57
77
98
104
73
101
99
94
91
100
103
83
59
107
119
95
120
93
85
92
111
124
119
133
125
109
107
109
99
92
92
94
95
107
114
87
83
92
83
106
135
97
117
103
99
103
99
92
91
91
94
92
83
83
88
95
102
115
123
121
111
98
94
103
98
101
100
97
108
110
106
103
98
95
94
92
94
98
106
106
109
110
112
110
106
99
97
94
91
95
101
106
107
112
124
132
132
128
127
130
134
135
137
130
119
112
110
110
110
108
106
105
118
125
117
108
99
97
99
103
110
113
117
118
111
100
92
87
86
57
66
83
92
99
105
107
103
106
99
91
89
85
83
77
87
100
85
66
99
146
107
91
77
66
59
57
44
46
53
52
51
54
52
54
59
65
68
68
66
65
60
54
45
39
38
37
40
41
43
39
42
40
38
40
41
41
43
44
43
40
39
39
39
21
39
56
61
50
41
60
98
130
121
79
48
37
35
39
145
150
130
117
111
107
102
104
119
132
127
122
128
147
155
150
124
88
75
89
105
147
171
121
147
167
177
148
116
128
137
139
143
144
157
152
142
132
149
153
142
152
150
173
179
154
141
157
182
220
211
174
166
67
133
145
72
159
129
158
185
143
116
121
111
104
103
153
136
111
100
119
99
69
42
27
36
64
91
50
23
54
50
53
59
78
99
136
39
56
73
46
59
75
93
87
98
70
118
107
81
58
95
129
98
62
83
122
98
91
86
97
116
125
144
146
121
119
117
90
93
96
90
82
83
78
65
59
76
77
104
92
120
135
106
89
93
97
93
89
82
104
95
77
72
75
76
78
88
99
100
108
111
103
95
98
103
102
96
102
100
92
95
90
84
82
84
90
96
101
99
99
98
95
96
105
113
107
94
80
79
90
104
110
106
114
123
126
124
121
123
124
119
115
113
108
103
101
95
87
83
92
108
117
111
121
111
102
101
103
107
109
106
99
90
85
83
84
81
78
56
77
102
111
111
109
105
103
101
85
81
84
83
76
80
75
79
64
65
74
121
124
101
91
93
81
58
32
65
74
69
65
72
66
56
57
61
59
55
54
55
54
51
36
38
41
40
39
39
37
31
35
37
37
44
45
41
46
43
39
39
44
46
44
48
51
60
66
65
56
58
71
51
56
104
124
64
6
6
76
87
98
127
151
142
123
115
121
129
128
124
124
137
168
154
126
99
104
118
132
178
243
195
172
167
179
172
132
142
123
117
143
147
143
169
167
165
177
160
127
123
118
142
182
184
162
115
114
197
139
147
165
90
37
136
191
93
47
126
131
163
166
158
162
130
114
116
85
119
91
90
94
70
59
66
43
49
103
60
36
94
90
58
48
77
87
52
141
166
116
54
56
85
125
79
101
86
81
116
78
82
114
64
26
54
97
98
107
132
124
112
116
115
121
152
121
107
108
116
110
99
85
91
109
125
120
100
94
96
102
92
114
127
109
93
89
93
95
94
95
104
103
95
83
77
76
78
112
114
114
102
92
96
109
116
122
125
123
114
108
105
108
103
99
98
96
95
99
109
109
104
99
99
105
107
115
113
102
88
83
90
95
95
100
120
121
112
112
113
104
82
90
95
95
101
104
102
96
92
100
112
111
107
109
118
113
109
103
100
97
97
89
91
93
94
93
94
93
95
87
97
106
109
103
97
101
104
96
91
92
91
86
84
79
87
87
92
68
68
102
143
116
102
96
73
51
65
73
69
67
67
66
63
62
54
53
51
50
51
49
45
41
42
42
42
40
44
43
33
37
38
42
46
44
44
47
46
49
54
59
63
70
72
73
75
75
72
73
75
70
68
54
49
52
57
73
86
84
79
87
92
104
107
107
115
136
156
179
175
159
147
148
142
207
204
175
166
156
199
181
167
174
178
169
167
98
121
100
90
123
149
144
138
101
134
130
131
127
102
100
116
123
134
129
155
192
189
152
162
113
110
82
107
148
159
148
127
112
109
116
140
109
125
108
109
116
97
76
89
108
86
82
102
100
71
61
76
117
91
100
87
44
52
69
71
61
112
133
123
78
60
120
62
61
68
128
111
125
70
76
55
64
51
73
118
111
102
112
134
128
109
117
146
54
3
18
58
94
88
81
76
76
100
127
126
96
95
99
96
93
109
127
112
99
94
94
94
97
101
104
102
93
81
76
76
78
113
118
113
99
87
92
105
113
119
122
121
113
110
110
110
110
110
107
101
101
107
113
108
102
98
103
109
110
120
117
107
95
87
88
92
96
107
117
122
117
116
111
97
77
93
106
109
113
116
114
106
104
111
116
108
102
105
113
117
119
111
98
90
97
98
96
96
95
96
99
101
104
97
104
107
105
96
92
101
98
93
94
98
95
91
89
87
92
91
87
54
58
87
145
124
108
96
76
59
71
78
75
73
75
75
71
69
56
48
45
51
54
49
45
45
46
47
48
46
48
44
34
41
42
46
49
45
44
46
52
54
57
62
67
72
72
82
84
83
80
80
82
80
72
58
61
69
58
49
68
95
87
80
80
91
96
93
92
96
108
136
155
170
185
200
203
213
176
121
144
167
178
123
160
105
97
162
107
103
119
110
103
116
138
141
123
124
132
106
100
106
98
112
130
116
117
136
163
188
186
168
121
53
68
73
124
105
118
151
102
98
142
151
114
119
115
113
105
89
85
98
104
87
81
98
134
142
118
113
135
136
112
110
86
58
76
93
64
8
128
154
120
88
104
97
40
74
65
138
114
119
67
114
64
48
75
98
108
112
98
109
131
123
101
120
160
40
14
47
77
100
93
93
98
84
87
98
92
69
90
91
70
76
100
137
114
96
96
103
106
103
101
110
103
93
83
76
75
75
94
107
115
101
93
98
105
102
107
114
117
105
104
106
102
100
101
108
110
109
113
104
99
92
91
98
106
106
100
95
90
87
82
75
79
87
90
98
106
113
109
98
90
76
92
105
110
113
113
110
111
102
99
101
99
107
106
117
119
117
112
104
99
106
110
105
99
98
100
104
106
107
93
94
93
93
91
96
109
111
106
105
104
98
92
89
90
85
83
78
67
74
77
149
147
125
95
79
71
86
84
79
76
79
80
76
71
69
56
52
60
62
53
49
53
59
48
48
45
46
47
42
45
46
50
55
53
53
55
59
58
58
61
66
66
64
80
81
81
80
77
75
78
67
71
63
51
52
62
61
52
76
89
90
87
91
91
84
61
64
59
62
58
52
53
46
70
86
97
142
157
167
176
188
168
108
79
115
133
155
148
136
105
105
117
108
166
130
94
115
132
107
102
108
124
144
121
95
119
164
182
151
98
81
141
122
110
113
159
139
128
124
103
85
103
102
85
95
115
104
81
85
118
152
151
121
112
108
85
67
43
93
117
66
50
73
73
69
31
35
65
122
130
108
120
123
55
53
82
125
114
117
31
37
124
87
74
99
91
113
118
96
84
95
98
87
32
64
110
100
78
81
88
98
115
120
120
93
87
106
102
91
99
122
136
115
99
98
102
105
103
103
100
100
97
93
92
91
92
99
107
103
94
94
102
109
113
116
120
120
88
80
83
91
94
100
106
106
108
112
114
112
104
96
96
98
98
92
80
76
84
81
69
63
66
76
94
99
105
95
90
99
108
103
94
98
112
116
111
99
97
101
105
105
113
108
107
106
103
102
102
100
94
96
93
94
96
102
104
104
101
93
87
88
96
100
105
114
118
112
103
99
96
95
98
92
86
92
86
78
89
72
123
151
143
106
88
83
92
94
86
79
79
80
77
72
67
68
67
64
61
60
61
63
61
48
51
49
48
49
47
56
55
55
57
56
58
62
56
60
64
68
71
76
78
73
75
79
81
77
69
72
70
72
69
71
69
49
39
52
57
58
61
66
82
84
64
38
43
46
52
50
48
51
52
44
53
69
75
72
54
78
82
83
93
121
153
180
141
118
123
112
118
109
82
151
144
132
147
148
119
102
87
185
150
175
170
155
148
133
82
107
133
139
156
161
125
109
93
89
108
114
89
100
94
103
100
91
111
142
123
89
113
128
146
155
121
77
70
66
93
105
118
97
62
92
69
80
41
87
164
150
99
98
62
61
70
77
58
77
73
120
69
27
29
77
86
94
95
100
109
118
114
90
65
59
63
71
61
84
94
101
102
102
97
91
89
93
117
119
116
115
115
133
116
102
98
99
99
102
106
100
101
100
98
96
94
94
112
117
101
94
97
107
115
111
114
121
122
88
79
82
94
101
111
115
112
111
119
115
113
108
102
99
101
103
99
84
79
86
85
68
57
58
75
96
101
103
93
91
104
116
109
99
105
114
107
93
92
97
108
111
106
108
104
104
105
106
106
104
99
90
88
89
89
94
103
105
102
98
98
91
92
101
104
106
116
116
108
99
96
96
98
104
92
91
101
93
74
88
68
110
146
146
113
94
88
93
100
90
82
81
82
79
74
62
69
70
63
59
62
66
67
64
55
61
59
56
55
52
61
59
58
57
55
58
62
58
62
67
68
68
71
74
68
70
76
79
74
65
67
64
68
58
51
59
60
55
60
54
61
59
59
74
82
67
36
42
46
53
54
54
59
59
70
75
73
78
79
75
71
76
75
77
81
76
121
128
149
175
142
133
134
103
165
141
128
152
145
110
116
136
180
149
156
142
143
148
135
126
125
162
153
104
100
84
89
100
96
88
92
103
101
100
83
103
147
154
127
113
119
136
134
138
156
140
110
107
66
81
70
88
118
87
55
80
62
28
79
135
125
113
52
45
56
67
79
71
39
111
119
55
38
49
78
97
96
96
90
88
105
119
96
63
77
98
112
111
92
89
88
90
89
103
120
129
133
127
109
96
101
119
144
126
91
95
104
98
105
106
108
103
100
104
108
111
112
122
125
102
96
104
113
119
124
127
129
127
88
78
82
103
107
110
112
114
110
103
110
109
102
93
90
95
99
104
105
98
81
72
75
79
77
87
108
107
105
102
97
92
96
110
111
97
94
91
91
99
99
101
104
106
107
106
103
105
106
105
103
101
107
110
111
110
113
114
114
111
107
94
104
109
108
110
113
110
110
102
85
80
76
75
73
74
82
67
42
68
76
68
102
157
148
124
118
97
97
97
96
90
81
75
74
74
70
70
68
64
64
65
63
58
66
65
61
58
57
54
51
52
56
54
48
54
55
50
60
65
66
68
74
72
75
67
70
71
68
66
68
67
64
61
61
61
60
67
70
65
49
46
50
55
57
60
64
70
75
72
85
111
134
141
126
122
117
113
108
107
107
83
74
68
70
73
73
77
78
80
85
93
106
125
142
171
162
167
149
140
142
141
172
174
187
191
180
184
154
125
115
104
93
88
88
91
96
90
90
108
101
90
91
91
118
154
160
151
120
67
67
77
109
144
163
153
142
135
114
55
50
61
51
83
96
45
45
49
95
75
59
46
19
19
39
92
73
106
77
86
62
80
100
94
72
65
79
82
65
92
118
123
122
106
93
56
51
76
105
88
84
83
86
88
95
103
97
123
109
79
82
91
116
138
121
89
89
98
95
103
101
109
106
107
107
110
112
112
113
114
101
96
103
111
117
123
125
122
114
82
78
82
98
97
96
100
110
116
112
107
105
101
93
90
93
95
84
87
82
74
72
81
94
103
111
106
107
99
87
85
94
91
101
102
96
97
99
104
105
101
98
99
103
107
105
110
105
101
98
97
98
97
106
113
119
124
122
116
109
105
103
101
99
93
98
105
106
88
87
79
78
80
82
84
68
63
50
50
88
83
73
44
147
160
135
121
113
92
97
97
90
79
72
73
76
78
73
66
62
63
65
59
50
57
54
50
50
56
60
61
47
54
55
49
58
63
61
67
72
72
73
78
77
81
79
70
68
75
78
72
72
56
57
64
69
68
72
78
74
75
70
60
50
48
54
62
66
63
108
132
142
154
170
163
163
164
164
147
129
116
99
94
88
86
83
84
93
95
99
104
103
97
91
87
84
83
90
94
100
100
99
112
107
110
97
95
91
86
95
90
87
84
89
91
94
96
105
100
76
88
97
125
103
34
105
163
148
118
103
93
173
156
138
142
164
150
120
136
133
101
69
101
80
53
130
133
67
81
95
75
50
33
49
61
60
67
46
114
86
91
68
76
101
97
80
118
116
104
86
122
135
125
140
126
86
80
68
70
82
81
85
97
113
114
113
106
131
117
89
90
96
122
138
123
90
91
98
95
98
96
105
109
109
109
108
105
104
101
108
107
100
100
104
110
113
116
114
106
78
78
82
97
95
95
99
108
117
111
106
105
103
97
94
95
97
91
92
90
84
86
96
110
120
108
108
109
97
86
90
103
95
98
94
92
96
100
106
108
107
106
108
111
110
108
110
108
105
104
104
107
110
122
131
139
136
126
119
121
125
115
112
110
109
110
108
101
100
101
93
87
84
80
77
70
66
55
59
90
79
67
43
97
155
152
121
117
97
94
97
94
84
76
74
75
78
73
65
61
64
66
61
53
55
52
49
50
57
61
62
52
48
51
62
57
60
68
66
72
74
77
82
76
78
71
64
63
71
73
65
62
71
73
82
82
71
66
69
69
71
78
74
64
55
50
48
63
60
105
127
134
137
142
138
132
126
124
123
120
114
90
89
86
86
86
88
94
96
101
104
102
96
95
101
93
89
80
86
92
84
80
80
83
104
105
106
93
90
100
88
93
88
77
96
109
110
81
97
82
118
155
122
105
47
55
133
154
111
112
124
134
115
133
148
163
163
137
137
136
109
97
95
83
98
114
114
108
83
75
86
90
75
55
67
97
41
105
100
72
48
41
56
93
112
107
97
105
135
128
121
96
86
129
140
102
106
95
97
99
98
95
93
99
103
104
124
110
97
94
97
101
98
132
123
94
94
104
98
99
91
101
109
113
114
112
112
112
109
103
97
96
94
93
96
104
112
113
104
84
81
83
97
101
104
106
107
105
98
100
106
107
104
101
101
95
94
90
88
90
98
104
110
114
111
116
113
113
115
116
114
107
101
90
101
103
99
98
102
106
110
110
107
104
106
106
109
114
119
120
123
134
135
131
124
114
105
103
107
113
110
114
118
116
112
103
90
84
89
80
81
84
79
70
65
73
69
60
81
83
78
75
55
89
151
148
114
107
96
101
100
91
80
74
73
73
71
66
60
58
59
57
54
57
60
57
57
59
59
56
60
51
49
63
62
60
62
64
70
71
73
78
73
75
72
75
77
75
76
81
85
91
85
86
91
83
75
72
70
76
59
51
53
59
58
52
31
50
52
60
91
119
126
124
125
126
126
119
115
113
103
100
93
89
93
101
101
109
109
111
111
113
111
107
108
118
103
109
108
94
108
112
98
112
129
123
104
112
101
88
93
101
89
71
71
80
116
109
96
97
146
112
77
101
99
162
179
166
144
91
90
112
158
127
111
159
166
165
165
140
122
136
117
79
58
62
84
94
105
122
108
73
110
116
88
124
29
27
35
71
85
91
81
79
90
61
110
118
115
87
92
111
99
87
106
95
97
102
101
105
103
92
110
133
140
104
99
103
105
95
81
83
116
115
83
78
88
87
94
95
91
84
93
109
124
126
123
101
103
107
106
102
101
101
107
113
115
108
105
104
103
96
100
106
110
110
103
101
96
96
97
100
100
98
94
93
95
103
116
128
131
125
118
114
140
132
123
113
107
107
95
103
108
110
105
108
121
112
110
107
108
110
103
95
101
112
118
110
100
97
100
103
101
99
98
98
94
88
82
88
88
83
82
83
81
76
81
82
80
73
69
74
83
86
98
84
62
83
90
96
95
102
77
114
151
127
107
103
115
111
86
70
78
81
74
64
61
60
54
52
58
62
58
60
62
61
57
56
58
62
63
58
59
67
64
54
53
60
68
73
73
72
72
69
70
73
78
83
83
85
76
77
71
70
77
77
67
64
68
75
82
78
73
67
57
41
34
50
59
63
68
75
112
111
120
121
96
96
94
77
72
67
66
63
66
88
100
99
93
87
87
90
97
122
136
149
145
130
114
108
109
100
98
103
111
113
111
114
108
86
87
81
108
175
207
180
82
81
62
142
94
38
132
127
165
130
149
158
119
99
102
134
151
116
144
146
138
151
177
145
145
100
96
82
49
46
114
97
102
149
153
77
122
90
60
36
31
57
83
42
55
71
93
123
105
71
103
101
51
28
75
115
103
110
125
119
108
109
106
100
99
131
140
133
95
89
90
95
85
75
71
114
115
87
83
93
90
93
93
87
84
87
95
104
110
110
114
115
113
110
108
106
104
107
112
114
110
104
102
98
96
100
107
111
113
107
105
98
97
99
100
101
101
100
99
108
121
130
132
126
119
114
119
137
128
120
110
104
104
105
110
112
114
109
107
116
115
114
110
106
103
101
99
98
106
109
100
90
87
92
98
96
93
90
87
84
80
77
88
89
85
83
83
80
75
84
87
88
82
80
88
98
87
91
75
62
88
88
88
92
102
91
91
125
123
116
111
112
109
94
78
75
78
74
62
58
60
53
51
55
59
60
61
63
62
58
57
59
63
64
60
61
67
63
53
56
63
72
77
77
76
76
82
80
78
78
80
86
96
86
87
83
81
86
83
77
74
73
66
63
59
65
73
73
45
36
42
50
55
62
70
86
115
108
95
98
79
88
70
67
68
74
79
81
86
75
81
86
90
92
95
95
115
126
137
145
141
130
116
107
117
101
119
124
116
113
119
87
78
91
133
127
161
200
203
118
75
111
143
120
102
105
61
165
176
130
128
130
119
125
149
77
79
104
155
148
140
165
138
108
103
107
66
46
43
95
99
112
123
80
80
113
92
76
54
44
57
50
76
89
70
80
91
138
89
102
78
42
52
87
106
112
104
91
90
89
91
99
103
96
102
114
113
102
97
96
92
81
79
94
118
121
92
80
84
78
80
75
79
84
88
91
98
107
113
122
118
111
111
110
106
102
109
111
112
110
107
107
105
96
97
97
102
107
116
118
120
117
113
112
116
119
123
130
134
134
127
117
113
117
123
129
124
114
107
99
94
97
103
111
113
116
114
111
116
121
119
113
108
103
106
109
108
109
105
98
91
91
99
100
98
94
87
81
80
85
89
84
80
76
74
74
75
75
85
85
96
99
95
91
89
90
81
62
66
97
90
90
78
81
79
61
91
130
90
115
111
109
102
86
76
80
80
65
62
68
68
69
70
71
68
64
67
67
65
63
64
66
65
60
61
67
68
63
70
72
74
73
72
78
81
78
83
86
86
88
88
83
92
97
97
97
98
92
89
94
83
90
95
90
83
74
62
56
45
34
35
40
44
50
64
76
97
97
73
84
76
71
66
63
64
66
66
59
70
71
76
80
86
91
95
111
109
111
116
124
130
133
131
111
116
112
107
110
99
69
84
82
85
110
116
139
150
185
189
160
152
64
151
100
67
51
138
151
159
170
158
128
113
100
98
63
117
124
125
160
121
123
126
145
80
48
54
59
161
174
142
106
61
86
84
72
79
52
47
41
44
68
80
70
79
101
104
95
99
89
55
28
42
68
75
96
115
132
127
82
74
71
72
126
146
145
119
121
123
113
91
83
98
133
135
97
75
74
73
82
82
91
92
98
105
111
115
115
109
108
109
112
114
113
112
100
93
86
86
95
102
108
105
98
92
91
98
115
120
112
108
104
103
103
105
107
115
114
114
116
116
114
110
106
107
99
90
85
80
83
94
102
113
115
108
105
100
101
99
96
93
96
102
101
96
92
88
86
86
86
85
90
92
90
86
81
79
80
83
87
75
74
78
84
91
100
109
97
90
89
92
87
77
70
79
76
62
58
89
88
92
82
89
78
89
76
86
132
111
119
119
100
80
83
85
76
67
68
74
78
80
84
84
77
68
71
73
72
71
71
69
64
57
57
65
73
77
76
75
71
66
65
75
84
92
95
93
89
89
94
93
93
97
100
107
110
105
105
115
103
96
90
82
80
80
75
62
56
45
44
45
43
42
47
48
50
86
168
161
156
143
135
117
97
84
80
75
83
81
81
84
89
90
88
85
93
99
96
89
87
94
102
123
110
94
96
92
94
116
149
69
59
76
84
149
176
153
146
147
104
160
117
129
91
72
143
137
105
68
90
196
141
123
125
154
165
139
109
112
121
130
89
52
31
51
42
69
84
112
137
140
112
97
96
77
76
67
78
81
57
69
44
53
91
102
119
125
108
75
105
163
130
91
129
80
81
90
99
81
66
55
64
130
141
129
123
116
107
91
76
80
104
120
127
91
71
72
77
88
89
98
98
99
105
111
114
115
112
111
113
114
111
110
109
99
91
85
87
95
101
107
110
104
98
98
104
116
118
109
106
104
104
106
108
108
106
108
110
111
110
107
102
98
100
97
91
86
82
89
105
109
114
112
112
112
101
95
93
93
92
93
96
99
97
100
95
94
97
97
94
93
99
96
91
88
87
86
86
85
78
80
86
90
91
95
101
78
83
101
98
84
71
64
79
81
68
62
100
95
87
86
86
81
85
78
69
147
121
118
117
106
88
81
81
79
72
75
82
82
81
87
89
80
70
72
75
75
73
73
69
65
60
60
63
68
72
72
73
74
72
73
81
88
98
102
100
96
96
103
100
101
102
105
112
116
110
109
118
99
101
99
91
85
79
70
65
60
47
46
49
47
45
55
55
42
47
150
160
150
168
174
178
175
165
146
94
106
105
101
100
100
98
91
86
88
91
93
90
85
81
79
91
115
79
86
85
81
102
151
74
61
89
74
123
162
156
145
135
97
114
127
106
81
87
138
118
97
21
4
150
129
164
220
158
154
129
131
129
119
101
94
47
33
41
49
90
87
110
128
117
77
101
109
84
73
63
57
53
24
30
35
90
129
123
117
100
116
116
110
94
66
80
137
79
102
117
108
68
60
66
82
114
99
114
118
96
90
97
93
88
72
102
112
99
81
76
75
75
84
103
103
103
108
116
113
106
106
107
106
102
101
101
101
99
97
94
98
98
95
97
94
99
107
117
123
129
128
122
122
120
120
121
119
118
115
112
103
93
91
95
101
102
98
90
86
90
100
107
109
103
113
120
109
107
102
97
88
87
86
87
89
101
107
104
102
98
95
92
91
89
91
93
90
80
76
80
85
86
89
90
99
98
85
72
68
76
81
67
84
95
95
100
101
94
74
75
102
93
100
100
87
70
61
63
61
66
150
115
111
121
108
92
86
79
83
82
86
94
84
81
97
82
75
76
73
74
74
69
72
63
58
49
44
57
77
74
74
77
84
92
92
90
100
105
108
109
109
105
77
124
120
123
125
119
116
119
119
102
94
91
97
93
81
75
74
67
55
47
42
49
57
54
53
52
47
55
87
117
92
71
81
69
58
91
137
128
145
137
154
158
173
154
143
138
139
110
103
112
89
93
78
148
149
100
54
48
134
122
100
93
94
102
103
128
162
124
124
129
79
122
117
81
69
124
106
82
33
4
163
131
70
107
165
149
142
146
146
115
155
124
45
23
83
84
117
117
116
140
155
117
88
89
80
99
91
55
66
88
107
98
69
65
81
111
139
118
135
127
105
94
78
93
76
97
118
128
71
87
112
115
104
97
127
130
112
105
107
98
83
61
81
104
104
83
77
89
96
100
100
105
105
104
105
105
103
112
114
104
95
91
93
96
98
96
96
99
90
84
80
73
77
83
90
95
96
96
92
96
101
105
104
105
107
108
108
105
100
99
102
103
102
101
98
96
99
105
108
107
115
113
107
101
106
108
107
96
97
97
98
100
111
113
98
96
97
101
105
105
92
91
93
92
88
86
87
88
87
72
76
84
86
83
86
92
91
95
85
91
95
96
100
84
95
85
68
78
74
77
85
93
103
109
109
97
89
97
154
119
97
123
114
96
86
91
93
94
95
87
84
95
82
80
82
78
77
76
69
71
67
64
66
63
54
46
69
72
80
87
91
85
85
93
100
105
108
109
114
119
108
108
117
126
128
128
125
115
106
99
92
94
90
82
83
76
73
62
54
48
49
54
63
61
60
58
49
52
57
72
96
62
76
101
105
101
97
107
92
91
72
77
67
110
124
161
170
140
88
56
77
148
155
128
122
125
135
136
144
151
141
150
143
138
138
172
142
87
112
180
174
155
155
143
148
77
46
29
17
27
74
100
74
80
132
152
143
122
145
120
109
41
58
80
79
107
115
85
145
151
99
94
71
52
61
127
127
112
100
66
46
61
74
60
84
98
118
139
144
149
121
79
90
73
83
86
90
83
85
93
92
103
100
127
115
109
107
110
101
85
79
93
113
110
83
77
93
103
99
105
106
104
99
100
102
105
119
120
109
98
94
96
100
102
99
99
101
94
89
86
80
82
85
88
89
87
86
91
97
104
105
103
103
106
111
111
107
102
100
103
104
104
107
107
106
109
112
112
109
104
98
91
92
100
102
102
106
102
93
86
88
109
114
99
100
102
103
103
101
93
100
99
94
88
83
80
79
78
79
90
100
100
96
95
99
90
91
83
81
81
82
85
78
93
86
67
89
93
93
101
101
100
98
101
93
91
86
136
154
124
118
116
93
87
93
98
100
95
85
81
84
85
81
81
76
75
76
72
72
69
62
61
68
66
59
53
75
96
102
112
123
109
116
117
119
120
124
132
143
138
130
124
121
118
121
118
109
110
106
101
100
93
89
91
82
78
63
55
50
52
56
54
57
60
60
50
48
49
53
82
100
64
51
87
103
102
109
93
92
69
78
77
99
107
137
169
171
132
96
94
143
132
121
106
68
94
116
125
128
173
153
150
137
137
172
176
141
130
161
243
233
204
184
167
91
59
36
24
32
59
120
72
20
99
151
129
145
141
120
97
35
53
56
78
102
117
79
120
127
134
110
80
75
95
141
140
117
95
79
65
64
62
63
123
119
106
129
151
150
138
108
74
98
110
110
114
84
89
97
87
92
93
123
130
133
129
123
112
94
109
125
133
129
106
93
106
114
104
94
88
84
79
81
91
102
129
127
120
118
115
117
118
112
109
107
109
111
112
116
103
102
99
95
92
81
79
85
91
99
105
106
109
112
114
112
106
98
96
101
105
105
98
100
99
100
100
97
92
94
90
92
106
109
106
104
111
112
107
100
101
108
102
99
101
102
98
91
87
89
85
81
79
82
86
88
90
94
99
99
93
85
79
80
82
86
79
84
83
87
95
96
110
107
94
74
94
101
91
93
86
81
89
106
109
102
86
46
131
158
122
130
103
80
81
92
103
104
101
95
86
78
72
69
61
62
67
66
56
60
66
75
82
91
97
113
86
87
119
131
128
156
163
150
140
142
152
155
150
144
148
152
152
143
138
124
104
105
103
101
102
96
92
95
97
95
70
60
59
61
63
56
64
66
63
57
60
62
63
58
59
83
31
13
96
97
98
92
104
82
89
84
124
133
123
138
166
169
156
122
99
117
133
127
54
58
99
99
43
131
78
58
36
53
100
168
147
121
150
146
154
180
187
206
186
158
88
51
13
19
67
73
44
74
124
144
125
55
115
97
47
40
80
79
119
68
76
114
113
137
102
95
120
146
81
61
53
86
109
115
94
90
122
133
123
139
130
139
153
144
133
120
95
117
112
90
92
92
98
93
118
121
149
140
132
112
110
120
116
124
124
136
149
132
96
86
92
90
82
81
84
86
92
101
112
132
127
123
126
124
120
116
109
109
111
116
118
115
117
111
110
107
103
100
91
89
96
98
102
107
110
111
109
98
100
101
99
100
104
106
105
113
114
111
111
111
107
101
100
99
103
112
107
102
102
95
96
90
82
86
99
92
82
79
80
88
98
98
79
94
91
94
101
103
95
88
86
91
97
99
99
99
96
93
94
77
82
81
88
97
95
111
108
102
91
88
93
87
84
93
102
115
124
118
103
61
91
78
135
153
110
124
88
77
78
82
84
92
90
73
82
88
88
80
75
74
70
78
69
69
91
95
105
120
131
132
129
126
141
158
145
160
154
152
157
157
152
151
136
136
131
116
104
105
106
96
104
95
91
98
100
102
107
102
106
92
79
74
69
64
63
62
60
60
73
72
65
68
56
64
58
71
105
90
88
87
90
119
106
116
103
113
128
120
143
161
158
169
158
150
97
116
128
54
39
117
110
58
33
142
55
32
16
40
140
179
115
33
124
178
176
154
130
121
163
174
186
143
87
87
125
73
52
121
125
94
199
116
64
78
82
91
103
109
102
91
79
101
115
112
109
95
89
79
61
49
69
62
86
122
125
114
110
97
96
107
140
142
148
161
109
96
86
96
115
77
80
84
100
152
140
124
126
108
101
104
102
99
114
97
110
125
111
84
83
93
88
90
89
90
94
98
100
103
123
122
121
121
121
119
118
109
108
113
123
117
111
111
103
99
94
95
99
99
99
103
103
109
116
123
124
120
106
103
105
105
98
97
105
109
97
97
111
111
99
96
105
101
102
105
105
102
98
97
98
90
88
95
106
101
96
92
104
111
105
100
103
102
93
98
100
93
90
93
94
93
97
101
107
105
95
89
88
84
77
80
95
103
101
95
99
111
113
90
99
103
73
89
106
117
119
121
121
78
65
91
110
114
135
126
95
83
66
63
81
96
97
94
100
87
86
83
80
77
73
70
71
73
87
106
114
128
132
133
144
150
140
138
162
151
165
150
152
161
154
146
129
103
82
72
68
57
59
69
70
95
104
110
102
99
115
131
118
108
103
98
84
73
72
65
75
77
67
77
81
74
91
86
83
88
96
103
119
111
91
89
104
102
97
112
122
123
129
138
149
162
153
133
151
87
110
119
56
81
113
108
105
68
134
106
38
31
31
83
141
125
77
69
110
156
135
92
93
90
94
157
175
136
114
131
136
103
101
138
161
168
149
111
71
85
98
107
125
113
88
68
91
134
129
95
103
119
98
101
80
84
67
127
160
107
100
105
109
98
110
102
109
148
143
105
104
68
62
101
96
96
100
108
90
95
120
121
103
94
97
98
98
110
109
106
109
107
92
85
86
91
80
86
89
88
91
97
103
113
114
113
114
112
109
108
113
115
118
121
110
109
113
103
100
100
106
115
119
115
105
103
105
110
118
124
126
121
106
96
96
98
106
108
101
77
96
103
104
99
93
88
94
86
80
94
109
120
127
131
128
119
107
105
103
96
91
94
93
90
92
99
102
103
104
101
94
95
100
101
97
88
90
94
95
92
91
93
88
84
100
100
92
94
104
108
96
90
80
77
100
107
106
124
134
138
138
122
58
89
82
70
51
90
146
130
107
106
102
96
95
99
99
96
86
86
84
81
79
77
76
72
81
101
114
122
133
136
145
148
148
142
145
160
147
144
141
131
112
96
90
30
31
27
32
36
31
33
41
44
81
124
141
139
138
130
114
118
115
115
109
98
92
94
80
77
75
79
89
86
83
79
81
81
73
62
55
72
80
66
77
86
81
94
118
116
128
134
128
133
156
163
150
147
100
91
112
90
129
56
32
103
94
76
131
116
72
47
23
81
150
137
71
108
153
120
106
143
144
111
124
173
168
149
140
146
154
158
161
107
142
164
171
180
122
79
111
112
67
71
78
77
77
109
94
83
81
99
97
84
71
91
118
132
116
93
153
136
128
129
121
123
121
102
109
119
84
72
81
98
104
102
96
119
134
148
123
115
118
124
126
125
128
119
111
111
122
119
98
79
79
84
87
93
103
109
108
105
117
112
99
93
90
93
96
100
107
113
112
108
109
113
116
118
124
128
128
102
91
91
97
107
116
122
122
117
83
87
98
106
107
106
97
81
86
92
82
81
88
91
86
92
88
85
99
106
107
107
98
105
106
101
98
97
90
89
94
101
107
110
111
98
95
107
115
110
104
103
104
103
96
93
90
89
91
92
93
90
89
62
75
100
103
89
86
89
95
92
116
133
125
122
128
116
107
109
94
70
77
65
80
68
66
124
160
106
97
103
119
121
103
89
88
84
82
81
84
85
89
90
87
95
111
140
152
157
149
169
158
147
136
125
106
88
70
63
53
46
39
33
40
27
44
65
85
105
123
138
150
124
126
155
176
178
173
169
153
145
132
125
115
103
95
99
83
77
86
93
86
85
94
84
77
76
75
70
60
72
90
78
64
76
81
87
142
133
137
142
135
129
136
148
120
86
84
141
99
99
167
131
70
75
79
87
125
125
96
43
60
121
154
120
131
130
112
119
114
89
85
109
149
137
129
138
159
171
153
126
150
136
136
138
138
125
77
26
62
71
69
63
61
69
97
107
94
89
120
104
93
83
94
118
137
150
162
120
121
135
136
133
160
152
98
81
117
155
142
103
100
108
107
99
115
117
112
120
117
123
129
125
122
124
118
111
105
110
115
101
88
89
80
81
89
103
110
109
104
113
111
95
88
86
87
91
94
101
109
111
109
110
109
114
120
128
130
126
99
87
83
89
96
104
108
106
100
96
101
109
109
104
104
100
87
85
86
79
79
88
94
94
97
93
91
96
95
91
86
90
95
101
103
104
94
88
109
106
102
99
98
99
105
90
101
103
96
92
101
112
117
110
103
95
90
89
89
87
93
72
71
84
86
86
89
92
100
110
103
106
112
95
83
101
105
110
117
96
68
75
88
86
70
104
131
127
146
117
99
109
124
117
97
83
82
80
78
78
82
86
88
96
105
120
142
155
156
145
151
131
110
92
76
61
50
38
34
31
36
41
37
61
72
93
113
131
150
161
165
170
169
176
179
181
189
192
184
165
158
141
135
125
115
108
106
92
84
92
99
94
91
81
83
82
78
65
54
56
46
71
71
65
75
76
85
150
134
130
135
128
124
133
147
123
84
88
143
81
58
156
166
104
49
60
85
128
176
153
76
41
83
148
133
150
144
114
131
131
81
43
48
78
109
129
115
115
148
164
147
116
109
151
141
136
141
56
46
75
54
56
66
69
68
101
105
99
97
141
145
142
88
67
83
109
102
105
116
133
135
127
116
140
144
103
88
94
147
152
123
98
96
94
97
82
91
116
119
121
123
119
104
99
113
115
121
117
116
125
113
92
84
92
90
90
92
93
93
93
97
100
98
91
86
85
89
94
103
112
115
118
110
99
116
124
130
124
113
94
93
90
86
80
76
73
76
83
91
95
101
102
101
104
97
82
82
89
97
96
90
87
88
77
76
78
82
87
93
96
111
103
108
124
129
112
115
94
99
105
108
105
100
103
107
105
99
96
102
111
112
105
98
94
87
85
88
89
87
89
87
66
57
63
84
102
108
105
120
121
60
66
77
75
91
87
87
96
82
98
106
85
95
89
98
155
171
130
146
137
111
108
132
136
115
100
89
85
80
81
83
86
89
101
110
77
67
63
56
47
38
38
41
38
35
30
42
61
65
78
120
155
164
162
179
185
190
203
201
189
185
123
97
81
63
68
111
156
210
209
167
136
115
109
107
100
93
85
85
106
106
100
84
76
73
75
77
72
56
71
51
76
82
43
55
107
109
120
124
114
111
120
107
78
116
91
112
159
123
111
73
96
141
162
82
75
107
144
155
156
102
59
123
152
150
161
122
135
121
80
57
22
21
63
120
151
149
143
133
112
120
140
128
124
145
92
29
45
74
66
68
74
63
56
78
88
119
144
135
115
89
76
92
113
119
102
89
87
117
112
137
154
148
127
105
115
87
95
109
81
77
90
93
97
103
102
115
116
116
116
116
117
116
106
114
113
119
112
104
115
123
114
88
89
86
87
92
96
95
87
88
88
84
83
83
86
97
101
104
105
105
103
102
105
110
113
114
110
108
109
104
96
89
87
84
82
82
91
96
92
84
84
94
100
100
95
104
99
99
93
85
84
88
89
94
103
109
113
116
118
119
122
123
116
104
105
104
104
105
103
105
107
99
100
102
106
107
103
98
92
90
78
83
91
94
93
94
99
94
90
95
114
107
85
76
88
91
108
107
66
73
73
64
92
104
99
98
101
100
97
95
90
83
87
113
125
123
124
132
143
132
105
104
130
164
94
94
109
90
79
106
128
103
73
43
31
28
29
34
41
59
81
103
145
161
165
170
185
194
189
188
192
197
169
126
103
76
59
73
74
77
72
63
74
82
77
73
106
61
107
194
202
158
139
115
101
85
81
95
105
119
110
103
93
84
81
79
72
65
54
57
71
83
96
109
106
110
120
127
115
96
91
100
106
98
70
98
156
101
69
98
99
64
81
97
124
126
156
132
129
114
152
168
183
124
111
128
95
104
66
37
24
39
39
100
134
165
146
159
153
158
142
104
83
77
74
42
48
72
69
60
51
44
69
109
137
141
120
101
94
59
63
96
114
114
98
93
129
145
131
120
135
128
97
81
102
106
104
97
85
94
95
101
109
109
121
126
117
116
122
125
115
100
114
107
106
105
106
124
137
127
90
91
84
84
97
104
101
91
91
89
85
83
84
84
85
92
102
110
108
98
91
96
102
107
107
103
107
111
108
97
87
88
91
94
97
105
99
87
77
80
94
104
107
99
106
104
105
100
93
89
94
98
100
100
102
103
104
114
115
117
118
113
106
109
111
107
101
97
100
102
91
97
100
101
100
94
89
87
87
87
95
100
100
97
97
100
107
94
104
120
109
92
91
81
87
100
97
71
73
70
75
105
110
92
89
102
103
92
88
86
82
78
88
94
128
136
159
161
136
123
113
94
133
144
114
112
112
109
118
129
91
47
26
40
57
72
109
129
153
172
183
189
187
191
194
199
195
185
176
134
99
88
71
72
62
57
84
97
75
72
72
82
87
85
86
92
87
49
53
130
195
190
158
116
95
75
68
112
118
137
117
105
109
104
89
97
81
65
54
59
77
98
107
123
116
123
132
113
83
84
112
92
118
74
77
158
113
67
65
69
60
101
104
114
116
172
127
144
152
177
159
191
103
125
135
90
97
67
30
19
54
23
93
150
165
137
145
165
172
145
123
121
118
103
82
83
95
116
112
92
80
83
107
120
122
121
108
101
89
76
95
119
136
121
98
129
132
117
113
134
132
111
106
132
132
123
116
76
83
83
90
110
112
125
121
109
102
103
96
87
107
113
106
107
111
118
136
140
120
80
83
108
127
123
109
99
94
94
93
97
100
102
102
104
98
93
94
91
94
96
94
95
95
90
85
92
100
92
86
85
94
107
112
110
102
92
80
75
83
92
98
99
97
116
110
108
102
100
105
113
117
118
109
103
103
103
107
102
101
107
115
103
91
90
96
96
89
81
82
94
90
94
97
96
91
92
95
98
91
89
85
86
94
104
111
114
94
103
100
86
90
107
106
92
72
74
99
86
79
90
80
84
109
114
88
92
91
84
80
90
100
98
94
96
108
129
151
147
121
124
157
121
103
135
129
120
136
151
124
120
129
184
203
213
217
210
217
216
199
182
140
121
101
98
97
91
79
71
34
63
76
63
48
44
61
84
70
46
49
63
73
80
87
92
98
83
105
84
82
84
57
137
192
175
126
67
48
86
94
98
106
112
114
107
95
107
102
94
81
71
83
100
104
107
117
134
140
127
97
76
79
128
108
58
123
122
96
71
102
119
74
95
126
142
143
160
111
160
133
178
184
130
119
101
97
73
55
32
31
33
29
69
150
151
180
128
143
157
149
140
125
122
141
113
93
48
56
55
51
51
83
91
104
120
153
142
120
80
115
123
87
89
116
110
139
127
113
109
114
109
112
128
130
130
124
121
69
85
95
103
106
99
108
101
98
92
83
78
80
94
101
94
91
87
85
104
119
111
87
105
122
122
107
101
102
88
89
95
105
113
118
121
114
116
123
126
102
96
101
100
95
88
82
80
82
86
90
87
89
100
107
105
98
80
78
79
86
90
91
87
83
100
103
100
104
106
102
103
101
105
108
102
102
106
110
105
103
101
100
104
93
80
91
98
101
95
85
84
96
97
98
101
101
97
91
84
80
93
93
95
107
123
131
131
108
84
94
92
84
78
72
84
87
84
100
91
71
92
109
119
118
111
102
91
103
93
95
88
86
97
96
93
109
127
127
111
121
153
142
92
86
141
111
102
103
95
94
105
103
104
105
100
100
107
95
98
104
113
112
96
90
87
91
105
99
55
18
39
45
44
26
19
18
31
61
61
50
52
58
63
80
95
92
96
86
112
107
105
96
75
80
39
107
204
121
84
59
42
56
71
79
88
94
90
86
80
82
89
84
79
84
112
125
125
106
93
97
103
104
87
96
123
71
96
140
116
89
91
112
103
137
138
132
139
141
147
132
129
123
148
171
149
95
121
84
48
13
23
37
52
92
98
166
154
92
126
128
149
166
120
68
75
107
112
147
112
87
79
59
89
82
88
99
137
139
117
71
55
69
107
133
108
149
117
115
118
122
123
120
122
126
115
113
129
143
73
83
89
104
116
103
105
121
108
100
105
106
104
98
111
107
94
77
76
90
108
119
87
67
76
90
86
76
74
75
73
84
98
109
115
117
111
118
125
122
99
97
100
95
85
82
84
81
74
65
69
69
77
81
82
86
91
97
101
108
110
109
108
110
110
108
90
97
108
111
108
102
134
121
108
102
106
108
109
114
117
117
110
104
104
106
108
109
109
105
96
85
70
80
88
96
94
82
74
80
91
73
84
96
93
92
99
107
73
73
89
88
82
85
94
97
96
106
112
70
82
112
106
105
107
106
93
78
75
75
66
58
62
72
79
82
74
75
76
76
72
83
122
160
178
163
147
139
127
117
121
127
110
100
93
80
67
65
99
99
76
82
79
104
114
146
129
49
30
36
30
40
37
46
40
27
29
39
47
52
61
64
64
85
104
91
66
84
78
86
83
100
106
85
79
99
112
62
208
201
123
75
49
45
64
72
81
72
95
87
76
68
61
53
38
55
54
99
131
112
100
110
106
100
80
74
85
95
109
108
71
47
51
110
139
157
116
131
88
119
162
101
107
101
146
140
142
129
98
89
31
32
43
81
98
119
162
162
133
117
145
160
124
101
104
104
123
123
103
119
100
122
159
150
136
113
122
128
157
96
54
80
90
88
124
120
123
131
139
136
119
111
116
108
91
134
151
132
119
85
94
100
111
117
104
105
101
96
99
110
112
111
107
117
114
103
81
68
69
79
85
87
68
59
69
71
68
70
71
70
83
95
107
112
113
118
121
120
112
97
98
101
94
88
89
88
83
75
69
81
81
87
92
93
100
107
108
101
98
98
99
100
106
112
104
89
92
101
110
120
126
120
114
107
111
114
113
111
121
123
122
118
116
120
119
111
112
109
99
92
88
80
77
83
89
89
81
75
80
90
79
85
92
83
74
73
75
53
52
70
74
73
79
89
86
85
78
67
56
68
80
71
68
69
72
67
60
65
75
66
57
59
70
82
90
101
91
83
77
72
72
89
106
155
187
191
179
160
137
123
129
103
98
109
94
76
63
48
65
58
73
93
139
131
133
114
40
24
36
38
52
41
47
43
34
34
39
43
47
45
61
84
100
89
70
63
82
69
72
87
103
99
80
89
91
81
75
100
188
181
101
78
43
58
77
67
75
88
85
81
77
76
70
59
61
43
58
90
102
112
124
122
93
77
80
97
130
118
121
81
69
57
91
106
109
118
133
116
151
111
68
95
96
117
142
150
148
108
73
16
45
66
102
115
132
165
166
155
128
134
133
107
97
109
109
122
120
111
97
103
154
165
161
149
132
123
114
130
80
56
81
96
92
111
102
100
111
108
110
115
119
122
124
128
135
121
95
97
93
104
112
111
102
93
87
94
91
94
102
103
104
99
110
108
100
86
74
68
68
71
96
80
69
92
98
81
83
82
77
77
89
101
108
110
108
111
110
105
95
96
97
99
95
93
87
79
83
79
80
82
86
87
87
97
100
88
82
87
97
95
83
85
94
98
113
118
112
102
98
97
104
101
97
101
110
121
129
121
118
113
107
106
106
102
95
104
102
89
85
93
86
85
80
75
71
65
59
59
61
44
52
66
70
71
76
76
67
68
75
75
75
77
82
84
87
81
72
92
80
57
60
66
81
94
93
78
71
64
61
58
62
75
93
108
110
96
86
89
96
95
87
79
74
143
179
175
172
158
123
127
134
115
125
144
126
103
121
129
115
97
104
132
112
103
92
52
41
41
41
46
49
51
63
73
70
60
49
41
63
70
70
75
77
70
65
45
47
48
66
61
57
77
95
83
93
83
82
67
107
203
169
111
52
49
73
79
83
87
86
88
88
88
88
79
77
59
52
66
76
99
133
111
86
86
81
156
94
112
74
64
111
60
103
99
92
76
97
82
72
75
89
86
108
155
137
158
128
66
37
50
104
116
77
94
146
152
147
122
131
145
152
163
166
151
117
125
126
153
135
143
161
101
90
95
50
70
99
111
105
100
91
84
93
105
87
81
115
130
120
131
152
143
110
96
103
112
117
66
79
94
97
108
109
93
86
79
76
76
81
96
103
84
79
74
77
90
106
123
135
143
134
114
91
72
79
103
83
73
62
70
84
96
102
103
101
95
84
84
98
109
99
91
83
77
77
91
82
72
80
90
94
98
110
108
76
80
86
87
82
79
87
97
97
94
98
101
100
100
99
91
92
95
102
100
96
94
99
99
98
96
96
99
96
99
106
112
111
108
105
93
87
79
72
69
69
69
71
75
63
61
61
56
52
55
57
58
66
72
64
59
61
66
50
49
58
73
58
46
43
53
56
67
79
84
79
79
84
91
95
91
91
95
93
75
72
73
77
81
82
79
74
93
75
76
91
129
157
156
149
143
110
132
102
86
139
142
124
121
106
93
68
75
91
99
113
114
101
91
69
73
63
61
58
56
68
76
65
69
71
75
76
63
53
55
53
44
49
64
61
55
60
36
73
62
80
83
91
91
56
136
208
160
80
57
74
82
89
91
88
84
87
94
90
104
95
79
72
60
52
59
82
107
125
105
140
110
100
96
55
69
129
122
107
150
158
94
102
78
50
33
41
61
82
85
127
119
88
36
84
89
110
123
136
138
122
133
141
149
169
181
187
182
173
160
99
152
160
103
95
94
67
93
121
107
45
22
17
39
84
101
106
104
103
85
101
106
114
124
140
151
150
146
105
92
95
99
68
78
92
93
110
109
87
80
83
87
84
81
91
103
100
93
84
78
76
81
99
115
124
131
119
101
106
124
128
72
65
59
70
84
93
98
91
84
80
81
96
104
109
90
89
88
83
83
93
85
76
82
89
92
95
105
103
87
89
88
82
82
88
95
95
96
100
104
102
94
88
84
92
92
95
101
96
86
79
85
90
95
95
97
102
103
101
99
100
102
98
90
90
77
71
66
66
68
71
79
86
72
76
77
69
65
69
74
92
98
82
59
46
47
54
71
60
50
46
39
45
54
43
36
41
62
80
85
77
81
91
97
92
86
87
82
59
66
74
83
92
98
99
96
96
103
99
109
127
137
136
166
148
127
131
108
110
150
106
106
126
110
88
75
98
116
109
117
113
107
116
116
80
72
70
61
58
78
88
68
77
70
56
49
46
48
56
52
41
55
60
63
63
56
56
52
66
88
48
105
88
76
47
178
195
125
107
65
78
87
94
88
81
81
86
93
97
94
88
83
75
59
46
57
92
117
107
113
127
95
113
68
52
131
127
132
167
128
92
117
91
68
54
58
55
48
55
71
57
70
53
71
73
107
128
138
144
133
132
139
133
151
171
181
184
187
124
97
158
155
111
110
102
76
106
113
118
46
34
29
24
79
86
91
103
109
104
121
116
113
122
132
138
139
140
102
86
79
76
84
85
94
98
79
86
93
85
87
86
81
80
81
76
102
109
98
79
65
62
72
87
95
90
102
122
109
85
85
76
72
81
88
91
99
107
102
99
97
96
92
86
81
92
88
91
100
105
95
94
92
103
114
114
107
99
91
89
93
94
87
89
94
90
76
85
80
83
91
100
108
110
94
84
83
98
96
91
86
90
87
88
91
92
89
89
91
97
92
73
58
58
78
75
83
90
92
93
96
98
98
92
92
90
87
83
84
88
83
81
72
79
92
94
87
81
80
81
86
90
74
55
55
50
49
56
74
86
78
67
69
57
57
73
80
80
103
100
101
104
107
107
109
113
109
103
111
112
105
106
117
115
113
128
107
124
124
118
105
105
108
100
94
128
123
94
122
132
121
129
151
113
86
105
105
85
82
108
130
132
106
92
76
57
46
51
63
53
58
68
61
60
63
60
69
72
70
71
57
58
80
86
89
107
76
154
218
87
60
74
90
97
95
87
77
85
93
106
116
105
83
64
59
66
59
61
81
99
97
90
119
92
62
109
151
151
127
138
123
110
99
80
78
84
95
98
82
96
79
45
58
58
72
105
115
132
159
140
113
149
146
159
173
147
121
133
136
128
147
152
73
14
38
66
82
131
148
53
37
23
55
108
125
100
93
92
68
53
54
51
60
73
64
53
60
43
38
48
57
68
77
95
107
122
116
100
81
85
87
85
84
82
73
75
87
93
92
93
89
87
89
113
118
123
124
101
81
81
74
76
93
96
93
89
88
89
90
92
93
91
87
83
91
94
97
96
91
100
112
113
112
108
107
110
113
106
86
85
89
92
90
85
85
87
84
86
85
86
88
95
98
88
88
92
95
91
85
83
79
79
81
85
89
82
81
81
77
70
67
72
83
92
90
95
97
94
91
89
85
81
80
81
80
77
76
79
81
102
97
123
130
125
127
139
124
117
108
101
96
95
95
71
63
55
48
46
48
58
71
73
71
81
97
103
97
91
99
107
111
105
101
103
105
100
111
113
110
109
113
118
111
108
85
104
160
138
105
109
99
99
105
112
126
106
122
116
108
107
115
122
102
113
99
86
80
74
68
72
81
82
82
63
58
77
96
102
94
98
61
54
81
101
95
98
91
73
61
71
76
84
89
97
112
94
73
131
171
135
98
65
59
61
58
64
78
92
104
108
109
108
100
89
96
83
72
64
60
67
83
100
96
129
187
148
123
127
144
114
87
71
65
73
73
73
69
101
81
68
95
84
89
57
62
89
120
126
103
97
163
151
139
158
168
153
145
132
131
89
71
64
64
69
74
83
102
105
89
89
76
79
77
67
63
67
66
54
47
64
92
89
65
72
85
66
71
105
145
169
74
86
99
109
130
126
108
86
87
89
87
85
82
80
75
81
80
77
81
83
84
88
98
106
107
104
89
79
85
115
111
104
102
97
91
85
84
85
84
87
94
97
98
100
96
90
86
86
102
111
102
101
98
98
101
104
101
89
85
89
93
87
74
75
85
88
96
95
91
86
86
86
83
87
90
86
80
80
84
94
86
80
77
77
79
83
88
82
75
74
79
87
92
85
89
91
89
88
88
85
82
78
82
82
82
87
91
93
102
98
114
120
119
127
140
127
123
118
113
95
82
73
74
71
65
61
55
49
44
69
64
61
65
77
86
86
90
102
113
114
106
100
99
99
104
114
113
115
122
126
123
119
109
75
103
152
130
109
109
98
101
110
114
111
90
102
93
91
103
113
112
106
97
95
95
95
85
69
58
56
75
74
61
52
53
54
50
99
99
77
71
86
97
91
109
107
98
89
97
97
94
98
117
119
103
86
94
203
158
126
101
91
79
61
70
103
108
105
95
97
112
119
117
124
95
85
79
67
65
76
91
101
120
167
169
161
153
124
114
109
105
96
92
87
79
103
99
72
90
92
71
95
74
74
76
82
82
78
98
160
153
137
143
146
138
135
138
113
78
61
58
66
71
94
74
72
94
85
77
80
60
47
46
56
57
61
90
92
91
91
85
76
75
63
40
44
76
114
137
86
90
92
87
88
99
98
88
84
81
78
74
73
86
86
88
80
72
73
71
67
65
77
93
102
102
100
104
106
112
107
96
97
101
97
92
92
98
109
114
103
94
89
84
83
84
93
105
101
87
82
93
101
96
90
89
94
93
89
94
99
95
86
91
101
85
102
107
105
98
92
86
80
86
88
68
68
79
87
91
86
84
85
86
87
90
89
90
92
94
92
89
95
92
91
89
87
89
93
94
92
92
92
87
85
92
97
99
102
113
111
108
114
114
108
112
95
83
89
106
108
109
102
89
77
73
67
62
64
42
37
39
43
47
62
73
79
95
109
105
97
94
92
89
100
106
111
114
108
95
86
86
79
87
120
112
84
92
84
84
104
121
116
112
107
102
93
80
72
73
85
117
114
117
110
91
78
78
82
83
78
82
106
117
104
88
85
86
73
96
94
79
72
73
58
55
60
66
79
89
90
77
80
121
124
146
168
117
186
159
126
99
82
71
70
84
96
105
105
107
110
109
105
121
129
118
99
80
77
89
97
93
90
93
107
128
145
174
174
170
149
116
92
87
82
89
69
82
70
43
70
69
87
96
84
88
89
67
66
89
113
137
136
116
111
126
109
115
94
77
87
95
85
57
68
63
52
53
70
104
112
73
60
64
53
66
81
83
109
99
74
56
21
21
71
64
73
96
117
86
78
80
82
74
77
79
90
87
88
89
84
79
89
96
95
81
67
65
65
67
70
68
80
86
84
83
80
72
98
100
103
109
112
106
95
99
99
99
95
85
84
84
104
111
109
95
78
80
87
103
108
109
99
88
85
89
93
93
95
93
91
91
93
94
100
97
95
94
89
84
78
83
91
94
78
79
86
91
103
94
85
83
82
89
95
88
87
90
99
100
93
86
83
80
76
74
80
90
96
96
100
98
88
85
95
103
106
97
90
110
106
86
74
78
87
83
90
105
111
111
116
103
94
85
77
63
56
84
90
81
78
66
45
45
51
83
97
107
107
107
111
113
111
120
126
132
123
109
112
128
140
115
121
108
106
100
103
95
90
105
116
99
78
77
77
86
82
72
84
112
106
101
76
65
75
77
68
74
93
63
52
46
57
75
84
82
69
68
80
85
91
88
76
62
43
48
71
84
85
79
64
86
64
83
92
90
123
115
139
141
115
101
115
129
140
137
133
125
112
106
114
128
130
134
122
117
113
101
93
85
87
94
111
115
118
118
109
117
135
155
164
138
110
63
82
102
76
79
86
62
74
75
76
78
110
123
108
124
59
33
32
47
58
57
55
50
31
33
49
48
64
103
102
83
61
77
74
61
94
54
40
49
44
27
69
129
73
77
63
40
32
42
44
39
69
94
127
145
85
86
88
85
71
90
115
116
86
73
78
76
70
89
103
95
83
70
65
64
68
71
67
84
105
100
94
97
91
86
83
89
99
95
93
98
101
90
76
69
75
78
75
100
100
94
84
78
85
88
91
86
82
77
73
70
72
83
87
94
96
89
84
91
103
97
85
85
90
90
84
77
88
99
98
66
70
85
93
91
83
80
78
76
89
87
80
89
91
84
83
87
84
84
89
88
81
78
84
91
94
96
94
91
95
103
105
101
97
84
100
103
95
89
86
63
65
67
74
100
96
87
81
89
87
79
67
58
77
98
104
102
91
75
61
46
56
82
100
98
100
114
117
110
117
135
128
119
121
129
134
133
120
108
98
92
95
104
106
104
121
121
95
99
81
91
82
80
83
87
98
105
86
100
92
71
72
85
84
74
65
59
52
50
69
78
64
61
55
59
69
76
80
82
52
46
60
91
63
51
71
75
81
92
72
81
98
90
96
136
154
138
123
131
151
160
175
145
162
184
159
158
160
154
155
143
146
148
128
135
110
107
114
98
111
120
108
114
111
95
90
119
160
153
125
99
74
75
91
105
105
77
92
80
60
64
83
86
78
54
44
36
34
44
58
64
47
36
84
98
92
87
89
98
72
95
85
103
85
63
67
73
70
63
46
61
109
89
82
63
35
31
51
55
39
66
86
112
133
97
90
82
78
76
93
113
100
88
81
77
69
68
69
78
75
69
64
63
66
75
79
87
118
132
128
132
121
92
72
85
86
86
84
81
81
85
83
81
80
81
81
82
77
80
83
84
87
88
83
75
72
70
74
81
83
79
88
86
85
84
80
78
82
89
87
92
95
97
97
95
94
93
90
81
77
85
89
85
77
79
88
89
83
83
81
83
84
81
78
85
101
110
110
112
110
101
95
92
91
90
92
98
95
89
88
89
90
79
83
116
110
95
90
90
94
88
79
74
82
78
74
105
106
100
100
102
93
83
72
68
67
72
85
89
79
45
37
43
71
98
111
115
116
131
103
106
132
144
108
59
75
107
104
82
86
88
100
87
96
91
91
107
86
83
90
86
86
92
99
99
82
105
93
80
87
105
109
105
106
85
74
86
102
110
101
82
95
105
84
69
68
72
71
66
70
64
54
59
58
51
65
68
71
62
84
112
125
85
57
43
45
56
86
112
94
105
121
85
76
94
84
101
69
154
170
177
185
169
174
153
137
137
116
106
103
92
107
113
111
104
105
96
96
153
148
130
103
82
67
48
45
45
54
63
67
76
105
138
116
111
111
103
88
70
58
44
39
41
41
54
76
88
92
129
130
112
73
58
36
51
68
83
95
78
73
109
145
123
118
115
95
90
90
74
66
80
108
122
76
75
77
80
70
63
57
66
73
82
77
70
72
68
71
68
62
56
56
62
77
88
104
120
134
132
125
120
116
108
118
100
93
88
89
93
91
90
84
77
65
67
71
70
78
82
79
76
81
85
91
93
92
89
87
86
90
97
93
87
82
81
83
86
87
79
94
94
87
80
77
78
84
90
94
89
87
87
86
79
82
88
84
71
73
76
78
81
87
91
94
92
78
81
79
78
77
76
78
83
87
89
87
86
86
87
87
88
87
79
87
88
87
89
88
80
79
80
84
89
88
87
76
80
83
91
99
98
104
96
85
73
68
72
80
88
79
70
49
30
37
60
75
76
56
49
82
107
100
81
69
117
112
83
74
71
73
96
98
74
70
77
78
94
78
76
84
85
85
89
84
79
76
88
85
80
91
105
101
92
92
104
123
129
114
103
106
115
112
90
99
112
103
81
81
73
75
82
93
101
98
95
113
111
103
100
89
82
84
57
65
103
127
133
125
114
135
145
148
121
128
148
84
102
157
153
89
51
36
56
85
131
174
180
185
175
152
114
101
88
94
110
65
39
60
71
79
91
123
159
172
133
110
86
76
86
114
125
111
81
92
100
98
100
106
109
66
61
104
91
63
58
73
110
133
106
106
42
31
37
67
74
64
65
58
57
97
81
120
117
90
96
109
122
143
93
87
109
130
80
79
76
78
77
72
65
59
69
81
83
73
71
69
67
66
62
55
53
60
73
83
99
119
136
135
119
106
104
120
121
103
96
89
91
101
97
94
87
80
71
75
80
64
71
73
69
69
79
85
78
84
87
88
85
90
100
95
94
89
82
81
85
88
89
82
84
79
74
74
81
88
101
96
92
94
90
80
69
72
73
77
73
64
76
81
87
87
88
92
93
93
90
77
73
71
74
74
74
76
80
76
72
75
78
80
81
82
83
74
83
86
85
80
72
68
68
73
78
77
74
75
86
83
73
68
71
80
110
97
89
78
68
62
63
74
98
81
67
63
56
50
64
86
60
66
100
119
110
97
95
104
96
84
70
64
76
100
86
63
72
84
75
87
68
84
93
89
85
88
81
77
77
78
84
98
104
91
84
91
96
97
119
142
135
114
105
127
128
106
102
104
98
86
57
66
76
74
116
135
120
124
132
105
91
90
90
123
111
91
85
102
117
111
97
90
113
167
144
108
121
113
108
58
159
98
55
78
40
92
123
125
104
99
144
171
173
168
168
142
97
60
51
69
99
109
113
106
107
122
134
123
97
92
110
122
126
116
94
71
74
65
58
67
83
88
93
84
133
127
93
71
65
109
136
114
83
55
51
51
65
76
69
71
70
64
64
88
116
118
105
103
92
105
142
104
113
124
128
76
77
79
79
72
61
52
69
73
89
94
78
63
65
60
67
73
75
73
73
78
84
118
131
123
126
132
124
110
111
104
105
104
87
86
104
104
100
94
86
81
79
80
87
79
71
68
76
76
67
82
84
87
90
93
93
91
82
87
86
80
77
81
87
88
84
92
91
87
84
85
87
97
98
96
78
72
77
85
73
71
73
70
63
75
77
76
79
83
85
83
80
85
78
79
83
91
92
87
81
80
73
81
88
87
84
88
97
104
96
95
93
93
91
84
76
76
78
81
71
71
75
87
83
75
73
79
76
80
72
75
82
84
77
69
69
63
89
110
110
98
84
73
64
51
131
117
86
75
75
74
116
99
95
74
90
92
59
61
69
66
65
68
64
82
82
85
72
74
93
89
67
69
79
78
73
80
86
80
73
86
75
86
117
125
111
103
90
84
78
76
73
69
67
72
56
66
79
78
98
103
99
116
100
114
124
104
78
96
124
126
125
133
115
105
123
96
73
84
66
72
109
75
121
105
115
126
129
137
80
87
112
138
120
82
70
88
84
89
77
72
92
117
107
116
112
111
112
113
110
106
83
112
135
115
82
85
77
38
75
97
96
96
109
103
78
75
91
89
78
92
106
102
92
59
65
73
121
68
42
91
101
77
71
88
102
83
72
92
140
144
105
113
125
89
110
108
100
98
64
64
64
66
68
68
66
82
101
112
107
91
74
75
81
91
92
84
80
87
92
90
84
86
94
109
123
127
126
110
123
104
90
101
111
109
106
92
80
81
102
103
99
81
81
78
74
68
75
79
84
90
93
92
91
95
95
77
67
65
68
73
84
92
91
86
85
80
80
83
84
81
88
94
91
76
70
73
81
86
83
81
81
82
79
76
65
68
72
73
75
78
90
91
85
81
86
89
90
89
90
92
83
73
74
87
94
92
100
99
98
98
92
85
79
75
80
82
83
78
76
80
81
81
80
76
72
76
91
87
88
88
88
92
98
102
97
71
54
56
67
77
80
75
140
120
88
86
85
106
120
109
114
93
99
87
64
65
76
70
61
62
70
63
65
71
74
67
66
73
68
62
68
69
72
74
72
72
81
92
99
97
93
88
87
91
97
86
85
95
73
70
78
70
87
85
89
102
107
109
122
126
124
129
134
134
138
131
101
126
141
127
114
131
154
151
147
134
126
120
124
135
131
114
103
95
98
96
86
80
82
87
87
123
113
111
106
107
111
99
109
110
94
87
100
99
100
111
137
159
144
103
113
108
69
29
34
51
48
47
78
90
72
58
59
57
62
42
64
83
101
91
93
96
95
80
58
81
80
65
81
65
46
57
56
57
51
64
55
53
66
85
105
130
151
113
112
114
110
59
55
55
65
70
71
74
97
112
116
107
92
78
84
87
93
89
75
69
76
85
85
77
84
97
109
117
119
119
112
116
65
97
136
130
107
94
90
85
94
108
99
87
79
77
72
67
67
73
78
84
88
88
87
87
92
92
75
65
63
70
80
93
99
94
91
83
78
80
85
85
83
89
93
88
77
72
74
81
78
78
81
86
91
81
73
61
66
72
75
77
82
92
87
79
73
79
87
91
86
81
88
85
80
83
93
96
94
102
101
103
104
100
92
86
85
86
86
83
78
73
71
71
75
81
85
87
90
99
90
94
93
89
88
95
106
82
61
46
46
54
62
64
58
131
134
114
106
109
105
116
114
99
94
80
82
80
63
74
67
65
76
82
68
79
66
73
72
73
80
75
79
112
98
85
76
65
56
63
78
101
107
107
105
110
124
136
91
112
105
101
109
103
87
98
97
90
104
117
102
114
122
125
134
137
128
125
125
162
150
116
87
100
134
131
150
143
145
131
101
94
94
76
100
113
87
79
86
86
80
79
81
80
127
126
125
110
114
96
72
78
78
91
106
47
55
68
80
90
108
113
103
92
57
26
23
27
29
35
34
56
97
121
126
118
103
84
58
59
78
89
74
82
83
99
84
47
54
67
65
62
60
55
61
47
44
48
41
42
52
71
83
85
84
86
64
64
68
67
63
59
66
82
72
66
69
70
84
92
92
90
85
89
85
93
97
90
82
78
78
74
81
90
104
110
110
112
116
91
105
138
160
134
94
93
122
115
101
85
83
89
90
79
76
74
76
79
78
74
87
84
82
83
86
86
84
78
77
84
88
87
91
97
96
88
76
77
82
85
85
85
90
88
78
73
71
69
72
74
71
69
70
75
75
71
75
65
58
63
76
86
86
79
76
78
81
83
82
80
81
89
96
101
104
104
98
91
87
89
96
100
100
98
96
92
91
93
83
74
80
78
93
93
97
99
96
91
82
82
87
91
90
88
86
85
93
90
88
81
67
58
54
47
56
157
133
102
119
100
110
98
117
95
91
91
77
86
76
96
98
80
68
67
69
79
75
66
66
74
65
64
84
81
87
102
108
103
103
109
116
118
119
127
141
153
158
159
155
94
98
97
91
100
90
98
70
62
129
107
94
90
107
140
164
157
131
80
125
115
105
117
140
137
113
98
65
80
83
81
115
134
134
112
113
140
172
170
132
100
52
68
70
71
72
81
62
71
73
62
59
57
127
140
99
76
73
85
71
42
32
40
59
81
68
28
16
26
23
20
49
84
93
95
108
117
132
123
142
147
138
137
133
137
145
147
134
94
62
36
40
44
64
65
46
45
31
47
46
46
47
56
80
115
141
125
140
150
144
63
66
71
73
70
63
56
49
57
61
73
88
90
80
80
86
86
78
68
61
57
57
64
79
102
112
107
102
102
97
89
78
83
92
102
103
85
84
78
78
100
91
76
79
79
80
82
83
78
76
81
77
77
87
93
92
89
80
80
86
88
81
78
77
72
64
75
86
89
85
81
81
95
89
78
85
89
87
87
75
80
86
90
90
87
86
67
60
54
57
69
79
81
80
79
80
80
80
78
82
88
92
86
83
82
83
84
85
89
95
98
95
94
101
108
104
96
98
96
99
100
82
79
80
77
73
69
74
94
103
112
116
111
102
99
99
91
86
86
87
88
96
95
85
88
100
114
129
126
87
82
103
98
106
91
110
115
81
79
82
76
72
83
74
57
55
60
65
80
92
81
84
79
81
79
74
76
90
104
110
127
125
115
103
90
68
47
49
51
73
89
93
89
88
83
98
108
114
129
136
143
149
132
125
130
132
134
140
119
123
127
141
144
120
119
146
93
95
93
101
114
102
132
108
159
154
118
80
80
107
125
84
63
58
26
42
54
52
44
41
62
71
111
98
70
76
75
60
44
48
59
39
39
59
89
97
79
62
60
78
107
117
95
73
61
49
23
17
89
84
99
124
78
116
134
135
108
99
109
107
79
70
86
73
56
65
40
51
54
54
49
53
71
100
122
134
139
147
145
63
68
70
69
74
69
62
58
60
64
76
93
95
81
83
84
83
74
65
63
65
70
62
61
73
83
86
93
101
96
82
93
75
59
62
67
87
91
86
75
78
79
74
64
65
68
71
74
79
81
79
73
75
85
90
86
81
85
81
84
87
83
80
75
65
76
75
79
79
75
77
83
85
79
68
81
87
87
87
83
86
88
85
81
83
86
65
63
61
62
66
71
75
82
78
77
77
79
79
82
86
85
84
86
87
86
85
85
97
104
103
96
94
102
112
101
88
88
90
99
96
65
70
60
57
67
86
98
89
114
122
120
105
84
75
78
92
95
98
90
79
82
88
87
88
83
103
112
90
75
103
67
114
115
107
110
102
114
101
100
95
93
89
54
48
65
73
80
88
87
62
55
56
69
86
109
137
152
136
109
97
80
58
49
54
57
54
49
53
73
82
94
94
82
98
87
95
112
113
124
137
134
138
149
147
121
99
108
124
144
160
173
169
135
120
121
70
73
75
91
99
84
129
97
103
95
92
97
120
148
139
101
73
68
52
62
53
70
60
69
96
87
87
80
69
45
37
57
74
70
57
31
65
69
65
87
93
94
113
118
144
164
160
144
111
74
68
75
147
101
91
110
47
79
88
108
121
109
108
120
91
76
91
68
48
61
41
32
37
43
46
59
85
116
135
126
127
134
141
64
68
66
58
64
62
54
56
59
65
69
75
88
83
75
77
75
69
65
67
75
81
66
66
69
68
69
79
93
85
98
111
93
80
88
102
81
84
82
78
83
95
108
85
78
74
77
81
84
88
89
85
85
88
86
80
81
82
84
84
82
81
79
74
67
72
80
73
64
68
75
72
70
79
88
85
90
102
110
102
97
92
84
78
94
82
71
77
77
77
83
84
87
95
91
92
95
92
96
101
99
97
103
114
121
120
112
106
109
101
88
76
75
87
96
105
112
108
94
75
65
60
73
71
75
93
113
123
116
98
98
97
89
73
62
63
83
84
78
73
78
83
90
98
89
96
100
82
73
65
47
62
105
121
115
116
113
118
108
82
75
69
52
87
89
78
62
49
55
65
60
80
142
148
143
126
117
118
115
105
94
79
66
64
64
62
64
70
65
59
65
74
82
86
85
98
102
98
121
116
96
123
114
133
153
152
157
138
92
52
49
62
56
72
106
137
106
77
79
74
75
99
100
98
129
101
101
134
118
115
100
131
126
106
109
108
116
95
102
80
42
57
73
87
90
108
54
88
129
77
58
67
77
115
111
124
117
66
84
98
119
149
170
174
153
125
87
108
49
96
110
59
45
65
69
100
126
140
123
76
60
60
79
91
71
52
37
55
64
55
59
61
57
69
70
72
67
66
66
72
70
65
60
59
57
55
57
58
62
63
63
73
82
79
80
77
72
69
72
72
73
61
66
82
86
86
100
122
162
156
111
90
83
82
84
64
92
120
122
79
71
73
85
85
86
88
88
80
79
79
74
69
73
83
93
100
103
96
85
78
81
85
83
77
87
84
85
75
67
68
70
74
73
70
78
93
96
90
88
89
89
86
83
90
91
94
98
96
93
91
87
91
86
74
76
86
87
85
92
100
78
77
84
87
82
75
72
86
87
108
105
101
100
97
103
110
109
103
91
85
84
75
76
78
81
77
68
70
103
97
94
99
105
103
91
78
81
73
62
60
60
59
61
66
73
74
76
88
83
60
40
71
80
81
125
145
134
145
128
122
116
103
85
59
76
44
46
70
76
90
147
108
97
97
112
125
127
126
128
120
99
80
72
68
64
65
63
67
81
86
89
91
92
96
114
112
114
122
120
145
114
112
129
147
151
154
123
110
121
101
76
72
63
60
78
87
87
95
103
118
128
97
79
117
120
142
147
154
146
122
134
125
119
103
89
102
114
104
128
126
125
145
92
22
0
65
89
100
130
93
52
63
174
175
122
165
164
112
130
120
117
121
130
131
121
102
118
104
108
80
78
72
73
93
103
75
71
88
68
51
52
63
73
66
57
40
75
114
107
108
127
124
130
146
137
144
153
157
72
68
66
65
60
57
56
52
56
63
62
56
63
84
73
76
77
76
80
82
83
80
72
70
80
79
73
75
87
76
75
103
110
95
77
69
87
102
111
99
59
66
77
88
90
93
91
89
81
75
74
73
70
74
83
94
100
93
92
89
83
81
83
84
83
89
84
85
76
71
74
76
83
71
66
89
91
89
89
91
91
89
87
87
87
93
95
93
86
81
80
76
91
79
66
67
76
73
72
79
87
79
71
73
76
74
74
77
95
90
95
92
94
101
104
97
99
97
99
102
94
92
103
97
91
87
78
68
80
112
102
89
84
85
83
70
66
75
74
68
71
73
72
71
66
74
70
70
78
74
58
59
86
74
76
116
141
159
166
134
112
102
86
65
58
67
67
90
106
101
105
101
94
106
119
126
129
130
125
119
120
110
101
102
103
101
102
106
112
119
117
117
122
128
142
153
142
136
138
135
159
119
122
135
143
144
150
141
121
109
102
102
107
111
105
102
104
100
101
90
91
103
83
87
128
156
174
147
143
135
129
114
111
109
108
114
114
112
141
153
143
152
68
57
58
55
86
121
146
122
67
13
77
152
126
132
175
150
144
153
155
157
157
153
137
116
113
109
109
89
55
72
69
82
87
71
64
85
65
57
64
62
68
78
82
74
45
85
132
118
100
113
117
123
128
144
154
166
171
79
70
67
72
67
67
73
69
65
67
67
61
64
77
68
73
79
87
96
98
92
82
76
83
87
88
89
91
90
96
88
89
92
90
84
77
72
79
83
82
76
78
84
80
86
88
84
82
82
79
84
85
85
79
78
79
81
83
91
95
92
87
84
85
84
80
86
82
74
77
77
67
60
72
84
68
61
71
86
88
83
72
75
83
76
89
95
90
85
92
103
100
105
112
106
104
103
99
103
109
108
86
80
88
93
91
92
100
85
87
101
91
83
84
85
95
94
92
96
97
89
89
91
70
52
53
56
58
79
79
86
88
83
80
85
89
89
97
92
79
77
79
75
71
75
88
100
114
122
122
124
98
78
72
89
73
82
113
105
115
129
136
130
119
118
143
136
107
82
92
114
107
111
116
114
107
109
120
126
124
120
112
101
97
89
78
73
71
68
66
71
79
88
93
104
106
99
89
98
76
42
43
75
114
140
154
162
150
131
104
121
124
69
47
79
112
131
141
148
131
118
116
85
107
111
123
125
120
129
135
112
105
109
108
118
137
147
133
114
136
140
121
111
97
47
117
152
42
33
131
103
40
51
126
118
108
159
142
98
139
141
152
164
174
171
158
170
178
174
171
116
68
102
143
158
119
60
54
49
51
45
54
58
64
71
65
42
87
103
96
97
99
103
123
128
131
132
133
131
81
75
72
73
70
71
76
77
84
84
76
73
79
79
77
79
84
83
77
77
80
74
81
90
88
83
85
96
108
124
127
144
139
126
103
79
80
77
73
71
85
88
82
85
80
82
91
91
83
87
88
87
87
84
77
71
78
94
90
88
91
94
93
87
78
81
83
83
88
85
73
64
70
81
84
85
83
85
94
70
72
77
79
79
78
82
93
88
84
88
92
84
91
101
94
99
97
90
98
111
107
96
87
86
95
105
104
98
94
101
90
88
96
102
100
78
88
96
103
83
79
99
114
99
72
53
54
70
82
61
67
73
83
95
96
93
102
100
99
98
96
95
96
98
88
94
114
122
114
104
103
102
116
105
96
64
62
113
136
146
151
154
162
132
97
96
99
60
59
92
96
121
122
98
107
131
135
133
131
118
102
76
85
99
74
69
87
65
57
114
113
98
75
46
79
87
93
79
78
66
80
88
90
109
133
141
143
143
160
141
138
147
128
72
53
116
130
124
145
140
126
121
76
85
168
126
134
156
163
172
165
134
120
111
100
115
101
85
90
75
79
104
94
111
100
77
55
144
88
50
67
39
103
121
101
114
127
114
100
156
143
164
168
187
177
165
177
175
114
125
109
60
116
166
186
140
80
155
59
58
40
54
62
71
80
71
71
79
56
71
103
101
91
95
96
110
120
125
120
83
80
79
80
72
72
75
77
86
89
84
80
81
72
72
75
82
83
80
85
90
86
90
93
86
77
76
85
96
112
113
114
107
105
97
78
78
80
78
77
92
94
93
84
86
91
93
90
83
87
87
83
82
85
83
82
87
93
90
87
89
91
90
84
75
66
87
93
98
88
67
52
65
75
84
98
91
79
73
72
75
80
87
86
79
80
86
82
78
80
85
81
94
106
102
105
104
94
98
108
107
87
82
83
93
101
98
91
102
102
85
88
101
104
99
87
92
93
97
95
95
109
87
87
80
71
67
66
49
60
66
72
83
96
97
91
87
85
86
90
95
95
93
90
101
81
91
98
94
90
91
87
99
98
62
45
54
84
102
110
131
151
151
122
121
98
100
73
77
99
99
112
104
105
132
153
140
124
117
105
102
85
98
99
77
72
65
72
110
93
57
45
54
67
73
91
97
68
63
57
67
70
87
113
131
137
143
144
151
168
159
85
76
99
79
125
131
143
134
112
146
131
94
98
140
131
176
166
182
174
178
151
125
140
143
138
101
96
102
100
117
100
123
121
103
78
99
91
50
56
31
64
97
126
120
99
105
123
123
161
152
183
185
186
160
153
170
169
131
114
82
55
123
169
185
168
121
86
57
41
73
51
67
101
97
73
97
103
83
88
112
116
109
111
118
119
116
109
103
84
86
86
83
74
75
78
84
86
84
79
76
77
73
87
88
91
88
81
84
92
91
89
80
68
58
57
66
75
83
83
64
71
97
110
101
96
90
85
81
81
80
77
89
100
105
95
89
92
86
76
75
75
78
84
89
91
96
93
91
92
92
92
85
80
78
74
75
75
81
84
79
74
79
80
97
92
76
68
85
79
76
76
80
80
79
71
71
68
67
70
72
100
109
102
94
91
90
92
95
95
102
98
98
103
107
102
94
77
85
102
118
131
126
111
105
102
89
73
78
79
74
69
76
74
67
66
77
99
93
89
78
72
79
82
77
109
104
102
100
96
87
77
69
68
80
100
108
100
89
83
82
80
84
87
92
101
105
133
104
87
116
167
165
129
117
114
116
132
123
113
101
71
85
114
135
132
121
105
86
89
89
101
100
97
108
100
105
80
44
61
59
48
50
61
81
99
75
60
56
64
65
66
88
123
135
127
173
160
92
107
81
79
144
141
137
146
109
142
97
67
60
111
161
142
120
144
146
147
177
162
183
171
172
162
140
112
91
103
77
99
99
136
133
150
110
98
97
124
81
95
108
98
136
147
95
80
109
116
139
143
158
142
142
127
153
154
178
139
103
126
124
109
124
151
128
176
61
85
73
45
38
52
66
66
73
52
52
61
68
95
129
134
130
146
149
152
143
138
82
80
74
68
73
77
78
81
74
66
62
65
73
87
80
82
86
80
70
72
77
78
71
68
66
66
67
73
77
114
114
123
126
130
122
102
78
85
98
117
117
99
86
96
98
99
98
98
95
89
91
93
92
87
84
87
92
103
102
102
103
104
105
103
100
109
93
84
72
75
83
76
65
76
86
96
90
83
84
81
82
88
93
91
73
69
70
73
68
67
70
73
91
91
77
61
67
81
82
76
78
86
83
82
89
96
98
94
91
97
84
80
87
91
88
79
80
85
87
106
115
108
91
96
92
82
76
76
72
83
89
91
100
119
126
111
95
96
96
89
79
74
76
81
112
101
98
94
93
94
98
109
108
104
129
110
108
140
120
98
81
92
123
166
170
175
169
162
164
139
113
78
65
76
101
128
135
120
104
100
88
69
97
144
136
110
98
77
85
81
51
59
75
63
60
45
63
72
61
61
80
78
101
96
80
96
128
169
172
132
163
146
112
105
92
140
147
172
95
98
127
90
151
103
112
138
111
102
170
140
171
182
170
136
120
133
136
135
101
140
95
109
109
178
73
55
89
81
72
58
52
76
105
138
151
139
113
103
107
114
124
138
149
177
133
132
187
185
164
130
144
158
130
103
152
196
138
73
78
49
53
57
45
48
73
77
51
70
81
88
97
114
127
133
140
142
141
126
113
85
82
75
70
77
77
73
71
70
71
75
80
82
82
79
83
89
85
76
79
88
88
84
83
82
79
78
77
76
102
95
99
97
101
109
108
98
103
109
116
99
87
85
98
98
101
102
99
89
91
99
96
91
86
88
95
99
106
105
105
105
106
105
104
101
115
96
86
71
77
89
83
60
71
80
95
92
87
86
83
84
87
91
86
71
71
73
75
71
66
72
74
78
82
76
67
75
87
82
73
78
86
85
85
90
95
94
89
88
93
76
75
88
99
101
95
83
84
88
98
100
87
82
79
67
58
62
74
81
89
109
118
114
111
107
97
101
103
108
111
114
118
125
131
113
99
104
116
129
137
141
125
133
146
122
109
131
163
146
171
172
145
140
157
131
166
167
159
164
151
125
91
71
66
79
111
128
112
92
90
86
76
107
135
124
114
107
98
97
71
70
88
96
85
72
55
67
67
75
89
110
128
130
123
137
175
177
103
123
170
158
114
97
97
113
121
144
144
88
150
97
83
162
47
118
124
103
81
139
138
155
173
170
127
125
144
131
84
127
76
92
123
129
148
22
102
91
115
88
51
64
52
101
166
195
167
120
110
126
107
108
120
132
163
124
142
175
181
194
172
167
159
117
57
134
157
142
91
48
28
33
30
39
63
69
52
24
62
75
95
106
109
122
132
128
100
91
81
73
77
75
76
79
69
65
66
66
70
80
92
93
83
72
92
97
93
83
85
98
103
99
84
89
87
81
77
78
81
78
81
86
83
80
83
89
104
86
79
86
77
73
78
102
99
106
99
76
77
61
63
75
78
82
99
112
107
104
101
100
96
94
87
76
68
58
82
96
97
85
78
76
75
69
69
82
80
82
85
79
82
82
81
84
90
88
94
93
85
76
71
77
79
81
85
87
86
85
78
77
85
108
113
114
104
89
88
97
104
90
97
91
91
96
92
72
75
75
73
75
78
78
93
81
74
79
86
93
97
93
92
93
94
88
74
70
68
73
84
87
91
100
95
74
74
84
91
83
85
94
95
103
118
114
110
139
163
99
95
106
111
99
80
70
73
83
71
99
123
124
140
82
126
90
75
94
116
123
126
125
110
112
107
107
121
135
140
149
145
109
86
53
51
82
66
65
96
110
98
108
113
130
165
131
119
71
65
130
30
36
84
106
107
140
144
95
111
117
152
143
119
189
70
112
103
116
149
144
133
132
128
172
158
104
106
101
138
117
84
91
82
93
173
29
122
118
109
90
105
102
119
15
99
151
122
95
121
159
170
117
152
167
170
176
150
123
113
143
185
170
178
149
125
124
88
63
60
91
88
57
43
35
52
60
55
58
43
69
72
73
74
73
73
77
80
91
113
142
160
68
66
65
65
59
60
63
69
72
75
75
71
69
84
87
89
87
85
94
105
101
89
80
76
76
80
79
74
68
67
75
89
89
98
120
140
119
103
89
91
91
88
93
93
103
71
71
130
102
93
67
73
82
93
98
97
95
104
99
89
84
82
84
85
86
82
81
83
82
76
75
74
81
76
77
86
82
82
85
98
95
86
78
78
93
95
92
94
93
87
85
83
70
77
81
82
87
95
93
91
97
105
108
111
106
95
90
91
93
103
105
90
91
98
97
87
85
82
81
87
79
71
74
82
96
103
97
83
76
78
80
77
74
75
82
89
90
101
96
87
82
74
80
103
96
95
84
76
91
114
125
127
145
124
163
144
105
93
99
97
88
84
90
63
31
46
95
95
85
115
117
102
94
104
115
117
115
122
120
109
137
135
113
93
88
97
106
134
130
87
58
93
128
114
107
113
120
96
147
112
127
134
113
130
115
119
94
72
69
96
127
122
128
146
135
121
134
145
132
149
184
92
167
148
79
95
91
126
165
122
110
135
177
152
170
153
129
124
129
164
72
100
77
89
74
100
101
77
94
87
84
47
127
135
86
103
164
177
150
108
138
162
180
182
157
151
164
154
111
118
122
82
57
51
56
86
107
51
42
42
29
55
58
47
52
56
64
72
82
99
116
129
132
131
126
145
147
155
158
65
65
63
61
56
59
63
72
71
69
68
68
70
83
81
84
84
83
90
99
97
89
86
81
80
82
81
77
72
78
84
92
92
98
115
132
115
104
94
95
97
96
95
100
81
51
76
134
85
103
90
92
91
91
95
104
100
101
98
91
83
82
81
82
82
79
84
82
76
70
71
74
91
87
87
94
89
90
93
102
96
81
70
70
94
99
99
95
87
83
81
80
74
74
77
80
87
97
96
93
95
104
106
108
105
96
88
85
96
109
98
83
85
90
88
86
86
81
73
76
85
90
82
84
89
88
79
68
69
64
73
78
80
84
91
93
90
89
75
79
98
93
92
116
100
98
84
77
89
106
114
105
127
122
145
92
94
83
90
73
76
102
108
60
54
74
70
76
85
92
98
72
80
62
68
93
106
106
101
97
131
130
106
80
75
89
107
117
113
99
119
120
111
113
130
104
82
141
75
87
103
131
118
108
110
139
120
93
79
85
94
99
124
134
110
122
132
122
131
149
167
131
164
105
72
84
108
128
145
131
125
125
181
158
155
154
148
120
113
118
75
156
62
79
93
136
132
80
80
72
79
54
116
117
87
114
157
163
156
104
138
165
170
168
151
136
136
150
96
96
107
89
73
57
71
101
113
64
52
50
39
85
76
63
76
75
93
116
114
112
114
120
123
123
122
141
129
116
104
70
76
79
74
67
69
69
77
72
68
71
81
88
75
72
78
82
80
78
82
87
90
95
94
87
77
73
77
82
86
87
97
100
96
94
95
105
110
113
115
112
104
94
51
67
107
125
108
141
171
173
117
89
102
97
72
64
86
88
89
89
85
81
78
76
74
82
73
62
64
77
89
81
77
77
81
78
84
92
100
100
95
90
91
101
100
92
88
87
92
93
88
74
78
82
85
90
95
91
86
90
92
95
100
103
104
102
100
94
102
88
90
94
93
94
100
95
92
97
110
96
82
69
62
60
65
69
67
66
75
75
76
84
89
89
89
88
91
99
101
87
62
48
49
41
37
34
31
24
22
32
84
119
109
72
73
38
30
38
49
59
55
46
51
64
54
38
33
42
34
20
40
50
71
83
63
32
23
17
6
15
7
8
19
24
21
15
29
23
45
22
35
79
97
45
154
96
36
37
13
27
91
101
116
151
77
111
154
135
101
86
105
138
132
104
93
106
137
129
184
169
167
159
164
114
118
112
106
130
136
68
144
183
147
154
164
150
137
112
108
120
138
56
61
43
105
109
78
112
112
106
79
49
40
80
129
143
150
168
104
150
174
154
159
151
123
108
96
110
121
120
133
134
148
142
118
87
78
65
47
55
90
56
48
68
65
87
86
96
110
121
118
105
85
71
53
62
74
80
73
85
92
88
76
73
70
71
74
74
74
79
85
78
76
78
82
87
91
90
85
80
80
76
68
60
57
60
63
75
83
103
99
96
98
104
105
117
124
116
98
90
82
54
33
48
92
109
77
80
61
81
98
87
71
84
85
110
104
93
80
67
64
65
69
83
79
73
73
80
85
84
73
68
67
72
73
84
96
85
85
79
73
72
76
74
71
60
54
58
63
63
65
53
61
68
71
71
64
61
68
74
76
74
74
76
78
78
67
78
83
86
75
69
81
89
110
126
119
70
54
46
52
51
52
53
53
51
54
46
42
55
80
85
65
52
63
52
68
68
35
31
42
28
44
48
60
68
69
100
155
141
53
64
114
104
84
92
76
66
73
95
101
74
75
59
69
69
56
52
70
93
70
54
53
70
88
100
104
99
97
109
109
90
70
59
58
37
40
47
60
48
28
29
23
31
19
24
41
60
93
63
82
95
50
72
117
90
121
147
189
190
166
150
126
149
128
106
164
130
132
156
157
143
71
108
121
103
103
99
111
188
127
142
148
145
137
145
139
142
122
100
68
72
83
130
103
48
76
80
96
121
89
76
76
86
133
176
175
138
130
102
104
105
87
105
96
116
115
103
130
137
50
61
80
102
117
92
73
72
106
113
73
89
105
86
75
79
82
85
85
83
80
81
84
81
83
85
83
72
83
94
96
81
72
65
75
74
73
74
76
78
80
81
85
86
88
94
100
97
90
84
84
77
72
70
68
63
82
69
81
81
86
98
97
99
117
118
103
88
81
78
35
85
104
90
86
52
44
82
77
71
84
102
92
66
93
95
91
83
82
87
81
72
70
60
65
73
76
72
66
71
69
64
64
71
71
64
62
61
68
65
49
64
65
67
61
54
53
61
71
65
57
56
52
51
54
62
68
69
76
71
56
55
65
65
56
61
69
68
59
61
78
94
125
125
119
106
84
80
77
76
81
71
59
60
68
73
75
81
86
71
60
79
95
97
95
76
54
47
48
52
57
88
94
92
95
135
155
128
73
98
108
114
116
106
101
81
79
96
112
101
88
103
92
88
81
86
106
110
36
45
46
47
54
77
98
101
89
100
93
87
88
81
69
70
41
59
56
67
63
50
53
53
44
45
42
80
99
81
50
67
60
56
80
89
96
89
184
172
146
138
117
130
121
139
123
171
133
118
149
108
90
112
134
108
99
100
76
111
147
110
159
138
135
163
151
156
139
100
109
25
54
73
125
150
105
76
90
100
112
113
79
81
114
123
129
128
107
100
112
130
143
146
104
83
76
78
96
115
76
29
56
99
98
72
73
62
63
96
72
48
66
60
73
58
69
86
106
113
112
111
115
120
106
104
112
110
69
79
87
83
69
69
70
66
69
74
77
77
74
66
73
80
89
96
104
111
113
112
104
101
97
96
98
96
92
91
81
79
75
79
85
86
85
88
88
94
97
96
101
131
101
85
86
80
75
86
78
84
88
89
72
48
29
83
89
91
85
84
85
82
79
80
74
70
67
63
58
52
70
77
82
74
72
74
74
71
70
78
87
91
99
92
91
86
77
72
72
75
67
59
70
82
95
105
111
105
97
112
100
93
92
92
91
89
101
100
108
116
121
121
118
97
106
114
114
108
107
104
112
117
111
99
99
100
95
89
86
93
102
107
112
108
92
106
107
99
96
99
107
116
118
127
141
153
134
107
102
114
119
117
124
117
104
101
83
85
91
97
103
109
97
85
93
105
111
106
92
74
66
48
31
28
38
56
73
87
119
123
115
109
98
92
95
94
90
73
96
106
98
97
80
78
85
85
82
84
73
60
48
48
69
87
92
78
68
100
66
65
100
121
134
137
103
135
139
107
137
101
102
93
89
90
82
70
67
75
83
102
99
113
136
146
119
120
130
77
80
47
72
59
68
90
85
54
42
55
70
76
59
69
44
80
121
70
62
158
174
180
179
166
145
108
113
102
83
68
74
71
76
87
58
46
57
71
78
83
75
77
66
73
47
55
77
106
119
131
129
123
124
129
135
118
127
143
143
74
65
57
58
80
76
65
64
70
77
82
82
81
79
90
87
89
100
111
113
105
96
93
91
90
90
90
91
91
84
83
77
82
91
103
111
107
100
96
89
66
71
93
67
72
114
153
150
121
99
89
71
65
66
65
66
62
73
75
75
71
68
71
77
79
76
69
62
57
54
55
57
66
64
63
64
65
68
70
73
78
78
79
79
74
73
66
70
72
77
84
96
104
113
118
112
99
89
98
120
137
93
91
101
105
99
96
99
100
107
121
118
107
94
84
98
109
115
107
96
103
108
90
100
102
103
105
98
83
78
86
97
100
90
77
74
109
111
103
93
100
115
125
132
113
136
145
128
133
140
120
107
98
96
108
104
97
92
69
72
92
112
103
106
131
123
99
85
92
98
91
101
99
92
85
71
42
15
6
13
25
37
44
54
73
92
103
85
92
122
132
125
108
95
98
121
123
103
119
104
66
89
69
82
115
128
123
102
94
108
111
105
94
100
121
114
90
89
103
73
79
59
50
58
73
101
142
128
98
103
75
53
61
94
118
133
132
165
138
155
148
87
97
122
145
142
98
73
78
100
136
128
123
116
128
135
111
100
109
137
126
95
88
92
90
97
107
107
102
53
34
56
102
91
62
85
122
113
136
150
161
143
100
102
102
118
97
105
117
122
115
107
106
106
103
73
70
75
73
70
69
65
61
66
67
65
64
71
80
86
86
85
85
95
90
91
101
110
107
95
86
81
83
86
86
86
89
93
73
89
89
87
94
104
119
89
92
95
96
93
109
136
55
60
88
124
145
134
108
78
70
77
79
70
75
88
66
66
68
69
72
79
86
89
84
78
74
69
66
65
64
73
69
67
74
76
81
84
83
90
89
88
91
80
82
70
75
80
85
91
102
112
114
111
104
98
102
110
117
117
85
98
114
118
108
99
95
107
111
111
104
100
101
104
110
107
103
100
104
101
96
92
99
101
102
102
95
83
79
88
89
83
78
73
81
102
105
95
89
98
110
115
120
100
139
142
151
146
131
128
112
104
103
101
99
94
82
68
80
95
102
106
124
122
99
88
86
96
94
88
111
111
107
97
80
54
33
24
26
11
16
20
28
47
66
71
65
77
109
107
92
73
63
99
98
95
91
86
74
64
79
71
78
103
116
109
105
112
99
101
99
87
101
127
107
95
64
83
57
61
80
81
110
99
120
155
136
103
107
78
60
60
92
96
101
142
133
140
192
131
82
84
104
94
110
79
73
87
107
143
130
111
130
159
103
58
89
91
89
85
95
118
116
97
123
116
87
67
53
55
68
100
94
91
118
140
128
151
162
146
143
116
124
121
124
82
107
108
98
82
77
85
90
89
77
76
81
75
66
57
49
50
68
61
49
56
68
83
91
89
82
72
81
86
96
103
100
90
85
87
92
97
97
89
80
82
90
80
79
94
137
149
122
96
107
112
110
103
93
91
98
80
77
71
81
94
80
104
84
74
87
93
85
97
113
59
60
63
75
83
86
85
82
91
92
90
83
72
57
47
58
64
75
81
78
87
98
89
94
89
94
109
80
70
88
94
97
96
94
99
106
94
98
100
99
99
103
102
99
106
112
112
110
112
114
114
100
101
96
92
96
106
115
103
106
103
90
92
112
128
129
122
109
98
93
84
85
57
65
60
62
86
95
87
97
97
83
66
70
91
114
131
137
105
136
135
131
129
116
124
122
123
98
100
97
74
69
62
82
109
113
113
126
114
101
93
89
83
74
78
68
73
79
90
112
125
115
93
77
65
62
59
67
69
54
41
33
36
29
28
35
38
22
51
63
50
39
29
22
55
70
62
59
72
72
112
125
85
94
100
78
82
82
86
88
98
125
105
113
117
133
105
101
132
166
170
172
192
167
85
88
125
161
157
132
135
141
145
86
147
100
75
115
144
103
77
68
72
105
84
63
61
42
66
81
60
119
160
187
147
134
129
91
96
114
92
79
61
57
60
78
94
113
115
97
127
144
143
155
148
102
89
80
83
65
83
91
94
95
105
116
109
93
65
90
122
136
60
64
70
74
71
65
61
61
72
83
86
86
83
69
72
76
83
86
81
76
81
90
85
86
87
90
94
92
88
100
86
91
118
117
111
121
113
109
109
118
114
114
131
72
55
59
87
102
52
43
84
70
109
103
65
97
107
85
84
82
85
88
91
87
84
90
86
85
86
88
86
78
82
84
83
83
88
93
93
81
78
78
86
98
113
116
119
112
106
105
107
106
108
106
104
102
101
97
91
85
81
95
106
104
97
101
105
100
92
97
81
85
88
81
74
103
111
108
97
122
122
113
85
77
79
87
81
75
74
90
88
87
87
89
91
94
91
73
67
85
107
114
112
109
98
102
118
127
123
119
120
121
114
102
88
106
114
104
90
85
82
90
100
98
88
54
45
38
44
64
85
110
100
100
106
115
121
117
113
111
83
81
84
81
86
90
85
65
68
77
90
95
88
82
59
69
72
57
85
66
62
69
81
77
84
107
104
138
124
97
94
93
69
75
102
116
86
109
100
70
73
77
87
113
84
125
174
177
166
163
158
153
151
133
156
149
104
145
152
155
75
183
157
97
106
111
68
57
54
54
76
94
146
137
59
59
88
67
82
84
67
57
73
82
77
83
64
73
54
55
70
90
61
40
70
66
53
95
106
114
142
118
92
121
140
134
116
103
99
61
51
50
49
80
91
136
169
165
152
64
71
78
79
72
70
71
71
77
84
88
90
88
72
74
78
83
84
80
77
83
91
80
86
94
103
106
98
87
67
77
81
122
136
115
103
100
101
105
112
112
110
116
82
77
68
82
105
59
59
60
57
95
93
69
99
99
88
93
96
99
97
95
91
91
95
85
87
96
104
99
90
91
89
87
93
97
94
87
86
84
83
90
98
110
114
120
114
109
110
112
113
114
109
109
110
110
100
88
87
94
106
113
105
93
97
108
111
113
105
85
89
85
77
74
94
92
107
117
120
108
80
69
61
63
69
68
66
75
82
77
75
79
88
93
91
88
88
91
111
128
118
104
114
109
112
120
124
116
110
110
110
106
98
94
107
113
104
84
69
68
85
88
52
49
43
62
89
110
117
113
95
89
86
89
99
99
86
79
82
75
89
96
90
99
117
119
91
97
147
148
139
114
79
58
61
61
68
103
72
76
104
99
93
106
125
117
114
97
89
97
103
95
97
113
89
81
113
114
78
67
71
79
82
63
92
149
175
159
160
150
150
138
121
148
132
131
131
162
150
106
168
110
65
82
77
43
37
49
62
113
123
113
126
90
60
78
78
85
96
93
86
73
60
58
63
55
74
60
64
82
86
47
44
68
58
52
115
138
165
184
164
126
135
149
131
128
127
113
81
78
80
82
112
137
150
158
140
128
98
97
92
82
72
79
86
86
80
76
79
84
86
82
85
87
87
83
77
77
82
85
95
101
104
103
100
90
81
75
78
77
121
146
122
91
85
83
76
80
107
102
95
124
110
101
130
160
62
63
145
135
85
51
64
73
46
75
80
87
89
87
90
97
102
105
101
96
94
96
92
88
96
98
97
87
84
79
73
80
81
82
87
91
104
111
111
106
104
108
113
115
118
113
109
110
116
118
118
127
139
109
98
91
90
98
102
96
93
83
85
96
92
87
93
108
133
145
147
112
97
114
91
82
83
92
98
100
84
91
88
85
85
87
87
85
99
140
128
82
76
89
97
109
107
118
127
131
131
129
131
137
117
99
90
103
106
96
75
69
59
51
50
87
104
102
101
98
90
89
94
99
84
75
66
56
43
41
65
94
116
126
123
119
134
152
149
129
129
151
135
142
148
128
130
89
102
106
63
80
104
81
63
82
110
90
68
119
107
141
137
123
125
95
74
108
107
119
121
92
80
111
135
125
108
94
103
112
83
86
101
82
101
113
107
95
105
99
80
88
74
125
90
73
104
44
47
47
48
71
160
88
103
134
122
119
117
88
103
144
160
147
107
99
106
100
72
64
28
25
42
64
84
104
83
84
102
113
148
178
185
192
149
111
138
159
136
137
124
115
115
115
108
109
132
152
140
125
118
78
68
56
51
62
67
69
83
79
80
87
91
90
90
85
90
89
83
80
81
84
82
83
87
90
93
91
80
68
61
45
161
167
150
141
124
93
91
86
92
93
92
101
60
64
83
115
138
104
89
95
85
74
111
118
98
77
99
95
92
92
97
102
104
102
102
110
105
101
97
94
92
95
96
92
85
90
99
102
102
104
104
102
98
102
110
114
108
104
106
107
105
102
107
118
124
121
120
122
119
112
103
113
114
103
100
106
110
104
108
98
96
93
98
108
151
143
123
115
115
105
105
102
95
90
86
82
84
80
81
74
64
57
54
58
68
92
81
80
90
95
91
95
105
106
106
107
111
112
106
101
105
108
115
95
78
62
46
42
55
75
93
107
98
80
100
95
85
75
74
82
74
73
77
77
73
79
96
113
120
108
126
137
145
162
158
130
131
140
115
104
106
104
99
96
97
115
82
111
131
96
92
80
97
91
54
68
116
83
99
142
146
105
97
116
86
87
91
124
120
88
84
68
58
59
80
86
76
76
66
85
82
72
99
87
127
104
90
145
110
111
87
59
122
69
49
93
87
105
104
168
77
91
133
112
104
148
127
76
149
152
131
118
117
90
47
31
40
30
21
18
0
12
40
84
90
86
118
125
152
195
187
150
92
106
153
135
121
115
127
120
123
129
115
129
159
126
124
132
73
62
51
52
73
76
74
78
78
83
93
97
92
89
91
95
93
85
79
79
79
75
89
90
95
102
100
84
66
51
65
180
154
129
108
59
89
89
92
95
77
80
97
75
73
72
68
76
108
100
102
104
73
115
162
121
74
92
86
79
81
86
89
85
80
96
103
99
95
92
86
80
92
96
98
100
102
102
98
97
101
103
103
101
110
120
110
105
102
104
107
106
104
113
127
129
116
110
116
118
112
94
96
98
95
99
109
113
104
113
100
94
97
107
121
167
130
106
107
134
124
98
94
87
80
68
57
61
75
72
69
68
69
73
80
84
85
76
86
95
82
75
83
88
91
92
99
108
113
111
104
112
111
108
59
44
44
47
78
86
95
101
98
92
96
91
88
78
69
77
98
113
114
107
87
67
68
85
93
90
118
140
150
152
155
135
96
104
117
98
99
100
90
87
101
106
108
68
100
124
114
91
83
90
67
36
74
86
63
108
146
147
117
89
86
80
92
101
135
125
85
87
78
55
64
88
78
58
87
93
108
101
74
121
69
104
92
119
140
96
81
132
48
117
94
86
118
102
146
128
156
93
101
104
96
135
140
95
109
126
123
117
101
78
68
74
34
47
25
22
36
18
24
42
82
57
45
80
89
161
164
158
148
112
126
166
144
136
125
131
112
115
133
128
148
151
114
124
141
57
56
59
67
86
89
88
84
88
84
77
82
97
98
93
89
86
84
83
81
80
78
88
93
94
85
78
81
90
87
99
95
58
57
73
117
124
101
88
90
108
103
79
64
62
65
86
107
87
81
132
119
82
43
30
59
80
73
68
64
70
81
81
71
67
80
78
75
74
72
79
87
95
94
94
89
83
86
92
96
93
95
93
85
97
93
93
105
114
119
124
122
121
118
108
97
96
100
102
97
90
87
88
89
88
88
88
88
77
89
139
140
122
112
116
94
92
75
73
120
124
132
122
106
94
90
85
84
82
83
83
81
80
80
81
86
86
87
81
72
70
85
104
117
110
93
88
96
111
120
122
106
73
46
74
90
96
96
92
84
81
87
92
103
110
117
107
99
105
114
118
98
114
100
100
117
119
103
84
77
120
136
140
143
141
122
100
117
148
123
112
114
99
77
86
97
91
72
83
105
117
82
94
85
80
76
76
87
102
114
120
134
115
100
111
99
106
124
123
137
128
83
79
104
87
83
86
103
100
75
113
134
135
76
92
72
94
91
121
116
109
85
94
148
93
105
94
83
118
173
161
99
144
184
163
147
141
108
108
121
134
133
115
79
55
51
58
79
47
53
38
34
36
18
34
43
80
85
80
135
172
181
144
106
125
154
124
125
154
144
117
132
139
118
119
152
150
137
106
46
45
52
69
97
90
80
68
79
85
87
95
102
73
77
79
79
75
68
63
65
67
87
91
89
85
86
96
106
94
92
87
82
88
106
128
105
107
107
99
81
81
81
110
81
65
91
125
87
68
80
93
70
22
14
58
73
63
63
69
71
64
64
74
85
74
72
73
74
73
71
74
66
68
74
94
100
103
103
90
90
90
89
86
104
114
113
108
109
109
106
103
100
91
86
81
80
83
85
86
85
89
95
101
105
105
101
98
92
88
131
108
96
105
103
107
108
110
122
100
88
109
114
115
122
120
108
97
85
106
100
92
81
72
70
74
105
108
102
87
75
75
85
92
90
89
92
96
91
71
47
40
60
93
123
107
98
99
91
86
85
91
91
89
91
99
96
98
103
107
109
121
120
97
95
101
77
55
69
92
119
138
143
137
123
98
76
88
71
43
64
82
81
80
80
73
84
92
91
93
79
106
97
96
67
64
77
76
73
86
86
90
103
106
105
96
135
139
128
147
139
105
106
102
112
106
132
140
122
112
104
98
125
98
88
98
94
73
108
78
41
40
128
94
103
122
141
88
115
169
104
116
108
116
130
142
144
131
122
85
86
92
88
86
95
106
110
57
79
81
67
73
49
43
59
55
56
80
110
159
125
90
107
140
146
172
104
92
146
140
125
130
108
96
111
139
138
133
115
47
46
53
69
91
83
72
72
75
85
96
97
87
76
84
86
84
77
68
64
69
73
88
89
89
91
97
104
107
109
113
99
89
87
110
129
122
104
88
87
96
83
71
77
57
66
109
129
51
40
81
78
31
0
31
66
54
72
70
82
91
81
75
77
79
82
74
76
77
74
72
71
62
66
74
95
100
100
96
91
90
87
88
91
99
108
102
90
89
92
88
88
89
80
81
82
83
83
83
83
83
88
93
99
103
102
97
93
95
93
100
79
89
104
89
84
75
98
127
94
91
93
98
102
110
109
98
96
106
116
110
99
85
77
76
82
109
112
104
86
73
72
81
90
103
102
100
80
51
40
45
79
108
128
99
95
104
109
102
99
97
97
92
92
101
109
115
111
100
99
112
120
91
80
85
88
71
62
68
69
78
84
86
86
81
67
52
50
38
46
86
108
106
99
82
68
75
87
67
75
85
116
108
109
79
80
84
62
79
81
98
102
100
104
102
112
123
135
143
136
117
105
99
82
104
102
130
132
115
117
104
95
114
115
100
97
82
78
112
72
54
70
81
71
130
123
137
88
117
166
98
87
120
148
155
147
143
148
145
98
108
119
111
92
78
71
58
46
87
65
50
65
53
38
48
48
56
88
115
150
160
107
116
145
140
166
120
98
138
132
134
126
86
92
126
136
109
69
46
63
65
67
68
65
63
61
66
67
69
71
67
62
72
78
79
78
75
72
71
75
78
89
94
95
97
103
105
104
98
110
111
103
88
102
99
94
111
116
109
80
84
106
76
72
73
78
78
50
59
80
75
38
29
70
108
126
106
84
82
92
84
89
103
106
107
93
92
96
95
91
88
81
83
83
83
87
88
84
89
93
88
88
91
89
107
110
87
84
91
86
90
92
88
91
93
88
79
73
74
76
80
79
82
87
88
86
83
89
103
97
92
93
89
81
92
99
115
111
79
81
70
71
61
58
63
78
106
120
118
115
109
100
93
89
90
92
100
102
92
84
91
105
116
119
84
67
51
57
91
129
136
132
119
91
88
78
67
83
79
78
78
76
80
92
96
89
73
56
50
54
51
55
33
40
58
67
86
90
65
109
139
159
161
143
114
92
105
132
133
132
128
101
75
75
107
116
108
83
82
113
106
108
70
55
75
84
97
72
64
71
66
69
59
40
113
103
114
140
108
82
100
81
100
85
99
116
103
86
88
129
147
130
149
123
60
50
83
126
79
72
61
46
130
168
93
95
125
159
154
80
144
149
116
119
142
150
161
149
131
147
152
119
86
77
72
83
84
56
80
77
70
67
130
82
52
66
77
83
97
102
94
118
147
152
161
142
127
136
131
156
133
94
122
124
122
106
86
77
89
86
78
66
57
55
50
60
57
62
72
78
74
67
71
68
69
75
75
67
63
62
84
91
96
99
101
102
103
101
100
100
99
98
93
90
94
92
88
84
64
89
133
121
114
108
52
22
91
43
42
96
111
89
90
71
35
79
110
138
137
120
110
106
105
103
99
108
113
113
109
106
99
86
67
67
51
78
72
74
89
91
100
112
91
122
132
96
80
83
88
106
101
87
87
86
84
82
84
87
90
90
92
97
102
102
96
91
98
88
87
90
84
86
92
92
116
108
73
79
81
72
62
51
52
69
87
95
96
99
87
78
81
85
90
98
84
108
125
124
113
107
102
96
44
73
101
130
132
116
105
103
93
84
61
48
46
56
69
78
89
94
80
67
81
76
65
66
73
62
51
70
90
115
127
123
120
119
114
114
131
140
141
142
127
106
101
91
111
97
92
102
98
81
66
124
99
93
88
88
118
116
111
70
59
63
90
59
94
117
75
65
77
33
46
127
103
119
124
110
106
100
98
93
107
92
121
121
95
122
137
135
84
127
35
38
26
95
123
42
56
77
51
152
131
47
76
162
143
155
116
124
102
145
157
123
135
149
129
128
155
137
125
101
119
129
109
102
98
101
104
97
112
43
72
70
59
59
57
86
92
132
169
168
146
139
139
136
142
144
150
128
111
126
123
102
82
88
90
73
77
77
68
53
51
49
60
65
75
81
80
69
65
64
62
65
71
72
67
64
63
83
90
95
98
101
102
103
98
98
96
95
92
90
87
88
88
84
84
73
85
113
118
81
44
15
53
82
33
47
114
101
119
98
33
49
95
110
125
134
134
128
115
103
98
109
115
114
109
106
106
98
103
88
84
100
81
71
81
82
83
107
123
86
114
133
99
86
92
94
103
93
87
84
81
84
90
97
98
97
88
87
91
94
97
93
89
88
76
73
79
77
78
83
100
99
86
73
77
81
89
72
63
63
80
96
104
110
101
97
95
101
101
94
87
86
106
122
115
95
77
60
47
53
107
120
116
99
84
82
74
78
84
81
77
78
84
88
101
105
99
91
97
101
111
84
64
63
59
62
95
108
116
110
97
96
103
109
113
121
134
139
133
109
84
78
115
95
100
123
121
91
64
72
114
91
83
85
98
126
122
100
58
61
55
65
101
127
108
76
75
75
76
96
112
112
119
110
108
109
92
94
83
85
87
105
118
110
125
160
135
64
100
31
5
31
94
87
70
83
60
56
184
164
107
96
115
126
174
114
130
89
136
148
105
139
171
136
156
148
115
139
139
144
142
137
159
118
111
101
91
58
51
75
72
71
78
68
91
105
138
167
169
155
140
143
147
147
146
149
128
116
132
129
87
113
119
78
74
91
101
90
55
55
61
70
81
92
88
70
56
53
47
50
56
65
72
74
76
75
87
93
98
99
101
101
102
95
90
83
82
81
81
80
79
86
86
87
92
85
80
52
58
52
47
78
59
74
52
70
114
107
89
89
84
108
99
95
98
100
104
123
142
125
100
100
110
114
109
105
103
95
80
155
150
97
117
89
79
81
104
120
90
92
121
93
86
100
102
97
91
92
87
82
85
93
101
100
97
88
86
87
88
90
89
87
86
78
76
76
75
75
78
75
106
115
99
95
98
94
83
80
78
82
83
84
95
88
84
81
81
82
78
72
55
63
62
55
52
62
79
89
72
93
101
111
112
107
106
114
127
130
104
100
98
94
78
82
74
63
59
56
42
49
50
54
50
33
33
75
111
90
68
56
54
58
55
45
56
72
91
90
77
72
81
80
100
114
120
121
95
62
57
76
86
90
92
98
94
92
105
87
75
52
70
75
70
101
94
85
91
87
89
86
95
104
99
115
125
111
118
107
84
104
113
122
115
113
145
66
144
74
145
150
146
139
90
53
70
137
116
174
74
0
51
117
125
133
108
114
116
132
128
135
163
164
159
127
122
119
156
134
138
164
153
140
89
113
99
89
59
87
92
101
91
98
109
86
107
153
173
169
167
151
140
154
157
152
147
121
109
130
131
134
79
67
122
68
76
79
71
62
67
72
78
82
80
69
58
51
50
53
59
66
72
79
84
85
81
87
93
97
98
100
100
100
90
87
80
83
85
85
86
90
99
101
97
96
93
96
85
69
74
63
64
92
82
111
148
115
90
95
90
93
98
96
97
103
105
100
98
98
120
128
124
109
94
87
89
81
85
67
127
107
111
91
66
76
86
90
96
128
99
134
118
101
95
93
91
97
94
97
95
87
76
72
74
78
82
83
82
81
80
77
76
79
82
86
83
79
79
80
108
87
69
76
96
93
99
95
95
91
84
76
73
78
83
90
94
87
74
62
54
75
93
111
121
115
99
87
79
77
69
66
81
101
111
116
116
120
116
84
67
55
46
29
27
36
50
53
56
69
79
74
72
76
86
111
138
128
102
96
109
119
130
132
119
103
92
84
76
76
74
66
81
84
101
96
71
54
51
88
89
108
101
101
84
68
48
49
43
62
64
93
80
114
78
69
107
104
69
92
111
83
102
116
106
106
100
97
87
83
91
136
129
87
103
53
99
142
164
101
105
80
126
71
36
29
47
136
123
70
80
105
112
134
113
119
113
89
126
143
132
162
174
150
139
141
122
140
144
152
129
119
119
69
63
56
40
71
96
79
90
99
161
156
78
103
144
170
165
158
160
118
148
162
165
156
122
107
132
131
77
53
52
66
73
74
72
69
73
75
74
76
82
81
70
59
55
56
65
70
74
76
80
83
81
75
79
86
92
96
99
100
102
90
87
84
86
91
91
92
97
101
101
101
97
98
106
86
75
84
71
60
81
92
123
109
108
74
79
109
95
103
103
98
97
99
105
106
104
111
124
127
119
105
96
92
87
87
76
114
118
104
86
80
79
88
96
104
133
101
129
121
101
85
82
86
93
91
95
94
86
75
72
75
80
86
84
82
80
79
79
79
82
81
82
90
97
98
97
94
76
68
84
90
75
74
88
87
82
72
63
57
52
54
64
72
67
62
68
79
99
107
117
122
117
107
103
102
74
85
80
88
100
105
109
103
92
78
45
32
25
25
44
63
84
92
84
79
86
88
80
75
77
91
118
132
119
91
91
109
119
127
132
121
95
90
88
91
101
94
70
43
67
103
84
63
68
91
83
83
96
86
105
85
77
74
42
21
55
68
95
82
59
78
103
104
71
82
127
80
74
97
108
117
122
109
108
100
88
80
119
114
70
80
97
118
179
81
82
75
116
147
66
71
68
68
99
93
99
84
74
115
152
88
118
91
52
100
139
134
159
167
130
147
135
112
148
154
147
119
148
155
105
87
46
36
65
97
92
86
97
148
133
104
126
131
154
168
160
159
110
144
156
155
150
122
113
135
134
71
46
56
75
43
57
66
68
67
61
60
78
77
73
65
58
60
79
68
75
84
87
84
75
67
61
71
79
88
94
99
100
100
91
89
97
97
93
92
96
99
99
106
103
93
95
85
92
89
88
90
88
85
89
92
95
99
105
106
105
102
101
106
110
109
104
101
101
102
97
102
90
105
111
110
130
119
94
86
90
105
115
103
100
114
118
113
122
124
104
115
115
79
66
80
86
67
74
84
87
85
83
79
77
82
99
97
86
83
77
75
86
87
90
115
124
112
102
106
93
73
64
71
50
45
54
58
76
81
81
87
86
94
110
126
123
106
98
94
88
82
82
83
84
82
77
73
69
69
39
35
39
59
77
71
61
40
49
82
91
100
94
94
102
108
108
107
92
98
94
90
93
99
110
128
129
103
74
64
85
96
86
87
105
123
117
109
107
110
97
75
89
78
111
97
89
84
66
47
55
62
86
101
88
95
95
64
78
105
83
44
54
106
89
96
101
85
90
102
72
85
103
123
136
124
103
93
98
83
106
84
73
62
105
89
120
98
119
73
70
121
89
111
128
92
54
109
133
38
136
100
129
90
116
134
113
64
93
171
151
127
95
94
132
137
153
161
144
143
168
173
111
140
114
79
83
93
83
95
139
128
133
134
148
113
92
132
174
167
146
110
135
126
160
158
126
128
139
142
114
110
107
83
70
86
94
89
67
60
62
65
62
58
52
47
50
65
78
76
73
73
73
71
68
64
67
75
84
90
95
96
95
91
88
91
92
91
93
96
95
100
94
87
94
87
88
99
101
105
108
107
100
102
103
105
107
110
110
108
105
105
105
105
104
103
103
103
104
104
92
95
92
141
165
115
128
132
125
83
100
111
96
112
110
105
101
103
118
126
125
127
104
103
111
101
88
88
84
77
82
97
102
91
84
85
79
79
91
96
94
92
94
90
62
62
65
67
70
75
85
90
86
97
98
90
86
78
71
78
91
92
106
116
123
114
100
95
90
73
68
74
82
85
85
80
77
77
77
86
101
112
123
122
108
104
109
96
84
90
81
70
86
101
117
130
128
85
75
80
79
87
108
131
142
116
96
86
85
91
99
106
119
133
132
119
114
127
126
109
104
106
128
99
90
102
107
96
100
98
121
124
96
109
97
92
111
105
82
74
82
94
90
93
99
108
122
120
93
91
95
99
108
113
104
88
81
107
116
115
96
102
66
86
106
91
93
96
58
102
119
99
60
121
123
97
109
108
39
77
116
141
80
133
145
159
132
152
130
110
146
123
112
153
153
145
147
155
168
175
141
111
130
109
90
89
79
106
146
136
115
128
146
161
108
109
149
171
163
150
115
113
104
141
157
132
120
115
115
114
109
76
47
76
95
104
95
63
54
53
56
55
50
46
44
47
64
75
71
67
69
73
74
73
69
69
78
86
92
96
96
96
93
93
93
93
96
98
99
89
105
102
95
84
78
89
99
102
107
110
109
101
101
112
112
113
112
110
106
102
102
101
99
99
100
102
101
101
104
87
103
149
182
161
124
148
134
132
117
104
97
92
107
103
103
106
103
119
137
116
123
109
117
124
109
100
84
91
91
88
86
84
82
87
87
86
89
97
98
90
80
60
72
64
77
93
98
97
104
111
110
99
91
90
84
89
80
79
93
99
89
94
104
118
116
100
88
80
78
84
89
94
94
93
89
88
91
99
98
105
114
118
114
103
93
113
108
100
89
72
73
92
103
114
123
120
78
71
81
88
102
122
136
130
82
81
94
106
115
119
122
125
126
128
111
106
124
120
105
111
117
132
92
92
98
90
85
100
117
129
117
111
108
74
79
101
89
69
90
118
117
96
93
90
98
113
103
77
58
94
114
108
103
104
100
98
109
98
116
130
142
71
66
132
74
97
86
70
96
119
88
85
131
104
108
119
132
20
79
114
104
84
132
130
182
121
121
145
132
165
112
126
140
137
140
154
163
162
153
129
106
140
115
96
105
116
125
120
96
123
112
141
164
125
127
150
153
147
144
116
114
109
142
151
139
139
126
113
124
99
50
23
87
104
109
95
59
48
50
48
48
45
46
50
56
72
78
75
72
71
71
68
64
60
78
84
91
95
97
96
94
94
98
99
101
105
107
107
102
89
85
88
91
91
88
92
98
100
98
99
98
97
94
97
102
105
106
103
100
93
95
95
96
97
98
100
99
94
81
95
110
101
93
99
111
109
100
106
118
116
106
101
95
98
108
109
107
117
115
117
90
86
95
99
122
132
126
106
85
75
72
76
86
86
84
79
75
86
98
98
121
119
78
80
91
98
101
88
83
80
85
101
117
130
118
115
119
117
91
69
74
91
92
85
87
100
113
113
115
110
104
99
97
98
99
100
107
100
98
107
109
98
90
91
103
113
97
78
88
120
94
95
90
83
80
73
81
89
104
109
112
112
93
77
102
119
128
122
115
118
122
123
94
89
98
107
109
111
117
122
93
93
106
99
90
93
80
86
89
99
67
65
101
86
95
93
88
85
83
98
76
90
123
149
131
90
79
147
94
61
86
119
109
80
75
81
92
99
103
119
65
115
109
78
165
136
118
89
139
71
71
140
180
142
133
101
81
99
115
93
104
118
102
109
101
129
144
139
104
94
119
133
145
161
157
150
159
167
143
124
82
70
76
75
56
79
70
95
124
104
142
143
151
156
160
150
158
151
111
112
114
133
128
135
157
141
111
104
79
62
60
90
96
88
69
46
46
53
54
53
50
50
52
59
71
74
73
69
63
58
56
60
61
76
81
85
87
88
85
83
85
91
95
98
104
105
99
90
96
144
159
90
93
75
71
75
76
74
76
94
97
85
89
94
97
93
86
78
68
73
79
80
79
78
81
82
88
81
74
84
88
82
83
115
106
97
81
65
82
119
136
122
107
101
101
92
90
109
121
96
84
90
93
89
106
123
131
125
108
84
65
60
61
78
94
94
95
86
67
87
93
99
107
107
103
105
107
118
111
90
126
134
121
113
107
109
98
78
82
103
118
122
117
110
110
107
98
101
96
90
94
100
104
102
98
118
89
75
85
90
87
90
93
99
108
68
81
108
107
117
122
117
102
83
58
67
73
89
89
90
91
62
38
108
123
136
134
123
112
102
97
60
83
119
120
131
148
140
119
101
128
104
88
86
77
83
74
76
69
76
94
77
61
53
62
66
67
94
114
99
103
125
121
93
91
91
80
115
130
118
107
96
72
50
30
90
78
87
129
76
120
92
71
101
121
106
148
128
75
136
133
140
78
119
104
97
110
103
89
104
65
56
111
151
136
108
104
74
120
117
130
141
139
137
152
160
143
108
108
61
41
53
68
68
72
78
100
91
147
124
109
158
165
163
152
161
154
151
147
126
133
136
132
134
137
155
66
51
73
71
83
77
68
61
51
48
48
43
44
49
54
60
63
71
70
68
68
68
63
56
60
66
70
79
82
74
70
72
72
94
97
94
93
71
49
45
79
108
98
67
95
98
95
89
101
71
70
74
82
71
78
63
71
88
84
83
79
71
79
71
64
70
75
79
90
101
92
98
99
96
91
90
93
102
100
99
92
87
97
131
140
131
106
94
90
72
108
126
85
89
94
93
91
88
89
98
123
132
100
71
74
82
75
62
67
74
80
90
101
103
100
97
95
90
84
104
96
95
113
131
130
131
130
134
123
110
110
111
138
162
147
128
118
109
103
101
97
98
100
99
95
93
98
108
112
78
81
101
107
95
86
92
108
91
59
74
87
101
92
92
85
71
58
58
62
61
85
93
82
68
59
73
90
114
124
116
117
123
119
110
80
102
123
121
117
117
110
117
108
132
107
87
81
73
70
82
85
86
99
91
74
64
65
72
91
105
117
100
100
160
100
129
120
68
72
110
118
109
89
74
74
71
73
77
104
40
113
145
69
92
79
63
58
73
65
105
97
52
112
147
104
101
137
139
156
90
75
77
66
64
62
128
106
122
98
70
91
101
109
128
125
146
154
162
117
113
137
161
66
80
100
99
60
77
68
87
92
163
124
141
174
159
171
164
169
149
163
167
148
161
154
127
152
164
116
58
64
82
83
68
69
68
68
59
54
52
51
50
52
57
62
63
57
53
54
57
60
59
56
60
64
70
74
78
81
81
83
85
100
106
102
97
84
100
134
141
95
69
74
85
97
109
106
107
96
86
114
92
80
72
75
108
114
68
57
77
75
71
65
68
77
74
72
82
75
83
85
84
80
85
90
88
79
71
83
76
71
79
75
89
114
132
127
89
85
91
130
96
77
63
70
60
68
64
74
78
80
108
119
91
88
73
65
74
84
91
97
96
100
93
85
81
77
74
72
71
82
100
125
130
135
141
130
110
102
111
120
134
124
123
122
119
111
102
100
93
83
72
70
75
80
90
96
100
104
110
113
98
81
76
85
82
73
81
91
98
107
102
85
62
52
60
90
94
91
93
100
116
124
110
74
72
67
62
74
100
113
110
106
91
104
112
119
127
125
109
115
106
94
90
103
102
82
85
83
89
97
60
48
52
81
73
73
51
72
100
99
130
106
98
143
115
98
97
74
67
86
122
125
93
87
114
120
108
126
160
132
62
98
113
111
92
96
82
109
104
42
121
171
136
125
151
111
109
57
50
60
66
79
81
103
115
103
85
109
108
79
97
145
152
150
123
134
122
136
135
118
61
86
84
90
109
70
72
100
106
128
115
158
175
171
163
130
154
167
131
135
144
137
135
151
142
109
91
92
66
29
21
66
70
75
76
63
56
53
51
58
66
68
66
62
68
55
59
62
62
63
64
65
63
64
60
63
74
75
77
87
89
81
70
79
72
70
87
127
106
103
94
67
86
91
82
73
91
71
65
95
115
85
66
69
68
56
67
82
74
71
73
76
69
61
65
71
92
89
87
87
88
84
79
70
67
73
83
82
88
95
94
86
78
86
114
127
105
109
110
68
79
81
86
78
69
67
50
60
101
117
106
107
104
83
82
90
94
90
84
79
80
72
71
79
88
93
89
84
82
82
94
106
114
117
110
101
95
95
101
112
114
111
106
106
108
101
85
74
77
85
90
90
85
84
90
107
118
122
117
96
83
86
95
84
87
97
90
96
109
106
98
88
86
95
113
109
96
98
104
117
119
107
109
120
106
92
89
87
75
78
95
111
106
104
120
134
129
116
113
98
98
94
86
90
102
106
102
86
67
68
73
70
77
65
76
76
75
65
101
105
123
122
96
79
114
84
88
88
78
69
88
113
99
60
79
97
73
106
113
67
109
106
119
110
115
97
94
56
40
115
101
72
128
129
86
37
77
119
94
63
77
91
93
86
69
64
69
73
83
88
115
113
127
127
138
101
98
111
98
112
82
101
108
65
87
76
85
105
134
142
175
173
169
162
135
158
159
160
127
125
129
126
105
82
66
53
68
61
55
61
70
75
79
79
66
62
63
58
58
60
62
64
64
64
61
67
71
72
75
77
74
69
81
71
65
75
74
78
97
73
91
107
124
119
95
78
57
90
105
91
66
58
54
61
70
42
57
110
70
48
32
56
63
65
75
74
69
64
59
61
59
62
78
88
78
72
77
75
77
80
79
75
72
80
91
87
99
103
88
79
87
88
72
56
94
121
131
124
77
74
59
64
69
73
91
94
98
107
94
84
102
85
90
97
82
70
74
79
71
73
76
78
76
67
57
39
52
69
86
99
93
84
79
79
94
101
96
95
89
94
88
83
84
99
115
116
93
92
95
99
98
95
96
99
94
85
100
114
111
105
110
89
81
90
87
85
95
102
101
92
83
81
91
105
103
90
100
105
102
104
104
121
118
100
89
103
127
122
100
87
81
80
90
113
119
110
110
104
107
109
97
84
90
112
117
115
108
94
74
70
67
63
71
67
80
46
28
97
110
113
88
104
101
96
74
83
89
105
140
125
48
36
110
118
138
112
96
114
80
70
68
76
103
113
97
120
80
41
94
122
127
112
148
119
93
92
98
81
72
80
77
97
91
83
86
62
65
116
124
132
135
151
156
139
101
156
146
115
113
125
123
104
123
129
117
102
109
133
156
170
178
167
152
131
165
162
160
121
122
139
123
73
46
34
9
86
80
44
25
71
75
78
78
67
66
68
69
62
59
62
69
71
61
59
66
71
72
76
81
79
72
90
79
72
81
79
83
104
116
133
109
105
96
74
63
69
88
77
58
66
72
87
90
59
63
118
102
74
60
55
82
79
76
97
90
76
76
66
60
55
59
82
86
64
67
78
74
71
73
73
72
63
67
72
78
113
131
117
109
95
84
81
73
80
101
132
141
97
76
48
59
71
83
72
63
67
83
95
91
81
71
93
104
83
70
84
100
71
69
64
67
66
58
48
60
68
80
92
90
73
61
64
58
64
73
75
88
100
100
104
106
112
120
122
114
88
88
92
98
101
97
91
88
79
64
85
108
111
106
108
92
83
88
82
82
91
91
78
72
68
77
94
104
97
78
91
94
95
104
113
120
108
100
100
119
140
132
107
89
77
66
73
95
101
101
110
100
114
105
98
96
100
112
104
98
99
100
70
68
77
90
81
44
66
59
67
96
90
90
66
91
90
89
83
63
75
130
156
113
86
93
92
95
135
88
102
134
85
71
62
96
129
89
105
139
74
62
105
99
97
101
124
121
92
98
119
103
65
42
52
75
72
58
69
59
53
83
79
139
128
138
151
133
101
176
157
104
127
129
147
135
126
118
115
101
104
128
162
177
173
162
141
119
166
174
153
145
141
131
98
60
52
62
57
55
42
37
37
67
68
68
68
62
58
57
51
50
53
61
72
80
82
66
61
54
50
51
60
68
73
77
74
74
72
73
78
85
60
110
63
73
81
97
93
72
110
112
113
144
148
104
99
73
60
72
102
124
95
79
93
86
92
112
99
84
85
65
59
64
62
64
65
61
61
69
79
83
80
73
66
69
75
72
74
74
61
49
72
70
62
60
72
105
121
100
93
100
111
99
76
100
81
86
90
95
102
104
94
82
73
70
89
113
118
100
79
90
73
79
82
83
87
89
88
73
67
77
93
87
84
102
100
90
77
67
65
78
84
85
91
101
105
103
97
91
91
103
108
96
82
78
80
82
82
97
112
113
104
94
71
68
76
82
85
93
92
85
72
65
73
87
85
77
77
95
113
114
113
123
116
88
85
114
126
121
100
75
98
139
126
97
77
61
60
76
80
98
111
130
127
111
105
71
73
79
82
75
77
87
53
60
105
111
84
91
94
76
88
102
102
107
96
67
96
106
108
118
122
75
42
72
72
101
109
112
144
105
101
92
130
137
114
117
136
74
95
104
101
122
105
132
100
92
64
59
64
52
45
38
45
63
70
66
71
83
93
102
141
125
95
97
115
126
161
158
140
147
134
122
144
129
112
124
131
131
137
108
71
81
144
145
149
181
165
158
169
155
111
90
116
126
99
79
81
55
40
46
76
82
89
94
79
65
57
59
59
64
70
78
81
81
74
72
69
68
68
75
84
94
82
83
81
75
73
77
84
100
124
103
130
108
124
123
90
105
109
137
104
122
93
97
95
84
64
51
59
61
75
75
82
77
79
111
139
89
75
62
58
58
61
65
69
84
77
74
61
49
58
76
77
71
64
74
74
77
89
76
82
81
80
82
80
86
109
99
97
111
130
129
79
98
94
95
98
92
84
91
106
105
105
85
74
65
87
135
130
94
59
57
63
76
87
88
86
91
93
80
88
106
88
83
82
87
90
88
75
59
60
64
63
59
54
54
64
71
85
89
77
66
67
70
70
59
66
83
102
114
121
89
83
87
91
85
90
98
93
91
92
96
97
86
84
95
111
125
122
118
126
110
103
109
114
115
120
116
101
95
117
89
75
80
74
59
56
26
49
44
45
50
70
99
68
93
103
70
72
104
97
68
90
98
60
49
83
76
64
71
66
87
81
68
101
115
137
139
153
108
79
98
29
68
72
72
81
122
105
127
115
130
121
104
122
129
73
129
126
117
124
109
139
123
163
101
45
40
55
59
77
107
104
99
100
98
82
69
71
72
79
61
73
132
155
142
114
120
163
155
145
146
137
120
98
83
98
143
113
74
125
175
152
121
131
131
166
137
102
111
152
156
138
119
97
78
64
59
46
85
90
93
88
66
63
64
68
67
69
73
78
81
84
78
82
85
81
77
78
86
97
85
83
79
73
67
67
71
105
101
105
120
108
129
117
122
113
117
101
82
99
107
117
101
78
70
83
88
75
70
64
77
82
68
76
95
104
88
67
58
63
68
68
71
74
68
67
70
79
85
86
77
82
88
92
75
67
75
74
77
73
69
72
83
95
125
120
108
103
122
139
90
85
87
97
106
98
82
83
96
100
77
62
70
67
70
95
112
102
65
52
65
87
95
79
91
98
90
81
90
98
89
85
84
86
83
77
70
75
77
78
78
72
68
71
81
81
88
94
90
89
93
92
89
70
69
77
89
94
95
89
84
78
73
72
73
79
89
85
85
90
94
88
86
85
87
97
106
105
106
110
97
117
115
107
112
112
96
69
90
75
71
78
64
43
39
45
41
41
32
53
98
117
62
90
102
69
80
108
99
92
72
79
72
64
82
66
70
51
61
103
83
72
117
105
124
141
119
84
111
107
12
66
74
87
119
165
106
81
108
120
125
112
119
117
81
101
109
118
124
113
136
131
124
97
71
71
82
80
73
67
55
43
46
55
53
54
64
64
84
71
79
136
154
132
135
137
158
142
135
132
128
102
72
70
108
125
91
70
93
124
127
130
143
153
149
110
109
130
144
137
140
139
114
51
50
55
38
87
84
73
59
42
49
59
62
64
70
75
80
83
87
75
74
73
70
68
70
72
76
71
77
94
107
110
105
100
111
93
80
77
81
55
50
35
96
103
79
94
77
48
76
109
124
115
102
80
87
82
78
71
67
66
69
107
115
111
93
82
86
83
73
76
80
78
95
102
92
74
58
91
91
86
85
84
84
90
91
100
102
98
93
78
82
102
100
104
110
112
114
144
130
118
102
88
78
76
86
98
91
91
85
71
60
59
63
70
88
111
92
77
68
59
69
75
85
92
96
96
95
89
81
78
84
87
85
91
70
70
73
79
80
80
85
90
84
81
82
84
90
93
89
83
100
95
86
83
83
81
94
115
111
76
77
76
78
77
71
65
65
65
73
77
90
83
82
79
70
66
63
64
65
42
54
72
78
110
122
83
57
42
45
54
81
116
107
99
118
101
82
64
38
79
94
90
92
97
70
69
108
95
93
72
59
63
107
68
60
84
92
85
89
91
102
108
100
68
86
120
104
90
67
110
90
86
125
120
162
156
121
107
73
49
56
85
105
111
133
135
125
118
115
143
118
99
86
85
110
114
85
76
59
50
54
56
54
58
63
61
49
71
125
156
173
140
133
117
105
115
109
121
76
47
50
88
93
91
107
130
135
125
123
116
109
111
122
153
151
132
131
122
105
103
33
33
48
53
87
79
68
59
57
57
59
67
60
59
64
63
66
68
56
60
64
66
71
79
85
87
90
78
71
69
71
74
75
80
94
82
156
154
97
118
146
134
101
74
86
79
79
80
76
93
130
144
96
86
87
74
67
66
65
78
96
72
78
79
89
104
89
66
71
62
59
56
59
73
88
93
86
107
82
101
69
79
99
77
96
95
83
87
86
86
103
109
112
112
115
126
134
131
130
134
128
101
71
66
81
60
68
78
62
46
49
50
54
46
81
112
115
94
84
90
93
111
115
63
78
95
103
88
74
68
68
65
71
53
57
60
60
62
69
82
97
89
69
59
69
74
79
95
99
96
80
90
97
87
104
107
101
111
107
71
62
78
81
84
82
76
70
72
73
79
60
67
80
71
69
72
45
73
67
95
101
55
59
81
87
54
21
24
56
72
43
36
92
120
92
65
92
97
95
46
53
117
59
63
34
77
106
112
98
98
75
125
141
103
91
90
97
103
92
115
118
115
105
96
102
122
142
114
62
51
56
45
38
52
84
62
48
104
86
66
81
91
63
74
100
108
120
82
85
91
114
122
105
104
108
106
98
82
76
69
42
29
44
19
43
84
93
107
118
104
106
121
119
83
74
82
80
77
58
44
46
85
101
101
117
101
76
71
105
153
166
160
156
150
117
109
97
57
67
33
21
30
45
80
77
70
65
63
62
61
65
59
60
68
71
74
69
69
71
70
67
68
75
82
85
78
69
70
78
85
84
80
74
82
97
147
122
62
84
125
117
93
76
81
80
84
83
80
87
104
120
119
114
92
83
77
71
61
61
67
83
73
58
76
117
118
88
72
58
56
58
68
86
96
97
89
81
93
88
101
105
94
92
96
88
80
82
91
109
105
108
107
107
112
122
127
111
110
119
131
127
104
78
66
76
80
67
50
52
63
56
60
60
69
96
115
111
106
91
102
109
95
79
95
94
89
77
70
71
77
82
87
63
67
72
72
72
79
90
93
84
66
71
93
103
105
111
89
102
94
95
98
99
110
114
96
91
109
97
89
91
96
88
75
66
71
98
103
98
86
76
69
67
78
79
88
96
86
81
77
81
75
35
63
45
27
28
51
74
59
41
58
90
71
83
100
103
103
120
88
72
37
36
40
37
93
89
96
110
75
135
113
102
87
85
108
105
86
134
130
136
126
110
129
134
100
114
90
59
38
24
22
33
67
47
33
85
92
78
71
43
44
62
89
105
109
101
95
99
114
107
76
70
81
93
104
113
111
95
68
47
39
23
58
105
123
131
135
128
92
115
151
124
105
98
91
75
54
54
81
124
132
134
94
83
83
99
130
170
179
161
157
152
121
112
103
68
77
44
42
56
47
64
72
79
81
79
70
57
66
65
72
75
71
73
68
70
70
67
61
61
67
74
77
82
91
93
89
86
87
90
77
101
94
102
121
106
97
81
73
79
97
101
97
103
100
95
86
80
81
110
121
119
96
75
66
71
81
81
50
45
32
40
79
110
109
99
91
78
73
72
73
75
73
84
94
89
91
127
103
89
76
88
91
87
94
93
77
88
93
97
99
101
103
107
125
107
88
87
109
131
128
114
68
49
55
67
68
62
57
54
66
69
77
92
106
118
109
91
82
88
90
92
94
92
92
90
87
80
71
68
74
76
75
73
73
81
92
108
100
93
92
98
102
109
116
138
146
148
106
81
82
61
59
84
101
96
101
103
98
69
71
75
80
86
82
72
66
94
90
65
59
58
75
69
43
104
121
77
70
86
114
68
41
51
57
64
89
90
79
58
46
63
42
15
62
88
44
34
78
73
52
46
75
73
37
75
128
126
92
157
87
72
76
80
106
105
42
48
37
62
122
123
98
109
103
99
95
93
89
83
79
100
97
96
53
65
83
76
68
53
43
66
102
119
132
119
103
92
79
65
60
63
108
98
108
111
90
94
109
103
101
84
90
115
126
134
157
116
97
90
88
85
91
102
143
134
135
135
105
106
112
122
86
92
122
135
155
172
170
172
160
131
115
114
119
138
67
60
87
112
120
118
104
81
71
67
58
65
74
85
84
76
83
93
80
83
84
80
77
75
73
71
78
75
81
91
92
83
72
96
81
81
78
78
82
111
179
152
136
137
107
91
82
103
97
104
119
111
86
100
105
114
120
101
71
57
60
64
60
53
49
56
79
101
112
93
92
86
76
69
72
79
67
63
53
71
89
129
88
92
74
82
104
97
70
80
89
99
108
113
108
103
110
109
114
107
90
78
80
88
94
127
109
75
60
66
68
65
65
55
66
68
60
70
98
124
126
104
74
83
83
75
69
76
83
81
76
75
77
68
70
75
79
84
92
101
91
83
90
106
115
111
96
78
72
88
133
128
115
135
113
96
113
119
76
69
74
80
93
94
86
69
54
59
66
44
44
46
65
93
104
109
92
94
96
77
66
68
66
77
84
83
98
83
73
100
102
94
100
100
63
54
79
22
23
26
37
48
90
72
74
89
59
73
66
59
85
83
71
67
69
74
103
115
93
84
80
84
77
66
73
87
81
101
90
108
96
73
69
79
92
82
85
84
77
81
86
100
84
84
87
78
85
77
80
68
61
71
83
83
77
68
57
82
122
119
94
78
73
60
45
64
105
117
103
99
74
67
100
133
139
132
135
130
122
104
89
145
167
159
111
79
77
115
149
162
172
158
170
158
148
129
121
139
144
151
125
102
108
82
100
114
116
107
86
63
70
75
84
84
82
90
85
81
85
85
82
78
77
76
73
76
74
77
83
85
82
77
85
73
90
88
72
74
122
141
126
129
139
131
123
111
89
90
98
107
106
107
119
87
104
119
109
84
73
70
60
57
59
61
62
74
100
117
109
104
99
87
74
69
70
68
57
65
63
94
115
77
68
84
113
118
87
73
86
104
102
104
107
106
103
106
107
103
91
77
68
72
87
98
140
140
106
84
74
69
68
64
60
65
73
72
77
92
103
122
112
85
87
86
83
88
89
86
82
81
82
69
68
73
79
83
85
84
83
90
89
103
112
102
90
79
66
70
76
118
115
92
113
97
99
108
119
107
87
78
80
88
97
101
92
80
75
76
59
57
63
74
89
106
86
75
59
52
78
84
65
74
87
61
55
61
51
72
128
142
144
136
116
88
88
86
48
62
52
58
78
104
65
93
67
72
70
78
85
81
45
66
76
69
58
89
103
86
64
60
81
87
63
68
84
72
100
89
91
72
55
58
65
73
71
70
93
87
71
66
67
76
72
61
55
52
56
59
64
67
68
62
54
58
75
68
74
88
88
68
56
62
70
50
62
89
98
83
68
56
66
104
127
122
104
102
107
112
120
126
153
151
133
131
103
81
99
136
149
180
160
164
147
148
142
142
161
153
102
99
105
102
79
70
66
73
121
117
93
81
88
97
102
96
85
72
89
79
76
85
91
86
81
80
73
71
75
78
81
88
96
86
95
99
83
78
76
71
106
139
136
101
71
73
90
107
116
135
153
150
122
127
100
116
96
92
106
106
96
91
85
75
67
67
69
69
66
91
105
97
98
98
90
86
87
94
82
80
86
74
101
158
143
120
106
110
109
92
89
93
80
72
85
94
90
95
80
79
89
91
89
96
101
101
111
136
146
125
92
69
69
64
74
81
83
85
92
73
61
90
123
88
92
99
99
85
78
95
118
120
107
98
92
96
104
99
84
77
107
100
89
83
88
93
85
71
60
36
90
91
39
44
32
23
32
49
72
68
56
47
58
83
114
107
76
90
83
60
61
46
41
53
49
22
60
49
53
52
40
47
50
27
19
33
54
53
63
66
41
92
84
74
67
49
78
78
107
117
81
55
41
81
61
110
78
75
96
108
122
119
87
101
120
126
127
143
142
110
81
71
114
117
115
149
131
151
113
90
75
70
78
133
130
58
65
59
32
46
75
101
117
97
85
101
69
91
75
81
84
101
90
60
61
63
71
56
58
66
59
63
63
58
60
75
76
77
80
78
82
107
90
92
108
121
135
144
137
147
152
158
110
77
57
100
113
106
116
127
175
147
154
159
144
117
108
112
109
132
118
101
90
61
73
85
82
86
94
93
77
79
81
80
79
90
137
106
108
114
121
117
108
105
108
114
112
112
113
117
127
138
122
122
138
127
106
113
140
125
129
117
114
124
120
129
129
112
134
147
116
132
125
149
153
165
144
86
99
152
121
113
100
88
79
71
66
61
58
85
103
81
75
89
86
70
66
65
107
101
65
73
66
69
68
66
68
67
58
54
57
67
86
96
92
129
100
84
79
83
86
89
99
104
93
76
74
102
135
131
107
83
77
70
81
90
88
78
72
75
65
79
124
96
84
88
110
112
95
86
87
89
86
85
82
87
106
119
104
68
56
56
67
68
56
55
66
63
66
109
107
57
50
50
48
54
66
94
95
85
76
103
78
50
68
110
58
42
51
39
46
72
81
64
75
88
66
61
72
80
92
117
135
103
68
53
61
60
54
62
88
87
68
46
66
70
91
101
83
72
61
47
85
96
83
103
146
135
84
93
96
101
110
121
135
142
130
120
86
69
98
108
129
152
127
134
131
101
77
112
131
91
72
81
73
68
54
85
113
100
87
77
89
87
64
91
75
61
65
56
64
65
58
66
64
85
81
86
84
68
73
79
49
43
44
39
45
63
76
82
72
105
123
148
160
152
156
142
151
158
147
107
91
110
111
112
117
133
153
162
125
124
118
116
117
116
121
127
118
148
177
163
62
65
72
74
85
88
77
70
76
83
85
80
80
96
73
79
90
103
108
106
106
109
114
120
124
129
136
146
155
134
121
149
139
137
143
138
121
113
103
111
133
133
139
144
133
145
147
125
134
133
131
152
122
100
107
117
133
122
117
110
102
91
78
70
68
77
86
98
108
83
62
74
75
69
72
98
80
41
50
59
60
57
54
56
61
57
74
87
87
73
69
74
87
90
74
67
72
72
78
88
94
85
66
53
64
94
115
122
119
96
79
83
84
85
86
85
89
77
76
124
112
97
91
95
90
85
89
91
84
84
66
63
85
101
88
64
63
62
71
84
86
84
91
102
101
82
102
101
55
43
49
43
45
53
82
87
79
70
73
58
45
64
97
84
80
78
76
86
95
90
84
80
72
66
81
87
77
99
118
98
70
84
89
63
60
73
68
83
88
79
56
35
74
86
87
62
65
53
57
133
88
113
113
119
105
92
113
108
102
121
120
112
124
128
116
76
101
119
123
149
137
111
149
141
129
137
133
79
54
102
83
86
61
64
41
130
66
79
78
100
102
77
89
63
51
60
54
63
64
59
64
81
80
66
74
71
49
61
86
68
75
78
65
49
43
45
57
41
97
113
138
157
149
136
141
161
150
104
104
135
125
112
118
136
151
161
123
100
119
127
121
110
97
110
143
111
111
115
101
86
89
93
91
78
82
77
67
65
69
74
77
78
78
74
73
72
74
74
71
64
59
75
81
84
84
83
77
70
66
71
95
68
116
155
110
86
73
62
63
70
78
87
62
77
72
71
84
65
81
106
142
104
85
122
116
81
103
113
132
146
140
123
110
105
125
136
133
116
115
122
118
99
106
125
118
91
59
66
98
100
102
106
106
90
82
74
58
62
78
86
94
137
124
113
109
107
103
98
98
94
88
84
90
86
77
75
83
119
142
96
80
95
94
76
62
61
70
61
66
104
113
105
81
62
65
71
62
82
88
109
117
95
71
66
69
73
87
88
77
75
85
86
77
65
50
63
97
79
46
52
63
58
55
64
65
61
55
49
47
60
59
46
96
95
75
30
34
62
43
21
40
76
67
51
39
33
27
35
53
40
30
37
51
40
26
32
90
37
67
65
50
33
72
43
75
86
59
121
62
67
70
104
112
126
142
100
89
116
93
84
96
106
110
122
127
103
105
145
120
112
162
140
148
79
102
122
93
83
93
42
67
115
72
108
26
67
81
90
84
77
78
52
56
57
71
73
81
71
53
54
51
93
97
99
115
123
113
85
65
62
60
63
63
65
76
106
92
86
69
69
82
87
87
89
115
126
135
129
142
127
122
122
123
120
117
131
141
150
122
105
123
124
114
132
144
127
102
118
74
70
72
74
74
78
74
85
84
84
80
76
75
94
86
90
90
81
71
67
70
73
71
69
68
70
69
59
45
45
63
51
83
114
85
34
57
56
61
64
77
82
79
78
68
70
74
67
62
50
64
95
109
109
101
120
143
92
82
71
67
66
73
98
123
124
104
56
76
105
107
113
129
123
127
138
145
125
121
103
110
119
120
114
118
128
95
103
117
116
105
112
113
120
116
120
122
116
107
98
86
107
103
84
74
80
80
73
57
78
158
134
83
67
87
74
70
59
61
62
62
90
125
112
92
94
114
126
103
68
56
52
58
56
50
51
64
53
44
46
47
41
36
36
45
43
50
91
83
39
52
50
49
49
54
59
64
66
64
64
60
69
79
75
112
155
103
95
105
85
85
87
96
121
113
91
98
109
109
118
100
112
126
104
85
77
57
90
110
82
85
94
97
43
56
7
66
109
80
46
134
122
123
110
106
110
94
89
105
86
95
92
71
97
133
90
108
124
91
91
120
112
122
112
120
120
95
84
100
69
112
57
54
48
55
53
72
86
69
60
66
65
52
58
59
66
66
79
72
67
103
127
112
82
84
81
49
51
68
59
43
39
54
62
63
71
76
83
86
108
118
110
108
110
103
97
65
61
75
97
118
125
119
127
141
116
91
140
164
128
93
114
119
106
119
127
131
136
130
64
70
79
83
70
74
86
92
84
80
80
83
87
94
91
88
84
79
77
76
74
71
65
58
59
62
57
52
58
78
77
73
72
69
66
64
59
77
74
64
59
54
67
79
76
84
84
62
76
107
105
130
148
150
141
122
105
81
77
80
73
64
80
94
85
99
76
83
111
100
90
117
94
93
99
138
147
140
133
135
121
122
122
117
139
123
110
119
122
118
115
116
112
101
114
121
110
99
95
91
86
78
66
71
85
82
65
56
55
63
110
130
124
96
70
80
60
56
59
49
55
54
88
120
129
130
131
94
77
79
55
56
81
96
91
80
84
66
48
36
44
62
67
54
46
45
72
93
78
60
69
79
70
69
77
82
85
80
101
87
96
80
81
87
103
154
89
93
81
91
106
89
116
110
85
67
70
69
61
64
71
100
80
86
101
63
75
148
129
91
81
89
82
58
54
64
170
27
56
109
164
119
108
92
97
108
96
128
98
85
80
75
80
115
131
111
133
120
92
92
104
119
140
149
108
116
104
112
110
70
80
54
66
48
44
41
44
38
50
56
53
56
70
67
53
70
83
84
85
88
79
79
69
62
76
67
42
50
67
62
47
49
57
69
84
99
92
92
118
128
141
115
143
154
158
130
107
94
93
119
132
116
112
142
127
73
102
111
133
78
72
108
101
104
111
134
128
124
127
77
75
74
71
61
64
68
67
69
74
84
86
80
72
76
74
74
78
85
89
87
82
78
74
75
76
67
57
57
67
67
64
62
57
53
50
63
32
78
152
47
53
41
91
87
91
104
118
90
51
46
54
57
58
64
65
60
64
59
88
99
73
82
104
90
68
48
54
53
42
35
37
26
35
41
36
48
71
91
114
112
121
125
118
110
93
75
62
61
74
77
71
91
105
110
114
113
117
122
120
113
108
116
112
100
84
83
94
65
65
63
91
127
125
94
82
77
83
89
75
77
77
92
114
125
113
103
105
97
85
80
88
105
113
109
112
128
116
113
117
126
125
105
73
64
70
93
113
106
96
99
90
77
85
96
83
88
105
92
95
85
94
89
49
64
122
106
87
81
75
66
108
99
110
112
115
116
103
80
69
80
88
104
101
62
51
92
116
120
104
85
88
99
103
150
110
81
105
128
125
150
124
100
101
114
112
114
107
82
92
83
85
108
107
96
122
97
78
68
71
101
132
138
124
89
82
96
96
76
60
55
53
71
59
74
64
47
50
68
86
90
80
65
68
77
67
55
49
51
57
64
75
88
104
80
38
45
71
65
49
53
48
45
81
112
106
74
93
101
119
147
117
110
131
138
134
141
167
141
123
78
73
82
118
117
87
67
103
111
111
72
72
79
70
125
150
167
163
148
67
68
70
70
70
69
66
75
72
70
71
74
74
83
83
80
77
78
80
79
74
67
60
59
62
70
69
64
64
57
60
65
67
65
64
62
58
97
139
101
88
37
114
125
97
80
77
67
61
69
58
56
46
45
57
64
60
62
55
53
74
87
59
30
36
52
41
46
33
36
46
38
43
43
45
57
59
55
53
53
50
52
59
65
91
97
122
136
141
126
105
90
69
52
57
61
63
72
87
104
114
117
105
107
115
108
90
81
77
69
78
70
78
98
102
80
80
76
69
62
72
85
101
65
64
91
102
107
82
64
71
75
79
90
97
113
100
103
114
121
122
124
123
114
106
112
121
125
123
115
107
108
108
108
98
109
113
102
95
85
93
125
97
99
92
85
136
98
77
96
101
83
104
115
130
127
106
89
88
94
88
102
107
62
38
59
50
74
78
74
74
76
81
90
69
88
95
73
48
116
125
117
132
120
109
114
98
110
106
85
84
94
95
102
119
101
73
79
89
80
99
123
113
113
107
100
87
93
96
80
69
49
51
53
59
53
62
68
65
62
62
65
79
86
80
71
67
73
82
91
101
122
104
129
110
65
68
69
57
58
68
58
48
80
105
92
80
101
114
120
126
118
128
126
122
137
159
118
106
109
121
155
118
95
114
97
113
104
105
72
67
65
55
80
101
130
133
131
130
72
76
78
77
76
71
67
63
64
66
69
69
67
74
70
69
68
67
67
67
65
61
63
58
55
61
63
61
61
62
63
65
63
61
57
56
63
97
81
99
92
71
93
68
69
71
72
76
80
62
61
71
72
63
56
49
45
44
41
75
84
47
41
58
47
46
59
68
58
56
56
45
54
58
61
62
64
71
76
84
82
78
79
80
80
82
84
108
118
110
105
114
110
108
103
91
75
65
64
72
80
70
67
74
88
93
94
100
84
73
99
84
76
82
79
79
81
74
65
71
83
100
74
59
52
50
58
89
101
80
88
84
85
97
103
107
96
86
90
103
111
113
101
84
96
113
119
121
126
126
113
120
106
103
113
112
113
114
103
89
96
103
76
97
90
119
168
113
67
92
115
91
100
116
142
141
114
96
97
106
80
93
78
43
58
83
68
79
69
36
39
47
61
83
110
109
92
57
71
87
116
120
130
104
93
111
89
90
84
86
95
91
87
116
130
82
70
82
89
78
92
109
97
112
114
106
86
90
97
79
75
53
51
54
56
53
73
62
61
58
59
70
86
80
79
76
73
75
83
96
111
116
99
132
114
72
67
62
70
57
56
50
51
75
100
107
84
105
101
97
94
98
115
106
115
135
148
158
159
139
137
128
95
98
122
132
96
86
79
40
56
64
57
92
99
127
128
111
93
68
74
74
68
67
70
70
81
79
78
78
77
78
93
91
94
95
92
88
88
92
95
95
80
66
68
75
77
80
75
73
68
65
60
58
58
51
54
73
75
80
112
124
78
64
67
78
71
55
60
46
52
51
51
58
58
50
122
87
72
75
71
73
78
71
87
81
67
63
65
69
75
78
72
66
68
74
77
77
73
73
75
90
109
107
110
88
77
69
71
74
74
80
108
107
112
123
134
137
135
132
119
117
116
115
103
93
94
93
116
136
91
86
104
98
106
111
100
85
75
68
74
78
69
67
76
77
65
87
123
123
105
95
115
119
109
100
89
86
88
83
84
86
84
96
116
116
111
121
124
107
89
108
121
113
128
132
116
92
116
116
73
89
89
112
106
148
125
84
111
123
111
102
107
126
130
104
84
84
84
90
96
57
77
107
76
94
108
111
83
71
60
73
105
94
60
87
62
53
64
91
132
127
127
129
112
81
98
64
64
66
86
109
95
79
79
81
77
65
66
89
105
99
100
105
92
108
108
89
87
70
74
75
49
56
43
44
62
74
73
65
74
93
75
60
69
67
58
65
93
119
128
111
122
88
80
95
60
59
61
52
60
75
58
50
79
115
149
97
89
106
126
125
123
114
131
139
135
160
163
151
163
128
112
126
125
135
100
60
63
55
53
67
69
98
143
142
128
111
69
71
78
86
83
77
76
80
78
75
77
81
85
82
85
81
79
82
87
91
97
100
96
87
76
66
64
68
74
81
83
71
67
69
69
68
83
81
70
56
60
66
64
91
72
52
44
47
58
60
51
77
81
93
61
71
136
76
79
73
62
65
80
82
69
54
57
59
68
76
76
71
61
64
68
74
73
70
67
76
76
79
86
90
82
76
70
71
71
71
75
80
75
66
69
79
90
95
88
82
80
95
107
117
123
131
141
149
154
146
153
164
168
166
165
149
144
137
131
108
91
83
81
79
73
66
64
70
77
108
109
103
121
120
87
69
77
87
95
99
99
91
87
92
96
101
103
100
101
110
118
97
108
114
104
115
118
103
107
136
95
108
97
101
103
115
117
112
78
79
95
112
133
131
120
98
88
100
116
117
94
74
93
115
98
84
100
129
123
88
79
70
80
108
89
100
90
71
89
63
29
70
112
135
148
130
105
81
59
46
63
102
101
70
71
89
66
74
79
65
83
104
87
85
85
85
87
84
84
93
59
71
82
64
61
61
56
56
60
49
71
90
100
83
66
69
62
61
65
63
83
112
74
58
74
88
86
73
58
62
60
63
60
90
153
166
88
59
73
76
98
129
139
123
126
124
133
141
144
133
163
140
109
109
138
144
92
81
93
85
63
57
63
73
79
119
131
125
120
73
72
75
78
74
77
80
76
75
74
75
80
83
80
87
79
74
76
83
88
91
92
93
83
72
64
64
73
81
85
80
63
63
70
77
79
86
75
61
53
54
56
56
64
61
56
54
60
81
83
86
66
84
51
62
120
95
56
81
75
56
70
84
72
56
49
63
67
71
73
70
66
60
67
74
72
68
69
73
80
78
77
81
84
80
77
71
75
77
76
76
80
80
75
80
86
86
76
61
55
53
67
75
80
82
87
95
102
107
91
112
130
128
119
117
133
113
116
132
105
100
104
103
98
86
73
68
73
88
68
70
78
120
141
125
110
97
108
112
109
106
94
87
89
102
86
90
94
96
107
122
116
121
105
87
94
84
73
94
107
75
106
107
109
118
106
93
79
65
83
102
112
141
144
127
95
84
110
128
124
94
76
84
92
74
72
98
115
109
85
88
83
89
110
92
106
99
75
30
41
86
57
117
134
131
124
111
89
64
46
65
105
96
63
67
75
68
73
75
73
84
94
87
78
65
57
57
58
65
79
80
94
103
79
67
60
54
53
52
43
63
86
109
99
79
60
46
57
66
54
66
75
64
80
99
100
100
84
50
45
41
60
73
118
140
82
51
44
76
77
89
110
119
120
122
112
132
150
140
141
170
138
93
88
125
139
112
94
105
96
73
66
75
84
88
101
110
115
122
70
76
85
89
70
65
64
78
71
62
60
63
67
72
64
60
62
75
90
97
95
90
78
70
71
79
85
86
84
77
72
72
81
86
86
85
78
72
70
72
50
47
54
59
66
68
62
58
71
75
46
69
98
121
97
70
77
65
48
63
81
63
48
55
61
76
69
71
75
73
67
62
66
63
58
54
55
59
62
68
66
65
67
71
78
80
76
82
81
72
63
63
75
79
72
65
59
60
70
81
87
78
81
80
76
72
71
71
69
67
67
88
107
99
77
65
73
96
110
97
101
101
109
110
110
113
115
109
77
80
77
81
105
107
97
107
117
116
108
101
103
103
96
93
88
71
93
108
104
94
92
104
98
80
95
86
72
79
96
91
70
89
72
53
66
55
57
72
108
124
108
101
102
93
86
80
78
79
69
52
59
49
44
57
71
77
77
69
65
52
67
76
93
118
97
59
20
32
76
76
101
77
83
83
62
63
101
96
72
77
86
86
81
96
101
70
88
84
77
87
89
84
91
97
87
79
75
72
79
93
114
107
86
79
76
57
42
45
48
59
64
73
95
106
116
92
62
50
53
58
63
79
73
90
97
72
65
77
78
46
62
79
61
37
40
64
47
46
84
73
50
71
123
116
143
126
117
123
100
102
145
139
107
104
126
102
76
91
60
36
39
48
49
64
93
116
136
142
138
94
88
83
78
75
80
85
78
69
62
60
62
69
77
91
87
88
95
100
98
91
85
81
79
81
85
87
88
88
91
86
85
84
78
75
74
71
73
76
79
83
83
84
74
67
68
76
75
59
65
114
146
77
57
82
75
85
73
73
74
64
53
61
67
57
56
51
57
61
62
65
70
62
57
50
45
46
47
49
52
54
59
62
65
72
77
70
79
84
78
69
62
60
57
67
78
80
80
83
82
79
71
67
62
58
56
57
58
77
79
77
87
99
93
77
85
97
83
75
96
91
105
112
118
125
130
133
133
119
110
94
84
91
69
50
62
84
107
117
110
100
88
77
72
86
90
89
84
76
73
76
99
113
120
79
82
86
79
82
84
73
68
51
85
92
96
103
114
143
115
73
139
94
102
110
107
109
114
100
75
87
95
114
107
81
67
64
101
111
101
87
69
75
100
91
72
71
75
76
85
87
67
68
82
72
72
81
98
109
85
91
107
106
118
126
111
121
111
88
78
76
75
76
83
95
92
82
66
56
60
54
70
64
59
54
44
48
49
56
86
85
79
63
71
85
92
93
80
66
65
66
50
62
61
61
75
76
59
50
67
77
55
45
41
33
70
69
71
76
89
73
63
86
85
109
108
115
118
120
133
151
145
99
85
107
72
75
81
67
55
58
65
67
74
89
131
136
111
105
77
77
81
87
92
89
89
90
82
75
72
73
76
79
71
69
74
85
96
101
101
100
94
91
86
79
77
79
83
84
79
80
83
81
82
86
79
79
76
74
81
79
74
74
69
71
74
64
86
123
108
46
68
98
82
77
84
88
87
73
66
74
72
64
69
56
42
40
41
46
61
77
59
57
54
47
45
45
45
51
54
59
64
67
71
73
67
77
86
81
69
59
44
63
74
78
73
67
70
80
85
69
65
64
67
74
82
88
82
87
80
65
59
72
90
75
87
75
83
116
95
111
113
117
116
107
100
100
108
125
104
93
105
87
68
71
52
75
96
108
118
113
93
77
80
94
85
74
75
87
100
94
78
86
83
81
88
86
73
85
81
76
63
93
86
103
95
94
132
121
86
156
75
99
112
103
105
127
128
101
88
109
97
71
70
91
104
107
115
90
72
60
82
119
109
95
93
77
83
110
102
78
87
91
67
64
58
110
96
82
92
103
103
128
142
127
132
119
91
71
69
70
67
84
100
97
85
64
50
52
60
70
57
56
55
45
49
52
58
92
91
86
55
59
59
59
70
84
90
90
80
43
72
59
35
53
74
74
77
66
74
63
55
49
33
61
76
94
70
74
65
56
73
79
85
87
107
96
105
126
131
140
106
88
98
52
76
96
99
85
67
66
72
80
88
111
103
117
128
71
77
77
76
78
77
82
79
78
82
85
84
85
81
75
74
74
76
80
82
82
81
78
79
82
81
77
77
79
75
74
80
81
77
73
73
63
61
55
57
74
70
68
65
76
81
85
94
90
69
66
83
84
76
76
80
82
80
83
73
61
63
70
71
73
72
67
63
52
55
56
66
61
63
66
60
50
45
46
54
55
57
61
65
74
77
83
83
67
50
49
52
71
82
84
88
87
84
86
87
82
58
58
69
78
85
86
88
98
90
74
72
86
103
106
84
83
93
99
70
81
101
100
93
92
95
100
96
93
71
76
96
109
110
122
136
113
74
65
67
79
100
100
99
57
82
87
83
77
77
81
89
76
76
111
117
118
117
98
79
65
70
83
93
103
101
74
65
91
125
83
138
148
143
133
122
117
123
128
129
84
93
96
92
93
95
101
106
82
114
91
74
116
99
88
87
84
81
76
60
45
45
62
75
79
100
82
106
93
94
103
97
108
120
111
110
128
122
108
102
96
91
98
98
104
99
83
83
97
70
48
38
50
46
49
40
48
52
56
79
69
76
68
53
60
49
44
41
63
101
106
59
69
70
81
84
77
78
59
95
96
94
92
82
77
85
82
79
70
64
75
82
100
85
89
90
81
80
97
87
80
92
85
94
103
89
88
86
67
58
55
71
74
63
82
115
129
135
129
82
83
77
71
68
66
70
63
65
72
73
65
66
79
74
74
74
76
80
82
82
82
77
74
76
78
79
81
85
80
76
71
66
61
59
62
61
49
53
71
72
70
74
80
78
80
89
88
75
78
83
79
70
69
71
66
65
73
70
57
50
61
72
70
66
71
91
74
67
76
67
62
55
60
65
49
42
49
61
68
69
69
69
70
72
72
59
55
50
52
60
67
77
86
90
89
88
91
87
76
68
66
70
73
71
71
75
84
93
83
95
107
110
98
78
91
81
87
100
90
92
100
92
87
92
103
108
100
98
84
78
86
92
90
103
124
113
102
117
110
84
69
53
52
70
60
55
65
87
113
129
106
101
102
114
129
132
115
95
90
95
106
107
99
98
58
46
47
70
99
53
76
80
76
82
91
96
113
130
133
86
89
83
83
89
72
78
52
75
104
86
96
125
58
78
79
77
68
50
46
44
47
39
69
96
109
98
100
94
96
95
81
92
106
99
107
111
83
65
79
89
92
106
118
117
107
85
84
99
74
69
50
46
49
53
42
54
53
54
74
64
75
77
64
49
66
62
67
91
111
105
24
43
51
62
63
64
77
71
101
94
113
131
103
82
105
97
76
47
46
61
67
84
94
107
103
82
103
117
88
53
61
86
84
112
92
91
93
76
65
57
72
77
66
82
114
126
130
126
