#include #include template unsigned int hash(const TYPE&); main(){ cout<<"Debut"< unsigned int hash(const TYPE& x){ static unsigned int ra[256]={185460898, 1039845884, 381810335, 1021387085, 521911846, 538735452, 71229696, 137218961, 366312463, 62213948, 185019651, 246730728, 552128644, 142714798, 273602032, 152747210, 288700917, 521777365, 622459278, 242162875, 818293142, 738606576, 984219831, 478162372, 111962123, 727182989, 90012102, 1042045363, 561243726, 209143006, 42055896, 164078087, 360306621, 393320767, 347646002, 145474564, 159641632, 670983069, 206952536, 487888951, 175529479, 872337489, 900645043, 118578579, 705270920, 843405283, 836633595, 588977617, 444321421, 760216487, 182090272, 233199424, 1062573147, 19712899, 707820541, 785217171, 875441353, 505859105, 1019590428, 565626568, 787865075, 565253876, 979605128, 269214078, 641401352, 694677769, 497998813, 126960735, 978550330, 628374936, 65121006, 918145680, 848845027, 51982336, 1041975681, 771762154, 755746653, 469847855, 999316762, 1072344348, 931156140, 592225130, 469990029, 590925742, 154155540, 627846695, 101074318, 614282655, 899939307, 131780917, 590231768, 39389764, 225407403, 721706817, 645916457, 841946581, 296695324, 510121230, 122819124, 98307843, 646589247, 616782932, 176092123, 4224164, 685019770, 365853852, 744395477, 620437325, 499290672, 703749049, 691188340, 328951733, 210752869, 419402721, 445131779, 702893817, 877422374, 116426255, 980153267, 310383690, 57149851, 56060498, 923582295, 464508653, 373816444, 544551322, 74992188, 241956433, 481431856, 85615800, 667335190, 448698351, 103846633, 264953649, 853750817, 648988597, 953650018, 1057141324, 168193092, 1450813, 195940043, 144681594, 735622762, 915405900, 1049075801, 85133945, 988278125, 786298627, 189268493, 613012445, 699776176, 940511169, 228662326, 588727271, 134859473, 612060498, 116203273, 901347798, 1042463461, 664166602, 187198835, 995197062, 295615865, 18194120, 800132581, 450701903, 263173198, 867602053, 353399269, 649786488, 1009321943, 115776433, 687351579, 399825041, 820388006, 1019884390, 531767544, 1046535931, 68558530, 391741953, 100556878, 152450144, 173667679, 903750654, 183235038, 313813919, 338297509, 324618391, 454163153, 297088193, 871503569, 453056943, 99915381, 778289135, 79319324, 752141678, 298990513, 930823981, 526579366, 231509730, 688894747, 682886050, 975874658, 213978802, 2911520, 219177316, 36376779, 210975738, 77321248, 671723465, 870716840, 1042709598, 681638104, 870718362, 977274577, 9594449, 583229065, 92241631, 489637695, 72671555, 926820211, 406341169, 593946328, 244260052, 966884872, 458158978, 768599783, 899142749, 449979717, 1035247518, 254073153, 817004084, 272834593, 549015553, 434941853, 576412215, 412200095, 160144935, 957196583, 595326676, 961325545, 867270019, 582583257, 867608295, 118183955, 542984329, 405039376, 492224508, 996707772, 277678409, 9520774, 485791518, 868419134, 397476748, 12312793, 850931049}; int i,lg=sizeof(x); unsigned int res(0),rot,i32; const char * t=(const char *)&x; for(i=0;i>32-i32); } return res; }