0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
4
4
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
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
10
10
10
10
10
13
13
13
13
15
15
15
15
17
17
17
17
17
17
20
20
23
23
23
23
23
23
23
23
24
24
26
28
33
34
40
40
41
41
41
41
41
41
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
43
43
43
43
43
43
43
43
43
43
43
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
46
46
47
47
47
47
47
47
47
47
47
47
47
47
48
48
48
49
49
49
49
49
49
49
50
51
51
51
51
52
52
53
53
53
53
53
53
53
54
54
54
54
54
54
55
56
56
56
56
56
56
56
58
61
64
64
64
67
70
72
72
75
78
80
83
86
88
88
91
93
94
94
95
96
96
96
97
98
98
99
100
101
101
102
102
103
104
104
104
104
104
104
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
106
106
107
107
107
107
107
112
112
115
115
118
118
118
118
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
120
120
120
120
120
120
120
120
120
120
121
121
121
121
122
122
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
124
124
124
124
124
124
125
126
127
127
128
128
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
130
131
131
133
133
133
136
136
136
136
138
138
141
141
144
144
144
144
145
146
149
149
152
152
152
152
152
152
152
153
155
155
157
162
168
172
177
177
180
180
180
180
180
180
180
181
181
181
181
182
182
182
182
182
182
182
182
182
182
183
183
183
183
183
183
183
183
183
183
183
184
184
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
186
186
187
188
188
189
189
189
189
189
189
189
190
191
191
192
192
193
194
194
195
195
195
195
195
195
195
196
197
197
197
197
198
199
200
201
201
201
201
201
201
202
202
202
202
202
202
203
204
204
204
204
204
204
204
207
210
213
213
213
216
220
223
223
226
229
231
234
238
241
241
244
246
247
247
248
249
249
249
250
251
251
252
253
254
254
255
255
256
257
257
257
257
257
257
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
260
260
261
261
261
261
261
264
264
267
267
269
269
269
269
270
270
270
270
270
271
271
271
272
272
272
272
272
272
272
272
272
272
273
273
273
273
273
273
274
274
275
275
276
277
277
278
279
280
281
281
282
283
283
283
284
284
285
285
285
285
285
285
286
286
286
286
286
286
286
286
287
287
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
289
289
289
289
289
290
291
292
293
293
294
294
295
295
295
295
295
295
295
295
295
295
295
295
295
295
296
296
296
298
298
300
301
303
305
308
309
309
312
312
312
312
315
315
318
318
321
321
326
328
333
336
339
339
342
342
342
342
343
343
343
344
347
347
348
352
357
367
372
373
376
376
377
378
378
378
378
379
379
379
379
380
380
381
382
382
382
383
383
384
385
386
387
387
387
387
388
388
389
389
390
390
391
391
392
392
393
393
394
394
394
394
395
395
395
396
396
396
396
396
396
397
397
398
399
400
401
402
402
403
403
403
403
403
403
403
404
405
405
406
407
408
409
409
410
410
411
411
412
412
412
413
414
414
415
415
416
417
418
419
419
420
421
422
422
423
424
424
425
425
425
426
427
427
428
428
429
430
430
433
436
439
442
443
445
450
453
453
456
459
462
465
469
473
476
479
481
482
482
483
484
485
486
487
488
488
489
490
491
491
492
492
493
494
