#include <stdio.h>
static const int TBL365[][2] = {
{12, 31},
{12, 30},
{12, 29},{11, 30},{10, 31},
{12, 28},{11, 29},{10, 30},
{12, 27},{11, 28},{10, 29},{9, 30},{8, 31},
{12, 26},{11, 27},{10, 28},{9, 29},{8, 30},{7, 31},
{12, 25},{11, 26},{10, 27},{9, 28},{8, 29},{7, 30},
{12, 24},{11, 25},{10, 26},{9, 27},{8, 28},{7, 29},{6, 30},{5, 31},
{12, 23},{11, 24},{10, 25},{9, 26},{8, 27},{7, 28},{6, 29},{5, 30},
{12, 22},{11, 23},{10, 24},{9, 25},{8, 26},{7, 27},{6, 28},{5, 29},{4, 30},{3, 31},
{12, 21},{11, 22},{10, 23},{9, 24},{8, 25},{7, 26},{6, 27},{5, 28},{4, 29},{3, 30},
{12, 20},{11, 21},{10, 22},{9, 23},{8, 24},{7, 25},{6, 26},{5, 27},{4, 28},{3, 29},{1, 31},
{12, 19},{11, 20},{10, 21},{9, 22},{8, 23},{7, 24},{6, 25},{5, 26},{4, 27},{3, 28},{1, 30},
{12, 18},{11, 19},{10, 20},{9, 21},{8, 22},{7, 23},{6, 24},{5, 25},{4, 26},{3, 27},{2, 28},{1, 29},
{12, 17},{11, 18},{10, 19},{9, 20},{8, 21},{7, 22},{6, 23},{5, 24},{4, 25},{3, 26},{2, 27},{1, 28},
{12, 16},{11, 17},{10, 18},{9, 19},{8, 20},{7, 21},{6, 22},{5, 23},{4, 24},{3, 25},{2, 26},{1, 27},
{12, 15},{11, 16},{10, 17},{9, 18},{8, 19},{7, 20},{6, 21},{5, 22},{4, 23},{3, 24},{2, 25},{1, 26},
{12, 14},{11, 15},{10, 16},{9, 17},{8, 18},{7, 19},{6, 20},{5, 21},{4, 22},{3, 23},{2, 24},{1, 25},
{12, 13},{11, 14},{10, 15},{9, 16},{8, 17},{7, 18},{6, 19},{5, 20},{4, 21},{3, 22},{2, 23},{1, 24},
{12, 12},{11, 13},{10, 14},{9, 15},{8, 16},{7, 17},{6, 18},{5, 19},{4, 20},{3, 21},{2, 22},{1, 23},
{12, 11},{11, 12},{10, 13},{9, 14},{8, 15},{7, 16},{6, 17},{5, 18},{4, 19},{3, 20},{2, 21},{1, 22},
{12, 10},{11, 11},{10, 12},{9, 13},{8, 14},{7, 15},{6, 16},{5, 17},{4, 18},{3, 19},{2, 20},{1, 21},
{12, 9},{11, 10},{10, 11},{9, 12},{8, 13},{7, 14},{6, 15},{5, 16},{4, 17},{3, 18},{2, 19},{1, 20},
{12, 8},{11, 9},{10, 10},{9, 11},{8, 12},{7, 13},{6, 14},{5, 15},{4, 16},{3, 17},{2, 18},{1, 19},
{12, 7},{11, 8},{10, 9},{9, 10},{8, 11},{7, 12},{6, 13},{5, 14},{4, 15},{3, 16},{2, 17},{1, 18},
{12, 6},{11, 7},{10, 8},{9, 9},{8, 10},{7, 11},{6, 12},{5, 13},{4, 14},{3, 15},{2, 16},{1, 17},
{12, 5},{11, 6},{10, 7},{9, 8},{8, 9},{7, 10},{6, 11},{5, 12},{4, 13},{3, 14},{2, 15},{1, 16},
{12, 4},{11, 5},{10, 6},{9, 7},{8, 8},{7, 9},{6, 10},{5, 11},{4, 12},{3, 13},{2, 14},{1, 15},
{12, 3},{11, 4},{10, 5},{9, 6},{8, 7},{7, 8},{6, 9},{5, 10},{4, 11},{3, 12},{2, 13},{1, 14},
{12, 2},{11, 3},{10, 4},{9, 5},{8, 6},{7, 7},{6, 8},{5, 9},{4, 10},{3, 11},{2, 12},{1, 13},
{12, 1},{11, 2},{10, 3},{9, 4},{8, 5},{7, 6},{6, 7},{5, 8},{4, 9},{3, 10},{2, 11},{1, 12},
{11, 1},{10, 2},{9, 3},{8, 4},{7, 5},{6, 6},{5, 7},{4, 8},{3, 9},{2, 10},{1, 11},
{10, 1},{9, 2},{8, 3},{7, 4},{6, 5},{5, 6},{4, 7},{3, 8},{2, 9},{1, 10},
{9, 1},{8, 2},{7, 3},{6, 4},{5, 5},{4, 6},{3, 7},{2, 8},{1, 9},
{8, 1},{7, 2},{6, 3},{5, 4},{4, 5},{3, 6},{2, 7},{1, 8},
{7, 1},{6, 2},{5, 3},{4, 4},{3, 5},{2, 6},{1, 7},
{6, 1},{5, 2},{4, 3},{3, 4},{2, 5},{1, 6},
{5, 1},{4, 2},{3, 3},{2, 4},{1, 5},
{4, 1},{3, 2},{2, 3},{1, 4},
{3, 1},{2, 2},{1, 3},
{2, 1},{1, 2},
{1, 1}
};
static const int TBL366[][2] = {
{12, 31},
{12, 30},
{12, 29},{11, 30},{10, 31},
{12, 28},{11, 29},{10, 30},
{12, 27},{11, 28},{10, 29},{9, 30},{8, 31},
{12, 26},{11, 27},{10, 28},{9, 29},{8, 30},{7, 31},
{12, 25},{11, 26},{10, 27},{9, 28},{8, 29},{7, 30},
{12, 24},{11, 25},{10, 26},{9, 27},{8, 28},{7, 29},{6, 30},{5, 31},
{12, 23},{11, 24},{10, 25},{9, 26},{8, 27},{7, 28},{6, 29},{5, 30},
{12, 22},{11, 23},{10, 24},{9, 25},{8, 26},{7, 27},{6, 28},{5, 29},{4, 30},{3, 31},
{12, 21},{11, 22},{10, 23},{9, 24},{8, 25},{7, 26},{6, 27},{5, 28},{4, 29},{3, 30},
{12, 20},{11, 21},{10, 22},{9, 23},{8, 24},{7, 25},{6, 26},{5, 27},{4, 28},{3, 29},{1, 31},
{12, 19},{11, 20},{10, 21},{9, 22},{8, 23},{7, 24},{6, 25},{5, 26},{4, 27},{3, 28},{2, 29},{1, 30},
{12, 18},{11, 19},{10, 20},{9, 21},{8, 22},{7, 23},{6, 24},{5, 25},{4, 26},{3, 27},{2, 28},{1, 29},
{12, 17},{11, 18},{10, 19},{9, 20},{8, 21},{7, 22},{6, 23},{5, 24},{4, 25},{3, 26},{2, 27},{1, 28},
{12, 16},{11, 17},{10, 18},{9, 19},{8, 20},{7, 21},{6, 22},{5, 23},{4, 24},{3, 25},{2, 26},{1, 27},
{12, 15},{11, 16},{10, 17},{9, 18},{8, 19},{7, 20},{6, 21},{5, 22},{4, 23},{3, 24},{2, 25},{1, 26},
{12, 14},{11, 15},{10, 16},{9, 17},{8, 18},{7, 19},{6, 20},{5, 21},{4, 22},{3, 23},{2, 24},{1, 25},
{12, 13},{11, 14},{10, 15},{9, 16},{8, 17},{7, 18},{6, 19},{5, 20},{4, 21},{3, 22},{2, 23},{1, 24},
{12, 12},{11, 13},{10, 14},{9, 15},{8, 16},{7, 17},{6, 18},{5, 19},{4, 20},{3, 21},{2, 22},{1, 23},
{12, 11},{11, 12},{10, 13},{9, 14},{8, 15},{7, 16},{6, 17},{5, 18},{4, 19},{3, 20},{2, 21},{1, 22},
{12, 10},{11, 11},{10, 12},{9, 13},{8, 14},{7, 15},{6, 16},{5, 17},{4, 18},{3, 19},{2, 20},{1, 21},
{12, 9},{11, 10},{10, 11},{9, 12},{8, 13},{7, 14},{6, 15},{5, 16},{4, 17},{3, 18},{2, 19},{1, 20},
{12, 8},{11, 9},{10, 10},{9, 11},{8, 12},{7, 13},{6, 14},{5, 15},{4, 16},{3, 17},{2, 18},{1, 19},
{12, 7},{11, 8},{10, 9},{9, 10},{8, 11},{7, 12},{6, 13},{5, 14},{4, 15},{3, 16},{2, 17},{1, 18},
{12, 6},{11, 7},{10, 8},{9, 9},{8, 10},{7, 11},{6, 12},{5, 13},{4, 14},{3, 15},{2, 16},{1, 17},
{12, 5},{11, 6},{10, 7},{9, 8},{8, 9},{7, 10},{6, 11},{5, 12},{4, 13},{3, 14},{2, 15},{1, 16},
{12, 4},{11, 5},{10, 6},{9, 7},{8, 8},{7, 9},{6, 10},{5, 11},{4, 12},{3, 13},{2, 14},{1, 15},
{12, 3},{11, 4},{10, 5},{9, 6},{8, 7},{7, 8},{6, 9},{5, 10},{4, 11},{3, 12},{2, 13},{1, 14},
{12, 2},{11, 3},{10, 4},{9, 5},{8, 6},{7, 7},{6, 8},{5, 9},{4, 10},{3, 11},{2, 12},{1, 13},
{12, 1},{11, 2},{10, 3},{9, 4},{8, 5},{7, 6},{6, 7},{5, 8},{4, 9},{3, 10},{2, 11},{1, 12},
{11, 1},{10, 2},{9, 3},{8, 4},{7, 5},{6, 6},{5, 7},{4, 8},{3, 9},{2, 10},{1, 11},
{10, 1},{9, 2},{8, 3},{7, 4},{6, 5},{5, 6},{4, 7},{3, 8},{2, 9},{1, 10},
{9, 1},{8, 2},{7, 3},{6, 4},{5, 5},{4, 6},{3, 7},{2, 8},{1, 9},
{8, 1},{7, 2},{6, 3},{5, 4},{4, 5},{3, 6},{2, 7},{1, 8},
{7, 1},{6, 2},{5, 3},{4, 4},{3, 5},{2, 6},{1, 7},
{6, 1},{5, 2},{4, 3},{3, 4},{2, 5},{1, 6},
{5, 1},{4, 2},{3, 3},{2, 4},{1, 5},
{4, 1},{3, 2},{2, 3},{1, 4},
{3, 1},{2, 2},{1, 3},
{2, 1},{1, 2},
{1, 1}
};
int main(void) {
int *tbl =(int*)TBL365;
int year, yearHi, yearLow, days = 365, count, mm, dd;
yearHi = year/100;
yearLow = year%100;
if (year%400 == 0 || (year%4 == 0 && year%100 != 0)) {
tbl = (int*)TBL366;
days = 366;
}
for (count = 0; count < days<<1; count+=2) {
/*
* 課題に忠実に演算
*/
mm = *tbl++;
dd = *tbl++;
printf("%04d%02d%02d = %02d\n", year
, mm
, dd
, yearHi
+ yearLow
+ mm
+ dd
); }
}
I2luY2x1ZGUgPHN0ZGlvLmg+CnN0YXRpYyBjb25zdCBpbnQgVEJMMzY1W11bMl0gPSB7Cgl7MTIsIDMxfSwKCXsxMiwgMzB9LAoJezEyLCAyOX0sezExLCAzMH0sezEwLCAzMX0sCgl7MTIsIDI4fSx7MTEsIDI5fSx7MTAsIDMwfSwKCXsxMiwgMjd9LHsxMSwgMjh9LHsxMCwgMjl9LHs5LCAzMH0sezgsIDMxfSwKCXsxMiwgMjZ9LHsxMSwgMjd9LHsxMCwgMjh9LHs5LCAyOX0sezgsIDMwfSx7NywgMzF9LAoJezEyLCAyNX0sezExLCAyNn0sezEwLCAyN30sezksIDI4fSx7OCwgMjl9LHs3LCAzMH0sCgl7MTIsIDI0fSx7MTEsIDI1fSx7MTAsIDI2fSx7OSwgMjd9LHs4LCAyOH0sezcsIDI5fSx7NiwgMzB9LHs1LCAzMX0sCgl7MTIsIDIzfSx7MTEsIDI0fSx7MTAsIDI1fSx7OSwgMjZ9LHs4LCAyN30sezcsIDI4fSx7NiwgMjl9LHs1LCAzMH0sCgl7MTIsIDIyfSx7MTEsIDIzfSx7MTAsIDI0fSx7OSwgMjV9LHs4LCAyNn0sezcsIDI3fSx7NiwgMjh9LHs1LCAyOX0sezQsIDMwfSx7MywgMzF9LAoJezEyLCAyMX0sezExLCAyMn0sezEwLCAyM30sezksIDI0fSx7OCwgMjV9LHs3LCAyNn0sezYsIDI3fSx7NSwgMjh9LHs0LCAyOX0sezMsIDMwfSwKCXsxMiwgMjB9LHsxMSwgMjF9LHsxMCwgMjJ9LHs5LCAyM30sezgsIDI0fSx7NywgMjV9LHs2LCAyNn0sezUsIDI3fSx7NCwgMjh9LHszLCAyOX0sezEsIDMxfSwKCXsxMiwgMTl9LHsxMSwgMjB9LHsxMCwgMjF9LHs5LCAyMn0sezgsIDIzfSx7NywgMjR9LHs2LCAyNX0sezUsIDI2fSx7NCwgMjd9LHszLCAyOH0sezEsIDMwfSwKCXsxMiwgMTh9LHsxMSwgMTl9LHsxMCwgMjB9LHs5LCAyMX0sezgsIDIyfSx7NywgMjN9LHs2LCAyNH0sezUsIDI1fSx7NCwgMjZ9LHszLCAyN30sezIsIDI4fSx7MSwgMjl9LAoJezEyLCAxN30sezExLCAxOH0sezEwLCAxOX0sezksIDIwfSx7OCwgMjF9LHs3LCAyMn0sezYsIDIzfSx7NSwgMjR9LHs0LCAyNX0sezMsIDI2fSx7MiwgMjd9LHsxLCAyOH0sCgl7MTIsIDE2fSx7MTEsIDE3fSx7MTAsIDE4fSx7OSwgMTl9LHs4LCAyMH0sezcsIDIxfSx7NiwgMjJ9LHs1LCAyM30sezQsIDI0fSx7MywgMjV9LHsyLCAyNn0sezEsIDI3fSwKCXsxMiwgMTV9LHsxMSwgMTZ9LHsxMCwgMTd9LHs5LCAxOH0sezgsIDE5fSx7NywgMjB9LHs2LCAyMX0sezUsIDIyfSx7NCwgMjN9LHszLCAyNH0sezIsIDI1fSx7MSwgMjZ9LAoJezEyLCAxNH0sezExLCAxNX0sezEwLCAxNn0sezksIDE3fSx7OCwgMTh9LHs3LCAxOX0sezYsIDIwfSx7NSwgMjF9LHs0LCAyMn0sezMsIDIzfSx7MiwgMjR9LHsxLCAyNX0sCgl7MTIsIDEzfSx7MTEsIDE0fSx7MTAsIDE1fSx7OSwgMTZ9LHs4LCAxN30sezcsIDE4fSx7NiwgMTl9LHs1LCAyMH0sezQsIDIxfSx7MywgMjJ9LHsyLCAyM30sezEsIDI0fSwKCXsxMiwgMTJ9LHsxMSwgMTN9LHsxMCwgMTR9LHs5LCAxNX0sezgsIDE2fSx7NywgMTd9LHs2LCAxOH0sezUsIDE5fSx7NCwgMjB9LHszLCAyMX0sezIsIDIyfSx7MSwgMjN9LAoJezEyLCAxMX0sezExLCAxMn0sezEwLCAxM30sezksIDE0fSx7OCwgMTV9LHs3LCAxNn0sezYsIDE3fSx7NSwgMTh9LHs0LCAxOX0sezMsIDIwfSx7MiwgMjF9LHsxLCAyMn0sCgl7MTIsIDEwfSx7MTEsIDExfSx7MTAsIDEyfSx7OSwgMTN9LHs4LCAxNH0sezcsIDE1fSx7NiwgMTZ9LHs1LCAxN30sezQsIDE4fSx7MywgMTl9LHsyLCAyMH0sezEsIDIxfSwKCXsxMiwgOX0sezExLCAxMH0sezEwLCAxMX0sezksIDEyfSx7OCwgMTN9LHs3LCAxNH0sezYsIDE1fSx7NSwgMTZ9LHs0LCAxN30sezMsIDE4fSx7MiwgMTl9LHsxLCAyMH0sCgl7MTIsIDh9LHsxMSwgOX0sezEwLCAxMH0sezksIDExfSx7OCwgMTJ9LHs3LCAxM30sezYsIDE0fSx7NSwgMTV9LHs0LCAxNn0sezMsIDE3fSx7MiwgMTh9LHsxLCAxOX0sCgl7MTIsIDd9LHsxMSwgOH0sezEwLCA5fSx7OSwgMTB9LHs4LCAxMX0sezcsIDEyfSx7NiwgMTN9LHs1LCAxNH0sezQsIDE1fSx7MywgMTZ9LHsyLCAxN30sezEsIDE4fSwKCXsxMiwgNn0sezExLCA3fSx7MTAsIDh9LHs5LCA5fSx7OCwgMTB9LHs3LCAxMX0sezYsIDEyfSx7NSwgMTN9LHs0LCAxNH0sezMsIDE1fSx7MiwgMTZ9LHsxLCAxN30sCgl7MTIsIDV9LHsxMSwgNn0sezEwLCA3fSx7OSwgOH0sezgsIDl9LHs3LCAxMH0sezYsIDExfSx7NSwgMTJ9LHs0LCAxM30sezMsIDE0fSx7MiwgMTV9LHsxLCAxNn0sCgl7MTIsIDR9LHsxMSwgNX0sezEwLCA2fSx7OSwgN30sezgsIDh9LHs3LCA5fSx7NiwgMTB9LHs1LCAxMX0sezQsIDEyfSx7MywgMTN9LHsyLCAxNH0sezEsIDE1fSwKCXsxMiwgM30sezExLCA0fSx7MTAsIDV9LHs5LCA2fSx7OCwgN30sezcsIDh9LHs2LCA5fSx7NSwgMTB9LHs0LCAxMX0sezMsIDEyfSx7MiwgMTN9LHsxLCAxNH0sCgl7MTIsIDJ9LHsxMSwgM30sezEwLCA0fSx7OSwgNX0sezgsIDZ9LHs3LCA3fSx7NiwgOH0sezUsIDl9LHs0LCAxMH0sezMsIDExfSx7MiwgMTJ9LHsxLCAxM30sCgl7MTIsIDF9LHsxMSwgMn0sezEwLCAzfSx7OSwgNH0sezgsIDV9LHs3LCA2fSx7NiwgN30sezUsIDh9LHs0LCA5fSx7MywgMTB9LHsyLCAxMX0sezEsIDEyfSwKCXsxMSwgMX0sezEwLCAyfSx7OSwgM30sezgsIDR9LHs3LCA1fSx7NiwgNn0sezUsIDd9LHs0LCA4fSx7MywgOX0sezIsIDEwfSx7MSwgMTF9LAoJezEwLCAxfSx7OSwgMn0sezgsIDN9LHs3LCA0fSx7NiwgNX0sezUsIDZ9LHs0LCA3fSx7MywgOH0sezIsIDl9LHsxLCAxMH0sCgl7OSwgMX0sezgsIDJ9LHs3LCAzfSx7NiwgNH0sezUsIDV9LHs0LCA2fSx7MywgN30sezIsIDh9LHsxLCA5fSwKCXs4LCAxfSx7NywgMn0sezYsIDN9LHs1LCA0fSx7NCwgNX0sezMsIDZ9LHsyLCA3fSx7MSwgOH0sCgl7NywgMX0sezYsIDJ9LHs1LCAzfSx7NCwgNH0sezMsIDV9LHsyLCA2fSx7MSwgN30sCgl7NiwgMX0sezUsIDJ9LHs0LCAzfSx7MywgNH0sezIsIDV9LHsxLCA2fSwKCXs1LCAxfSx7NCwgMn0sezMsIDN9LHsyLCA0fSx7MSwgNX0sCgl7NCwgMX0sezMsIDJ9LHsyLCAzfSx7MSwgNH0sCgl7MywgMX0sezIsIDJ9LHsxLCAzfSwKCXsyLCAxfSx7MSwgMn0sCgl7MSwgMX0KfTsKIApzdGF0aWMgY29uc3QgaW50IFRCTDM2NltdWzJdID0gewoJezEyLCAzMX0sCgl7MTIsIDMwfSwKCXsxMiwgMjl9LHsxMSwgMzB9LHsxMCwgMzF9LAoJezEyLCAyOH0sezExLCAyOX0sezEwLCAzMH0sCgl7MTIsIDI3fSx7MTEsIDI4fSx7MTAsIDI5fSx7OSwgMzB9LHs4LCAzMX0sCgl7MTIsIDI2fSx7MTEsIDI3fSx7MTAsIDI4fSx7OSwgMjl9LHs4LCAzMH0sezcsIDMxfSwKCXsxMiwgMjV9LHsxMSwgMjZ9LHsxMCwgMjd9LHs5LCAyOH0sezgsIDI5fSx7NywgMzB9LAoJezEyLCAyNH0sezExLCAyNX0sezEwLCAyNn0sezksIDI3fSx7OCwgMjh9LHs3LCAyOX0sezYsIDMwfSx7NSwgMzF9LAoJezEyLCAyM30sezExLCAyNH0sezEwLCAyNX0sezksIDI2fSx7OCwgMjd9LHs3LCAyOH0sezYsIDI5fSx7NSwgMzB9LAoJezEyLCAyMn0sezExLCAyM30sezEwLCAyNH0sezksIDI1fSx7OCwgMjZ9LHs3LCAyN30sezYsIDI4fSx7NSwgMjl9LHs0LCAzMH0sezMsIDMxfSwKCXsxMiwgMjF9LHsxMSwgMjJ9LHsxMCwgMjN9LHs5LCAyNH0sezgsIDI1fSx7NywgMjZ9LHs2LCAyN30sezUsIDI4fSx7NCwgMjl9LHszLCAzMH0sCgl7MTIsIDIwfSx7MTEsIDIxfSx7MTAsIDIyfSx7OSwgMjN9LHs4LCAyNH0sezcsIDI1fSx7NiwgMjZ9LHs1LCAyN30sezQsIDI4fSx7MywgMjl9LHsxLCAzMX0sCgl7MTIsIDE5fSx7MTEsIDIwfSx7MTAsIDIxfSx7OSwgMjJ9LHs4LCAyM30sezcsIDI0fSx7NiwgMjV9LHs1LCAyNn0sezQsIDI3fSx7MywgMjh9LHsyLCAyOX0sezEsIDMwfSwKCXsxMiwgMTh9LHsxMSwgMTl9LHsxMCwgMjB9LHs5LCAyMX0sezgsIDIyfSx7NywgMjN9LHs2LCAyNH0sezUsIDI1fSx7NCwgMjZ9LHszLCAyN30sezIsIDI4fSx7MSwgMjl9LAoJezEyLCAxN30sezExLCAxOH0sezEwLCAxOX0sezksIDIwfSx7OCwgMjF9LHs3LCAyMn0sezYsIDIzfSx7NSwgMjR9LHs0LCAyNX0sezMsIDI2fSx7MiwgMjd9LHsxLCAyOH0sCgl7MTIsIDE2fSx7MTEsIDE3fSx7MTAsIDE4fSx7OSwgMTl9LHs4LCAyMH0sezcsIDIxfSx7NiwgMjJ9LHs1LCAyM30sezQsIDI0fSx7MywgMjV9LHsyLCAyNn0sezEsIDI3fSwKCXsxMiwgMTV9LHsxMSwgMTZ9LHsxMCwgMTd9LHs5LCAxOH0sezgsIDE5fSx7NywgMjB9LHs2LCAyMX0sezUsIDIyfSx7NCwgMjN9LHszLCAyNH0sezIsIDI1fSx7MSwgMjZ9LAoJezEyLCAxNH0sezExLCAxNX0sezEwLCAxNn0sezksIDE3fSx7OCwgMTh9LHs3LCAxOX0sezYsIDIwfSx7NSwgMjF9LHs0LCAyMn0sezMsIDIzfSx7MiwgMjR9LHsxLCAyNX0sCgl7MTIsIDEzfSx7MTEsIDE0fSx7MTAsIDE1fSx7OSwgMTZ9LHs4LCAxN30sezcsIDE4fSx7NiwgMTl9LHs1LCAyMH0sezQsIDIxfSx7MywgMjJ9LHsyLCAyM30sezEsIDI0fSwKCXsxMiwgMTJ9LHsxMSwgMTN9LHsxMCwgMTR9LHs5LCAxNX0sezgsIDE2fSx7NywgMTd9LHs2LCAxOH0sezUsIDE5fSx7NCwgMjB9LHszLCAyMX0sezIsIDIyfSx7MSwgMjN9LAoJezEyLCAxMX0sezExLCAxMn0sezEwLCAxM30sezksIDE0fSx7OCwgMTV9LHs3LCAxNn0sezYsIDE3fSx7NSwgMTh9LHs0LCAxOX0sezMsIDIwfSx7MiwgMjF9LHsxLCAyMn0sCgl7MTIsIDEwfSx7MTEsIDExfSx7MTAsIDEyfSx7OSwgMTN9LHs4LCAxNH0sezcsIDE1fSx7NiwgMTZ9LHs1LCAxN30sezQsIDE4fSx7MywgMTl9LHsyLCAyMH0sezEsIDIxfSwKCXsxMiwgOX0sezExLCAxMH0sezEwLCAxMX0sezksIDEyfSx7OCwgMTN9LHs3LCAxNH0sezYsIDE1fSx7NSwgMTZ9LHs0LCAxN30sezMsIDE4fSx7MiwgMTl9LHsxLCAyMH0sCgl7MTIsIDh9LHsxMSwgOX0sezEwLCAxMH0sezksIDExfSx7OCwgMTJ9LHs3LCAxM30sezYsIDE0fSx7NSwgMTV9LHs0LCAxNn0sezMsIDE3fSx7MiwgMTh9LHsxLCAxOX0sCgl7MTIsIDd9LHsxMSwgOH0sezEwLCA5fSx7OSwgMTB9LHs4LCAxMX0sezcsIDEyfSx7NiwgMTN9LHs1LCAxNH0sezQsIDE1fSx7MywgMTZ9LHsyLCAxN30sezEsIDE4fSwKCXsxMiwgNn0sezExLCA3fSx7MTAsIDh9LHs5LCA5fSx7OCwgMTB9LHs3LCAxMX0sezYsIDEyfSx7NSwgMTN9LHs0LCAxNH0sezMsIDE1fSx7MiwgMTZ9LHsxLCAxN30sCgl7MTIsIDV9LHsxMSwgNn0sezEwLCA3fSx7OSwgOH0sezgsIDl9LHs3LCAxMH0sezYsIDExfSx7NSwgMTJ9LHs0LCAxM30sezMsIDE0fSx7MiwgMTV9LHsxLCAxNn0sCgl7MTIsIDR9LHsxMSwgNX0sezEwLCA2fSx7OSwgN30sezgsIDh9LHs3LCA5fSx7NiwgMTB9LHs1LCAxMX0sezQsIDEyfSx7MywgMTN9LHsyLCAxNH0sezEsIDE1fSwKCXsxMiwgM30sezExLCA0fSx7MTAsIDV9LHs5LCA2fSx7OCwgN30sezcsIDh9LHs2LCA5fSx7NSwgMTB9LHs0LCAxMX0sezMsIDEyfSx7MiwgMTN9LHsxLCAxNH0sCgl7MTIsIDJ9LHsxMSwgM30sezEwLCA0fSx7OSwgNX0sezgsIDZ9LHs3LCA3fSx7NiwgOH0sezUsIDl9LHs0LCAxMH0sezMsIDExfSx7MiwgMTJ9LHsxLCAxM30sCgl7MTIsIDF9LHsxMSwgMn0sezEwLCAzfSx7OSwgNH0sezgsIDV9LHs3LCA2fSx7NiwgN30sezUsIDh9LHs0LCA5fSx7MywgMTB9LHsyLCAxMX0sezEsIDEyfSwKCXsxMSwgMX0sezEwLCAyfSx7OSwgM30sezgsIDR9LHs3LCA1fSx7NiwgNn0sezUsIDd9LHs0LCA4fSx7MywgOX0sezIsIDEwfSx7MSwgMTF9LAoJezEwLCAxfSx7OSwgMn0sezgsIDN9LHs3LCA0fSx7NiwgNX0sezUsIDZ9LHs0LCA3fSx7MywgOH0sezIsIDl9LHsxLCAxMH0sCgl7OSwgMX0sezgsIDJ9LHs3LCAzfSx7NiwgNH0sezUsIDV9LHs0LCA2fSx7MywgN30sezIsIDh9LHsxLCA5fSwKCXs4LCAxfSx7NywgMn0sezYsIDN9LHs1LCA0fSx7NCwgNX0sezMsIDZ9LHsyLCA3fSx7MSwgOH0sCgl7NywgMX0sezYsIDJ9LHs1LCAzfSx7NCwgNH0sezMsIDV9LHsyLCA2fSx7MSwgN30sCgl7NiwgMX0sezUsIDJ9LHs0LCAzfSx7MywgNH0sezIsIDV9LHsxLCA2fSwKCXs1LCAxfSx7NCwgMn0sezMsIDN9LHsyLCA0fSx7MSwgNX0sCgl7NCwgMX0sezMsIDJ9LHsyLCAzfSx7MSwgNH0sCgl7MywgMX0sezIsIDJ9LHsxLCAzfSwKCXsyLCAxfSx7MSwgMn0sCgl7MSwgMX0KfTsKIAppbnQgbWFpbih2b2lkKSB7CglpbnQgKnRibCA9KGludCopVEJMMzY1OwoJaW50IHllYXIsIHllYXJIaSwgeWVhckxvdywgZGF5cyA9IDM2NSwgY291bnQsIG1tLCBkZDsKIAoJc2NhbmYoIiVkIiwgJnllYXIpOwogCgl5ZWFySGkgPSB5ZWFyLzEwMDsKCXllYXJMb3cgPSB5ZWFyJTEwMDsKIAoJaWYgKHllYXIlNDAwID09IDAgfHwgKHllYXIlNCA9PSAwICYmIHllYXIlMTAwICE9IDApKSB7CgkJdGJsID0gKGludCopVEJMMzY2OwoJCWRheXMgPSAzNjY7Cgl9CiAKCWZvciAoY291bnQgPSAwOyBjb3VudCA8IGRheXM8PDE7IGNvdW50Kz0yKSB7CgkJLyoKCQkqIOiqsumhjOOBq+W/oOWun+OBq+a8lOeulwoJCSovCgkJbW0gPSAqdGJsKys7CgkJZGQgPSAqdGJsKys7CgkJcHJpbnRmKCIlMDRkJTAyZCUwMmQgPSAlMDJkXG4iLCB5ZWFyLCBtbSwgZGQsIHllYXJIaSArIHllYXJMb3cgKyBtbSArIGRkKTsKCX0KfQ==