Skip to content

Instantly share code, notes, and snippets.

@achow101
Created January 22, 2018 18:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save achow101/44d9e58333d8919e8ad0f6fc7e63d183 to your computer and use it in GitHub Desktop.
Save achow101/44d9e58333d8919e8ad0f6fc7e63d183 to your computer and use it in GitHub Desktop.
coinselection-simulation-fees
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
40
60
60
50
62
64
42
59
60
41
59
59
43
60
63
47
64
65
49
65
65
53
64
65
58
72
73
58
70
71
52
62
63
60
65
72
57
69
70
61
78
82
60
74
76
59
76
77
57
77
78
61
85
85
60
73
74
56
69
83
59
67
69
56
71
73
54
61
65
38
60
60
51
66
68
58
78
82
59
72
75
60
76
80
62
81
88
60
76
81
57
65
69
54
65
67
56
67
69
61
87
89
60
78
80
61
82
83
61
81
94
57
67
78
47
61
65
54
65
68
54
68
73
58
69
73
56
68
69
59
71
71
57
67
67
50
60
62
53
64
65
57
65
67
58
67
69
59
68
70
51
60
62
56
64
65
46
61
61
50
64
66
59
65
67
59
66
67
54
62
63
59
69
72
53
60
63
47
60
63
43
60
64
58
70
75
51
61
63
51
63
65
58
66
68
53
68
70
54
66
66
60
75
81
60
73
81
58
73
78
52
68
75
60
72
74
58
75
78
25
57
60
50
62
64
54
63
64
56
67
69
61
72
73
60
72
73
54
68
68
55
67
68
61
72
74
58
70
72
59
71
75
60
70
72
60
72
74
58
67
69
49
65
66
60
78
80
64
78
78
60
72
73
60
72
73
60
72
74
60
72
73
60
78
79
64
82
83
61
74
75
64
76
76
75
92
102
61
74
75
56
67
73
65
73
74
65
82
82
78
92
93
100
107
107
85
113
113
73
109
109
50
69
72
34
63
66
41
61
70
60
69
72
60
71
72
55
67
68
66
83
84
59
72
74
54
70
71
55
70
71
56
64
67
54
68
68
48
63
68
35
60
62
30
60
62
35
62
64
51
65
66
53
68
70
46
60
64
54
66
70
60
72
72
60
70
70
57
70
71
65
76
80
71
87
93
72
84
88
76
97
100
74
91
100
77
90
94
66
75
76
70
86
88
69
85
86
71
84
86
78
84
88
82
103
104
69
82
90
66
79
82
73
90
95
73
99
100
67
83
86
56
80
83
70
87
88
72
85
86
47
73
74
50
76
79
60
75
79
67
84
88
77
95
96
72
94
96
71
86
86
59
82
86
72
87
89
72
89
91
74
94
95
70
84
89
70
80
82
70
83
83
48
71
73
61
80
81
70
84
85
70
82
84
71
82
85
70
82
85
67
80
81
57
75
75
76
93
94
69
84
88
82
104
106
82
96
98
79
102
103
76
97
99
70
88
90
72
86
88
81
98
101
73
92
96
72
91
98
67
88
93
70
83
87
67
82
85
71
87
90
76
97
100
71
95
96
70
88
94
69
89
94
65
81
86
67
83
86
78
94
96
100
116
117
95
116
118
78
104
108
78
105
106
85
104
106
88
105
107
93
109
111
107
137
143
86
112
123
94
114
123
121
150
153
96
129
136
98
129
135
116
145
148
128
155
160
111
144
147
106
141
142
97
126
131
98
129
132
89
114
116
95
120
121
90
115
129
104
128
133
124
155
157
113
146
149
108
139
142
101
132
134
119
146
148
120
151
153
147
176
178
156
187
189
145
179
183
134
162
164
122
144
152
145
163
166
154
186
188
164
190
193
168
200
203
182
221
226
166
203
205
164
205
209
181
213
222
186
229
233
167
209
210
178
213
217
191
220
227
203
232
232
183
209
211
190
216
219
199
220
221
192
216
219
200
220
224
188
212
215
185
211
213
189
219
220
199
225
227
203
231
232
196
221
223
191
221
226
183
219
220
174
207
211
166
203
204
156
188
196
154
191
196
160
194
199
133
169
174
149
187
193
144
179
184
119
162
169
118
149
156
142
172
178
150
179
189
144
183
187
143
189
196
104
145
156
109
143
153
128
159
163
138
170
181
140
169
185
163
181
183
171
203
207
138
161
165
125
142
147
135
157
158
144
175
183
139
158
166
157
181
185
142
172
179
134
153
157
129
154
157
160
177
188
193
235
239
150
200
208
166
210
214
179
215
228
151
182
190
134
159
172
155
182
187
156
193
204
173
207
212
189
233
236
196
231
237
178
230
239
165
213
230
174
221
232
174
215
225
216
249
254
208
245
248
238
270
272
200
239
257
185
235
245
185
231
243
260
295
298
355
432
437
277
371
383
278
341
358
230
302
324
254
281
286
280
319
326
278
316
327
310
361
376
311
365
386
332
386
398
337
387
394
275
312
335
330
374
393
333
375
401
340
382
407
348
393
423
348
417
420
315
392
424
314
418
438
328
416
436
349
417
437
380
451
455
322
423
443
326
443
448
311
391
398
297
383
387
282
375
394
345
417
433
335
410
416
311
370
393
298
369
371
268
346
350
273
330
334
304
348
356
307
364
374
347
385
387
354
397
406
279
353
359
297
358
364
265
346
355
327
368
368
320
370
371
314
361
364
305
355
359
327
373
378
230
324
331
180
300
316
219
320
334
256
335
344
228
306
312
239
313
318
251
316
320
206
291
297
186
284
291
187
273
285
184
265
283
198
277
285
203
278
287
226
285
290
249
277
277
204
264
264
203
261
261
198
259
261
196
259
260
188
253
260
214
264
270
199
260
260
176
250
257
177
252
260
184
253
259
193
257
260
181
259
260
180
260
260
164
248
254
166
249
252
197
259
260
56
105
112
81
128
130
80
130
132
53
118
127
29
103
123
38
109
111
63
117
125
103
129
137
123
143
144
157
172
173
178
200
200
177
207
209
131
193
197
194
233
238
241
283
286
280
304
308
213
288
302
220
289
303
173
277
288
167
253
262
281
312
314
380
399
400
430
454
455
386
460
466
469
491
499
476
485
491
318
447
449
286
405
422
388
455
456
235
368
400
260
403
417
244
385
399
150
283
350
144
257
322
146
245
291
178
275
293
156
245
255
129
235
240
141
229
237
164
227
233
38
125
169
28
82
136
67
84
117
72
134
148
35
116
131
35
71
101
122
157
163
139
164
165
143
166
171
82
147
151
56
107
130
50
132
137
32
109
122
121
157
158
131
160
161
98
150
151
59
139
144
38
114
129
45
94
114
89
119
120
129
145
146
58
123
135
84
127
136
139
156
158
109
152
153
52
136
138
34
88
116
65
124
136
99
138
144
112
142
143
114
146
149
209
228
230
151
220
227
54
174
211
74
155
185
129
187
189
128
171
176
134
171
177
62
113
150
112
150
152
89
136
143
106
134
142
123
142
148
89
133
136
36
97
124
157
171
173
228
239
241
251
282
284
206
257
259
169
232
235
225
256
258
189
231
237
229
257
258
268
294
298
155
240
251
209
269
274
244
289
299
177
248
259
274
305
306
269
313
315
421
442
442
843
848
855
778
858
866
518
754
763
464
644
650
374
498
513
235
368
403
215
338
363
179
302
312
191
316
346
163
275
306
174
290
302
178
293
301
164
279
289
147
224
230
139
168
172
145
162
167
151
166
170
163
179
183
160
180
183
143
176
178
118
160
167
114
152
155
116
149
157
124
142
148
136
146
154
227
241
245
437
456
459
363
437
444
243
372
397
276
367
390
359
402
405
366
398
403
356
381
392
374
413
420
359
411
416
320
385
398
343
391
399
458
471
472
672
706
709
875
919
923
969
969
985
891
961
965
678
914
929
536
857
878
580
770
780
585
666
670
578
666
670
558
608
617
538
588
606
420
530
535
396
491
493
403
458
480
440
504
517
463
486
496
477
503
506
453
496
500
454
514
516
462
503
508
500
538
540
468
526
529
427
500
513
338
452
490
385
502
514
358
481
497
402
424
425
414
458
462
421
491
505
428
493
502
40
60
60
50
62
64
42
59
60
41
59
59
43
60
63
47
64
65
49
65
65
53
64
65
58
72
73
58
70
71
52
62
63
60
65
72
57
69
70
61
78
82
60
74
76
59
76
77
57
77
78
61
85
85
60
73
74
56
69
83
59
67
69
56
71
73
54
61
65
38
60
60
51
66
68
58
78
82
59
72
75
60
76
80
62
81
88
60
76
81
57
65
69
54
65
67
56
67
69
61
87
89
60
78
80
61
82
83
61
81
94
57
67
78
47
61
65
54
65
68
54
68
73
58
69
73
56
68
69
59
71
71
57
67
67
50
60
62
53
64
65
57
65
67
58
67
69
59
68
70
51
60
62
56
64
65
46
61
61
50
64
66
59
65
67
59
66
67
54
62
63
59
69
72
53
60
63
47
60
63
43
60
64
58
70
75
51
61
63
51
63
65
58
66
68
53
68
70
54
66
66
60
75
81
60
73
81
58
73
78
52
68
75
60
72
74
58
75
78
25
57
60
50
62
64
54
63
64
56
67
69
61
72
73
60
72
73
54
68
68
55
67
68
61
72
74
58
70
72
59
71
75
60
70
72
60
72
74
58
67
69
49
65
66
60
78
80
64
78
78
60
72
73
60
72
73
60
72
74
60
72
73
60
78
79
64
82
83
61
74
75
64
76
76
75
92
102
61
74
75
56
67
73
65
73
74
65
82
82
78
92
93
100
107
107
85
113
113
73
109
109
50
69
72
34
63
66
41
61
70
60
69
72
60
71
72
55
67
68
66
83
84
59
72
74
54
70
71
55
70
71
56
64
67
54
68
68
48
63
68
35
60
62
30
60
62
35
62
64
51
65
66
53
68
70
46
60
64
54
66
70
60
72
72
60
70
70
57
70
71
65
76
80
71
87
93
72
84
88
76
97
100
74
91
100
77
90
94
66
75
76
70
86
88
69
85
86
71
84
86
78
84
88
82
103
104
69
82
90
66
79
82
73
90
95
73
99
100
67
83
86
56
80
83
70
87
88
72
85
86
47
73
74
50
76
79
60
75
79
67
84
88
77
95
96
72
94
96
71
86
86
59
82
86
72
87
89
72
89
91
74
94
95
70
84
89
70
80
82
70
83
83
48
71
73
61
80
81
70
84
85
70
82
84
71
82
85
70
82
85
67
80
81
57
75
75
76
93
94
69
84
88
82
104
106
82
96
98
79
102
103
76
97
99
70
88
90
72
86
88
81
98
101
73
92
96
72
91
98
67
88
93
70
83
87
67
82
85
71
87
90
76
97
100
71
95
96
70
88
94
69
89
94
65
81
86
67
83
86
78
94
96
100
116
117
95
116
118
78
104
108
78
105
106
85
104
106
88
105
107
93
109
111
107
137
143
86
112
123
94
114
123
121
150
153
96
129
136
98
129
135
116
145
148
128
155
160
111
144
147
106
141
142
97
126
131
98
129
132
89
114
116
95
120
121
90
115
129
104
128
133
124
155
157
113
146
149
108
139
142
101
132
134
119
146
148
120
151
153
147
176
178
156
187
189
145
179
183
134
162
164
122
144
152
145
163
166
154
186
188
164
190
193
168
200
203
182
221
226
166
203
205
164
205
209
181
213
222
186
229
233
167
209
210
178
213
217
191
220
227
203
232
232
183
209
211
190
216
219
199
220
221
192
216
219
200
220
224
188
212
215
185
211
213
189
219
220
199
225
227
203
231
232
196
221
223
191
221
226
183
219
220
174
207
211
166
203
204
156
188
196
154
191
196
160
194
199
133
169
174
149
187
193
144
179
184
119
162
169
118
149
156
142
172
178
150
179
189
144
183
187
143
189
196
104
145
156
109
143
153
128
159
163
138
170
181
140
169
185
163
181
183
171
203
207
138
161
165
125
142
147
135
157
158
144
175
183
139
158
166
157
181
185
142
172
179
134
153
157
129
154
157
160
177
188
193
235
239
150
200
208
166
210
214
179
215
228
151
182
190
134
159
172
155
182
187
156
193
204
173
207
212
189
233
236
196
231
237
178
230
239
165
213
230
174
221
232
174
215
225
216
249
254
208
245
248
238
270
272
200
239
257
185
235
245
185
231
243
260
295
298
355
432
437
277
371
383
278
341
358
230
302
324
254
281
286
280
319
326
278
316
327
310
361
376
311
365
386
332
386
398
337
387
394
275
312
335
330
374
393
333
375
401
340
382
407
348
393
423
348
417
420
315
392
424
314
418
438
328
416
436
349
417
437
380
451
455
322
423
443
326
443
448
311
391
398
297
383
387
282
375
394
345
417
433
335
410
416
311
370
393
298
369
371
268
346
350
273
330
334
304
348
356
307
364
374
347
385
387
354
397
406
279
353
359
297
358
364
265
346
355
327
368
368
320
370
371
314
361
364
305
355
359
327
373
378
230
324
331
180
300
316
219
320
334
256
335
344
228
306
312
239
313
318
251
316
320
206
291
297
186
284
291
187
273
285
184
265
283
198
277
285
203
278
287
226
285
290
249
277
277
204
264
264
203
261
261
198
259
261
196
259
260
188
253
260
214
264
270
199
260
260
176
250
257
177
252
260
184
253
259
193
257
260
181
259
260
180
260
260
164
248
254
166
249
252
197
259
260
56
105
112
81
128
130
80
130
132
53
118
127
29
103
123
38
109
111
63
117
125
103
129
137
123
143
144
157
172
173
178
200
200
177
207
209
131
193
197
194
233
238
241
283
286
280
304
308
213
288
302
220
289
303
173
277
288
167
253
262
281
312
314
380
399
400
430
454
455
386
460
466
469
491
499
476
485
491
318
447
449
286
405
422
388
455
456
235
368
400
260
403
417
244
385
399
150
283
350
144
257
322
146
245
291
178
275
293
156
245
255
129
235
240
141
229
237
164
227
233
38
125
169
28
82
136
67
84
117
72
134
148
35
116
131
35
71
101
122
157
163
139
164
165
143
166
171
82
147
151
56
107
130
50
132
137
32
109
122
121
157
158
131
160
161
98
150
151
59
139
144
38
114
129
45
94
114
89
119
120
129
145
146
58
123
135
84
127
136
139
156
158
109
152
153
52
136
138
34
88
116
65
124
136
99
138
144
112
142
143
114
146
149
209
228
230
151
220
227
54
174
211
74
155
185
129
187
189
128
171
176
134
171
177
62
113
150
112
150
152
89
136
143
106
134
142
123
142
148
89
133
136
36
97
124
157
171
173
228
239
241
251
282
284
206
257
259
169
232
235
225
256
258
189
231
237
229
257
258
268
294
298
155
240
251
209
269
274
244
289
299
177
248
259
274
305
306
269
313
315
421
442
442
843
848
855
778
858
866
518
754
763
464
644
650
374
498
513
235
368
403
215
338
363
179
302
312
191
316
346
163
275
306
174
290
302
178
293
301
164
279
289
147
224
230
139
168
172
145
162
167
151
166
170
163
179
183
160
180
183
143
176
178
118
160
167
114
152
155
116
149
157
124
142
148
136
146
154
227
241
245
437
456
459
363
437
444
243
372
397
276
367
390
359
402
405
366
398
403
356
381
392
374
413
420
359
411
416
320
385
398
343
391
399
458
471
472
672
706
709
875
919
923
969
969
985
891
961
965
678
914
929
536
857
878
580
770
780
585
666
670
578
666
670
558
608
617
538
588
606
420
530
535
396
491
493
403
458
480
440
504
517
463
486
496
477
503
506
453
496
500
454
514
516
462
503
508
500
538
540
468
526
529
427
500
513
338
452
490
385
502
514
358
481
497
402
424
425
414
458
462
421
491
505
428
493
502
40
60
60
50
62
64
42
59
60
41
59
59
43
60
63
47
64
65
49
65
65
53
64
65
58
72
73
58
70
71
52
62
63
60
65
72
57
69
70
61
78
82
60
74
76
59
76
77
57
77
78
61
85
85
60
73
74
56
69
83
59
67
69
56
71
73
54
61
65
38
60
60
51
66
68
58
78
82
59
72
75
60
76
80
62
81
88
60
76
81
57
65
69
54
65
67
56
67
69
61
87
89
60
78
80
61
82
83
61
81
94
57
67
78
47
61
65
54
65
68
54
68
73
58
69
73
56
68
69
59
71
71
57
67
67
50
60
62
53
64
65
57
65
67
58
67
69
59
68
70
51
60
62
56
64
65
46
61
61
50
64
66
59
65
67
59
66
67
54
62
63
59
69
72
53
60
63
47
60
63
43
60
64
58
70
75
51
61
63
51
63
65
58
66
68
53
68
70
54
66
66
60
75
81
60
73
81
58
73
78
52
68
75
60
72
74
58
75
78
25
57
60
50
62
64
54
63
64
56
67
69
61
72
73
60
72
73
54
68
68
55
67
68
61
72
74
58
70
72
59
71
75
60
70
72
60
72
74
58
67
69
49
65
66
60
78
80
64
78
78
60
72
73
60
72
73
60
72
74
60
72
73
60
78
79
64
82
83
61
74
75
64
76
76
75
92
102
61
74
75
56
67
73
65
73
74
65
82
82
78
92
93
100
107
107
85
113
113
73
109
109
50
69
72
34
63
66
41
61
70
60
69
72
60
71
72
55
67
68
66
83
84
59
72
74
54
70
71
55
70
71
56
64
67
54
68
68
48
63
68
35
60
62
30
60
62
35
62
64
51
65
66
53
68
70
46
60
64
54
66
70
60
72
72
60
70
70
57
70
71
65
76
80
71
87
93
72
84
88
76
97
100
74
91
100
77
90
94
66
75
76
70
86
88
69
85
86
71
84
86
78
84
88
82
103
104
69
82
90
66
79
82
73
90
95
73
99
100
67
83
86
56
80
83
70
87
88
72
85
86
47
73
74
50
76
79
60
75
79
67
84
88
77
95
96
72
94
96
71
86
86
59
82
86
72
87
89
72
89
91
74
94
95
70
84
89
70
80
82
70
83
83
48
71
73
61
80
81
70
84
85
70
82
84
71
82
85
70
82
85
67
80
81
57
75
75
76
93
94
69
84
88
82
104
106
82
96
98
79
102
103
76
97
99
70
88
90
72
86
88
81
98
101
73
92
96
72
91
98
67
88
93
70
83
87
67
82
85
71
87
90
76
97
100
71
95
96
70
88
94
69
89
94
65
81
86
67
83
86
78
94
96
100
116
117
95
116
118
78
104
108
78
105
106
85
104
106
88
105
107
93
109
111
107
137
143
86
112
123
94
114
123
121
150
153
96
129
136
98
129
135
116
145
148
128
155
160
111
144
147
106
141
142
97
126
131
98
129
132
89
114
116
95
120
121
90
115
129
104
128
133
124
155
157
113
146
149
108
139
142
101
132
134
119
146
148
120
151
153
147
176
178
156
187
189
145
179
183
134
162
164
122
144
152
145
163
166
154
186
188
164
190
193
168
200
203
182
221
226
166
203
205
164
205
209
181
213
222
186
229
233
167
209
210
178
213
217
191
220
227
203
232
232
183
209
211
190
216
219
199
220
221
192
216
219
200
220
224
188
212
215
185
211
213
189
219
220
199
225
227
203
231
232
196
221
223
191
221
226
183
219
220
174
207
211
166
203
204
156
188
196
154
191
196
160
194
199
133
169
174
149
187
193
144
179
184
119
162
169
118
149
156
142
172
178
150
179
189
144
183
187
143
189
196
104
145
156
109
143
153
128
159
163
138
170
181
140
169
185
163
181
183
171
203
207
138
161
165
125
142
147
135
157
158
144
175
183
139
158
166
157
181
185
142
172
179
134
153
157
129
154
157
160
177
188
193
235
239
150
200
208
166
210
214
179
215
228
151
182
190
134
159
172
155
182
187
156
193
204
173
207
212
189
233
236
196
231
237
178
230
239
165
213
230
174
221
232
174
215
225
216
249
254
208
245
248
238
270
272
200
239
257
185
235
245
185
231
243
260
295
298
355
432
437
277
371
383
278
341
358
230
302
324
254
281
286
280
319
326
278
316
327
310
361
376
311
365
386
332
386
398
337
387
394
275
312
335
330
374
393
333
375
401
340
382
407
348
393
423
348
417
420
315
392
424
314
418
438
328
416
436
349
417
437
380
451
455
322
423
443
326
443
448
311
391
398
297
383
387
282
375
394
345
417
433
335
410
416
311
370
393
298
369
371
268
346
350
273
330
334
304
348
356
307
364
374
347
385
387
354
397
406
279
353
359
297
358
364
265
346
355
327
368
368
320
370
371
314
361
364
305
355
359
327
373
378
230
324
331
180
300
316
219
320
334
256
335
344
228
306
312
239
313
318
251
316
320
206
291
297
186
284
291
187
273
285
184
265
283
198
277
285
203
278
287
226
285
290
249
277
277
204
264
264
203
261
261
198
259
261
196
259
260
188
253
260
214
264
270
199
260
260
176
250
257
177
252
260
184
253
259
193
257
260
181
259
260
180
260
260
164
248
254
166
249
252
197
259
260
56
105
112
81
128
130
80
130
132
53
118
127
29
103
123
38
109
111
63
117
125
103
129
137
123
143
144
157
172
173
178
200
200
177
207
209
131
193
197
194
233
238
241
283
286
280
304
308
213
288
302
220
289
303
173
277
288
167
253
262
281
312
314
380
399
400
430
454
455
386
460
466
469
491
499
476
485
491
318
447
449
286
405
422
388
455
456
235
368
400
260
403
417
244
385
399
150
283
350
144
257
322
146
245
291
178
275
293
156
245
255
129
235
240
141
229
237
164
227
233
38
125
169
28
82
136
67
84
117
72
134
148
35
116
131
35
71
101
122
157
163
139
164
165
143
166
171
82
147
151
56
107
130
50
132
137
32
109
122
121
157
158
131
160
161
98
150
151
59
139
144
38
114
129
45
94
114
89
119
120
129
145
146
58
123
135
84
127
136
139
156
158
109
152
153
52
136
138
34
88
116
65
124
136
99
138
144
112
142
143
114
146
149
209
228
230
151
220
227
54
174
211
74
155
185
129
187
189
128
171
176
134
171
177
62
113
150
112
150
152
89
136
143
106
134
142
123
142
148
89
133
136
36
97
124
157
171
173
228
239
241
251
282
284
206
257
259
169
232
235
225
256
258
189
231
237
229
257
258
268
294
298
155
240
251
209
269
274
244
289
299
177
248
259
274
305
306
269
313
315
421
442
442
843
848
855
778
858
866
518
754
763
464
644
650
374
498
513
235
368
403
215
338
363
179
302
312
191
316
346
163
275
306
174
290
302
178
293
301
164
279
289
147
224
230
139
168
172
145
162
167
151
166
170
163
179
183
160
180
183
143
176
178
118
160
167
114
152
155
116
149
157
124
142
148
136
146
154
227
241
245
437
456
459
363
437
444
243
372
397
276
367
390
359
402
405
366
398
403
356
381
392
374
413
420
359
411
416
320
385
398
343
391
399
458
471
472
672
706
709
875
919
923
969
969
985
891
961
965
678
914
929
536
857
878
580
770
780
585
666
670
578
666
670
558
608
617
538
588
606
420
530
535
396
491
493
403
458
480
440
504
517
463
486
496
477
503
506
453
496
500
454
514
516
462
503
508
500
538
540
468
526
529
427
500
513
338
452
490
385
502
514
358
481
497
402
424
425
414
458
462
421
491
505
428
493
502
40
60
60
50
62
64
42
59
60
41
59
59
43
60
63
47
64
65
49
65
65
53
64
65
58
72
73
58
70
71
52
62
63
60
65
72
57
69
70
61
78
82
60
74
76
59
76
77
57
77
78
61
85
85
60
73
74
56
69
83
59
67
69
56
71
73
54
61
65
38
60
60
51
66
68
58
78
82
59
72
75
60
76
80
62
81
88
60
76
81
57
65
69
54
65
67
56
67
69
61
87
89
60
78
80
61
82
83
61
81
94
57
67
78
47
61
65
54
65
68
54
68
73
58
69
73
56
68
69
59
71
71
57
67
67
50
60
62
53
64
65
57
65
67
58
67
69
59
68
70
51
60
62
56
64
65
46
61
61
50
64
66
59
65
67
59
66
67
54
62
63
59
69
72
53
60
63
47
60
63
43
60
64
58
70
75
51
61
63
51
63
65
58
66
68
53
68
70
54
66
66
60
75
81
60
73
81
58
73
78
52
68
75
60
72
74
58
75
78
25
57
60
50
62
64
54
63
64
56
67
69
61
72
73
60
72
73
54
68
68
55
67
68
61
72
74
58
70
72
59
71
75
60
70
72
60
72
74
58
67
69
49
65
66
60
78
80
64
78
78
60
72
73
60
72
73
60
72
74
60
72
73
60
78
79
64
82
83
61
74
75
64
76
76
75
92
102
61
74
75
56
67
73
65
73
74
65
82
82
78
92
93
100
107
107
85
113
113
73
109
109
50
69
72
34
63
66
41
61
70
60
69
72
60
71
72
55
67
68
66
83
84
59
72
74
54
70
71
55
70
71
56
64
67
54
68
68
48
63
68
35
60
62
30
60
62
35
62
64
51
65
66
53
68
70
46
60
64
54
66
70
60
72
72
60
70
70
57
70
71
65
76
80
71
87
93
72
84
88
76
97
100
74
91
100
77
90
94
66
75
76
70
86
88
69
85
86
71
84
86
78
84
88
82
103
104
69
82
90
66
79
82
73
90
95
73
99
100
67
83
86
56
80
83
70
87
88
72
85
86
47
73
74
50
76
79
60
75
79
67
84
88
77
95
96
72
94
96
71
86
86
59
82
86
72
87
89
72
89
91
74
94
95
70
84
89
70
80
82
70
83
83
48
71
73
61
80
81
70
84
85
70
82
84
71
82
85
70
82
85
67
80
81
57
75
75
76
93
94
69
84
88
82
104
106
82
96
98
79
102
103
76
97
99
70
88
90
72
86
88
81
98
101
73
92
96
72
91
98
67
88
93
70
83
87
67
82
85
71
87
90
76
97
100
71
95
96
70
88
94
69
89
94
65
81
86
67
83
86
78
94
96
100
116
117
95
116
118
78
104
108
78
105
106
85
104
106
88
105
107
93
109
111
107
137
143
86
112
123
94
114
123
121
150
153
96
129
136
98
129
135
116
145
148
128
155
160
111
144
147
106
141
142
97
126
131
98
129
132
89
114
116
95
120
121
90
115
129
104
128
133
124
155
157
113
146
149
108
139
142
101
132
134
119
146
148
120
151
153
147
176
178
156
187
189
145
179
183
134
162
164
122
144
152
145
163
166
154
186
188
164
190
193
168
200
203
182
221
226
166
203
205
164
205
209
181
213
222
186
229
233
167
209
210
178
213
217
191
220
227
203
232
232
183
209
211
190
216
219
199
220
221
192
216
219
200
220
224
188
212
215
185
211
213
189
219
220
199
225
227
203
231
232
196
221
223
191
221
226
183
219
220
174
207
211
166
203
204
156
188
196
154
191
196
160
194
199
133
169
174
149
187
193
144
179
184
119
162
169
118
149
156
142
172
178
150
179
189
144
183
187
143
189
196
104
145
156
109
143
153
128
159
163
138
170
181
140
169
185
163
181
183
171
203
207
138
161
165
125
142
147
135
157
158
144
175
183
139
158
166
157
181
185
142
172
179
134
153
157
129
154
157
160
177
188
193
235
239
150
200
208
166
210
214
179
215
228
151
182
190
134
159
172
155
182
187
156
193
204
173
207
212
189
233
236
196
231
237
178
230
239
165
213
230
174
221
232
174
215
225
216
249
254
208
245
248
238
270
272
200
239
257
185
235
245
185
231
243
260
295
298
355
432
437
277
371
383
278
341
358
230
302
324
254
281
286
280
319
326
278
316
327
310
361
376
311
365
386
332
386
398
337
387
394
275
312
335
330
374
393
333
375
401
340
382
407
348
393
423
348
417
420
315
392
424
314
418
438
328
416
436
349
417
437
380
451
455
322
423
443
326
443
448
311
391
398
297
383
387
282
375
394
345
417
433
335
410
416
311
370
393
298
369
371
268
346
350
273
330
334
304
348
356
307
364
374
347
385
387
354
397
406
279
353
359
297
358
364
265
346
355
327
368
368
320
370
371
314
361
364
305
355
359
327
373
378
230
324
331
180
300
316
219
320
334
256
335
344
228
306
312
239
313
318
251
316
320
206
291
297
186
284
291
187
273
285
184
265
283
198
277
285
203
278
287
226
285
290
249
277
277
204
264
264
203
261
261
198
259
261
196
259
260
188
253
260
214
264
270
199
260
260
176
250
257
177
252
260
184
253
259
193
257
260
181
259
260
180
260
260
164
248
254
166
249
252
197
259
260
56
105
112
81
128
130
80
130
132
53
118
127
29
103
123
38
109
111
63
117
125
103
129
137
123
143
144
157
172
173
178
200
200
177
207
209
131
193
197
194
233
238
241
283
286
280
304
308
213
288
302
220
289
303
173
277
288
167
253
262
281
312
314
380
399
400
430
454
455
386
460
466
469
491
499
476
485
491
318
447
449
286
405
422
388
455
456
235
368
400
260
403
417
244
385
399
150
283
350
144
257
322
146
245
291
178
275
293
156
245
255
129
235
240
141
229
237
164
227
233
38
125
169
28
82
136
67
84
117
72
134
148
35
116
131
35
71
101
122
157
163
139
164
165
143
166
171
82
147
151
56
107
130
50
132
137
32
109
122
121
157
158
131
160
161
98
150
151
59
139
144
38
114
129
45
94
114
89
119
120
129
145
146
58
123
135
84
127
136
139
156
158
109
152
153
52
136
138
34
88
116
65
124
136
99
138
144
112
142
143
114
146
149
209
228
230
151
220
227
54
174
211
74
155
185
129
187
189
128
171
176
134
171
177
62
113
150
112
150
152
89
136
143
106
134
142
123
142
148
89
133
136
36
97
124
157
171
173
228
239
241
251
282
284
206
257
259
169
232
235
225
256
258
189
231
237
229
257
258
268
294
298
155
240
251
209
269
274
244
289
299
177
248
259
274
305
306
269
313
315
421
442
442
843
848
855
778
858
866
518
754
763
464
644
650
374
498
513
235
368
403
215
338
363
179
302
312
191
316
346
163
275
306
174
290
302
178
293
301
164
279
289
147
224
230
139
168
172
145
162
167
151
166
170
163
179
183
160
180
183
143
176
178
118
160
167
114
152
155
116
149
157
124
142
148
136
146
154
227
241
245
437
456
459
363
437
444
243
372
397
276
367
390
359
402
405
366
398
403
356
381
392
374
413
420
359
411
416
320
385
398
343
391
399
458
471
472
672
706
709
875
919
923
969
969
985
891
961
965
678
914
929
536
857
878
580
770
780
585
666
670
578
666
670
558
608
617
538
588
606
420
530
535
396
491
493
403
458
480
440
504
517
463
486
496
477
503
506
453
496
500
454
514
516
462
503
508
500
538
540
468
526
529
427
500
513
338
452
490
385
502
514
358
481
497
402
424
425
414
458
462
421
491
505
428
493
502
40
60
60
50
62
64
42
59
60
41
59
59
43
60
63
47
64
65
49
65
65
53
64
65
58
72
73
58
70
71
52
62
63
60
65
72
57
69
70
61
78
82
60
74
76
59
76
77
57
77
78
61
85
85
60
73
74
56
69
83
59
67
69
56
71
73
54
61
65
38
60
60
51
66
68
58
78
82
59
72
75
60
76
80
62
81
88
60
76
81
57
65
69
54
65
67
56
67
69
61
87
89
60
78
80
61
82
83
61
81
94
57
67
78
47
61
65
54
65
68
54
68
73
58
69
73
56
68
69
59
71
71
57
67
67
50
60
62
53
64
65
57
65
67
58
67
69
59
68
70
51
60
62
56
64
65
46
61
61
50
64
66
59
65
67
59
66
67
54
62
63
59
69
72
53
60
63
47
60
63
43
60
64
58
70
75
51
61
63
51
63
65
58
66
68
53
68
70
54
66
66
60
75
81
60
73
81
58
73
78
52
68
75
60
72
74
58
75
78
25
57
60
50
62
64
54
63
64
56
67
69
61
72
73
60
72
73
54
68
68
55
67
68
61
72
74
58
70
72
59
71
75
60
70
72
60
72
74
58
67
69
49
65
66
60
78
80
64
78
78
60
72
73
60
72
73
60
72
74
60
72
73
60
78
79
64
82
83
61
74
75
64
76
76
75
92
102
61
74
75
56
67
73
65
73
74
65
82
82
78
92
93
100
107
107
85
113
113
73
109
109
50
69
72
34
63
66
41
61
70
60
69
72
60
71
72
55
67
68
66
83
84
59
72
74
54
70
71
55
70
71
56
64
67
54
68
68
48
63
68
35
60
62
30
60
62
35
62
64
51
65
66
53
68
70
46
60
64
54
66
70
60
72
72
60
70
70
57
70
71
65
76
80
71
87
93
72
84
88
76
97
100
74
91
100
77
90
94
66
75
76
70
86
88
69
85
86
71
84
86
78
84
88
82
103
104
69
82
90
66
79
82
73
90
95
73
99
100
67
83
86
56
80
83
70
87
88
72
85
86
47
73
74
50
76
79
60
75
79
67
84
88
77
95
96
72
94
96
71
86
86
59
82
86
72
87
89
72
89
91
74
94
95
70
84
89
70
80
82
70
83
83
48
71
73
61
80
81
70
84
85
70
82
84
71
82
85
70
82
85
67
80
81
57
75
75
76
93
94
69
84
88
82
104
106
82
96
98
79
102
103
76
97
99
70
88
90
72
86
88
81
98
101
73
92
96
72
91
98
67
88
93
70
83
87
67
82
85
71
87
90
76
97
100
71
95
96
70
88
94
69
89
94
65
81
86
67
83
86
78
94
96
100
116
117
95
116
118
78
104
108
78
105
106
85
104
106
88
105
107
93
109
111
107
137
143
86
112
123
94
114
123
121
150
153
96
129
136
98
129
135
116
145
148
128
155
160
111
144
147
106
141
142
97
126
131
98
129
132
89
114
116
95
120
121
90
115
129
104
128
133
124
155
157
113
146
149
108
139
142
101
132
134
119
146
148
120
151
153
147
176
178
156
187
189
145
179
183
134
162
164
122
144
152
145
163
166
154
186
188
164
190
193
168
200
203
182
221
226
166
203
205
164
205
209
181
213
222
186
229
233
167
209
210
178
213
217
191
220
227
203
232
232
183
209
211
190
216
219
199
220
221
192
216
219
200
220
224
188
212
215
185
211
213
189
219
220
199
225
227
203
231
232
196
221
223
191
221
226
183
219
220
174
207
211
166
203
204
156
188
196
154
191
196
160
194
199
133
169
174
149
187
193
144
179
184
119
162
169
118
149
156
142
172
178
150
179
189
144
183
187
143
189
196
104
145
156
109
143
153
128
159
163
138
170
181
140
169
185
163
181
183
171
203
207
138
161
165
125
142
147
135
157
158
144
175
183
139
158
166
157
181
185
142
172
179
134
153
157
129
154
157
160
177
188
193
235
239
150
200
208
166
210
214
179
215
228
151
182
190
134
159
172
155
182
187
156
193
204
173
207
212
189
233
236
196
231
237
178
230
239
165
213
230
174
221
232
174
215
225
216
249
254
208
245
248
238
270
272
200
239
257
185
235
245
185
231
243
260
295
298
355
432
437
277
371
383
278
341
358
230
302
324
254
281
286
280
319
326
278
316
327
310
361
376
311
365
386
332
386
398
337
387
394
275
312
335
330
374
393
333
375
401
340
382
407
348
393
423
348
417
420
315
392
424
314
418
438
328
416
436
349
417
437
380
451
455
322
423
443
326
443
448
311
391
398
297
383
387
282
375
394
345
417
433
335
410
416
311
370
393
298
369
371
268
346
350
273
330
334
304
348
356
307
364
374
347
385
387
354
397
406
279
353
359
297
358
364
265
346
355
327
368
368
320
370
371
314
361
364
305
355
359
327
373
378
230
324
331
180
300
316
219
320
334
256
335
344
228
306
312
239
313
318
251
316
320
206
291
297
186
284
291
187
273
285
184
265
283
198
277
285
203
278
287
226
285
290
249
277
277
204
264
264
203
261
261
198
259
261
196
259
260
188
253
260
214
264
270
199
260
260
176
250
257
177
252
260
184
253
259
193
257
260
181
259
260
180
260
260
164
248
254
166
249
252
197
259
260
56
105
112
81
128
130
80
130
132
53
118
127
29
103
123
38
109
111
63
117
125
103
129
137
123
143
144
157
172
173
178
200
200
177
207
209
131
193
197
194
233
238
241
283
286
280
304
308
213
288
302
220
289
303
173
277
288
167
253
262
281
312
314
380
399
400
430
454
455
386
460
466
469
491
499
476
485
491
318
447
449
286
405
422
388
455
456
235
368
400
260
403
417
244
385
399
150
283
350
144
257
322
146
245
291
178
275
293
156
245
255
129
235
240
141
229
237
164
227
233
38
125
169
28
82
136
67
84
117
72
134
148
35
116
131
35
71
101
122
157
163
139
164
165
143
166
171
82
147
151
56
107
130
50
132
137
32
109
122
121
157
158
131
160
161
98
150
151
59
139
144
38
114
129
45
94
114
89
119
120
129
145
146
58
123
135
84
127
136
139
156
158
109
152
153
52
136
138
34
88
116
65
124
136
99
138
144
112
142
143
114
146
149
209
228
230
151
220
227
54
174
211
74
155
185
129
187
189
128
171
176
134
171
177
62
113
150
112
150
152
89
136
143
106
134
142
123
142
148
89
133
136
36
97
124
157
171
173
228
239
241
251
282
284
206
257
259
169
232
235
225
256
258
189
231
237
229
257
258
268
294
298
155
240
251
209
269
274
244
289
299
177
248
259
274
305
306
269
313
315
421
442
442
843
848
855
778
858
866
518
754
763
464
644
650
374
498
513
235
368
403
215
338
363
179
302
312
191
316
346
163
275
306
174
290
302
178
293
301
164
279
289
147
224
230
139
168
172
145
162
167
151
166
170
163
179
183
160
180
183
143
176
178
118
160
167
114
152
155
116
149
157
124
142
148
136
146
154
227
241
245
437
456
459
363
437
444
243
372
397
276
367
390
359
402
405
366
398
403
356
381
392
374
413
420
359
411
416
320
385
398
343
391
399
458
471
472
672
706
709
875
919
923
969
969
985
891
961
965
678
914
929
536
857
878
580
770
780
585
666
670
578
666
670
558
608
617
538
588
606
420
530
535
396
491
493
403
458
480
440
504
517
463
486
496
477
503
506
453
496
500
454
514
516
462
503
508
500
538
540
468
526
529
427
500
513
338
452
490
385
502
514
358
481
497
402
424
425
414
458
462
421
491
505
428
493
502
40
60
60
50
62
64
42
59
60
41
59
59
43
60
63
47
64
65
49
65
65
53
64
65
58
72
73
58
70
71
52
62
63
60
65
72
57
69
70
61
78
82
60
74
76
59
76
77
57
77
78
61
85
85
60
73
74
56
69
83
59
67
69
56
71
73
54
61
65
38
60
60
51
66
68
58
78
82
59
72
75
60
76
80
62
81
88
60
76
81
57
65
69
54
65
67
56
67
69
61
87
89
60
78
80
61
82
83
61
81
94
57
67
78
47
61
65
54
65
68
54
68
73
58
69
73
56
68
69
59
71
71
57
67
67
50
60
62
53
64
65
57
65
67
58
67
69
59
68
70
51
60
62
56
64
65
46
61
61
50
64
66
59
65
67
59
66
67
54
62
63
59
69
72
53
60
63
47
60
63
43
60
64
58
70
75
51
61
63
51
63
65
58
66
68
53
68
70
54
66
66
60
75
81
60
73
81
58
73
78
52
68
75
60
72
74
58
75
78
25
57
60
50
62
64
54
63
64
56
67
69
61
72
73
60
72
73
54
68
68
55
67
68
61
72
74
58
70
72
59
71
75
60
70
72
60
72
74
58
67
69
49
65
66
60
78
80
64
78
78
60
72
73
60
72
73
60
72
74
60
72
73
60
78
79
64
82
83
61
74
75
64
76
76
75
92
102
61
74
75
56
67
73
65
73
74
65
82
82
78
92
93
100
107
107
85
113
113
73
109
109
50
69
72
34
63
66
41
61
70
60
69
72
60
71
72
55
67
68
66
83
84
59
72
74
54
70
71
55
70
71
56
64
67
54
68
68
48
63
68
35
60
62
30
60
62
35
62
64
51
65
66
53
68
70
46
60
64
54
66
70
60
72
72
60
70
70
57
70
71
65
76
80
71
87
93
72
84
88
76
97
100
74
91
100
77
90
94
66
75
76
70
86
88
69
85
86
71
84
86
78
84
88
82
103
104
69
82
90
66
79
82
73
90
95
73
99
100
67
83
86
56
80
83
70
87
88
72
85
86
47
73
74
50
76
79
60
75
79
67
84
88
77
95
96
72
94
96
71
86
86
59
82
86
72
87
89
72
89
91
74
94
95
70
84
89
70
80
82
70
83
83
48
71
73
61
80
81
70
84
85
70
82
84
71
82
85
70
82
85
67
80
81
57
75
75
76
93
94
69
84
88
82
104
106
82
96
98
79
102
103
76
97
99
70
88
90
72
86
88
81
98
101
73
92
96
72
91
98
67
88
93
70
83
87
67
82
85
71
87
90
76
97
100
71
95
96
70
88
94
69
89
94
65
81
86
67
83
86
78
94
96
100
116
117
95
116
118
78
104
108
78
105
106
85
104
106
88
105
107
93
109
111
107
137
143
86
112
123
94
114
123
121
150
153
96
129
136
98
129
135
116
145
148
128
155
160
111
144
147
106
141
142
97
126
131
98
129
132
89
114
116
95
120
121
90
115
129
104
128
133
124
155
157
113
146
149
108
139
142
101
132
134
119
146
148
120
151
153
147
176
178
156
187
189
145
179
183
134
162
164
122
144
152
145
163
166
154
186
188
164
190
193
168
200
203
182
221
226
166
203
205
164
205
209
181
213
222
186
229
233
167
209
210
178
213
217
191
220
227
203
232
232
183
209
211
190
216
219
199
220
221
192
216
219
200
220
224
188
212
215
185
211
213
189
219
220
199
225
227
203
231
232
196
221
223
191
221
226
183
219
220
174
207
211
166
203
204
156
188
196
154
191
196
160
194
199
133
169
174
149
187
193
144
179
184
119
162
169
118
149
156
142
172
178
150
179
189
144
183
187
143
189
196
104
145
156
109
143
153
128
159
163
138
170
181
140
169
185
163
181
183
171
203
207
138
161
165
125
142
147
135
157
158
144
175
183
139
158
166
157
181
185
142
172
179
134
153
157
129
154
157
160
177
188
193
235
239
150
200
208
166
210
214
179
215
228
151
182
190
134
159
172
155
182
187
156
193
204
173
207
212
189
233
236
196
231
237
178
230
239
165
213
230
174
221
232
174
215
225
216
249
254
208
245
248
238
270
272
200
239
257
185
235
245
185
231
243
260
295
298
355
432
437
277
371
383
278
341
358
230
302
324
254
281
286
280
319
326
278
316
327
310
361
376
311
365
386
332
386
398
337
387
394
275
312
335
330
374
393
333
375
401
340
382
407
348
393
423
348
417
420
315
392
424
314
418
438
328
416
436
349
417
437
380
451
455
322
423
443
326
443
448
311
391
398
297
383
387
282
375
394
345
417
433
335
410
416
311
370
393
298
369
371
268
346
350
273
330
334
304
348
356
307
364
374
347
385
387
354
397
406
279
353
359
297
358
364
265
346
355
327
368
368
320
370
371
314
361
364
305
355
359
327
373
378
230
324
331
180
300
316
219
320
334
256
335
344
228
306
312
239
313
318
251
316
320
206
291
297
186
284
291
187
273
285
184
265
283
198
277
285
203
278
287
226
285
290
249
277
277
204
264
264
203
261
261
198
259
261
196
259
260
188
253
260
214
264
270
199
260
260
176
250
257
177
252
260
184
253
259
193
257
260
181
259
260
180
260
260
164
248
254
166
249
252
197
259
260
56
105
112
81
128
130
80
130
132
53
118
127
29
103
123
38
109
111
63
117
125
103
129
137
123
143
144
157
172
173
178
200
200
177
207
209
131
193
197
194
233
238
241
283
286
280
304
308
213
288
302
220
289
303
173
277
288
167
253
262
281
312
314
380
399
400
430
454
455
386
460
466
469
491
499
476
485
491
318
447
449
286
405
422
388
455
456
235
368
400
260
403
417
244
385
399
150
283
350
144
257
322
146
245
291
178
275
293
156
245
255
129
235
240
141
229
237
164
227
233
38
125
169
28
82
136
67
84
117
72
134
148
35
116
131
35
71
101
122
157
163
139
164
165
143
166
171
82
147
151
56
107
130
50
132
137
32
109
122
121
157
158
131
160
161
98
150
151
59
139
144
38
114
129
45
94
114
89
119
120
129
145
146
58
123
135
84
127
136
139
156
158
109
152
153
52
136
138
34
88
116
65
124
136
99
138
144
112
142
143
114
146
149
209
228
230
151
220
227
54
174
211
74
155
185
129
187
189
128
171
176
134
171
177
62
113
150
112
150
152
89
136
143
106
134
142
123
142
148
89
133
136
36
97
124
157
171
173
228
239
241
251
282
284
206
257
259
169
232
235
225
256
258
189
231
237
229
257
258
268
294
298
155
240
251
209
269
274
244
289
299
177
248
259
274
305
306
269
313
315
421
442
442
843
848
855
778
858
866
518
754
763
464
644
650
374
498
513
235
368
403
215
338
363
179
302
312
191
316
346
163
275
306
174
290
302
178
293
301
164
279
289
147
224
230
139
168
172
145
162
167
151
166
170
163
179
183
160
180
183
143
176
178
118
160
167
114
152
155
116
149
157
124
142
148
136
146
154
227
241
245
437
456
459
363
437
444
243
372
397
276
367
390
359
402
405
366
398
403
356
381
392
374
413
420
359
411
416
320
385
398
343
391
399
458
471
472
672
706
709
875
919
923
969
969
985
891
961
965
678
914
929
536
857
878
580
770
780
585
666
670
578
666
670
558
608
617
538
588
606
420
530
535
396
491
493
403
458
480
440
504
517
463
486
496
477
503
506
453
496
500
454
514
516
462
503
508
500
538
540
468
526
529
427
500
513
338
452
490
385
502
514
358
481
497
402
424
425
414
458
462
421
491
505
428
493
502
40
60
60
50
62
64
42
59
60
41
59
59
43
60
63
47
64
65
49
65
65
53
64
65
58
72
73
58
70
71
52
62
63
60
65
72
57
69
70
61
78
82
60
74
76
59
76
77
57
77
78
61
85
85
60
73
74
56
69
83
59
67
69
56
71
73
54
61
65
38
60
60
51
66
68
58
78
82
59
72
75
60
76
80
62
81
88
60
76
81
57
65
69
54
65
67
56
67
69
61
87
89
60
78
80
61
82
83
61
81
94
57
67
78
47
61
65
54
65
68
54
68
73
58
69
73
56
68
69
59
71
71
57
67
67
50
60
62
53
64
65
57
65
67
58
67
69
59
68
70
51
60
62
56
64
65
46
61
61
50
64
66
59
65
67
59
66
67
54
62
63
59
69
72
53
60
63
47
60
63
43
60
64
58
70
75
51
61
63
51
63
65
58
66
68
53
68
70
54
66
66
60
75
81
60
73
81
58
73
78
52
68
75
60
72
74
58
75
78
25
57
60
50
62
64
54
63
64
56
67
69
61
72
73
60
72
73
54
68
68
55
67
68
61
72
74
58
70
72
59
71
75
60
70
72
60
72
74
58
67
69
49
65
66
60
78
80
64
78
78
60
72
73
60
72
73
60
72
74
60
72
73
60
78
79
64
82
83
61
74
75
64
76
76
75
92
102
61
74
75
56
67
73
65
73
74
65
82
82
78
92
93
100
107
107
85
113
113
73
109
109
50
69
72
34
63
66
41
61
70
60
69
72
60
71
72
55
67
68
66
83
84
59
72
74
54
70
71
55
70
71
56
64
67
54
68
68
48
63
68
35
60
62
30
60
62
35
62
64
51
65
66
53
68
70
46
60
64
54
66
70
60
72
72
60
70
70
57
70
71
65
76
80
71
87
93
72
84
88
76
97
100
74
91
100
77
90
94
66
75
76
70
86
88
69
85
86
71
84
86
78
84
88
82
103
104
69
82
90
66
79
82
73
90
95
73
99
100
67
83
86
56
80
83
70
87
88
72
85
86
47
73
74
50
76
79
60
75
79
67
84
88
77
95
96
72
94
96
71
86
86
59
82
86
72
87
89
72
89
91
74
94
95
70
84
89
70
80
82
70
83
83
48
71
73
61
80
81
70
84
85
70
82
84
71
82
85
70
82
85
67
80
81
57
75
75
76
93
94
69
84
88
82
104
106
82
96
98
79
102
103
76
97
99
70
88
90
72
86
88
81
98
101
73
92
96
72
91
98
67
88
93
70
83
87
67
82
85
71
87
90
76
97
100
71
95
96
70
88
94
69
89
94
65
81
86
67
83
86
78
94
96
100
116
117
95
116
118
78
104
108
78
105
106
85
104
106
88
105
107
93
109
111
107
137
143
86
112
123
94
114
123
121
150
153
96
129
136
98
129
135
116
145
148
128
155
160
111
144
147
106
141
142
97
126
131
98
129
132
89
114
116
95
120
121
90
115
129
104
128
133
124
155
157
113
146
149
108
139
142
101
132
134
119
146
148
120
151
153
147
176
178
156
187
189
145
179
183
134
162
164
122
144
152
145
163
166
154
186
188
164
190
193
168
200
203
182
221
226
166
203
205
164
205
209
181
213
222
186
229
233
167
209
210
178
213
217
191
220
227
203
232
232
183
209
211
190
216
219
199
220
221
192
216
219
200
220
224
188
212
215
185
211
213
189
219
220
199
225
227
203
231
232
196
221
223
191
221
226
183
219
220
174
207
211
166
203
204
156
188
196
154
191
196
160
194
199
133
169
174
149
187
193
144
179
184
119
162
169
118
149
156
142
172
178
150
179
189
144
183
187
143
189
196
104
145
156
109
143
153
128
159
163
138
170
181
140
169
185
163
181
183
171
203
207
138
161
165
125
142
147
135
157
158
144
175
183
139
158
166
157
181
185
142
172
179
134
153
157
129
154
157
160
177
188
193
235
239
150
200
208
166
210
214
179
215
228
151
182
190
134
159
172
155
182
187
156
193
204
173
207
212
189
233
236
196
231
237
178
230
239
165
213
230
174
221
232
174
215
225
216
249
254
208
245
248
238
270
272
200
239
257
185
235
245
185
231
243
260
295
298
355
432
437
277
371
383
278
341
358
230
302
324
254
281
286
280
319
326
278
316
327
310
361
376
311
365
386
332
386
398
337
387
394
275
312
335
330
374
393
333
375
401
340
382
407
348
393
423
348
417
420
315
392
424
314
418
438
328
416
436
349
417
437
380
451
455
322
423
443
326
443
448
311
391
398
297
383
387
282
375
394
345
417
433
335
410
416
311
370
393
298
369
371
268
346
350
273
330
334
304
348
356
307
364
374
347
385
387
354
397
406
279
353
359
297
358
364
265
346
355
327
368
368
320
370
371
314
361
364
305
355
359
327
373
378
230
324
331
180
300
316
219
320
334
256
335
344
228
306
312
239
313
318
251
316
320
206
291
297
186
284
291
187
273
285
184
265
283
198
277
285
203
278
287
226
285
290
249
277
277
204
264
264
203
261
261
198
259
261
196
259
260
188
253
260
214
264
270
199
260
260
176
250
257
177
252
260
184
253
259
193
257
260
181
259
260
180
260
260
164
248
254
166
249
252
197
259
260
56
105
112
81
128
130
80
130
132
53
118
127
29
103
123
38
109
111
63
117
125
103
129
137
123
143
144
157
172
173
178
200
200
177
207
209
131
193
197
194
233
238
241
283
286
280
304
308
213
288
302
220
289
303
173
277
288
167
253
262
281
312
314
380
399
400
430
454
455
386
460
466
469
491
499
476
485
491
318
447
449
286
405
422
388
455
456
235
368
400
260
403
417
244
385
399
150
283
350
144
257
322
146
245
291
178
275
293
156
245
255
129
235
240
141
229
237
164
227
233
38
125
169
28
82
136
67
84
117
72
134
148
35
116
131
35
71
101
122
157
163
139
164
165
143
166
171
82
147
151
56
107
130
50
132
137
32
109
122
121
157
158
131
160
161
98
150
151
59
139
144
38
114
129
45
94
114
89
119
120
129
145
146
58
123
135
84
127
136
139
156
158
109
152
153
52
136
138
34
88
116
65
124
136
99
138
144
112
142
143
114
146
149
209
228
230
151
220
227
54
174
211
74
155
185
129
187
189
128
171
176
134
171
177
62
113
150
112
150
152
89
136
143
106
134
142
123
142
148
89
133
136
36
97
124
157
171
173
228
239
241
251
282
284
206
257
259
169
232
235
225
256
258
189
231
237
229
257
258
268
294
298
155
240
251
209
269
274
244
289
299
177
248
259
274
305
306
269
313
315
421
442
442
843
848
855
778
858
866
518
754
763
464
644
650
374
498
513
235
368
403
215
338
363
179
302
312
191
316
346
163
275
306
174
290
302
178
293
301
164
279
289
147
224
230
139
168
172
145
162
167
151
166
170
163
179
183
160
180
183
143
176
178
118
160
167
114
152
155
116
149
157
124
142
148
136
146
154
227
241
245
437
456
459
363
437
444
243
372
397
276
367
390
359
402
405
366
398
403
356
381
392
374
413
420
359
411
416
320
385
398
343
391
399
458
471
472
672
706
709
875
919
923
969
969
985
891
961
965
678
914
929
536
857
878
580
770
780
585
666
670
578
666
670
558
608
617
538
588
606
420
530
535
396
491
493
403
458
480
440
504
517
463
486
496
477
503
506
453
496
500
454
514
516
462
503
508
500
538
540
468
526
529
427
500
513
338
452
490
385
502
514
358
481
497
402
424
425
414
458
462
421
491
505
428
493
502
40
60
60
50
62
64
42
59
60
41
59
59
43
60
63
47
64
65
49
65
65
53
64
65
58
72
73
58
70
71
52
62
63
60
65
72
57
69
70
61
78
82
60
74
76
59
76
77
57
77
78
61
85
85
60
73
74
56
69
83
59
67
69
56
71
73
54
61
65
38
60
60
51
66
68
58
78
82
59
72
75
60
76
80
62
81
88
60
76
81
57
65
69
54
65
67
56
67
69
61
87
89
60
78
80
61
82
83
61
81
94
57
67
78
47
61
65
54
65
68
54
68
73
58
69
73
56
68
69
59
71
71
57
67
67
50
60
62
53
64
65
57
65
67
58
67
69
59
68
70
51
60
62
56
64
65
46
61
61
50
64
66
59
65
67
59
66
67
54
62
63
59
69
72
53
60
63
47
60
63
43
60
64
58
70
75
51
61
63
51
63
65
58
66
68
53
68
70
54
66
66
60
75
81
60
73
81
58
73
78
52
68
75
60
72
74
58
75
78
25
57
60
50
62
64
54
63
64
56
67
69
61
72
73
60
72
73
54
68
68
55
67
68
61
72
74
58
70
72
59
71
75
60
70
72
60
72
74
58
67
69
49
65
66
60
78
80
64
78
78
60
72
73
60
72
73
60
72
74
60
72
73
60
78
79
64
82
83
61
74
75
64
76
76
75
92
102
61
74
75
56
67
73
65
73
74
65
82
82
78
92
93
100
107
107
85
113
113
73
109
109
50
69
72
34
63
66
41
61
70
60
69
72
60
71
72
55
67
68
66
83
84
59
72
74
54
70
71
55
70
71
56
64
67
54
68
68
48
63
68
35
60
62
30
60
62
35
62
64
51
65
66
53
68
70
46
60
64
54
66
70
60
72
72
60
70
70
57
70
71
65
76
80
71
87
93
72
84
88
76
97
100
74
91
100
77
90
94
66
75
76
70
86
88
69
85
86
71
84
86
78
84
88
82
103
104
69
82
90
66
79
82
73
90
95
73
99
100
67
83
86
56
80
83
70
87
88
72
85
86
47
73
74
50
76
79
60
75
79
67
84
88
77
95
96
72
94
96
71
86
86
59
82
86
72
87
89
72
89
91
74
94
95
70
84
89
70
80
82
70
83
83
48
71
73
61
80
81
70
84
85
70
82
84
71
82
85
70
82
85
67
80
81
57
75
75
76
93
94
69
84
88
82
104
106
82
96
98
79
102
103
76
97
99
70
88
90
72
86
88
81
98
101
73
92
96
72
91
98
67
88
93
70
83
87
67
82
85
71
87
90
76
97
100
71
95
96
70
88
94
69
89
94
65
81
86
67
83
86
78
94
96
100
116
117
95
116
118
78
104
108
78
105
106
85
104
106
88
105
107
93
109
111
107
137
143
86
112
123
94
114
123
121
150
153
96
129
136
98
129
135
116
145
148
128
155
160
111
144
147
106
141
142
97
126
131
98
129
132
89
114
116
95
120
121
90
115
129
104
128
133
124
155
157
113
146
149
108
139
142
101
132
134
119
146
148
120
151
153
147
176
178
156
187
189
145
179
183
134
162
164
122
144
152
145
163
166
154
186
188
164
190
193
168
200
203
182
221
226
166
203
205
164
205
209
181
213
222
186
229
233
167
209
210
178
213
217
191
220
227
203
232
232
183
209
211
190
216
219
199
220
221
192
216
219
200
220
224
188
212
215
185
211
213
189
219
220
199
225
227
203
231
232
196
221
223
191
221
226
183
219
220
174
207
211
166
203
204
156
188
196
154
191
196
160
194
199
133
169
174
149
187
193
144
179
184
119
162
169
118
149
156
142
172
178
150
179
189
144
183
187
143
189
196
104
145
156
109
143
153
128
159
163
138
170
181
140
169
185
163
181
183
171
203
207
138
161
165
125
142
147
135
157
158
144
175
183
139
158
166
157
181
185
142
172
179
134
153
157
129
154
157
160
177
188
193
235
239
150
200
208
166
210
214
179
215
228
151
182
190
134
159
172
155
182
187
156
193
204
173
207
212
189
233
236
196
231
237
178
230
239
165
213
230
174
221
232
174
215
225
216
249
254
208
245
248
238
270
272
200
239
257
185
235
245
185
231
243
260
295
298
355
432
437
277
371
383
278
341
358
230
302
324
254
281
286
280
319
326
278
316
327
310
361
376
311
365
386
332
386
398
337
387
394
275
312
335
330
374
393
333
375
401
340
382
407
348
393
423
348
417
420
315
392
424
314
418
438
328
416
436
349
417
437
380
451
455
322
423
443
326
443
448
311
391
398
297
383
387
282
375
394
345
417
433
335
410
416
311
370
393
298
369
371
268
346
350
273
330
334
304
348
356
307
364
374
347
385
387
354
397
406
279
353
359
297
358
364
265
346
355
327
368
368
320
370
371
314
361
364
305
355
359
327
373
378
230
324
331
180
300
316
219
320
334
256
335
344
228
306
312
239
313
318
251
316
320
206
291
297
186
284
291
187
273
285
184
265
283
198
277
285
203
278
287
226
285
290
249
277
277
204
264
264
203
261
261
198
259
261
196
259
260
188
253
260
214
264
270
199
260
260
176
250
257
177
252
260
184
253
259
193
257
260
181
259
260
180
260
260
164
248
254
166
249
252
197
259
260
56
105
112
81
128
130
80
130
132
53
118
127
29
103
123
38
109
111
63
117
125
103
129
137
123
143
144
157
172
173
178
200
200
177
207
209
131
193
197
194
233
238
241
283
286
280
304
308
213
288
302
220
289
303
173
277
288
167
253
262
281
312
314
380
399
400
430
454
455
386
460
466
469
491
499
476
485
491
318
447
449
286
405
422
388
455
456
235
368
400
260
403
417
244
385
399
150
283
350
144
257
322
146
245
291
178
275
293
156
245
255
129
235
240
141
229
237
164
227
233
38
125
169
28
82
136
67
84
117
72
134
148
35
116
131
35
71
101
122
157
163
139
164
165
143
166
171
82
147
151
56
107
130
50
132
137
32
109
122
121
157
158
131
160
161
98
150
151
59
139
144
38
114
129
45
94
114
89
119
120
129
145
146
58
123
135
84
127
136
139
156
158
109
152
153
52
136
138
34
88
116
65
124
136
99
138
144
112
142
143
114
146
149
209
228
230
151
220
227
54
174
211
74
155
185
129
187
189
128
171
176
134
171
177
62
113
150
112
150
152
89
136
143
106
134
142
123
142
148
89
133
136
36
97
124
157
171
173
228
239
241
251
282
284
206
257
259
169
232
235
225
256
258
189
231
237
229
257
258
268
294
298
155
240
251
209
269
274
244
289
299
177
248
259
274
305
306
269
313
315
421
442
442
843
848
855
778
858
866
518
754
763
464
644
650
374
498
513
235
368
403
215
338
363
179
302
312
191
316
346
163
275
306
174
290
302
178
293
301
164
279
289
147
224
230
139
168
172
145
162
167
151
166
170
163
179
183
160
180
183
143
176
178
118
160
167
114
152
155
116
149
157
124
142
148
136
146
154
227
241
245
437
456
459
363
437
444
243
372
397
276
367
390
359
402
405
366
398
403
356
381
392
374
413
420
359
411
416
320
385
398
343
391
399
458
471
472
672
706
709
875
919
923
969
969
985
891
961
965
678
914
929
536
857
878
580
770
780
585
666
670
578
666
670
558
608
617
538
588
606
420
530
535
396
491
493
403
458
480
440
504
517
463
486
496
477
503
506
453
496
500
454
514
516
462
503
508
500
538
540
468
526
529
427
500
513
338
452
490
385
502
514
358
481
497
402
424
425
414
458
462
421
491
505
428
493
502
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
40
40
40
40
40
40
40
40
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
50
50
50
50
50
50
50
50
62
62
62
62
62
62
62
62
64
64
64
64
64
64
64
64
42
42
42
42
42
42
42
42
59
59
59
59
59
59
59
59
60
60
60
60
60
60
60
60
41
41
41
41
41
41
41
41
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
43
43
43
43
43
43
43
43
60
60
60
60
60
60
60
60
63
63
63
63
63
63
63
63
47
47
47
47
47
47
47
47
64
64
64
64
64
64
64
64
65
65
65
65
65
65
65
65
49
49
49
49
49
49
49
49
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
53
53
53
53
53
53
53
53
64
64
64
64
64
64
64
64
65
65
65
65
65
65
65
65
58
58
58
58
58
58
58
58
72
72
72
72
72
72
72
72
73
73
73
73
73
73
73
73
58
58
58
58
58
58
58
58
70
70
70
70
70
70
70
70
71
71
71
71
71
71
71
71
52
52
52
52
52
52
52
52
62
62
62
62
62
62
62
62
63
63
63
63
63
63
63
63
60
60
60
60
60
60
60
60
65
65
65
65
65
65
65
65
72
72
72
72
72
72
72
72
57
57
57
57
57
57
57
57
69
69
69
69
69
69
69
69
70
70
70
70
70
70
70
70
61
61
61
61
61
61
61
61
78
78
78
78
78
78
78
78
82
82
82
82
82
82
82
82
60
60
60
60
60
60
60
60
74
74
74
74
74
74
74
74
76
76
76
76
76
76
76
76
59
59
59
59
59
59
59
59
76
76
76
76
76
76
76
76
77
77
77
77
77
77
77
77
57
57
57
57
57
57
57
57
77
77
77
77
77
77
77
77
78
78
78
78
78
78
78
78
61
61
61
61
61
61
61
61
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
60
60
60
60
60
60
60
60
73
73
73
73
73
73
73
73
74
74
74
74
74
74
74
74
56
56
56
56
56
56
56
56
69
69
69
69
69
69
69
69
83
83
83
83
83
83
83
83
59
59
59
59
59
59
59
59
67
67
67
67
67
67
67
67
69
69
69
69
69
69
69
69
56
56
56
56
56
56
56
56
71
71
71
71
71
71
71
71
73
73
73
73
73
73
73
73
54
54
54
54
54
54
54
54
61
61
61
61
61
61
61
61
65
65
65
65
65
65
65
65
38
38
38
38
38
38
38
38
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
51
51
51
51
51
51
51
51
66
66
66
66
66
66
66
66
68
68
68
68
68
68
68
68
58
58
58
58
58
58
58
58
78
78
78
78
78
78
78
78
82
82
82
82
82
82
82
82
59
59
59
59
59
59
59
59
72
72
72
72
72
72
72
72
75
75
75
75
75
75
75
75
60
60
60
60
60
60
60
60
76
76
76
76
76
76
76
76
80
80
80
80
80
80
80
80
62
62
62
62
62
62
62
62
81
81
81
81
81
81
81
81
88
88
88
88
88
88
88
88
60
60
60
60
60
60
60
60
76
76
76
76
76
76
76
76
81
81
81
81
81
81
81
81
57
57
57
57
57
57
57
57
65
65
65
65
65
65
65
65
69
69
69
69
69
69
69
69
54
54
54
54
54
54
54
54
65
65
65
65
65
65
65
65
67
67
67
67
67
67
67
67
56
56
56
56
56
56
56
56
67
67
67
67
67
67
67
67
69
69
69
69
69
69
69
69
61
61
61
61
61
61
61
61
87
87
87
87
87
87
87
87
89
89
89
89
89
89
89
89
60
60
60
60
60
60
60
60
78
78
78
78
78
78
78
78
80
80
80
80
80
80
80
80
61
61
61
61
61
61
61
61
82
82
82
82
82
82
82
82
83
83
83
83
83
83
83
83
61
61
61
61
61
61
61
61
81
81
81
81
81
81
81
81
94
94
94
94
94
94
94
94
57
57
57
57
57
57
57
57
67
67
67
67
67
67
67
67
78
78
78
78
78
78
78
78
47
47
47
47
47
47
47
47
61
61
61
61
61
61
61
61
65
65
65
65
65
65
65
65
54
54
54
54
54
54
54
54
65
65
65
65
65
65
65
65
68
68
68
68
68
68
68
68
54
54
54
54
54
54
54
54
68
68
68
68
68
68
68
68
73
73
73
73
73
73
73
73
58
58
58
58
58
58
58
58
69
69
69
69
69
69
69
69
73
73
73
73
73
73
73
73
56
56
56
56
56
56
56
56
68
68
68
68
68
68
68
68
69
69
69
69
69
69
69
69
59
59
59
59
59
59
59
59
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
57
57
57
57
57
57
57
57
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
50
50
50
50
50
50
50
50
60
60
60
60
60
60
60
60
62
62
62
62
62
62
62
62
53
53
53
53
53
53
53
53
64
64
64
64
64
64
64
64
65
65
65
65
65
65
65
65
57
57
57
57
57
57
57
57
65
65
65
65
65
65
65
65
67
67
67
67
67
67
67
67
58
58
58
58
58
58
58
58
67
67
67
67
67
67
67
67
69
69
69
69
69
69
69
69
59
59
59
59
59
59
59
59
68
68
68
68
68
68
68
68
70
70
70
70
70
70
70
70
51
51
51
51
51
51
51
51
60
60
60
60
60
60
60
60
62
62
62
62
62
62
62
62
56
56
56
56
56
56
56
56
64
64
64
64
64
64
64
64
65
65
65
65
65
65
65
65
46
46
46
46
46
46
46
46
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
50
50
50
50
50
50
50
50
64
64
64
64
64
64
64
64
66
66
66
66
66
66
66
66
59
59
59
59
59
59
59
59
65
65
65
65
65
65
65
65
67
67
67
67
67
67
67
67
59
59
59
59
59
59
59
59
66
66
66
66
66
66
66
66
67
67
67
67
67
67
67
67
54
54
54
54
54
54
54
54
62
62
62
62
62
62
62
62
63
63
63
63
63
63
63
63
59
59
59
59
59
59
59
59
69
69
69
69
69
69
69
69
72
72
72
72
72
72
72
72
53
53
53
53
53
53
53
53
60
60
60
60
60
60
60
60
63
63
63
63
63
63
63
63
47
47
47
47
47
47
47
47
60
60
60
60
60
60
60
60
63
63
63
63
63
63
63
63
43
43
43
43
43
43
43
43
60
60
60
60
60
60
60
60
64
64
64
64
64
64
64
64
58
58
58
58
58
58
58
58
70
70
70
70
70
70
70
70
75
75
75
75
75
75
75
75
51
51
51
51
51
51
51
51
61
61
61
61
61
61
61
61
63
63
63
63
63
63
63
63
51
51
51
51
51
51
51
51
63
63
63
63
63
63
63
63
65
65
65
65
65
65
65
65
58
58
58
58
58
58
58
58
66
66
66
66
66
66
66
66
68
68
68
68
68
68
68
68
53
53
53
53
53
53
53
53
68
68
68
68
68
68
68
68
70
70
70
70
70
70
70
70
54
54
54
54
54
54
54
54
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
60
60
60
60
60
60
60
60
75
75
75
75
75
75
75
75
81
81
81
81
81
81
81
81
60
60
60
60
60
60
60
60
73
73
73
73
73
73
73
73
81
81
81
81
81
81
81
81
58
58
58
58
58
58
58
58
73
73
73
73
73
73
73
73
78
78
78
78
78
78
78
78
52
52
52
52
52
52
52
52
68
68
68
68
68
68
68
68
75
75
75
75
75
75
75
75
60
60
60
60
60
60
60
60
72
72
72
72
72
72
72
72
74
74
74
74
74
74
74
74
58
58
58
58
58
58
58
58
75
75
75
75
75
75
75
75
78
78
78
78
78
78
78
78
25
25
25
25
25
25
25
25
57
57
57
57
57
57
57
57
60
60
60
60
60
60
60
60
50
50
50
50
50
50
50
50
62
62
62
62
62
62
62
62
64
64
64
64
64
64
64
64
54
54
54
54
54
54
54
54
63
63
63
63
63
63
63
63
64
64
64
64
64
64
64
64
56
56
56
56
56
56
56
56
67
67
67
67
67
67
67
67
69
69
69
69
69
69
69
69
61
61
61
61
61
61
61
61
72
72
72
72
72
72
72
72
73
73
73
73
73
73
73
73
60
60
60
60
60
60
60
60
72
72
72
72
72
72
72
72
73
73
73
73
73
73
73
73
54
54
54
54
54
54
54
54
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
55
55
55
55
55
55
55
55
67
67
67
67
67
67
67
67
68
68
68
68
68
68
68
68
61
61
61
61
61
61
61
61
72
72
72
72
72
72
72
72
74
74
74
74
74
74
74
74
58
58
58
58
58
58
58
58
70
70
70
70
70
70
70
70
72
72
72
72
72
72
72
72
59
59
59
59
59
59
59
59
71
71
71
71
71
71
71
71
75
75
75
75
75
75
75
75
60
60
60
60
60
60
60
60
70
70
70
70
70
70
70
70
72
72
72
72
72
72
72
72
60
60
60
60
60
60
60
60
72
72
72
72
72
72
72
72
74
74
74
74
74
74
74
74
58
58
58
58
58
58
58
58
67
67
67
67
67
67
67
67
69
69
69
69
69
69
69
69
49
49
49
49
49
49
49
49
65
65
65
65
65
65
65
65
66
66
66
66
66
66
66
66
60
60
60
60
60
60
60
60
78
78
78
78
78
78
78
78
80
80
80
80
80
80
80
80
64
64
64
64
64
64
64
64
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
60
60
60
60
60
60
60
60
72
72
72
72
72
72
72
72
73
73
73
73
73
73
73
73
60
60
60
60
60
60
60
60
72
72
72
72
72
72
72
72
73
73
73
73
73
73
73
73
60
60
60
60
60
60
60
60
72
72
72
72
72
72
72
72
74
74
74
74
74
74
74
74
60
60
60
60
60
60
60
60
72
72
72
72
72
72
72
72
73
73
73
73
73
73
73
73
60
60
60
60
60
60
60
60
78
78
78
78
78
78
78
78
79
79
79
79
79
79
79
79
64
64
64
64
64
64
64
64
82
82
82
82
82
82
82
82
83
83
83
83
83
83
83
83
61
61
61
61
61
61
61
61
74
74
74
74
74
74
74
74
75
75
75
75
75
75
75
75
64
64
64
64
64
64
64
64
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
75
75
75
75
75
75
75
75
92
92
92
92
92
92
92
92
102
102
102
102
102
102
102
102
61
61
61
61
61
61
61
61
74
74
74
74
74
74
74
74
75
75
75
75
75
75
75
75
56
56
56
56
56
56
56
56
67
67
67
67
67
67
67
67
73
73
73
73
73
73
73
73
65
65
65
65
65
65
65
65
73
73
73
73
73
73
73
73
74
74
74
74
74
74
74
74
65
65
65
65
65
65
65
65
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
78
78
78
78
78
78
78
78
92
92
92
92
92
92
92
92
93
93
93
93
93
93
93
93
100
100
100
100
100
100
100
100
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
85
85
85
85
85
85
85
85
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
73
73
73
73
73
73
73
73
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
50
50
50
50
50
50
50
50
69
69
69
69
69
69
69
69
72
72
72
72
72
72
72
72
34
34
34
34
34
34
34
34
63
63
63
63
63
63
63
63
66
66
66
66
66
66
66
66
41
41
41
41
41
41
41
41
61
61
61
61
61
61
61
61
70
70
70
70
70
70
70
70
60
60
60
60
60
60
60
60
69
69
69
69
69
69
69
69
72
72
72
72
72
72
72
72
60
60
60
60
60
60
60
60
71
71
71
71
71
71
71
71
72
72
72
72
72
72
72
72
55
55
55
55
55
55
55
55
67
67
67
67
67
67
67
67
68
68
68
68
68
68
68
68
66
66
66
66
66
66
66
66
83
83
83
83
83
83
83
83
84
84
84
84
84
84
84
84
59
59
59
59
59
59
59
59
72
72
72
72
72
72
72
72
74
74
74
74
74
74
74
74
54
54
54
54
54
54
54
54
70
70
70
70
70
70
70
70
71
71
71
71
71
71
71
71
55
55
55
55
55
55
55
55
70
70
70
70
70
70
70
70
71
71
71
71
71
71
71
71
56
56
56
56
56
56
56
56
64
64
64
64
64
64
64
64
67
67
67
67
67
67
67
67
54
54
54
54
54
54
54
54
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
48
48
48
48
48
48
48
48
63
63
63
63
63
63
63
63
68
68
68
68
68
68
68
68
35
35
35
35
35
35
35
35
60
60
60
60
60
60
60
60
62
62
62
62
62
62
62
62
30
30
30
30
30
30
30
30
60
60
60
60
60
60
60
60
62
62
62
62
62
62
62
62
35
35
35
35
35
35
35
35
62
62
62
62
62
62
62
62
64
64
64
64
64
64
64
64
51
51
51
51
51
51
51
51
65
65
65
65
65
65
65
65
66
66
66
66
66
66
66
66
53
53
53
53
53
53
53
53
68
68
68
68
68
68
68
68
70
70
70
70
70
70
70
70
46
46
46
46
46
46
46
46
60
60
60
60
60
60
60
60
64
64
64
64
64
64
64
64
54
54
54
54
54
54
54
54
66
66
66
66
66
66
66
66
70
70
70
70
70
70
70
70
60
60
60
60
60
60
60
60
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
60
60
60
60
60
60
60
60
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
57
57
57
57
57
57
57
57
70
70
70
70
70
70
70
70
71
71
71
71
71
71
71
71
65
65
65
65
65
65
65
65
76
76
76
76
76
76
76
76
80
80
80
80
80
80
80
80
71
71
71
71
71
71
71
71
87
87
87
87
87
87
87
87
93
93
93
93
93
93
93
93
72
72
72
72
72
72
72
72
84
84
84
84
84
84
84
84
88
88
88
88
88
88
88
88
76
76
76
76
76
76
76
76
97
97
97
97
97
97
97
97
100
100
100
100
100
100
100
100
74
74
74
74
74
74
74
74
91
91
91
91
91
91
91
91
100
100
100
100
100
100
100
100
77
77
77
77
77
77
77
77
90
90
90
90
90
90
90
90
94
94
94
94
94
94
94
94
66
66
66
66
66
66
66
66
75
75
75
75
75
75
75
75
76
76
76
76
76
76
76
76
70
70
70
70
70
70
70
70
86
86
86
86
86
86
86
86
88
88
88
88
88
88
88
88
69
69
69
69
69
69
69
69
85
85
85
85
85
85
85
85
86
86
86
86
86
86
86
86
71
71
71
71
71
71
71
71
84
84
84
84
84
84
84
84
86
86
86
86
86
86
86
86
78
78
78
78
78
78
78
78
84
84
84
84
84
84
84
84
88
88
88
88
88
88
88
88
82
82
82
82
82
82
82
82
103
103
103
103
103
103
103
103
104
104
104
104
104
104
104
104
69
69
69
69
69
69
69
69
82
82
82
82
82
82
82
82
90
90
90
90
90
90
90
90
66
66
66
66
66
66
66
66
79
79
79
79
79
79
79
79
82
82
82
82
82
82
82
82
73
73
73
73
73
73
73
73
90
90
90
90
90
90
90
90
95
95
95
95
95
95
95
95
73
73
73
73
73
73
73
73
99
99
99
99
99
99
99
99
100
100
100
100
100
100
100
100
67
67
67
67
67
67
67
67
83
83
83
83
83
83
83
83
86
86
86
86
86
86
86
86
56
56
56
56
56
56
56
56
80
80
80
80
80
80
80
80
83
83
83
83
83
83
83
83
70
70
70
70
70
70
70
70
87
87
87
87
87
87
87
87
88
88
88
88
88
88
88
88
72
72
72
72
72
72
72
72
85
85
85
85
85
85
85
85
86
86
86
86
86
86
86
86
47
47
47
47
47
47
47
47
73
73
73
73
73
73
73
73
74
74
74
74
74
74
74
74
50
50
50
50
50
50
50
50
76
76
76
76
76
76
76
76
79
79
79
79
79
79
79
79
60
60
60
60
60
60
60
60
75
75
75
75
75
75
75
75
79
79
79
79
79
79
79
79
67
67
67
67
67
67
67
67
84
84
84
84
84
84
84
84
88
88
88
88
88
88
88
88
77
77
77
77
77
77
77
77
95
95
95
95
95
95
95
95
96
96
96
96
96
96
96
96
72
72
72
72
72
72
72
72
94
94
94
94
94
94
94
94
96
96
96
96
96
96
96
96
71
71
71
71
71
71
71
71
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
59
59
59
59
59
59
59
59
82
82
82
82
82
82
82
82
86
86
86
86
86
86
86
86
72
72
72
72
72
72
72
72
87
87
87
87
87
87
87
87
89
89
89
89
89
89
89
89
72
72
72
72
72
72
72
72
89
89
89
89
89
89
89
89
91
91
91
91
91
91
91
91
74
74
74
74
74
74
74
74
94
94
94
94
94
94
94
94
95
95
95
95
95
95
95
95
70
70
70
70
70
70
70
70
84
84
84
84
84
84
84
84
89
89
89
89
89
89
89
89
70
70
70
70
70
70
70
70
80
80
80
80
80
80
80
80
82
82
82
82
82
82
82
82
70
70
70
70
70
70
70
70
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
48
48
48
48
48
48
48
48
71
71
71
71
71
71
71
71
73
73
73
73
73
73
73
73
61
61
61
61
61
61
61
61
80
80
80
80
80
80
80
80
81
81
81
81
81
81
81
81
70
70
70
70
70
70
70
70
84
84
84
84
84
84
84
84
85
85
85
85
85
85
85
85
70
70
70
70
70
70
70
70
82
82
82
82
82
82
82
82
84
84
84
84
84
84
84
84
71
71
71
71
71
71
71
71
82
82
82
82
82
82
82
82
85
85
85
85
85
85
85
85
70
70
70
70
70
70
70
70
82
82
82
82
82
82
82
82
85
85
85
85
85
85
85
85
67
67
67
67
67
67
67
67
80
80
80
80
80
80
80
80
81
81
81
81
81
81
81
81
57
57
57
57
57
57
57
57
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
76
76
76
76
76
76
76
76
93
93
93
93
93
93
93
93
94
94
94
94
94
94
94
94
69
69
69
69
69
69
69
69
84
84
84
84
84
84
84
84
88
88
88
88
88
88
88
88
82
82
82
82
82
82
82
82
104
104
104
104
104
104
104
104
106
106
106
106
106
106
106
106
82
82
82
82
82
82
82
82
96
96
96
96
96
96
96
96
98
98
98
98
98
98
98
98
79
79
79
79
79
79
79
79
102
102
102
102
102
102
102
102
103
103
103
103
103
103
103
103
76
76
76
76
76
76
76
76
97
97
97
97
97
97
97
97
99
99
99
99
99
99
99
99
70
70
70
70
70
70
70
70
88
88
88
88
88
88
88
88
90
90
90
90
90
90
90
90
72
72
72
72
72
72
72
72
86
86
86
86
86
86
86
86
88
88
88
88
88
88
88
88
81
81
81
81
81
81
81
81
98
98
98
98
98
98
98
98
101
101
101
101
101
101
101
101
73
73
73
73
73
73
73
73
92
92
92
92
92
92
92
92
96
96
96
96
96
96
96
96
72
72
72
72
72
72
72
72
91
91
91
91
91
91
91
91
98
98
98
98
98
98
98
98
67
67
67
67
67
67
67
67
88
88
88
88
88
88
88
88
93
93
93
93
93
93
93
93
70
70
70
70
70
70
70
70
83
83
83
83
83
83
83
83
87
87
87
87
87
87
87
87
67
67
67
67
67
67
67
67
82
82
82
82
82
82
82
82
85
85
85
85
85
85
85
85
71
71
71
71
71
71
71
71
87
87
87
87
87
87
87
87
90
90
90
90
90
90
90
90
76
76
76
76
76
76
76
76
97
97
97
97
97
97
97
97
100
100
100
100
100
100
100
100
71
71
71
71
71
71
71
71
95
95
95
95
95
95
95
95
96
96
96
96
96
96
96
96
70
70
70
70
70
70
70
70
88
88
88
88
88
88
88
88
94
94
94
94
94
94
94
94
69
69
69
69
69
69
69
69
89
89
89
89
89
89
89
89
94
94
94
94
94
94
94
94
65
65
65
65
65
65
65
65
81
81
81
81
81
81
81
81
86
86
86
86
86
86
86
86
67
67
67
67
67
67
67
67
83
83
83
83
83
83
83
83
86
86
86
86
86
86
86
86
78
78
78
78
78
78
78
78
94
94
94
94
94
94
94
94
96
96
96
96
96
96
96
96
100
100
100
100
100
100
100
100
116
116
116
116
116
116
116
116
117
117
117
117
117
117
117
117
95
95
95
95
95
95
95
95
116
116
116
116
116
116
116
116
118
118
118
118
118
118
118
118
78
78
78
78
78
78
78
78
104
104
104
104
104
104
104
104
108
108
108
108
108
108
108
108
78
78
78
78
78
78
78
78
105
105
105
105
105
105
105
105
106
106
106
106
106
106
106
106
85
85
85
85
85
85
85
85
104
104
104
104
104
104
104
104
106
106
106
106
106
106
106
106
88
88
88
88
88
88
88
88
105
105
105
105
105
105
105
105
107
107
107
107
107
107
107
107
93
93
93
93
93
93
93
93
109
109
109
109
109
109
109
109
111
111
111
111
111
111
111
111
107
107
107
107
107
107
107
107
137
137
137
137
137
137
137
137
143
143
143
143
143
143
143
143
86
86
86
86
86
86
86
86
112
112
112
112
112
112
112
112
123
123
123
123
123
123
123
123
94
94
94
94
94
94
94
94
114
114
114
114
114
114
114
114
123
123
123
123
123
123
123
123
121
121
121
121
121
121
121
121
150
150
150
150
150
150
150
150
153
153
153
153
153
153
153
153
96
96
96
96
96
96
96
96
129
129
129
129
129
129
129
129
136
136
136
136
136
136
136
136
98
98
98
98
98
98
98
98
129
129
129
129
129
129
129
129
135
135
135
135
135
135
135
135
116
116
116
116
116
116
116
116
145
145
145
145
145
145
145
145
148
148
148
148
148
148
148
148
128
128
128
128
128
128
128
128
155
155
155
155
155
155
155
155
160
160
160
160
160
160
160
160
111
111
111
111
111
111
111
111
144
144
144
144
144
144
144
144
147
147
147
147
147
147
147
147
106
106
106
106
106
106
106
106
141
141
141
141
141
141
141
141
142
142
142
142
142
142
142
142
97
97
97
97
97
97
97
97
126
126
126
126
126
126
126
126
131
131
131
131
131
131
131
131
98
98
98
98
98
98
98
98
129
129
129
129
129
129
129
129
132
132
132
132
132
132
132
132
89
89
89
89
89
89
89
89
114
114
114
114
114
114
114
114
116
116
116
116
116
116
116
116
95
95
95
95
95
95
95
95
120
120
120
120
120
120
120
120
121
121
121
121
121
121
121
121
90
90
90
90
90
90
90
90
115
115
115
115
115
115
115
115
129
129
129
129
129
129
129
129
104
104
104
104
104
104
104
104
128
128
128
128
128
128
128
128
133
133
133
133
133
133
133
133
124
124
124
124
124
124
124
124
155
155
155
155
155
155
155
155
157
157
157
157
157
157
157
157
113
113
113
113
113
113
113
113
146
146
146
146
146
146
146
146
149
149
149
149
149
149
149
149
108
108
108
108
108
108
108
108
139
139
139
139
139
139
139
139
142
142
142
142
142
142
142
142
101
101
101
101
101
101
101
101
132
132
132
132
132
132
132
132
134
134
134
134
134
134
134
134
119
119
119
119
119
119
119
119
146
146
146
146
146
146
146
146
148
148
148
148
148
148
148
148
120
120
120
120
120
120
120
120
151
151
151
151
151
151
151
151
153
153
153
153
153
153
153
153
147
147
147
147
147
147
147
147
176
176
176
176
176
176
176
176
178
178
178
178
178
178
178
178
156
156
156
156
156
156
156
156
187
187
187
187
187
187
187
187
189
189
189
189
189
189
189
189
145
145
145
145
145
145
145
145
179
179
179
179
179
179
179
179
183
183
183
183
183
183
183
183
134
134
134
134
134
134
134
134
162
162
162
162
162
162
162
162
164
164
164
164
164
164
164
164
122
122
122
122
122
122
122
122
144
144
144
144
144
144
144
144
152
152
152
152
152
152
152
152
145
145
145
145
145
145
145
145
163
163
163
163
163
163
163
163
166
166
166
166
166
166
166
166
154
154
154
154
154
154
154
154
186
186
186
186
186
186
186
186
188
188
188
188
188
188
188
188
164
164
164
164
164
164
164
164
190
190
190
190
190
190
190
190
193
193
193
193
193
193
193
193
168
168
168
168
168
168
168
168
200
200
200
200
200
200
200
200
203
203
203
203
203
203
203
203
182
182
182
182
182
182
182
182
221
221
221
221
221
221
221
221
226
226
226
226
226
226
226
226
166
166
166
166
166
166
166
166
203
203
203
203
203
203
203
203
205
205
205
205
205
205
205
205
164
164
164
164
164
164
164
164
205
205
205
205
205
205
205
205
209
209
209
209
209
209
209
209
181
181
181
181
181
181
181
181
213
213
213
213
213
213
213
213
222
222
222
222
222
222
222
222
186
186
186
186
186
186
186
186
229
229
229
229
229
229
229
229
233
233
233
233
233
233
233
233
167
167
167
167
167
167
167
167
209
209
209
209
209
209
209
209
210
210
210
210
210
210
210
210
178
178
178
178
178
178
178
178
213
213
213
213
213
213
213
213
217
217
217
217
217
217
217
217
191
191
191
191
191
191
191
191
220
220
220
220
220
220
220
220
227
227
227
227
227
227
227
227
203
203
203
203
203
203
203
203
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
183
183
183
183
183
183
183
183
209
209
209
209
209
209
209
209
211
211
211
211
211
211
211
211
190
190
190
190
190
190
190
190
216
216
216
216
216
216
216
216
219
219
219
219
219
219
219
219
199
199
199
199
199
199
199
199
220
220
220
220
220
220
220
220
221
221
221
221
221
221
221
221
192
192
192
192
192
192
192
192
216
216
216
216
216
216
216
216
219
219
219
219
219
219
219
219
200
200
200
200
200
200
200
200
220
220
220
220
220
220
220
220
224
224
224
224
224
224
224
224
188
188
188
188
188
188
188
188
212
212
212
212
212
212
212
212
215
215
215
215
215
215
215
215
185
185
185
185
185
185
185
185
211
211
211
211
211
211
211
211
213
213
213
213
213
213
213
213
189
189
189
189
189
189
189
189
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
199
199
199
199
199
199
199
199
225
225
225
225
225
225
225
225
227
227
227
227
227
227
227
227
203
203
203
203
203
203
203
203
231
231
231
231
231
231
231
231
232
232
232
232
232
232
232
232
196
196
196
196
196
196
196
196
221
221
221
221
221
221
221
221
223
223
223
223
223
223
223
223
191
191
191
191
191
191
191
191
221
221
221
221
221
221
221
221
226
226
226
226
226
226
226
226
183
183
183
183
183
183
183
183
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
174
174
174
174
174
174
174
174
207
207
207
207
207
207
207
207
211
211
211
211
211
211
211
211
166
166
166
166
166
166
166
166
203
203
203
203
203
203
203
203
204
204
204
204
204
204
204
204
156
156
156
156
156
156
156
156
188
188
188
188
188
188
188
188
196
196
196
196
196
196
196
196
154
154
154
154
154
154
154
154
191
191
191
191
191
191
191
191
196
196
196
196
196
196
196
196
160
160
160
160
160
160
160
160
194
194
194
194
194
194
194
194
199
199
199
199
199
199
199
199
133
133
133
133
133
133
133
133
169
169
169
169
169
169
169
169
174
174
174
174
174
174
174
174
149
149
149
149
149
149
149
149
187
187
187
187
187
187
187
187
193
193
193
193
193
193
193
193
144
144
144
144
144
144
144
144
179
179
179
179
179
179
179
179
184
184
184
184
184
184
184
184
119
119
119
119
119
119
119
119
162
162
162
162
162
162
162
162
169
169
169
169
169
169
169
169
118
118
118
118
118
118
118
118
149
149
149
149
149
149
149
149
156
156
156
156
156
156
156
156
142
142
142
142
142
142
142
142
172
172
172
172
172
172
172
172
178
178
178
178
178
178
178
178
150
150
150
150
150
150
150
150
179
179
179
179
179
179
179
179
189
189
189
189
189
189
189
189
144
144
144
144
144
144
144
144
183
183
183
183
183
183
183
183
187
187
187
187
187
187
187
187
143
143
143
143
143
143
143
143
189
189
189
189
189
189
189
189
196
196
196
196
196
196
196
196
104
104
104
104
104
104
104
104
145
145
145
145
145
145
145
145
156
156
156
156
156
156
156
156
109
109
109
109
109
109
109
109
143
143
143
143
143
143
143
143
153
153
153
153
153
153
153
153
128
128
128
128
128
128
128
128
159
159
159
159
159
159
159
159
163
163
163
163
163
163
163
163
138
138
138
138
138
138
138
138
170
170
170
170
170
170
170
170
181
181
181
181
181
181
181
181
140
140
140
140
140
140
140
140
169
169
169
169
169
169
169
169
185
185
185
185
185
185
185
185
163
163
163
163
163
163
163
163
181
181
181
181
181
181
181
181
183
183
183
183
183
183
183
183
171
171
171
171
171
171
171
171
203
203
203
203
203
203
203
203
207
207
207
207
207
207
207
207
138
138
138
138
138
138
138
138
161
161
161
161
161
161
161
161
165
165
165
165
165
165
165
165
125
125
125
125
125
125
125
125
142
142
142
142
142
142
142
142
147
147
147
147
147
147
147
147
135
135
135
135
135
135
135
135
157
157
157
157
157
157
157
157
158
158
158
158
158
158
158
158
144
144
144
144
144
144
144
144
175
175
175
175
175
175
175
175
183
183
183
183
183
183
183
183
139
139
139
139
139
139
139
139
158
158
158
158
158
158
158
158
166
166
166
166
166
166
166
166
157
157
157
157
157
157
157
157
181
181
181
181
181
181
181
181
185
185
185
185
185
185
185
185
142
142
142
142
142
142
142
142
172
172
172
172
172
172
172
172
179
179
179
179
179
179
179
179
134
134
134
134
134
134
134
134
153
153
153
153
153
153
153
153
157
157
157
157
157
157
157
157
129
129
129
129
129
129
129
129
154
154
154
154
154
154
154
154
157
157
157
157
157
157
157
157
160
160
160
160
160
160
160
160
177
177
177
177
177
177
177
177
188
188
188
188
188
188
188
188
193
193
193
193
193
193
193
193
235
235
235
235
235
235
235
235
239
239
239
239
239
239
239
239
150
150
150
150
150
150
150
150
200
200
200
200
200
200
200
200
208
208
208
208
208
208
208
208
166
166
166
166
166
166
166
166
210
210
210
210
210
210
210
210
214
214
214
214
214
214
214
214
179
179
179
179
179
179
179
179
215
215
215
215
215
215
215
215
228
228
228
228
228
228
228
228
151
151
151
151
151
151
151
151
182
182
182
182
182
182
182
182
190
190
190
190
190
190
190
190
134
134
134
134
134
134
134
134
159
159
159
159
159
159
159
159
172
172
172
172
172
172
172
172
155
155
155
155
155
155
155
155
182
182
182
182
182
182
182
182
187
187
187
187
187
187
187
187
156
156
156
156
156
156
156
156
193
193
193
193
193
193
193
193
204
204
204
204
204
204
204
204
173
173
173
173
173
173
173
173
207
207
207
207
207
207
207
207
212
212
212
212
212
212
212
212
189
189
189
189
189
189
189
189
233
233
233
233
233
233
233
233
236
236
236
236
236
236
236
236
196
196
196
196
196
196
196
196
231
231
231
231
231
231
231
231
237
237
237
237
237
237
237
237
178
178
178
178
178
178
178
178
230
230
230
230
230
230
230
230
239
239
239
239
239
239
239
239
165
165
165
165
165
165
165
165
213
213
213
213
213
213
213
213
230
230
230
230
230
230
230
230
174
174
174
174
174
174
174
174
221
221
221
221
221
221
221
221
232
232
232
232
232
232
232
232
174
174
174
174
174
174
174
174
215
215
215
215
215
215
215
215
225
225
225
225
225
225
225
225
216
216
216
216
216
216
216
216
249
249
249
249
249
249
249
249
254
254
254
254
254
254
254
254
208
208
208
208
208
208
208
208
245
245
245
245
245
245
245
245
248
248
248
248
248
248
248
248
238
238
238
238
238
238
238
238
270
270
270
270
270
270
270
270
272
272
272
272
272
272
272
272
200
200
200
200
200
200
200
200
239
239
239
239
239
239
239
239
257
257
257
257
257
257
257
257
185
185
185
185
185
185
185
185
235
235
235
235
235
235
235
235
245
245
245
245
245
245
245
245
185
185
185
185
185
185
185
185
231
231
231
231
231
231
231
231
243
243
243
243
243
243
243
243
260
260
260
260
260
260
260
260
295
295
295
295
295
295
295
295
298
298
298
298
298
298
298
298
355
355
355
355
355
355
355
355
432
432
432
432
432
432
432
432
437
437
437
437
437
437
437
437
277
277
277
277
277
277
277
277
371
371
371
371
371
371
371
371
383
383
383
383
383
383
383
383
278
278
278
278
278
278
278
278
341
341
341
341
341
341
341
341
358
358
358
358
358
358
358
358
230
230
230
230
230
230
230
230
302
302
302
302
302
302
302
302
324
324
324
324
324
324
324
324
254
254
254
254
254
254
254
254
281
281
281
281
281
281
281
281
286
286
286
286
286
286
286
286
280
280
280
280
280
280
280
280
319
319
319
319
319
319
319
319
326
326
326
326
326
326
326
326
278
278
278
278
278
278
278
278
316
316
316
316
316
316
316
316
327
327
327
327
327
327
327
327
310
310
310
310
310
310
310
310
361
361
361
361
361
361
361
361
376
376
376
376
376
376
376
376
311
311
311
311
311
311
311
311
365
365
365
365
365
365
365
365
386
386
386
386
386
386
386
386
332
332
332
332
332
332
332
332
386
386
386
386
386
386
386
386
398
398
398
398
398
398
398
398
337
337
337
337
337
337
337
337
387
387
387
387
387
387
387
387
394
394
394
394
394
394
394
394
275
275
275
275
275
275
275
275
312
312
312
312
312
312
312
312
335
335
335
335
335
335
335
335
330
330
330
330
330
330
330
330
374
374
374
374
374
374
374
374
393
393
393
393
393
393
393
393
333
333
333
333
333
333
333
333
375
375
375
375
375
375
375
375
401
401
401
401
401
401
401
401
340
340
340
340
340
340
340
340
382
382
382
382
382
382
382
382
407
407
407
407
407
407
407
407
348
348
348
348
348
348
348
348
393
393
393
393
393
393
393
393
423
423
423
423
423
423
423
423
348
348
348
348
348
348
348
348
417
417
417
417
417
417
417
417
420
420
420
420
420
420
420
420
315
315
315
315
315
315
315
315
392
392
392
392
392
392
392
392
424
424
424
424
424
424
424
424
314
314
314
314
314
314
314
314
418
418
418
418
418
418
418
418
438
438
438
438
438
438
438
438
328
328
328
328
328
328
328
328
416
416
416
416
416
416
416
416
436
436
436
436
436
436
436
436
349
349
349
349
349
349
349
349
417
417
417
417
417
417
417
417
437
437
437
437
437
437
437
437
380
380
380
380
380
380
380
380
451
451
451
451
451
451
451
451
455
455
455
455
455
455
455
455
322
322
322
322
322
322
322
322
423
423
423
423
423
423
423
423
443
443
443
443
443
443
443
443
326
326
326
326
326
326
326
326
443
443
443
443
443
443
443
443
448
448
448
448
448
448
448
448
311
311
311
311
311
311
311
311
391
391
391
391
391
391
391
391
398
398
398
398
398
398
398
398
297
297
297
297
297
297
297
297
383
383
383
383
383
383
383
383
387
387
387
387
387
387
387
387
282
282
282
282
282
282
282
282
375
375
375
375
375
375
375
375
394
394
394
394
394
394
394
394
345
345
345
345
345
345
345
345
417
417
417
417
417
417
417
417
433
433
433
433
433
433
433
433
335
335
335
335
335
335
335
335
410
410
410
410
410
410
410
410
416
416
416
416
416
416
416
416
311
311
311
311
311
311
311
311
370
370
370
370
370
370
370
370
393
393
393
393
393
393
393
393
298
298
298
298
298
298
298
298
369
369
369
369
369
369
369
369
371
371
371
371
371
371
371
371
268
268
268
268
268
268
268
268
346
346
346
346
346
346
346
346
350
350
350
350
350
350
350
350
273
273
273
273
273
273
273
273
330
330
330
330
330
330
330
330
334
334
334
334
334
334
334
334
304
304
304
304
304
304
304
304
348
348
348
348
348
348
348
348
356
356
356
356
356
356
356
356
307
307
307
307
307
307
307
307
364
364
364
364
364
364
364
364
374
374
374
374
374
374
374
374
347
347
347
347
347
347
347
347
385
385
385
385
385
385
385
385
387
387
387
387
387
387
387
387
354
354
354
354
354
354
354
354
397
397
397
397
397
397
397
397
406
406
406
406
406
406
406
406
279
279
279
279
279
279
279
279
353
353
353
353
353
353
353
353
359
359
359
359
359
359
359
359
297
297
297
297
297
297
297
297
358
358
358
358
358
358
358
358
364
364
364
364
364
364
364
364
265
265
265
265
265
265
265
265
346
346
346
346
346
346
346
346
355
355
355
355
355
355
355
355
327
327
327
327
327
327
327
327
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
320
320
320
320
320
320
320
320
370
370
370
370
370
370
370
370
371
371
371
371
371
371
371
371
314
314
314
314
314
314
314
314
361
361
361
361
361
361
361
361
364
364
364
364
364
364
364
364
305
305
305
305
305
305
305
305
355
355
355
355
355
355
355
355
359
359
359
359
359
359
359
359
327
327
327
327
327
327
327
327
373
373
373
373
373
373
373
373
378
378
378
378
378
378
378
378
230
230
230
230
230
230
230
230
324
324
324
324
324
324
324
324
331
331
331
331
331
331
331
331
180
180
180
180
180
180
180
180
300
300
300
300
300
300
300
300
316
316
316
316
316
316
316
316
219
219
219
219
219
219
219
219
320
320
320
320
320
320
320
320
334
334
334
334
334
334
334
334
256
256
256
256
256
256
256
256
335
335
335
335
335
335
335
335
344
344
344
344
344
344
344
344
228
228
228
228
228
228
228
228
306
306
306
306
306
306
306
306
312
312
312
312
312
312
312
312
239
239
239
239
239
239
239
239
313
313
313
313
313
313
313
313
318
318
318
318
318
318
318
318
251
251
251
251
251
251
251
251
316
316
316
316
316
316
316
316
320
320
320
320
320
320
320
320
206
206
206
206
206
206
206
206
291
291
291
291
291
291
291
291
297
297
297
297
297
297
297
297
186
186
186
186
186
186
186
186
284
284
284
284
284
284
284
284
291
291
291
291
291
291
291
291
187
187
187
187
187
187
187
187
273
273
273
273
273
273
273
273
285
285
285
285
285
285
285
285
184
184
184
184
184
184
184
184
265
265
265
265
265
265
265
265
283
283
283
283
283
283
283
283
198
198
198
198
198
198
198
198
277
277
277
277
277
277
277
277
285
285
285
285
285
285
285
285
203
203
203
203
203
203
203
203
278
278
278
278
278
278
278
278
287
287
287
287
287
287
287
287
226
226
226
226
226
226
226
226
285
285
285
285
285
285
285
285
290
290
290
290
290
290
290
290
249
249
249
249
249
249
249
249
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
204
204
204
204
204
204
204
204
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
203
203
203
203
203
203
203
203
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
198
198
198
198
198
198
198
198
259
259
259
259
259
259
259
259
261
261
261
261
261
261
261
261
196
196
196
196
196
196
196
196
259
259
259
259
259
259
259
259
260
260
260
260
260
260
260
260
188
188
188
188
188
188
188
188
253
253
253
253
253
253
253
253
260
260
260
260
260
260
260
260
214
214
214
214
214
214
214
214
264
264
264
264
264
264
264
264
270
270
270
270
270
270
270
270
199
199
199
199
199
199
199
199
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
176
176
176
176
176
176
176
176
250
250
250
250
250
250
250
250
257
257
257
257
257
257
257
257
177
177
177
177
177
177
177
177
252
252
252
252
252
252
252
252
260
260
260
260
260
260
260
260
184
184
184
184
184
184
184
184
253
253
253
253
253
253
253
253
259
259
259
259
259
259
259
259
193
193
193
193
193
193
193
193
257
257
257
257
257
257
257
257
260
260
260
260
260
260
260
260
181
181
181
181
181
181
181
181
259
259
259
259
259
259
259
259
260
260
260
260
260
260
260
260
180
180
180
180
180
180
180
180
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
164
164
164
164
164
164
164
164
248
248
248
248
248
248
248
248
254
254
254
254
254
254
254
254
166
166
166
166
166
166
166
166
249
249
249
249
249
249
249
249
252
252
252
252
252
252
252
252
197
197
197
197
197
197
197
197
259
259
259
259
259
259
259
259
260
260
260
260
260
260
260
260
56
56
56
56
56
56
56
56
105
105
105
105
105
105
105
105
112
112
112
112
112
112
112
112
81
81
81
81
81
81
81
81
128
128
128
128
128
128
128
128
130
130
130
130
130
130
130
130
80
80
80
80
80
80
80
80
130
130
130
130
130
130
130
130
132
132
132
132
132
132
132
132
53
53
53
53
53
53
53
53
118
118
118
118
118
118
118
118
127
127
127
127
127
127
127
127
29
29
29
29
29
29
29
29
103
103
103
103
103
103
103
103
123
123
123
123
123
123
123
123
38
38
38
38
38
38
38
38
109
109
109
109
109
109
109
109
111
111
111
111
111
111
111
111
63
63
63
63
63
63
63
63
117
117
117
117
117
117
117
117
125
125
125
125
125
125
125
125
103
103
103
103
103
103
103
103
129
129
129
129
129
129
129
129
137
137
137
137
137
137
137
137
123
123
123
123
123
123
123
123
143
143
143
143
143
143
143
143
144
144
144
144
144
144
144
144
157
157
157
157
157
157
157
157
172
172
172
172
172
172
172
172
173
173
173
173
173
173
173
173
178
178
178
178
178
178
178
178
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
177
177
177
177
177
177
177
177
207
207
207
207
207
207
207
207
209
209
209
209
209
209
209
209
131
131
131
131
131
131
131
131
193
193
193
193
193
193
193
193
197
197
197
197
197
197
197
197
194
194
194
194
194
194
194
194
233
233
233
233
233
233
233
233
238
238
238
238
238
238
238
238
241
241
241
241
241
241
241
241
283
283
283
283
283
283
283
283
286
286
286
286
286
286
286
286
280
280
280
280
280
280
280
280
304
304
304
304
304
304
304
304
308
308
308
308
308
308
308
308
213
213
213
213
213
213
213
213
288
288
288
288
288
288
288
288
302
302
302
302
302
302
302
302
220
220
220
220
220
220
220
220
289
289
289
289
289
289
289
289
303
303
303
303
303
303
303
303
173
173
173
173
173
173
173
173
277
277
277
277
277
277
277
277
288
288
288
288
288
288
288
288
167
167
167
167
167
167
167
167
253
253
253
253
253
253
253
253
262
262
262
262
262
262
262
262
281
281
281
281
281
281
281
281
312
312
312
312
312
312
312
312
314
314
314
314
314
314
314
314
380
380
380
380
380
380
380
380
399
399
399
399
399
399
399
399
400
400
400
400
400
400
400
400
430
430
430
430
430
430
430
430
454
454
454
454
454
454
454
454
455
455
455
455
455
455
455
455
386
386
386
386
386
386
386
386
460
460
460
460
460
460
460
460
466
466
466
466
466
466
466
466
469
469
469
469
469
469
469
469
491
491
491
491
491
491
491
491
499
499
499
499
499
499
499
499
476
476
476
476
476
476
476
476
485
485
485
485
485
485
485
485
491
491
491
491
491
491
491
491
318
318
318
318
318
318
318
318
447
447
447
447
447
447
447
447
449
449
449
449
449
449
449
449
286
286
286
286
286
286
286
286
405
405
405
405
405
405
405
405
422
422
422
422
422
422
422
422
388
388
388
388
388
388
388
388
455
455
455
455
455
455
455
455
456
456
456
456
456
456
456
456
235
235
235
235
235
235
235
235
368
368
368
368
368
368
368
368
400
400
400
400
400
400
400
400
260
260
260
260
260
260
260
260
403
403
403
403
403
403
403
403
417
417
417
417
417
417
417
417
244
244
244
244
244
244
244
244
385
385
385
385
385
385
385
385
399
399
399
399
399
399
399
399
150
150
150
150
150
150
150
150
283
283
283
283
283
283
283
283
350
350
350
350
350
350
350
350
144
144
144
144
144
144
144
144
257
257
257
257
257
257
257
257
322
322
322
322
322
322
322
322
146
146
146
146
146
146
146
146
245
245
245
245
245
245
245
245
291
291
291
291
291
291
291
291
178
178
178
178
178
178
178
178
275
275
275
275
275
275
275
275
293
293
293
293
293
293
293
293
156
156
156
156
156
156
156
156
245
245
245
245
245
245
245
245
255
255
255
255
255
255
255
255
129
129
129
129
129
129
129
129
235
235
235
235
235
235
235
235
240
240
240
240
240
240
240
240
141
141
141
141
141
141
141
141
229
229
229
229
229
229
229
229
237
237
237
237
237
237
237
237
164
164
164
164
164
164
164
164
227
227
227
227
227
227
227
227
233
233
233
233
233
233
233
233
38
38
38
38
38
38
38
38
125
125
125
125
125
125
125
125
169
169
169
169
169
169
169
169
28
28
28
28
28
28
28
28
82
82
82
82
82
82
82
82
136
136
136
136
136
136
136
136
67
67
67
67
67
67
67
67
84
84
84
84
84
84
84
84
117
117
117
117
117
117
117
117
72
72
72
72
72
72
72
72
134
134
134
134
134
134
134
134
148
148
148
148
148
148
148
148
35
35
35
35
35
35
35
35
116
116
116
116
116
116
116
116
131
131
131
131
131
131
131
131
35
35
35
35
35
35
35
35
71
71
71
71
71
71
71
71
101
101
101
101
101
101
101
101
122
122
122
122
122
122
122
122
157
157
157
157
157
157
157
157
163
163
163
163
163
163
163
163
139
139
139
139
139
139
139
139
164
164
164
164
164
164
164
164
165
165
165
165
165
165
165
165
143
143
143
143
143
143
143
143
166
166
166
166
166
166
166
166
171
171
171
171
171
171
171
171
82
82
82
82
82
82
82
82
147
147
147
147
147
147
147
147
151
151
151
151
151
151
151
151
56
56
56
56
56
56
56
56
107
107
107
107
107
107
107
107
130
130
130
130
130
130
130
130
50
50
50
50
50
50
50
50
132
132
132
132
132
132
132
132
137
137
137
137
137
137
137
137
32
32
32
32
32
32
32
32
109
109
109
109
109
109
109
109
122
122
122
122
122
122
122
122
121
121
121
121
121
121
121
121
157
157
157
157
157
157
157
157
158
158
158
158
158
158
158
158
131
131
131
131
131
131
131
131
160
160
160
160
160
160
160
160
161
161
161
161
161
161
161
161
98
98
98
98
98
98
98
98
150
150
150
150
150
150
150
150
151
151
151
151
151
151
151
151
59
59
59
59
59
59
59
59
139
139
139
139
139
139
139
139
144
144
144
144
144
144
144
144
38
38
38
38
38
38
38
38
114
114
114
114
114
114
114
114
129
129
129
129
129
129
129
129
45
45
45
45
45
45
45
45
94
94
94
94
94
94
94
94
114
114
114
114
114
114
114
114
89
89
89
89
89
89
89
89
119
119
119
119
119
119
119
119
120
120
120
120
120
120
120
120
129
129
129
129
129
129
129
129
145
145
145
145
145
145
145
145
146
146
146
146
146
146
146
146
58
58
58
58
58
58
58
58
123
123
123
123
123
123
123
123
135
135
135
135
135
135
135
135
84
84
84
84
84
84
84
84
127
127
127
127
127
127
127
127
136
136
136
136
136
136
136
136
139
139
139
139
139
139
139
139
156
156
156
156
156
156
156
156
158
158
158
158
158
158
158
158
109
109
109
109
109
109
109
109
152
152
152
152
152
152
152
152
153
153
153
153
153
153
153
153
52
52
52
52
52
52
52
52
136
136
136
136
136
136
136
136
138
138
138
138
138
138
138
138
34
34
34
34
34
34
34
34
88
88
88
88
88
88
88
88
116
116
116
116
116
116
116
116
65
65
65
65
65
65
65
65
124
124
124
124
124
124
124
124
136
136
136
136
136
136
136
136
99
99
99
99
99
99
99
99
138
138
138
138
138
138
138
138
144
144
144
144
144
144
144
144
112
112
112
112
112
112
112
112
142
142
142
142
142
142
142
142
143
143
143
143
143
143
143
143
114
114
114
114
114
114
114
114
146
146
146
146
146
146
146
146
149
149
149
149
149
149
149
149
209
209
209
209
209
209
209
209
228
228
228
228
228
228
228
228
230
230
230
230
230
230
230
230
151
151
151
151
151
151
151
151
220
220
220
220
220
220
220
220
227
227
227
227
227
227
227
227
54
54
54
54
54
54
54
54
174
174
174
174
174
174
174
174
211
211
211
211
211
211
211
211
74
74
74
74
74
74
74
74
155
155
155
155
155
155
155
155
185
185
185
185
185
185
185
185
129
129
129
129
129
129
129
129
187
187
187
187
187
187
187
187
189
189
189
189
189
189
189
189
128
128
128
128
128
128
128
128
171
171
171
171
171
171
171
171
176
176
176
176
176
176
176
176
134
134
134
134
134
134
134
134
171
171
171
171
171
171
171
171
177
177
177
177
177
177
177
177
62
62
62
62
62
62
62
62
113
113
113
113
113
113
113
113
150
150
150
150
150
150
150
150
112
112
112
112
112
112
112
112
150
150
150
150
150
150
150
150
152
152
152
152
152
152
152
152
89
89
89
89
89
89
89
89
136
136
136
136
136
136
136
136
143
143
143
143
143
143
143
143
106
106
106
106
106
106
106
106
134
134
134
134
134
134
134
134
142
142
142
142
142
142
142
142
123
123
123
123
123
123
123
123
142
142
142
142
142
142
142
142
148
148
148
148
148
148
148
148
89
89
89
89
89
89
89
89
133
133
133
133
133
133
133
133
136
136
136
136
136
136
136
136
36
36
36
36
36
36
36
36
97
97
97
97
97
97
97
97
124
124
124
124
124
124
124
124
157
157
157
157
157
157
157
157
171
171
171
171
171
171
171
171
173
173
173
173
173
173
173
173
228
228
228
228
228
228
228
228
239
239
239
239
239
239
239
239
241
241
241
241
241
241
241
241
251
251
251
251
251
251
251
251
282
282
282
282
282
282
282
282
284
284
284
284
284
284
284
284
206
206
206
206
206
206
206
206
257
257
257
257
257
257
257
257
259
259
259
259
259
259
259
259
169
169
169
169
169
169
169
169
232
232
232
232
232
232
232
232
235
235
235
235
235
235
235
235
225
225
225
225
225
225
225
225
256
256
256
256
256
256
256
256
258
258
258
258
258
258
258
258
189
189
189
189
189
189
189
189
231
231
231
231
231
231
231
231
237
237
237
237
237
237
237
237
229
229
229
229
229
229
229
229
257
257
257
257
257
257
257
257
258
258
258
258
258
258
258
258
268
268
268
268
268
268
268
268
294
294
294
294
294
294
294
294
298
298
298
298
298
298
298
298
155
155
155
155
155
155
155
155
240
240
240
240
240
240
240
240
251
251
251
251
251
251
251
251
209
209
209
209
209
209
209
209
269
269
269
269
269
269
269
269
274
274
274
274
274
274
274
274
244
244
244
244
244
244
244
244
289
289
289
289
289
289
289
289
299
299
299
299
299
299
299
299
177
177
177
177
177
177
177
177
248
248
248
248
248
248
248
248
259
259
259
259
259
259
259
259
274
274
274
274
274
274
274
274
305
305
305
305
305
305
305
305
306
306
306
306
306
306
306
306
269
269
269
269
269
269
269
269
313
313
313
313
313
313
313
313
315
315
315
315
315
315
315
315
421
421
421
421
421
421
421
421
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
843
843
843
843
843
843
843
843
848
848
848
848
848
848
848
848
855
855
855
855
855
855
855
855
778
778
778
778
778
778
778
778
858
858
858
858
858
858
858
858
866
866
866
866
866
866
866
866
518
518
518
518
518
518
518
518
754
754
754
754
754
754
754
754
763
763
763
763
763
763
763
763
464
464
464
464
464
464
464
464
644
644
644
644
644
644
644
644
650
650
650
650
650
650
650
650
374
374
374
374
374
374
374
374
498
498
498
498
498
498
498
498
513
513
513
513
513
513
513
513
235
235
235
235
235
235
235
235
368
368
368
368
368
368
368
368
403
403
403
403
403
403
403
403
215
215
215
215
215
215
215
215
338
338
338
338
338
338
338
338
363
363
363
363
363
363
363
363
179
179
179
179
179
179
179
179
302
302
302
302
302
302
302
302
312
312
312
312
312
312
312
312
191
191
191
191
191
191
191
191
316
316
316
316
316
316
316
316
346
346
346
346
346
346
346
346
163
163
163
163
163
163
163
163
275
275
275
275
275
275
275
275
306
306
306
306
306
306
306
306
174
174
174
174
174
174
174
174
290
290
290
290
290
290
290
290
302
302
302
302
302
302
302
302
178
178
178
178
178
178
178
178
293
293
293
293
293
293
293
293
301
301
301
301
301
301
301
301
164
164
164
164
164
164
164
164
279
279
279
279
279
279
279
279
289
289
289
289
289
289
289
289
147
147
147
147
147
147
147
147
224
224
224
224
224
224
224
224
230
230
230
230
230
230
230
230
139
139
139
139
139
139
139
139
168
168
168
168
168
168
168
168
172
172
172
172
172
172
172
172
145
145
145
145
145
145
145
145
162
162
162
162
162
162
162
162
167
167
167
167
167
167
167
167
151
151
151
151
151
151
151
151
166
166
166
166
166
166
166
166
170
170
170
170
170
170
170
170
163
163
163
163
163
163
163
163
179
179
179
179
179
179
179
179
183
183
183
183
183
183
183
183
160
160
160
160
160
160
160
160
180
180
180
180
180
180
180
180
183
183
183
183
183
183
183
183
143
143
143
143
143
143
143
143
176
176
176
176
176
176
176
176
178
178
178
178
178
178
178
178
118
118
118
118
118
118
118
118
160
160
160
160
160
160
160
160
167
167
167
167
167
167
167
167
114
114
114
114
114
114
114
114
152
152
152
152
152
152
152
152
155
155
155
155
155
155
155
155
116
116
116
116
116
116
116
116
149
149
149
149
149
149
149
149
157
157
157
157
157
157
157
157
124
124
124
124
124
124
124
124
142
142
142
142
142
142
142
142
148
148
148
148
148
148
148
148
136
136
136
136
136
136
136
136
146
146
146
146
146
146
146
146
154
154
154
154
154
154
154
154
227
227
227
227
227
227
227
227
241
241
241
241
241
241
241
241
245
245
245
245
245
245
245
245
437
437
437
437
437
437
437
437
456
456
456
456
456
456
456
456
459
459
459
459
459
459
459
459
363
363
363
363
363
363
363
363
437
437
437
437
437
437
437
437
444
444
444
444
444
444
444
444
243
243
243
243
243
243
243
243
372
372
372
372
372
372
372
372
397
397
397
397
397
397
397
397
276
276
276
276
276
276
276
276
367
367
367
367
367
367
367
367
390
390
390
390
390
390
390
390
359
359
359
359
359
359
359
359
402
402
402
402
402
402
402
402
405
405
405
405
405
405
405
405
366
366
366
366
366
366
366
366
398
398
398
398
398
398
398
398
403
403
403
403
403
403
403
403
356
356
356
356
356
356
356
356
381
381
381
381
381
381
381
381
392
392
392
392
392
392
392
392
374
374
374
374
374
374
374
374
413
413
413
413
413
413
413
413
420
420
420
420
420
420
420
420
359
359
359
359
359
359
359
359
411
411
411
411
411
411
411
411
416
416
416
416
416
416
416
416
320
320
320
320
320
320
320
320
385
385
385
385
385
385
385
385
398
398
398
398
398
398
398
398
343
343
343
343
343
343
343
343
391
391
391
391
391
391
391
391
399
399
399
399
399
399
399
399
458
458
458
458
458
458
458
458
471
471
471
471
471
471
471
471
472
472
472
472
472
472
472
472
672
672
672
672
672
672
672
672
706
706
706
706
706
706
706
706
709
709
709
709
709
709
709
709
875
875
875
875
875
875
875
875
919
919
919
919
919
919
919
919
923
923
923
923
923
923
923
923
969
969
969
969
969
969
969
969
969
969
969
969
969
969
969
969
985
985
985
985
985
985
985
985
891
891
891
891
891
891
891
891
961
961
961
961
961
961
961
961
965
965
965
965
965
965
965
965
678
678
678
678
678
678
678
678
914
914
914
914
914
914
914
914
929
929
929
929
929
929
929
929
536
536
536
536
536
536
536
536
857
857
857
857
857
857
857
857
878
878
878
878
878
878
878
878
580
580
580
580
580
580
580
580
770
770
770
770
770
770
770
770
780
780
780
780
780
780
780
780
585
585
585
585
585
585
585
585
666
666
666
666
666
666
666
666
670
670
670
670
670
670
670
670
578
578
578
578
578
578
578
578
666
666
666
666
666
666
666
666
670
670
670
670
670
670
670
670
558
558
558
558
558
558
558
558
608
608
608
608
608
608
608
608
617
617
617
617
617
617
617
617
538
538
538
538
538
538
538
538
588
588
588
588
588
588
588
588
606
606
606
606
606
606
606
606
420
420
420
420
420
420
420
420
530
530
530
530
530
530
530
530
535
535
535
535
535
535
535
535
396
396
396
396
396
396
396
396
491
491
491
491
491
491
491
491
493
493
493
493
493
493
493
493
403
403
403
403
403
403
403
403
458
458
458
458
458
458
458
458
480
480
480
480
480
480
480
480
440
440
440
440
440
440
440
440
504
504
504
504
504
504
504
504
517
517
517
517
517
517
517
517
463
463
463
463
463
463
463
463
486
486
486
486
486
486
486
486
496
496
496
496
496
496
496
496
477
477
477
477
477
477
477
477
503
503
503
503
503
503
503
503
506
506
506
506
506
506
506
506
453
453
453
453
453
453
453
453
496
496
496
496
496
496
496
496
500
500
500
500
500
500
500
500
454
454
454
454
454
454
454
454
514
514
514
514
514
514
514
514
516
516
516
516
516
516
516
516
462
462
462
462
462
462
462
462
503
503
503
503
503
503
503
503
508
508
508
508
508
508
508
508
500
500
500
500
500
500
500
500
538
538
538
538
538
538
538
538
540
540
540
540
540
540
540
540
468
468
468
468
468
468
468
468
526
526
526
526
526
526
526
526
529
529
529
529
529
529
529
529
427
427
427
427
427
427
427
427
500
500
500
500
500
500
500
500
513
513
513
513
513
513
513
513
338
338
338
338
338
338
338
338
452
452
452
452
452
452
452
452
490
490
490
490
490
490
490
490
385
385
385
385
385
385
385
385
502
502
502
502
502
502
502
502
514
514
514
514
514
514
514
514
358
358
358
358
358
358
358
358
481
481
481
481
481
481
481
481
497
497
497
497
497
497
497
497
402
402
402
402
402
402
402
402
424
424
424
424
424
424
424
424
425
425
425
425
425
425
425
425
414
414
414
414
414
414
414
414
458
458
458
458
458
458
458
458
462
462
462
462
462
462
462
462
421
421
421
421
421
421
421
421
491
491
491
491
491
491
491
491
505
505
505
505
505
505
505
505
428
428
428
428
428
428
428
428
493
493
493
493
493
493
493
493
502
502
502
502
502
502
502
502
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment