/* * Copyright (C) 2023 Daniele Lacamera * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . */ #include const float PreCalcSin[360] = { -0.00000000, -0.01745241, -0.03489950, -0.05233596, -0.06975647, -0.08715574, -0.10452846, -0.12186934, -0.13917310, -0.15643447, -0.17364818, -0.19080900, -0.20791169, -0.22495105, -0.24192190, -0.25881905, -0.27563736, -0.29237170, -0.30901699, -0.32556815, -0.34202014, -0.35836795, -0.37460659, -0.39073113, -0.40673664, -0.42261826, -0.43837115, -0.45399050, -0.46947156, -0.48480962, -0.50000000, -0.51503807, -0.52991926, -0.54463904, -0.55919290, -0.57357644, -0.58778525, -0.60181502, -0.61566148, -0.62932039, -0.64278761, -0.65605903, -0.66913061, -0.68199836, -0.69465837, -0.70710678, -0.71933980, -0.73135370, -0.74314483, -0.75470958, -0.76604444, -0.77714596, -0.78801075, -0.79863551, -0.80901699, -0.81915204, -0.82903757, -0.83867057, -0.84804810, -0.85716730, -0.86602540, -0.87461971, -0.88294759, -0.89100652, -0.89879405, -0.90630779, -0.91354546, -0.92050485, -0.92718385, -0.93358043, -0.93969262, -0.94551858, -0.95105652, -0.95630476, -0.96126170, -0.96592583, -0.97029573, -0.97437006, -0.97814760, -0.98162718, -0.98480775, -0.98768834, -0.99026807, -0.99254615, -0.99452190, -0.99619470, -0.99756405, -0.99862953, -0.99939083, -0.99984770, -1.00000000, -0.99984770, -0.99939083, -0.99862953, -0.99756405, -0.99619470, -0.99452190, -0.99254615, -0.99026807, -0.98768834, -0.98480775, -0.98162718, -0.97814760, -0.97437006, -0.97029573, -0.96592583, -0.96126170, -0.95630476, -0.95105652, -0.94551858, -0.93969262, -0.93358043, -0.92718385, -0.92050485, -0.91354546, -0.90630779, -0.89879405, -0.89100652, -0.88294759, -0.87461971, -0.86602540, -0.85716730, -0.84804810, -0.83867057, -0.82903757, -0.81915204, -0.80901699, -0.79863551, -0.78801075, -0.77714596, -0.76604444, -0.75470958, -0.74314483, -0.73135370, -0.71933980, -0.70710678, -0.69465837, -0.68199836, -0.66913061, -0.65605903, -0.64278761, -0.62932039, -0.61566148, -0.60181502, -0.58778525, -0.57357644, -0.55919290, -0.54463904, -0.52991926, -0.51503807, -0.50000000, -0.48480962, -0.46947156, -0.45399050, -0.43837115, -0.42261826, -0.40673664, -0.39073113, -0.37460659, -0.35836795, -0.34202014, -0.32556815, -0.30901699, -0.29237170, -0.27563736, -0.25881905, -0.24192190, -0.22495105, -0.20791169, -0.19080900, -0.17364818, -0.15643447, -0.13917310, -0.12186934, -0.10452846, -0.08715574, -0.06975647, -0.05233596, -0.03489950, -0.01745241, 0.00000000, 0.01745241, 0.03489950, 0.05233596, 0.06975647, 0.08715574, 0.10452846, 0.12186934, 0.13917310, 0.15643447, 0.17364818, 0.19080900, 0.20791169, 0.22495105, 0.24192190, 0.25881905, 0.27563736, 0.29237170, 0.30901699, 0.32556815, 0.34202014, 0.35836795, 0.37460659, 0.39073113, 0.40673664, 0.42261826, 0.43837115, 0.45399050, 0.46947156, 0.48480962, 0.50000000, 0.51503807, 0.52991926, 0.54463904, 0.55919290, 0.57357644, 0.58778525, 0.60181502, 0.61566148, 0.62932039, 0.64278761, 0.65605903, 0.66913061, 0.68199836, 0.69465837, 0.70710678, 0.71933980, 0.73135370, 0.74314483, 0.75470958, 0.76604444, 0.77714596, 0.78801075, 0.79863551, 0.80901699, 0.81915204, 0.82903757, 0.83867057, 0.84804810, 0.85716730, 0.86602540, 0.87461971, 0.88294759, 0.89100652, 0.89879405, 0.90630779, 0.91354546, 0.92050485, 0.92718385, 0.93358043, 0.93969262, 0.94551858, 0.95105652, 0.95630476, 0.96126170, 0.96592583, 0.97029573, 0.97437006, 0.97814760, 0.98162718, 0.98480775, 0.98768834, 0.99026807, 0.99254615, 0.99452190, 0.99619470, 0.99756405, 0.99862953, 0.99939083, 0.99984770, 1.00000000, 0.99984770, 0.99939083, 0.99862953, 0.99756405, 0.99619470, 0.99452190, 0.99254615, 0.99026807, 0.98768834, 0.98480775, 0.98162718, 0.97814760, 0.97437006, 0.97029573, 0.96592583, 0.96126170, 0.95630476, 0.95105652, 0.94551858, 0.93969262, 0.93358043, 0.92718385, 0.92050485, 0.91354546, 0.90630779, 0.89879405, 0.89100652, 0.88294759, 0.87461971, 0.86602540, 0.85716730, 0.84804810, 0.83867057, 0.82903757, 0.81915204, 0.80901699, 0.79863551, 0.78801075, 0.77714596, 0.76604444, 0.75470958, 0.74314483, 0.73135370, 0.71933980, 0.70710678, 0.69465837, 0.68199836, 0.66913061, 0.65605903, 0.64278761, 0.62932039, 0.61566148, 0.60181502, 0.58778525, 0.57357644, 0.55919290, 0.54463904, 0.52991926, 0.51503807, 0.50000000, 0.48480962, 0.46947156, 0.45399050, 0.43837115, 0.42261826, 0.40673664, 0.39073113, 0.37460659, 0.35836795, 0.34202014, 0.32556815, 0.30901699, 0.29237170, 0.27563736, 0.25881905, 0.24192190, 0.22495105, 0.20791169, 0.19080900, 0.17364818, 0.15643447, 0.13917310, 0.12186934, 0.10452846, 0.08715574, 0.06975647, 0.05233596, 0.03489950, 0.01745241, }; const float PreCalcCos[360] = { -1.00000000, -0.99984770, -0.99939083, -0.99862953, -0.99756405, -0.99619470, -0.99452190, -0.99254615, -0.99026807, -0.98768834, -0.98480775, -0.98162718, -0.97814760, -0.97437006, -0.97029573, -0.96592583, -0.96126170, -0.95630476, -0.95105652, -0.94551858, -0.93969262, -0.93358043, -0.92718385, -0.92050485, -0.91354546, -0.90630779, -0.89879405, -0.89100652, -0.88294759, -0.87461971, -0.86602540, -0.85716730, -0.84804810, -0.83867057, -0.82903757, -0.81915204, -0.80901699, -0.79863551, -0.78801075, -0.77714596, -0.76604444, -0.75470958, -0.74314483, -0.73135370, -0.71933980, -0.70710678, -0.69465837, -0.68199836, -0.66913061, -0.65605903, -0.64278761, -0.62932039, -0.61566148, -0.60181502, -0.58778525, -0.57357644, -0.55919290, -0.54463904, -0.52991926, -0.51503807, -0.50000000, -0.48480962, -0.46947156, -0.45399050, -0.43837115, -0.42261826, -0.40673664, -0.39073113, -0.37460659, -0.35836795, -0.34202014, -0.32556815, -0.30901699, -0.29237170, -0.27563736, -0.25881905, -0.24192190, -0.22495105, -0.20791169, -0.19080900, -0.17364818, -0.15643447, -0.13917310, -0.12186934, -0.10452846, -0.08715574, -0.06975647, -0.05233596, -0.03489950, -0.01745241, 0.00000000, 0.01745241, 0.03489950, 0.05233596, 0.06975647, 0.08715574, 0.10452846, 0.12186934, 0.13917310, 0.15643447, 0.17364818, 0.19080900, 0.20791169, 0.22495105, 0.24192190, 0.25881905, 0.27563736, 0.29237170, 0.30901699, 0.32556815, 0.34202014, 0.35836795, 0.37460659, 0.39073113, 0.40673664, 0.42261826, 0.43837115, 0.45399050, 0.46947156, 0.48480962, 0.50000000, 0.51503807, 0.52991926, 0.54463904, 0.55919290, 0.57357644, 0.58778525, 0.60181502, 0.61566148, 0.62932039, 0.64278761, 0.65605903, 0.66913061, 0.68199836, 0.69465837, 0.70710678, 0.71933980, 0.73135370, 0.74314483, 0.75470958, 0.76604444, 0.77714596, 0.78801075, 0.79863551, 0.80901699, 0.81915204, 0.82903757, 0.83867057, 0.84804810, 0.85716730, 0.86602540, 0.87461971, 0.88294759, 0.89100652, 0.89879405, 0.90630779, 0.91354546, 0.92050485, 0.92718385, 0.93358043, 0.93969262, 0.94551858, 0.95105652, 0.95630476, 0.96126170, 0.96592583, 0.97029573, 0.97437006, 0.97814760, 0.98162718, 0.98480775, 0.98768834, 0.99026807, 0.99254615, 0.99452190, 0.99619470, 0.99756405, 0.99862953, 0.99939083, 0.99984770, 1.00000000, 0.99984770, 0.99939083, 0.99862953, 0.99756405, 0.99619470, 0.99452190, 0.99254615, 0.99026807, 0.98768834, 0.98480775, 0.98162718, 0.97814760, 0.97437006, 0.97029573, 0.96592583, 0.96126170, 0.95630476, 0.95105652, 0.94551858, 0.93969262, 0.93358043, 0.92718385, 0.92050485, 0.91354546, 0.90630779, 0.89879405, 0.89100652, 0.88294759, 0.87461971, 0.86602540, 0.85716730, 0.84804810, 0.83867057, 0.82903757, 0.81915204, 0.80901699, 0.79863551, 0.78801075, 0.77714596, 0.76604444, 0.75470958, 0.74314483, 0.73135370, 0.71933980, 0.70710678, 0.69465837, 0.68199836, 0.66913061, 0.65605903, 0.64278761, 0.62932039, 0.61566148, 0.60181502, 0.58778525, 0.57357644, 0.55919290, 0.54463904, 0.52991926, 0.51503807, 0.50000000, 0.48480962, 0.46947156, 0.45399050, 0.43837115, 0.42261826, 0.40673664, 0.39073113, 0.37460659, 0.35836795, 0.34202014, 0.32556815, 0.30901699, 0.29237170, 0.27563736, 0.25881905, 0.24192190, 0.22495105, 0.20791169, 0.19080900, 0.17364818, 0.15643447, 0.13917310, 0.12186934, 0.10452846, 0.08715574, 0.06975647, 0.05233596, 0.03489950, 0.01745241, 0.00000000, -0.01745241, -0.03489950, -0.05233596, -0.06975647, -0.08715574, -0.10452846, -0.12186934, -0.13917310, -0.15643447, -0.17364818, -0.19080900, -0.20791169, -0.22495105, -0.24192190, -0.25881905, -0.27563736, -0.29237170, -0.30901699, -0.32556815, -0.34202014, -0.35836795, -0.37460659, -0.39073113, -0.40673664, -0.42261826, -0.43837115, -0.45399050, -0.46947156, -0.48480962, -0.50000000, -0.51503807, -0.52991926, -0.54463904, -0.55919290, -0.57357644, -0.58778525, -0.60181502, -0.61566148, -0.62932039, -0.64278761, -0.65605903, -0.66913061, -0.68199836, -0.69465837, -0.70710678, -0.71933980, -0.73135370, -0.74314483, -0.75470958, -0.76604444, -0.77714596, -0.78801075, -0.79863551, -0.80901699, -0.81915204, -0.82903757, -0.83867057, -0.84804810, -0.85716730, -0.86602540, -0.87461971, -0.88294759, -0.89100652, -0.89879405, -0.90630779, -0.91354546, -0.92050485, -0.92718385, -0.93358043, -0.93969262, -0.94551858, -0.95105652, -0.95630476, -0.96126170, -0.96592583, -0.97029573, -0.97437006, -0.97814760, -0.98162718, -0.98480775, -0.98768834, -0.99026807, -0.99254615, -0.99452190, -0.99619470, -0.99756405, -0.99862953, -0.99939083, -0.99984770, }; const int16_t PreCalcAtan[81][81] = { { 160, 160, 159, 159, 158, 158, 157, 157, 156, 155, 155, 154, 153, 153, 152, 151, 151, 150, 149, 148, 147, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 138, 137, 136, 135, 134, 133, 132, 131, 130, 128, 126, 125, 124, 123, 122, 121, 120, 119, 118, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 109, 108, 107, 106, 105, 105, 104, 103, 103, 102, 101, 101, 100, 99, 99, 98, 98, 97, 97, 96, 96,}, { 161, 160, 160, 159, 159, 158, 158, 157, 156, 156, 155, 155, 154, 153, 152, 152, 151, 150, 149, 149, 148, 147, 146, 145, 144, 143, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 128, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 113, 112, 111, 110, 109, 108, 107, 107, 106, 105, 104, 104, 103, 102, 101, 101, 100, 100, 99, 98, 98, 97, 97, 96, 96, 95,}, { 162, 161, 160, 160, 159, 159, 158, 158, 157, 156, 156, 155, 154, 154, 153, 152, 151, 151, 150, 149, 148, 147, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 128, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 109, 108, 107, 106, 105, 105, 104, 103, 102, 102, 101, 100, 100, 99, 98, 98, 97, 97, 96, 96, 95, 94,}, { 162, 162, 161, 160, 160, 159, 159, 158, 158, 157, 156, 156, 155, 154, 153, 153, 152, 151, 150, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 128, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 106, 105, 104, 103, 103, 102, 101, 100, 100, 99, 98, 98, 97, 97, 96, 96, 95, 94, 94,}, { 163, 162, 162, 161, 160, 160, 159, 159, 158, 157, 157, 156, 155, 155, 154, 153, 152, 152, 151, 150, 149, 148, 147, 146, 146, 145, 144, 143, 142, 141, 140, 138, 137, 136, 135, 134, 133, 132, 131, 130, 128, 126, 125, 124, 123, 122, 121, 120, 119, 118, 116, 115, 114, 113, 112, 111, 110, 110, 109, 108, 107, 106, 105, 104, 104, 103, 102, 101, 101, 100, 99, 99, 98, 97, 97, 96, 96, 95, 94, 94, 93,}, { 163, 163, 162, 162, 161, 160, 160, 159, 159, 158, 157, 157, 156, 155, 155, 154, 153, 152, 151, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 135, 134, 133, 132, 131, 130, 128, 126, 125, 124, 123, 122, 121, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 105, 104, 103, 102, 101, 101, 100, 99, 99, 98, 97, 97, 96, 96, 95, 94, 94, 93, 93,}, { 164, 163, 163, 162, 162, 161, 160, 160, 159, 159, 158, 157, 157, 156, 155, 154, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 134, 133, 132, 131, 130, 128, 126, 125, 124, 123, 122, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 102, 101, 100, 99, 99, 98, 97, 97, 96, 96, 95, 94, 94, 93, 93, 92,}, { 164, 164, 163, 163, 162, 162, 161, 160, 160, 159, 159, 158, 157, 156, 156, 155, 154, 153, 152, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 140, 139, 138, 137, 136, 135, 133, 132, 131, 130, 128, 126, 125, 124, 123, 121, 120, 119, 118, 117, 116, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 104, 103, 102, 101, 100, 100, 99, 98, 97, 97, 96, 96, 95, 94, 94, 93, 93, 92, 92,}, { 165, 165, 164, 163, 163, 162, 162, 161, 160, 160, 159, 158, 158, 157, 156, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 138, 137, 136, 135, 134, 132, 131, 130, 128, 126, 125, 124, 122, 121, 120, 119, 118, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 100, 99, 98, 98, 97, 96, 96, 95, 94, 94, 93, 93, 92, 91, 91,}, { 166, 165, 165, 164, 164, 163, 162, 162, 161, 160, 160, 159, 158, 158, 157, 156, 155, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 142, 141, 140, 139, 138, 136, 135, 134, 132, 131, 130, 128, 126, 125, 124, 122, 121, 120, 118, 117, 116, 115, 114, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 101, 100, 99, 98, 98, 97, 96, 96, 95, 94, 94, 93, 92, 92, 91, 91, 90,}, { 166, 166, 165, 165, 164, 164, 163, 162, 162, 161, 160, 160, 159, 158, 158, 157, 156, 155, 154, 153, 152, 152, 151, 150, 148, 147, 146, 145, 144, 143, 142, 140, 139, 138, 137, 135, 134, 133, 131, 130, 128, 126, 125, 123, 122, 121, 119, 118, 117, 116, 114, 113, 112, 111, 110, 109, 108, 106, 105, 104, 104, 103, 102, 101, 100, 99, 98, 98, 97, 96, 96, 95, 94, 94, 93, 92, 92, 91, 91, 90, 90,}, { 167, 166, 166, 165, 165, 164, 164, 163, 163, 162, 161, 160, 160, 159, 158, 157, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 144, 143, 142, 141, 139, 138, 137, 135, 134, 133, 131, 130, 128, 126, 125, 123, 122, 121, 119, 118, 117, 115, 114, 113, 112, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 99, 98, 97, 96, 96, 95, 94, 93, 93, 92, 92, 91, 91, 90, 90, 89,}, { 168, 167, 167, 166, 166, 165, 164, 164, 163, 163, 162, 161, 160, 160, 159, 158, 157, 157, 156, 155, 154, 153, 152, 151, 150, 149, 147, 146, 145, 144, 142, 141, 140, 138, 137, 136, 134, 133, 131, 130, 128, 126, 125, 123, 122, 120, 119, 118, 116, 115, 114, 112, 111, 110, 109, 107, 106, 105, 104, 103, 102, 101, 100, 99, 99, 98, 97, 96, 96, 95, 94, 93, 93, 92, 92, 91, 90, 90, 89, 89, 88,}, { 168, 168, 167, 167, 166, 166, 165, 165, 164, 163, 163, 162, 161, 160, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 144, 143, 142, 140, 139, 137, 136, 134, 133, 132, 130, 128, 126, 124, 123, 122, 120, 119, 117, 116, 114, 113, 112, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 96, 95, 94, 93, 93, 92, 91, 91, 90, 90, 89, 89, 88, 88,}, { 169, 169, 168, 168, 167, 166, 166, 165, 165, 164, 163, 163, 162, 161, 160, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 147, 146, 145, 143, 142, 141, 139, 138, 136, 135, 133, 132, 130, 128, 126, 124, 123, 121, 120, 118, 117, 115, 114, 113, 111, 110, 109, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 96, 95, 94, 93, 93, 92, 91, 91, 90, 90, 89, 88, 88, 87, 87,}, { 170, 169, 169, 168, 168, 167, 167, 166, 165, 165, 164, 164, 163, 162, 161, 160, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 149, 148, 147, 145, 144, 143, 141, 140, 138, 137, 135, 133, 132, 130, 128, 126, 124, 123, 121, 119, 118, 116, 115, 113, 112, 111, 109, 108, 107, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 96, 95, 94, 93, 92, 92, 91, 91, 90, 89, 89, 88, 88, 87, 87, 86,}, { 170, 170, 170, 169, 169, 168, 167, 167, 166, 166, 165, 164, 164, 163, 162, 161, 160, 160, 159, 158, 157, 156, 155, 154, 152, 151, 150, 149, 147, 146, 145, 143, 142, 140, 138, 137, 135, 134, 132, 130, 128, 126, 124, 122, 121, 119, 118, 116, 114, 113, 111, 110, 109, 107, 106, 105, 104, 102, 101, 100, 99, 98, 97, 96, 96, 95, 94, 93, 92, 92, 91, 90, 90, 89, 89, 88, 87, 87, 86, 86, 86,}, { 171, 171, 170, 170, 169, 169, 168, 168, 167, 166, 166, 165, 164, 164, 163, 162, 161, 160, 160, 159, 158, 157, 156, 154, 153, 152, 151, 149, 148, 147, 145, 144, 142, 141, 139, 137, 136, 134, 132, 130, 128, 126, 124, 122, 120, 119, 117, 115, 114, 112, 111, 109, 108, 107, 105, 104, 103, 102, 100, 99, 98, 97, 96, 96, 95, 94, 93, 92, 92, 91, 90, 90, 89, 88, 88, 87, 87, 86, 86, 85, 85,}, { 172, 172, 171, 171, 170, 170, 169, 169, 168, 167, 167, 166, 165, 165, 164, 163, 162, 161, 160, 160, 159, 158, 156, 155, 154, 153, 152, 150, 149, 147, 146, 144, 143, 141, 139, 138, 136, 134, 132, 130, 128, 126, 124, 122, 120, 118, 117, 115, 113, 112, 110, 109, 107, 106, 104, 103, 102, 101, 100, 98, 97, 96, 96, 95, 94, 93, 92, 91, 91, 90, 89, 89, 88, 87, 87, 86, 86, 85, 85, 84, 84,}, { 173, 172, 172, 171, 171, 170, 170, 169, 169, 168, 168, 167, 166, 166, 165, 164, 163, 162, 161, 160, 160, 158, 157, 156, 155, 154, 152, 151, 150, 148, 147, 145, 143, 142, 140, 138, 136, 134, 132, 130, 128, 126, 124, 122, 120, 118, 116, 114, 113, 111, 109, 108, 106, 105, 104, 102, 101, 100, 99, 98, 96, 96, 95, 94, 93, 92, 91, 90, 90, 89, 88, 88, 87, 87, 86, 86, 85, 85, 84, 84, 83,}, { 174, 173, 173, 172, 172, 171, 171, 170, 170, 169, 169, 168, 167, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 153, 152, 151, 149, 147, 146, 144, 142, 140, 138, 137, 135, 133, 131, 128, 125, 123, 121, 119, 118, 116, 114, 112, 110, 109, 107, 105, 104, 103, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 89, 88, 87, 87, 86, 86, 85, 85, 84, 84, 83, 83, 82,}, { 174, 174, 174, 173, 173, 172, 172, 171, 171, 170, 169, 169, 168, 168, 167, 166, 165, 164, 163, 163, 162, 160, 159, 158, 157, 156, 154, 153, 151, 150, 148, 147, 145, 143, 141, 139, 137, 135, 133, 131, 128, 125, 123, 121, 119, 117, 115, 113, 111, 109, 108, 106, 105, 103, 102, 100, 99, 98, 97, 96, 94, 93, 93, 92, 91, 90, 89, 88, 88, 87, 87, 86, 85, 85, 84, 84, 83, 83, 82, 82, 82,}, { 175, 175, 174, 174, 174, 173, 173, 172, 172, 171, 170, 170, 169, 169, 168, 167, 166, 165, 165, 164, 163, 162, 160, 159, 158, 157, 155, 154, 152, 151, 149, 147, 146, 144, 142, 140, 137, 135, 133, 131, 128, 125, 123, 121, 119, 116, 114, 112, 110, 109, 107, 105, 104, 102, 101, 99, 98, 97, 96, 94, 93, 92, 91, 91, 90, 89, 88, 87, 87, 86, 86, 85, 84, 84, 83, 83, 82, 82, 82, 81, 81,}, { 176, 176, 175, 175, 175, 174, 174, 173, 173, 172, 171, 171, 170, 170, 169, 168, 167, 167, 166, 165, 164, 163, 162, 160, 159, 158, 157, 155, 154, 152, 150, 148, 146, 144, 142, 140, 138, 136, 133, 131, 128, 125, 123, 120, 118, 116, 114, 112, 110, 108, 106, 104, 102, 101, 99, 98, 97, 96, 94, 93, 92, 91, 90, 89, 89, 88, 87, 86, 86, 85, 85, 84, 83, 83, 82, 82, 81, 81, 81, 80, 80,}, { 177, 177, 176, 176, 175, 175, 175, 174, 174, 173, 173, 172, 171, 171, 170, 169, 169, 168, 167, 166, 165, 164, 163, 162, 160, 159, 158, 156, 155, 153, 151, 149, 147, 145, 143, 141, 138, 136, 134, 131, 128, 125, 122, 120, 118, 115, 113, 111, 109, 107, 105, 103, 101, 100, 98, 97, 96, 94, 93, 92, 91, 90, 89, 88, 87, 87, 86, 85, 85, 84, 83, 83, 82, 82, 81, 81, 81, 80, 80, 79, 79,}, { 178, 178, 177, 177, 176, 176, 176, 175, 175, 174, 174, 173, 172, 172, 171, 170, 170, 169, 168, 167, 166, 165, 164, 163, 162, 160, 159, 158, 156, 154, 152, 151, 148, 146, 144, 142, 139, 137, 134, 131, 128, 125, 122, 119, 117, 114, 112, 110, 108, 105, 104, 102, 100, 98, 97, 96, 94, 93, 92, 91, 90, 89, 88, 87, 86, 86, 85, 84, 84, 83, 82, 82, 81, 81, 80, 80, 80, 79, 79, 78, 78,}, { 179, 178, 178, 178, 177, 177, 177, 176, 176, 175, 175, 174, 174, 173, 172, 172, 171, 170, 169, 169, 168, 167, 166, 164, 163, 162, 160, 159, 157, 156, 154, 152, 150, 147, 145, 142, 140, 137, 134, 131, 128, 125, 122, 119, 116, 114, 111, 109, 106, 104, 102, 100, 99, 97, 96, 94, 93, 92, 90, 89, 88, 87, 87, 86, 85, 84, 84, 83, 82, 82, 81, 81, 80, 80, 79, 79, 79, 78, 78, 78, 77,}, { 180, 179, 179, 179, 178, 178, 178, 177, 177, 176, 176, 175, 175, 174, 174, 173, 172, 172, 171, 170, 169, 168, 167, 166, 165, 163, 162, 160, 159, 157, 155, 153, 151, 149, 146, 143, 141, 138, 135, 132, 128, 124, 121, 118, 115, 113, 110, 107, 105, 103, 101, 99, 97, 96, 94, 93, 91, 90, 89, 88, 87, 86, 85, 84, 84, 83, 82, 82, 81, 81, 80, 80, 79, 79, 78, 78, 78, 77, 77, 77, 76,}, { 181, 180, 180, 180, 179, 179, 179, 178, 178, 177, 177, 177, 176, 175, 175, 174, 174, 173, 172, 171, 170, 170, 169, 167, 166, 165, 164, 162, 160, 159, 157, 155, 152, 150, 147, 145, 142, 138, 135, 132, 128, 124, 121, 118, 114, 111, 109, 106, 104, 101, 99, 97, 96, 94, 92, 91, 90, 89, 87, 86, 86, 85, 84, 83, 82, 82, 81, 81, 80, 79, 79, 79, 78, 78, 77, 77, 77, 76, 76, 76, 75,}, { 182, 181, 181, 181, 180, 180, 180, 179, 179, 179, 178, 178, 177, 177, 176, 176, 175, 174, 174, 173, 172, 171, 170, 169, 168, 167, 165, 164, 162, 160, 159, 156, 154, 152, 149, 146, 143, 139, 136, 132, 128, 124, 120, 117, 113, 110, 107, 104, 102, 100, 97, 96, 94, 92, 91, 89, 88, 87, 86, 85, 84, 83, 82, 82, 81, 80, 80, 79, 79, 78, 78, 77, 77, 77, 76, 76, 76, 75, 75, 75, 74,}, { 183, 182, 182, 182, 181, 181, 181, 181, 180, 180, 179, 179, 179, 178, 178, 177, 176, 176, 175, 174, 174, 173, 172, 171, 170, 169, 167, 166, 164, 162, 160, 158, 156, 153, 151, 147, 144, 140, 137, 133, 128, 123, 119, 116, 112, 109, 105, 103, 100, 98, 96, 94, 92, 90, 89, 87, 86, 85, 84, 83, 82, 82, 81, 80, 80, 79, 78, 78, 77, 77, 77, 76, 76, 75, 75, 75, 75, 74, 74, 74, 73,}, { 183, 183, 183, 183, 183, 182, 182, 182, 181, 181, 181, 180, 180, 179, 179, 178, 178, 177, 177, 176, 175, 174, 174, 173, 172, 170, 169, 168, 166, 165, 163, 160, 158, 155, 152, 149, 146, 142, 137, 133, 128, 123, 119, 114, 110, 107, 104, 101, 98, 96, 93, 91, 90, 88, 87, 86, 84, 83, 82, 82, 81, 80, 79, 79, 78, 78, 77, 77, 76, 76, 75, 75, 75, 74, 74, 74, 73, 73, 73, 73, 73,}, { 184, 184, 184, 184, 184, 183, 183, 183, 183, 182, 182, 182, 181, 181, 180, 180, 179, 179, 178, 178, 177, 176, 175, 175, 174, 173, 171, 170, 169, 167, 165, 163, 160, 158, 155, 151, 147, 143, 138, 134, 128, 122, 118, 113, 109, 105, 101, 98, 96, 93, 91, 89, 87, 86, 85, 83, 82, 81, 81, 80, 79, 78, 78, 77, 77, 76, 76, 75, 75, 74, 74, 74, 73, 73, 73, 73, 72, 72, 72, 72, 72,}, { 185, 185, 185, 185, 185, 184, 184, 184, 184, 183, 183, 183, 183, 182, 182, 181, 181, 180, 180, 179, 179, 178, 177, 177, 176, 175, 174, 172, 171, 169, 168, 166, 163, 160, 157, 154, 150, 145, 140, 134, 128, 122, 116, 111, 106, 102, 99, 96, 93, 90, 88, 87, 85, 84, 82, 81, 80, 79, 79, 78, 77, 77, 76, 76, 75, 75, 74, 74, 73, 73, 73, 73, 72, 72, 72, 72, 71, 71, 71, 71, 71,}, { 186, 186, 186, 186, 186, 186, 185, 185, 185, 185, 184, 184, 184, 184, 183, 183, 183, 182, 182, 181, 181, 180, 179, 179, 178, 177, 176, 175, 174, 172, 170, 169, 166, 164, 160, 157, 152, 147, 142, 135, 128, 121, 114, 109, 104, 99, 96, 92, 90, 87, 86, 84, 82, 81, 80, 79, 78, 77, 77, 76, 75, 75, 74, 74, 73, 73, 73, 72, 72, 72, 72, 71, 71, 71, 71, 70, 70, 70, 70, 70, 70,}, { 187, 187, 187, 187, 187, 187, 187, 186, 186, 186, 186, 186, 185, 185, 185, 184, 184, 184, 183, 183, 183, 182, 181, 181, 180, 179, 179, 178, 176, 175, 174, 172, 170, 167, 164, 160, 156, 151, 144, 137, 128, 119, 112, 105, 100, 96, 92, 89, 86, 84, 82, 81, 80, 78, 77, 77, 76, 75, 75, 74, 73, 73, 73, 72, 72, 72, 71, 71, 71, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 69,}, { 188, 188, 188, 188, 188, 188, 188, 188, 187, 187, 187, 187, 187, 187, 186, 186, 186, 185, 185, 185, 184, 184, 184, 183, 183, 182, 181, 180, 179, 178, 177, 175, 174, 171, 169, 165, 160, 155, 147, 138, 128, 118, 109, 101, 96, 91, 87, 85, 82, 81, 79, 78, 77, 76, 75, 74, 73, 73, 72, 72, 72, 71, 71, 71, 70, 70, 70, 69, 69, 69, 69, 69, 69, 68, 68, 68, 68, 68, 68, 68, 68,}, { 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 188, 188, 188, 188, 188, 188, 187, 187, 187, 187, 186, 186, 186, 185, 185, 184, 184, 183, 183, 182, 181, 179, 178, 176, 174, 170, 166, 160, 152, 142, 128, 114, 104, 96, 90, 86, 82, 80, 78, 77, 75, 74, 73, 73, 72, 72, 71, 71, 70, 70, 70, 69, 69, 69, 69, 68, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,}, { 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 189, 189, 189, 189, 189, 189, 189, 188, 188, 188, 188, 187, 187, 187, 186, 186, 185, 184, 184, 183, 181, 179, 177, 174, 169, 160, 147, 128, 109, 96, 87, 82, 79, 77, 75, 73, 72, 72, 71, 70, 70, 69, 69, 69, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,}, { 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 190, 190, 190, 190, 190, 190, 190, 189, 189, 189, 188, 188, 187, 187, 186, 184, 183, 179, 174, 160, 128, 96, 82, 77, 73, 72, 70, 69, 69, 68, 68, 67, 67, 67, 66, 66, 66, 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,}, { 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,}, { 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 195, 195, 195, 195, 195, 195, 195, 196, 196, 196, 197, 197, 198, 198, 199, 201, 202, 206, 211, 224, 0, 32, 45, 50, 54, 55, 57, 58, 58, 59, 59, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,}, { 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 196, 196, 196, 196, 196, 196, 196, 197, 197, 197, 197, 198, 198, 198, 199, 199, 200, 201, 201, 202, 204, 206, 208, 211, 216, 224, 238, 0, 18, 32, 40, 45, 48, 50, 52, 54, 55, 55, 56, 57, 57, 58, 58, 58, 59, 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,}, { 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 197, 197, 197, 197, 197, 197, 198, 198, 198, 198, 199, 199, 199, 200, 200, 201, 201, 202, 202, 203, 204, 206, 207, 209, 211, 215, 219, 224, 233, 243, 0, 13, 23, 32, 37, 41, 45, 47, 49, 50, 52, 53, 54, 54, 55, 55, 56, 56, 57, 57, 57, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,}, { 197, 197, 197, 197, 197, 197, 197, 197, 198, 198, 198, 198, 198, 198, 199, 199, 199, 200, 200, 200, 201, 201, 201, 202, 202, 203, 204, 205, 206, 207, 208, 210, 211, 214, 216, 220, 224, 230, 238, 247, 0, 9, 18, 26, 32, 36, 40, 42, 45, 46, 48, 49, 50, 51, 52, 53, 54, 54, 55, 55, 55, 56, 56, 56, 57, 57, 57, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59,}, { 198, 198, 198, 198, 198, 198, 198, 199, 199, 199, 199, 199, 200, 200, 200, 201, 201, 201, 202, 202, 202, 203, 204, 204, 205, 206, 206, 207, 209, 210, 211, 213, 215, 218, 221, 224, 229, 234, 241, 248, 0, 8, 15, 22, 27, 32, 35, 38, 41, 43, 45, 46, 47, 49, 50, 50, 51, 52, 52, 53, 54, 54, 54, 55, 55, 55, 56, 56, 56, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 58,}, { 199, 199, 199, 199, 199, 199, 200, 200, 200, 200, 201, 201, 201, 201, 202, 202, 202, 203, 203, 204, 204, 205, 206, 206, 207, 208, 209, 210, 211, 213, 215, 216, 219, 221, 224, 228, 233, 238, 243, 250, 0, 6, 13, 18, 23, 28, 32, 35, 37, 40, 41, 43, 45, 46, 47, 48, 49, 50, 50, 51, 52, 52, 53, 53, 54, 54, 54, 55, 55, 55, 55, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57,}, { 200, 200, 200, 200, 200, 201, 201, 201, 201, 202, 202, 202, 202, 203, 203, 204, 204, 205, 205, 206, 206, 207, 208, 208, 209, 210, 211, 213, 214, 216, 217, 219, 222, 224, 228, 231, 235, 240, 245, 251, 0, 5, 11, 16, 21, 25, 28, 32, 34, 37, 39, 40, 42, 43, 45, 46, 47, 48, 48, 49, 50, 50, 51, 51, 52, 52, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55, 56, 56, 56, 56, 56,}, { 201, 201, 201, 201, 201, 202, 202, 202, 202, 203, 203, 203, 204, 204, 205, 205, 206, 206, 207, 207, 208, 209, 210, 210, 211, 212, 214, 215, 216, 218, 220, 222, 224, 227, 230, 234, 238, 242, 247, 251, 0, 5, 9, 14, 18, 22, 26, 29, 32, 34, 36, 38, 40, 41, 42, 44, 45, 46, 46, 47, 48, 49, 49, 50, 50, 51, 51, 52, 52, 53, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55, 55,}, { 202, 202, 202, 202, 202, 203, 203, 203, 204, 204, 204, 205, 205, 206, 206, 207, 207, 208, 208, 209, 210, 211, 211, 212, 213, 215, 216, 217, 219, 220, 222, 224, 227, 230, 233, 236, 239, 243, 248, 252, 0, 4, 8, 13, 17, 20, 23, 26, 29, 32, 34, 36, 37, 39, 40, 41, 43, 44, 45, 45, 46, 47, 48, 48, 49, 49, 50, 50, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, 54, 54,}, { 202, 203, 203, 203, 204, 204, 204, 204, 205, 205, 206, 206, 206, 207, 207, 208, 209, 209, 210, 211, 211, 212, 213, 214, 215, 216, 218, 219, 221, 223, 224, 227, 229, 232, 234, 238, 241, 245, 248, 252, 0, 4, 8, 11, 15, 18, 22, 24, 27, 29, 32, 33, 35, 37, 38, 40, 41, 42, 43, 44, 45, 45, 46, 47, 47, 48, 49, 49, 50, 50, 50, 51, 51, 52, 52, 52, 52, 53, 53, 53, 54,}, { 203, 204, 204, 204, 205, 205, 205, 206, 206, 206, 207, 207, 208, 208, 209, 209, 210, 211, 211, 212, 213, 214, 215, 216, 217, 218, 220, 221, 223, 224, 226, 229, 231, 233, 236, 239, 242, 246, 249, 253, 0, 3, 7, 10, 14, 17, 20, 23, 25, 27, 30, 32, 33, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 45, 46, 47, 47, 48, 48, 49, 49, 50, 50, 50, 51, 51, 51, 52, 52, 52, 53,}, { 204, 205, 205, 205, 206, 206, 206, 207, 207, 208, 208, 208, 209, 210, 210, 211, 211, 212, 213, 214, 215, 215, 216, 218, 219, 220, 221, 223, 224, 226, 228, 230, 233, 235, 238, 240, 243, 247, 250, 253, 0, 3, 6, 9, 13, 16, 18, 21, 23, 26, 28, 30, 32, 33, 35, 36, 37, 38, 40, 41, 41, 42, 43, 44, 45, 45, 46, 46, 47, 48, 48, 48, 49, 49, 50, 50, 50, 51, 51, 51, 52,}, { 205, 206, 206, 206, 207, 207, 207, 208, 208, 209, 209, 210, 210, 211, 211, 212, 213, 213, 214, 215, 216, 217, 218, 219, 220, 222, 223, 224, 226, 228, 230, 232, 234, 236, 239, 242, 244, 247, 250, 253, 0, 3, 6, 9, 12, 14, 17, 20, 22, 24, 26, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 43, 44, 45, 45, 46, 46, 47, 47, 48, 48, 49, 49, 49, 50, 50, 50, 51,}, { 206, 207, 207, 207, 208, 208, 208, 209, 209, 210, 210, 211, 211, 212, 213, 213, 214, 215, 216, 216, 217, 218, 219, 221, 222, 223, 224, 226, 228, 229, 231, 233, 235, 238, 240, 243, 245, 248, 251, 254, 0, 2, 5, 8, 11, 13, 16, 18, 21, 23, 25, 27, 28, 30, 32, 33, 34, 35, 37, 38, 39, 40, 40, 41, 42, 43, 43, 44, 45, 45, 46, 46, 47, 47, 48, 48, 48, 49, 49, 49, 50,}, { 207, 207, 208, 208, 209, 209, 209, 210, 210, 211, 211, 212, 213, 213, 214, 215, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 229, 231, 233, 234, 237, 239, 241, 243, 246, 248, 251, 254, 0, 2, 5, 8, 10, 13, 15, 17, 19, 22, 23, 25, 27, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 41, 42, 43, 43, 44, 45, 45, 46, 46, 47, 47, 47, 48, 48, 49, 49,}, { 208, 208, 209, 209, 210, 210, 210, 211, 211, 212, 212, 213, 214, 214, 215, 216, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 229, 230, 232, 234, 236, 238, 240, 242, 244, 247, 249, 251, 254, 0, 2, 5, 7, 9, 12, 14, 16, 18, 20, 22, 24, 26, 27, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 40, 41, 42, 42, 43, 44, 44, 45, 45, 46, 46, 46, 47, 47, 48, 48,}, { 209, 209, 210, 210, 210, 211, 211, 212, 212, 213, 214, 214, 215, 215, 216, 217, 218, 218, 219, 220, 221, 222, 223, 224, 226, 227, 228, 230, 231, 233, 235, 237, 239, 241, 243, 245, 247, 249, 252, 254, 0, 2, 4, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 26, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 38, 39, 40, 41, 41, 42, 42, 43, 44, 44, 45, 45, 46, 46, 46, 47, 47,}, { 210, 210, 211, 211, 211, 212, 212, 213, 213, 214, 215, 215, 216, 216, 217, 218, 219, 220, 220, 221, 222, 223, 224, 226, 227, 228, 230, 231, 233, 234, 236, 238, 239, 241, 243, 245, 248, 250, 252, 254, 0, 2, 4, 6, 8, 11, 13, 15, 17, 18, 20, 22, 23, 25, 26, 28, 29, 30, 32, 33, 34, 35, 36, 36, 37, 38, 39, 40, 40, 41, 41, 42, 43, 43, 44, 44, 45, 45, 45, 46, 46,}, { 211, 211, 211, 212, 212, 213, 213, 214, 214, 215, 216, 216, 217, 217, 218, 219, 220, 221, 222, 222, 223, 224, 226, 227, 228, 229, 231, 232, 234, 235, 237, 238, 240, 242, 244, 246, 248, 250, 252, 254, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 19, 21, 22, 24, 25, 27, 28, 29, 30, 32, 33, 34, 34, 35, 36, 37, 38, 39, 39, 40, 40, 41, 42, 42, 43, 43, 44, 44, 45, 45, 45,}, { 211, 212, 212, 213, 213, 214, 214, 215, 215, 216, 216, 217, 218, 218, 219, 220, 221, 222, 223, 224, 224, 226, 227, 228, 229, 230, 232, 233, 234, 236, 238, 239, 241, 243, 245, 247, 248, 250, 252, 254, 0, 2, 4, 6, 8, 9, 11, 13, 15, 17, 18, 20, 22, 23, 24, 26, 27, 28, 29, 30, 32, 32, 33, 34, 35, 36, 37, 38, 38, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45,}, { 212, 213, 213, 214, 214, 215, 215, 216, 216, 217, 217, 218, 219, 219, 220, 221, 222, 223, 224, 224, 225, 227, 228, 229, 230, 231, 233, 234, 235, 237, 238, 240, 242, 243, 245, 247, 249, 251, 253, 255, 0, 1, 3, 5, 7, 9, 11, 13, 14, 16, 18, 19, 21, 22, 23, 25, 26, 27, 28, 29, 31, 32, 32, 33, 34, 35, 36, 37, 37, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44,}, { 213, 213, 214, 214, 215, 215, 216, 216, 217, 218, 218, 219, 220, 220, 221, 222, 223, 224, 224, 225, 226, 227, 229, 230, 231, 232, 233, 235, 236, 238, 239, 241, 242, 244, 246, 247, 249, 251, 253, 255, 0, 1, 3, 5, 7, 9, 10, 12, 14, 15, 17, 18, 20, 21, 23, 24, 25, 26, 27, 29, 30, 31, 32, 32, 33, 34, 35, 36, 36, 37, 38, 38, 39, 40, 40, 41, 41, 42, 42, 43, 43,}, { 214, 214, 215, 215, 216, 216, 217, 217, 218, 219, 219, 220, 221, 221, 222, 223, 224, 224, 225, 226, 227, 228, 229, 231, 232, 233, 234, 236, 237, 238, 240, 241, 243, 244, 246, 248, 249, 251, 253, 255, 0, 1, 3, 5, 7, 8, 10, 12, 13, 15, 16, 18, 19, 20, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 32, 33, 34, 35, 35, 36, 37, 37, 38, 39, 39, 40, 40, 41, 41, 42, 42,}, { 215, 215, 215, 216, 216, 217, 218, 218, 219, 219, 220, 221, 221, 222, 223, 224, 224, 225, 226, 227, 228, 229, 230, 231, 233, 234, 235, 236, 238, 239, 240, 242, 243, 245, 247, 248, 250, 251, 253, 255, 0, 1, 3, 5, 6, 8, 9, 11, 13, 14, 16, 17, 18, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 32, 33, 34, 35, 35, 36, 37, 37, 38, 38, 39, 40, 40, 41, 41, 41,}, { 215, 216, 216, 217, 217, 218, 218, 219, 220, 220, 221, 221, 222, 223, 224, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 236, 237, 238, 240, 241, 242, 244, 245, 247, 248, 250, 252, 253, 255, 0, 1, 3, 4, 6, 8, 9, 11, 12, 14, 15, 16, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 32, 33, 34, 35, 35, 36, 36, 37, 38, 38, 39, 39, 40, 40, 41,}, { 216, 216, 217, 217, 218, 219, 219, 220, 220, 221, 222, 222, 223, 224, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 238, 239, 240, 242, 243, 244, 246, 247, 249, 250, 252, 253, 255, 0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 32, 33, 34, 34, 35, 36, 36, 37, 37, 38, 39, 39, 40, 40,}, { 217, 217, 218, 218, 219, 219, 220, 220, 221, 222, 222, 223, 224, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 241, 242, 243, 245, 246, 248, 249, 251, 252, 253, 255, 0, 1, 3, 4, 5, 7, 8, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 32, 33, 34, 34, 35, 36, 36, 37, 37, 38, 38, 39, 39,}, { 217, 218, 218, 219, 219, 220, 221, 221, 222, 222, 223, 224, 224, 225, 226, 227, 228, 228, 229, 230, 231, 232, 233, 234, 235, 236, 238, 239, 240, 241, 243, 244, 245, 247, 248, 249, 251, 252, 254, 255, 0, 1, 2, 4, 5, 7, 8, 9, 11, 12, 13, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 29, 30, 31, 32, 32, 33, 34, 34, 35, 35, 36, 37, 37, 38, 38, 39,}, { 218, 219, 219, 220, 220, 221, 221, 222, 222, 223, 224, 224, 225, 226, 227, 228, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 241, 242, 243, 244, 246, 247, 248, 250, 251, 252, 254, 255, 0, 1, 2, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 29, 30, 31, 32, 32, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38,}, { 219, 219, 220, 220, 221, 221, 222, 223, 223, 224, 224, 225, 226, 227, 227, 228, 229, 230, 231, 232, 233, 233, 234, 235, 237, 238, 239, 240, 241, 242, 243, 245, 246, 247, 248, 250, 251, 252, 254, 255, 0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 23, 24, 25, 26, 27, 28, 29, 29, 30, 31, 32, 32, 33, 33, 34, 35, 35, 36, 36, 37, 37,}, { 219, 220, 220, 221, 221, 222, 223, 223, 224, 224, 225, 226, 227, 227, 228, 229, 230, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 243, 244, 245, 246, 247, 249, 250, 251, 253, 254, 255, 0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 26, 27, 28, 29, 29, 30, 31, 32, 32, 33, 33, 34, 35, 35, 36, 36, 37,}, { 220, 220, 221, 222, 222, 223, 223, 224, 224, 225, 226, 227, 227, 228, 229, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 247, 248, 249, 250, 251, 253, 254, 255, 0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 27, 28, 29, 29, 30, 31, 32, 32, 33, 33, 34, 34, 35, 36, 36,}, { 221, 221, 222, 222, 223, 223, 224, 224, 225, 226, 226, 227, 228, 229, 229, 230, 231, 232, 233, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 245, 246, 247, 248, 249, 250, 252, 253, 254, 255, 0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 23, 24, 25, 26, 27, 27, 28, 29, 30, 30, 31, 32, 32, 33, 33, 34, 34, 35, 35,}, { 221, 222, 222, 223, 223, 224, 224, 225, 226, 226, 227, 228, 228, 229, 230, 231, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 25, 26, 27, 28, 28, 29, 30, 30, 31, 32, 32, 33, 33, 34, 34, 35,}, { 222, 222, 223, 223, 224, 224, 225, 226, 226, 227, 228, 228, 229, 230, 230, 231, 232, 233, 234, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 22, 23, 24, 25, 26, 26, 27, 28, 28, 29, 30, 30, 31, 32, 32, 33, 33, 34, 34,}, { 222, 223, 223, 224, 224, 225, 226, 226, 227, 228, 228, 229, 230, 230, 231, 232, 233, 233, 234, 235, 236, 237, 238, 239, 239, 240, 241, 242, 243, 244, 245, 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 17, 18, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 28, 29, 30, 30, 31, 32, 32, 33, 33, 34,}, { 223, 223, 224, 224, 225, 226, 226, 227, 227, 228, 229, 229, 230, 231, 232, 232, 233, 234, 235, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 21, 22, 23, 24, 24, 25, 26, 27, 27, 28, 29, 29, 30, 30, 31, 32, 32, 33, 33,}, { 223, 224, 224, 225, 226, 226, 227, 227, 228, 229, 229, 230, 231, 231, 232, 233, 234, 234, 235, 236, 237, 238, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 19, 20, 21, 22, 22, 23, 24, 25, 25, 26, 27, 27, 28, 29, 29, 30, 30, 31, 32, 32, 33,}, { 224, 224, 225, 226, 226, 227, 227, 228, 229, 229, 230, 230, 231, 232, 233, 233, 234, 235, 236, 236, 237, 238, 239, 240, 241, 242, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 18, 19, 20, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 27, 28, 29, 29, 30, 30, 31, 32, 32,}, { 224, 225, 226, 226, 227, 227, 228, 228, 229, 230, 230, 231, 232, 232, 233, 234, 234, 235, 236, 237, 238, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 19, 20, 21, 22, 22, 23, 24, 24, 25, 26, 26, 27, 28, 28, 29, 29, 30, 30, 31, 32,}, };