-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathsquareWave.h
46 lines (46 loc) · 72.7 KB
/
squareWave.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
const int16_t squareWavetable[45][257] = {{0,26004,25608,25811,25687,25766,25718,25743,25735,25729,25746,25721,25752,25717,25754,25717,25753,25719,25750,25723,25745,25728,25740,25733,25735,25737,25731,25741,25728,25744,25726,25745,25726,25744,25727,25743,25729,25740,25732,25737,25735,25734,25738,25731,25741,25729,25742,25728,25742,25728,25742,25729,25740,25731,25738,25734,25735,25736,25733,25739,25730,25741,25729,25742,25728,25742,25729,25741,25730,25739,25733,25736,25735,25734,25738,25731,25740,25729,25742,25728,25742,25728,25742,25729,25741,25731,25738,25734,25735,25737,25732,25740,25729,25743,25727,25744,25726,25745,25726,25744,25728,25741,25731,25737,25735,25733,25740,25728,25745,25723,25750,25719,25753,25717,25754,25717,25752,25721,25746,25729,25735,25743,25718,25766,25687,25811,25608,26004,-3,-26004,-25608,-25811,-25687,-25766,-25718,-25743,-25735,-25729,-25746,-25721,-25752,-25717,-25754,-25717,-25753,-25719,-25750,-25723,-25745,-25728,-25740,-25733,-25735,-25737,-25731,-25741,-25728,-25744,-25726,-25745,-25726,-25744,-25727,-25743,-25729,-25740,-25732,-25737,-25735,-25734,-25738,-25731,-25741,-25729,-25742,-25728,-25742,-25728,-25742,-25729,-25740,-25731,-25738,-25734,-25735,-25736,-25732,-25739,-25730,-25741,-25729,-25742,-25728,-25742,-25729,-25741,-25730,-25739,-25733,-25737,-25735,-25734,-25738,-25731,-25740,-25729,-25742,-25728,-25742,-25728,-25742,-25729,-25741,-25731,-25738,-25734,-25735,-25737,-25732,-25740,-25729,-25743,-25727,-25744,-25726,-25745,-25726,-25744,-25727,-25741,-25731,-25737,-25735,-25733,-25740,-25727,-25745,-25723,-25750,-25719,-25753,-25717,-25754,-25717,-25752,-25721,-25746,-25729,-25735,-25743,-25718,-25766,-25687,-25811,-25608,-26004,0},
{0,25416,25585,25645,25677,25699,25714,25726,25735,25742,25748,25752,25755,25756,25757,25757,25756,25755,25753,25750,25747,25744,25741,25738,25735,25732,25730,25728,25726,25725,25724,25724,25724,25724,25725,25726,25728,25730,25731,25733,25735,25737,25739,25740,25742,25743,25743,25744,25744,25744,25743,25742,25741,25740,25738,25737,25735,25734,25732,25731,25729,25728,25728,25727,25727,25727,25728,25728,25729,25731,25732,25734,25735,25737,25738,25740,25741,25742,25743,25744,25744,25744,25743,25742,25742,25740,25739,25737,25735,25733,25731,25730,25728,25726,25725,25724,25724,25724,25724,25725,25726,25728,25730,25732,25735,25738,25741,25744,25747,25750,25753,25755,25756,25757,25757,25756,25755,25752,25748,25742,25735,25726,25714,25699,25678,25645,25585,25416,-3,-25416,-25585,-25645,-25678,-25699,-25714,-25726,-25735,-25742,-25748,-25752,-25755,-25756,-25757,-25757,-25756,-25755,-25752,-25750,-25747,-25744,-25741,-25738,-25735,-25732,-25730,-25728,-25726,-25725,-25724,-25724,-25724,-25724,-25725,-25726,-25728,-25729,-25731,-25733,-25735,-25737,-25739,-25741,-25742,-25743,-25743,-25744,-25744,-25744,-25743,-25742,-25741,-25740,-25738,-25737,-25735,-25734,-25732,-25731,-25729,-25728,-25728,-25727,-25727,-25727,-25728,-25728,-25730,-25731,-25732,-25734,-25735,-25737,-25738,-25740,-25741,-25742,-25743,-25744,-25744,-25744,-25743,-25743,-25742,-25741,-25739,-25737,-25735,-25733,-25731,-25729,-25728,-25726,-25725,-25724,-25724,-25724,-25724,-25725,-25726,-25728,-25730,-25732,-25735,-25738,-25741,-25744,-25747,-25750,-25753,-25754,-25756,-25757,-25757,-25756,-25755,-25752,-25748,-25743,-25735,-25726,-25714,-25699,-25677,-25645,-25585,-25416,0},
{0,25875,25884,25623,25717,25812,25704,25698,25780,25737,25697,25757,25753,25706,25738,25759,25717,25725,25757,25730,25718,25751,25741,25717,25742,25747,25721,25733,25750,25728,25726,25748,25735,25723,25743,25742,25723,25737,25746,25726,25731,25746,25732,25726,25744,25738,25725,25740,25742,25726,25734,25745,25730,25729,25745,25735,25726,25742,25740,25726,25737,25743,25728,25732,25745,25732,25728,25743,25737,25726,25740,25742,25726,25735,25745,25729,25730,25745,25734,25726,25742,25740,25725,25738,25744,25726,25732,25746,25731,25727,25746,25737,25723,25742,25743,25723,25735,25748,25726,25728,25750,25733,25721,25747,25742,25717,25740,25751,25718,25730,25757,25725,25717,25759,25738,25706,25753,25756,25698,25737,25781,25698,25704,25812,25717,25623,25884,25875,-2,-25875,-25884,-25623,-25717,-25812,-25704,-25698,-25781,-25737,-25698,-25757,-25753,-25706,-25738,-25759,-25717,-25725,-25757,-25730,-25718,-25751,-25741,-25717,-25742,-25747,-25721,-25733,-25750,-25728,-25726,-25748,-25735,-25723,-25743,-25742,-25723,-25737,-25745,-25726,-25731,-25747,-25732,-25727,-25744,-25738,-25725,-25740,-25742,-25726,-25734,-25745,-25730,-25729,-25744,-25734,-25726,-25742,-25740,-25726,-25737,-25743,-25728,-25732,-25745,-25732,-25728,-25743,-25737,-25726,-25740,-25742,-25726,-25735,-25745,-25729,-25730,-25745,-25734,-25726,-25742,-25740,-25725,-25738,-25744,-25727,-25732,-25746,-25731,-25726,-25745,-25737,-25723,-25742,-25743,-25723,-25735,-25748,-25726,-25728,-25750,-25733,-25721,-25747,-25742,-25717,-25740,-25751,-25718,-25730,-25758,-25725,-25717,-25759,-25738,-25705,-25753,-25757,-25698,-25737,-25780,-25698,-25704,-25812,-25717,-25623,-25884,-25875,0},
{0,26055,25755,25612,25849,25687,25713,25795,25681,25753,25757,25694,25768,25730,25714,25767,25714,25734,25756,25710,25749,25741,25716,25755,25727,25727,25753,25719,25739,25746,25718,25747,25735,25723,25750,25726,25732,25748,25722,25741,25740,25722,25747,25732,25728,25748,25725,25736,25744,25723,25743,25737,25725,25747,25730,25731,25746,25725,25738,25741,25724,25744,25734,25727,25747,25728,25734,25744,25724,25741,25739,25725,25746,25731,25730,25747,25725,25737,25743,25723,25744,25736,25725,25748,25728,25732,25747,25722,25740,25741,25722,25747,25732,25726,25750,25724,25735,25747,25718,25745,25739,25719,25753,25727,25727,25755,25716,25741,25749,25710,25756,25734,25714,25767,25714,25730,25768,25694,25757,25753,25681,25795,25713,25687,25849,25612,25755,26055,-2,-26055,-25755,-25612,-25849,-25687,-25713,-25795,-25681,-25753,-25757,-25694,-25768,-25730,-25714,-25767,-25714,-25734,-25755,-25710,-25749,-25741,-25716,-25755,-25727,-25727,-25753,-25719,-25739,-25745,-25718,-25747,-25735,-25724,-25750,-25726,-25732,-25748,-25721,-25741,-25740,-25723,-25747,-25732,-25728,-25748,-25725,-25736,-25744,-25723,-25743,-25737,-25725,-25747,-25730,-25731,-25746,-25725,-25738,-25741,-25724,-25744,-25734,-25727,-25747,-25728,-25734,-25744,-25724,-25741,-25739,-25725,-25746,-25731,-25730,-25747,-25725,-25737,-25743,-25723,-25744,-25736,-25725,-25748,-25728,-25732,-25747,-25722,-25740,-25741,-25721,-25747,-25732,-25726,-25750,-25724,-25735,-25747,-25718,-25746,-25739,-25719,-25753,-25727,-25727,-25755,-25716,-25741,-25748,-25710,-25756,-25734,-25714,-25767,-25714,-25730,-25768,-25694,-25757,-25753,-25681,-25795,-25713,-25687,-25849,-25612,-25755,-26055,0},
{0,25807,26004,25680,25608,25788,25811,25685,25686,25783,25766,25690,25717,25776,25743,25698,25735,25768,25729,25706,25746,25759,25720,25716,25752,25750,25716,25725,25755,25741,25715,25733,25754,25733,25717,25740,25751,25727,25721,25746,25747,25723,25726,25749,25741,25721,25732,25750,25735,25721,25738,25749,25730,25723,25743,25746,25725,25726,25746,25742,25723,25731,25748,25736,25722,25737,25748,25731,25723,25742,25747,25726,25725,25746,25743,25723,25730,25749,25738,25721,25735,25750,25732,25721,25741,25749,25726,25723,25747,25746,25721,25727,25751,25740,25717,25733,25754,25733,25715,25741,25755,25725,25716,25750,25752,25716,25720,25759,25746,25706,25729,25768,25735,25698,25743,25776,25717,25690,25766,25783,25686,25685,25811,25788,25608,25680,26004,25807,-2,-25807,-26004,-25680,-25608,-25788,-25812,-25685,-25686,-25783,-25766,-25690,-25717,-25776,-25743,-25698,-25735,-25768,-25729,-25706,-25746,-25759,-25721,-25716,-25752,-25750,-25716,-25725,-25755,-25741,-25715,-25733,-25754,-25733,-25717,-25740,-25751,-25727,-25721,-25746,-25747,-25723,-25726,-25749,-25741,-25721,-25732,-25750,-25735,-25721,-25738,-25749,-25730,-25723,-25743,-25746,-25725,-25726,-25746,-25742,-25723,-25731,-25748,-25736,-25722,-25737,-25748,-25731,-25723,-25741,-25747,-25726,-25725,-25746,-25743,-25723,-25730,-25749,-25738,-25721,-25735,-25750,-25732,-25721,-25741,-25749,-25726,-25723,-25747,-25746,-25721,-25727,-25751,-25740,-25717,-25733,-25754,-25733,-25715,-25741,-25755,-25725,-25716,-25750,-25752,-25716,-25720,-25759,-25746,-25706,-25729,-25768,-25735,-25698,-25743,-25776,-25717,-25690,-25766,-25783,-25686,-25685,-25811,-25788,-25608,-25680,-26004,-25807,0},
{0,25088,25416,25527,25584,25620,25645,25663,25677,25689,25699,25707,25714,25720,25726,25731,25735,25739,25743,25746,25748,25751,25753,25754,25756,25757,25758,25758,25759,25759,25759,25758,25758,25757,25756,25755,25754,25753,25752,25750,25749,25747,25746,25744,25742,25740,25739,25737,25735,25733,25732,25730,25729,25727,25726,25725,25724,25723,25722,25721,25720,25720,25719,25719,25719,25719,25719,25720,25720,25721,25722,25723,25724,25725,25726,25727,25729,25730,25732,25733,25735,25737,25739,25740,25742,25744,25746,25747,25749,25750,25752,25753,25754,25755,25756,25757,25758,25758,25759,25759,25758,25758,25758,25757,25756,25754,25753,25751,25748,25746,25743,25739,25735,25731,25726,25720,25714,25707,25699,25689,25677,25663,25645,25620,25584,25527,25416,25088,-1,-25088,-25416,-25527,-25584,-25620,-25645,-25663,-25677,-25689,-25699,-25707,-25714,-25720,-25726,-25731,-25735,-25739,-25742,-25746,-25748,-25751,-25753,-25754,-25756,-25757,-25758,-25758,-25759,-25759,-25759,-25758,-25758,-25757,-25756,-25755,-25754,-25753,-25752,-25750,-25749,-25747,-25745,-25744,-25742,-25740,-25739,-25737,-25735,-25733,-25732,-25730,-25729,-25727,-25726,-25725,-25724,-25722,-25722,-25721,-25720,-25720,-25719,-25719,-25719,-25719,-25719,-25720,-25720,-25721,-25722,-25723,-25724,-25725,-25726,-25727,-25729,-25730,-25732,-25733,-25735,-25737,-25739,-25740,-25742,-25744,-25746,-25747,-25749,-25750,-25752,-25753,-25754,-25755,-25756,-25757,-25758,-25758,-25759,-25759,-25758,-25758,-25758,-25757,-25756,-25754,-25753,-25751,-25748,-25746,-25743,-25739,-25735,-25731,-25726,-25720,-25714,-25707,-25699,-25689,-25677,-25663,-25644,-25620,-25584,-25527,-25416,-25088,0},
{0,26167,25857,25489,25896,25729,25634,25843,25698,25690,25813,25687,25722,25790,25685,25743,25771,25689,25756,25753,25695,25764,25739,25704,25767,25727,25715,25766,25718,25725,25762,25713,25735,25756,25710,25744,25749,25711,25750,25741,25714,25755,25733,25719,25756,25726,25725,25756,25721,25732,25753,25717,25739,25748,25716,25745,25743,25716,25750,25736,25719,25753,25730,25724,25754,25724,25730,25753,25719,25736,25750,25716,25743,25745,25716,25748,25739,25717,25753,25732,25721,25756,25725,25726,25756,25719,25733,25755,25714,25741,25750,25711,25749,25744,25711,25756,25735,25713,25762,25725,25718,25766,25715,25727,25767,25705,25739,25764,25695,25753,25756,25689,25770,25743,25685,25790,25722,25687,25813,25690,25698,25843,25634,25729,25896,25489,25857,26167,-1,-26167,-25857,-25489,-25896,-25729,-25634,-25843,-25698,-25690,-25813,-25687,-25722,-25790,-25685,-25743,-25770,-25689,-25756,-25753,-25695,-25764,-25739,-25704,-25767,-25727,-25715,-25766,-25718,-25725,-25762,-25713,-25735,-25756,-25711,-25744,-25749,-25711,-25750,-25741,-25714,-25755,-25733,-25719,-25756,-25726,-25725,-25756,-25721,-25732,-25753,-25717,-25739,-25749,-25715,-25745,-25743,-25716,-25750,-25736,-25719,-25753,-25730,-25724,-25754,-25724,-25730,-25753,-25719,-25736,-25750,-25716,-25743,-25745,-25716,-25749,-25739,-25717,-25753,-25732,-25721,-25756,-25725,-25726,-25756,-25719,-25733,-25754,-25714,-25741,-25750,-25711,-25749,-25744,-25711,-25756,-25735,-25713,-25762,-25725,-25718,-25766,-25715,-25727,-25767,-25705,-25739,-25764,-25695,-25753,-25756,-25688,-25771,-25743,-25685,-25790,-25722,-25687,-25814,-25690,-25698,-25843,-25634,-25729,-25896,-25490,-25857,-26167,0},
{0,25389,26038,26033,25777,25585,25599,25743,25843,25811,25708,25651,25692,25773,25802,25756,25693,25682,25730,25779,25775,25728,25693,25707,25751,25775,25753,25713,25700,25727,25761,25765,25735,25707,25712,25742,25764,25752,25722,25707,25725,25753,25760,25739,25714,25713,25738,25759,25753,25727,25711,25723,25748,25758,25742,25718,25714,25734,25755,25754,25731,25713,25721,25745,25758,25745,25721,25713,25731,25753,25755,25734,25714,25718,25742,25758,25748,25723,25711,25727,25752,25759,25738,25713,25714,25739,25760,25753,25725,25707,25722,25752,25764,25742,25712,25707,25735,25765,25761,25727,25700,25713,25753,25775,25751,25707,25693,25728,25775,25778,25730,25682,25693,25756,25802,25773,25692,25651,25708,25811,25843,25743,25599,25585,25777,26033,26038,25389,-1,-25389,-26038,-26033,-25777,-25585,-25599,-25743,-25843,-25811,-25708,-25651,-25692,-25773,-25802,-25756,-25693,-25682,-25730,-25779,-25775,-25728,-25693,-25707,-25751,-25775,-25753,-25713,-25700,-25727,-25761,-25765,-25735,-25707,-25712,-25742,-25764,-25752,-25722,-25707,-25725,-25753,-25760,-25739,-25714,-25713,-25738,-25759,-25752,-25727,-25711,-25723,-25748,-25759,-25742,-25718,-25714,-25734,-25755,-25754,-25731,-25713,-25721,-25745,-25758,-25745,-25721,-25713,-25731,-25753,-25755,-25734,-25714,-25718,-25742,-25758,-25748,-25723,-25711,-25727,-25752,-25759,-25738,-25713,-25714,-25739,-25760,-25753,-25725,-25707,-25722,-25752,-25764,-25742,-25712,-25707,-25735,-25765,-25761,-25727,-25700,-25713,-25753,-25774,-25751,-25707,-25693,-25728,-25775,-25778,-25730,-25682,-25693,-25756,-25802,-25773,-25692,-25651,-25708,-25812,-25843,-25743,-25599,-25585,-25777,-26033,-26038,-25389,0},
{0,26415,25807,25435,26005,25624,25680,25879,25608,25776,25788,25637,25812,25723,25684,25810,25685,25732,25784,25676,25767,25749,25689,25783,25717,25715,25779,25698,25743,25760,25695,25764,25735,25707,25771,25714,25728,25765,25703,25749,25748,25705,25763,25728,25718,25765,25712,25737,25756,25706,25753,25739,25712,25762,25722,25726,25761,25710,25743,25749,25708,25757,25733,25717,25762,25717,25732,25757,25708,25749,25743,25710,25761,25726,25722,25762,25712,25739,25753,25706,25756,25737,25712,25765,25718,25728,25763,25705,25748,25749,25703,25765,25728,25714,25771,25707,25735,25764,25695,25760,25743,25697,25779,25715,25717,25783,25689,25749,25767,25676,25784,25732,25685,25810,25684,25723,25812,25637,25788,25776,25608,25879,25680,25624,26005,25435,25807,26415,-1,-26415,-25807,-25435,-26005,-25624,-25680,-25879,-25608,-25776,-25788,-25637,-25812,-25723,-25684,-25810,-25685,-25732,-25784,-25676,-25767,-25749,-25689,-25783,-25717,-25715,-25779,-25698,-25743,-25760,-25695,-25764,-25735,-25707,-25772,-25714,-25728,-25765,-25703,-25749,-25748,-25705,-25763,-25728,-25718,-25765,-25712,-25737,-25756,-25706,-25753,-25739,-25712,-25762,-25722,-25726,-25761,-25710,-25743,-25749,-25708,-25757,-25732,-25717,-25762,-25717,-25732,-25757,-25708,-25749,-25743,-25710,-25761,-25726,-25722,-25762,-25712,-25739,-25753,-25706,-25756,-25737,-25712,-25765,-25718,-25728,-25763,-25705,-25748,-25749,-25703,-25764,-25728,-25714,-25771,-25708,-25735,-25764,-25695,-25760,-25743,-25698,-25779,-25715,-25717,-25783,-25689,-25749,-25767,-25676,-25784,-25731,-25685,-25810,-25684,-25723,-25812,-25637,-25788,-25776,-25608,-25879,-25680,-25624,-26005,-25435,-25807,-26415,0},
{0,24448,25088,25305,25415,25482,25527,25559,25584,25603,25619,25632,25644,25653,25662,25669,25676,25682,25688,25693,25697,25702,25706,25710,25713,25717,25720,25723,25725,25728,25731,25733,25735,25737,25739,25741,25743,25745,25747,25748,25750,25751,25753,25754,25755,25757,25758,25759,25760,25761,25762,25762,25763,25764,25764,25765,25765,25766,25766,25767,25767,25767,25767,25767,25767,25767,25767,25767,25767,25767,25766,25766,25765,25765,25764,25764,25763,25762,25762,25761,25760,25759,25758,25757,25755,25754,25753,25751,25750,25748,25747,25745,25743,25741,25739,25737,25735,25733,25731,25728,25725,25723,25720,25717,25713,25710,25706,25702,25697,25693,25688,25682,25676,25669,25662,25653,25644,25632,25619,25603,25584,25559,25527,25482,25415,25305,25088,24448,-1,-24448,-25088,-25305,-25415,-25482,-25527,-25559,-25584,-25603,-25619,-25632,-25644,-25653,-25662,-25669,-25676,-25682,-25688,-25693,-25697,-25702,-25706,-25710,-25713,-25717,-25720,-25723,-25725,-25728,-25731,-25733,-25735,-25737,-25740,-25741,-25743,-25745,-25747,-25748,-25750,-25752,-25753,-25754,-25755,-25757,-25758,-25759,-25760,-25761,-25762,-25762,-25763,-25764,-25764,-25765,-25765,-25766,-25766,-25767,-25767,-25767,-25767,-25767,-25767,-25767,-25767,-25767,-25767,-25766,-25766,-25766,-25765,-25765,-25764,-25764,-25763,-25762,-25762,-25761,-25760,-25759,-25758,-25757,-25755,-25754,-25753,-25751,-25750,-25748,-25747,-25745,-25743,-25741,-25739,-25737,-25735,-25733,-25731,-25728,-25725,-25723,-25720,-25716,-25713,-25710,-25706,-25702,-25698,-25693,-25688,-25682,-25676,-25669,-25662,-25653,-25644,-25632,-25619,-25603,-25584,-25559,-25527,-25482,-25415,-25306,-25088,-24448,0},
{0,26515,26198,25230,25820,25981,25504,25727,25915,25605,25691,25876,25661,25673,25848,25699,25665,25824,25726,25663,25803,25746,25664,25783,25761,25669,25765,25772,25676,25749,25779,25685,25735,25783,25695,25723,25783,25706,25713,25782,25718,25705,25778,25729,25699,25772,25739,25696,25764,25749,25695,25756,25757,25696,25747,25764,25699,25737,25769,25704,25728,25772,25711,25719,25773,25719,25711,25772,25728,25704,25769,25737,25699,25764,25747,25696,25757,25756,25695,25749,25764,25696,25739,25772,25699,25729,25778,25705,25718,25782,25713,25706,25783,25723,25695,25783,25735,25685,25779,25749,25676,25772,25765,25669,25761,25783,25664,25746,25803,25663,25726,25824,25665,25699,25848,25673,25661,25876,25691,25605,25915,25727,25504,25981,25820,25230,26198,26515,-1,-26515,-26198,-25230,-25820,-25981,-25504,-25727,-25915,-25605,-25691,-25876,-25661,-25673,-25848,-25699,-25665,-25824,-25726,-25663,-25802,-25746,-25664,-25783,-25761,-25669,-25765,-25772,-25676,-25749,-25779,-25685,-25735,-25783,-25695,-25723,-25783,-25706,-25713,-25782,-25718,-25705,-25778,-25729,-25699,-25772,-25739,-25696,-25764,-25749,-25695,-25756,-25757,-25696,-25747,-25764,-25699,-25737,-25769,-25704,-25728,-25772,-25711,-25719,-25773,-25719,-25711,-25772,-25728,-25704,-25769,-25737,-25699,-25764,-25747,-25696,-25757,-25756,-25695,-25749,-25764,-25696,-25739,-25772,-25699,-25729,-25778,-25705,-25717,-25782,-25713,-25706,-25783,-25723,-25695,-25783,-25735,-25685,-25779,-25749,-25676,-25772,-25765,-25669,-25761,-25783,-25664,-25746,-25803,-25663,-25726,-25824,-25665,-25699,-25848,-25673,-25661,-25876,-25691,-25605,-25915,-25727,-25504,-25981,-25820,-25230,-26198,-26515,0},
{0,27133,25430,25592,26072,25369,26019,25591,25732,25853,25561,25902,25625,25762,25788,25629,25854,25642,25775,25755,25667,25826,25654,25782,25735,25691,25806,25663,25786,25722,25709,25790,25671,25787,25712,25723,25777,25679,25787,25704,25735,25765,25686,25786,25699,25745,25754,25694,25784,25695,25754,25745,25701,25781,25692,25761,25735,25709,25778,25690,25767,25726,25718,25773,25690,25773,25718,25726,25767,25690,25778,25709,25735,25761,25692,25781,25701,25745,25754,25695,25784,25694,25754,25745,25699,25786,25686,25765,25735,25704,25787,25678,25777,25723,25712,25787,25671,25790,25709,25722,25786,25663,25806,25691,25736,25782,25653,25826,25667,25755,25775,25642,25854,25630,25788,25762,25625,25902,25561,25853,25732,25591,26019,25369,26072,25592,25430,27133,-1,-27133,-25430,-25592,-26072,-25369,-26019,-25591,-25732,-25853,-25561,-25902,-25625,-25762,-25788,-25630,-25854,-25642,-25775,-25755,-25666,-25826,-25654,-25782,-25735,-25691,-25806,-25663,-25786,-25722,-25709,-25790,-25671,-25787,-25712,-25723,-25777,-25679,-25787,-25704,-25735,-25765,-25686,-25786,-25699,-25745,-25755,-25694,-25784,-25695,-25754,-25745,-25701,-25782,-25692,-25761,-25735,-25709,-25778,-25690,-25767,-25726,-25718,-25773,-25690,-25773,-25718,-25726,-25767,-25690,-25778,-25710,-25735,-25761,-25692,-25781,-25701,-25745,-25754,-25695,-25784,-25694,-25754,-25745,-25699,-25786,-25686,-25765,-25735,-25704,-25787,-25678,-25777,-25723,-25712,-25787,-25671,-25790,-25709,-25722,-25786,-25663,-25806,-25691,-25736,-25782,-25653,-25826,-25667,-25755,-25775,-25642,-25854,-25629,-25788,-25762,-25625,-25902,-25561,-25853,-25732,-25591,-26019,-25369,-26072,-25592,-25430,-27133,0},
{0,24671,26454,26422,25753,25333,25470,25850,26011,25833,25580,25548,25733,25893,25849,25679,25594,25683,25824,25846,25736,25634,25661,25773,25832,25771,25671,25654,25735,25811,25792,25705,25659,25706,25786,25801,25735,25672,25688,25760,25800,25760,25691,25678,25735,25791,25777,25713,25677,25713,25776,25788,25735,25684,25696,25756,25790,25756,25697,25685,25735,25785,25773,25715,25681,25715,25773,25785,25735,25685,25697,25756,25790,25756,25696,25683,25735,25788,25776,25713,25677,25713,25777,25791,25735,25678,25691,25760,25800,25760,25688,25672,25735,25801,25786,25706,25659,25705,25792,25811,25735,25654,25671,25771,25832,25773,25661,25634,25736,25846,25824,25683,25594,25679,25849,25893,25733,25548,25580,25833,26011,25850,25470,25333,25753,26422,26454,24671,-0,-24671,-26455,-26422,-25753,-25333,-25470,-25850,-26011,-25832,-25580,-25548,-25733,-25893,-25849,-25679,-25594,-25683,-25824,-25846,-25736,-25634,-25661,-25773,-25832,-25771,-25671,-25654,-25735,-25811,-25792,-25705,-25659,-25706,-25786,-25801,-25735,-25672,-25688,-25760,-25800,-25760,-25691,-25678,-25735,-25791,-25777,-25713,-25677,-25713,-25776,-25788,-25735,-25684,-25696,-25756,-25790,-25756,-25697,-25685,-25735,-25785,-25773,-25714,-25681,-25715,-25773,-25785,-25735,-25685,-25697,-25756,-25790,-25756,-25696,-25684,-25735,-25788,-25776,-25713,-25677,-25713,-25777,-25791,-25735,-25678,-25691,-25760,-25800,-25760,-25687,-25672,-25735,-25801,-25786,-25707,-25659,-25705,-25792,-25811,-25735,-25654,-25671,-25771,-25832,-25773,-25661,-25634,-25736,-25846,-25824,-25683,-25594,-25679,-25849,-25893,-25733,-25548,-25580,-25833,-26011,-25850,-25470,-25333,-25753,-26422,-26454,-24671,0},
{0,23234,24446,24870,25084,25213,25300,25361,25407,25443,25472,25495,25515,25531,25545,25557,25568,25577,25585,25593,25599,25605,25611,25616,25620,25624,25628,25631,25634,25637,25640,25642,25645,25647,25649,25651,25652,25654,25655,25657,25658,25659,25661,25662,25663,25664,25664,25665,25666,25667,25667,25668,25668,25669,25669,25670,25670,25670,25670,25671,25671,25671,25671,25671,25671,25671,25671,25671,25671,25671,25670,25670,25670,25670,25669,25669,25668,25668,25667,25667,25666,25665,25664,25663,25663,25662,25661,25659,25658,25657,25655,25654,25652,25651,25649,25647,25645,25642,25640,25637,25634,25631,25628,25624,25620,25616,25611,25605,25599,25593,25585,25577,25568,25557,25545,25531,25515,25495,25472,25443,25407,25361,25300,25213,25084,24870,24446,23234,-0,-23234,-24446,-24870,-25084,-25213,-25300,-25361,-25407,-25443,-25472,-25495,-25515,-25531,-25545,-25557,-25568,-25577,-25585,-25593,-25599,-25605,-25611,-25616,-25620,-25624,-25628,-25631,-25634,-25637,-25640,-25642,-25645,-25647,-25649,-25651,-25652,-25654,-25656,-25657,-25658,-25659,-25661,-25662,-25663,-25664,-25664,-25665,-25666,-25667,-25667,-25668,-25668,-25669,-25669,-25669,-25670,-25670,-25670,-25671,-25671,-25671,-25671,-25671,-25671,-25671,-25671,-25671,-25671,-25671,-25670,-25670,-25670,-25670,-25669,-25669,-25668,-25668,-25667,-25667,-25666,-25665,-25664,-25663,-25663,-25662,-25661,-25659,-25658,-25657,-25655,-25654,-25652,-25651,-25649,-25647,-25645,-25642,-25640,-25637,-25634,-25631,-25628,-25624,-25620,-25616,-25611,-25605,-25599,-25593,-25585,-25577,-25568,-25557,-25545,-25531,-25515,-25495,-25472,-25443,-25407,-25361,-25300,-25213,-25084,-24870,-24446,-23234,0},
{0,24656,26583,26770,26137,25447,25215,25478,25894,26082,25930,25634,25476,25574,25804,25942,25875,25687,25563,25610,25768,25882,25850,25713,25607,25629,25749,25848,25835,25729,25634,25640,25736,25826,25826,25740,25653,25648,25726,25811,25820,25748,25666,25652,25718,25799,25816,25755,25676,25656,25712,25789,25814,25762,25685,25658,25705,25781,25812,25768,25692,25658,25699,25775,25812,25775,25699,25658,25692,25768,25812,25781,25705,25658,25685,25762,25814,25789,25712,25656,25676,25755,25816,25799,25718,25652,25666,25748,25820,25811,25726,25647,25653,25740,25826,25826,25736,25640,25634,25729,25835,25848,25749,25629,25607,25713,25849,25882,25768,25610,25563,25687,25875,25942,25804,25574,25476,25634,25930,26082,25894,25478,25215,25447,26137,26770,26583,24656,-0,-24656,-26583,-26770,-26137,-25447,-25215,-25478,-25894,-26081,-25930,-25634,-25476,-25574,-25804,-25942,-25875,-25687,-25563,-25610,-25768,-25882,-25850,-25713,-25607,-25629,-25749,-25848,-25835,-25729,-25634,-25640,-25736,-25826,-25826,-25740,-25653,-25648,-25726,-25811,-25820,-25748,-25666,-25652,-25718,-25799,-25816,-25755,-25676,-25656,-25712,-25789,-25814,-25762,-25685,-25657,-25705,-25782,-25812,-25768,-25692,-25658,-25699,-25774,-25812,-25775,-25699,-25658,-25692,-25768,-25812,-25782,-25705,-25658,-25685,-25762,-25814,-25789,-25712,-25656,-25676,-25755,-25816,-25799,-25718,-25652,-25666,-25748,-25820,-25811,-25726,-25647,-25653,-25740,-25826,-25826,-25736,-25640,-25634,-25729,-25835,-25848,-25748,-25629,-25608,-25713,-25849,-25882,-25768,-25610,-25563,-25687,-25875,-25942,-25804,-25574,-25476,-25634,-25930,-26082,-25894,-25478,-25215,-25447,-26137,-26770,-26583,-24656,0},
{0,27393,27133,24732,25429,26475,25592,25275,26074,25922,25366,25775,26022,25547,25589,25978,25732,25521,25855,25862,25556,25719,25908,25654,25620,25875,25764,25588,25791,25842,25622,25698,25864,25698,25633,25828,25780,25620,25758,25833,25657,25685,25839,25725,25640,25800,25791,25640,25735,25828,25681,25674,25823,25744,25643,25779,25801,25654,25717,25826,25700,25665,25811,25762,25644,25762,25811,25665,25700,25826,25717,25654,25801,25779,25643,25744,25823,25674,25681,25828,25735,25640,25791,25800,25640,25725,25839,25685,25657,25833,25758,25620,25780,25828,25633,25698,25864,25698,25622,25842,25791,25588,25764,25875,25620,25654,25908,25719,25556,25862,25855,25521,25732,25978,25589,25547,26022,25775,25367,25922,26074,25275,25592,26475,25429,24732,27133,27393,-0,-27393,-27133,-24732,-25429,-26475,-25592,-25275,-26074,-25922,-25367,-25775,-26022,-25547,-25589,-25978,-25732,-25521,-25855,-25862,-25556,-25719,-25908,-25654,-25620,-25875,-25764,-25588,-25791,-25842,-25622,-25698,-25864,-25698,-25633,-25828,-25780,-25620,-25758,-25833,-25657,-25685,-25839,-25725,-25640,-25800,-25791,-25640,-25735,-25828,-25681,-25674,-25823,-25744,-25643,-25779,-25801,-25654,-25717,-25826,-25700,-25665,-25811,-25762,-25644,-25762,-25811,-25665,-25700,-25826,-25717,-25654,-25801,-25779,-25643,-25744,-25823,-25674,-25681,-25828,-25735,-25640,-25791,-25800,-25640,-25725,-25839,-25685,-25657,-25833,-25758,-25620,-25780,-25828,-25633,-25698,-25864,-25698,-25622,-25842,-25791,-25588,-25764,-25875,-25620,-25654,-25908,-25719,-25556,-25862,-25855,-25521,-25732,-25978,-25589,-25547,-26022,-25775,-25367,-25922,-26074,-25275,-25592,-26475,-25429,-24732,-27133,-27393,0},
{0,29559,24671,25576,26455,24885,26423,25366,25753,25996,25330,26133,25467,25809,25852,25489,26017,25512,25835,25779,25576,25949,25541,25849,25733,25633,25902,25563,25856,25702,25675,25864,25583,25859,25679,25708,25833,25601,25859,25661,25736,25806,25619,25857,25648,25759,25780,25637,25852,25639,25779,25757,25656,25845,25632,25797,25735,25674,25836,25629,25812,25714,25694,25825,25627,25825,25694,25714,25812,25629,25836,25674,25735,25797,25632,25845,25656,25757,25779,25639,25852,25637,25780,25759,25648,25857,25619,25806,25736,25661,25859,25601,25833,25708,25679,25859,25583,25864,25675,25702,25856,25563,25902,25633,25733,25849,25541,25949,25575,25779,25835,25512,26017,25489,25852,25809,25467,26133,25330,25996,25753,25366,26424,24885,26455,25576,24671,29559,-0,-29559,-24671,-25576,-26455,-24885,-26423,-25366,-25753,-25996,-25330,-26133,-25467,-25809,-25852,-25489,-26017,-25512,-25835,-25779,-25575,-25949,-25541,-25849,-25733,-25633,-25902,-25563,-25856,-25702,-25675,-25865,-25583,-25859,-25679,-25708,-25833,-25601,-25859,-25661,-25736,-25806,-25619,-25857,-25648,-25759,-25780,-25637,-25852,-25639,-25779,-25757,-25656,-25845,-25632,-25797,-25735,-25674,-25836,-25629,-25812,-25714,-25694,-25825,-25627,-25825,-25694,-25714,-25812,-25629,-25836,-25675,-25735,-25797,-25632,-25845,-25656,-25757,-25779,-25639,-25852,-25637,-25780,-25759,-25648,-25857,-25619,-25806,-25736,-25661,-25859,-25601,-25833,-25708,-25679,-25859,-25583,-25865,-25675,-25702,-25856,-25563,-25902,-25633,-25733,-25849,-25541,-25949,-25576,-25779,-25835,-25512,-26017,-25489,-25852,-25809,-25467,-26133,-25330,-25996,-25753,-25366,-26423,-24885,-26455,-25576,-24671,-29559,0},
{0,30342,23233,27440,24445,26773,24868,26481,25081,26318,25209,26214,25295,26143,25356,26090,25401,26051,25436,26020,25464,25995,25486,25974,25505,25957,25520,25943,25533,25931,25545,25921,25554,25912,25562,25904,25570,25897,25576,25892,25581,25887,25586,25882,25590,25878,25594,25875,25597,25872,25599,25870,25601,25868,25603,25866,25605,25865,25606,25864,25607,25863,25607,25863,25607,25863,25607,25863,25607,25864,25606,25865,25605,25866,25603,25868,25601,25870,25599,25872,25597,25875,25594,25878,25590,25882,25586,25887,25581,25892,25576,25897,25570,25904,25562,25912,25554,25921,25545,25931,25533,25943,25520,25957,25505,25974,25486,25995,25464,26020,25436,26051,25401,26090,25356,26143,25295,26214,25209,26318,25081,26481,24868,26773,24445,27440,23233,30342,-0,-30342,-23233,-27440,-24445,-26773,-24868,-26481,-25081,-26318,-25209,-26214,-25295,-26143,-25356,-26090,-25401,-26051,-25436,-26020,-25464,-25995,-25486,-25974,-25505,-25957,-25520,-25943,-25533,-25931,-25545,-25921,-25554,-25912,-25562,-25904,-25570,-25897,-25576,-25892,-25581,-25887,-25586,-25882,-25590,-25878,-25594,-25875,-25597,-25872,-25599,-25870,-25601,-25868,-25603,-25866,-25605,-25865,-25606,-25864,-25607,-25863,-25607,-25863,-25607,-25863,-25607,-25863,-25607,-25864,-25606,-25865,-25605,-25866,-25603,-25868,-25601,-25870,-25599,-25872,-25597,-25875,-25594,-25878,-25590,-25882,-25586,-25887,-25581,-25892,-25576,-25897,-25570,-25904,-25562,-25912,-25554,-25921,-25545,-25931,-25533,-25943,-25520,-25957,-25505,-25974,-25486,-25995,-25464,-26020,-25436,-26051,-25401,-26090,-25356,-26143,-25295,-26214,-25209,-26318,-25081,-26481,-24868,-26773,-24445,-27440,-23233,-30342,0},
{0,29654,24527,25694,26446,24730,26754,24904,26257,25562,25591,26110,25247,26214,25368,25925,25744,25552,26034,25399,26030,25544,25788,25821,25539,25988,25486,25924,25646,25710,25863,25540,25950,25551,25847,25717,25659,25885,25550,25912,25607,25786,25771,25624,25894,25566,25874,25658,25735,25812,25601,25894,25589,25835,25705,25690,25845,25588,25886,25617,25793,25750,25651,25869,25583,25869,25651,25750,25793,25617,25885,25588,25845,25690,25705,25835,25589,25894,25601,25812,25735,25658,25874,25566,25894,25624,25771,25786,25607,25912,25550,25885,25659,25717,25847,25551,25950,25540,25863,25710,25646,25924,25486,25988,25539,25821,25788,25544,26030,25399,26034,25552,25744,25925,25368,26214,25247,26110,25591,25562,26257,24904,26754,24730,26446,25694,24527,29654,-0,-29654,-24527,-25694,-26446,-24730,-26754,-24904,-26257,-25562,-25591,-26110,-25247,-26214,-25368,-25925,-25744,-25552,-26034,-25399,-26030,-25544,-25788,-25821,-25539,-25988,-25486,-25924,-25646,-25710,-25863,-25540,-25950,-25551,-25847,-25717,-25659,-25885,-25550,-25912,-25607,-25786,-25771,-25624,-25894,-25566,-25874,-25658,-25735,-25812,-25601,-25894,-25589,-25835,-25705,-25690,-25845,-25588,-25886,-25617,-25793,-25750,-25651,-25869,-25583,-25869,-25651,-25750,-25793,-25617,-25886,-25588,-25845,-25690,-25705,-25835,-25589,-25894,-25601,-25812,-25734,-25658,-25874,-25566,-25894,-25624,-25771,-25786,-25607,-25912,-25550,-25885,-25659,-25717,-25847,-25551,-25950,-25540,-25863,-25710,-25646,-25924,-25486,-25988,-25539,-25821,-25788,-25544,-26030,-25399,-26034,-25552,-25744,-25925,-25368,-26214,-25247,-26110,-25591,-25562,-26257,-24904,-26754,-24730,-26446,-25694,-24527,-29654,0},
{0,27703,27393,23379,27135,25791,24729,26744,25428,25275,26481,25298,25591,26267,25267,25795,26080,25293,25927,25916,25355,26004,25776,25440,26036,25663,25538,26030,25579,25638,25995,25525,25732,25939,25501,25814,25868,25504,25877,25791,25532,25919,25716,25579,25937,25649,25639,25932,25596,25706,25906,25562,25772,25862,25548,25831,25807,25556,25877,25744,25583,25907,25682,25627,25917,25627,25682,25907,25583,25744,25877,25556,25807,25831,25548,25862,25772,25562,25906,25706,25596,25932,25639,25649,25937,25579,25716,25919,25532,25791,25877,25504,25868,25814,25501,25939,25732,25525,25995,25638,25579,26030,25538,25663,26036,25440,25776,26004,25355,25916,25927,25293,26080,25795,25267,26267,25591,25298,26481,25275,25428,26744,24729,25791,27135,23379,27393,27703,-0,-27703,-27393,-23379,-27135,-25791,-24729,-26744,-25428,-25275,-26481,-25298,-25591,-26267,-25267,-25795,-26080,-25293,-25927,-25916,-25355,-26004,-25776,-25440,-26036,-25663,-25538,-26030,-25579,-25638,-25995,-25525,-25732,-25939,-25501,-25814,-25868,-25504,-25877,-25791,-25532,-25919,-25716,-25579,-25937,-25649,-25639,-25932,-25596,-25706,-25906,-25562,-25772,-25862,-25548,-25831,-25807,-25556,-25877,-25744,-25583,-25907,-25682,-25627,-25917,-25627,-25682,-25907,-25583,-25744,-25877,-25556,-25807,-25831,-25549,-25862,-25772,-25562,-25906,-25706,-25596,-25932,-25639,-25649,-25937,-25579,-25716,-25919,-25532,-25791,-25877,-25504,-25868,-25814,-25501,-25939,-25732,-25525,-25995,-25638,-25579,-26030,-25538,-25663,-26036,-25440,-25776,-26004,-25355,-25916,-25927,-25293,-26080,-25795,-25267,-26267,-25591,-25298,-26481,-25275,-25428,-26744,-24729,-25791,-27135,-23379,-27393,-27703,0},
{0,25235,29559,23870,24670,27434,25575,24592,26459,26246,24879,25776,26431,25322,25361,26301,25753,25223,26003,26048,25318,25682,26148,25553,25456,26062,25812,25386,25860,25993,25471,25640,26040,25652,25491,25953,25845,25463,25785,25969,25553,25613,25981,25713,25509,25887,25869,25510,25734,25957,25609,25590,25943,25758,25517,25839,25891,25542,25692,25951,25653,25568,25914,25798,25520,25798,25914,25568,25653,25951,25692,25542,25891,25839,25517,25758,25943,25590,25609,25957,25734,25510,25869,25887,25509,25713,25981,25613,25553,25969,25785,25463,25845,25953,25491,25652,26040,25640,25471,25993,25860,25386,25812,26062,25456,25553,26148,25682,25317,26049,26003,25222,25753,26301,25361,25322,26431,25776,24879,26246,26459,24592,25575,27434,24670,23870,29559,25235,-0,-25235,-29559,-23870,-24670,-27434,-25575,-24592,-26459,-26246,-24879,-25776,-26431,-25322,-25361,-26301,-25753,-25223,-26003,-26048,-25317,-25682,-26148,-25553,-25456,-26062,-25812,-25386,-25860,-25993,-25471,-25640,-26040,-25652,-25491,-25953,-25845,-25463,-25785,-25969,-25554,-25613,-25981,-25713,-25509,-25887,-25869,-25510,-25734,-25957,-25609,-25590,-25943,-25758,-25517,-25839,-25891,-25542,-25692,-25951,-25653,-25568,-25914,-25798,-25520,-25798,-25915,-25568,-25653,-25951,-25692,-25542,-25891,-25839,-25517,-25758,-25943,-25590,-25609,-25956,-25734,-25510,-25869,-25887,-25509,-25713,-25981,-25613,-25553,-25969,-25785,-25463,-25845,-25953,-25491,-25652,-26040,-25640,-25471,-25993,-25860,-25386,-25812,-26062,-25456,-25553,-26148,-25682,-25318,-26049,-26003,-25222,-25753,-26301,-25361,-25322,-26431,-25776,-24879,-26246,-26460,-24592,-25575,-27434,-24670,-23871,-29560,-25235,0},
{0,22459,30343,26350,23230,25491,27445,25864,24438,25656,26781,25788,24858,25697,26492,25764,25068,25713,26332,25753,25193,25721,26232,25747,25275,25725,26164,25743,25332,25728,26116,25741,25373,25730,26080,25740,25404,25731,26054,25739,25427,25732,26033,25738,25445,25733,26018,25737,25458,25733,26007,25737,25468,25734,25999,25736,25474,25734,25994,25736,25478,25735,25991,25735,25479,25735,25991,25735,25478,25736,25994,25734,25474,25736,25999,25734,25468,25737,26007,25733,25458,25737,26018,25733,25445,25738,26033,25732,25427,25739,26054,25731,25404,25740,26080,25730,25373,25741,26116,25728,25332,25743,26164,25725,25275,25747,26232,25721,25193,25753,26332,25713,25068,25764,26492,25697,24858,25788,26781,25656,24438,25864,27445,25491,23230,26350,30343,22459,-0,-22459,-30343,-26350,-23230,-25491,-27445,-25864,-24438,-25656,-26781,-25788,-24858,-25697,-26492,-25764,-25068,-25713,-26332,-25753,-25193,-25721,-26232,-25747,-25275,-25725,-26164,-25743,-25332,-25728,-26116,-25741,-25373,-25730,-26080,-25740,-25404,-25731,-26054,-25739,-25427,-25732,-26033,-25738,-25445,-25733,-26018,-25737,-25458,-25734,-26007,-25737,-25468,-25734,-25999,-25736,-25474,-25734,-25994,-25736,-25478,-25735,-25991,-25735,-25479,-25735,-25991,-25735,-25478,-25736,-25994,-25734,-25474,-25736,-25999,-25734,-25468,-25737,-26007,-25733,-25458,-25737,-26018,-25733,-25445,-25738,-26033,-25732,-25427,-25739,-26054,-25731,-25404,-25740,-26080,-25730,-25373,-25741,-26116,-25728,-25332,-25743,-26164,-25725,-25275,-25747,-26232,-25721,-25193,-25753,-26332,-25713,-25068,-25764,-26492,-25697,-24858,-25788,-26781,-25656,-24438,-25864,-27445,-25491,-23230,-26350,-30343,-22458,0},
{0,19704,29656,28881,24524,23376,25695,27428,26448,24703,24723,26150,26765,25835,24891,25270,26269,26391,25556,25062,25588,26282,26123,25411,25226,25799,26240,25912,25344,25385,25940,26164,25743,25331,25536,26027,26065,25611,25359,25676,26070,25952,25514,25419,25799,26074,25835,25452,25501,25900,26044,25721,25425,25599,25976,25986,25618,25431,25704,26023,25905,25531,25467,25809,26038,25809,25467,25531,25905,26023,25704,25431,25618,25986,25976,25599,25425,25721,26044,25900,25501,25452,25835,26074,25799,25419,25514,25952,26070,25676,25359,25611,26065,26027,25536,25331,25743,26164,25940,25385,25344,25912,26240,25799,25226,25411,26123,26282,25588,25062,25556,26391,26269,25270,24891,25835,26765,26150,24723,24703,26448,27428,25695,23376,24524,28881,29656,19704,-0,-19704,-29656,-28881,-24524,-23376,-25695,-27428,-26448,-24703,-24723,-26150,-26765,-25835,-24891,-25270,-26269,-26391,-25556,-25062,-25588,-26282,-26123,-25411,-25226,-25799,-26240,-25912,-25344,-25385,-25940,-26164,-25743,-25331,-25536,-26027,-26065,-25611,-25359,-25676,-26070,-25952,-25514,-25419,-25799,-26074,-25835,-25452,-25501,-25900,-26044,-25721,-25425,-25599,-25976,-25986,-25618,-25431,-25704,-26023,-25905,-25531,-25467,-25809,-26038,-25809,-25467,-25531,-25905,-26023,-25704,-25431,-25618,-25986,-25976,-25599,-25425,-25721,-26044,-25900,-25501,-25452,-25835,-26074,-25799,-25419,-25514,-25952,-26070,-25676,-25359,-25611,-26065,-26028,-25536,-25331,-25743,-26164,-25940,-25385,-25344,-25912,-26240,-25799,-25226,-25411,-26123,-26282,-25588,-25062,-25556,-26391,-26269,-25270,-24891,-25835,-26765,-26150,-24723,-24703,-26448,-27428,-25695,-23376,-24524,-28881,-29656,-19704,0},
{0,17237,27989,30197,27043,23778,23520,25594,27314,27019,25432,24445,24989,26251,26786,26118,25115,24898,25616,26394,26378,25657,25081,25273,25961,26351,26032,25404,25183,25590,26136,26206,25746,25296,25358,25841,26185,26010,25533,25300,25566,26014,26134,25800,25402,25391,25770,26100,26010,25610,25359,25540,25940,26101,25844,25466,25399,25716,26052,26024,25666,25389,25509,25887,26091,25887,25509,25389,25666,26024,26052,25716,25399,25466,25844,26101,25940,25540,25359,25610,26010,26100,25770,25391,25402,25800,26134,26014,25566,25300,25533,26010,26185,25841,25358,25296,25746,26206,26136,25590,25183,25404,26032,26351,25961,25273,25081,25657,26378,26394,25616,24898,25115,26118,26786,26251,24990,24445,25432,27019,27314,25594,23520,23778,27043,30197,27989,17237,-0,-17237,-27989,-30197,-27043,-23778,-23520,-25594,-27314,-27019,-25432,-24445,-24989,-26251,-26786,-26118,-25115,-24898,-25616,-26394,-26378,-25657,-25081,-25273,-25961,-26351,-26032,-25404,-25183,-25590,-26136,-26206,-25746,-25295,-25358,-25841,-26185,-26010,-25533,-25300,-25566,-26014,-26134,-25800,-25402,-25391,-25770,-26100,-26010,-25610,-25359,-25540,-25940,-26101,-25844,-25466,-25399,-25716,-26052,-26024,-25666,-25389,-25509,-25887,-26091,-25887,-25509,-25389,-25666,-26024,-26052,-25716,-25399,-25466,-25844,-26101,-25940,-25540,-25359,-25610,-26010,-26100,-25770,-25391,-25402,-25800,-26134,-26014,-25566,-25300,-25533,-26010,-26185,-25841,-25358,-25296,-25746,-26206,-26136,-25590,-25183,-25404,-26032,-26351,-25961,-25273,-25081,-25657,-26378,-26394,-25616,-24898,-25115,-26118,-26786,-26251,-24990,-24445,-25432,-27019,-27314,-25594,-23520,-23778,-27043,-30197,-27989,-17237,0},
{0,14561,25237,30018,29563,26521,23863,23299,24668,26538,27448,26910,25571,24553,24576,25483,26476,26789,26256,25372,24852,25063,25781,26407,26461,25943,25297,25036,25341,25938,26343,26246,25751,25267,25175,25532,26035,26280,26083,25617,25260,25294,25678,26097,26215,25947,25516,25270,25402,25798,26137,26147,25826,25437,25293,25506,25901,26159,26073,25715,25376,25328,25609,25992,26166,25992,25609,25328,25376,25715,26073,26159,25901,25506,25293,25437,25826,26147,26137,25798,25402,25270,25516,25947,26215,26097,25678,25294,25260,25617,26083,26280,26035,25532,25175,25267,25751,26246,26343,25938,25341,25036,25297,25943,26461,26407,25781,25063,24852,25372,26256,26789,26476,25482,24576,24553,25571,26910,27448,26538,24668,23299,23863,26521,29563,30018,25237,14561,-0,-14561,-25237,-30018,-29563,-26521,-23863,-23299,-24668,-26538,-27448,-26910,-25571,-24553,-24576,-25483,-26476,-26789,-26256,-25372,-24852,-25063,-25781,-26407,-26461,-25943,-25297,-25036,-25341,-25938,-26343,-26246,-25751,-25267,-25175,-25532,-26035,-26280,-26083,-25617,-25260,-25294,-25678,-26097,-26215,-25947,-25516,-25270,-25402,-25798,-26137,-26147,-25826,-25437,-25293,-25506,-25901,-26159,-26073,-25715,-25376,-25328,-25609,-25992,-26166,-25992,-25609,-25328,-25376,-25715,-26073,-26159,-25901,-25506,-25293,-25437,-25826,-26147,-26137,-25798,-25402,-25270,-25516,-25947,-26215,-26097,-25678,-25294,-25260,-25617,-26083,-26280,-26035,-25532,-25175,-25267,-25751,-26246,-26343,-25938,-25341,-25036,-25297,-25943,-26461,-26407,-25781,-25063,-24852,-25372,-26256,-26789,-26476,-25482,-24576,-24553,-25571,-26910,-27448,-26538,-24668,-23299,-23863,-26521,-29563,-30018,-25237,-14561,0},
{0,12435,22461,28509,30350,29032,26348,24055,23217,23929,25493,26918,27464,26973,25862,24821,24413,24790,25658,26485,26813,26504,25786,25095,24818,25082,25699,26298,26539,26307,25761,25229,25013,25222,25716,26199,26396,26204,25750,25303,25121,25299,25724,26143,26315,26146,25743,25345,25182,25343,25729,26112,26270,26114,25739,25367,25214,25366,25733,26098,26249,26099,25736,25374,25224,25374,25736,26099,26249,26098,25733,25366,25214,25367,25739,26114,26270,26112,25729,25343,25182,25345,25743,26146,26315,26143,25724,25299,25121,25303,25750,26204,26396,26199,25716,25222,25013,25229,25761,26307,26539,26298,25699,25082,24818,25095,25786,26504,26813,26485,25658,24790,24413,24821,25862,26973,27464,26918,25493,23929,23217,24055,26348,29032,30350,28509,22461,12435,-0,-12435,-22461,-28510,-30350,-29032,-26348,-24055,-23217,-23929,-25493,-26918,-27464,-26973,-25862,-24821,-24413,-24790,-25658,-26485,-26813,-26504,-25786,-25095,-24818,-25082,-25699,-26298,-26539,-26307,-25761,-25229,-25013,-25222,-25716,-26199,-26396,-26204,-25750,-25303,-25121,-25299,-25724,-26143,-26315,-26146,-25743,-25345,-25182,-25343,-25729,-26112,-26270,-26114,-25739,-25367,-25214,-25366,-25733,-26098,-26249,-26099,-25736,-25374,-25224,-25374,-25736,-26099,-26249,-26098,-25733,-25366,-25214,-25367,-25739,-26114,-26270,-26112,-25729,-25343,-25182,-25345,-25743,-26146,-26315,-26143,-25724,-25299,-25120,-25303,-25750,-26205,-26396,-26199,-25716,-25222,-25013,-25229,-25761,-26307,-26539,-26298,-25699,-25082,-24818,-25095,-25786,-26504,-26813,-26485,-25658,-24790,-24413,-24821,-25862,-26973,-27464,-26918,-25493,-23929,-23217,-24055,-26348,-29032,-30350,-28509,-22461,-12435,0},
{0,10968,20287,26755,29918,30140,28415,26008,24051,23225,23630,24869,26284,27255,27438,26860,25861,24918,24428,24558,25190,26007,26637,26822,26514,25884,25231,24842,24872,25283,25871,26369,26560,26375,25913,25393,25046,25021,25316,25787,26220,26421,26309,25943,25493,25164,25099,25322,25726,26126,26342,26281,25975,25565,25237,25139,25311,25673,26061,26298,26278,26013,25622,25284,25151,25284,25622,26013,26278,26298,26061,25673,25311,25139,25237,25565,25975,26281,26342,26126,25726,25322,25099,25164,25493,25943,26309,26421,26220,25787,25316,25021,25046,25393,25913,26375,26560,26369,25871,25283,24872,24842,25231,25884,26514,26822,26637,26007,25190,24558,24428,24918,25861,26860,27438,27255,26284,24869,23630,23225,24051,26008,28415,30140,29918,26755,20287,10968,-0,-10968,-20287,-26755,-29918,-30140,-28415,-26008,-24051,-23225,-23630,-24869,-26284,-27255,-27438,-26860,-25861,-24918,-24428,-24558,-25190,-26007,-26637,-26822,-26514,-25884,-25231,-24842,-24872,-25283,-25871,-26369,-26560,-26375,-25913,-25393,-25046,-25021,-25316,-25787,-26220,-26421,-26309,-25943,-25493,-25164,-25099,-25322,-25726,-26126,-26342,-26281,-25975,-25565,-25237,-25139,-25311,-25673,-26061,-26298,-26278,-26013,-25622,-25284,-25151,-25284,-25622,-26013,-26278,-26298,-26061,-25673,-25311,-25139,-25237,-25565,-25975,-26281,-26342,-26126,-25726,-25322,-25099,-25164,-25493,-25943,-26309,-26421,-26220,-25787,-25316,-25021,-25046,-25393,-25913,-26375,-26560,-26369,-25871,-25283,-24872,-24842,-25231,-25884,-26514,-26822,-26637,-26007,-25190,-24558,-24428,-24918,-25861,-26860,-27438,-27255,-26284,-24869,-23630,-23225,-24051,-26008,-28415,-30140,-29918,-26755,-20287,-10968,0},
{0,9467,17876,24382,28514,30251,29988,28417,26346,24510,23414,23254,23920,25075,26289,27171,27484,27195,26460,25561,24801,24412,24487,24966,25661,26332,26762,26827,26529,25986,25391,24940,24775,24935,25353,25879,26336,26576,26527,26218,25758,25305,25010,24964,25177,25571,26010,26347,26472,26349,26022,25605,25238,25043,25083,25342,25729,26115,26370,26409,26221,25870,25475,25169,25054,25169,25475,25870,26221,26409,26370,26115,25729,25342,25083,25043,25238,25605,26022,26349,26472,26347,26010,25571,25177,24964,25010,25305,25758,26218,26527,26576,26336,25879,25353,24935,24775,24940,25391,25986,26529,26827,26762,26332,25661,24966,24487,24412,24801,25561,26460,27195,27484,27171,26289,25075,23920,23254,23414,24510,26346,28417,29988,30251,28514,24382,17876,9467,-0,-9467,-17876,-24382,-28514,-30251,-29988,-28417,-26346,-24510,-23414,-23254,-23920,-25075,-26289,-27171,-27484,-27195,-26460,-25561,-24801,-24412,-24487,-24966,-25661,-26332,-26762,-26827,-26529,-25986,-25391,-24940,-24775,-24935,-25353,-25879,-26336,-26576,-26527,-26218,-25758,-25305,-25010,-24964,-25177,-25571,-26010,-26347,-26472,-26349,-26022,-25605,-25238,-25043,-25083,-25342,-25729,-26115,-26370,-26409,-26221,-25871,-25475,-25169,-25054,-25169,-25475,-25870,-26221,-26409,-26370,-26115,-25729,-25342,-25083,-25043,-25238,-25605,-26022,-26349,-26472,-26347,-26010,-25571,-25177,-24964,-25010,-25305,-25758,-26218,-26527,-26576,-26336,-25879,-25353,-24935,-24775,-24940,-25391,-25986,-26529,-26827,-26762,-26332,-25661,-24966,-24487,-24412,-24801,-25561,-26460,-27195,-27484,-27171,-26289,-25076,-23920,-23254,-23414,-24510,-26346,-28417,-29988,-30251,-28514,-24382,-17876,-9467,0},
{0,7936,15250,21408,26037,28970,30258,30150,29041,27395,25673,24257,23401,23204,23613,24457,25497,26478,27188,27496,27370,26880,26166,25407,24781,24418,24384,24664,25175,25787,26353,26746,26885,26751,26386,25886,25371,24961,24747,24771,25019,25426,25893,26310,26581,26647,26498,26173,25753,25337,25022,24881,24942,25188,25561,25969,26318,26527,26546,26375,26053,25658,25282,25015,24918,25015,25282,25658,26053,26375,26546,26527,26318,25969,25561,25188,24942,24881,25022,25337,25753,26173,26498,26647,26581,26310,25893,25426,25019,24771,24747,24961,25371,25886,26386,26751,26885,26746,26353,25787,25175,24664,24384,24418,24781,25407,26166,26880,27370,27496,27188,26478,25497,24457,23613,23204,23401,24257,25673,27395,29041,30150,30258,28970,26037,21408,15250,7936,-0,-7936,-15250,-21408,-26037,-28970,-30258,-30150,-29041,-27395,-25673,-24257,-23401,-23204,-23613,-24457,-25497,-26478,-27188,-27496,-27370,-26880,-26166,-25407,-24781,-24418,-24384,-24664,-25175,-25787,-26353,-26746,-26885,-26751,-26386,-25886,-25371,-24961,-24747,-24771,-25019,-25426,-25893,-26310,-26581,-26647,-26498,-26173,-25753,-25337,-25022,-24881,-24942,-25188,-25561,-25969,-26318,-26527,-26546,-26375,-26053,-25658,-25282,-25015,-24918,-25015,-25282,-25658,-26053,-26375,-26546,-26527,-26318,-25969,-25561,-25189,-24942,-24881,-25022,-25337,-25753,-26173,-26498,-26647,-26581,-26310,-25893,-25426,-25019,-24771,-24747,-24961,-25371,-25886,-26386,-26751,-26885,-26746,-26353,-25787,-25175,-24664,-24384,-24418,-24781,-25407,-26166,-26880,-27370,-27496,-27188,-26478,-25497,-24457,-23613,-23204,-23401,-24257,-25673,-27395,-29041,-30150,-30258,-28970,-26037,-21408,-15250,-7936,0},
{0,6379,12436,17879,22469,26044,28529,29939,30375,30005,29049,27747,26340,25041,24018,23378,23166,23362,23894,24651,25502,26315,26975,27399,27543,27406,27028,26479,25852,25243,24742,24415,24303,24411,24714,25157,25669,26171,26589,26863,26958,26865,26605,26220,25773,25331,24962,24717,24632,24716,24953,25304,25715,26123,26467,26695,26775,26696,26471,26136,25741,25348,25015,24793,24715,24793,25015,25348,25741,26136,26471,26696,26775,26695,26467,26123,25715,25304,24953,24716,24632,24717,24962,25331,25773,26220,26605,26865,26958,26863,26589,26171,25669,25157,24714,24411,24303,24415,24742,25243,25852,26479,27028,27406,27543,27399,26975,26315,25502,24651,23894,23362,23166,23378,24018,25041,26340,27747,29049,30005,30375,29939,28529,26043,22469,17879,12436,6379,-0,-6379,-12436,-17879,-22469,-26044,-28529,-29939,-30375,-30005,-29049,-27747,-26340,-25041,-24018,-23378,-23166,-23362,-23894,-24651,-25502,-26315,-26975,-27399,-27543,-27406,-27028,-26479,-25852,-25243,-24742,-24415,-24303,-24411,-24714,-25157,-25669,-26171,-26589,-26863,-26958,-26865,-26605,-26220,-25773,-25331,-24962,-24717,-24632,-24716,-24953,-25304,-25715,-26123,-26467,-26695,-26775,-26696,-26471,-26136,-25741,-25348,-25015,-24793,-24715,-24793,-25015,-25348,-25741,-26136,-26471,-26696,-26775,-26695,-26467,-26123,-25715,-25304,-24953,-24716,-24632,-24717,-24962,-25331,-25773,-26220,-26605,-26865,-26958,-26863,-26589,-26171,-25669,-25157,-24714,-24411,-24303,-24415,-24742,-25243,-25852,-26479,-27028,-27406,-27543,-27399,-26975,-26315,-25502,-24651,-23894,-23362,-23166,-23378,-24018,-25041,-26340,-27747,-29049,-30005,-30375,-29939,-28528,-26043,-22469,-17879,-12436,-6379,0},
{0,5593,10969,15927,20295,23938,26774,28770,29949,30379,30172,29469,28430,27220,25992,24885,24002,23416,23158,23224,23575,24147,24856,25613,26329,26927,27348,27556,27541,27318,26923,26412,25848,25297,24821,24472,24284,24271,24428,24732,25142,25607,26074,26488,26803,26986,27018,26901,26651,26298,25887,25465,25081,24779,24593,24543,24632,24850,25170,25553,25955,26330,26634,26831,26900,26831,26634,26330,25955,25553,25170,24850,24632,24543,24593,24779,25081,25465,25887,26298,26651,26901,27018,26986,26803,26488,26074,25607,25142,24732,24428,24271,24284,24472,24821,25297,25848,26412,26923,27318,27541,27556,27348,26927,26329,25613,24856,24147,23575,23224,23158,23416,24002,24885,25992,27220,28430,29469,30172,30379,29949,28770,26774,23938,20295,15927,10969,5593,-0,-5593,-10969,-15927,-20295,-23938,-26774,-28770,-29949,-30379,-30172,-29469,-28430,-27220,-25992,-24885,-24002,-23416,-23158,-23224,-23575,-24147,-24856,-25613,-26329,-26927,-27348,-27556,-27541,-27318,-26923,-26412,-25848,-25297,-24821,-24472,-24284,-24271,-24428,-24732,-25142,-25607,-26074,-26488,-26803,-26986,-27018,-26901,-26651,-26298,-25887,-25465,-25081,-24779,-24593,-24543,-24632,-24850,-25170,-25553,-25955,-26330,-26634,-26831,-26900,-26831,-26634,-26330,-25955,-25553,-25170,-24850,-24632,-24543,-24593,-24779,-25081,-25465,-25887,-26298,-26651,-26901,-27018,-26986,-26803,-26488,-26074,-25607,-25142,-24732,-24428,-24271,-24284,-24472,-24821,-25297,-25848,-26412,-26923,-27318,-27541,-27556,-27348,-26927,-26329,-25613,-24856,-24147,-23575,-23224,-23158,-23416,-24002,-24885,-25992,-27220,-28430,-29469,-30172,-30379,-29949,-28770,-26774,-23938,-20295,-15927,-10969,-5593,0},
{0,4802,9468,13867,17883,21418,24401,26783,28548,29706,30295,30376,30029,29349,28437,27398,26331,25324,24454,23776,23328,23125,23163,23420,23857,24426,25070,25731,26353,26887,27293,27545,27630,27548,27314,26956,26506,26009,25506,25040,24650,24365,24206,24183,24294,24526,24857,25255,25686,26113,26499,26813,27030,27131,27111,26972,26728,26401,26019,25615,25224,24879,24609,24438,24379,24438,24609,24879,25224,25615,26019,26401,26728,26972,27111,27131,27030,26813,26499,26113,25686,25255,24857,24526,24294,24183,24206,24365,24650,25040,25506,26009,26507,26956,27315,27548,27630,27545,27293,26887,26353,25731,25070,24426,23857,23420,23163,23125,23328,23776,24454,25324,26331,27398,28437,29349,30029,30376,30295,29706,28548,26783,24401,21418,17883,13867,9468,4802,-0,-4802,-9468,-13867,-17883,-21418,-24401,-26783,-28548,-29706,-30295,-30376,-30029,-29349,-28437,-27398,-26331,-25324,-24454,-23776,-23328,-23125,-23163,-23420,-23857,-24426,-25070,-25731,-26353,-26887,-27293,-27545,-27630,-27548,-27314,-26956,-26506,-26009,-25506,-25040,-24650,-24365,-24206,-24183,-24294,-24526,-24857,-25255,-25686,-26113,-26499,-26813,-27030,-27131,-27111,-26972,-26728,-26401,-26019,-25615,-25224,-24879,-24609,-24438,-24379,-24438,-24609,-24879,-25224,-25615,-26019,-26401,-26728,-26972,-27111,-27131,-27030,-26813,-26499,-26113,-25686,-25255,-24857,-24526,-24294,-24183,-24206,-24365,-24650,-25040,-25506,-26009,-26507,-26956,-27315,-27548,-27630,-27545,-27293,-26887,-26353,-25731,-25070,-24426,-23857,-23420,-23163,-23125,-23328,-23776,-24454,-25324,-26331,-27398,-28437,-29349,-30029,-30376,-30295,-29706,-28548,-26783,-24401,-21418,-17883,-13867,-9468,-4802,0},
{0,4008,7936,11709,15256,18512,21426,23955,26071,27761,29022,29867,30321,30421,30212,29747,29083,28281,27400,26499,25631,24840,24167,23639,23276,23086,23069,23214,23502,23909,24404,24953,25524,26080,26591,27029,27371,27602,27713,27701,27571,27336,27011,26619,26184,25733,25294,24890,24546,24280,24107,24034,24065,24196,24418,24716,25073,25466,25873,26268,26628,26933,27164,27309,27358,27309,27164,26933,26628,26268,25873,25466,25073,24716,24418,24196,24065,24034,24107,24280,24546,24890,25294,25733,26184,26619,27011,27336,27571,27701,27713,27602,27371,27029,26591,26080,25524,24953,24404,23909,23502,23214,23069,23086,23276,23639,24167,24840,25631,26499,27400,28281,29083,29747,30212,30421,30321,29867,29022,27761,26071,23955,21425,18512,15256,11709,7936,4008,-0,-4008,-7936,-11709,-15256,-18512,-21426,-23955,-26071,-27761,-29022,-29867,-30321,-30421,-30212,-29747,-29083,-28281,-27400,-26499,-25631,-24840,-24167,-23639,-23276,-23086,-23069,-23214,-23502,-23909,-24404,-24954,-25524,-26080,-26591,-27029,-27371,-27602,-27713,-27701,-27571,-27336,-27011,-26619,-26184,-25733,-25294,-24890,-24546,-24280,-24107,-24034,-24065,-24196,-24418,-24716,-25073,-25466,-25873,-26267,-26628,-26933,-27164,-27309,-27358,-27309,-27164,-26933,-26628,-26268,-25873,-25466,-25073,-24716,-24418,-24196,-24065,-24034,-24107,-24280,-24546,-24890,-25294,-25733,-26184,-26619,-27011,-27336,-27571,-27701,-27713,-27602,-27371,-27029,-26591,-26080,-25524,-24953,-24404,-23909,-23502,-23214,-23069,-23086,-23276,-23639,-24167,-24840,-25631,-26499,-27400,-28281,-29083,-29747,-30212,-30421,-30321,-29867,-29022,-27761,-26071,-23955,-21425,-18512,-15256,-11709,-7936,-4008,0},
{0,3210,6380,9469,12441,15260,17894,20315,22501,24432,26097,27489,28605,29450,30033,30369,30476,30377,30098,29667,29115,28471,27768,27036,26303,25597,24941,24356,23859,23463,23177,23006,22949,23004,23163,23415,23748,24145,24590,25064,25549,26025,26477,26887,27241,27528,27739,27867,27910,27867,27743,27543,27276,26953,26587,26192,25783,25377,24988,24631,24318,24063,23873,23756,23717,23756,23873,24063,24318,24631,24988,25377,25783,26192,26587,26953,27276,27543,27743,27867,27910,27867,27739,27528,27241,26887,26477,26025,25549,25064,24590,24145,23748,23415,23163,23004,22949,23006,23177,23463,23859,24356,24941,25597,26303,27036,27768,28471,29115,29667,30098,30377,30476,30369,30033,29450,28605,27489,26097,24432,22501,20315,17894,15260,12441,9469,6380,3210,-0,-3210,-6380,-9469,-12441,-15260,-17894,-20315,-22501,-24432,-26097,-27489,-28605,-29450,-30033,-30369,-30476,-30377,-30098,-29667,-29115,-28471,-27768,-27036,-26303,-25597,-24941,-24356,-23859,-23463,-23177,-23006,-22949,-23004,-23163,-23415,-23748,-24145,-24590,-25064,-25549,-26025,-26477,-26887,-27241,-27528,-27739,-27867,-27910,-27867,-27743,-27543,-27276,-26953,-26587,-26192,-25783,-25377,-24988,-24631,-24318,-24063,-23873,-23756,-23717,-23756,-23873,-24063,-24318,-24631,-24988,-25377,-25783,-26192,-26587,-26953,-27276,-27543,-27743,-27867,-27910,-27867,-27739,-27528,-27241,-26887,-26477,-26025,-25549,-25064,-24590,-24145,-23748,-23415,-23163,-23004,-22949,-23006,-23177,-23463,-23859,-24356,-24941,-25597,-26303,-27036,-27768,-28471,-29115,-29667,-30098,-30377,-30476,-30369,-30033,-29450,-28605,-27489,-26097,-24432,-22501,-20315,-17894,-15260,-12441,-9469,-6380,-3210,0},
{0,3210,6380,9469,12441,15260,17894,20315,22501,24432,26097,27489,28605,29450,30033,30369,30476,30377,30098,29667,29115,28471,27768,27036,26303,25597,24941,24356,23859,23463,23177,23006,22949,23004,23163,23415,23748,24145,24590,25064,25549,26025,26477,26887,27241,27528,27739,27867,27910,27867,27743,27543,27276,26953,26587,26192,25783,25377,24988,24631,24318,24063,23873,23756,23717,23756,23873,24063,24318,24631,24988,25377,25783,26192,26587,26953,27276,27543,27743,27867,27910,27867,27739,27528,27241,26887,26477,26025,25549,25064,24590,24145,23748,23415,23163,23004,22949,23006,23177,23463,23859,24356,24941,25597,26303,27036,27768,28471,29115,29667,30098,30377,30476,30369,30033,29450,28605,27489,26097,24432,22501,20315,17894,15260,12441,9469,6380,3210,-0,-3210,-6380,-9469,-12441,-15260,-17894,-20315,-22501,-24432,-26097,-27489,-28605,-29450,-30033,-30369,-30476,-30377,-30098,-29667,-29115,-28471,-27768,-27036,-26303,-25597,-24941,-24356,-23859,-23463,-23177,-23006,-22949,-23004,-23163,-23415,-23748,-24145,-24590,-25064,-25549,-26025,-26477,-26887,-27241,-27528,-27739,-27867,-27910,-27867,-27743,-27543,-27276,-26953,-26587,-26192,-25783,-25377,-24988,-24631,-24318,-24063,-23873,-23756,-23717,-23756,-23873,-24063,-24318,-24631,-24988,-25377,-25783,-26192,-26587,-26953,-27276,-27543,-27743,-27867,-27910,-27867,-27739,-27528,-27241,-26887,-26477,-26025,-25549,-25064,-24590,-24145,-23748,-23415,-23163,-23004,-22949,-23006,-23177,-23463,-23859,-24356,-24941,-25597,-26303,-27036,-27768,-28471,-29115,-29667,-30098,-30377,-30476,-30369,-30033,-29450,-28605,-27489,-26097,-24432,-22501,-20315,-17894,-15260,-12441,-9469,-6380,-3210,0},
{0,2410,4803,7162,9472,11715,13879,15948,17910,19753,21467,23044,24477,25760,26890,27865,28685,29352,29868,30240,30473,30576,30557,30426,30195,29876,29482,29024,28517,27975,27409,26833,26259,25699,25164,24664,24207,23801,23453,23167,22948,22798,22717,22705,22761,22882,23063,23300,23585,23913,24275,24663,25069,25485,25900,26307,26697,27062,27394,27688,27937,28136,28280,28369,28398,28369,28280,28136,27937,27688,27394,27062,26697,26307,25900,25485,25069,24663,24275,23913,23585,23300,23063,22882,22761,22705,22717,22798,22948,23167,23453,23801,24207,24664,25164,25699,26259,26833,27409,27975,28517,29024,29482,29876,30195,30426,30557,30576,30473,30240,29868,29352,28685,27865,26890,25760,24477,23044,21467,19753,17910,15948,13879,11715,9472,7162,4803,2410,-0,-2410,-4803,-7162,-9472,-11715,-13879,-15948,-17910,-19753,-21467,-23044,-24477,-25760,-26890,-27865,-28685,-29352,-29868,-30240,-30473,-30576,-30557,-30426,-30195,-29876,-29482,-29024,-28517,-27975,-27409,-26833,-26259,-25699,-25164,-24664,-24207,-23801,-23453,-23167,-22948,-22798,-22717,-22705,-22762,-22882,-23063,-23300,-23585,-23913,-24275,-24663,-25069,-25485,-25900,-26307,-26697,-27062,-27394,-27688,-27937,-28136,-28280,-28369,-28398,-28369,-28280,-28136,-27937,-27688,-27394,-27062,-26697,-26307,-25900,-25485,-25069,-24663,-24275,-23913,-23585,-23300,-23063,-22882,-22761,-22705,-22717,-22798,-22948,-23167,-23453,-23801,-24207,-24664,-25164,-25699,-26259,-26833,-27409,-27975,-28517,-29024,-29482,-29876,-30195,-30426,-30557,-30576,-30473,-30240,-29868,-29352,-28685,-27865,-26890,-25760,-24477,-23044,-21467,-19753,-17910,-15948,-13879,-11715,-9472,-7162,-4803,-2410,0},
{0,2410,4803,7162,9472,11715,13879,15948,17910,19753,21467,23044,24477,25760,26890,27865,28685,29352,29868,30240,30473,30576,30557,30426,30195,29876,29482,29024,28517,27975,27409,26833,26259,25699,25164,24664,24207,23801,23453,23167,22948,22798,22717,22705,22761,22882,23063,23300,23585,23913,24275,24663,25069,25485,25900,26307,26697,27062,27394,27688,27937,28136,28280,28369,28398,28369,28280,28136,27937,27688,27394,27062,26697,26307,25900,25485,25069,24663,24275,23913,23585,23300,23063,22882,22761,22705,22717,22798,22948,23167,23453,23801,24207,24664,25164,25699,26259,26833,27409,27975,28517,29024,29482,29876,30195,30426,30557,30576,30473,30240,29868,29352,28685,27865,26890,25760,24477,23044,21467,19753,17910,15948,13879,11715,9472,7162,4803,2410,-0,-2410,-4803,-7162,-9472,-11715,-13879,-15948,-17910,-19753,-21467,-23044,-24477,-25760,-26890,-27865,-28685,-29352,-29868,-30240,-30473,-30576,-30557,-30426,-30195,-29876,-29482,-29024,-28517,-27975,-27409,-26833,-26259,-25699,-25164,-24664,-24207,-23801,-23453,-23167,-22948,-22798,-22717,-22705,-22762,-22882,-23063,-23300,-23585,-23913,-24275,-24663,-25069,-25485,-25900,-26307,-26697,-27062,-27394,-27688,-27937,-28136,-28280,-28369,-28398,-28369,-28280,-28136,-27937,-27688,-27394,-27062,-26697,-26307,-25900,-25485,-25069,-24663,-24275,-23913,-23585,-23300,-23063,-22882,-22761,-22705,-22717,-22798,-22948,-23167,-23453,-23801,-24207,-24664,-25164,-25699,-26259,-26833,-27409,-27975,-28517,-29024,-29482,-29876,-30195,-30426,-30557,-30576,-30473,-30240,-29868,-29352,-28685,-27865,-26890,-25760,-24477,-23044,-21467,-19753,-17910,-15948,-13879,-11715,-9472,-7162,-4803,-2410,0},
{0,1608,3210,4804,6382,7942,9478,10986,12461,13899,15297,16650,17955,19208,20407,21549,22630,23650,24605,25494,26316,27070,27755,28370,28917,29394,29803,30145,30420,30630,30778,30865,30893,30866,30785,30655,30478,30258,29998,29703,29376,29020,28641,28242,27827,27401,26967,26530,26093,25661,25236,24824,24427,24049,23692,23360,23056,22781,22539,22330,22157,22021,21923,21864,21845,21864,21923,22021,22157,22330,22539,22781,23056,23360,23692,24049,24427,24824,25236,25661,26093,26530,26967,27401,27827,28242,28641,29020,29376,29703,29998,30258,30478,30655,30785,30866,30893,30865,30778,30630,30420,30145,29803,29394,28917,28370,27755,27070,26316,25494,24605,23650,22630,21549,20407,19208,17955,16650,15297,13899,12461,10986,9478,7942,6382,4804,3210,1608,-0,-1608,-3210,-4804,-6382,-7942,-9478,-10986,-12461,-13899,-15297,-16650,-17955,-19208,-20407,-21549,-22630,-23650,-24605,-25494,-26316,-27070,-27755,-28370,-28917,-29394,-29803,-30145,-30420,-30630,-30778,-30865,-30893,-30866,-30785,-30655,-30478,-30258,-29998,-29703,-29376,-29020,-28641,-28242,-27827,-27401,-26967,-26530,-26093,-25661,-25236,-24824,-24427,-24049,-23692,-23360,-23056,-22781,-22539,-22330,-22157,-22021,-21923,-21864,-21845,-21864,-21923,-22021,-22157,-22330,-22539,-22781,-23056,-23360,-23692,-24049,-24427,-24824,-25236,-25661,-26093,-26530,-26967,-27401,-27827,-28242,-28641,-29020,-29376,-29703,-29998,-30258,-30478,-30655,-30785,-30866,-30893,-30865,-30778,-30630,-30420,-30145,-29803,-29394,-28917,-28370,-27755,-27070,-26316,-25494,-24605,-23650,-22630,-21549,-20407,-19208,-17955,-16650,-15297,-13899,-12461,-10985,-9478,-7942,-6382,-4804,-3210,-1608,0},
{0,1608,3210,4804,6382,7942,9478,10986,12461,13899,15297,16650,17955,19208,20407,21549,22630,23650,24605,25494,26316,27070,27755,28370,28917,29394,29803,30145,30420,30630,30778,30865,30893,30866,30785,30655,30478,30258,29998,29703,29376,29020,28641,28242,27827,27401,26967,26530,26093,25661,25236,24824,24427,24049,23692,23360,23056,22781,22539,22330,22157,22021,21923,21864,21845,21864,21923,22021,22157,22330,22539,22781,23056,23360,23692,24049,24427,24824,25236,25661,26093,26530,26967,27401,27827,28242,28641,29020,29376,29703,29998,30258,30478,30655,30785,30866,30893,30865,30778,30630,30420,30145,29803,29394,28917,28370,27755,27070,26316,25494,24605,23650,22630,21549,20407,19208,17955,16650,15297,13899,12461,10986,9478,7942,6382,4804,3210,1608,-0,-1608,-3210,-4804,-6382,-7942,-9478,-10986,-12461,-13899,-15297,-16650,-17955,-19208,-20407,-21549,-22630,-23650,-24605,-25494,-26316,-27070,-27755,-28370,-28917,-29394,-29803,-30145,-30420,-30630,-30778,-30865,-30893,-30866,-30785,-30655,-30478,-30258,-29998,-29703,-29376,-29020,-28641,-28242,-27827,-27401,-26967,-26530,-26093,-25661,-25236,-24824,-24427,-24049,-23692,-23360,-23056,-22781,-22539,-22330,-22157,-22021,-21923,-21864,-21845,-21864,-21923,-22021,-22157,-22330,-22539,-22781,-23056,-23360,-23692,-24049,-24427,-24824,-25236,-25661,-26093,-26530,-26967,-27401,-27827,-28242,-28641,-29020,-29376,-29703,-29998,-30258,-30478,-30655,-30785,-30866,-30893,-30865,-30778,-30630,-30420,-30145,-29803,-29394,-28917,-28370,-27755,-27070,-26316,-25494,-24605,-23650,-22630,-21549,-20407,-19208,-17955,-16650,-15297,-13899,-12461,-10985,-9478,-7942,-6382,-4804,-3210,-1608,0},
{0,1608,3210,4804,6382,7942,9478,10986,12461,13899,15297,16650,17955,19208,20407,21549,22630,23650,24605,25494,26316,27070,27755,28370,28917,29394,29803,30145,30420,30630,30778,30865,30893,30866,30785,30655,30478,30258,29998,29703,29376,29020,28641,28242,27827,27401,26967,26530,26093,25661,25236,24824,24427,24049,23692,23360,23056,22781,22539,22330,22157,22021,21923,21864,21845,21864,21923,22021,22157,22330,22539,22781,23056,23360,23692,24049,24427,24824,25236,25661,26093,26530,26967,27401,27827,28242,28641,29020,29376,29703,29998,30258,30478,30655,30785,30866,30893,30865,30778,30630,30420,30145,29803,29394,28917,28370,27755,27070,26316,25494,24605,23650,22630,21549,20407,19208,17955,16650,15297,13899,12461,10986,9478,7942,6382,4804,3210,1608,-0,-1608,-3210,-4804,-6382,-7942,-9478,-10986,-12461,-13899,-15297,-16650,-17955,-19208,-20407,-21549,-22630,-23650,-24605,-25494,-26316,-27070,-27755,-28370,-28917,-29394,-29803,-30145,-30420,-30630,-30778,-30865,-30893,-30866,-30785,-30655,-30478,-30258,-29998,-29703,-29376,-29020,-28641,-28242,-27827,-27401,-26967,-26530,-26093,-25661,-25236,-24824,-24427,-24049,-23692,-23360,-23056,-22781,-22539,-22330,-22157,-22021,-21923,-21864,-21845,-21864,-21923,-22021,-22157,-22330,-22539,-22781,-23056,-23360,-23692,-24049,-24427,-24824,-25236,-25661,-26093,-26530,-26967,-27401,-27827,-28242,-28641,-29020,-29376,-29703,-29998,-30258,-30478,-30655,-30785,-30866,-30893,-30865,-30778,-30630,-30420,-30145,-29803,-29394,-28917,-28370,-27755,-27070,-26316,-25494,-24605,-23650,-22630,-21549,-20407,-19208,-17955,-16650,-15297,-13899,-12461,-10985,-9478,-7942,-6382,-4804,-3210,-1608,0},
{0,804,1608,2410,3212,4011,4808,5602,6393,7179,7962,8739,9512,10278,11039,11793,12539,13279,14010,14732,15446,16151,16846,17530,18204,18868,19519,20159,20787,21403,22005,22594,23170,23731,24279,24811,25329,25832,26319,26790,27245,27683,28105,28510,28898,29268,29621,29956,30273,30571,30852,31113,31356,31580,31785,31971,32137,32285,32412,32521,32609,32678,32728,32757,32767,32757,32728,32678,32609,32521,32412,32285,32137,31971,31785,31580,31356,31113,30852,30571,30273,29956,29621,29268,28898,28510,28105,27683,27245,26790,26319,25832,25329,24811,24279,23731,23170,22594,22005,21403,20787,20159,19519,18868,18204,17530,16846,16151,15446,14732,14010,13279,12539,11793,11039,10278,9512,8739,7962,7179,6393,5602,4808,4011,3212,2410,1608,804,-0,-804,-1608,-2410,-3212,-4011,-4808,-5602,-6393,-7179,-7962,-8739,-9512,-10278,-11039,-11793,-12539,-13279,-14010,-14732,-15446,-16151,-16846,-17530,-18204,-18868,-19519,-20159,-20787,-21403,-22005,-22594,-23170,-23731,-24279,-24811,-25329,-25832,-26319,-26790,-27245,-27683,-28105,-28510,-28898,-29268,-29621,-29956,-30273,-30571,-30852,-31113,-31356,-31580,-31785,-31971,-32137,-32285,-32412,-32521,-32609,-32678,-32728,-32757,-32767,-32757,-32728,-32678,-32609,-32521,-32412,-32285,-32137,-31971,-31785,-31580,-31356,-31113,-30852,-30571,-30273,-29956,-29621,-29268,-28898,-28510,-28105,-27683,-27245,-26790,-26319,-25832,-25329,-24811,-24279,-23731,-23170,-22594,-22005,-21403,-20787,-20159,-19519,-18867,-18204,-17530,-16846,-16151,-15446,-14732,-14010,-13279,-12539,-11793,-11039,-10278,-9512,-8739,-7962,-7179,-6393,-5602,-4808,-4011,-3212,-2410,-1608,-804,0},
{0,804,1608,2410,3212,4011,4808,5602,6393,7179,7962,8739,9512,10278,11039,11793,12539,13279,14010,14732,15446,16151,16846,17530,18204,18868,19519,20159,20787,21403,22005,22594,23170,23731,24279,24811,25329,25832,26319,26790,27245,27683,28105,28510,28898,29268,29621,29956,30273,30571,30852,31113,31356,31580,31785,31971,32137,32285,32412,32521,32609,32678,32728,32757,32767,32757,32728,32678,32609,32521,32412,32285,32137,31971,31785,31580,31356,31113,30852,30571,30273,29956,29621,29268,28898,28510,28105,27683,27245,26790,26319,25832,25329,24811,24279,23731,23170,22594,22005,21403,20787,20159,19519,18868,18204,17530,16846,16151,15446,14732,14010,13279,12539,11793,11039,10278,9512,8739,7962,7179,6393,5602,4808,4011,3212,2410,1608,804,-0,-804,-1608,-2410,-3212,-4011,-4808,-5602,-6393,-7179,-7962,-8739,-9512,-10278,-11039,-11793,-12539,-13279,-14010,-14732,-15446,-16151,-16846,-17530,-18204,-18868,-19519,-20159,-20787,-21403,-22005,-22594,-23170,-23731,-24279,-24811,-25329,-25832,-26319,-26790,-27245,-27683,-28105,-28510,-28898,-29268,-29621,-29956,-30273,-30571,-30852,-31113,-31356,-31580,-31785,-31971,-32137,-32285,-32412,-32521,-32609,-32678,-32728,-32757,-32767,-32757,-32728,-32678,-32609,-32521,-32412,-32285,-32137,-31971,-31785,-31580,-31356,-31113,-30852,-30571,-30273,-29956,-29621,-29268,-28898,-28510,-28105,-27683,-27245,-26790,-26319,-25832,-25329,-24811,-24279,-23731,-23170,-22594,-22005,-21403,-20787,-20159,-19519,-18867,-18204,-17530,-16846,-16151,-15446,-14732,-14010,-13279,-12539,-11793,-11039,-10278,-9512,-8739,-7962,-7179,-6393,-5602,-4808,-4011,-3212,-2410,-1608,-804,0},
{0,804,1608,2410,3212,4011,4808,5602,6393,7179,7962,8739,9512,10278,11039,11793,12539,13279,14010,14732,15446,16151,16846,17530,18204,18868,19519,20159,20787,21403,22005,22594,23170,23731,24279,24811,25329,25832,26319,26790,27245,27683,28105,28510,28898,29268,29621,29956,30273,30571,30852,31113,31356,31580,31785,31971,32137,32285,32412,32521,32609,32678,32728,32757,32767,32757,32728,32678,32609,32521,32412,32285,32137,31971,31785,31580,31356,31113,30852,30571,30273,29956,29621,29268,28898,28510,28105,27683,27245,26790,26319,25832,25329,24811,24279,23731,23170,22594,22005,21403,20787,20159,19519,18868,18204,17530,16846,16151,15446,14732,14010,13279,12539,11793,11039,10278,9512,8739,7962,7179,6393,5602,4808,4011,3212,2410,1608,804,-0,-804,-1608,-2410,-3212,-4011,-4808,-5602,-6393,-7179,-7962,-8739,-9512,-10278,-11039,-11793,-12539,-13279,-14010,-14732,-15446,-16151,-16846,-17530,-18204,-18868,-19519,-20159,-20787,-21403,-22005,-22594,-23170,-23731,-24279,-24811,-25329,-25832,-26319,-26790,-27245,-27683,-28105,-28510,-28898,-29268,-29621,-29956,-30273,-30571,-30852,-31113,-31356,-31580,-31785,-31971,-32137,-32285,-32412,-32521,-32609,-32678,-32728,-32757,-32767,-32757,-32728,-32678,-32609,-32521,-32412,-32285,-32137,-31971,-31785,-31580,-31356,-31113,-30852,-30571,-30273,-29956,-29621,-29268,-28898,-28510,-28105,-27683,-27245,-26790,-26319,-25832,-25329,-24811,-24279,-23731,-23170,-22594,-22005,-21403,-20787,-20159,-19519,-18867,-18204,-17530,-16846,-16151,-15446,-14732,-14010,-13279,-12539,-11793,-11039,-10278,-9512,-8739,-7962,-7179,-6393,-5602,-4808,-4011,-3212,-2410,-1608,-804,0},
{0,804,1608,2410,3212,4011,4808,5602,6393,7179,7962,8739,9512,10278,11039,11793,12539,13279,14010,14732,15446,16151,16846,17530,18204,18868,19519,20159,20787,21403,22005,22594,23170,23731,24279,24811,25329,25832,26319,26790,27245,27683,28105,28510,28898,29268,29621,29956,30273,30571,30852,31113,31356,31580,31785,31971,32137,32285,32412,32521,32609,32678,32728,32757,32767,32757,32728,32678,32609,32521,32412,32285,32137,31971,31785,31580,31356,31113,30852,30571,30273,29956,29621,29268,28898,28510,28105,27683,27245,26790,26319,25832,25329,24811,24279,23731,23170,22594,22005,21403,20787,20159,19519,18868,18204,17530,16846,16151,15446,14732,14010,13279,12539,11793,11039,10278,9512,8739,7962,7179,6393,5602,4808,4011,3212,2410,1608,804,-0,-804,-1608,-2410,-3212,-4011,-4808,-5602,-6393,-7179,-7962,-8739,-9512,-10278,-11039,-11793,-12539,-13279,-14010,-14732,-15446,-16151,-16846,-17530,-18204,-18868,-19519,-20159,-20787,-21403,-22005,-22594,-23170,-23731,-24279,-24811,-25329,-25832,-26319,-26790,-27245,-27683,-28105,-28510,-28898,-29268,-29621,-29956,-30273,-30571,-30852,-31113,-31356,-31580,-31785,-31971,-32137,-32285,-32412,-32521,-32609,-32678,-32728,-32757,-32767,-32757,-32728,-32678,-32609,-32521,-32412,-32285,-32137,-31971,-31785,-31580,-31356,-31113,-30852,-30571,-30273,-29956,-29621,-29268,-28898,-28510,-28105,-27683,-27245,-26790,-26319,-25832,-25329,-24811,-24279,-23731,-23170,-22594,-22005,-21403,-20787,-20159,-19519,-18867,-18204,-17530,-16846,-16151,-15446,-14732,-14010,-13279,-12539,-11793,-11039,-10278,-9512,-8739,-7962,-7179,-6393,-5602,-4808,-4011,-3212,-2410,-1608,-804,0},
{0,804,1608,2410,3212,4011,4808,5602,6393,7179,7962,8739,9512,10278,11039,11793,12539,13279,14010,14732,15446,16151,16846,17530,18204,18868,19519,20159,20787,21403,22005,22594,23170,23731,24279,24811,25329,25832,26319,26790,27245,27683,28105,28510,28898,29268,29621,29956,30273,30571,30852,31113,31356,31580,31785,31971,32137,32285,32412,32521,32609,32678,32728,32757,32767,32757,32728,32678,32609,32521,32412,32285,32137,31971,31785,31580,31356,31113,30852,30571,30273,29956,29621,29268,28898,28510,28105,27683,27245,26790,26319,25832,25329,24811,24279,23731,23170,22594,22005,21403,20787,20159,19519,18868,18204,17530,16846,16151,15446,14732,14010,13279,12539,11793,11039,10278,9512,8739,7962,7179,6393,5602,4808,4011,3212,2410,1608,804,-0,-804,-1608,-2410,-3212,-4011,-4808,-5602,-6393,-7179,-7962,-8739,-9512,-10278,-11039,-11793,-12539,-13279,-14010,-14732,-15446,-16151,-16846,-17530,-18204,-18868,-19519,-20159,-20787,-21403,-22005,-22594,-23170,-23731,-24279,-24811,-25329,-25832,-26319,-26790,-27245,-27683,-28105,-28510,-28898,-29268,-29621,-29956,-30273,-30571,-30852,-31113,-31356,-31580,-31785,-31971,-32137,-32285,-32412,-32521,-32609,-32678,-32728,-32757,-32767,-32757,-32728,-32678,-32609,-32521,-32412,-32285,-32137,-31971,-31785,-31580,-31356,-31113,-30852,-30571,-30273,-29956,-29621,-29268,-28898,-28510,-28105,-27683,-27245,-26790,-26319,-25832,-25329,-24811,-24279,-23731,-23170,-22594,-22005,-21403,-20787,-20159,-19519,-18867,-18204,-17530,-16846,-16151,-15446,-14732,-14010,-13279,-12539,-11793,-11039,-10278,-9512,-8739,-7962,-7179,-6393,-5602,-4808,-4011,-3212,-2410,-1608,-804,0},
};