]]>
]]>
0
1
1
1
1
1
1
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
0
0
0
0
0
1
1
2
2
2
2
2
2
2
2
2
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
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
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
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
0
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
1
1
1
1
1
1
1
1
1
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
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
1
1
0
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
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
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
1
1
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
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
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
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
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
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
4
4
4
4
4
4
4
4
4
4
3
3
3
3
2
2
2
2
2
2
2
3
3
3
4
4
4
5
5
5
5
5
5
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
4
4
4
4
4
4
4
4
4
4
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
4
4
4
4
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
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
2
2
2
2
2
2
2
3
3
3
3
3
3
3
2
2
2
2
2
3
3
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
6
6
6
6
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
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
7
7
7
7
7
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
8
8
8
8
8
8
8
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
14
14
14
14
14
14
14
14
14
14
14
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
15
15
14
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
16
16
17
17
17
16
16
16
16
16
16
15
15
15
15
15
15
15
15
16
16
16
16
17
17
17
17
18
18
18
18
18
19
19
19
19
19
20
20
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
20
20
19
19
19
19
19
19
19
19
19
20
21
21
22
23
23
23
21
21
21
21
21
21
21
21
21
20
20
20
20
20
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
25
25
25
25
26
26
26
26
26
26
26
26
26
26
26
26
27
27
27
27
26
26
26
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
27
27
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
31
31
31
32
33
33
33
33
32
32
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
30
30
30
30
30
30
30
30
30
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
30
30
31
31
31
31
31
31
32
32
32
32
32
32
32
31
31
31
31
32
34
34
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
34
34
34
35
35
35
35
35
35
35
35
35
35
36
36
36
36
36
36
37
37
37
37
38
38
38
38
38
38
37
37
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
39
39
39
40
40
40
40
40
40
40
40
40
40
40
39
39
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
41
41
41
42
42
42
42
42
43
43
43
44
45
45
45
45
46
47
48
48
48
48
48
48
48
48
48
48
48
48
48
48
49
49
49
49
49
50
50
50
52
52
52
53
53
53
53
54
54
54
54
54
54
55
55
55
55
55
55
55
55
55
56
56
56
56
57
56
56
56
56
56
59
60
60
60
60
63
65
65
65
65
65
65
65
65
65
65
66
66
66
66
66
67
67
68
69
69
70
70
70
69
69
69
69
72
72
72
74
76
78
78
78
81
81
81
82
82
83
83
83
83
84
84
84
85
85
85
85
85
85
86
87
87
88
89
89
90
91
91
91
91
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
93
93
95
95
96
96
96
96
97
97
97
97
97
97
98
98
98
99
100
101
106
106
106
106
106
106
106
107
107
108
108
110
110
110
110
110
110
110
110
110
110
110
111
112
112
112
112
112
113
113
114
114
114
114
114
115
116
116
116
116
117
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
119
119
120
120
120
121
121
121
122
123
123
123
123
124
124
124
124
124
126
127
127
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
130
132
132
132
132
133
133
133
133
133
133
133
133
133
134
134
134
134
134
134
134
134
134
134
134
135
135
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
137
137
137
137
136
136
136
136
136
136
136
137
137
137
137
137
138
138
138
139
139
140
140
140
141
141
141
141
142
142
143
143
143
143
144
144
144
144
145
145
145
145
145
145
146
146
146
146
148
149
149
149
149
149
149
150
150
150
150
151
152
152
154
154
154
156
156
156
157
157
157
157
168
176
177
177
176
176
175
173
172
171
169
168
167
166
165
165
165
165
166
166
166
167
167
167
168
169
170
170
174
174
175
175
175
175
175
176
176
176
176
177
178
178
178
178
178
179
179
179
179
179
179
179
179
180
180
181
181
181
181
181
181
181
181
181
182
182
182
182
182
182
182
181
181
181
181
181
180
180
180
180
180
180
180
178
178
178
176
173
172
171
170
169
168
168
168
168
168
168
168
168
165
163
162
162
162
161
161
160
160
159
158
156
156
158
160
162
162
163
164
164
166
167
168
168
168
169
169
172
174
174
174
174
175
175
175
176
176
176
176
176
176
177
177
177
178
178
179
181
184
186
187
189
192
192
193
194
195
196
196
196
196
197
197
197
197
203
206
207
208
209
212
212
212
212
212
212
212
212
212
212
212
212
212
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
210
210
210
210
209
209
209
208
208
208
207
207
206
206
206
206
205
205
205
205
205
205
205
205
204
204
204
204
203
200
200
199
199
199
198
198
198
197
197
197
197
197
197
197
196
196
195
195
193
192
188
185
184
183
183
181
181
180
179
179
178
178
178
179
181
180
179
178
178
178
177
177
176
176
175
173
173
172
172
172
171
171
171
171
170
170
169
169
168
167
167
167
167
167
167
167
167
167
167
167
167
167
168
168
168
168
167
166
164
164
164
163
163
163
164
164
164
164
163
163
161
160
159
159
159
158
156
156
156
156
156
156
155
154
154
153
153
153
152
152
151
151
150
150
151
153
155
157
159
161
162
163
163
164
164
165
165
166
167
167
168
168
169
169
169
169
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
169
169
169
168
168
167
167
167
166
166
165
164
164
163
162
162
160
153
151
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
151
152
152
153
154
156
157
158
163
164
165
166
166
166
166
167
167
168
168
168
168
167
167
167
166
166
166
167
168
172
174
176
176
176
176
176
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
176
179
180
182
183
183
185
187
188
189
191
192
194
194
195
195
195
196
196
197
197
198
198
199
199
199
200
200
200
201
201
201
202
202
203
206
206
207
207
208
209
209
210
211
214
215
215
215
215
215
215
216
216
216
216
216
216
216
216
216
216
216
216
217
218
219
220
221
221
222
223
224
225
225
226
226
227
227
227
227
228
228
228
228
229
229
230
231
232
233
234
235
235
236
236
237
237
237
238
239
240
240
241
242
242
243
243
243
244
244
244
244
244
244
244
245
245
246
246
247
247
248
248
248
249
249
249
250
250
250
251
251
252
252
253
253
253
253
253
253
253
253
253
254
254
254
254
254
255
256
256
257
258
259
260
261
262
262
262
262
262
263
263
263
263
263
263
263
264
264
264
264
264
265
266
267
271
272
273
273
274
274
275
275
275
275
275
276
276
277
277
278
280
281
283
284
286
287
289
289
290
291
291
292
292
293
294
294
294
294
294
294
294
295
295
295
295
295
295
296
296
296
297
297
298
298
298
299
299
299
300
301
301
302
302
302
303
304
304
304
304
304
304
304
304
305
305
305
305
305
305
305
305
306
306
306
306
306
307
307
307
308
309
310
310
310
311
311
311
312
312
313
313
313
313
314
314
315
315
315
316
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
320
321
321
321
322
322
322
324
325
325
326
327
327
328
328
329
330
332
332
335
335
335
335
334
334
333
333
332
332
333
333
334
334
335
336
337
337
337
338
339
343
349
360
369
366
359
359
358
358
357
357
357
356
356
356
356
355
355
355
354
354
354
353
353
353
352
352
351
351
351
351
350
350
350
350
349
349
349
349
349
348
347
347
347
347
347
346
346
346
346
346
346
346
345
345
345
345
345
344
344
344
343
343
342
342
342
341
341
340
340
338
334
333
333
333
333
332
332
332
332
333
334
334
335
336
336
337
337
338
338
339
340
341
342
342
343
344
345
352
351
350
350
349
349
348
346
345
344
343
343
342
342
341
340
340
340
340
341
341
341
341
341
342
342
343
343
344
345
346
347
348
350
350
350
348
348
347
347
347
347
347
346
346
346
346
346
345
345
345
344
342
341
341
341
341
341
340
340
340
339
339
338
338
338
338
338
337
337
337
337
337
337
337
337
337
336
336
336
336
336
336
336
336
336
336
335
335
335
335
335
335
335
334
334
333
332
331
330
329
328
327
326
325
324
324
324
323
323
322
322
321
321
320
320
320
320
319
319
319
319
318
318
318
318
317
317
316
316
315
315
314
314
313
313
312
311
311
311
311
312
312
313
313
314
314
315
316
316
319
320
320
320
320
320
320
320
319
319
319
318
318
318
318
317
317
317
317
316
316
316
316
315
315
315
315
315
314
314
313
313
313
312
312
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
312
312
312
313
313
313
313
313
313
312
311
311
310
308
307
307
307
306
313
312
311
309
309
309
309
309
309
309
309
309
309
311
312
313
314
314
314
314
315
315
315
315
315
315
315
315
315
315
314
314
314
314
314
314
311
310
309
309
309
308
308
307
307
307
306
305
302
301
300
301
302
304
305
306
307
308
310
311
311
314
317
319
321
322
323
324
324
325
326
326
327
327
327
326
325
324
324
323
322
321
321
320
320
319
318
318
317
315
313
307
303
303
303
303
303
303
303
302
302
302
302
302
302
302
301
301
301
301
301
301
301
301
301
301
301
301
301
301
302
305
306
306
306
306
306
308
309
310
310
310
310
311
311
311
312
312
312
312
313
314
315
317
320
321
323
325
326
327
327
328
328
329
330
330
330
330
330
330
331
331
331
332
332
332
332
333
333
333
333
334
334
334
334
334
334
333
333
333
332
332
331
331
331
331
330
330
330
330
329
329
329
329
329
329
329
329
329
328
328
328
328
328
330
332
332
331
330
329
328
327
327
326
325
325
325
325
325
326
326
326
327
327
327
327
328
328
328
328
328
328
328
328
328
328
329
330
333
338
345
350
352
353
353
354
353
352
352
351
351
350
354
359
361
361
362
364
368
368
374
378
381
385
378
378
378
377
377
376
376
375
375
374
374
369
369
368
368
368
368
368
367
367
366
366
366
366
366
365
363
362
361
360
360
359
359
359
359
359
358
358
358
358
359
361
364
367
368
371
372
373
373
374
374
374
375
375
375
375
375
375
377
379
380
381
383
383
384
385
386
387
389
390
390
391
391
391
392
392
391
390
389
387
387
387
388
390
392
393
394
394
394
395
396
398
399
400
400
400
400
400
400
400
400
400
400
400
400
400
400
402
403
403
404
405
406
408
411
413
414
415
420
421
422
423
424
426
427
427
429
431
431
431
431
431
432
432
432
432
433
433
433
434
435
436
437
437
437
438
438
440
441
442
442
442
442
442
443
443
443
443
443
444
444
444
444
444
445
446
446
446
446
447
448
449
449
450
450
451
452
453
454
454
455
455
455
456
457
459
461
461
463
465
466
467
468
469
469
469
470
470
470
470
471
472
473
473
473
474
474
474
475
475
476
476
477
477
477
478
478
479
479
480
481
483
485
486
488
489
490
492
493
496
499
501
502
503
504
506
508
511
517
517
518
518
518
519
519
519
519
520
523
529
529
530
531
532
533
533
534
534
536
539
539
541
542
543
544
544
545
545
546
547
547
548
549
550
551
552
554
555
556
557
558
560
562
564
568
569
569
570
570
571
572
572
573
573
574
575
575
576
577
579
580
582
583
583
584
584
585
585
585
586
586
586
586
586
586
587
587
588
590
592
595
597
599
601
601
602
603
603
604
604
605
605
606
606
607
607
608
609
609
610
612
615
616
616
617
618
619
623
624
624
625
625
625
625
625
625
625
626
626
626
628
629
630
630
632
633
634
636
637
639
641
642
643
646
646
653
654
656
657
657
662
663
663
665
668
669
673
676
681
683
689
692
692
692
692
692
692
691
691
691
691
691
691
691
692
697
699
704
707
709
710
711
711
712
712
712
713
713
714
714
715
715
715
715
716
716
716
716
716
716
716
716
716
716
716
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
718
724
727
729
732
732
733
735
738
739
739
742
743
745
747
747
746
745
745
744
743
743
743
743
742
742
742
742
741
741
741
741
740
740
740
739
739
738
738
738
739
745
749
753
757
759
762
766
769
773
774
775
777
777
778
778
779
779
779
779
780
780
781
781
781
781
781
782
782
782
782
786
790
791
791
790
788
787
784
786
790
791
792
794
800
808
810
811
812
814
816
816
817
817
818
819
820
821
822
822
822
823
823
823
823
824
824
825
825
826
827
828
829
830
831
831
832
832
833
834
834
835
840
841
841
842
843
843
843
843
844
844
844
844
844
844
844
844
844
844
845
846
848
850
852
854
856
858
860
862
865
868
869
869
870
870
871
872
873
873
876
878
880
882
884
887
889
890
891
892
892
893
894
894
895
895
895
896
897
897
898
899
901
902
904
905
908
910
911
912
914
915
916
926
927
929
930
931
932
934
937
937
938
939
940
941
942
943
944
946
949
950
950
950
950
950
950
950
950
950
951
954
955
956
956
956
957
958
958
958
958
958
958
958
958
958
958
957
957
956
952
951
948
948
948
942
940
939
938
937
934
932
931
929
926
921
919
918
917
916
911
909
907
905
900
895
891
888
887
885
884
883
883
881
880
879
879
878
878
878
878
877
876
875
874
873
873
871
869
864
855
851
849
848
848
847
847
847
846
846
846
846
845
844
842
841
840
839
836
833
832
826
826
825
825
825
825
825
825
825
825
824
824
824
824
824
823
823
823
822
821
820
820
818
816
814
813
812
812
810
809
808
808
807
806
805
805
805
804
804
804
804
803
803
803
802
801
800
800
799
798
797
795
794
794
793
793
792
791
790
787
785
784
783
782
780
779
778
776
775
774
772
771
769
768
767
764
754
754
753
753
753
752
752
752
749
748
745
745
740
735
729
724
720
717
715
714
713
713
712
711
709
708
707
706
705
702
702
701
701
701
700
699
697
695
693
691
690
689
688
687
687
686
685
684
683
683
682
682
681
681
681
680
680
679
679
678
678
677
676
675
675
675
675
675
674
674
673
672
671
670
670
669
668
666
664
664
662
661
660
660
659
658
657
656
655
655
654
653
652
650
649
648
648
648
648
647
647
647
647
647
646
646
646
646
646
646
645
645
644
643
642
642
641
640
640
639
639
637
635
634
633
632
631
631
630
629
628
628
628
627
627
627
626
621
617
607
600
598
597
596
595
595
595
595
595
595
595
595
595
595
595
595
594
593
591
590
589
589
588
585
584
580
577
575
572
569
569
567
566
565
564
564
563
562
562
561
561
560
556
556
555
554
554
553
553
552
551
551
550
549
549
548
548
547
546
546
541
530
529
526
525
523
523
522
522
522
521
520
519
518
517
516
515
514
513
512
511
510
508
507
505
496
493
490
491
492
493
494
494
495
495
497
497
497
498
498
499
499
500
500
501
501
502
505
507
507
510
511
512
513
514
515
515
518
518
516
516
515
515
514
514
514
515
516
518
519
520
521
522
522
523
525
526
527
528
528
529
530
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
530
530
530
529
529
529
529
527
526
525
525
524
524
523
523
520
519
518
515
515
514
514
513
513
513
513
513
512
512
507
506
505
505
505
505
505
504
504
504
503
503
502
497
490
482
476
476
476
476
476
476
476
476
474
473
471
470
468
464
457
455
454
452
451
448
446
445
444
439
439
438
438
437
432
431
430
429
426
424
416
411
406
403
403
402
402
401
401
401
401
401
401
401
401
401
401
401
400
401
401
401
402
402
402
402
401
399
399
399
398
398
393
387
384
382
380
379
378
377
376
376
376
376
375
375
375
375
375
375
375
374
374
374
374
373
373
373
373
373
373
373
373
373
371
371
371
371
371
371
371
370
370
370
370
370
370
370
368
368
368
368
367
367
367
367
365
362
359
357
354
353
352
351
351
350
349
348
346
344
343
340
338
337
336
336
335
334
333
332
331
330
330
329
329
325
321
320
318
316
314
311
309
307
305
301
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
306
315
322
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
326
326
327
328
330
331
332
333
335
338
341
343
345
347
348
350
353
355
357
360
363
366
368
370
373
375
378
375
369
365
363
361
359
358
355
354
353
351
351
350
350
351
352
353
355
356
357
359
360
362
365
366
368
370
372
374
375
378
380
381
382
383
383
385
386
386
387
387
388
388
389
389
389
389
389
390
390
390
390
391
391
392
394
394
395
396
397
398
399
400
401
403
403
404
405
406
406
407
408
409
410
410
410
411
411
411
411
411
412
412
413
414
414
417
419
421
422
424
425
425
427
429
430
431
431
432
432
433
433
434
434
435
435
436
436
436
436
437
437
437
437
437
438
439
439
440
440
441
441
441
442
442
442
443
445
447
447
448
448
449
449
450
451
451
451
451
452
452
452
452
452
452
453
453
453
453
454
454
455
457
458
460
461
462
463
464
466
466
468
469
469
470
470
470
471
472
472
473
474
474
475
476
476
477
478
479
482
484
488
488
488
488
488
489
489
489
489
489
490
490
491
492
493
494
494
495
495
496
496
496
497
497
497
497
498
498
498
498
498
498
499
499
499
500
500
500
500
501
502
504
505
506
506
507
508
508
509
510
511
512
513
513
514
515
515
516
516
517
517
518
518
518
519
519
519
520
520
520
521
521
522
523
526
528
528
529
529
530
530
531
531
532
532
533
533
534
534
534
534
534
534
535
535
535
535
535
535
536
536
536
538
538
539
539
540
540
540
540
541
541
542
542
543
543
544
544
545
546
548
549
549
549
549
550
550
550
550
550
551
551
551
552
552
552
552
553
553
553
554
555
555
556
557
557
557
558
558
558
559
559
560
560
561
561
561
561
562
562
563
566
574
577
578
579
580
580
581
582
582
583
583
584
585
586
587
588
590
592
593
595
596
596
596
596
597
597
597
598
598
599
599
599
600
600
601
602
603
603
604
605
606
606
607
607
608
609
609
610
611
612
615
617
622
624
626
628
630
633
636
641
645
648
649
650
650
651
652
652
653
654
654
655
655
656
656
657
657
658
658
659
660
660
661
661
662
662
663
663
664
665
666
666
666
667
668
670
671
671
672
672
673
673
674
675
676
677
679
681
682
683
684
686
688
688
688
688
687
687
687
687
687
687
687
686
686
686
686
686
686
686
686
686
686
686
687
687
687
687
688
688
688
689
689
689
690
690
690
690
691
691
691
691
692
692
692
692
692
692
693
693
693
693
694
694
694
694
695
696
696
697
697
697
697
697
698
698
699
699
699
699
699
700
700
700
700
700
700
700
701
701
701
701
701
701
701
702
702
702
702
703
703
704
704
705
705
705
706
706
706
707
707
708
708
708
709
709
710
710
711
711
711
712
713
713
713
714
714
714
714
714
714
715
715
715
715
715
715
715
715
715
715
716
716
716
716
716
716
717
717
717
717
717
717
717
717
717
717
716
715
714
712
711
710
708
707
707
706
706
705
703
701
698
699
700
701
702
703
705
708
709
711
713
716
719
720
720
720
721
723
724
724
725
725
726
726
730
732
732
733
733
733
733
734
734
734
736
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
738
739
740
740
741
742
743
744
745
746
746
747
748
749
751
755
756
756
756
756
757
757
757
757
757
757
757
757
758
758
758
758
758
758
758
758
758
758
758
757
757
757
756
756
755
754
754
753
753
752
752
752
751
751
750
750
750
749
749
749
749
748
748
748
747
747
747
747
746
746
746
745
744
744
744
744
743
743
742
741
741
741
741
740
740
740
740
740
739
739
739
739
739
739
738
738
738
738
738
737
737
737
736
736
736
735
735
735
734
734
734
733
733
733
733
732
732
732
732
732
732
732
732
732
733
733
733
734
734
735
736
736
737
737
738
739
740
742
744
745
746
746
747
748
749
749
750
751
753
755
758
760
761
761
762
762
762
763
763
764
765
765
766
766
766
767
767
767
768
770
771
771
771
771
770
770
770
769
769
768
767
767
767
767
767
766
765
764
762
761
756
751
750
749
749
748
747
746
746
743
742
741
740
740
739
738
737
736
736
735
735
734
734
733
733
732
732
732
732
731
731
731
731
731
730
730
730
730
730
729
729
729
728
727
727
726
726
725
725
724
724
723
723
723
723
723
723
723
722
722
722
721
721
721
720
720
720
717
716
716
715
715
714
713
712
711
710
709
709
709
709
709
708
708
707
707
707
706
706
706
705
705
704
703
703
702
701
700
699
698
697
695
694
693
693
692
691
691
689
687
686
685
684
682
676
674
670
670
670
670
669
669
669
667
667
667
666
666
665
665
665
665
665
664
664
664
664
663
663
663
663
662
662
662
660
659
657
656
656
655
655
651
650
649
647
645
642
640
638
636
636
636
636
636
636
636
636
636
636
636
636
635
634
634
632
630
630
627
626
625
623
622
621
620
619
618
617
616
615
614
614
612
611
610
610
609
608
607
607
606
606
605
605
605
603
601
600
599
597
597
596
596
595
594
594
593
592
590
586
584
583
580
580
579
578
578
578
577
577
577
576
573
571
570
568
567
565
562
560
559
557
556
556
556
555
555
555
554
553
550
549
547
545
541
539
533
531
529
528
527
527
526
525
525
524
524
523
522
520
518
516
512
511
509
508
507
504
503
502
501
501
500
499
494
492
490
489
488
486
486
485
484
483
483
482
482
482
482
481
481
478
477
476
474
471
469
468
468
467
467
466
465
464
462
460
459
458
457
455
454
453
451
450
449
448
447
446
444
441
437
431
427
426
425
425
425
424
424
424
423
422
422
421
421
421
421
421
421
421
421
421
420
420
420
420
420
419
419
418
418
418
417
417
416
416
416
415
414
413
412
411
411
411
411
412
412
412
420
421
423
423
424
425
425
425
425
425
425
425
425
425
425
425
425
425
425
426
426
426
426
426
426
426
426
426
426
426
426
426
425
425
424
424
423
423
423
422
422
422
422
421
420
420
419
419
418
417
417
416
416
416
416
416
415
415
415
415
415
414
414
413
413
413
414
415
417
418
421
423
424
425
426
427
428
430
433
435
437
438
439
440
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
442
443
444
445
445
445
445
446
446
446
447
447
447
448
448
448
449
449
450
451
453
454
455
455
455
456
456
457
458
459
459
460
461
461
462
463
463
463
463
463
463
463
463
463
463
463
462
462
462
462
462
462
462
462
462
462
462
462
463
465
467
468
469
471
472
473
476
477
478
480
483
487
488
489
489
490
490
490
490
490
490
491
491
491
491
491
491
492
493
494
495
496
496
497
499
502
505
510
513
519
523
525
527
528
529
529
530
531
531
532
533
533
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
535
536
537
538
539
539
540
541
543
544
544
545
545
545
546
547
547
547
548
548
548
548
549
549
549
550
550
550
551
551
551
551
552
552
552
552
553
554
554
555
555
556
557
557
557
557
558
558
558
558
559
559
559
559
560
560
560
560
560
560
559
558
555
552
548
547
546
545
543
542
541
541
542
542
542
543
543
543
544
545
547
547
548
549
550
550
550
554
554
554
555
555
557
558
559
560
561
562
563
563
563
563
564
564
564
565
565
565
565
566
566
566
566
566
566
566
567
568
569
570
572
573
574
575
577
577
578
578
579
579
580
582
582
583
584
585
586
589
591
592
592
593
594
596
597
598
599
601
607
609
610
611
613
615
616
617
617
618
619
620
622
623
624
624
625
629
629
630
631
631
632
633
634
635
635
636
636
636
636
636
636
636
636
637
637
637
637
637
637
637
638
638
638
638
638
638
638
638
638
638
638
638
638
639
639
639
640
640
641
642
644
645
646
648
650
652
653
654
656
657
659
660
662
663
664
664
664
664
663
663
662
662
661
661
660
660
659
659
658
658
657
657
657
656
654
653
653
652
652
653
653
654
655
656
657
660
661
662
663
664
665
666
667
668
670
671
671
672
673
673
674
674
675
676
676
677
677
678
678
678
679
680
681
681
682
682
683
684
685
686
686
686
686
686
686
686
687
687
687
687
687
687
692
695
699
700
701
702
702
703
704
705
707
708
708
709
710
710
709
708
707
707
705
704
704
703
702
702
699
698
697
695
694
693
691
690
689
688
687
686
684
684
684
684
684
684
684
684
683
683
683
683
683
683
683
683
683
683
683
683
682
682
682
681
681
680
680
680
680
679
679
679
678
678
678
678
679
679
680
683
684
685
686
687
688
689
690
691
692
692
692
693
693
694
694
695
695
695
695
695
695
695
694
692
691
690
689
689
687
687
688
688
689
689
690
691
692
694
697
701
702
703
704
703
699
698
695
693
690
685
683
683
684
684
684
685
685
685
686
686
687
688
688
689
690
690
694
699
701
703
704
703
702
701
701
700
699
698
698
697
697
695
694
694
694
694
693
693
693
693
692
692
692
691
691
691
691
691
691
691
691
690
690
690
689
689
689
688
688
688
688
687
687
687
687
686
686
686
685
685
684
684
684
684
684
684
683
683
683
682
682
682
681
681
681
681
680
680
680
679
679
679
679
679
679
679
679
679
679
680
680
681
681
681
681
682
682
682
682
683
683
683
683
684
684
684
684
687
688
689
690
691
691
691
691
690
688
687
687
686
686
685
685
684
680
678
677
676
676
682
687
691
694
698
699
699
699
700
701
701
702
703
705
707
709
709
708
707
704
702
700
699
698
697
697
696
695
694
694
693
693
692
689
687
687
686
685
685
684
680
678
677
676
675
675
674
674
673
672
672
672
672
671
668
667
666
665
664
664
664
664
664
663
663
663
662
662
662
662
662
662
661
661
661
661
661
660
660
660
660
660
660
659
659
659
658
657
657
656
656
658
658
658
657
651
649
649
647
645
645
645
643
640
640
640
641
642
642
643
643
644
644
645
645
646
646
647
648
649
649
649
649
649
649
649
648
648
647
644
640
637
635
633
631
630
629
628
627
625
624
623
622
621
620
620
619
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
619
619
619
619
619
619
620
620
620
620
620
620
621
621
621
621
621
622
622
622
622
623
623
623
627
630
631
632
633
634
636
637
637
636
636
636
635
635
634
633
631
628
629
629
630
631
633
636
636
637
638
638
640
641
641
642
632
633
635
635
636
637
637
637
637
640
642
641
641
639
640
640
642
642
642
643
644
644
644
644
644
645
645
645
645
645
645
645
645
646
647
650
654
657
661
665
666
668
668
670
672
673
675
677
680
681
682
683
684
685
687
689
690
691
692
693
694
697
700
700
700
700
700
701
701
702
702
702
703
703
704
704
707
708
708
708
709
709
710
710
711
714
714
716
717
718
720
721
724
737
741
745
751
757
765
771
779
781
781
781
781
782
782
783
784
785
788
791
793
794
797
804
808
812
820
823
825
828
830
843
861
858
857
856
854
853
867
869
871
872
874
875
876
885
888
892
896
935
936
936
936
937
962
975
975
975
975
975
975
976
988
990
994
997
1009
1010
1011
1013
1014
1016
1018
1021
1024
1026
1027
1028
1029
1030
1031
1031
1032
1033
1034
1036
1040
1051
1053
1055
1057
1060
1064
1064
1064
1063
1063
1063
1063
1063
1063
1063
1062
1059
1058
1056
1054
1053
1051
1050
1050
1048
1047
1046
1046
1044
1044
1042
1041
1039
1038
1037
1035
1034
1033
1031
1030
1030
1029
1029
1028
1028
1028
1027
1026
1026
1026
1026
1024
1024
1024
1024
1023
1023
1023
1023
1023
1022
1022
1022
1022
1022
1022
1021
1021
1021
1021
1018
1017
1015
1015
1015
1015
1014
1014
1014
1014
1013
1009
1008
1008
1007
1005
1005
1004
1003
1003
1003
1003
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1002
1003
1003
1004
1005
1006
1009
1011
1015
1016
1017
1017
1017
1018
1018
1018
1018
1018
1019
1019
1020
1020
1021
1022
1022
1023
1023
1022
1021
1021
1020
1020
1019
1019
1018
1017
1017
1017
1017
1017
1017
1018
1023
1023
1024
1025
1026
1026
1031
1036
1038
1038
1038
1038
1038
1037
1036
1035
1034
1032
1032
1031
1031
1031
1031
1031
1030
1030
1030
1029
1029
1029
1029
1029
1029
1029
1028
1028
1027
1018
1012
1004
1001
999
997
993
992
991
990
989
988
987
986
984
984
983
982
981
980
980
979
979
978
977
977
974
972
969
968
967
966
964
963
961
958
955
954
953
953
953
952
952
951
951
950
949
949
948
948
948
948
948
947
947
947
947
947
946
946
946
945
944
944
943
943
942
942
940
940
940
939
939
939
939
939
938
938
938
937
934
931
930
930
929
929
928
928
927
927
927
927
927
926
926
926
926
926
925
924
923
922
922
921
920
917
917
917
916
916
916
915
915
915
915
914
914
911
911
910
909
909
909
908
908
907
907
904
903
898
895
893
890
888
886
884
881
880
879
878
878
878
877
876
875
874
872
871
870
870
870
869
869
868
868
866
865
864
861
860
859
857
854
851
851
850
849
849
848
848
847
847
844
843
842
841
840
837
837
836
835
834
834
833
832
832
831
830
830
829
829
829
828
828
828
827
827
827
826
826
826
826
826
826
826
826
826
826
825
825
825
825
825
825
825
825
825
825
825
825
824
820
816
812
802
793
789
783
779
777
774
769
767
765
762
762
761
758
757
756
756
755
753
752
751
749
735
731
730
729
728
727
725
725
724
723
722
721
717
716
715
713
713
712
711
710
709
708
707
707
706
704
703
702
700
700
699
699
698
697
696
694
688
683
674
672
670
668
666
664
663
663
663
662
662
661
660
660
660
659
658
657
657
653
651
645
645
645
645
645
645
645
645
645
645
645
645
645
645
642
641
640
638
638
637
637
637
636
636
636
635
634
634
634
628
627
626
623
618
615
614
614
614
614
615
616
617
617
615
614
613
608
607
605
605
601
597
597
596
593
590
587
584
581
579
574
572
571
571
571
570
570
570
570
568
568
567
567
567
566
566
565
564
561
561
561
560
560
559
557
554
551
550
550
550
550
550
550
550
550
550
550
550
550
549
549
549
549
548
548
546
546
545
545
544
544
544
544
543
543
543
543
542
542
542
542
541
541
541
541
541
541
539
538
538
536
536
535
535
534
534
532
531
530
529
527
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
524
524
522
522
521
512
501
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
501
504
506
507
508
510
511
512
513
515
516
517
518
519
523
524
525
525
526
531
541
546
553
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
556
557
558
560
561
564
566
567
569
571
572
572
573
573
573
574
574
574
575
576
577
577
577
577
578
578
579
580
581
583
584
584
584
585
585
585
585
585
586
586
586
586
586
587
587
588
588
589
591
591
591
591
592
592
592
592
593
593
595
597
597
598
599
600
601
602
603
613
615
616
617
617
618
619
620
621
622
623
623
624
625
626
627
629
632
632
633
633
634
634
634
635
637
638
639
639
644
645
645
646
646
647
648
649
649
650
651
651
652
652
653
654
654
655
656
657
658
660
662
663
665
665
666
667
668
669
669
670
670
670
670
671
671
672
672
673
673
674
674
675
676
676
676
678
678
679
679
681
682
682
683
683
683
684
684
684
684
685
685
685
686
686
686
687
690
692
692
693
694
695
695
696
697
697
698
699
701
702
703
703
704
705
705
706
707
707
708
709
709
710
711
712
713
713
715
716
720
721
722
723
724
724
725
726
728
729
730
731
732
733
734
734
735
736
737
738
739
739
740
741
742
743
744
744
746
749
753
754
755
755
757
757
758
759
759
760
761
761
762
763
764
764
766
771
772
773
774
776
777
781
783
784
786
787
788
789
790
790
791
792
793
793
793
793
793
793
793
794
794
794
794
794
794
794
795
795
795
795
796
796
796
796
796
796
797
798
801
803
805
813
817
817
817
818
818
819
821
822
823
826
827
830
832
839
841
843
846
848
849
850
852
853
855
856
857
858
860
861
862
863
864
865
866
867
868
869
870
871
872
873
876
878
879
881
882
883
885
886
888
890
892
894
896
897
901
903
904
906
908
909
911
913
915
917
919
920
922
925
927
929
930
932
932
933
934
935
936
937
938
939
940
944
948
948
949
949
950
951
951
952
952
952
953
953
953
954
955
956
957
958
959
960
961
961
963
963
964
965
965
966
966
967
968
969
970
971
972
973
973
973
974
974
976
976
977
977
978
980
981
983
984
985
985
986
986
986
987
988
990
991
994
996
996
997
998
998
1000
1001
1004
1007
1010
1013
1015
1018
1023
1024
1026
1028
1029
1033
1034
1035
1037
1038
1040
1046
1047
1048
1049
1049
1050
1051
1052
1053
1057
1058
1059
1060
1061
1061
1061
1062
1063
1065
1068
1068
1069
1071
1071
1073
1074
1075
1077
1079
1080
1082
1084
1085
1091
1093
1095
1097
1098
1100
1103
1107
1108
1109
1111
1112
1113
1114
1115
1115
1116
1116
1117
1118
1119
1120
1121
1121
1124
1125
1125
1130
1136
1140
1144
1147
1160
1162
1163
1166
1167
1168
1170
1172
1173
1175
1179
1181
1183
1184
1185
1191
1193
1194
1196
1200
1201
1202
1204
1206
1209
1210
1213
1215
1217
1218
1221
1223
1225
1227
1230
1234
1238
1242
1244
1245
1247
1249
1250
1252
1253
1258
1264
1265
1267
1269
1272
1272
1273
1276
1277
1278
1279
1280
1282
1285
1288
1294
1298
1301
1309
1317
1326
1334
1334
1334
1335
1336
1338
1339
1340
1341
1343
1344
1344
1345
1346
1358
1359
1359
1361
1362
1364
1369
1371
1371
1372
1373
1373
1377
1384
1385
1386
1387
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1407
1407
1408
1409
1410
1411
1412
1413
1422
1425
1426
1427
1428
1429
1429
1430
1431
1431
1432
1433
1434
1435
1435
1436
1436
1437
1437
1438
1438
1439
1439
1440
1441
1442
1443
1443
1444
1444
1446
1446
1448
1450
1455
1463
1463
1464
1466
1467
1468
1469
1470
1470
1471
1471
1472
1473
1473
1474
1475
1475
1476
1476
1477
1478
1478
1480
1481
1482
1485
1493
1500
1501
1503
1503
1504
1505
1506
1507
1508
1508
1509
1509
1510
1511
1512
1514
1514
1514
1515
1515
1516
1517
1518
1519
1519
1520
1520
1520
1520
1520
1521
1521
1522
1523
1523
1524
1524
1525
1526
1529
1530
1531
1531
1532
1532
1532
1533
1533
1533
1534
1534
1535
1536
1536
1537
1538
1538
1539
1539
1540
1541
1543
1544
1546
1551
1557
1564
1569
1570
1574
1579
1584
1584
1584
1585
1585
1586
1586
1587
1588
1588
1588
1589
1589
1589
1590
1590
1593
1594
1594
1594
1595
1595
1596
1596
1597
1597
1599
1601
1603
1605
1605
1606
1606
1607
1607
1607
1607
1608
1608
1609
1609
1610
1610
1613
1616
1618
1618
1619
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1629
1630
1633
1634
1634
1635
1636
1636
1637
1637
1637
1638
1638
1639
1640
1641
1642
1643
1643
1644
1645
1646
1647
1648
1649
1650
1650
1651
1652
1653
1654
1655
1657
1660
1668
1673
1676
1678
1680
1681
1688
1690
1691
1693
1695
1696
1697
1697
1698
1699
1700
1700
1701
1701
1702
1705
1706
1708
1709
1710
1713
1714
1716
1718
1719
1726
1727
1727
1727
1727
1727
1727
1728
1728
1728
1729
1729
1729
1729
1730
1730
1730
1730