2
2
2
2
2
2
2
2
2
5
3
3
3
3
3
3
3
3
3
3
2
1
1
1
1
2
1
3
4
4
4
4
4
1
1
1
1
0
0
0
0
0
0
1
1
1
3
4
3
3
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
4
4
6
6
9
11
9
8
7
5
4
4
4
4
4
3
3
4
4
4
7
12
13
14
12
8
8
13
12
11
12
14
17
17
17
18
17
16
16
16
14
13
10
11
15
14
13
12
11
10
7
7
7
5
5
5
5
5
7
7
8
8
8
8
8
8
8
8
8
8
8
7
7
7
7
10
10
10
10
12
15
15
15
15
15
15
15
17
19
19
19
21
22
26
27
29
33
35
35
35
35
38
39
40
41
41
42
43
44
45
46
48
49
49
53
53
54
56
56
57
58
58
58
58
58
58
59
60
62
65
67
68
68
68
68
68
68
69
77
79
79
79
79
78
78
78
78
79
80
82
83
83
84
85
88
89
91
91
93
95
95
95
96
96
96
96
96
95
95
93
89
88
88
88
88
88
88
88
89
89
89
89
88
88
88
89
91
91
93
94
93
93
92
90
87
89
89
89
87
86
85
84
81
80
80
80
80
80
81
83
84
84
85
85
86
86
86
87
87
87
87
87
87
87
84
83
81
80
79
81
83
85
86
90
94
94
92
92
91
90
87
86
86
86
86
87
88
91
91
93
93
93
91
89
84
83
81
83
86
90
91
92
92
92
92
91
91
91
87
84
84
85
85
85
86
86
86
86
85
84
83
81
80
79
77
77
75
74
73
69
68
68
67
67
67
65
65
64
64
64
63
61
61
61
59
59
59
59
58
57
56
50
46
44
41
33
30
26
19
15
13
11
10
10
9
9
8
9
9
6
6
6
6
5
4
4
5
6
6
7
8
11
12
11
10
9
9
8
7
8
8
8
8
7
6
8
8
8
7
7
7
7
7
7
8
8
9
17
17
16
14
9
9
8
6
6
7
7
7
5
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
2
2
1
1
1
1
4
1
3
4
5
5
5
5
5
6
5
1
1
2
2
2
3
3
3
3
0
0
1
5
5
5
5
5
5
5
5
5
4
3
3
4
3
3
7
8
9
10
10
10
7
7
4
4
11
12
14
15
15
16
17
19
27
30
32
33
33
32
31
28
29
38
38
33
32
29
28
31
33
36
38
65
76
77
79
80
80
80
79
79
79
82
88
90
94
95
94
92
92
93
93
93
95
98
101
105
107
111
113
115
118
116
115
114
107
108
109
111
114
111
113
116
121
125
133
135
135
136
137
137
138
138
139
140
140
140
140
140
157
162
163
163
163
163
164
165
168
170
173
176
178
178
178
179
180
181
182
184
185
187
187
187
187
187
187
188
189
190
192
196
198
200
201
202
202
204
206
208
209
210
211
212
220
222
223
223
225
225
226
225
225
223
225
226
227
229
231
232
234
236
237
241
243
245
250
256
260
262
260
261
262
263
266
270
273
276
279
287
288
288
287
287
290
299
299
299
300
300
300
300
300
301
301
301
301
301
301
304
305
306
309
312
313
314
314
314
314
314
314
314
314
314
319
320
321
322
326
327
327
328
327
327
327
326
325
319
319
319
319
318
318
318
317
317
317
317
317
315
314
313
312
310
310
309
308
308
310
311
314
315
316
320
321
322
322
324
329
329
330
330
330
330
331
331
331
331
331
332
332
337
338
342
342
347
348
349
351
353
354
356
359
362
364
368
371
371
373
374
374
374
374
378
382
384
388
389
393
393
394
395
395
398
399
399
401
403
403
403
404
404
405
407
410
414
416
417
418
418
419
421
424
425
427
429
430
430
434
436
438
438
439
440
441
441
443
445
450
452
454
456
457
457
463
465
471
474
475
475
471
471
474
475
476
476
483
483
483
483
484
484
484
485
488
490
491
497
506
508
510
514
515
517
516
515
515
514
513
511
513
514
514
514
514
513
513
514
516
516
517
517
518
518
518
524
527
529
531
532
537
540
542
542
542
543
547
548
560
562
559
558
557
557
556
558
560
562
562
562
561
561
563
564
564
565
566
568
572
576
577
578
579
580
582
589
590
591
590
590
590
590
589
589
589
588
586
586
585
588
590
593
594
595
596
598
602
602
603
605
607
609
611
612
616
617
618
619
619
621
621
621
621
620
620
620
620
620
621
623
624
625
620
618
618
618
617
617
616
616
615
615
615
614
610
609
603
603
603
604
604
603
601
601
601
600
599
599
599
598
597
597
596
596
595
595
594
594
593
592
590
589
588
587
587
588
588
587
587
587
587
587
588
591
602
608
608
610
618
619
621
614
613
612
611
611
611
611
612
612
612
613
610
609
609
608
607
605
604
603
601
602
597
593
589
586
585
583
579
578
574
572
569
567
564
554
543
541
539
539
539
539
539
539
539
539
531
526
517
513
508
505
502
501
500
500
499
499
499
499
499
498
496
491
486
481
470
468
467
466
465
463
461
456
455
454
453
452
452
452
452
448
446
444
442
439
429
418
417
417
416
414
410
409
408
406
406
406
405
405
405
405
404
402
398
397
396
394
385
378
375
370
358
357
357
355
353
351
349
348
346
345
345
344
344
344
343
343
343
342
342
341
340
340
340
339
339
338
319
318
317
317
316
315
315
315
315
315
315
314
313
312
308
306
304
302
300
298
296
296
295
295
295
294
294
294
293
293
292
287
287
287
287
287
286
283
282
282
281
280
276
275
271
269
266
265
265
264
262
261
259
257
255
253
251
247
246
246
244
243
242
242
241
240
239
238
238
239
240
241
241
241
241
241
241
241
240
239
239
239
245
247
249
249
249
249
251
253
256
257
258
259
259
259
258
257
256
255
253
252
251
249
247
245
243
242
238
232
230
227
225
222
220
219
218
214
214
214
214
213
210
210
202
200
195
193
191
186
184
183
182
181
182
184
188
189
190
195
197
199
200
200
201
202
203
203
205
205
206
207
207
208
208
208
216
217
218
215
214
212
209
207
207
209
210
211
212
213
214
217
219
221
222
223
223
224
224
227
228
228
227
227
225
225
224
224
224
224
224
224
224
214
213
208
208
209
210
210
210
212
213
214
215
217
219
223
223
221
221
221
221
222
222
222
224
224
225
227
228
231
233
233
234
235
235
236
236
237
237
238
238
238
238
237
236
236
244
243
244
244
244
245
245
245
245
245
246
252
254
258
259
260
261
263
266
267
267
268
269
279
283
284
286
288
289
290
293
295
296
297
297
297
297
298
300
301
302
303
304
305
306
305
305
304
304
304
303
303
303
304
304
305
305
305
304
302
302
302
303
306
308
312
319
318
316
316
320
323
324
325
326
327
328
328
329
331
331
331
331
331
330
329
329
329
330
331
332
333
334
335
335
336
334
333
332
330
331
331
331
332
332
332
332
332
332
332
332
333
333
333
333
334
334
334
334
334
334
333
333
332
332
331
331
330
327
326
324
318
316
314
312
311
311
310
310
310
310
310
308
307
304
302
299
299
299
299
299
295
294
292
291
286
285
276
276
275
271
270
269
266
265
261
261
249
246
247
247
247
247
244
240
233
232
230
227
226
225
223
222
222
222
222
222
222
220
220
219
218
218
217
216
215
215
214
214
214
214
214
211
209
206
204
203
202
199
198
197
197
192
184
181
178
176
172
171
169
169
169
168
168
168
168
166
165
163
162
158
157
154
152
150
139
136
131
130
129
127
126
125
124
123
122
121
119
118
117
113
112
110
110
113
116
117
117
116
113
110
110
109
108
107
107
108
108
108
109
109
109
109
109
109
109
109
109
109
109
107
113
114
115
116
117
117
120
121
129
129
130
131
132
142
146
146
147
147
147
148
149
151
152
153
153
155
156
158
160
160
162
163
165
167
168
169
170
171
173
173
174
176
176
177
177
180
184
185
188
193
193
193
193
198
199
200
200
201
202
202
204
205
205
206
207
208
213
213
215
217
217
221
223
227
231
228
223
221
220
219
216
217
219
222
224
225
225
226
226
226
226
225
225
224
224
225
225
226
228
229
229
229
230
230
230
229
226
225
224
224
228
229
230
231
231
230
227
226
224
224
224
225
226
226
224
221
221
221
221
222
222
222
221
218
216
214
214
215
218
219
222
223
224
228
229
232
233
233
235
236
237
237
235
235
235
234
234
233
232
229
228
228
228
229
228
226
224
224
223
222
222
219
217
215
214
212
211
210
208
208
207
207
207
207
205
204
203
203
202
202
201
200
199
198
197
196
193
192
188
187
185
183
181
177
175
175
175
175
175
173
172
170
167
166
165
163
161
159
157
152
151
151
151
150
150
150
149
149
148
145
145
143
143
143
142
140
139
138
137
136
135
129
124
123
122
121
121
118
117
117
116
114
113
112
99
99
99
99
99
99
98
98
97
96
91
91
90
90
89
88
84
79
77
75
74
74
74
73
71
71
70
70
70
69
69
69
69
69
69
68
68
68
68
68
67
67
67
67
67
67
61
58
57
56
56
56
55
55
54
53
47
46
46
46
45
45
41
39
39
39
39
38
38
37
36
35
17
17
17
17
18
18
18
18
19
21
21
20
19
19
18
18
18
18
18
22
24
25
26
28
29
30
30
27
27
27
29
30
30
31
29
25
24
23
23
23
20
16
14
12
12
12
12
13
14
14
15
15
17
17
18
18
18
18
18
18
19
19
19
19
18
16
15
19
18
18
17
11
11
11
13
13
15
16
16
16
15
14
13
11
10
10
10
17
19
21
20
19
18
17
17
16
18
17
12
8
5
0
0
6
7
7
7
7
7
7
6
5
5
5
5
5
5
5
5
6
6
9
10
10
10
10
10
10
11
11
11
11
11
11
11
11
10
10
10
10
8
8
8
8
8
8
8
8
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
3
4
4
1
1
2
2
2
3
3
3
3
3
2
2
2
2
1
1
1
0
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
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
2
4
4
3
1
0
0
0
0
0
0
1
1
1
1
1
2
4
4
4
4
3
3
2
2
1
3
3
3
3
3
3
3
3
3
3
3
3
3
5
3
3
3
2
2
1