import std.stdio, std.zlib; enum PERIOD = 149459; enum HEAD = 105351; enum DAT_LEN = 35663; enum DATA = "hYMkM]]TpSZ[LFLI?RG0_NI>oooYWfP1;^8K^FEgEk8D@h^VIR]Mp]<:AYblOncol?oQanShOnS8pbncoHG5bSoD`haan_`IBaN`oSMeM]k7ikaOLGPG;4o_BoXh[EfnZ@27o9Jm2hlOdmQ0]j^07Ao2759oI31P26n1SIoA6?i^7HEnTPNhgGaG0:6l76XI0O?4:k]bOfG1k5konOf3aO@oIHU[Lo7j3U=>NWjOpooR0a[Hg4hg_`oHD^C8hdAioYhL7l?B5pRYB@M?QjfN21dZho95`NHn:4Bcoc_J3hoMTP``9;W_Hn_9_QJOcjO[lmA9JUEB[RNA3m>H]AhMCg]8YBM8Y4Yl?ZgC9B98HZT4EMNQdWJBUPJZ^kfD9b:0Qim42AE?IX2ADLIFC:PfLp5eGdD4hS94QJoVegeYQbk2SKeW7IJl>F53k89p8?nZ49`nf4pp_[_hMU^0c1p`M^LP<`G_GO4gFLT7l1cGUTV6`1[L=D^4WbP?:L@Bbd_[gE=AU1^;:O`H@o`gi5cP62h>[4`m]`5OQD7pQmoigX1^[AHAfR1LHCILG8]9>b`5^_[?1Pk07RLd6L4NMNM0>F`Yd6bS>13k2dkGhT;Eo0>hDKTSG78iCX2MQ2@[2k5`n5nlR2gOZhep@KGg;M@57Bk?Fn4UHU?AY61O@V49;W4ee9:YbCR4WWXd09ATW7V2U7Y^i^7^:4DaW9`mUF4HlgnEDAYLTBU>=ja9aXPM8V2p3>5p3II<`Mec3G?dKL=3n0O>dZio46m]35:@I4EgT3bcZ58Jb1WZ97bYdT3FAPk;l4UVniQ1LSVK0KHc5LGknONC9@l`=Q[bkmg7M9>@L]hRYd506EO>ZYgQ@CW76_NT7l87BWPh5UfBj0h^mnfM]=2eeYYCRbk`AYf4bX@Kpb:SZ<92jp^^KKbQLlT8RW`F@K@Wh`YbAHaO8o]fT3a[[97SdjmpJUdD1o8npJbA>gZVmC8TSi03n8^76pfHHU;EZ:T7[Q48;>?2NY=;L?d=W7M9VS2aR?;YgGNdj>][1f3GnR;aYbD6S?`MhHc7?MhHdW@U?p]oN?aAiCOnJmo]7PZ<=ZN:JZZT[c_SHcpdNjOdKAC6DlAGddR;;l[_GHlanGCPm`leZl<^nFD57f<8F8flQk?OGCbQH:Cb1oE<97H6I^_YkV5ZQNWRDoWUXDo7TbQZFJbAhm8>e[E`cTLDiC84=97^47EN8;4ZIllJO0bK2]1<=d6BAQL7HNUcY[]L^TVLpER?EV7nD=AnDY?6Z_mYPj;L6n;2CbaVO6>fl[`3>SJB[>nZQ]hX]ZWKLMY1Oe?07Kfe36X[V2ESn>?97;39Eh[6Jm1D3]KeRc@OiLS3Ga6mXVjNdJg5OZ@gmmV:YBHl;J^agdkQK^a?I>O33=>g?ahk_BZi67>cVflkhL=OZXXoaKZU6blQ6O9c=^9>]bh?beI=ghjO3c=n:gi2`GWQaOE@>RhYQ6M]MFI3_RaPG:4G>Q6FeFjVP@3[JX8`LdFJDddC849T8E>3iVHT7`<6B?FSWB[LbWB;`AJd`XWB;FjZflH>f@gmKg1k@7G<5J^aSV0f?Imf1FYNk4fQZXgfaV;:9m?VdEnc_agoAdbY>Rf9=GD1nc:B5KW3e[2LX7>GOmlWU?5ncF^^Y5aOFRN7^g5KF@`>[UC8hEDp5:MjNVQ`Vb@jMc9f>WA<4X>^fAkfap6a@X`LSo@5m5C5M7V3m=U;A3hP7_Vfm=9Aoh:BGMI^NO>Ql;1Aoh>e2:niQ=9jA_?QR31;kLlGUeUOYAEE]M@V4G5CLoZdNX]OEUdVk=;mP5=MUDc>QRVT]Fd4F=WiCYXYXW@0;f>VH9gY2InTFpM2B^C5DAW?U?Z;_N^aO5Mk0;f>cPbRK9B^S61kPh>K39C3H]Z:^K7A@=LoYhmg]3iDjf1O4ZX33@5MkJDg>@U>QEMW@iG0EACpYDd4@DdTQO^fjFBIU;]U8f>_TQPElfX824op=kW`CL6:;WdmdYeL9EdYaID@]29AKlB`Il:XR^D4UhG`5F;`M?QNn02n`A_Z`ORC=hgUbH8Tic;6oeGUn[;AVM:pUDkK6YAL?GkIP^]4Yce0>S?=IfAP6lEHE?QkDU=pZ]GXCi?KNJBHEGVA]Q`DTM]:iPl0YHGfTg6;1]Q8ApMVc^Bj4WihbN`[9hQ^6MQoJ5h7E=7>3mKN6>TCIG9n83n:<`C8j3o:ZHF<@_a^H_Pl[;jRmpiIUacB41oTO8=Rc@7OM8RJ`kXODWCQc@<5L6p^YRn:O2Sj]aUU8E=?d;LF]96IFj7kII>:PH`AN]VDY5@8TYCIA`>n[^E^m?ekoYPVWE`mBki9i@bk`QleU:98n4>dDZ4S0i1[VD9cH?QZXRY0mNpI[TJ[HZTjJ075PYoXg>WEmXKl>VNTG?VjEmD0Ll]U:j[TFSZ4T7hBTlGc^4iaUQ;aIooGTZHZ5G^d5DFLaU;]6:;Z=f:VHWU>9SC[f^GM?i>Ym4>O5S[G_IOA8cWGo;eJk=Go;b[Uic4bYg`TO@>4pePl84Qg:ECRdO=99jR9@j_Dl`;L`b[WbR4<]E37>c1SJ4nF9AJW@[>4]fZ3H]D56`VaT>V@8n;hUhTnUe=Ub?4UFaUCW]8VIS[iDJU4WB[Ym?4Xm>8SW:jKZSAh;@;M9O@cHjkfYd2abChp?Uf@SMdiQlHeM73eY=Qp8W]d=k[R@NT>V@8`edmKUl3iEh[0R9W:Mb?4faX`^E1?dCh7BRI6XK7feC9gQWI6CEBj_bVadXiGB2949D^DmTnkBc68WbR1nQD9U51BcHZ0o@HCQm4TM=P?URVjgmGQVb_Zm9p0?dEWl@_6=3iBnQXo^a?Te:BQ3c3MN99A7W1]iE2T^hQ>f6V:`?TgmL`:VB6d@KN1M9K8nM3ZQ=jE`9m:>^FF9RWcJUhi`M^X<6`A2OP7Shiic85@9VE3T@Y>YO>fgGUF071[OMAd21NWd2ImSM^2Kj[PWCj@I;[47jKhQniPMDTCj_V3TmEc3MH2l@gTa3m]0PS:hQ^<3WA5:;Va3ml9PMeOMo]>1p`JW0f2cnJe<3Y2U3ACQih7pY_NM7>Fpdi>pY_6`Il[Y37[FFOHW0F9R489k=]aRXPe6;Rj8XA7?J2HeX?Z?1afY:CO]WS:j:=8p3COMR?Q8A:<45Wje:EgCXJZXoJ5Y@hE8BQCIGYhbULp1A5_6J_Qj3DT2Qe:BQ@b>DffKHpR]SKnm`X:JGpMfZ2]ABC>4CY97L:Dk3QfPUmMmDaf19?j3hk[lRI@Z3fP8lV[D_R]3SBpMPYPYUCQJG<5afQ=RHkpRW@0AY:MZZXK:9cWg=675TcCX5ZXcX0L86WYRU5K7nI??4m;f>HXlJd6C7W?K;@ieAZE8^97LK5C>iA?Z97Z??ZX_dJCH^HkX;Xbc67o@0Ra5maejGW3MoN[:DhgVFMLIACA=i0F^DHnFKeaRO21ZQP]JREeYHk@=1ppY<1p2ZYS:6i1dOO>:?1pcnl`lSljNhPJHo51oL8HKO2H5DC0;K:C0[TJ2HiE<1plKW0FA5C0[PJ2HICI2HUWC0[2=1pnQPmRQ9_BEgY3FEaXHEUH:pZRCaZZQhFECF4HkC0kVOfGM2_cI`WRTk@:bCpY8J^bAhFeR76AEB@8B8eKm[UV0FXPNk_`nL8YEfP_ImiXDiB^nL4VKl=Ke3>]gIkcdp=f0RG?RB0gOJbA]=i@Oj:0AgmeDmD@Y?MjS[n0p^KheLZ^SInj]o_pVL0ffKpiFUnSXekDUj:LDPpSa5`31kCC>J=?JcVkhXJUkJLC>dgeT3=BS?eaBnY>3]a3pS9fTST@iCUflYBQ[OJba[p97K8T7KN<7?=ihY97oVJb1LfT3cCC>NJbaCC>Zp97necgbPWVL^lTIK_m6gdTSd9i@>bTLT?m6eXEESMLB565NNTe203MHHUKbQOT>X`I0p27iLFC>h01JSEFI4K:RnAU9AlgQFEEIC>jcG14geWSGbTL8oI<974MhX@hA`oIeQ39bUYF3:OPboT]P?2d?7Zkf]YVLlBVdeG^LE]dl8MciAGRiXpi9o1fY`UNJI@d1e6VT389:1_HembnU;l>;HBb=fH;pjoB_YF<777Ak6JpHmVJVIcK`0OVWE;pfCSn[_GpIG3CBnVBpY??:f:U8G8]E7pRMh0N5dohMWe<9KCfhWQ33p7gJKbiY<^DpHc6HgUCMaC7>6m9Di3]efTE41:E:4?5=EEbeigAl9GK3EdT15Od5=]hb2gWBLDp1kQ1fmkopI=o7LNgpepLE5N?jA^Z6n94@jS[?aAU7UbA2_EZVJo[o@`IKVmHoSMObE<56ZGaB6]GpZJ[c:AJ?Y@UBS:fmJlY8YR1gG0c9C5WRRe8VCUT[:ZfNdVLEAefSZT[:3J]SW@g>0nZWn:C1df`NmG9A6KlENTa3h`hC[L_6jAN`VbGgo4?LFoFBJKD9>3g5^oCPSem47majiA[laNhp;F^Z2K99:FRTmJC0LlJ]=iPADnCcfTMkkJHJ`V5HHP]F97>3LD9OZp9;1mi9BV;O7fVLNVe=jNRPH7:FOfVL?8hA?Q@D1DQL715J382]A8CIFn:`W8>3AKiA0I1DKh`laOhpZe^c5P_646]`0f@^_j8Q>cFUT;ZFLLCUicTNK4ak?N6OZj1e^pTWT;ac>5;cfTkQei05gZh8lDmkR0@>gZdfPIGEk[k8a@YPil42XW@=8eKfE`fT?k5o5L95kaOK`7>>7oEM9k4^PE9WSf@2]1^HZ0;_cb96PLAfXK0G@lL1a0TO1J365JS>7::dCX9b@>n;K?Ii_6keh@h3oe>VD1aG?5?MUM]pC?d^BQ?W[c7JLii@S3m?dhcMGYHUfAiGCiQ>ojgh6mkjppSUMZk:Mk@S;FbCheX=LA_X=4DX=P?Cd6bYPfPE4]Qh0WanZbN7[;Og3e5iX=4C1]A3CbA>J3i]X=hEPfPCQf8OB>bAK0mn46;f>6Z0eT3SoR7d65@KHlX=XE0NkNC[T@8R9]gT>VhijXh[bU`QN?49ac8_foCXEa3<9AH8HmnGVZ^Ag8WBEiNjjK5iagK6X;C]ke3COM3iRIKpo66Q_?L?CN=8?FpG2hbP>E>4S?N4ecn6=:MpXNZY5eC0=OhINVpdIoOKNShg:T>_55[bO4]=9c>]:f>R<5?oMhU0bR>Wl?2?C>HQ0YBkiW<9dQejIb@RW9SER@EZ]1L[jjX?S=[bR]Q?b5:?CVAelJaDJb1GF^97@?OS?okj<1AC>jI7ZlMULGOX[WJDC>DU7oEhN=f9JTG=81^4VbkGTc>TH:I@pA0LLhX0KFo;cMAJACO>H>Pef]37>S22lY;G0B[BZJ<7c>eeC^gi0poYakR0Vp44g;V:d;YZIhDm7_`dK8;Z3^QGdBMAPHSoSAiO0R[]AcLSo3kR09iDW^8@8gYWBTTISX2ckR00b51dMEPWfGAW;3bJlOLkjNZTjHmLJ[o6jR0bO:FUL0`Ae]ghbVLpQbPHf;^2ca0`;N7DZZPE9?I:E5aZ:fQ30Z[c:>DnEgo9ZS[1U7NQfVp4FiCA3Wn5BYZihR05`XWlAMEMhfpG7XDUi6G4ha218bpLPMA0?o@n[7e^9D0ef7IC>FpQfVjR0VDY?GG]52P^8>EJ3Ic65mNSRjWOQ3HRWb`Z23@>oF@l@Mb^@m>B9didjFH0b;iWVjVYDe6bTTo_H3;K6F8G48ThT`6Mk_`g4oeb3moJ_ndG1:HQ0mcQ:NF6DmX=PYE@DXI60KT]ThX_JPG?dec:T5gkl9Ie3JSIn4RZHBA5XlR>6MS;V7_Gn0LlJaIHR1agTEUI@GH_N?3bLp:a^8`7[^NZ^EUL7JdaQRckjUCjjUbp3;AYM2e=98DJW2F8`XdXZLZdZd[Ip^N>GeV>hR0FWn3LCm:LXOW5m_cVPj6Gl7[B>JnEKMLaE8Mmd>UhKjHG4@o1?07bejR02:G40>MA0Ec^8P<<^h9^8@nL`Fn3oD>:@?1aWWF1]]3U>0k`Rl8X7j>G4HTG6E7JliKl4UBlE0Ap_2dScgLcIVAQf2hgG^D55@5bMZfXGOj]aDIi;19dC5HWO56m:pfm_L23B^5=9Ue;55U>GYfmjEGpICO:L2D?42i5Xa>47AkQ6kP[HhASM6j9kF8lU;=0VSWSX=iPJK1c1nOWpZWLY?T:D8?WWpba94BCDAOfU85V8ZYB5mXT8m=5h5nWJ:dQ3geBcaJT?9;NoZkYL:DAW?2Ede=n4B93jJTe2XA6`Dp8hF4cQQhDJiEO:]LZ:VTSoYM9Qn?1MZ=8EBe:8FICfZnPJm1PpN9geK^c]U=^HXompR9HL;hlZW@]O=:26`d9GYZR7jj8Ufi[GUfdX9aAOgh_VnfTH:`>hD0gkTdO0U>Z53L_gMXbeRQ=iQdW_1WVkj6LCNDA3H:HKI^@AhOIOJ0gcMDP9n4joT_fR`@W78]WRkMGPLaY2>BI:kI0bF6T?9EO]75c1WJ4STWSH4d?K[HD38UhL0YjmpJE9WE[N?>53MhcCG?Oa>:Po`I=47>KejQ^P2]1l>dH7aDdH7>U6k8WR6kDNG94]@2D1aX_j^7^Z37l@7>4Nem4XEPVQn^>CBkeBmd1a:eHWZ@Kd9i@:m4jj`1gB24GjSnD9dcQJPAZWUb@jU0iZI`5lCOpnL8_p?7@RjN^TnL88jcQ^JX6aH>`@=D9W7F2]@@R^[9BL1cdSWZ3XoA^EIp9AVcp3=AFS;UI3Uai3AlZ8?9JICeQhm?E7cM^EPXM3ZQ:jZKBL6R=j[WF8RO0d2QX0:]]R9=:L5@YWP5VmM6cQH]H>TIVGfaZ:Z@9:<7p2e@9X8F5Dl[klH3HJ8QgYn^Mp02Q4VL_Ed]3U_?7jSFG@QiPf2cBTicX@lnIHUL:YBl:72fR1dnCHlpl1DA90jcEAXZpXYQ]nebpXMdAQ58p8@=oHEgB9OIJSNPQE<;W@>p`piGddg=6F9G;3[foB_3iAeh?Da[e`ET24[R]fDVEACaldWPdN2CC>h>]GCe>D3]bRl@M>E70AbbMc1[`BFaCAS5o:Vlm0O7o?5j>9jNL9GT4e0R4dCHLACSQlXoiPEBE[dLb_BX7L1Jc>CLlV`:kLEj[EbdU1kXCA:La?Q7hOL7>Kl>05`ILilLl35WaZVW3IljLgHbRchLEMeXj2EYg>AJlIbaE:O3SdAB:6dg6C9YHp;0^O=>3H8=nle;i>Yc:NoK69ZX:91Q`4>YfK8SAK48B^IdfKXC`Ili?e[;U?`ngR;Xg>40>Z0WA19g9]^LniH?T:1LTK6ARGMZD^2l8k8E:G1NJHW[T9UZfYVJj0>6]X9N>>SA[E2JDN2WQNkXcnNQVO:i>e?dhJd:L>jh6?PSO7bChRO2;0eXR18G=0JS2p1Q5[SJR^9FUX^i9OIp1iDG66F0[@U;Y1_6k4R?cYNEpF6XCYg>7U>9KC_M8ZKZAmfiAYMNDJWOLH>h7SNTAOX@Q7[POfG]<@7ll@_?i9DlnUW@ikAN2MDR]3i9DU:?Qia<6H__]bC8pF3Hb5ASlJfXje^e;Q7Plj:;XYDVh0pA1cJlAYMjl94=e[^`IW0WGTU:1gHBb7C9>UHPlFEJWO8<@W^LYTh3]LY5G@hRAKXYZQh1]ak3]Q4F^SNm[1]1DBSMBRhYNeLCG=LAj;pRFj:GIJc:WRjN>AeNAX=P_5k:1ASi:S8[9:mi1]a8?QYheQ60^gM^Ci>L`VB7>4eUF]b>L8WDJELG=DXe7d6O3AKpU5VkmBP7H7;3fQ^NQYEOS[K:c>1LA`0VR:JBodTSNKbQ99LZiphk4@k]CP@lhh[Ca>11jLG9MJ0Ia18a7H7Ml4V8AGJ`78K__;07MIW0S:ji_@^WC9jiCTkiDY?jK^kaPj8:KC>m_mU;Vl=k6PGpc5>RFJ@f6EB@HDZDU?C>c^G?L6bSJUf_kep]_2ElP_ZjDfWPg_B4b9l;V^oXnU2K54Sf2@6Y@UW?kUWEK4E@^W4j?L2Y^VLpEm^B9]g@MN:]b4d6Ob=i@pF_4`EgT68>UFiiYdbRG[O`GQBWRd[EH2UUR9;KOOg40mEF@HQQIaR@6G1DGl@?Ddd6@XRO?L2YfMUdMb9TBA1d6?L2I:3nJmL2YSSXmI`GOh4b_:>Q`Nh4b3W@Nh4b3W@n^`9Th@m`9T9`94OHlTTeM4]^`dP;dLflGX4C1cATET;;_35dfWf;c94fiXSgk>D0UETkB1d8jO0WgFVJaLXld2Y`N^KU]f`L`dU:PBS=M9Z_[?:bSKfEJDT7glMmAE2MWc1`@Sa2C_O][a6klWeO[p1WgFKagUKahZCVDaaBo]XKW8RjkjpLNPL=b3XYMUhek1CiX=dnD9maN=9Y?<:T7RH^8UBV:b]]<>U]LdSe;MXTfXFJ`lP=_pJmgEfM<@oeINIn_mkHP>h^8pBdNSjEGWTfK8Oo]g@lZK_Qk`FgJl>FCBolX>LlafNSEb64`3e@Rk`Q1a348U785AK4ZN2_JcMHnEbfKDV7jlY`3M95?dIWl@Gf??d1:NXc?iQNGNVpZdZS18QEIH]4?d_T=jWPQP=RcedT3AfP_N@Y:o:>1IR2CHjGgII7WTHT1OE@aAahMUjm[k05n3VO`GWdNCjm>IleZaNaGPV3X0nSjkJ2@4A78?bg`RE3bS0acg@o9[bIX7mpY2[k3PDDBT:>Q:;HW[k_?Z7VipTT3I2=>TC`Ch2OJ_CGDfo3e^aOU]oWJcAk=fY5R74ofm690fXGg_@H9FUK=`J?1jM=aDVmE6ep_:YWmEm5WmpT@M6^HfGiDcn:[ZdFFEQFS8TNAFR4QlHDY2ABoS@^TX_4Y2AWce?UIOE^La@Ylh_j8:5[QaOUX[gQi9WOo@`>W?Z;NMZ^3@Xj>bUYj>bJCUP20>b?^f2Qlmgc3H:mlPMm`T?gW`i<1plhe2C0;DgIeFXX9fDb_48ZoacK37^1gmlaNPZX9lLNDGnU>N5a3m0cd3R72PWO?hcSR8[dVL>972N=CZ@:B>T;WX?CEFojRaIljDM7QpojSZYCljkk4?>WBC65<^Aak_Q7bYT4a7a9VPfO2cZE:9L>a4VL8J_[iGGcXf_IZ^CFACKXEQWL8:Hjl=mgVZkhk[]Qi56M?]d1JJQd:kJQg4>SG13[TRX4Wi^[TjhHI_VQEEPcXUD6f]hSMUDfpVSeTSUUM:6jbUMUhShk[@_?QgQfX8QdeYDAOEMaN6iGeg5KHP^HC]UDGmP?Kbmb9TnY2l?1L6l[kRm2lHP:72fEn4V:]WZ6dhc1YR>[XBkdOZDA7EnRDY5@8T8:;>LZ4H9?K8hn;d7d?gT=4pEB5MYWL89mf0gF]5W:UWC9Jb6VXpT9F=f`Tk9dH3lM_YaW@E4kJ1]?^T:j[CV?GOiB_9OO]E?HZ4kJ3iAo>T4MH]SBU2mFLIKH2RH>kM6`DB0LiQ^`@A`F1Qd7`;NjB3EmD:W@^pL9X7^dFolk1Mfh@]a60:p9DSlnXSRj_EUES5cEMIOd3F6_]eEJ7G>W@>M?`ZU4Mj2XL9>lJ4Y`GVfXo[J8HYE>4GFCZ2Yo8QnNO:7R8_dYGQ`Xg5QdClAVO7:72egeWdC8TIj]jH?HBgR7D0FnMd8a3ia6VZZh8T0ON4pcXVKD2_[4lmfh@P?Og7Ak;a6VN9kLYp78[ZdAdZ8BX:Mj]<]?04Ede4WUd;GHd;0khKZ`X;^Ac@DOhJ6b:;8LIf`D0cQ6YFQgQih1]a[0]a_YdWG^TON]JQPO3Foj;Ho;P@`@PDe2i>mf9=^Xie_?<7o4h[]:LX9=PY7[OmajGOpneJpnEaW_ZXobpneRf7cUFo:LCLH0C5?0cXSUETa3mnWmeRa4K:T@GBA2MnhBFPh2>VO[Bk`@l@Oj?QE?b[ljlme>pneG29dOQ7>[f;WD2MiUL[BS65f]<:Ei_h@A?aBkYHL^EMep3ECZ4Dip3eSHk`W2`M1eh_^A5U`^3T0>4iX=haNSJUc_GI07CH<>:[PJpC5D[G9A7XT4MnYTXG?DnhRVB<0f`IeZ6e0Ho>K3Cb5BYZ2So:cK3CZ8QdiFYm<;fX>gfLO8NZn5ShRT8IiTXYNRB`b>?<=:?BMcMOCR]cCO>6GJ?O_R]3kJ5:T=5`7Tb>k`:hlMRVkF;j?MVHk`ARjIiVLXGX>ZmnTL7XK;SYZW`b=iXjnLd_HkPoBONC>TCY97Ukca2?AYILNH6fRkcafAnbQC<5`LX@WXTN:ck:kR1Lmj6N0=MJAljAN`c@N0Sm46;32e;f>pfkcADg>hCa2UQZ]@Il7e?@NPlVL86Y97i=fX6k4HpSCZ0;aHWMk@fOo27Y^^l>L8:`Z:65JSEFI4O:f9@U9Aghk[cm9LJf9`SBkTeT3X[VLPiC5MC>`8hOlmefN2e5iFE0laMf9`MP?b5hc2aU2lImC?NR0OnNj`ag]>LlDdd2fBR`3V:dTS75[ZSW`E<97=eTSW9ihVn^[mA8aAOcMoUCbA8CiIB>6n94GHE;Mh@gK7>h_o>L0O0MhHkY37cZ37k1dF7>^[97l`TLD4`1SRb7R^WQSFAK0C[P8YX@^3<_biZ6]1l`WZONX=N`IlPch7jLS3=cW:h:fXO3J3>5OZTCQ?E<:nD=EKR9W?E;`TK`X=lGOaM?>;K;S?ENL6AlY:Tn8V2OZHDlYBF1OZPKiC5_2nDaYhCEBZTNpW@8Z0Z@^ST:E2>cVf@:p`59>gZkP_fFJD@RZNVKl_gSaQL]SaQ87]QoJNK69@>OZ:Dnc7hCp]YW``gnImSl0Va@jaJlDJUCnDJ3VWl2V>:3k8cjJmf91fQ0_5:G6fQj3kDJQeZg>73@^BXMaVMeH[9bH_61bXjfK8:Zg>Rk>gfaV;:9m?2IZkYViGkoXU:O4]CJ^X2lWEDB?dI7^oZKlGE_9ncbW2oI;GgdRh?KpEAO6PMEhG[h^D5_R2]?fi3Wa7Z[7?_9DXDUDAG=XB6U^]8f>QDY:h72O:ODGNmLSo:jf1FpMF1U5AT3aDM:CY0eDGO8li>__^M8WBg>hS@5MH@AC0EACf]Tf=60iQ91DOnUVcDfh[47gZNOEH_hHUi?M5eZX8Rh]AA486iap91cn^BJifGOh@iGMQh@bFH5HZ_:G2fcJDn8ofB5_B7P=>LY2=jlFNOMkXQT[KaIdi>G=TLAfpk]=Y6fS=@nO`aekQhU]^9eb4QV_1bpS0=h[;k9l[ZQD>c;SCFRDAL6VKh7bAZTQZjLnDnL>D3UZF;J3ARHkl66[@hNW;3KQIaB2n2IND=OcF>UMUhSEbd=3dKp;f;8oj5d5KlFBMe3NmIpS`Hklj@Lf>g9PcPCQc@<5L6p^YR><5U@_lChIgAae7I:DRDel@W7_F@G?QRNm:K@2Q8XXp8AZd284bdYp8p3hHc]b]oYNo?3njgF9on3l9>QoM@YB2g5Bke9nSG`dlN9YB2R?Q3=U:a8@N`Z9E26k94R:V:TnP_>2]1LV=]A3CoA_MV3U5S;GJc6:ojK_LYeC5mEB[AD9dBGUNgO1D3=jJQ]?7nGah`;ap_:9cWGo;eJ:4p6ZhbnL0CRdO=99jRIBj?8SdOcK`bM^OlNM@bXZT^5f1nLKeW9><4]fZ3H]D56lno]f5KfE7b3SmJ2g5hbcZEF@>?c`LLn=NfD>UFaUCW]8VISJ^OMVWB[<_aQmbcZ`YdjJeAB`?>[F5oLmWoYd2abChp?UfP]0Jl14FUfOaO7KZCK2a[K5PM4A84hJjn]BnQl:lE0a2mEP:CU^TO8Z0i@bUR6ak7i1pF5:L5=lPjPJYkiaUf`TPJ4nPZ9mGIcHJdl;9Q4Rd1Yo^dp16WbRjhEd1eFPO8<4o@PiCj?nD:JZOgO5J:oZfW@8ipJ3[EL@]HKHRX0:CEjDh;TO8[]7L3c3maW3FL>U^L8lI=06cQlm?7pRYT1=dVG@Gb62npJgR?UF@ngHVQlgY`?4F9RWcJUhi`M^X<6`AJiO3AlllIT2X4cZ1BXp7;KhDJg@WB[RkGG6]@D_CJQpna>_0?dEWl@7jW7j^h_nPP=j;n0IOel@7F6?d[XE7ea?T0HmDnQl`3mnO2K4`A7:DXhBI3iU3H2o@RI62T`3mgjHk]V9P5Fk4`V5_^@7gQ3LjSn3[37[Fc@Lmf@GTmfARDXL:Vn:SfdGQGTY_2SJj[h?F0U>5i=EjMoehFi[EBE2]QbFmT:`BZ??A:4Fh>G>@6A8?2]g`3nPkWaEMc=iXJd69=i@ZX6HdNC>dDWK[8CTdO?d61T72JT7@LO>BV0f]SlUS9P=Pi@Q>AY9dW3neBRne=l0JjdRHeSl8gg>PaN2cIEeM`>d;SEE<:FE9V2[ZhDpZJ8^E]D;24aZZdnLHcSVaXjaX6E_98J^bAhFeR76A0?37lZdKWFJeAjTLTdWS9=NNMcZ:H]pZ2N?]94^JVHE?X=ViC8dlHLHZSBE]fTSegW3ipkOmb67C]?7G?97lnWTS[6SSWVLDCC>RBOl>ade0U`en]E8mQUCY:mDPJldTSZKbQ^PHkldTS5fT3:gTSd9i@>bTLT?m6eXEESMLB565NNTe203MHHmEGGnHL8OmJEe@bn6<5EHPoSD[Z^Z?7Rkjca;IB>T_j9i0jJB>`W?;mTLPA`oIeQS`a91[2U_^H[>2P?l57Y[kf]C]ZJQCjj;G^ZVDNTZH0ASUAU32EY@@5_KiZJIiA[kdb8:DjF<7`jkUm;GhMnn=9ig9l>Z?icZMaW6M1kG_>iZRe^fk0DRSk;9UieUek;C^Z:FRdUbEeUbRK:Q@b5ZZGX]97EjgV]9WWIeS]9WWIE[]9[]G[km94O0^j3_N=hOIK4fVlV7Q1LlkCcG1n4aI8h6KBTY5L64429h67?fVlD]=IkLKpiWNS`ObXkcAmblIB_=Rhm7?S?EmPJGFbCbUhIWRUIKbm@a?PRKEL4NZnMA0l^BV0V3;J3SU:86;JS_^fd9J3p]9cChCUH@^E9XHN4;SKE5AKL39IU4SQG^k[acQM`SoHQ^Kd6n[EXW@W2_Yg3YbgP`Tf4R^VOHDV>d67[S?NNlRW?;?c107UXO<:Rn9RhaG_dDTSHEE`MJefkNM6ZR[]cJ_CMG9=hCOnj2cnO:hWccARUS3g42g5BkebSOiTpiBd0T?1d6L:d6D355Pn:>Dc^B5YnKiakPU=;Dm=T3U?3B0Wi>7YB2O2Um2SmM``_cl[SkY[p[UMjQfEZhgeC=JYHNX?l^B6jMU<]eQ3MXm6VHVQPOA3VogeII7;kDgEZBd6cn9<2]QK0>df;pMe`=?71Mead6J315J3hc4]QL:X=:T:ij`QbClL;JS@g>J4]1_8J3ClKL_T9i87]QpYAbS2]1W2]AnTLTSf0jm94;f>jcLWc4:mAO>flYB?X=^JG9S[a6^NKHCUOa0IR5:I3=Jm[LW=gZmnH[CbDY@DZ:Z97;JP@KLTGGpaS_bW`cAgPj8JWjXKDn[klY@84IMk=]B2Q8VdNCnoK=`aicJdWG8pmih3U@8b5Z[W^mV97DkfNF3^?7Y7Dk[Od=NMpZjK@3hY?XFU?4OhC_a[p8@eNHX2aILI7>hiAnG^OO<3Y0VS__NVp>=0Lp]7BGlQkIb[1iAj4c3n@N6GO;Z^:L9>56mo7Amp_ASZ9AmdUbpE8mAJ_>Jpe2_Pp]TQ;R=NC>hg:T>_55[bO4]:Z8;EBAVhD8CQGB_dNCN9PpXc9_fQMedk^BaU;Y]aFLp>MXiKSG28G5V38nDa0U=27iZ:ef0^MZGASfWbN@]ZXSLQ`cTID=_FC@dTSNfQ:OG9^?3J?dW=i`X>_]k@RYT1a61`a4O2EAK2lEbbNC>DWAJf4:R7ieYm1n?fYN=DkCeRjiAgAdWk[I0Kj3:B;JjCKZGGFg>LhLi2@JEBESiPA55[9RCUh8WB^CdHB=:b3Z_[OThPXDUHBk:Ih0LTeh^`M[lE5CQK[]fdH7>ZR1>>gIdjbco^>CB@Y::NF1=][4eFEG=e[i?Q@G?Q7Cmjah_^Wp`_1`A8L_HZ@_TZVQCalXa>YX=R;PJcSl@3;gP_n6Xa>bEm4F6]Qj4]1d8JShANEEY6k`XnLNoX=:PlPG@lYQno^>;7]AV^<0mp[DDBTkdU0;D3h8>XD5LbZZZYR^:1iAP:jp95k]g@E`Yoh5<_mDRTpHgST=S_K^8PlkZ;2DFFPKYm6GfT3Lg1IhFM^0ZaM`>D=kR0?DZj2`jj9@Y:KZDJS=<>38jQBE3kR06mA46V3GPYDU;P7;4XYT;SHoKl6KpEM7>2l3IkTO8oe1O7gNS]?bVLpHiNo[_GpiEYZm`8dFeeAKW<3]=Je21d>5b`7HW8RD_VOXD51UZffho7p7OmVooIOoooXKp15UZ`Mh`W_@BY:m3UZZl9dAQF_9=]iDY:o5KJKXfcSb3FJ:SKVHC=_;MaCSUWb`Z23@>oF@l@Mb^`jLTbBnY9@kWVjVYDeV_[6OmOko7pW:mejoW=EJ6F8j6GDJ7]I_YPj`0[m9[[W:DpVA7?2LMCKXa57bWdEN9UfYOX6UCUVSN=3D@fGPJC3k0d=^E[jjHpZ5Bh^O[1g:[P^NVkCbRYHihUMA0I9G4PA[[W]dgMJMmDBY[WLkg>6i9D5E05X?dE7I89bW:iDD7SjMmDMOpWe`ReecliP]l7nYLDPNHH5_ToU18g5XhghQVehcDA[BL2R??]2JK7ZS3mcEgD`A1<7Zki8_K:WRVpHACUmjeZ=jENQQM=lW^dWjX5b3Q@l57Q=pUAE8>]]<5bfbD?7Ak8?Qn2U`VGfY0OFBM?c4bc8RW[cDac7=fY]<;jbUBZKB=Z^Nn[DSM:XXW:oeeQi0o_CFeC^L7B5:TWcCFih42Y9ZX?kBT2C4eDYRNDBTnV2l0BAm5ZXc7Q:jj6O2S70Y:]ke[=B03aYdb[nDJiDE<97oCkb;doY5Be:X;U=YTG_6^Nc5pa53m_WE<1a3ShpglBShD0gkTdO0U>Z53L_gMX:[53>BX[Ak:1WgCKgTeL@V44`mCOB^XoUmY1L?gA1VhCXoCnJZ86nnF;VTL[d2YRA@op]RA=PDRc1TZgcZEE2laiTk1ONH>NE>:PK6F>Y5R:Zn8FKl3QAY:jRBZRn;@SM4CASM8o^^L:JpCiMU`d29PW@OeM?LE7>hQDV4kN56WXf2ZfZEY6kdfgpKc;cXN2=3o4ZlfmJ@0de7iAiN904SD?;UQd;1bEcP;hWnHmi@NIO>P4emL9mi@@HA7jZQJ4GmdY1DnnLLIg>P[p`p4In<]E7_K6F9WBZ4_bQP]H0]o46?lN6emNIF8V[R@EIAC3Km[UIAkXS2KBACWS`WWQEjF:i;AJ?]>GfaZM:nD3]bV2X>WZ3P8IA@>n[HUDe:=Wl[4j1G`aGW9>NCHUM^:]3bJH]5<7JdZUpKA:La?QP2QfX>kNU6WAN[>DT]jH>e19_6Na[HN>4Hd6;Pg_Jo:=`mj`ID0]Qhm??7bY0LWgTTkT4ZNO2So`?<4JS7L6CJ;98b]T3[78fCHAL6Ud9TOjhS;S8SZ0?We_lAj8953jKSYTDAeUc?7kQDQ9p1RE1ee?SEZaWRHPkR9@pZD=nDA0h@UVSDWNkL2h8gG9RIE]2Ked1L3mfAWmm2?Y>J@_MPCZPPQM4RO=bChRO2;0ehB07GBYZZ@KDP=8pHMDCd=aZ4e=?i;S=8Wjb``2HE?:]cSBklS3c1o@g3abCHNli:E8;^P``G=6GYM:5?:]Cc1Y1[Sb2J:U9AYMpA1cJlAYMjl9> 0); dat ~= cast(ubyte)(da >> 8); dat ~= cast(ubyte)(da >> 16); } dat.length = DAT_LEN; gs = cast(byte[])(dat.uncompress); debug { writeln("gs[0 .. 100] = ", gs[0 .. 100]); writeln("gs[$ - 100 .. $] = ", gs[$ - 100 .. $]); } } int g(long n) { return gs[cast(int)((n < HEAD) ? n : (HEAD + (n - HEAD) % PERIOD))]; } void main() { decompress; int N; long K; for (; readf!"%d %d\n"(N, K); ) { auto A = new long[N]; foreach (i; 0 .. N) { readf!"%d\n"(A[i]); } int sum; sum ^= g(A[0] - 0 - 1); foreach (i; 0 .. N - 1) { sum ^= g(A[i + 1] - A[i] - 1); } sum ^= g((K + 1) - A[N - 1] - 1); writeln((sum != 0) ? "Yes" : "No"); } }