"""Fixed shanten corpus generated from xiangting.

Seed: 20260430
Reference package: xiangting 5.0.4

These are closed-hand cases whose xiangting replacement number matches
pymahjong.normal_round_to_win(hand, 0).
"""

XIANGTING_SHANTEN_CORPUS_300 = [
    ("11155567899p567s", 0),
    ("111789m777p111s22z", 0),
    ("11555m222567s333z", 0),
    ("122223m11345555p", 0),
    ("123333m11123s222z", 0),
    ("123345555m11777p", 0),
    ("123p33456s111444z", 0),
    ("22244455566p888s", 0),
    ("22256799m666777p", 0),
    ("33m111234456p345s", 0),
    ("34556667m789p555s", 0),
    ("345999p999s22266z", 0),
    ("444m22233789p333s", 0),
    ("45555677m789p111z", 0),
    ("456m11p111234888s", 0),
    ("456m234555p44s444z", 0),
    ("456m234p234s33344z", 0),
    ("55567m112233999p", 0),
    ("55m444p777888s666z", 0),
    ("66677888m999p888s", 0),
    ("678m11155p555777s", 0),
    ("678m11199p222s444z", 0),
    ("77m234666777p789s", 0),
    ("789m33888p678s222z", 0),
    ("99m333p444555777s", 0),
    ("99m444555p789s666z", 0),
    ("111456m22267p77z", 1),
    ("111567m2888p2223s", 1),
    ("111888m234p3s3355z", 1),
    ("11222456m89s555z", 1),
    ("11234678p66688s", 1),
    ("11345555p88s4446z", 1),
    ("11455667m56799p", 1),
    ("11456m456p24444s", 1),
    ("1177778p222555z", 1),
    ("11789m678p23446s", 1),
    ("1222567777999m2z", 1),
    ("123999m67p55566s", 1),
    ("123m3334p111666s4z", 1),
    ("1333566778m5p777s", 1),
    ("1333999m888s666z", 1),
    ("134446p345s55666z", 1),
    ("1456m4556777s333z", 1),
    ("2222333444m1288p", 1),
    ("222234m559p333s66z", 1),
    ("22255999m33377z", 1),
    ("22267m333678p566z", 1),
    ("222m11888p88999s", 1),
    ("222m3336p666678s", 1),
    ("22345m345s44455z", 1),
    ("224555m111p333s22z", 1),
    ("22456m123555p89s", 1),
    ("22m4888p22345s666z", 1),
    ("22p33777999s444z", 1),
    ("234456m1145999s", 1),
    ("234899m444p68s444z", 1),
    ("234m1156999p333s", 1),
    ("234p12235s333666z", 1),
    ("2377m6678p234555s", 1),
    ("24m333p3459s33666z", 1),
    ("24m777888p224569s", 1),
    ("2m111p5556788899s", 1),
    ("33344466699m179s", 1),
    ("3334555566688m", 1),
    ("33388m777p2222s77z", 1),
    ("333999m111p3377z", 1),
    ("333m567999p4466z", 1),
    ("3389m333444p4666s", 1),
    ("3456m222333p444z", 1),
    ("345m1115688p3459s", 1),
    ("345m56667p123s11z", 1),
    ("4445777m333p777s1z", 1),
    ("444678p4677s333z", 1),
    ("44467m123999p44z", 1),
    ("444888m7778p2234s", 1),
    ("444m1146888s333z", 1),
    ("444m2233444555p", 1),
    ("45567m11234s555z", 1),
    ("4566789m888p666z", 1),
    ("45668m677778p11s", 1),
    ("45688p33367s666z", 1),
    ("5558m78p567s44477z", 1),
    ("555m3344566p777s5z", 1),
    ("55667m66p345999s", 1),
    ("55999p123333488s", 1),
    ("566778m35p55588s5z", 1),
    ("56888m111456688s", 1),
    ("56m233334666p22z", 1),
    ("578m111123666p66s", 1),
    ("666999p133389s55z", 1),
    ("66778m22266p888s", 1),
    ("6688899m777s222z", 1),
    ("6699m111345p111s", 1),
    ("67778888m7899p12s", 1),
    ("678m2566667p567s4z", 1),
    ("7777999m34555p44s", 1),
    ("77789m35666p123s", 1),
    ("777m22244679p345s", 1),
    ("77m111123666p67s", 1),
    ("77m33357888p222s", 1),
    ("7899m1p234444678s", 1),
    ("789m22333p11444s5z", 1),
    ("78m888p222444s33z", 1),
    ("88899m244568s111z", 1),
    ("888m44555p11168s", 1),
    ("888p8999s1113666z", 1),
    ("88m11124p789s777z", 1),
    ("999m1116799s2777z", 1),
    ("99m123p555s55566z", 1),
    ("111246p45999s555z", 2),
    ("11134446668m78s", 2),
    ("111366678m4999p1z", 2),
    ("1117m66777p13445s", 2),
    ("111m1p222355588s5z", 2),
    ("111m445699p7888s", 2),
    ("1123333p344468s", 2),
    ("11234m3567p67s117z", 2),
    ("114449m999p1777s7z", 2),
    ("11m45777789p4s77z", 2),
    ("1234448p447889s", 2),
    ("12p222557s44455z", 2),
    ("144445m4577p1333z", 2),
    ("144456677m77s22z", 2),
    ("1445566m136678p", 2),
    ("166668m688p12333s", 2),
    ("167m234456789p6s", 2),
    ("177m1p344556888s", 2),
    ("199m667789p55556s", 2),
    ("1m1115666p114789s", 2),
    ("222355588m2227p7z", 2),
    ("22456m38888p1114z", 2),
    ("2255m333555p1s355z", 2),
    ("22m3599p1113666s7z", 2),
    ("22m7777p999s2333z", 2),
    ("234479p1188s3444z", 2),
    ("234m445556p46667z", 2),
    ("24444m12223p155z", 2),
    ("2448m44499p34s222z", 2),
    ("26789m122366999s", 2),
    ("33335m55789p2s337z", 2),
    ("3333m444999p12s7z", 2),
    ("33389p337s115556z", 2),
    ("3444p233445s677z", 2),
    ("345777m115p3444z", 2),
    ("3458m11234s22235z", 2),
    ("378m55p33345556s", 2),
    ("4448999m2p34s3355z", 2),
    ("4466m2345s11155z", 2),
    ("45m222p11122667s", 2),
    ("555588m1113366s", 2),
    ("555899m33p11333z", 2),
    ("5567m11178p5777s", 2),
    ("55789m257p24s4777z", 2),
    ("55999m47777999s", 2),
    ("567m123467p1s333z", 2),
    ("5689m4449999p229s", 2),
    ("56m222p11155s1166z", 2),
    ("6667888m23p1223s6z", 2),
    ("66679m1278889s3z", 2),
    ("6667m2226666p445s", 2),
    ("666m58p67s4444777z", 2),
    ("666m6799p34s1116z", 2),
    ("66m234456p38s111z", 2),
    ("677778p44s35577z", 2),
    ("677999m888s2223z", 2),
    ("67m278p444556778s", 2),
    ("68999m112s445777z", 2),
    ("699m1223346s333z", 2),
    ("6m588p123444s777z", 2),
    ("7777899m44445s23z", 2),
    ("7777999p88899s3z", 2),
    ("777m223p4568999s", 2),
    ("789m33477p55566s6z", 2),
    ("78m46p3444466777z", 2),
    ("79m13p33999s4447z", 2),
    ("88m33444p3789s55z", 2),
    ("899m3333p5555777s", 2),
    ("89m23334566679s", 2),
    ("8m5p111444s33355z", 2),
    ("999m124666p5556s", 2),
    ("999m469p12356s55z", 2),
    ("999p11114599s225z", 2),
    ("1114m11p133446s2z", 3),
    ("11223m2229p99s12z", 3),
    ("1156m45679p237s57z", 3),
    ("124578m2258s6666z", 3),
    ("12555m15558s166z", 3),
    ("13337m3p1888s444z", 3),
    ("13445777m57p168s7z", 3),
    ("1m22334458p12s277z", 3),
    ("2222558p23455s3z", 3),
    ("22278m22p135557z", 3),
    ("22666m56689p556z", 3),
    ("22678m1146p5566z", 3),
    ("226m123388899p27s", 3),
    ("234478m1124p133s", 3),
    ("2456788m33p4489s", 3),
    ("2777p346888s244z", 3),
    ("34444m355p9999s3z", 3),
    ("3444777p7s44445z", 3),
    ("345789m278p226s1z", 3),
    ("368m12399p1167s2z", 3),
    ("4445566m59p234s7z", 3),
    ("456m122499p278s5z", 3),
    ("457m45558p234599s", 3),
    ("467m4888p555799s2z", 3),
    ("55578m5678p26s22z", 3),
    ("5m7999p789s55567z", 3),
    ("668m2567p3399s355z", 3),
    ("67m123699p5777s4z", 3),
    ("6m556889p56s1116z", 3),
    ("7m123556778p56s2z", 3),
    ("89m12789p668s337z", 3),
    ("9m333456889p4s77z", 3),
    ("11145m36p12235s57z", 4),
    ("1126m19p24699s666z", 4),
    ("115m47889p129s556z", 4),
    ("1168m1333p1489s37z", 4),
    ("116m237p225579s36z", 4),
    ("12234679m5p44s24z", 4),
    ("1237m5p246s14555z", 4),
    ("123m22334p16s567z", 4),
    ("124689m57p1288s26z", 4),
    ("12777m199p122s135z", 4),
    ("1278m99p4566s347z", 4),
    ("1288m56778p148s23z", 4),
    ("12m39p124499s477z", 4),
    ("133478m23p569s244z", 4),
    ("135789m178p267s24z", 4),
    ("1378m156p4699s125z", 4),
    ("14m1146p129s11335z", 4),
    ("166779m59p11678s4z", 4),
    ("16m2477p267899s36z", 4),
    ("16m45p23449s33455z", 4),
    ("224688m22458p89s7z", 4),
    ("2267m279p2249s66z", 4),
    ("23469m69p578s2233z", 4),
    ("24578m1144p9s255z", 4),
    ("245m157p167899s4z", 4),
    ("2467m34p347s1355z", 4),
    ("2478m479p177s2236z", 4),
    ("247m2446688p24s6z", 4),
    ("2567m3567s134556z", 4),
    ("25m123569p389s77z", 4),
    ("2678m3669p11588s2z", 4),
    ("2689m33999p578s47z", 4),
    ("289m22357s45566z", 4),
    ("335557m125p115s56z", 4),
    ("344m135p23667s344z", 4),
    ("3466m238p3355s346z", 4),
    ("34678m179p2669s34z", 4),
    ("34689m11557p1128s", 4),
    ("36788m2367p112s46z", 4),
    ("379m2p14455789s25z", 4),
    ("3m35578p1246s366z", 4),
    ("46788m12468p2s66z", 4),
    ("46m3466788p3479s6z", 4),
    ("55578m15669p478s7z", 4),
    ("555m11479p479s37z", 4),
    ("56m1189p36779s67z", 4),
    ("5m112346p569s166z", 4),
    ("5m34489p45699s157z", 4),
    ("67888m8p24588s35z", 4),
    ("78m23458p35579s7z", 4),
    ("7m1556799p14568s1z", 4),
    ("8m25569p222s4555z", 4),
    ("11233m2578p28s167z", 5),
    ("113568m25p246s35z", 5),
    ("11m157p1679s3356z", 5),
    ("13457m14p289s2445z", 5),
    ("1347m7p4579s2237z", 5),
    ("13689m38p2455s256z", 5),
    ("136m55789p18s157z", 5),
    ("137m3489p2558s36z", 5),
    ("139m13449p577s45z", 5),
    ("146m55p2579s2247z", 5),
    ("16m34679p3489s25z", 5),
    ("2235m1569p59s226z", 5),
    ("22468m1889p23s37z", 5),
    ("234899m2569p17s4z", 5),
    ("246m37p26s111266z", 5),
    ("3448m699p3457s25z", 5),
    ("35679m145p1336s56z", 5),
    ("356m788p2235s136z", 5),
    ("366m5799p346s3456z", 5),
    ("369m13568888p8s25z", 5),
    ("45799m12699p7s57z", 5),
    ("46m14p1457889s16z", 5),
    ("47m35p25678s12236z", 5),
    ("577m15789p4s2334z", 5),
    ("6m234569p248s145z", 5),
    ("7888m2689p89s1256z", 5),
    ("148m459p34677s156z", 6),
    ("158m1358p6778s147z", 6),
    ("25779m17p1359s256z", 6),
    ("2589m2688p12s456z", 6),
    ("278m468p2579s145z", 6),
    ("27m8p344489s12456z", 6),
    ("34m27p3455s12367z", 6),
    ("399m167p167s2346z", 6),
]

XIANGTING_SHANTEN_CORPUS_DISTRIBUTION = {0: 26, 1: 83, 2: 73, 3: 32, 4: 52, 5: 26, 6: 8}
