255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
223
223
223
223
223
223
223
223
223
223
223
223
223
223
222
222
222
222
222
222
222
222
222
222
222
222
222
222
221
221
221
221
221
221
221
221
221
221
221
221
221
221
220
220
220
220
220
220
220
220
220
220
220
220
220
220
219
219
219
219
219
219
219
219
219
219
219
219
219
219
218
218
218
218
218
218
218
218
218
218
218
218
218
217
217
217
217
217
217
217
217
217
217
217
217
217
216
216
216
216
216
216
216
216
216
216
216
216
216
215
215
215
215
215
215
215
215
215
215
215
215
214
214
214
214
214
214
214
214
214
214
214
214
214
213
213
213
213
213
213
213
213
213
213
213
213
212
212
212
212
212
212
212
212
212
212
212
212
211
211
211
211
211
211
211
211
211
211
211
211
210
210
210
210
210
210
210
210
210
210
210
209
209
209
209
209
209
209
209
209
209
209
209
208
208
208
208
208
208
208
208
208
208
208
207
207
207
207
207
207
207
207
207
207
207
206
206
206
206
206
206
206
206
206
206
206
205
205
205
205
205
205
205
205
205
205
205
204
204
204
204
204
204
204
204
204
204
204
203
203
203
203
203
203
203
203
203
203
202
202
202
202
202
202
202
202
202
202
202
201
201
201
201
201
201
201
201
201
201
200
200
200
200
200
200
200
200
200
200
199
199
199
199
199
199
199
199
199
199
198
198
198
198
198
198
198
198
198
198
197
197
197
197
197
197
197
197
197
197
196
196
196
196
196
196
196
196
196
196
195
195
195
195
195
195
195
195
195
194
194
194
194
194
194
194
194
194
194
193
193
193
193
193
193
193
193
193
192
192
192
192
192
192
192
192
192
191
191
191
191
191
191
191
191
191
190
190
190
190
190
190
190
190
190
189
189
189
189
189
189
189
189
189
188
188
188
188
188
188
188
188
188
187
187
187
187
187
187
187
187
186
186
186
186
186
186
186
186
186
185
185
185
185
185
185
185
185
184
184
184
184
184
184
184
184
184
183
183
183
183
183
183
183
183
182
182
182
182
182
182
182
182
181
181
181
181
181
181
181
181
180
180
180
180
180
180
180
180
179
179
179
179
179
179
179
179
178
178
178
178
178
178
178
178
177
177
177
177
177
177
177
177
176
176
176
176
176
176
176
175
175
175
175
175
175
175
175
174
174
174
174
174
174
174
174
173
173
173
173
173
173
173
172
172
172
172
172
172
172
171
171
171
171
171
171
171
171
170
170
170
170
170
170
170
169
169
169
169
169
169
169
168
168
168
168
168
168
168
167
167
167
167
167
167
167
166
166
166
166
166
166
166
165
165
165
165
165
165
164
164
164
164
164
164
164
163
163
163
163
163
163
163
162
162
162
162
162
162
162
161
161
161
161
161
161
160
160
160
160
160
160
160
159
159
159
159
159
159
158
158
158
158
158
158
157
157
157
157
157
157
157
156
156
156
156
156
156
155
155
155
155
155
155
154
154
154
154
154
154
153
153
153
153
153
153
152
152
152
152
152
152
151
151
151
151
151
151
150
150
150
150
150
150
149
149
149
149
149
148
148
148
148
148
148
147
147
147
147
147
147
146
146
146
146
146
145
145
145
145
145
145
144
144
144
144
144
144
143
143
143
143
143
142
142
142
142
142
141
141
141
141
141
141
140
140
140
140
140
139
139
139
139
139
138
138
138
138
138
137
137
137
137
137
136
136
136
136
136
136
135
135
135
135
135
134
134
134
134
133
133
133
133
133
132
132
132
132
132
131
131
131
131
131
130
130
130
130
130
129
129
129
129
129
128
128
128
128
127
127
127
127
127
126
126
126
126
125
125
125
125
125
124
124
124
124
123
123
123
123
123
122
122
122
122
121
121
121
121
120
120
120
120
120
119
119
119
119
118
118
118
118
117
117
117
117
116
116
116
116
115
115
115
115
114
114
114
114
113
113
113
113
112
112
112
112
111
111
111
111
110
110
110
110
109
109
109
109
108
108
108
108
107
107
107
106
106
106
106
105
105
105
105
104
104
104
103
103
103
103
102
102
102
101
101
101
101
100
100
100
99
99
99
99
98
98
98
97
97
97
96
96
96
95
95
95
95
94
94
94
93
93
93
92
92
92
91
91
91
90
90
90
89
89
89
88
88
88
87
87
87
86
86
86
85
85
85
84
84
84
83
83
82
82
82
81
81
81
80
80
79
79
79
78
78
78
77
77
76
76
76
75
75
74
74
74
73
73
72
72
71
71
71
70
70
69
69
68
68
67
67
67
66
66
65
65
64
64
63
63
62
62
61
61
60
60
59
59
58
58
57
57
56
55
55
54
54
53
53
52
51
51
50
50
49
48
48
47
46
46
45
44
43
43
42
41
41
40
39
38
37
36
36
35
34
33
32
31
30
29
28
26
25
24
23
21
20
18
16
14
11
8
2048
2816
3584
4096
4608
5120
5376
5888
6144
6400
6656
7168
7424
7680
7936
8192
8448
8704
8960
9216
9216
9472
9728
9984
10240
10496
10496
10752
11008
11008
11264
11520
11776
11776
12032
12288
12288
12544
12800
12800
13056
13056
13312
13568
13568
13824
13824
14080
14080
14336
14592
14592
14848
14848
15104
15104
15360
15360
15616
15616
15872
15872
16128
16128
16384
16384
16640
16640
16896
16896
17152
17152
17152
17408
17408
17664
17664
17920
17920
18176
18176
18176
18432
18432
18688
18688
18944
18944
18944
19200
19200
19456
19456
19456
19712
19712
19968
19968
19968
20224
20224
20224
20480
20480
20736
20736
20736
20992
20992
20992
21248
21248
21504
21504
21504
21760
21760
21760
22016
22016
22016
22272
22272
22272
22528
22528
22528
22784
22784
22784
23040
23040
23040
23296
23296
23296
23552
23552
23552
23808
23808
23808
24064
24064
24064
24320
24320
24320
24320
24576
24576
24576
24832
24832
24832
25088
25088
25088
25344
25344
25344
25344
25600
25600
25600
25856
25856
25856
25856
26112
26112
26112
26368
26368
26368
26368
26624
26624
26624
26880
26880
26880
26880
27136
27136
27136
27136
27392
27392
27392
27648
27648
27648
27648
27904
27904
27904
27904
28160
28160
28160
28160
28416
28416
28416
28416
28672
28672
28672
28672
28928
28928
28928
28928
29184
29184
29184
29184
29440
29440
29440
29440
29696
29696
29696
29696
29952
29952
29952
29952
30208
30208
30208
30208
30464
30464
30464
30464
30720
30720
30720
30720
30720
30976
30976
30976
30976
31232
31232
31232
31232
31488
31488
31488
31488
31488
31744
31744
31744
31744
32000
32000
32000
32000
32000
32256
32256
32256
32256
32512
32512
32512
32512
32512
32768
32768
32768
32768
33024
33024
33024
33024
33024
33280
33280
33280
33280
33280
33536
33536
33536
33536
33536
33792
33792
33792
33792
33792
34048
34048
34048
34048
34048
34304
34304
34304
34304
34560
34560
34560
34560
34560
34816
34816
34816
34816
34816
34816
35072
35072
35072
35072
35072
35328
35328
35328
35328
35328
35584
35584
35584
35584
35584
35840
35840
35840
35840
35840
36096
36096
36096
36096
36096
36096
36352
36352
36352
36352
36352
36608
36608
36608
36608
36608
36864
36864
36864
36864
36864
36864
37120
37120
37120
37120
37120
37120
37376
37376
37376
37376
37376
37632
37632
37632
37632
37632
37632
37888
37888
37888
37888
37888
37888
38144
38144
38144
38144
38144
38400
38400
38400
38400
38400
38400
38656
38656
38656
38656
38656
38656
38912
38912
38912
38912
38912
38912
39168
39168
39168
39168
39168
39168
39424
39424
39424
39424
39424
39424
39680
39680
39680
39680
39680
39680
39936
39936
39936
39936
39936
39936
40192
40192
40192
40192
40192
40192
40192
40448
40448
40448
40448
40448
40448
40704
40704
40704
40704
40704
40704
40960
40960
40960
40960
40960
40960
40960
41216
41216
41216
41216
41216
41216
41472
41472
41472
41472
41472
41472
41472
41728
41728
41728
41728
41728
41728
41728
41984
41984
41984
41984
41984
41984
41984
42240
42240
42240
42240
42240
42240
42496
42496
42496
42496
42496
42496
42496
42752
42752
42752
42752
42752
42752
42752
43008
43008
43008
43008
43008
43008
43008
43264
43264
43264
43264
43264
43264
43264
43520
43520
43520
43520
43520
43520
43520
43776
43776
43776
43776
43776
43776
43776
43776
44032
44032
44032
44032
44032
44032
44032
44288
44288
44288
44288
44288
44288
44288
44544
44544
44544
44544
44544
44544
44544
44544
44800
44800
44800
44800
44800
44800
44800
44800
45056
45056
45056
45056
45056
45056
45056
45312
45312
45312
45312
45312
45312
45312
45312
45568
45568
45568
45568
45568
45568
45568
45568
45824
45824
45824
45824
45824
45824
45824
45824
46080
46080
46080
46080
46080
46080
46080
46080
46336
46336
46336
46336
46336
46336
46336
46336
46592
46592
46592
46592
46592
46592
46592
46592
46848
46848
46848
46848
46848
46848
46848
46848
47104
47104
47104
47104
47104
47104
47104
47104
47104
47360
47360
47360
47360
47360
47360
47360
47360
47616
47616
47616
47616
47616
47616
47616
47616
47616
47872
47872
47872
47872
47872
47872
47872
47872
48128
48128
48128
48128
48128
48128
48128
48128
48128
48384
48384
48384
48384
48384
48384
48384
48384
48384
48640
48640
48640
48640
48640
48640
48640
48640
48640
48896
48896
48896
48896
48896
48896
48896
48896
48896
49152
49152
49152
49152
49152
49152
49152
49152
49152
49408
49408
49408
49408
49408
49408
49408
49408
49408
49664
49664
49664
49664
49664
49664
49664
49664
49664
49664
49920
49920
49920
49920
49920
49920
49920
49920
49920
50176
50176
50176
50176
50176
50176
50176
50176
50176
50176
50432
50432
50432
50432
50432
50432
50432
50432
50432
50432
50688
50688
50688
50688
50688
50688
50688
50688
50688
50688
50944
50944
50944
50944
50944
50944
50944
50944
50944
50944
51200
51200
51200
51200
51200
51200
51200
51200
51200
51200
51456
51456
51456
51456
51456
51456
51456
51456
51456
51456
51712
51712
51712
51712
51712
51712
51712
51712
51712
51712
51712
51968
51968
51968
51968
51968
51968
51968
51968
51968
51968
52224
52224
52224
52224
52224
52224
52224
52224
52224
52224
52224
52480
52480
52480
52480
52480
52480
52480
52480
52480
52480
52480
52736
52736
52736
52736
52736
52736
52736
52736
52736
52736
52736
52992
52992
52992
52992
52992
52992
52992
52992
52992
52992
52992
53248
53248
53248
53248
53248
53248
53248
53248
53248
53248
53248
53504
53504
53504
53504
53504
53504
53504
53504
53504
53504
53504
53504
53760
53760
53760
53760
53760
53760
53760
53760
53760
53760
53760
54016
54016
54016
54016
54016
54016
54016
54016
54016
54016
54016
54016
54272
54272
54272
54272
54272
54272
54272
54272
54272
54272
54272
54272
54528
54528
54528
54528
54528
54528
54528
54528
54528
54528
54528
54528
54784
54784
54784
54784
54784
54784
54784
54784
54784
54784
54784
54784
54784
55040
55040
55040
55040
55040
55040
55040
55040
55040
55040
55040
55040
55296
55296
55296
55296
55296
55296
55296
55296
55296
55296
55296
55296
55296
55552
55552
55552
55552
55552
55552
55552
55552
55552
55552
55552
55552
55552
55808
55808
55808
55808
55808
55808
55808
55808
55808
55808
55808
55808
55808
56064
56064
56064
56064
56064
56064
56064
56064
56064
56064
56064
56064
56064
56064
56320
56320
56320
56320
56320
56320
56320
56320
56320
56320
56320
56320
56320
56320
56576
56576
56576
56576
56576
56576
56576
56576
56576
56576
56576
56576
56576
56576
56832
56832
56832
56832
56832
56832
56832
56832
56832
56832
56832
56832
56832
56832
57088
57088
57088
57088
57088
57088
57088
57088
57088
57088
57088
57088
57088
57088
57344
57344
57344
57344
57344
57344
57344
57344
57344
57344
57344
57344
57344
57344
57344
57600
57600
57600
57600
57600
57600
57600
57600
57600
57600
57600
57600
57600
57600
57600
57856
57856
57856
57856
57856
57856
57856
57856
57856
57856
57856
57856
57856
57856
57856
58112
58112
58112
58112
58112
58112
58112
58112
58112
58112
58112
58112
58112
58112
58112
58112
58368
58368
58368
58368
58368
58368
58368
58368
58368
58368
58368
58368
58368
58368
58368
58368
58624
58624
58624
58624
58624
58624
58624
58624
58624
58624
58624
58624
58624
58624
58624
58624
58624
58880
58880
58880
58880
58880
58880
58880
58880
58880
58880
58880
58880
58880
58880
58880
58880
59136
59136
59136
59136
59136
59136
59136
59136
59136
59136
59136
59136
59136
59136
59136
59136
59136
59392
59392
59392
59392
59392
59392
59392
59392
59392
59392
59392
59392
59392
59392
59392
59392
59392
59392
59648
59648
59648
59648
59648
59648
59648
59648
59648
59648
59648
59648
59648
59648
59648
59648
59648
59648
59904
59904
59904
59904
59904
59904
59904
59904
59904
59904
59904
59904
59904
59904
59904
59904
59904
59904
59904
60160
60160
60160
60160
60160
60160
60160
60160
60160
60160
60160
60160
60160
60160
60160
60160
60160
60160
60160
60416
60416
60416
60416
60416
60416
60416
60416
60416
60416
60416
60416
60416
60416
60416
60416
60416
60416
60416
60672
60672
60672
60672
60672
60672
60672
60672
60672
60672
60672
60672
60672
60672
60672
60672
60672
60672
60672
60672
60672
60928
60928
60928
60928
60928
60928
60928
60928
60928
60928
60928
60928
60928
60928
60928
60928
60928
60928
60928
60928
61184
61184
61184
61184
61184
61184
61184
61184
61184
61184
61184
61184
61184
61184
61184
61184
61184
61184
61184
61184
61184
61184
61440
61440
61440
61440
61440
61440
61440
61440
61440
61440
61440
61440
61440
61440
61440
61440
61440
61440
61440
61440
61440
61440
61696
61696
61696
61696
61696
61696
61696
61696
61696
61696
61696
61696
61696
61696
61696
61696
61696
61696
61696
61696
61696
61696
61696
61696
61952
61952
61952
61952
61952
61952
61952
61952
61952
61952
61952
61952
61952
61952
61952
61952
61952
61952
61952
61952
61952
61952
61952
61952
62208
62208
62208
62208
62208
62208
62208
62208
62208
62208
62208
62208
62208
62208
62208
62208
62208
62208
62208
62208
62208
62208
62208
62208
62208
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62464
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62720
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
62976
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63232
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63488
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
63744
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64000
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64256
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64512
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
64768
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65024
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280
65280