blob: c66e2bad89d63699300f3ac23f32a92dffd693a9 [file] [log] [blame]
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/// @assertion abstract void sort([int compare(E a, E b)])
/// Sorts the list according to the order specified by the compare function.
/// The compare function must act as a Comparator.
/// The default List implementations use Comparable.compare if compare is omitted.
/// @description Checks sorting integer arrays longer than 511 (512, 513, 1023).
/// @author iefremov
library sort_A01_t05;
import "../../../Utils/expect.dart";
test(List<E> create<E>([int length, E fill])) {
void check(var actual0, var expected) {
List actual = create();
actual.addAll(actual0);
int c(var a, var b) {
return a < b ? -1 : (a == b ? 0 : 1);
}
actual.sort(c);
Expect.listEquals(expected, actual);
}
//length == 512
check([ 13, -15, -05, 15, -04, -24, -04, 17, -13, -13, 18, 02, -05, -04, -22, -22, -23, 12, -16, -23, -12, 07, -10, 05, -03, 02, 22, 21, 13, -04, -23, 01, 08, -02, -07, -19, -01, 15, 24, 11, -21, 19, -10, -01, -10, -06, 04, -08, -17, 16, -04, -04, -02, 14, -22, 22, -09, -23, 20, -18, -02, 23, 10, -16, -04, -21, -10, 22, 21, -09, 10, -25, -15, -25, 01, 00, -04, -18, 20, 06, 23, -09, -22, -03, -18, -17, -06, -01, -14, -10, 08, 11, -12, -07, 20, 11, -03, -12, 08, -05, 04, -07, -05, 15, -05, 21, -08, 17, -21, -11, -02, -21, 06, 03, 01, 13, 14, 21, -11, -25, -12, 22, 13, 03, -09, 11, -11, 15, 24, 24, -14, 03, -08, 08, -05, 12, 07, 15, 06, 13, -21, -18, 17, 12, 10, -06, 03, -01, -08, 17, 01, 07, 17, -10, -15, -15, -24, 01, -23, -23, 00, -10, 07, 19, 24, -20, 06, 06, 20, -10, -06, 24, -03, -12, 14, -16, 07, -08, 09, -24, -16, -13, 08, -22, 02, 20, -12, 05, -04, -09, 09, 23, 06, -08, 17, 05, -03, 01, -12, -06, 16, 09, -07, -10, 23, -18, -01, 07, 01, -15, 11, 11, -02, -06, 14, -23, -08, -20, 10, 15, -04, -06, 14, -23, 13, 08, 10, -15, -16, 23, 04, -23, 10, -25, -08, 10, -16, 19, -08, 11, -21, -22, -01, 04, 00, -12, 07, 19, -05, -08, 09, 16, 13, -02, 21, 02, -16, 06, 14, -07, 06, -06, -02, -07, -04, 17, -22, 05, 11, -04, -09, 18, 01, 15, -03, -22, -19, -21, 22, 01, -02, 07, -05, -11, -18, -09, 16, -09, 24, 05, 12, 07, -24, -15, -24, -03, -23, -19, -22, 16, 04, -04, 09, -19, -11, -19, -14, -03, -12, -16, -25, 13, 18, -05, -21, -23, 13, 20, -04, 14, 03, -17, -03, 06, -05, 00, -21, -01, 06, -16, -08, -12, 07, -24, -06, 21, -15, 05, -07, 00, 16, -04, -10, 11, 16, -05, 14, 07, -08, -15, -04, 20, -05, 20, 02, 17, -03, 08, -07, -21, 17, 11, -08, -01, 14, 13, -02, 24, -05, 18, 01, -11, -11, 17, -25, -17, -13, 14, 15, 04, -24, -14, 02, -02, -16, -19, -08, 06, 14, 11, 12, 06, -01, -19, -18, -12, 19, 05, -10, -08, -01, 16, 06, 15, 10, 06, 23, 24, -02, 13, 06, 01, -23, -17, -23, -14, -09, -06, 17, -20, -18, 07, 13, 08, 13, 22, 22, 10, 05, -11, -23, -21, -18, 10, 21, 18, -07, 20, 19, 16, 08, 00, -05, 12, 10, -03, -25, -24, 18, 18, -17, -22, 02, 21, 11, -10, 19, 10, -25, -01, 24, -21, 05, -18, 14, 03, -23, -17, -02, 21, -24, -16, -03, -02, 21, -16, 22, 22, -14, 16, 17, -06, 21, -06, -07, 09, 11, -11, -05, 12, 15, -04, 16, -03, 05, 08, -25, 07, 16, -01, 04, 19, 08, -22, -07, 06, -13, -10, 05, 00, -17, -03],
[-25, -25, -25, -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -19, -19, -19, -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -17, -17, -17, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -15, -15, -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -09, -09, -09, -09, -09, -09, -09, -09, -09, -08, -08, -08, -08, -08, -08, -08, -08, -08, -08, -08, -08, -08, -08, -08, -07, -07, -07, -07, -07, -07, -07, -07, -07, -07, -07, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -02, -02, -02, -02, -02, -02, -02, -02, -02, -02, -02, -02, -02, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, 00, 00, 00, 00, 00, 00, 00, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 02, 02, 02, 02, 02, 02, 02, 03, 03, 03, 03, 03, 03, 04, 04, 04, 04, 04, 04, 04, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 08, 08, 08, 08, 08, 08, 08, 08, 08, 08, 08, 09, 09, 09, 09, 09, 09, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24]);
check([ 22, -19, 18, -10, 16, 05, 04, -12, -06, -04, 11, -15, 18, -08, 20, 18, -24, 13, -06, 05, 08, -23, 10, -22, 11, -25, -07, -09, 00, 04, 14, -03, 10, 09, 14, 03, -11, -07, 18, 10, 16, 05, 23, 09, 22, 18, 05, 23, 07, 24, 06, -10, -23, -07, -07, 15, -07, 13, -19, 21, -06, 22, -07, -20, 07, -17, 10, 23, 03, 04, 09, -05, -14, 07, -19, -17, 02, 11, -17, -16, 11, 16, 01, 15, -13, 19, 05, 05, 10, 13, 01, -21, 11, 22, -14, -05, -18, 22, -07, 10, 03, -21, -18, 14, 13, -11, 24, -09, -25, -16, 00, 13, -22, -21, 03, -10, 23, -15, 20, 10, 24, -01, 15, 10, -04, -24, -20, 03, -25, 00, -10, 03, 07, 00, -06, -05, 14, -07, 13, 16, 05, -09, 05, 08, -05, -15, 23, -05, -04, 20, -19, -05, -06, 21, -18, 17, 24, -13, -03, -25, 14, 13, 05, -04, -12, -23, 19, -21, -05, 07, 22, -23, -25, 04, 10, -05, 15, 10, 18, -12, 06, 24, 08, -25, 22, 15, 20, 21, -21, -08, 23, 20, -20, 06, -08, -05, 08, -12, 01, -20, 22, -01, -17, 23, -22, 20, -05, 20, 06, -12, -17, -13, -11, 18, -11, -14, 10, -16, -15, 14, 02, -15, 10, 09, 16, -21, -18, -01, -08, 08, 07, -09, -16, 15, -11, -12, 10, 12, -17, -09, -25, -06, 05, -08, -13, 20, 03, 23, -21, 15, 14, 08, -24, 01, -05, 17, 07, 02, -06, 24, -15, -22, -07, -03, 18, 07, 10, 05, -06, 20, 24, -03, -09, 04, 14, 04, 01, -06, 04, 08, -15, -05, -09, -12, 22, 11, -18, 04, -10, 01, 06, 03, 04, 24, -25, -01, 08, 10, -18, -20, 07, -19, 04, 24, 12, -07, 05, -09, 14, -16, 24, -24, 06, -08, -11, 03, -19, -03, -15, -04, -25, 16, 24, 07, 17, -24, -17, 00, 13, -10, 07, -04, -02, -14, -03, -12, 06, -21, 04, -04, -10, 05, -01, 21, 24, 16, 00, -20, -12, 10, 04, -10, 03, 03, 22, -05, 07, -17, 22, -05, -02, 05, 16, 24, 16, -10, -13, -02, -06, 18, 21, 09, -02, -05, 06, -03, -14, -19, 05, 01, 18, -16, 19, -04, 14, 18, 18, -04, -24, 17, 17, 00, -03, 10, 01, -09, -24, 13, 14, -03, 06, 12, -18, -19, -16, 13, 05, -04, 21, -13, 24, 16, -04, 18, -11, -12, 14, -16, 09, 15, -24, 03, -08, -01, -11, 18, 15, -08, 08, 06, 14, -09, -05, 23, -03, 04, 13, -20, -23, 11, -06, -23, 02, 16, 22, 18, -19, 11, -23, 15, 04, -21, -06, 21, 05, 10, 17, -03, -21, 00, -22, 18, 17, -02, 19, -09, -21, 07, -04, -18, -06, 18, -16, 23, 09, -17, 17, 15, 22, 19, 07, 01, -25, -22, -01, 05, 15, -09, -23, 19, 17, -18, 15, 09, 07, 09, -25, 12, -07, -01, 19, 12, -08, -20, 13, -22, -12, 05, 20, -13, 01, 04],
[-25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -20, -20, -20, -19, -19, -19, -19, -19, -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -17, -17, -17, -17, -16, -16, -16, -16, -16, -16, -16, -16, -16, -15, -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -10, -10, -10, -09, -09, -09, -09, -09, -09, -09, -09, -09, -09, -09, -09, -08, -08, -08, -08, -08, -08, -08, -08, -08, -07, -07, -07, -07, -07, -07, -07, -07, -07, -07, -07, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -02, -02, -02, -02, -02, -01, -01, -01, -01, -01, -01, -01, -01, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 02, 02, 02, 02, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 08, 08, 08, 08, 08, 08, 08, 08, 08, 09, 09, 09, 09, 09, 09, 09, 09, 09, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24]);
check([ 13, 04, 08, -12, -16, 00, 04, -11, -05, -02, -02, -13, -18, -19, 23, -15, 20, -09, 09, 16, -19, -22, 21, 19, -17, -14, 01, -22, -01, -21, 09, -11, 08, -06, 02, 20, 20, -16, -16, -08, 07, 09, 04, 15, 17, 02, -23, 12, 20, 13, 03, -24, 16, 01, 20, -24, 13, -02, -19, -11, 03, 15, 03, -14, -15, -19, -19, -20, -08, -08, -01, 24, -23, -22, 16, 19, 07, 18, 09, 02, 08, -11, 04, -01, 16, 01, 02, 06, -25, 08, 20, 05, -01, -02, 16, 11, 06, -25, 18, 23, -06, -08, -25, -02, -05, 18, -07, -23, 14, -21, 06, -03, -07, -13, 24, -16, 14, 01, 17, 16, -15, 12, -04, 11, -12, -11, -03, 19, -09, -10, 20, 11, 09, 22, -16, -21, 15, 04, -17, 04, 10, 16, -23, -21, -21, -24, -10, 18, 02, -17, 11, 14, 22, -18, 00, -15, -02, 24, -20, 15, -09, -23, 03, -25, 24, 12, -19, 14, -06, -09, -06, -21, -17, -02, -15, -13, -01, 03, -18, -22, 11, 18, 18, 08, -23, -05, 19, 02, -03, -24, -08, 15, -22, 20, 16, -21, 10, 24, 18, -19, -09, -11, -13, 01, 12, -02, 15, -12, -22, 24, -06, 14, 17, -11, -01, 21, 09, -05, -02, -17, -04, 18, 24, 01, 15, 17, 05, 02, 16, 01, 08, -16, 17, 23, 12, 05, -02, 02, 20, 01, 01, -11, -10, -05, 05, 16, -07, -08, -13, 17, 00, 10, 12, 01, -13, 02, -07, 19, -20, -13, -05, 15, -04, -12, 13, -14, 20, -14, 15, 17, 12, -06, -16, -21, 14, 14, 23, -15, -19, -15, -21, 09, 20, 16, -15, -16, -07, 04, -21, 00, 16, 01, -09, -11, 14, -19, 00, 11, -07, -09, 04, -18, 10, 13, -11, 01, 04, -13, 13, 11, -01, 17, -05, -04, 10, 05, 06, -21, -14, 12, 06, -23, -12, 24, -06, -20, -19, 19, 16, 01, -13, -03, 08, 24, -13, 24, 03, 17, -12, -09, 05, 12, -16, -25, -16, 21, 07, 17, -25, 21, 06, 09, -25, 21, 08, -06, -24, 14, -09, 20, -10, 05, -06, -24, 05, 07, -23, -15, 01, -09, 01, -19, -22, 12, -17, -11, 09, 17, -17, 11, 13, 14, -03, 14, 11, -19, -17, 14, 22, 01, 11, -10, -18, -19, -07, 12, 15, -05, 22, -09, 11, 00, -03, 17, -10, 07, -19, 24, -01, -08, 12, -12, -17, -15, -21, 21, -07, -11, 11, -10, 16, -03, 05, 23, 05, 23, 12, -05, -06, 11, 11, -18, -14, -15, 24, 03, 17, -17, 02, -08, 00, -08, 07, 08, 02, 11, 05, 20, -25, -07, -13, 18, 17, 20, 16, -02, 18, 03, 18, -11, -11, 05, -01, 03, 17, -02, -19, 10, 06, 11, -23, -17, -22, 11, 19, 07, -03, 01, 04, -01, 19, 16, -07, 11, 11, -14, -14, 07, 15, -20, 23, -19, 12, -03, 11, 04, 23, 20, -09, 06, 06, -07, 15, 11, -19, 09, -05, 05, -15, 24, -20, -19],
[-25, -25, -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -20, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -10, -09, -09, -09, -09, -09, -09, -09, -09, -09, -09, -09, -09, -08, -08, -08, -08, -08, -08, -08, -08, -08, -07, -07, -07, -07, -07, -07, -07, -07, -07, -07, -07, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -04, -04, -04, -04, -03, -03, -03, -03, -03, -03, -03, -03, -03, -02, -02, -02, -02, -02, -02, -02, -02, -02, -02, -02, -02, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, 00, 00, 00, 00, 00, 00, 00, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 02, 02, 02, 02, 02, 02, 02, 02, 02, 02, 02, 03, 03, 03, 03, 03, 03, 03, 03, 03, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 06, 06, 06, 06, 06, 06, 06, 06, 06, 07, 07, 07, 07, 07, 07, 07, 07, 08, 08, 08, 08, 08, 08, 08, 08, 08, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24]);
check([ 17, 00, 19, 06, 11, -19, -12, 03, -12, -12, 12, -25, 13, -02, 06, 13, -07, 23, -06, -24, -07, -14, 14, 00, 20, -16, -18, -18, -15, -13, -10, -22, 14, -15, 09, 01, -09, 24, -19, 06, -11, 18, 08, -23, -06, -11, 17, 12, -11, -13, 16, 10, -02, 05, -13, -04, 17, -06, 05, -23, 07, 21, -20, -02, -19, 16, -24, -01, 15, -17, -18, -18, -24, 15, -14, -03, -21, -21, -13, -04, -09, -22, -19, 16, 10, -07, -13, 02, 12, 18, 05, -04, 16, 12, 20, 24, 06, 23, -02, -02, -19, 05, 05, -15, -03, 17, 07, 01, 21, 19, 24, -11, 24, -20, -20, 10, 00, -05, -13, -12, -10, 19, 11, -19, 09, 08, -20, -10, 07, 05, 13, 15, -13, -06, -25, 09, -12, 10, -13, -16, 04, -13, 00, 06, -08, 05, -09, 20, -23, 05, -15, -08, 02, 21, -02, -14, 07, 03, 01, -11, -15, -09, -21, -03, 10, -18, -17, -25, 17, -04, -16, -02, 08, 11, -19, -23, -08, -03, 22, -06, -20, -16, 14, 07, -19, -13, 18, 15, 18, -04, -21, -22, 14, -15, 03, 02, -06, 11, 02, -12, -18, 14, 14, 17, 00, 20, 22, 19, -05, 21, -09, 00, -19, -20, -18, -11, -08, -23, -21, -13, 00, -15, -09, -11, -05, 21, 16, 17, 07, -04, -20, 17, -15, 21, 11, 10, 17, 08, 05, -13, 05, 21, 14, 13, -22, 21, -23, -05, -25, -19, 10, 02, -09, -24, 18, 13, 22, 12, 07, 06, -17, 13, -02, -07, 09, -15, -20, 03, 20, 10, 17, 02, 08, 06, -10, 13, 02, -08, -16, 04, 00, 21, -17, 18, 22, -23, 09, 21, 14, -09, 04, 22, -19, -22, -08, 18, -10, -03, -04, -13, -15, -11, 15, 20, 20, -20, 09, 00, 00, 20, -19, -23, 16, -10, 23, 15, -08, 07, 11, -17, 23, -10, -18, -20, -05, -01, -25, 12, 23, -04, -25, -17, 12, 17, -19, 08, 24, 15, -15, -01, 12, -07, 04, 03, 08, 02, -07, -23, -16, -19, -13, -16, -02, -06, -09, 21, 20, -09, 10, 19, 15, 10, -21, 02, 02, -15, -13, 02, -23, -03, -22, 14, 16, 09, -08, 01, -14, 12, 06, -03, 20, 18, 09, -04, -12, -25, -08, -17, -06, -21, -21, -16, 15, -16, 11, -06, -06, 24, 23, -03, -02, -21, -14, -09, 13, 06, 20, -23, -05, 01, 01, -07, -06, -15, 14, 09, -12, -17, 20, 07, -13, 24, 16, -21, -17, 04, -01, 03, 05, -01, -23, -19, 03, -10, -01, -08, 23, -06, -06, -06, 22, 20, 12, -06, -17, 03, -22, -04, 11, 23, -22, -25, 23, 21, -20, -19, 02, 06, 11, -17, -20, 15, -11, 09, -19, 13, -22, -21, -15, -01, 00, -18, -04, -13, 01, 04, 15, 07, -25, 03, 05, -20, 04, 05, -22, 09, 14, 06, -08, 00, 16, -03, -07, -18, -17, -01, 20, -14, 05, -18, 10, -19, -10, -18, -07, 18, 13, -14, 00, 16, 14, -17],
[-25, -25, -25, -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -16, -16, -16, -16, -16, -16, -16, -16, -16, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -10, -10, -10, -09, -09, -09, -09, -09, -09, -09, -09, -09, -09, -09, -08, -08, -08, -08, -08, -08, -08, -08, -08, -08, -08, -07, -07, -07, -07, -07, -07, -07, -07, -07, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -05, -05, -05, -05, -05, -05, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -03, -03, -03, -03, -03, -03, -03, -03, -03, -02, -02, -02, -02, -02, -02, -02, -02, -02, -02, -01, -01, -01, -01, -01, -01, -01, -01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 01, 01, 01, 01, 01, 02, 02, 02, 02, 02, 02, 02, 02, 02, 02, 02, 02, 03, 03, 03, 03, 03, 03, 03, 03, 03, 04, 04, 04, 04, 04, 04, 04, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 08, 08, 08, 08, 08, 08, 08, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24]);
check([ 23, -05, 13, -23, -19, 02, 10, -02, -20, 01, 21, 00, 08, -21, 24, 05, -07, 04, 13, -20, 12, -20, -11, -17, -25, -22, -06, 03, 19, -15, 11, 17, 08, 01, 21, 14, -19, 06, -12, -12, -16, -16, 13, 19, -10, 12, 00, 10, -07, -10, 16, -17, -03, -20, -09, -01, -15, 12, -23, -19, 22, 15, -24, 05, -08, 22, -03, -02, 06, 10, 11, 17, 21, -01, 12, -12, -12, -11, 24, 08, 04, 15, 18, -22, 22, -16, 02, -17, 21, 07, -11, 21, -03, -10, 03, 14, -10, -25, -11, 21, 10, -23, 15, 08, 03, 02, 22, 18, 16, 21, 04, -03, 13, -03, 00, 10, 07, -20, 20, 03, 12, -15, -01, -16, 02, -20, -24, 17, -20, -10, 15, 18, -07, 06, 01, 21, -15, 00, 17, -23, -02, -04, -01, -14, 18, -23, 24, 00, -18, 19, -19, 19, -19, 07, -22, 11, 12, -21, 03, 18, -03, -04, 11, 17, -21, -11, 15, -11, 15, 07, -09, -10, -22, 18, 02, 22, 20, 03, -01, -23, -01, 05, 21, 06, -12, -24, -06, -25, -17, 24, 20, 07, -05, 08, -01, -01, 23, -11, 16, 15, 22, -18, -20, -23, -23, 09, 24, 22, -13, -01, 24, 12, -19, 22, -05, -06, -24, 16, -03, -14, 15, -08, 18, -14, -24, -08, 12, 24, 06, 03, 16, 05, 13, 23, 08, 15, 08, 09, 13, 22, -15, 14, 11, -08, 14, -17, 13, 15, 24, -15, -24, 15, 03, 21, -24, 04, -12, 15, 05, 21, -06, -02, 02, -18, -04, -13, 22, -21, 23, 12, -21, -14, 02, 15, 03, -09, 24, -07, -17, 23, 04, -14, 13, -16, -18, 16, 15, -03, 07, -03, -07, -24, 20, 22, -15, -07, -14, -16, 00, -15, 22, 04, -04, 01, -06, -24, 19, -05, -04, -21, -06, -25, -10, -16, -14, -01, -24, -24, 21, 08, 00, -09, 11, -05, -11, 23, 16, 00, -18, -09, 12, -19, 20, -15, 07, -09, -12, 03, 12, 10, 07, -19, 12, 24, -10, 24, -02, -07, -23, -04, -24, 05, 13, 14, -25, -21, 14, 18, 06, 22, -16, -04, -20, -19, 06, 15, -02, 22, -07, -15, 07, -22, -07, -04, -23, 10, -05, 03, -21, 00, 24, -18, -20, 14, 24, -18, 18, 13, -24, 02, 12, -13, 23, 18, -06, 06, 08, 17, 03, -22, -21, -15, -19, -03, 07, -16, -16, -21, 12, -12, 06, 13, -02, 13, 03, -03, 23, -02, -15, -24, -25, 23, -12, -25, 18, 07, 07, 01, 01, -15, 06, 05, -02, 13, -21, -20, 24, -11, -14, 13, 04, 20, 03, -23, 08, -17, -01, 06, 07, 12, 09, 09, 10, 23, 10, 05, 07, -06, -17, -14, 04, 14, 18, -23, 04, 23, -16, 05, -11, -02, -07, 20, -07, 24, 23, -22, -18, -01, 12, 16, -14, -04, 01, 23, -04, -12, 03, -19, 09, 11, -08, -12, 03, -15, -07, -18, -15, 04, 13, 01, -21, -17, -03, -03, -16, -03, 03, -08, 23, -10, -17, -15],
[-25, -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -13, -13, -13, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -10, -10, -10, -09, -09, -09, -09, -09, -09, -08, -08, -08, -08, -08, -08, -07, -07, -07, -07, -07, -07, -07, -07, -07, -07, -07, -07, -06, -06, -06, -06, -06, -06, -06, -06, -05, -05, -05, -05, -05, -05, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -02, -02, -02, -02, -02, -02, -02, -02, -02, -02, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 01, 01, 01, 01, 01, 01, 02, 02, 02, 02, 02, 02, 02, 02, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 05, 05, 05, 05, 05, 05, 05, 05, 05, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 08, 08, 08, 08, 08, 08, 08, 08, 08, 08, 09, 09, 09, 09, 09, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24]);
check([ 13, 11, -15, -15, -24, 16, -09, 10, 04, 10, -24, -18, 20, -04, -08, -17, -25, -18, 11, -18, -10, -17, 06, 00, 07, -16, 19, 06, -01, -21, 18, -10, 16, -20, 00, 19, 21, 18, 05, 01, 03, 08, 10, 00, -21, -21, 10, -19, -14, -03, -12, 04, 07, 20, -19, -10, -21, -25, 23, 06, -21, 16, 21, 22, 21, -02, 19, 20, -09, -01, -02, 21, -16, -17, -04, -12, -12, -18, -06, 01, 06, 08, -20, -12, 03, -14, 05, 07, -12, 03, -10, -05, -04, -14, -08, -05, 09, -14, -08, -23, 12, 15, 23, 21, -25, -03, -14, -10, 06, 06, 17, -13, -11, 24, 02, 19, -12, -17, 03, 01, 13, 19, 21, -13, -18, -09, 09, 19, 04, -22, 21, -06, 18, 22, -10, 20, -06, 04, -12, -23, -15, -18, -09, 01, -19, 18, -05, -06, -22, 23, 23, 19, 19, 19, -17, -23, -15, 17, 21, 17, 20, 19, -14, 15, 16, 03, 12, -13, -18, -25, -09, -08, -16, 07, 18, -09, 01, -10, 12, 06, -09, 10, 02, -15, 07, 10, -11, 19, 04, -13, 11, 01, -18, 24, -07, -25, 03, -19, -10, 10, -17, 06, -22, -07, -11, 23, 11, 17, -09, 00, 00, 07, -14, -22, 19, 20, 13, -14, 16, -05, -02, 03, 21, 07, 02, -10, 08, -18, -02, -25, 18, 06, 06, 23, 24, 22, 23, 12, 16, -11, -12, -06, 23, 01, -03, 18, -04, -13, -21, -13, 07, 04, 17, 06, -13, -03, 21, 20, 04, -04, 22, -03, -23, 05, -03, -21, 05, -04, 16, -04, 10, -21, 17, 09, 05, -09, 04, -24, 04, 10, -09, -12, -11, -15, 21, 01, 09, 19, -02, -11, -10, -05, 13, -07, -24, -14, -03, 06, 09, -12, -21, -06, -05, 24, -20, -25, -10, 11, -21, 21, -04, -03, -13, 11, 07, -17, -11, -08, -22, 13, 08, -05, -15, -04, 13, -12, 09, -13, 21, -05, 03, -22, 15, 23, -23, 22, -25, -08, 09, -21, -09, -18, 01, 03, 20, -14, 11, -15, 03, 16, -25, -12, -13, -15, 11, -23, -01, -04, -08, -03, 16, 20, 00, 08, 20, 02, 08, 20, 22, -06, -23, -12, 01, 05, 18, -03, 16, 04, 09, -04, -02, 09, 09, 12, 21, -04, 14, -03, 19, -19, 20, 12, -22, -05, -02, 23, -25, -19, 21, 24, 02, 23, -11, -22, 03, -18, 02, -05, 13, -14, 18, -12, 22, 03, -25, 19, -24, 15, -09, 22, 23, -12, 09, -23, 11, -16, -23, 13, -08, 23, 12, 19, 21, -22, 23, 00, -13, 02, 22, -25, 16, 17, -11, 13, -03, -09, 09, -02, -19, -24, -03, -18, -09, -18, -16, -23, -07, -14, 15, 11, -15, 04, 05, -17, 07, 05, 10, 21, -17, 09, 22, 24, 02, -12, 14, 24, 04, -01, 00, 13, 02, 22, 20, 18, -19, -19, 21, 00, -08, 13, -14, 04, -05, 18, 15, -23, -01, 00, 24, 07, -13, 23, 08, 14, -12, -03, 15, 17, 21, -10, 05, -02],
[-25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -19, -19, -19, -19, -19, -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -17, -17, -17, -17, -16, -16, -16, -16, -16, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -09, -09, -09, -09, -09, -09, -09, -09, -09, -09, -09, -09, -09, -09, -08, -08, -08, -08, -08, -08, -08, -08, -08, -07, -07, -07, -07, -06, -06, -06, -06, -06, -06, -06, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -02, -02, -02, -02, -02, -02, -02, -02, -02, -01, -01, -01, -01, -01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 02, 02, 02, 02, 02, 02, 02, 02, 02, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 05, 05, 05, 05, 05, 05, 05, 05, 05, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 08, 08, 08, 08, 08, 08, 08, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24]);
check([-10, 02, -08, -04, 08, -10, 21, -22, -22, -16, 09, -02, -22, -01, 03, 02, -23, 04, -14, -11, 04, 19, -20, 17, -07, 20, 11, -10, -12, -06, 13, 03, 21, -18, 24, 07, -01, 23, 12, 03, -18, -04, -22, -13, 23, 08, 16, -23, -11, -21, -07, 18, -25, -02, 12, -06, -07, -01, 09, 08, 20, -01, -14, 16, 09, -14, 00, -17, -14, -13, 13, -07, 11, 17, 08, 09, 02, -01, 13, 19, 04, -19, 12, 04, 04, 02, -25, 24, -22, 09, 08, 23, -14, 19, 16, 20, -18, -08, -22, -07, 04, 17, 14, -10, 11, -03, -24, -10, 23, 16, -16, 04, 22, 24, -14, 03, 01, -14, 05, 04, 23, -12, 04, -16, -16, -05, -21, -06, 12, -16, 14, -06, -22, 03, 11, 14, -23, 13, -20, -22, 04, -09, 09, 04, -10, 20, -18, 16, -16, 12, -03, -18, -23, -24, -09, -11, -01, -03, 08, -14, 08, -03, 05, 12, -22, -08, 03, -18, -18, 10, -15, 13, -23, 20, -06, -08, 17, 04, -14, -24, -09, 10, -17, -04, 14, 01, 10, -12, -25, -05, -01, 09, 19, -18, -02, 22, 01, -24, -18, 10, 12, -08, 00, 14, -11, 20, -17, -18, -01, -06, -17, 17, -20, -06, -12, 19, 22, -25, -18, 23, -05, 08, 09, -10, 17, -16, -11, -05, -15, -04, -20, 24, 16, 08, 15, -18, 03, 24, -11, -21, -05, 00, 21, 00, 21, -13, -04, 18, -13, 05, 18, 10, -09, 04, -23, -17, 13, -07, 06, 24, 17, 13, -25, 10, -04, 16, 17, -24, 17, -16, -20, -13, 09, -21, 15, 07, -09, -14, 02, 05, 19, -04, -08, -15, -23, -06, -05, 16, 15, -24, 17, 07, 15, 17, -08, -12, 10, -16, -10, 02, -05, -05, 17, -19, -01, 07, 13, 17, 20, -09, 00, 14, 14, 17, -24, 16, -13, -03, 09, -23, -02, 01, 11, -10, -06, -22, 04, -19, -11, 19, 09, 10, -09, 01, 16, 18, -15, 07, 10, -20, -25, -15, 22, 14, -22, 23, 07, -08, -05, -08, -04, 21, 18, -18, -12, -11, -13, 17, -04, 03, 13, -18, -12, -20, 10, -18, 23, 22, 14, 10, -23, 14, 23, -24, 05, -22, -25, -13, -03, -03, 06, 18, -05, 00, -23, 09, 16, -11, 01, -11, 19, -10, -02, -17, -03, -17, -08, -05, -20, -17, -18, -15, 22, -20, -12, 04, -17, -12, 18, 05, 13, 00, 00, -17, -23, 02, 17, 18, 18, -06, -15, 13, 11, 08, 23, -17, 19, -08, 05, -24, 00, 12, -12, -01, 20, 02, -22, -20, 17, 23, 13, 05, -02, -12, 14, 00, 18, 06, -04, 13, -23, 08, 03, 15, -07, 03, -25, -13, 20, 05, -09, -03, -05, 04, 21, -08, -17, -24, -03, -24, -25, -15, 06, -02, 01, -03, -24, -04, -19, -01, -14, -17, -18, 17, -24, 00, -03, -24, 15, -05, 07, -17, 17, -21, 14, 16, -04, 23, 17, 20, -24, 19, -19, 09, -05, 09, -18, -04, -18, -12, 22, -05],
[-25, -25, -25, -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -19, -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -16, -16, -16, -16, -16, -16, -16, -16, -16, -15, -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -09, -09, -09, -09, -09, -09, -09, -09, -08, -08, -08, -08, -08, -08, -08, -08, -08, -08, -08, -08, -07, -07, -07, -07, -07, -07, -07, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -02, -02, -02, -02, -02, -02, -02, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 01, 01, 01, 01, 01, 02, 02, 02, 02, 02, 02, 02, 02, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 05, 05, 05, 05, 05, 05, 05, 05, 05, 06, 06, 06, 06, 07, 07, 07, 07, 07, 07, 07, 08, 08, 08, 08, 08, 08, 08, 08, 08, 08, 08, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24]);
check([-02, -19, -11, 01, 08, 12, 03, 00, -18, -13, 08, 24, -09, -02, 17, 12, -02, 10, 09, -01, 06, 15, -17, -24, 01, -08, -01, 10, 07, -04, -17, -17, 04, -03, 09, -12, -16, -13, 13, -07, -01, -03, -05, 17, 22, -13, 06, -05, 24, -09, 19, 06, -17, -21, 07, 12, -01, -18, -03, -19, 05, 05, -11, -15, -20, -24, -02, -09, -12, -12, 10, 15, 12, -18, 07, 09, -06, -11, -21, -06, 05, -25, -23, 13, -18, 09, 00, 06, 18, -25, 14, -01, 07, -21, 11, 14, -20, -16, -19, -05, -03, 18, -15, -15, -25, 20, 21, -06, -16, -22, 15, 16, -20, 17, 06, -13, 04, -16, 20, -03, -16, 10, 23, 18, 16, 09, 08, 23, 20, 16, -07, -05, 09, 06, 07, 09, 01, 03, -22, 10, 06, 21, 03, 14, 13, -16, -24, -06, -07, 24, 19, 04, 09, 17, 00, 02, 04, -15, 00, -01, -24, 18, 21, 10, 01, 03, -06, -23, -18, -01, 14, 15, -03, -08, 04, -12, 02, 08, 07, 22, 07, 01, 04, -07, -04, -21, 20, -23, -09, -03, 03, -08, -08, 00, -21, 19, -22, 00, 21, -13, -24, 11, -22, -01, -22, 09, 12, 07, -08, -06, 07, -24, 23, -14, -04, -04, -08, -07, 00, 10, 15, -22, -23, -17, 05, -17, -23, 09, 08, -25, 23, 09, 11, -22, -15, 17, 13, 22, 01, -18, -06, -17, -14, -06, -04, 07, 15, 15, -24, -10, 02, 16, -05, 06, -24, -24, 14, -22, 12, -01, -21, 10, -14, 17, 16, -04, 11, 04, -06, -12, 13, 15, -02, 24, -16, 22, 07, -24, 14, 10, -07, -08, 01, 15, 23, 03, 16, 13, 08, 03, -13, 14, -09, 00, 09, -18, 22, -05, 13, -07, 10, 01, -17, -16, 03, -06, -19, -15, -05, 22, 22, 15, -11, -02, 05, -12, -22, -01, -22, 14, -21, -08, 03, -05, 18, -13, 04, 15, 10, -08, -17, -05, 21, -07, 04, -01, 14, 12, 11, -14, 10, 08, -24, -24, -17, 08, -11, -11, -18, -06, -22, -13, 12, 06, 09, 05, 21, -11, -05, 06, 08, 05, -24, 06, -25, 08, -18, 14, -03, 20, -25, -16, 05, -22, -14, 14, 11, 02, -22, 21, 22, -17, -17, 09, 16, 19, -11, 12, -17, 11, -05, 19, -07, -01, 00, -05, -16, 10, -16, 06, 05, -14, 16, -14, -09, -21, -23, -23, 06, -18, -25, 03, -10, -17, -13, -19, -20, 03, 21, -12, -09, -07, -16, 09, 19, 12, -21, -22, -03, -10, 12, -23, 03, 05, -12, 19, 09, -08, 24, -10, -01, 24, 19, 14, -15, -17, 23, -10, 14, 19, 05, -20, -13, 17, 17, -18, 04, 23, -13, -24, -11, 24, -20, 19, 04, -04, 16, -12, 13, 15, 06, -12, 16, 02, -21, -22, 10, -23, -05, -01, 21, -24, 07, -14, 20, -01, -05, -01, -03, 09, 02, 13, 09, 09, 08, -10, -20, -01, 06, 21, -09, -13, -16, -16, 16, -12, -12, 01, -07, 08, -22, -09],
[-25, -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -20, -20, -19, -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -09, -09, -09, -09, -09, -09, -09, -09, -09, -08, -08, -08, -08, -08, -08, -08, -08, -08, -08, -07, -07, -07, -07, -07, -07, -07, -07, -07, -07, -07, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -04, -04, -04, -04, -04, -04, -04, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -02, -02, -02, -02, -02, -02, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 01, 01, 01, 01, 01, 01, 01, 02, 02, 02, 02, 02, 02, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 04, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 08, 08, 08, 08, 08, 08, 08, 08, 08, 08, 08, 08, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24]);
check([ 11, 10, 04, 06, -14, 24, -20, 08, 11, 09, -01, -05, -06, -16, 12, -01, 10, -07, -05, -24, 07, 06, -15, -02, 22, -02, -23, -10, -16, -18, 06, 20, 19, -14, 02, -20, -13, 09, 15, 23, -06, -09, -05, 13, 00, -17, -11, -15, 03, 12, -14, -12, -07, -01, 13, -10, 24, 17, 07, -17, 24, -11, -21, 20, 02, 08, -25, 14, -08, 18, 15, 11, -16, -15, 01, 12, -05, 16, 22, -24, 03, -14, -11, 21, 10, -21, -11, 11, 22, 21, 20, 23, -13, -24, 19, 14, 09, 21, 04, -24, 16, -06, 13, -22, 06, -11, 15, -23, -18, 14, -22, 10, -25, -06, 09, 12, 00, 23, -01, -01, 21, -04, -02, -16, -03, -06, -25, -19, -10, 06, -18, -16, -25, 22, -13, 09, -11, -23, 13, -04, 16, 18, -16, 19, -11, 18, 06, 14, 18, -18, -11, 16, 05, 14, -23, -23, -15, -22, -17, 02, 09, -07, 11, 12, -10, 23, -04, 06, -25, -16, -22, 19, -23, -11, 13, -09, -16, -04, -18, -23, 06, -02, 20, -14, -11, 23, -11, -01, -24, -01, -23, 12, 17, 13, -01, -15, 14, 22, 16, 14, -17, 21, 10, -13, -15, -02, 05, -06, 22, 13, -02, 03, -12, -04, 16, 03, -06, -18, -21, -03, 07, -17, -16, 01, 24, 11, 11, 13, 08, 05, 04, 17, 03, -10, -21, 14, 15, 12, -15, 12, 00, 11, -08, 15, -18, -16, -05, 03, -09, 00, -25, -25, 08, -16, 02, 07, 22, -10, -05, 06, 20, -25, 00, -01, -10, 06, -10, -18, -07, 02, 20, 20, -10, -11, 11, -01, 00, -19, -23, 17, 08, -21, 19, -08, -09, -04, -24, -12, 12, -03, 19, 09, -01, -06, -15, 16, -22, 02, 23, -04, -18, 20, -06, -01, -15, -20, 24, 10, -12, -22, 04, 22, -17, -01, -09, -01, 22, -08, 12, 11, 16, 07, -02, -08, -22, 08, -15, -19, -12, -16, 05, -03, -19, 24, 21, -07, -19, 20, -19, -04, 24, 12, -05, -16, -14, 11, 08, -14, -19, -05, 22, 22, -21, -05, -08, -15, -19, 02, -07, -04, 13, 23, 18, 20, 24, 14, -12, -18, 12, -04, 04, 11, -16, 24, 20, -03, 13, 05, 08, 19, -25, 08, 18, -18, -20, -15, -08, -14, 15, 10, 09, 03, 11, 02, 00, 12, -08, 16, 20, -21, -13, 01, 17, -04, 02, 14, 19, -10, -06, 04, -14, -04, -13, -20, 03, -07, -08, 22, 06, -16, 10, -09, 13, -04, 20, -12, -15, -13, -21, -20, -07, -06, 08, -13, 15, -14, -22, 11, 01, -01, -09, 15, 21, 05, 22, 01, -25, -11, 01, 09, 01, -14, -25, -11, 07, 22, 04, 17, -15, 11, -25, 05, -20, 08, 20, 22, 21, 23, 11, 00, -02, -21, -10, -06, 09, -13, 22, 12, 03, -02, -04, -21, 09, -02, -05, -07, -05, -25, -12, 07, 13, -10, -10, 20, -25, -15, 19, 22, -17, 05, -03, 06, 09, 12, -23, -04, -24, -23, -15, 04, 02, 06],
[-25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -20, -20, -19, -19, -19, -19, -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -17, -17, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -09, -09, -09, -09, -09, -09, -09, -08, -08, -08, -08, -08, -08, -08, -08, -08, -07, -07, -07, -07, -07, -07, -07, -07, -07, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -05, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -03, -03, -03, -03, -03, -03, -02, -02, -02, -02, -02, -02, -02, -02, -02, -02, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 01, 01, 01, 01, 01, 02, 02, 02, 02, 02, 02, 02, 02, 02, 02, 03, 03, 03, 03, 03, 03, 03, 03, 03, 04, 04, 04, 04, 04, 04, 04, 04, 05, 05, 05, 05, 05, 05, 05, 05, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 07, 07, 07, 07, 07, 07, 07, 08, 08, 08, 08, 08, 08, 08, 08, 08, 08, 08, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24]);
check([ 09, -11, -19, -21, 07, 03, -19, 22, -14, 21, -13, 03, 16, -12, 13, 11, -13, 21, -09, 09, 05, -22, -02, 09, 01, 01, 11, 11, -20, -09, -06, 16, 05, 00, 23, -13, -22, -19, -13, -09, -22, 01, 19, 19, 16, 09, 05, -22, 08, 24, 14, -12, -21, -11, 24, 05, 15, 13, -09, 21, -21, 10, 14, 09, -15, 12, 23, -10, 21, -15, 09, 24, 14, 03, 18, 05, -12, 01, 09, 21, 02, -02, -14, 06, 15, -15, -14, 05, -25, 02, 03, -21, -13, -07, 15, -01, -18, 14, 16, -22, -24, 00, -23, 15, -21, 23, -02, -06, 01, -18, -08, -22, 07, 03, 09, -03, 15, 20, -20, 18, -01, 08, 22, 13, -22, 13, -13, -12, 04, -22, -09, 05, 04, -04, -02, 10, -04, 21, -19, 22, -20, -02, -23, 14, -22, 11, -13, 20, 08, -06, 13, -18, -23, 11, 20, -19, 01, -16, -06, -20, -11, 12, 12, 20, -15, -13, 05, 08, -17, 13, 07, -10, -14, 09, -20, -09, -05, -06, -13, -20, 13, -23, -11, 15, 15, -16, 23, -09, -05, -06, -02, 10, -16, -12, 05, -04, 00, -12, -20, 11, -24, 12, -24, -10, -03, -19, 06, 19, 00, 20, -23, -12, 23, -09, -19, 15, 03, -21, -18, 23, 01, 07, 10, 10, 20, -07, -19, -04, 08, -12, -18, 09, -24, -15, -24, 00, -08, 10, -04, 17, 05, -02, -17, 05, 15, -11, -04, -07, -05, 05, -07, 21, -13, -21, 08, -15, -01, 17, 08, -18, -20, 17, 18, -17, -23, 20, 10, -04, 07, -18, -11, -13, 07, -01, 20, -01, 13, -07, 17, -17, 23, -12, -20, -13, -06, 15, -03, 18, 07, -18, -23, 15, 24, 20, 23, -21, 17, 11, 00, -01, 20, 16, 14, 02, -10, 11, -23, -22, -21, 21, -11, -23, -16, -04, -09, 03, -14, 16, -02, 19, 23, 00, 11, -25, -02, 09, -19, -10, -03, 06, 17, -08, -02, 06, 20, 15, -08, 24, 21, -02, 20, -15, 02, -20, 06, 18, 10, 19, 09, -14, 15, 08, 11, 01, 10, -16, -12, 16, 02, 10, -01, -06, -22, 24, -23, -25, 15, -04, 24, 11, 19, 19, 21, -04, -24, 04, -11, 14, 00, -24, -25, -09, 11, 11, 17, -04, 23, -20, -11, 00, 18, 13, 21, 21, 13, 23, 21, 03, -06, 20, -09, -10, 16, -11, 11, 18, 20, -23, 07, -05, -22, 07, 11, 16, -05, 06, -13, -05, 11, 03, 22, 06, -08, 18, 02, -20, 18, 00, 10, -13, -03, -24, 04, -11, -08, -10, -16, -13, -05, 16, 07, 00, 00, -06, -08, 22, -25, 06, -07, 13, -15, -08, -05, 02, -14, 24, 09, -21, 00, -04, -06, 24, -01, 23, -12, 16, -09, -03, -22, 13, -10, 10, -12, 17, -19, 07, 15, -17, -11, -15, 22, 01, 02, -06, -20, 15, -07, 14, 22, 20, -13, -07, 20, 11, -07, -15, 02, 11, 08, 05, -01, -25, -08, 15, 18, -01, -01, 08, 07, 13, 20, 06],
[-25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -16, -16, -16, -16, -16, -16, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -10, -10, -09, -09, -09, -09, -09, -09, -09, -09, -09, -09, -09, -09, -08, -08, -08, -08, -08, -08, -08, -08, -08, -07, -07, -07, -07, -07, -07, -07, -07, -07, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -05, -05, -05, -05, -05, -05, -05, -05, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -03, -03, -03, -03, -03, -03, -02, -02, -02, -02, -02, -02, -02, -02, -02, -02, -02, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, -01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 01, 01, 01, 01, 01, 01, 01, 02, 02, 02, 02, 02, 02, 02, 02, 02, 03, 03, 03, 03, 03, 03, 03, 03, 03, 04, 04, 04, 04, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 06, 06, 06, 06, 06, 06, 06, 06, 06, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 08, 08, 08, 08, 08, 08, 08, 08, 08, 08, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 09, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24]);
//length == 513
check([-01, -23, 23, 05, -25, 10, 15, -25, 08, -22, -24, 10, 17, 05, -02, 20, -19, 06, 07, 12, 24, -12, -06, 19, -13, -03, 00, -21, -18, 11, -10, 08, 13, -12, -09, 13, -24, -19, 14, 09, -16, 17, -04, -22, 00, 20, -24, 06, 03, 08, -07, 02, 23, 15, -02, -13, -13, 23, -08, -03, 12, 07, -20, 00, 22, -04, -11, 23, 02, -20, 10, 14, 24, -19, 19, -01, -22, 20, -18, 07, 05, 03, -14, 05, -05, 10, 18, 07, 10, -13, -19, -03, 21, -13, -25, 18, 10, -11, 19, -12, -04, 06, -21, -05, 12, -25, 22, 18, 21, -19, 02, 03, 09, 13, -14, -21, 00, -19, 14, -14, -05, 20, 10, -09, -16, 10, -14, 20, -24, -18, -15, -01, 13, -09, 20, 03, -09, 19, -04, -11, -23, 23, 18, 12, 11, -19, 18, -13, -13, 09, 00, 09, 07, -13, -25, 16, -25, -12, 13, -24, -04, 23, 01, -14, -11, -02, 14, 06, -06, -15, 20, -04, -17, 15, -15, 22, 23, -19, -14, -13, 15, 13, 21, -03, -25, 21, -09, -25, -13, -21, -21, 10, -20, 07, 21, -04, -18, 11, -23, 03, 21, -25, -24, -18, 17, -13, -21, 16, -07, -10, -22, -15, -20, -25, 10, -20, 23, -24, -17, -15, -18, -11, 20, -13, 23, 19, 11, -18, 05, 13, 10, 03, 15, 11, 12, 10, -25, 18, 01, -05, -15, 06, 06, -10, 08, -07, -04, 07, -06, 06, 19, 03, 22, 17, 18, 20, 11, 04, -23, -07, -06, 14, 23, -13, 02, 11, 22, 03, 04, 00, 23, 15, -19, 06, -20, 17, -24, 03, 01, -03, -14, -05, -24, -17, -11, 19, -20, -23, 00, -16, -05, 19, 23, -06, -19, 01, -18, -20, -19, 11, 05, -19, 03, 14, 13, 11, 06, 16, -11, -16, -11, 01, 06, -10, 11, 21, -14, 17, 23, 11, -24, -04, 07, -25, 17, 16, 03, 24, 21, 09, 12, 02, 15, -07, -07, 05, -21, -24, -03, -05, -15, 11, 23, 16, -22, 10, 12, -11, 04, 13, -23, 05, -14, 09, 07, -22, 02, -13, -21, -01, 21, 18, -22, 14, -14, -04, -04, -08, -03, 18, 13, 07, 06, 11, -02, 09, -02, -12, -25, -23, -22, -23, 10, -11, 14, -08, -06, -09, 05, -02, 17, 03, -07, 20, -06, 07, -09, 16, 24, 13, 11, 14, -03, -07, 03, 21, -21, -24, -14, -20, -19, -11, -16, 16, 03, -25, -15, 22, -06, 17, -03, -14, -04, 15, -18, 17, -03, 00, 08, -03, -09, -05, -12, 13, 15, 16, 11, 19, 20, 22, -24, -24, -14, -12, 19, 16, -12, -21, 15, 09, 22, -13, 21, -05, -22, -20, -11, 02, 05, 23, -24, 21, -07, -10, 12, -15, -19, -02, -21, -24, -04, -17, -21, 09, -04, 23, 01, 11, -20, -09, -04, -21, 06, -06, -01, 11, -01, 15, -12, -19, 13, -10, -20, -17, 05, 17, -07, 13, -10, 00, 17, 13, 08, 21, 00, -21, 22, -24, 15, -23, -06, -12, -19],
[-25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -16, -16, -16, -16, -16, -15, -15, -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -10, -09, -09, -09, -09, -09, -09, -09, -09, -09, -08, -08, -08, -07, -07, -07, -07, -07, -07, -07, -07, -07, -07, -06, -06, -06, -06, -06, -06, -06, -06, -06, -06, -05, -05, -05, -05, -05, -05, -05, -05, -05, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -04, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -03, -02, -02, -02, -02, -02, -02, -02, -01, -01, -01, -01, -01, -01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 01, 01, 01, 01, 02, 02, 02, 02, 02, 02, 02, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 03, 04, 04, 04, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 05, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 06, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 07, 08, 08, 08, 08, 08, 08, 09, 09, 09, 09, 09, 09, 09, 09, 09, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12,