STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
196940
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2142 · P4284

swfchan now supports swf files with LZMA compression.

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/36398789?noj=FRM36398789-16DC" width="1" height="1"></div>

Zork_Trilogy.swf

This is the info page for
Flash #43392

(Click the ID number above for more basic data on this flash file.)


Text
LOADING

Select Game

Zork I: The Great Underground Empire

Zork II: The Wizard of Frobozz

Zork III: The Dungeon Master

what is this?

SCORE

MOVES

SAVE

9




West of House

0

0

/350

About

The Zork trilogy is a collection of classic text adventure games produced by Infocom in the
1980s. They're now freeware. All three games are provided here and can be fully played.
You can play the series in any order, although the games become progressively harder.
To play, simply click on the blue area at the bottom to enter your command. Whenever
you see a ">", the game is waiting for you to type a command. You can (and should
frequently) SAVE and RESTORE your game, and you can change the save slot at the top
right of the screen. Additionally, you can QUIT or RESTART at any time.
Happy Zorking!
(One last thing: Please let me know of any bugs, especially freeze bugs or "unimplemented
opcode" error messages.)

return to main menu

need hints?

contact author

ActionScript [AS1/AS2]

Frame 1
var loaded = (_root.getBytesLoaded() / _root.getBytesTotal()); if (loaded < 1) { loadingBar._xscale = loaded * 100; } else { gotoAndPlay ("animMainMenu"); }
Frame 2
gotoAndPlay (1);
Frame 17
stop();
Frame 39
function loadb(addr) { return((rom[addr >> 2] >> ((3 - (addr % 4)) * 8)) & 255); } function loadw(addr) { if ((addr % 4) == 3) { return(((rom[addr >> 2] & 255) << 8) | ((rom[(addr >> 2) + 1] >> 24) & 255)); } return((rom[addr >> 2] >> ((2 - (addr % 4)) * 8)) & 65535); } function storeb(addr, val) { rom[addr >> 2] = (((addr % 4) ? (rom[addr >> 2] & (4294967295 << ((4 - (addr % 4)) * 8))) : 0) | (val << ((3 - (addr % 4)) * 8))) | (rom[addr >> 2] & (16777215 >> ((addr % 4) * 8))); } function storew(addr, val) { if (val < 0) { val = 65536 - val; } if ((addr % 4) == 3) { rom[addr >> 2] = (rom[addr >> 2] & 4294967040) | (val >> 8); rom[(addr >> 2) + 1] = (rom[(addr >> 2) + 1] & 16777215) | (val << 24); } else { rom[addr >> 2] = (((addr % 4) ? (rom[addr >> 2] & (4294967295 << ((4 - (addr % 4)) * 8))) : 0) | (val << ((2 - (addr % 4)) * 8))) | (rom[addr >> 2] & (65535 >> ((addr % 4) * 8))); } } function signed(val) { if (val & 32768) { return((-((~(val & 32767)) & 32767)) - 1); } return(val); } function unsigned(val) { if (val < 0) { val = 65536 - val; } return(val); } function printstd(str) { genOut = genOut + str; genField.scroll = genField.maxscroll; } function printcur(str) { printstd(str); } function die(str) { printstd(str); live = 0; } function FIXME(str) { printstd(("FIXME: " + str) + "\r"); } function reinit() { version = loadb(0); high_mem_ptr = loadw(4); dict_table_ptr = loadw(8); object_table_ptr = loadw(10); global_table_ptr = loadw(12); static_mem_ptr = loadw(14); abbrev_table_ptr = loadw(24); if (version <= 4) { charset = [["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"], ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"], [0, "\r", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", ",", "!", "?", "_", "#", "'", "\"", "/", "\\", "-", ":", "(", ")"]]; } var addr = dict_table_ptr; var num_seps = loadb(addr++); word_seps = Array(); var i = 0; while (i < num_seps) { word_seps.push(loadb(addr++)); i++; } var entlen = loadb(addr++); var numents = loadw(addr); addr = addr + 2; dict = new Object(); var i = 0; while (i < numents) { var sb = "d_"; var len = ((version < 4) ? 4 : 6); var j = 0; while (j < len) { var hb = loadb(addr + j).toString(16); if (hb.length == 1) { hb = "0" + hb; } sb = sb + hb; j++; } dict[sb] = addr; addr = addr + entlen; i++; } } function init() { rom = eval (game_name + "rom").concat(); pc = loadw(6); reinit(); stk = new Array(); fp = 0; retloc = -1; } function save(obj) { var last_quad = Math.ceil(static_mem_ptr / 4); obj.data.mem = rom.slice(0, last_quad); obj.data.pc = pc; obj.data.stk = stk.concat(); obj.data.fp = fp; obj.data.retloc = retloc; } function restore(obj) { var i = 0; while (i < obj.data.mem.length) { rom[i] = obj.data.mem[i]; i++; } pc = obj.data.pc; stk = obj.data.stk.concat(); fp = obj.data.fp; retloc = obj.data.retloc; reinit(); } function decode_packed_addr(addr) { if (version <= 3) { return(2 * addr); } } function decode_zstring(addr) { var alpha = 0; var shift = 0; var end = 0; var ret = ""; var state = 0; var len = 0; var zchar = 0; var abbrev = 0; while (!end) { var word = loadw(addr + len); end = word & 32768; var chars = [(word >> 10) & 31, (word >> 5) & 31, word & 31]; var i = 0; while (i < 3) { switch (state) { case 0 : if (!chars[i]) { ret = ret + " "; } else if (chars[i] < 4) { abbrev = chars[i]; state = 1; } else if (chars[i] == 4) { alpha++; if (alpha > 2) { alpha = 0; } } else if (chars[i] == 5) { alpha--; if (alpha < 0) { alpha = 2; } } else if ((alpha == 2) && (chars[i] == 6)) { state = 2; zchar = 0; alpha = 0; } else { ret = ret + charset[alpha][chars[i] - 6]; alpha = 0; } break; case 1 : ret = ret + decode_zstring(loadw(abbrev_table_ptr + ((((abbrev - 1) * 32) + chars[i]) * 2)) * 2)[0]; state = 0; break; case 2 : if (zchar) { ret = ret + String.fromCharCode((zchar << 5) | chars[i]); state = 0; } else { zchar = chars[i]; } } i++; } len = len + 2; } return([ret, len]); } function zhash_string(str) { var len = ((version < 4) ? 6 : 9); var chars = Array(); var schars = str.split(""); while ((chars.length < len) && (schars.length)) { var c = schars.shift().charCodeAt(0); if ((c <= 122) && (c >= 97)) { chars.push(c - 91); } else { if (chars.length == (len - 1)) { break; } var i = 0; while (i < charset[2].length) { if (charset[2][i].charCodeAt(0) == c) { chars.push(5); chars.push(i + 6); break; } i++; } } } var i = chars.length; while (i < len) { chars.push(5); i++; } var ret = "d_"; var i = 0; while (i < len) { var b = ((((((i + 3) >= len) ? 32768 : 0) | (chars[i] << 10)) | (chars[i + 1] << 5)) | chars[i + 2]); var sb = b.toString(16); while (sb.length < 4) { sb = "0" + sb; } ret = ret + sb; i = i + 3; } return(ret); } function vtype_string(vnum) { if (!vnum) { return("the stack"); } if (vnum < 0) { return("nowhere"); } if (vnum < 16) { return("local" + (vnum - 1)); } return("g" + (vnum - 16).toString(16)); } function fetch_var(vnum) { if (!vnum) { return(stk.pop()); } if (vnum < 0) { return(undefined); } if (vnum < 16) { return(stk[(fp + vnum) - 1]); } return(loadw(global_table_ptr + ((vnum - 16) * 2))); } function store_var(vnum, val) { if (vnum > 255) { die("illegal variable storage " + vnum.toString(16)); return(undefined); } val = unsigned(val); if (!vnum) { stk.push(val); } else { if (vnum < 0) { return(undefined); } if (vnum < 16) { stk[(fp + vnum) - 1] = val; } else { storew(global_table_ptr + ((vnum - 16) * 2), val); } } } function get_operand_types(operands) { var b = loadb(pc++); var i = 0; while (i < 4) { var ot = ((b >> ((3 - i) * 2)) & 3); if (ot < 3) { operands.push(ot); } i++; } return(operands); } function fetch_inst() { real_pc = pc; var opcode = loadb(pc++); operands = Array(); if (opcode == 190) { count = 3; get_operand_types(operands); } else if ((opcode & 192) == 192) { if (opcode & 32) { count = 3; } else { count = 2; } get_operand_types(operands); op = opcode & 31; } else if ((opcode & 192) == 128) { if ((opcode & 48) == 48) { count = 0; } else { count = 1; operands.push((opcode & 48) >> 4); } op = opcode & 15; } else { op = opcode & 31; operands.push(((opcode & 64) ? 2 : 1)); operands.push(((opcode & 32) ? 2 : 1)); count = 2; } var i = 0; while (i < operands.length) { switch (operands[i]) { case 0 : operands[i] = loadw(pc); pc = pc + 2; break; case 1 : operands[i] = loadb(pc++); break; case 2 : operands[i] = fetch_var(loadb(pc++)); break; case 3 : operands[i] = null; } i++; } return([op, operands]); } function enter_routine(addr, new_retloc) { stk.push(pc); stk.push(fp); stk.push(retloc); pc = addr; fp = stk.length; retloc = new_retloc; var nvars = loadb(pc++); if (version < 5) { var i = 0; while (i < nvars) { stk.push(loadw(pc)); pc = pc + 2; i++; } } } function leave_routine(retval) { var old_retloc = retloc; stk.splice(fp, stk.length - fp); retloc = stk.pop(); fp = stk.pop(); pc = stk.pop(); store_var(old_retloc, retval); } function obj_addr(id) { if (version < 4) { return((object_table_ptr + 62) + ((id - 1) * 9)); } } function obj_prop_header_addr(id) { if (version < 4) { return(loadw(obj_addr(id) + 7)); } } function obj_prop_next(addr) { if (version < 4) { addr = addr + ((loadb(addr) >> 5) + 2); } return(addr); } function obj_prop_addr(id, prop) { var addr = obj_prop_header_addr(id); if (version < 4) { addr = addr + ((loadb(addr) * 2) + 1); while (true) { var sb = loadb(addr); if (!sb) { break; } if ((sb % 32) == prop) { return([addr + 1, (sb >> 5) + 1]); } addr = obj_prop_next(addr); } return(null); } } function obj_prop_next_num(id, prop) { if (prop) { if (version < 4) { var addr = (obj_prop_addr(id, prop)[0] - 1); addr = obj_prop_next(addr); if (loadb(addr)) { return(loadb(addr) % 32); } return(0); } } else { var addr = obj_prop_header_addr(id); if (version < 4) { addr = addr + ((loadb(addr) * 2) + 1); if (loadb(addr)) { return(loadb(addr) % 32); } return(0); } } } function obj_attr_test(obj, attr) { return(loadb(obj_addr(obj) + (attr >> 3)) & (1 << (7 - (attr % 8)))); } function obj_attr_set(obj, attr) { var ab = loadb(obj_addr(obj) + (attr >> 3)); var aofs = (attr % 8); ab = (((255 << (8 - aofs)) & ab) | (1 << (7 - aofs))) | ((255 >> (1 + aofs)) & ab); storeb(obj_addr(obj) + (attr >> 3), ab); } function obj_attr_clear(obj, attr) { var ab = loadb(obj_addr(obj) + (attr >> 3)); var aofs = (attr % 8); ab = ((255 << (8 - aofs)) & ab) | ((255 >> (1 + aofs)) & ab); storeb(obj_addr(obj) + (attr >> 3), ab); } function parent_of(id) { if (version < 4) { return(loadb(obj_addr(id) + 4)); } } function set_parent(id, to) { if (version < 4) { storeb(obj_addr(id) + 4, to); } } function sibling_of(id) { if (version < 4) { return(loadb(obj_addr(id) + 5)); } } function set_sibling(id, to) { if (version < 4) { storeb(obj_addr(id) + 5, to); } } function child_of(id) { if (version < 4) { return(loadb(obj_addr(id) + 6)); } } function set_child(id, to) { if (version < 4) { storeb(obj_addr(id) + 6, to); } } function fix_royal_puzzle() { if ((statRoom == "Room in a Puzzle") && (!royal_puzzle)) { var tf = genField.getTextFormat(); tf.font = "_typewriter"; tf.size = 11; genField.embedFonts = false; genField.setTextFormat(tf); genField.setNewTextFormat(tf); genField.scroll = genField.maxscroll; royal_puzzle = 1; } else if ((statRoom != "Room in a Puzzle") && (royal_puzzle)) { royal_puzzle = 0; genField.embedFonts = true; genField.setTextFormat(old_tf); genField.setNewTextFormat(old_tf); } } function redraw_statusline() { statRoom = decode_zstring(obj_prop_header_addr(fetch_var(16)) + 1)[0]; statScore = fetch_var(17); statMoves = fetch_var(18); fix_royal_puzzle(); } function call_op(new_retloc) { if (!operands[0]) { store_var(new_retloc, 0); } else { enter_routine(decode_packed_addr(operands[0]), new_retloc); var i = 1; while (i < operands.length) { if (operands[i] != null) { stk[(fp + i) - 1] = operands[i]; } i++; } } } function branch(cond) { var opcode = loadb(pc++); var ofs; if (!(opcode & 128)) { cond = !cond; } if (opcode & 64) { ofs = opcode & 63; } else { ofs = ((opcode & 31) << 8) | loadb(pc++); if (opcode & 32) { ofs = (-((~(ofs & 8191)) & 8191)) - 1; } } if (cond) { if ((!ofs) || (ofs == 1)) { leave_routine(ofs); } else { pc = pc + (ofs - 2); } } } function execute_inst() { switch (count) { case 0 : switch (op) { case 0 : leave_routine(1); break; case 1 : leave_routine(0); break; case 2 : var sv = decode_zstring(pc); printcur(sv[0]); pc = pc + sv[1]; break; case 3 : printcur(decode_zstring(pc)[0] + "\r"); leave_routine(1); break; case 4 : break; case 5 : var save_obj = SharedObject.getLocal((game_name + "_save") + save_slot); save(save_obj); branch(save_obj.flush()); break; case 6 : var save_obj = SharedObject.getLocal((game_name + "_save") + save_slot); if (save_obj.data.pc) { restore(save_obj); branch(1); } else { branch(0); } break; case 7 : init(); break; case 8 : leave_routine(fetch_var(0)); break; case 10 : printstd("\r[Press ENTER to exit.]\r"); live = -2; break; case 11 : printcur("\r"); break; default : die((("Unknown instruction 0OP:" + op.toString(16)) + " near ") + pc.toString(16)); } return; case 1 : switch (op) { case 0 : branch(!operands[0]); break; case 1 : var obj = sibling_of(operands[0]); store_var(loadb(pc++), obj); branch(obj); break; case 2 : var obj = child_of(operands[0]); store_var(loadb(pc++), obj); branch(obj); break; case 3 : store_var(loadb(pc++), parent_of(operands[0])); break; case 4 : if (version < 4) { store_var(loadb(pc++), (loadb(operands[0] - 1) >> 5) + 1); } break; case 5 : store_var(operands[0], signed(fetch_var(operands[0])) + 1); break; case 6 : store_var(operands[0], signed(fetch_var(operands[0])) - 1); break; case 7 : printcur(decode_zstring(operands[0])[0]); break; case 9 : if (parent_of(operands[0])) { var obj = child_of(parent_of(operands[0])); if (obj == operands[0]) { set_child(parent_of(obj), sibling_of(obj)); } else { while (sibling_of(obj) != operands[0]) { obj = sibling_of(obj); } set_sibling(obj, sibling_of(operands[0])); } set_parent(operands[0], 0); } break; case 10 : printcur(decode_zstring(obj_prop_header_addr(operands[0]) + 1)[0]); break; case 11 : leave_routine(operands[0]); break; case 12 : operands[0] = signed(operands[0]); pc = pc + (operands[0] - 2); break; case 13 : printcur(decode_zstring(decode_packed_addr(operands[0]))[0]); break; case 14 : store_var(loadb(pc++), fetch_var(operands[0])); break; default : die((("Unknown instruction 1OP:" + op.toString(16)) + " near ") + pc.toString(16)); } return; case 2 : switch (op) { case 1 : var br = 0; var i = 1; while (i < operands.length) { if (operands[0] == operands[i]) { br = 1; } i++; } branch(br); break; case 2 : branch(signed(operands[0]) < signed(operands[1])); break; case 3 : branch(signed(operands[0]) > signed(operands[1])); break; case 4 : var n = (fetch_var(operands[0]) - 1); store_var(operands[0], n); branch(n < operands[1]); break; case 5 : var n = (signed(fetch_var(operands[0])) + 1); store_var(operands[0], n); branch(n > signed(operands[1])); break; case 6 : branch(parent_of(operands[0]) == operands[1]); break; case 7 : branch((operands[0] & operands[1]) == operands[1]); break; case 8 : store_var(loadb(pc++), operands[0] | operands[1]); break; case 9 : store_var(loadb(pc++), operands[0] & operands[1]); break; case 10 : branch(obj_attr_test(operands[0], operands[1])); break; case 11 : obj_attr_set(operands[0], operands[1]); break; case 12 : obj_attr_clear(operands[0], operands[1]); break; case 13 : store_var(operands[0], operands[1]); break; case 14 : if (parent_of(operands[0])) { var obj = child_of(parent_of(operands[0])); if (obj == operands[0]) { set_child(parent_of(obj), sibling_of(obj)); } else { while (sibling_of(obj) != operands[0]) { obj = sibling_of(obj); } set_sibling(obj, sibling_of(operands[0])); } } set_parent(operands[0], operands[1]); set_sibling(operands[0], child_of(operands[1])); set_child(operands[1], operands[0]); break; case 15 : store_var(loadb(pc++), loadw(operands[0] + (2 * operands[1]))); break; case 16 : store_var(loadb(pc++), loadb(operands[0] + operands[1])); break; case 17 : var pv = obj_prop_addr(operands[0], operands[1]); if (pv == null) { store_var(loadb(pc++), loadw(object_table_ptr + ((operands[1] - 1) * 2))); } else if (pv[1] == 1) { store_var(loadb(pc++), loadb(pv[0])); } else { store_var(loadb(pc++), loadw(pv[0])); } break; case 18 : var pv = obj_prop_addr(operands[0], operands[1]); if (pv == null) { store_var(loadb(pc++), 0); } else { store_var(loadb(pc++), pv[0]); } break; case 19 : var n; store_var(loadb(pc++), (n = obj_prop_next_num(operands[0], operands[1]))); break; case 20 : store_var(loadb(pc++), signed(operands[0]) + signed(operands[1])); break; case 21 : store_var(loadb(pc++), signed(operands[0]) - signed(operands[1])); break; case 22 : store_var(loadb(pc++), signed(operands[0]) * signed(operands[1])); break; case 23 : if (!operands[1]) { die("division by zero"); } else { store_var(loadb(pc++), Math.floor(signed(operands[0]) / signed(operands[1]))); } break; case 24 : if (!operands[1]) { die("modulo by zero"); } else { store_var(loadb(pc++), Math.floor(signed(operands[0]) % signed(operands[1]))); } break; default : die((("Unknown instruction 2OP:" + op.toString(16)) + " near ") + pc.toString(16)); } return; case 3 : switch (op) { case 0 : call_op(loadb(pc++)); return; case 1 : storew(operands[0] + (2 * operands[1]), operands[2]); return; case 2 : storeb(operands[0] + operands[1], operands[2]); return; case 3 : var pv = obj_prop_addr(operands[0], operands[1]); if (pv == null) { die(("put_prop (" + operands) + ") on nonexistent property"); } else if (pv[1] == 1) { storeb(pv[0], operands[2]); } else { storew(pv[0], operands[2]); } return; case 4 : if (version < 4) { redraw_statusline(); } inField.enabled = true; inField.maxChars = loadb(operands[0]); live = -1; return; case 5 : printcur(String.fromCharCode(operands[0])); return; case 6 : printcur(operands[0]); return; case 7 : if (signed(operands[0]) > 0) { store_var(loadb(pc++), Math.floor(Math.random() * operands[0]) + 1); } else { pc++; } return; case 8 : store_var(0, operands[0]); return; case 9 : store_var(operands[0], fetch_var(0)); return; default : die((("Unknown instruction VAR:" + op) + " near ") + pc.toString(16)); } } } function dump_stack() { var out = "stack"; var i = 0; while (i < stk.length) { out = out + (" => " + stk[i].toString(16)); i++; } } function dump_regs() { } function dump_header() { } function dump_inst() { } function run() { live = 1; while (live > 0) { fetch_inst(); execute_inst(); } } function parse_cont(txt) { if ((!Key.isDown(13)) || (live > 0)) { return(undefined); } if (live == -2) { gotoAndPlay ("quit"); return(undefined); } printstd(genIn + "\r"); genIn = genIn.toLowerCase(); var words = Array(); var startpos = 0; var i = 0; while (i < genIn.length) { var char = genIn.charCodeAt(i); storeb((operands[0] + i) + 1, char); if (char == 32) { if (startpos != i) { var new_word = Object(); new_word.word = genIn.substring(startpos, i); new_word.idx = startpos + 1; words.push(new_word); } startpos = i + 1; } var j = 0; while (j < word_seps.length) { if (char == word_seps[j]) { if (startpos != i) { var new_word = Object(); new_word.word = genIn.substring(startpos, i); new_word.idx = startpos + 1; words.push(new_word); } var sep = Object(); sep.word = String.fromCharCode(char); sep.idx = i + 1; words.push(sep); startpos = i + 1; } j++; } i++; } storeb((operands[0] + genIn.length) + 1, 0); var new_word = Object(); new_word.word = genIn.substring(startpos, genIn.length); new_word.idx = startpos + 1; words.push(new_word); if (operands[1]) { var addr = (operands[1] + 1); storeb(addr++, words.length); var i = 0; while (i < words.length) { var wd = words[i].word; var wh = zhash_string(words[i].word); var daddr = 0; if (dict[wh]) { daddr = dict[wh]; } storew(addr, daddr); addr = addr + 2; storeb(addr++, wd.length); storeb(addr++, words[i].idx); i++; } } genIn = ""; run(); } stop(); _global.z1rom = [50331736, 1312247557, 992019120, 577842771, 14388, 808923702, 32548294, 2703818752, 0, 0, 0, 0, 0, 0, 0, 0, 1705672869, 321759237, 332720133, 2522905242, 3691363072, 443121829, 2056945829, 321727210, 2158305491, 387547301, 3512788608, 2520805849, 3020233450, 2158323110, 3825546459, 2818929070, 2711622445, 3137351412, 3355788503, 2973787575, 1397535749, 448080087, 3758471776, 894937253, 1893313248, 1586808837, 287187508, 3607119174, 634630149, 1289182876, 2158305491, 1318682789, 1648805408, 981061637, 600327829, 3758437848, 2158323118, 2841645529, 2158322330, 3852493130, 3405781559, 684324869, 647173913, 2158337344, 525959333, 1922745632, 332720864, 1705696576, 550731941, 1705959429, 299439896, 2158322470, 988289802, 2158350944, 781680805, 1901650949, 685302789, 1318577568, 1318682789, 1727317536, 1318663635, 2953135764, 1104392197, 2445300953, 3020235316, 3779666131, 640344069, 293026190, 2751820435, 387547301, 1458838727, 3351262551, 2818904820, 3527743732, 3944779968, 1721008293, 1705436325, 1586808997, 647289861, 853960147, 2953130740, 1785299109, 1398374565, 1395501792, 1892795397, 1423466700, 2868918869, 1394096369, 2818913496, 2158318442, 3691332955, 2854240884, 572031141, 491475690, 2158318808, 1624025093, 292839226, 1289333310, 324218519, 1733499690, 3351624480, 2590008750, 3456130523, 2866833140, 1176888064, 646603365, 3810530260, 1756945728, 2097186, 2359334, 2555945, 2752556, 3014705, 3407925, 3538999, 3735611, 3997759, 4259907, 4522055, 4849741, 5111888, 5374036, 5701722, 6094944, 6422628, 6750313, 7012461, 7274609, 7602295, 7864442, 8126590, 8388738, 8650887, 9109644, 9306256, 9568404, 9830552, 10158238, 10420385, 10682534, 11075756, 11468977, 11731125, 11927736, 12189884, 12452033, 12845254, 13107402, 13435089, 13828309, 14090458, 14483680, 14942441, 15335659, 15532271, 15859957, 0, 0, 0, 0, 0, 0, 0, 327680, 0, 0, 0, 0, 0, 0, 0, 2, 587522, 768000, 247, 50334667, 131072, 4144300043, 3640738304, 33554432, 200146944, 194310, 785664, 33554679, 117443597, 0, 4144496652, 536870912, 16189696, 204800002, 63242, 804608, 33554679, 201329751, 0, 12, 1678770688, 16190976, 208732160, 63836, 820736, 2295, 4177529999, 33554432, 1376780300, 2550267904, 5378304, 212533760, 21010, 835074, 82, 318770385, 33554432, 1386020876, 3825336320, 5379328, 217514496, 21116, 855554, 82, 3791654178, 33554432, 1377304589, 1040318464, 5380352, 223281728, 134238746, 877570, 1074266194, 452988291, 37750784, 1384644621, 2567061512, 5381376, 229638720, 134238846, 902402, 1074266194, 520097255, 138414080, 1384251405, 4144119808, 5382400, 235668032, 21026, 928520, 1073741906, 587206223, 138412032, 1378091022, 1711816712, 5409792, 243401216, 21030, 957442, 82, 2315259576, 33554432, 1378353166, 3540123648, 5401344, 250151424, 21179, 983554, 82, 721424162, 33554432, 1378615311, 922877952, 5385472, 256639488, 21038, 1007874, 82, 788533108, 33554432, 1385693199, 2282225664, 5386496, 261816832, 21164, 1030402, 82, 3187675092, 33554432, 1387855887, 4245028864, 5387520, 269747712, 21046, 1057542, 82, 922751028, 100663296, 1379401744, 1158021120, 5388544, 273940992, 21050, 1075462, 82, 989859968, 100663296, 1379663888, 2433089536, 5389568, 278922752, 21054, 1095430, 82, 1056968902, 100663296, 1379926032, 3573940224, 5390592, 283772416, 21159, 1112838, 82, 1124077834, 100663296, 1380188177, 419823616, 5391616, 287835648, 21062, 1128198, 82, 1577062728, 33554432, 1382416401, 1493303296, 5423360, 292814850, 8452365, 1151746, 1074266194, 2399146411, 37750784, 1380712465, 3372367880, 5435136, 300548672, 134238798, 1182722, 1074266194, 1325404715, 37750784, 1380974610, 1241661448, 5394688, 309461568, 134238898, 1217024, 0, 11801266, 16384, 1442840594, 3053486144, 5701632, 316342272, 1073741824, 1245696, 273678336, 5444386, 8409088, 1493193747, 1224884232, 5393241, 326172816, 1344296960, 1460897792, 33554647, 3087012765, 16392, 3345154067, 2919236096, 2163825920, 331218946, 8452469, 1298946, 82, 2489258983, 49152, 1577058324, 50462720, 5432929, 338034752, 2147508224, 1325824, 4196451, 5207, 53248, 3346752020, 1913126912, 5386853, 344850688, 1073767424, 1355010, 82, 1222186198, 49184, 2583691284, 4060086344, 1097465856, 353370624, 21125, 1779773184, 839909481, 6821192, 33554432, 1378447893, 1543504064, 547094528, 359727360, 3221275136, 1411328, 71304385, 1862276517, 688384, 3248750613, 3288335104, 10289152, 367001606, 1074033152, 1436673, 336593515, 7542271, 393216, 1920008214, 453050432, 8257536, 371851266, 8452483, 1462786, 82, 343348837, 16416, 1979711510, 1946304512, 5381753, 378273792, 1074296832, 1483264, 4196519, 2147489458, 16392, 3349086230, 3288481792, 5379709, 383320064, 1073773568, 1504770, 82, 2021594912, 131072, 2121531415, 788530240, 212313344, 389742660, 1073793280, 1529096, 1073741906, 547493741, 131072, 4186177559, 2315256320, 2163839232, 395837952, 21167, 2249696768, 33554565, 6077, 4358144, 3690987543, 3489792008, 5381257, 400621824, 1073776640, 1574146, 82, 663427108, 4210688, 2315255832, 922894344, 5425037, 408354816, 1075874816, 1600256, 4202496, 6284, 37750784, 1381535768, 2835350592, 546242560, 415498246, 63918, 1630208, 71303168, 6394, 18497, 3556769817, 469893128, 5392277, 423100416, 1075876864, 1656578, 82, 815208812, 393216, 2516582425, 2130837512, 5412505, 428802054, 38912, 1679874, 524370, 3617266098, 49152, 2590441497, 3305148480, 805306476, 434242048, 21220, 2652504576, 101712029, 1879054865, 16908288, 3351445530, 671089680, 11796641, 439877632, 3223363584, 1723648, 5243010, 10689129, 16384, 2717909018, 2181038144, 29472512, 446103552, 1073784742, 1751040, 4194471, 6881, 100663296, 1380100122, 4278191616, 10975744, 453902340, 1074055680, 1777664, 4194526, 6970, 16384, 27, 1510080512, 5399725, 460652544, 1074310144, 1807617, 33620217, 2952797105, 33554432, 1382076443, 3238003200, 16365056, 466878466, 45568, 1827330, 1074266194, 11738103, 131328, 2997944348, 184696840, 5377973, 471728130, 16823456, 1853184, 33554681, 3439336534, 16908544, 3250585628, 1778386432, 14145024, 478216704, 21044, 3122434304, 100663993, 7336, 33554432, 1378532380, 3221225536, 12255232, 483590144, 1140908032, 1897986, 82, 868162826, 282624, 3187671069, 553649664, 12648448, 491192896, 134238921, 3256702976, 2383413441, 1852644731, 131072, 3351511069, 2415919616, 13092096, 497287170, 51142, 1947648, 33554631, 7628, 33554432, 1385875485, 3791672336, 13064960, 502596160, 21195, 3390968576, 839909577, 2175344160, 37750784, 1380633630, 738210320, 13304032, 508755968, 8452586, 1992450, 1073741906, 1993285243, 16384, 3456106526, 2449522768, 11469009, 514392064, 1074057216, 2018304, 4194304, 7922, 118816, 3573547039, 84033544, 5430485, 522649650, 268489875, 3542039040, 100663511, 8006, 33556480, 1389680671, 1509951232, 14113280, 527368212, 157184, 3659497472, 104858841, 8084, 262144, 31, 2869051400, 5401053, 533135360, 1073798279, 2088962, 1073741906, 400498675, 262146, 3735683104, 33554512, 550300897, 538181632, 1140908221, 2110210, 82, 3739426888, 1839104, 3791650848, 1593982976, 5426917, 544538628, 58368, 2135554, 524370, 3907461291, 16384, 3858759712, 3221356552, 5383657, 551419906, 190464, 2164224, 33587449, 3942654241, 131328, 4193124385, 838862928, 13369581, 558301188, 1107356672, 2187776, 131321, 4043317631, 37750784, 1380839457, 2365587968, 2163146752, 564592642, 8452594, 2211328, 33554681, 4076872140, 131072, 4193517601, 3724542464, 16318464, 569507840, 63478, 2229248, 247, 8726, 4089194496, 63522, 721420800, 16187648, 573374464, 63477, 4196548352, 33554681, 1224745571, 72666716, 19506893, 951207644, 1120027316, 276955139, 2123842126, 2762289742, 691087876, 127198, 4064737342, 3528214087, 338766307, 1887826564, 2197815842, 3940930354, 995700992, 2555904, 129690, 4064645957, 3762917694, 3643877724, 269862, 1663042886, 3135631941, 473656901, 3292350976, 71784257, 3543141599, 1244807825, 824755568, 2290601606, 144116, 3932811842, 2202600767, 1816214065, 682295298, 1624163991, 2991128129, 1564204593, 679280643, 506094350, 3449319996, 2839697664, 73615412, 422958000, 2771462097, 351443, 647103111, 1028187301, 4064529483, 3124949827, 251658839, 183055409, 693895170, 1330814295, 843294976, 51581241, 713057055, 404630806, 1210817008, 97320964, 286530080, 307154245, 521215248, 370486169, 3791651857, 337256466, 1322075422, 303829272, 271292898, 266516, 438309454, 3443859218, 471013649, 731505152, 68228122, 538070733, 1159691294, 320541227, 2581725189, 304489770, 1543773849, 3868335566, 477501205, 731466501, 1962935314, 639969884, 82220311, 269882411, 2569217397, 1224737811, 304755064, 59548956, 3793124395, 2564556105, 3829809788, 3594643836, 3590325267, 375998019, 3230426399, 3726514219, 2557280261, 307121472, 290678502, 3439992087, 470750487, 731399680, 68224591, 3259538361, 1545476637, 1279037251, 441062938, 824669995, 2543469917, 2206466053, 317989406, 9513260, 2829391641, 370879383, 1512398211, 332038, 1338132615, 1396298309, 529012506, 731328069, 3999105792, 85103360, 538109498, 1741915422, 488474667, 2528249220, 331991, 428213988, 751945477, 522091804, 2650800247, 480116736, 915844145, 1942701550, 2206466050, 319673066, 527965213, 731267109, 4001562627, 199515611, 2867142174, 932518419, 506172966, 636388096, 118721851, 704677957, 3408855056, 3935899007, 564434375, 829637675, 2513257966, 1552089095, 328022826, 8930763, 788533482, 2567798055, 2761279356, 547657159, 829637675, 2509784558, 1552089091, 199515611, 2867141921, 932518422, 2182291755, 2507285998, 2197816075, 3831356330, 3846083879, 1033200951, 2501514786, 865426219, 2503222766, 2197816075, 3831356330, 3846083879, 495728533, 437658387, 2351666428, 636388096, 34672027, 303834651, 840444183, 691442450, 731049765, 2957599806, 243028480, 135427167, 756515938, 2590351378, 2791507633, 1159669020, 1796941867, 2463956996, 287722144, 285666629, 505486730, 1016255787, 2461271472, 332074, 715133190, 1339346085, 517413426, 405149322, 828830213, 1224738577, 1180902768, 2620070144, 2501580953, 2317296926, 1797088790, 623706117, 731019525, 1224738323, 1010506042, 1811977499, 412715551, 2518560555, 2454650886, 328092974, 1300239014, 1661382981, 530062894, 731008768, 101869150, 4100981844, 3630222504, 2770299676, 2552992306, 332052, 1159729830, 1661382981, 487529622, 730994176, 34670317, 1159698461, 722921521, 1889872785, 4261759232, 34670317, 1159697949, 706525974, 3140194796, 88670211, 320429382, 3366264420, 1032971319, 2447644260, 321989521, 3020287588, 1259502649, 332569, 1564887044, 1842016421, 506609041, 2771095942, 99509323, 310130944, 101902945, 1466863196, 73571045, 2776589472, 2440765143, 489756968, 405090656, 2265312996, 1145732121, 1041136722, 398105, 1557344576, 312894214, 2974097089, 498668985, 730933248, 34752253, 1159542044, 1058650411, 2429353986, 306642245, 489954367, 457120309, 730909952, 34752253, 1159609373, 974928662, 942379213, 266538, 421531987, 2762284088, 730914816, 34752253, 1159673630, 907557399, 1012291539, 2855117, 266647, 456019328, 2355435578, 2542775953, 285225302, 3741691392, 34752253, 1159411994, 907556886, 992710861, 135750, 4249165372, 490084154, 730909952, 34752253, 1159675934, 991770652, 907689046, 1473445931, 2429353988, 287971616, 290694309, 524168080, 3758096914, 1191003421, 1041973017, 1026265293, 135750, 4249165374, 490740788, 389371479, 3540003728, 3439329810, 1191003422, 1058881559, 1008117547, 2429353988, 287971616, 290694309, 497494928, 3758097425, 706289681, 1403299100, 1126928608, 135750, 4249165638, 507649348, 730909952, 34752253, 1159676701, 1159178027, 2429353986, 306642245, 507780166, 1448596224, 730909952, 34752253, 1159677470, 1713193756, 1160483021, 332102, 1663042884, 564585029, 524820116, 915417643, 2416534590, 243028480, 51448390, 651994399, 1715310526, 474453953, 3070230528, 827478829, 1656247, 3444113410, 1663482616, 4064982858, 4014649418, 3190892651, 2429023129, 2312896515, 286337239, 3127648077, 504962383, 474757006, 3794893172, 730825573, 4059362290, 332148, 1566073860, 1423553701, 529473101, 491658321, 391655801, 1949011791, 1710355699, 4060087057, 1952274660, 2770291262, 2402491726, 1016021786, 1345818338, 830043179, 2398840305, 4109627904, 51475549, 1491379519, 2399805167, 491461706, 932110897, 2037656462, 4217762292, 4092723203, 292838744, 3836026767, 508247438, 3994831927, 2397188473, 1949011658, 1710355699, 4060087568, 3929396004, 70687457, 1159680286, 1251855339, 28, 1343901976, 1351994347, 49, 1254761971, 3942647059, 342568192, 705803499, 171937447, 508501428, 474749775, 448015246, 2957358842, 4076864786, 1952394496, 705803499, 169823006, 1327346748, 2393315663, 414460814, 2185606906, 4076863509, 1375733790, 4097921793, 290525298, 2537555994, 1725941106, 1034701922, 829988720, 3800810122, 781050412, 65544, 848373075, 17912080, 1922514952, 442949573, 1916644428, 1647409311, 1351336586, 781035053, 404480, 67110941, 1181429295, 1359017755, 402712168, 4054361458, 1011305570, 820640557, 76800, 16779550, 4097921793, 3933294871, 2320308075, 422125737, 2356297734, 1281519842, 2391641132, 142221, 2619998214, 474460, 707096915, 586834730, 604680581, 1916798540, 1647409080, 1351519654, 781008941, 338944, 86638598, 267093, 12587831, 2839885711, 2065058609, 1997366769, 4076139264, 69064484, 3093304235, 422725137, 277753485, 841613332, 336531, 1727284245, 443204773, 843506448, 2399142514, 3939306930, 1306741774, 1276915456, 167773297, 2925871138, 783120498, 1045249620, 830048784, 4227858978, 783115762, 1298480717, 1298941100, 830052656, 2442133507, 320432430, 3500481684, 1465039872, 730883077, 3940827037, 2092189390, 2093154312, 333729943, 302011283, 719676160, 1221847249, 2990889799, 1279715920, 2475881518, 2361731212, 3556771345, 1395844717, 3543334929, 116213022, 2233101099, 2473590789, 230765907, 853962195, 3003494989, 1698709059, 2486220767, 730615592, 2354708486, 1842881178, 1611799338, 1573307557, 1917160514, 2788253679, 278146816, 100663911, 1202234802, 1284721699, 1191129440, 103743493, 730604330, 469132, 872416274, 3932247918, 2396824863, 2887594012, 840380470, 2441032033, 2114317924, 1259502649, 354042, 1308624207, 730515205, 4065102910, 356773708, 1647412449, 280440576, 590253055, 754978604, 338828, 318768132, 610726982, 546071934, 698191868, 2101779855, 4229711921, 2239900559, 3539993958, 2589723753, 3374904530, 99762840, 1023687954, 1117728918, 2502855388, 680195584, 40277921, 2779925546, 1137921122, 827885104, 2560044800, 338594505, 754978348, 393219, 322198797, 2153979100, 932422678, 3694221732, 88695871, 2407304960, 55920939, 429532466, 1193881989, 523304089, 704650752, 51573866, 1770021663, 639535645, 689712153, 1613468305, 222330, 1153935909, 2990816321, 155699760, 2661101312, 36211206, 268904, 961766418, 2594533958, 4047856208, 2679627567, 142985, 3089664459, 156564, 3710251595, 1833340738, 557620017, 1892896928, 3080662784, 506366371, 738197504, 74617893, 1392587986, 3853664157, 1152601578, 829249392, 3718488737, 680103424, 40079077, 221399910, 829593600, 56831557, 1508279602, 1257648467, 3608192047, 655362, 1705945445, 4065052744, 3091549511, 925985236, 1352440730, 730506535, 327682, 109549957, 842795057, 1815884025, 2768242717, 1181429295, 1359080049, 1361649761, 115132402, 1227373940, 1012223074, 1358669734, 788531245, 338944, 83887474, 2485474050, 639970012, 2771534915, 1356703986, 266538, 421531987, 2762284820, 731474944, 84407610, 704653858, 2261034418, 1048004442, 1121390836, 788534272, 85132877, 1040221992, 3367281948, 505118251, 2523604462, 2197815905, 3035451826, 1238387726, 1276915456, 251659362, 172316938, 1353434418, 1140658345, 788531712, 73471787, 2304629674, 3857860946, 1276005404, 1070010538, 201094, 1610845349, 504567574, 829489451, 2567112009, 3829524860, 3594928764, 3590326880, 3579162205, 1165054754, 4200802852, 123521066, 719627762, 1025983457, 1226001506, 279654144, 170721285, 738198784, 68355661, 1040222363, 1779988523, 2526740482, 1624482981, 843646257, 1994588164, 1599629248, 1114549573, 1917069124, 540104698, 280702720, 338594178, 155285, 2829431368, 3443715134, 2234612166, 284765952, 170822006, 199652, 1574677221, 511188256, 932518422, 523474459, 829868331, 2514953710, 2197815901, 3685410098, 1219572084, 2232462336, 56413772, 4109411634, 1210855796, 335545105, 877215884, 1696424054, 1772327830, 827983460, 1066368143, 357012, 626197222, 976145797, 1917330760, 504421632, 39249657, 1467107260, 1133785311, 3072887052, 332115, 604055703, 433299100, 2115804672, 8068254, 6171, 1998364160, 2856671, 1173259395, 284313, 2765457, 2762322503, 2806136140, 1645265455, 994952, 4281139210, 738200064, 51524713, 546071838, 656239383, 674325939, 88670212, 1445357011, 1782619351, 2990282311, 2102157872, 2918788864, 338493450, 738198827, 2297757700, 287721476, 483960997, 534190039, 731165221, 4001562629, 1439770625, 716249881, 3104174652, 3779549767, 1984762161, 1987326180, 3039756308, 730391040, 89608995, 979192064, 4103808434, 1021396826, 1198928244, 1313924270, 4180606996, 200977, 685226604, 1066338846, 1293766172, 1263937379, 3233432, 636726784, 89510184, 19540507, 1793107378, 1151681652, 1197093206, 758054937, 730388736, 89510184, 19461157, 3403720178, 1021852911, 1215448922, 829258512, 2936014855, 4114171944, 19623526, 3931330563, 295273906, 1118193484, 1243427187, 3208368, 788531712, 89443932, 19465805, 833291634, 1035159260, 829401872, 2972647434, 780716544, 51480134, 719308063, 1578977067, 2419720195, 1422806830, 3448107590, 3577461565, 3125568049, 1845956859, 788533038, 2292067584, 69992454, 730381568, 68308574, 4099670924, 2770283806, 790440497, 1488191490, 1238883991, 2991088709, 2822784305, 1492516868, 307126004, 1543736485, 522985006, 489369944, 3019899465, 3621689266, 1214530984, 1078276440, 4127196177, 642253894, 2275394847, 3340683036, 3609957423, 215257, 564646544, 2990896965, 2235924017, 1856049330, 788529707, 2277189767, 3506439240, 3426287646, 2263131506, 1021397015, 829760624, 3048531123, 788534314, 6563328, 67109906, 1176612429, 1082942751, 3828445647, 215240, 903063717, 4064619079, 457168196, 3123802692, 704655872, 38094528, 2779923586, 1069107048, 828356864, 50852377, 3516833138, 1161772320, 829330448, 4096393226, 214342, 774562981, 4063977540, 2067598149, 940635183, 142215, 1848149879, 220489, 16438213, 842890033, 660410600, 788531758, 2305436160, 335545094, 2320062362, 695353378, 1281495289, 754976044, 655365, 518415104, 1154704727, 3433411140, 1363435332, 3358682674, 283717376, 254707533, 730291968, 121980517, 2858157849, 2147829841, 3554715058, 1007173260, 1281503620, 3694180278, 788533037, 666624, 86738750, 401239, 1296635779, 841371434, 3731190340, 1598312816, 3149576632, 788534318, 2267938818, 306642245, 524557889, 406858640, 3942646626, 172317138, 1706179837, 1241595119, 827863296, 72144999, 3225579181, 1169310759, 1142963355, 827862064, 3183226503, 587203900, 3374844729, 2589840296, 2775728358, 1281503423, 3190751242, 754976044, 338823, 385877047, 1277692216, 3537004914, 1062685794, 818462765, 666624, 170624776, 398058, 1633119886, 1543786135, 3852804027, 2086969489, 2066833917, 636373348, 1145732121, 472275, 616314193, 604388064, 1465046181, 4064796475, 1967918668, 472970433, 209638, 1708372133, 1916954434, 1848727344, 266572, 2058958970, 2355437020, 400305043, 2131052800, 35841698, 87178955, 827297552, 4060087395, 877477916, 3621690482, 1009470471, 827399216, 3334930437, 320426602, 8854263, 3548715956, 827325227, 2388328452, 1664372032, 647290021, 843029809, 1360212168, 3338667283, 2321752069, 1144429281, 1159680318, 2387483982, 475011921, 424704178, 2617245813, 2996568064, 826973733, 4093247490, 647290021, 843029809, 1834430665, 3388998942, 2254252580, 473590227, 2234666432, 827285776, 3388998502, 3864267218, 2549235613, 1281051732, 1053045074, 87084235, 107730, 4064219457, 4030854976, 2687590458, 132963, 2359655987, 2677085466, 880262821, 2434543972, 3523561728, 52676678, 2514527666, 1057179062, 1082405218, 3945844429, 656871424, 68213060, 3546555788, 1696377879, 791384675, 88670213, 587096870, 1142513097, 2860102220, 2000783180, 1649463503, 4012834836, 780589613, 273408, 184550690, 879575045, 1276834233, 91374050, 1047540101, 905970707, 925423722, 3934282518, 3107024100, 754981163, 2437678409, 205222, 1170778277, 4064147774, 3997822028, 1647406259, 819122479, 666880, 170655749, 730253866, 327682, 551015769, 1917377341, 3241235197, 821678848, 68300397, 3543139212, 2770258813, 866095031, 1448273920, 827405829, 1239696885, 1333544430, 1333526532, 1727288766, 17228101, 842913329, 1361187028, 707203072, 69089832, 124467666, 1701985694, 1264988510, 3859862784, 73222400, 4201067724, 2775727518, 1264988510, 3859867648, 69137522, 1612667366, 2473737630, 1264988510, 3859864064, 91836742, 2617309799, 885826930, 1033784166, 828302864, 3590325522, 1178237226, 1716324992, 1662884380, 2586547293, 471796, 1788872025, 1385234701, 723116197, 4064154942, 474122828, 355557207, 282525698, 282715592, 382413711, 2818918656, 40159173, 1160924020, 704653312, 51514981, 229270942, 1340801024, 1949975, 3379977894, 2409272399, 3942645760, 827299885, 673259, 3930652677, 1104748970, 1276713201, 2829398603, 1947268394, 3276802, 565896517, 2990422088, 977941041, 2055688412, 3873112068, 321800426, 1543736485, 504659428, 2727980081, 1931029401, 1996490014, 4097921795, 776530652, 2775731193, 1197093085, 3794731058, 275089, 604524907, 3127226942, 2117983564, 1647363010, 788543277, 666624, 254510837, 704652032, 56691287, 933799346, 1228294447, 1281503603, 1332797920, 3755880192, 53380746, 754975788, 404358, 1996490014, 4097921794, 642722526, 1701987409, 1147080930, 269862, 570433172, 3232100925, 71810118, 3342668337, 1838231801, 3811508234, 780523560, 2246639618, 282191063, 534541870, 2610175793, 1933061011, 3992977946, 966452530, 998451712, 838861874, 3928645663, 1201547826, 1030566238, 5305573, 3825205777, 650683679, 2585693213, 840706070, 2352045187, 99483650, 512877733, 1916597830, 875650423, 820443392, 40301766, 624053374, 827588368, 3173747688, 654311936, 69088337, 1040244136, 2775727098, 1005793619, 3507545903, 1638406, 1565065652, 1678204120, 1611115057, 842820145, 1325756649, 3991467051, 2244935683, 321538737, 2829393769, 514792660, 392763055, 342436755, 2852473088, 69133923, 1921476, 2771532906, 827258928, 4108910595, 283534339, 2359631586, 471282033, 2919235996, 3648142393, 1293431118, 2821778410, 695300864, 69137522, 1616955584, 2775727112, 1224159610, 3360742105, 3626958851, 780580138, 983042, 1196663205, 4064368201, 205854015, 1697705452, 730187008, 51580185, 2038457119, 371056182, 2563779480, 2422488562, 2237202434, 483967321, 2990384447, 3694932529, 1312369541, 3123314738, 266551, 427390979, 2359656142, 2727980060, 2641677986, 2578198899, 422287796, 1681781381, 1493172764, 3636550066, 1034239964, 1009922382, 957410859, 2242772997, 304158762, 67380550, 2762285032, 350759827, 721785088, 86179427, 641996867, 1371841970, 1242972880, 1281495279, 780503853, 666624, 167773713, 1399252557, 167783185, 2795853948, 3869348633, 388920806, 2710772017, 1518273937, 3829526652, 2487351164, 2483029327, 1377654528, 707900643, 955400716, 1251229905, 1098002765, 4096848368, 205230, 1248524453, 842933041, 1386361075, 4060087617, 3642862156, 473590227, 2234666432, 827173680, 4126408708, 841376512, 513402410, 1916606782, 2939249310, 818267182, 2263558656, 67110491, 1179594343, 3221576731, 719103474, 1299400713, 1154433709, 827108143, 262146, 1893313253, 1917678408, 154225835, 201076, 1566106789, 525155983, 706563356, 1295486762, 730798117, 4059234309, 1251626790, 116857452, 2829414981, 3175629105, 1284845815, 4127195750, 3936920946, 1281965358, 821688320, 36607915, 435306880, 1282426721, 1122316620, 1677722737, 2925871158, 2598454578, 1127362891, 3343973627, 4194304866, 2469457629, 628243583, 1248473419, 2584804608, 70444621, 3643284634, 825380197, 827022864, 4261414499, 1465817677, 776831088, 3519325554, 1298484588, 285147136, 287065, 2778442, 3852825158, 2873859633, 1260978176, 843984943, 11930, 942381624, 704643113, 702752256, 17168228, 1095714130, 587202594, 2, 512154917, 1916590652, 3425782555, 0, 46, 1261312813, 1059878187, 4180326186, 2938808618, 2502590250, 1764380970, 1026171648, 2760191, 4278190377, 4213829417, 3640659241, 3405776425, 3181255325, 4110417920, 0, 2732288, 41, 2670302464, 0, 0, 0, 0, 41, 2164261120, 2717481, 1797873449, 1495879465, 1124075520, 117440768, 0, 0, 41, 925445376, 0, 0, 0, 0, 0, 0, 2672936, 1697120551, 2636593408, 0, 0, 0, 0, 0, 2568487, 489097472, 0, 0, 0, 38, 1092964608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46080, 3022252288, 1677747235, 3508782883, 3106123008, 0, 0, 0, 0, 0, 1, 1577063207, 272292664, 2470033198, 1392510208, 3019919616, 1325420544, 3019900416, 1308642560, 1275087616, 1241533952, 67158272, 3405826304, 3405777664, 3019919616, 1325420544, 1308642560, 1275087616, 1241550592, 419430400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7864320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6553600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024, 10113178, 1520068864, 83886234, 2124057754, 2509938075, 43713179, 60491163, 127601152, 67109019, 245044379, 486539776, 10168320, 83886235, 815477659, 932922624, 83886235, 1234915483, 1436245504, 67109019, 1687906715, 1862273280, 4864, 301994240, 268440832, 335550208, 402654208, 9984, 1795172509, 127732893, 295507613, 463282333, 631057053, 782081181, 2778575005, 3164460445, 3825231006, 2248165022, 2382368670, 2566914048, 345939968, 178169344, 94285824, 2560, 603980800, 587203584, 570426112, 2181038592, 520093952, 83895296, 587211264, 2181046016, 268471296, 603988224, 570433536, 2181045760, 520124416, 2181050880, 1677765632, 1677734144, 815758751, 2275382272, 16777472, 16777472, 100664832, 33554944, 50332416, 50332416, 50331904, 16777472, 16777472, 100664832, 67109888, 33554688, 16777472, 100664832, 67109888, 67109376, 50332416, 50331904, 16777472, 16777472, 100664832, 67109888, 83887360, 16777472, 16778752, 100664320, 67109888, 83887360, 83886336, 100664832, 67109888, 67109888, 83887360, 86647552, 42, 1026183424, 42, 1761607722, 2130706474, 2499806623, 3556769951, 3573547423, 3640656799, 3707765151, 3858760607, 3925868959, 4009755551, 4127195551, 4244636576, 16777632, 134218656, 201327008, 402654762, 3240807722, 3576356138, 3844795648, 94360576, 10492672, 27272192, 60827904, 27273728, 60830976, 27278592, 94388992, 10503936, 27281920, 60827904, 27278592, 86704939, 254482219, 522922752, 94391040, 27283456, 10506752, 60839936, 27287552, 60827904, 27290112, 53165867, 1261130496, 60827904, 27293952, 94360576, 10521088, 27299072, 27301888, 60860416, 27309568, 69952299, 1798010667, 2063598496, 687866272, 3103785888, 3288334752, 3456106912, 3623879072, 3992978475, 2368443691, 2636882176, 60827904, 27328000, 60827904, 27330816, 60889088, 27336448, 60827904, 27337984, 60894976, 27336448, 86748971, 3073097515, 3341537024, 60827904, 27342848, 60827904, 27347456, 36430635, 3945461035, 858479403, 2200675627, 3609981696, 27351296, 27354880, 36439852, 184549793, 1912602924, 352321953, 2164261164, 486539681, 2382365089, 2634023468, 623651072, 27372032, 27377664, 36451116, 922747297, 3472884129, 3690988076, 1093420288, 60944640, 10614016, 60949248, 10621952, 36458284, 1459618210, 385876268, 1694499234, 704643372, 1831604012, 422322476, 757873452, 1227644716, 1764520192, 27409920, 27412480, 27415040, 27418112, 70027052, 2334953260, 2466251170, 1845494060, 2701132194, 2197815714, 2348810658, 2600469292, 2838277420, 2969567650, 2734686626, 2936013218, 3170894242, 3456107564, 3173826860, 3308046592, 61005312, 10676736, 27454464, 27458304, 53270316, 3744260864, 27461888, 27466752, 27472640, 27476480, 70053676, 4079810348, 4211082147, 1308623011, 1392509859, 1493172387, 1744831395, 1795162275, 1862271789, 153948461, 419430819, 2046820771, 2231370285, 690826496, 27500544, 19740460, 2536285484, 3039612204, 3878485805, 556609837, 989856163, 2919236003, 3170894243, 3338666403, 3674211373, 1361925421, 1496145152, 27519744, 27526144, 36530989, 1862271396, 150995364, 436208036, 771752749, 2033024301, 2164261284, 1207959972, 1577058724, 1845494180, 2214593581, 2368573741, 2502793472, 27564544, 27569408, 27572480, 27577600, 70100781, 2871897901, 3003122084, 3791651236, 4110418341, 167772973, 3241002285, 3372221861, 402653349, 637534373, 805307301, 889192613, 1006633893, 1207959717, 1358955309, 3576553773, 3909091749, 1476395429, 2013266341, 2264924973, 4180540718, 16777637, 2499805605, 2885681710, 221122861, 1630368557, 2234359085, 3073232173, 4046325038, 352377088, 1845494016, 2965248, 1912645888, 16777262, 453032448, 0, 2913536, 53357870, 925778223, 1596942639, 1932492079, 2402261295, 2737812784, 120592688, 590361904, 1060139312, 2066779440, 3341865265, 321987889, 925976881, 1395746097, 1999735089, 2469502257, 3073491249, 3409040689, 4013029682, 53613874, 657600818, 1395809586, 1865591090, 3677547827, 120787251, 858996019, 1194545459, 1530094899, 2134087987, 2738072883, 3207846195, 3811831091, 4147380532, 1664380212, 2134151476, 2738138420, 3073691956, 3677678900, 4147446069, 859129141, 1328896309, 1798665525, 2268436789, 2738206005, 3207975221, 3677746486, 255205686, 859192630, 1194742070, 1932952886, 2402720054, 2872493366, 3476480310, 3946247478, 4281796919, 322393399, 1597468983, 2067238199, 2537011511, 3275214135, 3610763575, 4080532792, 121114936, 456664376, 792213816, 1127763256, 1463312696, 1798862136, 2134411521, 0, 145, 65536, 0, 9437185, 0, 143, 131580, 0, 9306368, 0, 9306113, 0, 141, 65792, 0, 6750210, 33616640, 13238412, 16777216, 13238412, 655866, 1572912, 2032124, 1572912, 1966577, 0, 9110015, 0, 9044470, 0, 4522489, 0, 2228734, 0, 2228731, 0, 2228727, 0, 8978688, 0, 8978434, 33292318, 3145864, 16777246, 3145864, 65536, 0, 8847362, 33617920, 15728774, 16777216, 15728774, 66048, 4261420080, 4169465862, 33616399, 89, 33619727, 89, 32768020, 16384022, 49937920, 526, 33095711, 15728654, 33619471, 485552729, 65536, 0, 8650754, 50134558, 472969859, 33619712, 130, 459264, 4127195330, 8454656, 4093640898, 8454656, 4177526978, 3277312, 4211081410, 1180160, 0, 8389120, 4261420738, 813629952, 4076871362, 813629441, 16777246, 2097263, 524800, 4161863780, 6095360, 4094754916, 6095360, 4245749860, 6095356, 1179648, 7995897, 1769520, 2163197, 1769520, 2949627, 1769520, 1638656, 1114164, 6094850, 33616669, 516042878, 16777245, 12714110, 131579, 0, 8192000, 0, 8192002, 16777216, 15728764, 33619486, 489746963, 65536, 0, 8060930, 33292306, 122, 0, 122, 131584, 4177526784, 1179904, 0, 7929858, 33619456, 120, 33618176, 119, 65792, 0, 7733249, 16777216, 117, 197120, 4278190128, 6554112, 48, 6554112, 4026531840, 6684673, 0, 116, 65792, 2, 7536641, 32636928, 114, 197106, 0, 3932667, 0, 7405824, 0, 7405569, 0, 112, 66047, 1966112, 7274498, 33619456, 110, 16777216, 110, 131584, 4261412872, 7143680, 8, 7143425, 0, 108, 262656, 1048824, 7012864, 4262461688, 5439992, 1048824, 5439744, 1048824, 5439489, 16777246, 106, 131580, 0, 6881536, 0, 6881287, 33615616, 8781928, 33095680, 7602279, 33357844, 16384022, 33615872, 8519782, 33161216, 8650801, 33618176, 8781874, 33618688, 8781842, 393728, 4026531840, 6685184, 4261420032, 5833209, 52, 6619392, 52, 6619648, 4278190128, 6554112, 48, 6553602, 50134528, 99, 33292288, 99, 197116, 48, 5767673, 48, 5767424, 48, 5767169, 0, 98, 262656, 4160749760, 3211776, 4177526976, 6357504, 4211081408, 3211520, 192, 3211265, 33619486, 489734698, 66048, 4263386416, 3257532417, 0, 96, 66048, 4261412864, 6225921, 16777216, 94, 197116, 1114132, 6095360, 4261412864, 6029568, 0, 6029315, 33619479, 485552683, 33292311, 15728683, 16777239, 15728683, 65536, 0, 5963777, 0, 90, 131328, 48, 5767676, 48, 5767171, 33619456, 469762137, 33618688, 8781842, 16777216, 3145816, 66048, 4261419264, 4032233473, 16777216, 86, 66048, 4261412864, 3226796033, 16777216, 84, 786930, 0, 3932915, 4261413104, 5439995, 244, 3736047, 0, 5374448, 0, 5308926, 244, 3736057, 0, 5243379, 244, 3670522, 1179648, 5177852, 1179648, 5177841, 1179648, 5177344, 0, 5177345, 33619456, 472971342, 131570, 0, 5046783, 0, 5046274, 33619487, 435210780, 16777247, 16384014, 131328, 0, 3211264, 0, 4980737, 33095680, 8519755, 65792, 1769472, 4849667, 33161246, 3145747, 33095680, 73, 32702464, 73, 65792, 1966128, 4718594, 33619486, 489734675, 16777246, 3145799, 66048, 4263386416, 3256025089, 16777216, 70, 393716, 0, 4522488, 0, 4522491, 0, 4522485, 0, 4522486, 0, 4521984, 0, 4521986, 33618176, 68, 33618688, 68, 66048, 4261420032, 4028039169, 0, 67, 131328, 0, 4325376, 0, 4325377, 16777216, 65, 131584, 1966096, 2252341760, 4278197894, 272564226, 33554462, 1082944, 33619712, 512102463, 65536, 0, 4063234, 16777216, 61, 0, 61, 65792, 0, 3932162, 16777235, 15728699, 33619475, 15728699, 65792, 1310970, 1441795, 32964638, 58, 33357854, 58, 16777216, 58, 197113, 244, 3736059, 244, 3735808, 4, 3670018, 16777216, 55, 0, 55, 131328, 0, 2228224, 0, 3538945, 16777216, 3145781, 65536, 0, 3407873, 16777237, 16252979, 262656, 4177526918, 3277312, 4211081350, 1180160, 4194304134, 1179904, 134, 3211266, 33030144, 12582960, 16777238, 15728687, 65792, 0, 3014657, 16777243, 3145773, 131584, 4261420080, 3257664251, 4261420080, 3257663491, 33226752, 15728683, 50003456, 15779882, 33619456, 15779882, 65792, 0, 2686978, 16777246, 40, 0, 40, 66048, 4261420288, 3223781377, 16777216, 38, 65792, 0, 2424833, 16777246, 36, 65792, 1507568, 2293768, 33423360, 34, 33095707, 3145761, 33226779, 3145753, 16777240, 3145760, 33161240, 3145759, 0, 31, 33292312, 3145758, 0, 30, 65536, 0, 1900546, 50003482, 435221020, 33619482, 435221020, 65536, 0, 1769474, 33619456, 15728666, 16777216, 15728666, 65792, 1769520, 1638404, 33226752, 24, 33292288, 21, 50134528, 469823511, 33357824, 22, 65536, 0, 1376257, 0, 20, 66048, 4263386416, 3256025089, 33619712, 18, 131328, 0, 1114112, 0, 1048577, 0, 15, 65792, 2031856, 917505, 0, 13, 65536, 0, 786433, 0, 11, 65536, 0, 655361, 0, 9, 65536, 0, 524289, 0, 7, 65536, 0, 393217, 0, 5, 65536, 0, 262145, 0, 3, 65536, 0, 131073, 0, 1, 65536, 0, 54, 3040264246, 3414295094, 3627476535, 121055543, 880984375, 1010259511, 1882709054, 1110967352, 1598168641, 1161326392, 3174617150, 440261433, 574165561, 658060601, 1496946489, 3074006329, 2721687364, 1664749882, 1497000762, 2184884538, 2285571903, 3913302587, 356204859, 1731948091, 1916502081, 3057355068, 607934268, 1983681596, 2050954300, 2554118716, 3963438909, 1262319938, 2671611965, 2503853117, 3812524605, 4198713917, 4282255678, 1665039166, 3980325182, 4215210559, 1597992511, 188874047, 1967142207, 2050981695, 2688887359, 3057644608, 3091472448, 3191915831, 4164995904, 4265677889, 876687169, 3477474625, 2856440897, 3628207682, 323105346, 1027880002, 1111654466, 2269291075, 306387011, 574826307, 1162029891, 1698920515, 2168694595, 3494164032, 2604982852, 3980723013, 272969797, 876953400, 809849413, 4081444422, 138812230, 541468998, 910573056, 0, 0, 0, 0, 0, 0, 0, 0, 65, 1023410176, 0, 0, 3726592, 57, 1275068416, 0, 0, 0, 0, 0, 63, 3355443200, 0, 0, 3897409, 1023410176, 0, 0, 0, 3973632, 0, 4022850, 2583691264, 0, 0, 0, 0, 0, 0, 0, 0, 4318208, 0, 63, 2353340928, 0, 4446720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289170176, 4014785536, 4030444544, 4047594496, 4064004352, 4081473280, 4097526528, 4115047424, 4131122176, 4148275712, 4165366528, 4181699328, 4198723840, 4216126464, 4232486144, 4249736448, 4266393600, 4278397998, 570884793, 348230506, 1099366422, 1167369476, 4093646437, 2493842675, 1516948, 2768564736, 413504677, 83820569, 399710216, 4110424345, 3144040840, 1653674, 2038432000, 423340793, 2147549209, 2260362561, 2298485207, 2493874177, 1693591, 2508194048, 439456933, 83361818, 966452608, 16783973, 2493842686, 1730745, 1394794240, 443126949, 83558426, 2029082433, 2315262585, 3134857887, 1750471, 3309406976, 452258409, 150011930, 4187268480, 16784144, 2493858287, 1779092, 2768827136, 456759565, 1106313243, 966332481, 2348817262, 2603909121, 1803969, 1161950976, 461830309, 150405147, 2777982336, 16784298, 2493874177, 1886400, 2772536576, 483169445, 2147549212, 3552251201, 2835356887, 2493874177, 1890216, 2770502144, 483896485, 1100218396, 3621690496, 16784600, 3243868161, 1890708, 2776629504, 484029765, 1105985564, 3667798656, 16784710, 3945669371, 1919718, 713031936, 491573866, 1101594653, 1304062216, 4009762129, 3299180545, 1921491, 2231955456, 492021977, 149946397, 3617891712, 16784855, 2802131598, 1956264, 2772542208, 505848325, 585302046, 648365440, 16784934, 3810869646, 1977059, 243269888, 506765829, 1100808222, 886128162, 3875544628, 4037362063, 1981096, 2770523392, 512154917, 3221327902, 2262641186, 3389005446, 3711467521, 2000612, 2776629504, 512342360, 2147549214, 2314773888, 16785041, 3836051457, 2003883, 92274944, 513065125, 2147549214, 2495752832, 16785044, 3271917569, 2005478, 713031936, 513643685, 2147549214, 3869331840, 16785126, 3440214017, 2025165, 776075520, 518447877, 585695262, 3935962433, 2634030826, 2603450369, 2027177, 1698790144, 519356755, 585236510, 4109526306, 3657441018, 3785703825, 2049950, 713031936, 525112485, 3221328415, 1425581440, 16785239, 3433382291, 2054093, 1227012608, 525848019, 582025247, 1502913796, 4127203161, 3868426241, 2149544, 2776629504, 550738686, 2147549216, 3550882432, 16785619, 3973611521, 2152405, 1501561088, 551018437, 1106116640, 3622652194, 2801803480, 2829418497, 2152641, 1501561088, 551085221, 1101594656, 3651249473, 3992986022, 3127214081, 2205381, 3363832064, 564580133, 1102250017, 2799781185, 2902466982, 3796205569, 2206435, 629145856, 564847416, 2147549217, 2932501120, 16785844, 3399827860, 2210466, 88207360, 565896517, 2147549218, 714761537, 2432705066, 2598707909, 2240173, 1702887680, 573484408, 2147549218, 784917825, 2499813940, 2719752843, 2241761, 1161926144, 573893957, 2147549218, 2261034368, 16786059, 2916319233, 2264772, 2776629504, 579784453, 2147549218, 2446487074, 4194312850, 2829402541, 2265800, 3544291072, 580117330, 1101201442, 2481245824, 16786067, 3874759311, 2267855, 625055744, 580627173, 2147549218, 3869377920, 16786150, 4064051201, 2288357, 3548381440, 586474245, 1100546082, 4276299298, 4009763669, 2493874177, 2316257, 1161927424, 593073317, 1100611619, 3368457600, 16786597, 2493847802, 371511956, 2776629504, 617781642, 1100808228, 3536627009, 2600477911, 3232047859, 2442916, 2770516224, 625722585, 1100742693, 1469738018, 3925878104, 2733523368, 2447590, 4097940736, 633778804, 1098711077, 3335164800, 16786892, 2493858206, 2479053, 1468006656, 634905765, 2147549221, 3635038017, 2667587032, 2858959264, 2480340, 3644962816, 635152549, 1102446630, 2460525952, 16787091, 2603237807, 2528476, 2776629504, 647684421, 1101660198, 2630657304, 4195755758, 3456450977, 2551508, 2776629504, 653192517, 1101594662, 4008531840, 16787188, 3567600034, 2555562, 3850371328, 659726214, 2147549223, 1491584290, 3405785253, 2493846302, 2676964, 2769493504, 685348005, 1101201449, 231777601, 2751474060, 2493874177, 2727639, 774037504, 708103558, 584646698, 1002114338, 2684365386, 3704717313, 2778825, 1361239552, 711505107, 1101332522, 1759467554, 2365598316, 3705381585, 19559646, 1419952129, 712616677, 1101398059, 1858381090, 4026543014, 3386065320, 2861226, 3104109824, 732882085, 1101463595, 3034385985, 2835360694, 3923255999, 2865594, 1816242688, 734696613, 2147549228, 3519325444, 3892325587, 3839362271, 2939109, 1396830464, 755570405, 2147549229, 1188865284, 3942657354, 2653553901, 2968228, 2772545280, 759874725, 1105002541, 1403077892, 3774885207, 3377661157, 3001037, 947912960, 768269578, 82051117, 3434554689, 2348821964, 3941498881, 3002785, 2768562688, 768722085, 1101725741, 3550782785, 2885692883, 2829394589, 3003306, 3078619392, 769108663, 81920045, 3717506369, 3456118310, 3386057368, 3024613, 2854417920, 774821029, 1106444334, 882582788, 3808439860, 3538255873, 3029714, 3926189568, 781305500, 1101856814, 2493306752, 16789140, 2762309633, 3052774, 2793406720, 781685925, 150077486, 2543700258, 2298490519, 2705686529, 3053476, 2772539648, 781691673, 2684454190, 2545984896, 16789226, 2829402613, 3074731, 3926190336, 787395017, 581697582, 4104036161, 2919247604, 3366258936, 3077327, 623036672, 787802085, 81657902, 4271154436, 3875549000, 3232055707, 3099057, 1157947392, 793943594, 82575408, 2777982273, 2298491095, 3318251521, 3201172, 2776629504, 819570853, 2147549232, 3651863936, 16789727, 2829402562, 3234196, 2772561408, 833938232, 2147549233, 3335464226, 3439342043, 2829402543, 3286729, 931135744, 841409285, 583270450, 984130881, 3456119429, 2493858296, 3314084, 2778907137, 848405843, 579469362, 2578827298, 2734699238, 2628076014, 3335841, 1484783872, 853986777, 587071538, 3873785216, 16790246, 3855843329, 3336859, 172082176, 854239845, 585433138, 4109003136, 16790260, 3936714753, 3340968, 2776629504, 860792133, 2684458291, 1319454592, 16790355, 3232071681, 3451600, 2776629504, 886285477, 3221336116, 3550788642, 3238016211, 2802155521, 3463585, 2772545792, 893822117, 2147549237, 1188341120, 16790865, 3330621874, 3494598, 2290090240, 894620837, 2147549237, 1469359488, 16790871, 2829386990, 3523988, 2772546048, 902408357, 1104609333, 3532957056, 16791001, 2493858188, 3576228, 2772561408, 915772581, 1105395766, 2576655650, 3976214170, 3779428353, 3624104, 2770520064, 928232190, 583925815, 1472505153, 4026546007, 3836035468, 3712404, 2772532736, 965983018, 1100152890, 1203300929, 2701146709, 2602050295, 3827092, 2769877781, 979933817, 1102250042, 1757047361, 2466265707, 3302580917, 3023728618, 3930164224, 980984558, 2147549242, 2024470849, 3607116408, 3106543867, 356153807, 1384120576, 981061797, 419108154, 2074769729, 2113944187, 3138265841, 3868052, 2772761781, 992318629, 2147549243, 1960822176, 26688713, 2829394622, 4021418, 631243148, 1029483050, 581304381, 1554659456, 16793426, 3567600054, 4284052, 2776629504, 1103675557, 1102512193, 3519325505, 3087024600, 3768926650, 4315553, 2854417664, 1114549573, 2147549250, 1861048448, 16794228, 2718253499, 4498836, 2772550144, 1153935909, 2147549252, 3383056256, 16794832, 2829418497, 4510420, 2776629504, 1154720933, 320012356, 3555022720, 16794839, 2974098169, 4512461, 222411776, 1162259621, 2147549253, 1185819264, 16794950, 3232071681, 4540108, 2772548864, 1162269861, 1102446661, 1189456418, 3053471046, 3980739006, 4540141, 1484783872, 1162457413, 2147549253, 1508202368, 16795081, 2493874177, 4574180, 2772555776, 1171044133, 3221339973, 3605645696, 16795094, 3922411974, 4577509, 1396817920, 1183367333, 1103167558, 2477827362, 2214610580, 3232055746, 4626600, 2772538368, 1184672485, 1103298630, 2628446754, 3992995655, 3720888772, 4674465, 2776629504, 1196667653, 2147549255, 1472320290, 2281720008, 3050536961, 4771001, 86160384, 1221510309, 2147549256, 3469014144, 16795856, 2829402565, 4772756, 2776629504, 1221833258, 581894216, 3555250560, 16795861, 2493874177, 4773790, 706910464, 1222173147, 583401544, 3651249568, 28461273, 2712109057, 4774305, 2860515584, 1222224622, 2147549257, 1167369600, 16795985, 3836035526, 4807066, 623044096, 1238883991, 2147549258, 2443909441, 3640674963, 3811213313, 4889295, 645923072, 1251665317, 2147549258, 2611520833, 3338685266, 2653569481, 4937637, 1463924736, 1272490539, 2147549260, 2777982227, 520113358, 3299180545, 5033671, 92274944, 1289215644, 586285132, 3639067938, 3170913605, 2493846299, 5069028, 2776629504, 1317377189, 82837582, 2548409619, 520113815, 3853128475, 5150693, 3155368448, 1331270821, 2147549263, 2241111315, 436228404, 3701833729, 5324515, 172083712, 1365611685, 83492945, 1804903688, 4093661547, 2867151279, 5362068, 2772550656, 1378456741, 582418514, 1704240392, 4177547882, 2493842679, 5405136, 2768828672, 1386925221, 1103822930, 3906852992, 16798446, 2860065491, 5462420, 2769878292, 1399512229, 150339667, 1792865408, 16798611, 2493850319, 5477290, 4163015168, 1408422533, 81592404, 3433604480, 16798926, 3475341313, 5557967, 780140800, 1422843045, 2147549268, 3551143296, 16798933, 2867167233, 5560225, 2994733312, 1423499468, 2147549268, 3638904192, 16798937, 2493858269, 5560737, 2772553216, 1423553701, 2147549269, 890578304, 16799046, 3299164636, 5589419, 427819264, 1431688535, 585891925, 1474466688, 16799065, 2493858269, 5621952, 2772552704, 1439342917, 2147549269, 3403483713, 2583713233, 2829418497, 5624747, 92274944, 1440065701, 2147549270, 648103233, 3607123494, 3811484388, 22423269, 3550478765, 1445394597, 1103954006, 984655169, 3456128570, 2980397519, 5673128, 2772553728, 1452845513, 584056918, 2576655744, 16799386, 3701817810, 5695224, 2772554496, 1457977687, 2147549270, 3940746561, 3590346478, 3475341313, 5698721, 1245837312, 1464976549, 1104412759, 1389667776, 30758739, 2738512558, 3512162275, 1245818112, 1465431205, 1104543831, 1502913857, 3607124133, 2493858175, 5981903, 780140800, 1531896997, 1098842204, 3420759424, 16800974, 3299180545, 6082245, 3548381440, 1557056756, 2147549276, 3470869825, 3623902418, 3567616001, 6083505, 1166016768, 1557501093, 1102774364, 3584599361, 3640679750, 2762293722, 6113684, 2770528256, 1565246792, 2147549277, 1370019905, 2717932882, 2580774913, 6116051, 1782705664, 1565891031, 1104019549, 1437235521, 3674234197, 3351593354, 6117604, 3611394048, 1566107287, 1098973277, 3368114466, 2818596307, 2963620316, 6151082, 3850371328, 1585945943, 2147549278, 2294531362, 2432720529, 3299164616, 6198696, 2776629504, 1598526629, 1105002591, 1284810112, 16801619, 2493858296, 6248679, 3307387648, 1621464229, 320602208, 3368068480, 16801998, 3331817473, 6345636, 2776629504, 1624483726, 2147549280, 3587550880, 28008667, 2829402498, 6348436, 2772557568, 1627839687, 2147549281, 181873280, 16802058, 3610738689, 6362333, 1161921280, 1628940498, 1107165281, 397116706, 2852151575, 2877915137, 6363066, 3108078592, 1631949989, 320405601, 1188891969, 3758121286, 4069991091, 6375658, 3930190080, 1632277669, 1101791329, 1252508962, 2583716170, 3232055724, 6377900, 2776629504, 1632871589, 1105264737, 1502913857, 4076888486, 2814714524, 6399681, 1161945600, 1638325925, 585171041, 2863326498, 2415944110, 3836035483, 6403307, 625081856, 1639247185, 2147549281, 3135546689, 4076888524, 3030729161, 6410666, 2032305664, 1641147735, 2684473953, 3552254242, 2264949209, 2493858197, 6425285, 1503658409, 1645136037, 1104805986, 248816961, 3808453146, 3324346369, 6432432, 2776629504, 1646721189, 1102577762, 782320961, 2583716398, 2772811777, 3831645894, 623047680, 1648812453, 1100808290, 1254499649, 3842007626, 3325960920, 6450861, 1698817280, 1653717285, 583204962, 2477827362, 4244660883, 2968420353, 6462181, 2769492992, 1654318506, 320405602, 2598747155, 402678446, 3324330450, 6467276, 2772559360, 1655627225, 2147549282, 3080439105, 3875562202, 2841592296, 6497948, 2772547840, 1663482600, 2147549283, 649787520, 16802598, 3137110017, 6497997, 625076480, 1663491397, 1103233123, 652161345, 4143997734, 4171579882, 6498986, 2770525184, 1663751333, 1106772067, 718734720, 16802606, 3310977025, 6501581, 1159907072, 1664409157, 586678371, 932867106, 2717934391, 2832367617, 6502330, 172092160, 1664789861, 1104609379, 1437263169, 2080400213, 2867282300, 6510550, 3997300480, 1666703002, 587137123, 1490405410, 2600493957, 2493846296, 6522566, 876716288, 1670301861, 1105985635, 2395833665, 3976225678, 3842867201, 6526173, 629145856, 1690813765, 2147549284, 3500713281, 3993003217, 3232055774, 6607764, 2770509312, 1691936069, 1101201508, 3671008577, 3070256458, 3852828673, 6640068, 2772561664, 1699927594, 3221353061, 2861868292, 4244661674, 3366289409, 6662860, 2768566528, 1705945445, 2147549285, 2930341922, 2768266679, 3544975614, 6666195, 2235691008, 1706551461, 150863973, 3085637953, 3976226250, 2493858289, 6673053, 1468006656, 1720030373, 150929510, 2459739520, 16803476, 3299189463, 23499973, 226492672, 1721026309, 2147549286, 2498078080, 16803479, 2711977985, 6723808, 2772561920, 1721409957, 1105002598, 2598151458, 2516608742, 3123019777, 6743764, 2770521088, 1726403772, 2147549286, 3872732288, 16803562, 2602221569, 4066831016, 2776629504, 1726655237, 2147549286, 4003812224, 16803572, 3324346369, 6747349, 3189953536, 1727712773, 2147549287, 1202234752, 16803660, 2493858260, 6772684, 2772562688, 1737417518, 584777832, 2777982232, 4229392958, 3809100234, 6973159, 641856768, 1785309925, 149946474, 1772811016, 4026559083, 2602123765, 6974930, 2420241664, 1785843984, 1106509930, 2011896098, 3154143864, 2733523333, 6977977, 1161950464, 1789236389, 419174251, 180705314, 3087035150, 3448047870, 7131629, 1166016768, 1825756631, 2684480365, 1470011457, 2046848343, 3788784006, 7194810, 2585961472, 1842913946, 580124781, 3655160866, 2952818853, 2493854369, 493930920, 2772560896, 1892607141, 1106641008, 3500713281, 4144001233, 3232055800, 7393732, 2776629504, 1892796165, 2147549296, 3651855744, 16806107, 2829402617, 7423708, 2772564480, 1901651109, 849419633, 2800002369, 2818601382, 3875881384, 7449309, 1161931776, 1907287365, 586940529, 3549734209, 4211110355, 2762293756, 7459749, 3542254336, 1909696156, 2147549297, 3553414209, 4211110360, 3030729213, 7461300, 2768829952, 1922344275, 584908914, 3939306880, 16806638, 3855843329, 7856127, 3309424384, 2024117413, 82772088, 3552617793, 3556800849, 3299164670, 7950790, 2619528704, 2035848357, 82903164, 2777982273, 4127227543, 3232064147, 4286486466, 1317011712, 2146611472, 2147549184, 16777394, 2550508033, 2952790272, 10505419, 3883885568, 1661010113, 2984722177, 738222849, 12693760, 16777295, 16777447, 3204448367, 16777400, 100663296, 0, 0, 5177600, 38732033, 60162644, 16908630, 50462836, 16778869, 33751271, 3204449391, 100926799, 100729057, 2869298176, 3785033217, 93651809, 50480397, 50389403, 16778155, 83886145, 2284536032, 524836259, 11600032, 1054411438, 189045561, 2986615592, 621520336, 2780553247, 1251520000, 2981233729, 630456423, 59177138, 3148939520, 4260097, 1078036549, 1084261952, 3759113011, 2554003632, 14680874, 964694271, 4278247831, 480, 53098880, 2097151744, 3758303801, 2163277823, 14784256, 122887, 708407146, 671145991, 708407125, 3355501399, 2617640020, 537002209, 2602172672, 1411384320, 3785038338, 5512706, 14785305, 33575966, 67166619, 419627092, 486670561, 2602041600, 1411121664, 3785037827, 856244, 3760147096, 2684373520, 63496255, 930087099, 223478029, 2130980240, 2137947920, 3762241282, 14696234, 2499841279, 1711276800, 256, 4294155, 1497466635, 1437799213, 1393165101, 980180998, 1565726489, 3708549, 1099303752, 755066508, 535809, 1695351296, 226230285, 1879073151, 2421600772, 1093077544, 114279904, 791169282, 11731000, 2525344388, 631930802, 4596371, 794306849, 817433442, 587868166, 3485851695, 675873280, 3003136022, 2246354176, 67108864, 0, 14692148, 1040253763, 50418511, 16842833, 328864, 80219395, 19749892, 553714509, 2684536365, 2254221613, 2270998944, 39629316, 1548964134, 1700995117, 3542353615, 3319803688, 1224868019, 52551858, 2601189632, 883712, 225444018, 71378698, 671535045, 1627489866, 3762239078, 9175047, 3762239098, 11731000, 2521104896, 160, 2043912282, 3350364325, 2807668827, 3232923813, 2807804064, 30625652, 100814708, 117497897, 829882880, 47183, 1946681935, 1946747104, 691107586, 184, 33554432, 11599937, 2283946163, 72890010, 1159749854, 59583277, 719324412, 444137515, 847276704, 1390421660, 3434217537, 2286043285, 1440759592, 1744853077, 335585280, 1504904280, 693239851, 154610346, 456019328, 2056937226, 1164298405, 1481968128, 2684378547, 191065191, 44915928, 671159690, 1731087744, 403115836, 1391657626, 3836916498, 1952820813, 2150946133, 1398800864, 2986344641, 2542285330, 1312917256, 1256201003, 3190916608, 2957054078, 1222655862, 3808475201, 2284601523, 69413925, 214768361, 5449164, 835923969, 3769761857, 2285371563, 3003395167, 1241523480, 406482531, 710681415, 1463931696, 358438954, 1747452252, 539285312, 356829227, 344321, 1180642565, 2218473473, 1718523707, 704720427, 537175591, 1783577181, 1465918217, 1315373114, 2015047192, 4045932118, 2858801448, 18295370, 2858240256, 4261534048, 187225856, 709217335, 556831568, 207571456, 1898670684, 120148739, 170549279, 3221492025, 2372141353, 645407492, 3408625670, 409664315, 1780747879, 2967135, 340344892, 3697279279, 709238788, 421145238, 1161922620, 5354245, 18248705, 2540257287, 17582609, 3311550563, 1462239796, 622534724, 1431464450, 979242573, 2147934465, 643699499, 402811418, 3883412491, 2085835046, 1700995141, 1493327362, 775010561, 2483055673, 1611365418, 3926119656, 3024193613, 1085474962, 436887571, 1343771475, 604121125, 440146904, 37379598, 1300236001, 19291667, 722993770, 451410098, 16777281, 2289006349, 2080378224, 11735846, 1175342464, 92164951, 1632709633, 386283808, 90318016, 1640778753, 701650259, 634597394, 712579616, 579945685, 1631963301, 1099448142, 1099367754, 3759877054, 1569063088, 1099454031, 3004339015, 3221545529, 872441750, 1161922605, 1471353812, 1756907040, 100740404, 6750290, 76837477, 3366273416, 861516560, 3664151921, 105803292, 3510309376, 621469952, 3546516188, 2999031688, 705913504, 2278443655, 491446287, 2201197113, 12104467, 439946789, 1074045532, 538605681, 1469465921, 2287816115, 297037847, 1380339502, 2696167816, 943756183, 26450176, 3249213441, 5878537, 2387135528, 22814793, 3613300482, 877795331, 777865622, 1169363757, 455435008, 634072520, 1782121299, 1163419649, 291384064, 97869133, 712522282, 2521104577, 2542288221, 1504904274, 1796801301, 688795584, 403258090, 590219841, 764712517, 1099447379, 3003867429, 2856755204, 4177986888, 2987804104, 2772535340, 1085477492, 1678115085, 443066546, 4294712, 1773339711, 1391479241, 2425882, 1282999624, 1794583144, 2013341728, 295119065, 10112298, 1550520658, 1440196786, 1099447360, 3003393835, 419661432, 19754573, 545167170, 1311178756, 2704118784, 1812255058, 2415940453, 2865279488, 50331648, 224, 657081089, 17031579, 50397867, 50332416, 0, 14692138, 1124140001, 2600665346, 2869101824, 0, 0, 5543092, 57971858, 73466883, 1482002950, 2459960006, 1435698835, 1955893765, 3785032962, 27985231, 67240033, 83115, 72614918, 76349399, 67108864, 0, 10523078, 227606705, 2693777640, 3214052352, 99139475, 1955856385, 1419031554, 1627456077, 3310293507, 3880062226, 11207759, 16777376, 15159041, 17014787, 1166802973, 1426260224, 3785031937, 4391681, 3494838530, 14728960, 10485957, 218366292, 17170828, 4290775552, 0, 0, 0, 0, 13, 67112197, 854017, 3762236480, 2409664385, 4235158881, 24077921, 44040776, 3904832140, 3359490, 22555910, 1721762120, 218431628, 413541, 17164479, 42729497, 1124139346, 218628141, 107302758, 17164479, 25952261, 3900637485, 50372613, 1245774081, 1179608321, 88180873, 1289759531, 3196618247, 2348903072, 50351952, 2197815369, 196768, 5169199, 733906951, 226885772, 21995602, 1404176899, 421944832, 91760965, 3366304652, 20689418, 39653672, 3607334171, 544905751, 388503337, 1784606285, 2154202568, 2780499207, 9175321, 227147789, 2332050179, 21302667, 17631744, 621019904, 1531152896, 4043396, 627149315, 3316813221, 2991648681, 423725569, 3316834469, 2986370816, 659116901, 3561834880, 2772535809, 3367148266, 2348811698, 3137712716, 3093561824, 2998635520, 3298822656, 3232895777, 1622695938, 1681391655, 165222922, 2521152396, 11247624, 3379521028, 160169990, 1868891145, 2684930280, 3205073920, 99139333, 763756704, 147384511, 93061125, 3904833837, 2264941315, 30494580, 100683520, 49551, 3898368, 1497434379, 1200982668, 4284236168, 1566220423, 3612308486, 5177344, 12685056, 998000998, 2257044876, 4282401120, 23216520, 1566483209, 12692224, 2131806883, 151013888, 171910986, 152160586, 151897484, 4280041737, 206023291, 2348811434, 162699168, 218759648, 707509896, 2256996161, 117587710, 2348810817, 117624483, 2130727168, 285270175, 395201, 2508720265, 265666965, 2282490119, 1166802955, 764315693, 2374380940, 2269185794, 1259174912, 2348811533, 2080415887, 3186606485, 2281832815, 3186082197, 2282489856, 3185557909, 2282292741, 3185033621, 2282162954, 1166867917, 3762236002, 126680517, 117440512, 0, 0, 45, 92810502, 2251097991, 3245018115, 39870842, 282898955, 1646463528, 473225472, 654694185, 1784606285, 2154202568, 2780535554, 1090653253, 755137345, 51135789, 58404232, 19760642, 2693189697, 2265762881, 2290731053, 2072391034, 271419139, 3245017990, 2270027839, 668009632, 80055296, 2234319494, 755205969, 2131820768, 3204449440, 80055296, 1906540288, 1358958848, 3768516609, 77595845, 2348834671, 2885746912, 3204449440, 80055296, 1369441232, 1359155456, 3770613764, 2684667276, 4235266, 3712024969, 3651338752, 2684408739, 33575168, 33611967, 303108, 3314286626, 2684539969, 25808977, 34668768, 3204449440, 80055296, 225422081, 14728960, 77595842, 763888941, 2248551815, 128648192, 184549632, 0, 0, 0, 0, 16776965, 185157004, 713127, 1946878092, 4294118760, 882688, 3785844321, 14788453, 1627447719, 1684078752, 1884905855, 2429889919, 2426633984, 1241521093, 2743013600, 792080656, 1386249431, 755072160, 1447780752, 2135376264, 1891875597, 2080410624, 623738768, 225444003, 2130725376, 465937279, 283127606, 823153312, 1447279538, 348256421, 3836706174, 1350435201, 2692829618, 191310208, 76880617, 1382405285, 3148950789, 2165145600, 225509389, 1610613889, 4722032, 9175605, 1870528770, 2684505312, 791600129, 44040834, 331452162, 1275088449, 82791117, 1325546301, 2348817857, 2399292353, 1470104660, 2691715553, 2540962031, 3784799233, 13455106, 993902979, 38519099, 801685903, 37436771, 3247374907, 1028563056, 3356323840, 2348811533, 1879154817, 3327394050, 2095225726, 25267201, 3370132781, 3573682179, 60818304, 1707185924, 16253022, 1090847104, 960562434, 1178666232, 4048814338, 7306752, 130121735, 1270954799, 993871426, 84040608, 1892434181, 38322575, 121322958, 1124401770, 3246589755, 909875298, 755368897, 2198289206, 999836756, 16908513, 2742943819, 3242394882, 2169834864, 9175385, 3760532949, 37748995, 2684614816, 74788100, 65117044, 254363, 1946252001, 2607939586, 1442906624, 1409286665, 1887308032, 3801838082, 5507329, 7372288, 14850930, 50367489, 249570605, 3573680128, 60818274, 3246588475, 2084993751, 3760664021, 35651744, 5103655, 768934528, 10485888, 2248999680, 1132527712, 1409352192, 1870528512, 3247374406, 1347592195, 1338081282, 998000250, 994362764, 12689411, 3886055890, 1409352192, 1870528512, 3246587979, 3241881428, 1114702336, 2799803252, 33808795, 1946354316, 10043761, 39694853, 472574464, 1716048760, 324227936, 22832899, 172960333, 177620411, 2979361248, 707651585, 50463136, 29377025, 26637, 1879084032, 1826629421, 3573679104, 2684405132, 5587204, 4009771744, 623760642, 1073807520, 16232978, 2972244008, 139622506, 956310600, 3546861824, 1392773202, 4146665731, 2256011567, 642121733, 1664526930, 2972193884, 140330599, 1462437320, 2780541408, 791683073, 11657263, 804782336, 2972518402, 1409352193, 2365441440, 114101640, 2301462022, 762250907, 17657600, 2692335584, 1060053248, 3762237520, 10485952, 3762238053, 10485952, 3762238924, 10485952, 3762238828, 10485952, 2952791296, 0, 83887360, 5243140, 90637570, 1078133508, 3242788099, 90244355, 3298100336, 17039544, 167772160, 0, 0, 256, 0, 5599489, 5636098, 77595355, 872547333, 3786109957, 39060737, 14789492, 218113, 33655808, 76906912, 2168952433, 2348810036, 100926806, 16908404, 2113929441, 2876507392, 1870528768, 3246391371, 3007005755, 2320461684, 83907584, 67166635, 1946484740, 2164282964, 83954262, 16908404, 2113929441, 2876508672, 2348810095, 2113995680, 55369775, 786170115, 2684584254, 2692827149, 134253568, 173277442, 7306752, 146899715, 999832374, 1208813057, 2348885697, 2198027132, 1182421697, 2399684176, 18323073, 1409352193, 2348879553, 2198031297, 992990944, 657315075, 134258688, 3847189504, 10485982, 2684836757, 2169767169, 173408514, 7634432, 14789492, 167793921, 33598208, 3760664021, 58720416, 8413763, 2164282305, 2399684176, 1304527619, 998000250, 3314286777, 3760532949, 52429312, 2684408480, 147841063, 768936064, 10485957, 2348850848, 107594115, 138254144, 1642185091, 138123323, 920212485, 17454081, 33576448, 33584254, 57771, 1946812587, 17630720, 2348838560, 2018287737, 1229943808, 10485978, 3760664021, 52428960, 22240, 657315075, 67149824, 3314286665, 2684808160, 657315075, 268476416, 1289758509, 3573760000, 2684409685, 17039700, 16908513, 2742943819, 3243540738, 2173435933, 3760664021, 50856096, 12946432, 283127600, 536936625, 3761188856, 16822573, 151194887, 5505282, 26017417, 117440512, 0, 0, 86, 16908404, 2113929296, 131670, 16908404, 2113929296, 197380, 33572236, 3305597, 50610436, 978005254, 84739328, 2348817603, 2399479568, 3225551930, 1078133807, 1079379210, 123012144, 7603968, 93651852, 4291551651, 2114012073, 3280930051, 3904937990, 3644982792, 1230243340, 109838342, 1124472768, 1443249152, 1946484741, 762185099, 1135151359, 4278190080, 0, 0, 13, 2030063476, 16797440, 57381, 768933920, 33595392, 3305965057, 1333002243, 2684603808, 105533299, 24835, 4211057, 46157683, 100679936, 16793167, 1946288719, 1929511009, 33605024, 37789702, 3612638722, 14785395, 100684926, 100721051, 1929838732, 15421300, 100721051, 1929773135, 1946616033, 2608006912, 2348865103, 1929904193, 65598, 1333002754, 1332937728, 1627521221, 2684502176, 114578558, 33612187, 1946550356, 2114322657, 2608072448, 1333003776, 3785061128, 5207047, 14785395, 150998385, 42729617, 2692186253, 1097925065, 2684765709, 1996534095, 1946551456, 113857662, 33819910, 5207047, 89064448, 123798533, 1386219211, 3761188824, 100699136, 1544386304, 2980054616, 1342637056, 1191190730, 3246589755, 2084993608, 755369868, 2117639, 67127040, 2160640399, 122059346, 3248686966, 1182417120, 791664646, 9175073, 1409549316, 2684698539, 755303437, 1895912708, 67166619, 1946550497, 2608072452, 2365559813, 17384973, 2013376623, 1929445601, 2876506368, 2365582848, 16777295, 1929380065, 2608070656, 763523924, 1996554464, 707907447, 65615, 1929904288, 12914033, 34436864, 2952790528, 4, 16826736, 2097283301, 3204486402, 2365583872, 50331648, 65, 2289062322, 309618094, 1300247765, 1431560370, 3148984843, 1646400339, 2147753042, 3917527382, 16908916, 2114060368, 131956, 2114060368, 196832, 724561155, 45591, 633906619, 225443853, 2030087033, 50331648, 65, 2289062322, 309618094, 1300247765, 1431560370, 3148984836, 1516325120, 544380708, 98870614, 16908916, 2114060368, 131956, 2114060368, 196832, 724561155, 45591, 537323011, 2256012060, 40650858, 1764423780, 3550786235, 225443853, 2030087033, 184549376, 0, 0, 0, 0, 79, 1946159264, 140096005, 471531598, 2154649372, 22832899, 172960333, 177636795, 2973105928, 7318784, 22020352, 36962561, 22020352, 4784131, 56848643, 1166803019, 1107493338, 2691782479, 1946290080, 130699265, 16802055, 4730117, 25952303, 1342243083, 1333002752, 1628110947, 1090716236, 1097924936, 755368332, 1396737, 34295668, 67133707, 4841519, 841285888, 2953052673, 1755317612, 2684798348, 2535955, 756752481, 1399149345, 1077613335, 419599144, 40823330, 2353913768, 2998645076, 17301900, 4286160901, 3931112707, 173016325, 189793537, 14690866, 722078464, 77595859, 3785844321, 31562598, 17096751, 841286912, 3097495274, 1342571530, 1342572043, 1342571008, 3760861739, 168493060, 2684670945, 2808439041, 3785057537, 81801010, 621150392, 1091087449, 2987601179, 542853731, 772423972, 1226471537, 1462314440, 2780541281, 2140195040, 1060186880, 3101698865, 1006962176, 2987625755, 539394052, 4229593472, 726627073, 161483082, 2992984516, 2777415718, 1349648896, 2684373839, 150995111, 9175062, 1342767627, 1342767872, 3760926701, 184549602, 2540831232, 2684799456, 389114374, 117443961, 27264457, 1342505216, 2348811856, 100794592, 791790848, 11703973, 3148939442, 388131912, 1785277176, 1691559092, 10237145, 3015927, 694836974, 1300260485, 3568942001, 50331648, 16777185, 2808242432, 763524101, 50939276, 946036, 50389419, 1929576588, 4293869937, 38395927, 835651593, 4354305, 3386906417, 3473278720, 2684473680, 16842977, 2608005632, 3784798982, 28352514, 3226468866, 14785395, 67166615, 1929904560, 67108864, 256, 7304193, 74413058, 14690865, 1996750851, 12060672, 0, 0, 256, 97, 16957856, 80219396, 9175045, 2994775375, 16778689, 2399484719, 1208812545, 2348825248, 114008071, 1218446277, 2994996640, 2034606200, 3349611916, 2146703, 88329291, 1635389511, 2860223488, 290455810, 139460867, 14691119, 3976724480, 218497108, 17039756, 4288872960, 80, 16973936, 2097152085, 2097381, 3204468737, 33576192, 16928769, 50353152, 16834603, 804061696, 12059136, 160, 29405824, 2782932786, 302056103, 45090048, 0, 0, 7307777, 74416642, 91185761, 5636098, 5505026, 7627264, 14789491, 16802052, 89681762, 1627411968, 33575936, 33584226, 57771, 1929511088, 2684604495, 67108961, 1979730144, 791806211, 5178368, 14692146, 16777300, 67372172, 4291166720, 111, 1650524244, 131669, 33620193, 2875326465, 3785843202, 14789474, 1627566080, 50331648, 79, 2852126806, 131877, 33800303, 2852257889, 81909, 1426194688, 1873412096, 2868904192, 2982657, 1342244744, 2877817856, 0, 65, 17974427, 1378708225, 762053345, 2808307968, 3760665441, 1660944544, 8408077, 1795190627, 1627406592, 20991843, 17056004, 96514711, 3315598311, 3761189394, 50571011, 3247375174, 2638590594, 2336293889, 1337065508, 886253317, 4238719884, 373376, 541131777, 3366585522, 2548415403, 67988224, 2969567488, 5207046, 27263458, 1350763884, 1333004032, 3760861885, 16803328, 2684403823, 1684078752, 13164591, 848717414, 1333004289, 2684469584, 2198236239, 1946747104, 707968257, 6619296, 12611428, 1627430912, 3245303137, 4259841, 1239428914, 2523293360, 3761189526, 1701163008, 117440512, 0, 16777216, 111, 23134945, 2808307968, 67240005, 2348819311, 17041120, 724963590, 1677762560, 3314286605, 1409614080, 3786105600, 110429589, 76349402, 3786105697, 86837091, 761463211, 117442560, 0, 0, 0, 13, 1610624351, 19750402, 224198881, 2808373504, 3785818977, 5177600, 123797762, 1453327560, 3904832652, 387263, 65023795, 1627390123, 5177602, 146902791, 998003469, 1610727823, 138825728, 3830710532, 25952477, 3246589757, 2537578850, 2684668136, 3204746240, 99139331, 3761189729, 40960, 3224175716, 3785819233, 9175221, 3246589755, 1145469556, 2691257101, 1610793359, 138825728, 2689859844, 25952409, 761955488, 80275647, 76283909, 3904832480, 791896320, 10485952, 2684928396, 8110467, 121346107, 912572803, 138123323, 920391005, 27264200, 3904832652, 387263, 65023795, 1627390112, 21169, 3760664021, 117702816, 12946432, 1153532679, 999832374, 1166803001, 3247376198, 1347133536, 1879924740, 2348821216, 623760647, 537003680, 114204777, 1261267206, 761726860, 1302565, 768935808, 40960, 3358419463, 763627361, 16957167, 1409352705, 755435660, 4276422912, 256, 0, 0, 0, 2950508, 1862361350, 1197475009, 2691323552, 1775493157, 768960384, 40960, 3358419559, 224985248, 1785503849, 1765892097, 3852495714, 2684534962, 84023339, 153485940, 1784695256, 1641230337, 1550254858, 1328172298, 2525346737, 1096810821, 2691450829, 1332543487, 763691424, 130801711, 883425536, 2348817312, 1389382800, 216016181, 252710944, 4952076, 3760534799, 2424324096, 1862361344, 1962935812, 1197474117, 2348879175, 1610773408, 82854148, 31778751, 67137281, 57755, 16842930, 398735004, 6587397, 1325465856, 2852172310, 2784798139, 3785818465, 25952472, 1124336077, 2684616844, 3247402239, 4286612929, 2406285311, 1479371781, 755500143, 23134325, 262369, 2868994304, 2365550240, 71642372, 140607376, 3370139441, 721465760, 49324138, 3990891060, 1862665217, 6357350, 1223196422, 2348811752, 2131242359, 2979177, 762735328, 389102592, 3449, 25952289, 2684542642, 84023339, 153485940, 1784695256, 1641230337, 1550254858, 1328172298, 2525346573, 1778388329, 11640836, 2057308151, 2684546464, 1390207003, 895290113, 2972522, 760899885, 1499925866, 878848, 224854192, 2987000601, 643694597, 2015970768, 2780499306, 878848, 2980054088, 218562956, 4274204012, 84765184, 224985264, 50331648, 205, 1332543487, 761944877, 1767563687, 23134354, 1375912608, 38112256, 299903285, 687997185, 10551810, 3264020461, 1862361347, 2684570336, 355799033, 16842863, 23135136, 55238677, 890196481, 16805633, 1627603203, 21384961, 22809962, 878848, 2869101824, 0, 0, 2950402, 2987625913, 228620616, 2692236704, 1573565056, 2779212428, 1663235, 1716379669, 829031943, 35840, 182457649, 1778911488, 11665716, 2574662, 3424883969, 1862467844, 2994996650, 71369218, 1363215618, 3316815461, 2986514304, 2777415689, 1124205125, 2995021060, 33636312, 3012994304, 134217728, 0, 0, 0, 7274849, 36505452, 1376781571, 2684609444, 50353408, 17068035, 84336683, 915277313, 10485961, 3760928093, 100728869, 84164584, 1376781315, 2684584022, 2751660119, 262229, 66573, 83908101, 33582851, 24938, 7820805, 33575936, 16805635, 58203, 219217938, 219218005, 329807, 1778385121, 2600992768, 1332347136, 3785033729, 14687029, 1561133312, 2348812069, 84164540, 1862361344, 1627390528, 3444534527, 4281173249, 3759486223, 4144038144, 762054511, 23134368, 4243861, 2285465912, 1088427317, 257032449, 12059648, 0, 116, 33751143, 1811958752, 691349761, 2231435448, 1735131723, 3760796969, 25493504, 3093785603, 1105209653, 687965442, 12059904, 0, 0, 10617089, 1078002434, 3662807314, 10485971, 3760928398, 16908448, 13230123, 895287554, 4260608, 1246363912, 3326738698, 1839333637, 1766457611, 3326738700, 1632239882, 1223196417, 2348814154, 17320168, 2130807808, 99122944, 3760862505, 16908292, 2701197759, 2863661824, 0, 7275105, 55837441, 14789378, 87043, 16834987, 39911600, 5276421, 14691125, 2053505024, 2684403792, 2198208736, 724925029, 47104, 83886080, 0, 111, 23135136, 62998274, 46548738, 138478595, 12669955, 16805633, 278788, 205860100, 2078289738, 1979973792, 4187457, 67223520, 763757642, 67979277, 83987456, 591494916, 3356296448, 2348816711, 34099936, 524843520, 4259841, 1208812800, 2348811533, 83992581, 3813081602, 1598096395, 1303512130, 540019941, 3500522417, 2986623520, 813958570, 78812741, 3148980229, 1066025343, 71271858, 398746832, 711326885, 3146579832, 50331648, 111, 1717633091, 86096, 2198143047, 313357, 16878592, 359621985, 4390913, 1297122054, 4653060, 3305963778, 2684469682, 71378776, 672295481, 984721413, 1090585157, 2998560178, 634857753, 42417480, 1728054693, 3836039028, 16949250, 1253205329, 3299183616, 547387717, 2692270927, 33554599, 9175057, 1342308867, 1342309120, 3760926701, 50331826, 388352165, 3148940288, 255, 4278190496, 46154243, 13110532, 9175046, 1325531139, 1862403072, 1627455681, 621019967, 4122018816, 0, 112, 33816673, 16826661, 67321845, 2969568256, 256, 160, 1489396095, 2428570987, 338494224, 756023712, 46942721, 340266244, 25952318, 3785843553, 2983267, 3444534527, 4284547841, 1524639029, 259981569, 6389648, 3462828033, 1256203573, 261095681, 14689589, 251724033, 7308641, 4390912, 1158480897, 756024077, 1795205892, 16777376, 2018529140, 100749057, 49551, 4443208, 2994775466, 2259701620, 117497897, 829882624, 47104, 16777376, 2018529140, 134303489, 49551, 4443208, 2994775466, 2259701620, 151052329, 829882624, 47104, 67108864, 0, 4849927, 3231738588, 1375801859, 2751660119, 131157, 65760, 708186474, 50331808, 12623977, 3679584528, 60818368, 2751660117, 65760, 708191593, 50331808, 12623979, 3244949867, 3249602573, 1459686742, 11735622, 1976724032, 1834426008, 993957445, 874240, 223740083, 284637515, 19554583, 985217683, 3769761805, 1442951955, 441800471, 2271070764, 153815133, 3580220495, 97035520, 10649344, 1239428935, 1434386616, 3003400505, 1381449239, 2367318313, 633906432, 33554688, 14696322, 3238043649, 3987870004, 2585048, 872492586, 459931680, 819079349, 12456896, 77999470, 1581671899, 683644832, 3762243694, 10485829, 2684437690, 2964525712, 2521104608, 528662785, 11669812, 2585048, 872492778, 1663459109, 1409644702, 2431339, 988945198, 1833270461, 2158354495, 1215168672, 12628498, 3932366431, 776832456, 2780542899, 291912234, 2763129014, 1320293008, 2521152480, 1061569536, 3098743142, 975873202, 11880371, 311465541, 3004261946, 715436544, 983048, 4718593, 14768896, 134263313, 2858237981, 1278900224, 3227969103, 140367204, 19518309, 1461262648, 1383193012, 2780553279, 930087088, 11669930, 1564486249, 1611006775, 444080878, 1461716302, 1328176328, 1707232142, 3852844000, 1060597760, 251660288, 3381592319, 4261470555, 524464, 16781746, 333729943, 301994437, 1946223756, 1564894212, 1785277155, 747260590, 1564810376, 1388207564, 924850120, 400561445, 1152390433, 212407845, 1084884069, 615585285, 738474603, 1360283683, 299081772, 2987446596, 389647719, 6117418, 4213777864, 2780499968, 16795904, 134258688, 3669103150, 559112521, 2822950, 1295909000, 1391809254, 1708444850, 3149009892, 1352077824, 77988586, 836265303, 689989350, 626137840, 2757075, 780685889, 210652421, 1218908906, 1842919506, 251658496, 3381592071, 4278249151, 11665594, 9972462, 438325074, 492273829, 83957573, 2348813360, 65765, 3204484351, 4055609344, 11670378, 1573616083, 805911312, 373672114, 3149746099, 69810960, 2433687, 1565058226, 3149075649, 681968960, 288252416, 291912250, 1564480705, 682001733, 11734189, 1378964352, 1854808384, 1625186309, 1686852241, 373679269, 16777281, 2391362272, 724287118, 2365634720, 2379195277, 10485958, 1250756421, 755076512, 2362418060, 10485958, 1250690885, 755076256, 31441303, 17650393, 2986623271, 170393984, 2779382194, 13859412, 1564854437, 3147498208, 707509902, 2374762680, 4883998, 4673926, 117457408, 6206084, 631932594, 2449225, 708706524, 436882761, 2521152480, 796945542, 12104465, 2853640195, 2384805915, 2252423438, 2533467757, 1394022656, 659462457, 170177046, 1170777522, 2217060998, 3003242572, 3093567557, 1247138736, 2986344626, 309599881, 2013403179, 153514190, 1708339201, 282289034, 3702700813, 2080378224, 11534410, 2250171570, 298148714, 34821011, 51993811, 826299732, 1445594210, 695087545, 980189376, 2860954518, 2778761158, 1099366758, 2987603833, 3543138604, 3647260736, 109094314, 2259877933, 75957709, 443113473, 387594510, 617715269, 1720156122, 2986624605, 1394022657, 1529503798, 2435175216, 25208234, 2276693573, 1250368997, 2987603833, 3543138604, 3647260736, 25208234, 2259812397, 2550508167, 3003131235, 1310837018, 633906656, 1065242112, 3087007923, 320102142, 74610706, 710172608, 78992023, 92558890, 453640590, 1832917001, 988422958, 1382402213, 11732033, 619780889, 13859629, 980156670, 56113772, 60054840, 2521104640, 10714881, 3762235496, 10485825, 1250302838, 1720062173, 2995004842, 2259812954, 1663043874, 1210060129, 742989446, 1563075762, 3147498058, 18563250, 71383111, 115441829, 2852237974, 2243664642, 2986623296, 3227888210, 4261433910, 2617256734, 2254250136, 95061682, 74787565, 448304805, 3147497984, 16777394, 71383668, 1879170080, 2860954262, 1169911423, 2253489681, 14720768, 33599488, 14686507, 3189212678, 12058803, 298516519, 1909994531, 156051675, 710955633, 2014334620, 1612462021, 3366256819, 284831925, 9655072, 115736945, 462498584, 45568407, 440419792, 672740824, 377493444, 580530593, 219441549, 400935077, 4884249, 1179289364, 3232895886, 1705023493, 2861019926, 2773791894, 2768240864, 1059612672, 2684371018, 2249850977, 1720090566, 1719633529, 3761192029, 2248192644, 631932594, 17196301, 721432023, 673976065, 203911511, 2818926207, 2252911290, 1703673865, 2989920549, 3551569376, 260256666, 1191229664, 792485254, 11699237, 2860954369, 107285803, 3004200, 18359586, 2472759849, 633906610, 71378170, 1583388677, 2860954518, 1157628083, 313993908, 1663721114, 3769893088, 456767254, 2248194048, 14687033, 3071772160, 3087007818, 2249935584, 455851545, 2248192178, 71378193, 977732243, 90276005, 2860954518, 1157629184, 385875968, 0, 10486344, 2693186861, 42365456, 17080324, 2153160706, 2152440836, 54592258, 3636565251, 67436800, 1011876864, 14691146, 1350959104, 2684382898, 2217060866, 2994811969, 38389170, 2869277260, 3093565736, 3380651329, 18303154, 3936717824, 129115804, 3433411440, 3617895136, 793393153, 11575298, 1303577665, 630456423, 59177138, 2684546130, 2249327524, 50389002, 907103589, 50331808, 14267153, 289031994, 1811947632, 3511091204, 2704176128, 3675902358, 1169359937, 624164967, 2525298762, 2249450058, 2249711282, 72510233, 53102112, 1228945052, 2827904, 216008038, 2158340742, 3012969802, 2248866897, 2248802464, 16075398, 191384710, 196219153, 1393206450, 3147846337, 3761190449, 273850450, 1102252161, 376729621, 992490503, 1154007218, 3003678996, 1191945672, 2773124631, 1615496715, 1397523979, 2995004842, 2259877925, 1318846557, 2521150216, 2165589771, 2781390259, 71399697, 1393164391, 2521104458, 2250135218, 2217060998, 3003295355, 5144603, 959084858, 2476098995, 71400230, 1174406499, 2629042241, 2248826291, 327829025, 206787178, 73473070, 1445362131, 805600919, 1085412933, 3366302468, 1094857827, 537170490, 1771455744, 11732033, 622285592, 6788741, 10520296, 1250303577, 3004289891, 1365704709, 1111385703, 1462240001, 2856755322, 2593539507, 328014624, 403788435, 4172591891, 438411332, 3543352881, 1074193921, 2922489201, 286988289, 1482999621, 3627436623, 541446184, 422959254, 2231369802, 2250132448, 439074323, 2256994488, 1250302464, 1732937501, 6448767, 2254811922, 1952712192, 4147744100, 237323780, 1784850977, 3326492163, 239929859, 3563632733, 1074196196, 3001036604, 1569063090, 160973265, 1165673477, 2861019746, 1179585850, 2690788897, 1484791978, 2259877952, 980642378, 1556563264, 1647209815, 1610695921, 1400904582, 4172434055, 501527044, 627382887, 776831017, 740866304, 714605994, 2276655141, 886515262, 13183706, 455775813, 2987596124, 3543220258, 2468435300, 589519205, 3543138688, 2779416243, 373639346, 2521104563, 286542144, 1382092404, 4038328480, 2269449607, 21071737, 1504908065, 1622695955, 1343695064, 172043337, 634139091, 805429426, 1250368606, 2987470385, 2387443717, 2709562794, 2276655141, 1647603713, 455747028, 1795541157, 2987470385, 2387443717, 2793448874, 2276655141, 1641105349, 3366256803, 2130731264, 2261692943, 3797694220, 3855656379, 2600618512, 106476036, 1094210052, 2490523693, 1248069168, 3469521595, 1853821104, 2986628904, 3510364672, 1728154215, 776830989, 2170552876, 1227675930, 633906619, 2600599731, 309618094, 1300247765, 1431560370, 14696251, 2298525696, 11735476, 1880434970, 1170660532, 10714880, 1636171840, 3759877054, 763756720, 14696264, 3942686720, 3232960823, 1387604261, 3366257408, 0, 4883989, 3370680064, 2348811752, 2130783489, 10486144, 1499891327, 3668149760, 1711308755, 2987385437, 3024432717, 2148328904, 2780531712, 994150447, 1420956084, 1879193639, 653151744, 216388773, 2348819890, 321722992, 2583895, 2014472461, 92410602, 439449613, 253821717, 1394985125, 3761192029, 2248194992, 1250301440, 1745682945, 2743468870, 2264386118, 2264516161, 2249017568, 1060898560, 3097494353, 3003400736, 807042560, 723971662, 97035622, 58710194, 71385131, 153965097, 980189216, 2852369153, 1851726230, 1162478347, 3669103572, 1756907040, 100740757, 710968325, 2852369153, 1851726230, 1172324156, 117487776, 21012482, 1085410146, 544935136, 2214963846, 3003140889, 2536062981, 3193128392, 2768240818, 321722992, 2583895, 2014472461, 92434310, 1612127021, 719349166, 1595504645, 2016614961, 5203153, 1104359459, 1458838727, 1204157618, 3152031548, 1569063096, 83886080, 0, 80, 2113994819, 70, 1350435072, 1442841600, 1954414593, 1342242821, 1342243072, 1946484736, 1426063618, 84083271, 3004581320, 2991587585, 5570561, 69534722, 1166802956, 1887241216, 3854499980, 4294029952, 2777481178, 3005812048, 169980928, 2987804104, 2768240864, 1059612672, 3762240359, 12059136, 97, 24856589, 2063601018, 2949714, 2835472431, 909185106, 2684535137, 38977971, 71383594, 790628065, 19291653, 1219663429, 14688074, 940900536, 5342728, 10485962, 1367738368, 2902506416, 1250300870, 1250301768, 3762241300, 12104211, 559986784, 40310057, 236593164, 2172691882, 2259916357, 14688074, 940835000, 11735949, 455088135, 1004953322, 18107658, 1462096037, 16777376, 2272154128, 83992577, 3886285056, 1426063616, 3759814181, 3993042944, 2684405261, 2280567219, 83956825, 90913329, 7959001, 3031581063, 4005617690, 733876871, 2248192000, 10520440, 3759884880, 3994026144, 13361177, 733887366, 3993022627, 2130716397, 4972569, 733887366, 3976245427, 320954552, 1610769451, 768689155, 1737385381, 3366302468, 1377550402, 1953500499, 2147838288, 52175625, 1114453068, 3101995520, 16777379, 2248262039, 2248214125, 3004403301, 2707361396, 187259136, 704941352, 3372508771, 441045808, 18720365, 1394022658, 707731468, 3764556331, 2178986561, 2248496563, 266755738, 1293944576, 1653746561, 1622283845, 3366273281, 4148933380, 1262119169, 3650504038, 2256488883, 71385561, 2521130630, 282124331, 1246791184, 10485830, 1099304267, 3003782969, 2372141536, 2991194398, 1320322085, 2852238080, 1899701704, 2773090570, 1286736386, 3357583873, 3012969802, 18042034, 167894048, 2852238230, 1169363178, 456655434, 2521104563, 267610936, 2525298867, 69479575, 310647956, 333741060, 580343447, 456002120, 1564894537, 74740344, 73472661, 719742296, 5187411, 827641010, 14692170, 1988493472, 4239891, 756753763, 2676856, 38545157, 2015084641, 3542171652, 3793836842, 1611006336, 2779416243, 2521104458, 2266945458, 71378318, 1832949765, 2860954112, 731383210, 2276693637, 2995004842, 2276655850, 794307328, 255152686, 1699870898, 11735278, 2094488901, 3500474528, 2256556106, 2250136754, 2217060998, 3003184243, 544040, 3372231428, 3781007145, 1497001110, 1169295878, 59393568, 1114927712, 751330307, 471092798, 50869727, 1387093331, 957874950, 2013619341, 707875001, 2856965, 2860954518, 1172320039, 910557357, 12300288, 11666478, 1292259110, 1707231560, 915038215, 420479334, 981026753, 206179114, 1191838118, 1454001925, 3366304525, 1879051644, 11534515, 297037826, 942094955, 1155082243, 2629107814, 2257019058, 332029987, 253858981, 1250363976, 3000133004, 373434, 1706197024, 2861020054, 1169363572, 73623000, 1287185586, 14683977, 781863936, 3087007923, 298148128, 1653886295, 34497280, 404044165, 3366256714, 2249674675, 309599881, 2025349133, 1380619845, 2987625848, 273582144, 46710954, 2259916453, 4883999, 4082310, 348893960, 2165589841, 1805010252, 2249498706, 3370135350, 823153330, 2217060998, 2986353998, 2617412524, 2998640722, 1102186625, 376729621, 992490503, 1154007218, 3148919556, 1093089886, 1611456593, 1805010176, 4883999, 1900709396, 1270024321, 340218469, 3366275974, 347243557, 2860954112, 625908738, 2476099003, 2689745376, 792080656, 1388044351, 1057095856, 3003400487, 979263500, 3763496392, 2768240714, 2249939891, 71378470, 1785213955, 470251544, 466505088, 389094227, 564520116, 3004378395, 627245142, 3932634627, 2319116694, 1157628083, 294283054, 1300260311, 690345125, 33554432, 10520311, 1720062050, 1250303576, 2995004842, 2259877925, 214382976, 91187797, 43723493, 3366314047, 1125253304, 3004378395, 537485860, 3224540196, 425576640, 2991722518, 27263360, 2376335618, 1090650832, 1090651255, 1342243072, 2919235744, 7188998, 1545273354, 3858983519, 3227568936, 356829224, 19871608, 258626874, 1821787579, 3761186614, 1409343535, 2201157632, 3091271768, 4370961, 3540041773, 1180959019, 1394149483, 424823332, 152759885, 2165057352, 3541666304, 725886474, 1091660331, 544332084, 1816252741, 3543146067, 1465995692, 2998647776, 524957718, 11591743, 1125253304, 3762242322, 12058848, 524957716, 12058802, 2217060998, 3003270721, 1476555779, 342518166, 1157628083, 142834442, 708838780, 1391498821, 14688070, 1291911328, 12640287, 1185349888, 3087007922, 83956825, 491600489, 2149624454, 3012969728, 4883991, 2001372683, 1706198053, 2860954112, 626174540, 587809388, 694505796, 473225495, 402713210, 2468613860, 2995519502, 2995004842, 2259812389, 195414181, 3148892806, 318785354, 2250134451, 83956825, 1655316934, 1140927561, 1632292018, 3761195049, 2248187904, 3718415872, 1272983367, 1434845344, 4305540, 631932595, 2435669, 1741015205, 2995004842, 2259877925, 195414181, 2986623270, 877789242, 2017012352, 3232401075, 2521104458, 2248821472, 455851577, 2248192178, 305418752, 172392613, 2860954390, 2782180608, 11732225, 341379401, 1796801313, 3769762016, 256454298, 1845540864, 11732033, 624164967, 2521104562, 167927057, 685178983, 2160110214, 3003141641, 841627945, 633906432, 14692170, 1988493472, 12628740, 1180521239, 419461657, 139613509, 3627370753, 1397967924, 258575429, 1469465856, 4883985, 1521619540, 1842556929, 2158340742, 3003312749, 1179058254, 2570441648, 2998010945, 643067200, 2214963846, 3012969728, 11736020, 1756907040, 100740885, 684720981, 30081063, 733292825, 38404139, 893803550, 1397084325, 14696232, 1744871424, 1101039558, 1250368960, 2987603833, 3543138605, 711145299, 3229877674, 2259845165, 2693222066, 75957709, 443146405, 2348812210, 2550508167, 3003131183, 1496984214, 1157627978, 2250132192, 455851539, 2248192179, 309207360, 1727960645, 4264121, 7153338, 268462240, 2768266464, 254428004, 2667635095, 13, 2768351748, 679022930, 3087297832, 3610930176, 541905448, 19415596, 3644151575, 402729497, 829952810, 1247926276, 1799703136, 16803840, 4261548881, 272264193, 879910916, 54022660, 39070212, 60863163, 228524300, 3120750623, 1012775424, 3098743686, 1650811680, 893392920, 433148645, 3567583411, 71501498, 1679316435, 420282423, 76290816, 1691566115, 1721013829, 33554432, 4883987, 7033222, 167813120, 2153990790, 189510408, 2165589842, 2865541707, 2248887174, 60982784, 1179289100, 1236472469, 711632050, 2726691170, 2701197534, 1241580506, 1359023618, 2684539826, 2217060998, 2986513706, 2023114171, 2902637488, 2987562282, 1850572932, 95061682, 48917830, 3338723375, 1194100224, 3012969802, 2249678922, 2248887219, 142677063, 1386925234, 2995004842, 2259813013, 712545861, 3142288907, 2964456530, 1796801322, 1176521024, 916193323, 645926112, 90603685, 2860954518, 1157628160, 4294648, 1889763073, 1241586524, 2734751854, 2248192528, 3444817943, 2247099818, 2259878555, 719802583, 2763305743, 3797694234, 2120592973, 2245043635, 297448629, 11732033, 648946176, 216385701, 11735853, 455435008, 1641105349, 3500474547, 105072244, 21704008, 3836870721, 2263679050, 3761192029, 2248166023, 425740935, 341619332, 631932850, 2436025, 980183512, 894015045, 3142354708, 1283922352, 2986615143, 356135264, 63447210, 2276656225, 740306484, 1390480422, 728127127, 455794866, 1099326027, 3759549374, 308446976, 3098739777, 649358048, 216385701, 4264148, 1239424841, 1531838648, 3004287744, 660006520, 172923441, 2701927510, 3866711904, 303808521, 642718762, 3936662016, 10520534, 1099410898, 2987571786, 2685352532, 28623018, 2276693669, 648904523, 3759745982, 394702080, 3098741271, 684804032, 182994246, 1544377221, 3366256864, 256454298, 1962981376, 11732033, 649748896, 1705921944, 2821349, 3366256864, 1059612672, 2684371168, 1060987392, 3087008000, 4884235, 3662317335, 3326773011, 3528099611, 1166802955, 3003400485, 872441750, 1162512139, 3669132325, 2861019649, 3628906596, 341136278, 1169940527, 1251510016, 3093399430, 1337135540, 1879193639, 645926117, 3567609478, 2270409348, 631932594, 2427105, 3693128327, 3012969952, 793319047, 31469385, 377880692, 16777553, 2265907317, 16777553, 2265579619, 16797107, 320954552, 1611878403, 2696077359, 1249281536, 2684375626, 2249019058, 71442480, 2214963846, 3012969952, 793409158, 10485834, 3762243706, 10485953, 1854310219, 2248400943, 1214088704, 3004249165, 1170777344, 11735853, 455095753, 980157105, 420085797, 215228270, 1398314565, 4294408, 1256201003, 3190916608, 2957674250, 1222655809, 1157675186, 320954552, 1611878412, 1384710938, 1566974272, 172064933, 2861020054, 1157628083, 71378228, 6788677, 14696255, 1962981376, 11735949, 455088133, 2026711621, 1354695449, 1557344576, 959092914, 10506835, 3003678996, 1879406376, 3372234500, 152760470, 1168148416, 1250364608, 2987504752, 156325890, 2468876626, 2415932824, 95061939, 2527395914, 2249250482, 297037833, 1364722323, 672606409, 2160110214, 3012994385, 2248671405, 12300288, 14687019, 3193144832, 2952790195, 143151953, 605760254, 59393568, 153295398, 1699074213, 11667585, 363224369, 2014394890, 1203768544, 2214963846, 2986353978, 2032855651, 715436731, 226230285, 1879093248, 11735476, 1881353126, 590444579, 163651310, 1300237541, 3567583456, 256454298, 2030090240, 16777376, 2085335827, 108534836, 3650528525, 1879093472, 659185424, 503422977, 3820094546, 1796800713, 652894976, 2214963713, 2986421853, 1214660246, 1169886576, 883712, 2877058942, 2080424335, 4382278, 225444016, 225443853, 2080420627, 642125389, 2147843667, 1465995564, 18137185, 3427533097, 3528807205, 3543142954, 2031755298, 2437207393, 1170777344, 11732043, 979959897, 1786405702, 3299999818, 2250134706, 328038402, 740778323, 604163104, 2860954518, 2779976493, 455086034, 436863754, 1295554117, 14686763, 3191834502, 11534515, 292868276, 4883998, 1370687042, 405472787, 1342844266, 589678757, 1250300379, 3003400487, 641810491, 622344963, 761987340, 654653492, 3492286180, 3024782867, 8211078, 184566946, 2248178144, 1061355008, 2986616914, 2032826720, 27795626, 2259813141, 976347141, 1242564304, 2987229465, 778098005, 1189021068, 766469, 1627494227, 1403299251, 2521150227, 219810508, 2996995584, 1655834776, 1397958400, 1171269634, 874865298, 724384364, 30630345, 671187109, 2860954518, 1169327141, 2860954371, 342518112, 172669432, 2998080269, 436915378, 16777378, 2248229195, 16990480, 1481173119, 1267466255, 1242564296, 3900640652, 387263, 275644672, 2365578752, 14692135, 911409325, 12300288, 11667608, 1230063360, 1171269638, 2158340742, 3012969728, 11732033, 655689443, 2629042400, 1061366528, 3087007818, 2250136498, 2217060998, 2986423339, 719437, 710875396, 3644184726, 1166802965, 2987504752, 406482026, 643710467, 1479158371, 97035707, 2952790240, 439074423, 2273706168, 16777440, 796751487, 27263435, 3759811518, 327549184, 2964460148, 20211961, 2578164, 1452812289, 790173920, 2214963846, 3003133188, 2503635192, 3036676259, 2130725376, 458072959, 14687019, 3190620160, 2964522049, 944202534, 1294880129, 207316398, 1309001893, 11732060, 976289865, 1184392220, 992808338, 2830368842, 2250113088, 2987593293, 167782170, 3930896484, 455800873, 537324826, 1763154256, 3157534242, 2451364100, 2119386465, 538794341, 1459673444, 3359637888, 2779416243, 2955292, 685068901, 3366314011, 733875846, 11534560, 457855214, 268476416, 4054979356, 978467436, 30952632, 1679450950, 1178468561, 1184639264, 115441829, 2693188266, 2259850821, 2348812722, 659763540, 3434265520, 3762235496, 10485824, 3004273665, 4199194630, 3858900545, 1171301632, 10520393, 3004403026, 2561979616, 439074323, 2273706168, 6719103, 1548387840, 1337132097, 944206150, 1574121486, 3836916484, 1109143564, 3855656355, 2248165888, 325886854, 4849675, 3853714497, 652876045, 51661145, 903032835, 481845262, 1326327104, 402813960, 1383668179, 719702181, 2693261377, 2265466381, 2264969635, 2248171911, 14004868, 631932594, 30952632, 1677843488, 2861020054, 1158514432, 2980282112, 1636171840, 3004165711, 237322245, 1323611136, 14696264, 2046836992, 20990598, 5550596, 1094349936, 472438586, 1820336298, 2259916357, 3004376641, 1402356992, 4883998, 4300924, 3391979398, 2743013547, 280134693, 2860954370, 2792032864, 38584394, 2452257028, 1965747482, 3087215930, 1882876928, 1728063329, 3026856194, 3927414568, 3372228680, 3546861974, 1169294401, 656819712, 90276005, 2860954262, 2243628400, 883712, 2600600064, 74, 2249674720, 793411206, 14692170, 939524272, 2684440138, 2249935584, 455851545, 2248192160, 16796490, 2249293894, 3762235496, 10485825, 3762235496, 10485825, 3762235496, 10485825, 3762235496, 10485825, 2986626319, 554805785, 538543674, 2019819904, 2779416243, 14155815, 456731221, 1677868394, 455461029, 2684472243, 71378228, 6788741, 1720090459, 3004378395, 537488975, 1950837250, 3661310464, 3223491430, 2540033228, 3034591015, 910491821, 12300288, 14696264, 3942686720, 3225519877, 1538395321, 720845166, 538523380, 1890877473, 2860965903, 2201197222, 12077703, 510243460, 631932850, 20587032, 14188576, 2860954369, 1899583488, 4261422626, 3865160288, 19669042, 4100614550, 1169363757, 1587334322, 11732033, 657284764, 13859629, 980157067, 738273383, 2525298785, 2273269683, 71378734, 671502297, 903032833, 802450168, 707499589, 2986623271, 774373760, 2779416243, 2821349, 3366256819, 71848785, 604515065, 433276864, 1297820384, 1707737209, 94608564, 4264156, 1239424841, 1539178680, 1091616329, 3760146779, 3691034803, 309618094, 1300247765, 1431560370, 4883983, 3232957505, 658136672, 216387749, 11732547, 1182007627, 759751858, 14696254, 4211128320, 11732545, 2018076106, 606298752, 253851721, 1786329417, 2525298944, 62001966, 1228952792, 1633162821, 3367156484, 16795020, 778303, 711065760, 12579341, 2432805777, 83886080, 0, 160, 1867178011, 733907590, 11563536, 2248253441, 2158797825, 37814785, 1297088768, 14692169, 1526726840, 1090650699, 1325465600, 2902506395, 37814787, 1582235904, 14728960, 94373321, 3761195355, 83933408, 1059612672, 2684371099, 37814788, 1901068545, 11403264, 2684407120, 16777440, 793336576, 12078849, 17014787, 3350004667, 2600645124, 1092981760, 1728284408, 2998639362, 1090651456, 1342243076, 1241779021, 1342242816, 3761195355, 47183, 16843680, 63417603, 3147498162, 2217060868, 2986353931, 2781390267, 3761195672, 67148546, 2689728591, 3883885568, 592445440, 1179258884, 2151784529, 4004644097, 982066195, 1373121280, 115409190, 1578314520, 73472077, 78860298, 1954088675, 470366954, 590238309, 3366304667, 48250664, 1744871424, 1088425859, 865790464, 3098674241, 630456423, 59177138, 3147497984, 11735896, 671634005, 454557998, 1565025748, 1325402738, 1399474515, 3836870758, 2249247968, 726290566, 268476416, 3350399489, 3769938692, 1479973445, 543380822, 1040236581, 3609794874, 2476115200, 14683977, 781909504, 3087007818, 2248200370, 71378826, 450921477, 2860954518, 1172314923, 3193800192, 2952790195, 308701015, 439482548, 11666497, 2072923424, 1788909573, 2860954518, 1157628083, 328099232, 1195917347, 77347597, 59655712, 580003865, 1598723653, 11735238, 416767735, 831271341, 900059301, 11735257, 2384215, 1841866932, 14696262, 1291886592, 3231733312, 3762243239, 12059648, 0, 160, 29943999, 25952261, 3904853993, 2130878546, 1907492993, 380527885, 15800592, 2521145425, 1504837666, 97597962, 1203766626, 625370451, 16646336, 855287986, 3152035624, 1744870144, 1242563528, 1259340557, 33638928, 88427536, 54923346, 1403654307, 2130987524, 457814532, 1641816234, 79405057, 1168135745, 2743010464, 47075600, 285270175, 196768, 4300802, 3478196235, 60818376, 2902702988, 741648, 285270175, 262241, 268747082, 68895057, 68223200, 2667578112, 2952790272, 10506975, 2718957632, 2684471528, 3204549632, 99139415, 3917414880, 675763472, 33554176, 3098743443, 1203772633, 1610758922, 671177760, 618086444, 282272798, 1397056234, 5722730, 2521105664, 0, 0, 2969601, 2684571217, 17367264, 2667578624, 2684371360, 56183297, 63525121, 235184132, 1230045451, 77595847, 2902756352, 1486881637, 2986672532, 3232367026, 2151172609, 340898304, 3193369709, 3376049154, 775010711, 3853686341, 2348823151, 1224933549, 11701413, 2852211201, 341094912, 3193369709, 3376049154, 775010711, 3851157521, 1241579597, 2986393117, 1313702002, 2546778080, 1059612672, 2684574883, 2131075077, 3595175195, 1387397310, 1398366665, 671187109, 2852500119, 3854295087, 1210646784, 2684403874, 16793824, 709317889, 33751224, 100663296, 0, 16777216, 10617090, 1084293635, 3265266888, 218366092, 766596, 1704985413, 2995045810, 2550508034, 2684701600, 105393413, 42729480, 218497293, 83897602, 60817983, 3466593729, 2684764640, 793417733, 11536896, 0, 0, 0, 0, 162, 17056163, 2131206151, 3377071899, 1166802949, 218562573, 83954950, 27459840, 3249241857, 4721930, 25952351, 2684634508, 5857540, 122162441, 25952328, 1627684677, 2348826954, 67600444, 1241777144, 1359220232, 2684940618, 68077741, 146476294, 14692168, 688128160, 14590724, 5308425, 10485844, 2718171216, 3760801621, 67239936, 2684405005, 83927300, 79858943, 2778857732, 3265266780, 2684977282, 2684846206, 2718367744, 2039808992, 709317895, 33751180, 7127463, 67568709, 2348833866, 67600471, 2685029962, 67357265, 68026528, 18506, 68087200, 98099243, 1206649091, 10485961, 1107492933, 218300565, 51184896, 1107492933, 218300640, 709282052, 33751180, 1679876, 5627951, 1210647552, 2684406933, 65022535, 1426326019, 10552324, 3264020347, 2684731808, 113357056, 33554432, 4260290, 1572014472, 1378953497, 944899417, 1564894039, 721429139, 1641572096, 1365636261, 1627488077, 3003400505, 106888762, 1821877574, 22200387, 33572975, 1224868013, 4849930, 1420956430, 1731087744, 172064933, 2852238081, 3633815626, 18764466, 2217060865, 3003131190, 2435175216, 3179324850, 2217060865, 3003192399, 641366167, 2768240896, 4849927, 3226075404, 3242852619, 3249602816, 7622401, 1333006593, 297897745, 22954400, 2621509020, 17591559, 213124019, 282263761, 1251501070, 1289364935, 1161850510, 557871534, 1655332608, 115413318, 1545803556, 1184120833, 740583146, 454712664, 5440523, 979780632, 689384229, 3367567872, 81, 17629763, 33571040, 793260290, 14915329, 218148864, 14696322, 3238050480, 11670721, 4171621551, 2105429886, 16826755, 5117005, 4164988928, 67109120, 0, 10505946, 2684469426, 160236757, 454568704, 112092928, 1357850905, 2521152433, 1250300367, 2684469472, 791098949, 11337915, 2984263464, 1744871424, 1084458496, 1241518921, 2743468106, 737443, 2248173056, 2139114720, 793319046, 81801033, 377421940, 67108963, 9795744, 32748041, 2437990656, 621595944, 3690505570, 2509659826, 74080938, 566642238, 3622348, 924845377, 286543150, 1708444850, 2348811698, 2521152411, 37849181, 1910517577, 176095843, 38496118, 38405351, 2137260131, 67132338, 267211305, 980156518, 1221818393, 903033600, 439822537, 4172594097, 1854308171, 2248400959, 677904608, 793271686, 11534438, 2256526243, 2248173056, 2144645647, 3797747294, 4265241728, 548046514, 2521152433, 1720090583, 2743468106, 774322, 2217060998, 2986353931, 2781390267, 2980282112, 1854275760, 50331648, 162, 16993610, 50381973, 44106499, 3220679426, 50331648, 162, 16932449, 26233674, 33572757, 59506700, 3761195286, 33584131, 237826, 46130769, 17760372, 50331832, 16777286, 2264356801, 2508739689, 2354098820, 631932595, 30952632, 1677844660, 2902567558, 3761186614, 1208003840, 3148874240, 160, 30781956, 1092981760, 1292297856, 2779382450, 2521140224, 363988033, 630456397, 1910060140, 404433326, 573216325, 3148875264, 256, 0, 74, 17221864, 2130742272, 99122945, 755171491, 2130980102, 1380582427, 1179714566, 94372685, 2684701408, 726221573, 67154336, 55470593, 97181739, 1229128964, 11618832, 106471427, 3584034258, 1090848462, 1778451914, 3760933187, 84148401, 1241584202, 1359022848, 2902506417, 2684610378, 268886944, 1314933252, 459059844, 631899314, 18106712, 2824215, 723058770, 68695703, 2830285755, 2684733550, 67210240, 91127553, 756023776, 792080656, 1386219008, 2090881536, 2028437348, 2314240, 7315537, 4021421313, 990793176, 1700200858, 1569798764, 41171722, 1610701856, 618087018, 1660951089, 14111571, 605967173, 3500522380, 4186175, 677904544, 4239890, 2365879120, 3019924807, 1463931696, 207571459, 289087841, 537395584, 2778955520, 1241520970, 2743009450, 9175045, 2995586528, 260256667, 570470560, 1381843327, 72987140, 1094866029, 1224753176, 152760322, 2971208342, 1169886588, 5312529, 14720768, 33611823, 1214054656, 1628438849, 553942994, 2995004842, 2142437930, 459956225, 6854213, 2684535264, 1061569536, 2952790528, 224, 726279184, 16949250, 3235917641, 1526857888, 4299522, 67108864, 0, 5177856, 69534468, 3228500483, 6356993, 1073045763, 79713283, 16805634, 43776, 16777261, 1862393883, 733907201, 12059648, 0, 82, 17957796, 50353920, 33576192, 16834602, 907084291, 47104, 50331648, 82, 33883040, 62956547, 5570561, 14690870, 620823296, 12059392, 0, 10617091, 3265266624, 1778582088, 1090716868, 2869141763, 62911409, 16777318, 17875424, 726290433, 268482560, 16777379, 16883713, 3227582847, 1073197056, 50331648, 115, 268567138, 44613746, 268567460, 50348288, 88075856, 50397281, 81893, 2869035520, 75, 18015131, 17498800, 16777261, 2063674746, 279673344, 16777281, 16990386, 71383833, 443103852, 3608404, 1431503214, 707330132, 88474509, 992608692, 1795818593, 885005958, 1563042827, 1586717705, 1385666117, 2694634930, 6644040, 1566113884, 1162225408, 1654285730, 1346372619, 1391092517, 3366304688, 16777281, 16990386, 71383274, 903029761, 59587370, 28601098, 92476508, 1162225408, 134283636, 1566073857, 740305112, 1680609747, 43198472, 1391667936, 88146356, 1795817549, 77987903, 1909663388, 3245221, 183176010, 2991762124, 2995519501, 2992778801, 3108487193, 3873223355, 2952790784, 0, 4294699, 1481244939, 1306537767, 910426285, 9175047, 2902608641, 196849729, 2284011594, 17517229, 55312651, 2348813024, 791098948, 11337915, 2952790209, 2542286941, 1085473831, 1356277504, 98052378, 1565620235, 454634090, 2763128897, 2283421761, 2264416321, 2271366758, 2273266400, 260256667, 1996535968, 2273030929, 709830212, 226070058, 1778394421, 3426106882, 3928134217, 1394952452, 1646824983, 302012259, 1462246452, 3640665968, 3546546476, 4150988035, 757743729, 3652498098, 213072138, 29960385, 206177702, 2158340743, 3012994304, 4264156, 1497466940, 1085473826, 1349387448, 1378755596, 1557347114, 3708485, 1091616345, 1099447360, 3003392596, 1845803090, 774114396, 3543869952, 949372225, 269447361, 2542293820, 1538459796, 1312686232, 281311384, 12128663, 443442496, 327566885, 3836916484, 590993484, 3093564508, 3543870102, 1169360129, 376701335, 443442496, 230809778, 12687240, 1564236211, 70799980, 500638721, 341247744, 155260001, 1296456958, 2521121160, 1297462020, 1092987418, 3758364754, 1813894948, 324240840, 2772535357, 1337133185, 608775825, 1184639269, 3366302468, 1093077544, 105889890, 2469457501, 537331144, 2768240833, 2500905921, 3378659720, 1012118291, 2373452381, 1850548228, 2271006287, 97822017, 2290827488, 793384856, 11583895, 273659008, 1153537808, 1364230205, 1099447404, 1091586639, 3003679256, 722018604, 544299236, 2998077596, 452986624, 1062757382, 38686553, 671494789, 1219630661, 3366302479, 3797735680, 540449377, 1170777409, 2285658035, 169294221, 1677811892, 8805696, 82265555, 605314072, 1380607406, 1300616357, 1099467593, 3761195543, 2583736385, 2285371469, 3003395411, 1479016724, 3223144043, 774852865, 340169528, 3506549867, 167784708, 3038368613, 1224969531, 705004048, 622995994, 3758940164, 343042655, 4937828, 21031466, 1613478237, 1378500099, 2316974391, 3318261185, 2542283554, 2000752719, 1611328267, 1239424841, 1540030648, 2986622010, 1767079940, 2733945531, 3760147096, 3942693043, 190916362, 671961984, 90975008, 115428408, 2521121160, 474002180, 1382750464, 1228836922, 1821787392, 4294795, 1239428938, 395903160, 1099443545, 3003407418, 822095877, 2018854969, 2113978405, 3609794874, 2476098881, 2285655987, 71400202, 671154548, 1566073858, 1277191914, 721799333, 1099451712, 3003397434, 1784676632, 540365382, 2286092385, 1246232876, 1229674315, 1463446678, 1157628097, 2508726303, 507556625, 877443172, 18672197, 3396157513, 1163133190, 1416263961, 3546284345, 3528775776, 3343205840, 2768241408, 0, 4294720, 3225520162, 1289760551, 910622893, 12300353, 2285589549, 42405256, 304973702, 763757069, 50367488, 474056430, 3326183149, 1261240966, 218300556, 732418, 2275410629, 218300737, 49172749, 49136023, 2282904904, 3761192029, 33595395, 3358426882, 2348811565, 2248319871, 21627163, 3305963776, 3247933458, 1560343712, 50393248, 32792833, 2278137991, 1835401729, 3920758017, 376729606, 45753649, 671177760, 513369746, 2786309, 2852237974, 1169940527, 1012762112, 1854276016, 2693263425, 2280451250, 69297706, 437780588, 88178853, 2861019648, 640378454, 2535139936, 239749669, 3328528888, 2998657071, 1012728320, 3089558655, 4590316, 198554116, 659765573, 1074045684, 2998657055, 1251535872, 3096636416, 3658411500, 3003393875, 960839684, 3008593967, 1363411243, 2254788502, 1169359905, 1729182392, 3474571, 980167416, 2521122438, 3966517640, 1567137927, 1706232321, 1545608857, 1714029956, 1431778517, 1610686221, 1397826585, 436863079, 30630698, 421906597, 3003392359, 289060864, 889490234, 1814755478, 1168114635, 3004329505, 1080491670, 1170315144, 1060175957, 3760143453, 3976241153, 3820094721, 376729606, 45753649, 671177760, 513369746, 2786309, 2852237974, 1169895149, 28357124, 560403770, 828375340, 539898962, 3758410348, 3578979941, 1476514377, 1228462378, 1050035643, 3760143453, 3976247361, 2290041010, 69297941, 1155020120, 5375004, 439443457, 425401012, 1557736192, 978463022, 455755717, 3366304736, 524049901, 12058817, 2542281515, 1343046401, 3759164157, 3952847003, 3170940993, 2285398688, 1130869508, 1010461011, 2147792965, 3426169208, 104650500, 1646810922, 1953074432, 723136851, 2150267231, 3318261185, 2508726809, 2304000272, 3410616351, 1245191680, 2967478090, 941424816, 1099446592, 2986623547, 178783553, 281762227, 403195206, 1543920966, 3958428, 451502086, 24403288, 3836916593, 2791571800, 722019842, 241503530, 1707648256, 4294767, 1639056440, 1440168760, 32123616, 1184507454, 2505107, 1391068116, 3904027405, 2080418684, 1099446877, 3004339015, 3221489706, 3930755960, 241633861, 1611540047, 3223939881, 429278657, 2542283283, 1698793193, 1639125428, 1879193639, 456726800, 12608174, 1551435186, 455761350, 1142169066, 590911141, 3003406377, 1375949592, 4045930797, 3546634009, 419442021, 2858500194, 2925386208, 2986344513, 2288613792, 1120722991, 657867776, 2902506416, 249815566, 3856928066, 31465290, 2565013683, 69671696, 723518647, 433596704, 90243892, 1409361952, 1638280997, 3366273416, 1409309088, 1112334383, 657867776, 2902506416, 249816078, 3856850975, 1251534080, 2986616603, 271261700, 2975042141, 1224747780, 122894674, 1074086147, 219773334, 1169886530, 10506945, 3761190449, 273850450, 1102186625, 376729621, 992490503, 1154007218, 3148890502, 3854975367, 3847860996, 656085035, 537175652, 16805162, 1761618436, 137678540, 2990639197, 1086429062, 3823452339, 69736842, 2449736, 1793738688, 752379219, 689964385, 30870088, 885968050, 4294767, 1306533710, 3943038989, 2080418684, 3247802410, 324878483, 3170943403, 8327261, 3003400486, 3927510273, 2923996679, 1614103907, 672001, 171585101, 2244519392, 1062127872, 3087007968, 525265668, 12300804, 656089138, 3860791300, 3883401475, 140462892, 19407949, 1212154138, 774846464, 656115320, 2987804104, 2998647776, 791098945, 14690121, 1526726656, 3762243140, 11534592, 262401, 1166802959, 2986344448, 2339457748, 3032190207, 4005277696, 4294765, 1086426896, 1518290336, 2713760529, 776831245, 877495752, 2768240705, 2287819187, 69675569, 2452823, 2014139168, 79788105, 1691363941, 3366273416, 1858814344, 1828737184, 2273332298, 2266652338, 2217060999, 2986408542, 2013275652, 2823977066, 1252307643, 3761192029, 2264971329, 2265011123, 69675569, 2428109, 1394607481, 1397273778, 3003395368, 3640668932, 120205568, 621596239, 709823126, 1161922657, 1860185916, 1569063090, 69297428, 1379401760, 491865089, 405089126, 1452743466, 2763176928, 120207708, 1912602848, 1063023104, 3091302509, 1085473831, 707854373, 214782752, 91695304, 3031564353, 2284542899, 71055977, 1402470446, 512122154, 604051497, 154424659, 690342053, 1099442752, 3003400484, 4146647040, 544330534, 2623542357, 1402356992, 4294749, 1085473843, 433152035, 625628734, 30547273, 625541175, 67719831, 73496649, 1565676394, 2763128897, 2283946163, 71378275, 1681196040, 1556660402, 16777281, 16973971, 2986623288, 923013179, 674583296, 704912437, 3643280723, 1479027724, 3105419560, 35138310, 120148739, 1479090269, 1210743111, 3221905666, 3073025628, 3644346885, 1263700229, 2199156293, 1176961029, 1627411460, 3321964126, 664120, 1231112780, 24335728, 3609472012, 2837114881, 221926187, 3225765415, 2530380, 18361092, 39068952, 25136717, 879755716, 621472523, 1202934442, 3434263394, 775010631, 3222922972, 2990604545, 1078036510, 1296139849, 1239424842, 941031608, 1099439680, 1099319616, 3003449658, 1946360089, 3613393265, 879912392, 2768240896, 4260097, 1078036534, 3561064585, 1220646790, 487967297, 2283946049, 2259763378, 299065801, 671154311, 452416389, 478568449, 492004695, 2104535, 1587283041, 6890036, 1633157587, 733240519, 1203772749, 979960788, 1747718359, 1397957633, 477693097, 451937378, 684533961, 2428746, 1318537882, 1611144042, 1583418615, 965568062, 36594732, 321740442, 832584504, 17452842, 1545038456, 12612041, 672687850, 440479896, 1423134163, 805372697, 1564887041, 348129276, 1384720992, 781477111, 959195171, 80161748, 1293948930, 1915361592, 4200457, 451937082, 1315587116, 281498474, 2105070, 629802091, 1183213011, 805395488, 433521761, 348128920, 965936514, 317331768, 396361862, 1176533312, 1907622681, 79909967, 518923658, 3154578, 1445619017, 12595946, 455083221, 720258714, 1611016042, 1329225024, 102975274, 1663706113, 327377958, 580541644, 673973313, 1111909162, 3712552960, 16795904, 134258688, 13218304, 539875171, 542431076, 19406867, 3830486802, 6745670, 2356685843, 760416771, 2370835739, 402682377, 3881683249, 1078679652, 36091690, 2791131392, 728394026, 4179233280, 2049665612, 207439461, 1459669357, 1399281448, 52173882, 822282861, 1462386179, 711139332, 2554450244, 18413339, 1784661328, 2803163396, 2668790876, 2416129850, 875806754, 2472924009, 1476406551, 612144146, 3829400632, 2383912964, 611442458, 3909102097, 2001794175, 3848536344, 623022678, 711280896, 924263548, 2484266048, 70815249, 3312713988, 2305453096, 1376929379, 710718103, 633048064, 548536479, 310664336, 396362788, 854203168, 324216151, 224668245, 988419653, 2628107232, 523691520, 12058817, 2542281515, 1085473827, 606407885, 685504690, 4294690, 1088429898, 941424824, 4294749, 1078036162, 1085473849, 1586837440, 551036929, 386540375, 708706662, 1663716681, 2819100, 439457349, 50331648, 65, 16974111, 2986623288, 923013435, 1850572813, 19933188, 2785096786, 4229677061, 1627473635, 631283584, 1253180804, 1719665666, 1344608264, 2031178424, 395850965, 689984170, 1305686017, 1551520297, 60051754, 1275679383, 73801371, 671171621, 1653745688, 1726369162, 26502574, 537996089, 720260481, 2359659520, 867304550, 60051754, 1275274285, 1664555628, 671896365, 956319065, 1700215404, 2819100, 723059809, 1144391010, 644233770, 605566809, 2221257240, 425628983, 3223378088, 590152256, 2684544010, 3070976178, 80085754, 806451667, 805776142, 624955220, 1431503671, 446703252, 3702688768, 1352663768, 2986657280, 1560491802, 2685216356, 17918507, 633906572, 3607223, 190362116, 3278542122, 1617356372, 52746496, 606948068, 2995519517, 2986657280, 877850154, 2031755359, 1275082500, 137001258, 3758440704, 1754678715, 2957050118, 1078036573, 3393292306, 1078036418, 1078363842, 1222651729, 3766878432, 1062334464, 1951334417, 3760146481, 45312, 33554432, 10617090, 3265266369, 1258423202, 33573088, 793894914, 10551810, 3264020459, 50381312, 162, 16958112, 38054659, 1359088640, 1946353667, 2718040136, 3761197552, 33595650, 46304511, 3825205313, 2288601824, 388742699, 3070275777, 2542281515, 1363218625, 1306533962, 4253457357, 2615345336, 1099452780, 1091617128, 179768159, 3003406377, 1075320633, 271269376, 1361401889, 1394987824, 33629790, 321591446, 1169361410, 4105322768, 1212203415, 2290428759, 179768275, 3003392804, 625379393, 1224749848, 4100801992, 2772535331, 1527428875, 3607934723, 213322675, 69412113, 1393188865, 439624216, 2521153943, 2284006208, 3761186614, 1140894976, 3148873984, 4260099, 6140676, 1094203160, 152760320, 639947348, 136982810, 3758466560, 1028970592, 3425404536, 24278111, 755261720, 3223512690, 1008451589, 1627591787, 755336274, 1610875472, 621021011, 961691653, 1174608169, 1426213476, 3506628170, 2684756247, 1394749000, 3860736662, 1161888002, 1074444043, 1074444035, 3222058763, 196543410, 70868181, 6890214, 1638555672, 928580705, 405222726, 1545097802, 1382678758, 1592675712, 992331941, 3149639680, 4294712, 1085408296, 902974814, 36313400, 2158313744, 3410670118, 2630657420, 373482, 2780000471, 606274769, 1385193480, 1171397831, 1162201253, 16777378, 2130829234, 294926956, 55902546, 1463687053, 443099424, 77988070, 604906822, 2521152433, 2701197638, 2701197521, 648314701, 179768263, 213320603, 3415985074, 71378314, 1679447042, 875393446, 1679708997, 1659502854, 1593719404, 2521152433, 10502363, 179768132, 2605232644, 962385152, 1761911540, 2998657055, 1251522304, 2981233729, 630456423, 59177138, 3148939329, 2288582724, 2986620777, 2147787545, 2853928448, 725994468, 2778742981, 3012969907, 73541687, 1727937132, 2843856, 671310887, 101929774, 558432378, 989276570, 1154956094, 15355206, 1704999717, 3366306199, 2288343040, 2157986029, 3004278381, 3543142995, 1780744449, 106867300, 358439738, 2590129668, 1629318733, 537862976, 726309672, 56937497, 3549840818, 328099232, 403463494, 1678388596, 1596001312, 1598816293, 1251682592, 91508032, 1640572929, 673189121, 250244422, 1171468289, 20603710, 16992298, 402813977, 1557463348, 1390790821, 3138172679, 3760147096, 3070233920, 28000321, 2287820211, 70740352, 78280503, 709511104, 893808576, 79788105, 550985162, 2763145608, 1358975648, 1073761802, 3070984265, 3004388133, 1464682085, 2684622697, 2147788288, 1560491802, 2686882908, 739301376, 656864340, 16847966, 1784414504, 543116292, 1627600666, 2685214998, 2468429849, 2248599634, 1747505449, 537295673, 1553352001, 2283880608, 1073760266, 3070984259, 3004225536, 660723972, 1629385829, 3358065513, 3613215850, 643684728, 441264734, 1780165889, 3641017436, 3644151555, 755974695, 1394774574, 2539964229, 1091315555, 555439360, 3424244630, 1169361784, 1790268170, 2559854, 1689804806, 38154696, 17194666, 3837067424, 2638274583, 1406982873, 12058848, 391371889, 1912649728, 33554432, 6685200, 1078036573, 1080426754, 1488094245, 2852303619, 473590880, 56912901, 1091758617, 227952050, 2217060865, 2986362481, 2925872497, 3026463748, 1092990021, 537542957, 3650504123, 2952790272, 4294767, 1672610850, 1641565368, 1678928141, 2758664, 1383803640, 456020582, 1171842226, 3138223104, 2877047041, 16818694, 3671703590, 3658481750, 3760138017, 1258332160, 2152467418, 235723293, 249223651, 1406733211, 3961968912, 1102251065, 1586578467, 443296490, 604051898, 1238448345, 690032362, 580594424, 4354374, 1452475780, 893388481, 741347142, 1967129964, 1574118401, 936700082, 651759680, 3813923083, 2617487876, 962498884, 589682714, 4062781709, 342972256, 23013982, 4099679060, 1007313418, 774717446, 3774978663, 979161347, 877500968, 19406950, 4098242710, 1169928257, 16929798, 3671673646, 3658484954, 235657757, 228393387, 2638283011, 1561123074, 115005771, 786042892, 3658353626, 501437401, 194776589, 2634132381, 1090585600, 1495718160, 1728829698, 2986615395, 423294980, 1986644034, 1040378467, 1379560448, 3224226871, 776831075, 642583190, 1169884890, 3645629267, 3641416740, 2348817926, 3664139275, 3658353882, 487512793, 3813923083, 2619640832, 149115865, 194788109, 2634066845, 1090585937, 3883885568, 589365312, 198771213, 2080420000, 20988296, 944378329, 184593664, 3148923287, 2285862729, 2693187137, 2279197377, 2508728920, 1560421344, 528510169, 12687240, 1065288124, 1099356787, 651853679, 2986615395, 140302625, 2858418697, 2853773318, 3897715563, 240279823, 757751908, 3492478980, 108348872, 2780498905, 34527961, 2965477254, 3654967986, 71445552, 90975008, 2214963846, 3003215455, 419717400, 1728071274, 1899629127, 3318261057, 2290051762, 70868625, 1143173556, 2448722, 451942641, 2013811351, 634592042, 606281945, 564813825, 2158340742, 2348820914, 70868625, 1143173556, 2427636, 1834436544, 1458858273, 228006158, 1398294464, 419965625, 1610678670, 2938496895, 1677730580, 28353, 2508630382, 3657459424, 792485254, 11665446, 685334531, 1706708375, 977143172, 1452563481, 1586578467, 893396426, 1610697850, 981019379, 438318418, 1391932620, 671160386, 550969560, 1611217665, 1480005656, 980312874, 1543980232, 1074483589, 3366304736, 524049881, 1169681, 14720768, 33557917, 28024257, 2508630382, 3657457262, 2249241088, 3542360861, 1313701898, 1627542601, 1399068699, 707011429, 3075708928, 2031929408, 739172620, 537592646, 3025330210, 2472997956, 587514240, 2779416242, 23479864, 2819083, 1184128044, 296354100, 721423089, 1385169585, 685254949, 3366304523, 3640832178, 2493165, 460213632, 68309785, 19816727, 978210009, 980157222, 1663721507, 841623930, 1178468678, 1728068389, 3366304736, 792485254, 12108183, 2287492477, 3003392611, 356202496, 923044633, 168062047, 1399182128, 90474283, 959111239, 1212158763, 3103993417, 1164181852, 3227310389, 1459676764, 3864959584, 102828623, 633906497, 2284470451, 69362214, 1770872838, 1677791930, 1337995608, 1733798066, 1099451767, 3004259114, 4261614594, 2338673408, 537597979, 3624080457, 1496699696, 588003917, 340439354, 1246701151, 3238803208, 1282095466, 3863222610, 1818838472, 2778766784, 1099448896, 3004104972, 537592101, 2853888122, 2593539328, 699915, 3231727168, 3247933533, 1483190801, 3540069987, 979168845, 2147751226, 704653893, 1181571076, 1711303172, 3073075738, 715436731, 2348818098, 328099232, 68233435, 721439387, 690031808, 222369514, 1833321801, 2521152268, 2919697726, 28377153, 2284148659, 83966126, 371543209, 352662545, 685452032, 117819557, 1099439204, 3762247170, 14692156, 1569063014, 2249215411, 70330587, 721428311, 3434274831, 2201197631, 12075400, 661303812, 1466636613, 1074008360, 3677028378, 4100614404, 1914310221, 2153467493, 1075319339, 412501435, 3762247170, 11583895, 2287818843, 1099454538, 2987471949, 1170777531, 2688434400, 1062601216, 1099455809, 2973861969, 1084243520, 3004388133, 1464682085, 2684622138, 704653893, 1181571072, 622333020, 3644484613, 2216361988, 4146735643, 167780421, 1181571076, 1627417092, 3024947712, 3424139042, 2468431429, 1224749933, 3404771840, 16777281, 16927136, 1044384686, 128991489, 54571524, 1094203160, 138757725, 3543147269, 2785113181, 1482954858, 4149433125, 3543138588, 1377448195, 237328389, 2199149637, 1176961122, 2590352840, 2768940555, 1706799621, 18119250, 2857110620, 3644484612, 1764427818, 1765436416, 1076156226, 1784874440, 2777415713, 2688474811, 2986672404, 3222100009, 442323320, 186325290, 1780744704, 540210282, 1771455931, 2952790272, 4260098, 1175236103, 2957050115, 1085408321, 943134721, 2087191146, 450888722, 468321665, 539912078, 1665007727, 115409362, 1229535449, 672872718, 1306130610, 3138039307, 1689391303, 1399455783, 77818517, 710937921, 924470830, 834208436, 1794002304, 979749029, 2348826784, 1037480464, 3344132608, 654616065, 2535140941, 2244519308, 2732560, 3344132608, 654616064, 1783007297, 1224748312, 407064900, 3155847447, 2287900768, 4098709506, 874644936, 2780540928, 4294699, 1329694586, 1272976683, 3196431994, 11551112, 1315520784, 961678653, 11732012, 1557735425, 372515338, 2763145488, 2403382020, 1093022754, 991564, 1331808680, 2990639237, 5128582, 2919254337, 272193601, 2272941069, 1023521540, 744282408, 18305862, 2285980054, 1161891983, 1463912314, 1404240961, 652876045, 2115208, 1073826872, 2521149969, 57157482, 1901137920, 3222094260, 3232401331, 2527412616, 1548727044, 1093053986, 266577, 278283713, 2542281515, 6594621, 2153070864, 1246357567, 2622065664, 115883932, 1306531914, 4256039057, 285215406, 192233744, 1257087038, 1790053557, 975831082, 1162243416, 23479864, 43189601, 296360224, 79768608, 854878825, 2521152269, 1040264848, 269170964, 2953591060, 2964522019, 673531528, 1095341637, 1099436608, 1099411008, 1367740160, 1124078673, 3003679489, 1667511556, 207411514, 1821787470, 2251928196, 631932595, 26487552, 111214698, 134283558, 1578314520, 15353500, 2521104562, 71499849, 418457601, 764044295, 420479829, 2819097, 1785932320, 81869204, 980156469, 1906985987, 1703569152, 90243690, 1998589189, 3366304699, 1091585348, 2604876048, 1061460802, 1091583044, 2604286224, 943758247, 4294749, 4138606, 2134946320, 3623888742, 2585894916, 392894840, 273533736, 587503730, 2535722043, 1784677891, 239964456, 359282728, 19460410, 1765436416, 4050206789, 3426166216, 2780541249, 2273330753, 2282999105, 2289975361, 2256552096, 2277564447, 1012760576, 3759113011, 2623078584, 4294749, 1074579982, 2969567425, 2508740718, 1573962133, 2287233381, 3384907144, 1212552000, 2987174966, 2556690776, 923009824, 18359578, 3038392617, 538648580, 2301299234, 3865428552, 704911146, 1178236928, 706218794, 827555865, 992639338, 3931909137, 2852193891, 939573283, 1465991178, 1091790407, 1176382048, 18409037, 3627374595, 757743621, 1627427076, 3240632338, 778949424, 69551652, 738470966, 2556694824, 3677028622, 1516710493, 3543143455, 136998501, 3403723451, 3760554460, 283534336, 3759636956, 82182320, 4294712, 1370686521, 1390949377, 351952494, 1300613285, 1099456861, 1099393113, 3003392357, 1528476764, 3643473934, 2741340775, 2241633, 1170777409, 2283159626, 2249474227, 72558807, 1203773271, 1275138465, 456620499, 805383517, 1708340046, 1637876747, 1154656434, 16777281, 16990386, 71383095, 402739990, 1747848448, 96016945, 17447470, 1301808516, 1382024194, 342754467, 1767068402, 1398276686, 1593072641, 1164854840, 2108025, 988414854, 1176580136, 97154521, 1610762272, 230242026, 672676138, 1610688544, 218482853, 3147840704, 3004104972, 541710174, 2533388573, 1246497067, 425631273, 538951684, 2536050757, 1482844771, 97035520, 67147776, 0, 10501120, 2403436654, 9085063, 3896608513, 3836871755, 693174464, 751718176, 1708339758, 1300260582, 1326594873, 689964705, 2158340743, 3012969825, 268518669, 26649104, 46309889, 63086594, 1166802959, 2701264066, 1845625133, 33852671, 4020241221, 2348814241, 50643566, 51391747, 76349423, 3760671067, 16777395, 83956928, 1599217194, 3351882, 1411136301, 115409222, 1596784678, 67313688, 886057733, 3366306199, 2285386108, 2688343218, 70400759, 1390412967, 1586506336, 135404158, 44968202, 3769797632, 498205953, 343566737, 2014653176, 173565143, 980156646, 570432288, 2056951365, 3148890504, 1566552836, 842725202, 3758404122, 2114137673, 1476404321, 3743951889, 2389524586, 2781390273, 2508723071, 708878396, 3753054630, 1834161945, 2565779, 671764122, 832578770, 428474577, 1564878789, 3567586620, 17648640, 3003400512, 4149348940, 16928350, 4099681291, 1834134016, 654706179, 174936835, 3390765079, 6509910, 1040198194, 2485391721, 268543565, 1050035456, 16777281, 16990386, 104928448, 109256705, 885020404, 1238575737, 20206332, 465569665, 750790300, 1276667086, 1560699201, 814096027, 671161381, 402739508, 1229009050, 1409703578, 1293943818, 629801002, 67719754, 12457285, 537602393, 55908320, 77988756, 1361726487, 433142380, 92551776, 67644025, 719324481, 6816526, 1728059420, 903424018, 451364160, 1430858521, 438683813, 3147867072, 3003954489, 1210581290, 4099227685, 1478578983, 418050, 3862572621, 2149119085, 1091392293, 3543144530, 1241607789, 1076709988, 102669096, 17934873, 633906432, 16777281, 16973972, 2986623288, 3640664149, 1463463210, 4261423640, 22099017, 1091318062, 2538274820, 136958266, 1811950106, 1664378880, 3930496005, 2220291173, 1214632752, 18625304, 358434874, 2925959776, 157193472, 622337106, 2301255772, 3460682544, 21302877, 288030724, 156387990, 1169924259, 3232960934, 1301171584, 647777281, 1277189326, 1171468289, 348151445, 671171923, 654314649, 710946122, 1677806624, 775181024, 491869061, 3366273281, 37789774, 2152051216, 3623888682, 2032852996, 156387840, 657279556, 100866398, 2469401962, 822138881, 3405787928, 473590017, 924552781, 2147803976, 542953029, 3543138585, 879912392, 2780515967, 1762463849, 2957084741, 1088425859, 865900288, 3087008000, 4260099, 14266884, 1094359655, 237322264, 22120037, 1545322764, 1376133397, 3546355512, 3928270612, 3758130716, 3542372907, 1784660022, 2502428230, 544817265, 3019985765, 1459632150, 2233247492, 739977728, 626174540, 2785501190, 2741249801, 3626582040, 153818180, 3644494596, 1630847061, 3509059882, 1179488553, 538872121, 1476409170, 1778455646, 1784425491, 760436762, 1767899435, 1949895264, 591712810, 2033871875, 340344885, 3375012448, 186329604, 1647855925, 1180509640, 2780536993, 1084247616, 3003399195, 3221659905, 2254782468, 2803562281, 538951723, 1849956437, 3610982404, 2083946557, 1247544932, 17881445, 1381447680, 726980832, 2990604545, 33964424, 981180577, 1076288895, 1562825599, 1495700351, 1437795410, 1796801194, 1567907392, 67644138, 1251211442, 3003401821, 1394022657, 1449776469, 1224758031, 1249285921, 3637031584, 2701196097, 2288845046, 1099357440, 4044175873, 3760143453, 3707822111, 1251531520, 786108594, 69675569, 52045098, 1312686314, 580004608, 1565065652, 1677793638, 1178075179, 67919514, 1294020641, 1927691053, 1612913408, 962614487, 440302921, 74999445, 53291479, 32123630, 1300235480, 1184647104, 1733774337, 761667904, 2056914308, 1382049194, 987765517, 710945992, 721488928, 733306200, 1640122410, 403788396, 395006700, 1396255328, 1700224663, 52838744, 51190442, 2521152294, 2474604722, 299040804, 580071256, 982713441, 6170356, 1409362976, 224753702, 1705670657, 983196863, 2521152302, 2467302547, 350228266, 1131375104, 3784769536, 14681898, 962346502, 14784256, 122887, 708402290, 335602071, 432, 2688139329, 2287157313, 2261991584, 2705371665, 1176608882, 2535719208, 542566009, 1459808877, 1461540635, 710934868, 540332356, 22855717, 1177375546, 1812010061, 2053231692, 739301376, 541382756, 475195649, 1713723396, 1711502393, 168063315, 1224746530, 2454246181, 3543147362, 2853836823, 2685871133, 1280469508, 1798918951, 89176320, 1697990239, 628300114, 3040504835, 140330568, 188363104, 16844397, 1464607492, 3238204730, 3999727887, 172953165, 2149059677, 1181046530, 3027326724, 1799703040, 889461786, 836809403, 3760143453, 3909094817, 31461162, 1130130688, 3784769536, 11550977, 104898618, 3223753599, 1074434836, 1084242240, 221839794, 69944530, 721432110, 571104284, 975783872, 80107178, 450889065, 443033644, 69868281, 872884842, 455933988, 759850009, 1565662762, 1612907713, 304755456, 1296457278, 16392721, 671558250, 455934932, 1747715128, 1440168760, 18116951, 14221348, 1785338617, 910033588, 1901565509, 3152023338, 1130118656, 3784769536, 14681898, 962358531, 14784256, 110592, 10500352, 1430327528, 5288452, 959084600, 1376076349, 173888082, 2113938718, 4097921796, 1628971122, 3862637920, 588929633, 1224755809, 2789298944, 3640665122, 978001408, 3647296087, 554625635, 1378359605, 1314655545, 710105089, 3928682061, 2244519355, 221905067, 973078541, 956358719, 1547567288, 14688060, 1574633486, 3722985744, 3896554244, 657076480, 906322241, 340929060, 156472214, 1157628160, 4260099, 1085408321, 991500905, 980156498, 68768416, 88146059, 1184113668, 580085492, 1141122258, 11998561, 204566744, 47856426, 12609178, 1574462470, 1731664153, 944899833, 977952779, 450897368, 1691575340, 83966630, 1706557483, 68375289, 874734234, 1705053222, 1901618211, 80085768, 1557274154, 20214373, 3366304672, 2692762016, 931153330, 69297267, 491600489, 2106578, 2442908, 396362808, 1196302656, 819538688, 101132627, 43330154, 606868358, 1700201210, 1638555649, 1411392722, 2500252, 1327062342, 3367156620, 13541431, 4222747704, 1196302656, 819538688, 97801555, 73472057, 1599616344, 3474441, 440479777, 119753962, 903029761, 19286017, 387529265, 28193189, 3366304652, 9609376, 4222747704, 1196302656, 819538688, 96629804, 69297267, 115409642, 1633119886, 1543575258, 992608820, 1881344321, 7537847, 990793088, 1531847185, 4172462988, 5681668, 944197153, 1076943147, 672001, 642253112, 1560642589, 1295673600, 539283972, 1647595017, 942232320, 3228682536, 388696671, 1950015792, 2619026012, 18265194, 3998056462, 1090729044, 19406926, 2617296666, 1767008804, 152716744, 2780541445, 18137122, 2472997956, 354052676, 23077642, 1095024646, 2452301380, 122829056, 625646159, 707013649, 777865318, 1040238419, 1778393118, 2439250196, 3221744733, 1246500164, 3630548992, 4196200872, 2778740945, 2986356996, 2890308666, 1812138589, 1403666099, 2521104449, 2287534280, 1099389696, 2644523136, 2181837315, 2687991878, 221708300, 2315497988, 944197153, 1076943147, 2241633, 1074053479, 421198176, 19731526, 706945053, 1295673600, 539284118, 1169940487, 708402708, 134275479, 480, 120207710, 2483028144, 221708722, 70797134, 557854937, 721441450, 1275140153, 1452957440, 111214886, 3367156704, 120207710, 2483552481, 2533359617, 3758565945, 1578369024, 2964522023, 1379467360, 1733774337, 874782040, 1678388596, 1596311717, 2693257394, 69685817, 6317911, 1276797395, 805404837, 2861020054, 1169359937, 606930055, 97327721, 3769778568, 1565057087, 1577451704, 1099453760, 3004281416, 738754904, 543638053, 340731450, 1780747335, 1241801310, 2386832403, 979267149, 2147747666, 956325937, 1493226360, 169545258, 3846746646, 1170777344, 4294749, 1088438110, 100710400, 11733121, 343554681, 697768480, 1423401985, 673194643, 1727284245, 443204786, 746500, 207881740, 671288458, 50750820, 1158374663, 228589633, 275020963, 2130725376, 460174084, 659609858, 774846465, 2320445816, 53488132, 308879364, 3239474288, 189171301, 3543138888, 542988330, 4216444822, 1172311939, 865904384, 2957053992, 1773341880, 1397957667, 1171269635, 469838193, 1401834880, 1893280481, 253303545, 1610689812, 1228932711, 708112562, 1091602944, 1370624209, 1140926656, 1665738067, 73623761, 452082284, 1203783322, 605507799, 980157204, 1785266542, 1178075168, 218181771, 976300320, 95103191, 73473800, 1557274154, 14425029, 3366304736, 791098934, 14692169, 1526726832, 3247902892, 843166468, 1397960225, 1074585604, 23360270, 926616140, 19669078, 2387550220, 3759087892, 1879402590, 2564862464, 746502, 207881228, 671288458, 51143943, 228589889, 274989120, 2743009354, 1800627, 69297267, 237592213, 1430847531, 68506067, 1678140417, 1142955654, 1677867636, 36982154, 1545102558, 13321862, 1680607384, 980443138, 2116425, 2521121040, 677098244, 928044800, 710891573, 3543138660, 626740779, 710677331, 2244519361, 2534452274, 1102251041, 1685259443, 1400920910, 1698711196, 3670054, 82334545, 604642062, 1203774196, 1660948033, 740298168, 959092293, 4294739, 1404244781, 734356202, 26683728, 2849434, 2521121160, 1698709894, 3271587488, 872439564, 2668081669, 18137183, 1377709645, 2153945677, 537183747, 425543240, 19413254, 3240950367, 419443460, 39087621, 1090545664, 3189421338, 3931058552, 588779816, 3489689937, 141227817, 537323010, 2924824060, 2998603060, 31458090, 962562559, 4278247831, 432, 3003393863, 1241578087, 575157765, 1646650954, 1252307521, 2261019570, 70334861, 1728082393, 876020739, 2684701200, 340675600, 347300282, 1679043941, 3366275856, 347284114, 672451762, 1099351375, 215417613, 939569937, 288952470, 1161922246, 1074583299, 221774259, 286341392, 2521104449, 2285392819, 69743960, 1728054726, 1176513109, 1741015205, 3247802386, 727545312, 524049864, 11732008, 894985984, 98062359, 1796831233, 420765428, 625541223, 53291968, 586828017, 672937299, 2582170, 564159914, 3367125384, 725660420, 674584679, 377374, 2502583752, 2768240896, 4264135, 3370680064, 2348811752, 2130783489, 10486232, 2986615140, 1929838596, 3016982615, 872546415, 889192621, 12293428, 1110707933, 3759360657, 3348968448, 3758565945, 1602813952, 2684469728, 260256669, 1057009734, 2140946881, 2500904919, 2588008463, 2201197901, 11534403, 872431809, 2542285330, 1279362658, 1222655839, 3456153665, 2287943745, 2271365344, 1063243264, 3101699936, 2139553976, 13455156, 4294959111, 708403081, 45840, 4261614665, 1078581017, 287834408, 2673012792, 2053457974, 1950780536, 587522370, 1179438121, 537229414, 2499813445, 1178599772, 539284118, 1157627969, 2287289921, 2271398465, 2282897473, 2254586035, 69617189, 1924816564, 1631597395, 1074684517, 1663047697, 1761032454, 1327876261, 4294674, 1564575587, 1504904249, 1749638475, 1795842049, 751313237, 1678135257, 903065778, 1099462976, 1250298722, 643991134, 778207155, 70990600, 1398276678, 1700214993, 43285848, 4195469, 443127365, 1250298709, 3003398504, 1225041494, 2791134054, 1040274007, 1050035635, 70871113, 77788338, 12687240, 590044083, 320105065, 1612130520, 1382424106, 73541711, 991106841, 28635314, 1099456320, 1099366763, 3004225320, 18620485, 3647351296, 2305501236, 122929423, 757753172, 73570143, 3238809348, 2785078832, 152716744, 2779911054, 1705023493, 2861019926, 2685481984, 658666608, 223576093, 3422572324, 3523336214, 2684635219, 1361318990, 1040390482, 2685933882, 2114071066, 369564, 2986344704, 11670414, 1705023493, 2852238230, 2768240896, 4260099, 1084268672, 1621112704, 1555170369, 943134737, 1382809704, 73477152, 180430897, 1893204340, 1581932094, 12600528, 673976756, 1901800161, 204276737, 1685276316, 719987747, 161551946, 1565620230, 59647296, 1664559314, 49958510, 1300235937, 17452842, 1543579680, 218482853, 2348887968, 931166386, 71383095, 403788396, 6817156, 1719665666, 1478825985, 1378238785, 208020810, 1409363223, 1394083201, 175400392, 673396380, 728390691, 216007681, 1685259969, 742991604, 1454263680, 455088151, 447620119, 455738756, 491475690, 36982145, 209275340, 924846389, 1394096369, 671165719, 1394081835, 67319566, 624952929, 3769797632, 3047202944, 2159150145, 943134737, 1382809704, 73477152, 180430897, 77988750, 624958186, 402737030, 1611354866, 720467974, 48914775, 1854823459, 156455808, 78785258, 1203771416, 1726618177, 807554713, 956957805, 1401580887, 73604097, 7537985, 51993926, 1208030958, 1641230358, 1774731838, 2493664, 246501996, 7958993, 1140991088, 90726040, 1610735794, 2348823474, 71383095, 403788396, 6815826, 67245837, 1391067178, 402739750, 1094782310, 1543706922, 715130076, 959053907, 586441486, 1300613285, 3149071617, 348130182, 1184051201, 51993926, 1208036384, 179592220, 723059814, 51980629, 44459452, 465576494, 1223576960, 1654285730, 1355895404, 2107692, 671164608, 564552257, 203823106, 1882982406, 17190850, 1210778648, 1398355270, 1663420581, 16777281, 17170523, 2743009354, 1802323, 2687959119, 2694873163, 3003405139, 773931020, 3758358884, 1929838596, 3074100813, 2153567545, 829959172, 678098730, 2036334904, 3512893469, 1213353549, 2153985874, 1814749488, 2556747322, 1811953664, 1180388965, 1079334714, 879429072, 2772500739, 1084268798, 2986623288, 1383179876, 442583296, 722019840, 876924968, 587809092, 625908736, 3221656169, 542495016, 738525496, 3110188125, 1477910533, 1627411972, 3629341108, 2995519577, 2986623288, 1375998234, 168133661, 1176611424, 37243233, 1246495320, 643996261, 2704317015, 425543240, 100679523, 925422081, 1399150432, 16918081, 1074177536, 1025649199, 537321730, 4095875077, 2164598344, 37243233, 1246497107, 2472752936, 3533063611, 2952790272, 4260099, 1084268672, 1520449408, 1454507073, 943134721, 1359375703, 1318739971, 539165698, 338298428, 452996759, 1230456768, 403773962, 92550812, 728390691, 94437433, 242307978, 1565066338, 874858839, 708706496, 1909008408, 1726618176, 1599294931, 805394209, 3769797632, 3231725566, 2986623288, 924320081, 107829070, 2589984349, 1174766694, 2147746324, 622337081, 704783937, 1091538259, 167786766, 1633168137, 723136826, 1812129365, 3376924104, 2777415809, 2694873186, 2986623288, 924321819, 1784575083, 1763864, 587555072, 1157972292, 622336810, 4261645861, 1080244008, 3523576068, 1929724163, 425543240, 18280033, 3543144218, 2921741828, 1628993798, 3273392982, 877494287, 1010446592, 1225654573, 391321600, 721683255, 237323720, 2777415709, 2986623288, 924320081, 107829070, 2589983520, 587907368, 3221655834, 177620411, 3003449620, 3227659851, 3227723322, 4229677125, 1181602608, 16803840, 721687378, 4189368832, 16777281, 2290052161, 2263640288, 792485254, 852225, 2986616659, 960839733, 3646947585, 1717306168, 643933799, 710870472, 2780531712, 1061259306, 1812791553, 3761192029, 2248192524, 2807943493, 3327074376, 3542833962, 3760543846, 4101701636, 122894661, 1170777531, 2348814657, 2289257802, 2248886566, 3984999693, 16883713, 3878088070, 1672610849, 1729444401, 1610689568, 775181024, 80374997, 1390830936, 2521152480, 524049901, 11575297, 3232760064, 2949427, 1098889728, 1335928289, 3004331011, 1479022874, 809135104, 724947461, 2218083683, 2938980, 107096618, 2781390145, 2287684621, 2131025951, 733895424, 2964522018, 112666986, 1593845977, 980156459, 1221605996, 18108266, 1594254804, 3434258597, 2154643848, 946189060, 570697058, 707440205, 2152058920, 100722207, 3238842653, 1130676333, 1467488818, 1040356264, 2999031176, 323389640, 3247933482, 474001924, 570934898, 2013275747, 643651584, 3640664165, 2924314636, 3765604392, 221921386, 2781390267, 228917259, 3120710145, 4732160, 20163379, 758317483, 859932728, 1639124141, 1785487296, 136386329, 443103852, 14221344, 781476865, 673211174, 989369925, 1099448065, 2923530170, 27869574, 3774915650, 16810128, 3760143453, 3774919172, 570885755, 1516618, 1375769162, 1093688134, 2603093331, 542463317, 1465955328, 2271944785, 2701988970, 687889259, 167821350, 3998089520, 2502618394, 3087031074, 2588221478, 3998089220, 122065956, 19425027, 758803478, 1164181521, 2001879044, 205866568, 22823467, 3389285221, 342501632, 1231247177, 3626573836, 3758416184, 3104628837, 2924316132, 2998613248, 16834571, 1873084415, 3399683, 708404383, 4294901985, 2533359617, 2957084397, 3426846444, 12781293, 3959471682, 16777362, 3760143453, 3976212204, 269216779, 213516978, 69338918, 1096286240, 513369642, 73938248, 1124076768, 992305920, 1386892323, 80305619, 1124074524, 455760940, 213013066, 1327514841, 719392170, 36333312, 226886598, 1918897376, 1296457278, 15815576, 2577258, 1545798873, 894632294, 1178075494, 1663048465, 693436606, 1906729993, 958399733, 1797261027, 470375891, 1076042366, 1893602981, 4239571725, 2768350117, 3003392516, 3579107114, 2034745348, 2724146490, 4167548932, 3609819745, 1476404273, 1395324011, 5335850, 3855131969, 2260556211, 69338694, 2013406650, 1301772323, 155333669, 403782222, 3836916484, 570696970, 4165998695, 1429807131, 354843, 538125364, 2249401808, 2780927368, 705920768, 1843397418, 962895871, 4278247831, 321, 2284482483, 388245120, 82013326, 387055832, 51997358, 604397586, 2013993773, 719352024, 379937827, 893411550, 1612916361, 835956914, 2986615303, 224349280, 36346165, 1467078696, 238187613, 1476404309, 3644422724, 107424330, 3113633211, 1099464513, 1854279856, 1099455835, 3003392516, 2120536104, 272263495, 3221579561, 3543141468, 3340585366, 1161922690, 1639121985, 2066622465, 18752052, 1459687213, 1397502989, 671159651, 1680542009, 961123909, 1099451712, 3003400761, 2853888008, 1483117081, 218298952, 4047137942, 1157628064, 2772541518, 1094783161, 3487567658, 1130667776, 3784769536, 11551283, 4797696, 855673856, 99139379, 1124074838, 3759090243, 1688142049, 2533359616, 3759113011, 2640707768, 1110638663, 2519960576, 76886944, 2772451891, 4797696, 855673856, 99139379, 1426063616, 1865547776, 2902506416, 16777281, 16974247, 2986754848, 54819371, 2741260804, 324204855, 2321752332, 639107652, 1013622216, 2780536997, 3869286243, 3003392516, 627190314, 2924314654, 778242922, 829949540, 16872531, 537215235, 421124064, 2996871151, 3003392599, 2252742926, 3073076819, 1481097314, 2436440334, 1953497924, 3223570502, 2506144865, 3744014418, 2857227056, 22927766, 1168126720, 2343767208, 2031178424, 75249280, 1184121600, 1458197719, 689964394, 455095959, 1633157310, 1263023121, 722993738, 1564481851, 712600298, 1594194979, 506733080, 2122534, 988289802, 92548852, 1208093465, 455737386, 893798189, 73472032, 506745144, 1691242240, 172032902, 1178076257, 495347114, 1543707661, 671159383, 1834448907, 1573539121, 2015585716, 1770848682, 36585816, 44716721, 2830254899, 21427, 69338149, 1663454510, 1300236001, 18112106, 1545808842, 980156455, 573858129, 2016152418, 544945472, 1171270400, 83569406, 39461281, 814557201, 1385193482, 2000104010, 1203779411, 855508074, 1834156115, 403208465, 1387828805, 1110638656, 3003394169, 290633732, 1830514253, 2150160682, 1610878291, 542463317, 1465918214, 3240905008, 3629503280, 739352853, 1395533385, 1224946765, 2586318174, 2573158699, 418314, 1179434081, 3744014410, 2590352840, 2772500738, 1084240833, 3759090243, 1688142049, 2533359617, 2952790528, 65, 16974019, 2986754324, 3221652256, 20234273, 1313198896, 21249545, 690694691, 707002700, 540210282, 1761968416, 622330228, 1980129876, 722108696, 3227726925, 1080239674, 4229677063, 2589427293, 633906592, 826843191, 1604362460, 2986352909, 305706, 3995599197, 3646953065, 3395709539, 97035660, 6009344, 554500100, 2838022954, 1850577272, 290670848, 755980877, 711284553, 3542687839, 1479922480, 408113956, 738474067, 1394868760, 727538474, 3878348389, 1074161222, 537215235, 2252748804, 1914310221, 2148477241, 1798904391, 539716172, 19868986, 1888896443, 2957050118, 8953911, 2156175520, 8434184, 2165789469, 1180485447, 3225852452, 23077637, 2741585500, 3160584507, 960130050, 4095402081, 1246352176, 19731529, 1074161222, 538637418, 1761858664, 738525460, 3226901069, 776830982, 3776031257, 537273091, 424845616, 2621123840, 3227970121, 1395038816, 170751071, 554444641, 387598149, 1074626856, 537724360, 2780543968, 791098934, 14692169, 1526726833, 1090585152, 2687582368, 927309984, 1084241861, 2694889696, 1061569536, 2692539826, 70724377, 2753672, 1381112425, 1610694890, 710952600, 1677810720, 1317953861, 3366304525, 2080422834, 348256421, 3836706174, 1350435072, 2684375986, 191310208, 76880617, 1382405285, 3146579936, 1333657858, 3246391874, 911040072, 3796455294, 50498560, 214011650, 1226917455, 2114257601, 2399291674, 1256210231, 872451327, 3015806722, 1218202336, 1060579584, 2365564353, 2197964802, 1209027296, 1060562432, 2365560257, 2197966146, 1300777696, 524901227, 11206849, 2197962730, 1072777952, 524901159, 11206849, 2197965999, 1291602656, 524901160, 11206849, 2399288692, 1504842541, 455435008, 1383168001, 311769710, 1382402213, 3146579784, 3247374911, 4284747057, 17599241, 2986616354, 2590191139, 344320, 1744899354, 1814567016, 4182230472, 2780543920, 3762240548, 9240344, 16777281, 16990386, 71383122, 67245385, 826279238, 19540640, 550730387, 92558552, 1623993088, 1162224660, 761267553, 21390113, 242507565, 176233236, 1798140248, 1680608440, 1691246470, 2014390473, 1611223955, 2521145399, 4120944754, 2986353161, 3442005760, 3225852452, 391173946, 1812141162, 1761898810, 167798528, 710891573, 3543145499, 710681350, 1730819312, 2995519525, 2687977376, 2697247664, 2986353161, 3442005760, 543332941, 537217862, 2621074432, 956720938, 888189627, 2952791040, 0, 160, 1313227024, 3200294959, 57581646, 14917633, 14673791, 1677730590, 54790, 1903296627, 208799666, 320096596, 1296048343, 1607355776, 402739430, 805377286, 1665549886, 36313710, 1300240774, 980968468, 1296041281, 59131448, 3671428, 893396618, 1610768149, 684721250, 679019688, 1162238977, 1279400725, 689504359, 2104524, 59655712, 154737162, 1276399166, 7473225, 684261620, 667273381, 3138203393, 2955309439, 1074688370, 191958540, 1913106948, 1260998912, 3225799735, 539874097, 1461164371, 1211376388, 3647664954, 1812230995, 773931032, 207475533, 3543141177, 2589802550, 2435175216, 100676636, 3422566226, 1778491672, 639113317, 3509264684, 923014245, 2866590221, 788639904, 25203466, 1912733838, 3760160706, 1912643584, 8696329, 2488710221, 1399071525, 1495986746, 1850572837, 3626166885, 3259509513, 553708135, 710677786, 4177537644, 3511869709, 706857259, 358698, 4063913573, 1074393403, 960839714, 2472995429, 1381433648, 2621123840, 3227470383, 1359115300, 19415605, 1176773429, 1080240727, 1886275, 2254249992, 16879954, 2449483301, 3625628968, 3621827259, 192022284, 1912791103, 2174615728, 2684472842, 1912752871, 2137260067, 1509998752, 25182695, 2137260067, 503347634, 70079017, 719324481, 3415244, 33186592, 1162568739, 189348620, 1796811041, 813106285, 672748176, 41182638, 1300613285, 3138089479, 3762258334, 11593599, 1677730630, 12623950, 1088431489, 3692065380, 10485960, 218235276, 1237031, 2178711410, 10485960, 218235149, 50400559, 27263616, 2392850688, 2326924472, 692680892, 189680942, 1841916113, 2955265, 1357262863, 1796801414, 1294622025, 3474435, 539759251, 2126046, 53304986, 832638378, 47855961, 1203771640, 1726358314, 605573706, 57034566, 506093569, 1277168896, 79776804, 1452826968, 1641303075, 1263672878, 1300259474, 724384364, 6559524, 646860160, 1784753817, 894918663, 695491909, 1219630661, 3836066784, 1063867904, 2980053376, 2497724289, 2650841090, 2154082820, 571341411, 541412196, 593702470, 539023199, 3461185544, 1095820848, 738480667, 3221938498, 1952827433, 537714869, 1084228566, 2992539421, 1224746782, 776806445, 3613599176, 2777415705, 2988094814, 2505950821, 1224745068, 3513304901, 1476409092, 60863163, 3762252118, 9175074, 2986621237, 3391890221, 3542471472, 40118892, 3513336078, 707731493, 3627243621, 1234585019, 192022285, 16822451, 212166186, 255924666, 1301772473, 25841457, 709061114, 1663070419, 626469152, 1706513228, 874717399, 1607355776, 402739430, 808194414, 1294880128, 186723174, 1196033133, 672213369, 19816855, 1786332489, 2521145345, 3236396900, 2301440, 1088431489, 3692065380, 15302404, 2684668136, 3204746240, 165685121, 3699339776, 3917415072, 41961138, 69340666, 1663059275, 1680040750, 1176510679, 1607355776, 138498278, 808191058, 465570529, 1114924488, 689966304, 893410951, 491323431, 506350880, 769090341, 3366304736, 1063867904, 2348819122, 70858186, 740502995, 634597378, 1680501969, 1765871146, 790635992, 861431113, 2521152267, 1913064705, 14696321, 2650845440, 16777261, 22208559, 909185106, 2689745312, 29471492, 571229701, 1631726127, 537190748, 539285440, 2986344704, 14696321, 2650803058, 127057409, 3265266113, 1275135905, 16892556, 4294247424, 0, 146, 1912783520, 38054660, 2701263810, 3247899249, 1933937664, 441516556, 4390912, 1382941185, 218366273, 39274509, 805374807, 187499011, 2365575680, 50331648, 162, 16958112, 46178562, 63064578, 285237322, 34046043, 3883885568, 589824000, 1387398221, 685180020, 761267937, 19817254, 1292502136, 1380602474, 50756051, 805659794, 2015562620, 1382623968, 1906729986, 1030671680, 2852303360, 623283789, 2147943880, 3116097567, 656489472, 2684404046, 41044738, 55247367, 2955739651, 2365559296, 67108864, 0, 4294767, 1571947554, 203757592, 1727286657, 252593491, 1679391402, 2521152269, 2080418684, 2684420842, 1099448832, 1343320587, 6357036, 4698884, 959826476, 589123149, 2154123862, 2535124551, 3225053210, 2787236123, 707011332, 3125593925, 1074095650, 324243753, 740819217, 2536069434, 1811950856, 1516455492, 207407162, 2590141027, 97035585, 2259222742, 1099464448, 3507122690, 2160910367, 656476672, 2684387426, 2986625645, 3375003975, 3224301105, 3106564644, 16970780, 3931906917, 3026816256, 656787788, 3093564687, 758792496, 2368211781, 1256236434, 1912825824, 460104562, 268481028, 1646796834, 2472891239, 344584, 3861908250, 822104580, 189175004, 2995519493, 2996192699, 192022448, 2986627643, 405348656, 554201626, 174068560, 107424330, 3103796068, 3492282626, 322529796, 2033621553, 2685346348, 1226312506, 1778436389, 3644346885, 1627460678, 706948618, 1096565276, 3422913589, 1076267616, 405361152, 3543226153, 538951684, 2254907978, 3113633211, 192021168, 3247933503, 2130760096, 2256588097, 2255651016, 1099395584, 3272700423, 4325376, 4788594, 117454080, 58203, 1913061600, 254428032, 4026589591, 480, 1065459200, 3814421003, 766642581, 1586844426, 605763865, 977298249, 626214848, 1565021034, 1593844371, 1628328792, 1297670322, 3142485618, 1367739392, 1124073472, 1158491649, 2986615308, 627363882, 1612244514, 2080772, 2588761429, 1214597377, 2320324435, 241680652, 1243154474, 3110076800, 2779416243, 2515764, 1459619174, 642669888, 993525994, 458881202, 2986615310, 2971208288, 25208234, 2259877943, 138877312, 81343699, 1124074741, 1378772305, 4172431752, 1566290706, 2468429828, 3964870709, 3523509300, 3640675076, 3914334517, 2932389313, 2542287160, 10203908, 571221272, 407229781, 1467484212, 3608746282, 3758466856, 3380087417, 1476421377, 1896818457, 268445230, 2540020016, 2368210970, 4147730436, 1715901232, 20216426, 1916475674, 102640128, 3613297690, 1747460888, 22079024, 55067233, 3026856234, 3758409219, 1847710827, 6499909, 1499889935, 2371029504, 4044958208, 622449193, 541676313, 239964536, 22815781, 3609794874, 2466612280, 3089374235, 674497329, 3405798257, 1462246995, 1170777409, 2286764211, 69340934, 2063617689, 903032867, 452986081, 1079450954, 1275810546, 439449614, 1329025338, 558470725, 1090584832, 1309045106, 3230888448, 644939840, 242315787, 1896752754, 272740868, 928048938, 3775861833, 1546967299, 442414907, 170133092, 37698142, 1610959469, 1399259406, 1850274168, 388708153, 1529544712, 1483067691, 969978555, 2957050114, 12267121, 269250830, 3761203575, 268648720, 3187706530, 268681888, 56340996, 674550073, 167781710, 2617443885, 1074100506, 177620411, 2348842433, 2500050802, 75520844, 50831362, 1963786753, 2987448320, 537422137, 1476681986, 3027326720, 705188377, 2384464169, 388552747, 17573384, 1499285091, 1462435933, 1180084762, 3858015675, 2986345364, 2779382690, 50353888, 793258243, 10485965, 2986631604, 2782932807, 738394299, 2701329346, 2365554336, 64139793, 2702505043, 1040378440, 3461285320, 2780553231, 709066992, 14784256, 45121, 17127584, 801114738, 130082687, 1677730580, 4197234, 34438144, 2957050115, 1574965034, 1132523520, 3784769536, 815618, 779161612, 1896801115, 1913334960, 1090585664, 2473721953, 1048659, 192021170, 70734055, 719347035, 996827171, 518924657, 2013997516, 1305686024, 1383676538, 689990248, 1383604692, 1796418328, 73813281, 260909664, 893411658, 1610746452, 1230201891, 1628904007, 1163395292, 465569406, 1397082277, 3152023338, 1132523520, 3784769536, 31677298, 187555903, 2174615736, 4294749, 5771634, 184574208, 746042131, 103169536, 1400543748, 1627583516, 3931899986, 823834665, 537549138, 2684698880, 3861916691, 930730800, 19867201, 1074733615, 2252423221, 3533063603, 69671296, 1909539842, 656818515, 7473225, 684261620, 667273381, 1099436629, 1099395921, 3003679276, 1226312786, 2298689337, 278283713, 2542281515, 1605570954, 1731087744, 573858112, 712272269, 4917542, 26497312, 1726882309, 3366306199, 2285451328, 3003393817, 2147793485, 710830619, 754983013, 2921947407, 335713064, 19334776, 473225476, 1848378959, 3644183344, 587509327, 237323720, 2768241664, 0, 162, 16990368, 63021315, 79842307, 124650242, 755172492, 4293853249, 2287825734, 2260615174, 1925070858, 1912750090, 1913110545, 1913323617, 2932915, 332687544, 604120857, 417802528, 115409126, 570437079, 1663420581, 1099436643, 1099415391, 3003402266, 1700995376, 1342891523, 1784660018, 2485389364, 3510176260, 1628821910, 2782936965, 520140800, 50331648, 65, 16924896, 254428032, 4026552064, 16640, 21012558, 1076261392, 3370680065, 2348811752, 2130717954, 10486400, 1521615949, 685179072, 1628907730, 2759276, 1775776774, 1610686318, 1378248000, 68636903, 719676160, 902375644, 465645722, 1641230339, 1062421108, 1918895486, 1396772266, 49963434, 1610690009, 1611213162, 1326093893, 3140383248, 192021004, 1913097216, 84636162, 3762253101, 12059136, 162, 268550816, 32874753, 7451140, 571312739, 979195906, 1583557213, 3563786616, 587514115, 925423722, 3932160348, 537722979, 1227182919, 3228357435, 227952059, 3147825601, 1090633673, 1090613957, 1258358689, 16892556, 4293722177, 2284539827, 69411902, 154424659, 690342053, 1099439183, 3003400568, 4200488969, 3914504086, 1161922602, 1437795393, 654977600, 90774086, 826278921, 1385666117, 1099452992, 3003679490, 2502583752, 2768240705, 2287819699, 212554472, 672147797, 1610685491, 1691368044, 2104969, 962106949, 3247933468, 708894735, 2201198127, 12058689, 2284542387, 69685904, 2427124, 1431502891, 1422665733, 883824165, 3366273416, 593212176, 3623986781, 538640388, 4183802124, 538874944, 24660235, 2781390145, 2287588161, 2288713881, 1099369984, 2495713134, 37322893, 3004230241, 3374847257, 2315300117, 3309576969, 2702611271, 3226626560, 1834273832, 20239224, 287936030, 704821050, 2033871872, 1379606832, 2454919424, 705634583, 1398621732, 3343204620, 1241782376, 4012448000, 1174757924, 538759995, 222909284, 19487546, 556828246, 2791134054, 1040476202, 4179113806, 2388744196, 1899597159, 17573462, 3866711904, 20532013, 3357085267, 1476409097, 4146693725, 633906497, 2283552992, 792485254, 14684035, 866014976, 3087007809, 2284470499, 2542144512, 3818096139, 2658841361, 340629275, 977590586, 2472588288, 2588814913, 1074004791, 1716332103, 17796432, 304802375, 3227726917, 1074005599, 778249571, 4773989, 1465240097, 1476682012, 807753830, 4101589250, 2477306368, 4294783, 2092041265, 441778289, 1648779690, 604110880, 775181025, 203818001, 965567491, 1167347008, 1398380101, 3152023338, 1131369728, 3784769536, 14688060, 1571029038, 3524309057, 2282645002, 2752665011, 212298483, 690319468, 1154634755, 36581817, 2521161743, 709062485, 14784256, 110913, 2283168778, 2752664499, 70326869, 7407847, 1794320672, 1398380101, 3759090243, 1867841761, 2533359616, 2973861944, 1085408305, 441811109, 178524752, 2987272042, 4079558739, 1503020428, 1641124, 340439556, 3033313932, 897540, 3110794025, 542206870, 1169928192, 4294749, 1078036128, 1085474945, 386540375, 708706515, 565468489, 2521104640, 12687240, 470679688, 1099340544, 2202216960, 1150691907, 704699827, 298148416, 427235785, 6750247, 102197856, 226568774, 1695361797, 3366306199, 283430497, 3003532064, 18167577, 2037916420, 3238151781, 218207275, 888399, 421165383, 3318261003, 2602109851, 350226218, 963593730, 14784256, 111122, 2468872488, 541645089, 2858424420, 3613851653, 1735062422, 1169924178, 1091392001, 3762241282, 11551112, 377096859, 427209220, 840640564, 18258660, 2998602907, 420256532, 3761190449, 273850450, 1387399701, 992490503, 1153974273, 1547212421, 3152021290, 963593728, 11583895, 2284529006, 2986623424, 2773821953, 21168384, 3367161477, 2348811750, 3204559362, 1189416257, 16894642, 721799333, 2348811698, 2521152432, 1099446336, 177935444, 2986619419, 674496788, 4200492621, 2244519308, 3256836, 840640564, 4099014715, 320280835, 1784660026, 2032855651, 776831245, 1562465636, 38767899, 627245170, 3999738444, 38394262, 1169928192, 11666482, 455619587, 1167347008, 1398380101, 3138165529, 211490016, 792080656, 1387266560, 158, 721571586, 122891, 708407125, 16834967, 480, 443515300, 33620128, 29381634, 69970731, 33554432, 10365186, 194184015, 33554912, 187316591, 1778450657, 2533359617, 3759828865, 2466382080, 2684469332, 33827243, 687866624, 0, 10486600, 1275139147, 18014255, 1249247488, 2684372582, 17842336, 56668691, 3563632676, 120273194, 3758494290, 3926011441, 3103993103, 1103896746, 28546629, 1325531392, 2902506416, 33554432, 6422786, 1152057771, 33554442, 2466500320, 254428015, 1778442647, 289, 2475147457, 2542279694, 18156179, 309441296, 3508207887, 559986784, 39737889, 2688895844, 19406880, 3542493792, 739314271, 641364344, 39670611, 1278476588, 4200490440, 2778761081, 177936727, 2987901236, 541645089, 2784798139, 3759483838, 244554496, 2964456536, 916079904, 1625162637, 455083377, 965567513, 894567310, 1705363621, 3147498049, 2275109898, 2601806002, 69400622, 177411145, 3003707707, 633906443, 2467607109, 3650504123, 3759090243, 1869218017, 2533359617, 2957084520, 5245587, 341947140, 1462292795, 3926159211, 419444581, 3525845772, 3758359160, 772337977, 2372225430, 1169294381, 685310003, 68768488, 872486676, 30631251, 1631587552, 67270702, 1825919726, 2101974597, 3152027452, 1569915064, 3003400512, 725994551, 543533640, 20386889, 1496699696, 52213856, 124449594, 1812226334, 324240840, 2772535333, 1974669866, 1689804824, 692129204, 1880234622, 42417480, 1728055014, 44448485, 1409558163, 387515178, 1176521025, 210638609, 1141648160, 992331941, 1099437568, 1373638442, 1131375104, 3784769536, 693012, 1957823531, 1154623489, 358442451, 860774826, 2763132051, 350236470, 823153312, 1381347840, 1348290118, 1040262750, 450912, 2987804104, 2998644915, 69367854, 183581069, 1699321413, 1099436633, 1250368085, 3004378395, 544381509, 857151744, 1231177311, 633906497, 2285387954, 69400622, 177411148, 2988398413, 3551572620, 504403, 1503020475, 2952790272, 4260102, 1076269951, 1088429863, 556925088, 12585619, 339795983, 709062506, 14784256, 3219, 347212972, 1796800554, 1909662727, 1184653315, 807674067, 640344244, 3152031542, 823153312, 1379971848, 2165732464, 139613509, 1495940609, 643696072, 2768240896, 4294749, 1430355716, 1373635370, 964721919, 4278247831, 433, 1099446336, 292424705, 1090584925, 3003750514, 2535719189, 2438172237, 2147853825, 1715108096, 4050206770, 888189505, 16924851, 160985751, 604050833, 1401834880, 1834448903, 1573664561, 4172415744, 0, 4260102, 1078001926, 1388418952, 470699201, 2508624744, 2604993794, 31465290, 1989345440, 12978835, 350019615, 1249273856, 2684405258, 1746194400, 524973723, 10485952, 177935424, 2684518474, 2987504752, 404299786, 1667815509, 3610930176, 3379385191, 1462427653, 1899597156, 109094314, 2259812407, 402857985, 1189751320, 2765016, 92494883, 161551866, 1663967552, 115409812, 1579783749, 3146514508, 2987560193, 706404656, 1141293852, 16978474, 822154313, 3543138636, 1326252144, 3623949338, 540071941, 2188135174, 423008817, 3103996985, 167797792, 3613380173, 2150508105, 3543143453, 3928176640, 923207112, 2780553231, 2201198263, 12058880, 9682176, 3249209471, 268452275, 299040800, 580341079, 2753539, 537020448, 558777811, 805377216, 110828117, 988414182, 1679570560, 78913390, 1398294464, 626465388, 689964237, 1378433644, 4345496, 2830283532, 2706597450, 2925346844, 3640945946, 1815768064, 855902249, 3510266884, 2020774999, 2530380, 107224659, 1171301632, 16777281, 16998835, 71383095, 402750568, 3214889, 1385652244, 1312686123, 67261478, 1654285733, 3366273281, 37789774, 1083424000, 3249209471, 281075775, 1057095904, 1062127872, 3087008000, 4260099, 1085408833, 348144855, 826346772, 1159728384, 1907646784, 1653680138, 1954088097, 740314775, 1705062542, 1276398912, 580341079, 5047462, 38150574, 1296041505, 384453075, 990390905, 2758664, 1184445784, 20412759, 92557920, 993526118, 557843622, 52181800, 872498213, 1153903153, 689968932, 1620644036, 1553536801, 807494542, 1695351092, 721423078, 1453988576, 90318406, 1305831974, 506069246, 13858829, 1782802849, 415132273, 722993184, 768815447, 1610692708, 354773161, 364912576, 354773164, 30613925, 2083263123, 2109172, 1327498561, 38150574, 1296041126, 3425737, 73516069, 178129738, 2991762124, 2995519495, 2987107784, 2780540928, 4294749, 1370687617, 359029763, 406062440, 452458674, 1099442944, 1124769291, 1289760551, 910426285, 12300434, 2650825138, 70334752, 1386893057, 250244422, 1171501061, 3760146220, 2650845846, 1169886110, 196129284, 825827410, 2857305544, 2780498846, 196100488, 593496734, 189968900, 825827362, 878794902, 1169886366, 196141103, 657867776, 2902506416, 1099435584, 2693225907, 167927057, 685179316, 1879125818, 1583353634, 1210909831, 97327721, 3769819158, 733895024, 2264969216, 16777281, 2287550529, 2272985248, 178129757, 3003396633, 221932032, 2120305224, 19891791, 537225552, 105896245, 3551572658, 70392077, 980025620, 1230503979, 1170941957, 2037265239, 456027473, 2025783341, 403250175, 1171468297, 991249630, 2761361, 1391076369, 965568256, 80165862, 1592394356, 990535724, 281765207, 12594524, 39078227, 1728121888, 732445482, 1230201862, 483994373, 3366304518, 2006863072, 524049783, 961438, 2962398721, 1272983356, 1560346764, 4294250130, 2662375559, 1437795393, 658136672, 253834276, 886253317, 1219663429, 2986902040, 1736491178, 2276655200, 646301861, 14688060, 1569849523, 70796492, 59138071, 455944928, 980969720, 1691575750, 1143145672, 1599217194, 1610744122, 1663048480, 77157192, 3031564800, 65, 16859298, 2130887181, 2718015490, 1166802969, 3761195286, 33571584, 71830946, 9175049, 2701263554, 2365580609, 283394208, 1388372015, 1211181056, 220725425, 16777281, 16859174, 3498035432, 2130807808, 99122944, 765132977, 16777281, 17186854, 2625586957, 2751507364, 228852139, 2751463617, 2542299532, 1078005789, 3342930056, 11837598, 8260745, 129110810, 623529534, 73466598, 979850112, 113323242, 580003864, 1378755590, 1294011483, 1834182487, 673411281, 1086801216, 398617723, 67910506, 461797404, 452985880, 1691246336, 80157299, 991505125, 4239571777, 277374982, 2307417266, 213398994, 1230453356, 45376513, 697582880, 113665025, 22225921, 673209550, 1291120818, 3138231809, 2879315991, 2178686198, 11666487, 433266332, 4588897, 1089086098, 672682570, 1906730007, 1785033355, 395916613, 1917732389, 3366304525, 2650844062, 1091574861, 228458720, 260256670, 3372267699, 212409343, 1171468297, 991249630, 2761361, 1390419694, 695302154, 1221794602, 1610697760, 1628067639, 2830237952, 4260099, 1085408321, 953745440, 1721040938, 282532230, 115616977, 1191251066, 712269396, 1795191001, 720050737, 2955273, 1586823210, 210055341, 352333130, 1680606260, 1312686172, 117441698, 1210059466, 1294321829, 3147865820, 2987178066, 774117145, 3541998595, 354056192, 539808071, 97035660, 2470412, 2804472421, 3412729948, 3461149808, 37243233, 1246495560, 539808071, 311596, 544299236, 2998644736, 12687240, 572915792, 1091574093, 3004266322, 1074201940, 3029771680, 2666348816, 491380767, 1230735360, 3091271816, 1239424841, 1528627384, 3004421224, 3091603462, 19859064, 21464696, 2987804104, 2779975939, 1747415249, 1073891385, 1825919717, 3567600008, 1363194628, 578590523, 1784417094, 2623543885, 710672642, 3862587219, 2244519168, 12687240, 840059969, 2254588128, 1064595968, 3099694984, 991387059, 309592333, 443033644, 320096576, 1251412565, 1785227095, 689978149, 3366273416, 1598046599, 1648943167, 1953628344, 3761201279, 2264971264, 11670410, 1176512147, 673973287, 1356398629, 1565858263, 690342053, 3147009536, 780992736, 524049806, 12058689, 2282881147, 1099400000, 1099302218, 3759113011, 2666660024, 1099340893, 3003406390, 2588221489, 1493186308, 122738947, 757751876, 3662482689, 3650504010, 2249876704, 792485254, 11699237, 2860954369, 1901123936, 38584394, 2452257028, 2033537795, 239999126, 1172320060, 1569063090, 2217060998, 3003323716, 3627374592, 1074004324, 637840466, 1778480221, 1529537992, 2780927880, 574963891, 212947600, 7685446, 1439903767, 728373816, 6750240, 260118414, 624952521, 443296500, 1795230765, 1670262560, 592928083, 1728054481, 451684387, 886123708, 902374739, 49553944, 92342570, 566831105, 762600852, 2384782, 3367108864, 12686608, 606282453, 3247902850, 533717007, 709063921, 14784256, 45280, 726279184, 637640705, 4172416043, 1184628778, 67334406, 1592666880, 82400147, 1664559314, 2521152443, 3761195355, 16834603, 1243877415, 14682922, 963965184, 14784256, 110816, 260256671, 117487616, 33554432, 12686593, 33948608, 1090584833, 2235664521, 2025952646, 320740800, 1091593288, 3247932959, 482361616, 809910662, 482390802, 3927515140, 286845508, 38543390, 2254747744, 240064863, 1214633039, 97035585, 2286551157, 3247771684, 589482433, 2500887140, 813150724, 1094210180, 88150116, 1286757720, 721146327, 2348815169, 271600306, 1664592082, 2348812210, 1574677221, 3003413596, 20981550, 2536675685, 1402381792, 793384741, 37814785, 1474308938, 605038336, 3758828089, 1961951232, 3784769536, 28328194, 46248708, 1093019242, 1748239204, 949372225, 2284930634, 2250103361, 2282900042, 2250065473, 2275200705, 2542283283, 11094663, 486581472, 524049820, 3051024, 3759899100, 2618294382, 2131800584, 2182637440, 549558152, 305219498, 2257321988, 2861019649, 774268259, 538548009, 1074110720, 4095418636, 3623967545, 709691940, 125305090, 879304757, 3630289712, 324130856, 241375802, 1812144481, 2001879344, 2621123840, 3226786101, 1496907874, 3127323228, 587466576, 3640732206, 644175876, 1898502970, 1811949425, 3644234468, 2998618640, 71416769, 2534433840, 1256198019, 866069760, 2967474051, 866074624, 2957084746, 1085476834, 1547109383, 1356437125, 1099438336, 2082918783, 3592857983, 3525734015, 3458629759, 3391543935, 3324408191, 1085411988, 1459965956, 1653746477, 980157197, 452264006, 90260241, 984951072, 81095272, 1733765408, 67588313, 92341492, 455091531, 1155083008, 90243860, 1785290753, 699294478, 1300303637, 1798908654, 1300302886, 592929235, 2964503520, 524049820, 3051024, 3760147096, 2382409921, 2542287639, 1538462163, 774268371, 805528954, 1596795616, 157484282, 1595474393, 2521121160, 692102015, 4259996, 1572013121, 623521318, 1698694151, 1356399501, 975832020, 1756912960, 116319410, 647762139, 3003393872, 3640810083, 537469512, 537747756, 1227180868, 3643352520, 2779907111, 1356398890, 774268248, 2521152269, 2751586335, 1012767744, 780996832, 524982413, 12058848, 422297111, 2248540344, 12687240, 991379494, 2366692275, 69685465, 39478048, 153241632, 224472137, 980108505, 690342053, 1099410688, 1269957671, 1356399059, 774268248, 2492120, 685527801, 935708837, 3138022403, 3702656185, 256973034, 1140921918, 980156883, 1640572929, 15997733, 3366304525, 2751520799, 1012763904, 781979872, 524982428, 12075399, 106803972, 1109405738, 1953074434, 978157654, 2620055557, 1850568987, 704764310, 1169298318, 1705023493, 2861019926, 2685606493, 1366819101, 3932366288, 2768240896, 4260102, 1076273791, 1084236992, 2986627923, 773931106, 2452303162, 1812036174, 2113954820, 187257088, 704907114, 2660648379, 220463275, 603979841, 2284601409, 2272870549, 591602435, 1456295715, 4294911604, 272960372, 132124547, 866087168, 3091276547, 1711961095, 1085408322, 990521350, 50862822, 469852161, 1545625811, 2763176928, 524982388, 816135, 2960073251, 11337915, 2952790528, 65, 16973930, 2986623288, 1679107360, 187259136, 3344132608, 537752363, 423971072, 3528616963, 340344838, 2271007521, 2858429444, 858314539, 419493658, 1748239902, 2603090204, 622392429, 1074042664, 3367285435, 2454389312, 2701262912, 2987561728, 537749290, 879755548, 1314998807, 2692785632, 524758091, 11769413, 1090584832, 3443623967, 1296140017, 1239424842, 940966072, 3247933472, 508379526, 4048150559, 1245189888, 3091302449, 1088438088, 3942686720, 3242296921, 4195927, 1501344260, 858462465, 1715877888, 721685598, 2588745996, 637798961, 2153950790, 939551749, 1315185505, 1463458402, 1040262728, 3425248712, 2780553247, 1012750080, 240536496, 1099323249, 2986617393, 2150420807, 352512, 1795479638, 3998062594, 2502582543, 173921387, 293079322, 1177635222, 1158567755, 3762256012, 12300481, 2810609649, 3645802059, 2995004842, 2259878246, 1178075179, 67919514, 1294321829, 1099449664, 3759113011, 2678194360, 1090585152, 3758303801, 2035613695, 14784256, 110592, 12687240, 707461369, 1099323136, 4098524683, 1337132074, 830473378, 513092197, 3366297735, 1572013121, 1114258221, 719324185, 1385259027, 1390412810, 1990876974, 1631963301, 1099366751, 3003869523, 1197736221, 342501633, 872441603, 2389025585, 642305082, 1812060566, 1162512157, 3410659100, 3342960682, 4633092, 707887108, 3008594002, 2857116425, 1090589034, 1480223331, 344336, 3647296087, 537802794, 3998439495, 3223491158, 4098480169, 540751873, 1483057765, 3355497813, 1187295968, 1064864768, 3148892806, 40415762, 1952710959, 108528412, 442618672, 25208234, 2276655576, 1287152660, 1573665382, 1142510213, 1219663429, 2986616914, 1747630336, 711659085, 2157446570, 2276589605, 559375566, 1312686743, 965627089, 2521152331, 2248323265, 2542289185, 5026309, 18137166, 2570652184, 4045932639, 1394712582, 1730832923, 755225704, 587517519, 355014968, 1381849896, 3512730396, 16862256, 18234938, 1812108586, 1628235302, 1040262728, 3425248712, 2782936952, 2348858288, 3247802495, 707477569, 2290042222, 2249241097, 2535140650, 3761924394, 773904680, 219834693, 3543138600, 539593728, 1897978465, 1224767842, 2452097306, 1177633036, 3513103465, 2365597446, 409536553, 1227431942, 4099232570, 1812060566, 1172324216, 2348858288, 16777222, 1415007922, 2158301523, 234925312, 2348812512, 524049747, 9656064, 777388256, 524049751, 11534401, 2291023937, 2253652270, 2686517503, 3762256204, 10485888, 4138861608, 442916800, 565075640, 74991052, 925988884, 761623050, 2015563590, 1573257267, 403395308, 1396255328, 1386896577, 814440082, 7079233, 26683731, 721289585, 962068672, 1184574014, 51662215, 988349826, 313154829, 721422918, 36587744, 1062757379, 1210332486, 604052117, 712507865, 1611081936, 2843091, 808194264, 7939722, 1612206086, 15342425, 964314119, 1557684231, 457655616, 653547264, 107898624, 1251632545, 217344616, 721441131, 2123413, 2753677, 684262497, 438717752, 26294866, 720260480, 115409303, 454559108, 452985864, 442916800, 1909663488, 647777315, 68702828, 500638731, 1170890758, 1893635653, 3138199809, 1091590216, 3900656524, 387263, 271471872, 2964522024, 442916800, 565075640, 15809325, 708707438, 739791434, 1906730009, 980630078, 73551040, 1639210784, 1708304562, 3003449620, 2053797189, 1180750692, 207475493, 3543143249, 3626500429, 3546401064, 16844364, 3623399936, 12686608, 1313688769, 3247902795, 1489088768, 14696313, 1275109376, 1340084010, 1132024832, 3784769536, 11659135, 1677730575, 4240132, 1294522112, 923011387, 421161000, 16846138, 4114246656, 706222162, 1812000349, 633906432, 16777281, 16929248, 53098873, 1426063104, 3784769536, 28328193, 21021079, 2283675712, 1099362624, 3760147000, 385923072, 12686728, 538910272, 3003394117, 3408658708, 1717774890, 2685036613, 3525170096, 2986344513, 2286275137, 2282906945, 2248499635, 321723168, 157427562, 1606445692, 990512516, 1431778517, 1611296083, 23487697, 2521121159, 1564524951, 2290160192, 2995004842, 2259813178, 1223764736, 134283388, 79763210, 710954624, 1251453106, 3152031548, 1569063096, 16777281, 277207053, 2734702984, 2185278212, 1093086760, 16970837, 1074095004, 2990639234, 5652871, 2252382371, 3551724599, 1386872869, 150550857, 2833189, 3366302212, 928164353, 928167936, 1912870969, 704652834, 2452291697, 3644077925, 1392601643, 537215233, 1901238166, 1169886627, 17531150, 2474705312, 29771265, 1388392065, 279986568, 525353350, 2169282723, 3386908490, 940966072, 1099465472, 1663140231, 6179462, 503334737, 2248605762, 26034, 159803178, 1253638187, 1707737941, 2149624454, 2986400794, 172949557, 3533063648, 796945542, 12104324, 631932595, 51994444, 841637889, 405211097, 960509394, 55940677, 2987625848, 36448101, 3389216128, 3232401075, 2527412616, 2255200419, 3607995136, 209784499, 70734506, 2444956, 55797194, 2763174664, 2165593957, 3391357228, 3548065082, 1821787457, 2284939073, 277177248, 2740981377, 1773339703, 1386873143, 1387790730, 1328642049, 740306484, 1390419281, 1401276581, 1099455808, 2695086259, 70734506, 2450890, 604056608, 1557022163, 2964455489, 2256621984, 2748203399, 2253053979, 733906566, 12104458, 39639396, 3358935296, 722265552, 2768240833, 2508726046, 583418248, 550125960, 309215622, 90849552, 1212801055, 1245191424, 2964456537, 1783055680, 647777281, 51460394, 373639346, 2521152480, 524901192, 12075400, 306241583, 2058061312, 3087008000, 4849937, 1790084133, 2852237825, 1715877888, 1074010181, 3374842136, 624071592, 2998616321, 3981041711, 1012728064, 3092119880, 2967482151, 910491821, 12300288, 4294773, 1076289926, 1085474968, 1230063360, 88953632, 1431655767, 3769762304, 65, 2290703681, 281952321, 2250064051, 71399763, 1700200503, 76042857, 992891493, 3366306197, 2281832449, 3233912200, 135204032, 3247802374, 84394177, 2508752938, 331760008, 2120069904, 3510900841, 218159460, 3359834117, 3675797254, 3775992909, 778425548, 2999031176, 857942998, 3247802409, 389009345, 2508751388, 1506328983, 2288944737, 3004259114, 1617119284, 57198693, 3259507997, 1582459136, 606131480, 3997555001, 1486243137, 2290573235, 307114425, 14156682, 1176580254, 1397056362, 26502147, 1767451379, 993957445, 1099435607, 3003405097, 1224897538, 775010560, 724782629, 1081776790, 1161922569, 1504907241, 684267136, 297037826, 942083937, 673472788, 1564857509, 1099455829, 3003747588, 3575322667, 437863, 5304105, 429278657, 2508719231, 827437828, 1094874114, 3026389603, 240285846, 1161922563, 1270023233, 959060261, 3366273416, 1325425074, 69410833, 1385193496, 1726369162, 2517610, 452572734, 2718957768, 2996192652, 1552896, 642838313, 425723478, 2853888058, 1765480762, 1759818427, 1242567910, 2987446629, 3026816256, 1292153680, 288984420, 587465504, 35204682, 1040306503, 1379559013, 1234585019, 3148956040, 1644226113, 282329298, 212076515, 2541687040, 227082253, 1476398414, 448870, 1158520064, 2987489106, 1074006331, 421161000, 16979050, 1761618456, 290613763, 929715499, 537177384, 3609472004, 589301545, 340350979, 1784659998, 3996236032, 637856553, 1359031905, 1377732921, 1225098298, 1612190290, 1246699788, 538897969, 3108853856, 186198624, 18360109, 3542359635, 1465995564, 389746253, 2149253177, 1611032066, 877494370, 707436813, 707436550, 3775108177, 939885626, 1610877243, 421161000, 18632236, 3461296504, 220780288, 3227685680, 3999080452, 3238204522, 1767899432, 539924267, 429278651, 3152027465, 1531838648, 3003749724, 3727357952, 772468008, 3617895090, 71378267, 710944384, 216385701, 3138223104, 2600599712, 2698621715, 559986784, 39737889, 2688864296, 287930646, 1162392214, 1161922598, 1337133571, 462300480, 90726040, 3769778568, 574665476, 1093082170, 1074192958, 641811912, 2768240833, 2542281341, 1370686529, 656161344, 115409689, 1564919986, 1099441728, 3003392823, 237322244, 2785217833, 1459811362, 2240045, 1707648256, 4294725, 3393292306, 1765901829, 1706230865, 1385169013, 1162237395, 807601367, 684801002, 6750247, 158542698, 1545104123, 996841029, 1099441755, 3003777817, 1717305645, 4199194892, 644102167, 402813952, 4147719336, 2999031688, 2165456961, 2265792690, 2217060998, 2986424146, 3087035397, 1480166756, 33562657, 2791458248, 2780553263, 1012762112, 3087007809, 2286436531, 309630533, 4294690, 1239424842, 940900528, 3003395099, 704652630, 4100278373, 1224801792, 2050652987, 236857857, 1952254469, 2182235713, 1476404325, 1248174105, 220725551, 879299841, 3650503936, 12687240, 590040499, 69411936, 524890437, 3366273416, 574677023, 1245191168, 3087007809, 2284470451, 320096576, 1422806816, 565073664, 461797411, 1566255313, 980157012, 1564497102, 1327876261, 4294680, 1471350017, 342248264, 873208576, 90654364, 14425029, 3366273416, 1967174408, 2554941767, 4575272, 139514113, 2254438748, 949372160, 100663296, 0, 0, 852480, 2499961090, 21499139, 25952320, 1863516677, 1325727748, 1241776837, 2365581137, 68223200, 2667577600, 2684405132, 4292403243, 2106000646, 60818248, 218300556, 1196291, 37733351, 2130903092, 16778892, 4290289667, 3248490177, 2785452038, 1068085248, 100663296, 0, 0, 5177600, 69534980, 1166802973, 1862337798, 1090912327, 2852359423, 3997238785, 1202324108, 4293242118, 2365579451, 2952790528, 16777237, 117571703, 2801795191, 285212724, 33555104, 30101887, 117470210, 47275, 33555456, 0, 79, 16777809, 34014018, 50394177, 41045920, 785138435, 38079747, 34418176, 2693259338, 2266848335, 16842849, 8868943, 16908405, 50332738, 67192077, 67185923, 78316288, 33554432, 10617090, 3265266368, 3247768177, 3664693441, 2533534080, 1152058017, 33734638, 2969570304, 0, 0, 0, 0, 0, 79, 16778063, 17040460, 2130790915, 22917764, 631899058, 51467153, 2014783878, 980942914, 759882930, 3142320897, 2967482237, 1359020077, 100666632, 31473533, 1057440519, 4317215, 2101280777, 3761208694, 2131051015, 4721931, 59506840, 1090978132, 1124467269, 218497877, 100728943, 436210316, 4014343, 39076614, 54856966, 72680961, 7280896, 176947239, 1124532835, 1963329286, 3264153343, 4283092303, 117440140, 606982, 21302534, 39060994, 7280640, 182943497, 5570561, 7277056, 195035855, 1091241544, 218826892, 331019, 155257606, 1369441742, 3760138017, 419471360, 3305966343, 1426784512, 1862533120, 3761186606, 57386, 2099511423, 83902731, 25198145, 185091468, 7815435, 38112256, 1883310851, 3326151433, 1208813312, 2348835393, 184833942, 121767680, 1158481664, 1133851136, 1347785994, 2508980297, 1091241304, 1426522631, 1107755077, 218562627, 2503112277, 2501154188, 3096843, 105401215, 25952293, 1091241794, 1845825760, 796751487, 211815637, 2987319564, 660811334, 537265792, 2779385010, 2521152480, 712985863, 185139384, 218103808, 0, 0, 0, 0, 0, 79, 318770581, 123799309, 1166802959, 1863517953, 1325465600, 1627424319, 3964372482, 1249837428, 2986623291, 423244034, 3928136490, 3998056454, 1662783771, 419492179, 2165249024, 605763865, 268444986, 1781361187, 778913224, 2780515455, 28368959, 2101282114, 83969293, 83963144, 89063680, 48246653, 1359020077, 100666633, 27265382, 1636204362, 3759113011, 2678915256, 2987448676, 3359757104, 25208234, 45285413, 1452166961, 723031621, 3761208694, 33857540, 3326215680, 2092074021, 2684636338, 1785093706, 2762312704, 196242024, 1383604692, 3943019136, 2779382450, 4072779, 711524782, 1258964325, 1946432832, 634052786, 3138194179, 2348848961, 100750403, 84034829, 84104453, 16805658, 691200, 1027671554, 1413678339, 1158481156, 1426391296, 1863909386, 2348820291, 100819829, 84280770, 2399535103, 1254969093, 4294872064, 155387137, 1158481154, 1409614336, 1863843850, 3883862272, 1426063616, 1862926347, 2684604225, 184961037, 185109504, 84740873, 1091241552, 2684669415, 2137260067, 419448077, 185029899, 16805655, 57391, 657326080, 3760880932, 8816384, 1091240320, 1631652616, 1166803034, 1091240521, 889193990, 2348830529, 184796737, 185157645, 100699136, 1094781700, 1318454850, 100693773, 100699136, 826346245, 1347749378, 104990208, 1695352320, 2348818241, 184961099, 2248248320, 356584199, 1112278030, 1258560878, 68214831, 1251476480, 3760881528, 2248542976, 3087008512, 0, 10486089, 3896498416, 2348811893, 16974051, 2608793344, 1963000576, 1107296335, 3758565945, 2146049536, 3784769536, 31473533, 1056981760, 14540831, 2101280768, 889192448, 872480768, 3818618631, 14684035, 866107136, 2980774400, 50331648, 227, 2600535810, 2684485749, 1275134642, 282151576, 1678139416, 1347558144, 2214963713, 2986407720, 3644151808, 1111808100, 123553381, 2701967394, 879304709, 1480224355, 710674244, 3359640401, 2150267690, 878116917, 3523502363, 2368364548, 189890629, 3412525324, 539023136, 3630170949, 778098005, 1180518806, 1169940527, 1012728064, 1359024384, 3768516610, 11207489, 50482513, 17891552, 2667578112, 2869144323, 50331648, 81, 17236704, 1065172736, 1963065347, 1124270923, 3883885568, 593100993, 2973958912, 1273462628, 2312960, 3249643523, 1273462628, 2306560, 3249619714, 21751679, 1677730585, 12693991, 2137260067, 167821745, 16777297, 2131165507, 16796941, 16835483, 2131165580, 868865, 4822273, 3818618631, 21102848, 1482855830, 1179948298, 2514487082, 964684318, 14784256, 110637, 2509692943, 709066730, 14784256, 45056, 100663296, 0, 0, 5182208, 44060224, 218300565, 56689410, 1166803087, 1863516932, 1325662213, 1711607808, 1548354823, 2153201925, 1917558830, 3356306944, 2365577809, 84344898, 27471, 67307168, 114878335, 1677746950, 5300631, 67305696, 796945413, 9240501, 1409685760, 3785032707, 9240489, 1241842383, 1359286528, 3768516613, 10485951, 2550989057, 2365559370, 84036433, 85000416, 2667577600, 1090875973, 221118540, 2130791429, 21759234, 3761209452, 83922175, 1822425536, 3761208560, 33601536, 33554432, 5308679, 37880320, 1093992450, 14916353, 117461249, 285270175, 262320, 100663296, 0, 0, 14683946, 1132493825, 292424706, 107873280, 2900373376, 3809476768, 13110531, 42729524, 218366067, 268698784, 71666688, 660735144, 3220402704, 67478533, 113349894, 17040703, 3830449408, 14692224, 3808428192, 12572173, 50422019, 46153987, 39957001, 2557646628, 54848051, 1392519986, 879762218, 4261476153, 2372288150, 1169918976, 1044448001, 1639057816, 1922507777, 361845646, 1300235686, 23476857, 15821120, 842330290, 3146514459, 2684573874, 160985751, 604051060, 36982154, 1544308380, 980194885, 3152239470, 201568481, 2533425152, 2969567744, 162, 16958112, 46156290, 507922946, 121741570, 46133937, 83886080, 0, 147, 1912670834, 130607231, 25952261, 3900637229, 50372611, 3314774529, 1090633306, 1627459798, 2684603104, 1063872768, 218300640, 527005630, 9175126, 1627459678, 1241584858, 651759830, 3761203015, 50372608, 1091203591, 3935491, 9175094, 645005644, 175245256, 192022285, 50350593, 56942629, 2178679154, 1258310145, 89082384, 88858671, 1771438336, 2348812512, 797025793, 2950400, 2684635368, 2130807808, 99122944, 755237024, 82944003, 1860190081, 2650841089, 3382771969, 1166802950, 2454847938, 1241582015, 4014604550, 1072311922, 17592834, 192022285, 788565247, 994116030, 3403689857, 1644232875, 95094016, 67108864, 0, 9597442, 3265266244, 2869207298, 63095191, 40989509, 2348831825, 34341024, 19680, 522658078, 10485888, 1112277511, 1845625248, 75063553, 276148740, 928048938, 3775855178, 1177670448, 22299164, 3422841182, 2505394432, 3224198145, 3643430913, 2852222058, 1761830471, 1246058720, 2998603012, 19726851, 2365560832, 9662976, 644939840, 191958542, 1903341568, 50331648, 162, 16958112, 46178562, 63066370, 201367552, 5130754, 285231434, 34177092, 1241646976, 1061225073, 3420462887, 554303648, 15879682, 1917518339, 1258424129, 42026253, 2734711041, 272675332, 1483286826, 1903694675, 773931020, 3766748586, 45286246, 1306015049, 2521115906, 59572129, 100663296, 0, 0, 10617093, 3265267012, 2869338373, 79841797, 132729349, 166023429, 201343744, 6135811, 3404169060, 6488832, 1382941954, 1258619745, 33703243, 84348166, 19727620, 2365573120, 67108864, 0, 14688125, 1056964945, 2131165812, 16909280, 254428031, 3925888768, 40960, 1208812032, 2348811829, 131744, 39236100, 1094203221, 1462585444, 220778853, 2781390220, 5419524, 1103144257, 33640626, 403782029, 1679577939, 2763230208, 994116098, 1387403288, 720261976, 60058217, 2523237376, 658571779, 1387422043, 719733788, 1397958405, 3433401344, 323158531, 1337090391, 983195676, 1397958405, 3433406466, 4105306161, 1909539842, 622484809, 13329751, 2158318850, 16791070, 319503, 709066730, 5177345, 7603200, 15122176, 2986497133, 1486243259, 2986623672, 2778727250, 2989208873, 419506715, 755176658, 1703673971, 1090715996, 2986946618, 824778783, 3226626562, 1415397445, 3426164850, 2597135756, 5587203, 39367177, 809120041, 538951704, 405466707, 1476629738, 1770782779, 1090716504, 2992854893, 3676836941, 1080121146, 2589989971, 1403299212, 2179843, 56472163, 928148481, 1397967924, 19867201, 1080122154, 3863223379, 1395066312, 2779944517, 3147845056, 2986623296, 3928645697, 3510978944, 2772520193, 1253200488, 2829421568, 129132430, 2705699734, 1157628160, 28445080, 580331521, 2493900479, 296878270, 1721309728, 88419501, 352343694, 1329076193, 2352473791, 306254337, 1286734420, 1833289893, 2348812722, 39087448, 2521152434, 105659242, 1610685472, 1557348353, 2829435279, 285302356, 2987542115, 710673433, 992639338, 3940328844, 8110991, 285297228, 2987626108, 3617891724, 7062415, 285289548, 2987542115, 719103372, 5980945, 3360600592, 3379385191, 1470817676, 4932369, 1683272209, 4199404636, 68762410, 2037050076, 2777415733, 1125200468, 2987553901, 3358065689, 992639338, 3940328844, 2048785, 424981008, 3524995690, 3759196525, 1399281578, 3851157513, 2987452977, 3553449906, 2521152427, 285213184, 160, 1317039538, 350360358, 1096286400, 1691429497, 689984855, 1615988066, 638469674, 605828561, 671227178, 421605534, 310667265, 991568288, 404298282, 1327575160, 73623334, 1096286400, 1691429497, 689984855, 1615988073, 684785709, 992030811, 440404728, 1762459840, 1691429497, 92562071, 1606797477, 3152035656, 1778429185, 3147844688, 2987451940, 292098052, 1835640276, 2780553231, 1211236342, 11665575, 5313, 681968965, 405411009, 671089729, 1093544224, 10880325, 405411009, 681968960, 350592165, 2743009354, 1787246, 2131771981, 41979570, 71845190, 1581121582, 404253128, 958809106, 443422977, 815540226, 550586012, 45644045, 1395532544, 115409158, 1832980238, 1292501805, 734021854, 27680320, 228992874, 1329225047, 1613498775, 709245560, 59655712, 154029849, 439429408, 115409041, 79767584, 305032659, 805578054, 606302264, 2370897, 1184628937, 1834182487, 720896582, 2014070406, 1677937453, 709216421, 3152035656, 1778432149, 1299087120, 181666560, 3266449624, 2581712, 671158822, 1663049450, 455935073, 493496864, 1565604187, 689964353, 284843306, 1325477921, 759842259, 806689560, 721427200, 82524777, 64252664, 707461237, 67902250, 1610688653, 707855484, 117441560, 1440168760, 32123616, 455083233, 422203328, 82464567, 2016151960, 712518400, 97073945, 1793534241, 807489775, 689528833, 1545611091, 826427605, 1430674446, 1294885678, 1293485159, 1162224042, 604055828, 1184302186, 1834156883, 1564918962, 3149598030, 17669377, 227082509, 1476518803, 2131851989, 3760146779, 3892349952, 1504842356, 1881359705, 387449638, 1094719505, 1385168952, 373639212, 327829025, 203885609, 722100074, 13831592, 886251841, 811271478, 1775839243, 1000342778, 1409831509, 1163471422, 73541671, 86065499, 721315246, 1300613285, 3149651999, 1230720512, 213320461, 2080432191, 2222260448, 1065658624, 3087008768, 0, 38, 2759804174, 2764121808, 2135232208, 2950911854, 201368191, 63066007, 273666, 60818113, 2701263810, 1359088640, 1124073574, 2684438162, 1375846986, 17192010, 18141415, 2137260067, 838879342, 33656063, 3550544129, 3264020446, 3888055296, 1872166912, 1845624972, 4290642144, 254427996, 1040245143, 224, 254427996, 1828774295, 224, 254428004, 2667635095, 224, 254428015, 1426121111, 224, 254428015, 1778442647, 224, 254428032, 2080432535, 224, 254428025, 1409343895, 224, 254428015, 1174462871, 12, 2601824256, 14685060, 3869615554, 12058848, 327476837, 2781085880, 33554432, 12687240, 590046898, 2217061634, 3003133536, 3408543233, 3546401064, 2785501284, 941037570, 1946315305, 537225552, 60601025, 2542286905, 1420952833, 976512768, 2235936002, 3003135844, 949372225, 2282897505, 2265006258, 288640184, 1677862670, 1178469762, 328493609, 1287152642, 2764089857, 3003175802, 1415398856, 2768240833, 2508732707, 726381316, 1092957184, 1737901377, 2285387954, 143741584, 1612012889, 1740655432, 873544202, 2160110214, 3012969728, 4294707, 1088433980, 1569063091, 328014624, 67971344, 377488451, 38158656, 787360361, 1610760070, 2015562067, 1358178240, 452225641, 3670053, 214654410, 1295087622, 1338856321, 814508597, 2525298881, 2542295133, 1337132072, 885087269, 1632135914, 2521153943, 2287233371, 3004344925, 2790719492, 4164328005, 539394060, 3758448896, 3865184996, 2990639160, 1085473832, 885088010, 592915200, 403118864, 723546585, 876020760, 885777586, 16777281, 16924710, 3641721056, 524982489, 12063294, 980156471, 1382678804, 1584028673, 673189120, 77988074, 458832250, 1178468614, 1600791560, 1608017105, 51407409, 92409910, 90318231, 980630124, 14221351, 1557738839, 40264494, 1204144293, 293032512, 67646657, 1545954136, 1431512393, 12590296, 1096390213, 282656800, 711524394, 67646657, 1545934855, 454044453, 3366259885, 1394627925, 1431765766, 1295792397, 2426629, 3366261395, 2100577, 348151113, 28599303, 707892805, 311623712, 439950048, 77987892, 505815552, 513032227, 1386892289, 782643520, 363149489, 2521108756, 1246121266, 712573111, 354756781, 371533991, 350507424, 2034266548, 26476644, 1625176684, 55772522, 420288416, 12128682, 1177813766, 976510137, 396696713, 1394148141, 1396720244, 1879114310, 846096201, 671165229, 2014840547, 1411396233, 1622480100, 2034631803, 720259009, 254628672, 1638287136, 153300202, 1737108064, 1737753369, 1382703282, 350511526, 1176503302, 1301772300, 1362624774, 1663067582, 16000960, 134284173, 988894868, 1152718052, 1666656830, 75052992, 734659341, 439418953, 1465450604, 94765837, 452264729, 957355653, 478834003, 55772513, 22226688, 88146246, 1596785421, 439943981, 1396732115, 626458835, 614929235, 90243617, 405406729, 684262157, 439943981, 1396705592, 712573145, 36070181, 1218908954, 1565620249, 916062989, 439943914, 1431528449, 724400136, 1785936492, 2521108691, 43470034, 712583456, 1628067639, 673408213, 720260480, 90571533, 452264628, 981009505, 339252805, 213393749, 1726612597, 1394096369, 2013469697, 684925386, 1327501644, 2058944985, 1632709667, 77683744, 579546579, 92342024, 716791104, 78929510, 1230202185, 2957969, 1391076362, 1288841761, 203842773, 720896043, 404239575, 1410683347, 3836875411, 2122951, 1161823395, 1766937196, 455746567, 1587301400, 420480120, 1230063059, 805382580, 1679108789, 720934469, 83956928, 1641114967, 17635886, 557911507, 1726882009, 708706643, 853962057, 73523378, 311623712, 1639210304, 1170890756, 1452812745, 1382376192, 1402142999, 2065242656, 1726883155, 3836873895, 1396262208, 79182649, 980156498, 68753649, 2830238776, 1378755772, 848372744, 1365968634, 1632174163, 67594990, 438306116, 1557291352, 9309025, 339252805, 83956858, 712269396, 1795171782, 1251156997, 2057985386, 590444552, 1797618689, 3769763073, 343550902, 1775778602, 31860032, 768371438, 1296041733, 3366261395, 12608711, 1161823398, 40264510, 394422803, 963286597, 69806346, 453649414, 661278522, 1565988632, 56109610, 1660962003, 1700219905, 339252805, 282264209, 605104345, 894894310, 807608145, 835923969, 890518136, 73471032, 2521107623, 456731390, 395662218, 1565065463, 454558246, 1328176736, 77744160, 1727288766, 17195333, 3366257921, 348135142, 1660962003, 1700219909, 2028365610, 1606775476, 1901537573, 2080497842, 211910186, 426847008, 77744160, 854878825, 2521110308, 1888096804, 546574916, 671376532, 10424964, 1552946821, 480711652, 1352077824, 77988230, 1228932422, 661278522, 1564544294, 1300913187, 80827264, 592661971, 808194515, 7931132, 976290141, 1446272320, 1653745665, 673204888, 1678133471, 980157226, 1592682135, 2013949271, 50997856, 532695703, 1691443244, 309592340, 1253729623, 51204945, 604120974, 1705194131, 682891045, 2628060417, 348145881, 564613776, 59593482, 16993030, 2063603492, 1842876196, 491154222, 793837707, 285484215, 358966273, 3769767141, 2022196888, 671616579, 1461280208, 980162533, 480711620, 1352269926, 164764170, 8851908, 805587092, 308553886, 3605514, 1963877843, 806041937, 604055701, 281302154, 316674820, 882512228, 747704772, 1284249221, 480711255, 92543593, 720898625, 680683817, 1161890962, 454559128, 467146656, 388242763, 1391067227, 1720991746, 1024748280, 671248262, 1611006516, 1916666083, 1732000041, 1163330948, 1318846509, 1906729986, 1848253171, 689969952, 293890186, 10037517, 5975370, 1142368465, 1203780181, 1392056953, 2492884, 494559494, 1698694344, 1382771466, 2950151, 723064389, 1688671460, 652292231, 1154695181, 421530081, 788953277, 12129066, 1276655255, 1678318552, 13389830, 1176505192, 1397826577, 1385169268, 1602641184, 92019456, 403253449, 394939680, 1049034968, 12592776, 1721173380, 1318846555, 101057207, 1380868563, 806054714, 1564476626, 436863722, 439449607, 964695028, 1578252600, 373646503, 350498970, 289411882, 564135221, 1586641674, 53291786, 23482150, 1663967255, 723142456, 2829162, 1607748929, 814181152, 1906985985, 491150944, 76097943, 692061796, 815403328, 321528225, 203698009, 1793721230, 1176504615, 1573664554, 1555207397, 249629773, 79193553, 1142181184, 564546826, 5440737, 742987803, 443095585, 206768705, 23485443, 941955093, 433284563, 805382995, 1423383089, 707404807, 685402053, 3366259893, 433284563, 805795846, 40514090, 589964300, 711879424, 77717682, 311623712, 1737752915, 654312769, 13722839, 3022679, 1305686024, 443106648, 2521109139, 2100577, 348149201, 671164970, 459989170, 83956928, 781264201, 44975424, 89474264, 1707606072, 3214886, 4156625, 1832917817, 420292901, 3366261395, 2100577, 348128917, 1155086970, 1208425189, 3366260953, 2108009, 2753559, 433266332, 2430997, 1394607436, 1378457157, 70606046, 719324334, 1325948359, 689964771, 1758667210, 1327522071, 985203831, 451561408, 1795826713, 1361475628, 142743595, 153485997, 976115374, 537276622, 1327038527, 980953369, 1612912888, 712578962, 979970355, 722994273, 404772296, 1104359450, 1409358135, 1387608684, 2754548, 501883704, 92341614, 1288766314, 1594491156, 1326330488, 53947157, 454568696, 2819089, 79767584, 625353772, 282149898, 1841900136, 672025902, 551103232, 216007687, 707668344, 2753542, 1292774009, 10441456, 720896906, 1564496120, 592947378, 83956928, 1565065466, 1405093632, 398656704, 1893158355, 817862213, 211898644, 975177047, 1386872869, 1204702592, 115409172, 1584061618, 283795913, 671154960, 707421266, 77988602, 1665008147, 963286597, 69881239, 460213656, 53942904, 1155082241, 750323288, 1422403598, 1328172846, 1382434366, 36319008, 505826821, 3367571655, 1399455776, 1727288766, 17195328, 886256384, 256526190, 1637901204, 1562379596, 1564894214, 1328438094, 1741015205, 299040800, 1727288766, 17195328, 77818067, 566906656, 1423385010, 712572977, 113323081, 403839653, 3366257714, 446718388, 1929385995, 1391092512, 96024298, 671630662, 1574122241, 807486679, 827876360, 1162239443, 805851769, 433283078, 28601098, 92562871, 692081881, 922764614, 1832911873, 1360079063, 980157828, 1382678570, 1705664832, 1423521537, 205283994, 1706830617, 73471558, 1577722885, 1687769092, 1664372032, 283533044, 1891210821, 348136448, 377835700, 377492672, 613094116, 1351029380, 2090795154, 281292942, 285216996, 1350964000, 285495442, 312744083, 331350196, 377835700, 350559373, 707874851, 319175220, 1555305701, 479088409, 1598580180, 1325402746, 1631941799, 350224388, 1719677273, 4200455, 1363017770, 1893280481, 252082181, 1687231315, 564487346, 350224388, 1719677273, 2843060, 1564544774, 2013619345, 443094816, 1390412809, 988422958, 172055601, 83630713, 2836691, 727395040, 67588313, 373628071, 327573222, 1329469349, 480706561, 1223957280, 78407895, 444148041, 13375955, 1663048241, 19541320, 1728055910, 44719572, 604055727, 364923345, 1171794196, 1295515699, 618211329, 716856589, 453640855, 55797201, 24010521, 56109345, 260913421, 728390664, 1380605963, 989357234, 350559388, 452147820, 396696576, 3284614, 1677792838, 624952665, 876041766, 1663967410, 350224388, 848569348, 1195917492, 2498036993, 348152664, 1439185562, 1622936398, 1294888393, 1758528621, 1378433644, 12584583, 427888170, 443436416, 428227192, 1679052096, 1892762668, 296353829, 452077856, 94765354, 422672408, 1708206905, 3501331214, 1731087744, 172032682, 626549969, 2430987, 1154628204, 53763341, 74586410, 2767732, 1606797477, 320096576, 860759367, 1385193482, 1328440874, 604333195, 1184113668, 580085492, 1141122258, 11998565, 1677801554, 68626698, 1462635081, 722507333, 388306953, 292639369, 8934009, 1586561161, 440407781, 749147364, 747114789, 1554711430, 1611158136, 1727669034, 604069834, 450893285, 1084948522, 67384042, 455086931, 626462052, 710228714, 2831575, 1297637377, 38678969, 2013428887, 996826156, 106713840, 59138072, 1790268153, 689971136, 403463379, 1677797547, 367020497, 1170361332, 1578252600, 3343508, 1248745113, 712573492, 550568766, 1557357572, 1184310276, 634548345, 292625197, 684261408, 291316056, 1641752620, 105794231, 723008362, 51994440, 1733765121, 353651380, 1632174122, 358956200, 375726248, 352330567, 956312906, 1677797652, 1293364010, 73471146, 363149323, 693699366, 1176509216, 67644025, 719391782, 354763947, 23735072, 1909008390, 1677787956, 1412170801, 436863255, 685320480, 491600489, 2106578, 7411739, 1379551552, 88417458, 367009233, 1170360602, 499646826, 723586170, 451549185, 682169664, 1238451650, 1259759662, 759850019, 80085773, 1391067694, 1296041285, 749601581, 1398277323, 693704261, 480711562, 59655712, 1318847156, 981008492, 1653745665, 673204887, 672026410, 1566074323, 806037721, 1793744897, 680202500, 615978336, 453013824, 580069192, 1677794386, 403466697, 689989274, 1543579680, 751319598, 1707761853, 350224384, 169, 400557144, 1691837441, 322202336, 117442273, 8985152, 305405182, 92343182, 1176522393, 956956754, 77019533, 1677925554, 373672114, 213064473, 2025589593, 1586578467, 518409518, 1638813056, 403130004, 666901418, 73877128, 1124080177, 7277953, 673189125, 3366261310, 980156838, 1163927383, 961085495, 68315424, 77818513, 605642579, 1076043601, 835923969, 904556881, 3769763073, 343560745, 53963376, 3671143, 1781283436, 2956056, 1392060704, 1029450296, 2521105665, 343560431, 689504305, 1184121600, 1171269638, 54135073, 724849453, 1423467840, 117819557, 394621116, 348223492, 787750559, 2080655564, 956305818, 1308627220, 1252413376, 348221628, 394621095, 348136448, 282150076, 314203828, 1631588762, 3456435457, 982590474, 1301748590, 1301807186, 68950577, 1610735794, 69881239, 460213656, 59399488, 979909386, 604068896, 1171995244, 49553920, 88146182, 1832914375, 2013490003, 1114927712, 886252588, 321727424, 626342169, 73490206, 1223968200, 24403521, 203431249, 961241089, 673192552, 961766404, 2123841879, 1613501200, 976301905, 1203780217, 721179498, 1275147296, 483918570, 1170878208, 97154314, 1589207054, 1178231607, 456019328, 68295156, 1545021998, 836004608, 1699949368, 2755808, 1708271660, 251727040, 1155082976, 428474438, 90259732, 1326327127, 689989034, 1208435928, 1437223578, 1610684922, 1663048448, 1645102635, 1781626890, 1963876681, 53291589, 3366261300, 1393182656, 456726797, 689964390, 7210150, 4150730, 557843797, 447405234, 350495379, 853960529, 456020600, 377822375, 71383072, 1458466257, 696919060, 1919572993, 681513604, 1552941198, 396362788, 854203168, 324216151, 224668245, 988415078, 51004773, 1897156390, 980034561, 453657957, 1917205113, 433273452, 55786346, 1594492292, 962620170, 604052038, 981014995, 689964774, 554982694, 1292501037, 1318537425, 43330278, 1708339221, 1556637128, 721422945, 2136161130, 1594515491, 333729943, 302019025, 1142251163, 959054406, 1338002067, 1706557482, 1727293681, 683421418, 672421207, 456020581, 1218942181, 283795913, 671161426, 67591379, 564135078, 4136407, 616062995, 723097157, 299040800, 500638904, 1611868953, 2430977, 1363947530, 1293380377, 689964469, 1565014682, 1611606922, 1191251157, 1423387257, 1203790086, 1834168649, 16646336, 565069105, 722993940, 1300708073, 92341580, 805377300, 1834428704, 95107690, 26494240, 980491201, 203838195, 441077546, 604069414, 1411728607, 1781399590, 1251554647, 395586748, 1430674977, 815418926, 1094732440, 1678389656, 73547411, 671159726, 1300898817, 408748077, 403253806, 551102466, 1762728725, 92341580, 805394781, 1726630225, 2014010572, 975869509, 83956928, 1653746573, 455106382, 1296630092, 805429426, 83956928, 848373075, 17912080, 1922514952, 442916800, 1297638954, 604068896, 697042306, 275865415, 2013952344, 2496536, 976956128, 491143212, 321740442, 832575496, 1608017105, 59657524, 1879517748, 1879992064, 1162568732, 980156455, 165161280, 981032392, 455737926, 565071191, 2014203662, 625029188, 113323056, 1922714912, 647810226, 83956928, 848373075, 17912080, 1922514952, 442916800, 1297638954, 604068896, 697042306, 273024353, 1122640211, 1715339686, 604373222, 604665514, 1573539082, 92341844, 1786329708, 1610763737, 1611606922, 1153189328, 671775064, 3025493, 1740704806, 993526542, 1198152711, 684720165, 586828465, 690040985, 921987469, 12591846, 571089928, 1608017105, 59657524, 1879517748, 1879992064, 1162568732, 980156455, 165161280, 68627014, 980942890, 981032392, 455737926, 565071191, 2016151681, 341254698, 450916774, 1679239962, 1193308627, 634597379, 1682650331, 673389312, 68295123, 1656175212, 4612791, 1785501253, 69411877, 512122154, 604051495, 87501396, 1832911879, 1356277509, 3366257729, 991500905, 980156471, 787762976, 88474182, 1661889856, 483876508, 2777908, 1296117902, 1275134037, 751314945, 348141388, 672687763, 671294513, 78927187, 92342334, 1632239680, 67705584, 2753561, 1380423237, 71383398, 567488513, 5661129, 671164608, 1907254592, 916087105, 807929011, 1342383160, 73472209, 1140917134, 1295282944, 96948439, 625541973, 92563072, 67262656, 128086926, 1295515701, 68771146, 3769762876, 979981208, 3021361, 15997673, 690342053, 71383398, 567488513, 4547017, 671164608, 1907254592, 916087105, 807929011, 1342383160, 73472209, 1140917134, 1295282944, 96948439, 625579589, 104928448, 781658905, 73479991, 693633079, 439419182, 1565025748, 1325478041, 1342243142, 1663110221, 113323081, 1666401740, 925223077, 83957364, 53946688, 117465934, 1690780992, 174605778, 500412594, 71446122, 689969170, 420293418, 2830976, 794256810, 1545349913, 2521105985, 348136914, 1203782777, 781658905, 73479220, 1726622464, 439419095, 1397990578, 69948138, 1663049032, 1380605966, 1252674905, 1556563264, 90243700, 1596823109, 69948138, 1663067566, 1325421401, 74918762, 439242112, 978656024, 418457618, 1397974222, 1325779109, 70406995, 1691242240, 97405606, 1661345322, 2521105463, 443548499, 626471668, 1932329655, 728387384, 21390140, 451478100, 1834101369, 2521109273, 1391597465, 1394092320, 1726622464, 506733056, 77339589, 3366258241, 348130204, 979974764, 3479561, 978417681, 254497514, 1663119393, 193800393, 1611879161, 884738209, 1613501075, 672471801, 958022871, 1203766937, 1565130797, 1653745681, 1400905446, 1292708608, 1663454520, 14221344, 690759681, 673207513, 3031565377, 2031172167, 13858829, 965552869, 3366257729, 943134721, 2098276567, 980156471, 404498993, 38166026, 604721898, 1663044483, 470447914, 1295515691, 67261478, 1901651122, 311642048, 319180582, 8930522, 1611154898, 520103580, 1275606482, 1298063538, 104928288, 456734977, 807490161, 2013951097, 77988633, 433549534, 3942044, 3434218531, 606424270, 1162412813, 1797638309, 72966080, 90595594, 1293943831, 441779298, 679019694, 1253335822, 506070113, 405234222, 624958664, 1074353043, 2521105985, 348129251, 536949871, 90243157, 79828006, 403395303, 959003244, 28591424, 127675161, 92544564, 1362650318, 1325401289, 693437192, 1557733802, 1610971818, 1571182336, 1221142535, 2013489373, 683606598, 1543570310, 1178113605, 69362026, 1295515687, 1365966893, 403843686, 567488524, 723086058, 2521105473, 944899074, 1430860096, 88473869, 454165601, 16017204, 1208035377, 130164490, 711012453, 128145812, 721440407, 1705053222, 67268647, 96618772, 1328435018, 1610689568, 685302962, 69743832, 1208157738, 423101209, 1557017017, 2819086, 1298816614, 1142368654, 1383634501, 104928378, 452526470, 1177182145, 814895897, 2753557, 433284563, 855639559, 693306137, 1378503687, 2015042153, 439877677, 732441273, 982719008, 1691903297, 807496915, 617701393, 695795765, 702100823, 2099924, 1543655773, 993564229, 104945707, 101132627, 8002297, 991500056, 51996974, 1345061948, 439443457, 426857111, 1610693397, 1155097943, 689964469, 433284864, 88422577, 19803498, 1565746184, 1379163905, 815294182, 1300907968, 712272269, 73557034, 1825663296, 78453356, 980156472, 92543776, 67245395, 604055584, 218104995, 1788160608, 220559569, 1652564635, 719987713, 916863609, 400633957, 618086401, 406659502, 1248491537, 684285978, 1409371328, 769075889, 420091073, 1812350765, 1397502977, 508441017, 4790513, 671165834, 1679447054, 1680019234, 458442192, 708706343, 580535584, 827916518, 570435228, 3434219073, 380002080, 88474182, 2101347673, 1910007744, 1171875370, 44458758, 827851878, 1176508974, 1095092389, 71385364, 1228932454, 19536160, 711524407, 68295658, 2521105985, 380002080, 88474182, 2101347673, 1910007744, 1171875370, 44458758, 827851878, 1176508974, 1094791269, 1644840281, 1382091873, 68627014, 980942890, 403794192, 1163419654, 661278522, 1565983857, 962068536, 2521105443, 673516453, 3366257698, 1416496312, 1378755607, 1360041541, 69338238, 1184120849, 973734314, 387007505, 723518709, 454661701, 104928448, 1184051221, 454564234, 92563072, 67260453, 1382678867, 1726369034, 92557920, 67261517, 77818513, 605835913, 710944404, 1545799078, 3429034, 1305686017, 1551439811, 272720351, 690355378, 104928448, 109256739, 1907646784, 178468901, 1653684512, 853954009, 673975475, 1783048928, 88685320, 451488032, 483156003, 103309138, 506069209, 2385562, 564202542, 1627809578, 1565065316, 172032369, 1385629057, 539299658, 1954096796, 1275462425, 433529048, 2830238786, 758600595, 2521105449, 440409652, 571998244, 1893635653, 71383833, 443103852, 5380098, 1894408649, 671482250, 1328642059, 1184643692, 51993926, 1210844194, 1903445556, 1929380888, 1726618177, 204549684, 1929381474, 1345005784, 3836871736, 1726618176, 709516682, 1610697920, 1655989251, 406784609, 472590969, 719702181, 71383122, 67906169, 1203777076, 1909665816, 1726618177, 807496376, 1726618176, 1587176768, 77797437, 91429742, 819537955, 79757620, 1920493290, 440426138, 1698694318, 1332634055, 1161832266, 2844558, 1663978880, 1892763393, 807928998, 4005190, 564135281, 81054898, 69743827, 1297154085, 215161591, 1401276581, 104928448, 1708357640, 459931693, 712596691, 559415380, 80958201, 874710214, 5310345, 1402181189, 104928448, 1708357640, 459931693, 712596691, 559415380, 80958201, 874710214, 19291649, 225729774, 623791488, 169963828, 1919273125, 104928448, 579937281, 421939872, 580345289, 1390440504, 12600979, 805968665, 394416806, 1661350236, 465594199, 1325402118, 51669805, 1893147669, 455972421, 104928448, 1184051201, 406659735, 1573475040, 1882718400, 1184051219, 1392063676, 146086680, 428503262, 16202059, 1203784919, 1587306506, 1834156410, 1596795621, 3366258241, 348156371, 634597397, 454564234, 92409926, 216009121, 982730688, 732849920, 172032085, 80958201, 3031565889, 343546472, 961766403, 539182739, 807030058, 1545345834, 1546388737, 343550883, 1680540674, 338040834, 1144810149, 3366258241, 348129194, 454629250, 1386636038, 828120001, 807928998, 4023078, 989600704, 126440339, 14221344, 181030176, 88146024, 2521105985, 348135895, 592517856, 1664372032, 218105251, 1010244145, 19815752, 1708412673, 815278954, 1557200938, 1705658369, 1129524887, 1733499690, 1203772746, 1275545224, 1095303422, 17198405, 1909711026, 105388906, 7416750, 1728054625, 5506250, 454624353, 442916596, 1929381222, 18290960, 53768407, 604046100, 1798112641, 88497965, 2446551, 1707633190, 1581121830, 1252001541, 3366258817, 342230946, 1314153248, 980953369, 3769763393, 348141004, 873681657, 884738229, 454564234, 73483636, 1578631211, 68375289, 893805349, 3366259880, 886589463, 1786250004, 1798113921, 779378477, 178329632, 193679921, 1402470873, 92342318, 172032069, 1640572929, 673194406, 1648430977, 1611006231, 420479637, 712507456, 404036376, 428512837, 282535937, 476841281, 307121445, 3567588116, 1228946043, 990780970, 24403210, 45558634, 1329070119, 108337944, 980156469, 67902250, 2521105473, 1095984471, 689964036, 1143342401, 9517934, 1300238634, 421605529, 916086995, 654312785, 1394148116, 1782054990, 153954519, 605825365, 980156454, 1250315731, 808194515, 2106007, 1297547310, 1663443466, 604046058, 1221480192, 88691690, 1325401429, 1566259866, 1611016042, 1329225047, 1611737880, 24403770, 1289299993, 880442010, 1594508641, 811929290, 1977180161, 740314775, 1705363621, 71385427, 1700210976, 403788672, 551233537, 879691667, 1392063572, 80354073, 2521105985, 348130560, 103895696, 1611741706, 7999820, 2058958970, 1720851500, 83956858, 453519977, 980156497, 90243978, 1663420581, 71399828, 20214368, 1910060140, 786834234, 1574121490, 444465396, 1297651269, 71400170, 420282400, 1586866354, 104928288, 181030176, 88473652, 1699894826, 92557920, 67261550, 77818067, 566906656, 980951790, 1462653537, 207689749, 1558063840, 115737140, 1300590964, 1570006826, 1276189292, 1758210092, 283788956, 2119398, 2035744805, 402801724, 647777324, 69357678, 79188526, 604789971, 992609665, 89984801, 740297418, 1293944129, 6815781, 112028042, 38165745, 672479793, 452499013, 104928288, 145378592, 88473652, 1699894826, 92551776, 787762976, 88153125, 1906729985, 1479215395, 1758553303, 92551776, 1382678804, 1584028673, 348129261, 1378484279, 67847828, 1543587370, 423100480, 618087018, 1661022242, 203969361, 604134794, 1678186768, 55902681, 2521105485, 459951288, 1678115511, 466246657, 696936238, 1300235272, 1365968617, 1402143521, 3769763395, 536959019, 101132627, 2126030, 1708339203, 537021847, 1398104089, 1398225516, 2106578, 92348462, 1386892297, 1385656542, 1610702849, 740297409, 408242391, 1095303353, 313998182, 1699046435, 79836197, 402812988, 144918560, 1721040938, 67705413, 3366258241, 395123488, 113323056, 491408385, 38156921, 711347466, 6815827, 292639369, 8934009, 1586561161, 440407781, 741085397, 1423387257, 1203833935, 218107431, 693306086, 1325801994, 605497610, 1328642083, 175264537, 2753563, 440015089, 671767374, 1447710496, 78402154, 92557920, 67319863, 787762976, 88153125, 403463834, 1409362170, 1731481344, 579949290, 604456778, 75377201, 1400966391, 1402143841, 451552300, 83966260, 1392253912, 2819074, 1344692890, 1705363621, 71383257, 2104536, 671164555, 1184113668, 580085492, 1141122258, 11998561, 204555924, 1258297588, 1832912097, 405472275, 1392063532, 69431391, 78333596, 980156670, 3671428, 439635328, 67334190, 67400110, 1698697489, 963338241, 1191848512, 90919666, 26090105, 59131448, 51993945, 565071232, 107108395, 145114771, 805372685, 1391091713, 673189766, 1610835854, 1295516121, 1612454848, 647778073, 1564919986, 71383122, 67271831, 996826113, 1545629128, 980314048, 88146057, 440479777, 260785820, 1612081610, 1715339320, 92348453, 403774057, 980156498, 67261197, 1391105605, 71399828, 55927607, 684851514, 671166233, 1586704392, 1794583161, 3769762852, 1907254592, 286341483, 1612012891, 712572964, 1154688467, 805429426, 69432122, 1584922816, 580341079, 3670598, 1104359427, 1685063032, 692061188, 617743745, 77346265, 671359534, 762839604, 1379928641, 5577939, 1073813556, 1585988352, 1458203987, 1678842473, 980156498, 68954905, 2521105665, 376701702, 759186643, 634597400, 1452867640, 2521108986, 1663043321, 977928231, 1663707872, 461797377, 1277189768, 1124452517, 69431594, 1628065080, 3670080, 404429361, 734081064, 77987901, 491135392, 172032084, 1639210304, 491869056, 67651019, 788607118, 1275134254, 1663454474, 12594382, 1327521618, 506350976, 163718570, 451515973, 71383122, 402749209, 1574240298, 491135392, 104295032, 13718124, 2104536, 671164448, 328022826, 8930763, 788607016, 77987901, 193800393, 980156485, 439635328, 67379758, 762839078, 404306317, 1677940796, 176291872, 573451640, 53291608, 708520709, 3366257698, 1881476307, 452416389, 3366257729, 944904215, 1360033827, 129525486, 1409362154, 420282602, 1640572929, 8930763, 788607077, 128086570, 423100502, 439635328, 68695703, 2830238755, 1881497427, 1305686027, 454634208, 117441729, 51669609, 13445321, 3540322, 610730026, 1599616467, 807148330, 1546392211, 2099896, 915875841, 348152019, 666901830, 564211813, 132537670, 2760006, 564136390, 1192493129, 1632259079, 708079617, 17906027, 1610762272, 177747607, 2830238786, 975247694, 1705663489, 740297396, 1543570314, 1663420581, 70800211, 604056314, 1638813056, 119608938, 452032538, 1290410726, 506069048, 92557920, 67262221, 1391067173, 402739750, 1294880128, 451582130, 71383122, 67262221, 1391067178, 68631402, 1546388513, 1681391686, 1653746573, 455108330, 420293364, 1795240037, 194600155, 708313139, 180431941, 117509152, 145378592, 1531847185, 2014931699, 980156631, 1397957638, 51190517, 18112106, 3702654017, 944904193, 1392921918, 15341837, 5374978, 1460490986, 2753559, 996826147, 102831473, 1401834880, 1531847185, 2013755436, 211972858, 1325407576, 959053856, 260123680, 144793635, 80085110, 78977785, 953239488, 525809993, 3629094, 90243700, 1596795096, 3836872257, 348152019, 616312273, 1162412294, 1832939956, 1631595427, 1680147809, 51669805, 1901651122, 168165940, 1300263134, 373672114, 71383122, 1721040938, 404167123, 513540286, 191310624, 83045226, 1545156250, 834207783, 159128112, 5380119, 433266332, 400624685, 403839379, 963518803, 1679505756, 2753540, 751912705, 807492814, 1291087897, 1557867064, 21390117, 1884555013, 3366257729, 944904216, 1221674019, 1585988544, 491135392, 172032276, 1328435014, 1707231274, 67271831, 996826133, 454623264, 291915320, 92341482, 420282405, 128543040, 90243767, 722095370, 2753540, 1907254592, 286341483, 1613497379, 1896239042, 1251289720, 3670054, 1666401740, 924869038, 1297612855, 107355803, 673975479, 433266332, 18305816, 721423937, 23479864, 2819074, 1411782657, 1952195219, 1708353880, 2819096, 1398355850, 1663420581, 71383274, 1296459168, 68950577, 1610688544, 260577918, 172049990, 2013406481, 977737969, 671178796, 70331160, 719344855, 1677797408, 1599295851, 2756823, 428213988, 751912704, 775189248, 532684113, 1400975513, 1342242902, 77987901, 1423553714, 71383122, 403777836, 671289766, 1165761472, 1788871683, 942277635, 1896239060, 1277953090, 990521345, 1278738535, 2115777, 1567708032, 107223782, 817978507, 439443481, 1910007552, 439635328, 402872369, 253826160, 174136363, 712583905, 814164532, 1879120933, 67639934, 172446521, 1380003974, 513484801, 472205975, 671630795, 740492833, 1494301255, 418490546, 71383257, 2123413, 2753540, 854203168, 285626306, 1213348664, 5533905, 1143738743, 1379927808, 161551552, 1222077777, 1398276974, 729810241, 17190850, 1210471639, 1728054593, 6230766, 1834419029, 1664559314, 92543255, 1394081824, 550730387, 73466758, 1178075178, 67400110, 1698697489, 963338255, 1345782802, 965568448, 1557288151, 1728054593, 9127129, 893789188, 1251626790, 980942891, 67771161, 92548753, 1184643692, 2101510, 1338133333, 1664559314, 2819091, 1392063523, 282532230, 115616977, 1191200990, 4809034, 1277371026, 1445619008, 95885779, 513541505, 105787833, 2013428887, 996826123, 1184653315, 808654860, 1564894217, 451936518, 1834437676, 322175008, 176232517, 163718922, 710938446, 1246383882, 24403288, 1680040759, 724055507, 805457486, 1163395287, 1397957676, 211972650, 423101044, 1596813656, 1680607361, 380920590, 506069035, 573458656, 647777282, 2105555, 2018641505, 3769766510, 557870538, 1881360026, 1673549350, 557843823, 1783993925, 71383833, 443103852, 14221344, 712596691, 557843804, 886637134, 834207792, 491408390, 18094624, 1238575148, 70792395, 1678397226, 1593836546, 1401308705, 203819425, 349375914, 1954089537, 4532841, 2753539, 2696021057, 943134721, 2087191940, 1664555628, 672684874, 438174484, 1785290770, 465570093, 685188104, 1380863360, 107020406, 455083010, 1498620972, 72489920, 439898122, 1627804992, 90243398, 1663420581, 104928448, 109256739, 115409486, 623978497, 674301094, 4153766, 790635864, 559097299, 805393440, 775181024, 134814448, 1297637383, 708079660, 322175008, 176232480, 180435293, 993525811, 165879852, 286543641, 1598580041, 7472153, 1386218817, 51190137, 2430994, 723928075, 1557277588, 1577059681, 1153447238, 1874868962, 1225594935, 78014246, 564831410, 73159505, 644178720, 746128578, 757999630, 738270484, 1781110341, 104928448, 133386853, 1898602775, 985202792, 92550812, 728390691, 107020590, 1565025730, 1210718209, 2099929354, 1294880128, 170262900, 1780502836, 1543649353, 626600217, 690040985, 1342242885, 77987901, 1733512529, 2521105985, 348129251, 536954642, 707878936, 1727286673, 2013341972, 438317272, 92348453, 404240023, 1678263762, 471487512, 1380582169, 433545217, 415238073, 1785932320, 126491417, 2521105985, 348155223, 2013363304, 92551776, 67654387, 719324326, 49160714, 1740665492, 626197030, 623533091, 126440339, 1893147692, 143800717, 1677862662, 759170409, 721955433, 92348453, 439898118, 5310362, 1468423461, 3366258241, 348151001, 894894990, 624954625, 815025172, 1296064969, 671159328, 513369746, 2758657, 2006208810, 1276188969, 719401113, 1342242900, 79757381, 96681514, 460213632, 67346610, 71385364, 1228932454, 19536160, 711524407, 68303466, 2521105985, 348145299, 805378109, 1423466700, 673383969, 353463097, 719987713, 888623626, 1276721735, 720897411, 395191616, 248009290, 1610697760, 178330426, 1584922841, 2099850, 1293944129, 6815808, 404433662, 4019416, 1623993222, 2016153975, 1379927042, 1360283992, 12608311, 1382809911, 427398725, 71399779, 1681197539, 1479347424, 1183229106, 104928448, 132734155, 1740639488, 115426341, 67588921, 1379927366, 36982144, 1638280993, 815353857, 4523174, 44458758, 828120000, 79768608, 178652010, 1606420405, 454564234, 92551776, 68695243, 1677867081, 1632259078, 27925374, 30870088, 885968050, 104928448, 1318262665, 721968597, 1679104761, 2758664, 1355874894, 1296418981, 104928448, 132658386, 492242017, 1144391009, 1089088096, 1423401985, 683680390, 1142045290, 92557920, 67245166, 88146189, 440871648, 68234041, 720896185, 295115374, 1698698118, 1176855553, 962142634, 604068896, 1585987628, 322175008, 178328768, 1184051221, 454564234, 73472077, 77988633, 693437002, 1691419409, 959054652, 991509100, 20214396, 451478916, 1719665666, 1478825985, 2123704942, 1300613285, 2439320011, 2570872, 991499845, 1219626372, 1452551203, 2056918807, 671688905, 2525298809, 455083033, 977966661, 302916110, 1300268037, 72890010, 1159726609, 1385179424, 245440042, 447390898, 299040800, 1251686744, 73470510, 759171426, 648438542, 1300237985, 291384069, 3366261130, 1586707028, 373672114, 313596878, 1300236002, 1065777153, 3022000826, 1638813056, 2214924654, 623983212, 2982917, 325738432, 848569388, 309620737, 474886784, 90243850, 580068364, 1556719794, 282535937, 491994782, 980157396, 1794648619, 2527400845, 692726090, 692725940, 377835700, 2525303092, 2567093, 689504842, 2824885, 1155179701, 28206848, 83385158, 1565620225, 1545614662, 606868084, 1581663806, 73547668, 1781091512, 1678331922, 1762459942, 1221339171, 155678734, 1293363502, 506069582, 1628248680, 673383659, 439418994, 482886534, 1563951927, 2043883521, 758784513, 203824874, 436208787, 688915567, 1796815114, 15350380, 52181369, 2509143, 566979104, 115409036, 1564894212, 1785277155, 747260590, 1564854437, 311231603, 1353973794, 102505008, 689965057, 51452778, 1574121483, 443310081, 683689815, 1104359436, 1598723717, 327577043, 805404837, 2147811328, 2158297088, 2147483648, 32773, 0, 32933, 8282442, 1208037268, 1577437349, 30952632, 1678988070, 507380138, 1185638949, 3366256753, 1317022059, 689542725, 2499931, 1398221088, 2056951429, 71378716, 977274593, 20598154, 1382402213, 296371764, 2521108884, 1361061086, 2521109102, 557871430, 1705663516, 683175232, 491408397, 460213632, 1155082814, 2521108884, 1361541445, 3366259899, 439229049, 14247250, 1462093989, 71377993, 1633106586, 3769766099, 30631255, 723073644, 29960389, 1219663429, 328014624, 403198568, 716805765, 305418752, 452225641, 2521109300, 1343298346, 5442789, 3366261158, 1832912010, 2035810573, 688924965, 3366261642, 1176570919, 1632258049, 741350730, 1275551576, 903032833, 321530669, 2974354, 672682745, 2765370, 673976536, 12606808, 1782121569, 307522349, 25847552, 842672416, 1720462125, 719329217, 874794648, 683606054, 82393408, 89598741, 988178071, 2013993425, 1793758789, 328099232, 854203168, 694899449, 73473685, 710935580, 979981184, 752288083, 1397502977, 751912604, 22243070, 2521105468, 979981184, 573858136, 12470935, 671750926, 1203791267, 1752781482, 1296635877, 3366257699, 652887880, 1691575870, 43330168, 2841947, 684785856, 1573405017, 2013414698, 1628065070, 1300236297, 451956056, 3769762851, 656161388, 1612199769, 2499124, 1633195589, 213064473, 2025589593, 1586578467, 518409518, 1638813056, 403130004, 666901418, 73877128, 1124080177, 7277953, 673189125, 3366259893, 455945006, 550586304, 482811438, 1300237057, 339252805, 282264403, 580083982, 1398276184, 79189734, 1915364354, 1210068532, 1390489734, 1176505827, 808059907, 536951445, 711313573, 213064473, 2025589593, 1586578467, 518409518, 1638813056, 403130004, 666901418, 73877128, 1124080177, 7277953, 673189125, 3366259874, 1613039365, 3366257713, 685452032, 525814819, 81285129, 1344164677, 3366257699, 714418808, 2521105443, 714418808, 2841947, 684786487, 693633223, 1399456724, 3903983832, 2114158, 759175861, 1585848746, 1611556608, 1841849810, 73470542, 1293943992, 1760701164, 689971136, 257191255, 1222141271, 980157326, 1176580248, 1184647105, 203699238, 1733775105, 257123793, 2121560, 1740643878, 624952483, 1775444384, 107025002, 570503201, 1114516800, 146878222, 1300241152, 255335270, 827422744, 1171873793, 321740422, 3836875205, 1648367991, 432603239, 2114886, 1409359065, 1699895082, 604194100, 1296041198, 3434218561, 976105258, 605705223, 2013332206, 1641230359, 996826292, 2254590, 2843534, 1210255681, 18505450, 1329070126, 215508724, 1300312098, 580003848, 1184377569, 219239178, 1543580704, 462054034, 672687866, 591027520, 88354356, 1361056020, 1329025568, 287721477, 1554711937, 86394887, 688935544, 2849434, 92342004, 450889025, 3755334, 1581121834, 426397440, 2056914018, 673668434, 406266515, 1628328792, 14155815, 1733434922, 7472137, 440428188, 451477540, 559375553, 1563710016, 441732480, 68636944, 1611031566, 1728060632, 2830264992, 90247379, 1110106290, 1788872033, 319634021, 3366283936, 90247699, 693671493, 1788872033, 296638213, 3366283936, 90248070, 991532613, 1788872033, 286075673, 2521131680, 90247786, 570804389, 239145386, 421906597, 902575105, 1545881427, 856017061, 69410817, 360334880, 88171558, 130164051, 1700210981, 3366261189, 1648367991, 432603175, 101274218, 20403091, 689994394, 1594508645, 3366257719, 990793088, 120068855, 962068512, 512123907, 1210066130, 74011539, 2121179, 719391782, 239141222, 1178076548, 1729102969, 1644546213, 69761297, 1387791481, 988423169, 684803073, 673460434, 721421529, 1573405015, 2015572710, 520094955, 988956609, 814112781, 672217360, 1610746125, 1387791469, 672668632, 12128850, 1210847738, 1663059408, 671369874, 56109344, 91363850, 12069445, 1220083792, 1304963073, 742988469, 1565014233, 690342053, 69338182, 1653746573, 455088526, 1691953445, 3366257698, 70649186, 629827374, 1300253335, 671494617, 455779506, 69338149, 1251687020, 6554627, 539167554, 1326729561, 903065778, 69339014, 1610770515, 1624335361, 447370922, 1546392180, 20211961, 53291968, 97014377, 977948472, 5441626, 1427392979, 806898888, 3232891938, 69552795, 980157236, 1893147649, 473370458, 1299659091, 641598022, 1315626162, 71385916, 1342715534, 559421344, 354496657, 685451264, 356593799, 689195328, 634604887, 2521105665, 348152664, 1439185562, 1622936398, 1294888393, 1758528621, 1378433644, 12590284, 74524883, 980156620, 433283872, 1382679430, 1176580237, 671159511, 1229520941, 404437262, 1398282114, 1796815402, 1731499589, 83956928, 1666733512, 983195836, 189680942, 1841916113, 37632620, 55779987, 1628328792, 5374988, 1587170597, 3366257723, 1372071937, 673198918, 1563299649, 673195859, 826427636, 1381498988, 107020582, 1578314520, 73753676, 634936664, 1430807560, 1394171905, 472139211, 682891040, 81085640, 721421453, 684261458, 404239575, 1410683434, 2521107623, 1385314924, 57948426, 50756352, 388264692, 1300303127, 724454580, 387974337, 510944712, 671292417, 472934231, 1296629824, 404044330, 2762584, 1680609716, 1881344865, 634526094, 1296418981, 83956928, 1922524593, 722993838, 688521258, 550726872, 3708485, 70326869, 3545095, 254360146, 719702181, 70326869, 2434379, 980313425, 2013870674, 719343260, 2521105457, 441778213, 1296457278, 43705522, 69368215, 1400922548, 1596644530, 69367854, 491278926, 1300257614, 1698718132, 1596311717, 69367904, 1155032081, 1382810228, 4038202592, 5, 405411009, 671358100, 310661268, 310661268, 310661268, 310659077, 405411009, 2829386808, 1727669050, 1557201363, 1699503577, 2013341728, 1557023988, 1879119626, 1834428990, 18107063, 1380868425, 74524891, 980156455, 886256083, 805396046, 616307159, 75000501, 1392060704, 1383168007, 2013357926, 1452737924, 533370437, 72898086, 1637882612, 1785266259, 404501969, 673394124, 925781376, 67660535, 712574073, 894631975, 653554277, 3366260481, 203442380, 956309126, 1677949623, 1399727424, 1458857288, 1707231283, 68636944, 1610684660, 1781082872, 43198482, 693723142, 1677787380, 1731479553, 730228055, 751912705, 814632209, 1764642176, 167005509, 3366260947, 229972781, 724443160, 1465476439, 73547566, 1228932734, 1396772266, 1557210880, 76111516, 1305718962, 299040877, 1922508545, 225325497, 980156448, 768236810, 18505450, 1329070122, 67271831, 996826156, 72489574, 826279277, 1378418724, 1402142803, 403127073, 206202282, 1275141166, 550985162, 604195008, 1893280491, 439418918, 135811658, 40264510, 49553944, 92558152, 3031696429, 1378484500, 1176917770, 1612931668, 1705663955, 807293765, 3366257752, 693239851, 153696652, 980156608, 915482625, 3769762861, 1378484261, 827942355, 805906773, 719391818, 216359680, 210691250, 71383834, 1593076329, 689971136, 402864170, 1613105734, 1176527305, 721799333, 321723168, 1893204474, 1663047687, 253958502, 1544115091, 2521109386, 1176570919, 1564886590, 19801091, 1684472622, 1229009038, 1612212680, 959054502, 980495128, 2527398017, 1483145319, 36070176, 506753052, 452988114, 1762459731, 2056914308, 951601158, 786839840, 81869098, 421906597, 2307195470, 1661624321, 2158297342, 8010344, 3031567532, 1384710929, 453837922, 679037400, 1633189920, 16646336, 1238476978, 71840983, 826346570, 2214920698, 1253573230, 1223784454, 1640605874, 286333548, 377491735, 453842560, 2217018022, 1592666885, 3366259894, 1774731288, 1727283521, 206210053, 2427468, 1758962866, 212619913, 51994256, 673384782, 1689804803, 454120325, 406552608, 20194698, 3769762071, 453847808, 647777315, 1114907150, 1300268037, 4204266, 441522793, 2521138213, 2432217, 1700210976, 135941396, 1325939354, 1651139333, 3366259883, 1794003800, 22880678, 1300890721, 2552234021, 1114907146, 605317925, 3500475437, 427360298, 2223308916, 226590885, 2521106952, 1794709971, 1610796064, 14188580, 48908955, 721422413, 684299845, 69933862, 1141327516, 51994064, 721454085, 51800110, 115409322, 452532128, 9250825, 962106949, 52838744, 12594393, 438312500, 1879120657, 1783980033, 740306484, 1390421318, 2763128869, 1664575760, 5374982, 1581586491, 15815305, 15348179, 1610690359, 957367616, 647810226, 44977688, 2149580882, 68967896, 1680017742, 1689804802, 1594514900, 1795541157, 160982772, 1094730963, 654380106, 255597312, 1383168001, 24189728, 88146161, 422221381, 69682844, 36064568, 74586638, 1300240408, 886130332, 25584032, 115441829, 387449047, 3367240426, 558787928, 12592458, 1410079501, 3606616, 959092293, 213392230, 826285620, 1879197728, 1705914789, 1342276773, 2450234, 1315578882, 676225838, 1176513996, 925225125, 319888141, 377489799, 1184629286, 1295521408, 321723168, 1382678947, 1685723897, 721290339, 1695836713, 4809047, 983228596, 319888141, 377489816, 1727283520, 580078920, 1728401409, 1226074665, 4809047, 983228596, 2450214, 831151433, 73472311, 1387790379, 139480394, 3769761829, 1251093113, 451823552, 634933998, 712583456, 79766894, 834207974, 570804389, 69948136, 671164452, 506753027, 3491758310, 570494745, 1785932069, 3366256677, 580071256, 689964225, 627978681, 15081989, 3366257718, 1774731882, 1660945729, 321740632, 1677971488, 387449738, 446842917, 1114907146, 604056608, 775181025, 237640558, 1300248018, 55778034, 690342053, 2434520, 452077856, 532682776, 1761166656, 760106784, 1423467522, 161094377, 2521105441, 1850630922, 1612908865, 15082012, 453837009, 1251501059, 1344754538, 3702653985, 1861902762, 1612600129, 206200659, 1610743840, 1892795570, 69299978, 1295515687, 585523630, 1300235617, 24203927, 75123988, 1325939354, 3769762849, 1828137168, 1610682986, 570426790, 38167310, 1832936006, 1638254757, 213281224, 1075145320, 874711363, 1736859668, 1312686272, 841370894, 1300241972, 4038200492, 1154687443, 805783196, 3343364, 600327829, 1622671726, 1663420581, 70406776, 1700201234, 453847808, 139291018, 24011552, 134287629, 723059815, 1564885459, 806890346, 1557201646, 520472741, 69299409, 1251501059, 1344303571, 604188714, 81867968, 1531847168, 1465065893, 3366257697, 1848003896, 12605267, 564137184, 243336078, 1293946241, 735373490, 296364337, 722993194, 77342933, 1383597153, 3892888, 1633157159, 428227192, 1677787892, 570428865, 673189125, 3366257697, 1838618872, 2149844089, 454634240, 992021542, 1706513304, 7931233, 7014121, 990669593, 2521105458, 1383621975, 26679544, 2558529, 60242713, 74996554, 736780323, 79764791, 1386251397, 3626190, 3434218529, 1816554086, 506069035, 625490218, 59583277, 719324519, 1586381844, 1545102684, 4335059, 1297585733, 69477320, 1184194595, 1317036724, 1597524179, 74005269, 455619928, 4352616, 1383604692, 1795190216, 1708299845, 69362460, 980180994, 148711459, 155412046, 1661657266, 69432541, 671554282, 1203784152, 1633157156, 685217349, 69629248, 1669999288, 44458784, 452986095, 1783955672, 959092293, 69629248, 585523626, 1611018446, 1327038496, 1585987619, 1706513294, 1300259494, 1578669701, 69944537, 2753539, 1960650765, 993525799, 626080006, 1699837954, 1210070342, 606290548, 571362688, 83127077, 3366257698, 1651120945, 2014784084, 1834483748, 893822130, 69432541, 672687860, 1094722090, 459956225, 473105427, 459931691, 67647125, 3769762851, 1960650775, 710176088, 2372934, 2763129894, 1967141209, 1610686190, 834207799, 68696362, 92558152, 3031696427, 1155072042, 67335389, 672678355, 1611014900, 1660945547, 1391074034, 2521105443, 1998338668, 13716120, 1677938727, 239493121, 484859217, 2014649079, 2013355822, 1229310117, 69362460, 980180994, 148711459, 79914606, 571998244, 452067544, 2565769, 826656933, 69361933, 451685121, 203819078, 1967153702, 1638555649, 475169925, 14141618, 282263773, 672687860, 1094731984, 721426441, 693437332, 1785266231, 76622213, 3366257699, 1960650776, 1909666560, 647777315, 819475923, 805376781, 1397826903, 2521105442, 1638819584, 81867968, 841370894, 1300241972, 1881343169, 472795794, 712579822, 1203790650, 1315611826, 69362460, 980181158, 123732999, 1154033689, 1794334722, 1210325746, 1390414152, 1557673304, 16208073, 1640572930, 2372934, 2763129944, 1691103575, 15081984, 1785277152, 403511761, 2759594, 51994256, 721799333, 69432910, 834238471, 1184629047, 1387790375, 90247699, 693671493, 69629248, 903438337, 2426732582, 243492629, 980630124, 2521105442, 1662794348, 1612907765, 452425763, 155255156, 1560936490, 138888860, 7636101, 14425029, 3366257702, 1967132289, 2426732652, 88150438, 1294020676, 751912704, 90243441, 1385666117, 69362090, 1641618218, 1612918227, 827800172, 4332458, 2521105442, 1661492441, 564813826, 162142496, 1599224422, 1708862014, 396361874, 965567489, 474564812, 956712510, 45568810, 589964323, 893416083, 626516149, 286543578, 720260480, 139143383, 1612907522, 1656383232, 81866026, 455972421, 69340953, 418906740, 1292704294, 1328642049, 876765998, 1163461985, 441344778, 3769762889, 1361848326, 1610678339, 580004608, 116478853, 3366257749, 452425734, 36581817, 1305686041, 922379041, 203817986, 252069721, 721421537, 885011182, 1209225509, 3366257698, 255277400, 2843242, 436229336, 1677791642, 451478626, 673671054, 1663048582, 4172419853, 964246124, 3605522, 959996929, 683697591, 1796801633, 4394625, 525542035, 1628328792, 2950157, 427360298, 140010961, 725209266, 69340276, 83127077, 3366261102, 1306015187, 805379723, 740492290, 231956823, 1728055367, 1154033666, 2372934, 1596311717, 69340436, 1230503991, 107021070, 625020266, 981032995, 80629514, 1597505568, 505816384, 134288110, 520472741, 69340404, 1929391767, 1221674945, 249969418, 1610746649, 975857460, 73472045, 404512704, 854477859, 711548929, 15099697, 671160356, 1170974898, 213281224, 1075394298, 1663063507, 1124074641, 695795927, 1210254535, 1184113688, 1691838208, 91839944, 1110049076, 1919273125, 69340471, 462946545, 1384711287, 437144960, 140010961, 723594440, 1587044353, 282577074, 70804945, 723594609, 453847808, 752379223, 53284673, 474885777, 1184629857, 418468489, 59393592, 3343505, 696633509, 69340945, 1402042374, 1454854344, 894960760, 1726890328, 36585792, 404245712, 673383633, 685452032, 83645267, 625579589, 69340953, 1573923584, 1171269638, 51583498, 377488439, 723142446, 1300263578, 1293943992, 720261976, 2521105442, 253303032, 12592458, 1409837856, 115413845, 1431765207, 3367109688, 1708206881, 791963917, 721421451, 1391080774, 606274753, 15815305, 42426650, 1566048292, 1842887315, 2521105442, 253320656, 721427232, 77356504, 1680016600, 1764305521, 2013335959, 983565496, 1171608919, 2013345009, 1384748613, 69692217, 2754648, 1708206881, 756488464, 1610685522, 68698961, 1143145665, 521738636, 719330504, 3232891938, 249973504, 67967353, 2754631, 1154033666, 2384692, 1221080099, 1162243539, 805379180, 88563014, 1705363621, 69340377, 1690845953, 203818219, 439419110, 570434904, 1431771946, 1204144293, 212947564, 75052358, 1726882001, 51452685, 92342534, 1695350905, 172069029, 73541664, 142176728, 1728055376, 1305159715, 79790245, 26487552, 775830124, 2521105442, 241834801, 2014004693, 1610715301, 7079233, 296111416, 73472121, 653547264, 90243441, 1385666117, 72686327, 2013659700, 1880700666, 1663110182, 2223309585, 985137260, 88150438, 1294321829, 70858186, 740497426, 255929114, 1431779991, 16197961, 980157557, 458763008, 174457428, 1230201857, 756305678, 626458656, 1458853614, 725483562, 768817933, 980156455, 1366005317, 69340370, 1795842061, 978856491, 16646922, 451425747, 805376692, 571107077, 3366257698, 223569239, 1691242240, 902979921, 738686999, 963721836, 2381000, 3232891961, 902442019, 781660505, 1708339202, 156787027, 1707492926, 25841450, 706767527, 1574121939, 807609177, 1610683181, 1585898674, 70858186, 740497429, 1556891865, 991495273, 991238952, 894959655, 452991001, 921312032, 90311214, 1834039732, 1361430693, 579784453, 1029483064, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846]; _global.z2rom = [50331696, 1265781619, 951517864, 585444277, 14388, 809054260, 32026524, 3633905664, 0, 0, 0, 0, 0, 0, 0, 0, 1705672869, 321759237, 332720133, 443121829, 321727210, 2158335584, 3137377856, 2056945829, 3512788608, 550704921, 2158326233, 3020233450, 2158301997, 3137370778, 3691327220, 3355795092, 3355775886, 2094507013, 3126879654, 3825562030, 2711631067, 2818914937, 3490006231, 2973787566, 3758448970, 3405788503, 2829410886, 3323993945, 2158303925, 685236229, 652620435, 2158323127, 1397535749, 299466917, 1653746477, 980189349, 318034501, 328105175, 616095749, 647173913, 2158306964, 3691327127, 2158310872, 2158318425, 2158319342, 1292559104, 2428506538, 2158311244, 2818906356, 3944796768, 1586808997, 1834481669, 483477140, 3422884215, 1358233568, 2445327136, 886603941, 1184154368, 452225641, 2158306954, 1650844448, 2638246554, 3307237585, 3338692010, 3711967571, 1700233381, 550719129, 2158317209, 2158324334, 580373509, 1318663635, 2953127384, 448080087, 3768949536, 1855004883, 3500485236, 1582623488, 1653778437, 550731941, 1655548650, 1162258176, 775213792, 332720864, 1892795397, 1171302405, 587096870, 3288668727, 684324869, 439505689, 2158323110, 3836038807, 3852486092, 3072345417, 2973771090, 3529513204, 3980401990, 1798188881, 2158304586, 3422902004, 482854848, 309618094, 3447757568, 1654318496, 1922311507, 2158316759, 1587314853, 2097186, 2359334, 2621483, 2883629, 3014704, 3211314, 3473463, 3735611, 3997759, 4259908, 4522055, 4784203, 5046351, 5308499, 5570647, 5832796, 6226018, 6553704, 6946926, 7405683, 7667831, 7929980, 8192127, 8454275, 8650886, 8913035, 9306255, 9437330, 9699479, 10092699, 10289311, 10551460, 10944681, 11272367, 11731124, 11993274, 12320958, 12583106, 12845254, 13107402, 13435088, 13828309, 14090457, 14352605, 14614755, 15007976, 15401196, 15597809, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 2, 586498, 765952, 243, 50334659, 131072, 4077191179, 3514843648, 33554432, 199622656, 193286, 783616, 33554675, 117443589, 0, 4077387788, 402653184, 15927552, 204275714, 62218, 802560, 33554675, 201329739, 0, 12, 1478492672, 15928832, 207945728, 63764, 817664, 2291, 4177529987, 0, 4077912076, 2348810240, 15977728, 211419144, 268494354, 829440, 135266534, 318770364, 528384, 3860135948, 3556770304, 16375040, 216793096, 268494436, 850688, 12583108, 3345, 278532, 3875536909, 905979456, 1638400, 223870992, 537001984, 403533056, 512, 3467, 16384, 13, 2684355072, 14614528, 230096934, 1073798940, 902656, 4456448, 3557, 17408, 14, 151064672, 6824192, 237568144, 1610639394, 934144, 12591208, 620760665, 18890752, 1730543630, 1811940160, 136708096, 243597312, 1074292736, 957704, 301989991, 673451697, 135397376, 1677721614, 3288334848, 6760704, 248971410, 536897280, 975872, 304087143, 587206387, 139264, 1680277519, 50331648, 33554432, 252903426, 27438, 994816, 41943147, 3916, 49184, 1798111247, 1660952640, 543817728, 260243488, 3223350272, 1028608, 33554548, 4065, 1056784, 1979711503, 4093640768, 549847040, 269680642, 2147513907, 1060864, 41943159, 4162, 6342656, 1933705232, 1409302528, 7929856, 276299808, 1073773568, 1085184, 270533243, 4261, 134356992, 1649868816, 3120562400, 545275136, 282001408, 3760226304, 1110528, 14688384, 1056968978, 57376, 2151432209, 905978048, 540999680, 290848800, 3221258496, 1144064, 115, 1124077982, 131072, 1929379857, 3036676296, 4867328, 297992192, 3355462214, 1173760, 13107274, 4625, 51200, 1245970450, 922755136, 8847360, 308412416, 1073741824, 1212416, 2418016373, 4657814, 16384, 18, 2868904000, 31921920, 315097088, 33089, 1236992, 126, 4846, 1179648, 2097152018, 4227858624, 544946688, 319619328, 3221254967, 1257216, 200, 4959, 4218880, 2315277331, 1996496960, 5439488, 328073508, 1073772856, 1289488, 541065312, 5067, 131072, 1644167187, 3892314304, 543184384, 335020034, 31322, 1313792, 33554554, 5154, 131072, 2052653076, 872415232, 0, 340131840, 0, 1335048, 272638167, 5237, 131072, 1648033812, 2365588000, 8212312, 346095616, 3223322624, 1356288, 268439686, 6231242, 2, 20, 3858761728, 15099691, 352124928, 33618278, 1383680, 2228473, 2516587825, 528384, 3865717269, 1140888096, 14418025, 358809600, 3221252128, 1405184, 134217958, 1798313358, 528384, 3865849621, 2734688256, 15101233, 365428744, 58990, 1431040, 134217958, 1862276582, 524288, 3866099733, 4261414912, 15102208, 370540552, 58994, 1454592, 134217958, 1929385550, 524288, 3866382614, 1660946448, 15103282, 376569864, 268494454, 1242991874, 134217958, 1999967908, 34078720, 3866637846, 3087271952, 15104256, 382992392, 268494458, 1427562496, 135266534, 2069567219, 528384, 3866906647, 67110912, 15105337, 389414920, 268494462, 1612137730, 134217958, 2135824213, 524288, 3867148311, 1862273024, 15106366, 394658312, 59010, 1293391110, 230, 2197821358, 100663296, 3867410455, 3372613632, 15107328, 400557568, 59014, 1572098, 134217958, 2271352844, 524288, 3867756568, 520094242, 8978432, 405667848, 59018, 2283290880, 134217958, 2337478752, 524288, 3868065816, 2147483712, 0, 412221440, 167936, 1618432, 135266534, 2442074318, 19021824, 2382364696, 3724546080, 9502861, 419037192, 268494483, 2417562112, 2451570835, 6437, 528384, 3869020697, 1040191520, 0, 424870144, 536910999, 1667328, 249, 2868910480, 32768, 2627207193, 2835351040, 10262784, 432013318, 40090, 1691648, 100663452, 6631, 425984, 2627010586, 67110912, 15115419, 437584160, 1073782272, 1715456, 2418016256, 10295886, 9576448, 2728394778, 1895862816, 10616832, 445317266, 536912543, 1746176, 2451570852, 10558141, 393216, 2762080282, 3590326288, 15115683, 451870728, 59047, 1771776, 33554599, 6958, 524288, 3869812251, 1107298320, 15117312, 459407362, 2147527680, 1798144, 100663468, 2835356553, 4203008, 4188864539, 2734688256, 15117994, 465174528, 570489264, 1824512, 134217958, 2969574378, 1056770, 2969567260, 251658240, 16366080, 472973320, 59058, 2937867520, 134217958, 3003128948, 524288, 3870556188, 2348812288, 15119616, 480772104, 59062, 1884160, 134217958, 3070237916, 524288, 3870818333, 117442560, 15120640, 488833032, 59067, 1915648, 100663545, 3254787415, 524288, 3871146013, 1879048705, 16321792, 495452168, 59072, 1941504, 1086333952, 7601, 2113536, 3221225501, 3305113600, 15123391, 501678082, 2147547589, 1965568, 58720505, 3238010385, 524288, 3871604766, 654313472, 15123990, 507641856, 570489312, 1985792, 134217958, 3342081643, 524288, 3871866910, 2399143936, 15124818, 514261000, 59082, 2014720, 134217958, 3405782739, 524288, 3872522270, 4009754624, 47316992, 520093696, 193517, 2038272, 0, 7985, 2, 3539992607, 1308631104, 13697024, 527106048, 1610666700, 3491727360, 134217958, 3553697705, 524288, 3872706335, 3187673088, 15127808, 534577160, 59094, 2094336, 134217958, 3607109648, 524288, 3872939552, 754976768, 15129088, 541523970, 55808, 2124800, 135266534, 3688439930, 528384, 3873177632, 2415921168, 15130216, 548077570, 63845, 2145024, 135266534, 3774881995, 1318914, 7456, 3959422976, 49932288, 553779208, 59106, 2167552, 135266534, 3808436520, 528384, 3873701921, 1056966672, 15131904, 559742984, 268494336, 2193664, 0, 15147414, 528384, 3859893281, 2583691776, 16378112, 565182466, 63978, 2212352, 33554681, 3942654420, 131072, 4192993313, 3892314624, 16379392, 570163202, 62447, 2230784, 262393, 4110426648, 131072, 4092592162, 637534720, 15986944, 573702146, 62450, 2244608, 33554675, 8780, 2046562432, 62498, 1509949952, 15925504, 576454658, 63990, 2256640, 100663545, 4143981183, 393216, 4193779746, 2432696832, 16318464, 581042176, 62223, 4196577792, 33554681, 3154125526, 72666716, 19244749, 951141364, 1070809036, 276103171, 2123842126, 2762289483, 1563371934, 127198, 4047767868, 692674116, 510687376, 2004234025, 2097152546, 3940930353, 955657984, 2228224, 129690, 4047667522, 3930502972, 808397060, 269862, 1663042854, 3135631682, 523832130, 3459948800, 71784257, 3543141599, 1244741559, 1887206266, 2033133680, 144116, 3932811583, 2957397564, 4215174447, 676593666, 1624163991, 826689327, 673579011, 506094350, 3449319738, 1178568192, 73615412, 422958000, 2771330911, 351443, 647103111, 1028187301, 4047572553, 54532416, 889193047, 183055407, 688128002, 1330814295, 826338048, 52597332, 3638601009, 1007038246, 3774874414, 2489755300, 2771467928, 791074560, 101212165, 605955618, 1199843, 623862787, 764679936, 101212165, 611429989, 1074941667, 622661935, 1677929876, 386667520, 101212165, 605960744, 71948516, 2770145839, 1677929876, 386667520, 26027313, 1200648422, 3135950639, 1708261381, 140510500, 1565065362, 3138985235, 795083565, 2484538388, 592484, 1221343488, 295135552, 317347153, 1163125925, 1900388155, 523272172, 794140970, 2745509795, 3204448867, 2497521137, 1218986947, 1061632561, 1350691200, 793486126, 1977763, 2284495766, 671088640, 67670553, 2384469146, 1764837971, 283914121, 2284322846, 263745, 613113479, 3556766026, 4097979463, 1950499440, 3397616361, 797187885, 2742878210, 626184805, 4047294780, 3040814141, 506429069, 765686272, 72701741, 1214519251, 171001345, 1357637252, 791066158, 65538, 1573363347, 826655280, 2256875379, 1358956069, 1362691685, 1077055780, 279692657, 1092831589, 814212911, 1934700032, 52953103, 547654, 1328441280, 87562809, 2015107882, 3701862730, 1749366337, 3527394607, 1463889408, 70099820, 416582, 1328441280, 87825194, 3701862730, 1749366337, 3527394607, 1463889408, 70099820, 270766, 1287677254, 3600380232, 3762605360, 2290888486, 2888368132, 218662, 557893849, 1900176708, 2031126831, 1734618624, 204013588, 216412, 1655100759, 1900282435, 573606794, 664977920, 52312616, 62679409, 1140541328, 818919983, 1674586786, 3056074772, 352088, 1740651234, 1040906405, 826352432, 2391617383, 1462632450, 345433, 1700201109, 711646373, 826520848, 2402156546, 213342, 915515557, 1900096064, 1244619528, 687866368, 54615606, 2443748721, 1093288010, 795019305, 131075, 266886344, 3232051516, 571510784, 40159173, 1160857782, 814872617, 2621443, 1230576160, 3318296897, 3171983151, 1669332995, 1230576160, 3318296897, 3171983151, 1669332998, 294867530, 2692090, 1573434533, 1899981387, 1678807855, 1621896610, 2902460769, 2924104285, 3543140458, 4179112709, 825855460, 2775661665, 1103827092, 794774272, 67573862, 2468874472, 3937487352, 1012089270, 821668655, 1527185413, 483606535, 1585985367, 2829431098, 3175350852, 1683002878, 3375235074, 715277863, 2723479563, 1452762854, 178332815, 82073034, 1588875040, 292625197, 2831806788, 3091459385, 1598645520, 2754478105, 765601322, 2721327104, 335546211, 639762437, 1062400073, 3372281542, 955333148, 1203847851, 1231376536, 2543202142, 2704146442, 765586730, 2717591552, 422027787, 340724, 1788871971, 2058675000, 1900332612, 3205560320, 51365737, 279651633, 986845432, 794306606, 6565281, 3676897380, 620757028, 2370109444, 505815552, 1664596588, 2973696328, 1648090160, 3415813969, 1009647617, 765578752, 68002097, 1495379661, 2557558193, 1246506842, 3841983501, 2704365857, 2932709489, 1035029068, 794472704, 89442368, 3425173797, 114114289, 1139161908, 1231372173, 815503919, 1514941952, 137208258, 671092480, 107123001, 543369770, 539020456, 2771467018, 817470509, 2712862722, 1598552229, 1900422217, 1695587885, 2711693985, 2552758287, 155271, 3542479173, 3846521914, 4232437295, 1565011361, 2449474653, 1210759449, 296265009, 1165758623, 793759529, 393220, 1907254592, 513065125, 2973395260, 456814640, 3936431955, 3777888261, 715180329, 141216, 3640656670, 975701970, 2427533929, 1008417392, 280637267, 3777888266, 715175977, 141216, 2801796146, 3928645662, 2495653297, 979975195, 980439203, 2913087315, 3777888266, 715166505, 141216, 2801796183, 1465264640, 4107404657, 979974768, 278933331, 3492675594, 765542185, 141217, 1358955793, 1897606440, 3372423578, 1433487339, 1231360164, 771752237, 2691377152, 170369140, 415470, 558967576, 66346514, 3106271547, 3813367103, 2018075952, 3886362112, 170762305, 715139624, 1320864, 1258292310, 2487484711, 714799217, 1152469223, 279654235, 1328390154, 148806, 3232051521, 2467343151, 1540685833, 550512651, 1587045705, 2907465, 36333354, 3741708603, 289085504, 2537666096, 3869716313, 1194196996, 663760, 671833752, 1699282988, 1390824842, 36333354, 3741708603, 289085504, 2537666096, 2795974489, 1194196996, 598224, 671833752, 1699282988, 507127825, 725199608, 4047180096, 2537232449, 3056646823, 794380078, 262154, 550512651, 1587045705, 2896618, 710952281, 1700257957, 4047180096, 2537232449, 3056643495, 794354222, 272288, 1365, 1180573773, 1212294817, 1169244948, 1144211813, 279457280, 170762224, 671092480, 71881522, 707004569, 2318482186, 816429358, 3943839, 3858760967, 337523789, 2154088389, 1160857782, 816556585, 3276807, 519323987, 16194328, 36065066, 3731206465, 1883340353, 3408970668, 771755776, 38064852, 2779857264, 1098793419, 279719784, 1949171727, 715117312, 37131456, 2771468376, 285093279, 3338666550, 2495653169, 1079513342, 765445888, 37130664, 2775664437, 1078603558, 1932066826, 471786, 710956490, 557843765, 447405221, 2974024260, 1681974288, 2905473027, 765418023, 2674130957, 1664374442, 1565065617, 454558065, 454033774, 1177166849, 841898830, 2762289470, 1494265391, 1534602752, 170762023, 687867175, 2672361475, 841359818, 3701846336, 2420268607, 1076932783, 795772973, 2669150211, 1663707680, 2661101882, 2117122461, 771762221, 2712283392, 335545388, 3542335597, 3569734577, 1212566043, 1231360177, 793552686, 667039, 271056916, 220489, 7310629, 2974257209, 2772695856, 3487969116, 3526230026, 765397288, 1310724, 819603392, 586478181, 1899773513, 1695593006, 667038, 4280983276, 671093760, 52573285, 2694630449, 966660275, 793759488, 35706788, 2775661371, 1129065984, 19766948, 664710656, 107408922, 1818895964, 124467666, 1697725173, 280244060, 1929380962, 3657803627, 970089777, 989139127, 794587904, 73308749, 538925542, 2469477109, 280309596, 1929381150, 4097921792, 3863360722, 1701919148, 970789059, 771762221, 2660892679, 625433638, 101075978, 1991332622, 3529847105, 1412275843, 138990, 2718249274, 2821765046, 793851182, 601502, 1999175682, 270054, 959063068, 3135926597, 4199210768, 3090108494, 106141, 1900429370, 2115025199, 1359161600, 251659294, 975704344, 3938755889, 1096945850, 771752237, 2653890462, 905970204, 3636550001, 967588317, 280702796, 3677225030, 687891494, 1289430272, 1299, 1950680654, 2148635602, 1244741482, 280768338, 3912080931, 201518, 1338017893, 2674353664, 5845, 2506581504, 12129, 4247622679, 1281779192, 335063, 1565066126, 1295315109, 826986768, 2452579998, 264402, 422182953, 3503305021, 858847457, 795263488, 68237096, 3614966412, 2778489958, 148, 1684406272, 3105318, 764679980, 1717895170, 1690813765, 826848784, 2351497316, 215257, 564646544, 2973920322, 2051175184, 3174000640, 771752493, 2649040797, 4127196945, 219797320, 3541506048, 2486005409, 1159686957, 2646212615, 319171929, 2013537621, 1393452695, 4171579293, 2992529083, 6119132, 1862191, 1591750045, 1175250944, 34825962, 959290677, 1827400424, 3909092115, 303706496, 1127062813, 1827400424, 3909092881, 1180901395, 1848348237, 2156422428, 1915591866, 1827400424, 3909092883, 2321752083, 1848348237, 2156422428, 1915591866, 1827400424, 3909093137, 1180901395, 709241436, 3093299852, 2770300446, 1797026351, 1592274324, 385877779, 2321752083, 709241436, 3093299852, 2770300701, 1797026351, 1592274324, 385877264, 3863871505, 1399252685, 169790235, 1880781101, 2616524803, 313807392, 2288328052, 343158171, 3506438930, 3026401408, 1126069053, 2613590683, 3359022024, 794346541, 2608663800, 201514, 402820261, 1050374685, 1998224173, 2602396480, 1244023040, 68226653, 440719232, 1126008631, 2601987482, 3842829312, 68367444, 19176618, 824079670, 2598186394, 2903305323, 1008870964, 671091200, 34670257, 1160731970, 765108224, 85012045, 2650835014, 2561352991, 2048162349, 2589327364, 306586030, 1296074853, 494607481, 765058048, 51524720, 42771807, 1548812382, 1548812381, 1548812380, 1548812379, 1548812378, 1548812377, 1548812376, 1548812372, 1548812335, 1542663572, 385876754, 644661384, 1696516124, 2251135423, 201018, 1665040451, 528363344, 2938999831, 267150, 624955946, 2777316742, 2986344476, 2100728785, 793921837, 2484535301, 326386950, 1317016430, 2877628103, 916040754, 2578656665, 1627390738, 773777119, 3307176212, 2167249208, 332390, 1593077764, 1162457413, 2105979392, 1867830, 2570071449, 201328915, 1950680654, 2148690458, 3759377957, 1074932389, 2317188627, 2116917484, 594804, 1158041216, 532681582, 730746240, 304784778, 764986624, 169047109, 105807890, 1780146195, 303706368, 2435394728, 2770174227, 2167249063, 332660, 1158041216, 286580037, 764972288, 101938245, 105807888, 4100404424, 2770304045, 2557345795, 313137905, 2151882358, 495529368, 1560282211, 877477926, 2497488177, 1026764994, 4180634064, 266990, 623978498, 2359664263, 2281701376, 445257354, 795413805, 2484562757, 3496607488, 68224606, 2590069120, 1126160158, 3659383836, 3273381914, 3373893912, 3324988451, 764679936, 67667035, 1180642015, 85954863, 2324114836, 385877541, 1176770600, 3227604821, 1407493489, 1187333983, 1357168574, 796816942, 26226072, 1023411740, 3346536488, 3227604821, 1407493489, 1187333983, 817872431, 2116234648, 754975506, 1516117632, 1125421359, 2089823640, 1224737826, 706404365, 3819218289, 1140541328, 1355803328, 795070509, 2552375296, 335545114, 3659198186, 1165048138, 1062080741, 796718637, 2551326976, 3355444240, 3597195067, 1384137502, 2753334037, 2385352693, 218451, 1691147474, 2974038600, 3906896, 3267480367, 2196973824, 3355444498, 2857313842, 3863478924, 2770314285, 2547207361, 2962620424, 1648779690, 605642389, 935338183, 980083877, 1899710779, 55624644, 3492648899, 395417, 1586837440, 549927530, 3836047675, 1228604208, 3301977993, 908957620, 688121856, 101226846, 2503458848, 3342494436, 2775661385, 990064836, 3492776246, 356567, 1305686033, 418038949, 826368528, 3308099430, 664237312, 50825043, 969234481, 980881662, 796640512, 88983617, 1224940626, 3923813745, 1218988207, 818398767, 2076508166, 1633222697, 1795826716, 443146405, 4048181834, 1397050182, 3425749448, 796640512, 35998941, 1248935079, 1022635899, 3307706181, 267063, 1387100162, 2359631781, 764857323, 1138260933, 1079081925, 269862, 570428899, 2762322247, 2419696963, 4216377290, 3408880592, 771754541, 2529306624, 503318302, 639762512, 4164496922, 1617110733, 628180978, 1207529676, 3419392559, 2078617088, 86573066, 337350, 1251157016, 1691591845, 1900540487, 4180728783, 796648745, 655365, 1624593838, 1564500774, 3441783111, 4064803120, 3486330747, 3844669450, 286535, 2014864595, 2762305863, 4064803120, 3486396283, 3844669450, 264348, 1391467859, 2711990603, 272240200, 3060847072, 4174391552, 3355444250, 3894045185, 3651814897, 957499903, 992821574, 819133999, 2074411011, 142897815, 3226476197, 496049299, 764802539, 1119452069, 1145600933, 264324, 1922515725, 3534069671, 3305111552, 497294492, 2494022912, 12155, 1697486314, 214247424, 167772741, 3751471601, 1092370366, 1106132968, 282275704, 4244636689, 2585454889, 545809695, 3332154821, 149, 2781151232, 3111640, 764679948, 3305112338, 642592461, 2234471964, 764679936, 71882526, 704714746, 3115403593, 1011171220, 282603349, 1646761413, 418137, 2709137, 689976646, 2802184511, 4131383364, 2739186223, 1407975428, 1632132441, 20239077, 1899836225, 3060848341, 4073992021, 2264924689, 402307487, 2930573312, 8169550, 12116, 1764594711, 749579048, 131076, 587093792, 647290021, 826094384, 3622711125, 2013267217, 393918720, 2253335178, 85832092, 2897018880, 9809069, 47, 1410018708, 386706728, 196614, 1706502469, 1906972970, 604623237, 4047199805, 624977474, 2993743326, 3671666541, 388863385, 419255, 692416938, 422192137, 3515216187, 1581065536, 1715647088, 3856587481, 266506, 1558863704, 2151906990, 831885079, 3061165617, 2509188501, 1963769067, 1229542785, 1011176833, 671091200, 101878054, 1041729101, 2435391624, 1696249391, 1812082069, 1661778432, 101878054, 1041729101, 2435391624, 1696577051, 3038426927, 1812082069, 1661778432, 101878054, 1041729101, 2435391624, 1696314927, 1812082069, 1661778432, 101878054, 1041729101, 2435391624, 1696445978, 3105403695, 1812082069, 1661778432, 101878054, 1041729101, 2435391624, 1696577822, 3038623516, 3004938266, 3139023384, 3021454614, 2972675074, 764764972, 3166306310, 310978110, 394677649, 689997925, 515251129, 431173484, 36541795, 213516294, 310978110, 394677649, 689997925, 414592876, 36541795, 213516294, 310978110, 394677649, 689997925, 481696181, 414658412, 36541795, 213516295, 633752211, 605566165, 689992147, 2795254090, 3509648603, 795597824, 101878054, 1041729101, 2435391624, 1696183855, 1812082069, 1661778432, 40052410, 4176562127, 1211647944, 1205244153, 4141383293, 791155712, 51583257, 3622886943, 3273045549, 2505051324, 135112, 3343348027, 3459900464, 4175178389, 505910592, 471500, 444152064, 646709524, 1176951973, 1899753801, 1699800542, 3710873207, 714407976, 983043, 302665322, 3299179459, 613727092, 3273954491, 764724748, 3254780684, 3525995962, 3853599375, 1173112895, 1357242591, 199890, 711834341, 2973929285, 3964157776, 3856719663, 2017460228, 306859438, 1543670949, 529145021, 2025858196, 3140450069, 764679948, 3254780424, 1620444446, 2318242968, 592085, 452544448, 580594410, 604065044, 529178373, 826094416, 3807961391, 2049245191, 286531466, 486408328, 1391933748, 3701809095, 462035111, 398923431, 365374868, 1533754402, 639303684, 304508096, 322608453, 482744191, 382217620, 560675874, 638648323, 298330114, 2359631561, 2105290900, 404211503, 1855729044, 385876753, 340926600, 1696582173, 3357116946, 3391984601, 217382917, 320426602, 8871369, 2974097363, 482948755, 3509751369, 764646700, 4126670852, 293022472, 1342344357, 517152114, 764629504, 68097373, 3542178016, 2779858160, 1257980265, 820765487, 1952918931, 570426383, 358470433, 1491117489, 1156598523, 1097412843, 3811538023, 330153, 684261687, 429182117, 2973583431, 1246435152, 3873825838, 26226067, 318768137, 3072925734, 3870462897, 1028147018, 1259811046, 3845091054, 764599850, 2464940038, 848373075, 4154150, 1732962090, 2974377288, 356337680, 3878326986, 671093760, 90085733, 1392541217, 2867012977, 998328698, 1358490088, 796132142, 2632338, 3089694760, 397623, 429149368, 1610892494, 3701808339, 349384082, 2583692049, 924418748, 1132450352, 2458853076, 499850442, 1976709266, 2400373293, 2452884725, 332115, 604054673, 690792613, 533929685, 915548181, 3542979078, 397866, 629801011, 317091283, 2829393364, 483792740, 383135121, 3456956416, 68233770, 2685498589, 622843198, 2443918737, 3223115543, 3576533351, 1290729722, 332358, 1559308292, 886162597, 534150872, 3012649244, 2318242058, 217710599, 312894880, 308943584, 320429382, 3366264539, 2111288064, 1827096, 2318831866, 764457292, 4126734848, 37046705, 1165049860, 1074474789, 3909092115, 878036703, 3307199261, 2318365463, 764423500, 3774346752, 85029982, 1178862640, 3617936159, 3726497820, 3660542743, 764398636, 3774283779, 294026567, 3500479710, 764389932, 3772579842, 819964148, 1899961672, 1762719791, 1944584199, 309616429, 9063712, 86257879, 2773688289, 484120028, 796071725, 2403036384, 3724015104, 57306658, 2546771313, 1237793070, 820767279, 1934699919, 822084458, 1847760844, 2771470791, 820767279, 1931608069, 287727104, 322588266, 3299154914, 433985752, 764340992, 85134618, 827555857, 1960650015, 3810320658, 3777859242, 216924165, 295118948, 285633879, 3433372644, 417475982, 1426913259, 1206160155, 1205701403, 332148, 1394610423, 959228069, 535108835, 915292978, 2387160462, 590149112, 332390, 1593077764, 1733545297, 535239908, 915277074, 3828190629, 1828059386, 4143972373, 3858761233, 3546401064, 16811802, 4157834524, 3845426569, 764238080, 34503834, 825313868, 820964655, 1602498048, 527, 3164221745, 1246507250, 4046413700, 771751936, 57759844, 479867185, 1246507248, 4012859268, 771751936, 53008484, 479867185, 1246507252, 4079968132, 771751936, 40980932, 2771470980, 283914087, 3724542577, 3635717489, 1256602175, 795322368, 40950186, 3849407080, 1161178967, 1090519566, 2090479921, 1246507246, 3976201073, 1482955930, 825313868, 821096192, 34585754, 825313868, 821227776, 53008484, 479867185, 1246507252, 4076863488, 40326093, 1370571785, 1233665065, 821490991, 2332950530, 518956426, 825929552, 4193842991, 2326331394, 1587063557, 2974156858, 3879293200, 4197419861, 150168, 3780669762, 3225601840, 4244320139, 838861345, 2799846769, 997868910, 285028234, 3489660977, 1265315328, 2991119, 217279294, 2437298730, 2752456960, 2500989, 620757284, 8960, 611, 933810737, 1213477119, 4264528565, 0, 43, 2737541376, 0, 0, 43, 1999330603, 1124073515, 788529152, 0, 42, 3875536896, 0, 2809088, 0, 3542798592, 0, 2804010, 3073026858, 2701131776, 0, 2788096, 100663296, 0, 0, 28458, 1932157184, 0, 0, 10968832, 0, 0, 16777381, 3844757290, 1294615296, 0, 0, 2766080, 2791722, 522851114, 220857129, 4143974400, 117440768, 0, 0, 0, 2747177, 3774873600, 0, 0, 0, 0, 0, 41, 422098216, 1361571111, 2298478592, 0, 0, 0, 0, 39, 2166844711, 1493172224, 0, 0, 0, 2527525, 2701131776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46080, 3022272768, 1677747200, 2248146944, 4647, 272133430, 557270827, 3036676096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7864320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6553600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024, 10761892, 1118065152, 83886244, 1738831268, 2124711588, 3987008932, 4003786916, 4070896896, 67109028, 4188340133, 134218240, 10818304, 83886245, 463806117, 581250816, 83886245, 866466469, 1067796480, 67109029, 1319457701, 1493180160, 503323648, 452991232, 402659840, 67142912, 2214626048, 2181039104, 2164294656, 2113962496, 67142144, 2197849088, 2231371776, 503344640, 486567680, 520121600, 469789696, 1862331136, 1862299136, 3925896704, 1828776192, 1811966976, 3892342017, 749272320, 1688798464, 849940480, 933, 1319704489, 497647273, 2158593705, 2343145129, 2494141609, 2494142121, 2561251840, 3103831808, 3036721920, 3137386496, 3053499392, 2986350848, 452991488, 402654634, 1017799338, 1940554410, 2533360811, 447425963, 1034640040, 3892368296, 3858767019, 3892368555, 3925876395, 3892368811, 3925876395, 3959477931, 3992983208, 3892369320, 3858767019, 3892369579, 3925876395, 3892370347, 3925876392, 3858816680, 3892322219, 4009811115, 4026537216, 162311084, 3484211116, 3870093997, 61676205, 766328064, 212704173, 2662179245, 2746066349, 2829953709, 2913841325, 2997728941, 3087010989, 3154116781, 3321888941, 3758096557, 4138598144, 0, 0, 212734208, 11409920, 11414272, 11420334, 1252939008, 0, 2222, 3585009070, 4188997039, 447687343, 1085231872, 145717679, 2125431471, 2242874031, 2377093039, 2519515948, 3442267948, 3777819436, 4247586605, 556626733, 2234355501, 2704124717, 3710773037, 4180554542, 1160677166, 2569972526, 3173959470, 3643730734, 4247717679, 288303919, 892288815, 1227842351, 1831827247, 2301598511, 2771371823, 3509576496, 489705264, 1630567216, 2234558256, 2972760880, 3308310320, 3643863857, 221321009, 556870449, 1160859441, 1496408881, 1831980849, 3643927345, 4247916338, 422716210, 1026705202, 1496476466, 1966253874, 3107111730, 3442663218, 3912432435, 221452083, 691221299, 1160990515, 1764983603, 2503190323, 2972957491, 3308513075, 4180935476, 221521716, 1093946164, 1563715380, 1899264820, 2234814260, 3509902132, 3979671349, 154473269, 892682037, 1228233525, 1698002741, 2167769909, 2503319349, 2838868789, 3174418229, 3509967669, 3845517109, 4181066550, 221648641, 0, 146, 65536, 0, 9502721, 0, 144, 131580, 0, 9371904, 0, 9371649, 0, 142, 65792, 0, 6815747, 32702464, 141, 33616640, 13238413, 16777216, 13238413, 655866, 1507376, 2097660, 1507376, 2032113, 0, 9175551, 0, 9110006, 0, 4588025, 0, 2294270, 0, 2294267, 0, 2294263, 0, 9044224, 0, 9043970, 33292318, 3145865, 16777246, 3145865, 65536, 0, 8912898, 33617920, 15728775, 16777216, 15728775, 66048, 4261420080, 4169531398, 33616399, 90, 33619727, 90, 32768019, 16384023, 49937920, 527, 33095711, 15728655, 33619471, 485552730, 65536, 0, 8716290, 50134558, 472969860, 33619712, 131, 459264, 4127195330, 8520192, 4093640898, 8520192, 4177526978, 3342848, 4211081410, 1245696, 0, 8454656, 4261420738, 813695488, 4076871362, 813694978, 33615390, 2097264, 16777246, 2097264, 524800, 4161863780, 6160896, 4094754916, 6160896, 4245749860, 6160892, 1572864, 8061433, 1769520, 2228733, 1769520, 3015163, 1769520, 1704192, 1114164, 6160386, 33616669, 516042879, 16777245, 12714111, 131579, 0, 8257536, 0, 8257538, 16777216, 15728765, 33619486, 489746964, 65536, 0, 8126466, 33292312, 123, 0, 123, 131584, 4177526784, 1245440, 0, 7995394, 33619456, 121, 33618176, 120, 65792, 0, 7798785, 16777216, 118, 197120, 4278190128, 6619648, 48, 6619648, 4026531840, 6750209, 0, 117, 65792, 0, 7602177, 32636928, 115, 197106, 0, 3998203, 0, 7471360, 0, 7471105, 0, 113, 66047, 1966112, 7340034, 33619456, 111, 16777216, 111, 131584, 4261412872, 7209216, 8, 7208961, 0, 109, 262656, 1048824, 7078400, 4262461688, 5505528, 1048824, 5505280, 1048824, 5505025, 16777246, 107, 131580, 0, 6947072, 0, 6946823, 33615616, 8781929, 33095680, 7602280, 33357843, 16384023, 33615872, 8519783, 33161216, 8650802, 33618176, 8781875, 33618688, 8781843, 393728, 4026531840, 6750720, 4261420032, 5898745, 52, 6684928, 52, 6685184, 4278190128, 6619648, 48, 6619138, 50134528, 100, 33292288, 100, 197116, 48, 5833209, 48, 5832960, 48, 5832705, 0, 99, 262656, 4160749760, 3277312, 4177526976, 6423040, 4211081408, 3277056, 192, 3276801, 33619486, 489734699, 66048, 4263386416, 3257597953, 0, 97, 66048, 4261412864, 6291457, 16777216, 95, 197116, 1114132, 6160896, 4261412864, 6095104, 0, 6094851, 33619478, 485552684, 33292310, 15728684, 16777238, 15728684, 65536, 0, 6029313, 0, 91, 66044, 48, 5832707, 33619456, 469762138, 33618688, 8781843, 16777216, 3145817, 66048, 4261419264, 4032299009, 16777216, 87, 66048, 4261412864, 3226861569, 16777216, 85, 786930, 0, 3998451, 4261413104, 5505531, 244, 3801583, 0, 5439984, 0, 5374462, 244, 3801593, 0, 5308915, 244, 3736058, 1572864, 5243388, 1572864, 5243377, 1572864, 5242880, 0, 5242881, 33619456, 472971343, 131570, 0, 5112319, 0, 5111810, 33619487, 435210781, 16777247, 16384015, 131328, 0, 3276800, 0, 5046273, 33095680, 8519756, 65792, 1769472, 4915203, 33161246, 3145748, 33095680, 74, 32702464, 74, 65792, 1966128, 4784130, 33619486, 489734676, 16777246, 3145800, 131584, 4263386416, 3256090880, 1966128, 1310721, 16777216, 71, 393716, 0, 4588024, 0, 4588027, 0, 4588021, 0, 4588022, 0, 4587520, 0, 4587522, 33618176, 69, 33618688, 69, 66048, 4261420032, 4028104705, 0, 68, 131328, 0, 4390912, 0, 4390913, 16777216, 66, 131584, 1966096, 2252407296, 4278197894, 272629762, 33554462, 1082945, 33619712, 512102464, 65536, 0, 4128770, 16777216, 62, 0, 62, 65792, 0, 3997698, 16777234, 16384060, 33619474, 16384060, 65792, 1245434, 1507331, 32964638, 59, 33357854, 59, 16777216, 59, 197113, 244, 3801595, 244, 3801344, 244, 3735554, 16777216, 56, 0, 56, 131328, 0, 2293760, 0, 3604481, 16777216, 3145782, 65536, 0, 3473409, 16777236, 16252980, 262656, 4177526918, 3342848, 4211081350, 1245696, 4194304134, 1245440, 134, 3276802, 33030144, 12582961, 16777237, 15728688, 65792, 0, 3080193, 16777243, 3145774, 197371, 4261420080, 3257729536, 4261420080, 3257729531, 0, 2949123, 33226752, 15728684, 50003456, 15779883, 33619456, 15779883, 65792, 0, 2752514, 16777246, 41, 0, 41, 66048, 4261420288, 3223846913, 16777216, 39, 65792, 0, 2490369, 16777246, 37, 65792, 1442032, 2359304, 33423360, 35, 33095707, 3145762, 33226779, 3145754, 16777239, 3145761, 33161239, 3145760, 0, 32, 33292311, 3145759, 33292312, 31, 65536, 0, 1966082, 50003482, 435221021, 33619482, 435221021, 65536, 0, 1835010, 33619456, 15728667, 16777216, 15728667, 65792, 1769520, 1703940, 33226752, 25, 33292288, 22, 50134528, 469823512, 33357824, 23, 65536, 0, 1441793, 0, 21, 131584, 4263386416, 3256090880, 1966128, 1310721, 33619712, 19, 131328, 0, 1179648, 0, 1114113, 0, 16, 65792, 2031856, 983041, 0, 14, 65536, 0, 851969, 0, 12, 65536, 0, 720897, 0, 10, 65536, 0, 589825, 0, 8, 65536, 0, 458753, 0, 6, 65536, 0, 327681, 0, 4, 65536, 0, 196609, 0, 2, 65536, 0, 65537, 0, 0, 3583286, 3090596747, 2302070838, 3728146231, 557264011, 3795268663, 1312254007, 3526880831, 1949830968, 1531112258, 255355704, 3124284735, 1279200569, 557388089, 641283129, 1715049017, 2990118969, 2637800005, 725224250, 1463445818, 2151329850, 2252012097, 255929659, 3874619, 1195097659, 3258699842, 2168183100, 1950121789, 1614642749, 1681929789, 2285747773, 3896396094, 1329495363, 1782486078, 2571029055, 356501055, 742657343, 826227519, 2805972800, 255857472, 490742848, 2202047040, 759352128, 2571182144, 2655036224, 3326480960, 3695254081, 2353326145, 2453772600, 54632257, 3544311617, 4265736514, 2588342850, 1967300418, 2739067970, 3779264323, 172293187, 256068419, 1380150595, 3594771523, 3846433348, 138669636, 675560260, 1145334340, 2470813249, 2252721989, 3662016581, 4249229382, 474359608, 994458182, 3729183046, 4115073095, 222762567, 457646848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4327168, 0, 0, 56, 3657433088, 3754496, 0, 0, 0, 0, 0, 0, 4255232, 0, 0, 59, 3359770368, 0, 0, 0, 61, 2432696320, 62, 1715692800, 0, 0, 0, 0, 0, 0, 0, 0, 66, 2936012800, 0, 4239942, 167772160, 68, 2634022912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4664, 3774934586, 61257, 2868965433, 1476456766, 2667639353, 1828778819, 2097214520, 3892376899, 3506501177, 2298541886, 3489724483, 2566977853, 1090583104, 3003185993, 3808492611, 3389062474, 3976265289, 1107361539, 741220871, 44831937, 2473214342, 1459604, 2768565248, 375755941, 83034135, 630498564, 4060092581, 2493842687, 1635563, 621342208, 420991768, 150274073, 431711809, 2281707835, 2860089345, 1672890, 1698793728, 433231013, 1106837529, 3616843136, 16783914, 3371073537, 1716628, 2768566272, 442864805, 83755034, 1771349252, 4211087982, 3369172993, 1734897, 1463912960, 444185306, 578813978, 3049768257, 2332039898, 2599321601, 1763282, 3850371328, 452258409, 150011930, 4187268480, 16784144, 2493858287, 1779092, 2768827136, 456759565, 1106313243, 966332481, 2348817286, 3242541559, 1804024, 2768828160, 482867365, 582942748, 3368068417, 2365594828, 2493874177, 1888708, 2776629504, 483509908, 2147549212, 3552251201, 2835356883, 3232047765, 1890216, 2770498816, 483896485, 1100218396, 3621603618, 2449480920, 2833654492, 1890497, 1501561088, 484021413, 2147549212, 3652535617, 3959430470, 3945669355, 1920210, 1782688000, 491633257, 149880861, 1372816648, 4026539347, 2711977985, 1921960, 3641241600, 500287237, 2147549213, 3651708225, 2734693926, 2718245579, 1975973, 1166016768, 505864997, 1099825182, 719521152, 16784938, 3809378305, 1979554, 88186112, 506785957, 1099890718, 984130850, 3120569990, 3710206352, 2004160, 2776629504, 513065733, 2147549214, 2581998208, 16785053, 2493874177, 2025145, 706918400, 518442286, 1106837534, 3873637666, 2885689066, 2584035741, 2026139, 763363584, 518955525, 2147549214, 4003826304, 16785134, 2841985402, 2028705, 3128951040, 519356755, 583204894, 4209091905, 2432704328, 3243868161, 2051220, 2772537856, 525847717, 1100152863, 1488233856, 16785241, 2493842678, 2054630, 2474639616, 548132485, 2147549216, 3350882944, 16785612, 2829418497, 2150568, 2776629504, 550546181, 2147549216, 3549734272, 16785619, 2781487771, 2151334, 713031936, 550741957, 2147549216, 3617891712, 16785623, 3754246638, 2152616, 2776629504, 551085221, 1101594656, 3651249473, 3992985943, 2639757313, 2205382, 86163712, 564580133, 1102250017, 2799781185, 2902466982, 3796205569, 2206435, 629145856, 565103813, 579338273, 3033179457, 2483036602, 2718253552, 2217890, 713031936, 572979365, 582352930, 714761537, 2432705066, 2598707904, 2240200, 3846280448, 573890885, 1100349474, 887465250, 3003130426, 2628091905, 2263025, 1193468416, 579781797, 2147549218, 2395776384, 16786065, 2762285744, 2265540, 3615490304, 580036773, 1101856802, 2462634817, 2533368466, 3570958337, 2266083, 1380033280, 580570917, 1100480546, 2611668352, 16786150, 2718269441, 2287346, 1015021824, 585819603, 2147549218, 4108518739, 312025844, 4066738177, 2293463, 631243223, 587129638, 583991331, 1202234752, 16786263, 3779412379, 2316260, 3464495360, 593073317, 1100611620, 2777982232, 4195755218, 2575974813, 2413260, 2772540160, 618119333, 586547237, 1185195298, 3825214791, 3917824391, 2443988, 2770533632, 625722585, 1100742693, 1289570944, 16786769, 3104187015, 2446034, 1702887680, 626255177, 580714533, 1487072833, 2818581848, 3874767261, 2448314, 629145856, 633778804, 1098645541, 3335164706, 3674219980, 2493858206, 2478791, 3307394304, 634766994, 2147549221, 3622086016, 16786904, 2856796575, 2480298, 1749131264, 634967257, 1102577701, 3685262657, 3053463022, 3462758401, 2526356, 2778914049, 647207722, 1101987878, 2497488256, 16787098, 3779412394, 2530508, 2769877526, 652653203, 2147549222, 4006479169, 2701141742, 3980738985, 2553044, 2772541952, 659670181, 583467047, 1491584290, 2432706725, 2493854452, 505993444, 2771579934, 685303127, 586350632, 3650397505, 2734696717, 3500491172, 2767803, 220365056, 711505107, 1101332522, 1960727586, 3741330041, 2867151270, 2828469, 3548381440, 732350931, 1101529131, 2829760772, 4110429102, 3836035495, 2864349, 239184128, 733592172, 1101660204, 2777982242, 3590335697, 3299149032, 2937763, 3307385088, 752084184, 81723436, 3638907713, 4043320646, 3701802219, 2968222, 704965888, 759866533, 1101987885, 1254401345, 3707776339, 2705655009, 2971593, 1392829696, 768269578, 82051117, 3434554689, 2348821969, 2711946474, 3002820, 2772544256, 768844965, 1101791277, 3618289412, 3791662557, 2493858254, 3024610, 92274944, 774301098, 581173294, 785687873, 4076875316, 2602894563, 3028178, 3850371328, 775221715, 587137070, 986900996, 3858771601, 3332129197, 3052700, 3615490304, 781510310, 2147549230, 2543101192, 4060098199, 2647204478, 3053476, 2773684889, 781691673, 578289710, 3936920897, 4110429930, 2884240617, 3077278, 2674033326, 787794085, 150470702, 4108528162, 2801807092, 3890545886, 3079828, 2768561920, 793297061, 1100677167, 1236354308, 3758108498, 2653553900, 3102888, 2776629504, 816157861, 1099497520, 3668428066, 2986356959, 2829402562, 3202984, 4102029568, 827570501, 2147549233, 1502913857, 3992990150, 3475317470, 3267496, 2772545280, 841392586, 2147549234, 650721152, 16790054, 3808796673, 2922525923, 505585920, 842330579, 586940466, 984130881, 3456119412, 3376775169, 3310996, 2772563968, 848405669, 2733048114, 3869025601, 3992990438, 2706931713, 3335907, 226492672, 853994821, 2147549234, 3936029249, 3288347370, 2602902210, 3336874, 1696771328, 854911593, 2147549234, 4205356450, 2130785094, 3710812161, 3451600, 2776629504, 886285477, 3221336116, 3550938496, 16790739, 2803114659, 3463585, 2772545792, 893822117, 2147549237, 1185237282, 3640669510, 2802155521, 3491567, 3307397120, 894021957, 2147549237, 1236359296, 16790865, 3330621874, 3495828, 2776629504, 894937253, 82706485, 3314853185, 2986358217, 2829402583, 3527316, 2776629504, 903451813, 1099694134, 2443486529, 3992991377, 2829418497, 3576554, 1753219328, 915718309, 2147549238, 2509546817, 3808442010, 3441786881, 3624104, 2770527488, 928232190, 578420791, 1472505153, 4026546007, 3836035468, 3712404, 2772532480, 956994725, 2147549241, 248350080, 16791838, 2493850287, 3773371, 708940544, 977778922, 1101070394, 1704240408, 4212472424, 2591637939, 3827898, 1782682368, 980141273, 1102315578, 1877666369, 2348825208, 2868462039, 3831993, 706280213, 981001978, 2147549242, 2043630208, 16792185, 3500480763, 356154282, 2034334976, 989121701, 579731515, 93627716, 4239735589, 2493874177, 4149972, 2772547072, 1095423319, 2147549249, 1586800000, 16793950, 3062988801, 4311232, 2772547328, 1104266405, 1102577729, 3638601025, 3120579182, 3982000129, 4355234, 88193792, 1122671973, 2147549252, 2777982273, 3254797511, 2854584321, 4508152, 2776629504, 1154667685, 2147549252, 3550782739, 318784723, 3847716865, 4511665, 1159899904, 1155190029, 1102839877, 1187030400, 16794950, 3433382333, 4540116, 2772547072, 1162274218, 581042245, 1189954881, 3187688793, 3847725057, 2403715476, 2776629504, 1170990245, 1104674885, 3434554816, 29312470, 3922296833, 4577001, 3410085376, 1171842387, 1103102021, 3655739938, 2197833183, 2598993921, 4622528, 2772549888, 1184084133, 578224198, 2495653185, 3254797976, 2829402516, 4627626, 3846292224, 1195892168, 1103364167, 1404241280, 16795479, 3251839612, 4771001, 86174720, 1221376270, 2147549256, 3500713281, 3305130195, 2493874177, 4772786, 706914560, 1221851301, 580321352, 3617466914, 3623897304, 3768942593, 4774292, 2776629504, 1222222245, 2147549256, 3651250048, 16795865, 2712305665, 4801940, 2776629504, 1230103717, 1103495241, 1404426112, 16795993, 2586124959, 4884472, 2770509312, 1251060505, 1104740426, 2477507968, 16796307, 3811213313, 4888548, 3615490304, 1251532965, 2147549258, 2564905088, 16796314, 3852828673, 4889512, 2772551424, 1263705642, 1103691851, 1470453569, 3087027160, 2854977537, 5023124, 2771578399, 1289215644, 579862604, 3639067938, 3540012357, 2493846299, 5064420, 2770507776, 1296613926, 2147549261, 1558226210, 2332052828, 3802570753, 2320353473, 1227015680, 1317377189, 82837582, 2548409650, 3995029143, 3853128475, 5150693, 3155368448, 1318693029, 2147549263, 2241111315, 436228304, 2493850337, 5304786, 1814211072, 1358477614, 583794769, 1055066689, 3389018469, 2493842682, 5335956, 2768827392, 1366010597, 1101987921, 3516179777, 3288355369, 2493850345, 5399956, 2768828672, 1382716581, 83296338, 2043716872, 4177547946, 3433382347, 5417677, 1468006656, 1390857610, 581304402, 3906852992, 16798553, 2493847805, 341011164, 2768827904, 1402049701, 2147549267, 4073882884, 3707786440, 3234627585, 5557967, 780140800, 1422843045, 2147549268, 3516561792, 16798933, 2867167233, 5560544, 3430940928, 1423545509, 1105002580, 3651249473, 3456128217, 3030745089, 5588676, 2772556800, 1430707749, 581435477, 1188968576, 16799059, 3838607361, 5593005, 1210221568, 1431889450, 2147549269, 1502913857, 3707786676, 3802997499, 5621952, 2772552704, 1439342917, 2147549269, 3403483713, 2583713318, 2705670615, 5645985, 1384120576, 1445394597, 1103954006, 984655169, 3456128570, 2980397519, 5672655, 625080576, 1452320933, 1104150614, 2443748736, 16799377, 2869264385, 5674180, 2776629504, 1452795622, 2147549270, 2565121408, 16799384, 3875897345, 5675412, 2776629504, 1452989605, 1104281686, 3875054913, 3540014826, 3808772566, 5697185, 1361224960, 1458490634, 2147549270, 4104211009, 4160771921, 3299164628, 5722836, 2772555008, 1465099066, 1104216151, 1473653282, 2684376919, 3813294509, 5724340, 2772555264, 1465488549, 1104609368, 2777982273, 2113952582, 3475931137, 5983972, 2772532736, 1554687146, 2147549276, 3368068480, 16800974, 3779412440, 6083988, 2772548352, 1557506213, 1104740444, 3618153762, 2583715035, 3127541761, 6112932, 2772556288, 1565043385, 2147549277, 1234478370, 3858783569, 2832744866, 6116051, 1782705664, 1565891031, 1104019549, 1437217152, 16801109, 2860073435, 6116807, 3309406720, 1566106839, 1098842205, 1491507009, 2147507655, 2660466689, 6146241, 1495463680, 1573496362, 2147549277, 3551569217, 3691011719, 2680520705, 6195155, 629145856, 1586020517, 2147549278, 2445583681, 3355467413, 2829418497, 6199464, 2778921473, 1587063557, 2147549278, 2581943074, 3892338330, 3441762997, 6244244, 2772557056, 1598552229, 2731409759, 1402250561, 4160773976, 3888456333, 6333844, 2771579420, 1623959717, 2147549280, 3469121408, 16802003, 2762309633, 6346197, 2921516288, 1624881765, 579141728, 3685262657, 2164285662, 2493858271, 6362333, 1161921024, 1628940498, 1107165281, 398113089, 2197840197, 2493846297, 6375060, 2770517504, 1632034061, 1105199201, 1222465826, 3556794696, 3941220849, 6376084, 2772544512, 1632288933, 1101791329, 1370269056, 16802131, 2762293729, 6379477, 1400897792, 1633260709, 1106444385, 2797684033, 3791675822, 3393856148, 6401764, 2772540160, 1639246629, 1107165281, 3135546689, 4076888524, 3030729161, 6410666, 2032302336, 1641265945, 578486369, 3650397505, 2499830286, 3366273498, 6426324, 2772558592, 1646721189, 1102577762, 782320961, 2583716398, 2772779492, 6436068, 2776629504, 1648805413, 587071586, 1189193025, 2634048070, 3917840385, 6441670, 625075456, 1649722309, 586481762, 1723942272, 16802414, 2909094373, 6459833, 623025152, 1654104407, 2147549282, 2598741298, 4061946522, 3853128473, 6462181, 3155367936, 1655548650, 2147549282, 2932221249, 3523240622, 3433382374, 6469531, 3309430528, 1658493674, 582418530, 3668533057, 3892339494, 2628075961, 6497954, 92274944, 1663482600, 2147549283, 649787520, 16802598, 3137110017, 6497988, 3363832064, 1663485132, 2147549283, 650814848, 16802598, 3441803265, 3915589325, 947912960, 1663491237, 2147549283, 652035393, 3254805286, 3744547319, 6498023, 1249902848, 1663498405, 1105854563, 715793698, 3103810346, 2862948989, 6499028, 2772563968, 1663751941, 2147549283, 885867938, 4177617719, 2569961473, 6502298, 1814219264, 1664592082, 2147549283, 934939201, 3942671159, 3127672833, 6502377, 427819264, 1664789861, 1104609379, 1437263169, 2063622997, 2867282299, 6510550, 3997300480, 1669698725, 320340067, 2261136449, 2701157262, 3366273516, 6524621, 2235690240, 1670700325, 2147549283, 2497525888, 16803015, 3309666305, 6607016, 2772561408, 1691467941, 1105068132, 3638904129, 2734712026, 3475325367, 6637204, 2770504704, 1699141273, 2147549285, 1189021056, 16803153, 3299164655, 6640342, 717226482, 1705677989, 83689573, 2865276288, 16803242, 3433366777, 6663884, 2770508032, 1706535237, 584712293, 3084078088, 4261438903, 3548725744, 6666216, 2768829952, 1706552089, 1106051173, 3398739265, 4043335301, 2493843711, 6722204, 2776629504, 1721295013, 1106247782, 2594284865, 3707791078, 3123019777, 6744731, 448791026, 1726913132, 582221926, 4107648546, 3288360698, 3456466945, 6769812, 2772554752, 1733545297, 2147549287, 1473029441, 4076890277, 2493847804, 392838883, 172083712, 1785128742, 1106575466, 1772807432, 4026559081, 2868054256, 6974363, 423752960, 1785582224, 1106575466, 1856149376, 16804465, 3507503604, 6977698, 3997271040, 1786362181, 1106575466, 2777982232, 4229393162, 2762285768, 7016141, 2231959040, 1826277157, 2147549293, 1372017280, 16805201, 3982041734, 7165854, 2554427648, 1834475988, 1099235437, 3569734528, 16805521, 2698191548, 7382420, 2771578909, 1892264101, 1105985648, 3471091009, 4127224016, 2829402615, 7393728, 2772563968, 1892795557, 2147549296, 3550782848, 16806099, 2802155521, 7395277, 3542271232, 1893313253, 2147549296, 3685262657, 4177555677, 2493850322, 7423708, 2772564480, 1901184165, 2147549297, 1491379506, 4028461400, 3847693039, 7448292, 2772543488, 1906763525, 1101529201, 2866627905, 2885710254, 3846513386, 7456961, 1461893888, 1909691557, 1106968689, 3550782785, 4227887571, 2782077558, 7459750, 2625634560, 1909705932, 1106968689, 3618153856, 16806360, 3030761473, 4252096948, 2768829952, 1910479593, 2731540850, 2459592064, 16806548, 2773689080, 7509952, 2770522368, 1922547946, 2147549298, 2546509184, 16806551, 3433374409, 7856127, 3309424384, 2024117413, 82772088, 3552617793, 3556800849, 3299164670, 7952532, 2768564480, 2056965509, 585302140, 2777982273, 4127227543, 3232064189, 4286486466, 1319109014, 2136455437, 2684457855, 4071690368, 16777440, 120198789, 1493434593, 2533359617, 3758565910, 660195328, 3814154757, 115562291, 84337495, 3943571171, 1474956829, 3814189326, 484661224, 236916075, 17668100, 229245965, 283585939, 269325312, 1242563272, 3762239336, 12283544, 283131712, 604037183, 712114316, 4288872513, 2704883891, 70068524, 721421752, 886384928, 232463086, 1398276307, 977684229, 1946767768, 79178485, 712597541, 652620435, 1613038689, 36585793, 337864106, 2013345638, 860506048, 1727293681, 980156458, 1184120838, 3836870849, 2543919898, 1239424843, 991690928, 3762234907, 12058817, 2543917603, 1239424843, 991887536, 3003394140, 3359637785, 1715138936, 473508356, 3775597907, 1361314408, 3343204357, 1277894662, 4007965184, 4301113, 1085474849, 415238024, 1556627461, 2021398843, 720976650, 616497196, 1317035337, 693254764, 57034570, 2521104449, 2704891827, 70079018, 2492984, 1221674023, 71848785, 605236074, 1544179498, 1544479922, 1101085275, 3003400495, 170400820, 3642169344, 3933901604, 16888901, 1074135532, 2990645523, 1078042637, 1085474850, 1700942912, 67981866, 2521104449, 2704954770, 1325453747, 320957624, 1610811443, 67981866, 2521121185, 960541444, 874394701, 2151059752, 39352609, 2924915236, 35924228, 122921236, 2048901218, 2452263720, 471497018, 1812172059, 711808768, 641366073, 704651294, 2634342660, 3647296087, 544242712, 354102571, 773851929, 3513444868, 2907933293, 1469465856, 4301092, 1085473849, 685069088, 181620753, 958777509, 4301174, 1672680275, 230767947, 781674240, 123802709, 580004608, 154683729, 1171468291, 952131224, 2830254497, 960541449, 2001930752, 639113043, 167781912, 391318038, 1162392214, 1157627969, 2704883891, 158028441, 1422458918, 404305354, 2897346625, 2705158579, 299439896, 5178869, 720917089, 478563616, 1195918272, 150885185, 378994728, 191310100, 1228945045, 707420945, 2014401305, 2521153941, 2709618738, 1672676417, 764044311, 958399790, 1680279585, 416481629, 1699963330, 1009351322, 1594508645, 3366273441, 956320179, 299439896, 43198465, 657281802, 26115668, 1610690752, 1296705066, 2299912, 451477548, 67778957, 1678907892, 1544049237, 454557998, 1565025748, 1325472920, 978666817, 339552619, 689519466, 2521121185, 1416475400, 577128001, 1074409039, 710760549, 3543144232, 3376049152, 3154246243, 537135186, 1427838977, 777865317, 3561948616, 2779972673, 758382706, 82057833, 4529817, 894894122, 454034317, 4172415200, 292084300, 660158976, 3087008512, 256, 4300555, 1497473035, 1437799213, 1393165101, 980180998, 1565726489, 3905157, 1100942152, 755072908, 535809, 2114781696, 227868685, 2298503576, 2857808388, 1093601832, 114279904, 791147010, 11731003, 2525344388, 631937202, 3809939, 794306849, 481888898, 386541574, 3485851695, 670171648, 3003136790, 2246354176, 67108864, 0, 14692148, 872481696, 2833232404, 3261895248, 4262955859, 1403258342, 3204690434, 2268940519, 95556802, 4104502083, 50418511, 16842833, 787616, 80219395, 19756292, 553714531, 2695419314, 348286099, 441075653, 4094012021, 2987705076, 2780536834, 3324878709, 2972557429, 2980053596, 2986630227, 1361470819, 539874084, 114279904, 791147010, 11731745, 3971128075, 16777229, 2499808649, 11666497, 789194758, 3485819137, 2672484415, 912130188, 516159, 913440947, 3905093, 33554432, 10523347, 2691942322, 2158339954, 2692006066, 2158339956, 2963276243, 1334642178, 1334642432, 3760796010, 33554432, 3092221192, 38767881, 14690609, 1778515968, 12059136, 177, 4301091, 1085473880, 916079904, 1625162637, 724380384, 85727865, 2765440, 1788891872, 647810226, 4301123, 1083535072, 1059590400, 1483609088, 2684377523, 72886610, 2755415, 715791150, 1300265626, 1594508645, 3366279278, 167813120, 1639123609, 903036931, 1209349862, 1631585484, 725170796, 12590165, 1922518036, 1797638309, 3004132634, 3039459328, 999703808, 12687265, 856903233, 2684898016, 455843890, 2667622624, 1059590400, 2684371009, 2704097459, 70016666, 1293944025, 1384133847, 604118318, 831409536, 124111013, 4301113, 10859268, 744442368, 639113274, 1851992668, 625432385, 3543143773, 1479174184, 21766180, 3611301188, 3358261253, 553731679, 755295291, 939615854, 2537236993, 774578180, 3324471887, 979195744, 621260391, 3831835, 773386536, 106343013, 3643277595, 709536349, 1224801793, 3646950184, 3607112005, 3426165020, 2471496799, 1241536043, 1784415079, 170549279, 3221488464, 690281988, 2702010992, 22747743, 1852655873, 3646950184, 3607949083, 2550147685, 1363411203, 642074056, 2772541757, 5354244, 2165994497, 2540257287, 1628716305, 3311550563, 1462239860, 638357800, 3630437453, 1078417217, 3543138636, 539285314, 1784873037, 1180499460, 3797128298, 692893796, 288038987, 3222178896, 36031232, 1416714024, 508773840, 2772541774, 1085474866, 436887571, 1343771475, 604075046, 440146904, 37379598, 1300235873, 19291667, 722993770, 451410098, 4301168, 1997378816, 227082419, 321275406, 1300235614, 1398235473, 738269958, 958399810, 1757438412, 1275143634, 1431512531, 806496889, 438313617, 1154834757, 3366273441, 1078870432, 88793115, 731930271, 11551137, 1464840978, 2470952965, 52507648, 1922450753, 2704168883, 332687544, 1176504001, 691273842, 5178868, 1919273125, 1101083737, 3004226150, 2238776910, 1847382331, 301999628, 16831331, 2329719489, 2543921940, 1654694094, 1252007242, 3759115367, 2752512184, 3004373561, 237322244, 3271565338, 2020693910, 1161929054, 1303581108, 1880576582, 1328455860, 1101084992, 3762235409, 10485825, 3004378395, 627245093, 3408775274, 956519237, 1482686781, 1579876357, 3042790698, 2017077910, 1157628097, 2543926878, 1504904274, 1796801301, 688795584, 403258090, 590219745, 697603653, 1101086035, 3003810093, 2856755205, 419915080, 2987804104, 2772541741, 1085477492, 1678115085, 443066546, 4301113, 1840448575, 1391479241, 2491418, 1280640296, 1794583144, 2013340704, 295118948, 324216151, 854878825, 9063086, 1564854437, 1101086016, 3003393835, 419661432, 19492429, 545167170, 1311178756, 3240727552, 1225027922, 2415937381, 2865279488, 16777394, 2550508033, 2952790272, 10511563, 3883885568, 1661010113, 2984722177, 738222849, 12693760, 16777295, 16777447, 3204448367, 16777400, 100663296, 0, 0, 5177600, 38732033, 60162644, 16908630, 50462836, 16778869, 33751271, 3204449391, 100926799, 100729057, 2869298176, 3785033217, 93651809, 50480397, 50389403, 16778155, 83886848, 0, 14690090, 536936707, 3785032449, 44761856, 50331648, 224, 791289857, 65116931, 16952067, 83886080, 0, 84, 2931032948, 2930508897, 67328085, 2886118560, 46552493, 112030894, 2886066587, 84017579, 89064450, 6356993, 1152058452, 67503244, 4292281344, 0, 160, 2881883563, 11641001, 3370696620, 2348811752, 3215815854, 87214, 3020054785, 38651215, 302245701, 219283627, 72286464, 10485991, 1325465859, 2684568972, 1922307, 16834971, 16842819, 50450511, 16908512, 3204448416, 12913924, 22282502, 26017728, 167772160, 0, 0, 0, 0, 852992, 218431501, 134340671, 741779872, 2843870575, 2121924975, 2138702496, 38332607, 42729523, 1124204888, 755400608, 21499141, 9175046, 1333657861, 3904832140, 1655553, 22154504, 2950782, 1333723397, 3904831884, 387199, 19727104, 2684701249, 16860751, 2113996097, 2710195424, 724279457, 2668071937, 1939866368, 1431346176, 4784131, 10485838, 3761187744, 2701594015, 9175384, 2691389362, 299439896, 53760009, 451936298, 1632278085, 3146514752, 2987514135, 402677794, 706404465, 2735985768, 3093119069, 1261107002, 1812149398, 1169886471, 9175324, 228786189, 2751480579, 21302692, 17631744, 621019904, 1531159296, 4174468, 627155715, 3350352685, 2866852432, 4020836673, 2734802354, 3768955392, 1912612937, 1399182413, 1233167681, 2734803122, 2599062528, 95599365, 2991372388, 32289467, 2348860832, 167821746, 320957624, 1610811451, 2778320, 2830285708, 11444232, 3379527428, 160169990, 1870529545, 2684930280, 3205073920, 99139333, 765395104, 147384511, 93061125, 3904833837, 2684371715, 30494605, 100683520, 49551, 3741952, 1554225159, 1091111751, 2510523647, 1497473374, 1520476375, 1334642176, 1325400064, 3247374393, 424240799, 2697301247, 1027700993, 1648468318, 1587742976, 3249209496, 130720521, 4849672, 1059342857, 298404361, 231050495, 423692556, 1202361484, 305673, 2996281357, 167895082, 731947423, 2684829959, 37682060, 147719, 47096728, 5308431, 14720768, 101171605, 2701691408, 3586233761, 201918277, 2348813101, 2812358054, 2670568864, 1090978379, 227868812, 331157, 10529213, 3871446433, 33648829, 3737228705, 201851069, 3603010977, 151389629, 3468793249, 118164037, 2365441248, 1059733255, 2365438976, 117440512, 0, 0, 160, 2833953300, 3261895978, 3948081815, 2699476737, 2684537665, 25872306, 2537925122, 2684602290, 2537925123, 2987705076, 2780507397, 2704082591, 755474625, 1795949314, 1583452944, 3669101186, 386541596, 878970113, 921316695, 1574121497, 3501374363, 37814796, 1160577684, 1090718789, 755209261, 2701208991, 44081104, 1101008076, 1101105864, 764714797, 2467311008, 63007499, 2678083040, 1059544836, 2684667276, 8727810, 2670527392, 1368919808, 3770613764, 2684667276, 7447448, 5308431, 14720768, 17080324, 3314286687, 1874329856, 3770613764, 2684667276, 5349379, 3494970127, 14728960, 77595845, 2348826784, 48054529, 2329518850, 10485971, 2734817361, 262368, 3204449440, 80055296, 580911828, 1090620112, 1359089408, 3770613764, 2684667276, 880567, 16834751, 303108, 3257770245, 765396525, 2684857092, 184549632, 0, 0, 0, 0, 16776965, 185157004, 713127, 2366308492, 4294118785, 889088, 3785850746, 14788478, 2046878119, 2105147552, 2304336280, 2866097560, 2862848000, 1241521093, 2744652000, 792078608, 1805686231, 755078560, 1867211178, 2554806689, 1908652813, 2499841024, 623745194, 227082403, 2550155776, 465937304, 283127606, 688941984, 1866709938, 348256421, 3836712599, 1352073626, 2694468018, 176630144, 99949289, 1382405285, 3148950789, 2584582400, 227147789, 2030044314, 4722057, 9175609, 1872167170, 2684505312, 791598081, 44040834, 398561026, 1229082177, 82791117, 1325545683, 2348817857, 2399291658, 1470104660, 2693353953, 2542600431, 3784805633, 13455106, 953401731, 38341176, 3318268303, 37278563, 3247374904, 3545145481, 3356330240, 2348811533, 2298585242, 3327394050, 2514656151, 26905601, 3437241645, 3439464451, 60818304, 1707185924, 16253022, 1090847104, 960562434, 1178666232, 4048814338, 7313152, 130121735, 1225406661, 953370178, 84040608, 2311864581, 38322575, 121164750, 1124401770, 3246589752, 3426297698, 755368897, 2198288588, 958876756, 16908513, 2744582217, 172164354, 2170097033, 9175389, 3760532941, 37748995, 2684614816, 74788100, 65117069, 254363, 2365688801, 2609577986, 1442906624, 1409286665, 1888946432, 3801844482, 5507329, 7378688, 14850955, 50367489, 316679469, 3439462400, 60818274, 3246588473, 423862487, 3760664013, 35651744, 5103655, 768410240, 10485888, 2282554112, 1134166112, 1409352192, 1872166912, 3247374403, 1985126403, 1338081282, 957957024, 953861516, 12951555, 3886062290, 1409352192, 1872166912, 3246587977, 171492692, 1116340736, 2866912141, 33808795, 2365784716, 10305930, 39825924, 2620058115, 877662746, 2114090090, 2013278990, 1080120165, 1394689480, 2780541333, 2329946669, 3758162690, 27263424, 1107361792, 1779271936, 2348838624, 657313026, 67149824, 3314286679, 1090842368, 1155540269, 3439476737, 10486009, 2987569448, 3626502226, 2020227328, 793301864, 3506456324, 139654953, 419661432, 19605062, 349285, 2858161450, 2504343634, 3760384539, 979196054, 1169928672, 791680513, 11657263, 804258048, 2972518402, 1409352193, 2365440416, 114101665, 2318245638, 763889307, 17664000, 2693973984, 1060051200, 3762237508, 10485952, 3762238040, 10485952, 3762238916, 10485952, 3762238818, 10485952, 2952791296, 0, 83887360, 5243140, 90637570, 1078133508, 3242788099, 90244355, 3298100336, 17039544, 167772160, 0, 0, 256, 0, 5605889, 5636098, 77595355, 872547333, 3786116357, 39060737, 14789517, 218113, 33655808, 76913312, 2588382858, 2348810036, 100926806, 16908404, 2533359841, 2878145792, 1872167168, 3246391368, 4231584313, 542076813, 83907584, 67166635, 2365915140, 2583713364, 83954262, 16908404, 2533359841, 2878147072, 2348810095, 2533426080, 55369775, 785645827, 2684584254, 2694465549, 134253568, 173277442, 7313152, 146899715, 958871756, 1208813057, 2348885697, 2198026521, 1134580417, 2399683446, 18323098, 1409352193, 2348879553, 2198030602, 952489696, 657313027, 134258688, 3847195904, 10485982, 2684836757, 2589197569, 173408514, 7640832, 14789517, 167793921, 33598208, 3760664013, 58720416, 8413763, 2583712705, 2399683446, 1304527619, 957957024, 3314286777, 3760532941, 52429312, 2684408480, 147841063, 768411776, 10485957, 2348850848, 107594115, 138079805, 3219243395, 137963320, 3436794885, 17454081, 33576448, 33584279, 57771, 2366242987, 17630720, 2348838560, 2437718162, 1229950208, 10485978, 3760664013, 52428960, 22240, 657313027, 67149824, 3314286665, 2684808160, 657313027, 268476416, 1289758509, 3439542272, 2684409685, 17039700, 16908513, 2744582217, 173316610, 2592866333, 3760664013, 50856096, 12946432, 283127600, 369164465, 3761188848, 16822573, 151194887, 5505282, 26017417, 117440512, 0, 0, 86, 16908404, 2533359696, 131670, 16908404, 2533359696, 197380, 33572236, 3305622, 50610436, 978005254, 84739328, 2348817603, 2399479568, 3225551930, 1078133807, 1079379210, 123012144, 7603968, 93651852, 4291551651, 2533441771, 3280930051, 3904937990, 3644982792, 1230243340, 109838342, 1124472768, 1443249152, 1946484741, 763823499, 1089145087, 4278190080, 0, 0, 13, 2449493901, 16797440, 57381, 768409632, 33595392, 3305965057, 1334640643, 2684603808, 105533324, 24835, 4211082, 46157708, 100679936, 16793167, 2365719119, 2348941409, 33605024, 37789702, 3612645122, 14785420, 100684951, 100721051, 2349269132, 15421325, 100721051, 2349203535, 2366046433, 2609645312, 2348865103, 2349334593, 65598, 1334641154, 1334576128, 1627521221, 2684502176, 114578583, 33612187, 2365980756, 2533753057, 2609710848, 1334642176, 3785067528, 5213447, 14785420, 150998410, 42729617, 2693824653, 1099563465, 2684765709, 2415964495, 2365981856, 113857687, 33819910, 5213447, 89064448, 123798533, 1386219211, 3761188816, 100699136, 1544392704, 2980054616, 1342637056, 1191190730, 3246589753, 423862344, 755369868, 2117639, 67127040, 2160640399, 121872466, 3248686991, 1134575840, 791662598, 9175073, 1409549316, 2684698539, 755303437, 2315343108, 67166619, 2365980897, 2609710852, 2365559813, 17384973, 2432807023, 2348876001, 2878144768, 2365582848, 16777295, 2348810465, 2609709056, 765168724, 2415984864, 707904144, 65615, 2349334688, 12914058, 34443264, 2952790528, 4, 16826736, 2516713701, 3204486402, 2365583872, 50331648, 65, 2708557234, 258808501, 712545861, 3148984842, 2182484819, 2147753042, 3917527382, 16908916, 2533490768, 131956, 2533490768, 196832, 724559107, 45591, 633906619, 227082253, 2449517458, 50331648, 65, 2708557234, 258808501, 712545861, 3148984836, 1516325120, 544380708, 98870614, 16908916, 2533490768, 131956, 2533490768, 196832, 724559107, 45591, 537290243, 2256012104, 38815082, 1764423780, 3550786235, 227082253, 2449517458, 184549376, 0, 0, 0, 0, 79, 2365589664, 140096004, 2618266448, 455796480, 856572001, 1399149345, 1171301819, 2973105928, 7321856, 22020352, 36962561, 22020352, 4784131, 56855043, 1166803019, 1107493338, 2693420879, 2365720480, 130699265, 16802055, 4730117, 25952303, 1342243083, 1334641152, 1628110947, 1090716236, 1099563336, 755368332, 1396737, 34295693, 67133707, 4841519, 840433920, 2953052673, 1755317612, 2684798348, 2535955, 755800106, 2032822312, 241329507, 542272000, 1415399505, 2470177430, 1169928532, 17301900, 4286160901, 3931112707, 173016325, 189793537, 14690866, 503974656, 77595859, 3785850746, 31562623, 17096751, 840434944, 3097495274, 1342571530, 1342572043, 1342571008, 3760861726, 168493060, 2684670945, 2810083841, 3785063937, 81801010, 403046584, 1091087447, 2987601164, 2523486309, 3258723083, 1179589674, 3936662203, 2975963306, 3370139441, 503363808, 724643589, 100708883, 2366409040, 19105359, 545604943, 2348878240, 155890277, 1371841932, 2510987, 33595392, 1263470848, 10944652, 1462281, 34295817, 50389035, 803539712, 14849931, 33595398, 3386906417, 1560676096, 227672480, 97079301, 16813056, 105907714, 14692145, 3087007922, 2527443889, 11671330, 1346726505, 720921811, 615776412, 878970273, 585772375, 1574121497, 1354077989, 3148940032, 255, 4292978555, 2046832027, 2365915913, 1166802958, 1871512320, 3786116099, 9240559, 1099563593, 3759616450, 134807618, 2315373024, 389136902, 117481473, 3511681281, 14785420, 33612183, 2349203888, 2684534864, 33685729, 2609644544, 3784805384, 28312576, 0, 16777327, 2365654127, 2365718752, 707881476, 196792, 134217728, 0, 0, 16777216, 6357250, 3248489672, 218366092, 373376, 2773418240, 96571141, 952453133, 67210240, 983566027, 2684831904, 63287940, 94409285, 2693908391, 93061152, 3247375681, 239821203, 273132180, 2348814672, 16910416, 16974048, 724559112, 3334, 5505284, 26017699, 33554432, 5243139, 7378432, 5570592, 15056640, 1342243328, 1426063618, 1342243584, 1409286400, 3760926693, 33554616, 33554432, 10486208, 2994775520, 791807233, 44499632, 83886080, 0, 111, 2600535151, 2600600943, 2071593046, 131156, 131188, 2063597793, 2878079232, 1627653464, 1870363136, 1442841088, 1409286656, 1954217984, 3786116098, 11575299, 3494839296, 6393600, 1222651697, 4093837391, 67109088, 791802880, 5506052, 76349382, 33554432, 7306106, 5505026, 39125505, 14789499, 123303, 2063728865, 2876996098, 2952790784, 0, 5223936, 5636098, 52756995, 3228546562, 6356993, 1073042690, 16805814, 43776, 16777261, 2617331713, 128035745, 67108864, 0, 4260120, 1151067693, 2214669701, 48342908, 2046877735, 861174784, 10485888, 1275954176, 1870428672, 1090519360, 1333526788, 1090782656, 2996290976, 65527855, 839189251, 2802041231, 54774341, 2994899777, 67194802, 3093715, 654703781, 3146514437, 2994741313, 67225770, 78813157, 3148547085, 2214637824, 16777295, 2365981088, 31608988, 92622733, 117497898, 850395392, 2130747392, 3228532090, 10485960, 3761189513, 2139049869, 134324225, 3243285510, 2236583177, 14690866, 2952855678, 10485952, 1870494208, 2684404079, 2121924673, 84448, 791841151, 2142298159, 847871614, 2952791808, 0, 256, 0, 7274874, 48342908, 2046821378, 4557824, 594477316, 115354422, 151420160, 2684405132, 873477, 16834987, 2080376469, 93652108, 4292534699, 2088371501, 125578620, 27985664, 134217728, 0, 0, 0, 882176, 226033709, 2013343095, 48342909, 2046878119, 58327119, 16779105, 16930464, 80275647, 76283909, 3904832480, 791892992, 11206735, 16910529, 2399615257, 1393391873, 3247376451, 1979769940, 17039756, 14532995, 121302589, 3210911748, 3370696452, 2348811752, 3204702255, 861143040, 2684403757, 75358631, 75104396, 11911555, 121166403, 2691997826, 1393391874, 3247376451, 1979752532, 17039756, 10038659, 2644509896, 3904832652, 387263, 65023795, 1409286304, 12623880, 3247177851, 3246589753, 658033764, 3246590009, 658033884, 225837472, 80275647, 76283909, 3904832480, 791892992, 10485760, 1387388967, 768411396, 10485957, 2348827841, 2198288679, 952911244, 3785103, 121861707, 2692313101, 2030341120, 719332653, 3439796226, 111150798, 2692893485, 2181442944, 126615571, 3760532941, 125829120, 2684405805, 2198285725, 123797762, 3203355649, 67185927, 143458021, 150994944, 16777216, 0, 0, 45, 92630785, 2047231865, 79798403, 1453359827, 3760532941, 2155872256, 2684405805, 2206207362, 10519404, 2692901185, 2030167456, 2221056002, 3232892033, 1747585862, 41183840, 1238917587, 805391474, 51007274, 1292539525, 3148956025, 21340293, 1204637573, 4294913438, 27264971, 3761190046, 16813056, 463498192, 1286211552, 624231696, 270532683, 2852642853, 889563776, 1073770241, 2046850304, 100943737, 21335041, 306673922, 1939866864, 1090781668, 3888055296, 1862336512, 3785031937, 11671492, 916193358, 2214940417, 16820736, 2987828732, 2780553639, 24773004, 14500612, 30253060, 9224591, 2248146816, 2244054917, 4294924333, 2231708936, 74383738, 7667716, 14789377, 2046856447, 1855980613, 755239009, 2561329376, 1060183552, 2980053744, 2693000672, 708076806, 67174497, 25118952, 2131135488, 99122952, 764411949, 2390896015, 2212501297, 788529152, 227672460, 2203650, 3736208513, 1747585862, 41183840, 1238917587, 805391474, 51007274, 1292539525, 3138224896, 226623665, 2684616766, 2684877728, 49389675, 3705674549, 1393230080, 762610477, 1937911154, 2148369152, 226623501, 2147528882, 299439896, 53760009, 451936298, 1632278149, 3138224896, 226623665, 2684635149, 117542142, 3190654213, 226689037, 2181083136, 50331648, 205, 1334181887, 763589677, 2188632487, 24772754, 3858940576, 38112256, 299903285, 520225025, 10551810, 3264020461, 1862367747, 2684570336, 355796473, 16842863, 24773536, 55238677, 889579009, 16805633, 2047033603, 21384961, 24448387, 885248, 2869101824, 0, 0, 2950402, 2987625913, 228627016, 2693875104, 1992995456, 2779218828, 1663235, 2135810069, 828179975, 35840, 182457649, 1560807680, 11665716, 2640198, 3425015041, 1862467844, 2994996650, 71369218, 1363215618, 3316815461, 2986514304, 2777415689, 1124205125, 2995037444, 33636312, 3012994304, 134217728, 0, 0, 0, 7274874, 36505477, 1376783363, 2684609444, 50353408, 17068035, 84336683, 914753025, 10485961, 3760928083, 100728869, 84164584, 1376783107, 2684584022, 2751660119, 262229, 66573, 83908101, 33582851, 24963, 7820805, 33575936, 16805635, 58203, 219086866, 219086933, 329807, 2197815521, 2600992768, 1333985536, 3785033729, 14687029, 1393361152, 2348812069, 84164540, 1862367744, 1627390528, 3444540927, 4281179649, 3759486213, 4076929280, 763692911, 24772768, 4243861, 2704962105, 1088427317, 98959617, 12059648, 0, 116, 33751143, 2231389152, 691347201, 2650865848, 1736770123, 3760796959, 27131904, 3093792003, 1105209653, 520199682, 12059904, 0, 0, 10617089, 1078002434, 3662807313, 10485971, 3760928390, 16908448, 13230123, 894632194, 4260608, 1246363908, 3326738696, 1839333637, 1766457611, 3326738695, 1632239880, 1223196417, 2348814154, 17058024, 2130807808, 99122944, 3760862495, 16908292, 2701197759, 2863661824, 0, 7275130, 55837441, 14789378, 87043, 16834987, 41550000, 5282821, 14691125, 1887371264, 2684403792, 2617639136, 724922494, 47104, 83886080, 0, 111, 24773536, 62998274, 46548738, 138478595, 12669955, 16805633, 278788, 205860100, 2497720139, 2030305440, 4187457, 67223520, 765396042, 67979277, 83987456, 591501316, 3356296448, 2348816711, 34099936, 524892160, 4259841, 1208812800, 2348811533, 83992581, 3880190466, 1665243140, 1598096395, 1303512130, 339086917, 3500522417, 2986623508, 914621866, 78812741, 3148980229, 1065763224, 71270834, 398746832, 711326885, 3146579828, 50331648, 111, 2138701891, 86096, 2617573447, 313357, 16878592, 359628410, 4390913, 1297128454, 4653060, 3305963778, 2684469682, 71380824, 672295481, 984721413, 1090585157, 2998560178, 634857753, 42417480, 1728054661, 3836039053, 16949250, 1253205329, 3299183616, 547394117, 2693909327, 33554599, 9175057, 1342308867, 1342309120, 3760926693, 50331826, 388352165, 3148940288, 255, 4278190496, 46154243, 13110532, 9175046, 1325531139, 1862403072, 1627455681, 621019967, 4122018816, 0, 112, 33816673, 16826661, 67321845, 2969568256, 256, 160, 1908826520, 2864778628, 321717008, 756023712, 46942721, 323489028, 25952318, 3785849978, 2989692, 3444540927, 4284547841, 1524639029, 93847809, 6396074, 3462834689, 1256203573, 95027457, 14689589, 83951873, 7315066, 4390912, 1158480897, 756024077, 2214636292, 16777376, 2437959565, 100749057, 49551, 4263496, 2994775466, 2679132045, 117497897, 829030656, 47104, 16777376, 2437959565, 134303489, 49551, 4263496, 2994775466, 2679132045, 151052329, 829030656, 47104, 67108864, 0, 4849929, 3231744988, 1375801603, 2751660119, 131157, 65760, 708184451, 50331808, 12624002, 3679584528, 60818368, 2751660117, 65760, 708189570, 50331808, 12624004, 3244949892, 3249602573, 1879117167, 11735622, 1976724032, 1834426008, 993957445, 880640, 225378483, 284637515, 19554583, 985217683, 3769761805, 1862382355, 441800471, 2271070764, 153815133, 3580220495, 97035520, 10655744, 1239428936, 1184366776, 3003400501, 1381449239, 2367318313, 633906432, 33554688, 14696331, 3791691777, 3987870004, 2650584, 872491562, 459931680, 819079349, 12456896, 80096622, 1581671899, 683644832, 3762243884, 10485829, 2684437690, 2964525712, 2521104608, 529261057, 11669812, 2650584, 872491754, 1663459109, 1409644702, 2496875, 988945198, 1833270461, 2158354495, 1227620512, 12628498, 3932366431, 776832456, 2780542899, 291912234, 2763129014, 1320293008, 2521152480, 1061628160, 3098743142, 975873202, 11880371, 311465541, 3004261946, 715436544, 983048, 4718593, 14768896, 134263313, 2858237981, 1278900224, 3227969103, 140367204, 19256165, 1461262648, 1332861364, 2780553279, 929562800, 11669930, 1564486249, 1611006775, 444080878, 1461716270, 1328176328, 1707229070, 3852844000, 1060595712, 251660288, 3381592319, 4261470555, 524464, 16781746, 333729943, 301994436, 951910433, 104932491, 1585927167, 350495381, 2062430649, 12460223, 11081253, 1084818597, 615585285, 673518885, 1152390496, 299052680, 1379996814, 1291951269, 2987446596, 389647719, 6117418, 4213777864, 2780499968, 16795904, 134258688, 3669103150, 559112521, 2757414, 1295909000, 1391809254, 1708444850, 3149009892, 1352077824, 80085738, 836265303, 689989350, 626137840, 2691539, 780685889, 344870149, 1218909034, 1594788325, 251658496, 3381592071, 4278249151, 11665594, 9972462, 438325074, 492273829, 83957573, 2348813360, 65765, 3204484351, 4055609344, 11670378, 1573616083, 805911312, 373672114, 3149746099, 69810960, 2499223, 1565058226, 3149075649, 681968960, 288252416, 291912250, 1564480705, 682001733, 11670330, 1584287104, 625437068, 980156778, 456842560, 2695416589, 2818618065, 1804337160, 229114290, 3529880470, 1157628083, 158159409, 1400925838, 557867230, 1610966155, 1385240133, 3836018944, 4302730, 1256205099, 2695341568, 3097536207, 2745565344, 12995238, 155528449, 2795546063, 2745499808, 12995237, 155528449, 2778726879, 3247898893, 3873026564, 1093601832, 25208234, 28442835, 2052349253, 3366304667, 48245291, 2695341733, 12058698, 2669571040, 1059590400, 2684371379, 296359704, 59647296, 461783361, 378995110, 1834161945, 2641561, 956966066, 373672101, 2995004842, 2679308760, 1287152664, 1162499539, 2964455602, 309599881, 2013358122, 189165774, 1708339201, 1020486538, 3702700813, 2499808649, 11534410, 2669601970, 298148714, 34821011, 51993811, 826299732, 1445594273, 1970155961, 980189376, 2862592918, 2778767558, 1101005158, 2987603833, 3543138600, 3647260736, 109094314, 2679308332, 99026349, 443113473, 454703374, 617715269, 1721800922, 2986624605, 1394022657, 1529503798, 2435175216, 25208234, 2696123973, 1252007397, 2987603833, 3543138600, 3647260736, 25208234, 2679242796, 2550508192, 3003131491, 1310837018, 633906611, 71834213, 1663420581, 11735828, 1593705650, 2014456404, 1606419669, 1385628900, 1445600010, 26111296, 403258090, 590238309, 3366256819, 71380209, 454623443, 2066561644, 16647000, 980157332, 1563989573, 16777379, 2550259775, 672202912, 4278943, 461006495, 283226756, 631938994, 39478048, 188890144, 854878825, 2755399, 1356277065, 2521152411, 38404379, 1085408321, 879756897, 2158340609, 2996209083, 2600645124, 1096335461, 2857565696, 1328978944, 706643549, 546833834, 2679243957, 720181944, 2527443867, 33554688, 11666497, 913600513, 3424692895, 2996192699, 1855496017, 2668560608, 2667577856, 2952790240, 422289432, 2667970744, 11735499, 2650584, 874842029, 685451872, 1383168016, 1318871068, 935708837, 11735290, 817168531, 1394607718, 24189841, 722993847, 1368857152, 232338904, 377493444, 580530593, 353659277, 400935077, 10526813, 3003406390, 2588221536, 3724774668, 2166589007, 537216874, 4076885361, 3652497994, 2686010954, 2685649074, 328099232, 2550508192, 3004605780, 3029771520, 10723072, 1090534216, 3762245263, 11553439, 444163743, 2555764783, 1028103936, 2995004842, 2682261388, 1738808832, 3101699901, 1201602738, 2217061023, 3003188837, 220921901, 3609723148, 639800163, 1378428360, 2779907137, 754605664, 2550508191, 3012969728, 11735735, 716464938, 1587208372, 14687033, 2987826944, 3087007968, 456765975, 2667624448, 4890395, 1256201003, 2686099200, 2964456513, 756103751, 43189569, 2158340767, 3012969728, 83891968, 0, 160, 38314143, 3308061343, 1913651460, 2684649558, 2684518475, 2751726401, 50518209, 2500002821, 16792656, 67109088, 726356895, 40960, 1857192997, 2852303489, 876675772, 3316820741, 2991372388, 287885696, 2772500759, 1219685029, 2348812210, 647810213, 3010516900, 3001036619, 989921456, 2684505523, 71380372, 7472006, 4172455938, 3931283217, 61080320, 3758765577, 1246495488, 10485975, 3004240186, 1195011072, 537624856, 709787675, 1715086792, 2779972673, 758382706, 2525298762, 2668814922, 2669076146, 72510233, 53102112, 1228945052, 2762368, 239076678, 2158340767, 3012969802, 2668134462, 1369377024, 2684417866, 2668324940, 2668343825, 290654884, 2998640747, 3252694838, 688941984, 1799467784, 555381872, 356198452, 121948352, 2998077473, 410001972, 1632212549, 1251939940, 1251937109, 1285491634, 2217061023, 3003131470, 2617315667, 178565811, 136386672, 573858121, 2521150212, 1115492691, 167801494, 1157627978, 2669565618, 2217061023, 3003295355, 5144603, 959084858, 2476098995, 71466790, 1174406467, 3367239745, 2668256691, 327829025, 340218474, 77668397, 1445362131, 805600919, 1085412933, 3366302468, 1096430691, 537260602, 1771455744, 11732033, 756503320, 7509637, 10526700, 1251941981, 3004289891, 1365704709, 560359015, 1462246482, 1700995125, 1364467283, 1170777523, 328010886, 36983422, 2525344531, 438411332, 3543352881, 1074161153, 2922489201, 286988289, 1482999621, 3627436623, 537778485, 3633743104, 4890398, 1272977963, 2685706144, 12077727, 436223818, 2686286816, 792545183, 11668888, 1104233850, 3288705696, 2992784975, 221945954, 773937280, 548052915, 3619443, 1783258311, 1161847342, 1834442753, 1425101696, 461830322, 1252007396, 2986616165, 442969677, 2150181928, 3103795608, 95068339, 2503895, 641597641, 718936874, 2521149971, 425513777, 1076007713, 1432626467, 1499845424, 25208234, 2679313989, 1219663429, 11735316, 1228952161, 376762548, 10526789, 228589898, 2686213810, 288240014, 1300235649, 2158340768, 3003131490, 879755535, 707122283, 97035698, 288240014, 1300235654, 2158340768, 3003131489, 3511141832, 2768240803, 2550161664, 2681385491, 3563632733, 1074528588, 1922467259, 2600618512, 207139332, 1093947141, 4101136429, 1248069168, 3469521595, 1855459504, 2986628904, 3510364672, 1912703591, 776830985, 560726636, 1512888602, 633906619, 2600599654, 2668642753, 2149072389, 1056587262, 3619782680, 1052917218, 1042402753, 2149072424, 1041907184, 9980575, 507560335, 406717780, 2995004842, 2679308346, 1664569964, 719343260, 2521153935, 406780502, 2995004842, 2679308916, 36982154, 1543600401, 1784215730, 3247380541, 4267094660, 631938995, 41157172, 1300913153, 2026593486, 2763178383, 406766162, 2995004842, 2679308884, 1834483916, 433296965, 3247380542, 559198852, 631938995, 51991224, 52173774, 1300613285, 3247380542, 675328644, 631938995, 4082327, 672475336, 695911602, 3247380542, 1851175556, 631938995, 51269144, 2753548, 1587170597, 3366306191, 406778688, 3003398257, 1248073801, 1363411545, 778218079, 178565632, 14696251, 3640702976, 11735476, 1880434970, 1170660532, 10721280, 1637810240, 3759877024, 782172336, 14696265, 3774914560, 3232960823, 1387604261, 3366257408, 0, 4890388, 3370680064, 2348811752, 2130783489, 10486144, 1063690136, 2067898672, 1420956084, 1879253032, 653151744, 239457445, 2348819378, 321722992, 2624050, 1762460898, 116005425, 2014120609, 51729189, 3366314031, 1028103936, 3148892831, 352351245, 33661855, 54960115, 3561398265, 3504347979, 1408110592, 2684372545, 2668447968, 1060917504, 3097494355, 3003420258, 1700995098, 2114160229, 1459633046, 1164313496, 3635545153, 1479150413, 1378433644, 2149624323, 3003215455, 429278538, 51108530, 332687544, 1176504001, 714418784, 2214963715, 3003215455, 429278688, 1060917504, 3097493824, 2684502194, 176297773, 980418674, 2149624479, 3003144985, 2536062981, 2656257480, 2768240818, 321722992, 2624050, 1762460898, 1401123558, 1705663513, 903308094, 12453382, 1176504121, 439368300, 78995079, 418478271, 2521152321, 2669625568, 457921518, 268476416, 1088433981, 1201602744, 67108864, 0, 11741453, 1342841268, 11671109, 3366256800, 432352535, 429922177, 2074089555, 3003404907, 419453514, 2535987285, 1211723424, 2999025688, 1040531194, 1040111553, 2149072578, 1038237217, 3452010520, 1042824730, 1039138899, 1251941989, 3003399172, 2019988832, 205954106, 1812242804, 1560597328, 342207068, 337604179, 1476479789, 1222947506, 321719442, 965567489, 1496599872, 1653746477, 980157601, 1977161496, 27680032, 89729585, 2922501, 2862592918, 1170312984, 1056137651, 158885620, 1300255028, 1543578893, 1360282841, 672475890, 685320960, 68637330, 2521153935, 406750045, 1268719435, 2668825963, 28476453, 2862592768, 3929133920, 19501395, 2244519361, 2400730678, 1762466305, 1251938644, 1855953120, 793320351, 11735406, 1158490405, 3500519940, 1093496389, 226500778, 2679346821, 3247380542, 1852525215, 291979543, 3209234111, 2940538135, 2947712037, 2862592769, 1901123936, 405465677, 1366819150, 1311030297, 3616949697, 2400730853, 1732943633, 1661803009, 3761192263, 2667623044, 631938995, 26487552, 1788872294, 45755744, 87575184, 2830241047, 11732028, 74999445, 1611417244, 980157601, 1952253139, 1343514026, 1543919270, 1565746186, 761930533, 3366259991, 11734893, 448080504, 2521104896, 97, 26494989, 2483031443, 2949739, 2835472431, 908660843, 2684535137, 40616371, 71382570, 790627937, 19291653, 1219663429, 14688075, 991232184, 5349127, 10485962, 1369376512, 2902506416, 1251939014, 1251939912, 3762241590, 12104211, 560773216, 51057961, 236593161, 3246433706, 2679346757, 6723743, 1256201003, 2687409920, 2967478091, 991166648, 11735949, 210108654, 2094488896, 580067669, 3837001984, 10526720, 1129451532, 27263453, 2751529045, 65760, 439754222, 16777376, 13361177, 731921567, 3993022627, 2550146591, 4972569, 731921567, 520138931, 75569250, 88816177, 5599705, 3031581088, 532693408, 4005617690, 731911072, 2667622400, 10526840, 3759885139, 3994026144, 13361177, 731921567, 3993022627, 2550146591, 4972569, 731921567, 520138931, 320957624, 1610811434, 768689154, 1468949925, 3366302468, 1377550402, 1953500499, 2147830096, 55059719, 2723230796, 3101995520, 16777379, 2667692439, 2667644525, 3004403301, 2706312820, 187259136, 688254248, 3372525155, 441045808, 18982509, 1394022658, 707731470, 1080201771, 2179772993, 2667926963, 332687544, 1564478209, 1813533258, 1882920517, 3367125249, 4081824516, 1262119169, 3650504038, 2677557683, 71391705, 2521130655, 282124331, 1263771408, 10485830, 1100942671, 3004291351, 402845233, 3103800214, 1162477854, 1320322085, 2852238080, 1446716872, 2773090568, 1353847257, 387448911, 2214963713, 3012969802, 17977522, 299439896, 3376133, 2852238230, 1169363178, 456655434, 2521104563, 332687544, 1564495705, 3769893043, 69479575, 310647956, 333741060, 580343447, 456002024, 1564894537, 78934648, 77663893, 719742296, 3745619, 827641010, 14692171, 2040463520, 4239891, 756753763, 2676856, 35399685, 1478213729, 3542171653, 34954026, 1611055488, 2779422643, 2521104458, 2686375858, 71380366, 1832949765, 2862592512, 714605994, 2696124037, 2995004842, 2696086250, 794307328, 179655214, 1699870898, 11735278, 2094488901, 3500474528, 2675987530, 2669567154, 2217061023, 3003184243, 593192, 3372231173, 21862185, 1497001110, 1169297881, 387449024, 1901151248, 1318865931, 421068914, 43206592, 1628257268, 1438067310, 587227358, 12128682, 1177818912, 88506533, 2862592918, 1172320041, 3831365805, 12300288, 10492111, 2987355418, 3039459478, 1169918976, 1872763264, 1160582937, 1872205080, 2986621956, 1816566880, 38074169, 2372288000, 1192759890, 1246701000, 2780555135, 167785482, 57355, 706120571, 57751, 269, 419487771, 731919895, 9175080, 2986618445, 105850469, 3258796086, 2321549081, 268527162, 2034745620, 1024215623, 167880278, 2857305544, 2780499337, 890112, 2952790195, 297037827, 539507307, 1155082243, 3367305318, 2678087858, 332029989, 178362533, 1252001864, 3000133004, 373434, 1706197024, 2862658454, 1169363572, 77747672, 1287185586, 14683978, 681849344, 3087007923, 298148128, 1653886295, 34497280, 404044165, 3366256714, 2669039539, 309599881, 2025349133, 1380619845, 2987625848, 273582144, 45924522, 2679346853, 4890399, 4082335, 332116744, 555249745, 1805010252, 2668863595, 3370135350, 688942002, 2217061023, 2986354254, 2617412524, 2998640747, 1102186529, 443838485, 992490503, 1154007218, 3148919556, 1093614174, 1611546705, 1805010176, 4890399, 1900715795, 1270024225, 410014309, 3366275999, 330466341, 2862592512, 642685954, 2476099003, 2691383776, 792078608, 1807474751, 1076101296, 1251940962, 2987510528, 678549556, 19462750, 1619264938, 2679309473, 588075857, 605559744, 1652934821, 3003400495, 979263502, 1079141832, 2768240714, 2669370291, 71380518, 1785213955, 1208449048, 466505088, 389094227, 564520116, 3004378395, 627245142, 3932634627, 2319116694, 1157628083, 294283054, 1300260311, 690345125, 33554432, 10526711, 1721700450, 1251941976, 2995004842, 2679308326, 1720975598, 805382650, 1252021098, 3702710335, 1138098360, 3004378380, 2188139032, 206735619, 926486678, 1163005974, 27263360, 1235484930, 1090650832, 1090651253, 1342243072, 2919235744, 7057925, 3692004096, 3221895193, 1778561305, 167783014, 4261542474, 2924316104, 2780553263, 702835968, 3761212519, 47328, 1059590400, 2684371384, 3762242518, 12058848, 525024020, 12058802, 2217061023, 3003270721, 1476555779, 342518166, 1157628083, 136472330, 708838748, 1391498821, 14688071, 838926496, 12640287, 1200292096, 3087007922, 75569250, 491600489, 2149624479, 3012969728, 4890390, 2034933515, 1706198053, 2862592512, 642951756, 621257296, 728060228, 473225495, 402713210, 2468613860, 2995519504, 2995004842, 2679242790, 573858121, 2521152432, 1251938816, 1229627166, 1404241025, 409100970, 566641665, 677011786, 3434274863, 1225432832, 2684411298, 2667596768, 793265823, 10485825, 2995004842, 2679308326, 710240197, 3366302340, 631938995, 2499124, 1632212549, 2986623278, 877789242, 2017012352, 3232407475, 2521104458, 2668120800, 455843898, 2667622578, 305418752, 166101157, 2862592790, 2782180608, 11732097, 409077673, 1796801313, 3971088608, 256518308, 1459664896, 11732033, 758382706, 2521104562, 299439896, 6300202, 450891328, 2550508191, 3003148299, 1378498857, 633906432, 14692171, 2040463520, 12628740, 1180521239, 419484416, 3357708886, 778152484, 172923441, 2688502834, 719106560, 4890385, 1521619540, 1842556929, 2158340767, 3003312749, 1179058254, 2570441648, 2998010945, 777284928, 2214963871, 3012969728, 11736020, 1756907040, 113322773, 684720981, 30081064, 733292825, 38404138, 893803550, 1397084325, 14696232, 285253632, 1101045958, 1252007360, 2987603833, 3543138601, 711145299, 3229877674, 2679275564, 2694860466, 99026349, 443146405, 2348812210, 2550508192, 3003131439, 1496984214, 1157627978, 2669562592, 455843860, 2667622579, 309207360, 1727960645, 14696232, 285253632, 1102819328, 11732035, 1790600216, 1439897869, 3343852, 261692016, 79254149, 3366257152, 74, 2668757099, 1369377024, 2684387427, 1251937099, 3003654424, 1884465868, 2991300363, 1268712098, 2667595338, 2668054963, 311765610, 2763170463, 23240961, 14567937, 47862017, 167944194, 3551691813, 2862592514, 2502588566, 1169927426, 3148919314, 2502585933, 2156135850, 2679243498, 1833355008, 3761195037, 2667623318, 1162518294, 1615503115, 1270024225, 410014378, 3434263172, 631938994, 43330168, 2521152331, 2668343474, 72510233, 53102112, 1228945052, 2762368, 239076678, 2158340767, 3012969728, 16777440, 1059590400, 2684371377, 11732033, 783163904, 239454373, 11735853, 455435008, 1641105349, 3500474547, 96623220, 21704008, 3836870721, 2669609040, 3761192263, 2667596448, 425740960, 324842116, 631939250, 2501561, 980183512, 894015045, 3142361107, 1285560752, 2986621979, 710678613, 3511091283, 1784414592, 2779422899, 77670432, 775181025, 337849190, 1452743466, 3769819199, 672202912, 4305668, 1093579882, 3759031752, 2768240864, 1059590400, 2684371379, 298516520, 1457944586, 1318728097, 338646758, 2035769362, 465570630, 1327246058, 2763129056, 1059590400, 2684371424, 1059590400, 2684371379, 299439896, 48896561, 2013462801, 685179316, 4038197472, 256518308, 1577105408, 11732033, 783966624, 1705921944, 2756165, 3366256864, 1059590400, 2684371168, 1061053952, 3087008000, 4890635, 3662323734, 3326779410, 3528106011, 1166802955, 3003400493, 872444566, 1162518539, 3669132325, 2862658049, 3628906596, 341136278, 1169940527, 1268621312, 3093405855, 1337135540, 1879253032, 645926469, 3567609503, 2689839748, 631938994, 2493953, 3424692896, 3012969952, 793383072, 31469386, 278855796, 16777553, 2685272181, 16777553, 2684944483, 16797619, 320957624, 1611878423, 1385338437, 3761195897, 2667618304, 1380622093, 1320289346, 339117061, 2862592918, 1172320075, 2040463520, 4907071, 1228406944, 12676767, 2689310466, 3761195291, 2667623185, 877479368, 2768240819, 321719437, 959335808, 1445339456, 81351296, 1358641818, 3769761857, 2684898016, 455843890, 2667622474, 2684897504, 1061293824, 3098678049, 1824022547, 1342984841, 52059494, 557844961, 2158340768, 3012969728, 11732033, 758382706, 2521104608, 1061198080, 3087007923, 328010886, 12458410, 1219762144, 1664555628, 672015686, 2521104544, 1801040648, 555340374, 2556544837, 1074091816, 3372233476, 152760470, 1168154816, 1252001728, 2987504752, 156325890, 2468876626, 2415935640, 95068339, 2527395914, 2668680882, 297037833, 1364722323, 672606409, 2160110239, 3012994385, 2668036269, 12300288, 14687019, 2689900288, 2952790195, 136860497, 604129162, 1176505177, 1384137945, 2830368946, 136386982, 1563523089, 973752256, 239109125, 2862592512, 641366314, 3932367524, 2998603157, 887040, 2952790195, 297037861, 732308273, 2015694081, 586042752, 239457445, 14683978, 681861632, 3087008000, 10491973, 2686044640, 522952772, 11591719, 1264717854, 27263459, 2986627691, 419481894, 3932356740, 95027634, 19815752, 1715377733, 3138226432, 227868843, 2507118485, 12685056, 1074939405, 2298523661, 2298482069, 11735846, 1175342464, 90067799, 1632709633, 415261132, 1275143634, 1431512531, 806496889, 438313617, 1154834757, 3366256819, 72039017, 6449786, 1665582258, 4890398, 1420956557, 2013424680, 1632838658, 2619386527, 3012994483, 321719426, 1715880256, 1632839429, 3366256864, 439066688, 2694774960, 11735412, 3501457482, 2669564339, 96561194, 114511882, 761930533, 3366275743, 299610884, 1093609025, 1077617944, 990063979, 18098181, 2016727080, 249869386, 2668757103, 1251937024, 1050844928, 1944076099, 3254825476, 676493610, 2036335012, 548052914, 51722801, 3758443024, 214610441, 562848652, 766469, 1090623315, 1403299251, 2521150227, 219810508, 2997001984, 1521616952, 1397958400, 230847526, 139349774, 624985093, 2862592918, 1169327141, 2862592771, 342518112, 172669432, 2998080269, 436915378, 16777378, 2667659595, 16924929, 524871807, 227278863, 1242565832, 3900640652, 387263, 275644672, 2365578752, 14692137, 3832283309, 12300288, 11667512, 1230063360, 231112869, 2862592918, 1157628083, 71380757, 107202740, 14696259, 3993024512, 4890398, 1538425893, 2862592513, 875233292, 441264735, 419723573, 3633726860, 1421841, 3027245114, 1818895966, 1040406570, 711132616, 2780540928, 14686763, 2692259999, 12058880, 14692237, 966263200, 30138394, 731911327, 16822450, 309592372, 1761148968, 1458853528, 671165209, 417367045, 2862592768, 738587962, 1895347456, 10721280, 1241520973, 2744647904, 455843886, 45235, 71382128, 1663454510, 1300304980, 1705922053, 3366256819, 73153073, 5916312, 1679571757, 154314932, 4890398, 4239891, 239929856, 672852556, 3093568298, 4163444742, 1830447383, 2572205108, 589468188, 3640966739, 1163993117, 1499813632, 3647260736, 25208234, 2679308332, 404498645, 1382402213, 3759877024, 262078640, 14687051, 1408110592, 2684416434, 320617042, 980156888, 1287152666, 1665549886, 13715100, 689964641, 2158338207, 3400179634, 2521140224, 162670419, 827641010, 3148931135, 672202912, 4240145, 2483157578, 2684773890, 641811920, 2768240800, 2689184531, 2371000500, 3034585643, 2685706399, 12058726, 2677562442, 2667794355, 71382128, 1900436947, 806282418, 3003401024, 906905040, 2778963712, 1241518696, 2745106506, 778675, 71380714, 420282434, 239428352, 980957482, 12591668, 1632174356, 1327905386, 3702694048, 4030832648, 1175298048, 2973867942, 1175298048, 2980290304, 1637875925, 2995004842, 2679243224, 1287152641, 3424692896, 3012969741, 2684400035, 2550161823, 4240147, 3563632733, 1077573689, 704653627, 634430720, 14696265, 939540736, 20990623, 55882244, 1094087792, 472438586, 1820336298, 2679346757, 3004376641, 1402356992, 4890398, 4300949, 3391985823, 2744651947, 280134693, 2862592770, 2792032864, 35438666, 2452257028, 3039489306, 3087215930, 1882876928, 1912612961, 3026856194, 3927414568, 3372228680, 3546861974, 1169294401, 791037440, 88178853, 2862592662, 2243628425, 890112, 2600600064, 74, 2669039584, 793477535, 14692171, 989855920, 2684440138, 2669365984, 455843866, 2667622560, 21449375, 293639328, 1120968705, 1178705709, 1239428959, 2499870896, 1091595088, 1100998732, 2688731616, 794793217, 11559184, 1097654319, 1601638402, 1325531392, 1637810270, 1325531714, 1369378463, 2684472288, 627024385, 7012528, 3759628239, 7012528, 1100950877, 3003400493, 2483180637, 1080403532, 354089219, 2256011776, 539187044, 3469521586, 72157857, 1034557728, 428227192, 1677820069, 2862592768, 2080704103, 709540096, 959268580, 2993069976, 1538462509, 209874387, 1855024448, 1531864384, 403198585, 1392065171, 2525356079, 702831872, 2902506416, 14696265, 3774914560, 2153005472, 89895433, 2032858937, 1847597366, 4101026944, 564830176, 260859812, 2399189152, 2699905696, 510243460, 631939250, 20587032, 8160261, 2862592769, 1899583488, 4261421858, 3865160288, 19406898, 4100614550, 1169363757, 1587334322, 3004283572, 3036676275, 71380781, 1587282131, 2066561644, 42675201, 611489413, 6398104, 1471349825, 791554054, 1339635155, 805383124, 1794648619, 2521149956, 1093611048, 25208234, 2679308330, 239454373, 11732040, 1397826568, 720968147, 1203785051, 719349194, 5571971, 3367239904, 1059590400, 2684371424, 1059590400, 2684371379, 258808501, 712545861, 4890383, 3232957505, 792354400, 239456421, 11732418, 1517551947, 759751858, 14696256, 486586368, 11732418, 2086299082, 606429824, 178420826, 1786329417, 2525298944, 62001966, 1228952792, 1633162821, 3367156484, 16795020, 778303, 708772000, 12579341, 2869013419, 83886080, 0, 160, 2286608411, 731941791, 11563536, 2667683841, 2158928897, 37814785, 1297088768, 14692170, 1426063544, 1090650699, 1325465600, 2902506395, 37814787, 1582235904, 14728960, 94373321, 3761195605, 83933408, 1059590400, 2684371099, 37814788, 1901068545, 11403264, 2684407120, 16777440, 793400576, 12078849, 17014787, 3350004667, 2600645124, 1093506048, 1912833784, 2998639362, 1090651456, 1342243076, 1241779021, 1342242816, 3761195605, 47183, 16843680, 63417603, 3147498162, 2217060868, 2986354210, 878791062, 1169940527, 1268581376, 2600640619, 5564287, 1677730640, 19265, 2550399046, 1242564224, 1101032174, 2986639670, 2300842833, 3626696710, 1627465310, 321591300, 2701942020, 3545238132, 1426481992, 154855971, 777151944, 2780535554, 3762235409, 10485824, 3759115367, 2765422776, 2986623277, 2483057155, 2264445627, 2600599731, 324544520, 1381309208, 19815752, 1708412672, 150098794, 1230234802, 6725392, 3437243211, 1402933248, 2684406707, 299439896, 3905157, 3003406390, 2588221539, 1431715328, 3223705385, 423269270, 2231369952, 256518308, 3909138432, 4890371, 3501327425, 797580000, 2214963871, 3012969952, 455843934, 2667622400, 11735654, 1733761585, 4172546226, 71466894, 1293970080, 2550508191, 3012969728, 14685995, 2690116864, 3087007923, 281417943, 1593258380, 833435045, 3500474547, 282656815, 1633119688, 2830368992, 1061630464, 2684403872, 1866522687, 1200292024, 67108864, 0, 10486216, 3904831884, 387263, 1894350594, 2691396018, 136387246, 1695351025, 420517445, 2691324338, 2229681, 973752256, 88238406, 1699938558, 12595962, 2830285792, 1059590400, 2600487440, 46680848, 34406913, 3762235409, 4591846, 1403654307, 2550417924, 457814532, 2714509482, 79405057, 1168142145, 2744648864, 47075600, 251715743, 196768, 4300802, 3478196237, 60818376, 2902702988, 741648, 251715743, 262241, 268747082, 68895057, 68092128, 2667578112, 2952790272, 10513375, 2718957632, 2684471528, 3204549632, 99139440, 3917414880, 675825168, 33554176, 3098743443, 1203772633, 1610818314, 671173664, 618086439, 282272798, 1397056234, 6312554, 2521105664, 0, 0, 2976001, 2684571217, 17170656, 2667578624, 2684371360, 56183297, 46747905, 168075268, 1230045453, 77595847, 2902756352, 1553990501, 2986639768, 3232367026, 2151369217, 324121088, 3193369709, 3376049154, 775010711, 3853686341, 2348824175, 1627586733, 11700581, 2852211201, 324317696, 3193369709, 3376049154, 775010711, 3851157525, 1241580369, 1711380557, 2986393117, 1313702002, 2546777953, 18307521, 2400730734, 1404174526, 775166766, 1300235890, 958806757, 4238712835, 1554225157, 2684737098, 85676722, 12473177, 1640572929, 2158340613, 2996299195, 3761195274, 16818176, 3231842560, 1088432712, 1174471171, 12060160, 0, 256, 162, 16924833, 33800864, 80219396, 9175051, 2995037600, 54899332, 1706203141, 2852298757, 1268778568, 755303052, 527622, 17630464, 755106720, 37736096, 96575494, 1105211211, 2634350768, 150994944, 0, 0, 0, 162, 17056163, 2550571014, 3377071643, 1166802949, 218497037, 83993345, 12692376, 16795661, 151096320, 1553990725, 2348832353, 67520525, 134319104, 1163986072, 1166803006, 1241778560, 961152002, 4115727370, 127928302, 1241779909, 2902965216, 793315844, 10485982, 2734948433, 393376, 5546500, 5300265, 1212548098, 40960, 3305964800, 2701395138, 2365565090, 17089184, 73637896, 3550480080, 2718302284, 2500059178, 1212548610, 50372613, 1206419201, 2868963455, 11206849, 2802058756, 1166803036, 1241778560, 1470105934, 1241776842, 1359219200, 2684354632, 1241779949, 2684737760, 726194433, 50372608, 3376546560, 1158480640, 2500005125, 4326144, 1158480640, 3760867245, 67240704, 2348816802, 67130848, 793315844, 10485964, 2500059178, 1212548098, 50372868, 79858943, 1946157568, 224, 1059590400, 2684371297, 26758579, 71382278, 1593719404, 2544190977, 3871359746, 4747105, 33598720, 1241581652, 2987593319, 776830985, 3783304618, 28508632, 2543864321, 508736132, 631898547, 2504337, 634597565, 2158342788, 631898547, 18108198, 980981669, 16777290, 17416266, 17285450, 17547697, 16777332, 1744922740, 285282784, 1059590400, 2952790528, 81, 17302083, 33571040, 793317890, 14915329, 134262784, 14696331, 3791698608, 11670721, 4171621551, 2526498711, 16826755, 4931915, 742436864, 67109120, 0, 14696232, 285253632, 1078632209, 3483369920, 3761187300, 1560325376, 3148964255, 385892545, 2199404142, 1052932289, 2400730734, 1639056449, 787093773, 7472356, 992305920, 775166766, 1300238049, 1034557733, 3366304689, 2986877290, 4099090980, 19406946, 3034886843, 2980290304, 1241518665, 2745106506, 737443, 2667603456, 2558544608, 793383071, 81801034, 278397044, 67108963, 11499168, 32616973, 2437990656, 644256769, 2862317154, 2947570866, 78275242, 566642238, 3346049, 607068819, 634993299, 2521140224, 95589957, 3147498049, 2707292238, 3761195524, 2550293250, 1660961654, 39978215, 2137260131, 67139506, 72966080, 89471248, 5597857, 339543434, 1834449709, 980156753, 1631585549, 459932833, 539707603, 428474410, 915481620, 1277836069, 3500522417, 1855952972, 2668514207, 37821956, 1826629513, 547329280, 2684412594, 328018528, 85545800, 872513701, 2862592512, 1429885481, 773532231, 3222037968, 2780541408, 793320351, 11534438, 2677596579, 2667603456, 2564469267, 3563632733, 1074530330, 4151956272, 25208234, 2679281221, 3148965535, 2564400031, 4849675, 3534914597, 2862592512, 639775841, 1234585019, 2980288512, 1855914160, 50331648, 162, 16993610, 50578581, 44106499, 3220679426, 50331648, 162, 16932449, 27937610, 33769365, 59506700, 3761195536, 33584131, 237826, 46130769, 17694836, 50331832, 16777286, 2683525057, 2510378346, 2370876036, 631938995, 30952632, 1677847732, 2902567583, 3761187300, 1610657024, 3148874240, 160, 30781956, 1093506048, 1560700544, 2779382450, 2521140224, 363988033, 764674141, 1910060105, 404433326, 573216325, 3148875520, 256, 0, 0, 4849932, 3370680064, 2348811752, 2130783491, 10721284, 755395373, 118508036, 457593092, 84254723, 1302332746, 3760933437, 84148401, 2684571242, 17156832, 726285573, 67154250, 269244576, 64331781, 3527476492, 3463053573, 3403688778, 1023738880, 2974417176, 1246822669, 11337915, 2980054002, 1242565870, 2691066689, 90329010, 69356070, 1295554117, 3146514458, 1241783126, 2995004842, 78774548, 1230503978, 404252309, 2521152443, 2684733550, 67210240, 91133953, 756023776, 792078608, 1805649408, 2023779072, 1961328484, 2314240, 7053418, 3954312321, 923684312, 1700200858, 1569798764, 41171722, 1610697760, 618087018, 1660951089, 5798554, 2525346700, 4186175, 672202912, 4239890, 2365895504, 3019918151, 1463931696, 207571459, 289087853, 537321856, 2778961920, 1241520970, 2744647850, 9175045, 2995389920, 260859813, 218149024, 1801273752, 72987140, 1096438893, 1224750872, 152760322, 2971208342, 1169886613, 5312527, 14720768, 33611823, 1226506496, 1628438849, 553949400, 637798228, 2995004842, 2561868330, 459956225, 49566277, 3366297602, 3242301444, 1105215303, 687910912, 33554432, 14691147, 655360258, 2684535008, 793400578, 12059648, 0, 79, 33555493, 50643055, 33751137, 81909, 1627587776, 1409483008, 1862402048, 2868904192, 2983937, 3759877024, 2315321528, 67108864, 0, 5374225, 61080320, 1459618304, 1426063616, 3760862729, 33751040, 3087008512, 0, 5374476, 60818368, 2751660117, 65760, 708189441, 50331832, 50331648, 162, 17023648, 62941699, 38289667, 79997699, 2701329343, 4088463616, 6684944, 3252693835, 1392578560, 3087008000, 10682625, 2684469345, 26755063, 2952790784, 0, 7540738, 39977652, 3228700674, 61080320, 1090520383, 3998221057, 6356993, 1072016130, 33554432, 4260327, 3226140952, 3818586381, 45089024, 2987009, 764612779, 2466250817, 2707308609, 2550415584, 53089867, 2952789760, 3784769536, 28378624, 0, 0, 224, 254419019, 2936089859, 1527125764, 11067439, 1276317696, 2684405773, 33721344, 873268224, 1930429444, 2684634508, 2580996, 3032478578, 268699044, 84328853, 100729861, 1071927301, 57391, 1276313600, 2684403670, 218235233, 33800257, 33710002, 228094615, 604133610, 861077546, 842297346, 1157052813, 1715377733, 3146514494, 1090650465, 2987235442, 2535719193, 2438172237, 2147845633, 1715108096, 4050206770, 888189627, 2348817312, 39367181, 2557646628, 18510850, 877496924, 205954106, 1821787579, 760939184, 3784769792, 11600384, 162, 16958112, 46156290, 508316162, 164118786, 985967362, 2701263551, 3971023104, 4260099, 8172036, 1093939992, 23137885, 440719104, 829535329, 1077267508, 136958266, 1811949126, 2556690765, 2438107652, 3827944503, 540617295, 773902594, 2791507505, 1476536859, 1778393182, 2496180923, 2689024435, 158421833, 59587319, 980157204, 1785266452, 1230503984, 439419095, 1397957669, 73474410, 706765463, 1677796654, 1654077779, 1699282995, 124111013, 2689024065, 16859201, 2710192321, 2543785750, 3225526036, 1773277546, 707677568, 635404225, 338187720, 1074135342, 1565025730, 1013210323, 647140933, 3149598111, 512491565, 2987644008, 3093118988, 409659904, 891672361, 423120644, 3694512180, 654688580, 638200123, 341690959, 776832456, 2780543809, 2669529831, 2137260067, 1342197479, 2131165269, 65647, 1509990368, 1061566976, 2952790081, 2707374145, 2673098931, 282263762, 468602257, 2014588266, 1326345536, 1317953856, 991455576, 3146779, 982596197, 3366257408, 0, 4301100, 1481244939, 1306537769, 3697017005, 9175047, 2902608641, 196849729, 2703507530, 17517229, 55312651, 2348813280, 791272540, 11337915, 3148874752, 0, 65, 16974113, 2690089048, 2986616902, 2570323737, 2147798605, 1897605668, 25994506, 990601138, 195139776, 2857873920, 4200492621, 2147901698, 3928053092, 3359983048, 2777415846, 2987194442, 2418540826, 706350669, 2148081956, 539112545, 1224927777, 1432668229, 1170777484, 8696324, 675715380, 119111684, 3378304297, 542337628, 16977445, 1074077952, 3865184868, 655437405, 1214660096, 855904825, 692404229, 553707106, 174326040, 3226032410, 542984234, 3105427752, 30680586, 990606258, 1386925221, 2453341378, 2684677298, 81964197, 2852434560, 643913476, 1239957413, 1636564998, 3896485220, 2902503937, 3546401192, 2777415687, 2988586209, 1236440645, 2690178995, 2165313, 456010016, 88474036, 1375739840, 67591374, 625542030, 1564854437, 3003140894, 3862506020, 473623040, 639947570, 776831059, 1784414467, 237322245, 553707106, 182760001, 17105188, 2986639640, 3221684493, 1567025737, 1366822184, 3682081849, 271245340, 3628161280, 990176282, 1611450438, 2570323865, 2157991808, 1806834489, 420292896, 88146150, 1644848129, 433270310, 1699284194, 776627409, 48898389, 1690846528, 80419609, 711599105, 673188801, 606084312, 1096385765, 171641684, 2987512576, 1426376192, 4200492749, 2158647180, 6402579, 340344930, 1413562437, 1178796041, 576837984, 138844201, 549833100, 4567556, 3378304297, 542337628, 16977445, 1074028825, 1851675000, 107423265, 2854486312, 538761281, 1493492270, 1248121090, 3928053092, 3359981572, 3407550762, 1780744488, 537641252, 538761409, 1503680741, 3003441710, 2921925120, 695326504, 423184640, 706219346, 2416030789, 939532298, 1095676185, 177620403, 82060499, 841895296, 100729062, 1644848129, 415258058, 557843751, 1557013833, 59661637, 3366273281, 20988321, 2315275378, 278856352, 49586264, 3518170177, 925772064, 88146474, 629839429, 2751594561, 85328, 33555274, 51954989, 2969821191, 706104959, 50389399, 433, 3003400493, 340735826, 537133640, 963698326, 1161929004, 1822447593, 1100954469, 2453340257, 2987562282, 1850572810, 3073075738, 939573279, 1464718256, 95049650, 2521152267, 990621761, 2707317345, 1470062258, 71440106, 439449628, 444137514, 915481606, 16408174, 3447761567, 3012969793, 2702400833, 2688244114, 989877683, 70723850, 1462116906, 2493972, 555374026, 2763145633, 323633568, 994462623, 246497697, 406893320, 958007904, 307423747, 756703346, 2535915525, 1313698075, 704692252, 3511063756, 2986344458, 990596000, 1472782399, 1324023992, 3247902849, 2118705215, 1324023992, 3762245495, 12058802, 2217061023, 2986408542, 2013385569, 3374842114, 3928053092, 3359983048, 2780516767, 234903040, 335601675, 706105490, 57751, 331, 2669235103, 323788561, 1285492896, 1463923204, 675715380, 119111738, 1799674155, 1016405, 1850095616, 741775616, 3470570171, 2690015154, 157381158, 491847991, 1387790384, 67574144, 115409126, 1644881074, 3138281826, 223740205, 1470095367, 706104959, 50389399, 432, 33554432, 12686608, 2172552788, 2986630171, 674497392, 537548870, 2630336685, 45821538, 19771649, 2880504320, 70, 2556610792, 2130742272, 99122945, 755040480, 120198734, 2130903265, 2533359617, 1102152192, 1474301738, 542151168, 3784769536, 14683946, 542015232, 3784769536, 10052256, 30203919, 2355602791, 9175083, 3247771777, 2122736818, 73145128, 872480850, 653143840, 154430807, 2121170, 2300806, 2013412384, 1909695666, 3138236806, 2880561195, 1260892500, 44040933, 2684475826, 69355736, 559097605, 3366304699, 766575328, 793400578, 12116003, 1322779301, 3321936096, 726345649, 1392680962, 4188013021, 2986615370, 706439776, 16919077, 2325104059, 3140333826, 3761195605, 33601760, 120198738, 2282356961, 2533359617, 3760410328, 44419328, 188418992, 2684478221, 2978329092, 575336033, 1476596051, 2440560960, 540210282, 1771455931, 3152027466, 1434779832, 3759361752, 2242238976, 3087008256, 70, 2556610792, 2130742272, 99122945, 755040480, 120198734, 2130903265, 2533359617, 1102152960, 1570767232, 1343074694, 2690111154, 69355606, 1154688329, 2521152443, 3760147029, 2248194201, 1647205553, 1855459552, 254419022, 2130764183, 178, 71391782, 1294607397, 127991890, 633929824, 1666674139, 2830285755, 3760147029, 2248194272, 323934342, 2782789816, 3760933671, 2974941856, 46178305, 3652322338, 1227514122, 1295554117, 3149606321, 48246602, 1426194616, 3760410328, 44425472, 3087007809, 2707292233, 2995004842, 2679242790, 442514041, 697768480, 1423401985, 606084312, 1096351779, 199387882, 1251682597, 3366273439, 1599975936, 561108776, 305761636, 357767224, 4051173995, 774447383, 760433844, 2998644801, 2673279055, 3247939884, 973097025, 2704042419, 69671296, 80367255, 1251631143, 69751400, 716767273, 1386892755, 805459003, 2508617, 957829976, 2521150216, 577033557, 1180435272, 419915107, 1736293, 2924314682, 2017012374, 1161929017, 1631690555, 1571947575, 688543526, 573210662, 1251937095, 3008539340, 2998084148, 1632212549, 3247939897, 1027650180, 631938995, 2512087, 1677796384, 483934553, 81921606, 2013424198, 1305831974, 1699283854, 1705069600, 483934553, 4000738, 1793739419, 690342053, 12686753, 960323144, 3762245583, 12075425, 2205237663, 1598079383, 2689420864, 760782923, 2685329423, 706760319, 14784256, 45828, 575153708, 3630519081, 537215233, 3025274312, 2772541831, 1078042463, 1084250344, 3758565910, 1316946688, 3784769536, 21780494, 223871155, 71056106, 23479864, 42675201, 606090900, 3232936708, 1010493952, 638327097, 1224747546, 2120592973, 2244519168, 16777362, 989971041, 280062898, 2217060865, 2986366542, 2617309790, 1780749419, 554967812, 138844468, 119111779, 643774464, 707087172, 3651711675, 2835418455, 11534592, 4260099, 1085408321, 875763721, 1796831252, 1159726625, 1411788102, 1733765674, 1661015389, 559244290, 483590493, 178404384, 242759978, 2521152416, 1426083251, 298982729, 625541171, 67836640, 228661440, 1599629248, 513606882, 71173442, 1796491612, 878978258, 428483621, 1641226560, 442519793, 1382810036, 1161824963, 1695365813, 689965345, 606088948, 1327498542, 3836916498, 2466258988, 3607129348, 3322083939, 1040249972, 628208737, 1074315864, 2032022642, 1615948694, 1157627969, 2707314099, 69686176, 80627946, 623518721, 1277194449, 3300016545, 744988757, 3484615719, 1402997459, 1342788247, 2525344516, 659791876, 3614120233, 537164858, 822108242, 2865541697, 2703507616, 1439675140, 659791882, 3545237842, 2543224243, 69686176, 991106841, 43330149, 3500474433, 2703048857, 1591750540, 1733361848, 4301085, 3460407567, 1076259224, 1074424083, 1085408312, 1726893440, 1663459128, 2760535, 3434265568, 120198737, 1426194657, 2533359617, 2952790528, 147, 1577125428, 1577098912, 29378049, 3863317504, 144900353, 2365583918, 1560366081, 39911696, 1407198027, 2483136009, 14692236, 1733361804, 7225601, 2105073671, 706105790, 83943831, 269, 1501409796, 2165887745, 1565930593, 3258870298, 3891835579, 106843904, 1124814601, 190843660, 2097286485, 25952308, 2986639640, 3540082006, 878821950, 1780148216, 2998657031, 706105790, 83943831, 301, 1493279233, 38685186, 289753858, 161546754, 3220609374, 2348820371, 872464811, 9965662, 2986621030, 3998056540, 3577295224, 124449632, 22967397, 2924319531, 412501435, 2570366976, 6361177, 1289752460, 1738938112, 2348837280, 1711302066, 72489920, 1565006385, 7471850, 559113226, 1991332622, 1382096021, 1585912049, 2013491392, 1566075449, 2702113, 338179398, 1543916564, 1238586200, 49957105, 980157603, 1909129408, 1296456958, 3224777, 18105894, 1460315314, 3141622141, 1340081962, 374472200, 14784256, 122915, 1268013478, 151042048, 16809537, 276693095, 1184391680, 1486903538, 229738137, 1645108358, 223870989, 1459675151, 706760319, 14784256, 57359, 706760850, 14784256, 57359, 2355602991, 9175118, 2986615637, 340141655, 174073157, 1181602608, 18885710, 2153129505, 1074090266, 1771455931, 2348821472, 260859814, 1442876416, 564160094, 2986615637, 340141655, 174073623, 3294995219, 2205204495, 3932227157, 1171308475, 3760409492, 27682816, 3087008000, 4260099, 1085408321, 877598748, 959053941, 902575105, 1277168801, 471948754, 2688003, 335616078, 356851880, 23735072, 249629789, 80085687, 688805337, 1398276407, 1386218817, 16017204, 3367111293, 408662784, 561044992, 704906100, 639513634, 170133368, 392750917, 1170777523, 2360518, 3934401, 673211034, 1705363621, 4264061, 3250302976, 12687120, 2172518574, 2986959636, 206475816, 23603824, 3510638694, 3862531428, 35924228, 62137126, 412638131, 1318664462, 1300235292, 443090104, 1726364045, 1678186768, 30643781, 2992692832, 90461190, 3321952867, 3222975825, 3546696271, 543231273, 977616900, 1899706693, 1080414760, 19629667, 704663398, 3932333667, 173998356, 1023993344, 1009601024, 2383876420, 406232064, 671357979, 3226687766, 1164181770, 1952827432, 16880466, 1241672287, 1953173880, 205837089, 3543139088, 1215355169, 2781390267, 778244272, 3758565910, 1384644864, 3784769536, 28377281, 2543943744, 21709216, 1661027922, 2668101792, 8431794, 388261286, 1308624130, 1180311968, 148996261, 2862592516, 3796911389, 1362713384, 70826093, 1076587100, 405361410, 2468873072, 3927660857, 2051286801, 1950758000, 304657175, 540360800, 3730842884, 1711293959, 3258720369, 1482951245, 537207042, 707103236, 3831871315, 1278476545, 877846804, 671946793, 1075315581, 221926187, 3227661397, 3543144549, 1247165953, 879918106, 3909411077, 2471643650, 1416452098, 3661172807, 3239322380, 1611012153, 2380575419, 2845808995, 229769643, 3001036641, 3617521824, 8407598, 1578146147, 3759090208, 1384644833, 2533359616, 3759090208, 1403519201, 2533359616, 3004638309, 2735802975, 641364344, 471536407, 419663116, 2186389028, 21909069, 625785089, 2852324987, 18096908, 1707648480, 792545183, 11671332, 1705186182, 1650811680, 1531864384, 1906511956, 885588019, 1238574259, 387986752, 1625186341, 586829069, 980189216, 2862592768, 856233809, 269978906, 3909199437, 949372338, 70012562, 671185363, 585767694, 1301379091, 721113944, 2521152416, 1347411975, 706106280, 83943831, 269, 1342286672, 2515728, 4764164, 743346728, 205837089, 1476420617, 471541812, 655828050, 2506106641, 3311550532, 3643277852, 3540047190, 2387554858, 2031519076, 36725508, 2972244794, 1811949594, 877477897, 3775015461, 2325104059, 2573447168, 4301140, 1493581887, 1426734859, 3507568391, 11337915, 3759614880, 742326448, 3762246625, 12058817, 2510361433, 1581255484, 34291458, 188613131, 1023586560, 4301123, 1706230820, 774268330, 423100461, 625353894, 123757627, 781658137, 895353140, 6315352, 1452516530, 3247808879, 340249025, 2510363998, 742449167, 2355603059, 12058880, 4260099, 1085408294, 1328154145, 406324330, 1253668903, 306601201, 671551383, 707668344, 19551688, 1677787929, 989280876, 53365080, 2300281, 720451946, 2688004, 774268330, 423100606, 68229945, 719329287, 179590958, 1238918600, 439449791, 81855837, 178329642, 68954905, 81931341, 1222057514, 4612902, 1295515690, 68703065, 3022500356, 580396554, 2903198386, 1386925234, 2348812722, 573858121, 2521150208, 2250152744, 16795140, 3238074234, 3107520570, 2015555159, 777151860, 90475305, 1358990173, 1243030984, 2768241152, 65, 16974163, 1276122080, 792078608, 10485889, 1035076641, 1158958886, 980942880, 685204913, 2014784070, 980942889, 68303245, 1740640625, 455944393, 1613064074, 1198129940, 1230779492, 774050218, 423101012, 1786325280, 1632135914, 1203767797, 1378508839, 328022570, 2098738, 965567490, 1767724360, 1699282986, 580084929, 1299860823, 452854615, 1325421280, 1395469024, 728638803, 557843745, 49178438, 1142250696, 1707617024, 86048979, 566906656, 334781962, 1593906261, 80366265, 2013340881, 1142450445, 42417480, 1728125988, 81550809, 980156678, 1600791554, 1008739070, 1461787681, 1383168006, 1453743443, 1678406741, 79767584, 241303584, 146876448, 444148468, 1379998753, 146905253, 179112778, 2991762124, 2995519497, 2988586081, 1234585019, 178981248, 1253184052, 1376669056, 573858129, 2013466656, 263985713, 77668456, 1632239648, 634520218, 1714310464, 86377226, 585786370, 438705489, 1162412076, 68234041, 719329060, 750360133, 3146514439, 3762246950, 4919315, 2957050118, 1076691535, 212603872, 523643308, 1335886538, 2689550304, 1062544896, 195826608, 11667489, 421944833, 339544545, 8195489, 415247566, 1327518553, 1171466241, 616586568, 1691562538, 77820717, 1397502979, 1401576768, 1638813139, 805462208, 647257990, 2015822915, 550593152, 1221601282, 616574158, 1328642060, 1184643692, 36333354, 1543588896, 197207097, 451549223, 137509261, 1677879507, 12128613, 3836918540, 2869538816, 4301100, 1471349800, 1607820289, 453646890, 604118225, 1142504010, 2521121185, 1866511108, 840623941, 1074055250, 2442544384, 12687265, 606879968, 541900191, 2795546280, 12058689, 2703442144, 525024030, 11534401, 2706002867, 158159409, 1400908045, 1343695637, 1382670514, 3247939876, 742408609, 742919502, 25952261, 223215840, 541900191, 2796660411, 12058689, 2708760480, 1305326340, 589314602, 1432864200, 2779972737, 415261236, 1638813056, 1654279456, 101601038, 625330341, 3247939859, 2017477023, 373334093, 3551724599, 715802154, 1327498438, 1176515219, 2830278816, 1846365441, 3003398230, 3866630245, 3544383514, 1182651186, 1040205592, 187400266, 2452257120, 627419724, 157141863, 1804024, 2990645253, 1390413610, 374737416, 14784256, 68970, 17648897, 3003398230, 3866630217, 1363607565, 3322039927, 979189765, 876945506, 2286092292, 1735062330, 1812134428, 3931907857, 3405796465, 1462240769, 2540257297, 3311476835, 1462245476, 3724611880, 3616965888, 879104, 3004378380, 2371024696, 4045936713, 1363411226, 1512153157, 1482691946, 1814722818, 1961931264, 16777281, 16990386, 283802259, 604045382, 80085748, 1770866624, 895241240, 1691245830, 1631601990, 634597385, 1402142775, 618087018, 1661017121, 1154688467, 805452853, 85484579, 80237418, 1565065260, 550971770, 1178468663, 462619206, 835197472, 1599286016, 232339096, 672678233, 564798490, 1414464540, 1391467859, 564135201, 3278116, 787750559, 2082935597, 722075702, 255094103, 1154360321, 857483605, 980156823, 693305902, 1297612841, 215307146, 1545930426, 1295664345, 671553808, 2305687, 1704990999, 1394081824, 1154688467, 2955355672, 2550232498, 71042151, 697192192, 89864439, 455737395, 886524563, 2013343776, 1251555407, 86049326, 1297614049, 157952544, 2056937226, 1163928210, 1431389513, 20214396, 451478689, 203979210, 1159796505, 716520044, 43189569, 51976663, 551036967, 282591272, 1423466497, 26683731, 36588888, 79246686, 24184225, 221143253, 1430674433, 817897303, 1663042865, 965567525, 73474874, 1223763977, 1402142752, 1663449832, 453645957, 480710873, 2104985, 1720845478, 57041696, 1565071249, 179116593, 51993945, 564813844, 761267937, 19817254, 1292502244, 1641233177, 719348518, 1732927500, 1758929921, 22243046, 1292501034, 403257937, 2015050510, 506069041, 752287949, 684262628, 1910060040, 1398217098, 2302803, 1305686017, 540418707, 1531600201, 2098753, 609420391, 689195328, 68295449, 719324450, 557074638, 1277495201, 24005841, 17635889, 711731206, 1892574981, 1353127141, 2015455801, 977691968, 423307897, 1793720596, 1292986666, 1610697913, 334781952, 298072206, 396362788, 659763522, 1016208153, 719676594, 400923815, 3138217729, 3762243880, 12115983, 2355603142, 12058630, 523452429, 1258395935, 2969568000, 0, 4301121, 3225526563, 1256201003, 2692652800, 2957091132, 1412235936, 228660013, 2694786463, 34407168, 2348817089, 2543840799, 1261240991, 218300556, 762016, 3358392992, 218300737, 49171725, 35635607, 2702401092, 2835521539, 3358433282, 2348811565, 2667750296, 21627163, 3305963776, 3247939859, 1577107872, 50380192, 30236929, 2689196079, 1477837056, 3097493968, 2694860134, 33671648, 794301953, 12099744, 3997278240, 3937535036, 455760913, 684744706, 606700549, 2862658048, 590046806, 2535139936, 239749669, 3328528888, 2998642946, 2955288728, 4166176, 14958864, 1934102046, 546045957, 236921011, 70854869, 1394607315, 1400909649, 1140926342, 1700238917, 3003398440, 3578994747, 320280833, 442427983, 829950538, 3120083526, 2669696577, 2707313312, 2689535391, 551567177, 939535775, 44801971, 71047978, 1545094613, 1610743855, 768815447, 3769802755, 3417510510, 557868798, 2521153943, 2705338880, 1161928479, 1491083083, 2032074912, 5223172, 1108620826, 2114160229, 1469466009, 530579913, 3761199126, 16824498, 71047978, 1545098705, 1191183681, 7013482, 1825919718, 1700304453, 3147374512, 1101103168, 2986621979, 710678614, 643934816, 37494795, 2165136154, 3025983787, 97035707, 2568990720, 16777394, 75569780, 1879442106, 623978497, 1277173401, 1720844329, 2214963713, 2996192699, 1855914416, 16777537, 16842877, 1101077857, 1100952413, 3003393897, 271261700, 3409635926, 4098973972, 594711319, 419494494, 1707648449, 2543915826, 4669855, 520110657, 2687696957, 104035961, 1184379893, 2986616681, 271261795, 2385457528, 389745248, 441722116, 1629066317, 1170777531, 238253838, 523439436, 31459114, 374815588, 14784256, 110657, 2705801440, 260859815, 16824385, 17170579, 102708088, 2689365426, 69691664, 723541464, 721421416, 1380605953, 683696948, 3568483259, 223084813, 1258348575, 1488680704, 3758565910, 1463510016, 3784769536, 28352588, 3221626675, 3231730666, 2986619163, 419440900, 471542364, 174904658, 3865401348, 2701926431, 1212242177, 711002701, 949372347, 3146514461, 2986616681, 271261733, 1478578983, 288850, 1247805736, 3227727060, 2998647565, 1275125791, 1488680448, 3091308834, 1088428843, 2686099200, 2952790272, 3027713, 1184379712, 3761195605, 16824320, 16777281, 16859201, 2707308618, 2667987122, 2217061023, 3003131470, 2617399841, 2688866097, 1459825946, 1610942045, 1092362758, 3545238866, 2852137316, 3493489665, 3650503936, 33554432, 4301108, 8470943, 1191214145, 276103287, 2987596325, 709770756, 2701144327, 3240637981, 1213352448, 1359414648, 3513103465, 2365676330, 4268076621, 2147811637, 106888762, 1811954181, 1114233184, 324203034, 543285032, 3214296507, 3147384587, 973671242, 161615873, 3265265989, 2348817825, 16958017, 17092426, 17910603, 17189633, 223215988, 755040908, 4292993055, 1247114240, 3101704025, 704690176, 16777290, 2668906541, 27233280, 86835616, 3247771765, 1953743041, 2500885115, 2042675607, 276265152, 2835460740, 631898547, 5645050, 1223764256, 88697625, 2521104896, 65, 2706636976, 1251935845, 3003394074, 167781963, 1211373906, 2154090820, 324239368, 3776981597, 1176764674, 711404125, 3551572640, 2692767937, 2510312739, 2404048923, 731921056, 12075424, 1358971314, 70331193, 720897203, 1400925656, 955328549, 1625194681, 1100956750, 2987481882, 3025983912, 2777415703, 1100957004, 2987482454, 883246476, 635409, 1397020593, 1169364773, 3366302468, 1093601832, 33583766, 2243101739, 989357073, 725166816, 80085254, 1440291360, 289479713, 1566073857, 456413185, 1881824582, 2763145633, 872449217, 2500883828, 1929411649, 2672118441, 2682273627, 3925915713, 2672053417, 2682261388, 1738999296, 3091308358, 1084858290, 69289048, 83978282, 189541177, 980157202, 439429861, 3366304699, 1091597431, 205129996, 1242106674, 161615873, 3265265989, 2348817825, 16958017, 17092426, 17910604, 17189889, 223215989, 755040908, 4292993055, 1247114496, 3101691788, 1739006208, 3099695009, 327177537, 2672120257, 2500883828, 1934272927, 3762248682, 12108183, 2702409728, 2814481823, 1145455872, 2671878210, 10142103, 2672182623, 2986616858, 167972430, 402802237, 1483065370, 829948252, 542545092, 2998643103, 2960039696, 2845880850, 1415782405, 553825362, 539715158, 2535139936, 626875176, 3510266880, 3222788165, 3426169208, 152720640, 1029910086, 544002408, 3343205756, 353964057, 2315266396, 757125925, 3395299076, 925442080, 3492287083, 419453526, 3932634627, 425628464, 409422636, 627168033, 1074444074, 1178236929, 3546597604, 3032157239, 162586687, 1495924920, 12687265, 1413021860, 3762248510, 11665408, 83, 306590152, 8919657, 2013536914, 1423145127, 0, 5313, 2024146884, 1655316934, 1141119768, 1392068947, 1688602501, 406590688, 0, 4358, 1294870816, 295115544, 915756375, 1621557248, 0, 136, 914903590, 1699283078, 1329075424, 0, 0, 10244850, 1610887718, 558503141, 2022144004, 448090579, 1716145952, 88355878, 306593112, 1740706953, 979110564, 952079589, 3762248518, 11583895, 2704028736, 3004373537, 2690500660, 189958400, 1527726848, 1513264164, 35640552, 2986344641, 2543932473, 1088438107, 1040232960, 2, 2147540994, 2233204738, 3758096384, 0, 8169260, 37376, 36439088, 688145, 7956, 3892314112, 2617246760, 37120, 71565312, 504684544, 335544320, 0, 156956, 0, 301995264, 110421472, 1062946304, 2952790209, 2543932473, 1088438107, 1040232960, 2, 2147540994, 2233247488, 0, 1258327040, 70821632, 0, 69730304, 2434065692, 0, 301995264, 110421472, 1062946304, 2952790209, 2543932473, 1088438107, 1040232960, 0, 0, 68997952, 19177298, 4027899904, 0, 0, 19, 1679333906, 610576128, 0, 0, 1304, 706077992, 2852162579, 1143514629, 1159462912, 10, 1682492473, 1271402, 956336210, 1427799700, 3856678747, 1174450176, 983048, 4718594, 14768896, 134262784, 983048, 13209344, 4294770913, 1526728704, 2952790081, 2704299443, 71047978, 1543575901, 1726630225, 2014845497, 4172431777, 1382789907, 3563632676, 57161221, 1246702172, 16954450, 537221161, 1081189988, 3093301034, 879755523, 442328609, 1170777409, 2703442144, 260859815, 1023457280, 4301114, 4305668, 1397960225, 1074675792, 4012448096, 120172109, 537135940, 3628074582, 2853888005, 1114261042, 1848494628, 654594617, 2372147551, 3225850945, 3543139088, 1107820801, 1897599126, 1161929044, 2084675665, 2024932395, 1155022857, 991515385, 1610681926, 846081482, 1610711205, 2862592516, 3090586682, 1812015716, 3460759564, 324218401, 1224820318, 774563272, 2780541249, 2704036320, 592155664, 2807300320, 797730634, 12108183, 2709531456, 2986617668, 3628074845, 1178796038, 4114171947, 97035707, 2845827119, 2355579392, 3087007809, 2707311840, 791274589, 11337915, 2957091168, 1085473841, 684720166, 1720975790, 832573153, 539647302, 564512933, 14689099, 2484119414, 14684044, 1739037184, 3087008000, 4260099, 1907557441, 875763720, 988310054, 1543586860, 403788672, 558777811, 807863425, 895302456, 2753546, 454623267, 1654285738, 454661701, 1090585152, 2689056928, 1222123780, 2554980415, 2812972032, 115883943, 3823120268, 1728053432, 1100481600, 2987448320, 673872170, 3776196386, 2455033952, 409261927, 6467150, 1850572913, 3508944534, 1169924169, 2092045197, 210260565, 454558881, 551043253, 2183786, 3480113, 1402470440, 89675080, 964559124, 1252418304, 634857753, 982736898, 508849490, 712611397, 222888379, 2952790176, 1206206872, 73511428, 1115523684, 20769306, 3998062614, 1170780859, 3152510820, 2306560, 1151040155, 1967234846, 1151040065, 2669266497, 2668905627, 1974600769, 764674162, 59177138, 3148939329, 2707832897, 2550418144, 260859816, 620804161, 2673504160, 1221440271, 1634216500, 3579138966, 1158498305, 2689122483, 71054807, 1574121486, 1293363416, 721421934, 1328172814, 1741015205, 1100962668, 2689129997, 1208005380, 1010161501, 3543140649, 388552747, 421455, 709824103, 3318261171, 258041898, 886396243, 2521121183, 1497407559, 1223196417, 2348811752, 2130718023, 414602, 1907493225, 1781596973, 1783955494, 893803808, 107020590, 1663454474, 2521152266, 1393117196, 1393134592, 84628233, 173214145, 210371248, 3004240185, 278283520, 16777376, 1179632021, 2702399838, 1208811777, 2348811533, 16818177, 2156470532, 2550170802, 282591272, 1564877216, 148963433, 77988628, 1170801433, 693174534, 826289361, 1191183873, 17447470, 1300235594, 1329011360, 2056914148, 1719683280, 672275257, 720896916, 1594492085, 1373131380, 1795174524, 1663459128, 18106835, 805395488, 1586809010, 3149604410, 273157690, 2014001678, 3760147029, 2013277752, 269170702, 204999136, 120198749, 889585889, 2533359617, 2963276248, 190122393, 978034441, 238582028, 940171279, 2355603507, 11583895, 2704882240, 3762250704, 12058817, 2534439288, 1074484489, 3759360916, 2041086208, 3759115367, 2827944120, 16777376, 1186991376, 2041253888, 16777281, 2553938417, 1101087168, 1101086323, 3004638283, 3226030674, 4261482077, 440088576, 755761992, 103245389, 170141450, 2200065133, 1074759994, 3928173092, 627422313, 2367047140, 2780927393, 1499359744, 1749131064, 6533636, 672762371, 219810400, 17573431, 1464158464, 3361642592, 16970834, 1092390500, 3093302554, 3909102176, 3724845428, 543065939, 537379112, 1516392005, 3551572667, 3152023338, 542979328, 3784769536, 890884, 3760147029, 2030046793, 2030844430, 190124302, 981011782, 28001985, 2543923252, 1797653520, 1102255906, 1355940628, 1593704509, 239076553, 963328282, 1193281766, 15350380, 2903680, 1251632549, 3367626623, 1677730562, 7808516, 276017943, 606035836, 3019933547, 4279664656, 4202685776, 72073249, 3609415271, 371755, 960130050, 4200807940, 3831954944, 3424244502, 1172612545, 2543925588, 1730544656, 1102255908, 1270902232, 944702659, 52047214, 566906673, 2013668185, 671164724, 7476805, 3836068245, 2709525298, 2049311760, 1078370106, 1471289124, 1907252961, 351961057, 353450256, 377873573, 3148985111, 606219810, 89129552, 1158071112, 655424127, 3847226481, 2925454800, 3116471713, 1717471942, 1101093496, 637800512, 3883885568, 592445527, 2987861105, 2925453588, 4202684693, 288952342, 2246354363, 2981238564, 526351397, 573448705, 395131639, 377873573, 3148948996, 272741143, 608944214, 4096976458, 1313701892, 3461290541, 1847708239, 537216582, 879759912, 19573341, 1952333838, 1080350784, 2996250049, 2510365754, 744469267, 560773216, 324011553, 174260308, 3542753362, 3758670396, 543065939, 633906497, 2705356609, 2688185166, 2671424004, 928052324, 205834567, 3227832363, 8652202, 2679308323, 1317625858, 564795685, 1886263989, 711530890, 3368358, 1310234181, 3247939883, 2151723524, 928052324, 186265952, 19406898, 4100614400, 588760873, 3543138599, 223422840, 139622502, 4196609618, 1702627643, 240069170, 3865401344, 3928921896, 20799019, 97035707, 1101103176, 3904872588, 958623, 3370680065, 2348811752, 2130749696, 2952790029, 1157710241, 492286479, 1664722541, 3543142994, 1786249512, 4200490448, 2780541249, 2704556211, 321275392, 164240174, 1300258248, 873157257, 3769893120, 1893736267, 2033254560, 4972575, 1266233344, 2684415410, 282263761, 452068078, 1301807351, 961234881, 337844832, 981154574, 506069364, 1560936678, 1593837052, 465946789, 3148983041, 14688094, 3144745144, 16777281, 16924896, 726345631, 1145219906, 16777281, 16990386, 71382067, 402748148, 1379996725, 1887202058, 604469254, 15093248, 1365981450, 1545352832, 1566137802, 1833501446, 760838153, 716464213, 513616640, 148963610, 1664371031, 82072160, 67325710, 624952609, 3212486, 51262048, 112666825, 1610618660, 1841983955, 805440697, 82072160, 2214936848, 1900720753, 1491379596, 504360, 3638863283, 51258688, 86049524, 1379996791, 442520234, 1275679383, 77666496, 1640778775, 684276332, 350559232, 0, 4, 478548580, 1074025610, 316956820, 308563082, 304091780, 1284576197, 2628059392, 12686753, 1582917318, 1101098839, 3004225536, 677838340, 2705170700, 973425744, 33675670, 1161928980, 1403035856, 2995004842, 2696085908, 721422350, 3836920215, 2709618752, 3248201773, 20997791, 2554978351, 1160486656, 3098739778, 339086917, 3500474880, 45, 37965570, 24832, 21277442, 1409418754, 2365583616, 12686753, 327254080, 1628455232, 3761201015, 268455680, 16802208, 4251695, 1598791680, 3087008000, 2965826, 2684472288, 643801601, 4325560, 3759890383, 205652152, 50331648, 224, 187307615, 3993108705, 2533359617, 1845560129, 57367218, 2217060865, 3003295331, 174064128, 537764111, 1716377653, 1486243250, 69757689, 406005202, 1612203468, 925988867, 4028672513, 2986518115, 174070070, 4100558230, 1169886530, 11534848, 224, 187307615, 3993043169, 2533359617, 2986625833, 1359156297, 1546937381, 3629313578, 2032738319, 2166531683, 6666067, 1278521878, 1170777531, 3152031562, 1426194616, 868608, 1091595338, 3759115367, 2829058232, 3247771758, 1869430962, 72165591, 12594382, 1327525518, 557867230, 12128538, 1596327524, 647257092, 573858121, 373679269, 3141603437, 1084244033, 3758565910, 1612251904, 3784769536, 17645569, 2873098305, 275595488, 120198753, 2785804513, 2533359617, 2987447041, 1429801549, 1077048393, 1074078847, 1463356675, 2317020749, 2149062966, 3928538197, 3391176803, 1112810272, 3613380173, 2149062681, 1785184293, 1431503444, 4101247515, 710788677, 3744137222, 1627583570, 1170777382, 412639667, 5000857, 956981249, 58788899, 626137898, 1573275103, 721445546, 690898885, 3366302208, 3104069673, 1375742470, 3411209299, 959078405, 1227535456, 1426455322, 974713131, 88914177, 2852324987, 18294358, 2924314628, 288956421, 553710708, 239773285, 3394187640, 655828081, 1074313827, 1179008512, 3511065601, 442709065, 1465909547, 1479016704, 4101330944, 990159223, 2315282504, 3492282724, 2484233256, 175442519, 777150740, 1415796054, 2552803862, 1162393856, 1275782754, 105712128, 1678054509, 1459636337, 3609771101, 3528018176, 3996026906, 949372347, 774639792, 12687265, 2151678342, 1101016065, 2169675528, 10485888, 2998010924, 1318201352, 451555153, 1203787302, 559448096, 2862592512, 855902506, 3026212126, 2634343780, 2435522633, 1080145008, 18882672, 3724712548, 3004637237, 1080090208, 625528890, 1811961122, 706404405, 1081200964, 40546600, 3626573829, 1479098372, 286988544, 695900676, 3831867980, 621084982, 1414091620, 3610918401, 778213177, 1399146756, 2702150954, 1610946345, 342710016, 671459097, 268461060, 68997952, 69892444, 3542173128, 2780535084, 2845827087, 706765222, 14784256, 57375, 1247113728, 2967482209, 3617521824, 8410777, 745447184, 3759090208, 1612251361, 2533359616, 3759090208, 1638269153, 2533359616, 3004637448, 761430026, 744278074, 2589992714, 2536034631, 3222005281, 173483336, 3103894019, 108724508, 1275879700, 3228761603, 305801728, 1325994298, 3096855986, 388125588, 1781091512, 1679125280, 321139846, 320865894, 50736473, 2013866676, 1616191133, 375743511, 709254680, 2110068, 1228932489, 990452179, 79254296, 980156501, 1399479298, 588075857, 626459836, 123734691, 201404627, 55780695, 1663460681, 12146325, 388352165, 3152031549, 1201602736, 1101075456, 1269957676, 1318201368, 467140793, 327829025, 341069147, 719669426, 373646337, 207814700, 404245717, 2689291, 980167416, 78719195, 980156456, 439635269, 3366304665, 752881450, 543270400, 3784769536, 11580164, 743346728, 24761122, 3927641677, 2440564298, 2791688783, 633906432, 10038337, 275595443, 70012562, 671243730, 1423522131, 1690108089, 177347520, 113659545, 894894362, 1664371031, 59128622, 1300568123, 64252088, 1176518488, 1677809706, 760423426, 534014712, 707462308, 951601158, 786839845, 1220083788, 207689258, 460213632, 84297363, 2830237952, 4260190, 1074148446, 1088425770, 542201088, 1325400064, 2684403888, 67108864, 0, 2949648, 1241645637, 218366253, 57355536, 31469366, 687959008, 522952784, 10486853, 1275200045, 268578155, 61866240, 4260099, 4305413, 3239624805, 3547857221, 106916388, 35924228, 53750020, 387673677, 1092363268, 3326872180, 1428593740, 100841257, 106812523, 2240072, 3785139680, 90341032, 3861587712, 2957091152, 3235921762, 1660989696, 33554432, 4260099, 7057925, 3239624711, 2165237349, 2858158429, 1180680286, 2487756073, 1463434753, 3511112250, 1717913856, 4261462109, 1224839507, 2150254156, 3644484608, 806881372, 3359637838, 2468879386, 822403332, 1949094215, 6988348, 3223804007, 3222264088, 4045930828, 537641252, 543069384, 668992866, 2124998698, 637579488, 1063412482, 2969567488, 14696290, 4093709628, 402471, 3322291238, 1208689678, 2348811532, 604954655, 1266229504, 2684405005, 1057005631, 3375243536, 186715824, 203493040, 67108864, 0, 10501318, 222036145, 2987561856, 548209074, 51258688, 86048817, 80085574, 1661889856, 264852119, 77681750, 402748302, 1295282183, 452405536, 93216403, 81931636, 1582179527, 1161830033, 1678856464, 2515289, 59663777, 1277167819, 1557276711, 158346189, 1378517157, 1241648085, 2988612394, 3928229752, 100871430, 1915430468, 297345202, 1170890780, 992806497, 36971013, 3366298115, 73183872, 1269433522, 2492021, 1153968156, 992806497, 34240948, 1162201253, 2688548018, 2173228, 671163584, 1445339456, 1214514395, 990780970, 55780695, 2107028, 3702693950, 3669098641, 2043883522, 1008752166, 557860964, 80117925, 2856235670, 1169928192, 33565440, 711328016, 1152057771, 33554944, 65, 19351456, 38050598, 1090594759, 2684535963, 647702272, 33554432, 4301114, 5704235, 184565002, 705395090, 654374290, 637595969, 275204328, 2137295872, 99123047, 3761190441, 40960, 3685942339, 587868166, 36581817, 689964579, 270553901, 719333993, 2521150226, 1946186765, 40569386, 1611137282, 175748165, 1170777409, 2702393568, 1063449600, 1241516800, 2027956066, 4221567232, 2717909073, 3003396139, 3444713984, 639513634, 178565825, 2543789348, 4972591, 1660657666, 2718040128, 2986639640, 3224161871, 542019169, 1074136873, 2924290052, 35136280, 24187219, 1224747303, 1482954555, 174063936, 3930932837, 2688230856, 2780537346, 29534465, 2688532525, 1040298418, 2217061023, 3003144493, 3650504115, 70334752, 79776800, 1893635653, 12686753, 1500130404, 1251937102, 3761187292, 1543548160, 3146514448, 2986619193, 537187155, 2152901324, 2998619039, 196133271, 2706711674, 1091594056, 3900647052, 387199, 664928256, 1404240944, 734876202, 2511112, 1789798693, 3366302212, 825827362, 2603284480, 541154870, 2443752123, 1285491632, 1101091648, 3004375404, 3093300738, 175748165, 1075662138, 1761615941, 3382068480, 33554432, 10682626, 2684534881, 43565121, 48645291, 19726594, 2365582336, 4301114, 1782685525, 1223196451, 2348816705, 2669889768, 2140113920, 255958927, 1223196501, 2348811752, 2141052975, 1709375488, 3091308857, 1773339777, 406997464, 1740637793, 6882532, 1431778517, 1611541505, 596270400, 89215632, 3619621, 1219663429, 1101094464, 1100975936, 3818364685, 11600384, 65, 16974167, 2986623285, 3546401064, 100683042, 4267910726, 776814605, 539873605, 1224748133, 2714543425, 269831181, 39184447, 2833943552, 390139923, 1275920931, 3896486123, 2348812557, 42985535, 2834148608, 2986495587, 555491657, 3630434089, 340351104, 2772504597, 1239957416, 3951820817, 1091572553, 3896486125, 2348812008, 1068036013, 11665450, 68954905, 2521152434, 72902374, 107031092, 1375734050, 2116056, 1689392705, 2628107082, 33704672, 660988674, 16822337, 39152051, 72886592, 402747441, 92668686, 845154785, 59131425, 339544737, 456413191, 1196908480, 89598153, 2521121026, 595178244, 1364365312, 1225188866, 643664388, 2841462367, 3221627184, 3224562188, 2182619928, 37168670, 704962832, 639262801, 687968595, 2147827970, 1315120584, 2772501135, 1102186872, 1726369162, 15821559, 2013348902, 483863102, 57565639, 1162201253, 109940845, 3883885568, 588841061, 2986378828, 337977441, 3546978912, 406112595, 2149774435, 174063874, 1315119119, 2166502482, 97035707, 2957050114, 1078005777, 1085408331, 1378964352, 403198711, 959732737, 619780368, 38691616, 115736817, 420479878, 1177166872, 1437228488, 438328980, 3367110170, 2466272690, 2164257, 424826686, 81931341, 751314946, 1563718240, 165748784, 1398366665, 671157798, 1770872856, 451498606, 550586305, 474024753, 1385169006, 2056918807, 671886137, 980156489, 86075063, 690888914, 712611461, 3152035657, 671134208, 2254438689, 1399150340, 2785037572, 1834153784, 4045933337, 167921253, 1463341371, 3932160548, 688132667, 420889884, 2803311729, 2735798074, 1818231072, 989866598, 4100518184, 309857866, 3074102350, 1246699799, 2253204061, 1461101924, 39114819, 18648360, 3610930178, 1946276425, 1228462376, 105847850, 3776206179, 975555168, 18892568, 307382863, 633906619, 1113916288, 2058491684, 1318649896, 428227173, 1342257190, 827942355, 806955310, 1398277348, 2056918801, 1142169454, 1398294464, 1297820384, 189950221, 27936416, 89270311, 283797290, 1544644880, 40531744, 1708271653, 1369469587, 653552384, 423307897, 1793744050, 387974187, 420085859, 2304874, 1608070611, 806113624, 15800592, 2521152480, 1061758976, 3098679076, 1431778517, 1610687046, 2013423657, 217735488, 89270273, 1300642414, 1300253632, 787097908, 1208041529, 1445339457, 479669050, 1583351105, 1031033390, 1637899082, 1663389698, 1393367601, 6301016, 1727297537, 540632530, 673649222, 2040943617, 596526624, 1565858752, 120265588, 1543589390, 1293968018, 690387122, 387974187, 420086630, 1306015064, 2294802, 991494378, 835936257, 723270385, 82080170, 1275221265, 685203457, 539843929, 1794320672, 88146836, 1579745321, 1170974898, 3138217472, 3760147029, 3875581952, 12687265, 960121312, 526648067, 12075425, 725660420, 589562139, 1394534938, 102640278, 1157628928, 0, 65, 27066451, 3004225536, 676678236, 22814733, 555008099, 924478504, 456855049, 4179233376, 406115624, 2987803976, 3221856525, 1780149098, 539805736, 20171334, 879757945, 1476714757, 1713455189, 1247739913, 588261419, 3039369498, 2034746824, 2782932835, 3254846368, 63692847, 908657408, 2684375475, 72886592, 1383168009, 451956056, 3769787905, 63939329, 14692169, 167772320, 8443693, 68198402, 4172419288, 2643274, 1543634976, 1238918181, 404252390, 1300907968, 579949290, 605764366, 165749952, 161564454, 1096286989, 447354437, 3367156667, 2348828082, 282591272, 1430936577, 1545604385, 348152631, 443295771, 990775801, 436887576, 886384641, 616572376, 1691575319, 1385301153, 1416104777, 721968583, 689971754, 452032690, 373672114, 3149613825, 165687137, 3825401953, 67331250, 282263768, 1720924941, 689969467, 712600298, 1543576345, 451825024, 115736687, 220580005, 3142320393, 2684502451, 70990606, 166402346, 1613061467, 684800620, 43206592, 442520297, 979787712, 233022642, 3003406377, 1079144824, 152760397, 1491120640, 4301114, 1779252225, 174459729, 3003392536, 642951756, 623333963, 3318261057, 275204576, 526509156, 12115999, 1642358528, 3091308835, 1085477546, 1571182336, 962594076, 719978798, 558437957, 1219663429, 16777281, 2706528416, 1070969604, 893700136, 302809371, 1394956032, 539399388, 2990645638, 5718432, 611704855, 1660167974, 10616833, 1430323492, 3518170160, 734876202, 2498100, 571122866, 2986615320, 642685955, 1397131329, 1234585019, 222101931, 1027711005, 1303578658, 1700942880, 1183367346, 3003654444, 1516925265, 271130629, 2210968129, 2706338881, 2686735026, 69343270, 1183334729, 2521152269, 1023455297, 2686274995, 136471906, 1411401352, 3232936712, 556554822, 2285979904, 739132872, 2772541799, 5915039, 1349497348, 890939996, 18370823, 2165270093, 3627374595, 1394956032, 539399388, 2998616336, 1682499711, 1737228293, 3900662894, 2667622465, 2669822131, 70462360, 1423256288, 586828465, 721447584, 75256421, 1663054464, 1785277152, 67719831, 2521153943, 2703502400, 2688404960, 541900191, 2834409719, 12104452, 572008006, 2285980054, 1157627969, 2707046560, 1036771350, 731926374, 2667624672, 371957894, 1721696440, 4301159, 4735392, 1718006276, 893700136, 302811963, 939607649, 3514309197, 710672641, 877848008, 2780524191, 269303553, 2873082261, 2697300141, 1085477665, 1824022531, 22238028, 872499027, 626458681, 647290034, 3247939929, 1581293630, 3228450320, 2987448320, 542516769, 1078486020, 3528682020, 630719914, 1051853158, 1178075184, 178327187, 88146289, 1385666117, 3138207232, 222232752, 4301143, 1078005878, 5514817, 268455858, 159135192, 1431779948, 57948426, 48911918, 721777669, 1687952170, 1544690186, 1610678522, 571106316, 1353848608, 324218519, 1733499690, 1203836814, 1638813056, 1221602048, 67653683, 847595698, 373672101, 3147383216, 3004331010, 2468872474, 778250829, 3551572480, 4890385, 1824626081, 840138853, 2995004842, 2679242790, 1318847246, 1731087744, 209780980, 1731479553, 606105937, 3300047694, 2675355841, 2510364960, 524333828, 1093472570, 1191190641, 1371845120, 16777409, 2543918351, 5521823, 1761627971, 989873302, 994261760, 3685945797, 1648367991, 432603176, 114780768, 153167430, 1695361797, 3366259561, 420178195, 3758565910, 1751646720, 3784769536, 28512915, 671163424, 1222189482, 1612211415, 1728054599, 1794348613, 1101076321, 174659933, 2986619419, 674496794, 2598679227, 208214284, 1762910215, 706111592, 45121, 2703647922, 71424165, 1429930241, 3871277490, 38200589, 1090585034, 2989163976, 2777415685, 2996192699, 2957091129, 1074424083, 1420953970, 455619585, 419061358, 1300613285, 2348814770, 309592646, 1695350822, 525815251, 2964503472, 11666482, 455619586, 1502891328, 1398380101, 3138152729, 208212912, 4301184, 2051120972, 1991377969, 441778262, 1648779690, 604068896, 775181025, 337839107, 1347826323, 672426789, 3366304736, 254418983, 1493229975, 153, 1278102288, 2957091087, 1779059736, 1504905575, 1794320677, 1883849938, 1411142245, 1663059404, 925223077, 3759090208, 660144353, 2533359617, 2973868311, 1678396440, 1404240945, 441778262, 235367155, 689984345, 2521161743, 706750297, 14784256, 45377, 2704883722, 1276662962, 70326869, 5644119, 1296630426, 3836906496, 587877395, 1353843761, 441778214, 1382402213, 2348814770, 70326869, 2516823, 1296630411, 2897394608, 83886080, 0, 174, 50614020, 385067, 706085381, 14784256, 106501, 1212875032, 1275139040, 793475329, 10485830, 1711345768, 2684706482, 177033898, 2623186, 1391067252, 1705397249, 3223366145, 2996192699, 2348812623, 67174573, 12296197, 3243508740, 7144192, 2952790272, 4260099, 15249925, 3239624710, 559162908, 755623494, 543279403, 18621444, 3326872180, 1428593740, 21766222, 2540026923, 419501150, 1784414500, 543069256, 655569920, 539547748, 18399282, 3935077642, 2282441394, 1386925221, 2348812210, 573890889, 2986362440, 3374842151, 424831492, 3826840685, 1074010214, 2468881668, 189935955, 2387443826, 2535915525, 3160267109, 1394057239, 609124424, 3540192538, 822257251, 467483, 2389025319, 340225613, 2147956537, 692405620, 2803163136, 2620679172, 3642372352, 2081951059, 1479062292, 3758096478, 2588745743, 2248219220, 3004489728, 268, 3510894850, 239961443, 3577697, 1477763072, 0, 723969648, 39277846, 2783225776, 1090584896, 3247939953, 289409672, 197160855, 2499854735, 4883665, 1419051520, 1872166912, 3247374410, 2214612658, 75569344, 625356115, 980156689, 446694713, 928195927, 2294808, 1720920066, 450509145, 1203790734, 1301807765, 710935895, 728373792, 404036376, 428503262, 15366803, 2763176928, 524882437, 755723, 2348818610, 158159409, 1400915162, 832571201, 689195328, 100729625, 1382678836, 1390790821, 3138229504, 227082416, 4301100, 1846183947, 1270024225, 445983333, 3500520196, 572024914, 1903690346, 2502584868, 125306447, 472575565, 2147751737, 692405704, 2772541732, 1074432011, 1572016756, 1678115085, 443033639, 69344138, 965566482, 444465972, 1325779109, 3003654425, 290654884, 3019898945, 2704883891, 324544513, 12128820, 1376085000, 1381112425, 2521104640, 10493632, 1092486656, 3821114785, 656416719, 1101105664, 2605846550, 10485888, 2471628812, 27525376, 3759814173, 4110483456, 2684406496, 260859817, 637581543, 2137260067, 419449568, 260859817, 1375778995, 72313625, 53951157, 689965542, 1276006254, 1640449344, 580330533, 1390433623, 886398977, 1050430475, 693699812, 525926457, 1264083970, 1747928904, 1136665822, 77819944, 1221794186, 604056298, 817974319, 483465832, 671558004, 1564504483, 286550569, 3542822, 23487697, 23479845, 3366273441, 440447492, 1277894662, 1635820970, 2679308349, 84613681, 4790662, 979440753, 261699226, 832576096, 981154574, 506069409, 228992025, 984951072, 179596631, 2521121054, 151021505, 2543945731, 3225526666, 1639123608, 1790268170, 2643494, 1275144500, 7471358, 24189621, 980156463, 452124853, 1101083225, 1855918258, 2217061023, 3003201362, 3087018500, 207526477, 633906497, 2707308646, 2668642483, 71380714, 420282482, 377491929, 387448911, 67919514, 1294321829, 1092486400, 1103206305, 2281947315, 71382391, 1407863832, 1378755623, 72497549, 1677947786, 1176531138, 1414878041, 78063878, 1795817512, 90787846, 1339635155, 805979914, 3344184, 1691986098, 1092488039, 1101105763, 3004224257, 3547191352, 4045933354, 1747452198, 1177667610, 539924257, 1075631968, 20940536, 2990611976, 1491087180, 319816096, 30392727, 2703955136, 3761204121, 16822337, 503775305, 1101105664, 1147574288, 4174354, 2488729876, 677464648, 100806247, 824711759, 422103416, 2987802908, 2383876608, 1617123112, 18977892, 470245381, 240069197, 707005521, 3551572667, 3152035691, 1644214337, 503529696, 793514768, 27263424, 2987446596, 51548961, 1091840005, 3027064610, 2452096888, 187225878, 2148737388, 3093299608, 3232367026, 3344229, 1342458078, 189686968, 1611018026, 1545491269, 3490030488, 4849691, 1504904269, 1764312384, 107020564, 1584028709, 1700224459, 961123909, 2986628970, 1611006208, 828446504, 3527044096, 862279518, 2543224251, 3152035691, 1644214272, 83886080, 0, 13, 16806672, 16867841, 3025903621, 3240952862, 220069901, 2550427288, 283127627, 990183469, 503623794, 268501668, 33767683, 31342851, 72110082, 16821760, 10485840, 1090716991, 3276800513, 4849675, 1069195269, 1210909953, 2365567463, 2137260067, 838877096, 755302796, 4288807424, 224, 390816260, 486711298, 1158480385, 2986623286, 1176840781, 1224801792, 3540163370, 4231352649, 3543141162, 4095859064, 621045351, 639762564, 95027634, 30630698, 421906597, 3152026155, 2685665538, 12058802, 311623712, 224467136, 169963822, 441732384, 1638290761, 59657524, 1879168038, 2688144050, 842297811, 806890218, 1297217701, 2348812399, 892862637, 11769413, 4301150, 1572013116, 979981184, 80104462, 1328165606, 1142233849, 2688011, 1184160946, 1101081437, 3003399226, 1767079940, 3375944274, 1763151130, 3909100299, 3798529874, 181187265, 2543925817, 1088438123, 3204495360, 67108864, 0, 4260099, 11121157, 3239624710, 556960038, 1040241458, 707002992, 592762976, 3425370118, 1715871781, 3609794874, 2472552196, 577776968, 3374842148, 1731339875, 503519775, 421161128, 2998616336, 3053478578, 158472935, 1161847590, 989600704, 224024454, 1562757285, 2688122951, 2986352909, 1650138218, 1812018290, 1611432193, 1394868516, 543368762, 4229677061, 1462463002, 538449961, 388702292, 3630222376, 287885626, 1812018290, 1611070030, 3930442349, 1224812126, 321591446, 1169928416, 1064025856, 2957050116, 1222655851, 3204493377, 16859201, 2710192288, 960545175, 280606665, 3247902901, 3003155285, 939589743, 838861665, 2667774064, 2503500600, 910699830, 940390144, 1094190452, 2986626344, 3607150691, 924478504, 392894840, 408635930, 539561297, 3543138636, 539351140, 3542173128, 2780499126, 48242505, 302317581, 956383504, 3108506883, 3079405597, 1091614536, 218346380, 1261840, 3007843587, 3045851145, 1091614021, 218348000, 793400579, 11591743, 1826554032, 1091614278, 1100945344, 221774055, 2137260067, 553671091, 75569780, 59144193, 697565235, 239085015, 689519251, 2521163647, 1677730585, 4775999, 1826554032, 221774179, 943081517, 909643063, 15171332, 5570561, 7287552, 67812873, 1208794633, 784205024, 793400580, 11534485, 927020820, 5747216, 3623888997, 3072003328, 1309040898, 1182613780, 541710181, 2875859054, 2384543749, 553661028, 3662624771, 3563633920, 3104928850, 626001018, 2585203012, 321612380, 204152916, 3638822255, 875954349, 11665638, 1631587457, 1726375237, 3501833191, 2131034164, 50331759, 855638240, 793400576, 12058817, 2510383727, 2371174815, 408007172, 693207050, 4117495621, 1234585019, 2980059592, 3247939908, 1908465695, 1878634240, 2684411808, 835957527, 605743894, 2148587308, 3019933277, 1708177843, 388248311, 1592119481, 3247808840, 722731172, 2687598705, 2578428691, 2389024792, 376031844, 119205888, 690346010, 3042038630, 1246699796, 539159067, 979189803, 3040537184, 655481184, 406560811, 3395293522, 2415944709, 388675408, 3358947910, 1040507931, 698681, 1476698709, 340141655, 174063964, 3221722426, 704653607, 1482948948, 4048787456, 3692806150, 4082314554, 1821787623, 2137260067, 838879968, 260859817, 2617292979, 70392105, 711599113, 1367700269, 980157203, 448267118, 567569169, 2013467604, 3904029079, 2704478976, 3863060415, 14749375, 2936782606, 197070307, 1403981225, 3356307713, 3003394141, 1181177640, 473289515, 3462485, 3514312037, 2857107712, 1580549668, 288952416, 20801057, 1075298644, 643734065, 2977432377, 1565873977, 1394725680, 100861517, 890939996, 471534882, 879076732, 654586981, 2858162546, 2150975015, 4625472, 102668900, 621779254, 2586943492, 307394661, 1459710535, 538450025, 690643021, 1243873577, 1850548248, 354014976, 694300246, 2858352738, 2452324716, 655481184, 37168698, 544263264, 172961131, 236656953, 105266692, 2957936705, 3543138674, 4095875072, 1476682564, 4048784973, 2147816557, 1459630084, 123554429, 1074440285, 1181046934, 1161929014, 7913871, 406744680, 219808179, 69350708, 806828810, 1610758355, 30613920, 1365966880, 854878825, 77733056, 1251093113, 2521153935, 406726733, 219808224, 260859817, 3875584193, 2400730629, 1085477773, 210127882, 761930533, 1342321268, 1879201824, 1664559724, 1704985903, 1796801171, 671761749, 886268965, 1557738839, 53287520, 1699976837, 2687590323, 70858474, 683423046, 625541428, 806898901, 1610813480, 1841838746, 1648268933, 2687615041, 2708422835, 69816704, 80958336, 980949610, 1203778773, 1472272145, 1357327086, 1300240945, 43723488, 68502728, 671158157, 980307328, 93998356, 1327905386, 604590476, 990708212, 4172415041, 2707312032, 835379215, 2355603959, 12075425, 910213519, 406744640, 3759614880, 917438640, 4301144, 1085474241, 415243724, 26286350, 719657019, 64252088, 1176522058, 604373556, 1677796778, 455461029, 16777281, 16990386, 96540864, 118299185, 2693736, 961766417, 459670712, 979904540, 1391657746, 1385772039, 2013332052, 1834101369, 2693132, 1153972567, 81931320, 1423466700, 671774169, 1610688544, 685270017, 215155541, 1893147665, 459670330, 188815460, 68768416, 86376954, 1223763969, 627459626, 1276596496, 3769809824, 818000649, 1763333376, 593564765, 220799060, 3630222376, 53185123, 555499780, 3630551364, 354089287, 3224326468, 19339560, 3533063424, 14680874, 376450047, 4278247831, 480, 527432143, 10485888, 1622279201, 2086083162, 1632175330, 857024720, 1610697920, 1854808384, 1652565322, 1409360234, 706742967, 455944928, 1705397261, 685179353, 77689888, 1720922954, 2517616, 1318865921, 735340583, 72039017, 64252664, 707461233, 936726169, 1005233330, 3142856450, 799747905, 2704867401, 2986973546, 4083155212, 1461504064, 51631208, 621348891, 627245099, 3395296810, 827555846, 1627492690, 2449793291, 421198080, 707611204, 472436740, 2702105145, 273137767, 1464600176, 3734390203, 2502930625, 2510374699, 348602785, 251674433, 2702166337, 2702469280, 2691019283, 2389024773, 3875908890, 1767945472, 1411815967, 537133437, 1529503822, 2570652324, 2998635520, 199241513, 3694002349, 12276783, 70232879, 1101086720, 3091308751, 11769135, 1386153984, 2684418126, 2681320196, 561784406, 706415140, 125305149, 2385453333, 1562597419, 3527265, 1361838620, 3226112554, 2030346510, 3932641103, 7461172, 1228613064, 2782932833, 3617521824, 8411988, 788672409, 1588790305, 2131958282, 1610752564, 1300258121, 53759386, 671244320, 512891905, 246695385, 708707100, 439440280, 30999778, 761950226, 1380601656, 36070743, 27918570, 1158490880, 74992272, 671640305, 1610753065, 152261401, 1574035634, 3003392382, 3928971307, 388153, 2039891265, 2710192193, 282280001, 2669625428, 788737971, 69303994, 1728055590, 17898369, 362232440, 12458545, 2689304, 1922507964, 1638293152, 1699374496, 841895726, 1300235873, 36581817, 400626723, 506733080, 3109086, 2521104640, 6395905, 3502347681, 303132873, 3247808836, 1131495617, 2510385425, 1892204951, 2702328897, 227868685, 2298523648, 83886080, 0, 102, 17843371, 269287936, 1930428930, 2684534882, 45400054, 1913651715, 2751661249, 2500067588, 88074064, 50333030, 17121246, 2869231872, 4402950, 7188996, 561983069, 1476405511, 739920388, 3832666420, 105644868, 4099754243, 3329384725, 2852295978, 2013284426, 2590351492, 1698766346, 1873944102, 1664614440, 92668311, 677654601, 86719210, 77689941, 1893217624, 43723488, 84744946, 1163420222, 2521152396, 66183231, 1918632160, 260859818, 2952825859, 3796277459, 7341775, 3548408590, 3486757380, 561853544, 4046127132, 3359637773, 219868203, 450818, 4099031318, 1176840781, 1224801792, 790313258, 1432617259, 321441794, 2791514165, 3523535924, 640404064, 205954048, 739777589, 3643280680, 1678059085, 2329719483, 1092487756, 3759115367, 2864644236, 58318863, 2355604195, 9175919, 1127153792, 2229763940, 2306560, 1428606736, 1370620961, 2086084247, 690342053, 3146515279, 3762254428, 4264136, 1806828577, 2082885248, 1184051543, 14111571, 606538130, 1796800566, 491278922, 16014665, 2914970, 2521152396, 52257040, 755177650, 69303354, 88169012, 1663056505, 720003872, 108942149, 3366273325, 3544628108, 49918464, 1282462501, 1465914413, 1707648443, 2349000928, 795872920, 27263315, 3883885568, 588840962, 3605020530, 1543539714, 3468793601, 2321860801, 2533479883, 1760001892, 2300160, 1205878642, 1543549444, 562007622, 539922758, 2617406465, 2053057834, 3855132091, 2348981313, 29884990, 3149009112, 2099178, 1328176897, 363463434, 721422615, 695281945, 944703969, 29915160, 1793792266, 2688012, 1153972567, 6568760, 59401002, 1583360617, 81932522, 580004608, 712448394, 616366116, 80105113, 894894143, 123802858, 903029763, 1208763608, 1613051200, 1705922072, 377491767, 429149952, 95963351, 1680148408, 1380607442, 721439950, 1832981539, 120868160, 181611370, 1545087315, 29894663, 695491905, 474766662, 1593862816, 88220026, 1176515918, 834207786, 564545066, 1300889657, 981032777, 719324898, 589979374, 1721202727, 160911575, 1611006221, 439429740, 682885153, 981032777, 719347032, 1452484357, 1342243903, 1691364096, 403253589, 16197849, 874841186, 606669074, 1398354965, 1398235142, 38167310, 1832923209, 86721746, 673646652, 453847808, 1399479297, 29894693, 112339513, 1612126894, 641598648, 711539308, 4810391, 1565746944, 87825194, 1543572672, 162023066, 604055321, 684856960, 72489574, 826279240, 1154620759, 55902250, 402748173, 707462305, 1948256225, 455761646, 768222388, 4917688, 1445355936, 847929353, 1402142792, 1706512601, 377488513, 415255371, 774513674, 1991332622, 165743648, 652620435, 77988538, 2146511136, 733306200, 1640119375, 151722250, 78199128, 81932326, 550985162, 604401886, 16646176, 1893280485, 1218909412, 1906985985, 24203913, 48898377, 721421576, 1171397644, 980167409, 2013877139, 82080174, 1161842304, 1726357824, 86048831, 218261876, 1785267361, 38422318, 1300235553, 29894658, 1525312838, 1162412224, 1423466700, 672213193, 980157322, 1663420581, 3147419545, 1376702166, 3759090208, 1881866465, 2533359616, 3760146706, 83889456, 25952347, 1627467242, 785318322, 69303668, 1177842432, 2056914082, 606685651, 841622536, 1794003726, 1740637286, 1300946098, 3146514460, 2986615165, 340733519, 1247805739, 2254769408, 673240873, 2051423894, 1169900335, 13700399, 14683946, 544221952, 3784769536, 9686829, 1429144111, 1110376513, 221184176, 970707, 221184224, 254419056, 721478039, 176, 12687120, 3739011521, 2534464219, 21366495, 3731089279, 1677730593, 6003167, 1091623616, 3003392772, 4100614496, 288984422, 1040243739, 3318260998, 3436314724, 115334784, 1609006948, 2300160, 5652752, 3665842592, 700845353, 11603679, 3728806110, 1289760553, 3693740205, 12300467, 157484070, 1430659403, 1781626888, 1586845139, 806116568, 1610813472, 241847584, 86049158, 1563053095, 75569218, 886256083, 805462489, 1611868432, 2521121040, 3661668396, 4515711, 1677730572, 8129836, 28509265, 1385169111, 1397957669, 74999526, 1300907969, 337667733, 953645062, 1305614904, 50997824, 88168717, 443296032, 1452817198, 167265740, 926021810, 2687270995, 2687172687, 3883885568, 587726848, 1175268097, 3003398482, 2921004544, 3543811655, 6376008, 19468627, 167785225, 4266869020, 577197900, 17771819, 3221594693, 290654724, 3831868024, 405361152, 705384745, 1463446528, 1685756566, 1168124864, 3883885568, 587464768, 220987405, 721477647, 2355604222, 12098015, 3759090208, 1919287521, 2533359616, 2969567488, 4260098, 1088422698, 376596223, 4278247831, 432, 450526, 1538458659, 69628126, 55902308, 67325267, 604054560, 819406163, 2521153943, 2705210728, 182387283, 3003810326, 324239472, 989877508, 3545466312, 2779972643, 69605394, 2066561286, 1141319896, 3836916499, 1396249694, 1700004977, 2735952697, 341730772, 2768240864, 527432159, 10485995, 3003392774, 778250831, 2480230, 3861064230, 1040496949, 1392612395, 1886272, 19470162, 3040504833, 2535135382, 1161929022, 1471349795, 118307160, 14425024, 260120789, 1458837773, 2521121185, 956325441, 2682191961, 3003392775, 221861888, 3692806159, 2166412630, 4095282432, 1192757318, 2552946758, 2487231751, 2703307778, 1952827432, 100871759, 3224539428, 271302708, 3543257904, 21020765, 1224935012, 861783836, 1330025557, 1224759300, 105763354, 627245133, 1220588097, 2704889779, 69404429, 962068700, 465571713, 550852340, 420320837, 3247808879, 324978881, 2543916075, 1083825933, 687977220, 978176082, 4077173327, 442414907, 170133368, 23419705, 709691904, 1912612869, 2924292649, 537139789, 342568195, 341778437, 991528478, 2468610647, 442673699, 707002659, 2321367318, 1246181376, 923012393, 741015556, 1629066317, 1170777344, 4264158, 1296146723, 1239424843, 991232176, 1091624019, 1101079375, 3004421224, 3093118990, 21879190, 1161892060, 1086429089, 944586976, 525024020, 11534401, 2704031975, 2137260067, 419461088, 1061235968, 650907648, 2678073344, 2612134964, 1431517804, 2688024, 1531583006, 36578328, 1691837994, 1610679252, 1785463700, 1221826117, 3146514548, 2986618170, 1814757381, 2722560611, 1040490871, 757842017, 1246232872, 1516447327, 776830981, 1278962180, 3775424527, 1414877952, 1429823493, 425705497, 2251972892, 604291592, 4199198285, 2148208207, 237323720, 2770783248, 1721772131, 2986378822, 537343850, 1377406541, 2148205147, 421198149, 1224745082, 2588770418, 2451203528, 2780554071, 3507421222, 3423617440, 675405847, 731941324, 11534592, 14683946, 544557057, 1101086208, 1076284432, 1572013121, 762594868, 1879911136, 1786329632, 1638531626, 459956402, 373672101, 2686896608, 793459494, 11580170, 2552844800, 705089875, 419641113, 268446005, 1469465894, 3423653299, 75569780, 4851557, 3366306197, 2708155156, 1285147872, 260859819, 1996536032, 527432140, 10485838, 3247808825, 1233766209, 2708406576, 114086400, 3478061312, 10485760, 3353564108, 229366240, 120198773, 1208090849, 2533359617, 220725683, 69347518, 150484288, 81010542, 1398294464, 1382684640, 1638285656, 27942666, 1163926406, 1094784813, 710954649, 956981249, 541525003, 989357081, 977929444, 1638531858, 975855655, 388261286, 1308624130, 518676762, 980157002, 3149376, 915889609, 60055109, 1287193357, 672668632, 82142292, 1264083977, 715546401, 479361045, 451563320, 59655712, 190599927, 961085518, 1229277369, 10238765, 7472312, 893393646, 1633158321, 1385183852, 45768372, 1632332337, 2013406249, 68229591, 2521149956, 573164622, 2536177786, 2584011873, 2852149001, 3238196306, 1091845429, 1459707435, 3005696, 1334052161, 282874034, 819406163, 43673358, 2772798464, 608243934, 1253191903, 2834598912, 406917333, 1253197129, 2974125056, 206972676, 7283968, 11337907, 2521145384, 1085477645, 683171841, 1287677670, 1292539525, 50331648, 224, 254419061, 1208062924, 39200516, 55837441, 7283968, 3066880, 220594182, 3436707947, 1184421632, 1722942498, 716647192, 721426449, 1385703445, 961030145, 642145521, 671173664, 228658368, 119023897, 944702753, 7168558, 626524380, 465639146, 1833321939, 805700262, 1661350208, 88146246, 1663114392, 893397625, 720896473, 2521152358, 2550286932, 50528367, 620766733, 3003223041, 1409731800, 1984338136, 1913500417, 2986615336, 1040582441, 2924290060, 4149284960, 621779254, 2586943585, 2852234788, 471478313, 537396739, 2252744136, 2780531713, 476485634, 11228163, 50360101, 2507010, 3724562354, 69347667, 1700225025, 25591111, 3500477148, 410366468, 2789682515, 1278476576, 1531796266, 3761330434, 2791514116, 153679675, 18651189, 1078679652, 40519217, 3357159800, 358521129, 422127048, 2779944517, 3146514621, 1090704737, 2986615337, 289032032, 152687461, 3514304851, 2466259038, 2285898521, 177620411, 2348849842, 69348230, 1176010917, 1864696576, 2902503940, 3831605761, 2434426923, 1886272, 51390479, 2553626674, 2329981627, 2348838438, 3423600745, 1091624023, 2986615337, 4097472512, 671506689, 2256357328, 2998635520, 1346441430, 1639056418, 688994887, 1611223955, 2121352, 1073952403, 88146154, 420320837, 3146514477, 2986615337, 1399150432, 29368372, 33751151, 620757165, 11666660, 1638531130, 1666668270, 1632174122, 1632240596, 3904027398, 3436991969, 2533425152, 3758565910, 1985349120, 3784769536, 28349735, 3883885568, 592117832, 3900637580, 387199, 48237354, 376784896, 14784256, 110592, 12687120, 3705536881, 773560332, 487468573, 2564824905, 454885603, 1461522176, 2987593082, 1040492032, 1632979523, 598308, 540363057, 1476715014, 1952827435, 262696, 587679770, 3107677797, 1225056772, 3579245593, 220921909, 1459626782, 2623540839, 3491364, 57879891, 1278478442, 4183907898, 1811950133, 1459938330, 4100614401, 3646952233, 268445208, 388571232, 3641079608, 3876184636, 889509990, 4199383064, 153759264, 3643280466, 687999608, 654582315, 641816576, 543016732, 1325693537, 1476416773, 1496924266, 2687850241, 2788876572, 2553626634, 3809486852, 2033537796, 3091845434, 1812245786, 1767899424, 541154816, 588778333, 1479808851, 167785825, 2852303209, 274727232, 538634066, 3776755972, 1377550342, 3663806469, 946408704, 3227889229, 2236397827, 220731419, 3624199524, 1090830594, 706418944, 1410140496, 35558184, 473333853, 1478707748, 304611648, 3224164648, 38871348, 1612878693, 1381377637, 1162393856, 2621123840, 1912911925, 1078630991, 939532300, 628821541, 1165166117, 824714501, 676550497, 1165754638, 3995424770, 2334916956, 540161106, 1170777531, 2580328601, 3423476700, 2969567488, 4260100, 1268786376, 3762255754, 12075265, 54571525, 3239624711, 21247344, 2083221029, 1399209475, 1479090258, 1747452784, 3227207262, 4261733448, 3547857250, 776558694, 2468874295, 1396899909, 3389106759, 710720610, 172436060, 39854174, 2487756563, 340344837, 3075689524, 3157613644, 17781618, 2537638148, 3026561631, 6444115, 754983793, 1363459117, 3543862569, 555521101, 1080150312, 19144710, 561523206, 3278329897, 537220712, 3613376543, 1313156685, 2149463074, 402956546, 2570409728, 710341671, 1210585642, 1832581120, 3194168909, 776831075, 877484055, 3776746527, 1850955778, 2791507505, 1476536857, 537813263, 342568342, 1169884866, 4181844031, 2005532848, 4264131, 22167844, 35250, 311633941, 452540698, 1154959296, 118631021, 987829348, 1162240800, 1737117502, 23735072, 1691436033, 223228345, 23735072, 1705910785, 338052422, 1305686022, 818827033, 2100647, 1183334867, 805699878, 1577079466, 1305686033, 684276332, 51669805, 1901618215, 311623737, 1640572929, 606095699, 903282726, 550989129, 13828759, 1289299985, 725166816, 388246713, 2521152396, 10699044, 23835140, 2165882889, 2989124922, 3762802253, 2148131072, 1800226396, 100865131, 762402916, 354097177, 2325104059, 2348840513, 604134322, 157883120, 43330158, 1300237656, 1398355850, 1663420581, 3146514521, 1092879189, 2986639640, 3221860906, 1832574983, 1707648443, 2348827314, 75569344, 162671213, 987770420, 456019328, 231080298, 455944928, 108149029, 1892572161, 1814497653, 454564234, 2753560, 1398355850, 1663062698, 1325407571, 685323278, 3836918625, 274284979, 69891761, 1393428961, 2016020173, 421547648, 694888729, 5178386, 711801573, 3366302473, 1763373058, 2502585933, 2148358227, 1496812131, 633906432, 12687265, 1397882995, 2686771123, 283784659, 604045898, 1303272449, 409410007, 2319786, 1275462534, 1176881317, 3003395098, 2686278001, 1246494978, 1246604892, 17571853, 2702725452, 3613301764, 2708755716, 3359983196, 55050868, 639113275, 3927503144, 21246820, 990176048, 1951560056, 388721178, 939573332, 3613655332, 539809539, 2252744136, 2780927393, 1515806208, 1102251058, 711801568, 1900949944, 38162368, 1720934401, 203827660, 924855626, 1679571242, 81856555, 728386572, 723523596, 1574240335, 992024154, 564151640, 1611813738, 31036997, 1101091911, 3004638380, 3108086073, 1941112865, 443425105, 2014001774, 1638540325, 73466410, 1730829317, 1686837024, 165827622, 1423402440, 1780899390, 59393568, 550989129, 2521121185, 905990849, 2400730734, 4960772, 841641274, 3761124379, 939673149, 1483065370, 829948252, 538564356, 3074100813, 2148129066, 1613580900, 654587163, 404326912, 3930932837, 2685052713, 273840129, 3547191610, 1816643016, 2780499236, 61547585, 2704228545, 2400730734, 1074603008, 3247902915, 3225465604, 841641274, 3764507459, 344321, 2538820516, 2986344513, 2710132896, 601207571, 930612080, 675864068, 2703240048, 3492286180, 2990645568, 32784800, 2785144736, 601469705, 2165889093, 1247028492, 2435373156, 35397706, 2452257174, 1161928503, 10226979, 26818483, 70019287, 633752588, 1565140433, 2015121963, 1611223955, 2105555, 666965459, 574236115, 805372582, 570831169, 482215992, 693250336, 88755700, 2013331863, 454571669, 1431789589, 452540698, 1154959301, 1220476993, 1705659399, 689195352, 47855961, 2308920, 22948608, 573858113, 482218542, 2094475008, 95440540, 1275144977, 693436608, 1184051225, 977929101, 975831342, 827876819, 806958414, 1544693969, 1622317029, 1100960117, 3003396411, 3864862818, 1848473600, 1428927786, 3997782884, 3511140631, 757751818, 3809486874, 1818087800, 624285793, 3543138575, 320517434, 1821787616, 794941343, 10485888, 1470734259, 70019287, 633752588, 1565140433, 2015121963, 1610765620, 1918966918, 791305222, 59587114, 77668778, 450893826, 1144805013, 2294796, 1758930374, 1287151626, 2035810554, 1166672538, 1680279597, 991439616, 1289250257, 2013467604, 3904029077, 2673157007, 7516676, 745068325, 3326872669, 1243992440, 206628677, 1476403213, 554974509, 3542548490, 3125611819, 2250123780, 3795004714, 1617358379, 6116648, 3643355512, 19602458, 827555850, 3157692712, 621119803, 106345530, 2033871874, 3932377447, 18647866, 1715879428, 2905086037, 3646947924, 1325665374, 2588747208, 2780524191, 280013215, 2986619195, 3864862834, 2435776550, 2622226816, 2779422643, 78143315, 565071232, 854206766, 1204144293, 3247939883, 339784452, 745068325, 3326869865, 3528808301, 3563782149, 1094506852, 3359647505, 3540084259, 554970910, 879951880, 2859291395, 170541061, 1114252877, 776832456, 2768240800, 587249473, 2704042419, 70335462, 1562387090, 721421649, 963248163, 1650874112, 209789052, 85403848, 872553504, 886253098, 2521121185, 2252386820, 826009181, 537448489, 1428873250, 2452291611, 2252423172, 1731930720, 51392308, 3542361860, 1328214016, 3692806207, 1482948943, 776553928, 2772541469, 1944551268, 2295040, 1805196723, 2175814, 1563302496, 646602764, 723518480, 734074669, 1397503015, 137125331, 1611799150, 419841598, 2521163647, 1677730580, 5647901, 280166434, 653546497, 34240549, 1706322317, 2521152432, 1101104640, 1252008653, 3003654424, 3512550951, 3318785345, 2686280717, 570536708, 808173671, 1464795140, 1627452487, 539110946, 402972932, 1174723150, 874646180, 2987205120, 3004378380, 2622645603, 543846737, 268556694, 1161929039, 2040537681, 3003654426, 874646052, 105310745, 1050035521, 2686276786, 69343270, 1318847028, 571122866, 3138200064, 2964525869, 211571301, 1663059592, 1074717874, 3247939876, 742432802, 3454017612, 3181358065, 2885091512, 1101081664, 3003392536, 642156609, 1234601216, 16777281, 16990386, 96551974, 579301703, 532677746, 1796831269, 129588424, 1124075105, 20603680, 1639215107, 1208112214, 1632259099, 990799511, 1612130570, 1328642087, 282656800, 262819104, 86048817, 80085785, 433269024, 73866041, 719987717, 2017266232, 1727286661, 1916031502, 1300593673, 1385628900, 1719665683, 1392063525, 403198711, 959732746, 1977213106, 3138045195, 1286734882, 405164714, 3434265504, 587228594, 298982729, 625541171, 67246118, 403905305, 2025604756, 1104359441, 1004952864, 893789221, 93861079, 1410935129, 872484074, 423493982, 721525925, 641177685, 3003396411, 3864862724, 3628976941, 3543139091, 3572019891, 69892440, 39087424, 89922344, 872489173, 1458837773, 2521150217, 2017806935, 3312596050, 239960133, 3743082753, 2853773316, 3528676197, 1224756996, 156407702, 1157628160, 4260099, 1085408321, 924392041, 980156467, 67784503, 2014124593, 2688002, 278680304, 1639207975, 287727104, 580345289, 1391985194, 421556568, 1677790333, 100756519, 69751543, 959732737, 673214808, 1679313233, 1191207470, 834226112, 86920458, 1326056087, 17190193, 672680592, 2830240453, 190034432, 561157955, 223518728, 3239744810, 1707648443, 2952790081, 2707308723, 70805323, 738343968, 491987360, 130099290, 1652575048, 873425520, 77663272, 625490218, 7471189, 192171582, 25846785, 1278177502, 30081064, 1720991758, 3836870721, 2706686145, 2543939422, 1085477080, 3091923, 827809811, 685179353, 77668746, 1678115430, 1665008397, 1360003262, 128668409, 1785095505, 2013462720, 752425504, 1382684645, 3366256705, 2707315890, 2217061023, 3003131437, 3611966976, 3647260725, 1224747524, 120219828, 2999031713, 856899777, 2510247203, 2403385749, 2694946975, 1088438082, 251659861, 2705393187, 2688616079, 2671876437, 2569247119, 245277362, 282591272, 1445339456, 2214963871, 2986357636, 95068338, 77988404, 1879927378, 980157044, 990511338, 835936293, 73474152, 759841793, 27671288, 5178375, 420479017, 99821840, 15347763, 89678883, 1788943393, 1706502464, 221774058, 808650075, 955718442, 78322457, 719324267, 454634209, 343671827, 1373120519, 689195352, 28193194, 1543572910, 833248277, 992490825, 82077111, 692082507, 788530488, 1250961445, 1382679274, 606425706, 15821121, 378742812, 903424037, 1574447130, 1409368402, 1463681817, 443113511, 69412608, 95179370, 377491706, 1677806624, 197207072, 1726880364, 1161834135, 1229521150, 2122534, 1295515686, 1318846656, 505815552, 1663110185, 1358444846, 442500705, 1458201400, 12608311, 443295751, 1153974275, 2763176880, 16777281, 16973998, 2986639640, 3227570983, 3222102380, 621044031, 1851900476, 978016067, 3221514055, 1465731332, 3775163653, 20329554, 239960076, 2165992993, 1366821213, 1482770691, 424831638, 1169884813, 2420238207, 1677730585, 6402835, 2369399296, 678484257, 2685933620, 3377692679, 1093314147, 5466717, 2853774792, 2783412068, 2295040, 1102185517, 684261417, 216879863, 955328536, 720710265, 45367640, 3632586, 1881488184, 15341886, 26683731, 22948608, 238561618, 980156458, 1632240596, 3904027568, 1090585152, 109940810, 3759115367, 2885615800, 3759115367, 2888630456, 16777409, 2543919898, 1239424843, 991232176, 1101085184, 1241943440, 4567825, 3540000794, 3659198058, 1074054656, 3860840545, 1175951402, 4113201411, 2370833017, 1476405347, 1482016826, 2590129668, 3828622945, 105365534, 2306350173, 3644151808, 1309040896, 1298453440, 2999031713, 338380353, 2677066305, 2709536833, 2693808193, 2677033888, 2696948993, 2693529605, 755081070, 17835660, 273920772, 643515997, 3662151960, 1881076801, 1402373441, 22104800, 260859820, 1258336480, 794941185, 10485967, 3759090208, 1364525281, 2533359616, 2957639965, 3411083534, 4390922, 24746381, 244289548, 2400117587, 2416815194, 780931250, 2217060865, 2986544411, 959117312, 540157539, 893220, 538630682, 3999940887, 356135226, 1811958042, 1614435677, 1482808104, 105552463, 537212954, 956532325, 1459626865, 1493370445, 555499802, 944773205, 3511091209, 642517623, 925518407, 3222958931, 3391363112, 3227604821, 1399069750, 2149439787, 1731677, 3514303376, 548012466, 77664045, 710937758, 1396776012, 80550766, 1300243915, 768109113, 2013748550, 1705921921, 337851712, 121711028, 1159726359, 722817656, 955328514, 474489687, 1565746197, 1585923410, 2521121185, 729068032, 1279841049, 2321547562, 3930923013, 289031936, 809882140, 120157277, 1077231654, 4101142528, 855901754, 3855132091, 3759115367, 2892759224, 3003141222, 3995795461, 1480972597, 1459669086, 2556428547, 424831488, 1801886746, 3915390547, 1092389714, 4184499813, 1366828341, 1076606266, 3932164650, 3925988129, 2858419824, 3724554269, 3644484610, 2334916925, 1951605020, 1260530202, 3759006500, 406534144, 3526959108, 402940172, 4149348940, 205838432, 37494814, 2573636096, 688129627, 1180555976, 2998043685, 2852238080, 4100614187, 3462986, 711135608, 338518020, 205838560, 2986344641, 2543921940, 7713545, 2557596256, 424904285, 939534341, 2248324209, 1462718723, 425627688, 19154990, 777431647, 18163249, 2321333261, 3643365684, 157144405, 3543148305, 1952397900, 3643424260, 2905080423, 2253332485, 1214044212, 22814746, 3659198058, 1081135428, 621045842, 2032826720, 221927466, 721431650, 2971340090, 1811949573, 2619026140, 2990645523, 1531027341, 1471353298, 1452827079, 1161824498, 444465898, 454315781, 3366306199, 2705350208, 3759115367, 2893414584, 4301150, 1085474258, 465588849, 2013423808, 482834456, 683696471, 1431528485, 128869560, 1610838254, 805531840, 127677649, 2830238464, 0, 4301123, 1639121964, 711862284, 1574133769, 710168008, 439449637, 129506264, 41182638, 1300613285, 1100487174, 3315605760, 1118967588, 1270885706, 2493461, 432608896, 177548011, 1391592052, 52847128, 4665066, 682885276, 671689300, 1325401798, 51994259, 807030210, 1059924746, 19299077, 3367615387, 37855553, 3226435328, 4390913, 3394207232, 4390913, 1756501794, 1401832992, 645943914, 53295724, 43206593, 378339735, 420369240, 38167338, 1555339045, 3147498049, 2706964550, 1100988672, 1091380225, 2986615640, 640848680, 35438666, 2452257028, 3848555366, 3996002838, 1162356498, 1577201255, 824707898, 1814749210, 877478000, 2083157097, 2367047140, 2780553279, 2194538680, 1101094401, 1312923585, 5085634, 220463794, 69425521, 453847808, 461797378, 482369864, 1382614245, 1683228369, 993609024, 1795817543, 1665676294, 53295724, 77690538, 1571182336, 260440372, 1392010901, 373639346, 2535832544, 1065537024, 3091308312, 9941527, 557339686, 2150770214, 1040495668, 189960470, 2237925401, 272979968, 537840709, 1244614983, 3239857251, 925575221, 1476413722, 1611451652, 2035517021, 939532400, 587495706, 239960074, 2738405478, 2489693497, 268484103, 555270151, 153769036, 3204756817, 3546742794, 2735844939, 172319004, 3104929577, 1162918145, 2852197450, 1179465732, 2701926414, 3238807664, 594334523, 218199133, 1529537992, 2780553247, 2194538496, 2568532042, 2668691524, 3760161486, 43423, 2986615643, 320518144, 1210962737, 1465918852, 95068083, 51722872, 59655473, 2013350944, 433520691, 787762976, 86850113, 388835936, 893387874, 1428837591, 3836916503, 575760922, 3759030282, 2189370945, 1080248372, 100871482, 1813399012, 2772541760, 27672992, 83992897, 2669150479, 2987860561, 2853888004, 1948081686, 2237929499, 3623886885, 1381130524, 1281570603, 674584576, 1226465292, 3439622483, 2254256128, 544264996, 654582088, 644511850, 3926101260, 2166961156, 3042038629, 3543138903, 761087589, 1396337735, 3222044929, 709530372, 3107279616, 1685756420, 3848571753, 740865047, 540360738, 3995795732, 1025183269, 1074136579, 425628464, 338073344, 690074658, 2434476544, 855901754, 3776208132, 3545238061, 1780687132, 554620231, 1212350468, 470049316, 688459012, 1702484247, 402673254, 2489693497, 269981755, 3925879349, 3524780036, 1815768106, 4051177755, 3623900445, 1263725059, 3563595529, 2333682272, 22814818, 1413562644, 891672661, 1465997316, 3775368828, 3609466730, 2013278212, 21246821, 1465816982, 1169922329, 3760161486, 3096, 237901840, 2957090753, 2014233235, 214044172, 3255897380, 61999516, 459956226, 564546872, 77663264, 1230190039, 20402872, 51654449, 2013466671, 759882930, 3152035714, 3456153674, 2668718670, 2677256836, 631938994, 4070731, 1391067176, 74984249, 1163395114, 67919514, 1294321829, 3152035714, 3456153779, 388264279, 671241908, 1661869610, 77685851, 189954059, 1382624025, 59662753, 339548710, 1622283845, 3367584161, 335671873, 2679111877, 3004637498, 1182274910, 2603096347, 2924314900, 1030833506, 822282792, 655534685, 2790719505, 3311546627, 642334773, 3523233560, 359309370, 2019903012, 2987859972, 592995072, 1192910906, 2019873636, 627419724, 388552021, 1180631324, 1275787035, 757784626, 1718700288, 593565467, 674580740, 3795029581, 174073623, 610702338, 1512153096, 4062717714, 3126246913, 875570490, 1764313348, 3833240087, 388504618, 676481536, 708170244, 3830274858, 3760572672, 1848020064, 105896987, 3309875716, 3826941442, 2570409730, 2535806816, 626106397, 1395224097, 1399067725, 1171568961, 2669215990, 2986615641, 2537191425, 2921682027, 293086999, 557340175, 846727467, 240992296, 3089817697, 3542171655, 674551620, 3642384413, 1399067176, 19417185, 1466812456, 655004970, 3948081664, 958745124, 20099368, 3630885398, 2237923588, 1982764875, 3527265, 1361839897, 268449560, 138844708, 19240744, 3631749194, 2418550532, 675715620, 172976710, 2506096896, 2621171293, 555191632, 471558752, 35881229, 2003425605, 1482833412, 2993309509, 3543145242, 3998439426, 2908543019, 436009, 2169252887, 606910724, 3794646110, 3994954243, 140330568, 18459162, 3909394700, 543315009, 1075661882, 2013276706, 706404636, 2069713433, 3546284324, 537280884, 1215353764, 2998638873, 202903086, 403759167, 2194538680, 1100940627, 3760161486, 3480, 81792908, 1739358720, 3098679074, 1376998272, 1317040350, 2769361, 1141276837, 2862592790, 1172612545, 2543925565, 12562967, 575721984, 1616205641, 3647293824, 708944189, 1387403896, 1901527770, 723073683, 3768945664, 364008791, 781666328, 1762460234, 1304839193, 454090917, 3003441415, 710825984, 692830242, 2472994339, 537242230, 2973303380, 1325871643, 959111446, 706409257, 542272004, 3831715626, 1040197643, 1661177441, 2684705594, 2434476546, 1577129039, 924391702, 2774794802, 773986304, 1212536160, 19972142, 2537638147, 877500968, 54050914, 1715553635, 18659588, 891971143, 1040257307, 1479213061, 2773004804, 3981066262, 1162356517, 1530539617, 2781395379, 388242100, 1183594840, 78918674, 454634209, 339553130, 1275207450, 564140052, 1296043906, 1345914051, 45376270, 506074693, 1677865018, 1653746573, 210253004, 1574119712, 88168490, 422709945, 903386693, 3247808811, 339432883, 69425702, 1770872858, 1458838254, 1398294469, 3366273441, 1077952928, 440418719, 1400186452, 2675028484, 740978216, 190749775, 2027049, 1903699301, 2857112661, 1398800640, 4101252873, 2554974507, 3577693, 3343369672, 2780499359, 1414700808, 10485888, 3068145469, 1201602709, 551558985, 302121184, 1065542656, 1948254211, 1107495552, 1510809857, 3813873933, 2895950615, 557551174, 539394056, 4067953449, 1092401171, 555270228, 3513187841, 3021662468, 2708765701, 22623309, 1078542360, 24316511, 1847672863, 3225850977, 3543142952, 20986225, 3743082756, 2723647046, 543378221, 3358110359, 632461093, 1864303360, 2902504087, 633028867, 138523396, 558389004, 2166389817, 1610940724, 3225995592, 3540312627, 706410496, 1209878109, 537163876, 3609919500, 2166450714, 3949605368, 3001036641, 3617521824, 8404960, 528666112, 11736866, 1365908192, 239077179, 982588202, 1611823112, 1383685320, 1680167328, 781469144, 873745729, 479803224, 77746386, 24586560, 88681126, 1596311737, 3761192263, 2667622916, 593072409, 829954330, 174064000, 2779422643, 2318926, 1163395302, 1162570289, 2015714651, 684800620, 6696147, 856017061, 16777483, 436838401, 3769762860, 711862281, 715546424, 77734092, 1565149523, 1678469675, 976300325, 3366304525, 2499844866, 33554432, 9606401, 3265265988, 2869056001, 134258688, 3298099873, 16892556, 4293722368, 21037313, 1086429089, 438529971, 72966080, 88756010, 1543570090, 1327903462, 1210386337, 896818442, 604444944, 16646355, 30633432, 955328533, 1401609394, 3247939891, 322978207, 2638256541, 236622771, 157831721, 59657504, 506753792, 1398370519, 604061728, 220273697, 550708778, 1611351496, 1096221857, 213927580, 39066209, 342964838, 1764630058, 77666730, 451478754, 116285784, 3370641, 1783234595, 1440293280, 1786329632, 178727188, 1230504128, 902575292, 1440293290, 605038931, 980157666, 758007832, 886384647, 689195352, 57565639, 1161823841, 13523971, 1545604385, 471949734, 1430281560, 1379609344, 115736632, 74994250, 1906512244, 1582179527, 1161840276, 1104359433, 710167591, 159538391, 1397957669, 1700292352, 67268649, 68495993, 429333056, 733293294, 1230202065, 1203836717, 710959434, 1612600133, 1342530701, 1245779136, 1297875526, 1663720626, 373639353, 27919110, 2063624809, 719325447, 1564894625, 481890711, 693713516, 1613058464, 1222141271, 377492372, 1781097248, 626539242, 12607831, 1841834021, 261384928, 580085478, 589325094, 1700345013, 9130720, 217398073, 443033601, 663362105, 874843385, 1573602625, 341078481, 1141660889, 964559661, 2013866766, 1566048298, 68838996, 1663059410, 178333278, 45379927, 1613038713, 895352877, 202263828, 1326327127, 418457778, 387975570, 436887558, 44458752, 92414534, 1661889856, 452091905, 203426695, 696339498, 1638285632, 403782457, 1161895046, 1318663511, 44458752, 73466637, 437144960, 1664374529, 481888627, 956957003, 759719090, 373365844, 768812034, 1447444824, 4659207, 725166816, 1565596462, 1383609813, 2765275, 672688397, 12592466, 1383622374, 1707228486, 1581122195, 373646338, 831994488, 57558353, 4172415488, 65, 2551775318, 1101086807, 3003392330, 3931516459, 1516590, 2487605302, 1246701008, 3115516961, 1226067726, 626483201, 1058609962, 1230201864, 451555153, 1203838093, 80377527, 723007567, 979974406, 1700266410, 48902359, 654314147, 1902529806, 793876037, 1101086720, 3762397209, 14363906, 1809854269, 1201602784, 794941343, 10485888, 2198215315, 1684971280, 3003399227, 3864862745, 137017696, 23424588, 3506533446, 1040378465, 3427617095, 3318261145, 431167268, 911349317, 1219630880, 69290586, 1730830080, 1653746477, 980157625, 894632838, 1834483784, 1881363306, 1543569652, 1222712385, 1726369547, 1391616001, 1556094618, 1531601921, 628183946, 1593908359, 1395458098, 74139292, 720896302, 1624593734, 3702693890, 4154485620, 2987861093, 2790129786, 2585150820, 68878340, 21672217, 174064000, 2779422643, 55780695, 4742791, 673514497, 1156194962, 721429719, 3232936727, 610641486, 8034838, 1172612576, 527431961, 10485989, 3003392328, 979588950, 3999353092, 2993229056, 2080707129, 2372141673, 3405824038, 2349016646, 178565825, 2543921940, 1083775238, 404319410, 69290730, 1726618424, 79436654, 1300236572, 73469197, 444152428, 81933062, 2063603492, 759585972, 2535492608, 699532321, 1261910360, 2760920, 1677787321, 292166373, 1354302229, 707855521, 2005820834, 608727251, 615809189, 169478651, 3004132634, 3039459350, 2148765285, 2685933866, 4147736105, 540157517, 167797764, 153769036, 621026363, 3864862815, 1398805787, 419440644, 1646536964, 391287446, 1169294401, 924460330, 1312686890, 1592667594, 606536737, 1211763105, 254435054, 506070193, 1385314924, 43723488, 2056914145, 158411073, 388652782, 768222247, 159921992, 1110073381, 1650874112, 151730796, 720897185, 207853125, 3149597982, 65229572, 258608096, 120198789, 1493827809, 2533359617, 3762252642, 12059648, 0, 163, 2550456327, 706119001, 67166615, 416, 1715511326, 2153333022, 157303056, 2001395727, 2355604817, 11553296, 107921815, 276203240, 3759115367, 2908881072, 1092485448, 766488716, 1458462, 138939739, 9175052, 1092485704, 224593677, 1644719899, 503357440, 3379501854, 11337915, 3814130703, 859648, 2953190035, 17752079, 706774361, 14784256, 1561, 2478902809, 2470877331, 1102189338, 623529534, 2098770, 455761350, 1172253440, 107021044, 1379998796, 80110388, 1306015049, 16647053, 210577432, 693639072, 152578811, 444137523, 625628168, 1383803640, 456002017, 817898130, 1213143355, 712600298, 1555300428, 652636928, 781673888, 152836713, 79436650, 1610765687, 444152070, 1178469537, 231940307, 1728059172, 787750367, 2092171403, 1585927167, 1162170372, 787750516, 958746809, 2166481, 457979648, 893804334, 1203838137, 72568849, 1382820576, 580085492, 1140916359, 1153974276, 587096870, 1143289161, 826635150, 2094474420, 7106595, 81089418, 1579836165, 1342386484, 1379927256, 684796197, 1354301473, 249129715, 1610689492, 1747266485, 689511033, 1204144293, 3148914795, 8063564, 402683459, 298319985, 225509645, 1795273489, 3540000804, 3611454051, 331048, 3607109742, 2384543749, 553688123, 3864863004, 3104909850, 3762897172, 677464648, 19412530, 2573554432, 928730725, 1075320121, 272975176, 3103804449, 3122794795, 18659601, 1902810923, 136885271, 540360762, 1746565472, 654844186, 1946301517, 2321287450, 4036380051, 419471360, 3722936164, 2314240, 1428560144, 1320289313, 1264995800, 894998085, 3147372976, 3883885568, 587857984, 3247902836, 1929398194, 157430819, 1700224455, 1161851359, 451477566, 491475690, 64251941, 260137084, 68229868, 723059511, 692408322, 811017884, 1275214888, 260120667, 1184120858, 1414469644, 1289328261, 3146514605, 1242564221, 2986615112, 3579135583, 18182480, 3644484610, 1951206682, 642724216, 21766169, 3607161441, 3374849619, 1092373554, 3998154849, 3375072891, 826963, 1170777531, 2348838578, 158885606, 1300890158, 1731274770, 442500710, 36982144, 573839872, 131623209, 712079361, 1277189780, 1210517889, 462035694, 1300240397, 965542580, 981018912, 878979655, 1586373975, 689964422, 1664569908, 835197472, 1640779521, 474745542, 36982145, 387538387, 868291619, 1785735765, 1678190807, 2763176710, 2634315698, 69290612, 1707617024, 239076616, 452425729, 8864968, 1074012926, 1663452197, 73478355, 55796042, 1245577638, 1663698093, 671321266, 3147372976, 3883885568, 588513393, 2986971755, 959117312, 1108857449, 1799702784, 4261431325, 1180509564, 17588992, 2086881573, 1397211151, 2368210970, 1251362235, 2568597510, 1426343061, 33956612, 1150616070, 2399421589, 39191060, 3493888, 28443681, 1228348312, 24403757, 4747299, 75242346, 1610765363, 99171050, 590238305, 474029388, 980942890, 842297345, 817900750, 1327504954, 671893148, 2521152487, 2137260131, 16777868, 773394663, 2131500771, 1392775018, 188089602, 3481088, 15187712, 3409152, 14682922, 377837824, 14784256, 124799, 1677730635, 17586, 69497311, 451478689, 1287660874, 1409355498, 1653807737, 57948426, 79189318, 1124074524, 1391034553, 1864179200, 2902503958, 2237923889, 102895915, 3287593, 2051423894, 1169918976, 1118962724, 1910446825, 77809107, 457783537, 2015719854, 1655332608, 404509417, 15348179, 1305686017, 817434981, 1287192611, 1705659395, 203760058, 571554412, 40264494, 1204144293, 3147372911, 471728288, 13201180, 503360768, 3141606918, 6113796, 457290244, 1483286826, 1903692570, 822192665, 827485184, 1225073024, 2779382962, 8152500, 1770849044, 1230261568, 885588337, 984951072, 179596631, 2521152321, 276253408, 260859821, 2130751562, 268849345, 2534442614, 3403681676, 1739426304, 2960037904, 2957057545, 7490052, 461222400, 576575528, 303688291, 773902663, 3221823908, 548013234, 78139982, 1300235590, 51991200, 164313962, 23735072, 249713699, 89410880, 1640605874, 3144587280, 2964525841, 1402042405, 83954897, 1140931818, 1184051667, 855662040, 671177760, 433521848, 1721062867, 805711658, 1543649646, 1832922442, 3836887326, 23989679, 849516547, 1102189011, 23470881, 338177354, 1142444060, 684720242, 2631412, 1409384613, 2852369046, 1169911299, 78659870, 58280452, 460239364, 1213434460, 21766178, 2538428160, 696518058, 78841005, 1387154816, 68959206, 1562407571, 387515146, 673076037, 3366304736, 1064002048, 2957057538, 1695376131, 224532882, 67322290, 311710392, 377488457, 1586845001, 2149624323, 2996192699, 1845691568, 1092486247, 3760687370, 2559901856, 12694291, 340351285, 3543138592, 757127007, 3461185546, 3376088662, 2853890724, 3024166408, 1102251041, 1247430897, 721422426, 1294621698, 553068761, 874841199, 1796800746, 781658113, 585767181, 28198949, 893414611, 990718725, 3366315903, 1677730610, 7969049, 3003416856, 3225852452, 140298306, 776831054, 2388738332, 2269596163, 307366402, 3999356928, 805904676, 537434181, 1248674076, 1281477687, 287628, 3001515876, 2306560, 6461721, 2986615113, 3542143847, 9905632, 791272477, 11337907, 377840641, 1952593109, 1431527463, 160969936, 721421340, 443090147, 1839617706, 1325472924, 992805056, 1647194553, 1203776071, 452401944, 689975846, 1292501043, 99171050, 590238305, 363463526, 1306015064, 2521116185, 280167457, 1211763137, 721844248, 1380607406, 1300304957, 1705922072, 15361834, 1543579097, 77663914, 720896100, 83968851, 626458696, 525875136, 734666484, 1929758885, 83886080, 0, 162, 17089184, 71609093, 2701394882, 3760949536, 50462880, 12913925, 19727363, 2365580800, 33554432, 4849929, 3226599688, 10485952, 1090606528, 1090593728, 1090621376, 1090592192, 1090598848, 1845559883, 16953344, 4298778, 2059507617, 741032089, 2500760732, 3003392859, 303762731, 264219, 167786338, 1315191594, 2013586475, 1784666421, 3543138636, 1432503905, 2858419059, 2319853000, 2772541750, 1874956056, 1043753440, 461965973, 268438810, 28509224, 1383672441, 1610687520, 551036929, 886529246, 689966209, 1030368037, 3366306197, 2703502124, 3326189918, 1085473832, 453640230, 1458857288, 1699283198, 12594502, 1568293912, 1431389223, 71466804, 1762459733, 107368384, 1893635653, 12686753, 1075011173, 102242657, 1100481617, 3003392331, 320546869, 1476416795, 2264445505, 2553954528, 260859822, 1577105473, 2710401857, 2684841907, 75569780, 26700096, 108542349, 1680148390, 28205838, 1300259482, 1293957912, 1767375220, 1596784688, 67705584, 1297670322, 3247808874, 1871528001, 2669170982, 412667315, 71439414, 68950633, 2525339673, 1235228742, 2685894745, 3883885568, 587530314, 3759115367, 2929066160, 3003740499, 537202766, 2617265736, 3426288976, 36587057, 3355672847, 641816576, 3228675653, 1074091817, 219868200, 103754332, 442582352, 17452593, 3103852139, 167793925, 1479972708, 3156334371, 1323611201, 2710395713, 2669170336, 2697669913, 2687309328, 2348827315, 282657677, 455464101, 1101098842, 1101011019, 2694826029, 429886464, 682824500, 1762460557, 455464101, 1101097561, 3003399172, 1818139744, 471527936, 587677995, 1847518821, 1170777504, 432082200, 857856, 3247905029, 410914073, 11669876, 1597656281, 708706496, 1623927614, 30631255, 1183334421, 1566255737, 1610678630, 1691418986, 690428176, 36983456, 239077154, 1829137162, 2521152396, 4174340, 1006922846, 2623544346, 4060389760, 2779388338, 3802444, 1184629038, 1245577260, 1221343494, 1141531402, 1292525605, 73474410, 706765643, 794306848, 93672330, 3702701024, 120198794, 1795293409, 2533359617, 2952790176, 435249430, 281437721, 2557063812, 631904690, 51991224, 26301326, 1300235361, 45379927, 59663777, 1277718854, 1096016050, 3138197760, 2953648384, 2969568000, 0, 12687105, 50610354, 96541569, 1812004914, 86134318, 1834484961, 70354117, 1326710787, 3888055042, 1627526477, 1627521863, 2516749312, 76874285, 352481044, 33598720, 3148873793, 2703706592, 525024018, 12075425, 1178656783, 2355605352, 12058817, 2543919998, 1370686529, 790379072, 107021081, 1564919986, 1101080384, 3004421224, 3091603462, 3240717901, 538446674, 3909261056, 3223252517, 2325103872, 4301126, 3393298707, 1967234821, 1907560820, 1543897357, 443295781, 85021328, 15347351, 672213205, 980157665, 183114286, 2101347586, 1852468567, 52060014, 1833289893, 1101080407, 3004421224, 3091603462, 3240717901, 538445661, 3375449544, 2772541715, 1078042637, 1085441061, 2862592513, 928167936, 1225078841, 2372141404, 539076194, 1170777531, 2845814784, 4301091, 1347555349, 10485961, 3760147259, 352366816, 1059683584, 3087007937, 2543922014, 1085473844, 1312686739, 721421571, 585767181, 2975380, 3671384, 1762143000, 793855936, 518658560, 1366005317, 12687265, 1868447923, 320096576, 86049364, 1660968775, 1611935072, 167662401, 339544760, 1721065484, 1184643692, 5331790, 571570196, 1292501681, 1762666784, 101607168, 712719092, 1313492773, 3366256705, 2707308723, 72703432, 1073823086, 1300913177, 1607355776, 89725450, 12607128, 673514607, 1783955686, 570432115, 1405756455, 70734602, 7430474, 1229520938, 1251682318, 1728079284, 1584922679, 99949357, 2521104544, 441229335, 3386907435, 2687440640, 219807757, 419433752, 857856, 2870411424, 1724822020, 1094003225, 633906572, 7160094, 122597892, 1094006634, 1888896396, 6111518, 22852100, 1479102979, 1399527962, 829955112, 3489852977, 3103945968, 2995519551, 1092487510, 2986629161, 1375933513, 1546937413, 3426166216, 2777415719, 1092486482, 2986623285, 2001988172, 409324460, 2995519507, 2986623284, 861230893, 1214516520, 3513099720, 2780536933, 3232891969, 1484341713, 1162444965, 1097138506, 2991745192, 2995519515, 1097138764, 2993131041, 1170777484, 897562, 1612417898, 541497750, 1169928192, 16777650, 228074135, 2818940929, 3400665954, 3903163392, 95585477, 3871281586, 12478105, 438306085, 816321792, 1452166968, 400659507, 3871281729, 302075058, 39087429, 3366292480, 162660948, 1834522181, 3149006296, 580331532, 996827137, 538991827, 1073849509, 3247378689, 2422977042, 1180904028, 68762410, 2037050076, 2778752768, 2444362913, 1997818189, 1400898818, 359279136, 647211173, 2348841923, 2400256360, 1286738830, 2094507173, 2348837827, 2400256320, 1286738502, 1663753381, 2348833603, 300961458, 281636179, 1733798629, 2348829507, 295720114, 301616596, 1543772475, 712600298, 3701836800, 893587792, 1420956276, 1841833988, 423307897, 1793776805, 2348818243, 287855794, 282204970, 1793069257, 1834182487, 2867170304, 162664682, 835964247, 2996192699, 2870018560, 173, 29040900, 2566304256, 2801795092, 3240666629, 1159211540, 3240624260, 631937202, 5645770, 603985089, 681968965, 405411009, 671456423, 2845314456, 77830160, 2600656911, 1225981942, 11665575, 5313, 681968965, 405411009, 671089729, 1496197408, 10880325, 405411009, 681968960, 350592165, 224788749, 503374679, 68092053, 1701746704, 2987553904, 625301783, 402859585, 1075319122, 2415934230, 1162356499, 2319851796, 672090411, 174025216, 3545443626, 3760301645, 168092240, 727404133, 1076747520, 678076450, 2455120485, 1366828295, 2703239942, 3396163451, 758803606, 1169931020, 352455699, 34345474, 3762261215, 14688074, 1427439629, 2499862591, 2366701723, 33555456, 0, 38, 1285047566, 1290265431, 386400418, 2550383149, 33792002, 3248554499, 3267467010, 825250753, 2500881515, 1791377680, 1833463298, 277676001, 1090657746, 1090664398, 1090672074, 1090659270, 1090686792, 1308789388, 4291250690, 172510722, 2509045693, 1308810380, 4290183392, 254419026, 2281759127, 224, 254419025, 4261470615, 224, 254419027, 2818630039, 224, 254419041, 2785075607, 224, 254419040, 419488151, 224, 1064459264, 3759090208, 1751646433, 2533359616, 2952790528, 162, 16958112, 46153986, 390376194, 2701263551, 4155572289, 2707308614, 2553528499, 332687544, 1176522058, 604055946, 1677806624, 524829017, 2776390, 564149029, 3366257729, 903045577, 671501318, 1292774009, 15097588, 1879914793, 710944074, 1411136301, 107348262, 1577070231, 723059937, 82206452, 1880380755, 1610702016, 268003955, 706743438, 1728078490, 1705664096, 711525601, 141058378, 12594382, 1327510068, 1879248928, 752288083, 2763129938, 465570839, 688277025, 339571114, 1275142483, 1700210977, 337643713, 606084311, 1587282701, 1797266765, 979960788, 1747387521, 443810694, 2014604069, 3366257729, 924392041, 980156516, 68703065, 894913546, 1293944102, 8349523, 1297154945, 1812092565, 712507447, 404502826, 17198423, 1277625384, 459955808, 80296529, 2014201402, 1238571818, 604469269, 915953076, 1566056787, 1678922520, 721429038, 1301171584, 89024256, 902575112, 701577836, 81931562, 715152603, 980026254, 1295515712, 67640170, 1583420460, 402748185, 1564887043, 270540441, 1720845537, 73139489, 48655827, 671168281, 693436451, 586828017, 2015824235, 1385758967, 959195144, 1587044696, 2120923, 980025386, 68703065, 3031568600, 2646822, 1595942556, 1277494552, 1171587151, 67657554, 506350976, 1585988352, 74803761, 15081985, 375807732, 1916666075, 720976492, 12594393, 438316241, 3300000833, 924392041, 980156495, 403201865, 671184665, 1793685507, 2037666592, 518923658, 18305816, 980156608, 625628183, 460213569, 471946457, 873949816, 7537763, 1949304677, 3366257705, 1586823259, 189471526, 3300004820, 1756907040, 113322773, 688795584, 403258090, 590238309, 3366258113, 404753345, 606089962, 210246506, 1583420678, 1600791554, 606667793, 977953588, 1296112792, 1691425049, 992632833, 253303334, 843998552, 2705619, 2014854122, 1610691931, 721317947, 81855537, 842298112, 92879424, 244670107, 959063047, 2014656152, 1437883736, 559113234, 1394082977, 260717289, 51190068, 1929398939, 671499808, 186536769, 474681333, 455934862, 1295516436, 1798140248, 1678133907, 805372697, 438710862, 1700267169, 215175981, 719326547, 1392063814, 1663420581, 71382116, 68703065, 894913546, 629801001, 403463491, 285633879, 1277629236, 2101158, 586441472, 404239569, 1184629108, 1562379462, 19291648, 1733512529, 3476195, 945123452, 1382557706, 1311137162, 604049170, 1385772361, 82077312, 67325120, 267721517, 59657528, 13783660, 51976742, 843998552, 82060754, 7617073, 1783516377, 721421320, 459955813, 3366258113, 415245527, 1075407475, 706741641, 977276545, 673205911, 1705646873, 81856314, 1315587073, 454185625, 872510778, 1665007651, 768689481, 2910094, 855639153, 685452033, 355081953, 406134088, 1380605961, 693447392, 260113210, 1315587079, 1557340586, 1610702016, 1909008392, 1391933748, 1544628425, 980157204, 1798140248, 1677790400, 1289182876, 719344234, 36313390, 1300259482, 1705646873, 2521105537, 415239939, 70975767, 1387608684, 26680088, 2521105857, 404770455, 1705664096, 711524393, 403395314, 438317271, 626197732, 893989208, 28190016, 67640170, 1583378641, 1191253027, 962594050, 372527616, 1788941344, 976317198, 165746729, 403195546, 666903774, 43673358, 625024033, 243814986, 1610694848, 118251164, 1704985900, 1184643692, 39084810, 1610759200, 1585521705, 67640170, 81931511, 684720179, 67971372, 671160433, 1399479703, 1402142762, 68375289, 874973544, 451555153, 1203783891, 958029129, 44459424, 223892313, 874975699, 2100161, 616586904, 686433281, 415238036, 1431503641, 1598580567, 673535182, 1328161820, 903424039, 136411178, 189137286, 2101858482, 96540864, 819931380, 3343378, 959996929, 616574615, 1221656966, 1563053095, 136386836, 1377830007, 723070801, 3867874, 791287833, 418457606, 647450368, 67270697, 67902442, 512084133, 96540704, 1237919274, 44457760, 86376820, 1581663244, 451488353, 479013164, 721434057, 671154438, 1834437634, 1881348105, 977287729, 1783516377, 944710290, 721421842, 1394092800, 752287943, 1399456993, 111568288, 79766588, 586834346, 605828569, 672687763, 721493057, 1909663488, 441732480, 525874520, 2305588, 1901527274, 654312963, 1948929687, 1705057433, 1342242931, 402748185, 1598580567, 671293530, 1632259111, 322175008, 262223530, 592525527, 1203790246, 1430847738, 1638555687, 75569344, 126622368, 107020714, 629825537, 673214808, 3836872129, 404775578, 1705664096, 711524393, 403395314, 438317271, 626197732, 893989208, 28190016, 67640170, 1583352705, 240411402, 1612013211, 959054126, 1208895034, 1238571822, 1382096011, 444144409, 956712510, 51190442, 604842284, 721421415, 1796025088, 94789350, 2034827308, 827607385, 1573388983, 688808404, 1277629229, 734004931, 48898387, 1715339385, 573462186, 606406561, 543696344, 559369224, 1564895063, 721421921, 51190442, 1610687520, 525874520, 396362881, 415246054, 848495782, 55785748, 1583420608, 854199448, 720710265, 77987917, 1238917542, 1431503156, 807732344, 728390865, 28985555, 23999319, 721493140, 1275134858, 1663066569, 671163424, 819406163, 2118873, 872622144, 404181770, 14098071, 3610649, 1785932325, 3366257717, 455934324, 1177842432, 67335497, 826279206, 19540640, 1557871210, 2307398, 654331543, 1705646873, 81932090, 1315587085, 684285976, 1398355850, 1663112806, 1593078227, 805382336, 1557738839, 53359033, 18291601, 81931622, 981009293, 989280876, 51669609, 6818637, 685188097, 1282539822, 1565025748, 1277629075, 2107608, 1677793472, 1598967113, 14098876, 465576372, 1095303212, 1833708326, 1708444850, 70720366, 1296041162, 2000104010, 1203774794, 1411843138, 1852468567, 38158656, 992331941, 96540883, 14098858, 604838449, 2698707, 672275175, 1161894945, 886129688, 1721065478, 519722801, 2013341728, 241373376, 781657094, 586441472, 404252394, 440473473, 1812005446, 1559308289, 420944144, 689964135, 1586506337, 479537901, 448266432, 775180576, 1390420625, 1154834752, 86049030, 1832939644, 1566070419, 1640449345, 479809537, 8193037, 439419541, 712507447, 402744052, 1379998756, 81206061, 719329907, 1406029184, 1907252974, 1300259482, 1293951634, 980156464, 239099540, 3367113517, 455435008, 402863905, 3971089473, 896818478, 1300235288, 1726618176, 210108714, 715130787, 30561944, 1640449344, 1655989287, 71047978, 1543575633, 579937319, 69365801, 68623214, 1296063960, 671164742, 1663042684, 723059937, 270931969, 1886722612, 1300235267, 1282213153, 48655827, 673649460, 2101153, 404761209, 1557340480, 88474506, 1176858900, 1327062856, 1699283005, 1653746573, 211249619, 689976529, 3300000824, 1726618176, 625628499, 1612126894, 641598625, 203977176, 708707050, 1733774343, 695491904, 653554286, 1300613285, 72569646, 557846080, 67327095, 190998720, 653142752, 1587176768, 1901651122, 71382095, 402881653, 1296456705, 16017204, 1208034496, 625628183, 460213569, 471928488, 1383676538, 721421633, 59400993, 474699498, 550976154, 1611154898, 471487489, 684938029, 719349203, 2013484070, 1452827079, 1161894987, 1639210784, 1628904007, 1161832092, 1275134708, 570436808, 671295530, 404252394, 440780965, 157504560, 67771161, 22226688, 123802659, 404318835, 706743619, 1278673948, 439420129, 270931991, 455944928, 1361642258, 1376417812, 647430195, 68950770, 13523969, 606103379, 1297192517, 75576512, 1184432169, 1638293152, 1585988352, 647777305, 124111013, 69288998, 402743558, 1834437643, 1781596201, 519323987, 51991146, 81855580, 95953559, 564798465, 207422889, 693437192, 1557733802, 1610759200, 775181025, 474702484, 1740646142, 51522097, 2492984, 1727286656, 123804747, 1423649056, 1423520796, 979984385, 1086326549, 454564234, 2753564, 723059874, 2121364, 1210385510, 586441472, 402798361, 1382678775, 959195137, 673211034, 1705057433, 1342243142, 1663047681, 1897339152, 2518488, 955328551, 157883120, 2318932, 1096680250, 1315587075, 712269613, 2521105441, 2108580618, 1610813480, 73877128, 1124075004, 465946789, 71382067, 67722444, 1382376192, 1154374693, 1882914848, 1585987586, 1882022150, 1592402951, 2014004434, 673646951, 1153974611, 689972884, 1602648067, 673842200, 1398387890, 158815033, 710955561, 8266154, 1663042753, 1318266888, 1391667936, 441732480, 67709175, 990234789, 308962097, 689964641, 17640217, 2496540, 1587163577, 26494240, 1663461194, 1730805801, 403266764, 1382402213, 157431530, 604077094, 1204702592, 165741300, 571998267, 79436584, 903065778, 157431530, 604077094, 1204702592, 123802865, 1360018028, 2108025, 1557340480, 88474426, 1315587089, 684276332, 41180973, 82076244, 1094722391, 1191183874, 578052919, 976748579, 153561916, 693305416, 1699374501, 3366259042, 891951392, 132192830, 980156838, 1163927092, 571362688, 68708074, 440780965, 157508564, 1785463700, 1221788860, 685193836, 12592599, 1740637287, 691476876, 1162412436, 1918965518, 1728055782, 49553920, 107020564, 1584028711, 296377357, 433520678, 1785735765, 1677790989, 671160967, 1171995290, 1610688559, 1458200915, 557913201, 107348791, 443066546, 158669613, 6957272, 1690071384, 1677852864, 103360788, 1557735712, 92496247, 721965400, 2712210, 714287111, 456738259, 805919948, 1383596067, 1566057294, 1300245710, 1544690121, 712508642, 69612759, 604056362, 1176531380, 2500238, 1300236067, 1932350218, 44457784, 2688011, 1566057098, 1610700921, 505815562, 1296629795, 585507338, 604469262, 1328172810, 27925285, 3366258113, 404769225, 640286761, 404187603, 689964984, 1708213262, 1253518104, 996803353, 1382678775, 959195160, 1423134163, 805699882, 715137446, 1648434332, 455760907, 1184653323, 450895187, 685323303, 158669674, 605362989, 6950497, 1556088596, 1431503637, 420087012, 1719665688, 1398354981, 68492077, 6948582, 38691646, 54152810, 3300004313, 387449024, 1184051228, 465577628, 3434218529, 1143349908, 1140919590, 1252072481, 433520678, 1238919105, 474703758, 1665008294, 1704986113, 51669805, 685270040, 1445881600, 123758236, 451477696, 1909008403, 1392063831, 1203790644, 1296047854, 629802145, 213913596, 723069681, 2014931571, 706812993, 79773728, 1155097943, 7471136, 1238918145, 218970673, 50997824, 89415116, 979789125, 3366289573, 71439707, 710936262, 1275994437, 1924014597, 3366257729, 875763737, 965567496, 902974814, 2712209, 959327690, 605100902, 81921373, 1699948288, 1788873873, 685270022, 1318663511, 28986679, 689974602, 1677790516, 1918895430, 3671595, 450895185, 1400970315, 117988552, 1075074387, 1610688544, 1654285729, 343540759, 723142432, 86377229, 964231219, 68636944, 51993817, 2561804668, 979974764, 18112238, 647430182, 768689481, 2892423, 1900503079, 320096576, 94854800, 710935649, 20603680, 165740651, 80296729, 1793534241, 471951082, 1293944097, 54278937, 1610682170, 1584922662, 1318544810, 454623274, 1654285756, 723059940, 1382024195, 1326327104, 87313728, 1737384737, 363737504, 1788941350, 402881815, 420517445, 96540864, 126366930, 492241158, 1600791554, 606667799, 1360003172, 67783968, 86377229, 1392050455, 462488804, 1382024195, 874914554, 626096136, 903359018, 604045946, 1223318533, 1689261861, 3366257729, 926382547, 805383046, 1174407174, 1275271924, 570804389, 96552023, 230840195, 1922244928, 403712627, 706742502, 5310217, 1367349187, 472450055, 1382703106, 1835160768, 634606342, 1793424423, 136730278, 1565746750, 27681381, 1663045434, 1632174151, 403788396, 53365057, 343671817, 1796800550, 751722046, 53295376, 13714452, 1834419425, 110315456, 732058662, 1318544810, 454661701, 158087558, 1328422921, 1367351953, 1154942113, 1632850764, 872554285, 1565131501, 980689239, 1392866062, 2101936436, 855708710, 1204702592, 441329433, 2106695, 1574475333, 158421612, 8266298, 470890840, 5178380, 1587170592, 1296456705, 19798612, 1294299917, 447357980, 979981185, 471933498, 469834010, 1574202129, 2013752051, 689966209, 53295376, 22258866, 71062249, 1610966151, 408555889, 455944393, 387974567, 1794320672, 115409812, 1361430693, 158472935, 1161847590, 989600704, 222909331, 3605516, 1184122881, 213931224, 1623992323, 712269613, 2521106785, 1882260884, 623998982, 1301358880, 193007270, 1661350232, 3349041, 19815752, 1708412677, 3366258113, 404761209, 1557340480, 88473677, 587093792, 1390438034, 472320370, 451364160, 1663449852, 465571162, 1409368256, 819538822, 2013682957, 2521105442, 892612632, 1289052179, 454638142, 6584986, 2521105537, 415264200, 983195836, 1184121299, 805917056, 860249390, 1300235274, 1329011304, 673646625, 441736512, 1390429528, 1610694488, 1758527796, 807742376, 716767346, 5573337, 921315341, 684285953, 203818008, 1005191209, 442509866, 1436962597, 3366262564, 894904337, 960496644, 774268330, 423101628, 915941389, 684285980, 719979185, 420094978, 1052001624, 16646176, 302656170, 1543578656, 289033610, 165813458, 468602240, 1786321689, 695879274, 1661323449, 96540704, 1922515725, 1386218785, 3278116, 787750559, 4239525313, 1143342082, 328490519, 1385301218, 765871648, 580085203, 1767375174, 1663042684, 723059873, 213927127, 827785265, 1170890753, 673211034, 1705057316, 95558270, 51194427, 721421431, 420503554, 1008758993, 1191253053, 67244948, 1577527912, 873026126, 1289300736, 68637330, 81921062, 1221142529, 623271425, 363469694, 60051744, 513428768, 93216403, 81856404, 1577527912, 872487705, 433269024, 101849726, 63576824, 2714378, 77663270, 625628734, 26503562, 604205869, 1397502979, 474817062, 1900609747, 977683484, 260983479, 991186249, 5192481, 472122791, 1794310726, 1578631203, 728386579, 1395286044, 1574528339, 3348488, 1556553033, 27675937, 479337086, 14098643, 672032082, 1610692360, 456731370, 604125216, 491987365, 406520017, 709310744, 78795513, 450888821, 723076417, 339493486, 1834483753, 1826044570, 1612200938, 1613058345, 50879701, 1610688362, 1178224677, 1893531910, 1295067905, 337857352, 873616106, 82066016, 67270697, 404171302, 1708862014, 17901783, 14100672, 86049002, 1292697645, 426458026, 605632234, 672687315, 654317440, 1598519333, 1624593838, 1564546083, 633752211, 604336129, 1433689664, 404315590, 1301391538, 75569344, 1664555628, 671565000, 1073947649, 3971089857, 404752537, 1586837440, 1586776101, 768689481, 2902354, 1390812625, 952108347, 451826520, 51666744, 82072160, 1382678637, 79757380, 287382681, 82147465, 1360614112, 86271398, 1782998871, 868580361, 697772352, 100937882, 289411882, 564206744, 728390865, 43066386, 428744732, 443113473, 911501945, 689965542, 58789606, 570498123, 579945800, 1707228201, 659637249, 242098698, 605581975, 654337368, 1707833345, 673197273, 671163974, 1337994900, 1168530750, 13200723, 1733765880, 82076230, 1176510105, 1714053128, 1383667763, 634921175, 625541556, 1263739729, 939882688, 761004727, 722100074, 604064977, 579686949, 2082931841, 415261498, 761930772, 1914702310, 44719373, 2521105465, 733544486, 107159175, 1629117760, 1720922954, 82057777, 7471208, 189929770, 4785350, 48901463, 711469057, 683237715, 634597377, 1287669977, 564613776, 18115927, 373679269, 158145129, 395389753, 719987729, 418006017, 415968733, 689964353, 59131429, 3366261638, 1584287109, 1353127137, 89994695, 993525811, 119620653, 68509333, 720992257, 606095820, 926810162, 86133950, 1229290533, 73479200, 788151096, 2696657, 965365536, 1153913568, 74999625, 2014604631, 38162368, 2034654977, 474771892, 53766413, 721427070, 1705921920, 1909539863, 697772832, 992299175, 350583566, 845817023, 350498548, 513801383, 298982729, 625541171, 67318822, 442520307, 455738167, 1387100168, 418270553, 2521109261, 451502081, 616587846, 1638540313, 1586837440, 551036945, 993602272, 68637330, 2521108947, 3759764, 1210399352, 586030409, 5178379, 1184128037, 80085399, 677664083, 1691114706, 20388755, 2891302, 570433958, 1174477966, 1276012288, 197204160, 505815552, 567747114, 2521108906, 1564481545, 451936678, 1178344384, 1733775104, 403198707, 719395993, 1342242941, 80085286, 1577082516, 1210385729, 21390112, 80427819, 1780499916, 925223077, 292439598, 1300235283, 1392063831, 1275927083, 2688001, 1143347202, 886466775, 995268165, 75569344, 573184736, 232989713, 2043883521, 1277190355, 2763129985, 415243463, 2014849216, 1633113427, 1679323602, 1238577153, 1277172442, 451832389, 3366257793, 415245638, 605563072, 1633113427, 1677806784, 893801473, 3971089443, 742064186, 88238662, 624952632, 443090081, 1951728845, 451477546, 1632239827, 2066561644, 22110533, 3366258113, 415248023, 1230438625, 1158763274, 1680278570, 1977180161, 875168778, 454623267, 1901651122, 71382116, 67588921, 1379927334, 3679895, 1221813251, 338104750, 832573153, 544483961, 720896048, 67654250, 2688003, 338101300, 1312686429, 178329642, 68375289, 3031565377, 877548138, 28986679, 689974602, 1677941792, 513369746, 2688003, 338101305, 1386218785, 6619174, 573184753, 2015050510, 506069051, 2521105473, 877553556, 28986679, 689974602, 1677941792, 211824180, 1390484625, 1385314924, 7800001, 49170433, 606080161, 472122566, 3935906, 1008759128, 1679309098, 2521105473, 900608416, 249626731, 86048869, 81856238, 1208034336, 211815138, 1149174881, 539822643, 685179353, 82077312, 67771161, 2519459, 272500034, 1757441482, 1909665809, 690759717, 1720976173, 107031073, 244553285, 71382634, 450888727, 977274145, 6620388, 418671936, 84038694, 1386892289, 673210910, 82077312, 68954905, 77755430, 404047048, 671164961, 206510108, 959054378, 629839429, 71382095, 402881653, 1910060083, 442520105, 20209222, 1327500449, 472780449, 407778513, 797341703, 725363027, 2100583, 708079617, 203447762, 13063018, 81858598, 442510242, 1412039704, 1398387890, 178017105, 644178720, 1062360065, 1077646917, 97676057, 3542822, 3687879, 1557624869, 255990816, 1587419680, 751974974, 82057777, 2688024, 894528856, 3542828, 1289496864, 89471304, 721428416, 1785421258, 1295087628, 1318202113, 479809537, 7537862, 1275753945, 2521105473, 877598723, 1412629522, 959006016, 86376504, 211885191, 708079617, 538971296, 513369746, 6818648, 693305379, 249632800, 1574043689, 67310631, 157832021, 1161823537, 690760448, 218262282, 710937057, 43595095, 51258688, 86048869, 348220418, 1413353024, 119755814, 981019378, 690887466, 3353130, 1826175055, 492400970, 1276720792, 671235104, 1395469024, 1640572967, 69891157, 100754481, 79767584, 685302962, 178017105, 644178720, 1727922290, 2521106465, 433215128, 1640449344, 88628888, 1610704174, 1663454474, 2521105857, 415238039, 1385301180, 915941378, 1882009239, 1229521150, 13828753, 605100902, 24204161, 472122794, 1977180161, 1812015136, 685270017, 203448986, 1705363621, 96540864, 117523834, 1176503590, 1662279466, 604842203, 2014451981, 980049857, 395131639, 980157044, 990791617, 471926328, 1230063360, 86469363, 689986904, 991515384, 82057780, 1300255338, 7144889, 921315335, 1798918776, 3480298, 79112981, 689519466, 1203836660, 1785267385, 1573277082, 1154942113, 253126871, 673649254, 1733761585, 2015694585, 894969863, 1798918776, 2964088, 1727669038, 1383596951, 993602144, 107227271, 285484174, 285285451, 119028115, 3346771, 841900448, 249972256, 67595065, 1383596806, 2063932416, 5, 1686704324, 1284247876, 1543860412, 9245124, 814547099, 310658201, 281292938, 388308004, 95057369, 1610688544, 1901618177, 203448986, 1705363621, 96540864, 634598336, 573858137, 13188296, 712572970, 403774188, 719324705, 673205911, 1705057416, 903359025, 689964774, 7144889, 894969884, 1391026365, 350559232, 4791, 1395270442, 604469415, 0, 9114340, 1351029380, 2090800352, 306590152, 8799447, 1208230546, 1423145127, 358541, 707874853, 781477542, 615782373, 480707714, 1728719424, 88238291, 2014007961, 1422458939, 78467978, 1834456645, 71382839, 448080160, 980957482, 12608145, 958423850, 706748620, 2830238785, 878969881, 1386218785, 59393569, 479996465, 20204865, 472122794, 1695365740, 1610759200, 1640572929, 606105937, 1143407745, 415238024, 1556627462, 586441472, 67316836, 67784503, 443033601, 683673122, 1008740568, 1680148386, 1416104776, 1587044681, 21389777, 4172419545, 387449024, 1184051228, 465577628, 3434350017, 415245522, 1409825512, 1780898839, 1385301180, 915941378, 1882015945, 671163639, 957349923, 1251435735, 81856244, 86058041, 102832224, 1842886897, 673515426, 1960138054, 1543579738, 216687885, 980180994, 1008758993, 1191255076, 80085670, 1661350236, 465569089, 59400997, 3366257698, 1885277000, 1171397961, 2521105857, 415238017, 1158958886, 980307328, 402743943, 1184051225, 418457637, 1317021338, 522215769, 4659577, 720588879, 1699087586, 69607978, 450889217, 42417480, 1728055777, 52829738, 7471136, 1795841792, 1901537294, 1294608672, 1221133540, 979371018, 454634227, 18112106, 1543578656, 102832320, 126702122, 12471936, 1251420185, 886243700, 1793079912, 894960046, 832928807, 75576998, 1661350236, 467141162, 422464896, 461797377, 673214808, 1677790240, 1318544828, 723097157, 311642048, 403854168, 671634257, 604777248, 108595045, 3366258113, 416481382, 1586776101, 107020382, 86070317, 781868035, 2058642232, 19547603, 685324908, 12606792, 1691562833, 450894570, 405081825, 1411805603, 272500034, 1757417431, 1384842468, 979381448, 1680153137, 42417480, 1728054881, 1680939701, 685178922, 189144692, 1581663806, 36068746, 82077312, 67771161, 2496533, 454564234, 1893598433, 271386380, 447630720, 564552280, 2753564, 723058723, 1318544828, 723097157, 158096707, 286071570, 15814928, 1610694534, 4172416449, 415237911, 1385301172, 1296053457, 738272309, 80292535, 723003681, 479730233, 2015107882, 1544242844, 1610694848, 118565072, 3343368, 701577836, 81856147, 1203776418, 1411777857, 59400997, 3366258113, 404761209, 1557340480, 886129665, 606081254, 1308624164, 2123841573, 68229868, 723058918, 1309560192, 980968921, 1798179297, 606081431, 677647187, 626471668, 1785266314, 1252941121, 474698967, 1707492358, 554986105, 2702136, 28205876, 1606419649, 1287193636, 1171991296, 86048921, 1901161792, 292625197, 684286131, 387974753, 17636025, 719325668, 1009193646, 720720505, 9127129, 893789223, 158487274, 19555534, 1162412462, 1664376768, 398869738, 179383064, 42417480, 1708861631, 38172674, 1769237097, 3346801, 455944393, 387449498, 1726361940, 1795169113, 1357795735, 447576069, 1687033618, 9910541, 2294852, 451562680, 1678077956, 1652560673, 1823741729, 479351577, 2688011, 1794325306, 1564478147, 1726377164, 689971136, 1423466963, 806887643, 711731960, 82057777, 7471850, 1221480192, 96039552, 1640779520, 209781364, 1596813656, 1677790836, 1596795096, 1678267123, 720896041, 68637330, 77682438, 2024215776, 5313, 1891374976, 10162628, 681316804, 1284243607, 310661266, 318767292, 394598462, 350559265, 1893597257, 399793766, 1698695097, 454633850, 1153368102, 88146246, 1663147173, 96552835, 1935157536, 532690577, 626483201, 654716249, 2013866676, 1616191133, 721421659, 962331437, 701956372, 1328172856, 82072160, 67325710, 624952609, 3212486, 51262048, 112729048, 350559417, 317343937, 1278935949, 975831072, 1699824983, 48916206, 728391681, 1057369433, 2013866676, 1616191133, 82080170, 1275142189, 768817933, 690034218, 459931680, 513606817, 224201377, 673211034, 1705057432, 426403776, 626348802, 1425306968, 6228823, 710176073, 3147575, 1385305733, 480711469, 443547682, 149167315, 1104359427, 270537716, 1577406649, 2158298561, 415261254, 1176573153, 875627923, 1342782233, 980183512, 903032843, 685337322, 1613169793, 913572189, 993525808, 121066130, 2521105857, 404755302, 1782120489, 67378387, 1073816735, 1391461537, 1278544801, 913572148, 1392023109, 96540864, 118958361, 443312678, 1545032338, 81855814, 1663042684, 723058780, 1901537306, 1632174151, 1664376275, 806885738, 1740645717, 1392661748, 1968702625, 1959871489, 1484333271, 695879230, 48908955, 689971136, 728646677, 720917112, 82077312, 67771161, 79440665, 77663357, 86048817, 94462260, 1392253912, 81856116, 1596795635, 12153041, 1152974889, 67191846, 404239826, 1230453356, 18505510, 107030062, 834208996, 979371010, 2015953921, 1143347201, 1662603882, 18488641, 340661541, 537602393, 5183512, 959055076, 711744731, 689965537, 51258688, 86049050, 188815463, 1163486551, 980194885, 75569344, 592929985, 1277759129, 124111013, 96552835, 1881166187, 956956713, 67379622, 988944992, 86048903, 443547689, 334781953, 479279626, 2118445, 719347348, 1258293089, 341117635, 1700619603, 1641753150, 57036070, 1172252961, 471942803, 671773781, 79767584, 1318544805, 3366257793, 415254745, 564613776, 50756051, 805659803, 990008479, 310664336, 9312032, 124111013, 388307006, 348223492, 1842875044, 733242824, 10424964, 1552941140, 348221606, 126164135, 286543642, 1193280514, 1284643214, 537159398, 1834025094, 827532225, 378995566, 1616184817, 1359365128, 1381329706, 1545102999, 671227476, 1564484953, 433152178, 2535785601, 415255895, 1855610884, 1855004883, 1342452340, 1228932965, 3366257793, 415243834, 672209130, 1140976818, 11802240, 291789972, 283398303, 333451844, 411832772, 537140358, 304366740, 310660100, 546574916, 1418072676, 2013614260, 350559373, 707874853, 282802393, 1390760103, 350512768, 1143145959, 439440019, 79174592, 304355475, 287644820, 1705664398, 1631655892, 1756912960, 165756572, 1286870245, 479416348, 452401785, 2013951671, 723003680, 1390426709, 1170875431, 2498036865, 415261402, 94854600, 1073835009, 1433020984, 7217702, 4172416033, 1143349818, 1730829641, 2893127, 1545995782, 1275754161, 1393447521, 471927704, 693240554, 423493674, 579945685, 1631963301, 75569344, 172059685, 519323987, 3626442, 559453765, 75569344, 550970369, 865549102, 1300236770, 1413191237, 10230515, 980162469, 469762049, 942764156, 580084535, 1763256608, 1399479298, 1200232960, 1585987608, 1726375105, 478751540, 1289304143, 86668977, 1393454424, 3344161, 1143366455, 957958080, 1458845127, 992617652, 350224384, 2, 1284643214, 537141467, 671359634, 1423145127, 0, 21847, 9569508, 429341365, 405089943, 709282983, 69891338, 1661889873, 2014059337, 2013814428, 1275143313, 1391001737, 979110564, 774268330, 421528769, 3971093044, 1562382638, 1267623096, 1611161244, 1275140155, 2521105537, 415239959, 689966563, 604105906, 75569344, 320429257, 996564442, 1610738866, 158472984, 2701578, 24004152, 2126168, 1700219917, 439025705, 68637330, 2521106808, 1721062743, 689975846, 1660956198, 1644168582, 51407409, 394677541, 1897354008, 512961280, 1222066643, 805378107, 81855857, 454033446, 768689481, 2886888, 1162238993, 987380005, 3366257793, 415261210, 1176858835, 616309492, 1661424234, 1611287959, 459940866, 1008742950, 1661323429, 75569344, 854207072, 1439310144, 87366314, 1543630002, 377835520, 291789972, 283398303, 333451844, 411832772, 537156756, 283398297, 8917636, 1217728708, 1285423109, 1353979109, 470037841, 1182864530, 454634213, 1353127136, 151762, 12600537, 683428489, 706764423, 1394677559, 433269024, 209989786, 289411882, 564135253, 720065266, 57040340, 1795187154, 1445593524, 1795831441, 604727912, 1708412677, 1218909408, 288384, 421084006, 1698711873, 386299905, 24397364, 1909665981, 350559232, 0, 348223639, 310647956, 320935078, 127481299, 855639369, 1353058245, 480710873, 3105111, 1841834164, 2158298241, 415238029, 1385169113, 1690842441, 2753559, 1360003131, 2521106808, 1726369162, 1203776722, 976100064, 518415104, 1154704727, 1275140670, 980156495, 67919514, 1294321829, 75569344, 1221800490, 605578570, 1141381514, 3905093, 75569344, 1430674976, 1296581158, 557844320, 93153897, 1565089793, 607671622, 1580766789, 70132179, 806901073, 1191184677, 1686768772, 1229310137, 70330576, 5661511, 1230451017, 2106709, 1566073161, 14100672, 107348660, 1377830201, 685203495, 75569344, 887060482, 140772361, 693447449, 44457760, 86049460, 1378207909, 311623712, 224467136, 1458446673, 722993556, 1159757463, 1112417285, 2025876689, 1757889856, 579945800, 1721177880, 31009349, 4239524993, 416481619, 853962057, 66346514, 958400357, 3366258113, 415239956, 589705875, 438313601, 1290410734, 1300235281, 696929592, 12129066, 1275356596, 1795230879, 1391479241, 1622736931, 388250208, 293032184, 10233860, 1727685413, 3836871809, 415240561, 455944393, 51976789, 3905093, 98121450, 673141488, 1237910297, 441778410, 452460736, 1452762854, 178332817, 1391001737, 979110564, 774268330, 421598393, 312105988, 732441368, 996802705, 684272357, 3836873069, 443092199, 1385170087, 1397957633, 1301752147, 36313901, 719394574, 1728054881, 6161697, 49566277, 3366258119, 1385168934, 1928226602, 1275153600, 1720922954, 2885282, 1355940691, 751974958, 451266725, 328490592, 73866041, 719987713, 1318266888, 1391667936, 86048817, 80085233, 1765809812, 3232895726, 834207978, 1640572929, 45768369, 671568528, 51275520, 404501977, 672419141, 3366258721, 462895929, 710936166, 1276792166, 1238448343, 53759386, 671157546, 1691240192, 68837696, 87759598, 1398276678, 835197472, 1357850905, 1613046190, 695302145, 51648392, 439429408, 389159310, 538712681, 388045958, 1453743443, 1715340077, 722075946, 1841834752, 1922514951, 2014663123, 1708339225, 894566500, 68427242, 589301058, 1767072407, 558974281, 77664045, 710943142, 1328434560, 67524279, 1387739353, 672274830, 538727145, 1613174724, 992305920, 1727678400, 440827347, 806179712, 585770833, 1398276909, 722075859, 566906680, 59399489, 366496952, 1678664885, 2548372030, 980156467, 67726105, 77663508, 1834428704, 93475369, 77666496, 1465341482, 16011781, 3366258119, 1385168934, 1928226602, 1275153600, 1720922954, 2885282, 1355940691, 751974958, 450960518, 1662667219, 805521428, 1296043278, 1294608672, 1699824646, 16011776, 532691768, 18115927, 77747238, 1171270206, 24004138, 604058298, 1588668437, 1587030053, 67319849, 111221478, 1565620248, 693306010, 1728980288, 67384042, 210004585, 720133786, 1293947218, 1440196786, 75569344, 1585926944, 124111013, 311623712, 225524056, 12601991, 2014800126, 2521105537, 415255175, 2014800126, 37632620, 3905093, 75569344, 626222409, 51980625, 16020481, 3971089537, 415261329, 958423850, 706748620, 671173664, 1237919274, 2688023, 1385338437, 75569344, 1422409932, 671163654, 1294870816, 848569802, 1610738866, 75569344, 579748865, 619780368, 78077134, 625541913, 1574121473, 3971089537, 415240135, 1762667296, 123802795, 23735072, 107559122, 724196353, 212533610, 723531212, 3031569733, 547881578, 456226840, 1690845513, 66346514, 958406097, 1191183777, 3971093139, 2100600, 178596008, 352341318, 1715340057, 420489504, 2123842126, 604453425, 3769766214, 564141521, 1140923284, 1596784809, 352657439, 1391479241, 1613038695, 685203457, 36319571, 604333198, 1275342580, 520098698, 10051416, 1689884229, 70603513, 1556239401, 299965589, 962025107, 1677995558, 1705646368, 79817906, 158683897, 1556239401, 299965589, 962025107, 1677995558, 1705646368, 886256384, 165741446, 1176881317, 311623712, 854878825, 2496536, 1221674021, 1922518037, 961030145, 648435031, 2521105461, 447372289, 417750353, 2014783689, 418457639, 71508627, 1203783888, 671229113, 373639207, 1825663175, 1163395117, 580015658, 1699837976, 426377394, 373365961, 1825775945, 38154696, 53092787, 1379152832, 373639207, 978670360, 955328513, 723927360, 1825663175, 1163395120, 67709620, 1641632510, 11671105, 491677098, 1545153073, 719676160, 373639207, 306597824, 592995986, 720896358, 981008562, 373366570, 1177181205, 1387790387, 373639207, 121711494, 1174407173, 1219626210, 1890719301, 3367568513, 415240595, 1380581417, 335175112, 872541362, 299040800, 197207072, 1690780992, 1641635846, 15821120, 233022642, 348203174, 88085317, 1217922276, 1297899521, 210332268, 676270826, 1452762117, 405411009, 682038500, 746984004, 680067206, 287599754, 308569242, 316942487, 10031744, 289698965, 304369815, 289411460, 1552552132, 1678010515, 287582359, 293887124, 323243145, 9048644, 1418597092, 682038500, 1398210836, 1592418996, 1294618424, 48912023, 1677936646, 60055081, 394992212, 1795163239, 456738117, 1906728234, 1296629961, 1834182487, 719325891, 1728719456, 107021166, 567491390, 2688004, 854199428, 1785277164, 1587170592, 290608599, 673649204, 550568343, 1767374902, 255273652, 1596597272, 886527315, 980157229, 701956286, 1646685527, 980162528, 752038661, 1219630661, 1218909413, 1688163056, 9310661, 1946223666, 86257396, 513768633, 58946455, 993602144, 532680998, 1832915498, 506350976, 73681111, 537140774, 1308693539, 80050437, 2080645781, 2062430649, 11081253, 1084818597, 615585285, 673518885, 1152390496, 532681171, 780685889, 344870149, 1218942181, 75569255, 1893280480, 124111013, 75569344, 248202886, 1708339201, 1313744060, 433520699, 2521105441, 1210649185, 406521002, 2035174784, 85727982, 1204144293, 282263690, 1198416288, 1670667552, 86793539, 282289622, 1775859713, 406558277, 158888599, 604054666, 1198416288, 1922515526, 1326267040, 79838240, 854878825, 2521106808, 1457944579, 539362913, 18112106, 1546064339, 3696597, 671160352, 1162619497, 12126820, 1221343488, 295135552, 317347153, 1163093177, 2521110149, 1353973899, 316952711, 310672543, 9572548, 814616832, 293887130, 289411812, 680857924, 1150357828, 1285095604, 377835687, 350501496, 1727669038, 1383596103, 1795823520, 282416702, 36576599, 439449601, 689383641, 1793720362, 190144153, 689514785, 478767846, 1707228201, 694888729, 2517621, 1565079833, 418457639, 324544532, 1312686131, 1445339456, 86583513, 884217061, 482218612, 59137766, 1329463645, 1458201354, 605314062, 1253128521, 2548404581, 298516520, 980957977, 373639346, 82073236, 740653722, 387393545, 684299909, 17196301, 721432023, 673649491, 781674323, 455755713, 338194775, 671961641, 980156501, 209781550, 1229310117, 302916110, 1300268037, 72890010, 1159726801, 1385179424, 491475690, 2639174, 1430885957, 299040800, 1251686744, 77676078, 759171938, 1789289230, 1300241739, 1391067183, 734716082, 294280851, 978589253, 3367113393, 466505088, 107046790, 2013376544, 314204590, 1300268037, 292431153, 980156460, 2214925162, 1606431380, 606540404, 1879122024, 847250753, 50995859, 604789961, 2830242007, 671162707, 1050557036, 64252664, 707499685, 328018250, 692726090, 682890885, 1354012293, 288620584, 733292825, 38404138, 448087258, 2763325870, 1728054552, 1531338065, 2013350944, 893789223, 309616198, 1178469537, 1737779753, 1287152649, 1343383821, 19286220, 673515431, 2014203159, 690888234, 38691085, 443033637, 84613681, 43723488, 482886534, 1563951927, 2043883521, 691675649, 337845994, 436209139, 688915631, 1796815114, 15350380, 52181369, 2312535, 566979104, 107020428, 1564676250, 1294622103, 1397957636, 710228714, 2521109133, 78860468, 2229980, 439363872, 115409681, 459955667, 806034028, 1610687680, 1196900819, 806117194, 2525303686, 1842556929, 2158329861, 32933, 32768, 0, 2147811328, 0, 2158297177, 1632258049, 731143685, 3366257112, 1287152659, 1395007038, 27936427, 1780861093, 5656192, 694888729, 2521104419, 626742103, 689994394, 2525299777, 790379072, 107020602, 1300910693, 3366261162, 1177851461, 294932768, 618567237, 309207360, 1900438954, 1545349304, 1832914733, 460213632, 1155082814, 2521108884, 1361541445, 3366259067, 439229049, 14247250, 1462093989, 71380058, 1633106586, 3769766099, 30631255, 723073644, 29960389, 1219663429, 328010886, 18107658, 1462096037, 305418752, 452225641, 2521109300, 1343298346, 4656709, 3366261158, 1832912362, 2035810573, 688924965, 3366264663, 1305718949, 1297638954, 2762277922, 1232163033, 1611799018, 1663967441, 1203767585, 606080161, 384462150, 1171468294, 16197849, 925254099, 807090524, 2693148, 1384720672, 1574644448, 1825654110, 52059892, 1785276704, 532691541, 454564081, 672289619, 1691242241, 479087622, 17901783, 980157209, 443113478, 59587370, 28601098, 81856823, 964231223, 902575132, 979984421, 111680247, 2013340468, 1893148416, 68701852, 394795701, 689984838, 1124146324, 874860165, 1342245143, 453836855, 68098444, 689971758, 762839081, 67382822, 1705646368, 307522169, 433316020, 453519977, 3769773620, 456655068, 465640513, 121710682, 453519977, 980157609, 1765803342, 1728056977, 1355388485, 1170958080, 1366005317, 1154688773, 3366266200, 559097605, 3366261364, 1881035589, 1667891508, 1296055073, 474023747, 1208025335, 957349974, 1395469024, 1458853207, 1707761689, 886244234, 965567525, 1288841790, 2103534, 1171879937, 686904192, 83962642, 992046419, 3769762876, 465568967, 1183334729, 16646442, 518068272, 442510261, 1184381587, 2521105441, 1194797639, 1163395107, 363143336, 352347795, 1610688244, 570436817, 1140998100, 1747281751, 1305686017, 540481557, 443030026, 2521105443, 1427392038, 1460297765, 256078016, 1566075449, 2688010, 1991332622, 1382093859, 1446660682, 1728054593, 26694483, 604707552, 491869057, 479729969, 2015692060, 719979289, 976290009, 1690842441, 2753553, 690792626, 69948136, 671163424, 1565010553, 22894132, 1640119382, 551182665, 2100897, 689194534, 1460311621, 69424214, 579945685, 1632174115, 199387686, 1294607380, 3434221777, 1706322317, 2101617, 455944393, 1610691882, 421599021, 734015127, 721842179, 1208163607, 723603022, 834208550, 1252678657, 858597847, 48908494, 1325472921, 124474090, 79246686, 53760512, 1663719168, 89483886, 1637901128, 872817454, 1383634501, 69754837, 1677859606, 1766212352, 1386925234, 69754837, 1677859606, 1766212352, 573858121, 2521105464, 689384224, 148133203, 1611878872, 707420945, 4172416056, 689384224, 147343000, 721440398, 1632709400, 1204144293, 70016330, 1275620091, 721427788, 107031406, 518415680, 1721506537, 64251941, 260975640, 685187502, 1300236536, 1380607406, 1300307092, 1296048064, 1382678575, 1452826968, 1641303808, 842297351, 1573664544, 854207073, 478886502, 1178469537, 539827001, 420489504, 532702634, 1631602892, 956711964, 451488376, 77663530, 1664570314, 2763264459, 2636408, 991532613, 321719452, 260647470, 567569153, 339543529, 2043883538, 710172608, 79766890, 707677568, 915889607, 1203774797, 2033654570, 604049197, 989358021, 3366257697, 1144653121, 1491739282, 672748160, 125905332, 1159756442, 81855580, 94568572, 580015850, 1661869610, 8127975, 1363018913, 1411786066, 1378771370, 2763129930, 1328176129, 45371937, 388848856, 872570951, 403460745, 59587114, 77664045, 710944500, 1918966936, 421598269, 1727703218, 309622228, 1795189973, 1391985335, 728387360, 99241783, 4172419288, 2643160, 1611950881, 338189638, 1172252675, 1208025958, 1452761089, 1075850790, 1644520192, 580085075, 1728054699, 455525554, 69881655, 443033601, 418468112, 689971136, 1663967774, 43457132, 672622823, 1161895061, 1585912049, 2013469958, 1565600536, 13200723, 1733765856, 1887196710, 2043883521, 821107481, 980156678, 1096324677, 71391353, 505832234, 604056338, 992046419, 1610972033, 1869241369, 895353047, 683644485, 281551511, 634597377, 680877707, 82076806, 157361292, 323233796, 1699230757, 68623022, 641597709, 443300460, 38154858, 1707606382, 707354625, 1277167137, 903046483, 1631595124, 1770848298, 707404599, 1360684352, 2056914146, 1391073841, 2013402643, 1400968253, 107368384, 728387361, 339885912, 1678785073, 689994394, 2521108680, 580330963, 805382293, 1586169060, 1686505825, 613159748, 671376712, 874841106, 429075246, 537606481, 654313057, 3212718, 1328172810, 22238028, 872491383, 2013331754, 1170742058, 30624983, 654312737, 49553049, 81941226, 439449602, 370365313, 339543654, 1337994090, 1327568658, 1376387764, 1794637872, 993526086, 1593836642, 1414947636, 1453990930, 1399737733, 3366257793, 415248838, 1327522470, 1577059425, 539832046, 689964358, 18299669, 2521108696, 2121351, 1394629958, 564813826, 471862561, 348152465, 958423850, 706748620, 671816241, 1610694688, 558777811, 807757542, 1454263680, 902956257, 141044942, 1328642061, 685178952, 1155032092, 1391026365, 12129165, 989267111, 1811874984, 1170751668, 387975528, 1184506881, 655512074, 49177043, 805388522, 1296459168, 67639690, 18107758, 1582825519, 759586560, 163643750, 1698694433, 1022827370, 38412710, 1304959520, 787360361, 2521105473, 924406453, 689971136, 403195546, 604055220, 991186586, 1611406085, 3366261550, 1228952792, 1633162821, 1219626081, 556673025, 1080512760, 592914453, 1373131374, 1300613285, 158477094, 1177427995, 1372071960, 467140793, 296371764, 77871737, 1598630629, 1342387027, 458831511, 1005200405, 1566059112, 671173664, 1826244384, 86048903, 443547689, 334781952, 181938976, 1365967057, 1142444793, 1610688102, 1665008410, 1589066506, 1613056664, 1677796405, 95099686, 1143408082, 722999690, 16208716, 924845377, 553517088, 174344396, 956306278, 1782120584, 1381309054, 373679269, 1318577573, 1654318501, 3712556602, 2829414830, 3846512166, 2718237730, 405163676, 43330149, 3366257698, 405163676, 17912586, 2763129905, 441778238, 403114665, 978463461, 3366257713, 441778214, 625687150, 1699837961, 978463456, 1318884933, 70326869, 2510150, 1581122202, 3836871769, 903036930, 1440238776, 3837069977, 903036958, 1397056362, 7349907, 671336626, 72039017, 64252664, 707461431, 462619444, 1893147649, 21573952, 86049015, 959195175, 72690007, 43723488, 68696362, 82072213, 1613041216, 1887183418, 1260257321, 2056918656, 72965589, 1430847567, 138481002, 1176517217, 479810176, 482973253, 292838403, 512304151, 685246945, 540436206, 1453990914, 1009734547, 23735073, 378995370, 1571182336, 442514043, 990780970, 18111776, 1664559912, 893976776, 1587044353, 44459425, 471948632, 1782135404, 23479840, 121710646, 647178241, 567514693, 618119333, 774775306, 1574121481, 978450597, 634537920, 842297811, 2963616308, 1909698725, 842297811, 805789132, 926021797, 769123109, 1632162409, 1705958693, 915581093, 69816709, 1932343916, 51583672, 6554907, 957240152, 1203835939, 1665671498, 654384236, 893789221, 179841362, 1613038804, 1312686272, 127030105, 897205250, 471881364, 1543917010, 438376333, 1342249466, 1663045517, 1785487296, 427371260, 451515973, 282264019, 1641363761, 2014076371, 1305686041, 921315516, 893789513, 20197377, 461779342, 1300249400, 52836896, 123804737, 81537239, 980156608, 162091392, 579945687, 2521108746, 1558863704, 53091064, 2639314, 469844526, 1222987780, 1906512234, 1585986366, 2525303597, 211557139, 387515162, 564140044, 1384710601, 683744289, 585767738, 1564504188, 711939022, 1300241742, 1300235765, 723590278, 1610687315, 752379219, 2106001, 1154942113, 19816661, 1452166954, 605180536, 1700200884, 1785266410, 835936257, 697783185, 77664045, 710949688, 53304650, 23481733, 1897339474, 689982106, 1706558186, 1293944065, 1580099377, 671699340, 2013739784, 1775886514, 288823682, 1034822976, 81351500, 872641305, 693175457, 1948780248, 1762142537, 689964646, 1316256211, 806173248, 403127073, 474745571, 271060878, 738797838, 634597404, 895038807, 43450464, 88738974, 1397082277, 321719432, 448359146, 604119507, 1700211481, 81933081, 451567619, 271064273, 695879230, 2521105441, 2082890583, 1458463049, 2308729, 720003882, 604338247, 68309578, 1327889586, 332687544, 1832929481, 671955520, 1557738839, 13841150, 81856934, 604449593, 719326018, 1158045003, 1780502172, 2521109293, 210319648, 1317020882, 428475553, 1974076218, 1584922696, 1649689536, 2035369628, 22948608, 107035950, 1565025730, 1008951756, 923125925, 979909226, 1557736192, 83971264, 505832224, 87832025, 683423385, 4140503, 2830240098, 887506464, 86721746, 671764330, 1184194590, 1396773949, 84022619, 710946122, 1140916650, 455154721, 132192954, 2146511137, 339545113, 1384142687, 2116690945, 689400589, 2623074, 568750853, 3366261652, 1594490951, 2056914082, 575957805, 43330168, 2299916, 1564676482, 606678566, 1228953419, 788531489, 219434778, 1230503976, 165741333, 1394985125, 70865582, 452853971, 977684224, 456726800, 377488449, 890727181, 689971136, 1705655008, 518409485, 721421416, 1155279136, 532702634, 987784628, 1584961093, 75569344, 1154953537, 395131690, 13843014, 1142233849, 1203779017, 626196714, 903029763, 523708760, 2521105480, 455619590, 26294869, 1631585570, 193805098, 15361930, 710961044, 27927946, 3769764195, 69608180, 1454263680, 853959424, 165741209, 894894862, 624952609, 49566273, 474690193, 605039552, 886256384, 101057262, 484588632, 993526378, 570804389, 75569344, 251856198, 1708339223, 1393188865, 1814499543, 1397957634, 577380864, 80085738, 605559585, 1324227810, 1011812001, 454647635, 805700398, 1337999710, 2521105442, 721968454, 1258295169, 550852340, 420283621, 1687966309, 1663066770, 714287113, 707685719, 38404144, 119959930, 1141578538, 379937816, 893395694, 721493135, 1796800563, 1708271653, 67192873, 174479018, 452461752, 693254764, 2779767, 1378943406, 1258964320, 153166946, 231080846, 1295282200, 885598247, 388247294, 377840653, 672026420, 1297613985, 213928152, 1641752583, 1379467305, 1171011379, 980157162, 659041024, 83962048, 1439770625, 655512078, 1300241165, 721493182, 319446890, 1610687214, 834208953, 1384191435, 2628368, 38409797, 4238673025, 415245784, 895167025, 689964152, 1171011377, 2014989834, 1253638218, 124111013, 685302949, 1901651109, 647810213, 3936729701, 3545826338, 420948176, 1611945299, 2521105442, 451561288, 1691575870, 17912586, 3769762889, 1586823223, 67525446, 1574586369, 817914545, 453836990, 111568695, 421093377, 51011242, 1327856679, 160193866, 634484746, 456655828, 1747390890, 387449338, 1663047687, 419300518, 791305222, 1176572963, 1296705280, 439418912, 781460493, 671293834, 3836875405, 19536609, 338167496, 1797290650, 1594508640, 1633364714, 1203767777, 16208394, 1275872472, 1613173189, 1648367991, 432604116, 1756917056, 506078209, 690625325, 2521105451, 1155022872, 886662487, 1613038709, 1373112812, 260782641, 1610679028, 1380307109, 158872793, 1700210976, 450501358, 1782590929, 1191183379, 1392063831, 1275927083, 2688023, 1385338437, 176974168, 1610687370, 1564501652, 17194321, 723031621, 161028618, 1610686931, 1663703329, 480642372, 1800887973, 1353090373, 388247188, 1171797010, 1392056865, 365625384, 980957977, 373639346, 387974179, 1494706957, 721421569, 848504839, 1184628777, 151198118, 1294321829, 157886954, 589964289, 225057515, 1780483676, 455619928, 3146760, 1391667941, 3366261332, 1663053267, 673532120, 1700206208, 284845061, 1663113312, 712272269, 81941390, 1176512128, 403463491, 319446894, 557913123, 94568855, 677667159, 1841834752, 513421753, 6566634, 211115464, 2830439274, 1606438344, 673515427, 22238028, 3031699661, 79257425, 2014452115, 963518803, 1689518224, 693437229, 708846226, 980194885, 282151576, 1678580267, 1893597985, 1814385056, 1922524606, 43231412, 311231672, 1762459882, 458848436, 7090515, 720658905, 2013480603, 721171793, 1258309957, 3500479287, 1782448212, 1638286880, 645948842, 671482772, 1294622074, 1142434555, 956957581, 710960564, 1745689369, 24006104, 894015109, 322398782, 2622898, 1394147722, 1297568600, 377491706, 1679320529, 1143277345, 466248707, 22238028, 3031566699, 980025742, 790697550, 834238484, 1296110632, 113460970, 420292896, 1270885706, 2521109396, 1295471448, 24005953, 373711658, 1555300487, 1797280362, 53946584, 1793720358, 2035875882, 189545322, 3434349653, 1196634432, 88146164, 1731479553, 606101926, 790630273, 51718705, 59382520, 42708146, 282591264, 1655326240, 1900437248, 1365968033, 560876832, 2056937226, 1163938000, 980156608, 886123708, 818826583, 53768407, 654312455, 1396265536, 86048869, 2521105493, 1196575065, 2753543, 1396265536, 86049549, 427398725, 72489482, 12606681, 894894666, 1662911260, 442508763, 671164448, 513369746, 2688003, 2494697834, 686925989, 293226737, 2829390186, 2598703470, 3305967991, 694134949, 291948069, 292183626, 3475313006, 719890597, 292671705, 292445525, 1586801829, 292211978, 291917606, 1642047653, 282149891, 311632192, 84617553, 5334487, 690342053, 72438416, 6554625, 1211327831, 1586955489, 185097426, 506069212, 465639223, 2043883521, 696935427, 1902533635, 1924424462, 506069040, 902993477, 227621447, 1612212521, 712079371, 693174382, 1705670657, 1530551914, 604056345, 1382679777, 137054875, 671482458, 1628547250, 71772545, 1277832522, 1141979533, 1705646378, 2763129943, 1796014180, 67400159, 451478702, 1328172334, 1300235609, 685179310, 1209088583, 3163602, 2628912203, 693174868, 1564486250, 1569351112, 41218226, 72902953, 712079369, 688792896, 239076353, 1238912184, 1677936665, 720845182, 980162117, 3367112081, 993609024, 768815447, 15348179, 1610689340, 992490533, 75052371, 3109300, 1161830025, 2013337975, 692066694, 979749029, 227354825, 2499114, 451566611, 1401276581, 72034641, 18108970, 1543573034, 1660951148, 1606438556, 2521105496, 980419290, 962152384, 647777286, 818859186, 69290771, 455619928, 2125859, 461797413, 1264149847, 980156448, 1922507781, 1686849158, 1689845860, 68636916, 1680282451, 781674323, 455755712, 893389523, 1342916230, 1708339388, 1452166944, 1458839896, 1654063139, 634019841, 1287679169, 1289315666, 1461716297, 997074240, 361056432, 362815424, 358959278, 356894885, 71042172, 261645777, 1142368525, 451689068, 3160888, 36070176, 1795818722, 86925581, 451685120, 1221343488, 439419547, 719334250, 1608070611, 807863385, 1794310199, 404312265, 77660209, 768689920, 92668266, 1707672338, 707855521, 215041048, 1392074753, 647574871, 26700007, 2014918099, 855651541, 1431504100, 1705659393, 58789213, 1446258008, 2525323942, 1594509248, 794250712, 893976611, 238178928, 990707763, 993525978, 1663720921, 4172421728, 1387939155, 1715339642, 1584292266, 605563622, 841895938, 606673504, 282532078, 442510993, 1126581573, 3366266184, 1390830921, 3343364, 1184498884, 1955468128, 1665025349, 3366277994, 1572490624, 93657650, 395926858, 1610681902, 442916903, 70536766, 24796782, 1733765121, 415249618, 1250476210, 580084535, 1763256608, 86583854, 551102465, 260989630, 17912649, 395863883, 788908197, 794250712, 893976627, 1445356334, 536940106, 1691418659, 182663200, 580085492, 1141451024, 2693144, 1422404365, 983943333, 404252922, 1558596615, 690046025, 86048937, 371537064, 387450024, 1381320025, 671166714, 1308630345, 3769767945, 443547683, 634537920, 1171011370, 604511082, 78538496, 225786410, 604057978, 1593836660, 1159732883, 721799333, 71988552, 1797914816, 1431776584, 1679323347, 394869610, 3605513, 716781312, 491869061, 3366278609, 671163882, 1901191333, 848372750, 1301603493, 483932718, 3791986513, 835923976, 895018149, 2035369628, 2154377978, 2829394579, 1834182082, 1009349087, 451535013, 580220929, 614404740, 1552973966, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846]; _global.z3rom = [50331665, 1212500279, 953287342, 521153928, 14388, 808923703, 32416141, 779747328, 0, 0, 0, 0, 0, 0, 0, 0, 1705672869, 321759237, 332720133, 443121829, 2522905242, 2158344960, 2520835712, 3512738003, 387547301, 2056969221, 451575973, 787793925, 1907270048, 1705436165, 321727210, 2158326233, 3020240091, 2818947680, 647289861, 981061637, 1664404800, 1706513228, 3020255892, 626229413, 915678537, 2158321994, 3405781559, 684324869, 324216151, 854878825, 2158301997, 3137348006, 1315619845, 1922745632, 1648805408, 768371434, 2158305491, 1318682789, 448080087, 3758449463, 1763273450, 2158310872, 2158314711, 2973790417, 3288671891, 387547301, 1654318496, 2638237337, 2158305113, 2158301610, 2158317209, 903065605, 659763540, 3422899863, 3852474612, 3980413399, 1586987173, 646603365, 3810534039, 1573507808, 894937253, 1834481669, 452225641, 2158310616, 2158326104, 3825537497, 2158328474, 1594541408, 550731941, 1654318501, 2445303444, 3355795786, 2158309015, 2158318425, 2158323118, 3758445784, 1624025093, 3529526487, 1587314853, 1663454510, 3447724670, 1705954688, 322207909, 1423157792, 854235936, 1653778437, 685302789, 491441157, 854878825, 2158301940, 2026995877, 290608599, 2829425440, 332720864, 1653746477, 980189349, 4204433600, 991106841, 2158304587, 1391100069, 1654285738, 3730838260, 3527785248, 1318577573, 894937093, 482918405, 1664555628, 2818900000, 2228260, 2490408, 2687019, 2883629, 3014703, 3276852, 3539000, 3801148, 4128833, 4390980, 4587592, 4849741, 5242963, 5570648, 6094943, 6422628, 6684777, 7077999, 7536757, 7798905, 8126590, 8323201, 8585349, 8913035, 9240719, 9568405, 9961626, 10223775, 10551459, 10813608, 11141292, 11337903, 11600051, 11862199, 12189883, 12452033, 12845254, 13107402, 13369550, 13631699, 14024921, 14287068, 14680289, 14811365, 15204587, 15532270, 15728882, 15990784, 0, 0, 0, 0, 327680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16777280, 3724804106, 3120562176, 196608, 181534752, 134217728, 34273280, 16606, 1912605452, 72, 1140850699, 402653696, 1076570368, 187498496, 134220800, 736512, 16396, 117443416, 98304, 3691642891, 1828716928, 14420736, 193855489, 2147539980, 765440, 25166044, 218631114, 32768, 3691905035, 3690987648, 14421760, 200146945, 2147539984, 786432, 25166044, 301992998, 133120, 301989900, 956301440, 14422801, 207749120, 2147539988, 814592, 8388828, 419433592, 32768, 3692429324, 2332033152, 14424064, 211419136, 12639545, 831744, 8388828, 721423552, 32768, 3692370444, 3523215368, 1638400, 216596536, 67108864, 470614016, 540699, 3340, 2099200, 922746893, 738197512, 0, 222494720, 134217728, 874496, 16442, 553651563, 16448, 973078541, 2080636936, 3809280, 227147776, 1077947940, 896512, 16430, 3522, 2048, 13, 3623878656, 1076765440, 233506816, 138412032, 916224, 524288, 3600, 33626112, 721420302, 620756992, 1076561408, 238288897, 2147540013, 705579520, 16429, 3678, 98304, 3694013454, 1761608064, 14430246, 243793920, 4251031, 962560, 25166044, 838864572, 0, 3709272078, 3909091712, 14431232, 251461632, 56651, 988672, 25166044, 889196326, 32768, 3694592015, 1258291200, 14498560, 257687553, 2147540026, 487549440, 221, 1577062276, 1048576, 3711303695, 2415919488, 14433314, 261881856, 4250931, 1030912, 25166044, 1023414217, 32768, 3695050767, 3741319296, 14434048, 267911168, 2147540032, 3289390336, 25166044, 1140854832, 134236224, 1124073488, 1225261128, 1078149376, 274006072, 67239936, 1108369664, 25166044, 1157959803, 32768, 3695575056, 2885681280, 14436096, 282394624, 2147540040, 1112320, 8388828, 1224741156, 32768, 3695837201, 1342177408, 14437376, 292749312, 4250936, 1153536, 8388828, 1291850150, 32768, 3696099345, 3439329408, 14441472, 301006850, 4215040, 1182464, 33570917, 1493176865, 2621536, 1711296274, 789053448, 1079268096, 306446336, 138433536, 1203200, 671113318, 1364529782, 2112, 1414660114, 2264956928, 1079727872, 312213800, 6314752, 1223680, 16475, 1442845373, 0, 1700397074, 3372220416, 6619136, 317063464, 25936, 1477640448, 25166044, 1560285981, 98304, 3697213459, 1157627904, 14509824, 324993025, 2147540064, 1273088, 25166044, 1627394959, 98304, 3697410067, 2952790400, 14443264, 331939841, 2147540068, 1307136, 25166044, 1694503941, 98304, 3697695508, 603980160, 14444884, 340066408, 56680, 1334784, 1610612957, 1795167342, 98304, 3698065428, 2097170432, 148741120, 346620000, 56682, 1357056, 8388828, 1845499077, 131136, 1845493780, 3690987648, 14446701, 352124928, 4222976, 1379328, 25166044, 1903105309, 32768, 3699703829, 889192448, 1088337664, 357040128, 4245947, 1399808, 268697600, 5482, 64, 2658533397, 2097152000, 1084126976, 361299968, 4234873, 1416448, 2147500171, 5553, 64, 2658795541, 3355443200, 1084128512, 367132672, 4234496, 1438720, 671105179, 5638, 64, 2659057686, 553648128, 1084129024, 372572160, 4234881, 1460992, 16523, 2013271641, 64, 2659319830, 1761607680, 1084096512, 377094144, 4234869, 1478144, 33570970, 5790, 98304, 3699834902, 2986344448, 1088261632, 382074881, 2147540105, 1497344, 16605, 2248152826, 98304, 3700031511, 218104192, 14453504, 388038657, 2147540111, 2149008128, 16605, 2281707354, 64, 3716939799, 1862295552, 14520832, 394067969, 2147540112, 1543936, 25166044, 2986350522, 6291520, 3717005335, 3858784256, 148745472, 401932289, 2147540116, 1574656, 25166044, 2499811367, 98304, 3700949016, 973078528, 14496000, 407699456, 56726, 1596672, 8388828, 2566920305, 32768, 3701080088, 2466250880, 14457732, 413401089, 2147540125, 2081998336, 1610615005, 2432702690, 98304, 3701373720, 4093641088, 14458755, 421068801, 2147540128, 1659648, 25166044, 2701138291, 98304, 3701604377, 2466251136, 14459648, 431161345, 2147540132, 1692416, 25166044, 2768247283, 98304, 3701866522, 318767488, 14460672, 439549953, 2147540136, 1725184, 25166044, 2835356275, 98304, 3702128666, 2466251136, 14461696, 448331777, 2147540140, 1763584, 25166044, 2919242522, 0, 3719233563, 1174405504, 14467328, 458555392, 56752, 1800704, 221, 2969574281, 1048576, 3719561243, 2499805568, 14455731, 463667216, 67154432, 1818880, 268435677, 3036683222, 0, 3719692315, 3858759684, 14531840, 469237760, 16834232, 1839616, 65758, 3221232669, 133120, 28, 637536256, 1073741824, 474742790, 134269382, 1859840, 16605, 3187678334, 64, 3720085532, 2348810240, 1088274176, 480247808, 4251074, 1880832, 222, 3355450566, 98304, 3703767068, 3523215360, 1088277248, 487325697, 2147539968, 1908480, 671088703, 12918070, 26624, 3288334365, 1275068440, 13172736, 493355008, 134217728, 1932800, 262366, 3422559641, 98304, 3691629085, 2835349508, 1221161728, 499646464, 33611221, 1955584, 16606, 3439336933, 64, 3738042397, 4194304000, 1088343808, 504168448, 4251344, 1973248, 82142, 3506445871, 0, 3738304542, 1073741824, 14603008, 508887040, 4251348, 1992448, 16606, 3590332024, 64, 3721855006, 2332033024, 1088346368, 513671168, 4251096, 2010880, 49373, 7870, 64, 3738828830, 3506438144, 1088290816, 517865472, 56623, 2028288, 0, 13180668, 0, 3724663582, 4261412864, 1056964829, 521012753, 1897606440, 3372258337, 1187816817, 1090930554, 763898124, 2634025013, 1181728777, 2387570273, 3343204421, 3605645809, 1110654930, 995966272, 763829100, 2778767262, 704643584, 40748740, 2775664415, 1091382663, 2821324803, 620757760, 39898822, 2536588163, 763784192, 85159489, 3543139425, 2933171633, 976700452, 997788833, 211561, 956753559, 1899941692, 204309879, 135152, 2881827135, 1177388276, 3973949176, 3433407651, 2720661514, 698413056, 88658742, 2435319891, 1792845105, 996879748, 2066524116, 332678, 1700200600, 1170843813, 530086922, 429971478, 2557491543, 2299145603, 4249301398, 2533360657, 2922487824, 3617695103, 152674503, 470496928, 3463461207, 2299145603, 1749496214, 2533360400, 3597224425, 421464636, 2696689568, 1651525505, 2298365745, 2526487712, 1795162898, 175637480, 2770144630, 186163288, 763668480, 68232798, 1225113, 169807390, 202837014, 234882065, 643694610, 2979596831, 253496599, 219549440, 101913707, 757789440, 2553714600, 2772410441, 1050690076, 236392176, 969836788, 1169852632, 120792223, 4160751379, 102952493, 3359166720, 2252809948, 2771223279, 725367, 1358200800, 306590152, 9199434, 9906858, 1177210661, 1900210490, 2922218093, 749381929, 2659526302, 2701132303, 1083573566, 2658673822, 939525138, 1176612429, 1083131136, 68237081, 2037908456, 2770213148, 320084269, 2186870788, 287971616, 290694309, 521544861, 3909092626, 639969884, 69114342, 2451380508, 353835015, 388275654, 198417, 422161125, 826242892, 3651926272, 68298277, 710673638, 2501252647, 400041117, 2583692307, 776530524, 65578270, 377295900, 2653957506, 1495571965, 335604, 1095959342, 1223351461, 1900438081, 3391936999, 704655872, 29938545, 1078082936, 763072768, 156619048, 19191906, 2539997443, 1715947038, 719365553, 1191855770, 1103768956, 1963764736, 35760867, 623983362, 763033356, 3542745128, 698080037, 1310724, 519323987, 52009323, 826604845, 1972309223, 704645632, 50796644, 3417089329, 1157442933, 2399983914, 655362, 1726654629, 1900454214, 2821554676, 752135424, 39753128, 2771469117, 763147020, 4160751189, 3391176709, 1008453469, 1185195441, 979453846, 1102851445, 1865199791, 704643881, 2611422363, 2634024033, 2924462160, 4020836721, 1090468134, 763353356, 2986345814, 642725888, 588917913, 1169244653, 1106524440, 763380736, 38064852, 2775662469, 1066151296, 1259136554, 655362, 1624482981, 2973993533, 960120109, 2149056517, 848373075, 13789738, 3836047673, 641793868, 3250631168, 85940045, 1226277643, 886902065, 1182215554, 506246580, 157335, 2711957830, 1999471148, 698057984, 91081329, 3543144728, 4054361457, 1172587934, 763393036, 3053454611, 136998432, 74307812, 3307154733, 2162631835, 2231370333, 1252459825, 1120275639, 332682, 1663721056, 319673066, 1050375708, 737166379, 2297706958, 2297694003, 614155520, 68375333, 1467013546, 3844025886, 773664284, 773533210, 773402136, 773271606, 2604412285, 4146541359, 614131200, 36559028, 2771467542, 763931904, 68326144, 538060481, 1159672894, 2598247725, 470760346, 3726257465, 2598246415, 372142149, 3129530413, 2126915379, 790928015, 203482, 691708709, 2973323324, 1849359149, 2197228799, 331990, 1766418713, 10205532, 439621428, 916097319, 836248730, 419430980, 3500713393, 1065240442, 1167994237, 3204449298, 641810451, 231926303, 893164021, 422721690, 102118128, 1143703796, 969836788, 657709092, 2579038211, 292827550, 2155487054, 491592756, 614040064, 39753128, 2771469117, 762871820, 2919236881, 288975616, 2435394728, 2771884406, 373042550, 3599226678, 960182272, 35794605, 1697725214, 763461632, 29938545, 1078082936, 763162880, 34673081, 1797144088, 1161271656, 1983325849, 1634746504, 2296262007, 1801927127, 1261961218, 1162457413, 826258989, 1967983793, 266513, 963313799, 2601131076, 456996761, 1493646116, 2569011205, 296106741, 107234964, 3567589694, 406591294, 373032919, 613998336, 84993630, 3930850330, 3935872286, 1058880060, 2564299325, 966318104, 1282424968, 2296260567, 1260689523, 201210, 1293531795, 524295832, 490609742, 613956096, 85021478, 711131155, 429512511, 2553486399, 932721415, 3626276855, 139828, 2584031547, 741176421, 145044, 2762289470, 2066576294, 198443, 966450501, 4047767613, 20988487, 4281233871, 762433324, 3115843590, 292625197, 684261524, 558288037, 524033606, 1033247292, 2519604037, 982915609, 1194890778, 4030893704, 3074459784, 3727525256, 597039616, 85074188, 689114393, 888186143, 975064093, 1142703675, 2493332116, 2635680280, 1142309933, 1956325335, 1260688804, 332321, 204018445, 422899877, 524623434, 491002951, 457972292, 424220740, 373566836, 2602866050, 332321, 204018445, 422899877, 524688969, 491011221, 857426458, 1142507576, 2503153220, 1883410056, 3073209499, 613761536, 85074188, 689114393, 888186143, 1228838195, 1033188156, 2503154509, 440875413, 859346227, 1883410056, 3073209499, 613745920, 85074188, 689114393, 888186143, 1243499805, 1193035803, 1293567513, 1211667702, 762616612, 2497511429, 304155689, 319625524, 4037353292, 508370246, 474553165, 440736077, 407334976, 2290671149, 1956324500, 2751463942, 3701092657, 1197812991, 3003122962, 554445075, 219755760, 2770288158, 1293763868, 1245418653, 982818073, 1293436461, 1956325335, 1260688479, 332321, 204018445, 422899877, 1066685214, 1310542364, 1211864147, 441194805, 407448948, 2602865710, 332055, 693467140, 585560613, 524230257, 473241677, 762660644, 2484011013, 519327722, 45161178, 2829414721, 4215675949, 1845169366, 153126, 3679088961, 4215675949, 1901264900, 1663707680, 550283429, 825927469, 1878723808, 620758272, 70422821, 1392701133, 2238792467, 1060646253, 2905391291, 704644352, 87907370, 824778818, 1856849265, 1063403320, 762162476, 3132828160, 335545173, 1227561370, 623985063, 762419237, 3276803, 1628067639, 2829414723, 2671720493, 1840057531, 704650752, 36030148, 2779855884, 995048488, 761718016, 39929572, 2775663568, 987704678, 2166685716, 139097, 3868406074, 2687330075, 335398, 570443976, 903063717, 4047513153, 3628593472, 2637066312, 762333196, 3607102514, 3933737497, 230320817, 1076247655, 1112485488, 1210937416, 1287634621, 275089, 605165837, 3127537984, 642127150, 1696148837, 424460993, 3223650404, 397914, 1633306628, 712596691, 2705694559, 1728053248, 2656921600, 15761, 1295815002, 761979495, 1734896478, 201194, 1901166714, 2640078848, 37980, 1744830464, 761979431, 1750990850, 1585959717, 1900223035, 4264389761, 463658, 565400116, 868225626, 1633339557, 2623301376, 37980, 1728053248, 761979431, 1734213639, 321528243, 1379152832, 307913050, 3366296674, 1728053248, 2489476864, 11629, 3926353664, 51505777, 1367374493, 1650982912, 9724520, 45, 1821968232, 397914, 1633306628, 712596691, 2705694560, 1728053248, 2657183744, 15761, 1159488534, 1680696365, 1735092327, 3623879443, 237322383, 1159685182, 2302356810, 2217198296, 462340, 1465876010, 9064247, 443066533, 526523747, 392320582, 452996422, 789043200, 118696481, 3008508979, 3222428257, 1523099036, 1768357888, 9726311, 45, 1844053863, 201194, 1901166714, 2640930816, 37993, 1744830464, 762091783, 1744830983, 164796209, 1010642287, 2924272090, 3909091846, 3386021681, 1010642287, 3375169519, 397914, 1633306628, 712596691, 2705694565, 1728053248, 2657511424, 32108, 1284588828, 3373713709, 1680705387, 1751636074, 139818, 2938450235, 388850609, 211683, 355783397, 826031405, 1658260668, 266647, 678564148, 3538231150, 2120830097, 1009607612, 661350912, 151913569, 1178861860, 2302303247, 1680746085, 2862163377, 1136802499, 1121660116, 3274084612, 200196, 886162597, 527441004, 613465600, 90081344, 409401891, 987579761, 1000097049, 397591, 2065242656, 295129913, 3500481905, 476981143, 1864667223, 332590, 834207896, 1531620330, 510664014, 613436160, 40799905, 1492207412, 1195064864, 1093217648, 235717632, 37130664, 2771467892, 761424652, 3305112402, 688015052, 2771468354, 777970989, 1592069348, 132871, 2598711609, 2989284057, 291246, 1698714835, 2854580545, 2101830957, 1407651015, 293201, 1184629414, 3444666689, 2101830957, 1407651016, 222035, 633783461, 4047244350, 3476646981, 2301451039, 751487232, 73512031, 542544296, 2784051749, 1110195758, 1040002389, 1363987681, 3405775709, 1224910541, 1366376829, 1197813075, 3876375808, 73222400, 4201067724, 2771466912, 760307980, 3439330909, 1224796698, 1074082105, 2380572017, 970276811, 760258316, 3441754212, 284115, 672471658, 3299176769, 2101830957, 1415253198, 346317, 1367756736, 1423157797, 1900504385, 2100122715, 215023619, 1184051221, 3525980482, 623704274, 198855, 1798951525, 825925677, 1534856404, 336530, 1423466502, 1593110693, 825846796, 3690988574, 639762516, 3551143281, 1197818237, 760473356, 3607102227, 628156124, 2775664093, 967978337, 184549983, 1403717105, 1017988636, 1197818734, 761324044, 3623880211, 925423722, 4261423379, 4108191021, 1566385291, 1509950241, 1363413458, 2536586301, 761090156, 3554335189, 266935, 990057608, 2855378053, 2449473536, 2491781632, 11612, 1332184756, 2458657930, 150995745, 1363413458, 2536586301, 761090156, 3554335189, 266935, 990057608, 2855351435, 1363642548, 2351205168, 266935, 990057608, 2855378831, 2382364672, 2492435968, 11611, 2928129170, 2391641124, 2315845635, 312892629, 2871345035, 605851437, 1516455860, 2374771850, 150996014, 642372400, 364586353, 1105148156, 761343020, 3503226883, 1423383210, 3836031297, 2217566589, 205137, 1141494423, 826031405, 1640385754, 3654615046, 309616429, 8934135, 959765669, 529211029, 496278666, 2382364672, 761039975, 3029241228, 613026179, 2324561920, 1553, 978160140, 2754247004, 3550561695, 2995847168, 6048435, 1681432, 2804766613, 1203016109, 613026179, 2995847168, 519, 164796209, 1010642263, 3375160025, 270068, 1340735796, 3538235708, 1026383139, 215351302, 320105261, 8934135, 959765669, 1600017152, 513088916, 481439068, 3674706468, 2315845637, 327836448, 286547694, 2794921871, 479405195, 83887377, 1180901393, 341765798, 2535427868, 2468645606, 205222, 1315620005, 825943597, 2199719080, 346776, 1610681902, 564841637, 1900058175, 3173876574, 332070, 1252004518, 1661382981, 1066060574, 2568830780, 2329484186, 931846471, 2547488292, 2321350660, 287971616, 290694309, 496507546, 613042176, 85021490, 3865957171, 9389471, 2644281923, 1677592, 2560007580, 2319646765, 1585194908, 3623879440, 3927589007, 1163872947, 1875291, 1253245018, 1253244973, 1344349322, 150996065, 1214077185, 886236465, 1010642270, 1745667584, 51444327, 596933151, 2610731676, 151, 2593914880, 15746679, 1651590782, 1651582876, 3626273290, 332243, 1640572932, 1238883991, 1599038208, 1582260992, 1565483776, 1548706560, 1531929344, 1515152128, 1498374912, 1481597696, 1414488832, 760326215, 3048191524, 2315845636, 308698868, 1879304357, 531258959, 4177534107, 759930183, 2981148196, 2315862863, 4177526788, 308698868, 1879304357, 531258703, 4177534107, 759930183, 2981148196, 2315862863, 4177526788, 308698868, 1879304357, 531324495, 4177534121, 759926343, 2981148196, 2315862863, 4177526788, 308698868, 1879304357, 531324239, 4177534121, 759926343, 2981148196, 2315862863, 4177526788, 308698868, 1879304357, 531390031, 4177534122, 759922247, 2981148196, 2315862863, 4177526788, 308698868, 1879304357, 531389775, 4177534122, 759922247, 2981148196, 2315862863, 4177526788, 308698868, 1879304357, 531521103, 4177534123, 760027719, 2981148196, 2315862863, 4177526788, 308698868, 1879304357, 531520847, 4177534123, 760027719, 2981148196, 2315862863, 4177526788, 308698868, 1879304357, 529554767, 4177534124, 759918151, 2981148196, 2315862863, 4177526788, 308698868, 1879304357, 529554767, 4177534124, 759918151, 2981148196, 2315862863, 4177526787, 296109628, 2613403466, 3003128987, 1531622144, 1514844928, 760022919, 2981148079, 2904853001, 1129314560, 201126, 1178377157, 1598731008, 1548399360, 1531622144, 1514844928, 1498067712, 1481290496, 760020871, 2981148079, 2904853001, 1129314560, 201126, 1178377157, 1598731008, 1548399360, 1531622144, 1514844928, 1498067712, 1481290496, 760018855, 2981148079, 3064800394, 155406329, 785, 2789620891, 3311356595, 6048435, 5982899, 5917363, 5851827, 5786291, 2968858, 129377418, 155406329, 519, 479867185, 1197813069, 4180466393, 201126, 1178377157, 529554506, 3003128720, 445667658, 3003144266, 3003133260, 4016551343, 3064800394, 150995718, 3358905293, 1366375142, 1047792895, 152787, 2854564161, 2100121350, 149975, 3734466880, 2168812589, 1313210374, 308698868, 1879319191, 1573507813, 529767568, 2432696320, 760701447, 2435090953, 199154, 454666981, 1900043836, 1965905337, 215688329, 4194304777, 4061862314, 3845210206, 760685324, 3674211362, 2455033952, 399706673, 1128541537, 2752306176, 101816858, 3912815456, 19177426, 4042343733, 1041841682, 1042296141, 436208421, 3609795002, 2469478130, 151378, 2639737150, 4177528074, 3326938666, 2030105810, 95500862, 1073956380, 761389900, 3739540778, 272777, 2602994091, 612995840, 34085062, 2578529138, 1150108820, 759821580, 3777298436, 291031, 1305686035, 3542790464, 4047989830, 472703713, 704643625, 2302813833, 1308623375, 1016738097, 1197813062, 3658280192, 89036645, 2858311792, 3519325489, 1197813062, 3658279168, 74537061, 1464605850, 825313125, 759618092, 3957981188, 685270359, 1276942897, 826762541, 1188703471, 3992977988, 3383056177, 1064774982, 2634024207, 1074161152, 2506883013, 1163871568, 6178128, 6112592, 6047056, 5981520, 5915984, 5850448, 5784912, 5719376, 2967718, 2814427839, 3200105472, 73607722, 539399388, 2771467325, 759711788, 3772710915, 319694144, 2403672009, 2126628745, 991414573, 1250174914, 3623879181, 2010189937, 1126253919, 780687405, 2289175708, 620764672, 40080605, 636569046, 1096433065, 973483331, 625796580, 3811180569, 671088640, 38064852, 2775662469, 1066151235, 1544349226, 993673, 738199326, 4097921792, 4145747970, 642722526, 1701920645, 1066151143, 3861512207, 102053, 4047529280, 3108238139, 2267890684, 462340, 1465876010, 9064247, 443066533, 526982595, 392779334, 452996422, 789043200, 35842789, 3543218442, 754974763, 2, 1893313253, 1900509762, 2267898490, 347799, 1705664096, 1892795557, 826762541, 1656433897, 3892315249, 1483036492, 479867185, 1197813090, 3140283370, 134972, 2586915143, 1697473211, 753789952, 69785701, 1464605850, 825313125, 761445164, 4025352196, 1422810113, 631688504, 1900115518, 890040320, 71784257, 3543141599, 1244741131, 759478892, 4109628145, 144116, 3932811582, 71076419, 2319268141, 1151598594, 1733545297, 1900120891, 2150450327, 754382080, 32562865, 1019822496, 1184050500, 2104294137, 4176936962, 564585029, 2973432637, 3426922797, 1145449724, 4211082535, 1482948877, 706670304, 2775661692, 1004208130, 1598529066, 4047708483, 674909251, 1610613347, 649787633, 1158825304, 1158366468, 1291845373, 204330, 1661914520, 1899631677, 3657434460, 3542520322, 2268940516, 2784050979, 1176716863, 1046413314, 1460332852, 759463168, 49, 1081765949, 1313111343, 77380, 2097152000, 0, 1, 0, 11644, 1, 0, 11634, 761790465, 761135105, 198, 0, 65536, 0, 0, 0, 11600, 0, 0, 11588, 758787378, 757476638, 0, 327685, 756165882, 751840450, 65536, 0, 11450, 0, 948, 883, 62128128, 36897, 0, 76730, 65537, 76716, 0, 731643904, 17694720, 11130, 2382626816, 727984974, 725625648, 0, 1, 65536, 0, 65535, 4294770683, 4294508544, 722348796, 716318258, 75300, 639247888, 637937146, 636485632, 2354708488, 468452, 634650625, 0, 458752, 0, 0, 0, 0, 0, 628106508, 614999108, 601882624, 0, 0, 0, 0, 0, 601367492, 598736896, 0, 0, 0, 8936, 569901056, 0, 0, 0, 0, 0, 0, 0, 0, 11796660, 546308096, 6553700, 1189648, 948450944, 931409288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2013265920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1677721600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 458815, 4063384, 5111921, 3473561, 2353957966, 2354023505, 2354285654, 298193, 2362739928, 2363817989, 2364116215, 2365951246, 2367029252, 2367655209, 2369424715, 298372, 2374667665, 2375286788, 2375650720, 2376437166, 19697076, 6589884, 3313095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 65535, 0, 4294901760, 4294901760, 65536, 4294836224, 0, 0, 65536, 4294770688, 65535, 4294901760, 0, 4294901760, 0, 65537, 0, 1, 524476, 393405, 4294574271, 65726, 4294901776, 2097146, 1835014, 1966081, 1966079, 1835003, 1769465, 1638407, 1572869, 458896, 11403436, 11206826, 11075739, 393371, 11075754, 11206828, 11403274, 11075744, 11141282, 11206820, 11272358, 11403432, 655529, 10420394, 10551467, 10682540, 10813614, 10944528, 2031616, 1769517, 1966170, 1638535, 1835188, 1573089, 1900814, 1704251, 2396229332, 2380173015, 2396688091, 2380041950, 2411696082, 2413596651, 2415628297, 2417295360, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2442760660, 2451046406, 2479526865, 2480772072, 2482279427, 1310751, 2396192796, 2396651550, 2380136477, 2380005402, 2396913691, 2396258329, 2396454936, 2396717079, 2520383510, 2520383488, 0, 0, 0, 0, 0, 38460, 2520618568, 2522191465, 2524839939, 2525927068, 2528575493, 2529269456, 2531038951, 2532507651, 2533398286, 2535063556, 2539558766, 2541262729, 2543622048, 2545260489, 2547750895, 433133, 2616892430, 2619645009, 2625372160, 2631048403, 2631245015, 262169, 1179800, 1048580, 2631507190, 2635767109, 368907, 2702680363, 2705170759, 779366022, 781201050, 783036086, 784346834, 790376238, 792211274, 794046342, 798502858, 802435046, 804270130, 809775190, 812658810, 814493854, 816853178, 818163918, 821047546, 822358286, 823669034, 825504070, 827339106, 831795646, 835727834, 838611462, 839922202, 842281550, 844640874, 846475910, 848310938, 849621678, 850932418, 853291822, 859321162, 861680494, 863515538, 865874854, 867185634, 871117830, 874001450, 876360774, 878195810, 880555158, 883438778, 885273806, 888157442, 889992486, 892351810, 894186838, 895497578, 898905502, 900740538, 902051278, 903362018, 904672766, 906507794, 907818534, 909129274, 910440014, 911750754, 913061494, 33685754, 0, 2164392187, 0, 2164261120, 0, 32768, 16777216, 0, 2130706945, 4227858432, 32257, 0, 32256, 16777216, 0, 2097152257, 0, 22784, 33685747, 49152, 2080440320, 49152, 2080377089, 4278190080, 31489, 4244641792, 805312513, 4227864576, 805312257, 4043309056, 31233, 4261412864, 10497, 4127195136, 13825, 4194304000, 10497, 4211081216, 10497, 0, 30976, 33684480, 184561664, 2013331456, 184561664, 2013266176, 0, 30464, 33685753, 61440, 1979777024, 61440, 1979711746, 16646167, 821589248, 100791296, 318831104, 771881472, 318831104, 1023541502, 135786738, 1946222592, 134217728, 1946288370, 134217728, 1946288383, 134217728, 1946157570, 4244507415, 821195522, 16711680, 29184, 100794618, 49664, 251789563, 49664, 251789566, 49712, 1895956723, 49712, 1895956726, 49664, 1879179508, 49664, 1879048448, 0, 28416, 33554432, 0, 1845624576, 184557568, 1828716801, 2816, 536898816, 134349049, 335569920, 1325531380, 335569920, 1325531384, 335569920, 1325530112, 486539264, 1761737216, 117452800, 436336640, 117444608, 570555136, 117452800, 318832640, 335557632, 1325400578, 15929877, 3257953281, 4608, 3254807552, 33684224, 0, 1795162112, 0, 1795162881, 0, 4026547457, 2816, 805310466, 16648978, 821170176, 16777216, 0, 1778385409, 4227865856, 26880, 0, 26880, 33685754, 0, 251723776, 0, 1744830978, 16646144, 26370, 16384000, 26112, 16842752, 0, 1694499073, 0, 25600, 16777216, 0, 1660945410, 16711680, 805328386, 0, 805328386, 15663104, 22273, 0, 21760, 16842752, 0, 1644167425, 4060086272, 24832, 16777216, 0, 1610612992, 0, 24320, 33685758, 0, 1577123840, 0, 1577058560, 0, 23808, 33685758, 234942464, 1124139008, 234942464, 1124073729, 2816, 23552, 33684480, 0, 1526792192, 0, 1526728194, 15597568, 2248169985, 4194304000, 1946179842, 15663104, 2248169217, 4244635648, 2214601986, 16384000, 2248169474, 16449536, 2248150784, 84017391, 0, 1459749119, 12288, 1442971648, 12288, 1442970112, 13312, 1426128896, 13312, 1426063874, 4244504576, 21505, 4227858432, 21504, 16777216, 0, 1392509954, 16318464, 3221234946, 16384000, 3221246466, 16449536, 3221234945, 0, 3221234944, 16908542, 353513666, 1258291456, 0, 20736, 16908542, 0, 1342178049, 4227863552, 335564546, 16646144, 19969, 0, 19968, 50462974, 152563954, 1291975680, 151056384, 1291911168, 151056384, 1291845890, 16646144, 12602368, 33750526, 61640, 1258422526, 61640, 1258291456, 0, 18944, 33683968, 12288, 1208025088, 12288, 1207959809, 0, 18688, 16907264, 12288, 1207959809, 0, 805324800, 16908542, 393456, 1191182593, 0, 17920, 16842752, 0, 1157628673, 4060086272, 12289, 4211081216, 17409, 0, 17408, 167899648, 0, 805499902, 62464, 1124203264, 62464, 738323968, 0, 1107422976, 0, 1090646016, 0, 738328064, 0, 738325248, 62464, 721547520, 486539264, 1073741824, 0, 1073742082, 16646167, 821575424, 33681920, 0, 1040318208, 0, 1040187906, 16651014, 4039251201, 4864, 4060101888, 33619968, 0, 620756992, 0, 1006633217, 1792, 15104, 50461952, 184561664, 268564992, 0, 973206272, 0, 973078785, 5376, 805320960, 16908542, 353513666, 939524353, 0, 14080, 100791296, 0, 906098944, 0, 906099456, 0, 906097920, 0, 906098176, 0, 905969664, 0, 905969922, 16646167, 15742208, 50461696, 0, 302185726, 1507568, 889321472, 0, 771752449, 0, 13312, 0, 13312, 33685504, 184553606, 855769343, 755216, 838861313, 0, 12544, 0, 12544, 16842752, 0, 805306881, 2560, 4026543874, 16648704, 4026543872, 16842752, 318832128, 771752705, 4143977728, 11521, 4160754944, 11521, 0, 11520, 50461184, 62464, 738327296, 62464, 738263040, 0, 721420801, 0, 10752, 0, 10752, 33619968, 0, 687865856, 0, 671088897, 1280, 4093650688, 16906752, 33280, 637535234, 16384000, 2248150786, 16449536, 2248150786, 16580608, 2248150785, 0, 2248156416, 33683712, 49152, 604045312, 369160192, 587202817, 1792, 805315072, 50527230, 1519810, 553779454, 1519810, 553777920, 0, 553648385, 0, 8192, 33619968, 352321536, 520093696, 0, 520093954, 16646162, 12590592, 16842752, 0, 486539521, 0, 7168, 16842752, 151056384, 452986113, 4194305792, 805313025, 4211083008, 805311233, 6144, 805312769, 4244641792, 805312513, 4227864576, 805312256, 16777216, 0, 369099266, 4261285126, 4042396930, 16649478, 4042396928, 16777216, 0, 335544577, 1792, 805311232, 16777216, 0, 301990144, 0, 4352, 16908542, 353513666, 268435714, 16711680, 3840, 33619968, 0, 234881024, 0, 218104064, 0, 3072, 16777216, 0, 184549632, 0, 2560, 16777216, 0, 150995200, 0, 2048, 16777216, 0, 117440768, 0, 1536, 16777216, 0, 83886336, 0, 1024, 16777216, 0, 50331904, 0, 512, 16777216, 0, 16777472, 0, 0, 819343585, 1956001346, 851981630, 892024118, 849625767, 854929611, 860504467, 1101215525, 1043937934, 972569016, 952909101, 1055342714, 1084768366, 1079916652, 1086865693, 1032600496, 1031094150, 969423670, 1125464004, 1125858106, 1091912280, 1092169984, 1019100963, 961624839, 1093352421, 933705662, 1012284780, 1006911048, 1037844942, 1053701484, 1012021553, 1004223867, 820919469, 1018510493, 1092894295, 1091518467, 958087400, 1074871972, 987838456, 1031943814, 1058880298, 984366068, 1030045281, 1046888674, 923222672, 1121402450, 1104690454, 1046231281, 956252332, 1059863628, 1066287698, 984562355, 985154244, 1005273000, 1044267392, 1106199100, 1117665229, 1072381941, 1029651848, 1070938492, 1076049319, 895501034, 1045249805, 1086275346, 1077821879, 0, 0, 0, 0, 0, 0, 0, 14106, 0, 14739, 15648, 0, 0, 0, 0, 0, 16245, 0, 0, 0, 0, 0, 0, 0, 0, 931084180, 0, 0, 0, 0, 0, 0, 0, 15489, 0, 0, 957218816, 15983, 986841088, 13903, 0, 983760896, 0, 0, 924450816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1071644672, 1029111808, 0, 0, 0, 0, 0, 0, 1194467, 15615691, 15681094, 15743333, 15809877, 15874433, 15941915, 16005379, 16073064, 16136605, 16204129, 16268671, 16335166, 16400058, 16467708, 16530507, 16599032, 16664176, 16712492, 773981954, 873775507, 1782682368, 373658789, 83099670, 1704240388, 4076869413, 2493842674, 1615252, 2768568064, 419357445, 2147549209, 399710216, 4110424379, 2860089345, 1672890, 1698797056, 439130437, 2147549210, 831825156, 4160756314, 3310977025, 1729940, 2768567808, 443126949, 83558426, 2029082433, 2533366393, 3134857955, 1750471, 3309410304, 450537786, 2147549210, 3904152960, 16784114, 2837783236, 1766634, 1762193664, 452449157, 2147549211, 278177089, 3992984344, 3539542700, 1779092, 2768827136, 456759565, 1106378779, 966332481, 2566921094, 3242541559, 1804024, 2768828160, 482918565, 1100611612, 3552251201, 2952797399, 2493874177, 1890216, 2770530304, 483896485, 1100939292, 3652535617, 3942653254, 2711977985, 1918664, 2776629504, 491573866, 1102053405, 1304062216, 3992984913, 3548711151, 1921960, 3641241344, 500803749, 1102708766, 648152354, 3607109158, 2772795393, 1976035, 625056512, 506127118, 2147549214, 785196353, 3540000308, 2718253517, 1979632, 2772547328, 512154917, 1100742686, 2263131520, 16785044, 3232071681, 2005478, 2457862400, 513459498, 2147549214, 3872206401, 4177534694, 3808764646, 2026137, 629145856, 518691333, 1103953950, 4004078913, 2315263732, 3243451111, 2028751, 3928151552, 525112485, 1100808223, 1473029441, 2650808151, 3444122293, 2054548, 2768565760, 525985427, 2147549216, 3433604480, 16785619, 2493874177, 2152415, 3309432064, 551021897, 584581152, 3622687616, 16785624, 3836035504, 2183620, 2770523392, 559146327, 584187937, 2797266304, 16785830, 3463086081, 2205391, 625078272, 564584773, 1102315553, 2799846784, 16785834, 3810885633, 2208970, 2772541184, 565879301, 1106313250, 716121472, 16785966, 2909110273, 2240200, 3846283264, 573872645, 2147549218, 882510370, 3087016500, 3779412385, 2265768, 2772546560, 580048088, 584843298, 2481099136, 16786067, 3813818796, 2266085, 1400897792, 580570917, 1101135906, 2611668352, 16786104, 3341123585, 2287279, 629145856, 585560636, 2147549218, 3940930432, 16786164, 3808772515, 2290930, 1696774912, 587129638, 2147549219, 1474381121, 2768249689, 2493858212, 2401684, 2770015997, 617781642, 1103953956, 3536627009, 2768250067, 2989367982, 2414528, 2770531840, 625386661, 582221861, 1205721216, 16786762, 3567592187, 2444228, 3644958208, 626565870, 1101987877, 1491530817, 3439338843, 3104473089, 2475698, 1950452736, 633783461, 2147549221, 3432293697, 2801804760, 2856796584, 2480340, 3644963584, 634967590, 2147549221, 3685262657, 3103794835, 2603237813, 2528476, 2776629504, 647684421, 1102118950, 2630657307, 385689326, 3456450985, 2551533, 1161932800, 653579429, 1101660198, 4272612736, 16787272, 3836051457, 2577329, 1419959041, 660137125, 2147549224, 2777982258, 4011731159, 3852828673, 2676964, 2771578654, 685303127, 586022952, 3650397505, 2885691963, 3138200293, 2780380, 3682599168, 712616677, 1392749867, 2798244673, 2936023976, 2864252149, 2862820, 2780823982, 733273358, 1102053419, 3116002369, 2969578712, 3847438834, 2968228, 2772546816, 759874725, 1105002541, 3403662626, 3489672652, 3072672153, 3001578, 3934257408, 768722085, 1102184493, 3550782785, 3003133400, 3030745089, 3005844, 2772553984, 774293971, 583991342, 652585506, 2634034734, 3567600115, 3028178, 3850371328, 775600421, 2147549230, 2445712449, 3019910804, 2631368705, 3053460, 2768826880, 781690021, 1101201454, 2544572706, 4194316010, 2829402613, 3074785, 2770513664, 787393129, 2147549230, 4106790152, 4177538804, 3890545902, 3188116, 2772538880, 819964069, 1103298609, 1502913857, 3976212955, 2829402549, 3286729, 931135744, 842705061, 1104216114, 2241111361, 4160762513, 2762285761, 3314085, 1394786304, 848802117, 2147549234, 3869025601, 3976213222, 2706931713, 3335928, 2770517760, 854235914, 1104019506, 3936036130, 2617258730, 4171571902, 3337940, 2776629504, 854911593, 2147549234, 4205356448, 27931462, 3710222337, 3360477, 780140800, 860282168, 2147549236, 3550782785, 3036689619, 2778169345, 3462055, 92274944, 893841349, 581238837, 1371964737, 3053466967, 2829386988, 3523988, 2772547072, 902408357, 1104674869, 3532957056, 16791001, 2493858201, 3576228, 2772561152, 915515557, 2147549238, 2493818240, 16791188, 2773033657, 3577236, 2772558592, 928232190, 586285111, 1472505153, 4043323223, 3836035481, 3712404, 2772536576, 965983018, 1100873786, 1203300929, 2835364453, 2493843707, 3827866, 2034364416, 979941994, 1100873786, 1773733536, 30030443, 3302572472, 3829738, 3930167552, 980986617, 1104674874, 2025400840, 4211096185, 2782363649, 3832271, 1384120576, 981061797, 150667322, 2074769729, 2365602427, 3138265759, 3863756, 2770516992, 990221477, 1157431099, 630498688, 16792775, 2493858259, 4021418, 824359424, 1029483064, 2147549247, 1389667649, 3103801694, 2493874177, 4311232, 2772548096, 1104266405, 1102774337, 3638601025, 3154133614, 2907013121, 4355234, 88194304, 1151702181, 1103298628, 3383056256, 16794832, 2829418497, 4510420, 2776629504, 1154737495, 2147549252, 3618719010, 3556787418, 3440198078, 4540108, 2772544256, 1162269861, 1102643269, 1189954881, 3204465993, 2974121985, 4573365, 1400897792, 1170990245, 1104740421, 3434554816, 29378006, 3922296833, 4577001, 3410085632, 1171842387, 1103167558, 2294326593, 3254797960, 3242795731, 4625328, 2770532352, 1184153765, 1103298630, 2544412064, 31344280, 2829402527, 4627626, 3846292736, 1195892168, 1104019527, 1472320290, 4093659336, 3050536961, 4771001, 86157568, 1221448070, 584122440, 3500713281, 3321907411, 2493874177, 4772790, 2434967296, 1222090282, 587071560, 3638680354, 3003140312, 3847716865, 4801940, 2776629504, 1230103717, 1103560777, 1503274274, 3741337992, 3253764097, 4839390, 2541748480, 1238951077, 2147549258, 2443909441, 3657452184, 3768942593, 4889042, 4169138432, 1251715237, 1103626315, 1386097217, 3422571351, 2773959099, 4970666, 729809152, 1285919909, 854138700, 3621690402, 4177546565, 2493846299, 5146004, 2768564224, 1318577573, 854138702, 2548410899, 453004951, 3854308122, 5151144, 2776629504, 1334154405, 320471120, 4020836736, 16797962, 2590343169, 5321948, 2776629504, 1365611685, 83492945, 1804903688, 4093661547, 2867151285, 5335993, 243269888, 1372689573, 1104019538, 697607458, 3825226341, 2493843706, 5401236, 2768566016, 1383714981, 150601810, 2865538369, 3472904936, 3721953281, 5462420, 2770015480, 1399512229, 150339667, 4073882884, 3976221902, 3701833729, 5559210, 629145856, 1423415978, 2147549268, 3638611072, 16798937, 2493858269, 5560737, 2772553984, 1423553701, 2147549269, 1235949952, 16799065, 2493858269, 5621952, 2772553728, 1439342917, 2147549269, 3403483713, 2751485393, 2829418497, 5624744, 2770521600, 1440066309, 2147549269, 3650397568, 16799270, 2705670616, 5646031, 629145856, 1445383992, 2147549270, 651905664, 16799270, 4171579850, 5651120, 2772553984, 1446687141, 1104281686, 2395941410, 2717931152, 2829402579, 5673384, 2776629504, 1452860581, 2147549270, 2579141504, 16799386, 3701817812, 5695224, 2772555008, 1458234117, 1104609366, 3940752000, 16799476, 2705998328, 5722564, 2772552448, 1465046181, 1104543831, 1474513473, 3019921240, 3030729175, 5724564, 2772555776, 1487246501, 1099825243, 1187982976, 16800590, 2719514625, 5983972, 2772536832, 1557061957, 1104740444, 3583288641, 3170917589, 2829402586, 6085562, 1786773760, 1564910757, 1104871517, 1234478370, 3439353162, 2802155521, 6115752, 3628182016, 1565709162, 1106051165, 1403344768, 16801109, 2581021137, 6116778, 830472448, 1565895289, 1104937053, 1439155521, 2533383512, 3839312271, 6117606, 2537656320, 1573437785, 581632093, 3551569280, 16801415, 3542450177, 6195392, 2776629504, 1586021125, 2147549278, 2294531362, 4227882641, 3299164617, 6198696, 2776629504, 1587062949, 2147549278, 2597135650, 3305135774, 2586124995, 6244244, 2772557056, 1598529066, 2147549279, 1402250561, 4160773971, 2869264385, 6248679, 3307382272, 1621464229, 854400096, 3469121408, 16802003, 2762309633, 6347688, 2772537600, 1625199781, 1106182241, 181876608, 16802068, 3712303506, 6363048, 3527539968, 1628945081, 1105068129, 1167369491, 419455302, 3299180545, 6375133, 222413824, 1632036005, 2147549281, 1222465826, 3321913672, 3941220850, 6376084, 2772546304, 1632288933, 1102250081, 1370269056, 16802131, 2762293728, 6379924, 2772562688, 1638311580, 2147549281, 2797684033, 3774898598, 3735364259, 6401743, 3307385344, 1638847653, 2147549281, 3034400128, 16802228, 3743752908, 6403307, 625081600, 1639638181, 1106444385, 3368173090, 3070255564, 3030729164, 6410666, 2032333056, 1641265945, 586350689, 3650397505, 2684379662, 3366273499, 6426324, 2772558592, 1646721189, 1102774370, 782320961, 2751488558, 2772779490, 6434532, 2776629504, 1647633573, 2147549282, 1187390754, 3774898758, 3785703885, 6441670, 625075200, 1649067566, 580780130, 1422116130, 4110443118, 2909094372, 6462181, 2771578140, 1654318506, 320405602, 2598747155, 402678446, 3324330452, 6467276, 2772559104, 1656200133, 1105592418, 3668533057, 3875562278, 2628075963, 6497965, 1702887680, 1663482597, 2147549283, 649783424, 16802598, 3136847873, 6497988, 3430940928, 1663487269, 1105723491, 652035393, 3271582502, 3744547319, 6498023, 1249902848, 1663498405, 1105789027, 715793698, 3758121770, 2862949117, 6499028, 2772563968, 1663751941, 2147549283, 885867938, 4278281015, 2590778077, 6502330, 172091904, 1664608537, 2147549283, 984442177, 3623904083, 2493850313, 6509477, 3330277632, 1666558693, 1099628643, 1437263681, 2332058455, 2898821121, 6510550, 3997300480, 1669698725, 320340067, 2261136449, 2835374982, 3399843841, 6523563, 623026176, 1670301861, 1105920099, 2395833665, 3959448468, 3710222337, 6601884, 3615490304, 1690813765, 2147549284, 3500713281, 3976226001, 3232055791, 6607300, 2770513152, 1691936069, 1101791332, 3671008577, 3120588113, 3299164654, 6640342, 2541748480, 1700652197, 2147549285, 2800002432, 16803242, 2493842685, 6662860, 2768566528, 1705954469, 581173349, 2933958016, 16803255, 3544975614, 6666195, 2235691264, 1706552089, 1105985637, 3398739265, 4060112338, 2639757313, 6673064, 2770518528, 1720030373, 150929510, 2543953280, 16803479, 2712305665, 6723808, 2772562176, 1721409957, 1105002598, 3870958976, 16803562, 2602205185, 6744744, 2776629504, 1726655237, 2147549287, 1284810049, 3405801303, 3433382387, 6858132, 2770016252, 1785128742, 1106575466, 1772807432, 4009781865, 2868054255, 6974363, 423752960, 1785582224, 1106575466, 1909526593, 4093667960, 2733523423, 6977977, 1161950464, 1789236389, 454556779, 248349960, 4261440721, 3905388545, 7165854, 2554434816, 1834475988, 1100218477, 3334776192, 16805322, 4057146038, 7196858, 1814208768, 1854841157, 2147549294, 2392938624, 16806053, 2493854443, 493930920, 2772560640, 1892607141, 1106641008, 3500713281, 4144001233, 3232055800, 7393732, 2776629504, 1893191123, 2684478064, 3635794722, 3170922713, 2867175425, 2825968042, 3951034624, 1893443749, 1106837616, 3734283554, 2952818910, 2666168321, 7423708, 2772564480, 1901651109, 854269297, 1491425058, 3925897638, 3836035503, 7448295, 88190720, 1907023173, 1102250097, 2934261026, 3338695113, 2829394609, 7459732, 2772564736, 1909695653, 1107034225, 3550860066, 4144001491, 3435938299, 7460779, 92274944, 1910092965, 150863986, 2459592064, 16806548, 2762285786, 7509157, 1394792704, 2011168709, 1104281720, 2777982212, 4009785681, 3299164669, 7950790, 2619525120, 2035848357, 82903164, 2777982273, 4127227543, 3232055806, 256, 10520523, 3883885568, 1661010113, 2984722177, 738222849, 12693760, 16777295, 16777447, 3204448367, 16777400, 50331648, 224, 656690433, 17031579, 50397867, 50332416, 0, 14692132, 1291912161, 2600665346, 2869101824, 0, 0, 5555892, 57984708, 73466883, 1482015750, 3298820806, 1438975685, 1959183365, 3785032962, 27985231, 67240033, 83115, 72614918, 76349399, 67108864, 0, 10535878, 230883505, 2697054440, 3217329152, 99139525, 1959133185, 1422308354, 1627456068, 2869186305, 40960, 3880714497, 60818245, 2348817749, 50397409, 2600534272, 1124270544, 1325466112, 3770613760, 2684405005, 67195905, 100764927, 3372220640, 119817027, 3284664333, 600184328, 352379303, 2030043414, 135594068, 65761, 2809725113, 369631232, 3785849088, 18221088, 5505025, 14788473, 12193166, 17675210, 767734541, 1839861008, 1088913222, 3425792, 14682916, 1130559232, 14784256, 122887, 608403651, 67166615, 301, 2920287663, 4853787, 2171712016, 3623891736, 157107784, 604283648, 1533497886, 776831014, 2622227969, 2536036612, 2300243971, 421123872, 3626510096, 3510896156, 1644470579, 219755635, 3225044529, 1476405603, 929664069, 1476447257, 3546488877, 3395095042, 2505478954, 2036334861, 773387333, 3357155430, 3864461596, 2570410024, 205220355, 2256011552, 3545443626, 3764296269, 537210440, 3425371508, 19255894, 2553965568, 908971114, 3932169240, 139628804, 2286241372, 286919172, 2253201682, 1953506309, 642520133, 554945124, 337981816, 508778805, 2051281434, 1629244775, 1464795238, 2619009280, 627192946, 1040482838, 877494547, 239561308, 219797249, 642584141, 2149114633, 2923954508, 3224300129, 2686380587, 3926189412, 570840872, 3358935296, 539874074, 543512676, 608944174, 3995756822, 2147762482, 3075697188, 138763050, 3758388563, 2321381956, 604603148, 638156331, 539653225, 2367062035, 170524745, 1081190988, 18180650, 537623634, 4181181776, 3103793446, 3927588901, 3630338413, 1476417284, 2791309846, 644030578, 2535915561, 223347036, 544116260, 2987804104, 2998647776, 1060304128, 3144594192, 784732384, 1060171264, 3762234774, 9240077, 184549376, 0, 0, 0, 0, 13, 67112197, 854017, 3762235086, 3248537985, 879729045, 24091285, 44040776, 3904832140, 3359490, 22555910, 2594177352, 218431628, 413593, 17164479, 42729497, 1124139346, 218628141, 110710682, 17164479, 25952261, 3900637485, 50372613, 1245774081, 1179621633, 88194169, 1289759526, 1572649479, 2348854944, 50356560, 3070230601, 196768, 5169199, 643677191, 230293644, 9674894, 1471287769, 387449652, 1342774000, 2646346, 2521152396, 8106502, 56387717, 89106433, 178302411, 1326055424, 2801830912, 290458114, 189794819, 14691113, 4211802112, 2996209083, 218562700, 4924676, 54889472, 1151338697, 1872364553, 2348811887, 2567178563, 50415530, 162699168, 2684930280, 3205073920, 99139333, 767164576, 147384511, 93061125, 3904833837, 3137396778, 643677370, 3137814791, 37730625, 3161971905, 2512128520, 114672021, 3154606348, 1166802955, 767605805, 3216649662, 3141601026, 1259188224, 2348811533, 2952831169, 3199713685, 3154534495, 3199189397, 3154642180, 3198665109, 3154773771, 3198140821, 3154182253, 1166868117, 2501042239, 611059596, 4270524160, 0, 0, 0, 2950588, 755415597, 129745259, 3657630302, 1638797530, 2987115040, 1618060104, 621123369, 1784606285, 2154202568, 2780535554, 1090705989, 755150657, 64636205, 61812156, 19773954, 2696596545, 3162097709, 2948214190, 271432451, 1370688768, 3770613764, 2684667276, 5481395, 5308429, 14720768, 17080324, 3314286657, 1875771648, 3770613764, 2684667276, 3383299, 3494970125, 14728960, 77595845, 2348819104, 47464705, 2043695362, 218161343, 303108, 3314286605, 1875706112, 3770613764, 2684666433, 67295395, 3003146496, 3125087674, 10728192, 1358957824, 3768516608, 70106117, 767165997, 3137841924, 184549632, 0, 0, 0, 0, 16776965, 185157004, 713127, 2819293324, 4294118812, 896000, 3785857685, 14788505, 2499862951, 2559901856, 2756927923, 3268357555, 3265508096, 1241515973, 2746421408, 2966629633, 2963312455, 1640149827, 3138236416, 2348818221, 3015839140, 10728192, 1241515973, 2746421408, 2403580850, 348256421, 3836719538, 1353843125, 2696237490, 197601664, 91560681, 1382405285, 3148950789, 3037574144, 228917261, 2483029173, 4722084, 9175534, 1873936642, 2684505312, 791226881, 44040833, 3435237122, 1181765185, 82725581, 1325545710, 2348817089, 2399290929, 1419773009, 3784812544, 4007761832, 16829775, 37285569, 2197964337, 954255553, 2399287534, 1673629442, 955141792, 2764574116, 9175045, 228852128, 3049673729, 45146779, 2986456460, 25485349, 674693648, 50569219, 2154152343, 67172352, 1581319425, 2151235845, 38158596, 4176565249, 33583026, 508288, 122040632, 3761827398, 1107624539, 2695154753, 84035777, 2399615214, 3460498690, 1791066887, 954677556, 1647117827, 3246589752, 3879285836, 1409352192, 3785601536, 1177633541, 42012941, 2751499265, 367011112, 922894337, 60818424, 2684646701, 67363227, 2818573281, 2611478950, 3785074176, 39190786, 5505026, 158380553, 14850982, 33575945, 16806066, 58011, 2785214604, 13295653, 674693640, 237571, 1690402818, 958349637, 955635680, 656946946, 536911872, 1306535720, 922910720, 2684387461, 218300483, 3036700756, 16908399, 2986344641, 2399158548, 1386218319, 3246391865, 524371256, 4123364352, 2074084327, 2696270420, 16908399, 2986344641, 2197833265, 954225730, 2768371808, 3785074690, 65117096, 50498560, 1396811010, 1571948060, 719979316, 1343363710, 41183864, 3343864, 712583784, 2830285745, 2510676010, 675938563, 33660929, 3225551104, 1661838336, 2348820448, 656946946, 67149824, 3314286608, 3761187374, 16822752, 791283201, 11611400, 39059714, 26017292, 2684800269, 3162058170, 103654150, 2600537507, 10530247, 3762235759, 14696234, 1577099264, 3235921708, 1124114432, 3235921711, 721461248, 3235921711, 1929420800, 3232761088, 0, 83887360, 5243140, 90637570, 1078133508, 3242788099, 90244355, 3298100336, 17039544, 167772160, 0, 0, 256, 0, 5612801, 5636098, 77595355, 872547333, 3786123269, 39060737, 14789544, 218113, 33655808, 76920224, 3041367717, 2348810036, 100926806, 16908404, 2986344673, 2879915264, 1873936640, 3246391366, 708375865, 760180648, 83907584, 67166635, 2818899972, 3036698196, 83954262, 16908404, 2986344673, 2879916544, 2348810095, 2986410912, 55369775, 690618627, 2684584213, 2696235021, 134253568, 173277442, 7320064, 146899715, 959723751, 1208813057, 2348875201, 2198026527, 1095062209, 2399682836, 15636149, 1409352193, 2348869057, 2198029873, 954257376, 656946947, 134258688, 3735029595, 2511688709, 17454593, 33584306, 57771, 2819227733, 16908459, 14690088, 922976256, 2684387405, 3760531511, 52429312, 2684408480, 147841063, 674695296, 10485957, 2348847520, 107594115, 138058044, 3269575043, 137966648, 3889779717, 17454081, 33576448, 33584306, 57771, 2819227819, 17630720, 2348835296, 656946947, 536911872, 5693479, 674693892, 10485957, 2348829088, 116121639, 674693904, 10485836, 3760662583, 54526112, 14112001, 67195905, 33612195, 2986362417, 1421148853, 2348817888, 656946947, 134258688, 3314286608, 3761187374, 16822752, 791283201, 11611401, 51185408, 1409352193, 2365501952, 117440512, 0, 0, 86, 16908404, 2986344528, 131670, 16908404, 2986344528, 197380, 33572236, 3305649, 50610436, 978005254, 84739328, 2348817603, 2399479568, 3225551930, 1078133807, 1079379210, 123012144, 7603968, 93651852, 4291551651, 2986426105, 3280930051, 3904937990, 3644982792, 1230243340, 109838342, 1124472768, 1443249152, 1946484741, 765592971, 1056508159, 4278190080, 0, 0, 13, 2902478760, 237571, 3394217728, 6357760, 1078043906, 3226445574, 4259841, 1716496386, 38774530, 6357504, 3315597888, 1336411648, 3785074438, 5220359, 14785447, 117476352, 2471470856, 4259841, 1766828034, 38774532, 6357504, 3315597888, 1336411648, 3785074440, 5220359, 14785447, 150998437, 42729572, 2695594080, 1101332934, 229310641, 1336411652, 1336411909, 1627653458, 2684799968, 791276294, 9175104, 229310641, 2684769359, 67110736, 117702727, 2115629, 101157888, 542115588, 4653184, 3368128263, 1095062209, 2735188545, 1161879599, 703268352, 2348812628, 67372172, 4289987841, 155585964, 28340135, 16834987, 2818637964, 4293787904, 2995879, 1420493056, 3760860095, 2868904192, 1336346624, 2684405005, 2768375211, 11534848, 4, 16826736, 2969698533, 3204486402, 2365583872, 50331648, 65, 3161346482, 309618094, 1300247765, 1431560370, 3148984843, 3257013075, 2147753042, 3917527382, 16908916, 2986475600, 131956, 2986475600, 196832, 724171523, 45591, 633906619, 228851725, 2902502317, 50331648, 65, 3161346482, 309618094, 1300247765, 1431560370, 3148984836, 1516325120, 544380708, 98870614, 16908916, 2986475600, 131956, 2986475600, 196832, 724171523, 45591, 537290243, 2256011580, 1577654861, 710875418, 1771455931, 228851725, 2902502317, 184549376, 0, 0, 0, 0, 79, 2818574496, 140096006, 471531598, 2154649372, 21770081, 1399149345, 1171301819, 2973105928, 7327488, 22020352, 36962561, 22020352, 4784131, 54657793, 3667961175, 1336410631, 2684865104, 16842849, 117458989, 83987456, 793772289, 189769730, 6359808, 1665204994, 1279370497, 1210910209, 2348815696, 16911183, 2818834529, 184568288, 791418113, 11535362, 23371781, 1755317957, 2348819122, 321719896, 712583784, 671309459, 671251178, 579620319, 2830285745, 1409353729, 2365555872, 99241989, 51007493, 84627461, 16834602, 739969547, 303108, 3554781082, 2499928475, 2583758048, 791418117, 12099590, 3931112964, 173016582, 189793794, 14690860, 453643008, 77595859, 3785857429, 31562649, 17096751, 739575296, 3091269811, 1471288109, 240544088, 1707283498, 155602716, 720020658, 3148996651, 724436230, 11670413, 239685633, 394678048, 2231717799, 17408009, 1253205329, 3299183616, 642819586, 10485835, 1325989888, 2801830912, 374343938, 189794563, 14691113, 4211802112, 3801589250, 10487497, 3759614812, 101122061, 2902564869, 3377464577, 9175046, 1342571008, 3761187765, 45718, 2780541184, 50331648, 16777185, 2811663616, 766945285, 50939276, 946088, 50389419, 2801991820, 4293869989, 38395927, 733939721, 4367617, 3386906411, 3204843264, 2684473680, 16842977, 2611413504, 3784812294, 28352514, 3226468866, 14785447, 67166615, 2802319792, 50331648, 111, 2818638703, 2818703584, 690710531, 65720, 134217728, 0, 0, 16777216, 6357250, 3248489672, 218366092, 373376, 2773418240, 96571141, 954222605, 67210240, 933234379, 2684831904, 63287940, 94416327, 2802158592, 549555973, 1059277665, 2920302506, 2945187857, 1342243336, 1342243584, 3760925179, 134217741, 100684801, 67210495, 2785018368, 80, 16973936, 2969567317, 2097381, 3204468737, 33576192, 16928769, 50353152, 16834603, 704315904, 12059136, 160, 29405824, 2782932780, 33620647, 45090048, 0, 0, 7321089, 74429954, 91199125, 5636098, 5505026, 7640576, 14789543, 16802052, 89681814, 2499827200, 33575936, 33584278, 57771, 2801926320, 2684604495, 67108961, 2852145376, 791408899, 5178368, 14692139, 4043309140, 67372172, 4291166720, 111, 2526347348, 131669, 33620193, 2878734337, 3785856514, 14789526, 2499981312, 50331648, 79, 3422552150, 131877, 33800303, 3422683233, 81909, 1426194688, 1875640320, 2868904192, 2995969, 1342244796, 2881225728, 0, 65, 18695323, 3693977345, 765461217, 2811729152, 3760663868, 2533359776, 15338911, 7313301, 4259841, 1078957825, 78813125, 2684603872, 791413251, 10944690, 2149624324, 2996299195, 2869169567, 11600128, 5220358, 27263458, 1354171808, 1336411904, 3760860315, 16816640, 2684403823, 2559901856, 13164591, 745839258, 1336412161, 2684469584, 3070664783, 2819162336, 707566337, 10027168, 12611480, 2499846144, 3245316501, 4259841, 1239428908, 1956289200, 3761187956, 2576986112, 117440512, 0, 16777216, 111, 26542817, 2811729152, 67240005, 2348819311, 17041120, 724547590, 2550177792, 3314286605, 1409614080, 3786118912, 110429589, 76349402, 3786119061, 86837143, 764871083, 117442560, 0, 0, 0, 13, 2483039635, 19763714, 3785857173, 14788355, 2499825409, 483585, 39231492, 3370696452, 2348811752, 3204702255, 758906880, 2868924161, 34128271, 121184083, 227803585, 2399682836, 14767105, 67210240, 3670115079, 983121090, 1654654152, 3904832652, 387263, 65023789, 1006633120, 12594436, 2564925188, 2499841024, 2999026439, 955597125, 1956683091, 227803841, 2399682836, 10310657, 67210240, 2519572152, 2684668136, 3204746240, 99139331, 3761188156, 40960, 3231713473, 2348841153, 2198288692, 954687937, 2198354228, 954718624, 80275647, 76283909, 3904832480, 791493632, 10485760, 1387388967, 674694916, 10485957, 2348827841, 2198288692, 954680716, 3785103, 121705547, 2694082573, 2483325952, 719332648, 923213826, 111150798, 2694662957, 2634427803, 126615571, 3760531511, 125829120, 2684405805, 2651270584, 123797762, 3203552257, 67185927, 143458024, 134217728, 16777216, 0, 0, 2950560, 1862374662, 1200882881, 2694739360, 2649940005, 674732928, 40960, 3408764571, 228393100, 2023461, 674732816, 50569219, 3540884736, 3785818517, 31561473, 28781985, 61907102, 1822465385, 1100218853, 2694800032, 46182918, 23603209, 1174565994, 1615452257, 3543138636, 794907493, 1394689488, 2780541249, 2483111328, 2689060175, 2701131565, 3103891463, 3420466990, 1728118924, 2203790, 3403687214, 3457159200, 14689582, 3467870272, 6403010, 3403687214, 3468853312, 7274901, 7667718, 71799809, 1166803255, 1200882293, 2684678721, 67233511, 3204710511, 16777441, 2600534272, 2987902006, 2617296652, 1098949967, 16842922, 11671205, 4238719969, 2801898753, 2348875843, 67227040, 67142337, 2409693183, 2155594127, 2701131608, 765461805, 134508289, 2499835136, 67166635, 26542220, 4284915716, 1160578056, 2684547232, 2666389546, 775947780, 16802049, 2588469375, 109838341, 3900639277, 2868915625, 2637015710, 3759614766, 13, 2902559744, 564134622, 2986738024, 671696386, 1953128521, 3630289712, 21770081, 1399149345, 1171301819, 228458509, 2634068384, 67136416, 125855648, 41966689, 3015889842, 388134954, 201407914, 1564856505, 3146514503, 2693722802, 71379040, 2591989933, 3584073159, 2994775463, 2610994898, 2994775463, 2659975178, 3760794472, 2475819008, 2986453597, 1170777531, 2348815538, 299439896, 53760009, 451936296, 1632278085, 3138231808, 228393137, 2684635149, 117542142, 2467142912, 228458541, 2684727296, 83886080, 0, 45, 84062739, 2369326464, 2779225778, 20185125, 1229376548, 2499899139, 17085060, 95028289, 33706305, 84067762, 2523247106, 2541790604, 606978, 38122116, 2231632385, 1071166358, 2768242688, 0, 0, 0, 111, 26542637, 127947280, 117678083, 3819176704, 1426063620, 1879246086, 3760926759, 100728992, 13230123, 790365697, 2426116, 1072189968, 268673027, 2153161731, 5701636, 5570561, 67962112, 1443168768, 1862467584, 1637744759, 1443168768, 1409286400, 1862467584, 3814447885, 1235725, 5570565, 139435520, 14785288, 20382, 16834971, 134283488, 456072411, 16813056, 119866628, 1069313793, 2499830016, 37801295, 2701131565, 3103907861, 785309185, 16788896, 124715413, 10485824, 3247815724, 1143685344, 355389148, 16842936, 67108864, 0, 7602691, 6791168, 1272981806, 3892427009, 12085152, 38527017, 786956729, 47207, 2684568032, 690939905, 3103916216, 83886080, 0, 162, 16859201, 50518610, 17891488, 13885483, 807862530, 10485961, 3760926492, 16908353, 50350666, 18859594, 18509218, 17131850, 17614410, 18768202, 18499816, 2130807808, 256508191, 1223196417, 2348811752, 2130763818, 786956546, 303361, 29338288, 50331648, 111, 43320148, 50397409, 2869035009, 1409483008, 3786080917, 11534416, 3070558432, 724515226, 40960, 3226515206, 14691119, 966328320, 3087009024, 0, 0, 7274901, 60818369, 1191315521, 67305665, 1409483008, 1862336516, 1090837061, 755281766, 78888938, 767165514, 68241421, 83987456, 367009590, 2583691329, 83981, 83921920, 84739329, 2684736583, 33706162, 71442482, 2214963716, 2996192699, 2980054335, 2981238724, 1691363941, 4238719884, 4288938752, 0, 7314069, 4390913, 1347467013, 4653060, 3356295425, 2348815727, 2576678979, 85328, 3070623815, 312589, 16949249, 3249669185, 727197714, 1782135473, 2818916609, 38122170, 1706173911, 689504903, 1028155136, 103146661, 1336410370, 2684504754, 1699857573, 2348818592, 2907021484, 3410952704, 10944652, 1134594, 33771522, 50389035, 704316160, 11671333, 3366304689, 67108864, 16776960, 27263680, 1107493064, 218366092, 413442, 225026, 67133697, 12657924, 54523313, 67108864, 0, 7340548, 6357248, 3240428547, 1073066240, 50331648, 13, 2668571906, 271388673, 1241583432, 218300812, 3072423, 2543124525, 3113733455, 2701131617, 33639136, 623824563, 16842976, 623824385, 16842863, 3113549891, 17677, 50408720, 34447104, 2869100800, 10529872, 1336411649, 1325465600, 3247374399, 591966848, 2779429552, 1336411904, 3760794472, 16777216, 3087008000, 10529872, 1336412161, 1325465600, 3247374399, 591966848, 2779429552, 1336412416, 3760794472, 16777216, 3087008768, 0, 74, 18661536, 2665239041, 285451267, 5701634, 5570561, 14690863, 3097363200, 10485952, 2694699858, 17564576, 62956547, 5570561, 14690863, 3432841984, 10485952, 2694824298, 27247025, 83886080, 0, 224, 254037296, 1308690117, 3389047361, 272255904, 726142210, 25952336, 1091581771, 2687354893, 33655808, 1138765616, 3171942560, 13110530, 42729524, 218300531, 268632992, 54889472, 660734922, 3220402704, 50635780, 96572677, 17040703, 3830449152, 14692144, 3170893984, 12572173, 33644802, 2445295874, 39825934, 2020775716, 39905843, 1392519218, 879755864, 4147744102, 1050035643, 2348826177, 33644978, 242774679, 604051857, 1401834880, 103154022, 981008625, 1765814836, 4038245260, 1810434, 1488064120, 1922507777, 443810356, 1300913164, 1184643692, 2521152301, 2432872673, 2533425152, 2969567744, 162, 16958112, 46156290, 357059074, 482650882, 2701263551, 4038131725, 2415988111, 11735622, 1976724032, 1834426008, 993957445, 888832, 227475635, 284637515, 19554583, 985217683, 3769761805, 2399253267, 441800471, 2271070764, 153815133, 3580220495, 97035520, 14688049, 419496096, 12640287, 831652096, 3087007968, 1060182272, 2684403872, 2403393599, 831652024, 5356038, 10485962, 1371145728, 2902506416, 1253706438, 1253706056, 3762240702, 12104203, 3271577186, 2854340164, 102523524, 95074995, 2521105408, 0, 160, 29943999, 25952261, 3904868585, 2130878606, 7320075, 1092267621, 218165529, 278283680, 458863104, 570790202, 172474373, 36259429, 1392573952, 3224566440, 2998616336, 218120370, 69418260, 1328435018, 1610687249, 1386873685, 1893148416, 461797377, 874530000, 673645634, 1894145361, 2013275481, 689504448, 634520110, 834207789, 67771161, 2521152411, 10158154, 270256203, 270208258, 21369052, 1168773307, 2684437920, 2403443635, 71959559, 1404180417, 137102945, 2158340612, 2987804156, 2780536834, 3461419021, 14720768, 50372608, 1101005519, 1360004099, 2684602541, 62622720, 189861901, 14720768, 67133712, 79776260, 121721092, 218161311, 196784, 16777376, 2397020688, 4235265, 3370696449, 2348811752, 3213945215, 31467569, 4145021439, 4278237363, 197208160, 218188832, 618119346, 83886080, 0, 45, 2365693955, 1313931534, 14720768, 83927040, 1101005657, 1241586633, 1359022340, 2684635473, 17040544, 80194820, 2348822688, 55816710, 26788010, 28443050, 1564854437, 2348817519, 2231566509, 11701957, 2852211201, 72200704, 3189591629, 2154993612, 3214934876, 2746418592, 97929733, 122860032, 3193133409, 3374842240, 2779383218, 2548415456, 792530433, 10485952, 2717974592, 3760861687, 16909056, 3087010048, 0, 0, 0, 0, 10617092, 1101247238, 2684799306, 101139852, 331014, 853249, 2734751937, 2880635136, 1208813825, 2348832160, 71666688, 1331758086, 1208813569, 2348826209, 78857612, 3623428, 485706244, 468668676, 151494663, 3897164825, 3316451259, 3761192206, 67149824, 3634562048, 1358958080, 2684374690, 67128032, 691140356, 33554593, 67420812, 4289700353, 79863812, 1637877969, 2684800674, 100682464, 707917574, 33751200, 88598655, 27984104, 2130750208, 3248948230, 3393555456, 1397359644, 2152636425, 1313473563, 3394307081, 10485760, 1061815321, 3869246936, 3760927361, 16973984, 13189635, 4525315, 9765645, 83943466, 833225730, 50367488, 396493824, 1407201085, 235143328, 13295658, 838272002, 50372868, 79858943, 2130706944, 97, 28528051, 71381254, 1593719404, 2544190977, 3703587586, 4747141, 33598720, 1241586260, 2987593319, 776830988, 2709562794, 28508632, 2544218756, 631898547, 18108198, 980981669, 16777650, 242570026, 1328421408, 2227562175, 296878121, 404050712, 955361285, 3871312562, 75615397, 3871281729, 302075058, 39087429, 3366292480, 162660948, 1834522181, 3148550400, 14696242, 2751511216, 33554688, 14696242, 2751504385, 3987870004, 2453976, 872489514, 459931680, 819079349, 12456896, 80096622, 1581671899, 683644832, 3762238185, 10485829, 2684437690, 2964525712, 2521104562, 348256421, 3836719538, 1337065728, 3246587976, 810031936, 2952790272, 296883172, 1352077824, 298072206, 396362788, 659763523, 345119513, 719658120, 1388207564, 924849445, 1152390464, 532681171, 780685889, 277761281, 478561824, 1573664568, 48914775, 1833506373, 480187012, 1552941094, 404315337, 709254656, 86260331, 1360283684, 299049138, 350510417, 685287429, 251658496, 3381592071, 4278249151, 11665594, 9972462, 438325074, 492273829, 83957573, 2348813360, 65765, 3204484351, 4055609344, 16777318, 17875424, 725588225, 268482560, 16777281, 3229174496, 723934656, 3204495520, 3217990591, 10485832, 3904880524, 1351870, 3466837760, 2684373224, 3216935936, 99122944, 755040416, 30913035, 3240648836, 95027634, 13859412, 1564854437, 3147498208, 707157440, 3216900280, 33554432, 889088, 222102797, 1007004929, 3150024526, 62178234, 566932470, 2986387200, 1360168, 2785363224, 706003240, 8660394, 3014787160, 634004480, 348203174, 88414250, 348203013, 2628233651, 229886627, 3004209922, 2986387200, 1360168, 2785363224, 706003240, 278857, 774447104, 2785363224, 706003240, 2785361940, 3852248325, 2281898132, 2986625833, 1358977829, 3626649425, 774447110, 1711352362, 2686330402, 321591300, 3814421561, 167783684, 458344707, 354996320, 3170895204, 1577475097, 3643351064, 290614272, 3425174279, 3563594827, 3224301098, 1761903154, 2858264151, 1008224, 1847227493, 2858156348, 1577468731, 170528333, 2166131794, 2298637873, 3104085044, 475199799, 3222879018, 2037049948, 3021414411, 1092100164, 3630432533, 2853889480, 2780543628, 31371780, 1262119168, 1529170516, 473640198, 1627473503, 754987800, 119207722, 1616309856, 1696682308, 655530599, 237322244, 241079063, 2266691369, 544330534, 2617540884, 1544291841, 2536036612, 2335790968, 356196636, 2336543275, 4539988, 441712908, 1447904862, 1040386586, 3758451525, 1479812880, 3412416256, 3228675653, 1091662931, 723136864, 40913461, 1180508166, 1627467363, 642583044, 2570408705, 290654812, 17633619, 173847062, 1162356484, 559094842, 1818235989, 1392804108, 863031619, 1728594, 688014924, 2987713820, 1292159325, 1482770691, 239776120, 21807158, 2485387533, 290508804, 2619922234, 1811988525, 1543704138, 2972192555, 2319909137, 106888762, 1811969130, 1764417618, 1778440008, 604270888, 3543821312, 1696072035, 421096196, 3814395469, 2435321899, 3239106561, 3405785112, 303765563, 1778562875, 51710534, 554804813, 2550148360, 2804562198, 1159505673, 3071924267, 268388, 3408664915, 2254249988, 2701927733, 1180437818, 1080207898, 17881089, 3405787928, 157107784, 3170941195, 3329278831, 3563594853, 3026816256, 725523038, 1786249770, 877494276, 1802121472, 693458746, 555519056, 422925060, 2165189220, 304611887, 2249158994, 1813415268, 17394218, 537756462, 3027326723, 2319851626, 2688186425, 704652548, 1628792390, 537198849, 1901238020, 3775294071, 541757994, 2030338324, 740001345, 1396337668, 2254442028, 20234277, 1247025223, 1377654678, 1169903139, 1076234163, 1388418320, 235736264, 3247902731, 172297735, 213639199, 973291520, 229638368, 1060438016, 3762238738, 10158592, 67108864, 0, 10662659, 3257729539, 2684535201, 33800928, 790900870, 7209472, 2365582336, 14683940, 1299926272, 3784769536, 14683940, 1299828480, 3784769536, 14683940, 1300259072, 3784769536, 14683940, 1297729792, 3784769536, 11534518, 1320293008, 2521152480, 1060173568, 3098743142, 975873202, 11880371, 311465541, 3004261946, 715436544, 14688050, 2751529138, 288620581, 1909994497, 585786150, 1596281861, 2023620646, 426457842, 456027461, 2092794021, 3762238185, 10485952, 2987584099, 643771981, 2244519355, 3081965926, 975873202, 11735896, 671693546, 590238328, 6376091, 709512992, 894937266, 4897287, 1538458689, 707160680, 872496382, 50756051, 805660198, 1785214137, 2525344529, 3027239244, 4045138528, 156325890, 2468876571, 1394712677, 2800006400, 33554432, 14691125, 2467299586, 2684535008, 792331010, 12059648, 0, 79, 33555493, 50643055, 33751137, 81909, 1627587776, 1409483008, 1862402048, 2868905216, 0, 0, 10527562, 3759875677, 2075787440, 1913698817, 2684453037, 2751529537, 33639760, 16777440, 792331008, 12075266, 38489857, 44288, 3147498049, 33774927, 16777440, 3204449696, 97116207, 973276416, 3091271873, 1168143681, 2600616194, 74534913, 16821760, 10485965, 1342242816, 3761191427, 47183, 16843680, 63417603, 3147498162, 71379348, 3109086, 2521152411, 37814789, 1078984961, 71959564, 1297088768, 14692154, 50331832, 1325465859, 2684602285, 62626562, 2995004842, 78774310, 573858121, 2521152480, 792083460, 10158752, 2382385383, 2137260067, 1509949511, 2686185138, 100741769, 605245912, 721421921, 19291667, 722994305, 253981734, 1317022627, 1815283177, 988422958, 1382402213, 3147498177, 2534411789, 1256197939, 1955341312, 3101691699, 1955346944, 3098674241, 697565231, 1893635653, 3147497984, 16777261, 2936090030, 279686656, 10662656, 1239428913, 4155703480, 3003400497, 1381449217, 2790075044, 2986344550, 3132316746, 3120844723, 71381051, 1900436947, 806282418, 3003400556, 842737096, 2778970624, 1241516630, 2746875978, 839603, 71379690, 420283181, 455461029, 2696666787, 3120587195, 13873796, 631945906, 7800417, 2158340795, 3012969741, 3137384867, 3003146682, 4240132, 1093677883, 554841185, 1469482240, 14696246, 2583707904, 20990650, 72659460, 1093825648, 472438586, 1820336298, 3132331589, 3004376641, 1402356992, 67109120, 0, 4897300, 3483369920, 3761185840, 2080419072, 3148981178, 6684851, 2152521775, 951368196, 3761191092, 3003151364, 25344, 3363348481, 4088532593, 1355350054, 1720975786, 2608751304, 3378426372, 2321721889, 3326492160, 860212279, 537207085, 340602469, 3570184844, 373398, 1169922818, 3761191080, 3003278082, 2214616438, 42140903, 2137260131, 67108944, 2729640898, 2701329346, 1241711807, 4189196941, 76763175, 2217060867, 2986545466, 3087019269, 1717458947, 2369399299, 641848112, 25208234, 3132227619, 513356825, 1783055680, 83952023, 1397990578, 3152026406, 1562706688, 2600627898, 3008084507, 2952790090, 3139061984, 1060578560, 3098678061, 719984408, 41157012, 1361077079, 751314947, 2485168827, 3012969728, 4307577, 3225860830, 3326786068, 3232961134, 557868798, 2521104640, 4897548, 3695885065, 3326786314, 3561667335, 1166802957, 3003892009, 872623387, 633906506, 3138178738, 2217061051, 3003152210, 2865541729, 3149549491, 297037826, 1881482880, 1705436341, 1723513683, 2995004842, 3132227622, 123849760, 2864427926, 1172320056, 3032154592, 792245434, 7602432, 22133514, 7667968, 22133509, 6488320, 1370690349, 719984408, 41157364, 1380305061, 3761190809, 3120603136, 1256210230, 2583732224, 3245259451, 1270487987, 288640325, 3366256803, 3003146682, 4251675, 643637946, 11534560, 792172986, 10485824, 3004378395, 627245096, 3631743748, 621090843, 3227636513, 1074045473, 1529503750, 1323610624, 14686758, 1563605946, 11534592, 6685107, 3242590684, 3225813470, 3231711680, 2734751968, 792172800, 12058698, 3138115506, 71379342, 1832949765, 2864361984, 681051562, 3149108869, 2995004842, 3149071082, 794307328, 259346990, 1699870898, 11735396, 1351881348, 1354012293, 14696247, 3573587968, 3232960823, 1387604261, 3366256864, 1060623616, 2684403891, 321740444, 3434217574, 3132350883, 3120588288, 3017454099, 3563632733, 1074358298, 4151956272, 25208234, 3132266053, 3148965562, 3017384890, 4849676, 3534914597, 2864361984, 639775841, 1234585019, 2980295424, 1857683632, 33554432, 4897290, 3702654034, 1796801322, 1176521024, 916193320, 645924321, 2696981178, 3012969809, 3120890016, 8412234, 3121367987, 188815419, 1386925234, 1270484130, 3120580170, 3122547123, 311765610, 2763170490, 22978817, 14307585, 151166978, 3551691813, 2864361986, 2502588566, 1169927426, 3148919314, 2502585933, 2156135850, 3132228330, 1833355008, 3761190996, 3120608150, 1162525193, 1615510028, 1270025025, 406540970, 3434263172, 631945906, 43330168, 2521152331, 3121393842, 2217061050, 3003213370, 939534418, 2865541632, 67108864, 0, 27394306, 1084293635, 3265266888, 218366092, 766596, 2241856325, 2995021234, 2550508034, 755106720, 37740720, 4897290, 3702654034, 1796801322, 1176521024, 916193320, 645924321, 2696981178, 3012969802, 3122324049, 3120890016, 14371514, 206326970, 213061905, 1393206450, 3003859224, 992097377, 1234584906, 3121178186, 3121371058, 2217061050, 2986354254, 2617315667, 178565819, 1287261360, 3003859224, 992097377, 1234585011, 71436561, 1393165101, 455461029, 50331648, 162, 16993610, 50644117, 44106499, 3220679426, 50331648, 162, 16932449, 29510474, 33834901, 59506700, 3761191092, 33584131, 237826, 46130769, 17432692, 50331832, 11735499, 52655142, 404053639, 1163002282, 1564545147, 81415635, 1699964372, 1288766689, 172390423, 716463904, 91577991, 1163001896, 67511607, 722993847, 1399727433, 3343721, 1360677203, 1691957907, 2521104399, 524360, 65761, 1526728704, 2987502173, 1075662010, 2024637115, 2952790194, 296377664, 711581861, 2911025935, 524489, 2399207422, 14768896, 134262784, 14692151, 2579103904, 12628747, 3257006641, 2435322909, 3928176790, 2231369802, 3121896114, 307523027, 805404837, 2864362242, 3933029959, 5151029, 3551572658, 71379540, 1832944645, 2864362390, 1157627978, 3121836362, 3121564595, 188815419, 1382402213, 1270484914, 2217061050, 2986354254, 2617414550, 1169924238, 1105211183, 3624963771, 3762237678, 11580164, 1093352030, 1611003084, 2986344522, 3121807428, 1253707723, 3003859224, 995191702, 1162656271, 2693712096, 791664656, 2394063909, 2864361984, 642685954, 2343350971, 3761188824, 277782670, 1102187329, 443838485, 992490503, 1154007218, 3148919556, 1093352030, 1611002925, 1707648256, 16778162, 321800512, 1423466840, 373672114, 3137601792, 1166802962, 3762234476, 10485957, 2348812181, 311230443, 230883755, 3271557376, 10728193, 1102747328, 1253705565, 1241581376, 2986623280, 990273920, 2779382194, 76045657, 979751077, 3147498162, 198732469, 1393164325, 105251629, 714569731, 351541993, 980189376, 2864362134, 1169922818, 16777394, 71381620, 1879165984, 2864362134, 1169911475, 3125918221, 14720768, 33599488, 10728192, 1627437780, 2987644008, 3093118985, 1632578843, 634430907, 2600618512, 274248196, 1093690629, 1953652781, 1248069168, 3469521595, 1857228976, 2986628904, 3510364676, 2406160640, 862310952, 604367915, 960130048, 1645191550, 3075532318, 1040206380, 3642369480, 2780535554, 11732033, 686889753, 6823872, 1796099456, 1922508549, 3366258176, 256, 0, 74, 17877224, 2130742272, 99122945, 755171491, 3003395334, 2387215367, 1179714575, 94372681, 2684733034, 17126730, 269484091, 2684614816, 99959045, 284256769, 99459077, 3585213505, 697565987, 1949538309, 2852434582, 1166802965, 2986623273, 2483233655, 2389025544, 3228388665, 296268475, 2974417181, 1246822660, 11337915, 2980054472, 1845756300, 356019, 19730433, 3761188824, 277782534, 5480590, 5236607, 1677730645, 18080, 468431366, 20123213, 3630520065, 2589823290, 1812100155, 174063948, 539285314, 1784872986, 822105978, 2593555899, 2348817089, 2534411789, 1289752371, 1955368704, 2348813024, 255030412, 3187716177, 269287648, 2667577856, 1628438849, 566932436, 2995004842, 3014853162, 459956225, 49566277, 3366297602, 3252698928, 4144017408, 11735828, 1593705618, 2014456404, 1606422241, 1033130273, 480138053, 1647378482, 84687722, 12592599, 689519251, 2521104563, 71379636, 1793066467, 349403949, 980194885, 11735412, 3501457632, 1060812800, 3087007968, 438721894, 3149529272, 4897301, 1538425893, 2864361985, 875233289, 2051877471, 419723573, 3633726860, 1421841, 3027245114, 1818895966, 1040406570, 711132616, 2780540928, 11732053, 1585912049, 2014669600, 1655590088, 872500267, 819462950, 1308693300, 3501326515, 321723173, 1660946786, 1532504442, 3300000000, 10533738, 1376782081, 2684478372, 16834586, 801950465, 40960, 3322788811, 2981299713, 407766283, 976289915, 1910092978, 1102826432, 3759810141, 263961088, 2952790176, 3144212507, 1067043600, 10485963, 3759744605, 800770816, 3098743597, 719984408, 5113099, 976289915, 1910092978, 3003404827, 3225580656, 223576069, 156244276, 3640951344, 1579586327, 429278464, 11734733, 1378964352, 1854808384, 1625186309, 1686852241, 373679269, 14696251, 973125632, 50331648, 74, 3120941288, 2130742272, 99122945, 755040416, 33253050, 3010937276, 592753169, 3027239536, 1579609678, 6661860, 3045851167, 2987601178, 1879057674, 3530099972, 3798657562, 829951247, 1627592019, 633906601, 3132862538, 3122055400, 2130742272, 99122945, 755105952, 41969478, 3135164835, 3120799747, 2151507459, 3011070467, 209039891, 756707328, 621466217, 218423931, 2254444315, 757784677, 2925468024, 91761946, 822109028, 3510752048, 609678364, 3343369724, 2998643130, 2964525509, 1629504976, 672747556, 160326840, 1610697920, 573858121, 18108198, 980081842, 2684436640, 37794315, 3257085242, 1879060356, 95074995, 4135319, 692061758, 1397082277, 10533612, 1253709149, 3004289891, 1365704709, 588146279, 1462246482, 1700995125, 1364467283, 1170777523, 328011334, 36983422, 2525344531, 438411332, 3543352881, 1074161153, 2922489201, 286988289, 1482999621, 3627436623, 541446184, 422959254, 2231369906, 2217061050, 3003270721, 1476555779, 342518166, 1157628083, 332687544, 1564495705, 3769893043, 73153073, 4867736, 1679571757, 206743732, 11735499, 2447078, 2013941402, 832639019, 1457944919, 1611799488, 155602716, 720020658, 33554432, 10533623, 1723469922, 1253709144, 2995004842, 3132293158, 1720975598, 805380602, 1252021098, 3702710335, 1011613880, 3004378382, 1098664472, 206735619, 926486678, 1163005974, 27263360, 1185153282, 1090650832, 1090651253, 1342243072, 2919235744, 7057927, 3155886089, 1711298144, 3408401732, 3358064931, 930615146, 1429892246, 1169940527, 607157760, 3761189748, 47328, 1060916224, 3101703996, 1275115520, 14692132, 813629613, 12300288, 14688066, 3809738936, 10533504, 1212856853, 1555203109, 2864362240, 4101177352, 2905131264, 671392077, 2536069434, 1821787570, 198784467, 1073823379, 1203790093, 1005868471, 711860992, 1625161913, 296371764, 387974406, 2158340794, 3012969952, 790900864, 11337915, 2952790176, 2388243211, 1092211286, 2556544837, 1074075432, 3372233476, 152760470, 1168161728, 1253777088, 2987504752, 156325890, 2468876626, 2415933336, 95075251, 2527395914, 3121534130, 297037826, 1885232454, 604405925, 2864362390, 2773596678, 11337915, 2952790195, 100735054, 160000793, 53291754, 2521104562, 100735054, 491600489, 2149624506, 3012969728, 4897289, 1699396108, 1370653733, 2864361984, 642951884, 2995519504, 2995004842, 3132227622, 573858121, 2521152432, 1253706240, 1531623947, 1404241409, 407790250, 566641665, 541745482, 3434274863, 1024375296, 2684415906, 3120581600, 791803834, 10485825, 1253710416, 2986737944, 1309450624, 2779429555, 2521150084, 631945907, 2501205, 1741015205, 2995004842, 3132293158, 573858121, 2521149963, 3257013075, 2151062528, 675714112, 240061989, 1083704746, 3132331589, 16777290, 18661450, 18792778, 17613233, 11733832, 1397826562, 1535788576, 156848768, 1155115188, 4897542, 1179302671, 3232895886, 1705023493, 2864427798, 2773791894, 2768240714, 3121446246, 3132317097, 3132261413, 2864361985, 107285803, 3004328, 2998657039, 863276370, 12102074, 2995004842, 3132293382, 1695361792, 769075201, 203825811, 1666328869, 3366302219, 3257085242, 1879057675, 2271933312, 3232414387, 2521104458, 3121135795, 71379770, 1583375782, 3837001907, 128082548, 21704008, 3836870835, 198650065, 1203767555, 28635314, 11735476, 1879207973, 980108505, 672740569, 2527396019, 286542144, 1382093428, 4038328499, 188894986, 708838684, 1391498821, 11732033, 716055040, 1705436338, 14696253, 2063644672, 4897301, 1272977958, 1563998907, 12077754, 218122314, 3138519107, 2847584782, 2017579333, 2059666858, 3149029958, 1326267040, 1647190360, 2149624506, 3003135290, 1936345692, 3343204450, 778917728, 20536090, 3025983784, 240064794, 2031774291, 1481098696, 2773138194, 3870428105, 1397187585, 1008736040, 1798912620, 21573957, 1677829312, 2864427776, 639183451, 1181042120, 2779910937, 1557344576, 580067669, 1680089945, 1708339201, 2158340794, 3004581192, 2996192512, 14683965, 3784139008, 3087008000, 10533456, 2986737944, 1309647264, 2779578803, 2521123514, 367282874, 199275025, 3311626754, 324244224, 2136298582, 704938545, 1848752442, 1820377258, 3132331685, 2696660545, 3150996914, 322402771, 805413029, 2902569600, 3232414387, 3212647, 93133417, 1610685210, 957228241, 2521130683, 3017454084, 1180521239, 419519274, 1614188837, 3543138688, 2779429811, 2521123515, 316977683, 930730800, 27305389, 28475424, 2864361984, 832046506, 3149070374, 1666064841, 438683813, 3003402266, 1700996552, 2768240864, 255713677, 1660991488, 10533705, 3004403026, 2561979616, 438721808, 3149529272, 14683966, 2844615936, 3087007968, 255764877, 1761654784, 14683966, 2844617984, 3087007968, 255764877, 1828763648, 14683966, 2844619776, 3087007968, 255764877, 2030090240, 11732033, 716857760, 1705921944, 2647462, 3836870721, 3128737866, 3121335008, 255764877, 2097199264, 3144069651, 930730800, 18950755, 928235652, 95074995, 3212647, 93133417, 1610685210, 957228241, 2521123515, 314618387, 930730800, 18950755, 928235652, 95074994, 3250181, 2864427776, 643518053, 1080119596, 3156564070, 4196609645, 1170777344, 11732040, 442852133, 3366256896, 4635358, 1438750140, 1163623502, 2995004842, 3132293239, 894937268, 2902567610, 3761185840, 2097196288, 3148874752, 0, 82, 17892260, 50353920, 33576192, 16834602, 800588291, 47104, 14689086, 3183098941, 10485975, 3003892259, 758804480, 790265374, 2306390112, 223496854, 1169298317, 2014334600, 1073976512, 2864362390, 2768240819, 197272083, 1400911516, 2631296, 1705403431, 198968929, 1288782856, 453697716, 11732004, 748098180, 479466468, 2080645783, 1452743470, 212360518, 1699284116, 1920468097, 244656870, 1700266083, 659763540, 3434217651, 308701015, 439482548, 11735238, 1593269996, 831271308, 833435053, 900543917, 2525298867, 128082548, 21704008, 3836870835, 328011334, 15629527, 1564484243, 559277236, 16777290, 3121959347, 128018472, 106123274, 761930533, 3366275770, 349942532, 1093346881, 1077617944, 990063979, 17835269, 1479856168, 249869386, 3121406114, 3120585906, 190337875, 654329296, 672731041, 410270328, 959086624, 2864362390, 1162525196, 1772272128, 1705163265, 1215168784, 2365585587, 282149889, 606097647, 689528856, 1439777812, 1277690891, 1184160946, 2987601194, 3927382016, 1309041024, 2779429555, 2521104544, 3141864891, 3494558487, 3232895278, 831409536, 102858917, 2864427776, 638244922, 838382080, 11732003, 1009149588, 27680032, 894937266, 11668312, 1230063360, 1062757393, 973766848, 2864362390, 1157628672, 0, 5374471, 60818368, 2751660117, 65760, 707775489, 50331832, 12687120, 808343987, 328011337, 1342248749, 980419540, 1756912960, 646860165, 3567599888, 1147908880, 3932654122, 1610880849, 274736241, 3542361092, 2082171488, 604290131, 1361470819, 541382756, 100814415, 1504228531, 294912506, 1252001382, 36061509, 3500474547, 128059466, 1707746340, 1652559714, 139094649, 961123973, 6405043, 1085473857, 724445187, 1814592154, 1594508645, 3366256818, 71379758, 671187109, 2864362240, 677750500, 2986344627, 71848785, 604515065, 433276864, 1297820384, 1707737211, 104412377, 2525298866, 298148416, 158886634, 3119109, 2864362240, 1544114730, 958997960, 2768240819, 332687544, 1176503873, 588589264, 55902667, 2436021, 689504842, 2635078, 1545491269, 3500474442, 3121963955, 296359704, 59647296, 461783361, 311886246, 1834161945, 2444953, 956966066, 373672101, 2995004842, 3132293239, 1646930606, 1300613285, 11735257, 2842967, 1841866932, 33554432, 4915485, 3818586372, 45088842, 3121305266, 2217061050, 3003295355, 5144603, 959084858, 2476098995, 71437094, 1174406425, 886675077, 4897287, 1256200000, 2048327936, 3098674241, 688994887, 43189505, 2158340794, 3012969728, 12687290, 557205736, 2132184064, 99122967, 3760668794, 65720, 67114752, 0, 7475201, 10485961, 3761193699, 16822432, 38646532, 1093243904, 795926166, 1168114412, 1387925763, 2751660256, 170899527, 1694695424, 2684410291, 286341703, 980156448, 1892763392, 79766132, 14358993, 2521150224, 4001159005, 1171301632, 14688064, 2048262328, 4897301, 1420956557, 2013363237, 1632838659, 2216733370, 3012994483, 321719874, 1313227072, 1632839429, 3366256818, 71437198, 1293970080, 2550508218, 3012969728, 33554432, 4307673, 1605571466, 1176572001, 1382679681, 338449958, 2043883524, 2090078948, 1085412933, 3367154436, 1095382115, 537227834, 1771455744, 11732033, 691274541, 455461029, 4897301, 4174340, 1093866497, 1395848291, 170131788, 543068456, 27533482, 3132227631, 78658097, 64252664, 707462287, 1796800728, 27918399, 105468522, 2525346784, 255030413, 2566961331, 297037845, 689587654, 3702784179, 71379252, 53287717, 3366256864, 524477205, 12058848, 524477204, 12058803, 71379223, 1394082605, 455463077, 11732043, 979959886, 1786405702, 3300000000, 10729985, 1102762095, 3004403301, 2706312820, 187259136, 688221480, 3372516963, 441045808, 18196077, 1394022658, 707731461, 4166142577, 2858239432, 2772548296, 1471353812, 1756912960, 182679316, 1230779735, 682759749, 3366273281, 3729502980, 1262119169, 3650504038, 3132311987, 71387609, 2521130682, 281428410, 3679564561, 3642169346, 3996236033, 2858239432, 2773090581, 1320322085, 2852238080, 1480271304, 2773090570, 1353847257, 387448883, 2214963713, 3012969907, 283777848, 38442565, 4897291, 1244509114, 2746421419, 280101953, 723928576, 83984549, 2864362134, 2243628452, 897024, 2600599730, 309599881, 2013358120, 155611342, 1708339201, 752051082, 3702700813, 2952793508, 11534514, 188815782, 1563523089, 973752256, 98664613, 2864361984, 641366314, 3932367524, 2998603184, 893952, 2952790118, 3132842162, 332029988, 258054309, 1253775944, 3000133004, 373434, 1706197024, 2864427926, 1169363572, 75722200, 1287185586, 11735493, 1629512340, 1297547790, 1660950549, 965068965, 11735949, 239468734, 430590132, 400560110, 625382981, 50331648, 162, 17023648, 62941699, 38054659, 2701329343, 4155572480, 692251, 1987031728, 12685056, 1032219732, 2952921199, 2986344641, 2399158639, 1577955328, 1091607114, 3152027450, 59769016, 3004331109, 2924314676, 3579139040, 3001034561, 3792702209, 2684476082, 72510233, 13182698, 1660978181, 2852238081, 777865318, 1050035567, 2997878977, 2399157827, 1175299072, 2953683968, 229638323, 321275406, 1300235522, 1814454478, 604053578, 404240787, 2701909, 711539308, 38424358, 1141396017, 448309426, 11666478, 1292259110, 1707283784, 915038211, 2036742777, 1203834956, 164251402, 27678378, 1325779109, 3138233344, 229638320, 11732033, 722798201, 886675077, 16777290, 3121172448, 792920762, 14692162, 3808428208, 1253705546, 3759875677, 330956976, 1253709030, 2986626319, 1630382617, 538543674, 2019819904, 2779429555, 14155813, 456731221, 1677921642, 455461029, 1723511643, 3004378382, 1098765166, 2439856219, 1315258392, 139622738, 4181365654, 2246061860, 813433005, 12300288, 4897284, 3501327425, 730471136, 2214963898, 3012969952, 455499087, 3120607232, 11732033, 724393628, 6836587, 2712998, 3837001906, 325737931, 2043883532, 441062981, 3367156669, 1303581062, 1228939927, 1565058226, 3149075649, 681968960, 294013248, 292439360, 291912250, 1564480705, 682001733, 10728192, 1241515853, 2746417376, 455499042, 45235, 71381051, 1663454510, 1300303966, 1705922053, 3366256819, 321719885, 959335808, 1445339456, 81351296, 1358641818, 3769762048, 2990849, 3759875677, 2030108856, 6732304, 3437243199, 2579107840, 2684407219, 299439896, 27942213, 3500520196, 1479973445, 543380822, 1040236581, 3609794874, 2476115200, 50331648, 115, 268567138, 46841970, 268567460, 50348288, 88075856, 50397281, 81893, 2869035187, 297037845, 689587654, 3702784179, 282535937, 387186774, 1708599585, 321727077, 3567583392, 327177409, 2545698895, 1088913252, 2296320, 1504908173, 1342787585, 388840048, 2431722, 379588823, 1706745013, 3003398258, 2535719193, 707441016, 239659557, 707009595, 755392770, 4095869212, 570772077, 1392568880, 855967593, 740822756, 2990652495, 1078047690, 1088422692, 1127239423, 4278247831, 433, 4308081, 2075264049, 441778264, 1648779690, 604066848, 775181025, 270730257, 965567490, 1637109056, 1398380101, 3152023332, 1296286464, 3784769536, 10077709, 600256199, 279986620, 1030359750, 333034254, 3345675049, 628122180, 3528727634, 1700995141, 3426166216, 2782924580, 1296286464, 3784769536, 28393916, 778308294, 332641028, 823809280, 1476880234, 4079558739, 1503020512, 254037315, 3271614871, 177, 1102850880, 180753364, 2986619162, 1426085919, 1464682754, 2598679180, 2296518, 256946692, 823809280, 642934216, 2777415697, 2986619162, 1426073191, 1464682754, 2343350971, 2952790528, 158, 2063748866, 122891, 608388035, 16834967, 480, 440654022, 33620128, 29447170, 75214848, 50331648, 160, 55069697, 323748111, 3761190809, 16818176, 1181090064, 1084228450, 2987644008, 3089368875, 959111174, 1381165570, 775010563, 756703237, 2709562794, 28546629, 1325531392, 2902506416, 4308018, 1256200998, 1565506048, 3091315751, 1504907482, 1720021254, 1315839185, 991035430, 157352147, 1670044850, 3247946827, 944431119, 863276494, 12075452, 1330492177, 3027244882, 1179594400, 3024206882, 1437799380, 1756907040, 104931636, 3083425, 782027954, 1102850915, 3004378395, 627245093, 3408775274, 956519237, 1482686765, 1579876357, 2505919786, 2017077910, 1161935942, 1085477523, 1203766434, 1899234093, 455461029, 4308022, 3393305615, 1732360904, 1672676433, 1385169016, 1162237395, 805375722, 439254336, 77692522, 1834418970, 1601072453, 3366273468, 492286739, 3563632710, 537280801, 1850548248, 123586865, 1170777409, 3155116097, 3151708338, 2217061050, 2986424146, 3087032837, 943295844, 22290465, 2791458248, 2780539322, 2952790209, 2545693007, 1504904274, 1796801301, 688795584, 403258090, 590220449, 563385925, 1102852160, 3003892009, 2856755204, 3107280680, 2987804104, 2986344513, 3156824145, 269811872, 13230111, 1122178304, 2967486276, 2097199104, 4307983, 1312930770, 1256200998, 1562753536, 2957098017, 1085473827, 1009149588, 27680032, 204028300, 980156842, 1564854437, 4308011, 10990340, 744442368, 639113274, 1851992668, 608655169, 3543143773, 1479174184, 21766180, 3611301188, 3358261253, 553731679, 755295291, 939615854, 2537236993, 774578180, 3324471887, 979195744, 604606055, 3831835, 773386536, 106343013, 3643277595, 709536349, 1224801793, 3646950184, 3607112005, 3426165020, 2471496799, 1241536555, 1784415035, 170549279, 3221492025, 2372141349, 645407748, 1798012934, 1483406139, 1780747879, 2967132, 1815927904, 19081798, 537139482, 714491201, 3157262419, 3003515162, 1946261353, 1077237544, 604603448, 3091732586, 3926074228, 638472461, 3024961607, 1463931696, 21766180, 3611454051, 5064284, 4261732987, 2489985356, 3093565739, 541835333, 3426164786, 2148290092, 41650781, 1081776790, 2235677758, 1085475666, 436887571, 1343771475, 604123174, 440146904, 37379598, 1300235873, 19291667, 722993770, 451410098, 50331648, 13, 1962951098, 385897281, 2046885953, 1333264896, 3247374591, 4267880979, 2389024772, 220869888, 688132377, 690675984, 623616876, 542596990, 714491323, 2613686788, 712276740, 3646062636, 3607122181, 1831389590, 1169928626, 100735604, 59144218, 3568483249, 1098522958, 1102716234, 2697447180, 3239812035, 1102714457, 2987601194, 3927382018, 1946388088, 156472065, 2858239432, 2780541249, 2049005889, 3122484658, 70396710, 1140936934, 1593836572, 465946789, 3148996651, 898873974, 24379770, 37945892, 3493986816, 3437243205, 4051304704, 2684407730, 100735168, 150549847, 2830285745, 1107361865, 889192704, 2348811752, 3204563351, 67145, 3761194507, 16822595, 16802644, 2047213679, 2013266773, 17170548, 2046820463, 2013266113, 1795162880, 1239428934, 184615089, 1107361891, 1434060288, 1870135299, 1417283072, 1946157312, 1870135296, 3245015043, 4841519, 1175126272, 2981234177, 415238393, 894937266, 3148939776, 88, 17170592, 4833701, 41091335, 3243770118, 4259841, 1237428482, 1953564097, 1107363654, 1644327617, 1124146752, 1124205761, 2969567488, 7633409, 24082433, 10485833, 3761195002, 16824499, 100735168, 150549847, 2830237889, 2404254644, 1168142043, 2986618194, 704652830, 874646052, 125311002, 1768109133, 1170777531, 2970450433, 2613117184, 4260099, 1085409185, 415238168, 1530999540, 1379995699, 68303145, 1161823521, 942020629, 720054553, 1203789466, 1293956753, 2829426798, 1220644686, 62184371, 3015879, 1183334729, 16646930, 1385772056, 443114292, 1296418981, 3003135749, 3239336997, 3626063692, 16871762, 2533387365, 1392601643, 538792275, 2166104406, 639713386, 1764417540, 223488512, 639948608, 604603244, 1124401705, 340439339, 709345322, 1749456937, 537294673, 268756026, 1612348929, 1529510148, 2204914529, 1246236986, 172474373, 3776255082, 687935802, 1191214698, 2703002229, 3646947632, 1494903044, 2589197825, 1785731173, 1432364110, 2540021192, 2768240896, 5601793, 7305216, 12685056, 4294826068, 2046885999, 2013266113, 2399207422, 4852993, 27263360, 1136760764, 420967072, 30425466, 21761391, 31465274, 63504568, 3003403535, 1630382617, 537698561, 171585101, 2147773210, 822250284, 16918053, 719106739, 286542145, 286542149, 3500520203, 3240648730, 2114070053, 710675754, 3935716608, 117440512, 0, 0, 65, 3158856627, 71379351, 417334274, 472405841, 1141826738, 1102861632, 3760932921, 2059010976, 55423748, 572281631, 1227965896, 2775545859, 27263319, 3003515162, 2470952984, 51393285, 3912952355, 777151944, 2772500737, 1303577634, 475209545, 826656933, 3760932921, 62522528, 72332036, 572319325, 1366821947, 1793110639, 2013528736, 47166212, 572319325, 1366821947, 1793110706, 69345041, 959078411, 1392253673, 2294955, 1378964352, 3139805296, 3518103592, 209015566, 1708444861, 3146514714, 2500964886, 1162392086, 1159471386, 3895843113, 426437120, 688682793, 2383192345, 2322017869, 2149749334, 712254562, 2147871594, 4181022465, 711006010, 3107623776, 473575680, 1243989554, 3863674885, 553767497, 1228462376, 456724045, 3648520524, 3222633749, 1613950500, 654588954, 828375924, 744392768, 604602663, 1011878201, 1797974607, 543675691, 1540192, 3542365700, 1914365765, 1092362542, 2437323834, 1812100196, 3644494688, 473575680, 1248528932, 3180651791, 524360, 131297, 1526728704, 2987712512, 2986665240, 1023421270, 2554015244, 2776256037, 824705317, 2537104764, 2801796168, 2449474840, 1023559260, 4045937690, 823451648, 2551382016, 2785517664, 3542365808, 3510937344, 89437440, 85474563, 1396864114, 1612171078, 2285979904, 4261643846, 941090204, 2802778120, 13209344, 4294770913, 1526728704, 225444321, 2809660160, 3786110980, 27264128, 1314194433, 3540992, 107968774, 94373189, 2348825749, 107968774, 5112003, 2684840717, 117551620, 1294522112, 3227683684, 90641178, 2774794548, 3929396004, 16795396, 3156929026, 3126963789, 2244519355, 2516946175, 3259040769, 1158508033, 3761195002, 50378752, 83886080, 0, 13, 1963019280, 458586625, 3540992, 89392385, 76726530, 3265331715, 3265266245, 2348817985, 46810508, 778667, 2030305961, 43320480, 54889472, 137167363, 2365578357, 67436629, 65761, 2876835072, 762970453, 2046885942, 134219119, 2030372000, 71666688, 278201711, 2030370894, 12686852, 2365583072, 522607936, 11535104, 0, 14691125, 2466412291, 3760932337, 16973984, 4224001, 50378752, 4264129, 1463908897, 3551726529, 677386878, 51980625, 3421527, 2830254524, 1298374855, 3551724600, 1699365889, 1347946356, 1431513381, 3366302468, 1093235805, 167803730, 2865541697, 3155914656, 3352933126, 38734378, 1074070056, 3547864091, 3221555270, 2552762084, 2998079796, 2450862, 1308626787, 1557224774, 667276453, 1102859109, 3003392337, 3624173856, 3224229731, 538621278, 2637842021, 3561759802, 1764432223, 1214629701, 1170777409, 3157934259, 283795913, 721426435, 751981395, 1677797098, 1834425687, 456020577, 273560789, 1431560370, 16777281, 16929857, 3122022632, 2130807808, 99122977, 762970283, 2051080451, 1084256456, 3762243813, 12104452, 1093677848, 33756776, 738977619, 1394952448, 671351360, 587931974, 1180496168, 471478624, 17573892, 53748489, 558302797, 559646278, 949372160, 16777283, 19185986, 16892271, 2013331640, 33554432, 5767430, 6356994, 3245307905, 12059648, 0, 212, 2407202810, 14692168, 3556770132, 2047213792, 793302016, 39090689, 14690120, 3690987779, 3566172927, 4278247463, 1222377472, 68091912, 4718594, 14768896, 134263296, 20, 3249317344, 709479028, 17039538, 2158354479, 1237123328, 2994775520, 709479027, 16974002, 348236965, 3149009802, 1663041702, 2238046255, 1237124096, 2986390148, 3856674633, 3171090610, 348204032, 289858341, 3149004800, 5313, 2896551962, 1237976322, 67154560, 2782932809, 3171025074, 2158354458, 1237976834, 50377236, 3249317307, 251660288, 3381592319, 4244693339, 524353, 2046911410, 299040800, 558777811, 805454885, 80085062, 567747409, 450908842, 1305718962, 3146514545, 1098520165, 2986616874, 2032852997, 553742674, 2533391620, 3545443873, 1176387073, 710339171, 178565819, 2348829249, 2048983109, 2987512576, 539054949, 1459628292, 40126212, 3322091817, 1358967813, 3248006560, 3351949906, 2865538444, 504354, 887179698, 82072160, 1382679310, 624952609, 3409094, 6709812, 3836918721, 2399404030, 1689388545, 415253705, 626459050, 1564545390, 1582397446, 1730552234, 604053536, 230431281, 2521152449, 2399469565, 1085474305, 415253705, 626459050, 1564545390, 1582397446, 1730552234, 604053536, 188488241, 2521104640, 10486086, 2994734512, 1090584904, 2987541704, 2779820563, 81831344, 67108864, 0, 7633409, 77595339, 2684602546, 379966629, 2967481157, 4051304704, 2684405938, 306497701, 2957116417, 3326280740, 1223196417, 2348811887, 2013528109, 33595394, 1186103301, 2957050369, 1219629636, 3366301874, 319086757, 2952790081, 3155116113, 3121217603, 674227, 188894574, 3836914106, 1102756096, 2349713153, 3003393874, 2415998802, 3087091297, 3514302804, 543306852, 17786445, 3627374596, 3775285860, 3506451554, 774199298, 2502582546, 3933029957, 3543139842, 2791507505, 1545322501, 17009251, 554752000, 3226921581, 3563786616, 441387562, 1617022028, 189061173, 1477944604, 1380, 1880275583, 4045931563, 2741799721, 1074964025, 622592000, 0, 70986312, 69374765, 3626031401, 635741514, 3121333834, 3121958112, 790900860, 11337915, 2964456494, 1699873638, 1306015064, 3474456, 1184433379, 1515473235, 1678842666, 1545869333, 1566259866, 1648231251, 1632259096, 965935473, 453847808, 388247767, 483141636, 979439756, 451352970, 9726757, 1677790997, 731414560, 2864362240, 3192822784, 3646049917, 1226301446, 3775074643, 633906432, 16777281, 16990386, 71381043, 402856692, 1379996195, 1814894836, 1832983670, 774779321, 2712362, 1459635526, 654338720, 1721506537, 2117271, 1705054243, 2550505671, 3434239192, 1624025253, 2348813234, 1230576160, 647290021, 3003263513, 939534340, 169548182, 1157628160, 12686778, 521804620, 3760928147, 275120524, 647211, 898830439, 29464506, 521958753, 1828810584, 1588854944, 5747206, 18399239, 35451217, 272264192, 728817302, 1169928672, 525334784, 10485956, 2610880575, 1256849585, 2868994413, 22435934, 3019939840, 1239428939, 285278392, 3762244330, 11643649, 16777261, 22954426, 474764382, 3019954319, 92161, 3247374593, 239444076, 3376480602, 1554017113, 3003515160, 3221800798, 2418696202, 1195804737, 3543138607, 2264445619, 100735168, 146950385, 1360018028, 2846942, 2521104640, 12687290, 454642400, 724931329, 1694546144, 724931329, 1677768704, 67108864, 0, 12686593, 2695013576, 3247899046, 2755988738, 27263688, 3900637324, 387199, 3027525120, 4260020, 1158480641, 2684602413, 74222592, 86836331, 2986623280, 857211674, 4099031315, 2371029632, 2778727113, 3896479196, 2348812008, 1066262189, 11665479, 80117830, 2684668392, 1066262668, 452671, 2380508416, 3147826134, 2691355552, 80341055, 2381220864, 115883917, 4239196347, 3003397206, 3026311464, 35399266, 2436440158, 2294329856, 16777281, 16990432, 793452048, 877313, 2987594825, 1546940933, 25189805, 1656467456, 16777281, 16990432, 793452048, 877313, 2987594825, 1546940933, 25197741, 1656467456, 16777281, 16990432, 793452048, 11734305, 5244002, 606865613, 439447774, 3769762048, 4260099, 1088433995, 504365235, 220266576, 80085062, 886130566, 4172417024, 0, 0, 0, 193, 2534448016, 2155524615, 2702753876, 3613655332, 541496112, 219820400, 3724861700, 1829003879, 2252748800, 740747875, 170137702, 2468882193, 3540000801, 1399150336, 688131354, 822093336, 406114630, 2617259553, 2790156868, 655479552, 539054949, 1459628292, 41689095, 3694733903, 435712, 1177981224, 39595524, 3394082587, 1780745729, 340436579, 6199464, 2998616336, 2885706253, 1661055506, 2466336357, 2858162233, 704653572, 2704394538, 2033780292, 22747419, 975896630, 2435175216, 122112305, 1414463772, 2570411520, 3579135580, 388548984, 19077469, 3492291685, 3026816260, 2198085706, 2452257028, 2570411522, 3930636621, 3528775777, 3685266107, 2348845889, 279664909, 1661055507, 340352052, 1912930688, 2091737787, 218366348, 7356688, 2423435780, 1093677848, 324204852, 3154717978, 829480448, 774531424, 604307714, 1952394500, 2202583048, 3244373074, 3855132091, 218366348, 3948816, 2925071715, 28447508, 1230779506, 83984477, 2908928781, 83987456, 557912233, 1571947565, 439447774, 18108206, 1330274305, 538993306, 1705363621, 3138192641, 3249237249, 33605729, 1828802573, 50400516, 30232328, 2388167680, 168625409, 3444508814, 1503658965, 1130280017, 3264175617, 1732971783, 32030572, 2348816800, 55788382, 5194334, 3008040199, 32030572, 2348811752, 3211472134, 5791412, 10485886, 2995004845, 145909152, 1640572929, 606079969, 422473161, 689971136, 402743367, 111280550, 1178344408, 2655237, 2903028325, 2746491821, 145909180, 723097157, 3146514491, 2684799464, 1066293900, 452671, 2388634880, 2903028325, 2690763048, 19144756, 3511125752, 2998640647, 3600837331, 2684799464, 1066266252, 452671, 2382146816, 3147826264, 2684704179, 69357844, 1328435018, 1610760227, 1654285733, 3366297604, 1370686498, 1360285486, 1330274323, 1392096434, 2684699059, 69357844, 1328435018, 1612206937, 3031564544, 4260099, 1088427851, 2878385152, 3087008000, 4260099, 1088427851, 2880219648, 3087008000, 4260099, 1088427851, 2880153856, 3087008000, 4260099, 1088427851, 2880045056, 3087008000, 4287916, 1178665374, 3435238657, 2796332352, 3900637624, 16777281, 16973919, 1091611722, 3759623083, 2930442424, 3761195806, 268481293, 553676036, 1650732036, 70469213, 773486592, 689173598, 17838933, 1462585444, 410669611, 930621201, 2001879093, 1462248507, 627245108, 3609461027, 709238789, 3240370279, 2483037720, 388591913, 423269270, 2235629826, 1302336586, 3759092596, 2388918456, 1090584640, 1102850816, 1212223646, 1370686529, 677406122, 1208038826, 1564854437, 3003395176, 3609577039, 366185, 3643280970, 3073054779, 1778705019, 2489985356, 3093564459, 537295157, 1314659355, 3224985611, 3693799939, 3572020289, 3161522269, 1102820864, 1488094245, 2864361985, 1899583491, 2389025103, 238139648, 688131176, 3609577039, 18058576, 604402986, 3945339139, 1396380748, 606427238, 4101505903, 1499813703, 3239876635, 778137129, 554904875, 3227342954, 1241722153, 3607278691, 949372347, 2847584321, 3155197363, 71720275, 387514641, 1393164627, 1397502977, 560869817, 53291584, 74083667, 30081061, 1901537316, 67654265, 723058751, 155582691, 1855137980, 1640573221, 3366273468, 876655364, 946133353, 1476406330, 1427839035, 1788232960, 50331648, 65, 18827496, 3211168768, 99139431, 755171442, 33620128, 12640299, 898826755, 6384896, 1078001951, 1279483572, 1220710238, 23642433, 18631235, 1577076290, 1588904347, 33554520, 1588854944, 6807579, 1305878288, 10485836, 3759885782, 470810784, 13844924, 1430303492, 571708492, 3093563241, 749253299, 197208160, 444465208, 149760746, 2521104896, 193, 2500894879, 2731852181, 279028899, 3452015888, 2795874502, 1091610466, 3247767968, 2728708289, 2533467816, 1223196416, 2348811752, 2142532702, 8628, 12688130, 1482601472, 2684403936, 458085919, 16949250, 3299541728, 458085916, 16949250, 3232432640, 16777440, 793646864, 27263311, 3003892008, 1612348928, 1379227560, 2999031740, 1213028275, 197271648, 404495296, 85218643, 2099789, 720016965, 1102851072, 1614872833, 1168141381, 2691430816, 349811472, 3525045837, 2440569860, 2706011138, 3928893987, 777151952, 2779975369, 990718826, 1162412233, 1834182487, 719348518, 1566048382, 241062725, 3366302468, 1095314019, 928238116, 16928350, 4099679314, 3758506261, 1952289895, 718058817, 3159031989, 1090584832, 1503685760, 1208839168, 3003392584, 4146647136, 610097960, 3510266880, 3221685032, 3929396004, 241444612, 742774885, 1396337665, 1998164522, 2036334884, 1381715499, 829954132, 3611437568, 894341931, 2925733453, 177620403, 69355608, 123943159, 1376439474, 2691399752, 225116339, 69355767, 684744740, 1566255313, 980156608, 117647594, 903029774, 1680278572, 1171809619, 980156791, 429009529, 1610687570, 1531849521, 2014860503, 1110048821, 1318267822, 1663454474, 2521150212, 575166471, 1664677714, 181187137, 16860576, 1824890987, 1370690349, 719984408, 41156690, 1162601650, 1102861632, 1090584905, 3896479371, 2348812008, 1066314925, 12300288, 16777440, 793646864, 27263311, 3003892008, 1612348928, 1781880744, 2999031740, 1213028275, 197271648, 404495296, 85218643, 2100557, 720016965, 1102859008, 1816199425, 1973447901, 3003983709, 1178599680, 1778688380, 839190365, 1178599680, 1378735971, 633906611, 69412902, 157367622, 1641117705, 723082910, 690342053, 2691423667, 220683590, 1073807466, 77691954, 84368710, 1073807442, 769090341, 3366302468, 589833737, 1631405665, 3514304811, 425631273, 633906497, 3159703617, 16861672, 1066318220, 452671, 2395843840, 3148874240, 65, 3121891341, 16878592, 165686069, 2478465281, 2691364929, 16896724, 2405302542, 14192384, 23593057, 82008, 1588854944, 4775999, 1341063352, 1113502920, 3900637324, 387199, 31467343, 3372220672, 3097520512, 1715536129, 3511967412, 14192384, 23593057, 65600, 2690533389, 33590272, 84738561, 3760672713, 33620640, 48083472, 3623888197, 1181565200, 537303153, 3543335009, 3135550139, 224985259, 45220929, 697565231, 1893635653, 3148984836, 1098752878, 2468872484, 542429994, 949372347, 2981233729, 835936713, 671482129, 1393173511, 1403375781, 3148940288, 0, 160, 38838273, 3326176686, 3231711558, 1097705920, 2684471528, 2132773888, 99122972, 1919746052, 2684666020, 67322115, 21450756, 47264, 30072875, 898854246, 12116011, 898854247, 12058784, 1581965355, 898854244, 12116011, 898854245, 12058880, 31469390, 386924609, 83872, 1791269790, 2684469472, 793646864, 4259841, 1688231764, 2691486130, 247613681, 1360027649, 797374642, 3148984836, 589833762, 878791062, 1169928626, 69341425, 1360027649, 797374642, 3148939776, 65, 16842818, 1102849280, 1030142643, 2044739408, 2466291712, 1903082000, 2986625106, 2066378282, 2034745382, 4099146112, 2779429555, 3364504, 992873633, 552685840, 2104646, 1208034862, 834246213, 1090585408, 2986623280, 855904825, 692404229, 637678669, 2152634213, 2775599370, 2620823592, 471478624, 20100165, 3627370755, 424831492, 3814221405, 1224796698, 1074082105, 2372143198, 2556516352, 537649992, 537528909, 554816289, 2858418756, 539898962, 3855132091, 3762245779, 44040943, 2986616616, 3523225187, 878094884, 219818864, 3724593246, 2556428544, 1595916440, 95027890, 37632620, 6620171, 1184160946, 3152025419, 2879979520, 3087008000, 9607937, 3267471105, 3262957357, 1610722049, 2701197759, 4071686656, 65, 3157681074, 72313429, 43723488, 67578066, 2295457, 27674172, 465946789, 3152027450, 61407408, 1102852467, 3003865146, 1430765602, 4100131424, 16938079, 757789441, 1394868516, 543069256, 610435173, 2858239331, 5151759, 2703324230, 879759076, 2990652459, 6271492, 925442077, 1179124006, 775010561, 391321643, 262721, 1394868516, 537654350, 1040241409, 3542196306, 3764551690, 553742674, 2543207904, 1062245120, 2684413106, 2170182, 1208031479, 1376406535, 2013692069, 2858463746, 1044016128, 1694764126, 2588747208, 2780541121, 2545699599, 9912764, 256584962, 3123511739, 2348812333, 45821185, 3131048640, 1090616384, 1711453036, 1845628973, 1610789380, 656986624, 642685953, 3546634079, 1432701184, 4269850794, 45285950, 980156517, 67847828, 3702679042, 273986180, 631898803, 3874538, 437780512, 491178162, 1090703457, 3003393832, 3523225118, 4097921792, 4147727175, 3222994959, 1964709931, 6666067, 1286910642, 332687544, 1564477805, 1378433644, 2149624322, 3012969793, 3159310401, 3128705203, 309592372, 1761148965, 105251060, 1731274753, 643060327, 684875782, 1612458545, 2521104449, 3159703712, 1758049041, 288952470, 1172324176, 2466291712, 3903983889, 957351140, 1650906292, 3152021284, 1129415431, 14784256, 68968, 17656321, 224329996, 2837164211, 286341392, 2521104397, 1744833898, 14692174, 386924609, 116289, 278812083, 69356250, 962152384, 1670270360, 51211045, 3366273296, 2638263044, 661338380, 3042097152, 2114260583, 5434929, 3541704790, 2554015314, 1707648256, 16777281, 16990386, 71381459, 1640572934, 48898854, 1301955799, 16020481, 664031520, 1907646784, 142678758, 1705663496, 1381320136, 455746599, 292842208, 1640573696, 73466612, 86061422, 1177166862, 1277428833, 24203927, 2511530, 1286739173, 478568449, 359014720, 68696362, 43341464, 992608288, 712596691, 557912892, 1343764119, 1679309098, 1610687750, 1600791553, 246695384, 893977492, 1361053057, 539706699, 1677790958, 834208993, 103427872, 222370374, 915151486, 75563758, 834208430, 1296112673, 148968806, 557843671, 689966254, 1728070987, 1678580267, 2301478, 570428590, 1728077260, 924916884, 1275134291, 1726369034, 51258689, 270534881, 462240554, 43341464, 992608288, 1565065894, 1595933985, 4657003, 420110372, 75377201, 1400918709, 1393452352, 67585224, 1075325209, 982713569, 111557241, 689991889, 1191183747, 1243821884, 956956704, 1163080493, 2688026, 1319516793, 689984106, 1613169704, 701577836, 2512078, 1328161799, 1196037701, 480711123, 2108980, 1390412998, 3540934, 476209629, 30613930, 1612462378, 2299915, 1385759018, 715201569, 130095767, 961766729, 3348499, 1392063676, 153697002, 590238305, 479087617, 22878489, 17452842, 1543578656, 199295038, 1909009016, 3479560, 988310054, 1544104631, 723007589, 1431778517, 1612280448, 759850012, 959055076, 979909386, 604064800, 113400931, 451549185, 415244946, 1423466519, 1393169989, 480711418, 1315851648, 95702336, 1639210784, 148971552, 1395469024, 239475810, 1892573984, 894316985, 2496513, 1625709604, 550971770, 1178468614, 1600791553, 221723185, 690035773, 483852326, 1439325450, 604065596, 1343571144, 721493025, 769090336, 915482625, 405996552, 712583904, 86048998, 1543862307, 1706713089, 17452842, 1543578656, 1586776255, 81856266, 580068353, 410125329, 695796051, 604054560, 199588056, 2436296, 672421556, 1641621505, 22243046, 1292507105, 479803124, 1770848582, 564147857, 672623224, 12584725, 1378489925, 480707637, 1378484338, 68233593, 22225921, 606084311, 2515380, 1596002653, 1699947987, 805706850, 403395225, 5309447, 450957347, 711548929, 1287664675, 854479911, 70603306, 2158313837, 2852157377, 2405302542, 7381085, 2152509963, 54144559, 707003144, 689442130, 704710239, 1780744524, 537316166, 2489067270, 18438969, 709833080, 172923441, 2687430179, 772579618, 170565636, 357706240, 757527638, 2924314639, 3377697686, 1166803060, 2987066169, 928167209, 537306625, 3024437280, 3614263552, 855900505, 1901238166, 1166803028, 3247922688, 3028131933, 3702654165, 1393452500, 1296629841, 67196990, 107020657, 1385666117, 2348822962, 184760631, 1387604256, 111214646, 130960654, 1632174131, 67847828, 3702688768, 330433751, 723073644, 6620161, 1500598935, 2521149972, 3843825990, 2469401938, 704672260, 137001258, 3758432512, 3864791671, 709703680, 755238953, 3510266880, 923010842, 3758424321, 240982596, 3607156520, 3221643520, 908174926, 1782851335, 2807249234, 1076521216, 688133458, 704665624, 73710620, 3607150620, 2068142176, 422892291, 1011878697, 1493316685, 2149267737, 220798981, 241443844, 1662263315, 628155996, 18417247, 1780745804, 106886256, 654583390, 4100981004, 2568455962, 3758462289, 3546665904, 89611821, 7298048, 11337906, 2521145449, 3652326625, 112086336, 222453870, 1386892617, 43673478, 1562757285, 3148873984, 4308053, 1084251520, 2822860204, 1436574666, 3759092596, 2388918448, 3759092596, 2397110448, 3247946362, 2002867294, 755030159, 92161, 2986615314, 4100249899, 2241570, 473631382, 1169918976, 617910110, 20644056, 2399142248, 28443682, 318006489, 721429146, 1328176401, 1360032216, 2830285746, 69623540, 1879249952, 580015320, 1612141322, 41185294, 1294868697, 2868926209, 755003228, 44288, 2996192699, 2691291405, 1761653252, 893020672, 1193423969, 1476581945, 1497875912, 2780507486, 28008024, 1588854944, 6140676, 943101796, 357706242, 3073075791, 939532296, 2167862372, 3644484758, 1169359906, 319625738, 1612203468, 925988866, 810764955, 2830237952, 4307995, 1370686529, 691273775, 83952294, 1297192517, 1102861770, 1102859584, 1102740800, 1482601472, 2684411315, 69341940, 571998334, 74142457, 874005964, 925988866, 810764955, 2830254522, 2113948482, 1588906216, 2130742272, 99122945, 3761197001, 106497, 3600834248, 3900637324, 387199, 31468373, 218104064, 3098739746, 274226502, 564798465, 22225921, 606078657, 2015589011, 387514618, 629839429, 2986620218, 1778403171, 2387449858, 2502583752, 2780512621, 2923798622, 3477171627, 1178689204, 3342953900, 8560739, 3887203381, 980025396, 1386893056, 111214958, 707330089, 1841983489, 606081434, 451492051, 3769809804, 5419524, 893020672, 877832783, 434433, 1848256768, 695061104, 19144721, 2585454904, 3546284324, 2673012740, 2536159019, 172960292, 125311346, 2151230031, 773902592, 912467559, 1247807514, 4151956272, 122112305, 1414464968, 2780553231, 863276644, 11537769, 31459108, 1129644037, 14784256, 110592, 10512832, 224985267, 70597226, 4661812, 1633157850, 962152389, 3366257664, 0, 160, 1573195011, 27263945, 3896479484, 2348812008, 1066337197, 10486217, 3896479443, 2348812008, 1066326701, 11665443, 1664374528, 1399479302, 1318663511, 18107046, 1660968600, 2830285613, 1828864258, 2889957648, 2655100931, 3356296193, 2348816288, 1824890987, 1208812545, 2348813216, 1782947945, 3305964545, 2684666272, 1674240015, 863276807, 11591695, 863276878, 11534401, 3160109889, 1560434099, 70603306, 4327767, 433596704, 794256810, 3702656349, 45286453, 1378484262, 1318847249, 965568062, 5309451, 1184160946, 1102843718, 1102819272, 3247946821, 1430298717, 1471349813, 1378484290, 156324746, 1565065594, 1596795621, 3366279262, 3019939840, 1555170357, 1378484262, 1184639722, 604066848, 564547178, 3300047629, 1560326337, 2405302542, 1581346218, 1510825216, 3003397458, 704652870, 2620058148, 22290438, 3444714134, 1161911553, 1471349813, 1378484262, 125250329, 980156517, 67847828, 3702656349, 28509237, 1378484852, 1880566553, 1610814496, 113985172, 3702653184, 4260101, 3225531315, 32915900, 822105126, 3004197856, 52708185, 3388997376, 3784769536, 28509218, 1044800298, 1543917340, 720897157, 1683911121, 1141592625, 1401276601, 3003392574, 1180904028, 3093306193, 3358070570, 2973325316, 2237932107, 1482950738, 1241546029, 3613599184, 3116472252, 2003461600, 119817049, 3372220595, 69353030, 1663720454, 1327246072, 75850846, 1909539864, 1692276293, 3836035516, 2030084033, 2545556483, 1698762895, 1639126818, 2027028555, 1431783897, 1699282984, 712583904, 68509144, 212347441, 373679269, 1102716780, 1091604328, 246647730, 388263255, 2015111729, 81950930, 7472149, 451302745, 377873573, 3152021284, 1129957632, 12108183, 3122594661, 1091605345, 3004637816, 3523234645, 1464457573, 1224747050, 2032852996, 358471692, 2821337366, 1172612531, 388135607, 694836225, 588848064, 1887243206, 1210344870, 1308654234, 373679269, 1102871390, 1102744922, 246647776, 119817049, 3372220595, 388263255, 2015111729, 377873573, 1102860127, 3004637819, 2386960390, 1397758561, 1074542900, 3640951416, 3523267420, 3458511511, 625065037, 1967241873, 1907557410, 1044800298, 1543638227, 827795745, 481890612, 4939603, 2950518, 1767400637, 2426259, 685193836, 2108009, 377873573, 1102871511, 3247815799, 941347009, 2512145770, 835305877, 3160765525, 1623299516, 1999727296, 2987861049, 1610923067, 219571556, 220731178, 2973325462, 1169928627, 388245120, 157428084, 1378771365, 1342448275, 1640573664, 67783968, 86060762, 723064453, 3836035516, 721450931, 161552695, 723003680, 1641174590, 3348493, 1384710179, 573839873, 327817966, 1300240992, 442123609, 2317779, 807674071, 1607355776, 442520105, 16011776, 1785277152, 1382678743, 1210319985, 684931692, 6625281, 1662589291, 82008846, 1301358608, 734073048, 30081064, 404053464, 212347441, 76356204, 1610691653, 491906226, 3247815755, 940591840, 258605711, 2080421953, 3159321011, 388249784, 1209809457, 980156456, 419975765, 444466132, 1747192194, 787359040, 107032244, 571106484, 2535801276, 843071931, 3007361815, 578302542, 2152548900, 50802003, 167980346, 1818276503, 620757185, 2534443399, 1608523614, 3501457568, 13480713, 2703862298, 3766131350, 1169361313, 407582039, 2830254524, 1833307578, 3014771095, 3157471835, 649269335, 3003757906, 778391928, 388594273, 1476406097, 1797973448, 2772548651, 1640077072, 2324650758, 3012253619, 69353030, 1663720449, 409406625, 44457173, 723896485, 3003392574, 1180904028, 56470109, 1170777344, 16777281, 16930976, 1532354563, 608393673, 4294901985, 2533359617, 224068011, 1530986755, 1085408321, 808654851, 443834157, 394405140, 1592665751, 82058016, 67249491, 604051648, 109120626, 67256659, 604051667, 21390117, 1884889751, 1573475041, 471926401, 2561007647, 1552060672, 3087008000, 4260098, 1272973092, 1129957632, 12075265, 54583319, 1269498030, 11666465, 1614023430, 15097578, 604186675, 258164935, 206383305, 27933069, 1680278561, 1373200721, 738302117, 3760151682, 2432743424, 2507187, 1076249267, 1076242355, 1076240307, 1076253363, 1076279731, 1076234163, 3249602753, 2545687373, 1337132065, 1402227896, 1678207276, 2830254524, 977289488, 2420158980, 810453056, 388721244, 3931953451, 1717325, 2147749146, 822404142, 2533408869, 3525837676, 979664241, 3510895146, 1946211171, 2321295123, 757751812, 2905134851, 340350029, 1080717595, 674616112, 16793607, 354052676, 655568222, 2586943492, 119207936, 688128813, 877846800, 544403022, 287907884, 3358064932, 3540160804, 303718426, 3039352800, 2996835563, 2986364167, 1110190180, 3492287315, 773931013, 554983692, 637597497, 1258443849, 1399071845, 2857113385, 342710240, 3001040727, 3120603136, 2181280256, 2251237980, 100815945, 1399071797, 1080239711, 939534434, 1313161246, 4095291768, 654944571, 34365722, 1614444644, 3546546444, 541644897, 3676832082, 2502588419, 2389025544, 3227687501, 555491666, 688014924, 307441234, 2013274884, 2871611648, 1529276018, 1617337370, 3909201480, 2987713892, 1578778628, 71882853, 1459628292, 69686065, 1414312983, 540360734, 2487943452, 3104555336, 1852889377, 2924314628, 2823198762, 1040267869, 3543138605, 4100649771, 3221676288, 2354922312, 1007558940, 2653619536, 3004637237, 1080090208, 605749305, 1616726042, 825912320, 1813656147, 419525725, 2489789004, 423250436, 2238155264, 843667712, 3928921896, 605698358, 2586943499, 3525033993, 1716955674, 3759865867, 3375964261, 2857153047, 536879686, 2487224390, 2552905216, 889760041, 1430765637, 3542687788, 3358064908, 1610877721, 174063908, 542255362, 1179387768, 16976418, 3932424530, 2533654828, 3106860586, 1763123214, 1090588985, 1795457292, 537340729, 2589802780, 3104063819, 223580930, 239940395, 402663428, 340074568, 3540287757, 340436579, 235714899, 2254249988, 23499560, 655081803, 170549252, 2839221572, 3724715621, 3394046464, 855905643, 4282728452, 2036291684, 55058466, 774725916, 570837290, 1414469980, 3643351139, 925527141, 2702299953, 1399445880, 604273434, 878454545, 3027327786, 3776090920, 188376644, 422254848, 3692681568, 508772636, 2471724368, 1119306, 1091455488, 3623888241, 3510903812, 1750226245, 1495793966, 3660257558, 2246354875, 3760142851, 2986347866, 28007090, 5064340, 1124074676, 1834418225, 145762643, 76888407, 567488524, 468320291, 1705659416, 1430668032, 853962065, 2015827746, 2016546268, 433666668, 12600979, 806959690, 6388378, 2223366207, 1504706671, 1493172397, 11665502, 1909539863, 709232237, 719979748, 1906985985, 359279136, 77673194, 423494796, 1342251040, 1632132441, 3408997, 1620578500, 2013619339, 316952729, 333451908, 2089947780, 1354307333, 1342181780, 76764037, 1354301517, 1663459128, 2639174, 1832913305, 1794334723, 2029467979, 1203766396, 429391941, 768815447, 3371223, 1305686055, 388245120, 158028524, 723518473, 1397179712, 1532257624, 377840643, 1515473235, 1678842666, 1545864363, 979959899, 107020423, 1798900899, 3904027616, 389677981, 45056, 16777254, 666059925, 19315123, 1150615846, 1119044757, 19284403, 1150615846, 1387480213, 19269555, 1150615846, 531842709, 27984299, 16777254, 3004219585, 2534443402, 1671452896, 2986627923, 773931013, 3774893896, 3630520064, 1395560774, 2617496808, 2998603096, 11583895, 277449408, 2690145037, 1476506116, 574506595, 710678313, 4097472515, 3572019899, 783487152, 2986615358, 1180904028, 189935955, 2550387944, 2998611635, 279970816, 0, 85, 1459683382, 134218068, 16843410, 2315502240, 65118467, 79863811, 1166802967, 3786102018, 61408149, 44041285, 2348812333, 50629887, 3816096257, 5570561, 14789461, 16799062, 16791048, 94037, 16949250, 3247767919, 1426128974, 9082370, 2365583616, 33554432, 822796, 210898017, 1448591425, 1443121164, 2451344384, 84644380, 1187154432, 1093514178, 210180876, 2300264791, 72027282, 484999047, 2348811752, 2139742255, 973275136, 2458517954, 2684477601, 16958112, 21335040, 376307984, 2684503436, 863489, 42794985, 3762248187, 2971478, 2874605824, 4260099, 1085408321, 812064077, 979960000, 114764582, 980307328, 148978414, 1258297346, 447110357, 723538794, 1580487182, 1300240395, 962033685, 992025690, 80296299, 958023456, 84082743, 68700816, 671157617, 441057326, 768689920, 68500257, 273420129, 1747454290, 1391067799, 36332288, 513369746, 1163419687, 70586222, 1728726368, 80231144, 1780898852, 417532732, 1343056489, 1565065578, 723519081, 953297706, 1545864289, 426140078, 1382687745, 653552013, 1203778908, 1276667539, 673645611, 1154624256, 827534054, 1698701971, 1640573670, 506069418, 455152404, 8062167, 455944928, 1785221707, 1392056561, 671292842, 1564821671, 100735187, 42417480, 1677947950, 1184121600, 1171269638, 52055342, 438377620, 1275292716, 442514025, 956720791, 14114460, 2299841, 1277174099, 1700206560, 402790650, 1731480615, 311623712, 751314945, 606086598, 1140929146, 1223319296, 354420453, 1076298798, 1294868697, 1390433934, 1329070120, 68381255, 2866865855, 1454544453, 3149073697, 51669805, 75899636, 1660950531, 420765422, 647431297, 415258350, 1617240401, 3300000000, 4308011, 1437729833, 953221812, 981032961, 2695227071, 1454609989, 1102869504, 1833024440, 1956684486, 1134692433, 3003515162, 1946360353, 2690734437, 3551572525, 1453482419, 3259085316, 691589378, 1953502545, 3546742917, 99008342, 3012969888, 3143348996, 1382750467, 355012143, 3228672840, 677468416, 539346500, 433107635, 69810385, 23470400, 1383168008, 1383668179, 1611885127, 720934469, 1102865728, 3883862102, 1639170625, 2986617144, 3506640186, 2013274914, 2452291589, 100866386, 2690027087, 776831118, 1172750166, 2996192688, 16777226, 2383202536, 2130742272, 99122945, 755040268, 2317042108, 1430282675, 3261510148, 661338380, 2838148907, 405471238, 637735225, 2372143173, 3359646724, 1968355328, 3860989384, 2780553279, 1512964256, 29471492, 1397960225, 1074127105, 172367878, 2165994608, 138844201, 633906432, 16777281, 16990386, 71381043, 403384537, 1793738072, 1612013016, 212347441, 81856604, 2349140622, 201346994, 442509528, 1690045218, 1385850638, 624952340, 1431502904, 109137271, 1383661609, 2056914147, 1332620160, 439898137, 436887553, 1277187287, 447374372, 73869742, 1294012608, 1154953537, 292432638, 45016242, 3146514506, 2986795264, 1081201446, 2617258756, 138844201, 537297229, 2001893632, 688169218, 2791101739, 554750756, 605900090, 1761815835, 554898002, 167781166, 642340866, 3999388464, 20234285, 3395272789, 3650504123, 112429824, 1521615906, 1044800298, 1543575655, 211878566, 1557474081, 304749166, 1300237474, 339239718, 761339021, 80750931, 25591104, 80427946, 604181541, 74262545, 1385193496, 1380610467, 1261063946, 75915278, 740039129, 980156513, 243343782, 1454034098, 3141621508, 1102188778, 903029790, 1396772904, 68703065, 874775750, 16208511, 671174702, 2227560479, 1552060928, 2952790272, 4260099, 1085408321, 808654855, 93674968, 212347441, 82066232, 3671681, 453649239, 708706662, 1663716681, 75566117, 193135251, 1203777062, 1230503971, 1649688896, 116287232, 136067689, 1400970388, 1275134025, 148969664, 519327722, 3409345, 1747487045, 3760151682, 2449520640, 16777290, 17582003, 1386925234, 3005363297, 1234584832, 16777281, 16990386, 127998144, 1909008394, 454629250, 1683228116, 1431527444, 1277696019, 1392063831, 1276451558, 1431896178, 993526026, 1328176167, 71463008, 774261080, 2318932, 1094720256, 78981463, 53768407, 654312469, 451302745, 81855572, 1733775104, 153307470, 1705663498, 1294012451, 107020554, 1328176129, 606079266, 472258573, 685471745, 1614022182, 4223443, 647758054, 1592402945, 1171739233, 471926401, 2561007647, 1552059904, 3087008000, 4260099, 1085408321, 808655456, 685270204, 186798126, 1733775104, 167987673, 1611275033, 720568355, 1901618519, 1275743544, 81856390, 1178075180, 1221142529, 606088659, 723059270, 1559308327, 282263753, 634993299, 438307985, 684285954, 611451912, 712583904, 86049044, 1592665751, 2521152321, 1459896754, 299040800, 559113559, 2688002, 1078396102, 16208511, 671174702, 2227560479, 1552060928, 2952790081, 3159162943, 177343739, 1091602295, 2689889458, 311623712, 1395469024, 1640572929, 606084852, 1340735540, 80085094, 209795733, 712507490, 111542822, 1569348614, 1564907077, 3138097676, 2957098061, 1084249280, 3003393886, 2474459142, 2165978146, 178565632, 12687292, 1967997107, 69292070, 1632135914, 1203776728, 1699948837, 3366256896, 4260096, 1085411544, 2437674, 695879230, 22878798, 1296041331, 730165620, 1785266926, 564813860, 67381075, 826479762, 454634208, 1222191854, 439254360, 15360457, 673076033, 270754014, 1612977956, 1318846511, 77679380, 1198138374, 1176503314, 2065246958, 721421601, 9005676, 714278019, 1814455762, 671286309, 84304666, 1228932471, 965568062, 394926835, 689985062, 557844065, 50869586, 671164205, 980181031, 305417600, 105020294, 992617475, 110307336, 447094314, 2710865, 685259372, 38404141, 1270882135, 626202245, 1677866790, 1459618993, 965568062, 6620173, 684261425, 146302155, 740576082, 506350976, 403385216, 1901151420, 565469523, 51718705, 1612973153, 359279136, 191378643, 835924004, 854880723, 806634794, 1543573076, 1564500788, 1386882087, 292838406, 39078227, 1679364001, 859590670, 626222536, 438323404, 721423590, 1251160065, 53946584, 1793721497, 894631979, 580538154, 1587961632, 634938001, 1834483765, 403847961, 2303448, 448080087, 1612978200, 451498606, 537680947, 211948902, 558188711, 350498455, 12602002, 712572965, 93792814, 728376356, 1623926785, 1277182580, 1915364746, 3081377, 1215448280, 1678266965, 1163471136, 91646296, 1677806751, 310664336, 81856746, 808649995, 693174304, 1826120725, 1401577216, 74535658, 7472488, 1381106785, 254622456, 1677919443, 43341463, 1733507902, 2648842, 53291589, 1218942181, 3762238148, 12058634, 2451328946, 71379348, 3109086, 2521152433, 177343556, 2609558020, 660509565, 1074168089, 290654884, 2998644992, 4308045, 1074437132, 3232891954, 454572906, 3540628, 1431527443, 1373121066, 1662122023, 2907814667, 2618077184, 16777281, 16930023, 2137260067, 503336096, 1380556883, 1177449488, 2957050115, 1085408321, 808654850, 2083607768, 1623993088, 893789651, 806900569, 878249080, 1398355270, 1663114273, 167910438, 1391663914, 1203773655, 1833501835, 976300320, 102989562, 1297612835, 1928226259, 805391571, 55782610, 976100064, 1154691910, 826656933, 3138034700, 1185763771, 2953485340, 3232957492, 1798388330, 2693121, 1344675031, 708707182, 1640449344, 211878682, 1566974272, 86049524, 570804389, 16777313, 3003240641, 2512154420, 1858716053, 3155037549, 1086429116, 242207169, 2512154125, 1832979888, 893952, 2952790272, 4260101, 9871440, 2152051462, 18404098, 2435060250, 1614235942, 707002700, 539137869, 1459915385, 1313701892, 2820364602, 2590129668, 3795073649, 1178599695, 777865476, 2165208103, 5335809, 1999297066, 2034746824, 2779975891, 43066369, 260996435, 689981651, 2504521, 640295972, 454109525, 75582496, 580341079, 81933350, 1651793363, 806441801, 1203838091, 1586626629, 448080087, 443033636, 893387996, 684720163, 786840101, 3366273468, 838937921, 3144941864, 2689630491, 1102717440, 3382256306, 162615952, 1612338179, 1210385529, 436887553, 59144439, 684261421, 2056914148, 1647604286, 76359690, 456654880, 518658336, 74783576, 721449386, 1275930625, 426659288, 893977826, 924392185, 1610687253, 684726176, 388257111, 886399004, 879887544, 693108774, 116995415, 682891040, 162877907, 1728056897, 17194858, 604118056, 68375289, 874803325, 78861184, 1318664458, 2104364, 1398359507, 671163584, 1632132441, 20206305, 479999315, 2451287, 1275295784, 68437280, 1221788801, 376726984, 671169962, 5780115, 2830416652, 2619084115, 26834096, 639808363, 3003758377, 2053199872, 726756138, 3758723667, 777156608, 822650462, 1074069763, 2256074536, 3372233477, 1830447510, 1169294388, 1159743699, 48901976, 721454085, 2864362240, 823663643, 1778395400, 2904189334, 1169361313, 416826698, 3568583100, 721456800, 1350586803, 70534432, 1221787686, 483863102, 14424586, 2295905, 578036756, 761276502, 761004628, 1230202625, 474811143, 1573664544, 734683172, 1907237281, 328018528, 1386892324, 448080087, 2624535, 965567489, 1546329737, 4172460804, 840589316, 3677027844, 2186973476, 17796733, 1395204380, 1292568066, 877494547, 425579315, 3223144029, 537157915, 324202061, 2153467493, 1078368806, 1050035521, 3158205856, 1355657993, 2740921926, 239961544, 2779974049, 454251246, 1300252112, 671482106, 2145411292, 2521161759, 1590719488, 2684419488, 1356837641, 3008444416, 1912912955, 755783721, 1379560448, 671504973, 710875474, 2308326835, 161553169, 693451372, 51669609, 1203766377, 1364721739, 1566070419, 2763178391, 3162006016, 1974600756, 1159743699, 2514586, 1632174120, 580083982, 1398295896, 1613171125, 693592067, 1210386154, 2035810350, 448080087, 39461280, 2056932746, 1543573273, 1586704727, 53287520, 145448142, 1141330238, 2322638, 1728123096, 30081373, 1430808019, 805523496, 886396243, 2521152269, 1342300167, 608395472, 50389399, 432, 3247815755, 272122034, 69625638, 570427201, 540165451, 1677787793, 605166176, 1785535218, 690311169, 193357069, 3349386, 14156202, 49176920, 2623659, 693698595, 121709364, 1901527121, 2056914146, 917121784, 20214368, 1230182670, 1301379108, 1705659416, 422672385, 260709102, 1203838137, 309617694, 723864761, 27918932, 1794334756, 75176558, 1638555649, 1287673675, 738273042, 1376425541, 3138212609, 2574561280, 872448, 645140544, 3003405139, 773931013, 3775041828, 303718411, 186265898, 1612386601, 1435911424, 12687292, 1126908083, 70740586, 1610690611, 442505832, 961766417, 443312332, 673649428, 1228953032, 1733765889, 282219116, 2121555, 721490218, 1439196171, 1154624257, 271999782, 1732927524, 74135962, 1566048297, 1378419274, 3434217537, 3161735347, 71442482, 712272269, 36334935, 428474408, 1733774337, 10033031, 450902840, 707462369, 172896697, 17197834, 2126260, 1161824385, 591027809, 297038171, 719702181, 4308011, 1907557419, 1154628204, 44264486, 404236626, 980174784, 513369746, 1163419654, 534274059, 976300320, 104352400, 671157617, 441095749, 1102843712, 1102810176, 3247902859, 2399161665, 3133695411, 188841034, 404044606, 2632297, 2835915, 672682003, 685178912, 711524393, 91646296, 3837047300, 1209735552, 548059826, 3474453, 992023427, 1954219217, 1394147700, 1566255845, 3366304681, 3132142355, 3563632733, 1074358342, 2552760910, 2586944968, 2768240705, 3156951233, 2534443663, 4108804, 1114660868, 354084437, 1493181283, 1394984516, 20294237, 1170777350, 3012255666, 2165234, 454634208, 81334182, 1192494225, 684931692, 6621368, 1691069618, 3148931135, 820904120, 12687292, 1215578291, 69751381, 454558452, 1631585490, 422182953, 113314854, 977742121, 689964641, 26694483, 606536776, 1397826562, 783573774, 507380538, 1583353716, 1544704874, 31036997, 4307983, 1564588942, 1504904284, 976289842, 84561706, 1543569674, 1176514007, 1663420581, 1102850368, 1091603021, 3004314706, 1766506, 1771455968, 524477212, 11534401, 3155520294, 3115575218, 69685904, 2499219, 1666328864, 107348262, 2146515564, 19817137, 465569064, 1379196082, 3148462768, 2690285763, 3247815747, 726466747, 3003393874, 2415933957, 473575681, 3647033644, 341136128, 672667733, 1211723296, 353995268, 3830603791, 1629012053, 3362215720, 19222065, 3103801438, 2487943238, 2283481636, 39632909, 1748691013, 1074080580, 3525846800, 3510894897, 3375003961, 105125915, 1778553640, 604357216, 3223254095, 3925881925, 1176884016, 18923592, 3427650361, 172957707, 3877317929, 537291858, 690643013, 3426165020, 1984252970, 1761667661, 1181065220, 356063594, 3926066811, 5403000, 90448145, 978160140, 2701957469, 1180915576, 19177298, 4027991524, 2772548685, 1085473831, 1385168988, 156576506, 1632174156, 158411129, 43330149, 3366256705, 3156820192, 524477206, 11534515, 70865640, 894959660, 205596394, 420320837, 33554432, 4308019, 3225533481, 1256200998, 1567341056, 2957098031, 1359854607, 767277581, 3133869314, 9175058, 1102760776, 218235020, 565435, 3305964033, 2684536845, 3150679040, 84785867, 3247946767, 1331208194, 1437795388, 455760920, 1171611649, 1546333651, 827842738, 2684538291, 71379252, 53287717, 3366306197, 3161535013, 1085473858, 540154494, 59139415, 2521104449, 3159703617, 278813619, 72890010, 1159750314, 566982657, 946472124, 444137512, 1465431218, 3003400488, 4196764161, 3642016108, 55190324, 758470568, 2986344641, 2512136565, 1296089743, 1308865627, 3003395676, 1694925324, 671699281, 271130629, 2701302375, 237323720, 2779972654, 1550124673, 452617002, 605566809, 2295874, 714418794, 2763129025, 2500857874, 432652693, 269751832, 1840383051, 693174464, 1238443033, 1565676256, 96221997, 107020614, 1596784686, 1423466840, 47855888, 1204144293, 3146514502, 2986737944, 3222108509, 1381163013, 3157994758, 1627473503, 755294469, 1399183144, 37686554, 174070586, 2435479879, 3221516626, 2552760616, 4144289892, 3613851653, 186265856, 755646035, 1170777531, 1091595264, 1102187809, 21390113, 271057943, 965567489, 606080366, 1550132884, 1545869314, 420555129, 43330168, 55903383, 728373806, 1300240992, 1386892294, 1564868842, 903062708, 3146514601, 1091580416, 1068634771, 671163424, 835079968, 1439778007, 1612212917, 1392065132, 2104026, 691675936, 579945685, 1633157171, 404044330, 2712148, 1094714487, 1759987013, 3500522380, 6799767, 269093120, 1622279201, 2028621126, 1704985963, 693699383, 709313880, 82058016, 1382557732, 67205422, 1565025854, 2655237, 1091570248, 2995750284, 373387, 2779906089, 78139953, 448277248, 103704320, 1666537111, 1708339221, 976296672, 74127921, 1610699808, 564552261, 3500522253, 1275137130, 470620416, 2952790209, 2404254644, 3232957953, 443810065, 695796138, 1564854437, 16777281, 16990368, 1283489715, 127997984, 153767200, 86377044, 1330784889, 438318289, 1143222097, 1140925754, 1663042665, 687277249, 885022024, 712573254, 1596808006, 1094786153, 67318822, 402861527, 212423319, 77032217, 689988026, 1680280878, 1728077260, 924914100, 1901800161, 270931980, 447630720, 573189920, 107021044, 570426471, 699288865, 281027114, 451552262, 1564907077, 3003400496, 855901029, 2789564421, 637686863, 1378515226, 540332356, 655171840, 1833290336, 100874026, 1246573675, 3859220, 872792588, 671700843, 422125665, 3135549952, 50331648, 173, 21627404, 1253200554, 3433401344, 129114676, 3779702019, 3148873984, 4260099, 1074417948, 7058183, 2707957769, 1179388495, 924477480, 219820288, 688756818, 4177825641, 742026240, 4261421106, 3775780620, 2706384900, 472586500, 2165055570, 4078643712, 906256737, 877852672, 776291876, 18882573, 2702079071, 755275563, 355014971, 1783087388, 1982684163, 2384805987, 710344773, 1176770643, 1505014450, 127997984, 712596691, 557843713, 7344730, 1633306660, 67844714, 1663042668, 1557341528, 1677806624, 295118962, 126043175, 220267284, 1798112393, 1402142912, 761004825, 716702849, 404761209, 1557340480, 83951728, 314212337, 671157288, 67771161, 75586752, 113857175, 75569184, 235158876, 706744596, 1177166638, 1382095990, 117526568, 67289126, 174525513, 3896480101, 2348812008, 1066493869, 11665443, 1162225408, 83951762, 1795844672, 86271304, 913589900, 4163355023, 1308865536, 1404243233, 5833926, 7027427, 355750625, 318399274, 605566809, 81995225, 1611737465, 76370826, 1834419329, 415244842, 790627937, 49553920, 1458859465, 980156608, 1901618519, 1276597081, 671510750, 2950162, 1795844677, 3366306447, 1308865629, 3003982080, 1493485056, 1799021333, 877846800, 772069227, 422125665, 3135550131, 220266585, 80085099, 987960628, 1390482170, 1663706136, 928580833, 85010809, 3343383, 1360004245, 1566059129, 59583072, 79193303, 1699284098, 1634616874, 604064817, 1598496298, 2521104640, 4260101, 9941521, 777865318, 1040200494, 4098826245, 554968600, 35230789, 709628441, 221932036, 2167953432, 405303814, 637604943, 340082694, 1801360228, 655528704, 539136866, 2435318040, 3227636530, 704707175, 588522264, 154718465, 340683299, 707002656, 3227891497, 1165045296, 2066077782, 645398842, 3927521408, 2783362891, 3003441414, 1176612429, 1074059370, 3074100813, 2440566837, 3547857167, 223582209, 1785731129, 2472542500, 3433607745, 16803649, 3155125057, 3143327667, 71379642, 1677926501, 1390426744, 959053856, 1221080531, 672032522, 1164298405, 1090584935, 1102858339, 3003404857, 2372141608, 3343204357, 307456512, 541640757, 3542615928, 359337274, 1812060566, 1161888001, 1665252438, 1598143067, 1538462509, 239172682, 403460745, 53950736, 2964088, 959054297, 2521121025, 92737, 3126526309, 1102850816, 1303512114, 420297322, 18108174, 1664614441, 404236402, 73793812, 1326728512, 580084942, 1305686036, 1296041991, 1798900897, 213919174, 1141396083, 689514784, 84279598, 1655774144, 97986761, 3758483135, 1270060613, 1102844767, 2455175259, 3004378382, 1547317504, 1247973931, 2366528077, 340358239, 639511190, 2244057020, 1531930547, 70392077, 980025946, 1663070542, 832583507, 652879616, 87380819, 654312546, 139075799, 1573561522, 1102861667, 3003406390, 2588221538, 2854341496, 21769765, 3609794872, 1694831979, 218112072, 3358970792, 2990652502, 1088433986, 3818979393, 180658, 328099232, 227159412, 1596002341, 1465398273, 38150574, 1296041633, 6227518, 1397082277, 3150026512, 3378774080, 2987504753, 1529536784, 541640757, 3542614376, 671504491, 421122857, 537757978, 1177632795, 1578795, 440868869, 743559984, 342710016, 543368762, 4170597819, 223281548, 2834704, 1818735122, 3126963789, 2147750425, 221932032, 923011141, 1264845160, 671500570, 1177635073, 3650504123, 223281454, 1527820353, 16859201, 3162069427, 332687544, 1564477804, 1372794886, 1339821985, 1281570118, 3568484757, 3155905877, 3384907196, 1208962880, 3761190809, 3120603136, 1078377051, 3232957505, 691273775, 95309582, 624952338, 420297322, 2521104577, 2545685274, 1256199974, 1561549568, 2965477308, 1515651142, 1102796544, 1094826578, 1689388087, 980156454, 580067654, 1162412883, 626478406, 1704985624, 685348421, 3138210305, 2572333235, 299439896, 53760007, 964691213, 959054675, 626458656, 1632036018, 1102863965, 3004378410, 3927382016, 1313941760, 3339469057, 1781145605, 553847323, 633906625, 2512144475, 1094754378, 3954312267, 979959840, 1574121498, 1294621697, 50990657, 247096323, 1818559851, 980167397, 3366304558, 1387466058, 11580164, 1397960225, 1075315201, 3024499824, 106776067, 1394956032, 543246052, 2986344513, 3156956082, 69810385, 2515289, 2150164159, 1270060613, 1102869568, 1102821487, 3280970243, 3881153284, 1093339748, 57469562, 2468611396, 2971018696, 2771209122, 2986617144, 3506447969, 1501571302, 3209409430, 1168161621, 3003400520, 677436931, 2366521635, 979263503, 2043720883, 71379252, 53287717, 3500474433, 3159703745, 2404057864, 1252018503, 2500922697, 27283270, 1186159573, 3004331109, 2924314631, 1092629044, 3579138857, 633906626, 2404057864, 1256197994, 43084032, 3093384779, 1437799028, 1705921920, 121708594, 886396243, 690342053, 1649102082, 464651338, 1990876618, 1292501184, 518924640, 1431779977, 2696664, 1391340153, 456020577, 479999315, 2846168, 946167129, 1794367667, 3247771753, 1650196639, 3247393539, 151032498, 2426264, 1794593619, 625541374, 12603218, 492240937, 893808081, 2013683274, 604793047, 654381088, 652894976, 74995018, 564135201, 990521920, 266407763, 751974958, 450960502, 580012697, 946168614, 1597505650, 402739240, 67318819, 404040440, 211895488, 774064554, 421598090, 451825024, 403446601, 2013814428, 1275137216, 1465341482, 49552705, 284843801, 1610699808, 1586809010, 3152035689, 4244682976, 1063908352, 3099694352, 1717656832, 3888222027, 50921615, 2986353965, 3542352492, 855904825, 692404229, 590483021, 537208874, 3930755960, 604382720, 2133730916, 3157607973, 1224885836, 472438586, 1812132984, 3506661987, 841644384, 102523397, 123553344, 100725863, 824705812, 538761056, 19190529, 3607930905, 2315326543, 641363533, 2152254541, 3409513039, 540892202, 939844148, 1130533419, 2366526789, 1180780800, 4261423958, 3932246817, 1100785120, 1063910656, 3099823947, 50940128, 1063908352, 3098673195, 1666670234, 1294880152, 13980998, 1543577650, 564546954, 606540151, 1379947353, 1640572929, 3409069, 685178912, 1654279480, 2700102, 1563951910, 1175342469, 3366304736, 526973277, 12108181, 275079263, 1086426955, 50907360, 1063908352, 3098673195, 1666670234, 1294880152, 13980998, 1543577650, 564546954, 606540151, 1379947353, 1640572929, 3409069, 685178912, 1654279480, 2700102, 1563951910, 1175342469, 3366304736, 526973279, 12116031, 1750466744, 11666506, 1990876618, 1292501184, 518924640, 1431779977, 2696664, 1391340153, 456020577, 479999315, 2846168, 946167129, 1794334756, 91777783, 1397958099, 855644853, 685179668, 1230779506, 439954154, 2763176897, 2500877665, 1716961935, 1258533961, 3760154873, 1627437280, 526973286, 12108181, 274686053, 1455591243, 62147040, 526973280, 12115999, 1761174784, 3099758411, 62147040, 526973282, 12115999, 1761175808, 3087007937, 2404254644, 3234680651, 62173700, 1483003748, 18967082, 541445175, 628206105, 707003981, 554727428, 2725337898, 1617276494, 17835293, 1213352449, 340439339, 709345317, 3629313578, 2032738588, 2620740352, 626871320, 855993113, 440872491, 17835357, 1178984232, 20720483, 1465817677, 776837120, 841066061, 2326049467, 3760679161, 1208025272, 10503489, 3247393539, 138939988, 1569456145, 3264170755, 3024621140, 1636564997, 240412174, 1431571285, 420369236, 189995424, 1245711954, 1410028057, 2952790528, 149, 316671780, 1131167232, 857088, 3280948739, 138743106, 29462350, 62149165, 1209065479, 608397473, 671146391, 449, 2404058036, 1208830977, 2348811533, 1275071592, 202139404, 208342209, 2404254472, 4169802, 3724958559, 1510364500, 1443255124, 1376601345, 189864971, 1411160405, 2572389376, 537287519, 1168132810, 222560665, 1535901713, 106058826, 106255430, 106124485, 222495169, 2404057864, 1208828672, 222560301, 1313595455, 1770848480, 1063837184, 1857229024, 658113281, 49551, 1308821585, 240869134, 1499401818, 1594773599, 2348821698, 2404254644, 1470121029, 240869390, 1499467354, 1611550816, 240214412, 1117787, 1695439205, 240805134, 1348800081, 1721779273, 3247771749, 1616898208, 40415748, 1397960225, 1074127105, 2487560780, 303631674, 1778407461, 3625628968, 3609798096, 2780531712, 89043803, 2688860569, 1538262016, 0, 146, 1526842016, 25184449, 2499892823, 1491886337, 3259337728, 631243362, 218235314, 72569646, 557843946, 1834449709, 980156467, 68294925, 980025382, 848537765, 2701198530, 3247767894, 1465435502, 17837313, 77594943, 3164779265, 3265266048, 1738539776, 1426916097, 2684547250, 396370578, 671162954, 1328417966, 1680092010, 1608070611, 805377930, 1564489361, 634597378, 1667648984, 893977396, 3500510208, 565314643, 1395532096, 99249495, 2066561644, 2453847, 671961641, 980156454, 848537765, 2701198530, 1845563437, 17080321, 1067294722, 1168114624, 3012986112, 14692132, 809959597, 12312591, 1778551305, 12058848, 258605714, 1660991488, 16777389, 29078036, 3843817472, 2785363224, 704643336, 841337380, 1360168, 2785363228, 2810226106, 2952790029, 1174516498, 2468877594, 4181269060, 3611803718, 2586050829, 2535140941, 2154728993, 1074500435, 2148093224, 3609461316, 542321962, 4160920167, 237322244, 391287300, 3848575786, 4261572129, 1162871917, 1467487033, 169246738, 1952713294, 2586943585, 1214967399, 3239070730, 3543730710, 2148693104, 605172829, 538012202, 3005945860, 2501623835, 959084858, 2467725329, 3311626752, 1852157518, 239960068, 2083811953, 1078807076, 18399268, 3523511811, 925518413, 879427620, 3523225634, 2472997956, 16812893, 3426295826, 4000143108, 2168925523, 1478125920, 19236453, 1476715641, 1477869579, 3262144527, 1934852380, 2619873332, 3510896666, 822115094, 1162356497, 1901234432, 2287106398, 2432731418, 1075242280, 655520772, 2184108603, 704835121, 3104105497, 2786492427, 1547317504, 1242657106, 2298513490, 2036240640, 2300198934, 3844911639, 538387540, 3609486665, 1091722752, 2438129924, 2184418410, 692893796, 20728383, 1482950147, 639896181, 174263917, 1163180288, 3104994383, 172952086, 2148693104, 608524546, 1241721414, 537178744, 237323776, 1630966086, 2621074432, 1651413280, 3545323542, 1162392087, 538152549, 2691016292, 604248913, 3358261350, 3862568972, 1096184933, 2924319531, 412501248, 16777281, 16974094, 1091591425, 162661441, 808654861, 965547912, 701577836, 689971622, 1223318564, 107020554, 1328176129, 606995654, 44705112, 1691451438, 2688876663, 2986656001, 3546632997, 1224848457, 1074077952, 2287901772, 71130154, 939534596, 70445582, 1097888023, 2685931307, 2319854116, 273533736, 605555794, 690643037, 3543147524, 1627583608, 3506636842, 3109897672, 2768655700, 1241928276, 1174819668, 3920756883, 1394612785, 2688015, 730482432, 92360369, 420086925, 1401580887, 2521140224, 162661575, 451581509, 2986352907, 3999278111, 3222975784, 3608832043, 18043693, 3543862569, 633906619, 2688729523, 321740442, 832570369, 1344605069, 685179764, 956981276, 902312996, 96023886, 1545098067, 606346577, 1382809640, 1238448934, 1606439648, 1452357898, 44719892, 1315620018, 1090585344, 3779137631, 2075264065, 808654865, 451684388, 1785412206, 1638540311, 1385301141, 1585912049, 2014203690, 1294607361, 541726741, 452526121, 67322002, 1795844677, 3366304652, 6599175, 2718705673, 1179392589, 1850595381, 1224823654, 3863808624, 3724552196, 54563435, 174735644, 805669202, 2539651360, 537764110, 1952394500, 2165096478, 776806499, 641399835, 3221553411, 342568196, 3814304283, 2114049804, 2706384900, 40117794, 878790912, 591824961, 1234585019, 2688729523, 321740442, 832570369, 1344605069, 685179764, 956981276, 902312996, 96023886, 1545098067, 606346577, 1382809640, 1238448934, 1606439648, 1452357898, 44719892, 1315620018, 1090584662, 2688963488, 1120987007, 1677730566, 4775999, 1779761336, 1090585179, 2688735463, 2131492916, 50331872, 186925932, 1040187617, 2533359617, 2957050113, 7553468, 1291873985, 2545575784, 6791234, 2154017540, 1414877952, 537299565, 1459819523, 288984422, 1040196364, 156494415, 337502, 1243878445, 1847707207, 18621025, 3127116032, 878399010, 293077262, 3661191495, 3239242266, 779998000, 20718855, 3794406982, 707002700, 3540112227, 642719801, 1610920233, 2030051422, 2496180801, 16859296, 1119938431, 1677730563, 4251711, 1820065976, 868864, 3003403560, 3607396662, 2590445093, 1074006354, 2533657704, 3609657416, 3609308749, 2149287544, 610642490, 3765341729, 1476486693, 3543148288, 2251237980, 100756080, 307382863, 939820544, 4099034701, 2149770849, 2690763852, 3512729857, 290654720, 695313226, 1516445705, 1174615850, 1246573675, 2528348, 655568170, 1617198340, 3627690573, 177620224, 14684010, 43214848, 3087007809, 3157351859, 189944682, 604134106, 957368256, 74525049, 2098824, 1184377125, 3366302470, 18510850, 4095645953, 2858239432, 2768240896, 4260096, 18228827, 268505575, 2137260067, 67109128, 2987447042, 2300843856, 4100242501, 3492284715, 1847672882, 774199296, 889460562, 2449770859, 423259136, 539898962, 3759865871, 1918069344, 655481184, 220776705, 2656885035, 2027049, 1903691360, 57608218, 2013274184, 3358970664, 655828065, 2789818652, 2553598504, 3004637199, 2015090692, 2535140650, 3764769613, 3514312471, 610439722, 2468872800, 1852101205, 1463446528, 822350361, 221932128, 103861836, 2987859987, 242485032, 3380089385, 219835936, 3506527787, 3049579, 827668, 3623886942, 2270371925, 3359834218, 2684619858, 688014881, 2924298524, 3104941645, 939690796, 605633322, 2037049948, 3021414405, 2389114948, 3630439506, 3915384416, 57551387, 1784676610, 4099031313, 290655821, 2147746128, 3929396004, 249868987, 208145420, 1728843355, 1706049793, 54571524, 1093677848, 221875479, 2284441914, 1814634529, 2789796572, 2768916764, 2158080768, 855904825, 692404229, 557518439, 1579290, 822384467, 1394874469, 1245972505, 2315551032, 643909738, 3930570822, 2285979908, 3829030916, 305736005, 1074077953, 103890948, 3322063397, 1483002112, 1694881807, 1627424862, 2622227517, 1546270720, 688129074, 3926802800, 1897373720, 404837734, 3926164993, 3933294917, 1224872761, 1778680076, 3224539429, 1392701005, 2166126088, 123638653, 1079387739, 1241813843, 2154092365, 3627370756, 2165859588, 135891606, 1169358899, 68303145, 1161823521, 942020615, 93661482, 1663452199, 69368870, 1785412206, 1638540289, 1182007763, 633871150, 211887577, 1612016373, 1393165539, 1480611366, 1531576358, 752379219, 689964294, 59131429, 3366256705, 3159322848, 792172986, 10485824, 3247394307, 147196497, 474369210, 431076100, 791382599, 364111, 237322264, 290525225, 539020456, 2990652431, 1816247124, 1751562931, 1689420837, 2864361984, 642685954, 3932368461, 2148311298, 2854574180, 3516286395, 1320834123, 3122245697, 3155116256, 792172986, 10485824, 2986623520, 847513002, 3132331589, 16777281, 16990218, 1360809440, 73670291, 2707919792, 12115972, 1679725489, 1737732096, 3087007937, 2545697579, 1084245377, 632489013, 1154902336, 733299918, 1325401571, 207581400, 2623809, 28592448, 86048904, 1587301380, 1029450296, 2688004, 854199873, 1886455012, 916204394, 1545875089, 1184643692, 2124394, 1991317971, 689972696, 448080087, 443033601, 616584942, 558967576, 49171840, 660028012, 2108883, 438330150, 827850793, 580084535, 1763261075, 75777687, 604253734, 1705646368, 625490218, 604054193, 420085792, 1565661651, 980156906, 1901158401, 1287676107, 719341192, 456020577, 470039161, 720003886, 1301379082, 1318728097, 296354094, 1664576281, 689982296, 726795018, 592919358, 22238028, 872489649, 420085829, 1458470217, 45376266, 1641303076, 442514024, 1565079793, 2014059337, 2013814428, 1277456857, 875763729, 1360013600, 1623926785, 1287679633, 550719512, 1430796654, 550586304, 915490460, 689966147, 70211415, 1452845234, 251660288, 1207960064, 3780837384, 11670752, 0, 271092, 1918898666, 1901158567, 350224533, 1566059129, 689966369, 74453594, 1633306791, 0, 285081741, 79966950, 567569152, 305421605, 480706560, 4, 613290564, 1888359200, 291783814, 321139850, 281289895, 350559232, 0, 271689, 956720457, 350224384, 5, 405405871, 367344644, 815403328, 348203175, 2498039552, 134269327, 16776448, 3780837384, 10503296, 3014857555, 626478406, 1704985621, 1154902337, 271779857, 725166830, 1300303910, 403254024, 1574266307, 338237448, 1196581824, 456731221, 1677796121, 684785696, 1029450296, 56113772, 12608978, 672750811, 706749787, 956956717, 67396936, 913589900, 956711940, 1264069458, 3015688, 1793484439, 1612458730, 52059831, 990520321, 556687636, 1834419078, 1610755264, 1318262684, 1391475308, 39069009, 82057593, 719324166, 1730824889, 75563590, 565071168, 1893204714, 1251682592, 94437725, 902249253, 3366297667, 3249738579, 626478406, 1704985621, 1154902337, 271779857, 725166830, 1300303910, 403254024, 1574266307, 338237458, 2065246958, 1398276518, 1454001619, 805923566, 1300235275, 979780632, 1691101952, 86528632, 1727669038, 211887136, 307913050, 1210320481, 946603297, 18305939, 32141649, 1612458730, 24406633, 19817137, 420094977, 925706711, 45568682, 1544901390, 1708412673, 478892793, 1785095505, 2015627740, 453003736, 1641230375, 70417177, 721290118, 1611869034, 1545097787, 689964129, 39477594, 1209801472, 1386892617, 19554990, 1698694164, 501883694, 1383596073, 305421600, 292625197, 684261423, 1632135918, 1740665048, 53760017, 463849637, 4308030, 1302348490, 3759613533, 1047658672, 1102854720, 2688729267, 72820945, 1005191215, 550585811, 805725994, 1328417953, 542836706, 694576337, 2521104449, 3157937568, 1120591895, 643644007, 11583895, 3161804096, 174591051, 3003859224, 995273420, 2999029582, 50883393, 274491315, 69292070, 1183334729, 76897927, 418478087, 2013331866, 451502083, 388835799, 59144212, 1797638309, 2986615120, 642685954, 2502583752, 2780498792, 212860993, 3159183283, 69736842, 2508424, 1095341637, 1102846784, 3003394073, 2315265543, 1749456937, 633906432, 10502784, 1572966222, 50856022, 2986621777, 3358261253, 2456382277, 1224801792, 537297208, 3190724455, 1394289223, 3222027859, 1165760554, 2791102763, 8034820, 3831868024, 405361152, 671695181, 2853906980, 153675365, 1074569475, 878037120, 702557988, 809566381, 11769413, 3004225320, 18197018, 3998056549, 2924320770, 1961932032, 16777281, 17105308, 1099782593, 2987311997, 2536226888, 3358970664, 610379349, 1224938569, 1546940997, 3492283905, 290663723, 2555434, 3775931916, 3024961633, 3374842148, 543069256, 655528704, 542321962, 3764504872, 19144756, 3510894872, 3226901546, 3949602162, 877792845, 2149459490, 4769845, 3542623256, 423202148, 421162053, 1074084922, 3932169301, 3576365328, 592091474, 4162209052, 1985357403, 1241523786, 2588879396, 321443584, 539399388, 2992787021, 12038912, 556984952, 303631674, 1778680687, 979269634, 2590254084, 3321924446, 2270428928, 2451148320, 72804963, 442359594, 3776141353, 537288961, 337256521, 3542810629, 553677060, 3775197465, 268584481, 2924298244, 3321924446, 2270428928, 2451148320, 57148514, 2924374620, 654584914, 690643016, 3358970664, 18541101, 1465731328, 672858136, 73749078, 2537286236, 655413572, 20083788, 3161626433, 3543142993, 709296166, 2468031012, 125305902, 4095647613, 335722283, 237327204, 71208268, 69478161, 1897606440, 3382068659, 2192110, 1708339201, 426124617, 76370826, 1834419329, 205654354, 422183010, 573184753, 2015822905, 1921009864, 903031552, 1632258049, 541722215, 421552550, 1430328058, 1663978880, 108141182, 51729208, 2521153943, 3158855513, 3004291351, 402802275, 242040836, 1644780330, 1611223635, 1789178561, 2545702485, 1471353305, 387449652, 1343039707, 2013339722, 1465398601, 2521121212, 1263907595, 1097521723, 704762661, 1483143715, 773728918, 1161935887, 1086429115, 1499087027, 321727210, 387449460, 26497312, 1445339456, 85289760, 219755863, 2830237761, 3159315379, 299439896, 16009002, 604053536, 1892795570, 3247946819, 725639758, 1291868595, 70599894, 1765820759, 708706761, 712587630, 721421330, 420297322, 1610681958, 1230504749, 701956404, 1318520036, 1705670657, 846482620, 1922515411, 806506794, 1191183658, 1977116115, 806905049, 683430245, 1932339388, 452526662, 565071191, 4172460804, 1012066656, 34097736, 3374847083, 633906432, 4308011, 1536316416, 1085473827, 1083124618, 1191183747, 337663305, 723065381, 3366306197, 3159316495, 1074417948, 3232957505, 719984909, 8062689, 17183045, 3366257664, 0, 115, 16908960, 38112256, 442630858, 3220423063, 35067583, 3969189089, 2873033730, 2500037887, 3773284099, 7290624, 12058880, 4260101, 7381044, 1222651761, 3037738162, 248006278, 1095303203, 120924920, 1382093062, 1593719404, 12608404, 1562380666, 1311654208, 91517541, 3433382716, 56865280, 638379846, 2286015280, 17008248, 27271392, 724931380, 1073786112, 2996192699, 2348812978, 2504023, 2830285746, 69297518, 861382821, 1866349568, 2902506416, 1102852699, 1102791511, 3003392356, 1091497551, 710760549, 1224749829, 1815706080, 3001032542, 3494052000, 14267140, 560218406, 2321547822, 3932337229, 537198895, 2489137302, 1170315196, 940594241, 3150270624, 843552017, 221381088, 1064460800, 3099695036, 940589234, 69297217, 965956330, 1610689898, 686893062, 1730552325, 3366304525, 989978631, 608399955, 167829911, 480, 52708210, 3405774592, 3784769536, 28311617, 1023788181, 1027685381, 3298114676, 1027342401, 704736, 119817074, 1393164465, 16777376, 996204551, 608399955, 167829911, 269, 989978627, 608400074, 4294901985, 2533359617, 1446840832, 1409288705, 3883885568, 1661009920, 1910996836, 2315520, 1704344736, 1011408959, 1935933616, 3761185840, 956345600, 3149005867, 966450501, 1866349568, 2902506416, 1429996092, 2688305165, 1006734336, 205667329, 1222655859, 1677766834, 249050327, 1410938618, 1663042657, 3737633, 417736254, 60058217, 690344101, 3149005867, 966450501, 1866349568, 2902506416, 1111229023, 3004068950, 3024966500, 122062915, 353895, 639762438, 778502243, 2489132488, 2782932772, 808976557, 12300288, 16777376, 1002841667, 281993223, 608400074, 3387, 11621948, 167793664, 167896959, 1677746945, 53827, 1006698701, 3883885568, 593100800, 1929657601, 6556989, 28509217, 1682006926, 1301807577, 1612214935, 604049162, 1295516628, 1794638193, 2043883521, 538981108, 1785267428, 439957146, 832570529, 824847699, 1632709400, 75563073, 1564877226, 1610810411, 1670667552, 74259049, 1610837118, 85873473, 309601582, 1300247278, 1245615685, 3761185840, 922791168, 3148895549, 37569085, 21684239, 863278893, 12104462, 3344814405, 3327074349, 1313808471, 1499463958, 2334919784, 3609469956, 1627404552, 944100704, 241631331, 2489131037, 1500596812, 19852831, 18620933, 2372598016, 1444727111, 3318261058, 1006858675, 69297217, 456731221, 1728059417, 922379041, 273431352, 59382282, 1296630553, 455738039, 728387384, 28206894, 1300265626, 2521161775, 607139328, 2902506416, 11666465, 1701720919, 673459417, 439449628, 1397957961, 77088594, 1459619073, 26694483, 606538572, 468344858, 1409501221, 1382557732, 73471238, 1695350976, 518924640, 841894584, 671163690, 715129976, 1391940491, 1780493258, 1613172970, 781658113, 341597510, 589369376, 138091118, 1638555649, 1287660084, 1763706155, 724444187, 448060594, 3147383565, 973147444, 11219968, 4308033, 4589122, 1124090291, 69941658, 1564828416, 915678216, 454647814, 19291648, 1638278812, 43723488, 993526118, 557915184, 80957468, 465569212, 262215449, 73474612, 1375739219, 685323278, 3836887484, 1329595970, 1128284476, 16831154, 72894108, 1203789138, 1399455776, 915678209, 875240649, 1203794586, 1294607380, 1454656851, 1677790954, 579748865, 1303666420, 1543718944, 1640773408, 86060700, 1275795722, 77342935, 2013335444, 1785276705, 477506766, 1327522382, 1161831058, 721421569, 36591360, 75052371, 2108616, 672687319, 1728054536, 886255937, 274096692, 1916667009, 1412367654, 1276396833, 328105299, 689984855, 1653802209, 97655178, 23471448, 2295331, 1814044297, 2013340715, 120870580, 1297310759, 69748358, 1075259974, 980942949, 67919514, 1294321829, 3147383565, 973155906, 3003925017, 776015884, 1092202561, 1006793651, 69297518, 861349924, 1706322317, 48898715, 720260480, 96228179, 654381094, 1664569964, 22238028, 872489332, 1560936485, 482918578, 3003400713, 2321811526, 2552760910, 2586943493, 16791816, 555936330, 2603090177, 3025216968, 2768240705, 3158402822, 1094935475, 71436682, 1678263960, 671764122, 832570641, 1385169747, 626478406, 1704985608, 1183236274, 1102860096, 104940352, 3003394118, 2252341529, 1717774925, 1224759044, 321458176, 688128357, 1848858408, 655049084, 1243990829, 3362404608, 677204563, 1788232960, 7288125, 11337915, 2952790272, 4260097, 1631698041, 1566685748, 1504906876, 465568967, 1183334729, 16646176, 120273306, 1564854437, 1090584640, 641929415, 221511833, 1134574144, 641929324, 3883885568, 589168704, 2688237581, 989978631, 608399955, 167829911, 480, 52708210, 3405774592, 3784769536, 28370815, 1677730590, 5878532, 1114745370, 3764080171, 539923559, 422230018, 1780148216, 3001515876, 2301440, 1084264128, 1128006464, 3761205685, 271888915, 761174577, 2684622900, 3377698820, 2248216912, 3492356100, 1633960200, 1667486824, 605959202, 239960196, 98577205, 2469675008, 2902503978, 4076952847, 1630806027, 3775727198, 4265241600, 3223252529, 3108487218, 879874864, 410163108, 2998657087, 1964245168, 3031824, 2687715221, 286077697, 650490816, 784708512, 334606865, 2001879118, 2620741416, 604248178, 2535719220, 541020963, 772579852, 855993626, 1761909818, 692568114, 879874992, 3032189952, 514985592, 1922507812, 842297811, 807156265, 1203834947, 107031974, 1294323877, 3138196224, 2870149376, 4260096, 1074607104, 2952790081, 272056385, 3161473089, 3141222502, 3132347827, 332687544, 1564477805, 1378433644, 53287717, 3500494522, 1018332197, 2864362241, 1715877888, 671352603, 167782660, 138791724, 120206576, 2986344513, 3156099137, 3150266546, 69688646, 604051735, 1796024608, 1557738839, 53287520, 593035518, 2843540, 1562447907, 67657554, 520118534, 1730829313, 538997203, 2763176857, 581959745, 3155509313, 3140042921, 3135246131, 1956365824, 3087007809, 272056467, 486588827, 3650368, 2687140052, 221249970, 282149891, 1251156289, 270541226, 1663042769, 964241696, 96359233, 479285904, 980157269, 75568224, 403839584, 239141684, 1409360928, 573451617, 314197550, 1300249209, 712591296, 239141620, 1430330553, 321719873, 458433170, 1251166144, 848569345, 668231716, 197742616, 465916089, 5054906, 571550464, 1786070342, 1624467006, 82142356, 874775713, 857303312, 75914579, 387515348, 1747391370, 1176572046, 387007490, 720253369, 8258828, 723548826, 377840642, 908729194, 1610690318, 834246213, 3138203905, 236788491, 488312102, 862720, 3758564419, 2043611648, 3784769536, 28357136, 3640664105, 740819236, 539110957, 1611284051, 1091616840, 3540047189, 1180631324, 1296471107, 2530380, 55059716, 2018854467, 18659601, 2856727556, 2303955715, 757787158, 2147768361, 1375741958, 1174583120, 4046078236, 2451292712, 1577815338, 889443432, 2987859977, 2822195266, 710934860, 3540210529, 1499868749, 2153944932, 19367544, 655828053, 1463080288, 237764887, 774447109, 3895810148, 18882602, 1761618180, 391293440, 1581894711, 537478686, 704653350, 3861906287, 1426088314, 2584010771, 757752080, 2383876420, 36328541, 1080403532, 219854200, 18983494, 2684664404, 3021414400, 1296357937, 3087059993, 3549840827, 221053197, 805429251, 608401027, 4294901985, 2533359617, 2952790081, 272058784, 767952413, 458153991, 608401027, 3373, 11601198, 167798450, 70392416, 1184121600, 1531864384, 634934826, 453649447, 388241969, 49164729, 77149523, 81951130, 722993940, 1230261568, 708323330, 1892774110, 1611475509, 38409856, 319432705, 349655891, 606364340, 1596281017, 5055960, 448080087, 3769809888, 119817078, 2197815309, 755020000, 790900783, 11337915, 2952790272, 4260098, 1084238528, 220856333, 637591559, 608400793, 47104, 16777281, 16871489, 3162074150, 498296992, 719696644, 1093243904, 3548087157, 3024432717, 2147870773, 1482958596, 928164352, 644205092, 39704982, 2235629826, 1637888094, 2687327136, 727228460, 1200951565, 738320391, 608400793, 83943831, 432, 1090585408, 2986844440, 3227420736, 3160618795, 2466392613, 2315414042, 3758360347, 167782680, 421146881, 288975620, 3775198311, 877134116, 539110957, 1610925646, 2570409729, 1848584746, 1613580900, 120206448, 654590282, 778514728, 223521280, 690105928, 3998056554, 2684618821, 3408661273, 168067632, 625593399, 537478686, 704653409, 387598149, 1076272204, 20217111, 3644234289, 2688230755, 2529823, 728375300, 2824032548, 388708958, 1711059643, 2686894515, 248599148, 44968202, 2711189, 671160614, 1301363308, 20214368, 94438196, 1409360928, 573451616, 73472910, 1705069611, 1564877221, 3366256896, 4260098, 1577458971, 1524631332, 1132056320, 3022096, 186453005, 637603114, 861953, 2973827331, 27308551, 2702753885, 1377497112, 4045936726, 2566927108, 157969450, 2466571349, 1463080288, 426934327, 1395059236, 187259136, 1359257880, 3224425786, 1812051013, 1074159873, 1180642583, 402856541, 1713455110, 3778720874, 4160812857, 2372147306, 2016793384, 3019929133, 1543703081, 825912416, 20193394, 2537889816, 4100800786, 2053061213, 1224801792, 543380293, 3426164740, 1948321377, 3561804034, 3862591492, 2169083731, 2466264369, 3327074406, 3928686866, 1178719024, 51167341, 3613869636, 337314072, 855902507, 174006277, 553663502, 555510020, 40117784, 406145628, 358434874, 2921414929, 928167226, 1812097562, 4051176249, 2037910313, 1493182524, 3425782018, 4095875072, 3930496004, 3775366776, 35923484, 3613214976, 4261462062, 2535311653, 3543138651, 2252742929, 392841029, 3543138612, 3425183494, 18399292, 3425782018, 2502585933, 2147901696, 1191510275, 342568305, 1482957830, 3778685466, 402702381, 3542618683, 419750150, 554444804, 53883986, 402796077, 1361778688, 589092701, 1402357179, 2686894515, 248992426, 2516426, 604054163, 671163424, 148462922, 1610839075, 80288364, 1171468308, 1834418208, 1640572929, 606085678, 761336554, 420297324, 20214368, 83952397, 707461354, 1184667205, 1090584693, 3883885568, 588185709, 171383785, 3003402267, 674505740, 1092886562, 2538428160, 688220793, 1091595338, 2603240015, 538596429, 2147752285, 1256239681, 16793831, 2137260067, 335560883, 72886610, 2635078, 1545864609, 51669805, 1901618212, 68703059, 654312737, 51026098, 10495569, 3003400488, 1612348930, 4099227701, 1470673601, 2512132680, 1325436320, 762295054, 3627456356, 426344460, 2701325397, 1076007789, 3542177792, 621142892, 643909738, 3930570796, 3630519081, 537241118, 2611524102, 488331789, 687977220, 1281148675, 170088234, 1040213253, 16970837, 1170777523, 70392416, 1628729912, 82142302, 1222508970, 1184892090, 1411647874, 746064833, 1211048362, 1663387833, 5068430, 1329070120, 67646808, 1678977239, 2428065, 36316554, 2521121212, 393065220, 1499447301, 138793500, 16970837, 1091587076, 2718624281, 218112102, 2499894058, 1611014444, 3932364841, 1800599958, 1161935986, 26067307, 498776832, 3736208424, 894985217, 443838489, 961085480, 68637354, 2521152269, 704749613, 3248499521, 2986619418, 1611276566, 877795330, 2972244009, 555530514, 1953503541, 1462286432, 100766801, 539946538, 1763082259, 756707328, 621466217, 218402381, 707339600, 3103804759, 1363607564, 2701325397, 1074028801, 220928256, 642108261, 1224747012, 424845317, 553718073, 1795171084, 1093078577, 3104105585, 3644065283, 223541506, 644451588, 2368211259, 106342938, 4161070436, 2383876420, 36208134, 1711476050, 4177759546, 706119012, 19940676, 3630439506, 3923817147, 236788491, 488312106, 861696, 3758564419, 2043611648, 3784769536, 17640704, 2965466056, 3149529224, 2687361798, 488333235, 388251480, 1678531783, 43189518, 1689524001, 270551251, 15353396, 1929758885, 2687336515, 3003396634, 1615238211, 2290787, 18659595, 3692722432, 539077219, 554716026, 2585167204, 220731468, 3579848471, 609131523, 424845358, 2487604016, 39592788, 3630170991, 1427539428, 2779976660, 1756912960, 1785077290, 2647498, 2121365, 671244244, 1794648619, 2521150227, 3563632733, 1080714782, 704653413, 3389005918, 2502426915, 756753864, 2772548726, 1084238560, 220856499, 69743960, 1677793908, 1879653128, 1383278873, 689964449, 49567045, 3366302468, 928164352, 2003159588, 18928507, 758803606, 1157627917, 637616400, 926986766, 3407498821, 3327925073, 3358066714, 828377427, 2466261114, 2584012132, 2254258180, 3093680452, 422926120, 3038191669, 1075663174, 2623537476, 3223488095, 167913065, 2365908324, 2620010756, 2570408708, 2354890498, 2466578690, 4099227652, 2083043398, 537664564, 1920024587, 2303767063, 537147218, 2852206418, 3087018097, 3644076805, 1999161524, 2998603053, 31458084, 1132075263, 4278247831, 432, 4263991, 3605006116, 1132075008, 924986, 186453005, 654416155, 2980063617, 665977906, 442524454, 1597505576, 893807936, 211878644, 1430258812, 992806502, 23752722, 1380601656, 2431735, 996802674, 68768416, 86049041, 963314913, 105270295, 710176088, 2114776, 1678453632, 1825663175, 1163395117, 67646808, 1677790903, 715545944, 2639174, 1832983737, 332687544, 1832914374, 26497312, 1655988005, 1342453079, 673473744, 672740824, 75696013, 455765335, 26497312, 258891956, 6161731, 3084741, 1647378506, 1296704979, 806636869, 1354301517, 886253312, 77988529, 405997336, 1691036673, 874520217, 1720844329, 67646808, 1677790442, 835936266, 1959934574, 1300236475, 440015089, 721799333, 3152021284, 1132075008, 3022771, 220790797, 637619891, 974003514, 186453170, 69743960, 1680102058, 1275137362, 1463682177, 410125675, 693737029, 3138201345, 236665568, 52708219, 1308622592, 3784769536, 28312872, 67130290, 388264273, 1143212994, 540154417, 19298343, 319432705, 341271186, 724453701, 1220083864, 916204270, 1300235425, 1167530858, 1143223616, 634914913, 923677113, 2521152269, 754978333, 973806860, 220660192, 119817082, 402653368, 3003396634, 1611165258, 2791688783, 555530512, 3609723157, 340382512, 441719093, 1392809052, 324216276, 3103785120, 669729212, 1918222699, 565885775, 3004402971, 627245060, 357684196, 3040984079, 1086428602, 533080384, 3003859533, 1860481729, 2545710413, 1084239232, 1605567538, 442507473, 1191192220, 1275143124, 1747392292, 989858940, 879917722, 387393553, 1385183852, 24403125, 387986752, 549995050, 1613000923, 980156608, 135277504, 1399479298, 363469089, 472016638, 2642602, 1275134221, 723059842, 813368529, 1360013605, 3366302468, 674584676, 18494498, 170131724, 1107907669, 1395205576, 2768240705, 272291481, 453847809, 221052941, 637657095, 608402253, 45543, 2137260067, 671088712, 2987287909, 2000245540, 3104084563, 1850572891, 1310855544, 606505265, 1476454965, 3542352691, 925456384, 587518291, 419442017, 3426166216, 2780535067, 221052941, 721489190, 31459108, 1132154112, 11580174, 1701148473, 1394915585, 1562005069, 1476412780, 3513304901, 1476407565, 1969080744, 2986344513, 3157551027, 162999061, 1382637576, 894066042, 1178469605, 1683621062, 60050730, 1568293897, 465637495, 992335033, 3760152272, 453025792, 4122149938, 442500313, 915886924, 910033235, 854876938, 604064800, 732318163, 456002721, 608509588, 1740637282, 1326066240, 84748503, 64284850, 1102850816, 1840448562, 442500312, 1720206272, 73475658, 635062285, 701249313, 271671643, 719733769, 467146496, 854881069, 2712378, 485566467, 340077768, 673647009, 419847934, 980156608, 1330781527, 2714833, 1757889880, 55780695, 4528882, 76897624, 1782980158, 2950163, 1401254549, 710943146, 1663420581, 3247946808, 272646587, 3305165746, 70392416, 81336842, 1275557912, 1794465240, 671157286, 880477729, 52187881, 81933719, 418906149, 75052788, 1929381025, 538981108, 3932787487, 12692224, 3004193970, 75980102, 1104359425, 51976555, 3343381, 1586015000, 2568957470, 280102018, 807742931, 990708142, 1209281888, 103154394, 957350701, 1599628289, 538976682, 1663114317, 634019876, 74005250, 260990371, 151674194, 1383989299, 68838214, 1142450129, 671163424, 295118962, 126043175, 295770328, 1654089033, 57034566, 506093591, 709232231, 699288869, 3366304665, 456006672, 203168224, 119817083, 1291845645, 721529643, 3003407443, 1361470819, 540497764, 221921286, 959764886, 2231369921, 2545698895, 1074142010, 1085473842, 442522952, 1372676120, 886527550, 82142361, 894969859, 1999452780, 1610691150, 1296112782, 1689804818, 2013803864, 1677791021, 734356202, 39715686, 1195777578, 1613173716, 1756917056, 403788576, 87239419, 672751566, 1300235545, 436863789, 708838834, 671493930, 1544693784, 460213632, 78723594, 53287717, 3501785281, 2545698895, 1453336256, 3003397970, 2852136549, 3391357216, 3227970216, 2990652437, 1437795383, 1386873748, 1287152648, 455619595, 988452421, 1102870109, 3003397970, 2852136458, 3626572381, 1366825273, 1224745736, 1110135590, 2477306433, 3156099137, 3150266547, 70734506, 2509001, 671164087, 725186585, 1397503000, 1732979713, 261377208, 1678273317, 3366256705, 272264096, 735687443, 3563632749, 1078368356, 221921306, 1414365188, 425544416, 2998076481, 677386878, 38161421, 720016965, 2687324595, 71379040, 444465734, 1275931370, 2521121212, 844608260, 1180521239, 419519274, 1612854369, 1074072890, 1171301697, 3157547443, 70392416, 1893411584, 264326336, 787360361, 1203794142, 2521161759, 1590704384, 2684387429, 2986982954, 828376857, 268731748, 2620709143, 402665220, 3088827732, 41429557, 1180434708, 1450267076, 2996842872, 2986381163, 419638824, 16970837, 1074069761, 220928256, 594624523, 2285138457, 2032860186, 3915428887, 536890722, 1313167360, 4149266759, 3318261132, 373399, 633057473, 2512145168, 945795851, 3257085242, 1879299176, 3091603555, 1210141220, 55075621, 3630486305, 1170777409, 3161538625, 3141091430, 3132309682, 2217061050, 2986438969, 1476613488, 3609469961, 2184079898, 4051176218, 3760878697, 2365597748, 2063864346, 1629248038, 2321553449, 1375741978, 1516322869, 3523513683, 2322421508, 2321721889, 3326492160, 3623910228, 3630258179, 2389025101, 3542198880, 19147573, 1176774423, 611403106, 3926099555, 776831077, 3525841747, 2166130472, 100766801, 539840838, 2617254757, 3389005918, 2502472855, 633040570, 279969985, 2545694249, 1841403152, 875368264, 3762257628, 12075280, 810147871, 973286912, 3098743290, 1663070333, 645924025, 903036929, 349677749, 1102856512, 1091580003, 3003400490, 3661310466, 1178681356, 1090581607, 877134116, 541380648, 20294237, 1162392214, 1169359937, 677407337, 719324184, 1793792266, 2962775, 2830237952, 4260098, 1356859172, 1132376835, 14784256, 110657, 16842852, 1102860032, 1598143011, 2153439279, 951366400, 1124079959, 3003400489, 106888704, 793462836, 441264735, 2254788502, 1162525204, 3451061313, 723927360, 1705436340, 3883885568, 589168704, 2995004842, 3132293158, 2056937216, 203817556, 1230201892, 159997589, 1610691627, 853959333, 3366273281, 4253567, 1677730570, 6927118, 3256361783, 1395850775, 2438107194, 1812033121, 2684672113, 3528053552, 21766221, 1311876946, 3981609366, 1172799332, 2294784, 1570772058, 3758564419, 2143879168, 3758564419, 2135097344, 3759092596, 2627731640, 639832128, 1628579265, 3883885568, 589824000, 1102189210, 1677796384, 580341079, 2688362, 2034307264, 1648772641, 319634046, 42417480, 1677855795, 68688489, 82008660, 1230201873, 455760932, 258021780, 1296421029, 3146514515, 3883885568, 591790181, 2986625051, 674498048, 4147727105, 2436519265, 1074078547, 221937152, 855906330, 1771455931, 2348820658, 320096601, 903032856, 1423393326, 1300235873, 50400518, 1695361792, 90863936, 203817556, 1230234802, 3140298002, 2871328833, 271466674, 72837728, 205595854, 1543573226, 1733774337, 538993495, 751347890, 3152027450, 53477560, 16777281, 16930016, 119817086, 3003121824, 608212241, 220463531, 608239873, 1078049846, 1084275264, 3760145123, 369143808, 50331648, 162, 3003187320, 2701198018, 1241580672, 1666056494, 1090595146, 2569604648, 780927000, 1090635342, 247913742, 623775011, 629932040, 1090593348, 2569183235, 2064450305, 2986620982, 2285895973, 1399150394, 1811947566, 3996240131, 2254788352, 1481165096, 18167634, 2686071040, 727095393, 1482806351, 434434, 641811920, 2780536834, 1166802952, 755040908, 4287406083, 1924269121, 845814513, 2014649062, 1205807392, 532677646, 599814361, 720896216, 2450318, 1208046624, 559113559, 2688017, 436901445, 3149651999, 973287424, 220332256, 52708223, 1140850432, 3784769536, 28311701, 585596772, 2296320, 6111504, 805329056, 335566002, 248264915, 1679249665, 313994094, 1398294464, 902374739, 13783660, 2121352, 1124143142, 893789651, 806828429, 1679381382, 1562409626, 76441344, 1251632544, 819280492, 59647301, 3500522464, 119817087, 3372351713, 2533359617, 2965477136, 808377312, 119817087, 1124073696, 119817086, 3003121888, 119817087, 3372220593, 1092748403, 3003395619, 3228621098, 4160760932, 3493489667, 757716739, 877011228, 577884484, 36456984, 4045930785, 3024429068, 1382616322, 877497052, 2990612998, 1806894145, 820650642, 980156502, 1900429351, 72161568, 492397911, 36313962, 2126041, 719326977, 355947411, 2525315362, 138469383, 608403267, 57351, 608403123, 57351, 608403401, 57359, 863280306, 12058689, 271597728, 339795975, 608403267, 57351, 608403123, 57359, 863280323, 12058817, 2545692751, 1076242355, 3236396900, 2306560, 1972970286, 666045871, 657305104, 203889075, 72820936, 872481549, 981336711, 1028154407, 188815552, 1641174570, 26494250, 1275480913, 723898533, 3003398197, 3547862045, 3928170594, 777453573, 2704119579, 352330511, 3561760772, 189174876, 19144772, 3492291696, 2098159897, 342710057, 537294874, 1771455744, 4308001, 1437795394, 554977600, 420959000, 6843002, 1665582258, 1102850923, 3003515160, 1313773848, 4045931284, 539898962, 3758432514, 641810705, 1562465636, 53653786, 2036334860, 3509635734, 1161935951, 1085475672, 1171611649, 1546333651, 827842738, 4308007, 1085477834, 688403885, 3031695425, 3158130867, 70326869, 7810899, 590238318, 1300240341, 1585912049, 2013345190, 1842556940, 1396255328, 1901664229, 3366256818, 72902953, 712079371, 979959899, 264326176, 1841983955, 806834834, 2525346784, 389677867, 45056, 16777281, 3160277068, 1947279633, 220266674, 72962888, 872481574, 506069027, 93212441, 444155840, 1726369557, 1392060704, 84299417, 894894769, 420124293, 3149651975, 608403553, 50389399, 367, 505348320, 792331008, 11583895, 3157011264, 2986621034, 3944286720, 643092776, 17656347, 979194155, 402948659, 290689400, 605708346, 1177632868, 3492479073, 2790606288, 2780524317, 520137984, 3149071406, 1221339160, 1184647104, 751381253, 3366256789, 524361477, 1158487809, 3758564419, 2160264192, 1091578688, 2986618445, 773904722, 3758760195, 639511041, 1899565098, 4160812857, 1262993683, 757751841, 2790099552, 27310447, 538902701, 11736869, 3366256896, 4260099, 1085408321, 808654850, 17635911, 719331543, 1833500723, 68636944, 75580448, 1653680138, 1954219265, 41180973, 82070170, 1328161795, 378742786, 472258585, 418457617, 418006570, 604333208, 559102208, 326001446, 375743516, 915941387, 685337322, 1163419672, 1793792266, 2497132, 1162412852, 1893147678, 1396776084, 1296058828, 924851537, 962275329, 1008755911, 1161851096, 56109344, 84823342, 551102485, 1372808960, 86921002, 1566073857, 1277193674, 1879127139, 1655989284, 1171269657, 915941387, 1397957633, 1313230784, 1423393537, 479480833, 43595095, 27675937, 271278935, 1587170606, 1301807148, 752287789, 1655054804, 1795163239, 2014531608, 1726637325, 2688014, 1221343846, 1707283732, 1781071971, 1655989250, 689196814, 626469152, 1628065224, 82057824, 979974406, 1721172049, 68753649, 672606409, 1610998949, 1864376064, 2902504215, 633906432, 4263994, 11747772, 910876687, 863276319, 12075452, 408657958, 3386908474, 53936304, 3003394842, 822099777, 3510902355, 1170777409, 3161473089, 3141025857, 3122750899, 70734506, 2499795, 841895296, 1399479297, 51258688, 86049041, 963313873, 1564878789, 3366282938, 3017191940, 1180521239, 419542085, 776831108, 95074995, 2521124538, 934446117, 2864361985, 2485846099, 1784414465, 288975616, 591713063, 1725517, 2147751761, 274728746, 888189627, 1102759499, 2847542983, 923608007, 2957097503, 1101642254, 506966081, 3155648947, 72162154, 1287152650, 1318728096, 1664559724, 1704985864, 1171397633, 17906027, 2521150212, 675662636, 18370938, 2593555712, 12687292, 420961203, 70868819, 1124074905, 1384122563, 69534984, 1171397657, 894604869, 3247946796, 728014896, 1639122433, 1747454291, 1358178240, 1705663809, 273431333, 1660957911, 604054314, 1176881317, 1102845248, 3759092596, 2643198136, 4308029, 1085477337, 387449268, 1431382808, 81856308, 1561133094, 1901696581, 4308029, 1644833039, 1303581145, 387448891, 1171887685, 3003400520, 1308954937, 2372141935, 2389026248, 2772548654, 1074407695, 1588724818, 442904896, 84571950, 1301953293, 2108966, 1229310117, 3138136335, 2964523842, 1614482890, 1999523226, 990718245, 3366257152, 65, 16859298, 3003302413, 469868546, 3235917624, 3020030019, 280077, 469807521, 33735308, 4293525569, 3160565664, 449688324, 577780266, 1432864200, 2779973121, 415261236, 1638813056, 1654279456, 95309582, 625330341, 1102845258, 3759092596, 2666594488, 3247946767, 1715487162, 289447962, 3551724599, 715802154, 1327498438, 1176515219, 2830278843, 1846352385, 3003398230, 3866630245, 3544383514, 1182651186, 1040212248, 187400266, 2452257120, 610642508, 157141863, 1804024, 2990652360, 1390413604, 1132649733, 14784256, 68891, 17635841, 3003398230, 3866630217, 1363607621, 3492283906, 1316436573, 1074082885, 543328323, 288618, 4080692226, 4196199004, 655477504, 1584486184, 100767593, 1074906465, 543381288, 409263617, 287889302, 2231369741, 453030675, 755912018, 4147704104, 407458116, 18504225, 2688899168, 359296042, 2030204144, 2986344704, 4260098, 1088425779, 1956577536, 3087007809, 3156966835, 69622602, 659055617, 407241838, 1253518104, 996803810, 1803968533, 1585912049, 2013332038, 1050083914, 1706304513, 663119191, 53942904, 1452762113, 1277169189, 3366273468, 910221327, 863281376, 12058689, 3156962227, 69302310, 403385216, 759849993, 693436451, 1699938666, 723546569, 673472154, 1294607363, 337649305, 1720882757, 1102844736, 1091606621, 3004271207, 776830982, 2701147762, 2588226327, 419449349, 845745411, 1487450803, 332687544, 1564478689, 1306068196, 1395469052, 990512257, 339675467, 1183213011, 805391950, 617503746, 1147931347, 454653975, 1360060594, 12687292, 1213153459, 288640184, 1677863694, 1178506821, 16777281, 16990386, 71381620, 1879250579, 671163424, 1691436376, 1678138637, 721421601, 14051657, 1763247245, 1785290057, 1610687850, 723520038, 49553950, 17636114, 81855954, 1230201305, 2013340704, 450505018, 589321972, 1028154369, 416634071, 712572973, 894904359, 320426602, 52057780, 1597506286, 1631585697, 49553920, 775181024, 84628210, 38167310, 1832917736, 894960769, 993467242, 1594490912, 1565276261, 94519336, 1654285729, 471953625, 719679750, 1593719404, 4067233, 462300480, 74000725, 81994784, 186715494, 1543973428, 1881408674, 1917206848, 205914342, 1158959040, 97676057, 18106945, 213938633, 672872796, 2688006, 1531586376, 3836918688, 423670532, 561599271, 1636202, 3108487173, 19681392, 2098731114, 3042113850, 1812115014, 643564129, 392841029, 1225033755, 423259136, 538634292, 22290465, 2791458248, 2768240896, 4260099, 1085408321, 845814496, 68375289, 894913546, 1293944099, 252326474, 1327498529, 14051657, 1763246878, 1663715367, 220266569, 74991052, 925988890, 1437484577, 270540625, 1073816608, 450505018, 589317780, 1258312270, 1318740542, 77157258, 1574121474, 1153446551, 826350697, 68375289, 874775580, 455760897, 2033668792, 45558030, 1440306008, 1203766378, 1328176896, 404181264, 2014138922, 81855782, 1252018840, 1610681902, 564808705, 2097831718, 980514834, 436863023, 403983685, 1938192409, 1574278725, 3147831616, 3003392870, 2791251973, 553703017, 1231624451, 509815368, 18469657, 137041944, 4045932905, 1074069761, 340141655, 167782738, 1778395396, 471542364, 3156035165, 3543139933, 220923336, 2768240833, 2512145755, 1215934980, 676555356, 18502765, 1224785948, 2063930445, 1080150312, 610097960, 3510266880, 3221753170, 704784921, 776830982, 2837114957, 1491120827, 219677099, 406961231, 1085473832, 1399479297, 426138649, 1384133958, 1874855193, 436901445, 16777281, 16990386, 71381226, 1737108064, 228020496, 2299913, 451936945, 420086913, 73336017, 258554449, 2013344967, 1399456919, 728373806, 1300240401, 1382679689, 451936934, 1705009716, 1439903753, 1402142760, 68954905, 2521152416, 417968910, 3442006904, 303721810, 704713837, 1459640333, 3528682020, 19065453, 1178863105, 643694604, 2267690224, 2998078772, 1296064969, 671163424, 199301312, 147987053, 1378484500, 1834456645, 4308085, 13648315, 117492545, 3130130526, 1091602176, 1503679616, 1236403248, 734005057, 575948064, 993536555, 2622488, 886384641, 606094984, 1076302734, 1704990738, 719979324, 991494185, 91036265, 75563590, 1661889856, 512844812, 996827164, 465946789, 3146514442, 2987082093, 3633726907, 223609008, 1102746209, 3003396139, 3226112295, 3881002, 721430532, 290525184, 1282527556, 36649566, 1707648321, 3122513482, 3121168563, 70265793, 271465070, 1707492926, 50997834, 604515065, 405996811, 258015796, 570495034, 84423891, 826302886, 1430258812, 976289867, 712583904, 68168653, 1378522693, 1102850880, 3761185840, 385920256, 3149075225, 1557344577, 321737548, 874972208, 734005057, 554506860, 672675029, 671634040, 1691575870, 2521104577, 2545697579, 1085408302, 1294868697, 1390435654, 654350117, 1864376064, 2902504215, 633906432, 16777281, 16974119, 2986623280, 1912870966, 2535981348, 3540046363, 3998056554, 1764418367, 169354244, 424848928, 19285583, 3222802729, 2320310298, 1414365209, 992639338, 3932094748, 2334883953, 1462243406, 2622226720, 840628027, 1780745032, 1667413092, 604269355, 2321285410, 3932641100, 654704920, 3224716911, 3227735852, 17612830, 3928746496, 639513713, 3543143500, 3160519773, 1092362564, 593352747, 6498858, 2977431840, 537764110, 3661172832, 592898669, 1399259210, 2603240015, 537198851, 342568196, 3814403385, 268586595, 539138858, 4160757841, 169500676, 1786194509, 939694890, 3758361914, 828375328, 539547748, 654341716, 3644067112, 3378512448, 3511839744, 538789409, 2781390267, 168107201, 3004224256, 3542207055, 538144321, 3543144501, 3573556820, 3630289712, 105288496, 16977234, 3926165068, 340074500, 1751079015, 3227569734, 2533388804, 220869270, 1161888000, 1088913252, 2298880, 1084233280, 2693709837, 369221639, 608405244, 33612183, 434, 312894222, 1300240948, 1301821738, 2122164, 1564495516, 2497120, 1378418932, 455152362, 1238579976, 712572969, 442505832, 961766404, 1842362988, 51198625, 479749331, 634597379, 337663732, 1879122976, 1638814721, 416481937, 604048663, 1796831256, 433148641, 313141998, 1300237396, 1834418208, 1238919104, 1359616613, 3366304524, 85766144, 4308020, 1074398492, 2161881604, 942199322, 1615238211, 6987780, 1914333803, 1784610820, 122712678, 2619009283, 223537668, 3795130169, 1476420119, 578302576, 3462744323, 761088512, 3425370124, 944917074, 1778395232, 3724750163, 168006749, 939533152, 3676836392, 20383290, 776830988, 1783443755, 402819112, 3540313174, 706415104, 3357627748, 51220015, 555491912, 3724635725, 537885281, 1265247568, 3103804773, 3075708928, 1946536730, 828379944, 3607110918, 1627588173, 554904874, 1616956999, 5335811, 879810340, 17009251, 554896973, 2387443736, 289106503, 3239070818, 2452327694, 1515000939, 755275801, 3511869538, 2477830843, 184884270, 51425345, 272918944, 366326546, 1952820813, 2150946133, 1398801999, 3528649366, 1169363572, 1705921920, 886396243, 1612589861, 3366302482, 1952820813, 2150946133, 1398803754, 3935716608, 722204, 219480385, 272908467, 69685362, 1624131328, 1641097849, 1203767009, 38691616, 73599017, 1640773413, 3366256653, 335593877, 279750309, 1088425779, 1956730112, 2969567297, 3156410439, 2567048468, 31459108, 1132925187, 14784256, 111364, 1164261178, 1880563716, 139622698, 2036334926, 2468875370, 889487920, 1315600995, 1178861928, 671501594, 3039455780, 106956290, 3932377572, 2990652498, 1614920194, 1553531570, 190338513, 1191203425, 2686495419, 3003130732, 3543862571, 97035585, 3156965299, 189475153, 1611741706, 53291754, 387448948, 980957482, 75640869, 88277096, 728386585, 916074912, 68892881, 2516710, 1326783210, 1327876261, 1102865499, 3003398968, 3506486866, 3759046989, 3642220642, 1246115843, 472471958, 1170315196, 1327841458, 309618094, 1300236097, 554977600, 1398342790, 1194152780, 872481564, 693699346, 707854638, 1615005089, 57547297, 319433294, 1300235541, 720513241, 671154382, 1543986634, 775815288, 751385196, 22242775, 708744773, 3147367088, 4308015, 1404240961, 722086464, 85289760, 218189273, 2521121212, 609093122, 55238679, 643638018, 11551164, 1682834946, 55238679, 643654658, 11551164, 1651705346, 57608707, 208384530, 1952820813, 2147959073, 340344915, 1493468743, 760433716, 17002010, 537186617, 2372228866, 1961931451, 2567090241, 3159162959, 184749234, 70990033, 2511530, 3434219010, 58438144, 805619203, 472471810, 2303909893, 3157994758, 1627614746, 554751316, 3609884999, 3223491130, 1811950872, 220781432, 36819821, 3627610408, 289069625, 633906619, 2957098027, 1085410113, 415261254, 1176572727, 444093655, 712573806, 2585789954, 56341253, 3511849056, 172669304, 36709987, 924478506, 1040296475, 2123777459, 96541230, 834207779, 710240197, 3366256705, 272945587, 100735604, 42477779, 27942213, 3366306199, 3155372377, 3003400572, 1245827397, 1224801792, 542546509, 776831075, 1470936257, 2545709327, 1078049537, 1085441061, 2864361985, 1715877888, 889459745, 1179386124, 642160740, 189983341, 1469466043, 2847584256, 11670297, 443103852, 7865505, 415239543, 1360041541, 2685656498, 9324778, 623518748, 992806499, 1814436448, 290549208, 874017431, 2763176880, 12687292, 458050995, 71379018, 1633106586, 3769778620, 257376699, 3293819652, 1093235805, 167798790, 2701334866, 1788233153, 2512147791, 1214071226, 3294212868, 559425068, 3607311440, 303765563, 1778395145, 1381198500, 2990652481, 1085477646, 1292501115, 88222292, 1833501838, 1689804813, 451477544, 1114927132, 886642456, 53291754, 2521104563, 100735604, 24011168, 1842886897, 672355205, 3366256833, 2545694249, 1256197939, 1956739328, 3091315806, 1404244441, 387449562, 957374499, 439826829, 3837018556, 742437649, 3642169345, 2791120901, 422195459, 2367366499, 424245, 1470673408, 4308009, 1085477850, 571774533, 4308012, 1404240961, 709247296, 218302519, 68303641, 2521121212, 1681961739, 1481199943, 7130217, 1366824986, 972599808, 4308001, 1085477677, 719984408, 5137834, 1564854437, 4307991, 1085477337, 387449434, 564160148, 51460789, 721327685, 4308011, 1084234203, 3003393629, 220921882, 822283603, 2148374585, 2472542501, 706797206, 1169359910, 1561133176, 77666551, 1376406567, 70542762, 1593860532, 1880635795, 1610687786, 551458373, 242500896, 787360361, 75563255, 454558246, 1328176737, 270929473, 761932581, 3366257720, 1699365889, 1344676404, 1632212549, 306068076, 6620163, 1009129474, 41182528, 86192654, 1294321829, 327573102, 1300591783, 33, 235165535, 2116681766, 1531864384, 617820503, 1398276131, 258022068, 1661869610, 2628936, 1380582199, 448080160, 1910060083, 993526036, 1299074392, 82073130, 453640500, 4926073, 719324181, 1811891520, 427371232, 916086528, 1390440874, 1276275466, 1782601047, 1653820753, 2886005, 1566059129, 373627904, 0, 0, 69486803, 428493139, 3836151297, 416481937, 604459664, 27942213, 3366261354, 1664166176, 980957482, 2117064, 893387974, 1276396832, 74017561, 2013745808, 2521105447, 1385168934, 1928226602, 1275153600, 1664569964, 2304554, 819160077, 73468966, 793854977, 612303996, 1382637210, 1612003609, 1793744935, 70855609, 2492006, 53759386, 672812563, 1402142760, 77663270, 1431522633, 3360979, 2013811252, 1794639076, 1653745665, 606106263, 654336330, 1208033549, 443295752, 1379166944, 452986039, 684262189, 708910081, 83120640, 993536555, 2493140, 1159726177, 44446040, 20412417, 217529145, 1162201253, 69353030, 1663720449, 450509145, 1203782982, 1305686019, 340091686, 761279831, 2830270629, 71381095, 239140985, 711524393, 403788396, 76102225, 2014383981, 439420131, 606102170, 1705055001, 433545222, 1628065056, 111745776, 1297637415, 220266576, 67260454, 976317006, 1289300256, 532702871, 564813848, 723531212, 872500256, 1892763393, 274859319, 684209191, 311624339, 671226918, 404171040, 525952659, 2521105473, 697565231, 1893635653, 71387412, 1228932353, 22225921, 658264070, 636762734, 1300255960, 1623993088, 83951705, 73466484, 1596813656, 3836872609, 415257815, 1707633190, 1581121830, 1252025012, 1678404947, 16646223, 1663454502, 1563952353, 140250118, 18305816, 1585850112, 83952522, 1663111203, 1737753194, 452032526, 626222536, 438326488, 1623993088, 1162224643, 874729111, 1705646873, 82008118, 564547178, 1143239113, 671157546, 715199257, 693454784, 626532691, 654313121, 6227361, 51669805, 81946662, 580594410, 604063316, 1660945521, 957164129, 270730443, 450913940, 51460789, 721289256, 573458657, 471926728, 1587044696, 2121364, 1210321281, 43330158, 1300263037, 259280138, 18108206, 1330258946, 1076252316, 15814928, 689971136, 1598496298, 2521105441, 2056596078, 1300235463, 1183334729, 16646964, 1325401385, 687291141, 3366257697, 2015782548, 51980629, 2294802, 1394082612, 1343768021, 1431828658, 127998144, 886129665, 1186219480, 893977158, 1559308316, 439443495, 190593322, 1325425198, 834226112, 452988793, 1794334722, 1685207864, 41180973, 720568355, 254430520, 2521106337, 415249617, 1140934324, 1171797321, 38165745, 672930353, 1613171548, 959074048, 1647194553, 1203772160, 259615475, 1610822770, 993526388, 1596795635, 2297642, 1295554117, 71400522, 525815113, 2627592, 1574458369, 1316225838, 1229310117, 71381043, 403113365, 1574440104, 707855588, 993525816, 109124362, 592915006, 23487274, 1296630913, 203754371, 43206592, 774261080, 2318932, 1094715118, 1728055324, 979981189, 3366257697, 1344692552, 1793738688, 752379219, 690342053, 127998144, 148329106, 77019405, 1203772085, 1372808521, 3348504, 1741760513, 1021993642, 437780829, 1531863513, 672733977, 673647919, 1764501505, 903438344, 1383672441, 1612975969, 404777529, 977691968, 1664376141, 1398286337, 606105926, 1194131497, 67384042, 239169649, 373628071, 100741389, 723083267, 1964265254, 980307328, 1458184660, 1795177820, 708314258, 1397974222, 1325401407, 1391479241, 1612995628, 1422806830, 1301808262, 1292774009, 51977018, 452854913, 216675150, 1171468296, 1794003717, 1218909412, 1382044266, 4654278, 1275481716, 1691953440, 1221918761, 67322916, 1639215571, 805372468, 551107219, 1610688358, 1574202112, 1727294808, 2713322, 454712641, 270730552, 728390865, 52057431, 982975240, 711860251, 962355378, 350559380, 1275461930, 1644170817, 23485450, 1293944097, 6244574, 4861594, 1293968180, 570433879, 1707817222, 1700266730, 1458200915, 1708339206, 18108215, 1378957932, 30631255, 723058739, 293032180, 2145657472, 299066711, 1289304723, 438374432, 1263625683, 456020582, 1141396076, 1183984358, 1698694261, 451563296, 580015315, 2013340704, 293032180, 2145391174, 835190919, 1349652756, 373363033, 548574437, 311231635, 1353973794, 106699312, 689964710, 19549185, 632966551, 2014076746, 1610681817, 387449134, 1315593241, 977966725, 311231635, 1353973794, 106699312, 689964705, 51452778, 1574121483, 443310081, 616580951, 1104359436, 1598723717, 2147811328, 2158297088, 2147483648, 32773, 0, 32933, 12609254, 1325948373, 1677796819, 1700206873, 946144804, 2090078948, 1074018446, 298141863, 333729943, 301991110, 53942570, 1222066177, 613305716, 579994756, 979899973, 478696126, 1573664544, 398989280, 354763952, 356520403, 780685889, 277761281, 478561824, 1573664568, 48914775, 1833506373, 2628063885, 76763316, 7743135, 710955744, 1251420177, 1794128492, 26700120, 14247112, 1073957523, 557843561, 729049824, 2056918656, 293032512, 68244112, 2713006, 1301808258, 2017407818, 1660945889, 363209742, 1328176890, 1462379526, 26700096, 580087123, 1708444852, 311231635, 1353973878, 1196900819, 806117194, 51460909, 719987713, 1411386337, 220884634, 1565066196, 3904115114, 1177851461, 294932768, 618567237, 309207360, 1900438954, 1545349304, 1832914381, 460213632, 1155082814, 2521108884, 1361541445, 3366261610, 1606431380, 606540404, 1879118940, 847250689, 50995859, 604789961, 2830242214, 1832912057, 1573528589, 1387608684, 5702665, 1785473683, 77156997, 3567587543, 671159635, 1050557036, 64252664, 707499685, 328018250, 692726090, 682890885, 1354012293, 288620581, 733292825, 38404136, 448087258, 2763326552, 916079904, 105992848, 689966849, 371858090, 2763133381, 1648367991, 432603183, 1162236956, 452990983, 259156237, 6358396, 684720503, 441095749, 299040800, 1251686744, 75574830, 759171042, 715547406, 1300235883, 1586717697, 606809034, 3769766282, 1586707028, 373639346, 373672101, 324218519, 1733499690, 1203834917, 1901537293, 1378433644, 8064577, 53365061, 3366273489, 3299154745, 2567967246, 571362688, 2214925190, 1842556929, 2158301873, 466505088, 107155334, 2013381664, 292431153, 980156465, 2214924986, 1638813056, 2214925111, 2043883521, 556426039, 1405125637, 5464394, 1208034196, 1577437349, 7818905, 418478093, 708128593, 2521104467, 1922547890, 5787264, 694888729, 2521108187, 439229049, 14247250, 1462093989, 71379018, 1633106586, 3769766099, 30631255, 723073644, 29960389, 1219663429, 328011334, 18107658, 1462096037, 70326869, 4397063, 258554450, 719702181, 70326869, 2499915, 980313425, 2013870674, 719343260, 2521105457, 441778214, 1296457278, 43705522, 298516517, 980957977, 373639346, 82073236, 740588186, 387393545, 684299909, 1901651109, 685302949, 1238851223, 2521106179, 674124392, 671634041, 433269024, 403847927, 1390790821, 69355558, 1251626794, 604181696, 222378072, 232019283, 689984345, 1893180594, 69412952, 232019283, 689984345, 1893180594, 76424531, 1707612704, 114844889, 1767375206, 557852872, 873751978, 1543583402, 626549969, 1610815125, 1452817194, 51258712, 2688008, 1391933748, 1546060856, 1691969880, 48912106, 1632855044, 860249390, 444071977, 334781953, 281037265, 992370624, 1391012576, 86396174, 712573486, 1296445761, 479802718, 2905751, 1726380361, 14156202, 460212160, 452088554, 605821687, 982999043, 477243608, 673461459, 654320166, 1655317506, 1567907406, 617039168, 507127178, 1383634501, 3466060442, 247601234, 768689920, 2214923970, 409611729, 1191216133, 69481286, 1563302520, 14424586, 75566131, 1431776584, 1679445464, 1382093657, 1700218816, 626550516, 2013336625, 1705655008, 113723209, 827608833, 479730478, 1634609441, 321727424, 1566075466, 53291479, 45376312, 2521105442, 1210469018, 1328161795, 348129027, 674122395, 721445422, 834226112, 981211881, 14155813, 1465398308, 73627746, 1906985985, 371876876, 1344734242, 1231694392, 24582542, 1162201253, 69355558, 1786657105, 634597412, 159476454, 1705663499, 1556888106, 2521105441, 1617578651, 721445422, 834226112, 981211881, 14155813, 1465398308, 73627746, 1906985985, 371876876, 3501327395, 673606270, 961619411, 2964492165, 1318544810, 2602132122, 1705679641, 2342871706, 1706863385, 1318544828, 2870546641, 1141066387, 557912892, 1343113802, 1326055478, 507127178, 1383596308, 1228932833, 53761025, 606102327, 1763273450, 76046168, 903032862, 1397082277, 69341980, 467141459, 1663703342, 3351249954, 319895850, 3758428954, 623529534, 2101658, 451492051, 1612130513, 1005191956, 1230261568, 81354702, 1300235544, 1296449543, 2014917970, 3343384, 1727669050, 1564548249, 895353052, 436863187, 606340725, 720054553, 55786260, 1277441234, 1230438432, 580085075, 1728054561, 16020485, 2016629549, 719352471, 654342810, 400557333, 1781859556, 1705670681, 894632682, 1666328601, 894327829, 1394171940, 1624849163, 961123909, 320480554, 1312687257, 1921005866, 1328423121, 3552467, 654325393, 634597401, 1565665897, 1398276337, 1764502163, 1611158090, 3605529, 1386218785, 4457581, 441592544, 67654265, 712597505, 606084765, 2643793, 1411846957, 240012561, 1764384798, 1397082277, 69353030, 1663720449, 455491923, 39078227, 1691826750, 16646938, 1589066506, 81933620, 629825537, 754013057, 270755242, 1277429286, 19816661, 1452166954, 604665527, 723007589, 211948902, 557912490, 48642826, 1610749721, 426443905, 255269130, 1611006228, 1253128454, 1699283622, 1730829920, 107020494, 1546064088, 8069778, 1445619032, 2433786, 1223763969, 1429889829, 3366259074, 2036996832, 1270902990, 1708339218, 465570113, 1332099681, 475941720, 1677864334, 1832938144, 915777716, 159454258, 752287784, 847253249, 338451782, 667273381, 73471754, 708838657, 1246111040, 227892876, 1566072868, 438773883, 1647194553, 2521105505, 770992883, 734004429, 439025940, 1253124906, 82058560, 86790793, 17639767, 2525299809, 338436754, 980157034, 451566593, 22225921, 606815891, 806775128, 3837002851, 1871595040, 157428276, 1300265305, 7865505, 854202686, 2525299809, 338447686, 1581122282, 423493729, 68229913, 53109541, 3500478698, 2056463361, 43196741, 1930044138, 1677807660, 618086436, 781655497, 634597400, 1691246336, 99690697, 20214368, 84279396, 491869057, 478755392, 1171011361, 282591277, 1721180586, 1612974978, 722086496, 107020966, 1661350213, 3366258593, 415238865, 1400898659, 409224518, 634597379, 875065688, 3836872609, 415244710, 1223318529, 620177625, 925254099, 805775578, 1740709010, 965568448, 1663452364, 1238969088, 781666328, 1727669050, 1565065997, 447373313, 653533697, 290661114, 1663706113, 1159166745, 439433834, 24403526, 1708412673, 479540888, 1437883736, 559113234, 1394092801, 292168711, 2013659959, 957367616, 87825194, 1543582828, 1786259795, 51669736, 671489691, 673466576, 671154455, 2065242680, 26301312, 74994903, 1110048817, 676733585, 1390413089, 48642663, 1400970288, 80104468, 1431517804, 2622492, 723059841, 213928147, 395450666, 6567238, 654336666, 1705363621, 127997984, 168447264, 86376518, 886129665, 1153461466, 1193944072, 701577836, 82008628, 1300304686, 1162412454, 1178344384, 1162225408, 167861440, 1691436038, 1561134308, 439957146, 832570388, 1573652084, 1544907509, 1393164329, 207780902, 1785218374, 1545888893, 80085062, 1565730135, 980156457, 67322008, 684785705, 305421600, 288246659, 1821066457, 893789192, 452667680, 211878790, 1176881317, 69493062, 1140923246, 1327903040, 292625197, 684262529, 1192112760, 2698152, 722993770, 452032522, 1834449805, 719979746, 1762938638, 1664614441, 403204846, 1398294464, 774268092, 893789513, 4288838, 1574121478, 25585982, 18305939, 77097719, 1397957961, 16646176, 286741395, 9382794, 1191183649, 7444037, 69414359, 211898406, 1599628617, 51211045, 3366257710, 1550124673, 452617002, 605566809, 2521105452, 1758930688, 1183334729, 2112227, 338959693, 979960621, 709216421, 70804686, 1593846377, 15809129, 1203766529, 51669805, 2521125546, 3433374260, 3779658826, 1990876618, 1292501184, 518924640, 1431779977, 2696664, 1391340153, 456020577, 471931626, 402807845, 121708618, 1653684526, 802049413, 1342463624, 1074483954, 456020600, 17912586, 3345569, 337841921, 341597510, 589300897, 827536209, 759758899, 1664372037, 3500474405, 93874935, 1397957961, 16646570, 460212160, 452077856, 860249400, 59592728, 693240028, 689971136, 91577688, 711469095, 311633956, 1907646784, 298080264, 1397826562, 783573774, 507379786, 170206381, 75905624, 12587004, 426460485, 1915633984, 980969210, 1230201857, 1277896151, 689518693, 73811488, 847929351, 1154007218, 2426248, 1382768275, 1699282993, 403460745, 1203785554, 492240937, 1423402440, 1780899390, 51997358, 616318612, 1104359445, 714425664, 652894986, 604065450, 592525527, 55785844, 1581253749, 1372808659, 807147883, 1162179118, 1094734063, 689528833, 1277899091, 719733769, 988422958, 1382096020, 1296066446, 1664614469, 1892363818, 2294968, 1196577793, 538981108, 1785267337, 684299845, 2427907, 1613043735, 1400898866, 976118999, 2014653077, 1161851316, 76426246, 1453988582, 1292525577, 1342319914, 558787905, 271713288, 1784300761, 996803027, 1699825100, 711469057, 616565118, 723541461, 671898837, 695691737, 82072170, 2713002, 1208367704, 12611787, 774510488, 886384928, 978666834, 712572979, 90782442, 590220449, 203758920, 1380582010, 1222640761, 894632614, 1557232618, 604049197, 710944070, 2763131320, 1430668032, 181490505, 1203835498, 452032521, 684403310, 1300235285, 1385627918, 1842414346, 1600540448, 1907646784, 660174851, 1814430979, 3082428, 990718720, 92805879, 961086106, 1680283428, 430315136, 249116106, 749994121, 959649561, 6186321, 1140921391, 1900039498, 625541716, 1564500296, 1794009029, 1342447449, 76763316, 2234929, 50739488, 1270888746, 402727162, 975765536, 1264069458, 55780695, 54284306, 975855617, 643066489, 405996664, 1794593619, 625541374, 24014144, 928196330, 604711257, 2712362, 706769112, 30562022, 590225617, 377492084, 1881436579, 1210590848, 102960306, 373366227, 1727669591, 379587521, 1238963840, 327816977, 1141336529, 604373815, 709512500, 1795174039, 1726636800, 211878318, 833250080, 1251626790, 108341456, 75581075, 671291942, 623533080, 1726637325, 980157229, 1398282857, 1610687850, 723518721, 44977766, 573179105, 1101661070, 1176527654, 2013463584, 1566073857, 608519627, 682891040, 295770359, 1401254122, 455756806, 1661887270, 1327510872, 992372056, 82142345, 1382376224, 79246803, 1076104804, 1184311053, 983633967, 91571411, 2496519, 992023434, 1176572096, 477842248, 884283168, 292625197, 684261774, 1834483835, 404236564, 1294295808, 1706322317, 1680283428, 1317081163, 1564886590, 373646349, 672668632, 75566117, 93399328, 461797415, 248195968, 2034654976, 1155082977, 271275758, 1617233099, 980312490, 606536769, 858145107, 53291754, 75566869, 711524384, 1566073857, 606815691, 671174222, 1633155250, 248847097, 958022871, 1203793352, 983195836, 1184121299, 806119639, 604655402, 1593836546, 2082679754, 1612600129, 474821358, 1295515717, 1699374496, 107348564, 1663068789, 1162240211, 1679563713, 314197560, 12611787, 774504546, 86119814, 1581928225, 270757077, 1391361368, 2426406, 24197392, 2689195, 980167397, 3366258593, 416481629, 902238049, 611386154, 565400116, 868293750, 117526568, 67281958, 2521106337, 415238349, 439418926, 915957065, 2123080, 913589900, 956711946, 1974345177, 1610687520, 295118962, 126043175, 247549992, 67281958, 1892427800, 550578944, 204237015, 2802123786, 1963614990, 1832930521, 1793720361, 67321996, 1399479922, 2860057624, 1348797698, 689196825, 1598580041, 7344826, 2146543781, 68509333, 719352030, 2632618, 593045529, 1566069976, 1633149093, 1721198423, 671506433, 45558122, 1592402965, 1785618866, 712573025, 1705913194, 3768910855, 443441586, 712572969, 67400159, 451477545, 293032180, 4293198913, 808654857, 451936291, 1531864384, 585771710, 18291601, 1893597233, 1423466700, 721438022, 1842556929, 538988183, 1705054534, 1663111956, 1798112385, 252996397, 1901651122, 71381106, 67771161, 720568659, 604054720, 618086436, 759588695, 707420928, 1154688776, 447348777, 1638286900, 1879915057, 1613173414, 1706557480, 67318819, 1654285731, 921311114, 1328176129, 49553925, 3366261556, 1901541996, 59131448, 2711176, 1074207456, 92019653, 3366257729, 808654872, 885609374, 35720233, 1184629911, 1378957932, 28198456, 51993945, 565071232, 205594656, 186715924, 1798112481, 102829094, 513221975, 689964289, 5251008, 403839768, 996802614, 1892762663, 282272202, 1327498364, 685323607, 690032672, 149053719, 1783055689, 22238028, 872630931, 672485843, 1677796010, 1581477542, 1661350213, 3366260417, 1481055796, 571998240, 1893635653, 71381043, 403249904, 2318758, 647788561, 443090148, 439418967, 77672842, 1328621581, 976314369, 222977482, 51190068, 1929452683, 450894068, 1832981261, 1587160393, 3361240, 1680082082, 1894145361, 2014452234, 6423560, 701577836, 2688010, 1318537882, 1611144042, 1583351288, 1423138819, 223569367, 672209513, 2521105473, 808655456, 1380863642, 1648230694, 1577075747, 87511601, 980156846, 1178076385, 74390856, 1380605976, 1366895328, 83952404, 1798149701, 69418218, 580004608, 1720976148, 790627612, 439353445, 107035950, 1565025748, 3434218561, 812778499, 1699947521, 616587686, 647788561, 443090145, 74387361, 450509610, 51654433, 270730246, 1564868646, 1666670234, 1294607367, 2014734792, 1124142181, 1251501080, 959078439, 309616429, 2690977, 415262039, 1556171817, 1638286900, 1879915057, 3769762870, 1774732033, 246885226, 1329070676, 1834101369, 3343849, 988422958, 1382402213, 71381610, 450888707, 1699947521, 606094371, 87569609, 1400970273, 233010214, 1653302273, 253055596, 2015626339, 1827283602, 721443662, 571999329, 538993306, 1705057427, 1392063489, 208471331, 1949053267, 1714029719, 1378957932, 28198456, 82008458, 1328621592, 683679466, 736756614, 792199835, 719329304, 1699370558, 51466926, 1300255961, 872488992, 1901651122, 71381043, 403768417, 623271424, 1638278812, 1610682125, 439440256, 902907649, 271475511, 724055043, 137566769, 19815752, 1708412673, 476644380, 723059841, 35720494, 1459642790, 1588721842, 71381095, 456414214, 51980629, 17906027, 76632720, 980156505, 1399479302, 57041696, 1359616609, 478878432, 491869057, 270558039, 739595091, 654315078, 50744638, 15341837, 81994784, 153160813, 93803057, 980156846, 1178075502, 1177166849, 1162501578, 51190068, 1929452662, 1423520776, 1797260961, 23470400, 86049041, 963313962, 1628065080, 53768407, 604045546, 420283619, 606079489, 415261905, 1140939654, 1176571950, 711548931, 1210065454, 761276716, 673647452, 453005563, 983196222, 16398905, 36982144, 429130881, 221142344, 1715339344, 80085781, 1394634877, 78140241, 604521938, 471100759, 2121543, 506069033, 67709190, 2043883548, 439457349, 283797386, 710935575, 1360027684, 1909662756, 75242346, 1612973244, 1397827173, 1663059160, 1678115406, 1331275954, 70674888, 1124142775, 728387384, 39087442, 712573354, 1564854437, 1663482616, 2527395907, 84027622, 641597882, 1595933801, 694832906, 1163452594, 2504535, 1680082030, 1728078647, 711746976, 140582986, 751385196, 2521104472, 228348755, 654312545, 448221414, 507379787, 550836465, 671163822, 1294622163, 805383764, 1834101369, 2521104472, 403782029, 1679577939, 604060070, 1650811680, 426453273, 689978168, 50997838, 1301379075, 790191443, 858625605, 5773315, 757733920, 87582442, 1301885988, 1431778517, 1611799336, 903032833, 782027954, 248271497, 44457726, 377491064, 1922507804, 1397958400, 67200366, 861382836, 248932808, 1075341044, 1094721753, 564813825, 3737652, 761279302, 1562726404, 506745120, 1726882321, 721430172, 1275134318, 861350072, 1611030085, 3500475425, 1681982669, 258032832, 1531847168, 1646682533, 3500478066, 1399456646, 1610755802, 957350227, 1397502977, 240018186, 1610678854, 1577437349, 248932808, 1075341044, 1094783052, 67200065, 79893914, 451515973, 248271497, 51994256, 673450382, 1689804825, 1384145460, 4038201036, 1384710929, 453837954, 813386200, 1633157374, 12601809, 2830238792, 886518081, 273417217, 1681997650, 1459637714, 507379928, 959092293, 69297217, 551100842, 1610684043, 739010775, 604049300, 1785290782, 1397084325, 71381908, 1785276704, 532682769, 965568110, 1300260279, 1796839045, 242641352, 1075259761, 732585986, 186208928, 67200366, 861350072, 1612211956, 1095061504, 71381422, 3837006291, 2847386, 1294607384, 1691953188, 77728042, 760423426, 1825315283, 1663042936, 1708213436, 1531847168, 1387614826, 1327570072, 1184647104, 73931498, 793855937, 270534712, 1691838208, 85404244, 1832926008, 28594464, 452986027, 439418920, 67919514, 1294012714, 421906597, 69297217, 1663442688, 1318265254, 1154704958, 3226424, 52187881, 2312664, 1633195589, 71913772, 671506433, 3737640, 1380605953, 1312092338, 69297217, 1726884608, 85478726, 1075125017, 2831174, 1562447948, 79262168, 1678143710, 2521105441, 1682007479, 1796825124, 159454574, 834207870, 74984041, 8072766, 980156456, 67919514, 1294323877, 71381290, 421906597, 71381078, 1633106586, 1648231316, 1785276705, 479481152, 1251420188, 1397957633, 2086028752, 708706612, 2439781, 3366257729, 834297632, 1531864384, 482953153, 479481152, 1221546720, 1922714912, 133521031, 418478096, 976290772, 3903980609, 1220554076, 60058217, 1612973513, 1342320394, 1574202129, 2014202534, 987759992, 1726631321, 3031565377, 865364585, 689980876, 925988903, 71387328, 848569353, 684785705, 1664559724, 1704986231, 722100074, 2521105473, 808670551, 759718925, 684811685, 3366257729, 812778503, 1396265536, 86377226, 709774737, 2013941041, 722993945, 433521820, 979974764, 31023132, 465595068, 451477738, 2056463361, 795763156, 1277628627, 21650890, 36581817, 76042830, 1300235686, 1176505086, 1396773126, 1664614527, 1638278812, 1610814496, 1892763393, 476644354, 606476297, 451936291, 1909663187, 806968526, 3300000824, 1691246336, 92949809, 723031621, 71381106, 68119144, 1707283497, 403919609, 884738339, 270735968, 685270204, 188029720, 428475619, 606097047, 1705054245, 194124298, 6423559, 1396265536, 86377241, 433549534, 81856390, 2063598849, 7144546, 606887249, 456027473, 2013813970, 1430848642, 817918409, 719349478, 975193414, 654312705, 59400997, 3366257729, 811140385, 33180953, 982713500, 262210292, 570781940, 1785266276, 1909009016, 6424230, 36068746, 76235890, 451549223, 282158516, 1770848288, 1143148449, 417750762, 1277428898, 1885367628, 723936707, 338166812, 723059940, 1654285728, 86209574, 403847565, 1740638433, 655970922, 75910414, 712572963, 586828017, 980157664, 220267284, 1798114081, 4655881, 688290121, 22238028, 872489332, 1581259360, 1386892755, 807667425, 990522040, 12608929, 1313760033, 477521638, 975185365, 1612199127, 1446903861, 1585988544, 1700224193, 1277690899, 1392064394, 1663420581, 247552071, 506733080, 2846942, 2521105473, 812783640, 886527001, 1794310245, 402855971, 1663707825, 2014856853, 980157094, 1705055001, 1566329857, 1156868649, 720896041, 1826044570, 1612200938, 1613169717, 455934225, 977756184, 886527550, 53768407, 604373290, 1653676842, 45160499, 83952404, 1798121688, 1680282388, 1798114081, 612172821, 455934862, 1295515956, 1918895361, 15098176, 86376721, 963352133, 71381106, 67574538, 2693144, 1699369992, 1170943015, 288251208, 1715339345, 77666496, 1909008401, 690759681, 224812034, 1143934355, 456809681, 52055598, 834207836, 156772691, 81994784, 1318544803, 874911768, 1699370558, 17906247, 980157094, 1704985697, 7281992, 1380605976, 443119641, 1401314592, 68703065, 3031565377, 696935450, 1409352436, 570436808, 2830238761, 1586823231, 1104233502, 1397082277, 321727210, 387449460, 53946688, 263743961, 418457603, 85015111, 980194885, 71722794, 1253638176, 573458656, 160974281, 671316276, 1919273125, 71381043, 403249776, 6565329, 1162412081, 404503317, 2014007681, 477520564, 1377698470, 1661350236, 465585478, 654313985, 213938633, 719344857, 873277641, 1611935072, 83952404, 1798112483, 606105944, 1680081941, 455934506, 459956225, 49553920, 74075946, 1593842272, 693582145, 319625524, 1941980371, 2763129921, 808654876, 959054086, 1834437635, 337644056, 915875841, 616564753, 436864228, 1653745685, 1378771370, 604068633, 716702250, 421528833, 51669805, 228658368, 1638542048, 1585987595, 420086455, 728387384, 13858834, 1399474515, 1677876256, 1154492417, 538993306, 1706830617, 81855750, 1834437633, 422464062, 35875885, 418671941, 3366261195, 2448710, 1178469254, 1327498506, 1328176129, 36061505, 270885300, 1781072646, 2014892210, 70792522, 1545031952, 23470400, 1458203987, 1728072347, 709512992, 439635328, 68229642, 51204842, 2521106337, 415238151, 438850174, 17194858, 604067008, 1296456892, 1834444232, 438313518, 761338985, 67771161, 77096682, 1695365740, 2951681, 588540717, 77096147, 654317586, 1383745875, 1691418838, 1766418713, 52057780, 1596597255, 2014460301, 1740637909, 976296696, 75706409, 96547609, 452541036, 2630394, 1223763969, 885794855, 72034641, 12607827, 1631585585, 1394081827, 1623805272, 1611030529, 380914986, 1543704211, 558199479, 1397293124, 73466214, 976903488, 86048881, 3023594, 455746563, 203641645, 719333996, 980036334, 1300252887, 1834049575, 320096576, 114845013, 1611737289, 55902248, 68375289, 931816229, 3366257705, 1586823231, 155917094, 3300000833, 829509849, 980156517, 68709099, 420085801, 68229642, 81856390, 1700200486, 956956948, 1159726177, 751254062, 1740637464, 1794849642, 8195121, 1382809638, 181823832, 1708412103, 1161895030, 1670268930, 1119512320, 77809707, 1663459118, 1300256398, 1327570056, 1382628142, 1383596072, 67318828, 1452563484, 262210086, 1094739799, 1325401784, 1892832295, 69362723, 154678935, 721421720, 1775835377, 671287174, 1175342465, 297038171, 719702181, 70807762, 1409358290, 1423466695, 1162201253, 71381226, 1184628768, 1666657480, 671163424, 1154492455, 190409459, 1610811439, 68229642, 2513742, 1698718118, 1177841665, 203431577, 1720844326, 1383168006, 23752715, 693698794, 1184629716, 1747390740, 1326327127, 980156448, 787362249, 53103274, 1557752554, 2688028, 455760932, 79181466, 1159747316, 482822080, 158680275, 13828445, 1699947849, 51977153, 469829158, 1094721177, 1720844326, 1624451008, 73793898, 1879910615, 1740658214, 1329070115, 439097664, 1171990553, 894937266, 71381051, 239141108, 1731479553, 606094544, 2830238785, 811926556, 723069683, 51204842, 2688017, 436864225, 74387361, 450509610, 27680033, 273422347, 729833928, 1111360234, 691536454, 1288448001, 563565440, 1296456705, 59139415, 387449161, 826350625, 1383168021, 455934506, 423100469, 68636944, 2622488, 1398387890, 298516517, 1892901889, 559113559, 2114768, 673449144, 916079904, 1625162516, 2521109076, 1786325280, 213142848, 148969664, 774261203, 806965992, 874776011, 976314369, 6227494, 24197392, 720260480, 1171011365, 3366260437, 961030145, 620177609, 2493601, 7288151, 2830240577, 1758986699, 51661127, 1363017816, 230913770, 559113790, 75915289, 262215788, 787112352, 518658336, 1204702592, 491989209, 873745728, 86049433, 894894903, 693671493, 70804683, 738269651, 1663455025, 2013811320, 1783243777, 1287658705, 1140925809, 441058529, 147935852, 3226405, 3366260418, 420293401, 76039832, 689964145, 1360013601, 270944206, 1300240980, 1300235271, 1397826903, 3769762866, 442501217, 541733209, 1708339224, 1380610467, 1238521049, 961799346, 241917386, 1293946433, 17906027, 53761026, 1662589689, 689984712, 980157034, 1601465105, 2013683354, 1294321829, 388266644, 28594356, 387981521, 1191183378, 442502721, 16202352, 2688008, 1170943015, 388259154, 709307104, 1229313209, 70392416, 211878161, 963314566, 1834483826, 2056914149, 1683621871, 1796801318, 1094719506, 1380601632, 85539136, 100094634, 2622472, 894985255, 298148128, 156395789, 42419660, 690032675, 1685932492, 924855146, 1275209844, 107179105, 2056918661, 3836022475, 729810968, 1720920832, 751911955, 685178923, 759850023, 72438416, 55902243, 201403767, 961750044, 460213633, 481889229, 459951288, 1678529312, 439419174, 2015636817, 1153506439, 671482534, 1140919974, 1660971680, 67646808, 1689556773, 70392416, 211878161, 963313937, 685203458, 388849283, 1244948785, 2015827746, 2018003270, 1275142218, 1599616467, 807293761, 273419209, 1342261356, 1458201358, 1300245100, 428493139, 1728399538, 373672121, 311231635, 1353973878, 1726630227, 647651339, 990708218, 1663067014, 1177841993, 2453940, 1162203301, 242771690, 1301885964, 996827156, 1797328931, 78208668, 1275153440, 787362249, 59139415, 3769762871, 1358979686, 1695361792, 77680089, 1611602840, 2296577, 341919571, 564512933, 2445611460, 3097825732, 3096318404, 3970237507, 12586120, 1197040983, 689964583, 1586506336, 1708268887, 1613172947, 22898410, 1230075907, 445983342, 1300237186, 722086496, 239141203, 604054560, 1586809010, 71499968, 1708357634, 2083610266, 832598225, 1191255176, 903359018, 604528457, 708706405, 1382678599, 79757946, 1223318533, 1689261857, 471945841, 2013681318, 1565746186, 1954219841, 541726727, 1196922437, 71499968, 1909008386, 2083612564, 40508145, 2014192979, 1707612704, 1423466700, 721438022, 634597379, 874729111, 1705646873, 82008974, 624953289, 721955433, 1612211530, 1446903861, 67271715, 121708618, 506733066, 604469271, 1759987013, 3366257731, 2112121, 720261856, 86376890, 826303826, 1445593850, 626096136, 1383622394, 589964289, 619077841, 1678198408, 1124146315, 1170751831, 980157236, 1561144064, 551052294, 50742836, 1879983674, 1238571822, 213151063, 13828305, 1691812633, 976290698, 1677804576, 506745120, 86862406, 1276647703, 963518785, 299458587, 708520736, 580594424, 51976659, 689964138, 1293380377, 689964588, 1391105605, 319967754, 2013331591, 685179578, 1728056391, 1395458080, 769075201, 265611442, 127998144, 180486900, 1379998862, 1275134228, 1584028673, 415260104, 1096382465, 1646667050, 1545880902, 634597385, 1402171607, 606538578, 965567490, 721825088, 84486920, 711525601, 1076238904, 1342571289, 433529048, 672213193, 980157269, 1893180594, 127998144, 1557738839, 59647296, 1586776103, 311624339, 672676138, 2491399, 1396265536, 86376550, 118561065, 719395945, 67265571, 67249196, 1423466700, 721438022, 1842556929, 49566277, 3366257729, 1226066240, 84279594, 421538409, 3343378, 980031045, 472908998, 4216273, 671163668, 438318423, 2830239649, 415254163, 805375078, 1423466700, 673449409, 420571961, 719987713, 1157059082, 1276721735, 720897251, 1536042304, 210260554, 1610691616, 228659002, 1584922738, 67265875, 604054560, 199316672, 180558502, 1661350236, 465640587, 1586626592, 187191882, 1611006745, 1586704393, 1556866226, 71436643, 1815546979, 271648241, 1355388485, 127998144, 134755538, 492241158, 1600791555, 136905751, 1360003186, 67783968, 86377229, 1392050455, 462488804, 1382024194, 472261370, 626096136, 903359018, 604045946, 1223318533, 1689261857, 471945841, 2013681318, 1565746186, 1977156737, 538978520, 1680082753, 541726727, 1196884003, 403788617, 77346263, 1574121496, 1397957655, 722758249, 1610701856, 1586020530, 71381738, 1431389513, 2950154, 1954226112, 403388759, 557871571, 2763132632, 1457944578, 1881540193, 18112106, 1546064339, 4614101, 671160352, 1162619497, 12128631, 1358200800, 306590152, 9199434, 9906858, 1177177893, 3367573125, 1353973899, 316952711, 310672543, 9572548, 814616832, 293887130, 289411812, 680857924, 1150357828, 1285095604, 377835687, 350501496, 1727669038, 1383596129, 1795823520, 282416702, 36576599, 439449601, 555165913, 1793720360, 156589721, 689514785, 478767846, 1707283497, 694888729, 2517621, 1565079833, 418457639, 324544532, 1312686131, 1445339456, 86583513, 884217061, 482218612, 59137766, 1329463645, 1458201354, 605314062, 1253128521, 2548368418, 1901942324, 626524195, 78199104, 403526391, 955349016, 1230063552, 625370533, 3366261510, 586034632, 953221254, 1193696423, 127997984, 981019374, 1390413094, 28979520, 1699894826, 2709230, 1238973290, 18108185, 1598580180, 1277628107, 729820718, 571104723, 806965992, 894959878, 1663047704, 439440256, 976317006, 1289304165, 1399479297, 13722839, 75577382, 1663976992, 652889357, 689964577, 15815305, 2701138, 442523848, 1573599498, 82058573, 979959840, 439950048, 80104458, 1318537882, 1612211417, 1765803302, 19548261, 96561192, 1564877216, 1721506537, 1610683441, 653153966, 1300245715, 855639159, 468999356, 1638293152, 1691439736, 82008628, 1880314328, 671558030, 1325407565, 979960788, 1747190881, 389701216, 84083130, 1295460664, 2701139, 564798465, 228997886, 51190442, 1613172428, 1798925030, 1141388499, 1678664474, 721421753, 894327833, 921967416, 82070854, 1543575321, 443113478, 4269798, 1430847539, 404181066, 86583637, 723058929, 420480135, 1557341656, 903032838, 28979520, 1670667553, 471933350, 1327510260, 1929397914, 626458840, 2121351, 689965094, 1454854344, 894959648, 439950049, 471926978, 118838072, 2425958, 1454854344, 894960202, 1288190572, 1203838029, 1564877226, 1610699845, 573839872, 74803761, 1610811584, 854203169, 294736782, 1300243660, 827786466, 918177336, 2445921, 538974777, 450957347, 103154266, 1582980097, 617961204, 1825636397, 68761332, 1300304298, 51460362, 1610684010, 456226822, 586441472, 90578228, 1230214725, 71381093, 67249933, 1391067177, 68229642, 82075272, 1074483954, 456020600, 45558634, 1327516315, 709512992, 83951705, 75052488, 1095973484, 52173397, 2622467, 910573912, 2110094, 1300240945, 4995669, 1394096369, 673647905, 51669805, 77336481, 15341837, 38415160, 12607112, 1074483954, 456020577, 270863250, 436863074, 403249904, 6578740, 1439903768, 1699370558, 55931095, 604066848, 1586020530, 70807762, 1409358644, 1343829448, 3232895435, 2453715, 1677795732, 3474449, 436864129, 386749265, 605559744, 1652934821, 71379846, 1174406886, 44968202, 2705753, 438683813, 70079018, 2516628, 23485442, 1143682374, 2763129921, 808654876, 959053878, 564547178, 1143231703, 1677796384, 1893280480, 1666537022, 52323114, 1208157216, 295118962, 126043175, 70800215, 557843772, 455760924, 452991004, 455761254, 1176503553, 51669805, 75577432, 1184051224, 979904521, 1573528602, 1411847046, 1700200817, 1401562118, 1184051201, 14051657, 1763246120, 68375289, 874973111, 697175201, 438529069, 418671937, 282158516, 1770848288, 1654283530, 2704844, 924845250, 752178391, 712611397, 71379217, 977731616, 653142309, 1934951302, 1700211921, 3300000806, 1561133176, 77666551, 1376439474, 299439896, 12600979, 807148480, 647777458, 373672114, 69623053, 2622466, 606478068, 1095996997, 71988552, 1797914816, 1431776584, 1679323347, 19819840, 111215348, 571998442, 1184667269, 70334861, 1677800529, 121708618, 780692234, 604064800, 559113559, 2688023, 1385301148, 262537998, 1301358608, 734004433, 2043883521, 1277175640, 3836871728, 734004422, 36982144, 74262747, 2014855505, 723719690, 4172416048, 734004440, 915891201, 253323495, 2015650214, 1430848046, 1094733440, 1183334401, 338832234, 1545087315, 2521105456, 734004439, 1397957633, 254622305, 307518784, 1171269638, 44715278, 1142502611, 12599646, 2521105456, 734004440, 903051265, 1179013056, 1458851224, 2521105456, 734004440, 886526982, 1611025414, 1914769443, 1599628617, 15083070, 2521109139, 671163424, 113981850, 1566048446, 1390430430, 155669293, 76440760, 1611471593, 2647377, 1153368858, 623529534, 51731923, 855639313, 963248163, 586834346, 1610683441, 144791793, 1764502163, 2521105482, 1328176129, 47855888, 1612907640, 1184647104, 1641234433, 549473628, 36990977, 1288269139, 1733769836, 2521104384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846, 1583242846]; var live; _global.rom = rom; _global.version = version; _global.charset = charset; _global.pc = pc; _global.static_mem_ptr = static_mem_ptr; _global.high_mem_ptr = high_mem_ptr; _global.dict_table_ptr = dict_table_ptr; _global.object_table_ptr = object_table_ptr; _global.abbrev_table_ptr = abbrev_table_ptr; _global.word_seps = word_seps; _global.dict = dict; _global.stk = stk; _global.fp = fp; _global.retloc = retloc; var op; var operands; var count; var real_pc; var royal_puzzle = 0; var old_tf = genField.getTextFormat(); var listener = new Object(); listener.onKeyDown = function () { parse_cont(genIn); }; Key.addListener(listener); scrlDown.onRelease = function () { genField.scroll = genField.scroll - 15; }; scrlUp.onRelease = function () { genField.scroll = genField.scroll + 15; }; save_slot = 1; statMaxScore = "/" + max_score; stop(); init(); run();
Frame 40
gotoAndStop ("zork1");
Frame 61
gotoAndStop ("mainMenu");
Frame 82
stop();
Frame 102
gotoAndStop ("mainMenu");
Symbol 12 MovieClip [DataProvider] Frame 1
#initclip 39 Object.registerClass("DataProvider", mx.controls.listclasses.DataProvider); #endinitclip stop();
Symbol 13 MovieClip [DataSelector] Frame 1
#initclip 40 Object.registerClass("DataSelector", mx.controls.listclasses.DataSelector); #endinitclip stop();
Symbol 14 MovieClip [Defaults] Frame 1
#initclip 41 Object.registerClass("Defaults", mx.skins.halo.Defaults); #endinitclip
Symbol 15 MovieClip [UIObjectExtensions] Frame 1
#initclip 42 Object.registerClass("UIObjectExtensions", mx.core.ext.UIObjectExtensions); #endinitclip
Symbol 16 MovieClip [UIObject] Frame 1
#initclip 43 Object.registerClass("UIObject", mx.core.UIObject); #endinitclip stop();
Symbol 19 Button
on (keyPress "<Tab>") { this.tabHandler(); }
Symbol 20 MovieClip Frame 1
#initclip 44 Object.registerClass("FocusManager", mx.managers.FocusManager); if (_root.focusManager == undefined) { _root.createClassObject(mx.managers.FocusManager, "focusManager", mx.managers.DepthManager.highestDepth--); } #endinitclip
Symbol 21 MovieClip [FocusRect] Frame 1
#initclip 45 Object.registerClass("FocusRect", mx.skins.halo.FocusRect); #endinitclip
Symbol 22 MovieClip [FocusManager] Frame 1
#initclip 46 Object.registerClass("FocusManager", mx.managers.FocusManager); #endinitclip stop();
Symbol 23 MovieClip [UIComponentExtensions] Frame 1
#initclip 47 Object.registerClass("UIComponentExtensions", mx.core.ext.UIComponentExtensions); #endinitclip
Symbol 24 MovieClip [UIComponent] Frame 1
#initclip 48 Object.registerClass("UIComponent", mx.core.UIComponent); #endinitclip stop();
Symbol 25 MovieClip [SelectableRow] Frame 1
#initclip 49 Object.registerClass("SelectableRow", mx.controls.listclasses.SelectableRow); #endinitclip stop();
Symbol 27 MovieClip [BrdrShdw] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "shadowColor");
Symbol 29 MovieClip [BrdrFace] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "buttonColor");
Symbol 32 MovieClip [BrdrBlk] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "borderColor");
Symbol 34 MovieClip [BrdrHilght] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "highlightColor");
Symbol 37 MovieClip [SimpleButton] Frame 1
#initclip 50 Object.registerClass("SimpleButton", mx.controls.SimpleButton); #endinitclip stop();
Symbol 38 MovieClip [Border] Frame 1
#initclip 51 Object.registerClass("Border", mx.skins.Border); #endinitclip stop();
Symbol 39 MovieClip [RectBorder] Frame 1
#initclip 52 mx.skins.SkinElement.registerElement(mx.skins.RectBorder.symbolName, Object(mx.skins.RectBorder)); Object.registerClass("RectBorder", mx.skins.halo.RectBorder); #endinitclip stop();
Symbol 40 MovieClip [ButtonSkin] Frame 1
#initclip 53 Object.registerClass("ButtonSkin", mx.skins.halo.ButtonSkin); #endinitclip
Symbol 41 MovieClip [Button] Frame 1
#initclip 54 Object.registerClass("Button", mx.controls.Button); #endinitclip stop();
Instance of Symbol 37 MovieClip [SimpleButton] in Symbol 41 MovieClip [Button] Frame 2
//component parameters onClipEvent (initialize) { selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Symbol 42 MovieClip [CustomBorder] Frame 1
#initclip 55 Object.registerClass("CustomBorder", mx.skins.CustomBorder); mx.skins.SkinElement.registerElement("CustomBorder", mx.skins.CustomBorder); #endinitclip
Symbol 54 MovieClip [ScrollThemeColor1] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 56 MovieClip [ScrollThemeColor2] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 67 MovieClip [ThumbThemeColor1] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 69 MovieClip [ThumbThemeColor3] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 76 MovieClip [ThumbThemeColor2] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 97 MovieClip [BtnDownArrow] Frame 1
#initclip 56 Object.registerClass("BtnDownArrow", mx.controls.SimpleButton); #endinitclip
Symbol 98 MovieClip [BtnUpArrow] Frame 1
#initclip 57 Object.registerClass("BtnUpArrow", mx.controls.SimpleButton); #endinitclip
Symbol 100 MovieClip [HScrollBar] Frame 1
#initclip 58 Object.registerClass("HScrollBar", mx.controls.HScrollBar); #endinitclip stop();
Instance of Symbol 41 MovieClip [Button] in Symbol 100 MovieClip [HScrollBar] Frame 2
//component parameters onClipEvent (initialize) { icon = ""; label = "Button"; labelPlacement = "right"; selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Instance of Symbol 37 MovieClip [SimpleButton] in Symbol 100 MovieClip [HScrollBar] Frame 2
//component parameters onClipEvent (initialize) { selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Symbol 101 MovieClip [VScrollBar] Frame 1
#initclip 59 Object.registerClass("VScrollBar", mx.controls.VScrollBar); #endinitclip stop();
Instance of Symbol 41 MovieClip [Button] in Symbol 101 MovieClip [VScrollBar] Frame 2
//component parameters onClipEvent (initialize) { icon = ""; label = "Button"; labelPlacement = "right"; selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Instance of Symbol 37 MovieClip [SimpleButton] in Symbol 101 MovieClip [VScrollBar] Frame 2
//component parameters onClipEvent (initialize) { selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Symbol 102 MovieClip [View] Frame 1
#initclip 60 Object.registerClass("View", mx.core.View); #endinitclip stop();
Symbol 103 MovieClip [ScrollView] Frame 1
#initclip 61 Object.registerClass("ScrollView", mx.core.ScrollView); #endinitclip stop();
Instance of Symbol 100 MovieClip [HScrollBar] in Symbol 103 MovieClip [ScrollView] Frame 2
//component parameters onClipEvent (initialize) { enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Instance of Symbol 101 MovieClip [VScrollBar] in Symbol 103 MovieClip [ScrollView] Frame 2
//component parameters onClipEvent (initialize) { enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Symbol 104 MovieClip [ScrollSelectList] Frame 1
#initclip 62 Object.registerClass("ScrollSelectList", mx.controls.listclasses.ScrollSelectList); #endinitclip stop();
Symbol 105 MovieClip [List] Frame 1
#initclip 63 Object.registerClass("List", mx.controls.List); #endinitclip stop();
Symbol 1 MovieClip [__Packages.mx.core.UIObject] Frame 0
class mx.core.UIObject extends MovieClip { var _width, _height, _x, _y, _parent, _minHeight, _minWidth, _visible, dispatchEvent, _xscale, _yscale, methodTable, onEnterFrame, tfList, __width, __height, moveTo, lineTo, createTextField, attachMovie, buildDepthTable, findNextAvailableDepth, idNames, childrenCreated, _name, createAccessibilityImplementation, _endInit, validateNow, hasOwnProperty, initProperties, stylecache, className, ignoreClassStyleDeclaration, _tf, fontFamily, fontSize, color, marginLeft, marginRight, fontStyle, fontWeight, textAlign, textIndent, textDecoration, embedFonts, styleName, enabled; function UIObject () { super(); constructObject(); } function get width() { return(_width); } function get height() { return(_height); } function get left() { return(_x); } function get x() { return(_x); } function get top() { return(_y); } function get y() { return(_y); } function get right() { return(_parent.width - (_x + width)); } function get bottom() { return(_parent.height - (_y + height)); } function getMinHeight(Void) { return(_minHeight); } function setMinHeight(h) { _minHeight = h; } function get minHeight() { return(getMinHeight()); } function set minHeight(h) { setMinHeight(h); //return(minHeight); } function getMinWidth(Void) { return(_minWidth); } function setMinWidth(w) { _minWidth = w; } function get minWidth() { return(getMinWidth()); } function set minWidth(w) { setMinWidth(w); //return(minWidth); } function setVisible(x, noEvent) { if (x != _visible) { _visible = x; if (noEvent != true) { dispatchEvent({type:(x ? "reveal" : "hide")}); } } } function get visible() { return(_visible); } function set visible(x) { setVisible(x, false); //return(visible); } function get scaleX() { return(_xscale); } function set scaleX(x) { _xscale = x; //return(scaleX); } function get scaleY() { return(_yscale); } function set scaleY(y) { _yscale = y; //return(scaleY); } function doLater(obj, fn) { if (methodTable == undefined) { methodTable = new Array(); } methodTable.push({obj:obj, fn:fn}); onEnterFrame = doLaterDispatcher; } function doLaterDispatcher(Void) { delete onEnterFrame; if (invalidateFlag) { redraw(); } var _local3 = methodTable; methodTable = new Array(); if (_local3.length > 0) { var _local2; while (_local2 = _local3.shift() , _local2 != undefined) { _local2.obj[_local2.fn](); } } } function cancelAllDoLaters(Void) { delete onEnterFrame; methodTable = new Array(); } function invalidate(Void) { invalidateFlag = true; onEnterFrame = doLaterDispatcher; } function invalidateStyle(Void) { invalidate(); } function redraw(bAlways) { if (invalidateFlag || (bAlways)) { invalidateFlag = false; var _local2; for (_local2 in tfList) { tfList[_local2].draw(); } draw(); dispatchEvent({type:"draw"}); } } function draw(Void) { } function move(x, y, noEvent) { var _local3 = _x; var _local2 = _y; _x = x; _y = y; if (noEvent != true) { dispatchEvent({type:"move", oldX:_local3, oldY:_local2}); } } function setSize(w, h, noEvent) { var _local2 = __width; var _local3 = __height; __width = w; __height = h; size(); if (noEvent != true) { dispatchEvent({type:"resize", oldWidth:_local2, oldHeight:_local3}); } } function size(Void) { _width = __width; _height = __height; } function drawRect(x1, y1, x2, y2) { moveTo(x1, y1); lineTo(x2, y1); lineTo(x2, y2); lineTo(x1, y2); lineTo(x1, y1); } function createLabel(name, depth, text) { createTextField(name, depth, 0, 0, 0, 0); var _local2 = this[name]; _local2._color = textColorList; _local2._visible = false; _local2.__text = text; if (tfList == undefined) { tfList = new Object(); } tfList[name] = _local2; _local2.invalidateStyle(); invalidate(); _local2.styleName = this; return(_local2); } function createObject(linkageName, id, depth, initobj) { return(attachMovie(linkageName, id, depth, initobj)); } function createClassObject(className, id, depth, initobj) { var _local3 = className.symbolName == undefined; if (_local3) { Object.registerClass(className.symbolOwner.symbolName, className); } var _local4 = createObject(className.symbolOwner.symbolName, id, depth, initobj); if (_local3) { Object.registerClass(className.symbolOwner.symbolName, className.symbolOwner); } return(_local4); } function createEmptyObject(id, depth) { return(createClassObject(mx.core.UIObject, id, depth)); } function destroyObject(id) { var _local2 = this[id]; if (_local2.getDepth() < 0) { var _local4 = buildDepthTable(); var _local5 = findNextAvailableDepth(0, _local4, "up"); var _local3 = _local5; _local2.swapDepths(_local3); } _local2.removeMovieClip(); delete this[id]; } function getSkinIDName(tag) { return(idNames[tag]); } function setSkin(tag, linkageName, initObj) { if (_global.skinRegistry[linkageName] == undefined) { mx.skins.SkinElement.registerElement(linkageName, mx.skins.SkinElement); } return(createObject(linkageName, getSkinIDName(tag), tag, initObj)); } function createSkin(tag) { var _local2 = getSkinIDName(tag); createEmptyObject(_local2, tag); return(this[_local2]); } function createChildren(Void) { } function _createChildren(Void) { createChildren(); childrenCreated = true; } function constructObject(Void) { if (_name == undefined) { return(undefined); } init(); _createChildren(); createAccessibilityImplementation(); _endInit(); if (validateNow) { redraw(true); } else { invalidate(); } } function initFromClipParameters(Void) { var _local4 = false; var _local2; for (_local2 in clipParameters) { if (hasOwnProperty(_local2)) { _local4 = true; this["def_" + _local2] = this[_local2]; delete this[_local2]; } } if (_local4) { for (_local2 in clipParameters) { var _local3 = this["def_" + _local2]; if (_local3 != undefined) { this[_local2] = _local3; } } } } function init(Void) { __width = _width; __height = _height; if (initProperties == undefined) { initFromClipParameters(); } else { initProperties(); } if (_global.cascadingStyles == true) { stylecache = new Object(); } } function getClassStyleDeclaration(Void) { var _local4 = this; var _local3 = className; while (_local3 != undefined) { if (ignoreClassStyleDeclaration[_local3] == undefined) { if (_global.styles[_local3] != undefined) { return(_global.styles[_local3]); } } _local4 = _local4.__proto__; _local3 = _local4.className; } } function setColor(color) { } function __getTextFormat(tf, bAll) { var _local8 = stylecache.tf; if (_local8 != undefined) { var _local3; for (_local3 in mx.styles.StyleManager.TextFormatStyleProps) { if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[_local3])) { if (tf[_local3] == undefined) { tf[_local3] = _local8[_local3]; } } } return(false); } var _local6 = false; for (var _local3 in mx.styles.StyleManager.TextFormatStyleProps) { if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[_local3])) { if (tf[_local3] == undefined) { var _local5 = _tf[_local3]; if (_local5 != undefined) { tf[_local3] = _local5; } else if ((_local3 == "font") && (fontFamily != undefined)) { tf[_local3] = fontFamily; } else if ((_local3 == "size") && (fontSize != undefined)) { tf[_local3] = fontSize; } else if ((_local3 == "color") && (color != undefined)) { tf[_local3] = color; } else if ((_local3 == "leftMargin") && (marginLeft != undefined)) { tf[_local3] = marginLeft; } else if ((_local3 == "rightMargin") && (marginRight != undefined)) { tf[_local3] = marginRight; } else if ((_local3 == "italic") && (fontStyle != undefined)) { tf[_local3] = fontStyle == _local3; } else if ((_local3 == "bold") && (fontWeight != undefined)) { tf[_local3] = fontWeight == _local3; } else if ((_local3 == "align") && (textAlign != undefined)) { tf[_local3] = textAlign; } else if ((_local3 == "indent") && (textIndent != undefined)) { tf[_local3] = textIndent; } else if ((_local3 == "underline") && (textDecoration != undefined)) { tf[_local3] = textDecoration == _local3; } else if ((_local3 == "embedFonts") && (embedFonts != undefined)) { tf[_local3] = embedFonts; } else { _local6 = true; } } } } if (_local6) { var _local9 = styleName; if (_local9 != undefined) { if (typeof(_local9) != "string") { _local6 = _local9.__getTextFormat(tf, true, this); } else if (_global.styles[_local9] != undefined) { _local6 = _global.styles[_local9].__getTextFormat(tf, true, this); } } } if (_local6) { var _local10 = getClassStyleDeclaration(); if (_local10 != undefined) { _local6 = _local10.__getTextFormat(tf, true, this); } } if (_local6) { if (_global.cascadingStyles) { if (_parent != undefined) { _local6 = _parent.__getTextFormat(tf, false); } } } if (_local6) { _local6 = _global.style.__getTextFormat(tf, true, this); } return(_local6); } function _getTextFormat(Void) { var _local2 = stylecache.tf; if (_local2 != undefined) { return(_local2); } _local2 = new TextFormat(); __getTextFormat(_local2, true); stylecache.tf = _local2; if (enabled == false) { var _local3 = getStyle("disabledColor"); _local2.color = _local3; } return(_local2); } function getStyleName(Void) { var _local2 = styleName; if (_local2 != undefined) { if (typeof(_local2) != "string") { return(_local2.getStyleName()); } return(_local2); } if (_parent != undefined) { return(_parent.getStyleName()); } return(undefined); } function getStyle(styleProp) { var _local3; _global.getStyleCounter++; if (this[styleProp] != undefined) { return(this[styleProp]); } var _local6 = styleName; if (_local6 != undefined) { if (typeof(_local6) != "string") { _local3 = _local6.getStyle(styleProp); } else { var _local7 = _global.styles[_local6]; _local3 = _local7.getStyle(styleProp); } } if (_local3 != undefined) { return(_local3); } var _local7 = getClassStyleDeclaration(); if (_local7 != undefined) { _local3 = _local7[styleProp]; } if (_local3 != undefined) { return(_local3); } if (_global.cascadingStyles) { if (mx.styles.StyleManager.isInheritingStyle(styleProp) || (mx.styles.StyleManager.isColorStyle(styleProp))) { var _local5 = stylecache; if (_local5 != undefined) { if (_local5[styleProp] != undefined) { return(_local5[styleProp]); } } if (_parent != undefined) { _local3 = _parent.getStyle(styleProp); } else { _local3 = _global.style[styleProp]; } if (_local5 != undefined) { _local5[styleProp] = _local3; } return(_local3); } } if (_local3 == undefined) { _local3 = _global.style[styleProp]; } return(_local3); } static function mergeClipParameters(o, p) { for (var _local3 in p) { o[_local3] = p[_local3]; } return(true); } static var symbolName = "UIObject"; static var symbolOwner = mx.core.UIObject; static var version = "2.0.1.78"; static var textColorList = {color:1, disabledColor:1}; var invalidateFlag = false; var lineWidth = 1; var lineColor = 0; var tabEnabled = false; var clipParameters = {visible:1, minHeight:1, minWidth:1, maxHeight:1, maxWidth:1, preferredHeight:1, preferredWidth:1}; }
Symbol 2 MovieClip [__Packages.mx.core.UIComponent] Frame 0
class mx.core.UIComponent extends mx.core.UIObject { var __width, __height, invalidate, stylecache, removeEventListener, dispatchEvent, drawFocus, addEventListener, _xscale, _yscale, _focusrect, watch, enabled; function UIComponent () { super(); } function get width() { return(__width); } function get height() { return(__height); } function setVisible(x, noEvent) { super.setVisible(x, noEvent); } function enabledChanged(id, oldValue, newValue) { setEnabled(newValue); invalidate(); delete stylecache.tf; return(newValue); } function setEnabled(enabled) { invalidate(); } function getFocus() { var selFocus = Selection.getFocus(); return(((selFocus === null) ? null : (eval (selFocus)))); } function setFocus() { Selection.setFocus(this); } function getFocusManager() { var _local2 = this; while (_local2 != undefined) { if (_local2.focusManager != undefined) { return(_local2.focusManager); } _local2 = _local2._parent; } return(undefined); } function onKillFocus(newFocus) { removeEventListener("keyDown", this); removeEventListener("keyUp", this); dispatchEvent({type:"focusOut"}); drawFocus(false); } function onSetFocus(oldFocus) { addEventListener("keyDown", this); addEventListener("keyUp", this); dispatchEvent({type:"focusIn"}); if (getFocusManager().bDrawFocus != false) { drawFocus(true); } } function findFocusInChildren(o) { if (o.focusTextField != undefined) { return(o.focusTextField); } if (o.tabEnabled == true) { return(o); } return(undefined); } function findFocusFromObject(o) { if (o.tabEnabled != true) { if (o._parent == undefined) { return(undefined); } if (o._parent.tabEnabled == true) { o = o._parent; } else if (o._parent.tabChildren) { o = findFocusInChildren(o._parent); } else { o = findFocusFromObject(o._parent); } } return(o); } function pressFocus() { var _local3 = findFocusFromObject(this); var _local2 = getFocus(); if (_local3 != _local2) { _local2.drawFocus(false); if (getFocusManager().bDrawFocus != false) { _local3.drawFocus(true); } } } function releaseFocus() { var _local2 = findFocusFromObject(this); if (_local2 != getFocus()) { _local2.setFocus(); } } function isParent(o) { while (o != undefined) { if (o == this) { return(true); } o = o._parent; } return(false); } function size() { } function init() { super.init(); _xscale = 100; _yscale = 100; _focusrect = _global.useFocusRect == false; watch("enabled", enabledChanged); if (enabled == false) { setEnabled(false); } } function dispatchValueChangedEvent(value) { dispatchEvent({type:"valueChanged", value:value}); } static var symbolName = "UIComponent"; static var symbolOwner = mx.core.UIComponent; static var version = "2.0.1.78"; static var kStretch = 5000; var focusEnabled = true; var tabEnabled = true; var origBorderStyles = {themeColor:16711680}; var clipParameters = {}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.core.UIComponent.prototype.clipParameters, mx.core.UIObject.prototype.clipParameters); }
Symbol 3 MovieClip [__Packages.mx.core.View] Frame 0
class mx.core.View extends mx.core.UIComponent { var tabChildren, tabEnabled, boundingBox_mc, border_mc, __get__width, __get__height, __tabIndex, depth, createObject, createClassObject, loadExternal, destroyObject, createClassChildAtDepth, doLater; function View () { super(); } function init() { super.init(); tabChildren = true; tabEnabled = false; boundingBox_mc._visible = false; boundingBox_mc._width = (boundingBox_mc._height = 0); } function size() { border_mc.move(0, 0); border_mc.setSize(__get__width(), __get__height()); doLayout(); } function draw() { size(); } function get numChildren() { var _local3 = childNameBase; var _local2 = 0; while (true) { if (this[_local3 + _local2] == undefined) { return(_local2); } _local2++; } } function get tabIndex() { return((tabEnabled ? (__tabIndex) : undefined)); } function set tabIndex(n) { __tabIndex = n; //return(tabIndex); } function addLayoutObject(object) { } function createChild(className, instanceName, initProps) { if (depth == undefined) { depth = 1; } var _local2; if (typeof(className) == "string") { _local2 = createObject(className, instanceName, depth++, initProps); } else { _local2 = createClassObject(className, instanceName, depth++, initProps); } if (_local2 == undefined) { _local2 = loadExternal(className, _loadExternalClass, instanceName, depth++, initProps); } else { this[childNameBase + numChildren] = _local2; _local2._complete = true; childLoaded(_local2); } addLayoutObject(_local2); return(_local2); } function getChildAt(childIndex) { return(this[childNameBase + childIndex]); } function destroyChildAt(childIndex) { if (!((childIndex >= 0) && (childIndex < numChildren))) { return(undefined); } var _local4 = childNameBase + childIndex; var _local6 = numChildren; var _local3; for (_local3 in this) { if (_local3 == _local4) { _local4 = ""; destroyObject(_local3); break; } } var _local2 = Number(childIndex); while (_local2 < (_local6 - 1)) { this[childNameBase + _local2] = this[childNameBase + (_local2 + 1)]; _local2++; } delete this[childNameBase + (_local6 - 1)]; depth--; } function initLayout() { if (!hasBeenLayedOut) { doLayout(); } } function doLayout() { hasBeenLayedOut = true; } function createChildren() { if (border_mc == undefined) { border_mc = createClassChildAtDepth(_global.styles.rectBorderClass, mx.managers.DepthManager.kBottom, {styleName:this}); } doLater(this, "initLayout"); } function convertToUIObject(obj) { } function childLoaded(obj) { convertToUIObject(obj); } static function extension() { mx.core.ExternalContent.enableExternalContent(); } static var symbolName = "View"; static var symbolOwner = mx.core.View; static var version = "2.0.1.78"; var className = "View"; static var childNameBase = "_child"; var hasBeenLayedOut = false; var _loadExternalClass = "UIComponent"; }
Symbol 4 MovieClip [__Packages.mx.core.ScrollView] Frame 0
class mx.core.ScrollView extends mx.core.View { var __width, hScroller, vScroller, __maxHPosition, propsInited, scrollAreaChanged, specialHScrollCase, createObject, viewableColumns, __height, oldRndUp, viewableRows, __viewMetrics, owner, enabled, border_mc, __get__width, __get__height, invLayout, mask_mc, _parent, dispatchEvent; function ScrollView () { super(); } function getHScrollPolicy(Void) { return(__hScrollPolicy); } function setHScrollPolicy(policy) { __hScrollPolicy = policy.toLowerCase(); if (__width == undefined) { return(undefined); } setScrollProperties(numberOfCols, columnWidth, rowC, rowH, heightPadding, widthPadding); } function get hScrollPolicy() { return(getHScrollPolicy()); } function set hScrollPolicy(policy) { setHScrollPolicy(policy); //return(hScrollPolicy); } function getVScrollPolicy(Void) { return(__vScrollPolicy); } function setVScrollPolicy(policy) { __vScrollPolicy = policy.toLowerCase(); if (__width == undefined) { return(undefined); } setScrollProperties(numberOfCols, columnWidth, rowC, rowH, heightPadding, widthPadding); } function get vScrollPolicy() { return(getVScrollPolicy()); } function set vScrollPolicy(policy) { setVScrollPolicy(policy); //return(vScrollPolicy); } function get hPosition() { return(getHPosition()); } function set hPosition(pos) { setHPosition(pos); //return(hPosition); } function getHPosition(Void) { return(__hPosition); } function setHPosition(pos) { hScroller.__set__scrollPosition(pos); __hPosition = pos; } function get vPosition() { return(getVPosition()); } function set vPosition(pos) { setVPosition(pos); //return(vPosition); } function getVPosition(Void) { return(__vPosition); } function setVPosition(pos) { vScroller.__set__scrollPosition(pos); __vPosition = pos; } function get maxVPosition() { var _local2 = vScroller.maxPos; return(((_local2 == undefined) ? 0 : (_local2))); } function get maxHPosition() { return(getMaxHPosition()); } function set maxHPosition(pos) { setMaxHPosition(pos); //return(maxHPosition); } function getMaxHPosition(Void) { if (__maxHPosition != undefined) { return(__maxHPosition); } var _local2 = hScroller.maxPos; return(((_local2 == undefined) ? 0 : (_local2))); } function setMaxHPosition(pos) { __maxHPosition = pos; } function setScrollProperties(colCount, colWidth, rwCount, rwHeight, hPadding, wPadding) { var _local3 = getViewMetrics(); if (hPadding == undefined) { hPadding = 0; } if (wPadding == undefined) { wPadding = 0; } propsInited = true; delete scrollAreaChanged; heightPadding = hPadding; widthPadding = wPadding; if (colWidth == 0) { colWidth = 1; } if (rwHeight == 0) { rwHeight = 1; } var _local5 = Math.ceil((((__width - _local3.left) - _local3.right) - widthPadding) / colWidth); if ((__hScrollPolicy == "on") || ((_local5 < colCount) && (__hScrollPolicy == "auto"))) { if ((hScroller == undefined) || (specialHScrollCase)) { delete specialHScrollCase; hScroller = createObject("HScrollBar", "hSB", 1001); hScroller.__set__lineScrollSize(20); hScroller.scrollHandler = scrollProxy; hScroller.__set__scrollPosition(__hPosition); scrollAreaChanged = true; } if ((((numberOfCols != colCount) || (columnWidth != colWidth)) || (viewableColumns != _local5)) || (scrollAreaChanged)) { hScroller.setScrollProperties(_local5, 0, colCount - _local5); viewableColumns = _local5; numberOfCols = colCount; columnWidth = colWidth; } } else if (((__hScrollPolicy == "auto") || (__hScrollPolicy == "off")) && (hScroller != undefined)) { hScroller.removeMovieClip(); delete hScroller; scrollAreaChanged = true; } if (heightPadding == undefined) { heightPadding = 0; } var _local4 = Math.ceil((((__height - _local3.top) - _local3.bottom) - heightPadding) / rwHeight); var _local8 = (((__height - _local3.top) - _local3.bottom) % rwHeight) != 0; if ((__vScrollPolicy == "on") || ((_local4 < (rwCount + _local8)) && (__vScrollPolicy == "auto"))) { if (vScroller == undefined) { vScroller = createObject("VScrollBar", "vSB", 1002); vScroller.scrollHandler = scrollProxy; vScroller.__set__scrollPosition(__vPosition); scrollAreaChanged = true; rowH = 0; } if ((((rowC != rwCount) || (rowH != rwHeight)) || ((viewableRows + _local8) != (_local4 + oldRndUp))) || (scrollAreaChanged)) { vScroller.setScrollProperties(_local4, 0, (rwCount - _local4) + _local8); viewableRows = _local4; rowC = rwCount; rowH = rwHeight; oldRndUp = _local8; } } else if (((__vScrollPolicy == "auto") || (__vScrollPolicy == "off")) && (vScroller != undefined)) { vScroller.removeMovieClip(); delete vScroller; scrollAreaChanged = true; } numberOfCols = colCount; columnWidth = colWidth; if (scrollAreaChanged) { doLayout(); var _local2 = __viewMetrics; var _local12 = ((owner != undefined) ? (owner) : this); _local12.layoutContent(_local2.left, _local2.top, ((columnWidth * numberOfCols) - _local2.left) - _local2.right, rowC * rowH, (__width - _local2.left) - _local2.right, (__height - _local2.top) - _local2.bottom); } if (!enabled) { setEnabled(false); } } function getViewMetrics(Void) { var _local2 = __viewMetrics; var _local3 = border_mc.__get__borderMetrics(); _local2.left = _local3.left; _local2.right = _local3.right; if (vScroller != undefined) { _local2.right = _local2.right + vScroller.minWidth; } _local2.top = _local3.top; if ((hScroller == undefined) && ((__hScrollPolicy == "on") || (__hScrollPolicy == true))) { hScroller = createObject("FHScrollBar", "hSB", 1001); specialHScrollCase = true; } _local2.bottom = _local3.bottom; if (hScroller != undefined) { _local2.bottom = _local2.bottom + hScroller.minHeight; } return(_local2); } function doLayout(Void) { var _local10 = __get__width(); var _local8 = __get__height(); delete invLayout; var _local3 = (__viewMetrics = getViewMetrics()); var _local2 = _local3.left; var _local9 = _local3.right; var _local5 = _local3.top; var _local11 = _local3.bottom; var _local7 = hScroller; var _local6 = vScroller; _local7.setSize((_local10 - _local2) - _local9, _local7.minHeight + 0); _local7.move(_local2, _local8 - _local11); _local6.setSize(_local6.minWidth + 0, (_local8 - _local5) - _local11); _local6.move(_local10 - _local9, _local5); var _local4 = mask_mc; _local4._width = (_local10 - _local2) - _local9; _local4._height = (_local8 - _local5) - _local11; _local4._x = _local2; _local4._y = _local5; } function createChild(id, name, props) { var _local2 = super.createChild(id, name, props); return(_local2); } function init(Void) { super.init(); __viewMetrics = new Object(); if (_global.__SVMouseWheelManager == undefined) { var _local4 = (_global.__SVMouseWheelManager = new Object()); _local4.onMouseWheel = __onMouseWheel; Mouse.addListener(_local4); } } function __onMouseWheel(delta, scrollTarget) { var _local4 = scrollTarget; var _local1; while (_local4 != undefined) { if (_local4 instanceof mx.core.ScrollView) { _local1 = _local4; } _local4 = _local4._parent; } if (_local1 != undefined) { _local4 = ((delta <= 0) ? 1 : -1); var _local2 = _local1.vScroller.lineScrollSize; if (_local2 == undefined) { _local2 = 0; } _local2 = Math.max(Math.abs(delta), _local2); var _local3 = _local1.vPosition + (_local2 * _local4); _local1.vPosition = Math.max(0, Math.min(_local3, _local1.maxVPosition)); _local1.dispatchEvent({type:"scroll", direction:"vertical", position:_local1.vPosition}); } } function createChildren(Void) { super.createChildren(); if (mask_mc == undefined) { mask_mc = createObject("BoundingBox", "mask_mc", MASK_DEPTH); } mask_mc._visible = false; } function invalidate(Void) { super.invalidate(); } function draw(Void) { size(); } function size(Void) { super.size(); } function scrollProxy(docObj) { _parent.onScroll(docObj); } function onScroll(docObj) { var _local3 = docObj.target; var _local2 = _local3.scrollPosition; if (_local3 == vScroller) { var _local4 = "vertical"; var _local5 = "__vPosition"; } else { var _local4 = "horizontal"; var _local5 = "__hPosition"; } dispatchEvent({type:"scroll", direction:_local4, position:_local2}); this[_local5] = _local2; } function setEnabled(v) { vScroller.enabled = (hScroller.enabled = v); } function childLoaded(obj) { super.childLoaded(obj); obj.setMask(mask_mc); } static var symbolName = "ScrollView"; static var symbolOwner = mx.core.ScrollView; static var version = "2.0.1.78"; var className = "ScrollView"; var __vScrollPolicy = "auto"; var __hScrollPolicy = "off"; var __vPosition = 0; var __hPosition = 0; var numberOfCols = 0; var rowC = 0; var columnWidth = 1; var rowH = 0; var heightPadding = 0; var widthPadding = 0; var MASK_DEPTH = 10000; }
Symbol 5 MovieClip [__Packages.mx.controls.listclasses.DataSelector] Frame 0
class mx.controls.listclasses.DataSelector extends Object { var __vPosition, setVPosition, __dataProvider, enabled, lastSelID, lastSelected, selected, invUpdateControl, invalidate, multipleSelection, updateControl, __rowCount, rows; function DataSelector () { super(); } static function Initialize(obj) { var _local3 = mixinProps; var _local4 = _local3.length; obj = obj.prototype; var _local1 = 0; while (_local1 < _local4) { obj[_local3[_local1]] = mixins[_local3[_local1]]; _local1++; } mixins.createProp(obj, "dataProvider", true); mixins.createProp(obj, "length", false); mixins.createProp(obj, "value", false); mixins.createProp(obj, "selectedIndex", true); mixins.createProp(obj, "selectedIndices", true); mixins.createProp(obj, "selectedItems", false); mixins.createProp(obj, "selectedItem", true); return(true); } function createProp(obj, propName, setter) { var p = (propName.charAt(0).toUpperCase() + propName.substr(1)); var _local2 = null; var _local4 = function (Void) { return(this["get" + p]()); }; if (setter) { _local2 = function (val) { this["set" + p](val); }; } obj.addProperty(propName, _local4, _local2); } function setDataProvider(dP) { if (__vPosition != 0) { setVPosition(0); } clearSelected(); __dataProvider.removeEventListener(this); __dataProvider = dP; dP.addEventListener("modelChanged", this); dP.addView(this); modelChanged({eventName:"updateAll"}); } function getDataProvider(Void) { return(__dataProvider); } function addItemAt(index, label, data) { if ((index < 0) || (!enabled)) { return(undefined); } var _local2 = __dataProvider; if (_local2 == undefined) { _local2 = (__dataProvider = new Array()); _local2.addEventListener("modelChanged", this); index = 0; } if ((typeof(label) == "object") || (typeof(_local2.getItemAt(0)) == "string")) { _local2.addItemAt(index, label); } else { _local2.addItemAt(index, {label:label, data:data}); } } function addItem(label, data) { addItemAt(__dataProvider.length, label, data); } function removeItemAt(index) { return(__dataProvider.removeItemAt(index)); } function removeAll(Void) { __dataProvider.removeAll(); } function replaceItemAt(index, newLabel, newData) { if (typeof(newLabel) == "object") { __dataProvider.replaceItemAt(index, newLabel); } else { __dataProvider.replaceItemAt(index, {label:newLabel, data:newData}); } } function sortItemsBy(fieldName, order) { lastSelID = __dataProvider.getItemID(lastSelected); __dataProvider.sortItemsBy(fieldName, order); } function sortItems(compareFunc, order) { lastSelID = __dataProvider.getItemID(lastSelected); __dataProvider.sortItems(compareFunc, order); } function getLength(Void) { return(__dataProvider.length); } function getItemAt(index) { return(__dataProvider.getItemAt(index)); } function modelChanged(eventObj) { var _local3 = eventObj.firstItem; var _local6 = eventObj.lastItem; var _local7 = eventObj.eventName; if (_local7 == undefined) { _local7 = eventObj.event; _local3 = eventObj.firstRow; _local6 = eventObj.lastRow; if (_local7 == "addRows") { _local7 = (eventObj.eventName = "addItems"); } else if (_local7 == "deleteRows") { _local7 = (eventObj.eventName = "removeItems"); } else if (_local7 == "updateRows") { _local7 = (eventObj.eventName = "updateItems"); } } if (_local7 == "addItems") { for (var _local2 in selected) { var _local5 = selected[_local2]; if ((_local5 != undefined) && (_local5 >= _local3)) { selected[_local2] = selected[_local2] + ((_local6 - _local3) + 1); } } } else if (_local7 == "removeItems") { if (__dataProvider.length == 0) { delete selected; } else { var _local9 = eventObj.removedIDs; var _local10 = _local9.length; var _local2 = 0; while (_local2 < _local10) { var _local4 = _local9[_local2]; if (selected[_local4] != undefined) { delete selected[_local4]; } _local2++; } for (_local2 in selected) { if (selected[_local2] >= _local3) { selected[_local2] = selected[_local2] - ((_local6 - _local3) + 1); } } } } else if (_local7 == "sort") { if (typeof(__dataProvider.getItemAt(0)) != "object") { delete selected; } else { var _local10 = __dataProvider.length; var _local2 = 0; while (_local2 < _local10) { if (isSelected(_local2)) { var _local4 = __dataProvider.getItemID(_local2); if (_local4 == lastSelID) { lastSelected = _local2; } selected[_local4] = _local2; } _local2++; } } } else if (_local7 == "filterModel") { setVPosition(0); } invUpdateControl = true; invalidate(); } function getValue(Void) { var _local2 = getSelectedItem(); if (typeof(_local2) != "object") { return(_local2); } return(((_local2.data == undefined) ? (_local2.label) : (_local2.data))); } function getSelectedIndex(Void) { for (var _local3 in selected) { var _local2 = selected[_local3]; if (_local2 != undefined) { return(_local2); } } } function setSelectedIndex(index) { if (((index >= 0) && (index < __dataProvider.length)) && (enabled)) { delete selected; selectItem(index, true); lastSelected = index; invUpdateControl = true; invalidate(); } else if (index == undefined) { clearSelected(); } } function getSelectedIndices(Void) { var _local2 = new Array(); for (var _local3 in selected) { _local2.push(selected[_local3]); } _local2.reverse(); return(((_local2.length > 0) ? (_local2) : undefined)); } function setSelectedIndices(indexArray) { if (multipleSelection != true) { return(undefined); } delete selected; var _local3 = 0; while (_local3 < indexArray.length) { var _local2 = indexArray[_local3]; if ((_local2 >= 0) && (_local2 < __dataProvider.length)) { selectItem(_local2, true); } _local3++; } invUpdateControl = true; updateControl(); } function getSelectedItems(Void) { var _local3 = getSelectedIndices(); var _local4 = new Array(); var _local2 = 0; while (_local2 < _local3.length) { _local4.push(getItemAt(_local3[_local2])); _local2++; } return(((_local4.length > 0) ? (_local4) : undefined)); } function getSelectedItem(Void) { return(__dataProvider.getItemAt(getSelectedIndex())); } function selectItem(index, selectedFlag) { if (selected == undefined) { selected = new Object(); } var _local2 = __dataProvider.getItemID(index); if (_local2 == undefined) { return(undefined); } if (selectedFlag && (!isSelected(index))) { selected[_local2] = index; } else if (!selectedFlag) { delete selected[_local2]; } } function isSelected(index) { var _local2 = __dataProvider.getItemID(index); if (_local2 == undefined) { return(false); } return(selected[_local2] != undefined); } function clearSelected(transition) { var _local3 = 0; for (var _local4 in selected) { var _local2 = selected[_local4]; if (((_local2 != undefined) && (__vPosition <= _local2)) && (_local2 < (__vPosition + __rowCount))) { rows[_local2 - __vPosition].drawRow(rows[_local2 - __vPosition].item, "normal", transition && ((_local3 % 3) == 0)); } _local3++; } delete selected; } static var mixins = new mx.controls.listclasses.DataSelector(); static var mixinProps = ["setDataProvider", "getDataProvider", "addItem", "addItemAt", "removeAll", "removeItemAt", "replaceItemAt", "sortItemsBy", "sortItems", "getLength", "getItemAt", "modelChanged", "calcPreferredWidthFromData", "calcPreferredHeightFromData", "getValue", "getSelectedIndex", "getSelectedItem", "getSelectedIndices", "getSelectedItems", "selectItem", "isSelected", "clearSelected", "setSelectedIndex", "setSelectedIndices"]; }
Symbol 6 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0
class mx.events.EventDispatcher { function EventDispatcher () { } static function _removeEventListener(queue, event, handler) { if (queue != undefined) { var _local4 = queue.length; var _local1; _local1 = 0; while (_local1 < _local4) { var _local2 = queue[_local1]; if (_local2 == handler) { queue.splice(_local1, 1); return(undefined); } _local1++; } } } static function initialize(object) { if (_fEventDispatcher == undefined) { _fEventDispatcher = new mx.events.EventDispatcher(); } object.addEventListener = _fEventDispatcher.addEventListener; object.removeEventListener = _fEventDispatcher.removeEventListener; object.dispatchEvent = _fEventDispatcher.dispatchEvent; object.dispatchQueue = _fEventDispatcher.dispatchQueue; } function dispatchQueue(queueObj, eventObj) { var _local7 = "__q_" + eventObj.type; var _local4 = queueObj[_local7]; if (_local4 != undefined) { var _local5; for (_local5 in _local4) { var _local1 = _local4[_local5]; var _local3 = typeof(_local1); if ((_local3 == "object") || (_local3 == "movieclip")) { if (_local1.handleEvent != undefined) { _local1.handleEvent(eventObj); } if (_local1[eventObj.type] != undefined) { if (exceptions[eventObj.type] == undefined) { _local1[eventObj.type](eventObj); } } } else { _local1.apply(queueObj, [eventObj]); } } } } function dispatchEvent(eventObj) { if (eventObj.target == undefined) { eventObj.target = this; } this[eventObj.type + "Handler"](eventObj); dispatchQueue(this, eventObj); } function addEventListener(event, handler) { var _local3 = "__q_" + event; if (this[_local3] == undefined) { this[_local3] = new Array(); } _global.ASSetPropFlags(this, _local3, 1); _removeEventListener(this[_local3], event, handler); this[_local3].push(handler); } function removeEventListener(event, handler) { var _local2 = "__q_" + event; _removeEventListener(this[_local2], event, handler); } static var _fEventDispatcher = undefined; static var exceptions = {move:1, draw:1}; }
Symbol 7 MovieClip [__Packages.mx.controls.listclasses.DataProvider] Frame 0
class mx.controls.listclasses.DataProvider extends Object { var length, splice, dispatchEvent, sortOn, reverse, sort; function DataProvider (obj) { super(); } static function Initialize(obj) { var _local4 = mixinProps; var _local6 = _local4.length; obj = obj.prototype; var _local3 = 0; while (_local3 < _local6) { obj[_local4[_local3]] = mixins[_local4[_local3]]; _global.ASSetPropFlags(obj, _local4[_local3], 1); _local3++; } mx.events.EventDispatcher.initialize(obj); _global.ASSetPropFlags(obj, "addEventListener", 1); _global.ASSetPropFlags(obj, "removeEventListener", 1); _global.ASSetPropFlags(obj, "dispatchEvent", 1); _global.ASSetPropFlags(obj, "dispatchQueue", 1); Object.prototype.LargestID = 0; Object.prototype.getID = function () { if (this.__ID__ == undefined) { this.__ID__ = Object.prototype.LargestID++; _global.ASSetPropFlags(this, "__ID__", 1); } return(this.__ID__); }; _global.ASSetPropFlags(Object.prototype, "LargestID", 1); _global.ASSetPropFlags(Object.prototype, "getID", 1); return(true); } function addItemAt(index, value) { if (index < length) { splice(index, 0, value); } else if (index > length) { trace("Cannot add an item past the end of the DataProvider"); return(undefined); } this[index] = value; updateViews("addItems", index, index); } function addItem(value) { addItemAt(length, value); } function addItemsAt(index, newItems) { index = Math.min(length, index); newItems.unshift(index, 0); splice.apply(this, newItems); newItems.splice(0, 2); updateViews("addItems", index, (index + newItems.length) - 1); } function removeItemsAt(index, len) { var _local3 = new Array(); var _local2 = 0; while (_local2 < len) { _local3.push(getItemID(index + _local2)); _local2++; } var _local6 = splice(index, len); dispatchEvent({type:"modelChanged", eventName:"removeItems", firstItem:index, lastItem:(index + len) - 1, removedItems:_local6, removedIDs:_local3}); } function removeItemAt(index) { var _local2 = this[index]; removeItemsAt(index, 1); return(_local2); } function removeAll(Void) { splice(0); updateViews("removeItems", 0, length - 1); } function replaceItemAt(index, itemObj) { if ((index < 0) || (index >= length)) { return(undefined); } var _local3 = getItemID(index); this[index] = itemObj; this[index].__ID__ = _local3; updateViews("updateItems", index, index); } function getItemAt(index) { return(this[index]); } function getItemID(index) { var _local2 = this[index]; if ((typeof(_local2) != "object") && (_local2 != undefined)) { return(index); } return(_local2.getID()); } function sortItemsBy(fieldName, order) { if (typeof(order) == "string") { sortOn(fieldName); if (order.toUpperCase() == "DESC") { reverse(); } } else { sortOn(fieldName, order); } updateViews("sort"); } function sortItems(compareFunc, optionFlags) { sort(compareFunc, optionFlags); updateViews("sort"); } function editField(index, fieldName, newData) { this[index][fieldName] = newData; dispatchEvent({type:"modelChanged", eventName:"updateField", firstItem:index, lastItem:index, fieldName:fieldName}); } function getEditingData(index, fieldName) { return(this[index][fieldName]); } function updateViews(event, first, last) { dispatchEvent({type:"modelChanged", eventName:event, firstItem:first, lastItem:last}); } static var mixinProps = ["addView", "addItem", "addItemAt", "removeAll", "removeItemAt", "replaceItemAt", "getItemAt", "getItemID", "sortItemsBy", "sortItems", "updateViews", "addItemsAt", "removeItemsAt", "getEditingData", "editField"]; static var evtDipatcher = mx.events.EventDispatcher; static var mixins = new mx.controls.listclasses.DataProvider(); }
Symbol 8 MovieClip [__Packages.mx.controls.listclasses.ScrollSelectList] Frame 0
class mx.controls.listclasses.ScrollSelectList extends mx.core.ScrollView { var invLayoutContent, rows, topRowZ, listContent, __dataProvider, __vPosition, tW, layoutX, layoutY, tH, invRowHeight, invalidate, __height, invUpdateControl, __cellRenderer, __labelFunction, __iconField, __iconFunction, getLength, baseRowZ, lastPosition, propertyTable, isSelected, wasKeySelected, changeFlag, clearSelected, selectItem, lastSelected, dispatchEvent, dragScrolling, _ymouse, scrollInterval, isPressed, onMouseUp, getSelectedIndex, enabled, tabEnabled, tabChildren, createEmptyMovieClip, border_mc; function ScrollSelectList () { super(); } function layoutContent(x, y, w, h) { delete invLayoutContent; var _local4 = Math.ceil(h / __rowHeight); roundUp = (h % __rowHeight) != 0; var _local12 = _local4 - __rowCount; if (_local12 < 0) { var _local3 = _local4; while (_local3 < __rowCount) { rows[_local3].removeMovieClip(); delete rows[_local3]; _local3++; } topRowZ = topRowZ + _local12; } else if (_local12 > 0) { if (rows == undefined) { rows = new Array(); } var _local3 = __rowCount; while (_local3 < _local4) { var _local2 = (rows[_local3] = listContent.createObject(__rowRenderer, "listRow" + (topRowZ++), topRowZ, {owner:this, styleName:this, rowIndex:_local3})); _local2._x = x; _local2._y = Math.round((_local3 * __rowHeight) + y); _local2.setSize(w, __rowHeight); _local2.drawRow(__dataProvider.getItemAt(__vPosition + _local3), getStateAt(__vPosition + _local3)); _local2.lastY = _local2._y; _local3++; } } if (w != tW) { var _local11 = ((_local12 > 0) ? (__rowCount) : (_local4)); var _local3 = 0; while (_local3 < _local11) { rows[_local3].setSize(w, __rowHeight); _local3++; } } if ((layoutX != x) || (layoutY != y)) { var _local3 = 0; while (_local3 < _local4) { rows[_local3]._x = x; rows[_local3]._y = Math.round((_local3 * __rowHeight) + y); _local3++; } } __rowCount = _local4; layoutX = x; layoutY = y; tW = w; tH = h; } function getRowHeight(Void) { return(__rowHeight); } function setRowHeight(v) { __rowHeight = v; invRowHeight = true; invalidate(); } function get rowHeight() { return(getRowHeight()); } function set rowHeight(w) { setRowHeight(w); //return(rowHeight); } function setRowCount(v) { __rowCount = v; } function getRowCount(Void) { var _local2 = ((__rowCount == 0) ? (Math.ceil(__height / __rowHeight)) : (__rowCount)); return(_local2); } function get rowCount() { return(getRowCount()); } function set rowCount(w) { setRowCount(w); //return(rowCount); } function setEnabled(v) { super.setEnabled(v); invUpdateControl = true; invalidate(); } function setCellRenderer(cR) { __cellRenderer = cR; var _local2 = 0; while (_local2 < rows.length) { rows[_local2].setCellRenderer(true); _local2++; } invUpdateControl = true; invalidate(); } function set cellRenderer(cR) { setCellRenderer(cR); //return(cellRenderer); } function get cellRenderer() { return(__cellRenderer); } function set labelField(field) { setLabelField(field); //return(labelField); } function setLabelField(field) { __labelField = field; invUpdateControl = true; invalidate(); } function get labelField() { return(__labelField); } function set labelFunction(func) { setLabelFunction(func); //return(labelFunction); } function setLabelFunction(func) { __labelFunction = func; invUpdateControl = true; invalidate(); } function get labelFunction() { return(__labelFunction); } function set iconField(field) { setIconField(field); //return(iconField); } function setIconField(field) { __iconField = field; invUpdateControl = true; invalidate(); } function get iconField() { return(__iconField); } function set iconFunction(func) { setIconFunction(func); //return(iconFunction); } function setIconFunction(func) { __iconFunction = func; invUpdateControl = true; invalidate(); } function get iconFunction() { return(__iconFunction); } function setVPosition(pos) { if (pos < 0) { return(undefined); } if ((pos > 0) && (pos > ((getLength() - __rowCount) + roundUp))) { return(undefined); } var _local8 = pos - __vPosition; if (_local8 == 0) { return(undefined); } __vPosition = pos; var _local10 = _local8 > 0; _local8 = Math.abs(_local8); if (_local8 >= __rowCount) { updateControl(); } else { var _local4 = new Array(); var _local9 = __rowCount - _local8; var _local12 = _local8 * __rowHeight; var _local11 = _local9 * __rowHeight; var _local6 = (_local10 ? 1 : -1); var _local3 = 0; while (_local3 < __rowCount) { if (((_local3 < _local8) && (_local10)) || ((_local3 >= _local9) && (!_local10))) { rows[_local3]._y = rows[_local3]._y + Math.round(_local6 * _local11); var _local5 = _local3 + (_local6 * _local9); var _local7 = __vPosition + _local5; _local4[_local5] = rows[_local3]; _local4[_local5].rowIndex = _local5; _local4[_local5].drawRow(__dataProvider.getItemAt(_local7), getStateAt(_local7), false); } else { rows[_local3]._y = rows[_local3]._y - Math.round(_local6 * _local12); var _local5 = _local3 - (_local6 * _local8); _local4[_local5] = rows[_local3]; _local4[_local5].rowIndex = _local5; } _local3++; } rows = _local4; _local3 = 0; while (_local3 < __rowCount) { rows[_local3].swapDepths(baseRowZ + _local3); _local3++; } } lastPosition = pos; super.setVPosition(pos); } function setPropertiesAt(index, obj) { var _local2 = __dataProvider.getItemID(index); if (_local2 == undefined) { return(undefined); } if (propertyTable == undefined) { propertyTable = new Object(); } propertyTable[_local2] = obj; rows[index - __vPosition].drawRow(__dataProvider.getItemAt(index), getStateAt(index)); } function getPropertiesAt(index) { var _local2 = __dataProvider.getItemID(index); if (_local2 == undefined) { return(undefined); } return(propertyTable[_local2]); } function getPropertiesOf(obj) { var _local2 = obj.getID(); if (_local2 == undefined) { return(undefined); } return(propertyTable[_local2]); } function getStyle(styleProp) { var _local2 = super.getStyle(styleProp); var _local3 = mx.styles.StyleManager.colorNames[_local2]; if (_local3 != undefined) { _local2 = _local3; } return(_local2); } function updateControl(Void) { var _local2 = 0; while (_local2 < __rowCount) { rows[_local2].drawRow(__dataProvider.getItemAt(_local2 + __vPosition), getStateAt(_local2 + __vPosition)); _local2++; } delete invUpdateControl; } function getStateAt(index) { return((isSelected(index) ? "selected" : "normal")); } function selectRow(rowIndex, transition, allowChangeEvent) { if (!selectable) { return(undefined); } var _local3 = __vPosition + rowIndex; var _local8 = __dataProvider.getItemAt(_local3); var _local5 = rows[rowIndex]; if (_local8 == undefined) { return(undefined); } if (transition == undefined) { transition = true; } if (allowChangeEvent == undefined) { allowChangeEvent = wasKeySelected; } changeFlag = true; if (((!multipleSelection) && (!Key.isDown(17))) || ((!Key.isDown(16)) && (!Key.isDown(17)))) { clearSelected(transition); selectItem(_local3, true); lastSelected = _local3; _local5.drawRow(_local5.item, getStateAt(_local3), transition); } else if (Key.isDown(16) && (multipleSelection)) { if (lastSelected == undefined) { lastSelected = _local3; } var _local4 = ((lastSelected < _local3) ? 1 : -1); clearSelected(false); var _local2 = lastSelected; while (_local2 != _local3) { selectItem(_local2, true); if ((_local2 >= __vPosition) && (_local2 < (__vPosition + __rowCount))) { rows[_local2 - __vPosition].drawRow(rows[_local2 - __vPosition].item, "selected", false); } _local2 = _local2 + _local4; } selectItem(_local3, true); _local5.drawRow(_local5.item, "selected", transition); } else if (Key.isDown(17)) { var _local7 = isSelected(_local3); if ((!multipleSelection) || (wasKeySelected)) { clearSelected(transition); } if (!((!multipleSelection) && (_local7))) { selectItem(_local3, !_local7); var _local9 = ((!_local7) ? "selected" : "normal"); _local5.drawRow(_local5.item, _local9, transition); } lastSelected = _local3; } if (allowChangeEvent) { dispatchEvent({type:"change"}); } delete wasKeySelected; } function dragScroll(Void) { clearInterval(dragScrolling); if (_ymouse < 0) { setVPosition(__vPosition - 1); selectRow(0, false); var _local2 = Math.min((-_ymouse) - 30, 0); scrollInterval = (((0.593 * _local2) * _local2) + 1) + minScrollInterval; dragScrolling = setInterval(this, "dragScroll", scrollInterval); dispatchEvent({type:"scroll", direction:"vertical", position:__vPosition}); } else if (_ymouse > __height) { var _local3 = __vPosition; setVPosition(__vPosition + 1); if (_local3 != __vPosition) { selectRow((__rowCount - 1) - roundUp, false); } var _local2 = Math.min((_ymouse - __height) - 30, 0); scrollInterval = (((0.593 * _local2) * _local2) + 1) + minScrollInterval; dragScrolling = setInterval(this, "dragScroll", scrollInterval); dispatchEvent({type:"scroll", direction:"vertical", position:__vPosition}); } else { dragScrolling = setInterval(this, "dragScroll", 15); } updateAfterEvent(); } function __onMouseUp(Void) { clearInterval(dragScrolling); delete dragScrolling; delete dragScrolling; delete isPressed; delete onMouseUp; if (!selectable) { return(undefined); } if (changeFlag) { dispatchEvent({type:"change"}); } delete changeFlag; } function moveSelBy(incr) { if (!selectable) { setVPosition(__vPosition + incr); return(undefined); } var _local3 = getSelectedIndex(); if (_local3 == undefined) { _local3 = -1; } var _local2 = _local3 + incr; _local2 = Math.max(0, _local2); _local2 = Math.min(getLength() - 1, _local2); if (_local2 == _local3) { return(undefined); } if ((_local3 < __vPosition) || (_local3 >= (__vPosition + __rowCount))) { setVPosition(_local3); } if ((_local2 >= ((__vPosition + __rowCount) - roundUp)) || (_local2 < __vPosition)) { setVPosition(__vPosition + incr); } wasKeySelected = true; selectRow(_local2 - __vPosition, false); } function keyDown(e) { if (selectable) { if (findInputText()) { return(undefined); } } if (e.code == 40) { moveSelBy(1); } else if (e.code == 38) { moveSelBy(-1); } else if (e.code == 34) { if (selectable) { var _local3 = getSelectedIndex(); if (_local3 == undefined) { _local3 = 0; } setVPosition(_local3); } moveSelBy((__rowCount - 1) - roundUp); } else if (e.code == 33) { if (selectable) { var _local3 = getSelectedIndex(); if (_local3 == undefined) { _local3 = 0; } setVPosition(_local3); } moveSelBy((1 - __rowCount) + roundUp); } else if (e.code == 36) { moveSelBy(-__dataProvider.length); } else if (e.code == 35) { moveSelBy(__dataProvider.length); } } function findInputText(Void) { var _local2 = Key.getAscii(); if ((_local2 >= 33) && (_local2 <= 126)) { findString(String.fromCharCode(_local2)); return(true); } } function findString(str) { if (__dataProvider.length == 0) { return(undefined); } var _local4 = getSelectedIndex(); if (_local4 == undefined) { _local4 = 0; } var _local6 = 0; var _local3 = _local4 + 1; while (_local3 != _local4) { var _local2 = __dataProvider.getItemAt(_local3); if (_local2 instanceof XMLNode) { _local2 = _local2.attributes[__labelField]; } else if (typeof(_local2) != "string") { _local2 = String(_local2[__labelField]); } _local2 = _local2.substring(0, str.length); if ((str == _local2) || (str.toUpperCase() == _local2.toUpperCase())) { _local6 = _local3 - _local4; break; } if (_local3 >= (getLength() - 1)) { _local3 = -1; } _local3++; } if (_local6 != 0) { moveSelBy(_local6); } } function onRowPress(rowIndex) { if (!enabled) { return(undefined); } isPressed = true; dragScrolling = setInterval(this, "dragScroll", 15); onMouseUp = __onMouseUp; if (!selectable) { return(undefined); } selectRow(rowIndex); } function onRowRelease(rowIndex) { } function onRowRollOver(rowIndex) { if (!enabled) { return(undefined); } var _local2 = rows[rowIndex].item; if (getStyle("useRollOver") && (_local2 != undefined)) { rows[rowIndex].drawRow(_local2, "highlighted", false); } dispatchEvent({type:"itemRollOver", index:rowIndex + __vPosition}); } function onRowRollOut(rowIndex) { if (!enabled) { return(undefined); } if (getStyle("useRollOver")) { rows[rowIndex].drawRow(rows[rowIndex].item, getStateAt(rowIndex + __vPosition), false); } dispatchEvent({type:"itemRollOut", index:rowIndex + __vPosition}); } function onRowDragOver(rowIndex) { if (((!enabled) || (isPressed != true)) || (!selectable)) { return(undefined); } if (dropEnabled) { } else if (dragScrolling) { selectRow(rowIndex, false); } else { onMouseUp = __onMouseUp; onRowPress(rowIndex); } } function onRowDragOut(rowIndex) { if (!enabled) { return(undefined); } if (dragEnabled) { } else { onRowRollOut(rowIndex); } } function init(Void) { super.init(); tabEnabled = true; tabChildren = false; if (__dataProvider == undefined) { __dataProvider = new Array(); __dataProvider.addEventListener("modelChanged", this); } baseRowZ = (topRowZ = 10); } function createChildren(Void) { super.createChildren(); listContent = createEmptyMovieClip("content_mc", CONTENTDEPTH); invLayoutContent = true; invalidate(); } function draw(Void) { if (invRowHeight) { delete invRowHeight; __rowCount = 0; listContent.removeMovieClip(); listContent = createEmptyMovieClip("content_mc", CONTENTDEPTH); } if (invUpdateControl) { updateControl(); } border_mc.draw(); } function invalidateStyle(propName) { if (isRowStyle[propName]) { invUpdateControl = true; invalidate(); } else { var _local3 = 0; while (_local3 < __rowCount) { rows[_local3].invalidateStyle(propName); _local3++; } } super.invalidateStyle(propName); } static var mixIt1 = mx.controls.listclasses.DataSelector.Initialize(mx.controls.listclasses.ScrollSelectList); static var mixIt2 = mx.controls.listclasses.DataProvider.Initialize(Array); var CONTENTDEPTH = 100; var __hPosition = 0; var __rowRenderer = "SelectableRow"; var __rowHeight = 22; var __rowCount = 0; var __labelField = "label"; var minScrollInterval = 30; var dropEnabled = false; var dragEnabled = false; var className = "ScrollSelectList"; var isRowStyle = {styleName:true, backgroundColor:true, selectionColor:true, rollOverColor:true, selectionDisabledColor:true, backgroundDisabledColor:true, textColor:true, textSelectedColor:true, textRollOverColor:true, textDisabledColor:true, alternatingRowColors:true, defaultIcon:true}; var roundUp = 0; var selectable = true; var multipleSelection = false; }
Symbol 9 MovieClip [__Packages.mx.controls.List] Frame 0
class mx.controls.List extends mx.controls.listclasses.ScrollSelectList { var border_mc, __labels, setDataProvider, roundUp, __get__rowCount, __dataProvider, __maxHPosition, invScrollProps, invalidate, __vPosition, getViewMetrics, setSize, __width, __rowHeight, totalWidth, totalHeight, displayWidth, __hScrollPolicy, vScroller, __hPosition, listContent, data, mask_mc, __height, __rowCount, invRowHeight, invLayoutContent, setScrollProperties, oldVWidth; function List () { super(); } function setEnabled(v) { super.setEnabled(v); border_mc.backgroundColorName = (v ? "backgroundColor" : "backgroundDisabledColor"); border_mc.invalidate(); } function get labels() { return(__labels); } function set labels(lbls) { __labels = lbls; setDataProvider(lbls); //return(labels); } function setVPosition(pos) { pos = Math.min((__dataProvider.length - __get__rowCount()) + roundUp, pos); pos = Math.max(0, pos); super.setVPosition(pos); } function setHPosition(pos) { pos = Math.max(Math.min(__maxHPosition, pos), 0); super.setHPosition(pos); hScroll(pos); } function setMaxHPosition(pos) { __maxHPosition = pos; invScrollProps = true; invalidate(); } function setHScrollPolicy(policy) { if ((policy.toLowerCase() == "auto") && (!autoHScrollAble)) { return(undefined); } super.setHScrollPolicy(policy); if (policy == "off") { setHPosition(0); setVPosition(Math.min((__dataProvider.length - __get__rowCount()) + roundUp, __vPosition)); } } function setRowCount(rC) { if (isNaN(rC)) { return(undefined); } var _local2 = getViewMetrics(); setSize(__width, ((__rowHeight * rC) + _local2.top) + _local2.bottom); } function layoutContent(x, y, tW, tH, dW, dH) { totalWidth = tW; totalHeight = tH; displayWidth = dW; var _local4 = (((__hScrollPolicy == "on") || (__hScrollPolicy == "auto")) ? (Math.max(tW, dW)) : (dW)); super.layoutContent(x, y, _local4, dH); } function modelChanged(eventObj) { super.modelChanged(eventObj); var _local3 = eventObj.eventName; if ((((_local3 == "addItems") || (_local3 == "removeItems")) || (_local3 == "updateAll")) || (_local3 == "filterModel")) { invScrollProps = true; invalidate("invScrollProps"); } } function onScroll(eventObj) { var _local3 = eventObj.target; if (_local3 == vScroller) { setVPosition(_local3.scrollPosition); } else { hScroll(_local3.scrollPosition); } super.onScroll(eventObj); } function hScroll(pos) { __hPosition = pos; listContent._x = -pos; } function init(Void) { super.init(); if (labels.length > 0) { var _local6 = new Array(); var _local3 = 0; while (_local3 < labels.length) { _local6.addItem({label:labels[_local3], data:data[_local3]}); _local3++; } setDataProvider(_local6); } __maxHPosition = 0; } function createChildren(Void) { super.createChildren(); listContent.setMask(mask_mc); border_mc.move(0, 0); border_mc.setSize(__width, __height); } function getRowCount(Void) { var _local2 = getViewMetrics(); return(((__rowCount == 0) ? (Math.ceil(((__height - _local2.top) - _local2.bottom) / __rowHeight)) : (__rowCount))); } function size(Void) { super.size(); configureScrolling(); var _local3 = getViewMetrics(); layoutContent(_local3.left, _local3.top, __width + __maxHPosition, totalHeight, (__width - _local3.left) - _local3.right, (__height - _local3.top) - _local3.bottom); } function draw(Void) { if (invRowHeight) { invScrollProps = true; super.draw(); listContent.setMask(mask_mc); invLayoutContent = true; } if (invScrollProps) { configureScrolling(); delete invScrollProps; } if (invLayoutContent) { var _local3 = getViewMetrics(); layoutContent(_local3.left, _local3.top, __width + __maxHPosition, totalHeight, (__width - _local3.left) - _local3.right, (__height - _local3.top) - _local3.bottom); } super.draw(); } function configureScrolling(Void) { var _local2 = __dataProvider.length; if (__vPosition > Math.max(0, (_local2 - getRowCount()) + roundUp)) { setVPosition(Math.max(0, Math.min((_local2 - getRowCount()) + roundUp, __vPosition))); } var _local3 = getViewMetrics(); var _local4 = ((__hScrollPolicy != "off") ? (((__maxHPosition + __width) - _local3.left) - _local3.right) : ((__width - _local3.left) - _local3.right)); if (_local2 == undefined) { _local2 = 0; } setScrollProperties(_local4, 1, _local2, __rowHeight); if (oldVWidth != _local4) { invLayoutContent = true; } oldVWidth = _local4; } static var symbolOwner = mx.controls.List; static var symbolName = "List"; var className = "List"; static var version = "2.0.1.78"; var clipParameters = {rowHeight:1, enabled:1, visible:1, labels:1}; var scrollDepth = 1; var __vScrollPolicy = "on"; var autoHScrollAble = false; }
Symbol 106 MovieClip [__Packages.mx.skins.SkinElement] Frame 0
class mx.skins.SkinElement extends MovieClip { var _visible, _x, _y, _width, _height; function SkinElement () { super(); } static function registerElement(name, className) { Object.registerClass(name, ((className == undefined) ? (mx.skins.SkinElement) : (className))); _global.skinRegistry[name] = true; } function __set__visible(visible) { _visible = visible; } function move(x, y) { _x = x; _y = y; } function setSize(w, h) { _width = w; _height = h; } }
Symbol 107 MovieClip [__Packages.mx.styles.CSSTextStyles] Frame 0
class mx.styles.CSSTextStyles { function CSSTextStyles () { } static function addTextStyles(o, bColor) { o.addProperty("textAlign", function () { return(this._tf.align); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.align = x; }); o.addProperty("fontWeight", function () { return(((this._tf.bold != undefined) ? ((this._tf.bold ? "bold" : "none")) : undefined)); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.bold = x == "bold"; }); if (bColor) { o.addProperty("color", function () { return(this._tf.color); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.color = x; }); } o.addProperty("fontFamily", function () { return(this._tf.font); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.font = x; }); o.addProperty("textIndent", function () { return(this._tf.indent); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.indent = x; }); o.addProperty("fontStyle", function () { return(((this._tf.italic != undefined) ? ((this._tf.italic ? "italic" : "none")) : undefined)); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.italic = x == "italic"; }); o.addProperty("marginLeft", function () { return(this._tf.leftMargin); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.leftMargin = x; }); o.addProperty("marginRight", function () { return(this._tf.rightMargin); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.rightMargin = x; }); o.addProperty("fontSize", function () { return(this._tf.size); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.size = x; }); o.addProperty("textDecoration", function () { return(((this._tf.underline != undefined) ? ((this._tf.underline ? "underline" : "none")) : undefined)); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.underline = x == "underline"; }); o.addProperty("embedFonts", function () { return(this._tf.embedFonts); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.embedFonts = x; }); } }
Symbol 108 MovieClip [__Packages.mx.styles.StyleManager] Frame 0
class mx.styles.StyleManager { function StyleManager () { } static function registerInheritingStyle(styleName) { inheritingStyles[styleName] = true; } static function isInheritingStyle(styleName) { return(inheritingStyles[styleName] == true); } static function registerColorStyle(styleName) { colorStyles[styleName] = true; } static function isColorStyle(styleName) { return(colorStyles[styleName] == true); } static function registerColorName(colorName, colorValue) { colorNames[colorName] = colorValue; } static function isColorName(colorName) { return(colorNames[colorName] != undefined); } static function getColorName(colorName) { return(colorNames[colorName]); } static var inheritingStyles = {color:true, direction:true, fontFamily:true, fontSize:true, fontStyle:true, fontWeight:true, textAlign:true, textIndent:true}; static var colorStyles = {barColor:true, trackColor:true, borderColor:true, buttonColor:true, color:true, dateHeaderColor:true, dateRollOverColor:true, disabledColor:true, fillColor:true, highlightColor:true, scrollTrackColor:true, selectedDateColor:true, shadowColor:true, strokeColor:true, symbolBackgroundColor:true, symbolBackgroundDisabledColor:true, symbolBackgroundPressedColor:true, symbolColor:true, symbolDisabledColor:true, themeColor:true, todayIndicatorColor:true, shadowCapColor:true, borderCapColor:true, focusColor:true}; static var colorNames = {black:0, white:16777215, red:16711680, green:65280, blue:255, magenta:16711935, yellow:16776960, cyan:65535, haloGreen:8453965, haloBlue:2881013, haloOrange:16761344}; static var TextFormatStyleProps = {font:true, size:true, color:true, leftMargin:false, rightMargin:false, italic:true, bold:true, align:true, indent:true, underline:false, embedFonts:false}; static var TextStyleMap = {textAlign:true, fontWeight:true, color:true, fontFamily:true, textIndent:true, fontStyle:true, lineHeight:true, marginLeft:true, marginRight:true, fontSize:true, textDecoration:true, embedFonts:true}; }
Symbol 109 MovieClip [__Packages.mx.styles.CSSStyleDeclaration] Frame 0
class mx.styles.CSSStyleDeclaration { var _tf; function CSSStyleDeclaration () { } function __getTextFormat(tf, bAll) { var _local5 = false; if (_tf != undefined) { var _local2; for (_local2 in mx.styles.StyleManager.TextFormatStyleProps) { if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[_local2])) { if (tf[_local2] == undefined) { var _local3 = _tf[_local2]; if (_local3 != undefined) { tf[_local2] = _local3; } else { _local5 = true; } } } } } else { _local5 = true; } return(_local5); } function getStyle(styleProp) { var _local2 = this[styleProp]; var _local3 = mx.styles.StyleManager.getColorName(_local2); return(((_local3 == undefined) ? (_local2) : (_local3))); } static function classConstruct() { mx.styles.CSSTextStyles.addTextStyles(mx.styles.CSSStyleDeclaration.prototype, true); return(true); } static var classConstructed = classConstruct(); static var CSSTextStylesDependency = mx.styles.CSSTextStyles; }
Symbol 110 MovieClip [__Packages.mx.skins.Border] Frame 0
class mx.skins.Border extends mx.core.UIObject { function Border () { super(); } function init(Void) { super.init(); } static var symbolName = "Border"; static var symbolOwner = mx.skins.Border; var className = "Border"; var tagBorder = 0; var idNames = new Array("border_mc"); }
Symbol 111 MovieClip [__Packages.mx.skins.RectBorder] Frame 0
class mx.skins.RectBorder extends mx.skins.Border { var __width, __height, offset, __borderMetrics; function RectBorder () { super(); } function get width() { return(__width); } function get height() { return(__height); } function init(Void) { super.init(); } function draw(Void) { size(); } function getBorderMetrics(Void) { var _local2 = offset; if (__borderMetrics == undefined) { __borderMetrics = {left:_local2, top:_local2, right:_local2, bottom:_local2}; } else { __borderMetrics.left = _local2; __borderMetrics.top = _local2; __borderMetrics.right = _local2; __borderMetrics.bottom = _local2; } return(__borderMetrics); } function get borderMetrics() { return(getBorderMetrics()); } function drawBorder(Void) { } function size(Void) { drawBorder(); } function setColor(Void) { drawBorder(); } static var symbolName = "RectBorder"; static var symbolOwner = mx.skins.RectBorder; static var version = "2.0.1.78"; var className = "RectBorder"; var borderStyleName = "borderStyle"; var borderColorName = "borderColor"; var shadowColorName = "shadowColor"; var highlightColorName = "highlightColor"; var buttonColorName = "buttonColor"; var backgroundColorName = "backgroundColor"; }
Symbol 112 MovieClip [__Packages.mx.managers.DepthManager] Frame 0
class mx.managers.DepthManager { var _childCounter, createClassObject, createObject, _parent, swapDepths, _topmost, getDepth; function DepthManager () { MovieClip.prototype.createClassChildAtDepth = createClassChildAtDepth; MovieClip.prototype.createChildAtDepth = createChildAtDepth; MovieClip.prototype.setDepthTo = setDepthTo; MovieClip.prototype.setDepthAbove = setDepthAbove; MovieClip.prototype.setDepthBelow = setDepthBelow; MovieClip.prototype.findNextAvailableDepth = findNextAvailableDepth; MovieClip.prototype.shuffleDepths = shuffleDepths; MovieClip.prototype.getDepthByFlag = getDepthByFlag; MovieClip.prototype.buildDepthTable = buildDepthTable; _global.ASSetPropFlags(MovieClip.prototype, "createClassChildAtDepth", 1); _global.ASSetPropFlags(MovieClip.prototype, "createChildAtDepth", 1); _global.ASSetPropFlags(MovieClip.prototype, "setDepthTo", 1); _global.ASSetPropFlags(MovieClip.prototype, "setDepthAbove", 1); _global.ASSetPropFlags(MovieClip.prototype, "setDepthBelow", 1); _global.ASSetPropFlags(MovieClip.prototype, "findNextAvailableDepth", 1); _global.ASSetPropFlags(MovieClip.prototype, "shuffleDepths", 1); _global.ASSetPropFlags(MovieClip.prototype, "getDepthByFlag", 1); _global.ASSetPropFlags(MovieClip.prototype, "buildDepthTable", 1); } static function sortFunction(a, b) { if (a.getDepth() > b.getDepth()) { return(1); } return(-1); } static function test(depth) { if (depth == reservedDepth) { return(false); } return(true); } static function createClassObjectAtDepth(className, depthSpace, initObj) { var _local1; switch (depthSpace) { case kCursor : _local1 = holder.createClassChildAtDepth(className, kTopmost, initObj); break; case kTooltip : _local1 = holder.createClassChildAtDepth(className, kTop, initObj); break; } return(_local1); } static function createObjectAtDepth(linkageName, depthSpace, initObj) { var _local1; switch (depthSpace) { case kCursor : _local1 = holder.createChildAtDepth(linkageName, kTopmost, initObj); break; case kTooltip : _local1 = holder.createChildAtDepth(linkageName, kTop, initObj); break; } return(_local1); } function createClassChildAtDepth(className, depthFlag, initObj) { if (_childCounter == undefined) { _childCounter = 0; } var _local3 = buildDepthTable(); var _local2 = getDepthByFlag(depthFlag, _local3); var _local6 = "down"; if (depthFlag == kBottom) { _local6 = "up"; } var _local5; if (_local3[_local2] != undefined) { _local5 = _local2; _local2 = findNextAvailableDepth(_local2, _local3, _local6); } var _local4 = createClassObject(className, "depthChild" + (_childCounter++), _local2, initObj); if (_local5 != undefined) { _local3[_local2] = _local4; shuffleDepths(_local4, _local5, _local3, _local6); } if (depthFlag == kTopmost) { _local4._topmost = true; } return(_local4); } function createChildAtDepth(linkageName, depthFlag, initObj) { if (_childCounter == undefined) { _childCounter = 0; } var _local3 = buildDepthTable(); var _local2 = getDepthByFlag(depthFlag, _local3); var _local6 = "down"; if (depthFlag == kBottom) { _local6 = "up"; } var _local5; if (_local3[_local2] != undefined) { _local5 = _local2; _local2 = findNextAvailableDepth(_local2, _local3, _local6); } var _local4 = createObject(linkageName, "depthChild" + (_childCounter++), _local2, initObj); if (_local5 != undefined) { _local3[_local2] = _local4; shuffleDepths(_local4, _local5, _local3, _local6); } if (depthFlag == kTopmost) { _local4._topmost = true; } return(_local4); } function setDepthTo(depthFlag) { var _local2 = _parent.buildDepthTable(); var _local3 = _parent.getDepthByFlag(depthFlag, _local2); if (_local2[_local3] != undefined) { shuffleDepths(this, _local3, _local2, undefined); } else { swapDepths(_local3); } if (depthFlag == kTopmost) { _topmost = true; } else { delete _topmost; } } function setDepthAbove(targetInstance) { if (targetInstance._parent != _parent) { return(undefined); } var _local2 = targetInstance.getDepth() + 1; var _local3 = _parent.buildDepthTable(); if ((_local3[_local2] != undefined) && (getDepth() < _local2)) { _local2 = _local2 - 1; } if (_local2 > highestDepth) { _local2 = highestDepth; } if (_local2 == highestDepth) { _parent.shuffleDepths(this, _local2, _local3, "down"); } else if (_local3[_local2] != undefined) { _parent.shuffleDepths(this, _local2, _local3, undefined); } else { swapDepths(_local2); } } function setDepthBelow(targetInstance) { if (targetInstance._parent != _parent) { return(undefined); } var _local6 = targetInstance.getDepth() - 1; var _local3 = _parent.buildDepthTable(); if ((_local3[_local6] != undefined) && (getDepth() > _local6)) { _local6 = _local6 + 1; } var _local4 = lowestDepth + numberOfAuthortimeLayers; var _local5; for (_local5 in _local3) { var _local2 = _local3[_local5]; if (_local2._parent != undefined) { _local4 = Math.min(_local4, _local2.getDepth()); } } if (_local6 < _local4) { _local6 = _local4; } if (_local6 == _local4) { _parent.shuffleDepths(this, _local6, _local3, "up"); } else if (_local3[_local6] != undefined) { _parent.shuffleDepths(this, _local6, _local3, undefined); } else { swapDepths(_local6); } } function findNextAvailableDepth(targetDepth, depthTable, direction) { var _local5 = lowestDepth + numberOfAuthortimeLayers; if (targetDepth < _local5) { targetDepth = _local5; } if (depthTable[targetDepth] == undefined) { return(targetDepth); } var _local2 = targetDepth; var _local1 = targetDepth; if (direction == "down") { while (depthTable[_local1] != undefined) { _local1--; } return(_local1); } while (depthTable[_local2] != undefined) { _local2++; } return(_local2); } function shuffleDepths(subject, targetDepth, depthTable, direction) { var _local9 = lowestDepth + numberOfAuthortimeLayers; var _local8 = _local9; var _local5; for (_local5 in depthTable) { var _local7 = depthTable[_local5]; if (_local7._parent != undefined) { _local9 = Math.min(_local9, _local7.getDepth()); } } if (direction == undefined) { if (subject.getDepth() > targetDepth) { direction = "up"; } else { direction = "down"; } } var _local1 = new Array(); for (_local5 in depthTable) { var _local7 = depthTable[_local5]; if (_local7._parent != undefined) { _local1.push(_local7); } } _local1.sort(sortFunction); if (direction == "up") { var _local3; var _local11; do { if (_local1.length <= 0) { break; } _local3 = _local1.pop(); } while (_local3 != subject); do { if (_local1.length <= 0) { break; } _local11 = subject.getDepth(); _local3 = _local1.pop(); var _local4 = _local3.getDepth(); if (_local11 > (_local4 + 1)) { if (_local4 >= 0) { subject.swapDepths(_local4 + 1); } else if ((_local11 > _local8) && (_local4 < _local8)) { subject.swapDepths(_local8); } } subject.swapDepths(_local3); } while (_local4 != targetDepth); } else if (direction == "down") { var _local3; do { if (_local1.length <= 0) { break; } _local3 = _local1.shift(); } while (_local3 != subject); do { if (_local1.length <= 0) { break; } var _local11 = _local3.getDepth(); _local3 = _local1.shift(); var _local4 = _local3.getDepth(); if ((_local11 < (_local4 - 1)) && (_local4 > 0)) { subject.swapDepths(_local4 - 1); } subject.swapDepths(_local3); } while (_local4 != targetDepth); } } function getDepthByFlag(depthFlag, depthTable) { var _local2 = 0; if ((depthFlag == kTop) || (depthFlag == kNotopmost)) { var _local5 = 0; var _local7 = false; var _local8; for (_local8 in depthTable) { var _local9 = depthTable[_local8]; var _local3 = typeof(_local9); if ((_local3 == "movieclip") || ((_local3 == "object") && (_local9.__getTextFormat != undefined))) { if (_local9.getDepth() <= highestDepth) { if (!_local9._topmost) { _local2 = Math.max(_local2, _local9.getDepth()); } else if (!_local7) { _local5 = _local9.getDepth(); _local7 = true; } else { _local5 = Math.min(_local5, _local9.getDepth()); } } } } _local2 = _local2 + 20; if (_local7) { if (_local2 >= _local5) { _local2 = _local5 - 1; } } } else if (depthFlag == kBottom) { for (var _local8 in depthTable) { var _local9 = depthTable[_local8]; var _local3 = typeof(_local9); if ((_local3 == "movieclip") || ((_local3 == "object") && (_local9.__getTextFormat != undefined))) { if (_local9.getDepth() <= highestDepth) { _local2 = Math.min(_local2, _local9.getDepth()); } } } _local2 = _local2 - 20; } else if (depthFlag == kTopmost) { for (var _local8 in depthTable) { var _local9 = depthTable[_local8]; var _local3 = typeof(_local9); if ((_local3 == "movieclip") || ((_local3 == "object") && (_local9.__getTextFormat != undefined))) { if (_local9.getDepth() <= highestDepth) { _local2 = Math.max(_local2, _local9.getDepth()); } } } _local2 = _local2 + 100; } if (_local2 >= highestDepth) { _local2 = highestDepth; } var _local6 = lowestDepth + numberOfAuthortimeLayers; for (var _local9 in depthTable) { var _local4 = depthTable[_local9]; if (_local4._parent != undefined) { _local6 = Math.min(_local6, _local4.getDepth()); } } if (_local2 <= _local6) { _local2 = _local6; } return(_local2); } function buildDepthTable(Void) { var _local5 = new Array(); var _local4; for (_local4 in this) { var _local2 = this[_local4]; var _local3 = typeof(_local2); if ((_local3 == "movieclip") || ((_local3 == "object") && (_local2.__getTextFormat != undefined))) { if (_local2._parent == this) { _local5[_local2.getDepth()] = _local2; } } } return(_local5); } static var reservedDepth = 1048575; static var highestDepth = 1048574; static var lowestDepth = -16383; static var numberOfAuthortimeLayers = 383; static var kCursor = 101; static var kTooltip = 102; static var kTop = 201; static var kBottom = 202; static var kTopmost = 203; static var kNotopmost = 204; static var holder = _root.createEmptyMovieClip("reserved", reservedDepth); static var __depthManager = new mx.managers.DepthManager(); }
Symbol 113 MovieClip [__Packages.mx.events.UIEventDispatcher] Frame 0
class mx.events.UIEventDispatcher extends mx.events.EventDispatcher { var dispatchQueue, owner, __sentLoadEvent, __origAddEventListener; function UIEventDispatcher () { super(); } static function addKeyEvents(obj) { if (obj.keyHandler == undefined) { var _local1 = (obj.keyHandler = new Object()); _local1.owner = obj; _local1.onKeyDown = _fEventDispatcher.onKeyDown; _local1.onKeyUp = _fEventDispatcher.onKeyUp; } Key.addListener(obj.keyHandler); } static function removeKeyEvents(obj) { Key.removeListener(obj.keyHandler); } static function addLoadEvents(obj) { if (obj.onLoad == undefined) { obj.onLoad = _fEventDispatcher.onLoad; obj.onUnload = _fEventDispatcher.onUnload; if (obj.getBytesTotal() == obj.getBytesLoaded()) { obj.doLater(obj, "onLoad"); } } } static function removeLoadEvents(obj) { delete obj.onLoad; delete obj.onUnload; } static function initialize(obj) { if (_fEventDispatcher == undefined) { _fEventDispatcher = new mx.events.UIEventDispatcher(); } obj.addEventListener = _fEventDispatcher.__addEventListener; obj.__origAddEventListener = _fEventDispatcher.addEventListener; obj.removeEventListener = _fEventDispatcher.removeEventListener; obj.dispatchEvent = _fEventDispatcher.dispatchEvent; obj.dispatchQueue = _fEventDispatcher.dispatchQueue; } function dispatchEvent(eventObj) { if (eventObj.target == undefined) { eventObj.target = this; } this[eventObj.type + "Handler"](eventObj); dispatchQueue(mx.events.EventDispatcher, eventObj); dispatchQueue(this, eventObj); } function onKeyDown(Void) { owner.dispatchEvent({type:"keyDown", code:Key.getCode(), ascii:Key.getAscii(), shiftKey:Key.isDown(16), ctrlKey:Key.isDown(17)}); } function onKeyUp(Void) { owner.dispatchEvent({type:"keyUp", code:Key.getCode(), ascii:Key.getAscii(), shiftKey:Key.isDown(16), ctrlKey:Key.isDown(17)}); } function onLoad(Void) { if (__sentLoadEvent != true) { dispatchEvent({type:"load"}); } __sentLoadEvent = true; } function onUnload(Void) { dispatchEvent({type:"unload"}); } function __addEventListener(event, handler) { __origAddEventListener(event, handler); var _local3 = lowLevelEvents; for (var _local5 in _local3) { if (mx.events.UIEventDispatcher[_local5][event] != undefined) { var _local2 = _local3[_local5][0]; mx.events.UIEventDispatcher[_local2](this); } } } function removeEventListener(event, handler) { var _local6 = "__q_" + event; mx.events.EventDispatcher._removeEventListener(this[_local6], event, handler); if (this[_local6].length == 0) { var _local2 = lowLevelEvents; for (var _local5 in _local2) { if (mx.events.UIEventDispatcher[_local5][event] != undefined) { var _local3 = _local2[_local5][1]; mx.events.UIEventDispatcher[_local2[_local5][1]](this); } } } } static var keyEvents = {keyDown:1, keyUp:1}; static var loadEvents = {load:1, unload:1}; static var lowLevelEvents = {keyEvents:["addKeyEvents", "removeKeyEvents"], loadEvents:["addLoadEvents", "removeLoadEvents"]}; static var _fEventDispatcher = undefined; }
Symbol 114 MovieClip [__Packages.mx.core.ExternalContent] Frame 0
class mx.core.ExternalContent { var createObject, numChildren, prepList, doLater, loadList, dispatchEvent, loadedList, childLoaded; function ExternalContent () { } function loadExternal(url, placeholderClassName, instanceName, depth, initProps) { var _local2; _local2 = createObject(placeholderClassName, instanceName, depth, initProps); this[mx.core.View.childNameBase + numChildren] = _local2; if (prepList == undefined) { prepList = new Object(); } prepList[instanceName] = {obj:_local2, url:url, complete:false, initProps:initProps}; prepareToLoadMovie(_local2); return(_local2); } function prepareToLoadMovie(obj) { obj.unloadMovie(); doLater(this, "waitForUnload"); } function waitForUnload() { var _local3; for (_local3 in prepList) { var _local2 = prepList[_local3]; if (_local2.obj.getBytesTotal() == 0) { if (loadList == undefined) { loadList = new Object(); } loadList[_local3] = _local2; _local2.obj.loadMovie(_local2.url); delete prepList[_local3]; doLater(this, "checkLoadProgress"); } else { doLater(this, "waitForUnload"); } } } function checkLoadProgress() { var _local3; for (_local3 in loadList) { var _local2 = loadList[_local3]; _local2.loaded = _local2.obj.getBytesLoaded(); _local2.total = _local2.obj.getBytesTotal(); if (_local2.total > 0) { _local2.obj._visible = false; dispatchEvent({type:"progress", target:_local2.obj, current:_local2.loaded, total:_local2.total}); if (_local2.loaded == _local2.total) { if (loadedList == undefined) { loadedList = new Object(); } loadedList[_local3] = _local2; delete loadList[_local3]; doLater(this, "contentLoaded"); } } else if (_local2.total == -1) { if (_local2.failedOnce != undefined) { _local2.failedOnce++; if (_local2.failedOnce > 3) { dispatchEvent({type:"complete", target:_local2.obj, current:_local2.loaded, total:_local2.total}); delete loadList[_local3]; } } else { _local2.failedOnce = 0; } } doLater(this, "checkLoadProgress"); } } function contentLoaded() { var _local4; for (_local4 in loadedList) { var _local2 = loadedList[_local4]; _local2.obj._visible = true; _local2.obj._complete = true; var _local3; for (_local3 in _local2.initProps) { _local2.obj[_local3] = _local2.initProps[_local3]; } childLoaded(_local2.obj); dispatchEvent({type:"complete", target:_local2.obj, current:_local2.loaded, total:_local2.total}); delete loadedList[_local4]; } } function convertToUIObject(obj) { if (obj.setSize == undefined) { var _local2 = mx.core.UIObject.prototype; obj.addProperty("width", _local2.__get__width, null); obj.addProperty("height", _local2.__get__height, null); obj.addProperty("left", _local2.__get__left, null); obj.addProperty("x", _local2.__get__x, null); obj.addProperty("top", _local2.__get__top, null); obj.addProperty("y", _local2.__get__y, null); obj.addProperty("right", _local2.__get__right, null); obj.addProperty("bottom", _local2.__get__bottom, null); obj.addProperty("visible", _local2.__get__visible, _local2.__set__visible); obj.move = mx.core.UIObject.prototype.move; obj.setSize = mx.core.UIObject.prototype.setSize; obj.size = mx.core.UIObject.prototype.size; mx.events.UIEventDispatcher.initialize(obj); } } static function enableExternalContent() { } static function classConstruct() { var _local1 = mx.core.View.prototype; var _local2 = mx.core.ExternalContent.prototype; _local1.loadExternal = _local2.loadExternal; _local1.prepareToLoadMovie = _local2.prepareToLoadMovie; _local1.waitForUnload = _local2.waitForUnload; _local1.checkLoadProgress = _local2.checkLoadProgress; _local1.contentLoaded = _local2.contentLoaded; _local1.convertToUIObject = _local2.convertToUIObject; return(true); } static var classConstructed = classConstruct(); static var ViewDependency = mx.core.View; }
Symbol 115 MovieClip [__Packages.mx.skins.CustomBorder] Frame 0
class mx.skins.CustomBorder extends mx.skins.Border { var __width, __height, l_mc, setSkin, minHeight, minWidth, m_mc, r_mc; function CustomBorder () { super(); } function get width() { return(__width); } function get height() { return(__height); } function init(Void) { super.init(); } function createChildren(Void) { } function draw(Void) { if (l_mc == undefined) { var _local2 = setSkin(tagL, leftSkin); if (horizontal) { minHeight = l_mc._height; minWidth = l_mc._width; } else { minHeight = l_mc._height; minWidth = l_mc._width; } } if (m_mc == undefined) { setSkin(tagM, middleSkin); if (horizontal) { minHeight = m_mc._height; minWidth = minWidth + m_mc._width; } else { minHeight = minHeight + m_mc._height; minWidth = m_mc._width; } } if (r_mc == undefined) { setSkin(tagR, rightSkin); if (horizontal) { minHeight = r_mc._height; minWidth = minWidth + r_mc._width; } else { minHeight = minHeight + r_mc._height; minWidth = r_mc._width; } } size(); } function size(Void) { l_mc.move(0, 0); if (horizontal) { r_mc.move(width - r_mc.width, 0); m_mc.move(l_mc.width, 0); m_mc.setSize(r_mc.x - m_mc.x, m_mc.height); } else { r_mc.move(0, height - r_mc.height, 0); m_mc.move(0, l_mc.height); m_mc.setSize(m_mc.width, r_mc.y - m_mc.y); } } static var symbolName = "CustomBorder"; static var symbolOwner = mx.skins.CustomBorder; static var version = "2.0.1.78"; var className = "CustomBorder"; static var tagL = 0; static var tagM = 1; static var tagR = 2; var idNames = new Array("l_mc", "m_mc", "r_mc"); var leftSkin = "F3PieceLeft"; var middleSkin = "F3PieceMiddle"; var rightSkin = "F3PieceRight"; var horizontal = true; }
Symbol 116 MovieClip [__Packages.mx.controls.scrollClasses.ScrollThumb] Frame 0
class mx.controls.scrollClasses.ScrollThumb extends mx.skins.CustomBorder { var useHandCursor, ymin, ymax, datamin, datamax, scrollMove, lastY, _ymouse, _y, _parent, onMouseMove, grip_mc, setSkin, gripSkin, __get__width, __get__height; function ScrollThumb () { super(); } function createChildren(Void) { super.createChildren(); useHandCursor = false; } function setRange(_ymin, _ymax, _datamin, _datamax) { ymin = _ymin; ymax = _ymax; datamin = _datamin; datamax = _datamax; } function dragThumb(Void) { scrollMove = _ymouse - lastY; scrollMove = scrollMove + _y; if (scrollMove < ymin) { scrollMove = ymin; } else if (scrollMove > ymax) { scrollMove = ymax; } _parent.isScrolling = true; _y = scrollMove; var _local2 = Math.round(((datamax - datamin) * (_y - ymin)) / (ymax - ymin)) + datamin; _parent.scrollPosition = _local2; _parent.dispatchScrollEvent("ThumbTrack"); updateAfterEvent(); } function stopDragThumb(Void) { _parent.isScrolling = false; _parent.dispatchScrollEvent("ThumbPosition"); _parent.dispatchScrollChangedEvent(); delete onMouseMove; } function onPress(Void) { _parent.pressFocus(); lastY = _ymouse; onMouseMove = dragThumb; super.onPress(); } function onRelease(Void) { _parent.releaseFocus(); stopDragThumb(); super.onRelease(); } function onReleaseOutside(Void) { _parent.releaseFocus(); stopDragThumb(); super.onReleaseOutside(); } function draw() { super.draw(); if (grip_mc == undefined) { setSkin(3, gripSkin); } } function size() { super.size(); grip_mc.move((__get__width() - grip_mc.width) / 2, (__get__height() - grip_mc.height) / 2); } static var symbolOwner = mx.skins.CustomBorder.symbolOwner; var className = "ScrollThumb"; var btnOffset = 0; var horizontal = false; var idNames = new Array("l_mc", "m_mc", "r_mc", "grip_mc"); }
Symbol 117 MovieClip [__Packages.mx.controls.SimpleButton] Frame 0
class mx.controls.SimpleButton extends mx.core.UIComponent { static var emphasizedStyleDeclaration; var preset, boundingBox_mc, useHandCursor, skinName, linkLength, iconName, destroyObject, __width, _width, __height, _height, __emphaticStyleName, styleName, enabled, invalidate, pressFocus, dispatchEvent, autoRepeat, interval, getStyle, releaseFocus, createLabel, invalidateStyle; function SimpleButton () { super(); } function init(Void) { super.init(); if (preset == undefined) { boundingBox_mc._visible = false; boundingBox_mc._width = (boundingBox_mc._height = 0); } useHandCursor = false; } function createChildren(Void) { if (preset != undefined) { var _local2 = this[idNames[preset]]; this[refNames[preset]] = _local2; skinName = _local2; if (falseOverSkin.length == 0) { rolloverSkin = fus; } if (falseOverIcon.length == 0) { rolloverIcon = fui; } initializing = false; } else if (__state == true) { setStateVar(true); } else { if (falseOverSkin.length == 0) { rolloverSkin = fus; } if (falseOverIcon.length == 0) { rolloverIcon = fui; } } } function setIcon(tag, linkageName) { return(setSkin(tag + 8, linkageName)); } function changeIcon(tag, linkageName) { linkLength = linkageName.length; var _local2 = stateNames[tag] + "Icon"; this[_local2] = linkageName; this[idNames[tag + 8]] = _local2; setStateVar(getState()); } function changeSkin(tag, linkageName) { var _local2 = stateNames[tag] + "Skin"; this[_local2] = linkageName; this[idNames[tag]] = _local2; setStateVar(getState()); } function viewIcon(varName) { var _local4 = varName + "Icon"; var _local3 = this[_local4]; if (typeof(_local3) == "string") { var _local5 = _local3; if (__emphasized) { if (this[_local3 + "Emphasized"].length > 0) { _local3 = _local3 + "Emphasized"; } } if (this[_local3].length == 0) { return(undefined); } _local3 = setIcon(tagMap[_local5], this[_local3]); if ((_local3 == undefined) && (_global.isLivePreview)) { _local3 = setIcon(0, "ButtonIcon"); } this[_local4] = _local3; } iconName._visible = false; iconName = _local3; iconName._visible = true; } function removeIcons() { var _local3 = 0; while (_local3 < 2) { var _local2 = 8; while (_local2 < 16) { destroyObject(idNames[_local2]); this[stateNames[_local2 - 8] + "Icon"] = ""; _local2++; } _local3++; } refresh(); } function setSkin(tag, linkageName, initobj) { var _local3 = super.setSkin(tag, linkageName, ((initobj != undefined) ? (initobj) : ({styleName:this}))); calcSize(tag, _local3); return(_local3); } function calcSize(Void) { __width = _width; __height = _height; } function viewSkin(varName, initObj) { var _local3 = varName + "Skin"; var _local2 = this[_local3]; if (typeof(_local2) == "string") { var _local4 = _local2; if (__emphasized) { if (this[_local2 + "Emphasized"].length > 0) { _local2 = _local2 + "Emphasized"; } } if (this[_local2].length == 0) { return(undefined); } _local2 = setSkin(tagMap[_local4], this[_local2], ((initObj != undefined) ? (initObj) : ({styleName:this}))); this[_local3] = _local2; } skinName._visible = false; skinName = _local2; skinName._visible = true; } function showEmphasized(e) { if (e && (!__emphatic)) { if (emphasizedStyleDeclaration != undefined) { __emphaticStyleName = styleName; styleName = emphasizedStyleDeclaration; } __emphatic = true; } else { if (__emphatic) { styleName = __emphaticStyleName; } __emphatic = false; } } function refresh(Void) { var _local2 = getState(); if (enabled == false) { viewIcon("disabled"); viewSkin("disabled"); } else { viewSkin(phase); viewIcon(phase); } setView(phase == "down"); iconName.enabled = enabled; } function setView(offset) { if (iconName == undefined) { return(undefined); } var _local2 = (offset ? (btnOffset) : 0); iconName._x = ((__width - iconName._width) / 2) + _local2; iconName._y = ((__height - iconName._height) / 2) + _local2; } function setStateVar(state) { if (state) { if (trueOverSkin.length == 0) { rolloverSkin = tus; } else { rolloverSkin = trs; } if (trueOverIcon.length == 0) { rolloverIcon = tui; } else { rolloverIcon = tri; } upSkin = tus; downSkin = tds; disabledSkin = dts; upIcon = tui; downIcon = tdi; disabledIcon = dti; } else { if (falseOverSkin.length == 0) { rolloverSkin = fus; } else { rolloverSkin = frs; } if (falseOverIcon.length == 0) { rolloverIcon = fui; } else { rolloverIcon = fri; } upSkin = fus; downSkin = fds; disabledSkin = dfs; upIcon = fui; downIcon = fdi; disabledIcon = dfi; } __state = state; } function setState(state) { if (state != __state) { setStateVar(state); invalidate(); } } function size(Void) { refresh(); } function draw(Void) { if (initializing) { initializing = false; skinName.visible = true; iconName.visible = true; } size(); } function getState(Void) { return(__state); } function setToggle(val) { __toggle = val; if (__toggle == false) { setState(false); } } function getToggle(Void) { return(__toggle); } function set toggle(val) { setToggle(val); //return(toggle); } function get toggle() { return(getToggle()); } function set value(val) { setSelected(val); //return(value); } function get value() { return(getSelected()); } function set selected(val) { setSelected(val); //return(selected); } function get selected() { return(getSelected()); } function setSelected(val) { if (__toggle) { setState(val); } else { setState((initializing ? (val) : (__state))); } } function getSelected() { return(__state); } function setEnabled(val) { if (enabled != val) { super.setEnabled(val); invalidate(); } } function onPress(Void) { pressFocus(); phase = "down"; refresh(); dispatchEvent({type:"buttonDown"}); if (autoRepeat) { interval = setInterval(this, "onPressDelay", getStyle("repeatDelay")); } } function onPressDelay(Void) { dispatchEvent({type:"buttonDown"}); if (autoRepeat) { clearInterval(interval); interval = setInterval(this, "onPressRepeat", getStyle("repeatInterval")); } } function onPressRepeat(Void) { dispatchEvent({type:"buttonDown"}); updateAfterEvent(); } function onRelease(Void) { releaseFocus(); phase = "rollover"; if (interval != undefined) { clearInterval(interval); delete interval; } if (getToggle()) { setState(!getState()); } else { refresh(); } dispatchEvent({type:"click"}); } function onDragOut(Void) { phase = "up"; refresh(); dispatchEvent({type:"buttonDragOut"}); } function onDragOver(Void) { if (phase != "up") { onPress(); return(undefined); } phase = "down"; refresh(); } function onReleaseOutside(Void) { releaseFocus(); phase = "up"; if (interval != undefined) { clearInterval(interval); delete interval; } } function onRollOver(Void) { phase = "rollover"; refresh(); } function onRollOut(Void) { phase = "up"; refresh(); } function getLabel(Void) { return(fui.text); } function setLabel(val) { if (typeof(fui) == "string") { createLabel("fui", 8, val); fui.styleName = this; } else { fui.text = val; } var _local4 = fui._getTextFormat(); var _local2 = _local4.getTextExtent2(val); fui._width = _local2.width + 5; fui._height = _local2.height + 5; iconName = fui; setView(__state); } function get emphasized() { return(__emphasized); } function set emphasized(val) { __emphasized = val; var _local2 = 0; while (_local2 < 8) { this[idNames[_local2]] = stateNames[_local2] + "Skin"; if (typeof(this[idNames[_local2 + 8]]) == "movieclip") { this[idNames[_local2 + 8]] = stateNames[_local2] + "Icon"; } _local2++; } showEmphasized(__emphasized); setStateVar(__state); invalidateStyle(); //return(emphasized); } function keyDown(e) { if (e.code == 32) { onPress(); } } function keyUp(e) { if (e.code == 32) { onRelease(); } } function onKillFocus(newFocus) { super.onKillFocus(); if (phase != "up") { phase = "up"; refresh(); } } static var symbolName = "SimpleButton"; static var symbolOwner = mx.controls.SimpleButton; static var version = "2.0.1.78"; var className = "SimpleButton"; var style3dInset = 4; var btnOffset = 1; var __toggle = false; var __state = false; var __emphasized = false; var __emphatic = false; static var falseUp = 0; static var falseDown = 1; static var falseOver = 2; static var falseDisabled = 3; static var trueUp = 4; static var trueDown = 5; static var trueOver = 6; static var trueDisabled = 7; var falseUpSkin = "SimpleButtonUp"; var falseDownSkin = "SimpleButtonIn"; var falseOverSkin = ""; var falseDisabledSkin = "SimpleButtonUp"; var trueUpSkin = "SimpleButtonIn"; var trueDownSkin = ""; var trueOverSkin = ""; var trueDisabledSkin = "SimpleButtonIn"; var falseUpIcon = ""; var falseDownIcon = ""; var falseOverIcon = ""; var falseDisabledIcon = ""; var trueUpIcon = ""; var trueDownIcon = ""; var trueOverIcon = ""; var trueDisabledIcon = ""; var phase = "up"; var fui = "falseUpIcon"; var fus = "falseUpSkin"; var fdi = "falseDownIcon"; var fds = "falseDownSkin"; var frs = "falseOverSkin"; var fri = "falseOverIcon"; var dfi = "falseDisabledIcon"; var dfs = "falseDisabledSkin"; var tui = "trueUpIcon"; var tus = "trueUpSkin"; var tdi = "trueDownIcon"; var tds = "trueDownSkin"; var trs = "trueOverSkin"; var tri = "trueOverIcon"; var dts = "trueDisabledSkin"; var dti = "trueDisabledIcon"; var rolloverSkin = mx.controls.SimpleButton.prototype.frs; var rolloverIcon = mx.controls.SimpleButton.prototype.fri; var upSkin = mx.controls.SimpleButton.prototype.fus; var downSkin = mx.controls.SimpleButton.prototype.fds; var disabledSkin = mx.controls.SimpleButton.prototype.dfs; var upIcon = mx.controls.SimpleButton.prototype.fui; var downIcon = mx.controls.SimpleButton.prototype.fdi; var disabledIcon = mx.controls.SimpleButton.prototype.dfi; var initializing = true; var idNames = ["fus", "fds", "frs", "dfs", "tus", "tds", "trs", "dts", "fui", "fdi", "fri", "dfi", "tui", "tdi", "tri", "dti"]; var stateNames = ["falseUp", "falseDown", "falseOver", "falseDisabled", "trueUp", "trueDown", "trueOver", "trueDisabled"]; var refNames = ["upSkin", "downSkin", "rolloverSkin", "disabledSkin"]; var tagMap = {falseUpSkin:0, falseDownSkin:1, falseOverSkin:2, falseDisabledSkin:3, trueUpSkin:4, trueDownSkin:5, trueOverSkin:6, trueDisabledSkin:7, falseUpIcon:0, falseDownIcon:1, falseOverIcon:2, falseDisabledIcon:3, trueUpIcon:4, trueDownIcon:5, trueOverIcon:6, trueDisabledIcon:7}; }
Symbol 118 MovieClip [__Packages.mx.controls.scrollClasses.ScrollBar] Frame 0
class mx.controls.scrollClasses.ScrollBar extends mx.core.UIComponent { var isScrolling, scrollTrack_mc, scrollThumb_mc, __height, tabEnabled, focusEnabled, boundingBox_mc, setSkin, upArrow_mc, _minHeight, _minWidth, downArrow_mc, createObject, createClassObject, enabled, _height, dispatchEvent, minMode, maxMode, plusMode, minusMode, _parent, getStyle, scrolling, _ymouse; function ScrollBar () { super(); } function get scrollPosition() { return(_scrollPosition); } function set scrollPosition(pos) { _scrollPosition = pos; if (isScrolling != true) { pos = Math.min(pos, maxPos); pos = Math.max(pos, minPos); var _local3 = (((pos - minPos) * (scrollTrack_mc.height - scrollThumb_mc._height)) / (maxPos - minPos)) + scrollTrack_mc.top; scrollThumb_mc.move(0, _local3); } //return(scrollPosition); } function get pageScrollSize() { return(largeScroll); } function set pageScrollSize(lScroll) { largeScroll = lScroll; //return(pageScrollSize); } function set lineScrollSize(sScroll) { smallScroll = sScroll; //return(lineScrollSize); } function get lineScrollSize() { return(smallScroll); } function get virtualHeight() { return(__height); } function init(Void) { super.init(); _scrollPosition = 0; tabEnabled = false; focusEnabled = false; boundingBox_mc._visible = false; boundingBox_mc._width = (boundingBox_mc._height = 0); } function createChildren(Void) { if (scrollTrack_mc == undefined) { setSkin(skinIDTrack, scrollTrackName); } scrollTrack_mc.visible = false; var _local3 = new Object(); _local3.enabled = false; _local3.preset = mx.controls.SimpleButton.falseDisabled; _local3.initProperties = 0; _local3.autoRepeat = true; _local3.tabEnabled = false; var _local2; if (upArrow_mc == undefined) { _local2 = createButton(upArrowName, "upArrow_mc", skinIDUpArrow, _local3); } _local2.buttonDownHandler = onUpArrow; _local2.clickHandler = onScrollChanged; _minHeight = _local2.height; _minWidth = _local2.width; if (downArrow_mc == undefined) { _local2 = createButton(downArrowName, "downArrow_mc", skinIDDownArrow, _local3); } _local2.buttonDownHandler = onDownArrow; _local2.clickHandler = onScrollChanged; _minHeight = _minHeight + _local2.height; } function createButton(linkageName, id, skinID, o) { if (skinID == skinIDUpArrow) { o.falseUpSkin = upArrowUpName; o.falseDownSkin = upArrowDownName; o.falseOverSkin = upArrowOverName; } else { o.falseUpSkin = downArrowUpName; o.falseDownSkin = downArrowDownName; o.falseOverSkin = downArrowOverName; } var _local3 = createObject(linkageName, id, skinID, o); this[id].visible = false; this[id].useHandCursor = false; return(_local3); } function createThumb(Void) { var _local2 = new Object(); _local2.validateNow = true; _local2.tabEnabled = false; _local2.leftSkin = thumbTopName; _local2.middleSkin = thumbMiddleName; _local2.rightSkin = thumbBottomName; _local2.gripSkin = thumbGripName; createClassObject(mx.controls.scrollClasses.ScrollThumb, "scrollThumb_mc", skinIDThumb, _local2); } function setScrollProperties(pSize, mnPos, mxPos, ls) { var _local4; var _local2 = scrollTrack_mc; pageSize = pSize; largeScroll = (((ls != undefined) && (ls > 0)) ? (ls) : (pSize)); minPos = Math.max(mnPos, 0); maxPos = Math.max(mxPos, 0); _scrollPosition = Math.max(minPos, _scrollPosition); _scrollPosition = Math.min(maxPos, _scrollPosition); if (((maxPos - minPos) > 0) && (enabled)) { var _local5 = _scrollPosition; if (!initializing) { upArrow_mc.enabled = true; downArrow_mc.enabled = true; } _local2.onPress = (_local2.onDragOver = startTrackScroller); _local2.onRelease = releaseScrolling; _local2.onDragOut = (_local2.stopScrolling = stopScrolling); _local2.onReleaseOutside = releaseScrolling; _local2.useHandCursor = false; if (scrollThumb_mc == undefined) { createThumb(); } var _local3 = scrollThumb_mc; if (scrollTrackOverName.length > 0) { _local2.onRollOver = trackOver; _local2.onRollOut = trackOut; } _local4 = (pageSize / ((maxPos - minPos) + pageSize)) * _local2.height; if (_local4 < _local3.minHeight) { if (_local2.height < _local3.minHeight) { _local3.__set__visible(false); } else { _local4 = _local3.minHeight; _local3.__set__visible(true); _local3.setSize(_minWidth, _local3.minHeight + 0); } } else { _local3.__set__visible(true); _local3.setSize(_minWidth, _local4); } _local3.setRange(upArrow_mc.__get__height() + 0, (virtualHeight - downArrow_mc.__get__height()) - _local3.__get__height(), minPos, maxPos); _local5 = Math.min(_local5, maxPos); scrollPosition = (Math.max(_local5, minPos)); } else { scrollThumb_mc.__set__visible(false); if (!initializing) { upArrow_mc.enabled = false; downArrow_mc.enabled = false; } delete _local2.onPress; delete _local2.onDragOver; delete _local2.onRelease; delete _local2.onDragOut; delete _local2.onRollOver; delete _local2.onRollOut; delete _local2.onReleaseOutside; } if (initializing) { scrollThumb_mc.__set__visible(false); } } function setEnabled(enabledFlag) { super.setEnabled(enabledFlag); setScrollProperties(pageSize, minPos, maxPos, largeScroll); } function draw(Void) { if (initializing) { initializing = false; scrollTrack_mc.visible = true; upArrow_mc.__set__visible(true); downArrow_mc.__set__visible(true); } size(); } function size(Void) { if (_height == 1) { return(undefined); } if (upArrow_mc == undefined) { return(undefined); } var _local3 = upArrow_mc.__get__height(); var _local2 = downArrow_mc.__get__height(); upArrow_mc.move(0, 0); var _local4 = scrollTrack_mc; _local4._y = _local3; _local4._height = (virtualHeight - _local3) - _local2; downArrow_mc.move(0, virtualHeight - _local2); setScrollProperties(pageSize, minPos, maxPos, largeScroll); } function dispatchScrollEvent(detail) { dispatchEvent({type:"scroll", detail:detail}); } function isScrollBarKey(k) { if (k == 36) { if (scrollPosition != 0) { scrollPosition = (0); dispatchScrollEvent(minMode); } return(true); } if (k == 35) { if (scrollPosition < maxPos) { scrollPosition = (maxPos); dispatchScrollEvent(maxMode); } return(true); } return(false); } function scrollIt(inc, mode) { var _local3 = smallScroll; if (inc != "Line") { _local3 = ((largeScroll == 0) ? (pageSize) : (largeScroll)); } var _local2 = _scrollPosition + (mode * _local3); if (_local2 > maxPos) { _local2 = maxPos; } else if (_local2 < minPos) { _local2 = minPos; } if (scrollPosition != _local2) { scrollPosition = (_local2); var _local4 = ((mode < 0) ? (minusMode) : (plusMode)); dispatchScrollEvent(inc + _local4); } } function startTrackScroller(Void) { _parent.pressFocus(); if (_parent.scrollTrackDownName.length > 0) { if (_parent.scrollTrackDown_mc == undefined) { _parent.setSkin(skinIDTrackDown, scrollTrackDownName); } else { _parent.scrollTrackDown_mc.visible = true; } } _parent.trackScroller(); _parent.scrolling = setInterval(_parent, "scrollInterval", getStyle("repeatDelay"), "Page", -1); } function scrollInterval(inc, mode) { clearInterval(scrolling); if (inc == "Page") { trackScroller(); } else { scrollIt(inc, mode); } scrolling = setInterval(this, "scrollInterval", getStyle("repeatInterval"), inc, mode); } function trackScroller(Void) { if ((scrollThumb_mc._y + scrollThumb_mc.__get__height()) < _ymouse) { scrollIt("Page", 1); } else if (scrollThumb_mc._y > _ymouse) { scrollIt("Page", -1); } } function dispatchScrollChangedEvent(Void) { dispatchEvent({type:"scrollChanged"}); } function stopScrolling(Void) { clearInterval(_parent.scrolling); _parent.scrollTrackDown_mc.visible = false; } function releaseScrolling(Void) { _parent.releaseFocus(); stopScrolling(); _parent.dispatchScrollChangedEvent(); } function trackOver(Void) { if (_parent.scrollTrackOverName.length > 0) { if (_parent.scrollTrackOver_mc == undefined) { _parent.setSkin(skinIDTrackOver, scrollTrackOverName); } else { _parent.scrollTrackOver_mc.visible = true; } } } function trackOut(Void) { _parent.scrollTrackOver_mc.visible = false; } function onUpArrow(Void) { _parent.scrollIt("Line", -1); } function onDownArrow(Void) { _parent.scrollIt("Line", 1); } function onScrollChanged(Void) { _parent.dispatchScrollChangedEvent(); } static var symbolOwner = mx.core.UIComponent; var className = "ScrollBar"; var minPos = 0; var maxPos = 0; var pageSize = 0; var largeScroll = 0; var smallScroll = 1; var _scrollPosition = 0; var scrollTrackName = "ScrollTrack"; var scrollTrackOverName = ""; var scrollTrackDownName = ""; var upArrowName = "BtnUpArrow"; var upArrowUpName = "ScrollUpArrowUp"; var upArrowOverName = "ScrollUpArrowOver"; var upArrowDownName = "ScrollUpArrowDown"; var downArrowName = "BtnDownArrow"; var downArrowUpName = "ScrollDownArrowUp"; var downArrowOverName = "ScrollDownArrowOver"; var downArrowDownName = "ScrollDownArrowDown"; var thumbTopName = "ScrollThumbTopUp"; var thumbMiddleName = "ScrollThumbMiddleUp"; var thumbBottomName = "ScrollThumbBottomUp"; var thumbGripName = "ScrollThumbGripUp"; static var skinIDTrack = 0; static var skinIDTrackOver = 1; static var skinIDTrackDown = 2; static var skinIDUpArrow = 3; static var skinIDDownArrow = 4; static var skinIDThumb = 5; var idNames = new Array("scrollTrack_mc", "scrollTrackOver_mc", "scrollTrackDown_mc", "upArrow_mc", "downArrow_mc"); var clipParameters = {minPos:1, maxPos:1, pageSize:1, scrollPosition:1, lineScrollSize:1, pageScrollSize:1, visible:1, enabled:1}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.controls.scrollClasses.ScrollBar.prototype.clipParameters, mx.core.UIComponent.prototype.clipParameters); var initializing = true; }
Symbol 119 MovieClip [__Packages.mx.effects.Tween] Frame 0
class mx.effects.Tween extends Object { static var IntervalToken; var arrayMode, listener, initVal, endVal, startTime, updateFunc, endFunc, ID; function Tween (listenerObj, init, end, dur) { super(); if (listenerObj == undefined) { return; } if (typeof(init) != "number") { arrayMode = true; } listener = listenerObj; initVal = init; endVal = end; if (dur != undefined) { duration = dur; } startTime = getTimer(); if (duration == 0) { endTween(); } else { AddTween(this); } } static function AddTween(tween) { tween.ID = ActiveTweens.length; ActiveTweens.push(tween); if (IntervalToken == undefined) { Dispatcher.DispatchTweens = DispatchTweens; IntervalToken = setInterval(Dispatcher, "DispatchTweens", Interval); } } static function RemoveTweenAt(index) { var _local2 = ActiveTweens; if (((index >= _local2.length) || (index < 0)) || (index == undefined)) { return(undefined); } _local2.splice(index, 1); var _local4 = _local2.length; var _local1 = index; while (_local1 < _local4) { _local2[_local1].ID--; _local1++; } if (_local4 == 0) { clearInterval(IntervalToken); delete IntervalToken; } } static function DispatchTweens(Void) { var _local2 = ActiveTweens; var _local3 = _local2.length; var _local1 = 0; while (_local1 < _local3) { _local2[_local1].doInterval(); _local1++; } updateAfterEvent(); } function doInterval() { var _local2 = getTimer() - startTime; var _local3 = getCurVal(_local2); if (_local2 >= duration) { endTween(); } else if (updateFunc != undefined) { listener[updateFunc](_local3); } else { listener.onTweenUpdate(_local3); } } function getCurVal(curTime) { if (arrayMode) { var _local3 = new Array(); var _local2 = 0; while (_local2 < initVal.length) { _local3[_local2] = easingEquation(curTime, initVal[_local2], endVal[_local2] - initVal[_local2], duration); _local2++; } return(_local3); } return(easingEquation(curTime, initVal, endVal - initVal, duration)); } function endTween() { if (endFunc != undefined) { listener[endFunc](endVal); } else { listener.onTweenEnd(endVal); } RemoveTweenAt(ID); } function setTweenHandlers(update, end) { updateFunc = update; endFunc = end; } function easingEquation(t, b, c, d) { return(((c / 2) * (Math.sin(Math.PI * ((t / d) - 0.5)) + 1)) + b); } static var ActiveTweens = new Array(); static var Interval = 10; static var Dispatcher = new Object(); var duration = 3000; }
Symbol 120 MovieClip [__Packages.mx.controls.listclasses.SelectableRow] Frame 0
class mx.controls.listclasses.SelectableRow extends mx.core.UIComponent { var __height, cell, owner, rowIndex, icon_mc, createObject, __width, backGround, highlight, highlightColor, createLabel, createClassObject, listOwner, tabEnabled, item, createEmptyMovieClip, drawRect, isChangedToSelected, bGTween, grandOwner; function SelectableRow () { super(); } function setValue(itmObj, state) { var _local7 = __height; var _local2 = cell; var _local5 = owner; var _local8 = itemToString(itmObj); if (_local2.getValue() != _local8) { _local2.setValue(_local8, itmObj, state); } var _local4 = _local5.getPropertiesAt(rowIndex + _local5.__vPosition).icon; if (_local4 == undefined) { _local4 = _local5.__iconFunction(itmObj); if (_local4 == undefined) { _local4 = itmObj[_local5.__iconField]; if (_local4 == undefined) { _local4 = _local5.getStyle("defaultIcon"); } } } var _local3 = icon_mc; if ((_local4 != undefined) && (itmObj != undefined)) { _local3 = createObject(_local4, "icon_mc", 20); _local3._x = 2; _local3._y = (_local7 - _local3._height) / 2; _local2._x = 4 + _local3._width; } else { _local3.removeMovieClip(); _local2._x = 2; } var _local9 = ((_local3 == undefined) ? 0 : (_local3._width)); _local2.setSize(__width - _local9, Math.min(_local7, _local2.getPreferredHeight())); _local2._y = (_local7 - _local2._height) / 2; } function size(Void) { var _local3 = backGround; var _local2 = cell; var _local4 = __height; var _local5 = __width; var _local6 = ((icon_mc == undefined) ? 0 : (icon_mc._width)); _local2.setSize(_local5 - _local6, Math.min(_local4, _local2.getPreferredHeight())); _local2._y = (_local4 - _local2._height) / 2; icon_mc._y = (_local4 - icon_mc._height) / 2; _local3._x = 0; _local3._width = _local5; _local3._height = _local4; drawRowFill(_local3, normalColor); drawRowFill(highlight, highlightColor); } function setCellRenderer(forceSizing) { var _local3 = owner.__cellRenderer; var _local4; if (cell != undefined) { _local4 = cell._x; cell.removeMovieClip(); cell.removeTextField(); } var _local2; if (_local3 == undefined) { _local2 = (cell = createLabel("cll", 0, {styleName:this})); _local2.styleName = owner; _local2.selectable = false; _local2.tabEnabled = false; _local2.background = false; _local2.border = false; } else if (typeof(_local3) == "string") { _local2 = (cell = createObject(_local3, "cll", 0, {styleName:this})); } else { _local2 = (cell = createClassObject(_local3, "cll", 0, {styleName:this})); } _local2.owner = this; _local2.listOwner = owner; _local2.getCellIndex = getCellIndex; _local2.getDataLabel = getDataLabel; if (_local4 != undefined) { _local2._x = _local4; } if (forceSizing) { size(); } } function getCellIndex(Void) { return({columnIndex:0, itemIndex:owner.rowIndex + listOwner.__vPosition}); } function getDataLabel() { return(listOwner.labelField); } function init(Void) { super.init(); tabEnabled = false; } function createChildren(Void) { setCellRenderer(false); setupBG(); setState(state, false); } function drawRow(itmObj, state, transition) { item = itmObj; setState(state, transition); setValue(itmObj, state, transition); } function itemToString(itmObj) { if (itmObj == undefined) { return(" "); } var _local2 = owner.__labelFunction(itmObj); if (_local2 == undefined) { _local2 = ((itmObj instanceof XMLNode) ? (itmObj.attributes[owner.__labelField]) : (itmObj[owner.__labelField])); if (_local2 == undefined) { _local2 = " "; if (typeof(itmObj) == "object") { for (var _local4 in itmObj) { if (_local4 != "__ID__") { _local2 = (itmObj[_local4] + ", ") + _local2; } } _local2 = _local2.substring(0, _local2.length - 2); } else { _local2 = itmObj; } } } return(_local2); } function setupBG(Void) { var _local2 = (backGround = createEmptyMovieClip("bG_mc", LOWEST_DEPTH)); drawRowFill(_local2, normalColor); highlight = createEmptyMovieClip("tran_mc", LOWEST_DEPTH + 10); _local2.owner = this; _local2.grandOwner = owner; _local2.onPress = bGOnPress; _local2.onRelease = bGOnRelease; _local2.onRollOver = bGOnRollOver; _local2.onRollOut = bGOnRollOut; _local2.onDragOver = bGOnDragOver; _local2.onDragOut = bGOnDragOut; _local2.useHandCursor = false; _local2.trackAsMenu = true; _local2.drawRect = drawRect; highlight.drawRect = drawRect; } function drawRowFill(mc, newClr) { mc.clear(); mc.beginFill(newClr); mc.drawRect(1, 0, __width, __height); mc.endFill(); mc._width = __width; mc._height = __height; } function setState(newState, transition) { var _local2 = highlight; var _local8 = backGround; var _local4 = __height; var _local3 = owner; if (!_local3.enabled) { if ((newState == "selected") || (state == "selected")) { highlightColor = _local3.getStyle("selectionDisabledColor"); drawRowFill(_local2, highlightColor); _local2._visible = true; _local2._y = 0; _local2._height = _local4; } else { _local2._visible = false; normalColor = _local3.getStyle("backgroundDisabledColor"); drawRowFill(_local8, normalColor); } cell.__enabled = false; cell.setColor(_local3.getStyle("disabledColor")); } else { cell.__enabled = true; if (transition && ((newState == state) || ((newState == "highlighted") && (state == "selected")))) { isChangedToSelected = true; return(undefined); } var _local6 = _local3.getStyle("selectionDuration"); var _local7 = 0; if (isChangedToSelected && (newState == "selected")) { transition = false; } var _local10 = transition && (_local6 != 0); if (newState == "normal") { _local7 = _local3.getStyle("color"); normalColor = getNormalColor(); drawRowFill(_local8, normalColor); if (_local10) { _local6 = _local6 / 2; _local2._height = _local4; _local2._width = __width; _local2._y = 0; bGTween = new mx.effects.Tween(this, _local4 + 2, _local4 * 0.2, _local6, 5); } else { _local2._visible = false; } delete isChangedToSelected; } else { highlightColor = _local3.getStyle(((newState == "highlighted") ? "rollOverColor" : "selectionColor")); drawRowFill(_local2, highlightColor); _local2._visible = true; _local7 = _local3.getStyle(((newState == "highlighted") ? "textRollOverColor" : "textSelectedColor")); if (_local10) { _local2._height = _local4 * 0.5; _local2._y = (_local4 - _local2._height) / 2; bGTween = new mx.effects.Tween(this, _local2._height, _local4 + 2, _local6, 5); var _local9 = _local3.getStyle("selectionEasing"); if (_local9 != undefined) { bGTween.easingEquation = _local9; } } else { _local2._y = 0; _local2._height = _local4; } } cell.setColor(_local7); } state = newState; } function onTweenUpdate(val) { highlight._height = val; highlight._y = (__height - val) / 2; } function onTweenEnd(val) { onTweenUpdate(val); highlight._visible = state != "normal"; } function getNormalColor(Void) { var _local3; var _local2 = owner; if (!owner.enabled) { _local3 = _local2.getStyle("backgroundDisabledColor"); } else { var _local5 = rowIndex + _local2.__vPosition; if (rowIndex == undefined) { _local3 = _local2.getPropertiesOf(item).backgroundColor; } else { _local3 = _local2.getPropertiesAt(_local5).backgroundColor; } if (_local3 == undefined) { var _local4 = _local2.getStyle("alternatingRowColors"); if (_local4 == undefined) { _local3 = _local2.getStyle("backgroundColor"); } else { _local3 = _local4[_local5 % _local4.length]; } } } return(_local3); } function invalidateStyle(propName) { cell.invalidateStyle(propName); super.invalidateStyle(propName); } function bGOnPress(Void) { grandOwner.pressFocus(); grandOwner.onRowPress(owner.rowIndex); } function bGOnRelease(Void) { grandOwner.releaseFocus(); grandOwner.onRowRelease(owner.rowIndex); } function bGOnRollOver(Void) { grandOwner.onRowRollOver(owner.rowIndex); } function bGOnRollOut(Void) { grandOwner.onRowRollOut(owner.rowIndex); } function bGOnDragOver(Void) { grandOwner.onRowDragOver(owner.rowIndex); } function bGOnDragOut(Void) { grandOwner.onRowDragOut(owner.rowIndex); } static var LOWEST_DEPTH = -16384; var state = "normal"; var disabledColor = 15263976; var normalColor = 16777215; }
Symbol 121 MovieClip [__Packages.mx.skins.ColoredSkinElement] Frame 0
class mx.skins.ColoredSkinElement { var getStyle, _color, onEnterFrame; function ColoredSkinElement () { } function setColor(c) { if (c != undefined) { var _local2 = new Color(this); _local2.setRGB(c); } } function draw(Void) { setColor(getStyle(_color)); onEnterFrame = undefined; } function invalidateStyle(Void) { onEnterFrame = draw; } static function setColorStyle(p, colorStyle) { if (p._color == undefined) { p._color = colorStyle; } p.setColor = mixins.setColor; p.invalidateStyle = mixins.invalidateStyle; p.draw = mixins.draw; p.setColor(p.getStyle(colorStyle)); } static var mixins = new mx.skins.ColoredSkinElement(); }
Symbol 122 MovieClip [__Packages.mx.core.ext.UIObjectExtensions] Frame 0
class mx.core.ext.UIObjectExtensions { function UIObjectExtensions () { } static function addGeometry(tf, ui) { tf.addProperty("width", ui.__get__width, null); tf.addProperty("height", ui.__get__height, null); tf.addProperty("left", ui.__get__left, null); tf.addProperty("x", ui.__get__x, null); tf.addProperty("top", ui.__get__top, null); tf.addProperty("y", ui.__get__y, null); tf.addProperty("right", ui.__get__right, null); tf.addProperty("bottom", ui.__get__bottom, null); tf.addProperty("visible", ui.__get__visible, ui.__set__visible); } static function Extensions() { if (bExtended == true) { return(true); } bExtended = true; var _local6 = mx.core.UIObject.prototype; var _local9 = mx.skins.SkinElement.prototype; addGeometry(_local9, _local6); mx.events.UIEventDispatcher.initialize(_local6); var _local13 = mx.skins.ColoredSkinElement; mx.styles.CSSTextStyles.addTextStyles(_local6); var _local5 = MovieClip.prototype; _local5.getTopLevel = _local6.getTopLevel; _local5.createLabel = _local6.createLabel; _local5.createObject = _local6.createObject; _local5.createClassObject = _local6.createClassObject; _local5.createEmptyObject = _local6.createEmptyObject; _local5.destroyObject = _local6.destroyObject; _global.ASSetPropFlags(_local5, "getTopLevel", 1); _global.ASSetPropFlags(_local5, "createLabel", 1); _global.ASSetPropFlags(_local5, "createObject", 1); _global.ASSetPropFlags(_local5, "createClassObject", 1); _global.ASSetPropFlags(_local5, "createEmptyObject", 1); _global.ASSetPropFlags(_local5, "destroyObject", 1); _local5.__getTextFormat = _local6.__getTextFormat; _local5._getTextFormat = _local6._getTextFormat; _local5.getStyleName = _local6.getStyleName; _local5.getStyle = _local6.getStyle; _global.ASSetPropFlags(_local5, "__getTextFormat", 1); _global.ASSetPropFlags(_local5, "_getTextFormat", 1); _global.ASSetPropFlags(_local5, "getStyleName", 1); _global.ASSetPropFlags(_local5, "getStyle", 1); var _local7 = TextField.prototype; addGeometry(_local7, _local6); _local7.addProperty("enabled", function () { return(this.__enabled); }, function (x) { this.__enabled = x; this.invalidateStyle(); }); _local7.move = _local9.move; _local7.setSize = _local9.setSize; _local7.invalidateStyle = function () { this.invalidateFlag = true; }; _local7.draw = function () { if (this.invalidateFlag) { this.invalidateFlag = false; var _local2 = this._getTextFormat(); this.setTextFormat(_local2); this.setNewTextFormat(_local2); this.embedFonts = _local2.embedFonts == true; if (this.__text != undefined) { if (this.text == "") { this.text = this.__text; } delete this.__text; } this._visible = true; } }; _local7.setColor = function (color) { this.textColor = color; }; _local7.getStyle = _local5.getStyle; _local7.__getTextFormat = _local6.__getTextFormat; _local7.setValue = function (v) { this.text = v; }; _local7.getValue = function () { return(this.text); }; _local7.addProperty("value", function () { return(this.getValue()); }, function (v) { this.setValue(v); }); _local7._getTextFormat = function () { var _local2 = this.stylecache.tf; if (_local2 != undefined) { return(_local2); } _local2 = new TextFormat(); this.__getTextFormat(_local2); this.stylecache.tf = _local2; if (this.__enabled == false) { if (this.enabledColor == undefined) { var _local4 = this.getTextFormat(); this.enabledColor = _local4.color; } var _local3 = this.getStyle("disabledColor"); _local2.color = _local3; } else if (this.enabledColor != undefined) { if (_local2.color == undefined) { _local2.color = this.enabledColor; } } return(_local2); }; _local7.getPreferredWidth = function () { this.draw(); return(this.textWidth + 4); }; _local7.getPreferredHeight = function () { this.draw(); return(this.textHeight + 4); }; TextFormat.prototype.getTextExtent2 = function (s) { var _local3 = _root._getTextExtent; if (_local3 == undefined) { _root.createTextField("_getTextExtent", -2, 0, 0, 1000, 100); _local3 = _root._getTextExtent; _local3._visible = false; } _root._getTextExtent.text = s; var _local4 = this.align; this.align = "left"; _root._getTextExtent.setTextFormat(this); this.align = _local4; return({width:_local3.textWidth, height:_local3.textHeight}); }; if (_global.style == undefined) { _global.style = new mx.styles.CSSStyleDeclaration(); _global.cascadingStyles = true; _global.styles = new Object(); _global.skinRegistry = new Object(); if (_global._origWidth == undefined) { _global.origWidth = Stage.width; _global.origHeight = Stage.height; } } var _local4 = _root; while (_local4._parent != undefined) { _local4 = _local4._parent; } _local4.addProperty("width", function () { return(Stage.width); }, null); _local4.addProperty("height", function () { return(Stage.height); }, null); _global.ASSetPropFlags(_local4, "width", 1); _global.ASSetPropFlags(_local4, "height", 1); return(true); } static var bExtended = false; static var UIObjectExtended = Extensions(); static var UIObjectDependency = mx.core.UIObject; static var SkinElementDependency = mx.skins.SkinElement; static var CSSTextStylesDependency = mx.styles.CSSTextStyles; static var UIEventDispatcherDependency = mx.events.UIEventDispatcher; }
Symbol 123 MovieClip [__Packages.mx.skins.halo.Defaults] Frame 0
class mx.skins.halo.Defaults { var beginGradientFill, beginFill, moveTo, lineTo, curveTo, endFill; function Defaults () { } static function setThemeDefaults() { var _local2 = _global.style; _local2.themeColor = 8453965 /* 0x80FF4D */; _local2.disabledColor = 8684164 /* 0x848284 */; _local2.modalTransparency = 0; _local2.filled = true; _local2.stroked = true; _local2.strokeWidth = 1; _local2.strokeColor = 0; _local2.fillColor = 16777215 /* 0xFFFFFF */; _local2.repeatInterval = 35; _local2.repeatDelay = 500; _local2.fontFamily = "_sans"; _local2.fontSize = 12; _local2.selectionColor = 13500353 /* 0xCDFFC1 */; _local2.rollOverColor = 14942166 /* 0xE3FFD6 */; _local2.useRollOver = true; _local2.backgroundDisabledColor = 14540253 /* 0xDDDDDD */; _local2.selectionDisabledColor = 14540253 /* 0xDDDDDD */; _local2.selectionDuration = 200; _local2.openDuration = 250; _local2.borderStyle = "inset"; _local2.color = 734012 /* 0x0B333C */; _local2.textSelectedColor = 24371; _local2.textRollOverColor = 2831164 /* 0x2B333C */; _local2.textDisabledColor = 16777215 /* 0xFFFFFF */; _local2.vGridLines = true; _local2.hGridLines = false; _local2.vGridLineColor = 6710886 /* 0x666666 */; _local2.hGridLineColor = 6710886 /* 0x666666 */; _local2.headerColor = 15395562 /* 0xEAEAEA */; _local2.indentation = 17; _local2.folderOpenIcon = "TreeFolderOpen"; _local2.folderClosedIcon = "TreeFolderClosed"; _local2.defaultLeafIcon = "TreeNodeIcon"; _local2.disclosureOpenIcon = "TreeDisclosureOpen"; _local2.disclosureClosedIcon = "TreeDisclosureClosed"; _local2.popupDuration = 150; _local2.todayColor = 6710886 /* 0x666666 */; _local2 = (_global.styles.ScrollSelectList = new mx.styles.CSSStyleDeclaration()); _local2.backgroundColor = 16777215 /* 0xFFFFFF */; _local2.borderColor = 13290186 /* 0xCACACA */; _local2.borderStyle = "inset"; _local2 = (_global.styles.ComboBox = new mx.styles.CSSStyleDeclaration()); _local2.borderStyle = "inset"; _local2 = (_global.styles.NumericStepper = new mx.styles.CSSStyleDeclaration()); _local2.textAlign = "center"; _local2 = (_global.styles.RectBorder = new mx.styles.CSSStyleDeclaration()); _local2.borderColor = 14015965 /* 0xD5DDDD */; _local2.buttonColor = 7305079 /* 0x6F7777 */; _local2.shadowColor = 15658734 /* 0xEEEEEE */; _local2.highlightColor = 12897484 /* 0xC4CCCC */; _local2.shadowCapColor = 14015965 /* 0xD5DDDD */; _local2.borderCapColor = 9542041 /* 0x919999 */; var _local4 = new Object(); _local4.borderColor = 16711680 /* 0xFF0000 */; _local4.buttonColor = 16711680 /* 0xFF0000 */; _local4.shadowColor = 16711680 /* 0xFF0000 */; _local4.highlightColor = 16711680 /* 0xFF0000 */; _local4.shadowCapColor = 16711680 /* 0xFF0000 */; _local4.borderCapColor = 16711680 /* 0xFF0000 */; mx.core.UIComponent.prototype.origBorderStyles = _local4; var _local3; _local3 = (_global.styles.TextInput = new mx.styles.CSSStyleDeclaration()); _local3.backgroundColor = 16777215 /* 0xFFFFFF */; _local3.borderStyle = "inset"; _global.styles.TextArea = _global.styles.TextInput; _local3 = (_global.styles.Window = new mx.styles.CSSStyleDeclaration()); _local3.borderStyle = "default"; _local3 = (_global.styles.windowStyles = new mx.styles.CSSStyleDeclaration()); _local3.fontWeight = "bold"; _local3 = (_global.styles.dataGridStyles = new mx.styles.CSSStyleDeclaration()); _local3.fontWeight = "bold"; _local3 = (_global.styles.Alert = new mx.styles.CSSStyleDeclaration()); _local3.borderStyle = "alert"; _local3 = (_global.styles.ScrollView = new mx.styles.CSSStyleDeclaration()); _local3.borderStyle = "inset"; _local3 = (_global.styles.View = new mx.styles.CSSStyleDeclaration()); _local3.borderStyle = "none"; _local3 = (_global.styles.ProgressBar = new mx.styles.CSSStyleDeclaration()); _local3.color = 11187123 /* 0xAAB3B3 */; _local3.fontWeight = "bold"; _local3 = (_global.styles.AccordionHeader = new mx.styles.CSSStyleDeclaration()); _local3.fontWeight = "bold"; _local3.fontSize = "11"; _local3 = (_global.styles.Accordion = new mx.styles.CSSStyleDeclaration()); _local3.borderStyle = "solid"; _local3.backgroundColor = 16777215 /* 0xFFFFFF */; _local3.borderColor = 9081738 /* 0x8A938A */; _local3.headerHeight = 22; _local3.marginLeft = (_local3.marginRight = (_local3.marginTop = (_local3.marginBottom = -1))); _local3.verticalGap = -1; _local3 = (_global.styles.DateChooser = new mx.styles.CSSStyleDeclaration()); _local3.borderColor = 9542041 /* 0x919999 */; _local3.headerColor = 16777215 /* 0xFFFFFF */; _local3 = (_global.styles.CalendarLayout = new mx.styles.CSSStyleDeclaration()); _local3.fontSize = 10; _local3.textAlign = "right"; _local3.color = 2831164 /* 0x2B333C */; _local3 = (_global.styles.WeekDayStyle = new mx.styles.CSSStyleDeclaration()); _local3.fontWeight = "bold"; _local3.fontSize = 11; _local3.textAlign = "center"; _local3.color = 2831164 /* 0x2B333C */; _local3 = (_global.styles.TodayStyle = new mx.styles.CSSStyleDeclaration()); _local3.color = 16777215 /* 0xFFFFFF */; _local3 = (_global.styles.HeaderDateText = new mx.styles.CSSStyleDeclaration()); _local3.fontSize = 12; _local3.fontWeight = "bold"; _local3.textAlign = "center"; } function drawRoundRect(x, y, w, h, r, c, alpha, rot, gradient, ratios) { if (typeof(r) == "object") { var _local18 = r.br; var _local16 = r.bl; var _local15 = r.tl; var _local10 = r.tr; } else { var _local10 = r; var _local15 = _local10; var _local16 = _local15; var _local18 = _local16; } if (typeof(c) == "object") { if (typeof(alpha) != "object") { var _local9 = [alpha, alpha]; } else { var _local9 = alpha; } if (ratios == undefined) { ratios = [0, 255]; } var _local14 = h * 0.7; if (typeof(rot) != "object") { var _local11 = {matrixType:"box", x:-_local14, y:_local14, w:w * 2, h:h * 4, r:rot * 0.0174532925199433 /* Math.PI/180 */}; } else { var _local11 = rot; } if (gradient == "radial") { beginGradientFill("radial", c, _local9, ratios, _local11); } else { beginGradientFill("linear", c, _local9, ratios, _local11); } } else if (c != undefined) { beginFill(c, alpha); } r = _local18; var _local13 = r - (r * 0.707106781186547); var _local12 = r - (r * 0.414213562373095); moveTo(x + w, (y + h) - r); lineTo(x + w, (y + h) - r); curveTo(x + w, (y + h) - _local12, (x + w) - _local13, (y + h) - _local13); curveTo((x + w) - _local12, y + h, (x + w) - r, y + h); r = _local16; _local13 = r - (r * 0.707106781186547); _local12 = r - (r * 0.414213562373095); lineTo(x + r, y + h); curveTo(x + _local12, y + h, x + _local13, (y + h) - _local13); curveTo(x, (y + h) - _local12, x, (y + h) - r); r = _local15; _local13 = r - (r * 0.707106781186547); _local12 = r - (r * 0.414213562373095); lineTo(x, y + r); curveTo(x, y + _local12, x + _local13, y + _local13); curveTo(x + _local12, y, x + r, y); r = _local10; _local13 = r - (r * 0.707106781186547); _local12 = r - (r * 0.414213562373095); lineTo((x + w) - r, y); curveTo((x + w) - _local12, y, (x + w) - _local13, y + _local13); curveTo(x + w, y + _local12, x + w, y + r); lineTo(x + w, (y + h) - r); if (c != undefined) { endFill(); } } static function classConstruct() { mx.core.ext.UIObjectExtensions.Extensions(); setThemeDefaults(); mx.core.UIObject.prototype.drawRoundRect = mx.skins.halo.Defaults.prototype.drawRoundRect; return(true); } static var classConstructed = classConstruct(); static var CSSStyleDeclarationDependency = mx.styles.CSSStyleDeclaration; static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions; static var UIObjectDependency = mx.core.UIObject; }
Symbol 124 MovieClip [__Packages.mx.managers.SystemManager] Frame 0
class mx.managers.SystemManager { static var _xAddEventListener, addEventListener, __addEventListener, _xRemoveEventListener, removeEventListener, __removeEventListener, form, __screen, dispatchEvent; function SystemManager () { } static function init(Void) { if (_initialized == false) { _initialized = true; mx.events.EventDispatcher.initialize(mx.managers.SystemManager); Mouse.addListener(mx.managers.SystemManager); Stage.addListener(mx.managers.SystemManager); _xAddEventListener = addEventListener; addEventListener = __addEventListener; _xRemoveEventListener = removeEventListener; removeEventListener = __removeEventListener; } } static function addFocusManager(f) { form = f; f.focusManager.activate(); } static function removeFocusManager(f) { } static function onMouseDown(Void) { var _local1 = form; _local1.focusManager._onMouseDown(); } static function onResize(Void) { var _local7 = Stage.width; var _local6 = Stage.height; var _local9 = _global.origWidth; var _local8 = _global.origHeight; var _local3 = Stage.align; var _local5 = (_local9 - _local7) / 2; var _local4 = (_local8 - _local6) / 2; if (_local3 == "T") { _local4 = 0; } else if (_local3 == "B") { _local4 = _local8 - _local6; } else if (_local3 == "L") { _local5 = 0; } else if (_local3 == "R") { _local5 = _local9 - _local7; } else if (_local3 == "LT") { _local4 = 0; _local5 = 0; } else if (_local3 == "TR") { _local4 = 0; _local5 = _local9 - _local7; } else if (_local3 == "LB") { _local4 = _local8 - _local6; _local5 = 0; } else if (_local3 == "RB") { _local4 = _local8 - _local6; _local5 = _local9 - _local7; } if (__screen == undefined) { __screen = new Object(); } __screen.x = _local5; __screen.y = _local4; __screen.width = _local7; __screen.height = _local6; _root.focusManager.relocate(); dispatchEvent({type:"resize"}); } static function get screen() { init(); if (__screen == undefined) { onResize(); } return(__screen); } static var _initialized = false; static var idleFrames = 0; static var isMouseDown = false; static var forms = new Array(); }
Symbol 125 MovieClip [__Packages.mx.managers.FocusManager] Frame 0
class mx.managers.FocusManager extends mx.core.UIComponent { var __defaultPushButton, defPushButton, form, move, tabEnabled, _width, _height, _x, _y, _alpha, _parent, tabCapture, watch, lastMouse, _visible, lastFocus, doLater, lastSelFocus, cancelAllDoLaters, _searchKey, _lastTarget, _firstNode, _nextIsNext, _nextNode, _lastx, _prevNode, _needPrev, _foundList, _prevObj, _nextObj, _firstObj, _lastObj, _lastNode, lastTabFocus, findFocusFromObject; function FocusManager () { super(); } function get defaultPushButton() { return(__defaultPushButton); } function set defaultPushButton(x) { if (x != __defaultPushButton) { __defaultPushButton.__set__emphasized(false); __defaultPushButton = x; defPushButton = x; x.__set__emphasized(true); } //return(defaultPushButton); } function getMaxTabIndex(o) { var _local3 = 0; var _local6; for (_local6 in o) { var _local2 = o[_local6]; if (_local2._parent == o) { if (_local2.tabIndex != undefined) { if (_local2.tabIndex > _local3) { _local3 = _local2.tabIndex; } } if (_local2.tabChildren == true) { var _local4 = getMaxTabIndex(_local2); if (_local4 > _local3) { _local3 = _local4; } } } } return(_local3); } function getNextTabIndex(Void) { return(getMaxTabIndex(form) + 1); } function get nextTabIndex() { return(getNextTabIndex()); } function relocate(Void) { var _local2 = mx.managers.SystemManager.__get__screen(); move(_local2.x - 1, _local2.y - 1); } function init(Void) { super.init(); tabEnabled = false; _width = (_height = 1); _x = (_y = -1); _alpha = 0; _parent.focusManager = this; _parent.tabChildren = true; _parent.tabEnabled = false; form = _parent; _parent.addEventListener("hide", this); _parent.addEventListener("reveal", this); mx.managers.SystemManager.init(); mx.managers.SystemManager.addFocusManager(form); tabCapture.tabIndex = 0; watch("enabled", enabledChanged); Selection.addListener(this); lastMouse = new Object(); _global.ASSetPropFlags(_parent, "focusManager", 1); _global.ASSetPropFlags(_parent, "tabChildren", 1); _global.ASSetPropFlags(_parent, "tabEnabled", 1); } function enabledChanged(id, oldValue, newValue) { _visible = newValue; return(newValue); } function activate(Void) { Key.addListener(this); activated = (_visible = true); if (lastFocus != undefined) { bNeedFocus = true; if (!mx.managers.SystemManager.isMouseDown) { doLater(this, "restoreFocus"); } } } function deactivate(Void) { Key.removeListener(this); activated = (_visible = false); var _local2 = getSelectionFocus(); var _local3 = getActualFocus(_local2); if (isOurFocus(_local3)) { lastSelFocus = _local2; lastFocus = _local3; } cancelAllDoLaters(); } function isOurFocus(o) { if (o.focusManager == this) { return(true); } while (o != undefined) { if (o.focusManager != undefined) { return(false); } if (o._parent == _parent) { return(true); } o = o._parent; } return(false); } function onSetFocus(o, n) { if (n == null) { if (activated) { bNeedFocus = true; } } else { var _local2 = getFocus(); if (isOurFocus(_local2)) { bNeedFocus = false; lastFocus = _local2; lastSelFocus = n; } } } function restoreFocus(Void) { var _local2 = lastSelFocus.hscroll; if (_local2 != undefined) { var _local5 = lastSelFocus.scroll; var _local4 = lastSelFocus.background; } lastFocus.setFocus(); var _local3 = Selection; Selection.setSelection(_local3.lastBeginIndex, _local3.lastEndIndex); if (_local2 != undefined) { lastSelFocus.scroll = _local5; lastSelFocus.hscroll = _local2; lastSelFocus.background = _local4; } } function onUnload(Void) { mx.managers.SystemManager.removeFocusManager(form); } function setFocus(o) { if (o == null) { Selection.setFocus(null); } else if (o.setFocus == undefined) { Selection.setFocus(o); } else { o.setFocus(); } } function getActualFocus(o) { var _local1 = o._parent; while (_local1 != undefined) { if (_local1.focusTextField != undefined) { while (_local1.focusTextField != undefined) { o = _local1; _local1 = _local1._parent; if (_local1 == undefined) { return(undefined); } if (_local1.focusTextField == undefined) { return(o); } } } if (_local1.tabEnabled != true) { return(o); } o = _local1; _local1 = o._parent; } return(undefined); } function getSelectionFocus() { var m = Selection.getFocus(); var o = eval (m); return(o); } function getFocus(Void) { var _local2 = getSelectionFocus(); return(getActualFocus(_local2)); } function walkTree(p, index, groupName, dir, lookup, firstChild) { var _local5 = true; var _local11; for (_local11 in p) { var _local2 = p[_local11]; if ((((_local2._parent == p) && (_local2.enabled != false)) && (_local2._visible != false)) && ((_local2.tabEnabled == true) || ((_local2.tabEnabled != false) && ((((((((_local2.onPress != undefined) || (_local2.onRelease != undefined)) || (_local2.onReleaseOutside != undefined)) || (_local2.onDragOut != undefined)) || (_local2.onDragOver != undefined)) || (_local2.onRollOver != undefined)) || (_local2.onRollOut != undefined)) || (_local2 instanceof TextField))))) { if (_local2._searchKey == _searchKey) { continue; } _local2._searchKey = _searchKey; if (_local2 != _lastTarget) { if (((_local2.groupName != undefined) || (groupName != undefined)) && (_local2.groupName == groupName)) { continue; } if ((_local2 instanceof TextField) && (_local2.selectable == false)) { continue; } if (_local5 || (((_local2.groupName != undefined) && (_local2.groupName == _firstNode.groupName)) && (_local2.selected == true))) { if (firstChild) { _firstNode = _local2; firstChild = false; } } if (_nextIsNext == true) { if ((((_local2.groupName != undefined) && (_local2.groupName == _nextNode.groupName)) && (_local2.selected == true)) || ((_nextNode == undefined) && ((_local2.groupName == undefined) || ((_local2.groupName != undefined) && (_local2.groupName != groupName))))) { _nextNode = _local2; } } if ((_local2.groupName == undefined) || (groupName != _local2.groupName)) { if (((_lastx.groupName != undefined) && (_local2.groupName == _lastx.groupName)) && (_lastx.selected == true)) { } else { _lastx = _local2; } } } else { _prevNode = _lastx; _needPrev = false; _nextIsNext = true; } if (_local2.tabIndex != undefined) { if (_local2.tabIndex == index) { if (_foundList[_local2._name] == undefined) { if (_needPrev) { _prevObj = _local2; _needPrev = false; } _nextObj = _local2; } } if (dir && (_local2.tabIndex > index)) { if (((_nextObj == undefined) || ((_nextObj.tabIndex > _local2.tabIndex) && (((_local2.groupName == undefined) || (_nextObj.groupName == undefined)) || (_local2.groupName != _nextObj.groupName)))) || ((((_nextObj.groupName != undefined) && (_nextObj.groupName == _local2.groupName)) && (_nextObj.selected != true)) && ((_local2.selected == true) || (_nextObj.tabIndex > _local2.tabIndex)))) { _nextObj = _local2; } } else if ((!dir) && (_local2.tabIndex < index)) { if (((_prevObj == undefined) || ((_prevObj.tabIndex < _local2.tabIndex) && (((_local2.groupName == undefined) || (_prevObj.groupName == undefined)) || (_local2.groupName != _prevObj.groupName)))) || ((((_prevObj.groupName != undefined) && (_prevObj.groupName == _local2.groupName)) && (_prevObj.selected != true)) && ((_local2.selected == true) || (_prevObj.tabIndex < _local2.tabIndex)))) { _prevObj = _local2; } } if (((_firstObj == undefined) || ((_local2.tabIndex < _firstObj.tabIndex) && (((_local2.groupName == undefined) || (_firstObj.groupName == undefined)) || (_local2.groupName != _firstObj.groupName)))) || ((((_firstObj.groupName != undefined) && (_firstObj.groupName == _local2.groupName)) && (_firstObj.selected != true)) && ((_local2.selected == true) || (_local2.tabIndex < _firstObj.tabIndex)))) { _firstObj = _local2; } if (((_lastObj == undefined) || ((_local2.tabIndex > _lastObj.tabIndex) && (((_local2.groupName == undefined) || (_lastObj.groupName == undefined)) || (_local2.groupName != _lastObj.groupName)))) || ((((_lastObj.groupName != undefined) && (_lastObj.groupName == _local2.groupName)) && (_lastObj.selected != true)) && ((_local2.selected == true) || (_local2.tabIndex > _lastObj.tabIndex)))) { _lastObj = _local2; } } if (_local2.tabChildren) { getTabCandidateFromChildren(_local2, index, groupName, dir, _local5 && (firstChild)); } _local5 = false; } else if (((_local2._parent == p) && (_local2.tabChildren == true)) && (_local2._visible != false)) { if (_local2 == _lastTarget) { if (_local2._searchKey == _searchKey) { continue; } _local2._searchKey = _searchKey; if (_prevNode == undefined) { var _local3 = _lastx; var _local7 = false; while (_local3 != undefined) { if (_local3 == _local2) { _local7 = true; break; } _local3 = _local3._parent; } if (_local7 == false) { _prevNode = _lastx; } } _needPrev = false; if (_nextNode == undefined) { _nextIsNext = true; } } else if (!((_local2.focusManager != undefined) && (_local2.focusManager._parent == _local2))) { if (_local2._searchKey == _searchKey) { continue; } _local2._searchKey = _searchKey; getTabCandidateFromChildren(_local2, index, groupName, dir, _local5 && (firstChild)); } _local5 = false; } } _lastNode = _lastx; if (lookup) { if (p._parent != undefined) { if (p != _parent) { if ((_prevNode == undefined) && (dir)) { _needPrev = true; } else if ((_nextNode == undefined) && (!dir)) { _nextIsNext = false; } _lastTarget = _lastTarget._parent; getTabCandidate(p._parent, index, groupName, dir, true); } } } } function getTabCandidate(o, index, groupName, dir, firstChild) { var _local2; var _local3 = true; if (o == _parent) { _local2 = o; _local3 = false; } else { _local2 = o._parent; if (_local2 == undefined) { _local2 = o; _local3 = false; } } walkTree(_local2, index, groupName, dir, _local3, firstChild); } function getTabCandidateFromChildren(o, index, groupName, dir, firstChild) { walkTree(o, index, groupName, dir, false, firstChild); } function getFocusManagerFromObject(o) { while (o != undefined) { if (o.focusManager != undefined) { return(o.focusManager); } o = o._parent; } return(undefined); } function tabHandler(Void) { bDrawFocus = true; var _local5 = getSelectionFocus(); var _local4 = getActualFocus(_local5); if (_local4 != _local5) { _local5 = _local4; } if (getFocusManagerFromObject(_local5) != this) { _local5 == undefined; } if (_local5 == undefined) { _local5 = form; } else if (_local5.tabIndex != undefined) { if ((_foundList != undefined) || (_foundList.tabIndex != _local5.tabIndex)) { _foundList = new Object(); _foundList.tabIndex = _local5.tabIndex; } _foundList[_local5._name] = _local5; } var _local3 = Key.isDown(16) != true; _searchKey = getTimer(); _needPrev = true; _nextIsNext = false; _lastx = undefined; _firstNode = undefined; _lastNode = undefined; _nextNode = undefined; _prevNode = undefined; _firstObj = undefined; _lastObj = undefined; _nextObj = undefined; _prevObj = undefined; _lastTarget = _local5; var _local6 = _local5; getTabCandidate(_local6, ((_local5.tabIndex == undefined) ? 0 : (_local5.tabIndex)), _local5.groupName, _local3, true); var _local2; if (_local3) { if (_nextObj != undefined) { _local2 = _nextObj; } else { _local2 = _firstObj; } } else if (_prevObj != undefined) { _local2 = _prevObj; } else { _local2 = _lastObj; } if (_local2.tabIndex != _local5.tabIndex) { _foundList = new Object(); _foundList.tabIndex = _local2.tabIndex; _foundList[_local2._name] = _local2; } else { if (_foundList == undefined) { _foundList = new Object(); _foundList.tabIndex = _local2.tabIndex; } _foundList[_local2._name] = _local2; } if (_local2 == undefined) { if (_local3 == false) { if (_nextNode != undefined) { _local2 = _nextNode; } else { _local2 = _firstNode; } } else if ((_prevNode == undefined) || (_local5 == form)) { _local2 = _lastNode; } else { _local2 = _prevNode; } } if (_local2 == undefined) { return(undefined); } lastTabFocus = _local2; setFocus(_local2); if (_local2.emphasized != undefined) { if (defPushButton != undefined) { _local5 = defPushButton; defPushButton = _local2; _local5.emphasized = false; _local2.emphasized = true; } } else if ((defPushButton != undefined) && (defPushButton != __defaultPushButton)) { _local5 = defPushButton; defPushButton = __defaultPushButton; _local5.emphasized = false; __defaultPushButton.__set__emphasized(true); } } function onKeyDown(Void) { mx.managers.SystemManager.idleFrames = 0; if (defaultPushButtonEnabled) { if (Key.getCode() == 13) { if (defaultPushButton != undefined) { doLater(this, "sendDefaultPushButtonEvent"); } } } } function sendDefaultPushButtonEvent(Void) { defPushButton.dispatchEvent({type:"click"}); } function getMousedComponentFromChildren(x, y, o) { for (var _local7 in o) { var _local2 = o[_local7]; if (((_local2._visible && (_local2.enabled)) && (_local2._parent == o)) && (_local2._searchKey != _searchKey)) { _local2._searchKey = _searchKey; if (_local2.hitTest(x, y, true)) { if ((_local2.onPress != undefined) || (_local2.onRelease != undefined)) { return(_local2); } var _local3 = getMousedComponentFromChildren(x, y, _local2); if (_local3 != undefined) { return(_local3); } return(_local2); } } } return(undefined); } function mouseActivate(Void) { if (!bNeedFocus) { return(undefined); } _searchKey = getTimer(); var _local2 = getMousedComponentFromChildren(lastMouse.x, lastMouse.y, form); if (_local2 instanceof mx.core.UIComponent) { return(undefined); } _local2 = findFocusFromObject(_local2); if (_local2 == lastFocus) { return(undefined); } if (_local2 == undefined) { doLater(this, "restoreFocus"); return(undefined); } var _local3 = _local2.hscroll; if (_local3 != undefined) { var _local6 = _local2.scroll; var _local5 = _local2.background; } setFocus(_local2); var _local4 = Selection; Selection.setSelection(_local4.lastBeginIndex, _local4.lastEndIndex); if (_local3 != undefined) { _local2.scroll = _local6; _local2.hscroll = _local3; _local2.background = _local5; } } function _onMouseDown(Void) { bDrawFocus = false; if (lastFocus != undefined) { lastFocus.drawFocus(false); } mx.managers.SystemManager.idleFrames = 0; var _local3 = Selection; _local3.lastBeginIndex = Selection.getBeginIndex(); _local3.lastEndIndex = Selection.getEndIndex(); lastMouse.x = _root._xmouse; lastMouse.y = _root._ymouse; _root.localToGlobal(lastMouse); } function onMouseUp(Void) { if (_visible) { doLater(this, "mouseActivate"); } } function handleEvent(e) { if (e.type == "reveal") { mx.managers.SystemManager.activate(form); } else { mx.managers.SystemManager.deactivate(form); } } static function enableFocusManagement() { if (!initialized) { initialized = true; Object.registerClass("FocusManager", mx.managers.FocusManager); if (_root.focusManager == undefined) { _root.createClassObject(mx.managers.FocusManager, "focusManager", mx.managers.DepthManager.highestDepth--); } } } static var symbolName = "FocusManager"; static var symbolOwner = mx.managers.FocusManager; static var version = "2.0.1.78"; var className = "FocusManager"; var bNeedFocus = false; var bDrawFocus = false; var defaultPushButtonEnabled = true; var activated = true; static var initialized = false; static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions; }
Symbol 126 MovieClip [__Packages.mx.skins.halo.FocusRect] Frame 0
class mx.skins.halo.FocusRect extends mx.skins.SkinElement { var boundingBox_mc, _xscale, _yscale, clear, beginFill, drawRoundRect, endFill, _visible; function FocusRect () { super(); boundingBox_mc._visible = false; boundingBox_mc._width = (boundingBox_mc._height = 0); } function draw(o) { o.adjustFocusRect(); } function setSize(w, h, r, a, rectCol) { _xscale = (_yscale = 100); clear(); if (typeof(r) == "object") { r.br = ((r.br > 2) ? (r.br - 2) : 0); r.bl = ((r.bl > 2) ? (r.bl - 2) : 0); r.tr = ((r.tr > 2) ? (r.tr - 2) : 0); r.tl = ((r.tl > 2) ? (r.tl - 2) : 0); beginFill(rectCol, a * 0.3); drawRoundRect(0, 0, w, h, r); drawRoundRect(2, 2, w - 4, h - 4, r); endFill(); r.br = ((r.br > 1) ? (r.br + 1) : 0); r.bl = ((r.bl > 1) ? (r.bl + 1) : 0); r.tr = ((r.tr > 1) ? (r.tr + 1) : 0); r.tl = ((r.tl > 1) ? (r.tl + 1) : 0); beginFill(rectCol, a * 0.3); drawRoundRect(1, 1, w - 2, h - 2, r); r.br = ((r.br > 1) ? (r.br - 1) : 0); r.bl = ((r.bl > 1) ? (r.bl - 1) : 0); r.tr = ((r.tr > 1) ? (r.tr - 1) : 0); r.tl = ((r.tl > 1) ? (r.tl - 1) : 0); drawRoundRect(2, 2, w - 4, h - 4, r); endFill(); } else { var _local5; if (r != 0) { _local5 = r - 2; } else { _local5 = 0; } beginFill(rectCol, a * 0.3); drawRoundRect(0, 0, w, h, r); drawRoundRect(2, 2, w - 4, h - 4, _local5); endFill(); beginFill(rectCol, a * 0.3); if (r != 0) { _local5 = r - 2; r = r - 1; } else { _local5 = 0; r = 0; } drawRoundRect(1, 1, w - 2, h - 2, r); drawRoundRect(2, 2, w - 4, h - 4, _local5); endFill(); } } function handleEvent(e) { if (e.type == "unload") { _visible = true; } else if (e.type == "resize") { e.target.adjustFocusRect(); } else if (e.type == "move") { e.target.adjustFocusRect(); } } static function classConstruct() { mx.core.UIComponent.prototype.drawFocus = function (focused) { var _local2 = this._parent.focus_mc; if (!focused) { _local2._visible = false; this.removeEventListener("unload", _local2); this.removeEventListener("move", _local2); this.removeEventListener("resize", _local2); } else { if (_local2 == undefined) { _local2 = this._parent.createChildAtDepth("FocusRect", mx.managers.DepthManager.kTop); _local2.tabEnabled = false; this._parent.focus_mc = _local2; } else { _local2._visible = true; } _local2.draw(this); if (_local2.getDepth() < this.getDepth()) { _local2.setDepthAbove(this); } this.addEventListener("unload", _local2); this.addEventListener("move", _local2); this.addEventListener("resize", _local2); } }; mx.core.UIComponent.prototype.adjustFocusRect = function () { var _local2 = this.getStyle("themeColor"); if (_local2 == undefined) { _local2 = 8453965 /* 0x80FF4D */; } var _local3 = this._parent.focus_mc; _local3.setSize(this.width + 4, this.height + 4, 0, 100, _local2); _local3.move(this.x - 2, this.y - 2); }; TextField.prototype.drawFocus = mx.core.UIComponent.prototype.drawFocus; TextField.prototype.adjustFocusRect = mx.core.UIComponent.prototype.adjustFocusRect; mx.skins.halo.FocusRect.prototype.drawRoundRect = mx.skins.halo.Defaults.prototype.drawRoundRect; return(true); } static var classConstructed = classConstruct(); static var DefaultsDependency = mx.skins.halo.Defaults; static var UIComponentDependency = mx.core.UIComponent; }
Symbol 127 MovieClip [__Packages.mx.managers.OverlappedWindows] Frame 0
class mx.managers.OverlappedWindows { function OverlappedWindows () { } static function checkIdle(Void) { if (mx.managers.SystemManager.idleFrames > 10) { mx.managers.SystemManager.dispatchEvent({type:"idle"}); } else { mx.managers.SystemManager.idleFrames++; } } static function __addEventListener(e, o, l) { if (e == "idle") { if (mx.managers.SystemManager.interval == undefined) { mx.managers.SystemManager.interval = setInterval(mx.managers.SystemManager.checkIdle, 100); } } mx.managers.SystemManager._xAddEventListener(e, o, l); } static function __removeEventListener(e, o, l) { if (e == "idle") { if (mx.managers.SystemManager._xRemoveEventListener(e, o, l) == 0) { clearInterval(mx.managers.SystemManager.interval); } } else { mx.managers.SystemManager._xRemoveEventListener(e, o, l); } } static function onMouseDown(Void) { mx.managers.SystemManager.idleFrames = 0; mx.managers.SystemManager.isMouseDown = true; var _local5 = _root; var _local3; var _local8 = _root._xmouse; var _local7 = _root._ymouse; if (mx.managers.SystemManager.form.modalWindow == undefined) { if (mx.managers.SystemManager.forms.length > 1) { var _local6 = mx.managers.SystemManager.forms.length; var _local4; _local4 = 0; while (_local4 < _local6) { var _local2 = mx.managers.SystemManager.forms[_local4]; if (_local2._visible) { if (_local2.hitTest(_local8, _local7)) { if (_local3 == undefined) { _local3 = _local2.getDepth(); _local5 = _local2; } else if (_local3 < _local2.getDepth()) { _local3 = _local2.getDepth(); _local5 = _local2; } } } _local4++; } if (_local5 != mx.managers.SystemManager.form) { mx.managers.SystemManager.activate(_local5); } } } var _local9 = mx.managers.SystemManager.form; _local9.focusManager._onMouseDown(); } static function onMouseMove(Void) { mx.managers.SystemManager.idleFrames = 0; } static function onMouseUp(Void) { mx.managers.SystemManager.isMouseDown = false; mx.managers.SystemManager.idleFrames = 0; } static function activate(f) { if (mx.managers.SystemManager.form != undefined) { if ((mx.managers.SystemManager.form != f) && (mx.managers.SystemManager.forms.length > 1)) { var _local1 = mx.managers.SystemManager.form; _local1.focusManager.deactivate(); } } mx.managers.SystemManager.form = f; f.focusManager.activate(); } static function deactivate(f) { if (mx.managers.SystemManager.form != undefined) { if ((mx.managers.SystemManager.form == f) && (mx.managers.SystemManager.forms.length > 1)) { var _local5 = mx.managers.SystemManager.form; _local5.focusManager.deactivate(); var _local3 = mx.managers.SystemManager.forms.length; var _local1; var _local2; _local1 = 0; while (_local1 < _local3) { if (mx.managers.SystemManager.forms[_local1] == f) { _local1 = _local1 + 1; while (_local1 < _local3) { if (mx.managers.SystemManager.forms[_local1]._visible == true) { _local2 = mx.managers.SystemManager.forms[_local1]; } _local1++; } mx.managers.SystemManager.form = _local2; break; } if (mx.managers.SystemManager.forms[_local1]._visible == true) { _local2 = mx.managers.SystemManager.forms[_local1]; } _local1++; } _local5 = mx.managers.SystemManager.form; _local5.focusManager.activate(); } } } static function addFocusManager(f) { mx.managers.SystemManager.forms.push(f); mx.managers.SystemManager.activate(f); } static function removeFocusManager(f) { var _local3 = mx.managers.SystemManager.forms.length; var _local1; _local1 = 0; while (_local1 < _local3) { if (mx.managers.SystemManager.forms[_local1] == f) { if (mx.managers.SystemManager.form == f) { mx.managers.SystemManager.deactivate(f); } mx.managers.SystemManager.forms.splice(_local1, 1); return(undefined); } _local1++; } } static function enableOverlappedWindows() { if (!initialized) { initialized = true; mx.managers.SystemManager.checkIdle = checkIdle; mx.managers.SystemManager.__addEventListener = __addEventListener; mx.managers.SystemManager.__removeEventListener = __removeEventListener; mx.managers.SystemManager.onMouseDown = onMouseDown; mx.managers.SystemManager.onMouseMove = onMouseMove; mx.managers.SystemManager.onMouseUp = onMouseUp; mx.managers.SystemManager.activate = activate; mx.managers.SystemManager.deactivate = deactivate; mx.managers.SystemManager.addFocusManager = addFocusManager; mx.managers.SystemManager.removeFocusManager = removeFocusManager; } } static var initialized = false; static var SystemManagerDependency = mx.managers.SystemManager; }
Symbol 128 MovieClip [__Packages.mx.styles.CSSSetStyle] Frame 0
class mx.styles.CSSSetStyle { var styleName, stylecache, _color, setColor, invalidateStyle; function CSSSetStyle () { } function _setStyle(styleProp, newValue) { this[styleProp] = newValue; if (mx.styles.StyleManager.TextStyleMap[styleProp] != undefined) { if (styleProp == "color") { if (isNaN(newValue)) { newValue = mx.styles.StyleManager.getColorName(newValue); this[styleProp] = newValue; if (newValue == undefined) { return(undefined); } } } _level0.changeTextStyleInChildren(styleProp); return(undefined); } if (mx.styles.StyleManager.isColorStyle(styleProp)) { if (isNaN(newValue)) { newValue = mx.styles.StyleManager.getColorName(newValue); this[styleProp] = newValue; if (newValue == undefined) { return(undefined); } } if (styleProp == "themeColor") { var _local7 = mx.styles.StyleManager.colorNames.haloBlue; var _local6 = mx.styles.StyleManager.colorNames.haloGreen; var _local8 = mx.styles.StyleManager.colorNames.haloOrange; var _local4 = {}; _local4[_local7] = 12188666 /* 0xB9FBFA */; _local4[_local6] = 13500353 /* 0xCDFFC1 */; _local4[_local8] = 16766319 /* 0xFFD56F */; var _local5 = {}; _local5[_local7] = 13958653 /* 0xD4FDFD */; _local5[_local6] = 14942166 /* 0xE3FFD6 */; _local5[_local8] = 16772787 /* 0xFFEEB3 */; var _local9 = _local4[newValue]; var _local10 = _local5[newValue]; if (_local9 == undefined) { _local9 = newValue; } if (_local10 == undefined) { _local10 = newValue; } setStyle("selectionColor", _local9); setStyle("rollOverColor", _local10); } _level0.changeColorStyleInChildren(styleName, styleProp, newValue); } else { if ((styleProp == "backgroundColor") && (isNaN(newValue))) { newValue = mx.styles.StyleManager.getColorName(newValue); this[styleProp] = newValue; if (newValue == undefined) { return(undefined); } } _level0.notifyStyleChangeInChildren(styleName, styleProp, newValue); } } function changeTextStyleInChildren(styleProp) { var _local4 = getTimer(); var _local5; for (_local5 in this) { var _local2 = this[_local5]; if (_local2._parent == this) { if (_local2.searchKey != _local4) { if (_local2.stylecache != undefined) { delete _local2.stylecache.tf; delete _local2.stylecache[styleProp]; } _local2.invalidateStyle(styleProp); _local2.changeTextStyleInChildren(styleProp); _local2.searchKey = _local4; } } } } function changeColorStyleInChildren(sheetName, colorStyle, newValue) { var _local6 = getTimer(); var _local7; for (_local7 in this) { var _local2 = this[_local7]; if (_local2._parent == this) { if (_local2.searchKey != _local6) { if (((_local2.getStyleName() == sheetName) || (sheetName == undefined)) || (sheetName == "_global")) { if (_local2.stylecache != undefined) { delete _local2.stylecache[colorStyle]; } if (typeof(_local2._color) == "string") { if (_local2._color == colorStyle) { var _local4 = _local2.getStyle(colorStyle); if (colorStyle == "color") { if (stylecache.tf.color != undefined) { stylecache.tf.color = _local4; } } _local2.setColor(_local4); } } else if (_local2._color[colorStyle] != undefined) { if (typeof(_local2) != "movieclip") { _local2._parent.invalidateStyle(); } else { _local2.invalidateStyle(colorStyle); } } } _local2.changeColorStyleInChildren(sheetName, colorStyle, newValue); _local2.searchKey = _local6; } } } } function notifyStyleChangeInChildren(sheetName, styleProp, newValue) { var _local5 = getTimer(); var _local6; for (_local6 in this) { var _local2 = this[_local6]; if (_local2._parent == this) { if (_local2.searchKey != _local5) { if (((_local2.styleName == sheetName) || ((_local2.styleName != undefined) && (typeof(_local2.styleName) == "movieclip"))) || (sheetName == undefined)) { if (_local2.stylecache != undefined) { delete _local2.stylecache[styleProp]; delete _local2.stylecache.tf; } delete _local2.enabledColor; _local2.invalidateStyle(styleProp); } _local2.notifyStyleChangeInChildren(sheetName, styleProp, newValue); _local2.searchKey = _local5; } } } } function setStyle(styleProp, newValue) { if (stylecache != undefined) { delete stylecache[styleProp]; delete stylecache.tf; } this[styleProp] = newValue; if (mx.styles.StyleManager.isColorStyle(styleProp)) { if (isNaN(newValue)) { newValue = mx.styles.StyleManager.getColorName(newValue); this[styleProp] = newValue; if (newValue == undefined) { return(undefined); } } if (styleProp == "themeColor") { var _local10 = mx.styles.StyleManager.colorNames.haloBlue; var _local9 = mx.styles.StyleManager.colorNames.haloGreen; var _local11 = mx.styles.StyleManager.colorNames.haloOrange; var _local6 = {}; _local6[_local10] = 12188666 /* 0xB9FBFA */; _local6[_local9] = 13500353 /* 0xCDFFC1 */; _local6[_local11] = 16766319 /* 0xFFD56F */; var _local7 = {}; _local7[_local10] = 13958653 /* 0xD4FDFD */; _local7[_local9] = 14942166 /* 0xE3FFD6 */; _local7[_local11] = 16772787 /* 0xFFEEB3 */; var _local12 = _local6[newValue]; var _local13 = _local7[newValue]; if (_local12 == undefined) { _local12 = newValue; } if (_local13 == undefined) { _local13 = newValue; } setStyle("selectionColor", _local12); setStyle("rollOverColor", _local13); } if (typeof(_color) == "string") { if (_color == styleProp) { if (styleProp == "color") { if (stylecache.tf.color != undefined) { stylecache.tf.color = newValue; } } setColor(newValue); } } else if (_color[styleProp] != undefined) { invalidateStyle(styleProp); } changeColorStyleInChildren(undefined, styleProp, newValue); } else { if ((styleProp == "backgroundColor") && (isNaN(newValue))) { newValue = mx.styles.StyleManager.getColorName(newValue); this[styleProp] = newValue; if (newValue == undefined) { return(undefined); } } invalidateStyle(styleProp); } if (mx.styles.StyleManager.isInheritingStyle(styleProp) || (styleProp == "styleName")) { var _local8; var _local5 = newValue; if (styleProp == "styleName") { _local8 = ((typeof(newValue) == "string") ? (_global.styles[newValue]) : (_local5)); _local5 = _local8.themeColor; if (_local5 != undefined) { _local8.rollOverColor = (_local8.selectionColor = _local5); } } notifyStyleChangeInChildren(undefined, styleProp, newValue); } } static function enableRunTimeCSS() { } static function classConstruct() { var _local2 = MovieClip.prototype; var _local3 = mx.styles.CSSSetStyle.prototype; mx.styles.CSSStyleDeclaration.prototype.setStyle = _local3._setStyle; _local2.changeTextStyleInChildren = _local3.changeTextStyleInChildren; _local2.changeColorStyleInChildren = _local3.changeColorStyleInChildren; _local2.notifyStyleChangeInChildren = _local3.notifyStyleChangeInChildren; _local2.setStyle = _local3.setStyle; _global.ASSetPropFlags(_local2, "changeTextStyleInChildren", 1); _global.ASSetPropFlags(_local2, "changeColorStyleInChildren", 1); _global.ASSetPropFlags(_local2, "notifyStyleChangeInChildren", 1); _global.ASSetPropFlags(_local2, "setStyle", 1); var _local4 = TextField.prototype; _local4.setStyle = _local2.setStyle; _local4.changeTextStyleInChildren = _local3.changeTextStyleInChildren; return(true); } static var classConstructed = classConstruct(); static var CSSStyleDeclarationDependency = mx.styles.CSSStyleDeclaration; }
Symbol 129 MovieClip [__Packages.mx.core.ext.UIComponentExtensions] Frame 0
class mx.core.ext.UIComponentExtensions { function UIComponentExtensions () { } static function Extensions() { if (bExtended == true) { return(true); } bExtended = true; TextField.prototype.setFocus = function () { Selection.setFocus(this); }; TextField.prototype.onSetFocus = function (oldFocus) { if (this.tabEnabled != false) { if (this.getFocusManager().bDrawFocus) { this.drawFocus(true); } } }; TextField.prototype.onKillFocus = function (oldFocus) { if (this.tabEnabled != false) { this.drawFocus(false); } }; TextField.prototype.drawFocus = mx.core.UIComponent.prototype.drawFocus; TextField.prototype.getFocusManager = mx.core.UIComponent.prototype.getFocusManager; mx.managers.OverlappedWindows.enableOverlappedWindows(); mx.styles.CSSSetStyle.enableRunTimeCSS(); mx.managers.FocusManager.enableFocusManagement(); } static var bExtended = false; static var UIComponentExtended = Extensions(); static var UIComponentDependency = mx.core.UIComponent; static var FocusManagerDependency = mx.managers.FocusManager; static var OverlappedWindowsDependency = mx.managers.OverlappedWindows; }
Symbol 130 MovieClip [__Packages.mx.controls.HScrollBar] Frame 0
class mx.controls.HScrollBar extends mx.controls.scrollClasses.ScrollBar { var _minHeight, _minWidth, _xscale, _rotation, __width, scrollIt; function HScrollBar () { super(); } function getMinWidth(Void) { return(_minHeight); } function getMinHeight(Void) { return(_minWidth); } function init(Void) { super.init(); _xscale = -100; _rotation = -90; } function get virtualHeight() { return(__width); } function isScrollBarKey(k) { if (k == 37) { scrollIt("Line", -1); return(true); } if (k == 39) { scrollIt("Line", 1); return(true); } return(super.isScrollBarKey(k)); } static var symbolName = "HScrollBar"; static var symbolOwner = mx.core.UIComponent; static var version = "2.0.1.78"; var className = "HScrollBar"; var minusMode = "Left"; var plusMode = "Right"; var minMode = "AtLeft"; var maxMode = "AtRight"; }
Symbol 131 MovieClip [__Packages.mx.controls.Button] Frame 0
class mx.controls.Button extends mx.controls.SimpleButton { var initializing, labelPath, initIcon, getState, enabled, phase, idNames, __width, __height, setState, invalidate, iconName, refresh, createLabel, _iconLinkageName, removeIcons, hitArea_mc, createEmptyObject; function Button () { super(); } function init(Void) { super.init(); } function draw() { if (initializing) { labelPath.visible = true; } super.draw(); if (initIcon != undefined) { _setIcon(initIcon); } delete initIcon; } function onRelease(Void) { super.onRelease(); } function createChildren(Void) { super.createChildren(); } function setSkin(tag, linkageName, initobj) { return(super.setSkin(tag, linkageName, initobj)); } function viewSkin(varName) { var _local3 = (getState() ? "true" : "false"); _local3 = _local3 + (enabled ? (phase) : "disabled"); super.viewSkin(varName, {styleName:this, borderStyle:_local3}); } function invalidateStyle(c) { labelPath.invalidateStyle(c); super.invalidateStyle(c); } function setColor(c) { var _local2 = 0; while (_local2 < 8) { this[idNames[_local2]].redraw(true); _local2++; } } function setEnabled(enable) { labelPath.enabled = enable; super.setEnabled(enable); } function calcSize(tag, ref) { if ((__width == undefined) || (__height == undefined)) { return(undefined); } if (tag < 7) { ref.setSize(__width, __height, true); } } function size(Void) { setState(getState()); setHitArea(__width, __height); var _local3 = 0; while (_local3 < 8) { var _local4 = idNames[_local3]; if (typeof(this[_local4]) == "movieclip") { this[_local4].setSize(__width, __height, true); } _local3++; } super.size(); } function set labelPlacement(val) { __labelPlacement = val; invalidate(); //return(labelPlacement); } function get labelPlacement() { return(__labelPlacement); } function getLabelPlacement(Void) { return(__labelPlacement); } function setLabelPlacement(val) { __labelPlacement = val; invalidate(); } function getBtnOffset(Void) { if (getState()) { var _local2 = btnOffset; } else if (phase == "down") { var _local2 = btnOffset; } else { var _local2 = 0; } return(_local2); } function setView(offset) { var _local16 = (offset ? (btnOffset) : 0); var _local12 = getLabelPlacement(); var _local7 = 0; var _local6 = 0; var _local9 = 0; var _local8 = 0; var _local5 = 0; var _local4 = 0; var _local3 = labelPath; var _local2 = iconName; var _local15 = _local3.textWidth; var _local14 = _local3.textHeight; var _local10 = (__width - borderW) - borderW; var _local11 = (__height - borderW) - borderW; if (_local2 != undefined) { _local7 = _local2._width; _local6 = _local2._height; } if ((_local12 == "left") || (_local12 == "right")) { if (_local3 != undefined) { _local9 = Math.min(_local10 - _local7, _local15 + 5); _local3._width = _local9; _local8 = Math.min(_local11, _local14 + 5); _local3._height = _local8; } if (_local12 == "right") { _local5 = _local7; if (centerContent) { _local5 = _local5 + (((_local10 - _local9) - _local7) / 2); } _local2._x = _local5 - _local7; } else { _local5 = (_local10 - _local9) - _local7; if (centerContent) { _local5 = _local5 / 2; } _local2._x = _local5 + _local9; } _local4 = 0; _local2._y = _local4; if (centerContent) { _local2._y = (_local11 - _local6) / 2; _local4 = (_local11 - _local8) / 2; } if (!centerContent) { _local2._y = _local2._y + Math.max(0, (_local8 - _local6) / 2); } } else { if (_local3 != undefined) { _local9 = Math.min(_local10, _local15 + 5); _local3._width = _local9; _local8 = Math.min(_local11 - _local6, _local14 + 5); _local3._height = _local8; } _local5 = (_local10 - _local9) / 2; _local2._x = (_local10 - _local7) / 2; if (_local12 == "top") { _local4 = (_local11 - _local8) - _local6; if (centerContent) { _local4 = _local4 / 2; } _local2._y = _local4 + _local8; } else { _local4 = _local6; if (centerContent) { _local4 = _local4 + (((_local11 - _local8) - _local6) / 2); } _local2._y = _local4 - _local6; } } var _local13 = borderW + _local16; _local3._x = _local5 + _local13; _local3._y = _local4 + _local13; _local2._x = _local2._x + _local13; _local2._y = _local2._y + _local13; } function set label(lbl) { setLabel(lbl); //return(label); } function setLabel(label) { if (label == "") { labelPath.removeTextField(); refresh(); return(undefined); } if (labelPath == undefined) { var _local2 = createLabel("labelPath", 200, label); _local2._width = _local2.textWidth + 5; _local2._height = _local2.textHeight + 5; if (initializing) { _local2.visible = false; } } else { delete labelPath.__text; labelPath.text = label; refresh(); } } function getLabel(Void) { return(((labelPath.__text != undefined) ? (labelPath.__text) : (labelPath.text))); } function get label() { return(getLabel()); } function _getIcon(Void) { return(_iconLinkageName); } function get icon() { if (initializing) { return(initIcon); } return(_iconLinkageName); } function _setIcon(linkage) { if (initializing) { if (linkage == "") { return(undefined); } initIcon = linkage; } else { if (linkage == "") { removeIcons(); return(undefined); } super.changeIcon(0, linkage); super.changeIcon(1, linkage); super.changeIcon(3, linkage); super.changeIcon(4, linkage); super.changeIcon(5, linkage); _iconLinkageName = linkage; refresh(); } } function set icon(linkage) { _setIcon(linkage); //return(icon); } function setHitArea(w, h) { if (hitArea_mc == undefined) { createEmptyObject("hitArea_mc", 100); } var _local2 = hitArea_mc; _local2.clear(); _local2.beginFill(16711680); _local2.drawRect(0, 0, w, h); _local2.endFill(); _local2.setVisible(false); } static var symbolName = "Button"; static var symbolOwner = mx.controls.Button; var className = "Button"; static var version = "2.0.1.78"; var btnOffset = 0; var _color = "buttonColor"; var __label = "default value"; var __labelPlacement = "right"; var falseUpSkin = "ButtonSkin"; var falseDownSkin = "ButtonSkin"; var falseOverSkin = "ButtonSkin"; var falseDisabledSkin = "ButtonSkin"; var trueUpSkin = "ButtonSkin"; var trueDownSkin = "ButtonSkin"; var trueOverSkin = "ButtonSkin"; var trueDisabledSkin = "ButtonSkin"; var falseUpIcon = ""; var falseDownIcon = ""; var falseOverIcon = ""; var falseDisabledIcon = ""; var trueUpIcon = ""; var trueDownIcon = ""; var trueOverIcon = ""; var trueDisabledIcon = ""; var clipParameters = {labelPlacement:1, icon:1, toggle:1, selected:1, label:1}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.controls.Button.prototype.clipParameters, mx.controls.SimpleButton.prototype.clipParameters); var centerContent = true; var borderW = 1; }
Symbol 132 MovieClip [__Packages.mx.skins.halo.RectBorder] Frame 0
class mx.skins.halo.RectBorder extends mx.skins.RectBorder { var offset, getStyle, borderStyleName, __borderMetrics, className, borderColorName, backgroundColorName, shadowColorName, highlightColorName, buttonColorName, __get__width, __get__height, clear, _color, drawRoundRect, beginFill, drawRect, endFill; function RectBorder () { super(); } function init(Void) { borderWidths.default = 3; super.init(); } function getBorderMetrics(Void) { if (offset == undefined) { var _local3 = getStyle(borderStyleName); offset = borderWidths[_local3]; } if ((getStyle(borderStyleName) == "default") || (getStyle(borderStyleName) == "alert")) { __borderMetrics = {left:3, top:1, right:3, bottom:3}; return(__borderMetrics); } return(super.getBorderMetrics()); } function drawBorder(Void) { var _local6 = _global.styles[className]; if (_local6 == undefined) { _local6 = _global.styles.RectBorder; } var _local5 = getStyle(borderStyleName); var _local7 = getStyle(borderColorName); if (_local7 == undefined) { _local7 = _local6[borderColorName]; } var _local8 = getStyle(backgroundColorName); if (_local8 == undefined) { _local8 = _local6[backgroundColorName]; } var _local16 = getStyle("backgroundImage"); if (_local5 != "none") { var _local14 = getStyle(shadowColorName); if (_local14 == undefined) { _local14 = _local6[shadowColorName]; } var _local13 = getStyle(highlightColorName); if (_local13 == undefined) { _local13 = _local6[highlightColorName]; } var _local12 = getStyle(buttonColorName); if (_local12 == undefined) { _local12 = _local6[buttonColorName]; } var _local11 = getStyle(borderCapColorName); if (_local11 == undefined) { _local11 = _local6[borderCapColorName]; } var _local10 = getStyle(shadowCapColorName); if (_local10 == undefined) { _local10 = _local6[shadowCapColorName]; } } offset = borderWidths[_local5]; var _local9 = offset; var _local3 = __get__width(); var _local4 = __get__height(); clear(); _color = undefined; if (_local5 == "none") { } else if (_local5 == "inset") { _color = colorList; draw3dBorder(_local11, _local12, _local7, _local13, _local14, _local10); } else if (_local5 == "outset") { _color = colorList; draw3dBorder(_local11, _local7, _local12, _local14, _local13, _local10); } else if (_local5 == "alert") { var _local15 = getStyle("themeColor"); drawRoundRect(0, 5, _local3, _local4 - 5, 5, 6184542, 10); drawRoundRect(1, 4, _local3 - 2, _local4 - 5, 4, [6184542, 6184542], 10, 0, "radial"); drawRoundRect(2, 0, _local3 - 4, _local4 - 2, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(2, 0, _local3 - 4, _local4 - 2, 3, _local15, 50); drawRoundRect(3, 1, _local3 - 6, _local4 - 4, 2, 16777215, 100); } else if (_local5 == "default") { drawRoundRect(0, 5, _local3, _local4 - 5, {tl:5, tr:5, br:0, bl:0}, 6184542, 10); drawRoundRect(1, 4, _local3 - 2, _local4 - 5, {tl:4, tr:4, br:0, bl:0}, [6184542, 6184542], 10, 0, "radial"); drawRoundRect(2, 0, _local3 - 4, _local4 - 2, {tl:3, tr:3, br:0, bl:0}, [12897484, 11844796], 100, 0, "radial"); drawRoundRect(3, 1, _local3 - 6, _local4 - 4, {tl:2, tr:2, br:0, bl:0}, 16777215, 100); } else if (_local5 == "dropDown") { drawRoundRect(0, 0, _local3 + 1, _local4, {tl:4, tr:0, br:0, bl:4}, [13290186, 7895160], 100, -10, "linear"); drawRoundRect(1, 1, _local3 - 1, _local4 - 2, {tl:3, tr:0, br:0, bl:3}, 16777215, 100); } else if (_local5 == "menuBorder") { var _local15 = getStyle("themeColor"); drawRoundRect(4, 4, _local3 - 2, _local4 - 3, 0, [6184542, 6184542], 10, 0, "radial"); drawRoundRect(4, 4, _local3 - 1, _local4 - 2, 0, 6184542, 10); drawRoundRect(0, 0, _local3 + 1, _local4, 0, [0, 14342874], 100, 250, "linear"); drawRoundRect(0, 0, _local3 + 1, _local4, 0, _local15, 50); drawRoundRect(2, 2, _local3 - 3, _local4 - 4, 0, 16777215, 100); } else if (_local5 == "comboNonEdit") { } else { beginFill(_local7); drawRect(0, 0, _local3, _local4); drawRect(1, 1, _local3 - 1, _local4 - 1); endFill(); _color = borderColorName; } if (_local8 != undefined) { beginFill(_local8); drawRect(_local9, _local9, __get__width() - _local9, __get__height() - _local9); endFill(); } } function draw3dBorder(c1, c2, c3, c4, c5, c6) { var _local3 = __get__width(); var _local2 = __get__height(); beginFill(c1); drawRect(0, 0, _local3, _local2); drawRect(1, 0, _local3 - 1, _local2); endFill(); beginFill(c2); drawRect(1, 0, _local3 - 1, 1); endFill(); beginFill(c3); drawRect(1, _local2 - 1, _local3 - 1, _local2); endFill(); beginFill(c4); drawRect(1, 1, _local3 - 1, 2); endFill(); beginFill(c5); drawRect(1, _local2 - 2, _local3 - 1, _local2 - 1); endFill(); beginFill(c6); drawRect(1, 2, _local3 - 1, _local2 - 2); drawRect(2, 2, _local3 - 2, _local2 - 2); endFill(); } static function classConstruct() { mx.core.ext.UIObjectExtensions.Extensions(); _global.styles.rectBorderClass = mx.skins.halo.RectBorder; _global.skinRegistry.RectBorder = true; return(true); } static var symbolName = "RectBorder"; static var symbolOwner = mx.skins.halo.RectBorder; static var version = "2.0.1.78"; var borderCapColorName = "borderCapColor"; var shadowCapColorName = "shadowCapColor"; var colorList = {highlightColor:0, borderColor:0, buttonColor:0, shadowColor:0, borderCapColor:0, shadowCapColor:0}; var borderWidths = {none:0, solid:1, inset:2, outset:2, alert:3, dropDown:2, menuBorder:2, comboNonEdit:2}; static var classConstructed = classConstruct(); static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions; }
Symbol 133 MovieClip [__Packages.mx.skins.halo.ButtonSkin] Frame 0
class mx.skins.halo.ButtonSkin extends mx.skins.RectBorder { var __get__width, __get__height, getStyle, _parent, clear, drawRoundRect, __get__x, __get__y; function ButtonSkin () { super(); } function init() { super.init(); } function size() { drawHaloRect(__get__width(), __get__height()); } function drawHaloRect(w, h) { var _local6 = getStyle("borderStyle"); var _local4 = getStyle("themeColor"); var _local5 = _parent.emphasized; clear(); switch (_local6) { case "falseup" : if (_local5) { drawRoundRect(__get__x(), __get__y(), w, h, 5, 9542041, 100); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 75); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16777215], 85, 0, "radial"); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, _local4, 75); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, 16316664, 100); } else { drawRoundRect(0, 0, w, h, 5, 9542041, 100); drawRoundRect(1, 1, w - 2, h - 2, 4, [13291985, 16250871], 100, 0, "radial"); drawRoundRect(2, 2, w - 4, h - 4, 3, [9542041, 13818586], 100, 0, "radial"); drawRoundRect(3, 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(3, 4, w - 6, h - 7, 2, 16316664, 100); } break; case "falsedown" : drawRoundRect(__get__x(), __get__y(), w, h, 5, 9542041, 100); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16579836], 100, 0, "radial"); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, _local4, 50); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 40); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, _local4, 20); break; case "falserollover" : drawRoundRect(__get__x(), __get__y(), w, h, 5, 9542041, 100); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 50); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16777215], 100, 0, "radial"); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, _local4, 50); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, 16316664, 100); break; case "falsedisabled" : drawRoundRect(0, 0, w, h, 5, 13159628, 100); drawRoundRect(1, 1, w - 2, h - 2, 4, 15921906, 100); drawRoundRect(2, 2, w - 4, h - 4, 3, 13949401, 100); drawRoundRect(3, 3, w - 6, h - 6, 2, 15921906, 100); break; case "trueup" : drawRoundRect(__get__x(), __get__y(), w, h, 5, 10066329, 100); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16579836], 100, 0, "radial"); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, _local4, 50); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 40); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, 16250871, 100); break; case "truedown" : drawRoundRect(__get__x(), __get__y(), w, h, 5, 10066329, 100); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16579836], 100, 0, "radial"); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, _local4, 50); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 40); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, _local4, 20); break; case "truerollover" : drawRoundRect(__get__x(), __get__y(), w, h, 5, 9542041, 100); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 50); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16777215], 100, 0, "radial"); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, _local4, 40); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, _local4, 40); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, 16316664, 100); break; case "truedisabled" : drawRoundRect(0, 0, w, h, 5, 13159628, 100); drawRoundRect(1, 1, w - 2, h - 2, 4, 15921906, 100); drawRoundRect(2, 2, w - 4, h - 4, 3, 13949401, 100); drawRoundRect(3, 3, w - 6, h - 6, 2, 15921906, 100); } } static function classConstruct() { mx.core.ext.UIObjectExtensions.Extensions(); _global.skinRegistry.ButtonSkin = true; return(true); } static var symbolName = "ButtonSkin"; static var symbolOwner = mx.skins.halo.ButtonSkin; var className = "ButtonSkin"; var backgroundColorName = "buttonColor"; static var classConstructed = classConstruct(); static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions; }
Symbol 134 MovieClip [__Packages.mx.controls.VScrollBar] Frame 0
class mx.controls.VScrollBar extends mx.controls.scrollClasses.ScrollBar { var scrollIt; function VScrollBar () { super(); } function init(Void) { super.init(); } function isScrollBarKey(k) { if (k == 38) { scrollIt("Line", -1); return(true); } if (k == 40) { scrollIt("Line", 1); return(true); } if (k == 33) { scrollIt("Page", -1); return(true); } if (k == 34) { scrollIt("Page", 1); return(true); } return(super.isScrollBarKey(k)); } static var symbolName = "VScrollBar"; static var symbolOwner = mx.core.UIComponent; static var version = "2.0.1.78"; var className = "VScrollBar"; var minusMode = "Up"; var plusMode = "Down"; var minMode = "AtTop"; var maxMode = "AtBottom"; }
Symbol 151 Button
on (press) { _global.game_name = "z1"; _global.max_score = 350; play(); }
Symbol 154 Button
on (press) { _global.game_name = "z2"; _global.max_score = 400; play(); }
Symbol 156 Button
on (press) { _global.game_name = "z3"; _global.max_score = 7; play(); }
Symbol 159 Button
on (press) { gotoAndPlay ("aboutAnim"); }
Symbol 171 Button
on (press) { save_slot--; if (!save_slot) { save_slot = 9; } }
Symbol 173 Button
on (press) { save_slot++; if (save_slot == 10) { save_slot = 1; } }
Symbol 190 Button
on (press) { play(); }
Symbol 192 Button
on (press) { getURL ("http://www.csd.uwo.ca/Infocom/Invisiclues/", "_blank"); }
Symbol 194 Button
on (press) { getURL ("mailto:nightwatch@sententiae.net"); }

Library Items

Symbol 10 GraphicUsed by:11
Symbol 11 MovieClip [BoundingBox]Uses:10Used by:21 25 37 41 100 101 102 103 104 105
Symbol 12 MovieClip [DataProvider]Used by:104
Symbol 13 MovieClip [DataSelector]Used by:104
Symbol 14 MovieClip [Defaults]Used by:16
Symbol 15 MovieClip [UIObjectExtensions]Used by:16
Symbol 16 MovieClip [UIObject]Uses:14 15Used by:22 24 38
Symbol 17 GraphicUsed by:19
Symbol 18 GraphicUsed by:19
Symbol 19 ButtonUses:17 18Used by:22
Symbol 20 MovieClipUsed by:22
Symbol 21 MovieClip [FocusRect]Uses:11Used by:22
Symbol 22 MovieClip [FocusManager]Uses:19 20 21 16Used by:24
Symbol 23 MovieClip [UIComponentExtensions]Used by:24
Symbol 24 MovieClip [UIComponent]Uses:16 22 23Used by:25 37 102
Symbol 25 MovieClip [SelectableRow]Uses:24 11Used by:104
Symbol 26 GraphicUsed by:27
Symbol 27 MovieClip [BrdrShdw]Uses:26Used by:30 35 36
Symbol 28 GraphicUsed by:29
Symbol 29 MovieClip [BrdrFace]Uses:28Used by:30 35 36
Symbol 30 MovieClip [SimpleButtonDown]Uses:27 29Used by:37
Symbol 31 GraphicUsed by:32
Symbol 32 MovieClip [BrdrBlk]Uses:31Used by:35 36
Symbol 33 GraphicUsed by:34
Symbol 34 MovieClip [BrdrHilght]Uses:33Used by:35 36
Symbol 35 MovieClip [SimpleButtonIn]Uses:32 34 27 29Used by:37
Symbol 36 MovieClip [SimpleButtonUp]Uses:32 29 27 34Used by:37
Symbol 37 MovieClip [SimpleButton]Uses:11 30 35 36 24Used by:41 100 101
Symbol 38 MovieClip [Border]Uses:16Used by:39 41
Symbol 39 MovieClip [RectBorder]Uses:38Used by:41 102
Symbol 40 MovieClip [ButtonSkin]Used by:41
Symbol 41 MovieClip [Button]Uses:11 37 38 39 40Used by:100 101
Symbol 42 MovieClip [CustomBorder]Used by:100 101
Symbol 43 GraphicUsed by:45 81 82 83 86 87 92
Symbol 44 GraphicUsed by:45 81 82 86 87 92
Symbol 45 MovieClip [ScrollTrack]Uses:43 44Used by:52 57 58 59 93 94 95 96 97 98
Symbol 46 GraphicUsed by:52 57 58 59 93 94 95 96
Symbol 47 GraphicUsed by:52 57 58 59 93 94 95 96
Symbol 48 GraphicUsed by:52 57 58 59 93 94 95 96
Symbol 49 GraphicUsed by:52 57 58 59 93 94 95 96
Symbol 50 GraphicUsed by:52 57 58 59 93 94 95 96
Symbol 51 GraphicUsed by:52 57 58 59
Symbol 52 MovieClip [ScrollDownArrowDisabled]Uses:45 46 47 48 49 50 51Used by:99
Symbol 53 GraphicUsed by:54
Symbol 54 MovieClip [ScrollThemeColor1]Uses:53Used by:57 58 94 95
Symbol 55 GraphicUsed by:56
Symbol 56 MovieClip [ScrollThemeColor2]Uses:55Used by:57 94
Symbol 57 MovieClip [ScrollDownArrowDown]Uses:45 46 54 47 48 49 50 56 51Used by:99
Symbol 58 MovieClip [ScrollDownArrowOver]Uses:45 46 54 47 48 49 50 51Used by:99
Symbol 59 MovieClip [ScrollDownArrowUp]Uses:45 46 47 48 49 50 51Used by:99
Symbol 60 GraphicUsed by:65 70 71 72 88 89 90 91
Symbol 61 GraphicUsed by:65 70 71 72 88 89 90 91
Symbol 62 GraphicUsed by:65 70 71 72 88 89 90 91
Symbol 63 GraphicUsed by:65 70 71 72 88 89 90 91
Symbol 64 GraphicUsed by:65 70 71 72 88 89 90 91
Symbol 65 MovieClip [ScrollThumbBottomDisabled]Uses:60 61 62 63 64Used by:99
Symbol 66 GraphicUsed by:67
Symbol 67 MovieClip [ThumbThemeColor1]Uses:66Used by:70 71 89 90
Symbol 68 GraphicUsed by:69
Symbol 69 MovieClip [ThumbThemeColor3]Uses:68Used by:70 89
Symbol 70 MovieClip [ScrollThumbBottomDown]Uses:60 67 61 62 63 69 64Used by:99
Symbol 71 MovieClip [ScrollThumbBottomOver]Uses:60 67 61 62 63 64Used by:99
Symbol 72 MovieClip [ScrollThumbBottomUp]Uses:60 61 62 63 64Used by:99
Symbol 73 GraphicUsed by:74 77 78 79
Symbol 74 MovieClip [ScrollThumbGripDisabled]Uses:73Used by:99
Symbol 75 GraphicUsed by:76
Symbol 76 MovieClip [ThumbThemeColor2]Uses:75Used by:77 78 81 82 86
Symbol 77 MovieClip [ScrollThumbGripDown]Uses:76 73Used by:99
Symbol 78 MovieClip [ScrollThumbGripOver]Uses:76 73Used by:99
Symbol 79 MovieClip [ScrollThumbGripUp]Uses:73Used by:99
Symbol 80 GraphicUsed by:81 82 86 87
Symbol 81 MovieClip [ScrollThumbMiddleDisabled]Uses:43 80 76 44Used by:99
Symbol 82 MovieClip [ScrollThumbMiddleDown]Uses:43 76 80 44Used by:99
Symbol 83 MovieClipUses:43Used by:86
Symbol 84 GraphicUsed by:85 93 94 95 96
Symbol 85 MovieClipUses:84Used by:86
Symbol 86 MovieClip [ScrollThumbMiddleOver]Uses:43 76 80 83 85 44Used by:99
Symbol 87 MovieClip [ScrollThumbMiddleUp]Uses:43 80 44Used by:99
Symbol 88 MovieClip [ScrollThumbTopDisabled]Uses:60 61 62 63 64Used by:99
Symbol 89 MovieClip [ScrollThumbTopDown]Uses:60 67 61 62 63 69 64Used by:99
Symbol 90 MovieClip [ScrollThumbTopOver]Uses:60 67 61 62 63 64Used by:99
Symbol 91 MovieClip [ScrollThumbTopUp]Uses:60 61 62 63 64Used by:99
Symbol 92 MovieClip [ScrollTrackDisabled]Uses:43 44Used by:99
Symbol 93 MovieClip [ScrollUpArrowDisabled]Uses:45 46 47 48 49 50 84Used by:99
Symbol 94 MovieClip [ScrollUpArrowDown]Uses:45 46 54 47 48 49 50 56 84Used by:99
Symbol 95 MovieClip [ScrollUpArrowOver]Uses:45 46 54 47 48 84 49 50Used by:99
Symbol 96 MovieClip [ScrollUpArrowUp]Uses:45 46 47 48 49 50 84Used by:99
Symbol 97 MovieClip [BtnDownArrow]Uses:45Used by:99
Symbol 98 MovieClip [BtnUpArrow]Uses:45Used by:99
Symbol 99 MovieClip [ScrollBarAssets]Uses:52 57 58 59 65 70 71 72 74 77 78 79 81 82 86 87 88 89 90 91 92 93 94 95 96 97 98Used by:100 101
Symbol 100 MovieClip [HScrollBar]Uses:11 41 37 42 99Used by:103
Symbol 101 MovieClip [VScrollBar]Uses:11 41 37 42 99Used by:103
Symbol 102 MovieClip [View]Uses:11 24 39Used by:103
Symbol 103 MovieClip [ScrollView]Uses:11 100 101 102Used by:104
Symbol 104 MovieClip [ScrollSelectList]Uses:11 12 13 25 103Used by:105
Symbol 105 MovieClip [List]Uses:11 104
Symbol 135 BitmapUsed by:136 184
Symbol 136 GraphicUses:135Used by:Timeline
Symbol 137 GraphicUsed by:Timeline
Symbol 138 FontUsed by:139 147 187
Symbol 139 TextUses:138Used by:Timeline
Symbol 140 GraphicUsed by:141
Symbol 141 ButtonUses:140Used by:Timeline
Symbol 1 MovieClip [__Packages.mx.core.UIObject]
Symbol 2 MovieClip [__Packages.mx.core.UIComponent]
Symbol 3 MovieClip [__Packages.mx.core.View]
Symbol 4 MovieClip [__Packages.mx.core.ScrollView]
Symbol 5 MovieClip [__Packages.mx.controls.listclasses.DataSelector]
Symbol 6 MovieClip [__Packages.mx.events.EventDispatcher]
Symbol 7 MovieClip [__Packages.mx.controls.listclasses.DataProvider]
Symbol 8 MovieClip [__Packages.mx.controls.listclasses.ScrollSelectList]
Symbol 9 MovieClip [__Packages.mx.controls.List]
Symbol 106 MovieClip [__Packages.mx.skins.SkinElement]
Symbol 107 MovieClip [__Packages.mx.styles.CSSTextStyles]
Symbol 108 MovieClip [__Packages.mx.styles.StyleManager]
Symbol 109 MovieClip [__Packages.mx.styles.CSSStyleDeclaration]
Symbol 110 MovieClip [__Packages.mx.skins.Border]
Symbol 111 MovieClip [__Packages.mx.skins.RectBorder]
Symbol 112 MovieClip [__Packages.mx.managers.DepthManager]
Symbol 113 MovieClip [__Packages.mx.events.UIEventDispatcher]
Symbol 114 MovieClip [__Packages.mx.core.ExternalContent]
Symbol 115 MovieClip [__Packages.mx.skins.CustomBorder]
Symbol 116 MovieClip [__Packages.mx.controls.scrollClasses.ScrollThumb]
Symbol 117 MovieClip [__Packages.mx.controls.SimpleButton]
Symbol 118 MovieClip [__Packages.mx.controls.scrollClasses.ScrollBar]
Symbol 119 MovieClip [__Packages.mx.effects.Tween]
Symbol 120 MovieClip [__Packages.mx.controls.listclasses.SelectableRow]
Symbol 121 MovieClip [__Packages.mx.skins.ColoredSkinElement]
Symbol 122 MovieClip [__Packages.mx.core.ext.UIObjectExtensions]
Symbol 123 MovieClip [__Packages.mx.skins.halo.Defaults]
Symbol 124 MovieClip [__Packages.mx.managers.SystemManager]
Symbol 125 MovieClip [__Packages.mx.managers.FocusManager]
Symbol 126 MovieClip [__Packages.mx.skins.halo.FocusRect]
Symbol 127 MovieClip [__Packages.mx.managers.OverlappedWindows]
Symbol 128 MovieClip [__Packages.mx.styles.CSSSetStyle]
Symbol 129 MovieClip [__Packages.mx.core.ext.UIComponentExtensions]
Symbol 130 MovieClip [__Packages.mx.controls.HScrollBar]
Symbol 131 MovieClip [__Packages.mx.controls.Button]
Symbol 132 MovieClip [__Packages.mx.skins.halo.RectBorder]
Symbol 133 MovieClip [__Packages.mx.skins.halo.ButtonSkin]
Symbol 134 MovieClip [__Packages.mx.controls.VScrollBar]
Symbol 142 GraphicUsed by:Timeline
Symbol 143 ShapeTweeningUsed by:Timeline
Symbol 144 GraphicUsed by:Timeline
Symbol 145 GraphicUsed by:Timeline
Symbol 146 GraphicUsed by:Timeline
Symbol 147 TextUses:138Used by:Timeline
Symbol 148 GraphicUsed by:151 156 159 190 192 194
Symbol 149 FontUsed by:150 153 155
Symbol 150 TextUses:149Used by:151
Symbol 151 ButtonUses:148 150Used by:Timeline
Symbol 152 GraphicUsed by:154
Symbol 153 TextUses:149Used by:154
Symbol 154 ButtonUses:152 153Used by:Timeline
Symbol 155 TextUses:149Used by:156
Symbol 156 ButtonUses:148 155Used by:Timeline
Symbol 157 FontUsed by:158 174 175 188 189 191 193
Symbol 158 TextUses:157Used by:159
Symbol 159 ButtonUses:148 158Used by:Timeline
Symbol 160 GraphicUsed by:Timeline
Symbol 161 GraphicUsed by:Timeline
Symbol 162 GraphicUsed by:Timeline
Symbol 163 GraphicUsed by:Timeline
Symbol 164 FontUsed by:165 166 167
Symbol 165 TextUses:164Used by:Timeline
Symbol 166 TextUses:164Used by:Timeline
Symbol 167 TextUses:164Used by:Timeline
Symbol 168 FontUsed by:169 178 179 180
Symbol 169 EditableTextUses:168Used by:Timeline
Symbol 170 GraphicUsed by:171
Symbol 171 ButtonUses:170Used by:Timeline
Symbol 172 GraphicUsed by:173
Symbol 173 ButtonUses:172Used by:Timeline
Symbol 174 EditableTextUses:157Used by:Timeline
Symbol 175 EditableTextUses:157Used by:Timeline
Symbol 176 FontUsed by:177
Symbol 177 EditableTextUses:176Used by:Timeline
Symbol 178 EditableTextUses:168Used by:Timeline
Symbol 179 EditableTextUses:168Used by:Timeline
Symbol 180 EditableTextUses:168Used by:Timeline
Symbol 181 GraphicUsed by:182 183
Symbol 182 ButtonUses:181Used by:Timeline
Symbol 183 ButtonUses:181Used by:Timeline
Symbol 184 GraphicUses:135Used by:Timeline
Symbol 185 GraphicUsed by:Timeline
Symbol 186 GraphicUsed by:Timeline
Symbol 187 TextUses:138Used by:Timeline
Symbol 188 TextUses:157Used by:Timeline
Symbol 189 TextUses:157Used by:190
Symbol 190 ButtonUses:148 189Used by:Timeline
Symbol 191 TextUses:157Used by:192
Symbol 192 ButtonUses:148 191Used by:Timeline
Symbol 193 TextUses:157Used by:194
Symbol 194 ButtonUses:148 193Used by:Timeline

Instance Names

"loadingBar"Frame 1Symbol 141 Button
"genField"Frame 39Symbol 174 EditableText
"inField"Frame 39Symbol 175 EditableText
"statRoomFld"Frame 39Symbol 177 EditableText
"statScoreFld"Frame 39Symbol 178 EditableText
"statMovesFld"Frame 39Symbol 179 EditableText
"statMaxScoreFld"Frame 39Symbol 180 EditableText
"scrlDown"Frame 39Symbol 182 Button
"scrlUp"Frame 39Symbol 183 Button
"boundingBox_mc"Symbol 21 MovieClip [FocusRect] Frame 1Symbol 11 MovieClip [BoundingBox]
"tabCapture"Symbol 22 MovieClip [FocusManager] Frame 1Symbol 19 Button
"b"Symbol 30 MovieClip [SimpleButtonDown] Frame 1Symbol 27 MovieClip [BrdrShdw]
"face"Symbol 30 MovieClip [SimpleButtonDown] Frame 1Symbol 29 MovieClip [BrdrFace]
"b"Symbol 35 MovieClip [SimpleButtonIn] Frame 1Symbol 32 MovieClip [BrdrBlk]
"it"Symbol 35 MovieClip [SimpleButtonIn] Frame 1Symbol 34 MovieClip [BrdrHilght]
"g"Symbol 35 MovieClip [SimpleButtonIn] Frame 1Symbol 27 MovieClip [BrdrShdw]
"face"Symbol 35 MovieClip [SimpleButtonIn] Frame 1Symbol 29 MovieClip [BrdrFace]
"ob"Symbol 36 MovieClip [SimpleButtonUp] Frame 1Symbol 32 MovieClip [BrdrBlk]
"ol"Symbol 36 MovieClip [SimpleButtonUp] Frame 1Symbol 29 MovieClip [BrdrFace]
"ib"Symbol 36 MovieClip [SimpleButtonUp] Frame 1Symbol 27 MovieClip [BrdrShdw]
"il"Symbol 36 MovieClip [SimpleButtonUp] Frame 1Symbol 34 MovieClip [BrdrHilght]
"face"Symbol 36 MovieClip [SimpleButtonUp] Frame 1Symbol 29 MovieClip [BrdrFace]
"boundingBox_mc"Symbol 37 MovieClip [SimpleButton] Frame 1Symbol 11 MovieClip [BoundingBox]
"boundingBox_mc"Symbol 41 MovieClip [Button] Frame 1Symbol 11 MovieClip [BoundingBox]
"dfs"Symbol 97 MovieClip [BtnDownArrow] Frame 1Symbol 45 MovieClip [ScrollTrack]
"dfs"Symbol 98 MovieClip [BtnUpArrow] Frame 1Symbol 45 MovieClip [ScrollTrack]
"boundingBox_mc"Symbol 100 MovieClip [HScrollBar] Frame 1Symbol 11 MovieClip [BoundingBox]
"boundingBox_mc"Symbol 101 MovieClip [VScrollBar] Frame 1Symbol 11 MovieClip [BoundingBox]
"boundingBox_mc"Symbol 102 MovieClip [View] Frame 1Symbol 11 MovieClip [BoundingBox]
"boundingBox_mc"Symbol 103 MovieClip [ScrollView] Frame 1Symbol 11 MovieClip [BoundingBox]
"boundingBox_mc"Symbol 105 MovieClip [List] Frame 1Symbol 11 MovieClip [BoundingBox]

Special Tags

ExportAssets (56)Timeline Frame 1Symbol 11 as "BoundingBox"
ExportAssets (56)Timeline Frame 1Symbol 12 as "DataProvider"
ExportAssets (56)Timeline Frame 1Symbol 13 as "DataSelector"
ExportAssets (56)Timeline Frame 1Symbol 14 as "Defaults"
ExportAssets (56)Timeline Frame 1Symbol 15 as "UIObjectExtensions"
ExportAssets (56)Timeline Frame 1Symbol 16 as "UIObject"
ExportAssets (56)Timeline Frame 1Symbol 21 as "FocusRect"
ExportAssets (56)Timeline Frame 1Symbol 22 as "FocusManager"
ExportAssets (56)Timeline Frame 1Symbol 23 as "UIComponentExtensions"
ExportAssets (56)Timeline Frame 1Symbol 24 as "UIComponent"
ExportAssets (56)Timeline Frame 1Symbol 25 as "SelectableRow"
ExportAssets (56)Timeline Frame 1Symbol 27 as "BrdrShdw"
ExportAssets (56)Timeline Frame 1Symbol 29 as "BrdrFace"
ExportAssets (56)Timeline Frame 1Symbol 30 as "SimpleButtonDown"
ExportAssets (56)Timeline Frame 1Symbol 32 as "BrdrBlk"
ExportAssets (56)Timeline Frame 1Symbol 34 as "BrdrHilght"
ExportAssets (56)Timeline Frame 1Symbol 35 as "SimpleButtonIn"
ExportAssets (56)Timeline Frame 1Symbol 36 as "SimpleButtonUp"
ExportAssets (56)Timeline Frame 1Symbol 37 as "SimpleButton"
ExportAssets (56)Timeline Frame 1Symbol 38 as "Border"
ExportAssets (56)Timeline Frame 1Symbol 39 as "RectBorder"
ExportAssets (56)Timeline Frame 1Symbol 40 as "ButtonSkin"
ExportAssets (56)Timeline Frame 1Symbol 41 as "Button"
ExportAssets (56)Timeline Frame 1Symbol 42 as "CustomBorder"
ExportAssets (56)Timeline Frame 1Symbol 45 as "ScrollTrack"
ExportAssets (56)Timeline Frame 1Symbol 52 as "ScrollDownArrowDisabled"
ExportAssets (56)Timeline Frame 1Symbol 54 as "ScrollThemeColor1"
ExportAssets (56)Timeline Frame 1Symbol 56 as "ScrollThemeColor2"
ExportAssets (56)Timeline Frame 1Symbol 57 as "ScrollDownArrowDown"
ExportAssets (56)Timeline Frame 1Symbol 58 as "ScrollDownArrowOver"
ExportAssets (56)Timeline Frame 1Symbol 59 as "ScrollDownArrowUp"
ExportAssets (56)Timeline Frame 1Symbol 65 as "ScrollThumbBottomDisabled"
ExportAssets (56)Timeline Frame 1Symbol 67 as "ThumbThemeColor1"
ExportAssets (56)Timeline Frame 1Symbol 69 as "ThumbThemeColor3"
ExportAssets (56)Timeline Frame 1Symbol 70 as "ScrollThumbBottomDown"
ExportAssets (56)Timeline Frame 1Symbol 71 as "ScrollThumbBottomOver"
ExportAssets (56)Timeline Frame 1Symbol 72 as "ScrollThumbBottomUp"
ExportAssets (56)Timeline Frame 1Symbol 74 as "ScrollThumbGripDisabled"
ExportAssets (56)Timeline Frame 1Symbol 76 as "ThumbThemeColor2"
ExportAssets (56)Timeline Frame 1Symbol 77 as "ScrollThumbGripDown"
ExportAssets (56)Timeline Frame 1Symbol 78 as "ScrollThumbGripOver"
ExportAssets (56)Timeline Frame 1Symbol 79 as "ScrollThumbGripUp"
ExportAssets (56)Timeline Frame 1Symbol 81 as "ScrollThumbMiddleDisabled"
ExportAssets (56)Timeline Frame 1Symbol 82 as "