/* * This file is part of OpenTTD. * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . */ /** @file genland.h Table used to generate deserts and/or rain forests. */ #define M(x, y) {x, y} // This default array draws a filled circle 13 tiles in diameter static const TileIndexDiffC _make_desert_or_rainforest_data[] = { M(-5, -5), M(-4, -5), M(-3, -5), M(-2, -5), M(-1, -5), M( 0, -5), M( 1, -5), M( 2, -5), M( 3, -5), M( 4, -5), M( 5, -5), M(-5, -4), M(-4, -4), M(-3, -4), M(-2, -4), M(-1, -4), M( 0, -4), M( 1, -4), M( 2, -4), M( 3, -4), M( 4, -4), M( 5, -4), M(-5, -3), M(-4, -3), M(-3, -3), M(-2, -3), M(-1, -3), M( 0, -3), M( 1, -3), M( 2, -3), M( 3, -3), M( 4, -3), M( 5, -3), M(-5, -2), M(-4, -2), M(-3, -2), M(-2, -2), M(-1, -2), M( 0, -2), M( 1, -2), M( 2, -2), M( 3, -2), M( 4, -2), M( 5, -2), M(-5, -1), M(-4, -1), M(-3, -1), M(-2, -1), M(-1, -1), M( 0, -1), M( 1, -1), M( 2, -1), M( 3, -1), M( 4, -1), M( 5, -1), M(-5, 0), M(-4, 0), M(-3, 0), M(-2, 0), M(-1, 0), M( 0, 0), M( 1, 0), M( 2, 0), M( 3, 0), M( 4, 0), M( 5, 0), M(-5, 1), M(-4, 1), M(-3, 1), M(-2, 1), M(-1, 1), M( 0, 1), M( 1, 1), M( 2, 1), M( 3, 1), M( 4, 1), M( 5, 1), M(-5, 2), M(-4, 2), M(-3, 2), M(-2, 2), M(-1, 2), M( 0, 2), M( 1, 2), M( 2, 2), M( 3, 2), M( 4, 2), M( 5, 2), M(-5, 3), M(-4, 3), M(-3, 3), M(-2, 3), M(-1, 3), M( 0, 3), M( 1, 3), M( 2, 3), M( 3, 3), M( 4, 3), M( 5, 3), M(-5, 4), M(-4, 4), M(-3, 4), M(-2, 4), M(-1, 4), M( 0, 4), M( 1, 4), M( 2, 4), M( 3, 4), M( 4, 4), M( 5, 4), M(-5, 5), M(-4, 5), M(-3, 5), M(-2, 5), M(-1, 5), M( 0, 5), M( 1, 5), M( 2, 5), M( 3, 5), M( 4, 5), M( 5, 5), M( 6, -3), M(-6, -3), M(-3, 6), M(-3, -6), M( 6, -2), M(-6, -2), M(-2, 6), M(-2, -6), M( 6, -1), M(-6, -1), M(-1, 6), M(-1, -6), M( 6, 0), M(-6, 0), M( 0, 6), M( 0, -6), M( 6, 1), M(-6, 1), M( 1, 6), M( 1, -6), M( 6, 2), M(-6, 2), M( 2, 6), M( 2, -6), M( 6, 3), M(-6, 3), M( 3, 6), M( 3, -6) }; // This array draws a filled circle 19 tiles in diameter static const TileIndexDiffC _make_desert_or_rainforest_data_medium[] = { M(-3, -9), M(-2, -9), M(-1, -9), M(0, -9), M(1, -9), M(2, -9), M(3, -9), M(-5, -8), M(-4, -8), M(-3, -8), M(-2, -8), M(-1, -8), M(0, -8), M(1, -8), M(2, -8), M(3, -8), M(4, -8), M(5, -8), M(-6, -7), M(-5, -7), M(-4, -7), M(-3, -7), M(-2, -7), M(-1, -7), M(0, -7), M(1, -7), M(2, -7), M(3, -7), M(4, -7), M(5, -7), M(6, -7), M(-7, -6), M(-6, -6), M(-5, -6), M(-4, -6), M(-3, -6), M(-2, -6), M(-1, -6), M(0, -6), M(1, -6), M(2, -6), M(3, -6), M(4, -6), M(5, -6), M(6, -6), M(7, -6), M(-8, -5), M(-7, -5), M(-6, -5), M(-5, -5), M(-4, -5), M(-3, -5), M(-2, -5), M(-1, -5), M(0, -5), M(1, -5), M(2, -5), M(3, -5), M(4, -5), M(5, -5), M(6, -5), M(7, -5), M(8, -5), M(-8, -4), M(-7, -4), M(-6, -4), M(-5, -4), M(-4, -4), M(-3, -4), M(-2, -4), M(-1, -4), M(0, -4), M(1, -4), M(2, -4), M(3, -4), M(4, -4), M(5, -4), M(6, -4), M(7, -4), M(8, -4), M(-9, -3), M(-8, -3), M(-7, -3), M(-6, -3), M(-5, -3), M(-4, -3), M(-3, -3), M(-2, -3), M(-1, -3), M(0, -3), M(1, -3), M(2, -3), M(3, -3), M(4, -3), M(5, -3), M(6, -3), M(7, -3), M(8, -3), M(9, -3), M(-9, -2), M(-8, -2), M(-7, -2), M(-6, -2), M(-5, -2), M(-4, -2), M(-3, -2), M(-2, -2), M(-1, -2), M(0, -2), M(1, -2), M(2, -2), M(3, -2), M(4, -2), M(5, -2), M(6, -2), M(7, -2), M(8, -2), M(9, -2), M(-9, -1), M(-8, -1), M(-7, -1), M(-6, -1), M(-5, -1), M(-4, -1), M(-3, -1), M(-2, -1), M(-1, -1), M(0, -1), M(1, -1), M(2, -1), M(3, -1), M(4, -1), M(5, -1), M(6, -1), M(7, -1), M(8, -1), M(9, -1), M(-9, 0), M(-8, 0), M(-7, 0), M(-6, 0), M(-5, 0), M(-4, 0), M(-3, 0), M(-2, 0), M(-1, 0), M(0, 0), M(1, 0), M(2, 0), M(3, 0), M(4, 0), M(5, 0), M(6, 0), M(7, 0), M(8, 0), M(9, 0), M(-9, 1), M(-8, 1), M(-7, 1), M(-6, 1), M(-5, 1), M(-4, 1), M(-3, 1), M(-2, 1), M(-1, 1), M(0, 1), M(1, 1), M(2, 1), M(3, 1), M(4, 1), M(5, 1), M(6, 1), M(7, 1), M(8, 1), M(9, 1), M(-9, 2), M(-8, 2), M(-7, 2), M(-6, 2), M(-5, 2), M(-4, 2), M(-3, 2), M(-2, 2), M(-1, 2), M(0, 2), M(1, 2), M(2, 2), M(3, 2), M(4, 2), M(5, 2), M(6, 2), M(7, 2), M(8, 2), M(9, 2), M(-9, 3), M(-8, 3), M(-7, 3), M(-6, 3), M(-5, 3), M(-4, 3), M(-3, 3), M(-2, 3), M(-1, 3), M(0, 3), M(1, 3), M(2, 3), M(3, 3), M(4, 3), M(5, 3), M(6, 3), M(7, 3), M(8, 3), M(9, 3), M(-8, 4), M(-7, 4), M(-6, 4), M(-5, 4), M(-4, 4), M(-3, 4), M(-2, 4), M(-1, 4), M(0, 4), M(1, 4), M(2, 4), M(3, 4), M(4, 4), M(5, 4), M(6, 4), M(7, 4), M(8, 4), M(-8, 5), M(-7, 5), M(-6, 5), M(-5, 5), M(-4, 5), M(-3, 5), M(-2, 5), M(-1, 5), M(0, 5), M(1, 5), M(2, 5), M(3, 5), M(4, 5), M(5, 5), M(6, 5), M(7, 5), M(8, 5), M(-7, 6), M(-6, 6), M(-5, 6), M(-4, 6), M(-3, 6), M(-2, 6), M(-1, 6), M(0, 6), M(1, 6), M(2, 6), M(3, 6), M(4, 6), M(5, 6), M(6, 6), M(7, 6), M(-6, 7), M(-5, 7), M(-4, 7), M(-3, 7), M(-2, 7), M(-1, 7), M(0, 7), M(1, 7), M(2, 7), M(3, 7), M(4, 7), M(5, 7), M(6, 7), M(-5, 8), M(-4, 8), M(-3, 8), M(-2, 8), M(-1, 8), M(0, 8), M(1, 8), M(2, 8), M(3, 8), M(4, 8), M(5, 8), M(-3, 9), M(-2, 9), M(-1, 9), M(0, 9), M(1, 9), M(2, 9), M(3, 9) }; // This array draws a filled circle 25 tiles in diameter static const TileIndexDiffC _make_desert_or_rainforest_data_large[] = { M(-3, -12), M(-2, -12), M(-1, -12), M(0, -12), M(1, -12), M(2, -12), M(3, -12), M(-5, -11), M(-4, -11), M(-3, -11), M(-2, -11), M(-1, -11), M(0, -11), M(1, -11), M(2, -11), M(3, -11), M(4, -11), M(5, -11), M(-7, -10), M(-6, -10), M(-5, -10), M(-4, -10), M(-3, -10), M(-2, -10), M(-1, -10), M(0, -10), M(1, -10), M(2, -10), M(3, -10), M(4, -10), M(5, -10), M(6, -10), M(7, -10), M(-8, -9), M(-7, -9), M(-6, -9), M(-5, -9), M(-4, -9), M(-3, -9), M(-2, -9), M(-1, -9), M(0, -9), M(1, -9), M(2, -9), M(3, -9), M(4, -9), M(5, -9), M(6, -9), M(7, -9), M(8, -9), M(-9, -8), M(-8, -8), M(-7, -8), M(-6, -8), M(-5, -8), M(-4, -8), M(-3, -8), M(-2, -8), M(-1, -8), M(0, -8), M(1, -8), M(2, -8), M(3, -8), M(4, -8), M(5, -8), M(6, -8), M(7, -8), M(8, -8), M(9, -8), M(-10, -7), M(-9, -7), M(-8, -7), M(-7, -7), M(-6, -7), M(-5, -7), M(-4, -7), M(-3, -7), M(-2, -7), M(-1, -7), M(0, -7), M(1, -7), M(2, -7), M(3, -7), M(4, -7), M(5, -7), M(6, -7), M(7, -7), M(8, -7), M(9, -7), M(10, -7), M(-10, -6), M(-9, -6), M(-8, -6), M(-7, -6), M(-6, -6), M(-5, -6), M(-4, -6), M(-3, -6), M(-2, -6), M(-1, -6), M(0, -6), M(1, -6), M(2, -6), M(3, -6), M(4, -6), M(5, -6), M(6, -6), M(7, -6), M(8, -6), M(9, -6), M(10, -6), M(-11, -5), M(-10, -5), M(-9, -5), M(-8, -5), M(-7, -5), M(-6, -5), M(-5, -5), M(-4, -5), M(-3, -5), M(-2, -5), M(-1, -5), M(0, -5), M(1, -5), M(2, -5), M(3, -5), M(4, -5), M(5, -5), M(6, -5), M(7, -5), M(8, -5), M(9, -5), M(10, -5), M(11, -5), M(-11, -4), M(-10, -4), M(-9, -4), M(-8, -4), M(-7, -4), M(-6, -4), M(-5, -4), M(-4, -4), M(-3, -4), M(-2, -4), M(-1, -4), M(0, -4), M(1, -4), M(2, -4), M(3, -4), M(4, -4), M(5, -4), M(6, -4), M(7, -4), M(8, -4), M(9, -4), M(10, -4), M(11, -4), M(-12, -3), M(-11, -3), M(-10, -3), M(-9, -3), M(-8, -3), M(-7, -3), M(-6, -3), M(-5, -3), M(-4, -3), M(-3, -3), M(-2, -3), M(-1, -3), M(0, -3), M(1, -3), M(2, -3), M(3, -3), M(4, -3), M(5, -3), M(6, -3), M(7, -3), M(8, -3), M(9, -3), M(10, -3), M(11, -3), M(12, -3), M(-12, -2), M(-11, -2), M(-10, -2), M(-9, -2), M(-8, -2), M(-7, -2), M(-6, -2), M(-5, -2), M(-4, -2), M(-3, -2), M(-2, -2), M(-1, -2), M(0, -2), M(1, -2), M(2, -2), M(3, -2), M(4, -2), M(5, -2), M(6, -2), M(7, -2), M(8, -2), M(9, -2), M(10, -2), M(11, -2), M(12, -2), M(-12, -1), M(-11, -1), M(-10, -1), M(-9, -1), M(-8, -1), M(-7, -1), M(-6, -1), M(-5, -1), M(-4, -1), M(-3, -1), M(-2, -1), M(-1, -1), M(0, -1), M(1, -1), M(2, -1), M(3, -1), M(4, -1), M(5, -1), M(6, -1), M(7, -1), M(8, -1), M(9, -1), M(10, -1), M(11, -1), M(12, -1), M(-12, 0), M(-11, 0), M(-10, 0), M(-9, 0), M(-8, 0), M(-7, 0), M(-6, 0), M(-5, 0), M(-4, 0), M(-3, 0), M(-2, 0), M(-1, 0), M(0, 0), M(1, 0), M(2, 0), M(3, 0), M(4, 0), M(5, 0), M(6, 0), M(7, 0), M(8, 0), M(9, 0), M(10, 0), M(11, 0), M(12, 0), M(-12, 1), M(-11, 1), M(-10, 1), M(-9, 1), M(-8, 1), M(-7, 1), M(-6, 1), M(-5, 1), M(-4, 1), M(-3, 1), M(-2, 1), M(-1, 1), M(0, 1), M(1, 1), M(2, 1), M(3, 1), M(4, 1), M(5, 1), M(6, 1), M(7, 1), M(8, 1), M(9, 1), M(10, 1), M(11, 1), M(12, 1), M(-12, 2), M(-11, 2), M(-10, 2), M(-9, 2), M(-8, 2), M(-7, 2), M(-6, 2), M(-5, 2), M(-4, 2), M(-3, 2), M(-2, 2), M(-1, 2), M(0, 2), M(1, 2), M(2, 2), M(3, 2), M(4, 2), M(5, 2), M(6, 2), M(7, 2), M(8, 2), M(9, 2), M(10, 2), M(11, 2), M(12, 2), M(-12, 3), M(-11, 3), M(-10, 3), M(-9, 3), M(-8, 3), M(-7, 3), M(-6, 3), M(-5, 3), M(-4, 3), M(-3, 3), M(-2, 3), M(-1, 3), M(0, 3), M(1, 3), M(2, 3), M(3, 3), M(4, 3), M(5, 3), M(6, 3), M(7, 3), M(8, 3), M(9, 3), M(10, 3), M(11, 3), M(12, 3), M(-11, 4), M(-10, 4), M(-9, 4), M(-8, 4), M(-7, 4), M(-6, 4), M(-5, 4), M(-4, 4), M(-3, 4), M(-2, 4), M(-1, 4), M(0, 4), M(1, 4), M(2, 4), M(3, 4), M(4, 4), M(5, 4), M(6, 4), M(7, 4), M(8, 4), M(9, 4), M(10, 4), M(11, 4), M(-11, 5), M(-10, 5), M(-9, 5), M(-8, 5), M(-7, 5), M(-6, 5), M(-5, 5), M(-4, 5), M(-3, 5), M(-2, 5), M(-1, 5), M(0, 5), M(1, 5), M(2, 5), M(3, 5), M(4, 5), M(5, 5), M(6, 5), M(7, 5), M(8, 5), M(9, 5), M(10, 5), M(11, 5), M(-10, 6), M(-9, 6), M(-8, 6), M(-7, 6), M(-6, 6), M(-5, 6), M(-4, 6), M(-3, 6), M(-2, 6), M(-1, 6), M(0, 6), M(1, 6), M(2, 6), M(3, 6), M(4, 6), M(5, 6), M(6, 6), M(7, 6), M(8, 6), M(9, 6), M(10, 6), M(-10, 7), M(-9, 7), M(-8, 7), M(-7, 7), M(-6, 7), M(-5, 7), M(-4, 7), M(-3, 7), M(-2, 7), M(-1, 7), M(0, 7), M(1, 7), M(2, 7), M(3, 7), M(4, 7), M(5, 7), M(6, 7), M(7, 7), M(8, 7), M(9, 7), M(10, 7), M(-9, 8), M(-8, 8), M(-7, 8), M(-6, 8), M(-5, 8), M(-4, 8), M(-3, 8), M(-2, 8), M(-1, 8), M(0, 8), M(1, 8), M(2, 8), M(3, 8), M(4, 8), M(5, 8), M(6, 8), M(7, 8), M(8, 8), M(9, 8), M(-8, 9), M(-7, 9), M(-6, 9), M(-5, 9), M(-4, 9), M(-3, 9), M(-2, 9), M(-1, 9), M(0, 9), M(1, 9), M(2, 9), M(3, 9), M(4, 9), M(5, 9), M(6, 9), M(7, 9), M(8, 9), M(-7, 10), M(-6, 10), M(-5, 10), M(-4, 10), M(-3, 10), M(-2, 10), M(-1, 10), M(0, 10), M(1, 10), M(2, 10), M(3, 10), M(4, 10), M(5, 10), M(6, 10), M(7, 10), M(-5, 11), M(-4, 11), M(-3, 11), M(-2, 11), M(-1, 11), M(0, 11), M(1, 11), M(2, 11), M(3, 11), M(4, 11), M(5, 11), M(-3, 12), M(-2, 12), M(-1, 12), M(0, 12), M(1, 12), M(2, 12), M(3, 12), }; // This array draws a filled circle 51 tiles in diameter. This is stupid. static const TileIndexDiffC _make_desert_or_rainforest_data_extralarge[] = { M(-5, -25), M(-4, -25), M(-3, -25), M(-2, -25), M(-1, -25), M(0, -25), M(1, -25), M(2, -25), M(3, -25), M(4, -25), M(5, -25), M(-8, -24), M(-7, -24), M(-6, -24), M(-5, -24), M(-4, -24), M(-3, -24), M(-2, -24), M(-1, -24), M(0, -24), M(1, -24), M(2, -24), M(3, -24), M(4, -24), M(5, -24), M(6, -24), M(7, -24), M(8, -24), M(-11, -23), M(-10, -23), M(-9, -23), M(-8, -23), M(-7, -23), M(-6, -23), M(-5, -23), M(-4, -23), M(-3, -23), M(-2, -23), M(-1, -23), M(0, -23), M(1, -23), M(2, -23), M(3, -23), M(4, -23), M(5, -23), M(6, -23), M(7, -23), M(8, -23), M(9, -23), M(10, -23), M(11, -23), M(-12, -22), M(-11, -22), M(-10, -22), M(-9, -22), M(-8, -22), M(-7, -22), M(-6, -22), M(-5, -22), M(-4, -22), M(-3, -22), M(-2, -22), M(-1, -22), M(0, -22), M(1, -22), M(2, -22), M(3, -22), M(4, -22), M(5, -22), M(6, -22), M(7, -22), M(8, -22), M(9, -22), M(10, -22), M(11, -22), M(12, -22), M(-14, -21), M(-13, -21), M(-12, -21), M(-11, -21), M(-10, -21), M(-9, -21), M(-8, -21), M(-7, -21), M(-6, -21), M(-5, -21), M(-4, -21), M(-3, -21), M(-2, -21), M(-1, -21), M(0, -21), M(1, -21), M(2, -21), M(3, -21), M(4, -21), M(5, -21), M(6, -21), M(7, -21), M(8, -21), M(9, -21), M(10, -21), M(11, -21), M(12, -21), M(13, -21), M(14, -21), M(-15, -20), M(-14, -20), M(-13, -20), M(-12, -20), M(-11, -20), M(-10, -20), M(-9, -20), M(-8, -20), M(-7, -20), M(-6, -20), M(-5, -20), M(-4, -20), M(-3, -20), M(-2, -20), M(-1, -20), M(0, -20), M(1, -20), M(2, -20), M(3, -20), M(4, -20), M(5, -20), M(6, -20), M(7, -20), M(8, -20), M(9, -20), M(10, -20), M(11, -20), M(12, -20), M(13, -20), M(14, -20), M(15, -20), M(-17, -19), M(-16, -19), M(-15, -19), M(-14, -19), M(-13, -19), M(-12, -19), M(-11, -19), M(-10, -19), M(-9, -19), M(-8, -19), M(-7, -19), M(-6, -19), M(-5, -19), M(-4, -19), M(-3, -19), M(-2, -19), M(-1, -19), M(0, -19), M(1, -19), M(2, -19), M(3, -19), M(4, -19), M(5, -19), M(6, -19), M(7, -19), M(8, -19), M(9, -19), M(10, -19), M(11, -19), M(12, -19), M(13, -19), M(14, -19), M(15, -19), M(16, -19), M(17, -19), M(-18, -18), M(-17, -18), M(-16, -18), M(-15, -18), M(-14, -18), M(-13, -18), M(-12, -18), M(-11, -18), M(-10, -18), M(-9, -18), M(-8, -18), M(-7, -18), M(-6, -18), M(-5, -18), M(-4, -18), M(-3, -18), M(-2, -18), M(-1, -18), M(0, -18), M(1, -18), M(2, -18), M(3, -18), M(4, -18), M(5, -18), M(6, -18), M(7, -18), M(8, -18), M(9, -18), M(10, -18), M(11, -18), M(12, -18), M(13, -18), M(14, -18), M(15, -18), M(16, -18), M(17, -18), M(18, -18), M(-19, -17), M(-18, -17), M(-17, -17), M(-16, -17), M(-15, -17), M(-14, -17), M(-13, -17), M(-12, -17), M(-11, -17), M(-10, -17), M(-9, -17), M(-8, -17), M(-7, -17), M(-6, -17), M(-5, -17), M(-4, -17), M(-3, -17), M(-2, -17), M(-1, -17), M(0, -17), M(1, -17), M(2, -17), M(3, -17), M(4, -17), M(5, -17), M(6, -17), M(7, -17), M(8, -17), M(9, -17), M(10, -17), M(11, -17), M(12, -17), M(13, -17), M(14, -17), M(15, -17), M(16, -17), M(17, -17), M(18, -17), M(19, -17), M(-19, -16), M(-18, -16), M(-17, -16), M(-16, -16), M(-15, -16), M(-14, -16), M(-13, -16), M(-12, -16), M(-11, -16), M(-10, -16), M(-9, -16), M(-8, -16), M(-7, -16), M(-6, -16), M(-5, -16), M(-4, -16), M(-3, -16), M(-2, -16), M(-1, -16), M(0, -16), M(1, -16), M(2, -16), M(3, -16), M(4, -16), M(5, -16), M(6, -16), M(7, -16), M(8, -16), M(9, -16), M(10, -16), M(11, -16), M(12, -16), M(13, -16), M(14, -16), M(15, -16), M(16, -16), M(17, -16), M(18, -16), M(19, -16), M(-20, -15), M(-19, -15), M(-18, -15), M(-17, -15), M(-16, -15), M(-15, -15), M(-14, -15), M(-13, -15), M(-12, -15), M(-11, -15), M(-10, -15), M(-9, -15), M(-8, -15), M(-7, -15), M(-6, -15), M(-5, -15), M(-4, -15), M(-3, -15), M(-2, -15), M(-1, -15), M(0, -15), M(1, -15), M(2, -15), M(3, -15), M(4, -15), M(5, -15), M(6, -15), M(7, -15), M(8, -15), M(9, -15), M(10, -15), M(11, -15), M(12, -15), M(13, -15), M(14, -15), M(15, -15), M(16, -15), M(17, -15), M(18, -15), M(19, -15), M(20, -15), M(-21, -14), M(-20, -14), M(-19, -14), M(-18, -14), M(-17, -14), M(-16, -14), M(-15, -14), M(-14, -14), M(-13, -14), M(-12, -14), M(-11, -14), M(-10, -14), M(-9, -14), M(-8, -14), M(-7, -14), M(-6, -14), M(-5, -14), M(-4, -14), M(-3, -14), M(-2, -14), M(-1, -14), M(0, -14), M(1, -14), M(2, -14), M(3, -14), M(4, -14), M(5, -14), M(6, -14), M(7, -14), M(8, -14), M(9, -14), M(10, -14), M(11, -14), M(12, -14), M(13, -14), M(14, -14), M(15, -14), M(16, -14), M(17, -14), M(18, -14), M(19, -14), M(20, -14), M(21, -14), M(-21, -13), M(-20, -13), M(-19, -13), M(-18, -13), M(-17, -13), M(-16, -13), M(-15, -13), M(-14, -13), M(-13, -13), M(-12, -13), M(-11, -13), M(-10, -13), M(-9, -13), M(-8, -13), M(-7, -13), M(-6, -13), M(-5, -13), M(-4, -13), M(-3, -13), M(-2, -13), M(-1, -13), M(0, -13), M(1, -13), M(2, -13), M(3, -13), M(4, -13), M(5, -13), M(6, -13), M(7, -13), M(8, -13), M(9, -13), M(10, -13), M(11, -13), M(12, -13), M(13, -13), M(14, -13), M(15, -13), M(16, -13), M(17, -13), M(18, -13), M(19, -13), M(20, -13), M(21, -13), M(-22, -12), M(-21, -12), M(-20, -12), M(-19, -12), M(-18, -12), M(-17, -12), M(-16, -12), M(-15, -12), M(-14, -12), M(-13, -12), M(-12, -12), M(-11, -12), M(-10, -12), M(-9, -12), M(-8, -12), M(-7, -12), M(-6, -12), M(-5, -12), M(-4, -12), M(-3, -12), M(-2, -12), M(-1, -12), M(0, -12), M(1, -12), M(2, -12), M(3, -12), M(4, -12), M(5, -12), M(6, -12), M(7, -12), M(8, -12), M(9, -12), M(10, -12), M(11, -12), M(12, -12), M(13, -12), M(14, -12), M(15, -12), M(16, -12), M(17, -12), M(18, -12), M(19, -12), M(20, -12), M(21, -12), M(22, -12), M(-23, -11), M(-22, -11), M(-21, -11), M(-20, -11), M(-19, -11), M(-18, -11), M(-17, -11), M(-16, -11), M(-15, -11), M(-14, -11), M(-13, -11), M(-12, -11), M(-11, -11), M(-10, -11), M(-9, -11), M(-8, -11), M(-7, -11), M(-6, -11), M(-5, -11), M(-4, -11), M(-3, -11), M(-2, -11), M(-1, -11), M(0, -11), M(1, -11), M(2, -11), M(3, -11), M(4, -11), M(5, -11), M(6, -11), M(7, -11), M(8, -11), M(9, -11), M(10, -11), M(11, -11), M(12, -11), M(13, -11), M(14, -11), M(15, -11), M(16, -11), M(17, -11), M(18, -11), M(19, -11), M(20, -11), M(21, -11), M(22, -11), M(23, -11), M(-23, -10), M(-22, -10), M(-21, -10), M(-20, -10), M(-19, -10), M(-18, -10), M(-17, -10), M(-16, -10), M(-15, -10), M(-14, -10), M(-13, -10), M(-12, -10), M(-11, -10), M(-10, -10), M(-9, -10), M(-8, -10), M(-7, -10), M(-6, -10), M(-5, -10), M(-4, -10), M(-3, -10), M(-2, -10), M(-1, -10), M(0, -10), M(1, -10), M(2, -10), M(3, -10), M(4, -10), M(5, -10), M(6, -10), M(7, -10), M(8, -10), M(9, -10), M(10, -10), M(11, -10), M(12, -10), M(13, -10), M(14, -10), M(15, -10), M(16, -10), M(17, -10), M(18, -10), M(19, -10), M(20, -10), M(21, -10), M(22, -10), M(23, -10), M(-23, -9), M(-22, -9), M(-21, -9), M(-20, -9), M(-19, -9), M(-18, -9), M(-17, -9), M(-16, -9), M(-15, -9), M(-14, -9), M(-13, -9), M(-12, -9), M(-11, -9), M(-10, -9), M(-9, -9), M(-8, -9), M(-7, -9), M(-6, -9), M(-5, -9), M(-4, -9), M(-3, -9), M(-2, -9), M(-1, -9), M(0, -9), M(1, -9), M(2, -9), M(3, -9), M(4, -9), M(5, -9), M(6, -9), M(7, -9), M(8, -9), M(9, -9), M(10, -9), M(11, -9), M(12, -9), M(13, -9), M(14, -9), M(15, -9), M(16, -9), M(17, -9), M(18, -9), M(19, -9), M(20, -9), M(21, -9), M(22, -9), M(23, -9), M(-24, -8), M(-23, -8), M(-22, -8), M(-21, -8), M(-20, -8), M(-19, -8), M(-18, -8), M(-17, -8), M(-16, -8), M(-15, -8), M(-14, -8), M(-13, -8), M(-12, -8), M(-11, -8), M(-10, -8), M(-9, -8), M(-8, -8), M(-7, -8), M(-6, -8), M(-5, -8), M(-4, -8), M(-3, -8), M(-2, -8), M(-1, -8), M(0, -8), M(1, -8), M(2, -8), M(3, -8), M(4, -8), M(5, -8), M(6, -8), M(7, -8), M(8, -8), M(9, -8), M(10, -8), M(11, -8), M(12, -8), M(13, -8), M(14, -8), M(15, -8), M(16, -8), M(17, -8), M(18, -8), M(19, -8), M(20, -8), M(21, -8), M(22, -8), M(23, -8), M(24, -8), M(-24, -7), M(-23, -7), M(-22, -7), M(-21, -7), M(-20, -7), M(-19, -7), M(-18, -7), M(-17, -7), M(-16, -7), M(-15, -7), M(-14, -7), M(-13, -7), M(-12, -7), M(-11, -7), M(-10, -7), M(-9, -7), M(-8, -7), M(-7, -7), M(-6, -7), M(-5, -7), M(-4, -7), M(-3, -7), M(-2, -7), M(-1, -7), M(0, -7), M(1, -7), M(2, -7), M(3, -7), M(4, -7), M(5, -7), M(6, -7), M(7, -7), M(8, -7), M(9, -7), M(10, -7), M(11, -7), M(12, -7), M(13, -7), M(14, -7), M(15, -7), M(16, -7), M(17, -7), M(18, -7), M(19, -7), M(20, -7), M(21, -7), M(22, -7), M(23, -7), M(24, -7), M(-24, -6), M(-23, -6), M(-22, -6), M(-21, -6), M(-20, -6), M(-19, -6), M(-18, -6), M(-17, -6), M(-16, -6), M(-15, -6), M(-14, -6), M(-13, -6), M(-12, -6), M(-11, -6), M(-10, -6), M(-9, -6), M(-8, -6), M(-7, -6), M(-6, -6), M(-5, -6), M(-4, -6), M(-3, -6), M(-2, -6), M(-1, -6), M(0, -6), M(1, -6), M(2, -6), M(3, -6), M(4, -6), M(5, -6), M(6, -6), M(7, -6), M(8, -6), M(9, -6), M(10, -6), M(11, -6), M(12, -6), M(13, -6), M(14, -6), M(15, -6), M(16, -6), M(17, -6), M(18, -6), M(19, -6), M(20, -6), M(21, -6), M(22, -6), M(23, -6), M(24, -6), M(-25, -5), M(-24, -5), M(-23, -5), M(-22, -5), M(-21, -5), M(-20, -5), M(-19, -5), M(-18, -5), M(-17, -5), M(-16, -5), M(-15, -5), M(-14, -5), M(-13, -5), M(-12, -5), M(-11, -5), M(-10, -5), M(-9, -5), M(-8, -5), M(-7, -5), M(-6, -5), M(-5, -5), M(-4, -5), M(-3, -5), M(-2, -5), M(-1, -5), M(0, -5), M(1, -5), M(2, -5), M(3, -5), M(4, -5), M(5, -5), M(6, -5), M(7, -5), M(8, -5), M(9, -5), M(10, -5), M(11, -5), M(12, -5), M(13, -5), M(14, -5), M(15, -5), M(16, -5), M(17, -5), M(18, -5), M(19, -5), M(20, -5), M(21, -5), M(22, -5), M(23, -5), M(24, -5), M(25, -5), M(-25, -4), M(-24, -4), M(-23, -4), M(-22, -4), M(-21, -4), M(-20, -4), M(-19, -4), M(-18, -4), M(-17, -4), M(-16, -4), M(-15, -4), M(-14, -4), M(-13, -4), M(-12, -4), M(-11, -4), M(-10, -4), M(-9, -4), M(-8, -4), M(-7, -4), M(-6, -4), M(-5, -4), M(-4, -4), M(-3, -4), M(-2, -4), M(-1, -4), M(0, -4), M(1, -4), M(2, -4), M(3, -4), M(4, -4), M(5, -4), M(6, -4), M(7, -4), M(8, -4), M(9, -4), M(10, -4), M(11, -4), M(12, -4), M(13, -4), M(14, -4), M(15, -4), M(16, -4), M(17, -4), M(18, -4), M(19, -4), M(20, -4), M(21, -4), M(22, -4), M(23, -4), M(24, -4), M(25, -4), M(-25, -3), M(-24, -3), M(-23, -3), M(-22, -3), M(-21, -3), M(-20, -3), M(-19, -3), M(-18, -3), M(-17, -3), M(-16, -3), M(-15, -3), M(-14, -3), M(-13, -3), M(-12, -3), M(-11, -3), M(-10, -3), M(-9, -3), M(-8, -3), M(-7, -3), M(-6, -3), M(-5, -3), M(-4, -3), M(-3, -3), M(-2, -3), M(-1, -3), M(0, -3), M(1, -3), M(2, -3), M(3, -3), M(4, -3), M(5, -3), M(6, -3), M(7, -3), M(8, -3), M(9, -3), M(10, -3), M(11, -3), M(12, -3), M(13, -3), M(14, -3), M(15, -3), M(16, -3), M(17, -3), M(18, -3), M(19, -3), M(20, -3), M(21, -3), M(22, -3), M(23, -3), M(24, -3), M(25, -3), M(-25, -2), M(-24, -2), M(-23, -2), M(-22, -2), M(-21, -2), M(-20, -2), M(-19, -2), M(-18, -2), M(-17, -2), M(-16, -2), M(-15, -2), M(-14, -2), M(-13, -2), M(-12, -2), M(-11, -2), M(-10, -2), M(-9, -2), M(-8, -2), M(-7, -2), M(-6, -2), M(-5, -2), M(-4, -2), M(-3, -2), M(-2, -2), M(-1, -2), M(0, -2), M(1, -2), M(2, -2), M(3, -2), M(4, -2), M(5, -2), M(6, -2), M(7, -2), M(8, -2), M(9, -2), M(10, -2), M(11, -2), M(12, -2), M(13, -2), M(14, -2), M(15, -2), M(16, -2), M(17, -2), M(18, -2), M(19, -2), M(20, -2), M(21, -2), M(22, -2), M(23, -2), M(24, -2), M(25, -2), M(-25, -1), M(-24, -1), M(-23, -1), M(-22, -1), M(-21, -1), M(-20, -1), M(-19, -1), M(-18, -1), M(-17, -1), M(-16, -1), M(-15, -1), M(-14, -1), M(-13, -1), M(-12, -1), M(-11, -1), M(-10, -1), M(-9, -1), M(-8, -1), M(-7, -1), M(-6, -1), M(-5, -1), M(-4, -1), M(-3, -1), M(-2, -1), M(-1, -1), M(0, -1), M(1, -1), M(2, -1), M(3, -1), M(4, -1), M(5, -1), M(6, -1), M(7, -1), M(8, -1), M(9, -1), M(10, -1), M(11, -1), M(12, -1), M(13, -1), M(14, -1), M(15, -1), M(16, -1), M(17, -1), M(18, -1), M(19, -1), M(20, -1), M(21, -1), M(22, -1), M(23, -1), M(24, -1), M(25, -1), M(-25, 0), M(-24, 0), M(-23, 0), M(-22, 0), M(-21, 0), M(-20, 0), M(-19, 0), M(-18, 0), M(-17, 0), M(-16, 0), M(-15, 0), M(-14, 0), M(-13, 0), M(-12, 0), M(-11, 0), M(-10, 0), M(-9, 0), M(-8, 0), M(-7, 0), M(-6, 0), M(-5, 0), M(-4, 0), M(-3, 0), M(-2, 0), M(-1, 0), M(0, 0), M(1, 0), M(2, 0), M(3, 0), M(4, 0), M(5, 0), M(6, 0), M(7, 0), M(8, 0), M(9, 0), M(10, 0), M(11, 0), M(12, 0), M(13, 0), M(14, 0), M(15, 0), M(16, 0), M(17, 0), M(18, 0), M(19, 0), M(20, 0), M(21, 0), M(22, 0), M(23, 0), M(24, 0), M(25, 0), M(-25, 1), M(-24, 1), M(-23, 1), M(-22, 1), M(-21, 1), M(-20, 1), M(-19, 1), M(-18, 1), M(-17, 1), M(-16, 1), M(-15, 1), M(-14, 1), M(-13, 1), M(-12, 1), M(-11, 1), M(-10, 1), M(-9, 1), M(-8, 1), M(-7, 1), M(-6, 1), M(-5, 1), M(-4, 1), M(-3, 1), M(-2, 1), M(-1, 1), M(0, 1), M(1, 1), M(2, 1), M(3, 1), M(4, 1), M(5, 1), M(6, 1), M(7, 1), M(8, 1), M(9, 1), M(10, 1), M(11, 1), M(12, 1), M(13, 1), M(14, 1), M(15, 1), M(16, 1), M(17, 1), M(18, 1), M(19, 1), M(20, 1), M(21, 1), M(22, 1), M(23, 1), M(24, 1), M(25, 1), M(-25, 2), M(-24, 2), M(-23, 2), M(-22, 2), M(-21, 2), M(-20, 2), M(-19, 2), M(-18, 2), M(-17, 2), M(-16, 2), M(-15, 2), M(-14, 2), M(-13, 2), M(-12, 2), M(-11, 2), M(-10, 2), M(-9, 2), M(-8, 2), M(-7, 2), M(-6, 2), M(-5, 2), M(-4, 2), M(-3, 2), M(-2, 2), M(-1, 2), M(0, 2), M(1, 2), M(2, 2), M(3, 2), M(4, 2), M(5, 2), M(6, 2), M(7, 2), M(8, 2), M(9, 2), M(10, 2), M(11, 2), M(12, 2), M(13, 2), M(14, 2), M(15, 2), M(16, 2), M(17, 2), M(18, 2), M(19, 2), M(20, 2), M(21, 2), M(22, 2), M(23, 2), M(24, 2), M(25, 2), M(-25, 3), M(-24, 3), M(-23, 3), M(-22, 3), M(-21, 3), M(-20, 3), M(-19, 3), M(-18, 3), M(-17, 3), M(-16, 3), M(-15, 3), M(-14, 3), M(-13, 3), M(-12, 3), M(-11, 3), M(-10, 3), M(-9, 3), M(-8, 3), M(-7, 3), M(-6, 3), M(-5, 3), M(-4, 3), M(-3, 3), M(-2, 3), M(-1, 3), M(0, 3), M(1, 3), M(2, 3), M(3, 3), M(4, 3), M(5, 3), M(6, 3), M(7, 3), M(8, 3), M(9, 3), M(10, 3), M(11, 3), M(12, 3), M(13, 3), M(14, 3), M(15, 3), M(16, 3), M(17, 3), M(18, 3), M(19, 3), M(20, 3), M(21, 3), M(22, 3), M(23, 3), M(24, 3), M(25, 3), M(-25, 4), M(-24, 4), M(-23, 4), M(-22, 4), M(-21, 4), M(-20, 4), M(-19, 4), M(-18, 4), M(-17, 4), M(-16, 4), M(-15, 4), M(-14, 4), M(-13, 4), M(-12, 4), M(-11, 4), M(-10, 4), M(-9, 4), M(-8, 4), M(-7, 4), M(-6, 4), M(-5, 4), M(-4, 4), M(-3, 4), M(-2, 4), M(-1, 4), M(0, 4), M(1, 4), M(2, 4), M(3, 4), M(4, 4), M(5, 4), M(6, 4), M(7, 4), M(8, 4), M(9, 4), M(10, 4), M(11, 4), M(12, 4), M(13, 4), M(14, 4), M(15, 4), M(16, 4), M(17, 4), M(18, 4), M(19, 4), M(20, 4), M(21, 4), M(22, 4), M(23, 4), M(24, 4), M(25, 4), M(-25, 5), M(-24, 5), M(-23, 5), M(-22, 5), M(-21, 5), M(-20, 5), M(-19, 5), M(-18, 5), M(-17, 5), M(-16, 5), M(-15, 5), M(-14, 5), M(-13, 5), M(-12, 5), M(-11, 5), M(-10, 5), M(-9, 5), M(-8, 5), M(-7, 5), M(-6, 5), M(-5, 5), M(-4, 5), M(-3, 5), M(-2, 5), M(-1, 5), M(0, 5), M(1, 5), M(2, 5), M(3, 5), M(4, 5), M(5, 5), M(6, 5), M(7, 5), M(8, 5), M(9, 5), M(10, 5), M(11, 5), M(12, 5), M(13, 5), M(14, 5), M(15, 5), M(16, 5), M(17, 5), M(18, 5), M(19, 5), M(20, 5), M(21, 5), M(22, 5), M(23, 5), M(24, 5), M(25, 5), M(-24, 6), M(-23, 6), M(-22, 6), M(-21, 6), M(-20, 6), M(-19, 6), M(-18, 6), M(-17, 6), M(-16, 6), M(-15, 6), M(-14, 6), M(-13, 6), M(-12, 6), M(-11, 6), M(-10, 6), M(-9, 6), M(-8, 6), M(-7, 6), M(-6, 6), M(-5, 6), M(-4, 6), M(-3, 6), M(-2, 6), M(-1, 6), M(0, 6), M(1, 6), M(2, 6), M(3, 6), M(4, 6), M(5, 6), M(6, 6), M(7, 6), M(8, 6), M(9, 6), M(10, 6), M(11, 6), M(12, 6), M(13, 6), M(14, 6), M(15, 6), M(16, 6), M(17, 6), M(18, 6), M(19, 6), M(20, 6), M(21, 6), M(22, 6), M(23, 6), M(24, 6), M(-24, 7), M(-23, 7), M(-22, 7), M(-21, 7), M(-20, 7), M(-19, 7), M(-18, 7), M(-17, 7), M(-16, 7), M(-15, 7), M(-14, 7), M(-13, 7), M(-12, 7), M(-11, 7), M(-10, 7), M(-9, 7), M(-8, 7), M(-7, 7), M(-6, 7), M(-5, 7), M(-4, 7), M(-3, 7), M(-2, 7), M(-1, 7), M(0, 7), M(1, 7), M(2, 7), M(3, 7), M(4, 7), M(5, 7), M(6, 7), M(7, 7), M(8, 7), M(9, 7), M(10, 7), M(11, 7), M(12, 7), M(13, 7), M(14, 7), M(15, 7), M(16, 7), M(17, 7), M(18, 7), M(19, 7), M(20, 7), M(21, 7), M(22, 7), M(23, 7), M(24, 7), M(-24, 8), M(-23, 8), M(-22, 8), M(-21, 8), M(-20, 8), M(-19, 8), M(-18, 8), M(-17, 8), M(-16, 8), M(-15, 8), M(-14, 8), M(-13, 8), M(-12, 8), M(-11, 8), M(-10, 8), M(-9, 8), M(-8, 8), M(-7, 8), M(-6, 8), M(-5, 8), M(-4, 8), M(-3, 8), M(-2, 8), M(-1, 8), M(0, 8), M(1, 8), M(2, 8), M(3, 8), M(4, 8), M(5, 8), M(6, 8), M(7, 8), M(8, 8), M(9, 8), M(10, 8), M(11, 8), M(12, 8), M(13, 8), M(14, 8), M(15, 8), M(16, 8), M(17, 8), M(18, 8), M(19, 8), M(20, 8), M(21, 8), M(22, 8), M(23, 8), M(24, 8), M(-23, 9), M(-22, 9), M(-21, 9), M(-20, 9), M(-19, 9), M(-18, 9), M(-17, 9), M(-16, 9), M(-15, 9), M(-14, 9), M(-13, 9), M(-12, 9), M(-11, 9), M(-10, 9), M(-9, 9), M(-8, 9), M(-7, 9), M(-6, 9), M(-5, 9), M(-4, 9), M(-3, 9), M(-2, 9), M(-1, 9), M(0, 9), M(1, 9), M(2, 9), M(3, 9), M(4, 9), M(5, 9), M(6, 9), M(7, 9), M(8, 9), M(9, 9), M(10, 9), M(11, 9), M(12, 9), M(13, 9), M(14, 9), M(15, 9), M(16, 9), M(17, 9), M(18, 9), M(19, 9), M(20, 9), M(21, 9), M(22, 9), M(23, 9), M(-23, 10), M(-22, 10), M(-21, 10), M(-20, 10), M(-19, 10), M(-18, 10), M(-17, 10), M(-16, 10), M(-15, 10), M(-14, 10), M(-13, 10), M(-12, 10), M(-11, 10), M(-10, 10), M(-9, 10), M(-8, 10), M(-7, 10), M(-6, 10), M(-5, 10), M(-4, 10), M(-3, 10), M(-2, 10), M(-1, 10), M(0, 10), M(1, 10), M(2, 10), M(3, 10), M(4, 10), M(5, 10), M(6, 10), M(7, 10), M(8, 10), M(9, 10), M(10, 10), M(11, 10), M(12, 10), M(13, 10), M(14, 10), M(15, 10), M(16, 10), M(17, 10), M(18, 10), M(19, 10), M(20, 10), M(21, 10), M(22, 10), M(23, 10), M(-23, 11), M(-22, 11), M(-21, 11), M(-20, 11), M(-19, 11), M(-18, 11), M(-17, 11), M(-16, 11), M(-15, 11), M(-14, 11), M(-13, 11), M(-12, 11), M(-11, 11), M(-10, 11), M(-9, 11), M(-8, 11), M(-7, 11), M(-6, 11), M(-5, 11), M(-4, 11), M(-3, 11), M(-2, 11), M(-1, 11), M(0, 11), M(1, 11), M(2, 11), M(3, 11), M(4, 11), M(5, 11), M(6, 11), M(7, 11), M(8, 11), M(9, 11), M(10, 11), M(11, 11), M(12, 11), M(13, 11), M(14, 11), M(15, 11), M(16, 11), M(17, 11), M(18, 11), M(19, 11), M(20, 11), M(21, 11), M(22, 11), M(23, 11), M(-22, 12), M(-21, 12), M(-20, 12), M(-19, 12), M(-18, 12), M(-17, 12), M(-16, 12), M(-15, 12), M(-14, 12), M(-13, 12), M(-12, 12), M(-11, 12), M(-10, 12), M(-9, 12), M(-8, 12), M(-7, 12), M(-6, 12), M(-5, 12), M(-4, 12), M(-3, 12), M(-2, 12), M(-1, 12), M(0, 12), M(1, 12), M(2, 12), M(3, 12), M(4, 12), M(5, 12), M(6, 12), M(7, 12), M(8, 12), M(9, 12), M(10, 12), M(11, 12), M(12, 12), M(13, 12), M(14, 12), M(15, 12), M(16, 12), M(17, 12), M(18, 12), M(19, 12), M(20, 12), M(21, 12), M(22, 12), M(-21, 13), M(-20, 13), M(-19, 13), M(-18, 13), M(-17, 13), M(-16, 13), M(-15, 13), M(-14, 13), M(-13, 13), M(-12, 13), M(-11, 13), M(-10, 13), M(-9, 13), M(-8, 13), M(-7, 13), M(-6, 13), M(-5, 13), M(-4, 13), M(-3, 13), M(-2, 13), M(-1, 13), M(0, 13), M(1, 13), M(2, 13), M(3, 13), M(4, 13), M(5, 13), M(6, 13), M(7, 13), M(8, 13), M(9, 13), M(10, 13), M(11, 13), M(12, 13), M(13, 13), M(14, 13), M(15, 13), M(16, 13), M(17, 13), M(18, 13), M(19, 13), M(20, 13), M(21, 13), M(-21, 14), M(-20, 14), M(-19, 14), M(-18, 14), M(-17, 14), M(-16, 14), M(-15, 14), M(-14, 14), M(-13, 14), M(-12, 14), M(-11, 14), M(-10, 14), M(-9, 14), M(-8, 14), M(-7, 14), M(-6, 14), M(-5, 14), M(-4, 14), M(-3, 14), M(-2, 14), M(-1, 14), M(0, 14), M(1, 14), M(2, 14), M(3, 14), M(4, 14), M(5, 14), M(6, 14), M(7, 14), M(8, 14), M(9, 14), M(10, 14), M(11, 14), M(12, 14), M(13, 14), M(14, 14), M(15, 14), M(16, 14), M(17, 14), M(18, 14), M(19, 14), M(20, 14), M(21, 14), M(-20, 15), M(-19, 15), M(-18, 15), M(-17, 15), M(-16, 15), M(-15, 15), M(-14, 15), M(-13, 15), M(-12, 15), M(-11, 15), M(-10, 15), M(-9, 15), M(-8, 15), M(-7, 15), M(-6, 15), M(-5, 15), M(-4, 15), M(-3, 15), M(-2, 15), M(-1, 15), M(0, 15), M(1, 15), M(2, 15), M(3, 15), M(4, 15), M(5, 15), M(6, 15), M(7, 15), M(8, 15), M(9, 15), M(10, 15), M(11, 15), M(12, 15), M(13, 15), M(14, 15), M(15, 15), M(16, 15), M(17, 15), M(18, 15), M(19, 15), M(20, 15), M(-19, 16), M(-18, 16), M(-17, 16), M(-16, 16), M(-15, 16), M(-14, 16), M(-13, 16), M(-12, 16), M(-11, 16), M(-10, 16), M(-9, 16), M(-8, 16), M(-7, 16), M(-6, 16), M(-5, 16), M(-4, 16), M(-3, 16), M(-2, 16), M(-1, 16), M(0, 16), M(1, 16), M(2, 16), M(3, 16), M(4, 16), M(5, 16), M(6, 16), M(7, 16), M(8, 16), M(9, 16), M(10, 16), M(11, 16), M(12, 16), M(13, 16), M(14, 16), M(15, 16), M(16, 16), M(17, 16), M(18, 16), M(19, 16), M(-19, 17), M(-18, 17), M(-17, 17), M(-16, 17), M(-15, 17), M(-14, 17), M(-13, 17), M(-12, 17), M(-11, 17), M(-10, 17), M(-9, 17), M(-8, 17), M(-7, 17), M(-6, 17), M(-5, 17), M(-4, 17), M(-3, 17), M(-2, 17), M(-1, 17), M(0, 17), M(1, 17), M(2, 17), M(3, 17), M(4, 17), M(5, 17), M(6, 17), M(7, 17), M(8, 17), M(9, 17), M(10, 17), M(11, 17), M(12, 17), M(13, 17), M(14, 17), M(15, 17), M(16, 17), M(17, 17), M(18, 17), M(19, 17), M(-18, 18), M(-17, 18), M(-16, 18), M(-15, 18), M(-14, 18), M(-13, 18), M(-12, 18), M(-11, 18), M(-10, 18), M(-9, 18), M(-8, 18), M(-7, 18), M(-6, 18), M(-5, 18), M(-4, 18), M(-3, 18), M(-2, 18), M(-1, 18), M(0, 18), M(1, 18), M(2, 18), M(3, 18), M(4, 18), M(5, 18), M(6, 18), M(7, 18), M(8, 18), M(9, 18), M(10, 18), M(11, 18), M(12, 18), M(13, 18), M(14, 18), M(15, 18), M(16, 18), M(17, 18), M(18, 18), M(-17, 19), M(-16, 19), M(-15, 19), M(-14, 19), M(-13, 19), M(-12, 19), M(-11, 19), M(-10, 19), M(-9, 19), M(-8, 19), M(-7, 19), M(-6, 19), M(-5, 19), M(-4, 19), M(-3, 19), M(-2, 19), M(-1, 19), M(0, 19), M(1, 19), M(2, 19), M(3, 19), M(4, 19), M(5, 19), M(6, 19), M(7, 19), M(8, 19), M(9, 19), M(10, 19), M(11, 19), M(12, 19), M(13, 19), M(14, 19), M(15, 19), M(16, 19), M(17, 19), M(-15, 20), M(-14, 20), M(-13, 20), M(-12, 20), M(-11, 20), M(-10, 20), M(-9, 20), M(-8, 20), M(-7, 20), M(-6, 20), M(-5, 20), M(-4, 20), M(-3, 20), M(-2, 20), M(-1, 20), M(0, 20), M(1, 20), M(2, 20), M(3, 20), M(4, 20), M(5, 20), M(6, 20), M(7, 20), M(8, 20), M(9, 20), M(10, 20), M(11, 20), M(12, 20), M(13, 20), M(14, 20), M(15, 20), M(-14, 21), M(-13, 21), M(-12, 21), M(-11, 21), M(-10, 21), M(-9, 21), M(-8, 21), M(-7, 21), M(-6, 21), M(-5, 21), M(-4, 21), M(-3, 21), M(-2, 21), M(-1, 21), M(0, 21), M(1, 21), M(2, 21), M(3, 21), M(4, 21), M(5, 21), M(6, 21), M(7, 21), M(8, 21), M(9, 21), M(10, 21), M(11, 21), M(12, 21), M(13, 21), M(14, 21), M(-12, 22), M(-11, 22), M(-10, 22), M(-9, 22), M(-8, 22), M(-7, 22), M(-6, 22), M(-5, 22), M(-4, 22), M(-3, 22), M(-2, 22), M(-1, 22), M(0, 22), M(1, 22), M(2, 22), M(3, 22), M(4, 22), M(5, 22), M(6, 22), M(7, 22), M(8, 22), M(9, 22), M(10, 22), M(11, 22), M(12, 22), M(-11, 23), M(-10, 23), M(-9, 23), M(-8, 23), M(-7, 23), M(-6, 23), M(-5, 23), M(-4, 23), M(-3, 23), M(-2, 23), M(-1, 23), M(0, 23), M(1, 23), M(2, 23), M(3, 23), M(4, 23), M(5, 23), M(6, 23), M(7, 23), M(8, 23), M(9, 23), M(10, 23), M(11, 23), M(-8, 24), M(-7, 24), M(-6, 24), M(-5, 24), M(-4, 24), M(-3, 24), M(-2, 24), M(-1, 24), M(0, 24), M(1, 24), M(2, 24), M(3, 24), M(4, 24), M(5, 24), M(6, 24), M(7, 24), M(8, 24), M(-5, 25), M(-4, 25), M(-3, 25), M(-2, 25), M(-1, 25), M(0, 25), M(1, 25), M(2, 25), M(3, 25), M(4, 25), M(5, 25) }; #undef M