0
0
0
0
0
0
0
0
0
0
0
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
10
10
10
10
10
11
11
11
11
11
12
14
18
22
24
26
26
26
26
26
26
27
28
28
28
30
33
34
36
40
42
42
43
44
44
44
44
44
44
44
44
44
44
45
45
45
45
45
46
46
46
47
47
48
49
50
50
50
50
50
50
50
50
50
50
51
51
51
52
52
52
53
54
55
56
57
57
57
57
57
57
57
57
57
57
58
59
60
60
61
61
61
62
62
62
62
63
64
64
64
65
65
65
65
65
65
65
65
65
65
65
66
67
67
67
67
67
67
71
71
74
77
81
83
86
89
90
93
96
96
98
98
99
100
101
101
102
103
104
105
106
107
108
109
110
111
111
111
111
111
111
111
111
111
111
111
112
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
116
119
120
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
122
122
123
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
125
125
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
127
128
128
128
128
128
128
128
128
128
129
130
131
131
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
133
133
133
133
133
136
136
136
136
138
141
143
144
147
151
155
158
162
167
171
174
174
177
178
179
179
180
181
181
181
183
186
187
193
200
206
208
209
210
210
210
210
210
210
210
210
210
210
211
211
211
211
211
212
213
214
215
215
216
217
218
218
219
219
219
219
220
220
220
220
221
221
221
222
222
222
223
224
225
226
227
227
227
228
229
229
229
229
229
229
230
231
232
232
233
233
233
234
234
234
234
235
236
236
236
237
237
237
237
237
237
237
237
237
237
238
239
240
240
240
240
240
240
245
248
251
254
259
262
265
268
271
274
277
277
279
279
280
281
282
282
283
284
285
286
287
288
289
290
291
292
292
292
292
292
292
292
292
292
292
292
293
294
294
294
294
294
294
294
294
294
294
295
295
295
295
295
295
298
300
300
301
303
306
307
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
309
310
311
312
312
313
313
313
313
313
313
313
313
313
313
313
313
313
314
314
314
314
314
314
315
315
316
316
316
316
316
316
316
316
316
316
316
317
317
317
317
317
317
318
319
320
320
320
320
320
320
320
321
322
323
324
325
326
326
326
326
327
328
328
328
328
328
329
329
329
329
329
329
330
331
331
331
332
335
337
338
338
341
344
349
352
356
360
364
367
372
375
380
383
383
385
386
387
387
389
390
390
390
392
395
396
402
409
415
417
418
419
420
421
422
422
423
424
424
424
425
426
426
427
427
427
428
429
430
431
432
433
434
435
435
436
437
438
438
439
440
440
440
441
442
443
444
445
445
446
447
448
449
450
450
451
452
453
453
453
454
454
454
455
456
457
458
459
459
459
460
461
462
462
463
464
464
464
465
465
466
466
466
466
467
467
467
467
468
469
470
470
470
471
472
472
477
480
483
486
491
494
497
500
503
506
509
510
512
513
514
515
516
516
517
518
519
520
521
522
523
524
525
526
