-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path1330_ReverseSubArray.py
More file actions
454 lines (442 loc) · 47.8 KB
/
Copy path1330_ReverseSubArray.py
File metadata and controls
454 lines (442 loc) · 47.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
"""
You are given an integer array nums. The value of this array is defined as the sum of |nums[i]-nums[i+1]| for all
0 <= i < nums.length-1.
You are allowed to select any sub array of the given array and reverse it. You can perform this operation only once.
Find maximum possible value of the final array.
"""
from typing import List
def max_value_after_reverse(nums: List[int]) -> int:
"""
:param nums: 1 <= len(nums) <= 30000 and -100000 <= nums[i] <= 100000
"""
maxi, mini = -100000, 100000
delta = 0
first_num, last_num = nums[0], nums[-1]
accumulator = 0 # sum(abs(a - b) for a, b in zip(nums, nums[1:]))
for a, b in zip(nums, nums[1:]): # consecutive pairs
abs_diff_consecutive = abs(a - b)
accumulator += abs_diff_consecutive
"""
..., a, b, ..., c, d, ... -> ..., a, c, ..., b, d, ...
switching b, ..., c will only changes |a - b| + |c - d| to |a - c| + |b - d|
only make sense to switch when
(1) a, b < c, d increases return value by 2 * (min(c, d) - max(a, b))
(2) a, b > c, d increases return value by 2 * (min(a, b) - max(c, d))
"""
maxi = max(min(a, b), maxi) # maximize(min(c,d))
mini = min(max(a, b), mini) # minimize(max(a,b))
"""
Special Case:
# flip from beginning: c, ...., a, b, .... -> a, ..., c, b, ...
# flip from end: ..., a, b, ..., c -> ..., a, c, ..., b
# solving the boundary situation
"""
flip_from_bgn = - abs_diff_consecutive + abs(first_num - b)
flip_from_end = - abs_diff_consecutive + abs(last_num - a)
delta = max(flip_from_bgn, flip_from_end, delta)
delta = max(delta, (maxi - mini) * 2)
return accumulator + delta
test_cases = [([2, 3, 1, 5, 4], 10),
([2, 4, 9, 24, 2, 1, 10], 68),
([3302, -28325, -78073, 15563, -10370, 51278, -70505, 11819, -32454, -21906, -13428, -28261, -73895,
86209, -65531, -15667, 34497, 62629, -94363, -59353, -6465, 12963, -87255, 69022, 34472, 38304, 90497,
-44069, -36829, -58790, 11521, 55936, -45051, 21052, 22300, 64039, 76458, 78652, -67992, -42677, -3544,
-26826, -70854, 60437, 30267, -74882, -37609, 7550, 25585, -95052, 41662, 31522, -5775, 6310, 32817,
71861, -93703, 21348, 99520, -43325, -71, -25615, -88141, -63910, 13392, 45754, 95500, -24636, 73554,
53228, -32102, -86834, -22099, 79793, -88078, 59317, -25470, 22408, -28639, 71067, -36286, 54058,
-93083, 6298, -28197, -98785, -70092, -39757, 42355, -66720, 13415, 39585, -80176, -54345, -7264,
-81133, -31923, 76437, 55129, 34291, 89098, 79490, -76104, 86570, 79092, -76754, 15371, 78702, -22864,
86772, 51428, -37326, 85523, 19604, 98513, 72000, -97626, 14377, 10474, -89230, 25817, -15003, -16732,
-19643, -37394, -57045, 53795, -21430, 81605, 11760, -23490, -3777, -41662, 35780, -56921, -406, -92104,
34820, -95702, -41984, -97106, -76483, -91208, -47564, -40665, 70791, -11220, -40899, -90211, -79772,
-20447, 13646, -98766, -15326, 49069, -55470, -8888, 44846, -71349, -98112, 99866, -69596, 61000, 9386,
-37164, -55661, 79245, 20390, 11712, -33717, 42442, 185, -17333, 76806, 54245, -98151, -35773, 97127,
68355, 51749, -33458, 13259, 95478, 488, -761, -38104, 53697, 60176, 90405, 77759, -42262, -72600,
20302, -87698, 26042, -25822, 33347, -56720, 85753, -87367, -90735, 61872, -86511, 90628, -86799,
-19749, -32547, 67108, -54547, 12845, -1297, 14569, -38795, 92933, -91292, 99474, -38429, 7660, -39081,
32001, 25869, -47193, -89279, 38067, 9567, 44298, -64057, -73898, 34947, -37224, 84878, -46568, 46693,
-70609, 57706, -77738, -77892, -76310, 13243, -68918, -34776, -33084, -74368, 89260, 36481, -88631,
-91943, 79597, -2927, -75480, -80855, 63473, 82461, 89908, 27598, -67743, 3344, -69021, 34471, -46464,
-51276, 59598, 65171, 12188, -48696, 63746, 60587, 74350, -41149, -35849, -87378, -11611, 90230, 32407,
-91573, 12355, 40552, 11718, 91164, -88691, -4013, -84500, -56335, 74720, 24054, 6503, -41356, -89445,
-97553, -75699, 55592, -57311, -28700, -83820, 97723, -92122, -76905, 77874, -73491, 48976, 12739,
-85583, -33862, -17683, 11130, -74160, 25806, -34238, 4317, 92109, 84682, 13461, 41471, 61071, 55870,
-90360, 62465, 21878, -72478, 64456, -8622, -70661, 36783, 58115, -96055, 28133, -88897, -17381, -82099,
-67319, 88221, 50536, 86785, -75827, -20766, -18797, 36219, 373, -88050, -19482, -91607, 34120, -23850,
43677, 10902, 68605, -36454, -60953, -83654, 95289, -59030, 5313, 97050, 98858, -31839, -21288, -14231,
63194, -55355, -73866, 96997, -72330, 70763, -98143, -3899, 2754, 18437, -99362, -48643, 2776, -37700,
-93764, 30118, -38450, 7146, -45461, -49297, -69396, -66069, 30076, 64036, -79173, -39553, -23699,
53829, 41771, -16853, -99872, -41974, 91699, 37629, -62124, 21700, 67648, -77385, 23134, 28490, -89930,
35558, -80456, 97091, 25175, 17565, -65181, -9836, 69852, -61996, -37499, 45187, -15600, -62460, 68349,
-87589, -7022, -45111, -47817, -55773, 61653, -60888, -50069, 46420, -42090, -12639, -14071, -46307,
27879, 3081, -75616, 64662, -75609, 87784, -6012, -99441, 15642, 88333, -66485, -8066, 8927, -10582,
-93581, 46110, -71726, 97193, 80418, 4264, 21554, -97379, 55391, -53463, -38377, -54031, 68483, -76414,
66925, 73133, 70446, 53584, 40907, -61661, 17881, 92856, -50125, -98441, 96484, -70423, -57799, 32430,
-60058, 11177, -5635, -3320, 1983, -46805, 86912, -5666, -87103, 84691, -53245, -97670, 73813, 4495,
-92766, 14429, -12159, 25934, 82686, 78345, 57261, -58833, -51332, 90698, 20069, -89158, 16204, 21431,
-88002, 24995, -36834, 78728, 81064], 36905420),
([56139, 92238, 96702, -30380, 35230, -69269, 22881, -24033, 51096, 48661, 29460, -57015, 94820, 24443,
-86951, 71444, 86560, 80904, -21871, -14729, 17865, -47083, -37676, 17492, 44605, 13775, 39462, 86234,
73058, 92332, 68696, 79682, -21136, 56985, -10125, 12610, -21498, 41835, -67440, 14251, 13220, -53037,
-58263, -70875, -3493, -4934, -65269, 88987, -28431, -55427, -34608, -94904, 17869, -27755, 68398,
44652, -38476, 12252, -61993, -15140, 77774, 72649, -37505, -95041, 53433, 53350, 30222, 77195, -30395,
85968, 28864, -1679, -10444, -53772, 3803, 9548, 75034, -91367, 32701, -30551, 72761, 52330, 31213,
73074, -88435, -83117, 21926, 90474, -23308, -86887, 49573, -13846, 17512, -24064, 90248, 2165, -91392,
-54961, -94123, 35256, -17461, -72894, 98243, 92072, -52369, -95839, -81053, 82336, -25433, 43437,
-28193, 65937, 86072, 47130, 87757, -15501, 26605, 3909, 4599, 43994, 40793, -4966, -77658, -28234,
-8426, 89921, -18852, 28235, 5875, -15701, 98952, 45459, 60671, 62012, 36266, -81059, 57008, -26373,
12773, -78790, 86444, -7773, 7131, 79695, -98466, 89813, 60359, -75699, 76228, 25473, -65860, 24964,
84083, 63158, -7558, -26452, 60038, 52596, 5887, 21475, 36639, -84185, -45419, -40159, 81624, -74652,
44933, -5955, -62247, -30112, 38469, -31431, -19717, 52561, 56111, 22166, -79961, 82190, 92310, -13230,
-86874, 99655, -40334, 65924, 14568, 66578, -96810, -43130, -7618, 41009, -80561, 95847, -48780, 53261,
-60250, 34393, -88946, -60403, -2303, 43504, -63556, 35477, 85007, 21120, -61813, 72396, 31409, 36351,
62625, -81386, 87570, -54430, -46332, -58310, -52347, 67343, 78898, 40929, 82933, -48407, -92171,
-40785, -60390, 75301, 33916, -61485, 19495, -50198, -46054, 37593, 7487, -31361, 80994, 58644, 49274,
-9836, 70763, 72742, -99172, -77646, 27355, -44434, -91219, -89224, -10121, -30600, 72245, -41158,
-25709, -82766, 55579, 61764, -84175, 30868, -79991, 62536, 66615, 32045, 74912, -76775, -26313, 72413,
-29037, -5184, -73560, 39433, 35814, 62569, -38683, 19764, -26975, 47306, 39105, 66813, -50104, 45722,
86029, 38853, 48835, -41283, -11221, 87552, 17054, 58278, 96836, 9567, 7697, 64529, -86444, -37481,
-24819, 2980, 57414, -97259, -10953, -39502, 50120, -88424, -71577, -72896, -44243, 78022, -51266,
55208, -90991, 13320, -7517, 1898, 78685, -51624, -11559, 72349, 77091, 79064, 58549, 47972, -68266,
-98863, -43768, 48465, 69050, -5938, -3965, 97014, 43260, 8008, 65235, 58020, 44317, -7354, 41331,
-7504, -11080, 56349, -19244, 25414, -21161, 45250, -83145, 34769, 49883, 54929, -26205, -25162, -72780,
-41756, 33809, 8510, -57270, 43272, 40260, 18874, 28323, 35062, 34686, -27444, -54233, -85533, -84330,
26641, -78199, -4469, -66842, -98602, 81513, 60037, -50958, -78225, 36487, -12045, 19008, -96799, 50358,
-40188, 21302, 52522, -45157, 76215, -74829, 1255, -99222, 70850, -63310, -94072, -52081, -19660,
-79013, 76706, 68267, 71303, 41265, -80281, 44052, -43592, 68796, 55013, -59182, -80709, 1877, -16876,
-99327, -66548, 89727, -35760, -29491, -33401, -25423, -45015, -88544, -17660, 19418, 23016, 43839,
-55567, -99832, 76036, 6599, -85743, -15933, 8957, 72802, 19300, 76069, 29875, -16066, -43365, -78836,
-19689, -48631, 85762, -67773, -98229, 29817, -54468, 5963, 11828, -47294, 51161, 9480, -8071, 67660,
-7731, 55048, -33419, 33807, 58865, 13624, 30532, 927, -73242, 78865, 22932, -48120, -19313, 59049,
30992, -80320, 48846, -78346, 49589, -30010, -98419, -70992, 76532, 71144, 2014, -80339, -76584, 71151,
14587, 66095, 50336, -53405, 94287, -36366, -39081, -82490, -23337, 8822, 91310, -58532, 62566, -78137,
-56798, -83502, -58205, -9709, 90301, 70421, -44124, -73470, -96635, -58281, 38316, -86652, -91952,
-4801, 89163, 96367, 25342, 68960, -92006, 1422, -42292, -87711, -36017, 99949, 22555, 68961, 95585,
-34008, 33768, -34019, -85968, 49402, -1877, 9300, -81483, 19564, 22457, -29923, -61446, 90603, 52838,
-61034, 99444, -96301, -75618, 88391, 97266, 71909, -19958, -80670, 25985, 15044, 75958, 56375, -12621,
38494, -36395, -59163, -71786, 28806, 21733, 18310, -89574, 61407, -23559, -97773, -68384, -53765,
-62969, 13721, 26300, -74780, -20010, 17655, -85935, -24971, 50858, 56619, 20439, -43020, 74404, -87153,
-33993, 207, 1931, -26739, -62391, -60507, 89717, -39124, -71953, -9258, 65399, -49869, -98116, 57224,
19913, 16236, 71828, 99176, -15032, -22884, -49529, -84774, 27304, -17643, -85937, 63182, -67521, 69911,
9260, -47591, -51965, -81480, -67130, -25239, -51807, 51299, -24881, 14893, -95259, 51889, 53346, 4573,
53857, 81148, -57945, -43821, -54101, 83250, 99684, 34600, 36292, 82192, -69807, -54025, -24791, 35877,
-48752, -68934, -59693, 20808, -93272, -79145, -1288, -89326, -26589, -17346, -71306, 69161, 70711,
35010, 96350, -8058, 15513, -21162, -45222, -46292, -9496, -40942, 18204, -81148, -44675, 98582, 59578,
68725, -48034, -77479, -52945, -37079, 92122, 21682, 49033, 50483, 35468, -59980, -35864, -92592, 1048,
-17291, -27251, -96943, -64264, 19585, 13954, -71314, -82858, 60900, -58906, 1009, -35896, -97931,
22984, -96492, -86422, 69393, -24804, -48513, 15223, 32680, 27936, 61874, -75169, -84993, -50240,
-30771, 8767, 26279, -32505, -4421, 46668, -22937, -23183, -42884, 54727, 78482, -4426, -64207, 91489,
-90551, 18029, -463, -882, -81985, 46733, -81041, 14626, 36275, 44215, 7215, 16270, 24601, 51307, 92557,
-72065, 21323, 33941, -39042, 48179, 6506, 93307, -82638, -285, -7207, -28805, -45860, -73996, -31669,
-2459, -40351, 59982, 28867, 34571, -95657, 24327, 98708, -24044, -54141, -52177, -2286, -31936, 49449,
52141, 99481, 40573, -4102, 8234, -44824, -96383, -20707, 37522, -13002, -31625, 37269, -7027, -69310,
-39515, 19036, -12009, 8048, 45474, 77130, 55658, -84514, 27830, 90849, 76904, 691, 57813, -2692, -94,
-3067, 75799, -52526, 67798, -99973, 61479, -44475, 77306, 61311, -29127, 6356, -27899, 83235, 88581,
39661, 23484, -43814, -47523, 75879, 84557, -91763, -97604, 13873, -7472, 1076, 86918, -9873, 91183,
21733, 48291, -67806, 3840, 86471, -37868, 85495, -78937, -20873, 68204, -40913, 76143, -57734, -78617,
2212, 96743, -80310, 46669, -99157, -96014, -13092, -91207, 12116, 74176, 48052, -79128, 90563, -63390,
95029, -79758, -55597, 29265, -95623, -65653, 88693, 77737, -31740, -30566, 76690, -94404, 81443, 50020,
-15352, 64807, -95946, 7803, -13209, -69020, -97654, 26915, -30852, 55415, 31313, -66769, -24321, 38276,
18593, 8646, -97014, -6818, 39610, 17341, -78699, 15920, 63582, -14957, -55610, -22714, -39869, -79035,
85136, 88186, -50476, -62257, -66720, -77749, -78876, -72359, -71500, -83005, -10863, 48294, -24292,
36514, -80204, 49169, 2838, 90519, -80812, 54497, -9927, -56426, -57306, 73161, -64917, -28382, 28777,
-15295, -78150, -4993, -35129, 87978, -55573, 31384, -32174, 89078, -65865, 42134, -8958, 90713, 24820,
49232, -87244, 71941, -5609, -67909, -83189, -87571, -91941, -28730, 80300, 92369, 12355, 58690, 85771,
-57670, -11641, 21926, -85135, -79986, -55964, -43692, 27456, -25359, -73328, 97547, 83921, 41123,
-32333, -62463, 68726, -57731, 15368, -46322, 39681, 18078, -62278, 84454, 86633, -69715, 84311, 73077,
-92481, 79682, -31278, -50836, 22799, 3282, 62399, 65577, 36348, 65379, -5664, 75689, -62017, 67690,
-52644, -55111, -61895, -50660, 21600, -29881, 16838, 49417, -49278, -22026, -90723, 26588, 85166,
31908, 75304, -64135, 92130, 51081, 54869, -74256, -20522, 86607, -27006, -75828, -38332, -43848,
-53622, 80173, 91378, -33522, -709, -10177, 97279, 23490, 26353, 34057, 24227, 56701, -40461, 46740,
78011, -12814, 43570, 25981, 17226, 70798, -23381, -16509, -37245, -45960, -9442, 22166, -46292, -78758,
19366, 45720, 17906, 98431, 83792, 76339, 63712, -46739, -69550, 27211, -96904, -9589, 29645, -92075,
9557, -24151, 4576, 72853, 82423, -36711, -14400, 97779, -31558, 88725, -52432, 52443, 9541, -21738,
-73694, -85838, 37195, 66315, -90259, -43952, 52706, -82158, -61555, 75036, -42058, 34683, 74881,
-82763, -45752, -1382, 51563, 61350, 67520, 48121, -26098, 54912, 20652, -62555, -21576, -48129, 6932,
-65840, -28469, -94110, -11543, 34809, -29893, 15139, -3703, 43611, -76067, -72446, 16592, -98603,
-26582, -47033, -50059, -95648, 40840, 88130, -73994, -71976, 87577, 35851, 90849, -97590, 31663,
-65045, -29857, -64339, 32495, -19427, -35209, 65262, 59692, -73431, 93083, -72481, -60046, 19129,
56090, 85813, -3362, -50845, -6342, 68454, 24659, -23551, 47074, -42378, 96925, 65303, -51936, -11940,
-43958, 89205, 44579, 17341, -64037, -82736, 52827, -52181, -13460, 53860, -15228, -1546, -83989,
-18247, 28311, -89428, -35658, 90204, -41972, 10965, -32488, -92542, 81041, 53860, -43099, 21372, -6404,
-37363, -66078, 11337, -12578, 32626, 23523, 81323, 75638, 50012, -87251, -46587, -51423, 84271, 95420,
-28923, -20760, 14686, 12739, 21570, -9674, -78504, 82406, 33267, -47471, -23383, 83031, 78182, -78941,
-3881, -43645, 54105, 65499, 12837, 58387, 70124, -65558, 70854, 44669, -12278, -81735, 18679, -2827,
-7, -95794, -92704, -46133, -84275, -56940, 31832, 52259, 48116, 92339, 69549, -91197, 3392, -30750,
-5246, 48490, 63476, -53753, 91294, -63416, 46553, 52003, 73266, -13261, 37942, -19766, 44992, 92413,
85244, 60082, 69188, 38809, 42018, 66326, 25956, 68987, -63547, -77341, 19237, 48612, -50630, -23055,
36949, -6085, 53801, 33872, 92523, 90459, 52316, -75080, 28228, 89894, -57746, -18438, 16963, -92974,
-37517, 55087, -7345, -83194, -37155, 38650, -93371, 93063, -87486, -68935, -20492, -45874, -57934,
27637, 33446, 45283, 5885, -76072, -93313, 31026, 51324, -55255, -82795, 54048, 42296, -47411, 93206,
-85980, 16362, 98524, 12264, 37825, -38673, -82200, -2451, -94289, -91069, -57454, -82578, -83919,
36917, 60277, 75651, -10248, 6271, 79446, -53291, 87961, -55987, -57775, 38655, -87448, 56363, 42021,
-90520, -38589, -67164, 56811, -22550, 28857, -3112, -21532, 86941, 53116, -44531, -68557, -53286,
32190, -59777, -23336, 92020, -11517, -18923, 28041, -48371, 45825, 72129, 66859, 93216, 39731, 11300,
48665, -10764, -36423, 39804, 75082, 63615, -10721, -6003, 34012, -12313, -97658, -43418, -71101, 15744,
-42822, 27038, -330, 40774, -70273, -75709, 95277, -98684, 33086, 11538, -74997, -25431, 99143, -65650,
-49434, -71233, -42679, -69815, -97693, 29231, 92886, 95821, 45422, 38056, -41054, -96008, -66515,
-73599, -23932, 54104, 95739, 45746, 99765, 89754, 20254, -18387, 51586, 97469, 6216, 36624, 71276,
28360, -84384, 54349, 34622, 29841, -99282, -42920, 56248, 33676, -24517, -10251, 48416, 81697, -93699,
40006, 46707, -53171, 42178, -97148, 28449, 10563, 21293, 4817, 6206, -19458, -10242, -76199, -26470,
68972, 18279, 94110, -28313, 72497, -12133, 46656, 83792, -53227, 31436, 91225, -43083, -34811, 68877,
29276, -84468, 97292, 61041, -95145, 48450, -26635, 42836, 11122, 1986, 64886, 4308, -24271, 63936,
-27100, -36968, -90957, 7694, -29834, 24241, -38607, -17364, 57517, 55752, -87631, 88794, -32753, 97665,
-45266, 81553, 99170, 36795, -69578, -58577, -28956, 74035, 96996, -75563, 30159, -33007, -67313,
-97930, 11660, 9552, -98591, 15939, 61788, 92570, -32390, -77213, 95966, -563, -10823, 23326, 10180,
-49405, 28837, 88795, 51248, 30856, -19264, -88002, -83370, -11128, -41631, -97808, 45161, 98831, 6437,
2467, 75577, 89330, 44659, -52320, -16724, 84617, 19358, -11479, -62897, 71915, 81754, 42121, -52637,
88283, 14247, -16932, -39731, 28282, 62243, 84844, -42422, 5083, -40116, -62555, 4034, 64096, 20139,
-26873, 58385, 99993, 62522, 38005, 80698, -93130, -52261, 19957, 23706, -15147, -19305, -71651, -26138,
-77245, -64215, -31092, 91921, 3764, 94261, -82022, 17485, 27053, -15668, 71382, 97505, 76353, 83406,
-89233, -77450, 85389, 72148, -22992, -96923, -35785, 88541, 23357, 75195, 75683, 15139, -63895, -56846,
-50651, 55121, 62833, -74422, 34688, -36188, -42342, 54545, 77147, 30897, -15597, -89483, 51710, -85581,
75133, 34861, 51143, -83542, -20889, 4341, 69787, 7917, -59237, -50399, -72231, -19829, -14528, -7805,
93448, -67609, 22380, 99131, -82375, -29381, 5655, 19864, 44000, 38512, -79319, 39534, 62929, -72802,
35753, -2548, -31079, 24108, 47945, -4925, -79713, -27275, 97470, 27841, 83594, 81663, -98758, 97693,
-85201, 49768, -86552, -1923, 77961, 26414, 21356, 28599, -45481, -33250, 78563, -51799, 16280, -19715,
95417, -66233, -39972, -83917, 33139, -12418, 8518, -12377, -92934, 44527, 29022, 28671, 55207, 92356,
-92168, -3894, 15218, -53524, 29876, -37104, -28854, -6801, 70512, -12787, 28787, -66552, -15345, 83917,
92209, 46147, 29192, 48710, -28866, 26056, 72981, 64861, 64892, -78403, 9217, 16978, 72401, 23271,
-96767, -81613, 79019, -87530, -43247, 23785, -1278, 5585, 49192, -22118, 94871, -92171, 11446, 84549,
-97857, -35641, -70817, 33239, -37474, -71085, -63289, -63334, 17404, 41585, 18317, -37437, 21353,
-25264, 31104, 89716, -39189, 2949, 80734, -69056, 91851, -99307, 88391, -16974, 74839, 3820, 67376,
-85852, -53895, 11424, -11777, -7949, 64934, -93116, -40576, 23112, 8796, 81240, 21321, 59125, 96214,
-53746, 95984, 17389, 24467, -571, -98422, 718, -70906, -98937, -88801, -87546, 53557, 97592, 96361,
-37714, -53288, 4571, -6243, 66805, -63447, 70297, -94147, 50234, 32245, -28122, 76695, 77436, -77566,
58575, 13404, -58559, -5099, -20920, -93680, -83719, -72442, -51087, -25383, 11684, 1501, -9611, -67000,
-19879, -54947, -76760, -58046, 11574, 22257, 11904, -23781, 14792, -3748, 67256, 10984, -99314, -78598,
-52797, -77311, 57058, -7386, 83928, -71377, 72313, -82076, 11890, 72228, 56341, 87053, 15525, 73566,
21338, -47711, 470, 33281, 52383, 3014, 97293, -97834, 24016, 97865, -28887, 87646, -53526, -36560,
70674, 33523, 2166, 61141, 51473, -78644, -48781, -5141, 33744, -43902, 36799, -88992, -68481, 5, 56444,
-55538, 65462, -12135, -39281, 6491, 94674, -27209, 24313, 50288, -38099, 11624, -54718, -74729, 6850,
43117, 56879, 97828, 2949, -40313, -50262, 90462, -3726, -60330, 61411, 34742, -49001, -83583, -37620,
55818, -34701, -38348, -67323, 43627, 26752, -51149, 78392, -55695, 11396, 16199, -73964, 91781, 99313,
38267, -68047, -9554, -58129, 43863, -63004, -50646, -56525, 12692, 79201, -1782, 37974, 69800, -71983,
18502, 65422, 62810, -64898, 78687, 76051, 56955, 24317, 13363, -92731, -18463, 12609, -22787, -8885,
-36272, -28982, 44296, -90781, 9992, 13160, -17829, 86102, 56604, 27054, 38766, -98575, 52487, -60771,
10089, -30694, 67447, 46966, -44223, 9308, -6374, -79423, -89927, -57742, -55827, -44313, -41522,
-66521, -38594, 9915, -30294, 95925, 94885, -21532, 36292, 802, -83066, 17993, 84392, -65396, -72641,
-78734, 91117, -6551, -17557, -80791, -10652, 45992, 77492, -38317, -67174, 46284, 79149, 84818, 17729,
334, -83080, 97190, -85888, 21544, 18220, 74214, 69134, 35153, -38934, -41386, -33331, -94641, 63023,
-47074, -44460, 18775, -30657, 31556, 19649, -50551, 93620, 88407, -8432, 85407, 1644, -1620, -74996,
-1485, 96253, -26354, -90439, -95133, -8239, 76265, -18232, 1447, 57516, 36510, -44414, 28669, -50529,
92109, 33515, 39645, -63215, -43423, -81112, 12551, 14678, 14181, -29185, 44673, -21874, -96058, 70198,
38793, 8271, -56776, 52017, 86334, -56642, -9775, 87980, -53326, 35721, -79350, 28178, -17752, 3163,
-19224, 25487, 66740, 96830, -41998, 57977, 69183, -51908, 2812, -36486, -17011, 5059, -3358, -54934,
54229, -72822, 26448, 5259, -97895, -24387, 10379, 76739, -18762, -27813, -3078, -22817, 66612, 10214,
-59022, 86634, -30679, -20042, -58712, 72051, -16927, -43637, -66516, -63090, -39671, -36465, 25571,
-51694, 91130, 32868, -7088, -3174, -33778, -63851, -97964, -83515, 89417, 69892, -40402, 83725, -96337,
20035, 75499, -81575, -62744, -39740, -12351, 30099, 39605, -26387, 63015, -51125, 37092, -53395, 14198,
-42600, -71955, -10516, -23936, 51651, -56519, -74452, -51098, 6277, 39240, 85910, 51299, -64991, 55241,
-66878, -82889, -76415, -23350, -5210, -4495, 13357, 66578, -87104, 29986, 56099, 42186, 77751, 47827,
-94083, 79769, -64656, -37918, -22412, 21444, 8991, -28239, -59838, -45814, -813, 74086, 58493, -90559,
-92503, -82007, -54946, -81053, -86085, 21091, -90531, 12605, 90112, 81352, 92925, -78852, -74861,
-92114, -46227, 13288, -49613, 12149, -77071, -7101, 30965, -61597, 92810, -32482, 82334, -53147,
-36329, 7485, 93298, -90911, -36715, -41792, -42406, 19091, 84835, -67768, 7862, 14010, 23279, 60893,
79601, 82123, -95003, -20907, 12931, 70937, -20213, 84286, 56093, -9388, -96006, 67540, -93518, -53600,
86878, -98184, 88455, 39642, 95439, -12366, 97717, 55429, 95138, 56237, -61673, -54683, 49134, -34073,
-29953, 30534, -21112, -42070, -91524, 15100, 75374, -1058, -52239, -30871, 6018, -46145, 34107, -87113,
-62333, -5320, 65133, 66055, -82001, 58573, -98082, -29115, -71325, 81546, 16904, 76012, 30547, 47676,
-43862, 8657, 73372, -63493, 63900, 7564, 69092, -27172, -6711, 64618, 22031, 92219, 40469, 37430,
-63908, 24687, 41308, -20359, -26110, -29629, -29738, -2456, -88360, 31998, -70436, 47449, -57956,
70260, 49858, 94566, 21754, -96030, 13088, 2076, -53208, 15813, 47200, 61223, -46858, -31611, 2416,
-28210, -7383, -51429, -81896, 37896, -54560, -506, -34807, -14738, -24700, -11833, 55213, -2, 59503,
-71156, 34256, -91573, -30544, 8699, 67681, -43544, 78702, -85179, 51469, -243, -5587, -95308, 53602,
14089, -31198, 97190, -27647, -847, 87432, -6532, -68227, 82466, 1151, 64419, 62431, 96142, -24746,
-39666, -79168, 85832, 14002, -31886, 25248, 58812, -86514, 50071, -40820, -39491, 38380, -92404,
-20759, -13501, -82589, -40813, 10749, -88813, 68156, -84963, -51552, -3195, -33698, -49593, -4525,
-13213, 64681, -86714, -97186, 82817, 56275, 67369, -82593, -89363, -57619, 80754, -5213, -39609,
-61027, 45372, -70498, -1698, -47933, -12793, -53534, 17375, 71054, 54395, 23763, -16883, 30354, 91898,
89060, -7010, -39554, -75788, 80491, 5718, 54686, 19046, 68499, -38004, 37060, 28621, 59958, -76295,
55602, -22443, 47124, -37078, -6115, -11383, 37713, 28896, -68573, -94400, 38192, -21714, -15428,
-75795, -98532, 20, -84366, 47371, -62256, 77869, -33088, 74712, -60887, -24054, 48949, -21142, 62229,
53733, -59559, 77134, 33880, -62804, 71731, 77921, 76065, 16771, 32988, -18631, -52822, -18027, 32662,
-47190, 5795, 60187, -70407, -49106, 86333, 36220, 9727, 98317, -7230, -18697, -83294, 70647, -88686,
-15078, 75149, 50420, 54895, 2186, 15680, 69357, -93134, -6103, -20172, -14979, 20895, -29248, -74946,
17081, 70358, -56626, 7834, -47134, 72033, 1670, -94530, -36287, -1004, 70189, -5470, -26828, -78317,
69771, -42872, -80908, -71102, 30403, -9866, 80049, -79958, 34376, 78012, 72009, -14067, 12013, 32280,
57258, 83843, 9931, -30057, -75693, 72452, -80928, 38731, 7677, -35866, 66776, 20254, -95734, -43001,
-44664, 79729, -83474, -2642, -77261, 80400, 9682, 16421, 51679, 5495, -81492, -38245, -9426, 40080,
67219, 83258, -11828, -72018, 20590, -99282, 50786, -23266, 18620, 88628, -37431, -13968, 35612, -10462,
-98108, 14206, 26197, -98499, -18045, 1906, -85983, -70151, 18554, 96012, 90428, 25215, -37816, -99361,
-9284, 1273, -81879, -401, -79714, 59446, 63611, -83481, 6430, 65551, 93917, -32214, 87281, 72444,
-83985, -15106, -33662, 21290, -73703, -53911, -99043, -89979, -81080, 28301, -13577, 39259, 28437,
-41333, -29101, -86033, 96866, -77592, 18088, -19231, 46307, -75708, 73660, -65169, -42000, 71811,
44973, 58410, -5358, 32564, -22589, 43065, -91477, 93541, 69603, 90456, 76408, 1083, -17141, 47022,
-77480, -67664, 69872, -45552, -26439, -88886, -2508, -91065, -16142, 841, 88870, 48149, 9822, -69936,
-97657, 46120, -92614, 57155, -6128, -21422, -2538, 88842, -43878, 16057, 38061, 34935, 63315, 33308,
-56525, 44890, -64930, 58136, 75325, 54686, -73280, 17415, 54365, 82629, -59979, 10025, 38914, -67210,
-75698, -73487, -90292, -16530, 6014, 46659, 43964, 11212, 39984, -42785, 16595, -89113, -10543, 45281,
81727, 79655, -6571, -22904, 40918, 89424, 4796, -91538, 89117, 55877, -48608, -49469, -54809, -33826,
56802, -13005, -4911, -47575, 74325, -55640, -59231, 82328, 29786, -25422, -45481, -51266, -20279,
34286, 40460, 38164, 97498, 45770, -53592, -32578, 74774, 10607, 16746, 34192, 78199, 89699, 19066,
4062, 87233, 82243, 75096, 22637, 87162, -95174, 76788, 85409, -71478, 99039, 23638, -95143, 80201,
29061, -78986, -83106, 89472, 74259, -50512, 48467, -45322, 92787, 89850, 69817, 93636, -23537, 25135,
-54612, -49999, -95034, 44889, 88053, -86979, -69215, -70538, 19508, 41811, 49657, 78787, -70917, 41253,
62528, 90003, 44793, 68165, -45133, 29448, -86808, -83602, 5034, 25772, 84326, 4721, 91562, -15423,
56685, -56697, -90281, -14514, 49394, 50044, 67210, -24782, -75834, 36587, -86989, -87100, 82394, 16662,
-98948, -61489, -77800, 61420, -63078, -38848, -56128, -66723, 56381, 60308, 48650, 24605, 16397, 68350,
-7992, -50323, -66023, -83465, 70198, 68991, -48280, -31535, -83639, 58856, -73170, 19244, -73259,
-16740, 86396, 30672, -12362, 4090, 58777, -73711, -6412, -87665, 53326, 85823, -43862, -44823, -62823,
-84593, 19521, -29274, 42521, 58270, -75300, -69370, 83284, -31067, 3330, -40594, 76791, -48908, -4918,
57320, 76156, 62508, 81651, -72243, -62640, -79675, -64882, -15080, -22290, 73847, 37838, -96900,
-10599, -93620, -36275, 16026, -99171, 3991, 40972, 72317, 40781, -27808, -85815, -98145, 50538, 89466,
-40511, -69458, -77791, 80954, 38039, 66901, 57310, -19200, 20464, -25405, -44636, 20472, -65674, 12375,
-26426, -92398, 13370, 72846, 61351, 66938, -13873, -31172, -67579, 35997, 47875, 363, -11035, 64248,
-94930, 44440, 21034, 97998, 93723, 45644, 11640, 86282, 42342, 3015, -87914, -62287, -38083, 43508,
88045, 30724, -23946, 61220, 71880, 41138, -92922, -29715, 161, 33410, 26237, -7690, 91270, 813, -32732,
14524, 1252, 94186, -75790, -57940, 39870, -59283, -74709, 92212, -52992, 49494, -33849, 64581, -73016,
9605, -89990, 33049, 76940, 86098, 30761, 11066, 47151, 92530, 26921, 19985, 28827, 29618, -89958,
-14468, -40014, -56662, 20275, -19424, 51559, -70933, 68889, 9606, -75499, 2950, 63291, 7187, 83496,
30193, -70506, 66213, 46491, 42815, 41612, -16390, -51269, 88749, -13196, -20190, -306, -22473, 60855,
79617, 27469, 54515, 56689, 7812, 6780, 81480, -35743, -2899, 76949, -69266, -51701, 16249, -57885,
67286, -28313, 16684, 95598, 82030, 42527, -7862, -9500, -12694, 13787, 7537, -8547, -8828, -17931,
-21151, 97914, -6897, -25562, -81692, -73455, -54569, -47377, -13484, 11, 32126, -75290, 11490, -29280,
1523, -74229, -72935, 82444, 52619, 13729, -80183, -72259, 13544, 44445, 10782, -51092, -57682, -11254,
-36026, 17776, -46214, 31029, -74104, 48431, 65593, 19195, -51377, 2386, 46295, -55853, 84344, -97321,
-8218, -33602, 35923, 15002, -22245, 35493, -45771, 27115, 76524, -75702, -7881, 99531, 35947, 82058,
99939, 34876, -47293, 75838, 89757, 84651, 77343, -57406, 9435, -36804, -51638, 88653, -48658, -21255,
-94903, -17678, -51566, 61270, -99672, 3610, -4760, 49724, 84290, 94349, 24333, -20912, 28941, 21787,
-43838, 73051, -46814, -83157, -84305, -89356, 36575, -22974, -5009, 15453, -73833, -93499, 98242,
-70543, 65120, 45808, 5448, -1583, -45918, -14088, 91822, 1995, 5246, 37185, 23601, -38603, 33470,
95495, -35404, 30968, -26030, -85131, 20319, -44150, 62301, 30175, -93481, 42126, 80107, 19478, 85964,
34153, 84861, -21602, -16915, -75642, 39129, 64861, -4930, -79630, 83513, 19733, -6661, -39927, -20009,
-91843, 43176, -11755, 41324, 42513, 97084, -64952, -80210, -6353, 47861, 88870, -17109, -19199, 64475,
-77761, 90082, 85130, 79598, -40915, 11728, 12838, -56587, -23861, 93135, 6412, -26810, -49368, -15285,
77975, -97942, -77983, 2324, -29324, -87687, -43045, -58834, 36753, 46424, 39008, 14601, -66370, -33074,
-45721, -13202, -54394, -1754, 94323, -81098, 49384, -59195, -9137, 10528, 65732, 79873, 87564, 12310,
30404, -72717, 33108, -31303, 56400, -35709, 23574, 99123, 33932, 83283, -23147, -85099, 8045, 76372,
80346, -97925, -10151, -74543, -82071, -74494, -28991, 9001, -73255, -48228, -5937, -42886, -25209,
-25673, -20029, 16833, -32572, 65346, 49730, -3787, 4338, -55067, -74963, 47663, -57101, -64954, -92837,
-46016, -29919, 32322, 24510, 92038, 56976, 43551, 93506, -37989, 64842, 675, 24465, -66584, -20865,
-96534, 761, 63817, 83149, 23949, 78482, 2567, 28301, 87190, -79588, 46655, -40465, 84946, -51793,
-93605, -86170, 91177, -83519, -33787, -4094, -35958, 68322, -26444, -80241, 98183, 44878, 70030, 58472,
-12056, -88716, 92745, -77961, -61370, -34889, -14559, 24226, -50189, -6315, 16189, 60311, 66454,
-63807, 71166, 62083, -51333, 96100, 29983, 34104, -66239, 62989, 33969, -41587, 28078, 60100, -71612,
-83917, -81428, 36673, -28442, -15377, 1880, 77752, 65952, 58450, 9036, -19581, 49768, 59373, -38947,
-36404, -1387, -28938, -73387, -64410, -67101, -6250, -75484, 67648, -74242, -45681, 126, 58645, -20448,
-50396, -91547, -43421, -56718, 53849, 11485, -713, 79080, -95975, 89737, 78633, 14078, 66517, -18784,
63407, -14503, -789, -44774, 935, 51150, -71145, -7574, 29507, -47608, 88431, -92142, 33877, 90423,
50975, 3738, 9907, 43791, 43962, 55774, -72809, 80828, -27441, 24319, 29596, -84676, -94860, 3697,
-60348, 49965, 99103, 86028, 31562, -27365, -57348, 83529, 3468, 69157, -11619, -76284, -6151, 32250,
73805, -15442, 71845, -20826, -12602, -61345, -17209, 22549, -15847, -75202, -92936, 11525, -4082,
73675, 17915, -82999, -39126, 47870, -90727, -33553, -67932, -79272, -65331, 14028, -81175, 10828,
-73979, 58205, 55534, -32209, -22446, 83782, -18166, -39556, 44413, -25085, 30681, 62841, 42372, 60183,
-96993, 28636, 80497, 83819, 74591, 89390, -94666, 44755, -28576, 6302, -28475, -8296, 60379, -96563,
66459, 45260, 25827, 9822, -24358, -54112, 70479, 53923, 70287, -84897, -76810, -78157, -60297, 13585,
-92674, 3348, 10577, 30264, 39099, 42900, -7295, 22232, -44029, -19966, -27594, -15552, 55925, 27327,
-27885, 64874, -16467, -12959, 60858, -6207, 65810, 1540, 71203, -15317, 29635, -50689, 69804, 96349,
-82244, -46395, 84440, 64210, -9273, -14726, 18208, -80215, 67294, -26631, -1591, -80963, 57863, -36452,
17012, 87356, -34621, 60833, -35960, 9477, -72789, -65791, -91976, -94456, 20326, 65894, 63499, -76030,
-22916, 1289, 26751, -78456, 15078, 43643, -93261, 78235, 41845, -63876, -14354, -4808, 2730, -3275,
89032, -4207, 29256, -20539, -50644, 75175, 45801, -51078, 68273, 9305, 80013, 70748, -82765, 90477,
89569, 45774, 92050, 90277, -28277, 52239, -59672, -26987, 6088, -33907, -72015, -32159, 51636, -89875,
-42146, 87105, 968, 3501, 99443, -35955, -14875, 29809, 91915, 63115, 96309, 6839, 94698, 69558, -2366,
-95501, 88167, -16600, 20214, -86051, -88254, 15904, 11423, -75765, -8598, -30351, -43743, 53904,
-13350, -94247, 49692, 54387, -70061, -62739, -6720, -76158, -48687, -90662, -44405, 84025, 26804,
45341, 15539, -26142, -32045, -26717, -35384, -82725, -75178, -28256, 49719, 66686, 39662, -41567,
-96535, 99964, -62682, -19747, -81579, -21811, -58426, 77643, 24384, -31587, 77088, 67174, 65311,
-45473, -68296, -14535, -63753, -38347, -71148, -29204, 92405, -79228, 63027, 17824, -9574, -90189,
-66597, -72919, 92683, -8881, -59202, -7844, 53745, 54016, 48715, -77746, 4279, -13911, -95657, -8681,
-27734, 22720, 90926, 21038, -39002, -86678, -28719, 4304, 61526, 10059, 33599, -35358, -51006, -94557,
-54760, 90302, -3500, -41418, 78565, -2945, 78053, -31769, 71450, -39492, -63065, -67213, 42204, 91694,
51397, 88059, 2630, 69975, -41580, -55691, 73461, 23909, 40468, 84376, -86175, 23182, 44072, 17468,
48352, -85238, -82889, -86961, -90568, 87358, -128, -87154, -78170, 80642, 18586, 23433, -82810, 31950,
67053, -23655, -42316, -2695, 4724, -14141, -68223, -71102, 45992, 98166, 74305, -41442, -66933, 47248,
-26388, 97162, 82974, 78858, 56201, -1797, -75137, 99787, 63180, -85769, -49072, -34351, -71779, 20329,
-70545, 65964, 32680, -50465, -77449, -48224, -84171, 70297, -35801, 33556, -27270, 40822, -93325,
37343, 41160, 47063, 81736, 8586, 30834, 71547, -27521, 40072, -48351, 79013, 84790, -59859, 14798,
-38422, -19826, 2470, 43951, -3050, 15515, -84302, 87676, -32810, 41653, -48039, -3764, -19242, -70550,
-33701, -28928, 82688, 22880, 12348, 59689, -80040, 5197, 28667, -11931, 85278, -37831, 67570, 10686,
-92780, 63439, 55578, 52702, 10520, 85790, 39697, 2253, -26795, -8619, -44126, 10237, 40983, 29279,
-95505, -53161, 13470, -47193, -62180, 62370, 63832, -90749, -1490, -91717, 18933, -66145, 34473, 84399,
-68385, -74058, 12481, 5201, -36593, 52512, -429, 42565, -38591, -26926, 16025, -7477, -19090, -58296,
-86041, 72843, 24413, 96647, 71648, 45026, 33406, -5621, 18621, -24136, -60729, -90776, -56052, 9850,
-30954, 55440, 83199, -61510, 75663, 68230, -64593, -2099, -40043, 21336, 76343, -10938, 93018, 86600,
-78178, -33463, 62497, 36763, -23213, 51852, -19348, 85914, 7920, 20129, 49462, -3115, -33163, -55592,
-46299, -30425, 3169, -56949, -40171, 63363, 7086, 97542, -11425, -62390, -6570, 35953, 74457, 40908,
-25679, -74921, 97436, -11215, -9904, 80789, 45694, -66463, -71621, 3457, 62921, 94225, -68062, 62404,
93016, -37872, -86311, 58301, 56618, -66829, 62351, -57772, 89009, 23903, -98768, 16468, 87867, -73671,
-22632, 38678, 33888, 56886, -29877, 54663, -25975, -42223, 66625, -97740, -45021, 99290, 79815, -45351,
82854, 17395, -7393, -23788, 59505, -39177, 99770, -5678, 42904, -57373, -66479, -8704, 54658, 97638,
73680, 63827, 33950, 79999, 87285, 16192, 45132, 11042, 22319, 68252, -48961, -96592, -43119, 37572,
93530, 43143, 13863, 9914, 38497, -57598, 11217, -56859, 87510, -94044, 73888, -60480, -49758, -42084,
-53426, 23355, 15590, -87442, 3072, -46833, -86377, 72553, 72612, -8865, -98911, 59289, 95274, 63121,
83109, 3367, -76804, 61940, 35379, -39870, -78092, -36030, -62494, -33468, 95920, -30690, 64682, 72832,
61268, -57877, -15628, 35929, -64683, -3788, 53538, 50109, 73432, -75819, -81162, 50860, 6130, -35685,
-61015, 99816, -10721, -86835, 10147, -65425, -683, -13983, 81989, -91555, 14442, -90697, 69871, -10361,
-9549, -19041, 13789, -46087, -9038, -45411, -88551, 56693, -13317, -43688, 18751, 30425, -13, 81411,
-10158, -89746, 78729, 7946, -22857, -75677, 14493, -29761, 87806, -39354, 60615, -17241, 14219, 11266,
35777, 16817, 60011, 93722, -4758, 86661, 726, 18714, -58343, -16246, -73048, 60294, -65629, 25893,
-50277, -10734, -42770, 17444, -90918, 81491, 5545, 39837, -59984, 22849, 57094, -66654, 1885, 59224,
30975, -24121, -78978, 50235, -95771, 36276, -62885, 47899, 32493, 56011, -68660, -77936, 11942, -76939,
26441, 26111, -55182, -32812, -90573, -77686, -35888, -53618, 56835, -33084, 30196, 84490, -71953,
39376, 49054, -6819, -10898, -97798, -13847, 27554, -13709, 16213, -68012, 12867, -21774, -47155,
-83952, -67100, 85201, -37123, 15038, -39399, -17493, -74534, -57827, 180, 15484, -75742, 83321, -12895,
46333, -29442, -55001, -8388, -68765, 98954, -11986, 21749, 60643, -95082, -47969, -25443, -9486, 51539,
-85858, -46678, -486, 99208, -92656, 40644, 62382, -56401, 94613, -14164, -7713, -40929, -79004, 92628,
34072, -24735, -78209, -22825, -57788, 11280, 61096, -7921, -16588, -79934, 98255, -37242, -62982,
91225, 62068, 9349, -54322, -97563, 65600, -11779, 56548, -48325, -54273, 32717, -84475, 97511, 20032,
-6744, -44742, -79807, -66183, 54666, -79368, -89061, -73658, -64615, -95844, -3030, -54683, -39929,
89659, 81816, -68660, 88565, -31070, 63998, 60000, 43187, 79515, 49576, -2922, 56553, -88508, 31201,
82572, 89990, -44394, 71236, -80976, -46153, -95748, 79758, -96489, 40980, -31425, 16053, 32448, -54027,
-90885, 38236, -81438, 60237, -79083, 7540, 55767, 55181, -77789, -77506, -52606, -43077, 71102, 19483,
-24662, 51148, 59608, 34916, -17647, 55341, 85259, -65379, -13180, -22080, -83494, -62772, -66675,
-92804, 79719, -34936, -19542, 76758, 95099, -7500, -70712, 2173, 97301, -62969, -48302, 84664, 35358,
-59025, -74734, 72486, 57595, -94401, 85100, -62057, 91892, 72960, 79755, -53356, -39256, 5521, -45848,
-27250, -66992, 2635, 46038, 59419, 47281, 50061, 40816, -88695, -16165, 43944, 12016, 36857, 23956,
8542, -80617, -73177, 12646, 86874, 39214, -1486, -8423, 99577, 89478, -80490, 80258, -24447, 64410,
14462, 73643, 67417, -82712, 21206, 97845, -72723, 22708, -61861, 15528, 82445, 66049, -30065, -74064,
-7072, 80906, 4861, -77041, 41458, 53999, -67914, -83201, -28833, -34647, 24368, 18785, 54640, 147,
14963, -83169, 84030, 15799, 63883, 94944, -49699, -11380, -50651, -97007, -3997, 75617, -88128, 87614,
20339, 17076, 11984, -67495, -15386, 67150, 29136, -27254, 19293, -74464, -3483, 62573, -49019, -79426,
62682, 21535, 47069, 39858, -71690, 14868, 9038, 53836, 80979, 60597, 69281, -46083, 36584, 36451,
-15003, 87871, -8695, -35271, 47545, -8134, 61415, -4635, 25828, 5618, -58018, -49137, -72022, -4767,
-23498, -22548, -43905, 89261, -71211, 95112, -79390, -48562, -32452, 5061, 16547, 18771, 56369, -3236,
-35358, -15664, -49765, -83554, 75252, 39849, -66605, -42675, -81088, 28971, 75341, 97491, 10176, 6687,
93815, 17954, -44605, -29740, -14596, 25842, -80649, -60456, -19385, -92672, -79985, 49831, -57128,
98251, -7066, 28402, -75911, 81994, -35123, 79130, -74098, 60543, -89537, 88065, -89641, -33347, 26163,
30106, -38332, 29274, 29443, -10059, 98888, -88943, -40052, -73219, 6157, -87754, -87724, -69471,
-10731, -69365, -22707, 26672, 76531, 74160, 61635, -93330, -67156, -85064, 67902, -87805, -76848,
25273, 90791, -22394, 96540, -1119, 90763, 88496, -52613, 70048, 91072, 20841, -37513, -42283, 23914,
77423, -10083, 64308, -87997, -13093, -22130, -91325, 30354, -26045, 20863, 31446, -56188, 22487, 95935,
-8468, 33088, -47029, 57592, -88624, -43188, -42445, 34219, 58429, 79071, -64326, 42924, -80404, -19296,
-44722, 33116, -52661, -30515, 13634, -35152, -47812, 33144, -44327, -72344, 68513, 36330, 80917, 20436,
6922, 55347, -22262, 64200, -40531, 74319, -14776, -54156, -90549, 57788, 98079, 27779, 16332, -56452,
-56747, -37811, 88274, -20263, -6047, -27303, -19294, -22349, 11758, 60553, -10605, 33805, 59770,
-76484, -22931, 19335, -22868, 55081, 13473, 31473, -75918, 1242, -42642, 6921, -56396, 41038, -90539,
-7506, 7826, -87997, -79289, 20795, 63302, 54107, -88092, 72615, 88400, -15047, 72944, 10938, -96090,
38838, -14141, 85908, -37534, -54940, 99839, -60686, 47320, -26402, 54722, 92579, -61622, 80515, 42844,
-42417, -8682, 96547, 80091, 80000, -42612, -84431, 27272, 9233, 47233, -29269, -69474, -45347, -56846,
-14242, -10627, -93529, 60870, -48033, -92846, -91918, -42736, 85280, 98775, -32659, 78521, -51782,
14585, 44040, 53544, 85628, 96685, -13657, -46331, -21813, -61877, -51735, 81879, -11145, 79433, -18755,
68922, -35861, -92024, -21030, 35291, 25283, 99909, 59226, 11073, 79052, 44254, 80314, -89489, 21380,
73425, -70975, 12011, -91078, 43648, 60669, -88140, -35851, -98304, -41017, -16960, -17612, -41586,
23887, -11874, 97120, 99299, 12998, 98824, -34814, 86728, 29140, 38916, 83063, 71511, 32735, -6156, 112,
59742, 2801, -31003, -52079, 93780, -71882, 90995, 61475, -62230, 50411, 20150, 87049, -55537, -64833,
-47350, -46874, 51086, -81809, 1585, 10212, -80773, -96844, 8834, -19214, 48682, -86066, 34930, 98847,
-4980, -68922, -47237, -2157, -6606, 62182, -1840, -16334, -50760, -61321, -35922, 38747, -95792,
-10685, -40590, 9793, 22120, 86854, 43464, 9441, 136, 19808, -21579, 81104, 71, 50367, 80785, -30610,
-33741, 84105, 26942, 3766, -92200, 70645, -49091, 68097, -94800, 59786, 4989, 799, 26843, 90968, 79810,
30825, -88864, -2209, -69978, -30747, -32918, -90122, -17850, 71977, 21233, -24065, 91070, 62828, 38092,
45257, 85943, -13769, -46053, -69022, 72430, 67952, 55479, 48184, -75217, 94565, 75474, -8060, -28769,
64147, -49027, -24926, -84980, 82991, -2804, 23800, 74495, 63213, -4178, 4255, 100000, -9615, 94627,
55732, 16546, -81560, 91592, -9710, -36441, 63266, -4390, -26661, 77295, -53568, 12611, 37009, 30288,
58730, -21424, -50070, 65381, 39454, -65920, -60930, 44168, 93056, -6227, 61407, -81885, -25157, 43999,
-52105, -80389, 77711, 47565, 76416, 97296, -44758, 29393, -29515, 79927, 57539, 30951, -2402, -33820,
-25171, 56347, 77291, 70294, -95610, -22426, -48807, 71113, -45548, -3679, -62071, 50207, 99574, -53639,
-86118, 16945, -2759, -49892, 57416, -44581, 20774, 67251, 42617, 550, 13592, -80558, -38222, 11518,
85841, -17378, -88860, -37859, -28597, -58539, 35832, -31452, 38195, -91700, -1437, -7364, 23093,
-95305, 15248, -9148, 67317, -63494, -22299, -26030, -83191, 29787, 61085, -47167, 72951, 97562, -57326,
-67788, 80120, 99729, 17212, -20223, -52466, -20796, 79760, -4351, -62200, 33457, -97498, 76254, -15063,
67190, 20396, 14935, 20795, 7216, -80049, 80545, -92314, -59722, 54429, 17202, 87802, 9150, -23488,
83133, -94169, 1070, 67258, -20290, -92593, 14110, -85978, -63935, 55728, -79037, -43493, 77582, -11941,
95609, 53616, 26860, -76014, 29435, -50092, 83025, 43099, -56123, -86572, -9820, 90047, -9033, 84870,
-28825, 36119, 57004, 48175, -23090, 87370, -83088, 61709, 22624, 21255, -51711, 30934, -27640, 5377,
14858, 81102, 87527, -1339, -60175, 97199, -51891, -46120, -39727, -1753, -15028, -92099, -74917,
-69243, 94730, -80219, -92819, -47641, -2446, -21222, 54248, -17226, -90991, 44099, 5796, -25852, 38227,
49076, -71471, 26473, -83837, 55541, 66859, 18666, -29104, 26776, 42437, 27047, -44111, 99051, -68655,
94643, 43928, 76903, 76562], 329407229),
]
for test_nums, expected_value in test_cases:
assert max_value_after_reverse(test_nums) == expected_value