4
1
5
5
9
10
7
3
6
8
15
21
13
8
8
16
13
9
18
6
7
10
12
10
4
7
4
14
5
5
6
5
5
6
7
12
16
9
19
30
30
32
49
47
80
75
69
84
118
120
139
165
170
189
195
202
256
243
283
274
284
320
348
335
317
345
364
381
367
365
416
403
414
433
464
421
450
489
444
467
488
458
471
474
504
454
517
498
443
511
473
494
487
488
509
516
501
508
518
554
560
563
605
620
648
755
777
816
918
989
1063
1224
1278
1382
1591
1708
2001
2118
2316
2465
2770
3005
3110
3394
3519
3757
4028
4028
4316
4440
4410
4669
4731
4768
4662
4729
4521
4386
4433
4275
4163
3990
3754
3596
3520
3282
3065
2889
2742
2552
2356
2272
2143
1965
1938
1732
1617
1550
1448
1226
1218
1104
1030
924
897
833
797
646
683
617
591
555
511
487
455
438
429
410
394
424
394
375
362
357
341
365
355
360
324
327
321
358
346
330
335
349
336
339
347
325
331
358
318
312
310
299
337
363
310
349
331
306
290
316
329
299
310
331
320
329
345
303
347
328
314
297
314
272
339
328
334
328
319
310
333
332
304
299
324
354
323
300
290
337
305
308
306
317
302
317
321
317
301
319
300
307
314
313
318
292
311
335
333
294
309
311
336
348
321
346
303
330
275
332
285
309
323
298
340
305
296
281
325
325
344
319
287
326
310
300
331
318
340
335
319
295
337
278
307
300
327
290
327
297
330
309
300
285
333
303
314
301
311
327
295
327
309
335
306
295
312
311
287
298
297
287
271
296
298
319
306
274
286
338
335
300
301
286
298
278
299
311
326
301
315
281
294
312
300
278
286
270
296
309
293
286
289
277
296
307
264
301
264
273
299
305
266
280
277
317
294
270
255
288
265
293
249
272
305
302
331
297
277
312
286
285
285
289
292
290
254
318
280
307
289
294
269
305
258
289
303
294
300
302
294
302
259
297
298
302
273
276
311
292
248
284
284
291
280
259
257
247
271
279
279
279
276
281
290
274
278
272
281
253
268
286
245
285
271
308
263
272
269
271
307
240
256
312
320
295
294
292
271
289
284
326
276
247
266
231
285
279
317
290
283
266
300
258
320
293
282
314
295
287
297
300
264
252
275
281
283
248
293
297
290
306
270
292
311
292
276
273
250
276
314
292
287
281
269
273
251
247
277
288
235
274
294
281
243
297
255
247
289
273
285
249
259
276
270
290
278
292
273
293
287
265
273
282
298
255
274
237
257
283
281
279
271
288
266
272
266
282
281
306
297
282
276
259
279
259
301
267
284
242
285
299
262
230
289
269
249
291
286
276
268
232
274
272
240
277
270
280
279
264
268
267
260
270
277
254
258
257
293
296
274
274
271
271
287
261
292
263
252
253
269
267
294
250
256
293
279
263
257
268
260
250
271
261
270
280
265
255
282
244
241
267
281
281
259
274
258
287
267
251
267
259
230
284
270
271
262
262
270
273
270
249
249
270
282
236
262
219
260
252
255
235
272
248
271
260
248
279
264
299
260
263
254
287
275
255
256
274
252
263
233
267
286
270
275
280
289
280
260
268
260
270
275
300
279
288
257
272
275
293
313
286
268
276
275
281
273
258
273
280
280
279
273
261
281
276
292
299
287
258
271
269
291
299
296
283
295
294
319
315
287
284
298
309
335
307
292
281
308
318
309
346
282
315
308
307
277
320
315
345
309
288
278
308
358
334
305
361
320
334
319
313
300
297
297
280
329
315
327
309
315
282
340
337
332
349
302
307
324
362
297
294
325
339
318
305
316
317
352
324
299
334
310
312
303
292
345
317
332
319
301
311
339
348
335
299
335
333
332
312
314
326
304
282
355
323
301
317
303
310
310
302
308
336
315
338
341
351
289
342
315
342
313
316
299
341
264
321
304
339
320
332
338
309
314
324
327
330
324
313
287
312
239
297
286
290
321
292
296
296
332
299
318
303
289
293
328
268
335
257
306
277
301
315
293
321
309
326
317
334
302
288
287
279
284
283
326
299
283
302
344
314
258
277
330
305
251
304
293
267
283
273
291
269
271
279
282
301
302
299
285
279
299
294
287
277
316
287
301
295
297
284
278
272
305
265
297
297
297
313
272
292
301
295
258
267
247
292
252
291
279
278
260
277
230
302
297
267
291
291
261
278
289
276
264
284
267
262
298
306
267
298
310
286
298
293
271
276
279
285
268
266
255
252
283
276
260
275
264
289
283
275
264
275
272
304
278
234
274
296
280
272
269
261
280
281
294
254
255
259
246
262
311
244
264
275
261
273
276
280
279
275
282
252
251
264
256
279
266
283
287
253
231
289
284
278
261
274
279
297
291
246
263
261
224
256
275
253
284
250
271
264
254
246
223
273
280
266
255
287
285
295
241
255
260
269
305
258
290
262
279
267
257
268
245
273
270
260
274
259
260
224
288
281
255
271
270
275
269
252
263
283
276
268
276
255
295
243
237
258
250
255
263
257
248
263
242
245
271
251
243
243
235
250
245
267
288
270
255
212
258
226
238
276
285
262
241
241
251
271
241
271
256
260
248
251
238
252
274
206
259
259
292
259
264
257
273
242
274
270
253
261
270
269
285
258
272
261
231
292
274
274
265
257
261
270
256
238
277
245
254
281
249
249
306
267
266
228
239
253
272
245
289
268
280
253
265
255
250
252
263
259
251
289
255
277
270
277
243
261
250
241
276
260
240
280
236
249
263
261
263
261
253
256
230
280
249
282
257
231
242
245
259
252
232
266
263
261
258
245
251
228
256
258
234
282
241
271
259
248
274
267
241
234
257
267
260
250
270
259
245
239
257
238
241
229
257
269
231
245
263
269
235
262
245
267
285
228
256
258
269
271
246
274
255
258
252
249
249
263
250
257
248
263
259
268
306
274
242
252
261
233
251
260
241
245
269
283
252
251
278
246
249
228
256
251
238
270
217
251
285
257
247
252
273
265
247
246
256
268
249
274
254
233
241
297
262
249
251
272
244
244
259
257
267
256
252
270
248
227
256
265
265
286
255
242
241
254
251
242
262
261
265
265
254
267
254
239
268
260
260
251
256
277
245
260
259
253
250
288
261
241
265
287
263
249
254
242
273
253
259
235
269
272
250
268
270
284
244
282
287
250
238
274
277
264
258
277
262
249
265
287
265
248
262
252
287
247
259
283
245
257
285
266
270
273
288
281
275
252
256
268
246
257
255
255
263
234
257
260
264
300
268
273
239
311
253
259
270
265
270
249
260
280
271
249
238
282
236
274
242
277
317
231
284
281
267
269
281
281
278
254
263
254
261
299
241
270
275
327
257
267
287
305
276
281
291
276
283
272
306
251
277
267
281
277
251
261
273
288
290
297
281
288
297
281
274
294
292
258
272
284
285
270
269
258
279
284
294
294
267
274
279
266
277
268
272
288
263
282
258
287
278
287
266
285
290
303
265
315
283
283
280
249
306
279
274
298
281
263
273
299
275
284
297
305
296
264
290
299
300
300
309
273
311
299
282
297
302
277
319
283
283
279
295
282
271
305
317
268
274
333
272
269
262
268
293
299
298
266
282
299
278
285
305
275
292
264
333
295
284
289
321
309
276
299
292
293
307
317
330
301
301
331
295
285
282
283
271
306
295
298
297
288
316
324
310
275
293
328
311
277
300
292
311
301
274
284
317
308
319
300
302
321
314
302
308
312
310
312
294
277
276
281
348
319
268
297
318
275
301
281
313
329
331
334
313
301
292
314
316
309
289
349
330
343
336
323
329
318
330
312
320
350
300
343
297
322
327
313
322
281
333
318
331
312
307
318
336
280
345
315
297
347
301
313
310
313
313
337
307
272
334
328
324
313
347
317
326
347
319
318
313
296
300
321
321
315
330
294
326
328
341
310
284
320
289
333
324
323
310
334
351
324
332
332
324
338
341
332
327
308
331
326
352
329
346
327
352
328
303
325
340
342
296
355
321
320
362
355
347
302
334
324
360
353
326
361
339
367
318
314
330
340
322
320
358
351
335
290
354
328
315
328
331
312
328
341
323
312
323
316
320
273
310
353
331
295
282
344
322
348
327
305
315
340
316
304
331
291
331
306
288
283
314
303
294
336
301
292
288
294
321
288
294
272
320
280
289
279
303
269
272
298
299
254
250
265
260
261
271
257
261
243
241
266
246
241
236
239
228
261
225
222
242
199
203
207
227
211
194
243
187
207
180
170
190
202
195
176
178
182
189
171
192
148
169
169
151
169
154
157
138
157
146
134
121
167
152
126
135
137
133
140
138
118
146
110
114
123
113
103
143
143
94
126
114
98
103
100
95
100
106
98
116
92
103
91
95
89
89
94
81
79
101
94
97
90
101
82
92
84
69
77
75
82
75
93
76
76
76
96
99
75
82
65
76
86
73
68
98
70
56
82
68
98
64
76
74
86
82
59
62
68
78
66
62
77
67
65
63
73
53
79
70
70
62
71
50
63
61
56
66
64
68
63
59
71
45
70
47
54
56
50
52
54
61
53
51
52
58
52
60
61
54
55
50
50
54
57
66
59
34
60
46
63
47
44
53
50
59
57
52
53
54
37
47
48
50
44
39
39
47
45
44
53
44
43
39
53
33
43
62
46
42
43
31
29
45
34
51
51
39
39
31
43
36
43
56
47
34
37
38
39
45
30
53
38
41
37
38
36
30
34
44
39
38
26
39
31
34
56
27
38
27
41
33
32
19
38
19
30
26
27
27
20
37
23
28
31
21
36
36
27
35
32
27
29
31
20
25
14
27
19
26
20
28
19
28
22
13
24
20
21
33
25
20
27
20
25
27
18
23
21
21
33
25
30
26
20
24
20
17
30
24
14
20
23
16
23
17
20
15
20
18
18
17
27
12
23
22
16
10
21
22
21
20
18
18
19
22
22
24
23
18
28
24
19
24
23
27
21
17
23
22
22
14
18
28
19
14
18
16
29
12
17
19
16
21
15
16
20
25
20
17
19
15
22
20
20
20
7
13
14
20
15
17
18
19
20
10
19
18
21
17
21
20
21
15
19
22
19
17
18
22
17
14
13
13
13
12
13
19
23
20
12
23
16
10
15
18
11
15
10
14
12
14
17
11
19
11
13
19
13
19
13
21
20
13
21
19
9
23
18
12
13
14
18
16
18
5
19
13
9
15
15
7
21
16
14
16
12
10
9
11
11
14
18
16
10
13
13
11
15
15
17
15
15
6
11
18
11
17
15
12
20
15
13
9
8
14
13
13
6
11
13
8
21
16
12
16
9
11
10
15
13
13
15
14
13
15
15
10
23
18
19
14
10
18
16
19
13
22
15
11
17
13
18
14
15
15
16
14
26
13
22
19
16
19
22
12
15
29
14
13
12
20
16
17
15
27
22
23
21
21
17
16
26
36
21
27
23
29
31
30
30
23
37
31
27
36
29
33
21
43
39
34
24
48
40
35
40
46
42
36
34
48
44
56
42
55
58
58
47
65
63
64
56
69
68
69
68
90
82
94
75
87
95
128
97
111
127
130
115
148
149
164
157
176
187
172
205
208
216
215
231
265
292
257
288
276
346
293
333
375
409
412
418
439
429
482
508
493
495
604
560
549
601
640
647
674
749
708
765
769
818
854
820
935
932
989
958
1034
989
1024
1125
1098
1132
1168
1214
1208
1211
1275
1292
1369
1419
1387
1445
1470
1480
1525
1483
1564
1525
1620
1539
1530
1631
1543
1677
1642
1656
1587
1668
1698
1657
1633
1654
1647
1763
1676
1710
1680
1668
1682
1752
1736
1644
1690
1651
1647
1663
1587
1591
1576
1559
1504
1582
1452
1430
1433
1364
1391
1382
1363
1338
1287
1221
1291
1214
1136
1133
1099
1036
1038
1044
982
959
967
838
865
822
857
774
789
741
701
648
652
634
598
608
526
524
465
494
500
457
454
425
393
362
362
322
330
291
281
266
266
251
210
210
176
203
175
199
164
153
122
122
142
116
120
125
104
102
99
86
99
75
55
54
57
48
51
42
58
48
31
31
30
30
20
32
25
22
11
18
11
13
14
17
16
15
6
9
12
7
6
6
7
11
9
6
4
5
6
4
3
4
7
4
2
1
6
3
4
1
2
3
5
4
1
5
3
3
2
3
1
2
2
4
0
1
2
3
4
2
1
0
3
4
3
1
2
4
4
1
1
2
2
2
2
3
4
3
1
5
0
2
3
0
4
2
3
3
2
3
3
2
2
3
0
3
2
2
1
3
0
2
1
2
2
2
1
3
1
1
0
2
4
2
6
1
0
2
2
2
2
3
3
0
1
2
1
1
0
2
0
3
2
0
0
0
3
3
3
1
2
2
2
1
1
1
1
2
1
0
0
0
2
0
3
3
0
2
1
0
3
2
1
1
2
0
0
1
2
2
1
1
1
0
0
1
1
1
1
2
0
1
1
0
0
2
3
2
0
0
0
0
2
0
0
1
1
0
1
2
0
0
3
0
0
0
1
1
0
1
0
1
3
1
1
0
1
0
0
0
2
1
1
1
0
1
0
3
0
1
0
0
0
1
1
3
0
0
1
0
0
0
1
0
2
0
2
0
0
2
0
1
4
1
2
0
1
0
1
0
1
2
0
2
1
0
0
0
2
0
2
0
0
0
0
2
0
0
1
0
0
1
1
3
1
0
1
1
0
3
0
1
0
0
1
0
1
1
2
0
0
0
3
1
3
0
1
1
1
1
0
2
2
1
0
0
0
0
0
0
0
0
2
0
2
1
0
0
0
0
0
0
0
2
1
2
0
1
1
1
0
0
1
0
2
1
1
2
0
0
2
0
0
1
1
1
0
0
0
0
1
0
2
0
2
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
1
1
2
2
1
1
2
0
2
0
0
1
2
0
0
1
2
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
2
0
1
0
0
1
1
0
0
1
0
1
2
1
1
0
1
1
0
1
0
0
3
1
1
0
0
0
0
2
0
0
0
1
0
1
1
2
0
0
2
2
1
0
1
0
1
1
0
1
1
1
0
0
3
1
1
0
1
1
0
1
0
1
0
0
0
0
0
0
2
0
0
1
1
2
0
0
0
2
1
0
2
1
0
0
2
0
0
0
1
0
0
0
2
2
1
0
0
1
0
0
1
1
0
1
1
0
3
1
0
0
0
0
1
2
0
2
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
0
1
2
1
1
1
1
2
1
0
1
0
0
0
0
1
0
3
2
0
1
1
0
3
2
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
2
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
4
0
0
0
0
2
1
2
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
2
0
1
0
0
1
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
3
3
0
1
1
0
1
0
1
1
0
1
0
1
0
2
3
2
0
1
1
0
1
2
0
2
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
2
0
1
2
2
0
0
1
0
0
2
2
2
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
3
2
1
0
2
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
2
0
0
0
0
1
1
0
2
1
2
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
2
0
3
0
0
0
1
0
0
1
1
0
1
0
0
0
0
1
0
1
1
1
2
0
0
0
1
0
3
1
0
0
3
1
0
0
0
1
0
1
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
1
1
0
2
1
0
1
0
1
0
1
0
1
0
0
0
2
1
0
0
0
0
0
1
0
0
0
2
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
2
0
0
0
1
1
0
0
0
0
0
0
0
0
0
2
0
1
2
0
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
2
2
0
0
0
0
0
2
0
0
1
1
1
0
0
0
0
0
0
0
0
2
1
0
1
1
0
1
1
0
1
1
0
1
0
2
0
0
0
1
0
0
0
0
2
0
0
0
0
1
0
0
1
2
1
1
0
2
0
1
0
0
0
1
0
1
1
1
0
2
0
0
0
1
1
0
0
0
0
1
0
1
1
0
2
1
0
0
0
1
0
0
0
2
0
0
1
0
0
0
0
0
1
0
1
0
0
2
1
1
1
1
0
0
0
1
0
0
1
2
0
1
0
0
0
0
0
0
1
2
2
0
0
0
0
0
0
1
1
0
1
0
0
1
2
1
4
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
2
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
2
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
3
1
1
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
2
1
0
1
0
0
0
2
1
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
2
1
0
1
0
3
1
1
2
3
1
3
2
1
0
1
0
1
1
3
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
4
2
1
4
1
3
2
1
2
2
2
5
3
5
2
8
9
3
5
10
2
3
7
6
2
4
9
3
4
4
3
2
8
4
4
3
1
1
1
4
1
1
1
0
0
2