### Prompt

Create a solution in cpp for the following problem:

Igor likes hexadecimal notation and considers positive integer in the hexadecimal notation interesting if each digit and each letter in it appears no more than t times. For example, if t = 3, then integers 13a13322, aaa, abcdef0123456789 are interesting, but numbers aaaa, abababab and 1000000 are not interesting.

Your task is to find the k-th smallest interesting for Igor integer in the hexadecimal notation. The integer should not contain leading zeros.

Input

The first line contains the two integers k and t (1 ≤ k ≤ 2·109, 1 ≤ t ≤ 10) — the number of the required integer and the maximum number of times some integer or letter can appear in interesting integer.

It can be shown that the answer always exists for such constraints.

Output

Print in the hexadecimal notation the only integer that is the k-th smallest interesting integer for Igor.

Examples

Input

17 1

Output

12

Input

1000000 2

Output

fca2c

Note

The first 20 interesting integers if t = 1: 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, 10, 12, 13, 14, 15. So the answer for the first example equals 12.

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
const int N = 200005;
const int inf = 1e9 + 7;
inline void read(int &x) {
  x = 0;
  char ch = getchar();
  while (ch < '0') ch = getchar();
  while (ch >= '0') {
    x = x * 10 + ch - 48;
    ch = getchar();
  }
}
long long ans[8][10000] = {
    {},
    {},
    {10000000ll,  684262ll,    1818416ll,   2917177ll,   4262765ll,
     5595204ll,   6693165ll,   8038807ll,   9139198ll,   10469239ll,
     11816120ll,  12914223ll,  14269578ll,  15603427ll,  16702159ll,
     18047800ll,  19380159ll,  20478181ll,  21823788ll,  22922519ll,
     24267412ll,  25599831ll,  26698541ll,  28044152ll,  29780437ll,
     31416441ll,  36280998ll,  39579622ll,  41325881ll,  43047046ll,
     45027197ll,  46773364ll,  48520257ll,  50499710ll,  52233770ll,
     54098466ll,  55959757ll,  57706651ll,  59699964ll,  61420486ll,
     63171190ll,  65160646ll,  66906872ll,  68626738ll,  70620047ll,
     72613361ll,  74099948ll,  76333503ll,  78332881ll,  79819609ll,
     85648774ll,  87983741ll,  89963160ll,  91464362ll,  93431318ll,
     95437098ll,  97100413ll,  98903165ll,  100883315ll, 102630874ll,
     104363821ll, 106353279ll, 108090918ll, 109837175ll, 111810100ll,
     113563491ll, 115542916ll, 117175732ll, 119024572ll, 121262581ll,
     122764405ll, 124730006ll, 126735643ll, 130021788ll, 134395030ll,
     136386589ll, 138366708ll, 140085237ll, 141834159ll, 143826755ll,
     145573646ll, 147308010ll, 149286829ll, 151033663ll, 152780554ll,
     154753661ll, 156494405ll, 158477722ll, 160230483ll, 161963925ll,
     163947095ll, 165941048ll, 167683968ll, 169666729ll, 171400425ll,
     173134150ll, 175127321ll, 179386105ll, 183070787ll, 184791402ll,
     186770221ll, 188504555ll, 190251212ll, 192230873ll, 193977796ll,
     195712823ll, 197690946ll, 199425303ll, 201417960ll, 203166531ll,
     204897885ll, 206877975ll, 208625324ll, 210365139ll, 212596941ll,
     214378737ll, 216100658ll, 218070218ll, 220037167ll, 221546806ll,
     223530778ll, 228753836ll, 231693779ll, 233196248ll, 235161146ll,
     237141297ll, 238697638ll, 240640740ll, 242614507ll, 244348094ll,
     246108292ll, 248087042ll, 249821538ll, 251566217ll, 253534595ll,
     255280920ll, 257429429ll, 259213766ll, 261000456ll, 262990524ll,
     264644268ll, 266460561ll, 268441288ll, 269992569ll, 272143804ll,
     278118380ll, 280095962ll, 281765127ll, 283578803ll, 285545444ll,
     287292318ll, 289040470ll, 291018040ll, 292752352ll, 294512412ll,
     296491865ll, 298225593ll, 300217548ll, 302202761ll, 303945227ll,
     305937240ll, 307671604ll, 309414230ll, 311386514ll, 313144784ll,
     314878491ll, 316844135ll, 318849952ll, 321511563ll, 326510075ll,
     328491580ll, 330469176ll, 331982610ll, 333962761ll, 335830294ll,
     337443295ll, 339433413ll, 341249439ll, 343148467ll, 344890856ll,
     346675283ll, 348868089ll, 350602514ll, 352362601ll, 354328495ll,
     356075084ll, 357809156ll, 359788211ll, 361780828ll, 363281995ll,
     365262149ll, 367254069ll, 371924674ll, 374913551ll, 376906199ll,
     378885144ll, 380385516ll, 382366215ll, 384345672ll, 386092591ll,
     387826724ll},
    {10000000ll, 30150ll,    103656ll,   157030ll,   244418ll,   297965ll,
     385397ll,   439739ll,   526333ll,   614472ll,   668684ll,   755406ll,
     809620ll,   896121ll,   950599ll,   1038030ll,  1116876ll,  1178966ll,
     1265157ll,  1319683ll,  1407250ll,  1460440ll,  1547962ll,  1602494ll,
     1688675ll,  1776153ll,  1829432ll,  1989918ll,  2063980ll,  2616461ll,
     2977822ll,  3117791ll,  3260113ll,  3334566ll,  3475818ll,  3567409ll,
     3691300ll,  3801023ll,  3908068ll,  4043942ll,  4144704ll,  4264322ll,
     4373242ll,  4480336ll,  4588680ll,  4721902ll,  4810971ll,  4945495ll,
     5052554ll,  5162278ll,  5299376ll,  5377716ll,  5519012ll,  5593155ll,
     5767448ll,  5878902ll,  5984222ll,  6499622ll,  6890963ll,  7037907ll,
     7145131ll,  7253388ll,  7393572ll,  7468872ll,  7611330ll,  7719847ll,
     7826941ll,  7935677ll,  8044872ll,  8180067ll,  8292150ll,  8399203ll,
     8508876ll,  8617307ll,  8724322ll,  8864369ll,  8947731ll,  9081055ll,
     9189533ll,  9297918ll,  9469221ll,  9546310ll,  9687563ll,  9763042ll,
     9903045ll,  10382858ll, 10773491ll, 10955568ll, 11033580ll, 11173590ll,
     11280644ll, 11389030ll, 11529034ll, 11605805ll, 11745765ll, 11854240ll,
     11962545ll, 12070961ll, 12180335ll, 12316827ll, 12427749ll, 12534801ll,
     12643231ll, 12752902ll, 12860006ll, 12999967ll, 13083997ll, 13249728ll,
     13358126ll, 13466468ll, 13605206ll, 13681908ll, 13823097ll, 13993474ll,
     14643087ll, 14875683ll, 14953745ll, 15091122ll, 15169228ll, 15308922ll,
     15416328ll, 15526002ll, 15664719ll, 15742464ll, 15881405ll, 15989875ll,
     16098180ll, 16205320ll, 16326511ll, 16453590ll, 16563346ll, 16671823ll,
     16778785ll, 16921504ll, 17028556ll, 17168551ll, 17246621ll, 17384044ll,
     17493678ll, 17602065ll, 17740779ll, 17876682ll, 18525577ll, 18756589ll,
     18870029ll, 19011242ll, 19089343ll, 19226775ll, 19333863ll, 19443493ll,
     19551925ll, 19661611ll, 19800314ll, 19908703ll, 20015757ll, 20125435ll,
     20233910ll, 20340914ll, 20481895ll, 20581777ll, 20731932ll, 20840372ll,
     20947378ll, 21080615ll, 21165091ll, 21304158ll, 21382264ll, 21519685ll,
     21657188ll, 21759211ll, 22407491ll, 22650232ll, 22790142ll, 22899821ll,
     23006957ll, 23146966ll, 23223735ll, 23362404ll, 23472083ll, 23580471ll,
     23687566ll, 23796307ll, 23935913ll, 24044346ll, 24152688ll, 24261038ll,
     24402460ll, 24509476ll, 24649558ll, 24727222ll, 24866335ll, 24975574ll,
     25083019ll, 25224317ll, 25299797ll, 25439798ll, 25517950ll, 25655283ll,
     26276380ll, 26569050ll, 26710300ll},
    {10000000ll, 760ll,     4106ll,    5636ll,    9442ll,    10968ll,
     14778ll,    16361ll,   20114ll,   23745ll,   25446ll,   29200ll,
     30832ll,    34534ll,   36168ll,   39866ll,   41504ll,   45254ll,
     48957ll,    50532ll,   54284ll,   55864ll,   59638ll,   61197ll,
     65010ll,    66953ll,   70343ll,   78258ll,   80967ll,   127491ll,
     151151ll,   160647ll,  164604ll,  169581ll,  175777ll,  178516ll,
     185246ll,   187504ll,  194121ll,  198618ll,  203055ll,  207553ll,
     212049ll,   218662ll,  223159ll,  227596ll,  232092ll,  236590ll,
     241026ll,   247699ll,  250071ll,  256632ll,  261189ll,  265567ll,
     274531ll,   276685ll,  283408ll,  285610ll,  342938ll,  360914ll,
     365405ll,   372019ll,  374339ll,  381009ll,  385264ll,  389945ll,
     394442ll,   398880ll,  405436ll,  409514ll,  414484ll,  418982ll,
     423419ll,   427915ll,  432558ll,  436791ll,  443523ll,  447900ll,
     452456ll,   456894ll,  461390ll,  470237ll,  472559ll,  479173ll,
     481553ll,   488107ll,  534741ll,  558168ll,  567900ll,  570222ll,
     576834ll,   581337ll,  585768ll,  591802ll,  594704ll,  601374ll,
     605813ll,   610308ll,  614746ll,  619252ll,  623740ll,  630234ll,
     634848ll,   639345ll,  643842ll,  648279ll,  654528ll,  657213ll,
     666121ll,   668444ll,  675054ll,  679546ll,  683934ll,  690660ll,
     692863ll,   750142ll,  765985ll,  772658ll,  777158ll,  781591ll,
     788205ll,   790585ll,  797139ll,  801694ll,  806131ll,  810628ll,
     815126ll,   821681ll,  826235ll,  830672ll,  835168ll,  839606ll,
     844043ll,   850715ll,  852977ll,  861885ll,  866251ll,  870875ll,
     875316ll,   879812ll,  886424ll,  888806ll,  895359ll,  908260ll,
     964298ll,   975152ll,  977416ll,  984086ll,  986408ll,  993020ll,
     997464ll,   1001956ll, 1006920ll, 1010891ll, 1017502ll, 1021999ll,
     1026496ll,  1030933ll, 1035429ll, 1039909ll, 1046539ll, 1052791ll,
     1057707ll,  1062263ll, 1066642ll, 1072965ll, 1075636ll, 1082308ll,
     1084560ll,  1091182ll, 1095911ll, 1100115ll, 1157240ll, 1173239ll,
     1179909ll,  1182231ll, 1188845ll, 1193404ll, 1197837ll, 1204391ll,
     1206771ll,  1213325ll, 1217881ll, 1222323ll, 1226815ll, 1231313ll,
     1237925ll,  1242419ll, 1249095ll, 1253531ll, 1258028ll, 1262465ll,
     1269137ll,  1271459ll, 1278072ll, 1282453ll, 1287005ll, 1293671ll,
     1296058ll,  1302612ll, 1315509ll},
    {10000000ll, 8ll,     96ll,    114ll,   208ll,   226ll,   320ll,   339ll,
     432ll,      522ll,   544ll,   637ll,   656ll,   749ll,   768ll,   861ll,
     880ll,      973ll,   1065ll,  1085ll,  1178ll,  1197ll,  1290ll,  1309ll,
     1402ll,     1427ll,  1514ll,  1751ll,  1787ll,  4429ll,  5186ll,  5454ll,
     5544ll,     5659ll,  5766ll,  5863ll,  6040ll,  6069ll,  6246ll,  6348ll,
     6451ll,     6553ll,  6656ll,  6833ll,  6935ll,  7038ll,  7140ll,  7244ll,
     7345ll,     7523ll,  7550ll,  7727ll,  7828ll,  7932ll,  8183ll,  8212ll,
     8388ll,     8417ll,  11412ll, 11977ll, 12085ll, 12261ll, 12290ll, 12466ll,
     12559ll,    12671ll, 12774ll, 12876ll, 12989ll, 13082ll, 13257ll, 13360ll,
     13462ll,    13566ll, 13668ll, 13771ll, 13947ll, 14050ll, 14152ll, 14256ll,
     14357ll,    14610ll, 14638ll, 14815ll, 14843ll, 15019ll, 17595ll, 18357ll,
     18686ll,    18715ll, 18891ll, 18992ll, 19096ll, 19199ll, 19302ll, 19478ll,
     19574ll,    19683ll, 19786ll, 19889ll, 19991ll, 20152ll, 20211ll, 20373ll,
     20474ll,    20578ll, 20680ll, 20783ll, 21034ll, 21063ll, 21239ll, 21337ll,
     21445ll,    21622ll, 21650ll, 24590ll, 25141ll, 25317ll, 25420ll, 25521ll,
     25698ll,    25727ll, 25903ll, 26006ll, 26108ll, 26211ll, 26314ll, 26419ll,
     26589ll,    26695ll, 26798ll, 26902ll, 27003ll, 27172ll, 27208ll, 27461ll,
     27489ll,    27665ll, 27767ll, 27870ll, 28046ll, 28076ll, 28251ll, 28574ll,
     31526ll,    31917ll, 31948ll, 32124ll, 32153ll, 32329ll, 32432ll, 32535ll,
     32637ll,    32739ll, 32915ll, 33018ll, 33120ll, 33223ll, 33326ll, 33429ll,
     33604ll,    33641ll, 33885ll, 33989ll, 34090ll, 34194ll, 34295ll, 34473ll,
     34501ll,    34678ll, 34710ll, 34882ll, 37757ll, 38373ll, 38549ll, 38578ll,
     38754ll,    38857ll, 38960ll, 39136ll, 39165ll, 39341ll, 39444ll, 39547ll,
     39649ll,    39752ll, 39854ll, 40031ll, 40208ll, 40311ll, 40413ll, 40516ll,
     40620ll,    40722ll, 40897ll, 40927ll, 41102ll, 41206ll, 41308ll, 41485ll,
     41741ll},
    {10000000ll, 0ll,   1ll,   1ll,   2ll,   2ll,   3ll,   3ll,   4ll,   5ll,
     5ll,        6ll,   6ll,   7ll,   7ll,   8ll,   8ll,   9ll,   10ll,  10ll,
     11ll,       11ll,  12ll,  12ll,  13ll,  13ll,  14ll,  17ll,  17ll,  97ll,
     107ll,      110ll, 111ll, 112ll, 113ll, 114ll, 116ll, 116ll, 118ll, 119ll,
     120ll,      121ll, 122ll, 124ll, 125ll, 126ll, 127ll, 128ll, 129ll, 131ll,
     131ll,      133ll, 134ll, 135ll, 138ll, 138ll, 140ll, 140ll, 224ll, 232ll,
     233ll,      235ll, 235ll, 237ll, 238ll, 239ll, 240ll, 241ll, 242ll, 243ll,
     245ll,      246ll, 247ll, 248ll, 249ll, 250ll, 252ll, 253ll, 254ll, 255ll,
     256ll,      259ll, 259ll, 261ll, 261ll, 263ll, 342ll, 352ll, 356ll, 356ll,
     358ll,      359ll, 360ll, 361ll, 362ll, 364ll, 365ll, 366ll, 367ll, 368ll,
     369ll,      371ll, 371ll, 373ll, 374ll, 375ll, 376ll, 377ll, 380ll, 380ll,
     382ll,      383ll, 384ll, 386ll, 386ll, 470ll, 477ll, 479ll, 480ll, 481ll,
     483ll,      483ll, 485ll, 486ll, 487ll, 488ll, 489ll, 490ll, 492ll, 493ll,
     494ll,      495ll, 496ll, 498ll, 498ll, 501ll, 501ll, 503ll, 504ll, 505ll,
     507ll,      507ll, 509ll, 513ll, 597ll, 602ll, 602ll, 604ll, 604ll, 606ll,
     607ll,      608ll, 609ll, 610ll, 612ll, 613ll, 614ll, 615ll, 616ll, 617ll,
     619ll,      619ll, 622ll, 623ll, 624ll, 625ll, 626ll, 628ll, 628ll, 630ll,
     630ll,      632ll, 715ll, 723ll, 725ll, 725ll, 727ll, 728ll, 729ll, 731ll,
     731ll,      733ll, 734ll, 735ll, 736ll, 737ll, 738ll, 740ll, 742ll, 743ll,
     744ll,      745ll, 746ll, 747ll, 749ll, 749ll, 751ll, 752ll, 753ll, 755ll,
     758ll},
    {10000000ll, 0ll, 0ll, 0ll, 0ll, 0ll, 0ll, 0ll, 0ll, 0ll, 0ll, 0ll, 0ll,
     0ll,        0ll, 0ll, 0ll, 0ll, 0ll, 0ll, 0ll, 0ll, 0ll, 0ll, 0ll, 0ll,
     0ll,        0ll, 0ll, 1ll, 1ll, 1ll, 1ll, 1ll, 1ll, 1ll, 1ll, 1ll, 1ll,
     1ll,        1ll, 1ll, 1ll, 1ll, 1ll, 1ll, 1ll, 1ll, 1ll, 1ll, 1ll, 1ll,
     1ll,        1ll, 1ll, 1ll, 1ll, 1ll, 2ll, 2ll, 2ll, 2ll, 2ll, 2ll, 2ll,
     2ll,        2ll, 2ll, 2ll, 2ll, 2ll, 2ll, 2ll, 2ll, 2ll, 2ll, 2ll, 2ll,
     2ll,        2ll, 2ll, 2ll, 2ll, 2ll, 2ll, 2ll, 3ll, 3ll, 3ll, 3ll, 3ll,
     3ll,        3ll, 3ll, 3ll, 3ll, 3ll, 3ll, 3ll, 3ll, 3ll, 3ll, 3ll, 3ll,
     3ll,        3ll, 3ll, 3ll, 3ll, 3ll, 3ll, 3ll, 3ll, 3ll, 3ll, 4ll, 4ll,
     4ll,        4ll, 4ll, 4ll, 4ll, 4ll, 4ll, 4ll, 4ll, 4ll, 4ll, 4ll, 4ll,
     4ll,        4ll, 4ll, 4ll, 4ll, 4ll, 4ll, 4ll, 4ll, 4ll, 4ll, 4ll, 4ll,
     4ll,        5ll, 5ll, 5ll, 5ll, 5ll, 5ll, 5ll, 5ll, 5ll, 5ll, 5ll, 5ll,
     5ll,        5ll, 5ll, 5ll, 5ll, 5ll, 5ll, 5ll, 5ll, 5ll, 5ll, 5ll, 5ll,
     5ll,        5ll, 5ll, 6ll, 6ll, 6ll, 6ll, 6ll, 6ll, 6ll, 6ll, 6ll, 6ll,
     6ll,        6ll, 6ll, 6ll, 6ll, 6ll, 6ll, 6ll, 6ll, 6ll, 6ll, 6ll, 6ll,
     6ll,        6ll, 6ll, 6ll, 6ll, 6ll}};
int cnt[20];
long long n, k;
long long ans1[] = {
    5889660ll,     16563930ll,    9566218ll,     33777501ll,    13344800ll,
    51215614ll,    17266740ll,    69336796ll,    21220602ll,    87717409ll,
    24981876ll,    105098648ll,   28756217ll,    122655178ll,   32710740ll,
    140902108ll,   36636420ll,    159170541ll,   40483190ll,    177009278ll,
    44329310ll,    194842446ll,   48171900ll,    212598489ll,   52012958ll,
    230346360ll,   55840249ll,    248108075ll,   59613300ll,    265660814ll,
    61932152ll,    283716200ll,   62311740ll,    303033803ll,   64713480ll,
    323629037ll,   67123089ll,    342032005ll,   69514396ll,    360401056ll,
    71898900ll,    378601180ll,   74254650ll,    396708350ll,   76600140ll,
    414698238ll,   78915030ll,    432508909ll,   81184063ll,    450072427ll,
    83542569ll,    468133135ll,   85901840ll,    486184242ll,   88164951ll,
    503793375ll,   90419820ll,    521067706ll,   92593860ll,    540147420ll,
    95081110ll,    559188272ll,   96751860ll,    570350778ll,   98090340ll,
    598450157ll,   100412131ll,   616306093ll,   102698295ll,   633902959ll,
    104996580ll,   651558603ll,   107276664ll,   669119322ll,   109553550ll,
    686653387ll,   111828620ll,   704254087ll,   114093096ll,   721799023ll,
    116365507ll,   739240545ll,   118635810ll,   756748268ll,   120844500ll,
    773840058ll,   123006660ll,   790551738ll,   125182583ll,   809656054ll,
    127559418ll,   827936047ll,   130015860ll,   846659292ll,   131346420ll,
    855563450ll,   132843300ll,   884670172ll,   135182488ll,   902687480ll,
    137574274ll,   920988795ll,   139871985ll,   938650478ll,   142210680ll,
    956731373ll,   144480750ll,   974168045ll,   146742900ll,   991624924ll,
    149075160ll,   1009605630ll,  151269180ll,   1026550970ll,  153457080ll,
    1044520924ll,  155696297ll,   1061854492ll,  157826940ll,   1079574236ll,
    160303380ll,   1098483454ll,  162676097ll,   1116615077ll,  165049980ll,
    1134755548ll,  165940980ll,   1140776122ll,  167789903ll,   1172281468ll,
    170087694ll,   1189939599ll,  172350780ll,   1207473901ll,  174718320ll,
    1225641963ll,  177084442ll,   1243808121ll,  179412900ll,   1261633244ll,
    181693860ll,   1279258042ll,  183912180ll,   1297529598ll,  186235629ll,
    1315388175ll,  188477340ll,   1332604090ll,  190638784ll,   1350497304ll,
    193015500ll,   1368719068ll,  195371700ll,   1386827757ll,  197704140ll,
    1404739565ll,  200119740ll,   1423179467ll,  200574150ll,   1443119085ll,
    202916499ll,   1461227567ll,  205209582ll,   1478792159ll,  207547980ll,
    1496793854ll,  209861340ll,   1514602204ll,  212118540ll,   1531964874ll,
    214280700ll,   1548742074ll,  216515229ll,   1567101455ll,  218756085ll,
    1584375885ll,  220981020ll,   1601498571ll,  223143180ll,   1619394268ll,
    225483540ll,   1637416668ll,  227831820ll,   1655480301ll,  230142768ll,
    1673274655ll,  232473930ll,   1691181035ll,  234808350ll,   1709100986ll,
    235168710ll,   1728331757ll,  237459570ll,   1746014189ll,  239728105ll,
    1763510261ll,  241984860ll,   1780874972ll,  244220640ll,   1798190589ll,
    246465780ll,   1815552510ll,  248697060ll,   1832713914ll,  250914821ll,
    1849864653ll,  253182403ll,   1867352597ll,  255295473ll,   1884979663ll,
    257666460ll,   1903099339ll,  259840500ll,   1919937995ll,  262108705ll,
    1938551116ll,  264490800ll,   1956742142ll,  266826004ll,   1974665682ll,
    269123211ll,   1992382772ll,  269724660ll,   1996414138ll,  271794292ll,
    2029332960ll,  274120260ll,   2047278812ll,  276369567ll,   2064671327ll,
    278617380ll,   2082047742ll,  280854240ll,   2099302379ll,  283149060ll,
    2116943034ll,  285358740ll,   2134044107ll,  287485260ll,   2151673291ll,
    289840560ll,   2169790718ll,  292219440ll,   2188083181ll,  294506340ll,
    2205613788ll,  296751660ll,   2222976459ll,  298939560ll,   2240946157ll,
    301247079ll,   2258722319ll,  303523001ll,   2276326162ll,  304319220ll,
    2281626810ll,  306056670ll,   2312318956ll,  308287140ll,   2329542347ll,
    310475938ll,   2346593527ll,  312716400ll,   2363801562ll,  314923740ll,
    2380887804ll,  317137740ll,   2397031337ll,  319454340ll,   2414726057ll,
    321662803ll,   2433084539ll,  324004112ll,   2451045380ll,  326311080ll,
    2468814829ll,  328601940ll,   2486370012ll,  330912600ll,   2504167405ll,
    333282660ll,   2522414812ll,  335653125ll,   2540602463ll,  337923663ll,
    2558180975ll,  338913780ll,   2566839482ll,  340303740ll,   2593123787ll,
    342620340ll,   2611998152ll,  344936940ll,   2629823912ll,  347229780ll,
    2647391912ll,  349448280ll,   2664606971ll,  351640500ll,   2681549548ll,
    353798873ll,   2699425490ll,  356197101ll,   2717760670ll,  358458710ll,
    2735294189ll,  360740310ll,   2752921581ll,  363076085ll,   2770855433ll,
    365430570ll,   2788952574ll,  367734660ll,   2806644444ll,  369576060ll,
    2821193436ll,  371904540ll,   2839084764ll,  373508340ll,   2852052152ll,
    374268660ll,   2874080713ll,  376468859ll,   2891069368ll,  378664260ll,
    2908028619ll,  380836230ll,   2924924411ll,  382996500ll,   2941689564ll,
    385160943ll,   2959598682ll,  387570300ll,   2978000877ll,  389898589ll,
    2995891688ll,  392231220ll,   3013803740ll,  394512180ll,   3031428553ll,
    396793140ll,   3049979609ll,  399062220ll,   3067477706ll,  401342190ll,
    3085098954ll,  403598400ll,   3102519257ll,  405856410ll,   3119897324ll,
    408037024ll,   3136771588ll,  408206850ll,   3154751469ll,  410364762ll,
    3171506895ll,  412611279ll,   3188948749ll,  414875769ll,   3206358286ll,
    417023280ll,   3224102740ll,  419362566ll,   3242112607ll,  421637267ll,
    3259650280ll,  423974580ll,   3277586138ll,  426231780ll,   3295018715ll,
    428487355ll,   3312440292ll,  430769940ll,   3330014938ll,  433017117ll,
    3347324579ll,  435284340ll,   3363827130ll,  437588520ll,   3381589211ll,
    439869892ll,   3399023959ll,  442131901ll,   3416546561ll,  442697460ll,
    3422476952ll,  444490178ll,   3451382281ll,  446712900ll,   3468679832ll,
    448875060ll,   3485391512ll,  451037220ll,   3503287209ll,  453199380ll,
    3520064425ll,  455459811ll,   3538502607ll,  457678140ll,   3555707817ll,
    459919797ll,   3572998958ll,  462228180ll,   3590848203ll,  464449740ll,
    3607953082ll,  466766340ll,   3625778874ll,  469082940ll,   3643604666ll,
    471375780ll,   3661233867ll,  473667016ll,   3678922010ll,  475414980ll,
    3692822185ll,  477125700ll,   3706452632ll,  477292020ll,   3707681432ll,
    478836420ll,   3735014312ll,  480616284ll,   3749100584ll,  482116200ll,
    3762626044ll,  483932940ll,   3775913146ll,  485786220ll,   3789540265ll,
    487591800ll,   3803839196ll,  489380074ll,   3818160576ll,  491248950ll,
    3832925691ll,  493021140ll,   3845979578ll,  494778390ll,   3860062155ll,
    496597020ll,   3873426345ll,  498540952ll,   3888682532ll,  500398620ll,
    3903323595ll,  502453860ll,   3918396602ll,  504249405ll,   3932691295ll,
    506109472ll,   3947407088ll,  507902328ll,   3961755524ll,  509759223ll,
    3976458908ll,  511732140ll,   3989813912ll,  511886580ll,   3992763032ll,
    512874600ll,   4016381387ll,  514333860ll,   4029476282ll,  516210900ll,
    4042116009ll,  518146260ll,   4057451498ll,  519858060ll,   4071157195ll,
    521640897ll,   4085386590ll,  523535910ll,   4100431580ll,  525409098ll,
    4114170158ll,  527176140ll,   4128169146ll,  529089172ll,   4142204113ll,
    530847060ll,   4156222921ll,  532581540ll,   4169063610ll,  534384118ll,
    4183473267ll,  536086140ll,   4197051851ll,  537832500ll,   4209888152ll,
    539628657ll,   4224197694ll,  541382550ll,   4237208537ll,  543178500ll,
    4251511994ll,  544943130ll,   4265641692ll,  546481140ll,   4275878552ll,
    546481140ll,   4275878552ll,  546481140ll,   4275878552ll,  546481140ll,
    4275878552ll,  547449972ll,   4342512382ll,  548437380ll,   4356439772ll,
    549461940ll,   4370952173ll,  550472820ll,   4384091595ll,  551571084ll,
    4399482815ll,  552658740ll,   4412333242ll,  553777548ll,   4427894267ll,
    554819006ll,   4442543523ll,  555890100ll,   4457491915ll,  557039693ll,
    4472392882ll,  558153188ll,   4487758767ll,  559200660ll,   4502453946ll,
    560311172ll,   4517877711ll,  561370740ll,   4532665803ll,  562542900ll,
    4546481065ll,  563778420ll,   4562209705ll,  563778420ll,   4562209705ll,
    563778420ll,   4562209705ll,  563778420ll,   4562209705ll,  563778420ll,
    4562209705ll,  563778420ll,   4562209705ll,  563778420ll,   4562209705ll,
    563778420ll,   4562209705ll,  563778420ll,   4562209705ll,  563778420ll,
    4562209705ll,  563778420ll,   4562209705ll,  563778420ll,   4562209705ll,
    563778420ll,   4562209705ll,  563778420ll,   4562209705ll,  563778420ll,
    4562209705ll,  563778420ll,   4562209705ll,  563778420ll,   4562209705ll,
    564538740ll,   4843367883ll,  565013940ll,   4848540858ll,  565013940ll,
    4848540858ll,  565562004ll,   4891432190ll,  566573109ll,   4905822768ll,
    567761978ll,   4920900410ll,  568815540ll,   4933545419ll,  569987700ll,
    4949737180ll,  571049668ll,   4964552589ll,  572063597ll,   4978914800ll,
    573092340ll,   4992265675ll,  574177380ll,   5007408860ll,  575286180ll,
    5022744284ll,  576304836ll,   5037202430ll,  577432356ll,   5050661868ll,
    578414580ll,   5063568297ll,  579567060ll,   5079534239ll,  580624260ll,
    5094305227ll,  581590500ll,   5109186268ll,  582311220ll,   5116976314ll,
    582699300ll,   5141233372ll,  583546740ll,   5150530746ll,  583736820ll,
    5170523595ll,  584893140ll,   5186584284ll,  586073220ll,   5201657564ll,
    587211228ll,   5217302702ll,  588242739ll,   5231801388ll,  589354764ll,
    5247233022ll,  590389620ll,   5260701131ll,  591555092ll,   5276773647ll,
    592585540ll,   5291269855ll,  593571300ll,   5304270829ll,  594757140ll,
    5319392971ll,  595790340ll,   5333831593ll,  596828580ll,   5347409353ll,
    597838740ll,   5361798876ll,  598701300ll,   5375627245ll,  599608500ll,
    5385411770ll,  599849268ll,   5408196606ll,  601034100ll,   5422181835ll,
    602079540ll,   5435743418ll,  602165940ll,   5453569995ll,  603148740ll,
    5467536843ll,  604149540ll,   5481783276ll,  605090004ll,   5495333886ll,
    606178572ll,   5509394686ll,  607306740ll,   5523893707ll,  608416260ll,
    5539368941ll,  609587700ll,   5554302410ll,  610586340ll,   5568466908ll,
    611641156ll,   5582180415ll,  612646660ll,   5596469903ll,  613524660ll,
    5609361372ll,  614641380ll,   5623844572ll,  615670260ll,   5635951529ll,
    616809980ll,   5652860267ll,  616905780ll,   5653847226ll,  617861373ll,
    5684377155ll,  618895140ll,   5698957020ll,  619923867ll,   5713497323ll,
    620612340ll,   5720956090ll,  620992500ll,   5743046091ll,  622012089ll,
    5757522169ll,  623042976ll,   5770960052ll,  624035140ll,   5785009871ll,
    625030475ll,   5799142396ll,  626118798ll,   5813255570ll,  627170100ll,
    5826932170ll,  628286820ll,   5842403034ll,  629356020ll,   5856292026ll,
    630436020ll,   5871390411ll,  631528980ll,   5885480890ll,  632595300ll,
    5900398026ll,  633569460ll,   5915410140ll,  634203060ll,   5922282682ll,
    634678260ll,   5947518411ll,  635818740ll,   5962198475ll,  636914076ll,
    5976520190ll,  638004660ll,   5990510027ll,  639078180ll,   6005497564ll,
    639145140ll,   6006168762ll,  639926484ll,   6034801406ll,  640950900ll,
    6048181707ll,  642091380ll,   6062861771ll,  643056508ll,   6076688543ll,
    644150580ll,   6090850012ll,  645112500ll,   6104571882ll,  646234764ll,
    6119041790ll,  647136420ll,   6132137675ll,  648166020ll,   6145572026ll,
    649166316ll,   6159881453ll,  650264820ll,   6172822441ll,  651254820ll,
    6188105419ll,  651500340ll,   6190718138ll,  652226172ll,   6218825982ll,
    653250660ll,   6233194204ll,  654358300ll,   6247475423ll,  655420740ll,
    6261374684ll,  656524500ll,   6275620828ll,  657507139ll,   6289591485ll,
    657677940ll,   6291381434ll,  658496556ll,   6320443294ll,  659824260ll,
    6338182875ll,  661095780ll,   6355381979ll,  662367300ll,   6372528108ll,
    663604222ll,   6389317506ll,  664900980ll,   6405745577ll,  666231540ll,
    6423563177ll,  667530706ll,   6441010649ll,  668797620ll,   6459153594ll,
    668995620ll,   6480264924ll,  670372908ll,   6498741756ll,  671735220ll,
    6516826059ll,  673036932ll,   6534414158ll,  674309940ll,   6551498187ll,
    675545460ll,   6567226827ll,  676210740ll,   6576594106ll,  676911188ll,
    6604287567ll,  678206580ll,   6620704203ll,  679537140ll,   6638529993ll,
    680867700ll,   6656355753ll,  682191060ll,   6674124474ll,  683441700ll,
    6691028154ll,  684677427ll,   6707873227ll,  685948740ll,   6726062044ll,
    686189940ll,   6745484747ll,  687499890ll,   6764197579ll,  688801020ll,
    6781716478ll,  690110340ll,   6799228636ll,  691385460ll,   6816530140ll,
    692675124ll,   6833824509ll,  693938580ll,   6851022829ll,  694743540ll,
    6861806778ll,  695327460ll,   6886182893ll,  696604740ll,   6903365340ll,
    697845012ll,   6920242942ll,  699143460ll,   6937673708ll,  700428588ll,
    6954991098ll,  701681460ll,   6971907258ll,  702877380ll,   6989348572ll,
    703392180ll,   6996024505ll,  704448027ll,   7027779741ll,  705768900ll,
    7045394140ll,  707055888ll,   7062722261ll,  708334260ll,   7079910585ll,
    709613700ll,   7097327597ll,  710889540ll,   7114498012ll,  712135860ll,
    7131360715ll,  713276340ll,   7147019448ll,  713427500ll,   7166562158ll,
    714700500ll,   7183777497ll,  715951284ll,   7200752894ll,  717210500ll,
    7217791503ll,  718439532ll,   7234511068ll,  719596500ll,   7251492572ll,
    720689460ll,   7264459945ll,  721227380ll,   7289369358ll,  722520874ll,
    7306824813ll,  723809796ll,   7324170988ll,  725124660ll,   7341801180ll,
    726416102ll,   7359171795ll,  727679220ll,   7376236525ll,  728932940ll,
    7393305503ll,  730193460ll,   7410281928ll,  731428980ll,   7426010568ll,
    731809140ll,   7432232088ll,  732759540ll,   7460613528ll,  734074260ll,
    7479164568ll,  735318204ll,   7496206554ll,  736607076ll,   7513483756ll,
    737818218ll,   7531179881ll,  738081780ll,   7550791098ll,  739325830ll,
    7568887446ll,  740677002ll,   7586887898ll,  742004340ll,   7604682733ll,
    743291700ll,   7621951466ll,  744567396ll,   7639133181ll,  745829196ll,
    7656256766ll,  747086820ll,   7673216730ll,  748328820ll,   7690108905ll,
    749581620ll,   7707028905ll,  750341940ll,   7717444248ll,  750847668ll,
    7740909051ll,  752074100ll,   7757605791ll,  753299420ll,   7774304782ll,
    754454580ll,   7791267820ll,  755284020ll,   7801326505ll,  756123540ll,
    7829520057ll,  757436100ll,   7847129068ll,  758722740ll,   7864528875ll,
    760011388ll,   7881812415ll,  761271540ll,   7898917801ll,  762507060ll,
    7915695017ll,  763742580ll,   7932472233ll,  764994660ll,   7950503883ll,
    766227266ll,   7967252328ll,  767449140ll,   7982803608ll,  768684660ll,
    7998532248ll,  768874740ll,   8002648728ll,  770015220ll,   8033122968ll,
    771250740ll,   8049834648ll,  772486260ll,   8067730345ll,  772676340ll,
    8087657658ll,  773919780ll,   8105557451ll,  775234500ll,   8123186362ll,
    776512261ll,   8140581824ll,  777800580ll,   8157789370ll,  779057777ll,
    8174879498ll,  780314100ll,   8191893468ll,  781571220ll,   8208912348ll,
    782865004ll,   8226307885ll,  784125348ll,   8243352829ll,  785411412ll,
    8260671418ll,  786639300ll,   8277261225ll,  787407540ll,   8287730328ll,
    787844297ll,   8310565384ll,  788999460ll,   8327523786ll,  789878580ll,
    8337083305ll,  790622412ll,   8365334747ll,  791890260ll,   8382508491ll,
    793204980ll,   8400067769ll,  794516844ll,   8417742926ll,  795740100ll,
    8434355932ll,  796959060ll,   8450928074ll,  798202500ll,   8467770826ll,
    799420641ll,   8484408694ll,  800631780ll,   8500977372ll,  801948660ll,
    8517508248ll,  803174820ll,   8534204088ll,  804395940ll,   8550739128ll,
    805583940ll,   8567119033ll,  805940340ll,   8570845848ll,  805940340ll,
    8570845848ll,  806969940ll,   8621194938ll,  807175860ll,   8623414458ll,
    808457044ll,   8658737247ll,  809741940ll,   8675913163ll,  811052574ll,
    8694634324ll,  812346053ll,   8712150609ll,  813656796ll,   8729687806ll,
    815024580ll,   8747941596ll,  816260100ll,   8764653276ll,  817514148ll,
    8781651023ll,  818853540ll,   8799547355ll,  820152276ll,   8817044734ll,
    821455620ll,   8834579915ll,  822784388ll,   8852391966ll,  824092980ll,
    8870948298ll,  824473140ll,   8875072698ll,  824568180ll,   8909745611ll,
    825898740ll,   8929668555ll,  827229300ll,   8947494347ll,  828559860ll,
    8965320139ll,  829890420ll,   8983145931ll,  831265620ll,   9002532845ll,
    832639380ll,   9020837596ll,  833952363ll,   9038522329ll,  835314828ll,
    9056611578ll,  836604666ll,   9073964394ll,  837917789ll,   9091650384ll,
    839212404ll,   9109177820ll,  840534900ll,   9125612457ll,  840534900ll,
    9125612457ll,  840534900ll,   9125612457ll,  840534900ll,   9125612457ll,
    840534900ll,   9125612457ll,  840534900ll,   9125612457ll,  840534900ll,
    9125612457ll,  840534900ll,   9125612457ll,  840534900ll,   9125612457ll,
    840534900ll,   9125612457ll,  840534900ll,   9125612457ll,  840534900ll,
    9125612457ll,  840534900ll,   9125612457ll,  840534900ll,   9125612457ll,
    840875460ll,   9402253020ll,  842182932ll,   9419886446ll,  843005940ll,
    9428720826ll,  843005940ll,   9428720826ll,  843947700ll,   9475907514ll,
    845252468ll,   9493459407ll,  846553469ll,   9510973808ll,  847806900ll,
    9527959516ll,  849136020ll,   9545706955ll,  850410500ll,   9562874124ll,
    851679860ll,   9580205087ll,  852935460ll,   9597140973ll,  854228580ll,
    9614458571ll,  855551220ll,   9632210106ll,  856786740ll,   9648921786ll,
    857983452ll,   9667564030ll,  859265700ll,   9685761756ll,  860303220ll,
    9697156282ll,  860873460ll,   9723440587ll,  861538740ll,   9730710714ll,
    862409940ll,   9760276187ll,  863703060ll,   9777790955ll,  864999780ll,
    9795206859ll,  866264580ll,   9812289919ll,  867542100ll,   9829481931ll,
    868785540ll,   9846390219ll,  870046980ll,   9863446492ll,  871319940ll,
    9880599465ll,  872594340ll,   9897889466ll,  873888381ll,   9915159472ll,
    875129460ll,   9930918825ll,  876458012ll,   9949922878ll,  877600500ll,
    9965591738ll,  877808902ll,   9987066545ll,  879121140ll,   10003410379ll,
    880071540ll,   10015923386ll, 880562580ll,   10041294556ll, 881843444ll,
    10058715054ll, 883128660ll,   10075897564ll, 884443380ll,   10092539339ll,
    885586622ll,   10108300915ll, 886863540ll,   10125550655ll, 888126180ll,
    10142613210ll, 889386180ll,   10159661036ll, 890611068ll,   10176279375ll,
    891823380ll,   10192867035ll, 893014260ll,   10210263021ll, 894360156ll,
    10228282878ll, 894897780ll,   10234027194ll, 895796340ll,   10264018925ll,
    897109620ll,   10281631724ll, 898406967ll,   10299051172ll, 898604340ll,
    10301136058ll, 899816237ll,   10334503905ll, 901095180ll,   10351847678ll,
    902366340ll,   10368974556ll, 903649380ll,   10386210524ll, 904905276ll,
    10403292414ll, 906178740ll,   10420445164ll, 907436580ll,   10437475787ll,
    908678580ll,   10454228154ll, 909819060ll,   10471075275ll, 911170045ll,
    10490329296ll, 912195060ll,   10502462650ll, 912670260ll,   10526649803ll,
    914006652ll,   10545582590ll, 915292140ll,   10563029246ll, 916606868ll,
    10580658975ll, 917137140ll,   10586348730ll, 918030228ll,   10616165630ll,
    919299300ll,   10633346778ll, 920611572ll,   10650957566ll, 921871258ll,
    10667991433ll, 923152588ll,   10685287391ll, 924399204ll,   10702156235ll,
    925690740ll,   10718530473ll, 927021300ll,   10736225193ll, 928209300ll,
    10753666507ll, 929492340ll,   10770898106ll, 929682420ll,   10789842379ll,
    931012980ll,   10808716747ll, 932301996ll,   10826208254ll, 933646260ll,
    10844148799ll, 934972764ll,   10861935341ll, 935669940ll,   10871561402ll,
    936335220ll,   10896797131ll, 937652180ll,   10915561743ll, 938933052ll,
    10932781566ll, 940183199ll,   10949682452ll, 941428524ll,   10966601823ll,
    942669564ll,   10983426045ll, 943906740ll,   11000212939ll, 945094740ll,
    11017649884ll, 946464900ll,   11035803355ll, 946789620ll,   11039333562ll,
    948124684ll,   11074057903ll, 949403220ll,   11091377884ll, 950686260ll,
    11108609483ll, 951921780ll,   11125386699ll, 953176405ll,   11143510880ll,
    954202740ll,   11156774074ll, 954557828ll,   11178664383ll, 955861260ll,
    11196131582ll, 957106863ll,   11212994308ll, 958321668ll,   11229596751ll,
    959553610ll,   11246283915ll, 960790884ll,   11263070700ll, 961944983ll,
    11280102215ll, 963317743ll,   11298331461ll, 964086900ll,   11307769017ll,
    964891860ll,   11336654829ll, 966234372ll,   11354577150ll, 967546797ll,
    11372259088ll, 968823060ll,   11389435577ll, 970134900ll,   11407036380ll,
    971397060ll,   11424103609ll, 972617964ll,   11440756989ll, 972735540ll,
    11441986744ll, 973852260ll,   11474173384ll, 975095700ll,   11491081624ll,
    976373988ll,   11508409836ll, 977653860ll,   11525545144ll, 978913140ll,
    11541531544ll, 980243700ll,   11560545738ll, 981384180ll,   11576204457ll,
    981769380ll,   11599392749ll, 983045492ll,   11616703951ll, 984345060ll,
    11634075215ll, 985605540ll,   11651120860ll, 986896500ll,   11667500490ll,
    988205244ll,   11685149438ll, 989511540ll,   11702575085ll, 990753540ll,
    11719409372ll, 991268340ll,   11727199384ll, 992099940ll,   11754208984ll,
    993384280ll,   11771584007ll, 994605396ll,   11788180733ll, 995883540ll,
    11805368028ll, 997045188ll,   11822523902ll, 998370492ll,   11840180478ll,
    998681460ll,   11844639657ll, 999807243ll,   11877030074ll, 1001079780ll,
    11894243034ll, 1002357924ll,  11911442925ll, 1003661484ll,  11929049854ll,
    1004930340ll,  11946163930ll, 1006208004ll,  11963492959ll, 1007496420ll,
    11980766937ll, 1008755700ll,  11997801897ll, 1009801140ll,  12012411544ll,
    1009991220ll,  12031355817ll, 1011242580ll,  12049317306ll, 1012463772ll,
    12065985005ll, 1013602740ll,  12081687738ll, 1014902907ll,  12100259050ll,
    1015978740ll,  12113071017ll, 1016507364ll,  12137906686ll, 1017827700ll,
    12155580396ll, 1019149620ll,  12173332460ll, 1020450516ll,  12190784766ll,
    1021701522ll,  12207756556ll, 1022992980ll,  12225118187ll, 1024267812ll,
    12242356222ll, 1025496140ll,  12259006479ll, 1026813300ll,  12275674264ll,
    1028032980ll,  12292193944ll, 1028333940ll,  12297616024ll, 1029181380ll,
    12324764584ll, 1030414884ll,  12341518827ll, 1031538660ll,  12358225884ll,
    1032879729ll,  12376143830ll, 1033276020ll,  12381440937ll, 1034416500ll,
    12413029289ll, 1035653460ll,  12430884299ll, 1036956244ll,  12448339485ll,
    1038230929ll,  12465712457ll, 1039516332ll,  12482965980ll, 1040757540ll,
    12499783644ll, 1041947700ll,  12516122571ll, 1043215188ll,  12533167580ll,
    1044395700ll,  12549212824ll, 1045639140ll,  12566265018ll, 1046866740ll,
    12582697624ll, 1046940384ll,  12600431815ll, 1048102260ll,  12614154904ll,
    1049432820ll,  12634217658ll, 1050573300ll,  12648827817ll, 1050828700ll,
    12671736862ll, 1052109780ll,  12688944587ll, 1053424500ll,  12705520826ll,
    1054695980ll,  12722871885ll, 1055933556ll,  12739595245ll, 1057172100ll,
    12756393692ll, 1058415540ll,  12773236444ll, 1059496980ll,  12788276939ll,
    1060629485ll,  12802891328ll, 1061677140ll,  12816407704ll, 1062747060ll,
    12831493818ll, 1064002740ll,  12847451834ll, 1065179341ll,  12863484320ll,
    1065399540ll,  12865813144ll, 1065399540ll,  12865813144ll, 1066560612ll,
    12917778925ll, 1067870580ll,  12935158970ll, 1068018612ll,  12954814974ll,
    1069312020ll,  12973178588ll, 1070555565ll,  12990223794ll, 1071886020ll,
    13007912668ll, 1073206070ll,  13025593621ll, 1074464436ll,  13042692703ll,
    1075784100ll,  13060354029ll, 1076994676ll,  13076867247ll, 1078301220ll,
    13094354650ll, 1079607700ll,  13111916910ll, 1080869676ll,  13128979709ll,
    1082203484ll,  13146828062ll, 1083448148ll,  13164795951ll, 1083932340ll,
    13170039994ll, 1085127612ll,  13203267804ll, 1085325540ll,  13223325660ll,
    1086602100ll,  13241552877ll, 1087939860ll,  13259439836ll, 1089272724ll,
    13277364990ll, 1090660485ll,  13295786848ll, 1091963220ll,  13313244892ll,
    1093288340ll,  13331028079ll, 1094603700ll,  13348730447ll, 1095918936ll,
    13366362263ll, 1097229300ll,  13383946153ll, 1098524652ll,  13401354493ll,
    1099819596ll,  13418817884ll, 1101055916ll,  13436787855ll, 1102425540ll,
    13454929355ll, 1102465140ll,  13455252666ll, 1102665187ll,  13494222493ll,
    1103990100ll,  13511995373ll, 1105326420ll,  13529866221ll, 1106662740ll,
    13547732700ll, 1107978180ll,  13565435885ll, 1109308020ll,  13582200267ll,
    1110638580ll,  13600026059ll, 1111969140ll,  13617851849ll, 1113299700ll,
    13635677609ll, 1114593645ll,  13653074304ll, 1115881620ll,  13670415546ll,
    1117166964ll,  13687738860ll, 1117291380ll,  13689015209ll, 1117291380ll,
    13689015209ll, 1117291380ll,  13689015209ll, 1117291380ll,  13689015209ll,
    1117291380ll,  13689015209ll, 1117291380ll,  13689015209ll, 1117291380ll,
    13689015209ll, 1117291380ll,  13689015209ll, 1117291380ll,  13689015209ll,
    1117291380ll,  13689015209ll, 1117291380ll,  13689015209ll, 1117291380ll,
    13689015209ll, 1117291380ll,  13689015209ll, 1117291380ll,  13689015209ll,
    1118693940ll,  13978374124ll, 1119952500ll,  13994290635ll, 1120997940ll,
    14008900794ll, 1120997940ll,  14008900794ll, 1121591940ll,  14052163292ll,
    1122922500ll,  14069989084ll, 1124234844ll,  14087670526ll, 1125546180ll,
    14105325532ll, 1126907700ll,  14123409388ll, 1128199380ll,  14140846059ll,
    1129473780ll,  14158012380ll, 1130779140ll,  14175566761ll, 1132069396ll,
    14192992300ll, 1133337300ll,  14210030761ll, 1134588660ll,  14225886121ll,
    1135919220ll,  14244900299ll, 1137249780ll,  14262726091ll, 1138295220ll,
    14277336250ll, 1138580340ll,  14297329099ll, 1139530740ll,  14310890682ll,
    1140016740ll,  14336229357ll, 1141306980ll,  14353706989ll, 1142607300ll,
    14371160045ll, 1143902580ll,  14387506635ll, 1145233140ll,  14405332427ll,
    1146500484ll,  14422508286ll, 1147777620ll,  14439755755ll, 1149100476ll,
    14457389822ll, 1150355076ll,  14474386172ll, 1151600820ll,  14491245737ll,
    1152868020ll,  14509539019ll, 1154200156ll,  14527447775ll, 1155529140ll,
    14545186251ll, 1155798420ll,  14564851420ll, 1157113140ll,  14582541771ll,
    1158063540ll,  14596103354ll, 1158430340ll,  14618089871ll, 1159718820ll,
    14635499228ll, 1161004236ll,  14652752621ll, 1162245300ll,  14669573579ll,
    1163480820ll,  14686350794ll, 1164727752ll,  14704283285ll, 1165977229ll,
    14721230224ll, 1167226980ll,  14738128331ll, 1168476340ll,  14755152414ll,
    1169677140ll,  14772629485ll, 1171004820ll,  14790360796ll, 1172330050ll,
    14808083452ll, 1172889780ll,  14814207162ll, 1173847668ll,  14844753644ll,
    1175105940ll,  14861783019ll, 1176415620ll,  14879371228ll, 1176596340ll,
    14881316026ll, 1177789004ll,  14914528718ll, 1179067380ll,  14931647674ll,
    1180328061ll,  14948839313ll, 1181581620ll,  14965829613ll, 1182843060ll,
    14982819820ll, 1184096580ll,  14999747770ll, 1185239940ll,  15015431354ll,
    1186480500ll,  15031192489ll, 1187775060ll,  15049916397ll, 1189104612ll,
    15067736830ll, 1190187060ll,  15082642618ll, 1190404908ll,  15102028751ll,
    1191639972ll,  15118802766ll, 1192943220ll,  15136189899ll, 1194178740ll,
    15152967115ll, 1195129140ll,  15166528698ll, 1195510092ll,  15188632062ll,
    1196776500ll,  15205727964ll, 1198012020ll,  15222505180ll, 1199268201ll,
    15239588854ll, 1200507064ll,  15256389241ll, 1201736700ll,  15273116095ll,
    1202969940ll,  15289806283ll, 1204134086ll,  15306915234ll, 1205449620ll,
    15324614637ll, 1206763620ll,  15342173916ll, 1207484340ll,  15351078074ll,
    1208175540ll,  15378755565ll, 1209460416ll,  15396075620ll, 1210733844ll,
    15413170686ll, 1211853540ll,  15427679278ll, 1212972732ll,  15442180990ll,
    1213661940ll,  15451741370ll, 1213981515ll,  15473204877ll, 1215182580ll,
    15488511434ll, 1216423689ll,  15506390407ll, 1217656500ll,  15523147756ll,
    1218889140ll,  15538838714ll, 1220124660ll,  15555550394ll, 1221085191ll,
    15570596568ll, 1222405620ll,  15587077579ll, 1223736180ll,  15604903371ll,
    1224781620ll,  15619513529ll, 1225116518ll,  15642222978ll, 1226411772ll,
    15659557117ll, 1227727860ll,  15676206539ll, 1229020692ll,  15693720062ll,
    1230327380ll,  15711152495ll, 1231576980ll,  15728049884ll, 1232194740ll,
    15736954040ll, 1232821364ll,  15761741071ll, 1234085460ll,  15778881499ll,
    1235315220ll,  15795551929ll, 1236585952ll,  15812685575ll, 1237802100ll,
    15829228729ll, 1238967492ll,  15846419198ll, 1240270361ll,  15863882345ll,
    1241560644ll,  15881249278ll, 1242078900ll,  15887948969ll, 1242938724ll,
    15917421310ll, 1244259060ll,  15935155930ll, 1245571620ll,  15952707273ll,
    1246856636ll,  15970085999ll, 1248143220ll,  15987414895ll, 1249373220ll,
    16004087240ll, 1250624580ll,  16021060760ll, 1250727540ll,  16022166680ll,
    1251931308ll,  16055331545ll, 1253142636ll,  16071910090ll, 1254362820ll,
    16088489129ll, 1255669620ll,  16104934040ll, 1256878100ll,  16122545758ll,
    1258218420ll,  16140582890ll, 1259376180ll,  16156384169ll, 1259661300ll,
    16176377274ll, 1260927732ll,  16194662189ll, 1262250636ll,  16212227309ll,
    1263492420ll,  16229122029ll, 1264770060ll,  16246441982ll, 1266005220ll,
    16263151322ll, 1267304100ll,  16280583899ll, 1268532924ll,  16297302782ll,
    1269260340ll,  16307378840ll, 1269844980ll,  16331685866ll, 1271050260ll,
    16348085673ll, 1272301620ll,  16365050793ll, 1273433460ll,  16381824954ll,
    1274685540ll,  16398745291ll, 1275972180ll,  16416141292ll, 1276673460ll,
    16424815529ll, 1277467620ll,  16452562924ll, 1278737268ll,  16469689598ll,
    1279995232ll,  16486717620ll, 1281242147ll,  16503596538ll, 1282491276ll,
    16520484094ll, 1283715780ll,  16537169900ll, 1284948420ll,  16553922537ll,
    1286272500ll,  16570641560ll, 1287525876ll,  16587574014ll, 1287793140ll,
    16592583320ll, 1288824664ll,  16621774997ll, 1290021302ll,  16638167457ll,
    1291190820ll,  16655252937ll, 1292479620ll,  16672731099ll, 1293817141ll,
    16690617008ll, 1293970740ll,  16693185449ll, 1295204820ll,  16726731961ll,
    1296488580ll,  16744243147ll, 1297780260ll,  16761552331ll, 1299023700ll,
    16778460619ll, 1300235460ll,  16794909882ll, 1301459897ll,  16811591959ll,
    1302690660ll,  16828267977ll, 1303902556ll,  16844854495ll, 1305122100ll,
    16861494458ll, 1306325940ll,  16877664920ll, 1306325940ll,  16877664920ll,
    1307561460ll,  16909122200ll, 1308796980ll,  16927017897ll, 1310135460ll,
    16946097611ll, 1311268020ll,  16960572329ll, 1311553140ll,  16981613754ll,
    1312825428ll,  17000018094ll, 1314079620ll,  17016942027ll, 1315301460ll,
    17033604828ll, 1316574029ll,  17050691216ll, 1317812100ll,  17067486923ll,
    1319029620ll,  17084050891ll, 1320300164ll,  17101257326ll, 1321516500ll,
    17117736361ll, 1322707380ll,  17134149323ll, 1323932100ll,  17150696634ll,
    1324858740ll,  17160780440ll, 1324858740ll,  17160780440ll, 1325349780ll,
    17205296860ll, 1326707700ll,  17223417837ll, 1328097372ll,  17241862893ll,
    1328565300ll,  17246903482ll, 1329646564ll,  17278934159ll, 1331004660ll,
    17296977355ll, 1332271860ll,  17314012346ll, 1333588013ll,  17332846546ll,
    1334932980ll,  17350782411ll, 1336230180ll,  17368275343ll, 1337499060ll,
    17385385402ll, 1338809316ll,  17404034046ll, 1340082564ll,  17421259517ll,
    1341364020ll,  17438535115ll, 1342625100ll,  17456650733ll, 1343391540ll,
    17465007290ll, 1344324012ll,  17495339262ll, 1345674660ll,  17513344988ll,
    1345863300ll,  17532338157ll, 1347193140ll,  17550011851ll, 1348444500ll,
    17568104156ll, 1349664180ll,  17583566283ll, 1350968820ll,  17602232301ll,
    1352287290ll,  17619965453ll, 1353560820ll,  17637043658ll, 1354820100ll,
    17655135963ll, 1356014580ll,  17670389738ll, 1357267380ll,  17687370938ll,
    1358502900ll,  17704082618ll, 1359709116ll,  17722799870ll, 1361066829ll,
    17740841043ll, 1361924340ll,  17750219962ll, 1362670260ll,  17778483164ll,
    1363159860ll,  17783774394ll, 1364191620ll,  17815191499ll, 1365527940ll,
    17833000122ll, 1366840174ll,  17850673249ll, 1368204900ll,  17868848860ll,
    1369512420ll,  17886482396ll, 1370778900ll,  17904565980ll, 1372093620ll,
    17922256314ll, 1373329140ll,  17939033274ll, 1374580500ll,  17956994507ll,
    1375857060ll,  17974304476ll, 1377091212ll,  17992192766ll, 1378448340ll,
    18010238940ll, 1379795460ll,  18028204013ll, 1380457140ll,  18035432634ll,
    1380457140ll,  18035432634ll, 1381526340ll,  18083937739ll, 1382827380ll,
    18101513675ll, 1384124100ll,  18118995403ll, 1385415060ll,  18136366812ll,
    1386708052ll,  18153823791ll, 1387999860ll,  18171260909ll, 1389287596ll,
    18188531757ll, 1390547220ll,  18205507275ll, 1391836020ll,  18222919644ll,
    1393087956ll,  18239830764ll, 1394047860ll,  18252417961ll, 1394047860ll,
    18252417961ll, 1394047860ll,  18252417961ll, 1394047860ll,  18252417961ll,
    1394047860ll,  18252417961ll, 1394047860ll,  18252417961ll, 1394047860ll,
    18252417961ll, 1394047860ll,  18252417961ll, 1394047860ll,  18252417961ll,
    1394047860ll,  18252417961ll, 1394047860ll,  18252417961ll, 1394047860ll,
    18252417961ll, 1394047860ll,  18252417961ll, 1394047860ll,  18252417961ll,
    1394047860ll,  18252417961ll, 1395166956ll,  18537538557ll, 1396525877ll,
    18555726835ll, 1397881212ll,  18573951742ll, 1398989940ll,  18589080762ll,
    1398989940ll,  18589080762ll, 1399370100ll,  18626899403ll, 1400643596ll,
    18646359103ll, 1401940914ll,  18663652060ll, 1403211300ll,  18680839900ll,
    1404536820ll,  18698616813ll, 1405808052ll,  18715830269ll, 1407094476ll,
    18733032190ll, 1408338420ll,  18749997036ll, 1409594820ll,  18766953931ll,
    1410835884ll,  18783844589ll, 1412034972ll,  18801304062ll, 1413364740ll,
    18819055324ll, 1414691124ll,  18836853246ll, 1416025860ll,  18854641355ll,
    1416287220ll,  18857516218ll, 1417522740ll,  18891070650ll, 1417736580ll,
    18910281436ll, 1418987940ll,  18927320796ll, 1420273860ll,  18944581340ll,
    1421566260ll,  18962026477ll, 1422844980ll,  18979220938ll, 1424090820ll,
    18997147711ll, 1425347700ll,  19014090443ll, 1426601940ll,  19031211996ll,
    1427846167ll,  19048071395ll, 1429024020ll,  19065290733ll, 1430341692ll,
    19082944765ll, 1431588660ll,  19099807179ll, 1432930020ll,  19118780397ll,
    1433584500ll,  19125951674ll, 1434488916ll,  19155984751ll, 1435784820ll,
    19173330923ll, 1436055540ll,  19176283322ll, 1437243540ll,  19209317835ll,
    1438550340ll,  19226951388ll, 1439801700ll,  19243925212ll, 1441060980ll,
    19260964571ll, 1442302572ll,  19277792831ll, 1443544398ll,  19294622451ll,
    1444790580ll,  19311480506ll, 1445939700ll,  19326159785ll, 1447270260ll,
    19345173963ll, 1448616660ll,  19364183772ll, 1449931380ll,  19380825547ll,
    1450881780ll,  19394387130ll, 1451396580ll,  19419037404ll, 1452668460ll,
    19436250622ll, 1453923060ll,  19452128715ll, 1454588340ll,  19461495994ll,
    1455309060ll,  19489357532ll, 1456584180ll,  19505606091ll, 1457896740ll,
    19523280876ll, 1459141620ll,  19540139961ll, 1460372524ll,  19556874191ll,
    1461609587ll,  19573599020ll, 1462886612ll,  19590792622ll, 1464098394ll,
    19608491819ll, 1465446660ll,  19626458827ll, 1466789460ll,  19644452828ll,
    1468143921ll,  19662537191ll, 1468300332ll,  19681147455ll, 1469570940ll,
    19698274991ll, 1470887700ll,  19715915484ll, 1472158655ll,  19733050134ll,
    1473121140ll,  19746708666ll, 1473461700ll,  19767295708ll, 1474693344ll,
    19784039446ll, 1475911140ll,  19800666093ll, 1477136580ll,  19817234123ll,
    1478344956ll,  19833783260ll, 1479557380ll,  19850306334ll, 1480745220ll,
    19867746285ll, 1482054900ll,  19885190603ll, 1483307700ll,  19903225837ll,
    1484644740ll,  19921043164ll, 1485476340ll,  19931258041ll, 1486184820ll,
    19958034413ll, 1487472180ll,  19975368139ll, 1488707700ll,  19992145355ll,
    1489943220ll,  20008922571ll, 1491178740ll,  20024651211ll, 1491653940ll,
    20031921336ll, 1492509300ll,  20059254216ll, 1493744820ll,  20076031416ll,
    1494980340ll,  20092808376ll, 1496215860ll,  20109581496ll, 1497451380ll,
    20126293176ll, 1498686900ll,  20144188873ll, 1499965124ll,  20162503951ll,
    1501324260ll,  20180565705ll, 1502641140ll,  20198272988ll, 1502836980ll,
    20217265884ll, 1504096260ll,  20234304970ll, 1505350500ll,  20251308013ll,
    1506591780ll,  20268126189ll, 1507819452ll,  20284846334ll, 1509004580ll,
    20301009439ll, 1510186740ll,  20317133976ll, 1510236924ll,  20334533374ll,
    1511446020ll,  20351024842ll, 1512649860ll,  20367338136ll, 1513870972ll,
    20383931804ll, 1515128820ll,  20399901336ll, 1516347060ll,  20417588953ll,
    1517393188ll,  20432285546ll, 1518471060ll,  20446314202ll, 1519381860ll,
    20459552474ll, 1520070900ll,  20468128681ll, 1520584749ll,  20492774096ll,
    1521546846ll,  20504469297ll, 1522585244ll,  20519096943ll, 1523686380ll,
    20534298349ll, 1524783480ll,  20549534582ll, 1525963380ll,  20564667816ll,
    1527103860ll,  20579347896ll, 1528237140ll,  20595019482ll, 1528719540ll,
    20602346136ll, 1529131380ll,  20624703162ll, 1530335220ll,  20640160681ll,
    1531481033ll,  20655941401ll, 1532528754ll,  20671756730ll, 1533756660ll,
    20687350970ll, 1535000100ll,  20704198347ll, 1536121596ll,  20719634750ll,
    1537278900ll,  20735635147ll, 1537368180ll,  20736560041ll, 1538484900ll,
    20768816313ll, 1539649140ll,  20783819689ll, 1540863276ll,  20800287486ll,
    1541972972ll,  20815698239ll, 1543130780ll,  20831566607ll, 1544369460ll,
    20847328971ll, 1545501161ll,  20862987270ll, 1546634580ll,  20878655162ll,
    1547252340ll,  20887550616ll, 1547663460ll,  20909903802ll, 1548834852ll,
    20924972588ll, 1549809780ll,  20939919290ll, 1551053940ll,  20955782330ll,
    1552226180ll,  20971984191ll, 1553429940ll,  20988152745ll, 1554639252ll,
    21004720092ll, 1554689220ll,  21022113227ll, 1555869300ll,  21038226618ll,
    1557041460ll,  21053295529ll, 1558269060ll,  21069888425ll, 1559404788ll,
    21085639675ll, 1560467299ll,  21100528157ll, 1561537831ll,  21114371954ll,
    1562458740ll,  21126700201ll, 1563337860ll,  21139553722ll, 1564454580ll,
    21153954456ll, 1565681460ll,  21169418136ll, 1565785140ll,  21172632216ll,
    1566640500ll,  21199965096ll, 1567664340ll,  21215592155ll, 1568839092ll,
    21231741421ll, 1570020844ll,  21247938077ll, 1571186076ll,  21263868635ll,
    1571962740ll,  21272316841ll, 1572399996ll,  21297243117ll, 1573626660ll,
    21312900828ll, 1574813940ll,  21327961274ll, 1575945780ll,  21343620794ll,
    1577060340ll,  21359136476ll, 1578164100ll,  21374430667ll, 1579374420ll,
    21389745336ll, 1580448796ll,  21404807630ll, 1581640980ll,  21419978136ll,
    1582723860ll,  21435162315ll, 1583803140ll,  21450185914ll, 1584317940ll,
    21455747736ll, 1584317940ll,  21455747736ll, 1584843436ll,  21500685983ll,
    1586088132ll,  21517540094ll, 1587328980ll,  21534355437ll, 1588568820ll,
    21551169517ll, 1589260020ll,  21558647994ll, 1589841780ll,  21585104877ll,
    1591029780ll,  21601415149ll, 1592301300ll,  21617438155ll, 1592966580ll,
    21625756858ll, 1594162500ll,  21642145227ll, 1594962420ll,  21653089739ll,
    1595817780ll,  21664624074ll, 1596750900ll,  21678112746ll, 1597908660ll,
    21692865449ll, 1598954100ll,  21706566569ll, 1600163907ll,  21723001817ll,
    1601344185ll,  21739255959ll, 1602508020ll,  21756362733ll, 1602850740ll,
    21759974586ll, 1603999140ll,  21792615883ll, 1605241880ll,  21809520761ll,
    1606478100ll,  21826301387ll, 1606557300ll,  21827083450ll, 1607628355ll,
    21858892493ll, 1608822420ll,  21875195578ll, 1610054132ll,  21891939087ll,
    1611279150ll,  21908632164ll, 1612498092ll,  21925208318ll, 1613690688ll,
    21941495782ll, 1614920820ll,  21957176745ll, 1616132580ll,  21973630665ll,
    1617346500ll,  21990227932ll, 1618492636ll,  22006000749ll, 1619482740ll,
    22021139915ll, 1620591684ll,  22036612350ll, 1621383540ll,  22045187258ll,
    1621668660ll,  22067277259ll, 1622883803ll,  22082849788ll, 1623854580ll,
    22095518906ll, 1624075836ll,  22116037869ll, 1625280180ll,  22131240395ll,
    1626515700ll,  22148017611ll, 1627602900ll,  22163247085ll, 1628764908ll,
    22179146971ll, 1629968820ll,  22195531211ll, 1631110740ll,  22211338204ll,
    1632273573ll,  22227255683ll, 1633540020ll,  22243360681ll, 1634637338ll,
    22258614428ll, 1635734580ll,  22273776826ll, 1636818900ll,  22290100188ll,
    1637941668ll,  22305622014ll, 1639060260ll,  22321028811ll, 1639916340ll,
    22330399930ll, 1640379868ll,  22355549407ll, 1641151860ll,  22363954362ll,
    1641623572ll,  22389170590ll, 1642784244ll,  22404011262ll, 1644003060ll,
    22419598795ll, 1645144548ll,  22435342590ll, 1646362168ll,  22450923623ll,
    1647467700ll,  22466297837ll, 1648549140ll,  22481268137ll, 1649708591ll,
    22497228436ll, 1650845940ll,  22511872937ll, 1652118582ll,  22529091729ll,
    1653322684ll,  22545477164ll, 1654472961ll,  22562404714ll, 1655724596ll,
    22579445260ll, 1656976244ll,  22596355871ll, 1658221620ll,  22613209068ll,
    1658449140ll,  22615612602ll, 1658449140ll,  22615612602ll, 1659576791ll,
    22664802755ll, 1660786476ll,  22681359357ll, 1661997300ll,  22697737675ll,
    1663185300ll,  22714056378ll, 1664386625ll,  22730487817ll, 1665585492ll,
    22746827262ll, 1666812660ll,  22762483113ll, 1668046740ll,  22779244233ll,
    1669239348ll,  22795543549ll, 1670424180ll,  22811696313ll, 1670804340ll,
    22815820713ll, 1670804340ll,  22815820713ll, 1670804340ll,  22815820713ll,
    1670804340ll,  22815820713ll, 1670804340ll,  22815820713ll, 1670804340ll,
    22815820713ll, 1670804340ll,  22815820713ll, 1670804340ll,  22815820713ll,
    1670804340ll,  22815820713ll, 1670804340ll,  22815820713ll, 1670804340ll,
    22815820713ll, 1670804340ll,  22815820713ll, 1670804340ll,  22815820713ll,
    1670804340ll,  22815820713ll, 1670804340ll,  22815820713ll, 1670804340ll,
    22815820713ll, 1670804340ll,  22815820713ll, 1671628020ll,  23097704156ll,
    1672658340ll,  23112323053ll, 1673655540ll,  23124241867ll, 1674796020ll,
    23138921931ll, 1675701780ll,  23152119516ll, 1676577588ll,  23164941293ll,
    1676981940ll,  23169260730ll, 1676981940ll,  23169260730ll, 1677394455ll,
    23207612307ll, 1678362900ll,  23221391341ll, 1679350020ll,  23235263674ll,
    1680379620ll,  23249813210ll, 1681409220ll,  23263248092ll, 1682399220ll,
    23275236810ll, 1683389604ll,  23289399887ll, 1684366980ll,  23303179995ll,
    1685440500ll,  23317179305ll, 1686382764ll,  23330683083ll, 1687341300ll,
    23342275770ll, 1688328004ll,  23357602095ll, 1689432180ll,  23371705803ll,
    1690422180ll,  23385800139ll, 1691517726ll,  23401023969ll, 1692528900ll,
    23415357148ll, 1693518900ll,  23428328907ll, 1694279220ll,  23437696186ll,
    1694685300ll,  23458951149ll, 1695514740ll,  23471250618ll, 1695538884ll,
    23488371567ll, 1696507788ll,  23502144063ll, 1697450100ll,  23515643885ll,
    1698556020ll,  23528992203ll, 1699654020ll,  23543263213ll, 1700660713ll,
    23557428201ll, 1701646116ll,  23571471341ll, 1702688616ll,  23585012244ll,
    1703716359ll,  23599485284ll, 1704733620ll,  23612808378ll, 1705727580ll,
    23627147262ll, 1706755380ll,  23641608173ll, 1707862740ll,  23655747019ll,
    1708926900ll,  23670652892ll, 1709974500ll,  23685349357ll, 1710951828ll,
    23699330814ll, 1711576500ll,  23706131642ll, 1712051700ll,  23728221643ll,
    1713041700ll,  23742316252ll, 1714047540ll,  23756463290ll, 1714047540ll,
    23756463290ll, 1714911540ll,  23785967597ll, 1716011484ll,  23800313837ll,
    1717057140ll,  23813881564ll, 1718076596ll,  23827234574ll, 1719046196ll,
    23841089999ll, 1720073940ll,  23855419322ll, 1721133780ll,  23869239260ll,
    1722125940ll,  23882292410ll, 1723108020ll,  23897374428ll, 1724214227ll,
    23911708396ll, 1725357300ll,  23926402507ll, 1726467806ll,  23941892050ll,
    1727479860ll,  23956094411ll, 1728436980ll,  23969850159ll, 1728873780ll,
    23974567098ll, 1729348980ll,  23996657099ll, 1730346900ll,  24010882780ll,
    1731376500ll,  24025300700ll, 1732385052ll,  24039603070ll, 1732580340ll,
    24041675962ll, 1733340660ll,  24067960267ll, 1734330660ll,  24081923804ll,
    1735376248ll,  24095687706ll, 1736366100ll,  24109711034ll, 1737332340ll,
    24122485672ll, 1738427100ll,  24137639677ll, 1739383620ll,  24150339019ll,
    1740327705ll,  24163989116ll, 1741361417ll,  24178577257ll, 1742488260ll,
    24193072860ll, 1743569628ll,  24208047612ll, 1744620500ll,  24222836591ll,
    1745655389ll,  24236322032ll, 1746171060ll,  24243002553ll, 1746646260ll,
    24265092555ll, 1747731300ll,  24280235740ll, 1748695324ll,  24294051630ll,
    1749666516ll,  24307842046ll, 1750637940ll,  24319618507ll, 1751113140ll,
    24326888632ll, 1751557330ll,  24348725049ll, 1752601252ll,  24363265311ll,
    1753553248ll,  24376840295ll, 1754613780ll,  24390663832ll, 1755654468ll,
    24404313085ll, 1756636844ll,  24418282766ll, 1757569082ll,  24431765978ll,
    1758621300ll,  24445447626ll, 1759668900ll,  24460152540ll, 1760720100ll,
    24474877642ll, 1761852660ll,  24489487817ll, 1762929780ll,  24504434396ll,
    1763468340ll,  24511437993ll, 1763852316ll,  24532521982ll, 1764815460ll,
    24546316269ll, 1765796820ll,  24560205258ll, 1766794740ll,  24573373897ll,
    1767935220ll,  24588053962ll, 1768933124ll,  24602214045ll, 1769645940ll,
    24612101272ll, 1769771436ll,  24630322173ll, 1770826020ll,  24645004713ll,
    1771926900ll,  24659356312ll, 1772964420ll,  24672861352ll, 1773913740ll,
    24686478570ll, 1774882500ll,  24700403693ll, 1775918580ll,  24713883066ll,
    1777034409ll,  24729278838ll, 1778033148ll,  24743508970ll, 1779159300ll,
    24758005741ll, 1780173276ll,  24772420606ll, 1780765620ll,  24779873193ll,
    1781230156ll,  24801878495ll, 1782191414ll,  24815605460ll, 1783204180ll,
    24829877166ll, 1784241087ll,  24844427331ll, 1785245508ll,  24857653391ll,
    1786254180ll,  24870911705ll, 1787299620ll,  24884477657ll, 1788123300ll,
    24896662953ll, 1788178740ll,  24897313432ll, 1788899460ll,  24923078330ll,
    1789857780ll,  24935792058ll, 1790855700ll,  24949943738ll, 1791885300ll,
    24963299992ll, 1792920581ll,  24978037745ll, 1793944500ll,  24992415435ll,
    1794894468ll,  25006109932ll, 1795920101ll,  25019580144ll, 1797010260ll,
    25033641675ll, 1797983561ll,  25047460616ll, 1798062900ll,  25048304553ll,
    1798886580ll,  25076301515ll, 1799868660ll,  25089273018ll, 1801009140ll,
    25103953082ll, 1802021964ll,  25118304508ll, 1802960988ll,  25131699435ll,
    1804001460ll,  25145294825ll, 1805040420ll,  25158811338ll, 1806030420ll,
    25172901545ll, 1806711540ll,  25182517912ll, 1806798660ll,  25200229289ll,
    1807852020ll,  25212992152ll, 1808877844ll,  25227389262ll, 1809796020ll,
    25241808860ll, 1810885380ll,  25256918202ll, 1811990724ll,  25271312893ll,
    1813041780ll,  25284988892ll, 1814061300ll,  25299311802ll, 1815201780ll,
    25313934522ll, 1815360180ll,  25316674473ll, 1816008180ll,  25342820314ll,
    1817094084ll,  25356857820ll, 1818147388ll,  25370620205ll, 1819066740ll,
    25383783337ll, 1820096340ll,  25397296552ll, 1821157620ll,  25411181752ll,
    1822106580ll,  25424801225ll, 1823092980ll,  25437818843ll, 1824060300ll,
    25451591420ll, 1825090396ll,  25463914943ll, 1825244340ll,  25467599512ll,
    1825719540ll,  25489689513ll, 1826628771ll,  25504107835ll, 1827686580ll,
    25516723659ll, 1828711300ll,  25531233070ll, 1829709924ll,  25545327067ll,
    1830685380ll,  25559231947ll, 1831802100ll,  25572596922ll, 1832657460ll,
    25584061353ll, 1832662975ll,  25602144916ll, 1833768820ll,  25616332926ll,
    1834692900ll,  25629617611ll, 1835712564ll,  25643041517ll, 1836775860ll,
    25656815051ll, 1837668420ll,  25669900414ll, 1838752612ll,  25683920589ll,
    1839785460ll,  25697377432ll, 1840743780ll,  25711144378ll, 1841781300ll,
    25724636073ll, 1842777134ll,  25738850564ll, 1843777140ll,  25750715032ll,
    1843777140ll,  25750715032ll, 1843777140ll,  25750715032ll, 1844421540ll,
    25796894700ll, 1845425436ll,  25811236350ll, 1846628340ll,  25826422219ll,
    1847768820ll,  25841102283ll, 1848846595ll,  25856319293ll, 1849954740ll,
    25870392506ll, 1849954740ll,  25870392506ll, 1850825940ll,  25900023515ll,
    1851865018ll,  25914655693ll, 1852900980ll,  25927085515ll, 1853932206ll,
    25941657010ll, 1854965940ll,  25956233197ll, 1856128020ll,  25971023306ll,
    1857082740ll,  25983708585ll, 1858203042ll,  25999204248ll, 1859039772ll,
    26010591741ll, 1860060660ll,  26024996299ll, 1861074420ll,  26037046185ll,
    1862200509ll,  26053788243ll, 1862309940ll,  26054941882ll, 1863200639ll,
    26084872421ll, 1864036500ll,  26097155804ll, 1865154804ll,  26111587053ll,
    1866306084ll,  26126365694ll, 1867252020ll,  26138827962ll, 1867331843ll,
    26156608940ll, 1868403180ll,  26171563342ll, 1869462420ll,  26186354668ll,
    1870519812ll,  26201139454ll, 1871636060ll,  26215616350ll, 1872677532ll,
    26230262111ll, 1873789188ll,  26244642302ll, 1874823684ll,  26259162366ll,
    1875900660ll,  26273041321ll, 1876978910ll,  26287090099ll, 1878023220ll,
    26301754826ll, 1878973620ll,  26316504796ll, 1880090340ll,  26331905756ll,
    1880842740ll,  26340154554ll, 1881222900ll,  26363293131ll, 1882307652ll,
    26377517805ll, 1883417532ll,  26391822590ll, 1884354180ll,  26405195467ll,
    1884549300ll,  26407263418ll, 1885295508ll,  26435532285ll, 1886355060ll,
    26449276363ll, 1887496076ll,  26465017231ll, 1888547940ll,  26478701471ll,
    1889671864ll,  26493241765ll, 1890661380ll,  26507259612ll, 1891677300ll,
    26520579497ll, 1892761404ll,  26535651836ll, 1893819300ll,  26550558684ll,
    1894908660ll,  26564549818ll, 1895859060ll,  26578251211ll, 1896966500ll,
    26592666671ll, 1897981620ll,  26606960075ll, 1899104693ll,  26622414416ll,
    1899375540ll,  26625367226ll, 1900064580ll,  26652901084ll, 1901110164ll,
    26667647742ll, 1901846580ll,  26675698874ll, 1902155460ll,  26696941276ll,
    1903194420ll,  26710650861ll, 1904136716ll,  26724084863ll, 1905210150ll,
    26739063329ll, 1906153316ll,  26751588815ll, 1907183364ll,  26765026045ll,
    1908212820ll,  26778517210ll, 1909120668ll,  26791665147ll, 1910192494ll,
    26805577553ll, 1911192260ll,  26819756575ll, 1912231699ll,  26834382013ll,
    1913251380ll,  26847735243ll, 1914296820ll,  26861366731ll, 1915366020ll,
    26876308939ll, 1916425525ll,  26891241808ll, 1917435300ll,  26905436141ll,
    1917908340ll,  26910579898ll, 1918288500ll,  26931621323ll, 1919143860ll,
    26944134330ll, 1919225940ll,  26961928156ll, 1920223860ll,  26976010204ll,
    1921136783ll,  26989272658ll, 1922167860ll,  27002785771ll, 1923262260ll,
    27016822492ll, 1924319884ll,  27030757150ll, 1925266020ll,  27044212170ll,
    1926273940ll,  27058519743ll, 1927292100ll,  27071860714ll, 1928299208ll,
    27086027669ll, 1929408180ll,  27099323578ll, 1930309060ll,  27113673791ll,
    1931435700ll,  27128032715ll, 1932455796ll,  27142441982ll, 1933431540ll,
    27156348636ll, 1934456540ll,  27170806799ll, 1935585780ll,  27183279563ll,
    1936441140ll,  27195792570ll, 1936441140ll,  27195792570ll, 1936441140ll,
    27195792570ll, 1937408820ll,  27243192300ll, 1938393780ll,  27257307117ll,
    1939467940ll,  27271241167ll, 1940559540ll,  27284209372ll, 1941604980ll,
    27298954972ll, 1942553004ll,  27312499181ll, 1943569140ll,  27325885865ll,
    1944654180ll,  27340897995ll, 1945564980ll,  27352095930ll, 1946733519ll,
    27368070834ll, 1947560820ll,  27379223465ll, 1947560820ll,  27379223465ll,
    1947560820ll,  27379223465ll, 1947560820ll,  27379223465ll, 1947560820ll,
    27379223465ll, 1947560820ll,  27379223465ll, 1947560820ll,  27379223465ll,
    1947560820ll,  27379223465ll, 1947560820ll,  27379223465ll, 1947560820ll,
    27379223465ll, 1947560820ll,  27379223465ll, 1947560820ll,  27379223465ll,
    1947560820ll,  27379223465ll, 1947560820ll,  27379223465ll, 1947560820ll,
    27379223465ll, 1947560820ll,  27379223465ll, 1947560820ll,  27379223465ll,
    1947560820ll,  27379223465ll, 1947560820ll,  27379223465ll, 1948396020ll,
    27661262828ll, 1949374500ll,  27675131612ll, 1950507060ll,  27688693195ll,
    1951552500ll,  27702324683ll, 1952665260ll,  27717835006ll, 1953726476ll,
    27732575502ll, 1954763206ll,  27747173138ll, 1954973940ll,  27749440698ll,
    1954973940ll,  27749440698ll, 1955544180ll,  27789356491ll, 1956657850ll,
    27804872075ll, 1957583220ll,  27818221549ll, 1958533876ll,  27831665567ll,
    1959543636ll,  27846048493ll, 1960685268ll,  27860739582ll, 1961721780ll,
    27873242298ll, 1962777300ll,  27888009180ll, 1963721220ll,  27901595356ll,
    1964736132ll,  27914831340ll, 1965623460ll,  27928932333ll, 1966677940ll,
    27943688831ll, 1967804340ll,  27957128651ll, 1968849780ll,  27970760139ll,
    1969816469ll,  27984600178ll, 1970877300ll,  27999337931ll, 1971930660ll,
    28014083803ll, 1972271220ll,  28017876154ll, 1972841460ll,  28041014731ll,
    1973506740ll,  28051430586ll, 1973639508ll,  28069713150ll, 1974601500ll,
    28083430909ll, 1975591067ll,  28097584617ll, 1976643060ll,  28110220746ll,
    1977708616ll,  28124028743ll, 1978690420ll,  28138109535ll, 1979639196ll,
    28151591660ll, 1980710820ll,  28165503327ll, 1981620532ll,  28178674094ll,
    1982630580ll,  28192009675ll, 1983689589ll,  28206878336ll, 1984727057ll,
    28220378552ll, 1985782740ll,  28235132363ll, 1986799668ll,  28249576701ll,
    1987762740ll,  28262264267ll, 1988808180ll,  28274847179ll, 1989568500ll,
    28286311610ll, 1989746340ll,  28305154012ll, 1990742215ll,  28319162805ll,
    1991569092ll,  28331517950ll, 1992039540ll,  28336643258ll, 1992609780ll,
    28359781835ll, 1993557341ll,  28373393537ll, 1994562420ll,  28387606509ll,
    1995591300ll,  28402016219ll, 1996630764ll,  28415600894ll, 1997551860ll,
    28426886330ll, 1998632220ll,  28441934061ll, 1999452660ll,  28452965288ll};
inline bool check(long long x) {
  memset(cnt, 0, sizeof(cnt));
  while (x) {
    cnt[x & 15]++;
    x >>= 4;
  }
  for (int i = (0); i <= (15); i++)
    if (cnt[i] > k) return 0;
  return 1;
}
inline void print(long long x) {
  string ans = "";
  while (x) {
    int t = x & 15;
    if (t < 10)
      ans = (char)('0' + t) + ans;
    else
      ans = (char)('a' + t - 10) + ans;
    x >>= 4;
  }
  cout << ans << endl;
}
void solve1() {
  long long st = 0;
  long long idx = 0;
  for (int i = 0; ans1[i]; i += 2) {
    if (ans1[i] == 0) break;
    if (ans1[i] > n) break;
    idx = ans1[i];
    st = ans1[i + 1];
  }
  long long left = n - idx;
  while (left) {
    st++;
    if (check(st)) left--;
  }
  print(st);
}
int main() {
  cin >> n >> k;
  if (k >= 8) {
    print(n);
    return 0;
  }
  if (k == 1) {
    solve1();
    return 0;
  }
  long long rd = n / ans[k][0];
  long long st = 0;
  if (rd != 0) st = ans[k][rd] + rd * ans[k][0];
  long long left = n - 1ll * rd * ans[k][0];
  while (left) {
    st++;
    if (check(st)) left--;
  }
  print(st);
  return 0;
}

```


### Prompt

Construct a CPP code solution to the problem outlined:

A new airplane SuperPuperJet has an infinite number of rows, numbered with positive integers starting with 1 from cockpit to tail. There are six seats in each row, denoted with letters from 'a' to 'f'. Seats 'a', 'b' and 'c' are located to the left of an aisle (if one looks in the direction of the cockpit), while seats 'd', 'e' and 'f' are located to the right. Seats 'a' and 'f' are located near the windows, while seats 'c' and 'd' are located near the aisle.

<image>

It's lunch time and two flight attendants have just started to serve food. They move from the first rows to the tail, always maintaining a distance of two rows from each other because of the food trolley. Thus, at the beginning the first attendant serves row 1 while the second attendant serves row 3. When both rows are done they move one row forward: the first attendant serves row 2 while the second attendant serves row 4. Then they move three rows forward and the first attendant serves row 5 while the second attendant serves row 7. Then they move one row forward again and so on.

Flight attendants work with the same speed: it takes exactly 1 second to serve one passenger and 1 second to move one row forward. Each attendant first serves the passengers on the seats to the right of the aisle and then serves passengers on the seats to the left of the aisle (if one looks in the direction of the cockpit). Moreover, they always serve passengers in order from the window to the aisle. Thus, the first passenger to receive food in each row is located in seat 'f', and the last one — in seat 'c'. Assume that all seats are occupied.

Vasya has seat s in row n and wants to know how many seconds will pass before he gets his lunch.

Input

The only line of input contains a description of Vasya's seat in the format ns, where n (1 ≤ n ≤ 1018) is the index of the row and s is the seat in this row, denoted as letter from 'a' to 'f'. The index of the row and the seat are not separated by a space.

Output

Print one integer — the number of seconds Vasya has to wait until he gets his lunch.

Examples

Input

1f

Output

1

Input

2d

Output

10

Input

4a

Output

11

Input

5e

Output

18

Note

In the first sample, the first flight attendant serves Vasya first, so Vasya gets his lunch after 1 second.

In the second sample, the flight attendants will spend 6 seconds to serve everyone in the rows 1 and 3, then they will move one row forward in 1 second. As they first serve seats located to the right of the aisle in order from window to aisle, Vasya has to wait 3 more seconds. The total is 6 + 1 + 3 = 10.

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base ::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  string s;
  cin >> s;
  long long n = s.length();
  long long st_row[] = {4, 5, 6, 3, 2, 1};
  long long i, m = 0, ans = 0;
  for (--n, i = 0; i < n; i++) {
    m = m * 10 + (s[i] - '0');
  }
  ans = (m / 4 - (m % 4 == 0)) * 16 + (m % 4 % 2 == 0 ? 7 : 0) +
        st_row[s[n] - 'a'];
  cout << ans;
  return 0;
}

```


### Prompt

Please formulate a cpp solution to the following problem:

There are n athletes in front of you. Athletes are numbered from 1 to n from left to right. You know the strength of each athlete — the athlete number i has the strength s_i.

You want to split all athletes into two teams. Each team must have at least one athlete, and each athlete must be exactly in one team.

You want the strongest athlete from the first team to differ as little as possible from the weakest athlete from the second team. Formally, you want to split the athletes into two teams A and B so that the value |max(A) - min(B)| is as small as possible, where max(A) is the maximum strength of an athlete from team A, and min(B) is the minimum strength of an athlete from team B.

For example, if n=5 and the strength of the athletes is s=[3, 1, 2, 6, 4], then one of the possible split into teams is:

  * first team: A = [1, 2, 4],
  * second team: B = [3, 6].

In this case, the value |max(A) - min(B)| will be equal to |4-3|=1. This example illustrates one of the ways of optimal split into two teams.

Print the minimum value |max(A) - min(B)|.

Input

The first line contains an integer t (1 ≤ t ≤ 1000) — the number of test cases in the input. Then t test cases follow.

Each test case consists of two lines.

The first line contains positive integer n (2 ≤ n ≤ 50) — number of athletes.

The second line contains n positive integers s_1, s_2, …, s_n (1 ≤ s_i ≤ 1000), where s_i — is the strength of the i-th athlete. Please note that s values may not be distinct.

Output

For each test case print one integer — the minimum value of |max(A) - min(B)| with the optimal split of all athletes into two teams. Each of the athletes must be a member of exactly one of the two teams.

Example

Input

5
5
3 1 2 6 4
6
2 1 3 2 4 3
4
7 9 3 1
2
1 1000
3
100 150 200

Output

1
0
2
999
50

Note

The first test case was explained in the statement. In the second test case, one of the optimal splits is A=[2, 1], B=[3, 2, 4, 3], so the answer is |2-2|=0.

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
  long t, n;
  cin >> t;
  while (t--) {
    cin >> n;
    int a[n];
    for (int i = 0; i < n; i++) cin >> a[i];
    sort(a, a + n);
    int ans = a[1] - a[0];
    for (int i = 2; i < n; i++)
      if (a[i] - a[i - 1] < ans) ans = a[i] - a[i - 1];
    cout << ans << '\n';
  }
}

```


### Prompt

Create a solution in cpp for the following problem:

Vasya had an array of n integers, each element of the array was from 1 to n. He chose m pairs of different positions and wrote them down to a sheet of paper. Then Vasya compared the elements at these positions, and wrote down the results of the comparisons to another sheet of paper. For each pair he wrote either "greater", "less", or "equal".

After several years, he has found the first sheet of paper, but he couldn't find the second one. Also he doesn't remember the array he had. In particular, he doesn't remember if the array had equal elements. He has told this sad story to his informatics teacher Dr Helen.

She told him that it could be the case that even if Vasya finds his second sheet, he would still not be able to find out whether the array had two equal elements.

Now Vasya wants to find two arrays of integers, each of length n. All elements of the first array must be distinct, and there must be two equal elements in the second array. For each pair of positions Vasya wrote at the first sheet of paper, the result of the comparison must be the same for the corresponding elements of the first array, and the corresponding elements of the second array.

Help Vasya find two such arrays of length n, or find out that there are no such arrays for his sets of pairs.

Input

The first line of input contains two integers n, m — the number of elements in the array and number of comparisons made by Vasya (1 ≤ n ≤ 100 000, 0 ≤ m ≤ 100 000).

Each of the following m lines contains two integers a_i, b_i — the positions of the i-th comparison (1 ≤ a_i, b_i ≤ n; a_i ≠ b_i). It's guaranteed that any unordered pair is given in the input at most once.

Output

The first line of output must contain "YES" if there exist two arrays, such that the results of comparisons would be the same, and all numbers in the first one are distinct, and the second one contains two equal numbers. Otherwise it must contain "NO".

If the arrays exist, the second line must contain the array of distinct integers, the third line must contain the array, that contains at least one pair of equal elements. Elements of the arrays must be integers from 1 to n.

Examples

Input

1 0

Output

NO

Input

3 1
1 2

Output

YES
1 3 2
1 3 1

Input

4 3
1 2
1 3
2 4

Output

YES
1 3 4 2
1 3 4 1

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 10;
int n, m;
pair<int, int> p[maxn];
pair<int, int> findpos() {
  int a, b, c = 0;
  pair<int, int> res;
  for (a = 1; a <= n; a++)
    for (b = a + 1; b <= n; b++)
      if ((res = make_pair(a, b)) != p[++c]) return res;
}
int main() {
  cin >> n >> m;
  for (int i = 1, a, b; i <= m; i++) {
    scanf("%d%d", &a, &b);
    p[i] = make_pair(min(a, b), max(a, b));
  }
  if ((long long)n * (n - 1) / 2 <= (long long)m) {
    printf("NO\n");
    return 0;
  }
  printf("YES\n");
  sort(p + 1, p + 1 + m);
  pair<int, int> pos = findpos();
  for (int i = 1, cnt = 0; i <= n; i++) {
    if (i == pos.first)
      printf("%d ", n - 1);
    else if (i == pos.second)
      printf("%d ", n);
    else
      printf("%d ", ++cnt);
  }
  printf("\n");
  for (int i = 1, cnt = 0; i <= n; i++) {
    if (i == pos.first)
      printf("%d ", n);
    else if (i == pos.second)
      printf("%d ", n);
    else
      printf("%d ", ++cnt);
  }
  printf("\n");
}

```


### Prompt

Please create a solution in cpp to the following problem:

One day a highly important task was commissioned to Vasya — writing a program in a night. The program consists of n lines of code. Vasya is already exhausted, so he works like that: first he writes v lines of code, drinks a cup of tea, then he writes as much as <image> lines, drinks another cup of tea, then he writes <image> lines and so on: <image>, <image>, <image>, ...

The expression <image> is regarded as the integral part from dividing number a by number b.

The moment the current value <image> equals 0, Vasya immediately falls asleep and he wakes up only in the morning, when the program should already be finished.

Vasya is wondering, what minimum allowable value v can take to let him write not less than n lines of code before he falls asleep.

Input

The input consists of two integers n and k, separated by spaces — the size of the program in lines and the productivity reduction coefficient, 1 ≤ n ≤ 109, 2 ≤ k ≤ 10.

Output

Print the only integer — the minimum value of v that lets Vasya write the program in one night.

Examples

Input

7 2

Output

4

Input

59 9

Output

54

Note

In the first sample the answer is v = 4. Vasya writes the code in the following portions: first 4 lines, then 2, then 1, and then Vasya falls asleep. Thus, he manages to write 4 + 2 + 1 = 7 lines in a night and complete the task.

In the second sample the answer is v = 54. Vasya writes the code in the following portions: 54, 6. The total sum is 54 + 6 = 60, that's even more than n = 59.

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
  long double n, k;
  long long c, i, j, k1, min;
  cin >> n >> k;
  min = (long long)(n * ((long double)1 - 1.0 / k));
  long long k2 = (long long)k;
  for (i = min;; i++) {
    k1 = i;
    c = k1;
    while (1) {
      if (k1 / k2 == 0)
        break;
      else
        c += k1 / k2;
      k1 /= k2;
    }
    if (c >= n) break;
  }
  cout << i;
  return 0;
}

```


### Prompt

Please create a solution in Cpp to the following problem:

Example

Input

2
10 10

Output

40.00000000

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;

#define rep(i,n)  for(int i = 0; i < (n); i++)
#define FOR(i,a,b) for(int i = (a); i < (b); i++)
using vi = vector<int>;
using ll = long long;

const double EPS = 1e-8;

using P = complex<double>;
namespace std{
  bool operator <(const P &a, const P &b){
    return real(a) != real(b) ? real(a) < real(b) : imag(a) < imag(b);
  }
}
double cross(const P &a, const P &b){
  return imag(conj(a)*b);
}
double dot(const P &a, const P &b){
  return real(conj(a)*b);
}
struct L : public vector<P>{
  L(const P &a, const P &b){
    push_back(a);
    push_back(b);
  }
};
struct C{
  P p; double r;
  C(const P &p_, double r_) : p(p_), r(r_) {}
};

P projection(const L &l, const P &p){
  double t = dot(p-l[0],l[0]-l[1]) / norm(l[0]-l[1]);
  return l[0] + t*(l[0]-l[1]);
}

vector<P> crosspointCL(const C &c, const L &l){
  P h = projection(l, c.p);
  double d = abs(h - c.p);
  vector<P> res;
  if(d < c.r - EPS){
    P dir = l[1]-l[0];
    P x = dir / abs(dir) * sqrt(c.r*c.r - d*d);
    res.push_back(h + x);
    res.push_back(h - x);
  }else if(d < c.r + EPS){
    res.push_back(h);
  }
  return res;
}

int main(){
  int n; cin >> n;
  vector<double> rs(n); rep(i,n) cin >> rs[i];
  vector<C> res;
  res.push_back(C(P(rs[0],rs[0]),rs[0]));
  FOR(i,1,n){ // n番目の円の場所を確定させる
    P tmp(rs[i],rs[i]);
    rep(j,i){
      C tmpc(res[j].p,res[j].r+rs[i]);
      // cerr << tmpc.p.real() << " " << tmpc.p.imag() << " " << tmpc.r << endl;
      L tmpl(P(0,rs[i]),P(100,rs[i]));
      vector<P> cross = crosspointCL(tmpc, tmpl);
      sort(cross.begin(), cross.end());
      // cerr << cross.back().real() << " " << cross.back().imag() << endl;
      tmp = max(tmp, cross.back());
    }
    res.push_back(C(tmp,rs[i]));
  }
  double ans = 0;
  rep(i,n){
    ans = max(ans, res[i].p.real()+res[i].r);
    // cerr << i << " " << res[i].p.real() << endl;
  }
  //cout << ans << endl;
  printf("%.10lf\n",ans);
}

```


### Prompt

Please create a solution in Cpp to the following problem:

Tree is a connected graph without cycles. A leaf of a tree is any vertex connected with exactly one other vertex.

You are given a tree with n vertices and a root in the vertex 1. There is an ant in each leaf of the tree. In one second some ants can simultaneously go to the parent vertex from the vertex they were in. No two ants can be in the same vertex simultaneously except for the root of the tree.

Find the minimal time required for all ants to be in the root of the tree. Note that at start the ants are only in the leaves of the tree.

Input

The first line contains integer n (2 ≤ n ≤ 5·105) — the number of vertices in the tree.

Each of the next n - 1 lines contains two integers xi, yi (1 ≤ xi, yi ≤ n) — the ends of the i-th edge. It is guaranteed that you are given the correct undirected tree.

Output

Print the only integer t — the minimal time required for all ants to be in the root of the tree.

Examples

Input

12
1 2
1 3
1 4
2 5
2 6
3 7
3 8
3 9
8 10
8 11
8 12

Output

6

Input

2
2 1

Output

1

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
const int N = 5e5 + 5;
int n, ans;
vector<int> adj[N], vec;
void dfs(int u = 1, int par = -1, int d = 0) {
  for (int v : adj[u])
    if (v ^ par) {
      dfs(v, u, d + 1);
      if (u == 1) {
        sort(vec.rbegin(), vec.rend());
        for (int i = 0; i < vec.size(); i++) ans = max(ans, vec[i] + i);
        vec.clear();
      }
    }
  if (adj[u].size() == 1 && u ^ 1) vec.push_back(d);
}
int main() {
  cin >> n;
  for (int i = 0, u, v; i < n - 1; i++) {
    cin >> u >> v;
    adj[u].push_back(v);
    adj[v].push_back(u);
  }
  dfs();
  cout << ans << endl;
}

```


### Prompt

Develop a solution in Cpp to the problem described below:

You are given a rebus of form ? + ? - ? + ? = n, consisting of only question marks, separated by arithmetic operation '+' and '-', equality and positive integer n. The goal is to replace each question mark with some positive integer from 1 to n, such that equality holds.

Input

The only line of the input contains a rebus. It's guaranteed that it contains no more than 100 question marks, integer n is positive and doesn't exceed 1 000 000, all letters and integers are separated by spaces, arithmetic operations are located only between question marks.

Output

The first line of the output should contain "Possible" (without quotes) if rebus has a solution and "Impossible" (without quotes) otherwise.

If the answer exists, the second line should contain any valid rebus with question marks replaced by integers from 1 to n. Follow the format given in the samples.

Examples

Input

? + ? - ? + ? + ? = 42

Output

Possible
9 + 13 - 39 + 28 + 31 = 42

Input

? - ? = 1

Output

Impossible

Input

? = 1000000

Output

Possible
1000000 = 1000000

### Response

```cpp
#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:536870912")
const int MOD = 1000000007;
const int INF = 1000000001;
const int MAXN = 100010;
const long double EPS = 1e-6;
const int HASH_POW = 29;
const long double PI = acos(-1.0);
using namespace std;
void my_return(int code) { exit(code); }
int main() {
  cin.sync_with_stdio(0);
  cin.tie(0);
  mt19937 mt_rand(time(0));
  string s;
  map<int, string> foo;
  int cnt = 1, n;
  cin >> s;
  foo[cnt++] = "+";
  while (true) {
    cin >> s;
    if (s != "=") {
      foo[cnt++] = s;
      cin >> s;
    } else {
      cin >> n;
      break;
    }
  }
  --cnt;
  int cntplus = 0, cntminus = 0;
  for (map<int, string>::iterator it = foo.begin(); it != foo.end(); ++it)
    if (it->second == "+")
      ++cntplus;
    else
      ++cntminus;
  int ll1 = n - n * cntplus, rr1 = n - cntplus, ll2 = -n * cntminus,
      rr2 = -cntminus;
  if (min(rr1, rr2) < max(ll1, ll2)) {
    cout << "Impossible\n";
    my_return(0);
  }
  cout << "Possible\n";
  int valminus = -max(ll1, ll2), valplus = n + valminus;
  int baseminus = cntminus ? valminus / cntminus : 0,
      baseplus = cntplus ? valplus / cntplus : 0;
  int remminus = cntminus ? valminus % cntminus : 1,
      remplus = cntplus ? valplus % cntplus : 1;
  int deltaminus = 1, deltaplus = 1;
  if (remminus < 0) {
    remminus = -remminus;
    deltaminus = -deltaminus;
  }
  if (remplus < 0) {
    remplus = -remplus;
    deltaplus = -deltaplus;
  }
  for (int i = 1; i <= cnt; ++i) {
    if (i > 1) cout << " " << foo[i] << " ";
    if (foo[i] == "+") {
      if (remplus == 0) deltaplus = 0;
      cout << baseplus + deltaplus;
      --remplus;
    } else {
      if (remminus == 0) deltaminus = 0;
      cout << baseminus + deltaminus;
      --remminus;
    }
  }
  cout << " = " << n << endl;
  my_return(0);
}

```


### Prompt

Your challenge is to write a cpp solution to the following problem:

The protection of a popular program developed by one of IT City companies is organized the following way. After installation it outputs a random five digit number which should be sent in SMS to a particular phone number. In response an SMS activation code arrives.

A young hacker Vasya disassembled the program and found the algorithm that transforms the shown number into the activation code. Note: it is clear that Vasya is a law-abiding hacker, and made it for a noble purpose — to show the developer the imperfection of their protection.

The found algorithm looks the following way. At first the digits of the number are shuffled in the following order <first digit><third digit><fifth digit><fourth digit><second digit>. For example the shuffle of 12345 should lead to 13542. On the second stage the number is raised to the fifth power. The result of the shuffle and exponentiation of the number 12345 is 455 422 043 125 550 171 232. The answer is the 5 last digits of this result. For the number 12345 the answer should be 71232.

Vasya is going to write a keygen program implementing this algorithm. Can you do the same?

Input

The only line of the input contains a positive integer five digit number for which the activation code should be found.

Output

Output exactly 5 digits without spaces between them — the found activation code of the program.

Examples

Input

12345

Output

71232

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
char s[6];
int main() {
  scanf("%s", s);
  char d5, d3, d2, d1;
  d2 = s[1];
  s[1] = s[2];
  s[2] = s[4];
  s[4] = d2;
  long long int n;
  n = (s[4] - '0') + (s[3] - '0') * 10 + (s[2] - '0') * 100 +
      (s[1] - '0') * 1000 + (s[0] - '0') * 10000;
  n = (((((n * n) % 100000) * ((n * n) % 100000)) % 100000) * n) % 100000;
  printf("%05lld\n", n);
  return 0;
}

```


### Prompt

Create a solution in Cpp for the following problem:

A rabbit who came to the fair found that the prize for a game at a store was a carrot cake. The rules for this game are as follows.

There is a grid-like field of vertical h squares x horizontal w squares, and each block has at most one block. Each block is a color represented by one of the uppercase letters ('A'-'Z'). When n or more blocks of the same color are lined up in a straight line vertically or horizontally, those blocks disappear.

Participants can select two adjacent cells next to each other and switch their states to each other. When blocks are exchanged, disappeared, or dropped and there are no blocks in the cell below the cell with the block, this block At this time, it disappears when n or more blocks of the same color are lined up again. However, the disappearance of the blocks does not occur while the falling blocks exist, and occurs at the same time when all the blocks have finished falling.

If you eliminate all the blocks on the field with one operation, this game will be successful and you will get a free gift cake. Rabbit wants to get the cake with one entry fee, can not do it If you don't want to participate. From the state of the field at the beginning of the game, answer if the rabbit should participate in this game.

Input

The first line of input is given h, w, n separated by spaces.

2 ≤ h, w, n ≤ 30

In the following h lines, the state of the field is given in order from the top. Uppercase letters represent blocks, and'.' Represents an empty space. The state of the given field is n or more consecutive blocks of the same color in the vertical or horizontal direction. No, no blocks are in a falling state. There is one or more blocks.

Output

Output "YES" if the rabbit should participate in this game, otherwise output "NO" on one line.

Examples

Input

4 6 3
......
...Y..
...Y..
RRYRYY

Output

YES

Input

4 6 3
......
...Y..
...Y..
RRYRY.

Output

NO

### Response

```cpp
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
typedef pair<int, int> pii;

int h, w, n;
char f[31][31];

bool check(int y, int x, int flag) {
  char tmp[31][31];
  memcpy(tmp, f, sizeof(f));
  swap(tmp[y][x], tmp[y + !flag][x + flag]);

  while (true) {
    for (int j = 0; j < w; j++) {
      for (int i = h - 1; i >= 0; i--) {
        if (tmp[i][j] == '.') continue;
        int l = i, r = i;
        while (r + 1 < h && tmp[r + 1][j] == '.') r++;
        tmp[r][j] = tmp[l][j];
        if (l != r) tmp[l][j] = '.';
      }
    }

    bool update = false, erase[31][31] = {};
    for (int i = 0; i < h; i++) {
      for (int j = 0; j + n - 1 < w; j++) {
        if (tmp[i][j] == '.') continue;
        int l = j, r = j;
        while (r < w && tmp[i][r] == tmp[i][l]) r++;
        if (r - l >= n) {
          for (int k = l; k < r; k++) erase[i][k] = true;
          update = true;
        }
      }
    }
    for (int j = 0; j < w; j++) {
      for (int i = 0; i + n - 1 < h; i++) {
        if (tmp[i][j] == '.') continue;
        int l = i, r = i;
        while (r < h && tmp[r][j] == tmp[l][j]) r++;
        if (r - l >= n) {
          for (int k = l; k < r; k++) erase[k][j] = true;
          update = true;
        }
      }
    }
    if (!update) break;

    for (int i = 0; i < h; i++) {
      for (int j = 0; j < w; j++) {
        if (erase[i][j]) tmp[i][j] = '.';
      }
    }
  }

  bool res = true;
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) res &= tmp[i][j] == '.';
  }
  return res;
}

int main() {
  cin.tie(0);
  ios_base::sync_with_stdio(false);

  cin >> h >> w >> n;
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) cin >> f[i][j];
  }

  bool ans = false;
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      if (j + 1 < w) ans |= check(i, j, 1);
    }
  }
  cout << (ans ? "YES" : "NO") << endl;

  return 0;
}

```


### Prompt

Your challenge is to write a CPP solution to the following problem:

There are n students living in the campus. Every morning all students wake up at the same time and go to wash. There are m rooms with wash basins. The i-th of these rooms contains ai wash basins. Every student independently select one the rooms with equal probability and goes to it. After all students selected their rooms, students in each room divide into queues by the number of wash basins so that the size of the largest queue is the least possible. Calculate the expected value of the size of the largest queue among all rooms.

Input

The first line contains two positive integers n and m (1 ≤ n, m ≤ 50) — the amount of students and the amount of rooms. The second line contains m integers a1, a2, ... , am (1 ≤ ai ≤ 50). ai means the amount of wash basins in the i-th room.

Output

Output single number: the expected value of the size of the largest queue. Your answer must have an absolute or relative error less than 10 - 9.

Examples

Input

1 1
2

Output

1.00000000000000000000

Input

2 2
1 1

Output

1.50000000000000000000

Input

2 3
1 1 1

Output

1.33333333333333350000

Input

7 5
1 1 2 3 1

Output

2.50216960000000070000

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
template <typename T>
T gcd(T a, T b) {
  if (a == 0) return b;
  return gcd(b % a, a);
}
template <typename T>
T pow(T a, T b, long long m) {
  T ans = 1;
  while (b > 0) {
    if (b % 2 == 1) ans = ((ans % m) * (a % m)) % m;
    b /= 2;
    a = ((a % m) * (a % m)) % m;
  }
  return ans % m;
}
double fac[55];
double c[55][55];
void factorial() {
  fac[0] = 1.00;
  for (int i = 1; i <= 50; i++) {
    fac[i] = fac[i - 1] * (double)i;
  }
}
int n, m;
int a[55];
double pw(double base, int exp) {
  double ans = 1.00;
  for (int i = 0; i < exp; i++) ans *= base;
  return ans;
}
double dp[55][55][55];
bool vis[55][55][55];
double solve(int id, int cnt, int maxSoFar) {
  if (id == (m)) {
    if (cnt == 0)
      return maxSoFar;
    else
      return 0.00;
  }
  if (vis[id][cnt][maxSoFar]) return dp[id][cnt][maxSoFar];
  vis[id][cnt][maxSoFar] = 1;
  double ans = 0.00;
  for (int i = 0; i <= cnt; i++) {
    ans += c[cnt][i] *
           solve(id + 1, cnt - i, max((a[id] + i - 1) / a[id], maxSoFar));
  }
  return dp[id][cnt][maxSoFar] = ans;
}
int main() {
  cin >> n >> m;
  factorial();
  for (int i = 0; i < m; i++) cin >> a[i];
  for (int i = 0; i <= 50; i++) {
    c[i][0] = 1.00;
    c[i][i] = 1.00;
  }
  for (int i = 2; i <= 50; i++) {
    for (int j = 1; j < i; j++) {
      c[i][j] = c[i - 1][j] + c[i - 1][j - 1];
    }
  }
  double ans = solve(0, n, 0);
  ans /= pw(m, n);
  cout << fixed << setprecision(12) << ans;
}

```


### Prompt

Please create a solution in CPP to the following problem:

Given are strings s and t of length N each, both consisting of lowercase English letters.

Let us form a new string by alternating the characters of S and the characters of T, as follows: the first character of S, the first character of T, the second character of S, the second character of T, ..., the N-th character of S, the N-th character of T. Print this new string.

Constraints

* 1 \leq N \leq 100
* |S| = |T| = N
* S and T are strings consisting of lowercase English letters.

Input

Input is given from Standard Input in the following format:

N
S T

Output

Print the string formed.

Examples

Input

2
ip cc

Output

icpc

Input

8
hmhmnknk uuuuuuuu

Output

humuhumunukunuku

Input

5
aaaaa aaaaa

Output

aaaaaaaaaa

### Response

```cpp
#include<bits/stdc++.h>

using namespace std;

int n;
string a,b;

int main(){
	cin>>n;
	cin>>a;
	cin>>b;
	for(int i=0;i<n;i++) cout<<a[i]<<b[i];
	cout<<endl;
}
```


### Prompt

Please formulate a CPP solution to the following problem:

We have a sequence of N integers A~=~A_0,~A_1,~...,~A_{N - 1}.

Let B be a sequence of K \times N integers obtained by concatenating K copies of A. For example, if A~=~1,~3,~2 and K~=~2, B~=~1,~3,~2,~1,~3,~2.

Find the inversion number of B, modulo 10^9 + 7.

Here the inversion number of B is defined as the number of ordered pairs of integers (i,~j)~(0 \leq i < j \leq K \times N - 1) such that B_i > B_j.

Constraints

* All values in input are integers.
* 1 \leq N \leq 2000
* 1 \leq K \leq 10^9
* 1 \leq A_i \leq 2000

Input

Input is given from Standard Input in the following format:

N K
A_0 A_1 ... A_{N - 1}

Output

Print the inversion number of B, modulo 10^9 + 7.

Examples

Input

2 2
2 1

Output

3

Input

3 5
1 1 1

Output

0

Input

10 998244353
10 9 8 7 5 6 3 4 2 1

Output

185297239

### Response

```cpp
#include <bits/stdc++.h>

using namespace std;
const long long MOD = 1000000007;

int main() {
  int n;
  long long k;
  cin >> n >> k;
  vector<long long> a(n);
  for (int i = 0; i < n; ++i) cin >> a[i];

  long long ans = 0;
  for (int i = 0; i < n; ++i) {
    for (int j = i + 1; j < n; ++j) {
      if (a[i] > a[j]) {
	ans += k * (k + 1) / 2;
	ans %= MOD;
      } else if (a[i] < a[j]) {
	ans += k * (k - 1) / 2;
	ans %= MOD;
      }
    }
  }
  cout << ans << endl;
  return 0;
}

```