2
2
2
2
2
2
2
2
1
1
1
1
0
0
1
2
2
3
4
4
4
5
5
2
2
4
3
2
2
4
3
0
3
4
0
1
1
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
2
2
2
2
1
1
1
1
1
2
3
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
2
2
2
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
4
4
4
4
4
4
4
5
5
4
5
8
8
8
9
9
9
12
17
20
22
24
27
27
29
30
32
33
34
33
40
41
41
41
41
42
42
42
42
42
42
42
42
43
45
45
46
47
47
48
50
53
56
57
58
59
63
68
68
71
74
75
76
77
79
80
80
81
85
89
92
93
95
98
100
100
101
101
101
101
102
102
105
107
108
116
119
119
122
126
123
123
127
131
132
133
135
135
135
135
136
138
139
140
141
141
141
141
141
141
141
141
141
142
142
142
140
140
139
139
141
146
148
149
151
152
152
152
153
153
155
157
157
156
155
155
155
155
155
155
155
155
155
156
156
156
156
155
155
154
155
156
157
157
157
157
157
156
156
156
156
155
155
155
155
154
154
154
154
154
153
153
157
159
159
158
159
163
166
166
169
170
170
170
170
170
170
171
172
172
172
172
173
175
175
175
174
170
177
178
179
179
179
180
180
180
181
181
181
182
183
183
184
184
184
184
182
181
180
179
178
176
174
171
170
171
170
169
168
167
166
159
156
153
151
151
150
148
148
148
148
148
148
148
148
148
148
146
145
144
144
144
144
145
145
146
146
146
147
148
148
149
149
154
163
163
162
161
159
159
159
160
160
161
161
161
161
161
161
161
159
158
158
157
157
157
157
156
155
153
153
153
153
154
155
155
154
153
153
152
151
150
149
148
148
148
149
150
150
151
152
153
153
153
153
153
154
156
157
156
158
159
162
160
159
158
157
153
153
152
152
152
153
153
153
158
161
162
162
161
161
161
162
163
162
161
159
155
154
152
150
146
135
134
133
132
135
137
138
139
139
139
139
139
138
138
137
136
136
135
133
133
133
132
130
129
129
129
133
132
131
128
128
128
129
129
129
130
130
130
130
131
133
134
134
134
134
135
137
138
139
148
150
151
151
152
158
158
158
159
160
162
163
164
165
165
165
170
171
172
173
175
177
182
182
182
182
182
181
181
179
179
179
180
181
182
185
187
189
192
194
197
204
206
203
200
198
197
197
196
195
194
191
189
187
187
188
188
186
183
183
184
188
190
190
190
189
188
188
189
191
189
187
183
181
179
177
173
172
173
174
185
186
186
188
188
189
190
187
182
182
182
182
181
181
174
173
172
171
170
172
174
175
180
183
186
193
197
199
200
196
195
195
195
195
196
198
199
200
200
200
194
192
190
190
189
188
184
187
189
186
181
180
177
175
174
170
169
160
157
154
151
144
143
149
147
145
144
145
145
143
143
143
142
142
143
143
143
143
142
142
141
141
140
138
138
138
139
141
141
141
141
141
141
141
141
139
139
136
136
137
137
137
136
136
136
136
136
136
137
136
135
134
135
133
131
131
131
131
131
130
130
130
130
129
128
129
129
127
127
126
126
127
127
126
125
124
124
123
121
120
120
120
119
117
117
118
118
118
118
118
118
119
119
119
118
118
118
118
117
117
117
117
117
117
117
117
117
117
117
118
118
118
118
118
118
118
118
120
121
122
122
122
122
122
122
122
122
122
122
122
122
122
123
123
123
123
123
127
128
129
129
129
129
129
129
129
129
129
128
127
125
125
125
125
124
124
124
125
126
125
124
124
123
123
123
123
124
124
124
123
123
123
123
123
123
123
120
119
118
117
112
108
93
77
75
72
69
64
64
64
63
63
61
59
58
58
59
59
59
60
60
61
62
62
62
62
62
63
64
64
63
62
56
54
53
52
49
46
39
37
36
36
35
30
29
29
29
29
29
29
29
31
32
33
31
30
28
28
28
28
28
28
28
28
28
29
26
26
27
27
26
25
24
23
24
25
26
26
26
26
26
24
25
23
22
22
22
22
22
21
21
20
20
19
19
19
19
19
18
18
16
16
16
16
16
14
13
12
11
11
11
11
12
12
8
6
4
4
4
3
2
2
4
4
4
5
4
3
3
5
2
3
3
3