0
0
0
0
0
1
1
1
1
1
1
1
1
1
2
3
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
10
11
11
11
11
11
11
11
11
11
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
17
20
23
24
26
26
26
26
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
31
31
31
32
32
32
32
33
33
33
33
34
34
34
34
34
34
34
34
34
34
34
34
35
35
35
35
36
36
36
36
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
38
39
40
41
41
41
41
41
41
43
44
45
47
47
48
50
51
51
52
55
55
57
60
60
61
62
63
64
64
65
65
65
66
67
68
69
70
70
70
70
70
71
71
71
71
71
71
71
71
71
72
73
74
74
74
74
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
76
77
77
77
77
77
77
77
78
78
78
78
79
79
79
80
80
80
80
80
80
81
81
81
81
81
81
81
81
81
82
83
84
84
84
84
84
84
84
84
84
84
85
85
85
86
86
87
88
89
89
89
89
89
89
89
89
89
94
94
94
94
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
97
101
104
107
113
116
116
116
116
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
123
124
124
124
125
125
125
125
126
126
126
126
127
127
127
127
127
127
127
127
128
129
129
129
130
130
130
130
131
131
131
131
132
132
132
132
132
132
132
132
132
132
132
133
134
134
134
135
136
136
136
136
136
136
136
136
137
138
139
140
140
140
141
141
141
146
149
152
156
157
160
162
167
167
168
171
171
173
176
176
177
178
179
180
181
182
183
183
184
185
186
187
188
188
189
189
189
190
190
190
190
190
190
190
190
190
191
192
193
193
193
193
194
194
197
200
201
201
201
201
201
201
201
206
211
214
216
218
218
218
219
220
221
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
223
224
224
224
225
225
225
225
226
227
227
228
229
230
231
231
232
233
233
233
233
233
233
233
234
234
234
234
235
235
235
236
236
236
236
236
236
237
237
237
237
237
237
237
237
237
238
239
240
240
240
240
240
240
240
240
240
240
241
241
241
242
243
243
244
245
245
245
245
247
249
251
255
255
260
260
260
260
263
263
263
263
266
269
271
271
272
273
274
274
277
278
278
279
284
289
292
298
306
308
309
311
316
316
316
316
316
316
316
316
316
316
316
317
317
318
319
319
319
319
319
319
320
321
321
321
322
322
322
322
322
322
322
322
323
323
323
323
323
323
323
323
324
325
325
325
326
326
326
326
326
326
326
326
327
327
327
327
327
327
327
328
329
330
330
331
332
332
333
334
335
336
336
336
336
337
337
337
338
339
340
341
341
341
342
342
342
347
350
353
357
362
365
368
373
374
376
379
380
382
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
