// Data array for continents, as a sequence of connected line segment // (polylines). Segment end coordinates are in degrees, each pair // representing the absolute latitude and longitude respectively, // West and South are negative. The step between break-points is // not greather than 7 degree. The end of a sequence is represented // by 0,0. // The data order is the following: Africa, Europe, Asia, // South America, North America, Australia and Antartic. const globe_data: array[0..3093] of integer = ( 33, 28, 35, 25, 37, 22, 38, 18, 40, 15, 43, 13, 44, 11, 45, 10, 52, 12, 51, 10, 48, 6, 46, 2, 44, 1, 38, -6, 39, -7, 39, -9, 41, -11, 41, -15, 39, -17, 37, -18, 35, -20, 36, -24, 33, -26, 32, -29, 29, -32, 26, -34, 21, -34, 20, -35, 18, -33, 18, -31, 15, -26, 14, -22, 12, -18, 12, -16, 13, -13, 14, -12, 14, -11, 12, -5, 9, -1, 10, 3, 8, 5, 6, 4, 5, 6, 4, 7, -2, 5, -6, 5, -8, 4, -13, 8, -13, 9, -17, 13, -18, 15, -17, 17, -17, 20, -18, 21, -18, 22, -14, 26, -13, 28, -10, 30, -10, 32, -9, 33, -7, 34, -5, 36, -4, 35, -2, 35, 0, 36, 4, 37, 11, 37, 10, 34, 13, 33, 15, 32, 19, 30, 20, 31, 20, 32, 21, 33, 23, 33, 23, 32, 29, 31, 31, 32, 33, 31, 0, 0, 50, -13, 50, -16, 47, -25, 45, -26, 44, -25, 43, -22, 44, -19, 44, -17, 45, -16, 46, -16, 49, -12, 50, -13, 0, 0, 34, 0, 34, -1, 33, -2, 32, -2, 32, 0, 34, 0, 0, 0, 13, 14, 14, 14, 15, 13, 14, 13, 14, 12, 13, 14, 0, 0, 33, 31, 34, 31, 36, 35, 36, 37, 35, 37, 33, 36, 31, 37, 30, 38, 27, 37, 26, 39, 26, 40, 29, 41, 0, 0, 32, 35, 34, 35, 35, 36, 32, 35, 0, 0, 26, 35, 24, 36, 25, 35, 26, 35, 0, 0, 29, 41, 31, 41, 33, 42, 35, 42, 38, 41, 40, 41, 42, 42, 42, 43, 37, 45, 39, 47, 35, 46, 37, 45, 34, 44, 33, 45, 34, 46, 31, 47, 30, 45, 28, 43, 28, 42, 29, 41, 28, 41, 26, 40, 26, 41, 24, 41, 24, 40, 23, 40, 23, 39, 25, 38, 23, 37, 23, 36, 21, 38, 21, 39, 20, 40, 19, 42, 15, 44, 15, 45, 14, 45, 14, 46, 12, 45, 15, 42, 16, 42, 17, 41, 18, 40, 17, 40, 17, 39, 16, 38, 12, 38, 14, 37, 15, 37, 15, 38, 16, 39, 16, 40, 12, 42, 10, 44, 8, 44, 6, 43, 3, 43, 3, 42, 1, 41, 0, 40, 0, 39, -2, 37, -4, 37, -6, 36, -7, 37, -9, 37, -9, 38, -10, 39, -9, 41, -9, 43, -8, 44, -2, 43, -1, 45, -1, 46, -2, 47, -5, 48, -3, 49, -2, 49, -2, 50, 0, 49, 2, 51, 1, 51, -5, 50, -6, 50, -4, 51, -3, 51, -5, 52, -3, 54, -5, 55, -5, 56, -6, 55, -8, 55, -9, 54, -10, 54, -10, 53, -9, 53, -10, 52, -10, 51, -7, 52, -6, 53, -6, 59, -7, 57, -6, 57, -5, 58, -3, 59, -3, 58, -2, 58, -3, 56, -2, 56, 0, 54, 0, 53, 2, 53, 2, 52, 1, 52, 2, 51, 5, 53, 9, 54, 8, 57, 11, 58, 11, 57, 10, 55, 12, 55, 12, 56, 11, 56, 11, 54, 14, 55, 14, 54, 18, 55, 21, 55, 21, 57, 23, 58, 24, 57, 25, 58, 22, 59, 22, 58, 26, 60, 30, 60, 28, 61, 25, 60, 22, 60, 21, 61, 21, 63, 25, 65, 24, 66, 23, 66, 21, 64, 17, 62, 17, 61, 19, 60, 17, 58, 16, 56, 13, 56, 13, 57, 11, 59, 8, 58, 7, 58, 6, 59, 5, 62, 10, 64, 12, 65, 15, 68, 16, 69, 19, 70, 24, 71, 28, 71, 31, 70, 29, 70, 34, 69, 36, 69, 40, 68, 41, 67, 38, 66, 37, 66, 33, 67, 35, 66, 35, 64, 38, 63, 38, 64, 36, 65, 37, 65, 40, 64, 40, 66, 43, 67, 44, 67, 43, 69, 46, 69, 47, 68, 45, 67, 48, 67, 49, 68, 54, 69, 54, 68, 59, 69, 60, 68, 61, 69, 58, 71, 56, 72, 57, 73, 54, 73, 54, 74, 56, 75, 62, 76, 64, 76, 67, 77, 69, 77, 69, 76, 60, 74, 57, 73, 54, 73, 52, 72, 55, 71, 58, 71, 60, 70, 61, 70, 68, 68, 0, 0, 10, 41, 10, 39, 9, 39, 10, 43, 9, 42, 10, 41, 0, 0, 4, 40, 4, 39, 3, 39, 4, 40, 0, 0, -16, 64, -19, 63, -23, 64, -22, 65, -24, 65, -24, 66, -22, 67, -21, 66, -21, 65, -20, 66, -17, 66, -16, 67, -13, 65, -16, 64, 0, 0, -45, 60, -47, 61, -48, 61, -51, 63, -54, 67, -53, 68, -51, 68, -51, 70, -55, 70, -54, 69, -52, 69, -54, 71, -52, 71, -53, 72, -56, 72, -59, 76, -62, 77, -68, 77, -71, 78, -72, 79, -65, 80, -67, 80, -59, 82, -51, 82, -43, 83, -34, 83, -28, 83, -20, 82, -22, 81, -17, 81, -12, 81, -20, 80, -20, 73, -22, 72, -21, 70, -27, 69, -32, 68, -34, 66, -40, 65, -43, 60, -45, 60, 0, 0, 68, 68, 69, 69, 67, 70, 67, 72, 69, 73, 72, 73, 71, 72, 73, 68, 72, 67, 68, 66, 72, 66, 74, 67, 74, 68, 76, 68, 78, 67, 77, 69, 74, 69, 74, 71, 73, 72, 74, 73, 75, 73, 75, 72, 78, 71, 76, 72, 80, 72, 83, 71, 81, 73, 81, 74, 86, 74, 87, 75, 93, 76, 98, 76, 101, 77, 103, 78, 105, 79, 102, 80, 99, 79, 91, 80, 98, 80, 95, 81, 92, 80, 100, 80, 100, 79, 104, 79, 108, 77, 112, 77, 114, 76, 113, 75, 105, 74, 112, 74, 118, 74, 123, 73, 123, 74, 128, 73, 129, 71, 130, 71, 133, 72, 140, 72, 140, 75, 135, 76, 138, 77, 145, 76, 150, 75, 152, 76, 147, 76, 143, 75, 140, 75, 143, 74, 140, 74, 140, 73, 148, 72, 153, 71, 159, 71, 160, 70, 167, 70, 169, 69, 172, 69, 171, 70, 176, 70, -176, 68, -174, 66, -174, 67, -172, 67, -170, 66, -173, 64, -176, 65, -176, 66, -178, 66, -178, 67, 180, 65, 176, 65, 178, 64, 179, 63, 178, 62, 177, 63, 171, 61, 170, 60, 169, 61, 163, 60, 162, 58, 163, 58, 163, 56, 162, 56, 162, 55, 160, 54, 160, 53, 158, 53, 158, 52, 157, 51, 156, 56, 157, 58, 164, 61, 164, 62, 160, 61, 160, 62, 157, 62, 154, 60, 155, 59, 153, 59, 149, 60, 149, 59, 143, 59, 135, 55, 138, 54, 140, 54, 141, 53, 141, 52, 142, 51, 142, 46, 143, 47, 144, 46, 144, 47, 143, 48, 143, 49, 144, 49, 145, 48, 143, 52, 143, 54, 142, 53, 140, 48, 136, 44, 134, 43, 133, 43, 132, 44, 130, 42, 130, 41, 128, 40, 127, 39, 129, 37, 129, 35, 126, 34, 126, 38, 125, 38, 125, 39, 124, 40, 121, 39, 122, 41, 121, 41, 119, 39, 118, 39, 118, 38, 119, 38, 119, 37, 120, 37, 121, 38, 123, 37, 119, 35, 122, 32, 122, 31, 120, 30, 122, 30, 120, 26, 116, 23, 111, 21, 109, 19, 109, 18, 110, 18, 111, 20, 110, 20, 110, 22, 108, 22, 106, 20, 106, 18, 108, 15, 109, 13, 109, 11, 105, 8, 105, 10, 103, 11, 102, 13, 101, 13, 101, 14, 100, 14, 100, 12, 99, 9, 100, 9, 101, 7, 102, 7, 103, 5, 104, 3, 105, 1, 102, 3, 100, 7, 98, 8, 98, 14, 97, 17, 95, 16, 94, 16, 94, 19, 92, 23, 87, 22, 87, 20, 82, 17, 80, 16, 80, 10, 80, 6, 81, 6, 82, 7, 82, 8, 81, 9, 80, 10, 78, 8, 77, 8, 74, 15, 73, 22, 72, 21, 70, 21, 69, 22, 71, 23, 69, 23, 67, 26, 62, 25, 57, 26, 56, 27, 55, 26, 51, 28, 50, 30, 48, 30, 47, 29, 50, 27, 50, 26, 51, 25, 51, 26, 52, 26, 52, 24, 54, 24, 56, 26, 56, 25, 57, 24, 58, 23, 60, 22, 58, 19, 57, 19, 57, 18, 55, 18, 55, 17, 52, 16, 52, 15, 45, 13, 44, 13, 42, 17, 39, 22, 35, 28, 35, 29, 34, 28, 33, 30, 33, 28, 0, 0, 50, 40, 47, 43, 47, 45, 51, 47, 53, 47, 53, 46, 52, 45, 50, 45, 52, 43, 53, 43, 53, 41, 54, 42, 55, 41, 53, 41, 53, 40, 54, 39, 54, 37, 51, 37, 49, 38, 49, 39, 50, 40, 0, 0, 62, 45, 61, 44, 58, 44, 58, 45, 59, 46, 62, 47, 61, 46, 62, 45, 0, 0, 142, 40, 142, 39, 141, 38, 141, 36, 140, 35, 140, 36, 139, 35, 137, 35, 136, 34, 135, 34, 133, 33, 132, 33, 133, 34, 135, 34, 136, 35, 132, 34, 131, 34, 132, 33, 131, 31, 130, 30, 130, 33, 129, 33, 131, 34, 132, 35, 136, 36, 137, 37, 138, 37, 140, 39, 140, 43, 142, 44, 142, 46, 144, 44, 146, 43, 144, 43, 143, 42, 142, 43, 141, 43, 141, 42, 140, 41, 141, 41, 142, 40, 0, 0, 120, 24, 121, 25, 122, 25, 121, 22, 120, 23, 120, 24, 0, 0, 120, 18, 122, 18, 122, 16, 121, 15, 122, 14, 124, 14, 124, 11, 125, 10, 126, 9, 127, 8, 126, 7, 126, 6, 124, 7, 123, 8, 122, 7, 122, 8, 124, 8, 125, 10, 125, 11, 126, 11, 125, 12, 124, 12, 122, 14, 120, 14, 121, 12, 123, 11, 123, 10, 122, 10, 124, 9, 124, 10, 124, 11, 123, 11, 122, 10, 121, 12, 120, 12, 120, 11, 117, 8, 120, 10, 120, 11, 121, 12, 121, 14, 120, 15, 119, 17, 120, 16, 120, 18, 0, 0, 95, 6, 98, 5, 101, 2, 102, 2, 104, 0, 103, -1, 104, -1, 106, -3, 107, -3, 106, -2, 106, -6, 105, -7, 111, -8, 114, -8, 115, -9, 116, -8, 117, -9, 118, -9, 120, -8, 127, -8, 125, -9, 125, -10, 123, -11, 124, -9, 125, -8, 124, -8, 119, -9, 121, -10, 119, -8, 117, -8, 116, -9, 115, -8, 114, -8, 114, -7, 108, -7, 107, -6, 104, -6, 101, -3, 99, 1, 95, 5, 95, 6, 0, 0, 110, 2, 111, 2, 111, 3, 113, 3, 116, 7, 117, 6, 118, 6, 119, 5, 117, 4, 118, 2, 119, 2, 119, 1, 118, 1, 116, -3, 115, -4, 110, -3, 109, 1, 110, 2, 0, 0, 125, 2, 125, 1, 124, 0, 121, 1, 120, 0, 121, -2, 122, -1, 123, -1, 122, -2, 123, -4, 122, -6, 123, -6, 123, -5, 122, -5, 121, -4, 121, -4, 120, -3, 120, -6, 119, -6, 119, -4, 118, -4, 118, -3, 119, -1, 120, 1, 121, 2, 122, 2, 124, 1, 125, 2, 0, 0, 131, -1, 134, -1, 135, -3, 138, -1, 144, -3, 147, -5, 151, -5, 152, -4, 153, -4, 153, -5, 151, -6, 149, -6, 148, -5, 148, -6, 147, -6, 149, -9, 151, -10, 148, -10, 146, -7, 143, -8, 144, -8, 143, -9, 141, -9, 140, -8, 138, -8, 139, -7, 138, -6, 134, -4, 133, -4, 132, -3, 134, -2, 132, -2, 131, -1, 0, 0, 164, -20, 167, -22, 166, -22, 164, -21, 164, -20, 0, 0, -77, 8, -75, 11, -72, 12, -71, 12, -72, 11, -71, 9, -72, 9, -71, 11, -70, 12, -68, 11, -66, 11, -65, 10, -64, 11, -63, 11, -62, 10, -61, 10, -61, 11, -62, 10, -61, 9, -61, 8, -57, 6, -54, 6, -51, 4, -50, 1, -51, 0, -51, -1, -50, 0, -48, 0, -49, -2, -48, -1, -44, -2, -44, -3, -43, -2, -42, -3, -40, -3, -37, -5, -36, -5, -35, -7, -35, -9, -38, -12, -39, -18, -40, -20, -42, -23, -44, -23, -48, -25, -49, -28, -54, -35, -58, -34, -57, -37, -59, -38, -62, -38, -62, -41, -65, -41, -65, -42, -63, -43, -63, -42, -68, -46, -66, -47, -68, -50, -69, -51, -68, -53, -65, -55, -70, -55, -75, -53, -76, -48, -74, -42, -75, -41, -74, -40, -73, -37, -72, -33, -72, -30, -71, -23, -70, -20, -71, -18, -75, -16, -77, -14, -77, -13, -80, -7, -82, -6, -82, -4, -80, -3, -80, -2, -81, -2, -81, -1, -80, 1, -78, 3, -77, 4, -78, 6, -79, 9, -80, 9, -80, 7, -81, 7, -86, 10, -86, 11, -88, 13, -91, 14, -94, 16, -98, 16, -102, 18, -105, 20, -106, 23, -112, 29, -113, 31, -115, 32, -115, 30, -111, 26, -110, 24, -109, 23, -110, 23, -112, 25, -112, 26, -115, 28, -114, 28, -116, 30, -118, 34, -121, 35, -122, 36, -124, 39, -124, 46, -125, 48, -123, 48, -124, 50, -128, 51, -125, 49, -124, 49, -127, 52, -131, 55, -133, 54, -131, 52, -132, 54, -134, 56, -133, 57, -134, 58, -135, 56, -138, 58, -142, 60, -144, 60, -147, 61, -148, 61, -149, 60, -152, 59, -154, 58, -153, 57, -152, 58, -152, 60, -149, 62, -153, 61, -154, 59, -155, 58, -160, 56, -165, 54, -164, 55, -160, 57, -158, 58, -157, 59, -162, 59, -162, 60, -164, 60, -165, 61, -167, 61, -166, 60, -165, 61, -166, 62, -164, 63, -161, 64, -161, 65, -165, 64, -168, 66, -164, 67, -163, 67, -166, 68, -166, 69, -164, 69, -163, 70, -156, 72, -148, 71, -142, 70, -136, 69, -131, 70, -128, 71, -122, 70, -118, 69, -114, 69, -116, 68, -110, 68, -108, 66, -107, 68, -105, 69, -98, 68, -98, 70, -96, 68, -93, 69, -97, 70, -96, 74, -91, 74, -92, 73, -93, 73, -94, 72, -90, 68, -89, 69, -87, 68, -85, 70, -82, 69, -82, 66, -83, 66, -86, 66, -88, 64, -91, 63, -94, 61, -95, 59, -94, 59, -93, 57, -90, 57, -85, 55, -82, 55, -82, 53, -80, 51, -78, 52, -80, 55, -77, 56, -77, 57, -78, 59, -77, 60, -77, 62, -74, 62, -70, 61, -69, 59, -67, 58, -65, 60, -60, 55, -56, 53, -56, 52, -59, 47, -56, 47, -56, 46, -53, 46, -54, 49, -56, 50, -55, 52, -59, 51, -60, 50, -67, 50, -71, 47, -67, 49, -65, 49, -64, 48, -66, 48, -65, 47, -61, 45, -60, 46, -61, 47, -62, 45, -65, 43, -66, 44, -63, 45, -67, 45, -70, 44, -71, 43, -70, 42, -74, 41, -72, 41, -74, 40, -76, 37, -75, 35, -78, 34, -81, 32, -81, 32, -80, 27, -81, 25, -83, 28, -83, 29, -84, 30, -90, 30, -89, 29, -94, 30, -97, 28, -97, 26, 0, 0, -76, 43, -79, 43, -82, 41, -83, 42, -81, 45, -80, 45, -81, 46, -87, 46, -88, 44, -88, 42, -86, 43, -86, 45, -85, 46, -85, 48, -86, 48, -88, 49, -92, 47, -90, 47, -88, 48, -87, 47, -85, 47, -83, 45, -84, 44, -83, 44, -82, 42, -81, 43, -80, 43, -78, 44, -76, 44, -76, 43, 0, 0, -156, 20, -155, 20, -155, 19, -156, 19, -156, 21, -158, 21, -158, 22, -156, 20, 0, 0, -159, 22, -160, 22, -160, 23, -159, 22, 0, 0, -97, 26, -98, 22, -96, 19, -94, 18, -91, 19, -90, 21, -87, 22, -89, 16, -85, 16, -83, 15, -84, 11, -82, 9, -81, 9, -79, 10, -77, 8, 0, 0, -85, 22, -83, 23, -80, 23, -74, 20, -78, 20, -77, 21, -78, 21, -80, 22, -82, 22, -82, 23, -83, 22, -85, 22, 0, 0, -78, 19, -77, 19, -76, 18, -77, 18, -78, 19, 0, 0, -73, 20, -71, 20, -68, 19, -71, 19, -71, 18, -72, 18, -74, 18, -72, 19, -73, 20, 0, 0, -67, 19, -65, 19, -66, 18, -67, 18, -67, 19, 0, 0, -64, 19, -63, 18, 0, 0, -62, 17, -61, 16, 0, 0, -61, 15, -61, 14, 0, 0, -61, 13, -62, 12, 0, 0, -78, 25, -77, 24, 0, 0, 143, -11, 144, -14, 145, -15, 147, -19, 148, -20, 153, -26, 154, -28, 153, -33, 152, -34, 150, -36, 150, -37, 149, -38, 148, -38, 146, -39, 144, -38, 143, -39, 141, -38, 139, -35, 137, -36, 139, -36, 138, -34, 138, -35, 137, -35, 138, -33, 136, -35, 134, -33, 131, -32, 124, -33, 123, -34, 120, -34, 118, -35, 116, -35, 115, -34, 116, -33, 116, -32, 115, -30, 115, -29, 113, -26, 114, -27, 113, -24, 114, -22, 119, -20, 120, -20, 122, -19, 123, -16, 124, -17, 124, -16, 125, -16, 124, -15, 127, -14, 129, -15, 131, -11, 130, -11, 130, -12, 132, -13, 133, -13, 132, -11, 133, -11, 134, -12, 135, -12, 137, -11, 137, -12, 136, -13, 137, -13, 137, -14, 136, -13, 135, -15, 138, -17, 139, -16, 139, -17, 138, -17, 140, -18, 141, -17, 142, -13, 143, -11, 0, 0, 145, -40, 146, -41, 147, -41, 147, -42, 146, -43, 145, -40, 0, 0, 178, -39, 177, -39, 177, -40, 176, -41, 175, -42, 174, -41, 172, -41, 172, -42, 168, -44, 166, -46, 168, -47, 168, -48, 167, -47, 170, -47, 172, -44, 173, -44, 174, -42, 175, -41, 175, -40, 174, -39, 175, -39, 175, -38, 174, -36, 173, -35, 174, -35, 175, -37, 176, -37, 177, -38, 178, -38, 178, -39, 0, 0, 0, -70, 8, -70, 16, -70, 24, -70, 32, -69, 40, -70, 48, -68, 53, -66, 57, -67, 60, -68, 65, -68, 70, -68, 67, -70, 72, -72, 80, -68, 83, -66, 90, -67, 95, -67, 96, -65, 99, -66, 104, -65, 109, -67, 114, -66, 114, -67, 122, -67, 130, -67, 134, -67, 135, -66, 136, -67, 146, -67, 148, -68, 154, -68, 160, -70, 168, -71, 170, -72, 162, -77, 165, -78, 160, -79, 168, -82, 167, -83, 175, -84, -177, -85, -169, -85, -161, -86, -153, -86, -145, -86, -142, -86, -150, -85, -152, -82, -146, -81, -150, -80, -150, -79, -157, -77, -150, -78, -144, -76, -147, -75, -139, -74, -131, -74, -128, -74, -128, -73, -120, -74, -112, -74, -104, -75, -104, -73, -96, -74, -88, -73, -82, -74, -76, -74, -68, -72, -70, -69, -68, -67, -60, -63, -58, -62, -64, -66, -66, -68, -63, -70, -64, -74, -70, -77, -78, -75, -84, -78, -80, -80, -72, -82, -64, -83, -58, -84, -50, -83, -42, -82, -34, -80, -32, -77, -24, -76, -16, -73, -8, -71, 0, -70, 0, 0, 0, 89, 180, 89, 0, 0, 90, 89, -90, 89, 0, 0, 0, -89, 180, -89, 0, 0, 90, -89, -90, -89, 0, 0 ); // #define NPOINTS (sizeof(globe_data)/sizeof(globe_data[0]))