#ifndef HIDDEN_IN_VS // 折りたたみ用 // 警告の抑制 #define _CRT_SECURE_NO_WARNINGS // ライブラリの読み込み #include using namespace std; // 型名の短縮 using ll = long long; // -2^63 ~ 2^63 = 9 * 10^18(int は -2^31 ~ 2^31 = 2 * 10^9) using pii = pair; using pll = pair; using pil = pair; using pli = pair; using vi = vector; using vvi = vector; using vvvi = vector; using vl = vector; using vvl = vector; using vvvl = vector; using vb = vector; using vvb = vector; using vvvb = vector; using vc = vector; using vvc = vector; using vvvc = vector; using vd = vector; using vvd = vector; using vvvd = vector; template using priority_queue_rev = priority_queue, greater>; using Graph = vvi; // 定数の定義 const double PI = acos(-1); const vi DX = { 1, 0, -1, 0 }; // 4 近傍(下,右,上,左) const vi DY = { 0, 1, 0, -1 }; int INF = 1001001001; ll INFL = 4004004004004004004LL; double EPS = 1e-12; // 入出力高速化 struct fast_io { fast_io() { cin.tie(nullptr); ios::sync_with_stdio(false); cout << fixed << setprecision(18); } } fastIOtmp; // 汎用マクロの定義 #define all(a) (a).begin(), (a).end() #define sz(x) ((int)(x).size()) #define lbpos(a, x) (int)distance((a).begin(), std::lower_bound(all(a), x)) #define ubpos(a, x) (int)distance((a).begin(), std::upper_bound(all(a), x)) #define Yes(b) {cout << ((b) ? "Yes\n" : "No\n");} #define rep(i, n) for(int i = 0, i##_len = int(n); i < i##_len; ++i) // 0 から n-1 まで昇順 #define repi(i, s, t) for(int i = int(s), i##_end = int(t); i <= i##_end; ++i) // s から t まで昇順 #define repir(i, s, t) for(int i = int(s), i##_end = int(t); i >= i##_end; --i) // s から t まで降順 #define repe(v, a) for(const auto& v : (a)) // a の全要素(変更不可能) #define repea(v, a) for(auto& v : (a)) // a の全要素(変更可能) #define repb(set, d) for(int set = 0; set < (1 << int(d)); ++set) // d ビット全探索(昇順) #define repp(a) sort(all(a)); for(bool a##_perm = true; a##_perm; a##_perm = next_permutation(all(a))) // a の順列全て(昇順) #define smod(n, m) ((((n) % (m)) + (m)) % (m)) // 非負mod #define uniq(a) {sort(all(a)); (a).erase(unique(all(a)), (a).end());} // 重複除去 #define EXIT(a) {cout << (a) << endl; exit(0);} // 強制終了 // 汎用関数の定義 template inline ll pow(T n, int k) { ll v = 1; rep(i, k) v *= n; return v; } template inline bool chmax(T& M, const T& x) { if (M < x) { M = x; return true; } return false; } // 最大値を更新(更新されたら true を返す) template inline bool chmin(T& m, const T& x) { if (m > x) { m = x; return true; } return false; } // 最小値を更新(更新されたら true を返す) // 演算子オーバーロード template inline istream& operator>>(istream& is, pair& p) { is >> p.first >> p.second; return is; } template inline istream& operator>>(istream& is, vector& v) { repea(x, v) is >> x; return is; } template inline vector& operator--(vector& v) { repea(x, v) --x; return v; } template inline vector& operator++(vector& v) { repea(x, v) ++x; return v; } // 手元環境(Visual Studio) #ifdef _MSC_VER #include "local.hpp" // 提出用(gcc) #else inline int popcount(int n) { return __builtin_popcount(n); } inline int popcount(ll n) { return __builtin_popcountll(n); } inline int lsb(int n) { return n != 0 ? __builtin_ctz(n) : -1; } inline int lsb(ll n) { return n != 0 ? __builtin_ctzll(n) : -1; } inline int msb(int n) { return n != 0 ? (31 - __builtin_clz(n)) : -1; } inline int msb(ll n) { return n != 0 ? (63 - __builtin_clzll(n)) : -1; } #define gcd __gcd #define dump(...) #define dumpel(v) #define dump_list(v) #define input_from_file(f) #define output_to_file(f) #define Assert(b) { if (!(b)) while (1) cout << "OLE"; } #endif #endif // 折りたたみ用 //--------------AtCoder 専用-------------- #include using namespace atcoder; using mint = modint1000000007; //using mint = modint998244353; //using mint = modint; // mint::set_mod(m); istream& operator>>(istream& is, mint& x) { ll x_; is >> x_; x = x_; return is; } ostream& operator<<(ostream& os, const mint& x) { os << x.val(); return os; } using vm = vector; using vvm = vector; using vvvm = vector; //---------------------------------------- //【局面のニム値】O(?)(遅いので実験用) /* * 初期局面 p から遷移可能な局面とそのニム値のリストを nim に格納する. * nxt(p, nps) を呼ぶと,p から遷移可能な局面のリストを nps に格納するものとする. */ template void calc_nimber(const T& p, function&)>& nxt, map& nim) { nim.clear(); function calc_nimber = [&](const T& p) { if (nim.count(p)) return nim[p]; vector nps; nxt(p, nps); vi next_nimbers; repe(np, nps) { next_nimbers.push_back(calc_nimber(np)); } uniq(next_nimbers); int i = 0; while (i < sz(next_nimbers) && next_nimbers[i] == i) i++; nim[p] = i; return nim[p]; }; calc_nimber(p); } void zikken() { using T = vi; function&)> nxt = [&](const T& p, vector& nps) { rep(i, sz(p)) { if (p[i] == 1) continue; if ((i == 0 || p[i - 1] == 1) && (i == sz(p) - 1 || p[i + 1] == 1)) { T np(p); np[i] = 1; nps.push_back(np); } } repi(i, 1, sz(p) - 2) { if (p[i - 1] == 1 || p[i] == 1 || p[i + 1] == 1) continue; T np1(p); np1[i] = np1[i - 1] = 1; nps.push_back(np1); T np2(p); np2[i] = np2[i + 1] = 1; nps.push_back(np2); } }; repi(n, 0, 25) { T p(n + 1); p[0] = 1; map nim; calc_nimber(p, nxt, nim); dump(n, nim[p]); } exit(0); repi(n, 0, 25) { T p(n + 2); p[0] = p[n + 1] = 1; map nim; calc_nimber(p, nxt, nim); dump(n, nim[p]); } exit(0); } /* 片側の開いた長さ i の '0' の連 0 0 1 1 2 0 3 0 4 1 5 2 6 2 7 1 8 4 9 0 10 1 11 4 12 2 13 1 14 4 15 0 16 1 17 4 18 2 19 1 20 4 21 2 22 1 23 0 24 2 25 1 両側とも閉じた長さ i の '0' の連 0 0 1 1 2 0 3 0 4 1 5 2 6 2 7 1 8 4 9 0 10 1 11 4 12 2 13 1 14 4 15 0 16 1 17 4 18 2 19 1 20 4 21 2 22 1 23 0 24 2 25 1 http://oeis.org/A071430 Sprague-Grundy values for octal game .16 山から 1 つの石を取り除く場合,残る山の数を 0 にすることができる. 山から 2 つの石を取り除く場合,残る山の数を 1 または 2 にすることができる. Sequence is eventually periodic with period 149459. The last exception is at n=105350. */ string TLE(int n, ll k, vl a) { a.insert(a.begin(), 0); a.push_back(k + 1); chmax(k, 10LL); vi dp(k + 1); dp[0] = 0; dp[1] = 1; dp[2] = 0; repi(i, 3, k) { int set = 0; repi(j, 0, (i - 2) / 2) { set |= 1 << (dp[j] ^ dp[i - j - 2]); } dp[i] = lsb(~set); } dump(dp); int res = 0; rep(i, n + 1) { ll w = a[i + 1] - a[i] - 1; dump(w); res ^= dp[w]; } return res ? "Yes" : "No"; } //【ランレングス符号】O(n) /* * a[0..n) をランレングス符号化し,結果を cls に格納する. * cls[i] = {c, l} は前から i 番目の列が l 個の文字 c からなることを表す. */ template void run_length_encodeing(const vector& a, vector>& cls) { // verify : https://atcoder.jp/contests/arc024/tasks/arc024_2 int n = sz(a); cls.clear(); if (n == 0) return; cls.push_back({ a[0], 1 }); // 今読んでいる文字の種類を記憶する. T c = a[0]; repi(i, 1, n - 1) { // 記憶している文字と同じ文字の場合 if (c == a[i]) { // 列の長さを増やす. cls.rbegin()->second++; } // 記憶している文字と異なる文字の場合 else { // 新しい文字を記憶しておく. c = a[i]; // 新たな列を追加する. cls.push_back({ c, 1 }); } } } void umekomi() { auto start = chrono::system_clock::now(); int k = 149459 + 105350 + 10; k = k / 3 * 3; // k = 1002; // デバッグ用 vi dp(k); dp[0] = 0; dp[1] = 1; dp[2] = 0; repi(i, 3, k - 1) { int set = 0; repi(j, 0, (i - 2) / 2) { set |= 1 << (dp[j] ^ dp[i - j - 2]); } dp[i] = lsb(~set); } // dump(dp); rep(i, k) { if (14 <= dp[i] && dp[i] <= 17) dp[i] -= 4; else if (22 <= dp[i] && dp[i] <= 23) dp[i] -= 8; } vi dp3(k / 3); rep(i, k / 3) dp3[i] = ((dp[3 * i] * 16) + dp[3 * i + 1]) * 16 + dp[3 * i + 2]; // dump(dp3); vector cls; run_length_encodeing(dp3, cls); // dump(cls); cout << "string s = R\"("; repe(cl, cls) { int c, l; tie(c, l) = cl; char c1 = ':' + c / 64; char c2 = ':' + c % 64; cout << c1 << c2; if (l >= 2) cout << l; } cout << "~)\";" << endl; auto now = chrono::system_clock::now(); auto msec = chrono::duration_cast(now - start).count(); dump(msec); exit(0); } /* 24859 (25秒で終わった) */ const char* s = R"(:J:LBN:NBN:NBNBJBN2NNBN2Bn5BNBmCN2BkCNBnCNBmCNCM2BNCMCNCMCNCM8SMCM6KMB]KMKRCMKMCMKMCMKM4J]KM6J]KMJ]2KQJ]L=J]L=J]6L=J_J]6J_J]F_J_J]J_J]J_J]Z_J_Z_2J_F_J_Z_R_Z_2[?G_[?G_G?[?G?6[?GA[?G?2[?3Z_[AG?[A[=[CW=WC[=2O=[=O=3N]O=N]O=2N]3NbN]O=N]12N^N]N^N]2N^5N]N^4F^4N^F^18H>4F^H>GNH>GLH>HF^H>F^2H>2H^H>2HGNIbncNbnd>2CN2cN2CN7[NCN[NCN[N4[U2[L7KL2GLKL3JlKLJlKL2Jl18JoJlJoJl2Jo6BoJo2Bo2BrBo17D?Bo2D?5D=D?C?D=C=D=2C=17[=C=2[=2k=[=2j]l=2j]N]j]2N]7b]N]^]N]j]^]4bb^]2b_2^_b_2^_F_J_^_F_20G?F_2G?5Gdn2dN5cN4CN3[N7[L[N[L4GL3KL[LKLGL9KL4GLKL3Jl4KLJl18Jo3JsJlJs4Bs3BoJoBo2BsBo15D?4BoD?3D=4C?C=3D=C=10D=C=D=3`=4D=L=`=L=^]J]3L=J]18J_9F_23G?16GBG?2GBG<24O<4PLO<2PLPRPLPRPLPNPR2PNNnPN2Nn6PNNnPNNnPN7dNPNHnHN5GNHnGN3F^GN2GL5GNGL18KL5GLKL4Jl3KLJl3ZlJl15Js3JlJs5BsBo2JoBo2BsBo16D?3BoD?3DCD=3DCC=3D=C=6D=10L=8J]23J_9F_23G?20G<24O<3OB5PR8PN7N^4F^N^F^21GNF^GN6GLGNGL22[LGL[L6Zl[LZl2JlZlJl17JrJlJr3JuJr3BuJrBuBoBrBo10BrBoBrBuBr4DeBuDe4CU2CMCUCM22KMCMKM6J]KMJ]21J_J]J_16^_3F_^_F_21G?F_G?3GB5_B4OB3O<9OB7Nb8N^5N]2N^2F^5N^2F^16GN5F^2GN4GL2GN2GL2H<2GL16[L2GL2[L4ZlJlKL2Jl2Zl2Jl15Jr2Jl2JrZubuZu2Bu2ZuZoBoBu2Bo5Br11CR2BnBuCUCR3CM2CNCRCM20KM2CM2KM4J]2KM2J]2KMJ]7L=J]8J_2J]2J_2J]J_7J]J_6F_2Z_2F_2f_F_16G?2F_2_?2G?2_B2cB2_B5OB5O<2OB7Nb6N]4N^2N]F^N^N]N^N]N^N]F^N^F^2N^F^N^F^N^F^7H>F^6GNF^GN2F^GNF^H>F^H>2GN2HGLHF^H>5GNGLH>H8H<4GL14H<6d<8bl3Nl20Nn9Bn23CN17CRCNCRCM24KM5L=KML=7LCL?2J_L?J_12L?6`?D?7C?9C=24O=8N]23Nb9Fb3F^20H>7HDH<4GL12H<8P<8Nl23Nn9Bn23CN20CM24KM3KR2KT3Lt3LD5L?7Jo8Bo23C?8C=24[=8Z]4N]19Nb3Ne2NfNeNfNeFeFfFeF^12Fb2FdFf2FdFfFbHr4GB4G<24O<8Nl23Nn14Zn7Bn23CNCRCVCRCT2CRCV_VcVKVKR2KM11KR3KT4Jt3Jr5Jo9Bo23C?9C=24[=8Z]3N]20Nb2NfNe2NfNeZeZfFe2FfF^11Fb2Fe3Fb4GF3GB5G<24O<8Nl23Nn21Bn23CN4_N3cNcV_V3cV_VSVSR_RKR6KL7Jl23Jo9Bo23D?8D=4C=20[=5c=3b]Z]b]2N]12Z]7Ze4Z_5F_23G?8G<24O<14P<6Nl23Nn3Znfn3jnl>2h>kN4CN10_N5cNcL4kL3cL2KL5GLKL2Jl5KLJl17Jo5JlJo5Bo3JoBo2BrBo16D?3BoD?4D=2C=C?C=3D=C=16[=3C=c=]=\]2j]r]j]t=N]3b]N]6Z]9Z_3Z]Z_5F_3Z_F_19G?3F_G?4G<3G?G<20O<3G3NnP>l>h>`>6_N7CN_N6_L7GL5KLFlKL2GLKLGLKLFlKLJl2KLJlKLJlKLJl7JrJl6JoJlJo2JlJoJlJrJlJr3JoJrBoJoBrJoBrBoBrBo16C?BoD?BoD?3C?D=C?C=D?C=D=C=D=C=15D=e=DmdmDmpmp=2pmn]LmJ]L=J]19J_J]J_J]J_5F_Z_F_J_F_19G?F_G?F_G?16G<3GBG<20O<3G2Nn9P>10H>`>H^a>I>2H>2GN2F^GN2GLGNGL3GNGL16KLGLKLGLKL9Jl6ZlJl16Jr7JoJrBoBrBo3BrBo17D?7DDD=4C=9D=5E=D=5L=LmL=6J]23J_9F_23G?20G<24O<3OB2OD2OBPt2QBPt2Pr3Q>Pn2Q>PnQ>P>N^5F^23GN8GL24[L8Zl4Jl19Jr6Jv3BtBv2Bo12BtBs6BtDD2EDDDCTCS3CM24KM8J]23J_17Z_4F_23G?4GB3GDcF[F[D[F[DOFOD2O<8OB9Nb3Nd4NbN^3N]3N^2F^4N^3F^16GN4F^3GN4GLGN3GLH<3GL16[LGL3[L4ZlKL3JlZl3Jl15JsJl3Js2Zs3BvbvbsZoBs3Bo5Bs11CSBsBnBsCS4CMCN2CSCM20KMCM3KM4J]KM3J]2KMJ]6L=2J]8J_J]3J_2J]J_6J]2J_6F_Z_3F_2Z_F_16G?F_3[?G?3[D2[F[?[D5OD3[DO<2OFOBODOB5Nb5N]4N^2N]9N^9F^23H>GN2H>5H<4GL20[L4gL[L3ZlflZlflJl15Zl4Zs5bnZn3Bn23CN8CM24KM16L=KM3J]23J_5Z_J_3\?h_h?2g?h?3G?g?3G?5[?10[D2[=C=[=5C=3O=C=3O=4N]O=3N]19N^N]3N^5FbNb2N^Fb3F^16H>F^3H>4H3GLH3F^H>2H^H>I<3I>GL3IbncNd>cN2CNcNCN7[NCN[NCN[N6[U[L8KL4JlKLJlKLJl19JoJlJoJlJo10Bo23D?7C?D=C=D=C=21[=2k=[=k=[=2l]j]4N]7j]N]^]N]^]b]2^]5b_2^_b_^_b_2J_^_F_23G?8G<10G?G<13O<10G2P^P>P^l>2d>l>d>l>d>2cN7GN6GL20KLGLKLGLKL4JlKLJlKLJl19JrJlJrJlJr5BrJrBrJoBrBoBrBo16D?BoD?BoD?4DmD?DmD?C=D=C=D=C=12D=4`=D=l=D=L=`=L=`=J]L=J]L=J]19J_J]J_J]J_5F_J_F_J_F_19G?F_G?F_G?14GB2GP>2Nn6P>NnP>NnP>7H>8GN4GLGNGLGNGL20KLGLKLGLKL10Jl23Jr6JoJrJoBrBo22D?2D_D?E?DBEDEBE=4C=6D=C=D=C=D=10`=2L=3KML=KMJ]23J_9F_9J_F_J_F_11G?9F_G?F_G?8G<9GBG4Nn2P>7H>2HnH>3F^4GN2F^7GNF^GN6GLGNGL22[LGL[LKL2[L3Zl[LZl2JlZlJl17JrJlJr7BrJrBrBoBrBo14BtBr3DtBrDrDtCTDtCTDtCMCTCM22KMCMKM6J]KMJ]21J_J]J_18Z_F_Z_F_21G?F_G?5GC[CGC[CGCcC[CcC[COC3O<5OCOF^3GN11GL24[L5KL[L2ZlJl22Jr2JtJrJtJr4Br3Bo5BtBo3Br4BtBr2Bt2Br2DRCTCRCTCNCTCR2CM24KM8J]8KMJ]14J_8J]J_12F_8Z_F_14G?5[?3[C9OC3OF^3GNH>3H3GLH<3GL16[LGL3[L4ZlgL[LgLJlZlflZlJl12Zl3ZtZl3Zt4ZnBnZn3Bn19CNBn3CN4CMCN3CM20KMCM3KM16J]L=3J]19J_J]3J_5Z_3\O5[?4G?8[?7[=[?[=[?[=5O=[=O=[=C=3O=N]4O=3N]16N^4N]3N^5F^N^3Fb3F^16H>F^3H>4H8HF^3H>2HeHbH\Hb3GLH\3GLI3d^l>2d>l>d>`>d>cN4CN2cN6[L[NcLcNcL3GL4KL[LGL10KL2GLKLGLKL3Jl2KLJlKLJl18Jo2JlJrJlJr4Br2JrBoJoBrBoBrBo15D?2BoD?BoD?3D=DmD?DmC?C=D=C=D=C=8D=C=D=C=D=3`=2D=l=D=L=`=L=^]J]L=J]L=J]18J_4J]J_4F_4J_F_18G?16GB4G<4GBG<19O<4H4Nn9P>NnP>NnP>7d>H>7GN4GLGNGLGNGL20KLGLKLGLKL8Jl23Jr8JoBrBoBrBo20D?4D_D?3D=E=D=E=C=8D=C=D=C=D=8L=2`=2L=3KMJ]23J_9F_11J_F_11G?11F_G?8G<11GBG<12O<3OB2O<2ODPrPtPr6Pn6Nn2P>7H>6F^4GN2F\GN2F^GNF^GNGLGNGL2GNGLGNGL10[LGL6KLGLKL2GLKLGL[L4KL2ZlKLJlZlJlZlJl17JoJlJr5JoJrBoJoBrBoBrBo17BsDDBtDD4DCCTD=CSD=CM21KMCMKM6J]L=J]21J_J]J_19F_23G?8GCGD2[DGD[DGDgD[DOD3O<7ODOF^GN3H>3HH<2GLH3F^H>4H<2GLGNGL3H8IF^2H>2I>H>HIDGL2Ibnd>bncNd>2cNCNcN2CN6[NCN[NCNcN2[N4[UcNcL[L6KL[LKL3GLKL2Jl5KLJl17Jo5JlJo5Bo3JoBo2BrBo16D?3BoD?4D=2C=C?C=3D=C=16g=[=2C=k=3l=j]3l=N]3j]N]6^]9^_b_2^_6F_23G?8G<24O<20Nl23Nn4P>5l>d>l>4d>2cN6[NGN3GLGNGL22KLGLKL6JlKLJl21JrJlJr7BrJrBrBoBrBo18D?BoD?6D=D?D=2C=D=C=10D=C=D=6`=D=`=4L=2J]L=J]21J_J]J_7F_J_F_21G?F_G?15GB3G4Nn9P>7H>8GN5F^2GNGL5GN2GL17KL5GL2KL4Jl2KL2Jl2Zl2Jl15Jr2Jl2Jr5Bo2Jo2BoBr2Bo16D?2Bo2DBDtDr2Dm2DrDtC=2DmD=C=5D=11L=2CMD=L=4J]2KML=J]19J_2J]2J_5F_2J_2F_2J_F_7Z_F_8G?2F_2G?2F_G?7F_G?5G<2GB2G<2GEG<17O<2G6Nn2P>7H>6F^4GN2F\GN2F^GNF^GNF\GNGL2GNGLGNGLGNGL8[LGL6KLGLKL2GLKLGL[LGL[L2KL2ZlKLJl[LJlZlJlZlJl15JoJlJrJlJr3JoJrBoJoBrJoBrBoBtBo15BrEBBrDrBrDt4DmDtCMCTCM20KMCMKMCMKM4J]L=J]KMJ]19J_J]J_J]J_17F_3Z_F_19G?3F_G?4GC6[C3OC3O<10OC10PC3Nc5N^N]N^5F^3N^F^15GNF^3GN9GL6H7H<4GL20[L8Zl4Jl13Zl6Zv2Zt3ZvZnZtZnBvBn22CN8CM24KM16L=4J]23J_5Z_5\OZ_\OZ_[?3G?10[?G?[?G?[?5[C[=8O=C=O=3N]O=N]O=2N]18N^N]N^N]2N^6F^N^2F^2FbF^17H>F^2H>5HGNH4F^H>H^H>H\II>H^F^H^I>H^IBI<3HbGL3I5_N4CN8_N11_R3_L6GL2KLJlKL2Jl2KL2Jl15Jo2Jl2Jo2JlJo7BoJoBo2Br2Bo17D?BoD?5C?C=D?D=C=2D=2C=17[=C=[=4c=2Z][=Z]j]N]j]N]6Z]5N]2Z]4ZcZ]Z_7F_J_F_21G?F_G?6G3`>8_N4CN2_N6_L7GL4KL2GL9KL8Jl23JrJo2Jr6Br3Bo20D?8D=4C=14D=6l=8j]3J]20J_9F_23G?17GBG?GBG<24O<5PNn12P>6`>H>7GN9GL24KL8Jl23Jr9Br3Bo20D?7DDD=4C=12D=8L=8J]23J_9F_23G?20G<24O<3OB2OD3Pt3PD5P>7N^8F^23GN8GL24[L8Zl4Jl19Jr3Ju2JvJuJvJuBv2BuBo12Br2BtBvBt2BvBrDrDtDvDrCR4CM24KM8J]23J_14Z_7F_23G?GBGFGBGD3GF_FcFOF2OBO<11OB3OD4Nd3Nb5N^9F^23GN9GL24[L8Zl3Jl20Jr2JvJuJv2JuZuZvBv3Bo11Br2BvBuBvBr4CV3CR5CM24KM8J]23J_21F_23G?4_?3c?cF_F8OF2OB4O=7N]23N^9F^23H>8H<4GL20[L5cL3blZl2jlJl12Zl7Zu4Zn5Bn23CN8CM24KM14L=6J]23J_3Z_f_4l?2h?k?4G?10_?6_=3c=_=5O=5C=O=2N]5O=N]17N^5N]N^5F^3N^F^2FbF^16H>3F^H>4H<2GLGNGL3H8H<4GL12HlGLH2F^2HBHnHr2HlIh^h>2gNh>l>2CNgN3CN5[N8[L5GL[L3KL2GL3KLFlKLJl2KL3JlKLJl14JoJlJo2Jl3JoJlJoJrJoBoJo3BrJrBrBoBrBo14D?Bo3D?BoD?2D=C?D?C?C=D?D=2C=D=C=14[=C=3[=C=\]2Z]\]\M\]N]l]j]2N]j]N]3f]2Z]8Z_Z]2J]Z_J]Z_3F_J_2Z_F_J_F_17G?F_3G?F_G?2GNlNn2P^Znh^2P>h>4gN3h^gNkN[NGN[N2gNGNgNGNGLGNGL19KLGLKL2GLKL3JlKLJl2KLJl18JrJlJr2JlJr4BrJrBrBoJrBo2BrBo15D?BoD?2BoD?E?DoE=D?E=DmC?E=C=2E=C=10DMC=DM2D]\MD]\]\MD]LM3J]LMJ]2LMJ]18J_J]J_2J]J_4F_J_F_2J_F_18G?F_G?2F_G?11GBG?3G9H>P>H>H^F^H>3GNH>F^3GNF\GNGL2GN3GLGNGL15KLGLKL2GL3KLGLKL[LJlKL3Jl[LZl2JlZlJl13JrJl3JrJlJr3BoJrJo2BrJrBrBoBrBo14DoBo3DOBoDRDODMDR3C=DRDM2C=DMC=3DM11LMDMCMDMKMDMLM2J]KM2LMJ]KMJ]17J_J]3J_J]J_3F_J_3F_J_2F_J_F_4Z_2F_2Z_F_5G?F_3G?F_2G?F_G?4F_2G?2F_G?2GN^P>QNP>N^P>N^2F^N^F^18GNF^GN2F^GN3GLGNGL2GNGL19[LGL[LcLGL[L3Zl[LZl2KLZlJl2ZlJl14JrJlJr2JlJr4BrJrBrBoJrBo2BrBo10BrBoBr3DRBrDR2BrCR3CMCRCM2CRCM19KMCMKM2CMKM3J]KMJ]2KMJ]18J_J]J_2J]J_12Z_J_3F_Z_F_2Z_F_18G?F_G?2FbG?3GB[EcE[E2OE[E2[GLGN3GLH>H<2GLHF^H>2F^H>3HH<2GNH8H<2H\HF^H>2H^H>H^H>IH3_N4CN10_N9_U2_L4gL3KL2GLKL2Jl5KLJl17Jo5JlJo5Bo3JoBo2BrBo16D?3BoD?4D=2C=C?C=3D=C=16[=3C=[=4Z]2b]d=N]3b]N]6b]Z]2b]2j]b]3bb2b_b]b_j_b_3F_3Z_F_19G?3F_G?4G<3G?G<20O<3GNnP>`>8_N4CN2_NCN_N6_L7GL2KL2GLKLGL8KL8Jl23Jo2JrJoJr5Br3Bo20D?8D=4C=15D=5d=2l=5L=J]23J_9F_23G?16GB3G?G<24O<4P<3O3PCNn3P>Nn7P>5P^4l^H^l^H>H^H>3GN2F^GN3F\GNGL2GNGL3GNGL15KLGLKL2GLKL3GLKLJl2KLJl3[LJl3ZlJl12Jr2JlJr3JlJr2BrBoJrBo2BrJoBo2BrBo13D?2BoD?3BoD?Dm2DtDmC=2ECC=3E=C=3D=C=D=8L=2D=L=3Lm2J]2L=J]20J_2J]J_6F_2J_F_20G?2F_G?17G<2GBG<21O<2G7N^2P>N^4F^22GN8GL24[L8Zl4Jl19Jr9Bt3Bo13BrBtBrBtBr3EBED2DtED2CT2CM24KM8J]23J_16Z_2J_Z_2F_23G?3GC2G?GC4[C2OC2[CO<2OCO<8OC7Nc8N^7N]N^2F^6N^F^16GN6F^GNGL2GNGL3GNGL3H8H<4GL20[L8Zl4Jl12ZlflZlJlflZl2ZvZtftZvfn2ZnfnZnBn23CN8CM24KM14L=L]KML=L]L=J]23J_3Z_2J_Z_2\O3[?2\O[?G?2[?G?7[?6[=3[C[=5O=5C=O=2B]O=N]3O=N]2O=N]14N^N]N^3N]N^2N]N^2F^2N^2F^2NbF^2FbF^13H>2F^2H>2F^H>HGNH>GL2GNH3GNF^GNHGLH>GLH\GNGL3HF^H>3H^H>H^HH\2GLH\GL10HLGLHLH\2HL2H\\LH\P\2PLP\PLP\NlPLNl21NnNlNn7BnNnBn21CNBnCN18CMCRCM22KMCMKM3KR3LR8LO4J_2LO9DO4Bo4C?DOBo10C?2BoC?5C=2C?C=21O=2C=[=5Z]2[=Z]N]2Z]N]16Nb2N]Nb6Fb2NbF^2FbF^12Fb5HRHbFbHR5I3Nn9PN2P^PN5P^PNI>pNHNpNI>HNH^HNGN2F^GN2GLGNGL3GNGL16KLGLKLGLKL9Jl6ZlJl16Jr7JoJrBoBrBo3BrBo17D?2D_D?D_D?D_DbD]4C=9D=11`=L=7J]23J_9F_23G?20G<24O<4OB4PR8PN4NnPN7HN6F^5GNF^11GN8GL24KL[L7Zl4Jl19Jr6JuJr2Br2BuBo12Br2BuBr2Bu2BrDbDeDbDeCU2CR2CM24KM8J]23J_17^_4F_23G?4GB4_B5OB3O<8OB8NbOBNbOBNbNd3N^NbN^NbN]3N^2F^4N^3F^16GN4F^3GN4GLGN3GLH<3GL16[LGL3[L4ZlKL3JlZl3Jl15JrJl3JrZuJuZuJuBrZubuZoBuBv2Bo5BvBu3Br7CRBrBnBrCR4CMCN2CRCM20KMCM3KM4J]KM3J]2KMJ]6L=2J]8J_J]3J_2J]J_6J]2J_6F_Z_3F_2f_F_16G?F_3_?G?3_BcEcFc?_F2_E2_FOF3_BO<2OB8Nb5N]4N^2N]9N^9F^23H>GN2H>5H<4GL20[L8Zlbl3Jl15bl^l3brbubv2bn5Bn23CN8CM24KM16L=KM3J]23J_5^_J_2L?`?4_?`?3G?_?3G?4_?11_E2C=2_=5C=3O=C=3O=4B]O=3N]4O=N]14N^N]3N^5FbNb2N^Fb3F^4FbF^11H>F^3H>4H3GLH<3GL4H8H<4GL12H<8`<3P<5Nl23Nn9Bn23CN18CRCNCM24KM6LCKSLC6L?LCLo2J_L?J_3L?8D?5BoD?BoC?3Bo7C?BoC?6C=C?C=22O=C=O=3[=3Z][=Z]2N]Z]N]17NbN]Nb7FbNbFbF^FbF^15Fb2FdHtFbHr2IB3IDINnP>3h>3h^2h>2h^gN5CN[N8[LgL[L3GL5KLGL9KL3GLKL4Jl3KLJl19Jr2JoJlJr5Br3JoBo2BrBo16D?3BoD?4D=3D?C=3E=C=12D]4\]2\MD]\]2l]h]j]J]2LMJ]19J_9F_23G?17GBG?GBG<24O<5P\O2P^P>P^3H>l^H>2H^2H>2GN5F^GN2GL5GNGL18KL5GLKL2JlKLJl3KLJl3ZlJl13JrJlJr3JlJr3BrJrBrBo2JoBo2BrBo14D?BoD?3BoE?EBE=EBE=2C=EBC=3E=C=6DM7D]\MD]L]2LM4J]LMJ]21J_J]J_7F_J_F_21G?F_G?18GP^P>5P^P>P^H>3F^5GNF^11GNF^2GN5GLGN2GL21KLGL2[L5Zl[L2ZlJlZl2Jl16JrJl2Jr6BrJr2BoBr2Bo12Br5DRBr2DR2DT2CRCMCR2CM21KM8J]23J_17Z_J_Z_2F_23G?4GBG?GB5_B2OE_EOEO2GNH>2HH<2GLHF^H>F^H>4H8H<4GL15H<5d<`F^H>4HCHDHF^GNF^2GNF^GN6F^GN4GL3GNGL3HF^4H>7GNH5GN2H>H<4GL18H<2d<3l<5jl2Nl21Nn9Bn23CN18CR2CM24KM6L=7LCL?4J_12L?8`?3D?5C?7C=24O=8N]23Nb9Fb3F^20H>8H<4GL12H<8`<3P<5Nl23Nn9Bn23CN20CM24KM6KRKTLtLDLtLDLtLBLtLrLo2L?LoJ_3L?8D?5Bo3C?3Bo9C?8C=24O=3[=5Z]4N]19Nb8NdFfFd2F^15Fc4FdHD7GCG<24O<8Nl23Nn17Zn4Bn23CN4CR3CT4[T2KT3KM11KR9Lr2Jr6Jo7Bo23C?9C=24[=8Z]3N]20Nc9Fc3F^11Fc9HC2GC6G<24O<8Nl23Nn21Bn23CN6[N2[T3[V2[T[V2[TKT3KM2KR8Jr4JtJl4Jo2Jl10Jo9Bo23C?2D?6D=4C=20[=8Z]4N]14Z]5Zc8Z_F_23G?8G<24O<16P<4Nl23Nn5Zn7\N[N4CN12[N7[T[L8KL7Jl23Jo9Bo23D?8D=4C=20[=8Z]4N]12Z]7ZcZ_8F_23G?8G<24O<20Nl23Nn5P>4h>8gN4CNgN[N8[L3[NGNGL4KLGL11KLGL2KL5JlKL2Jl20JoJl2Jr6BrJr2BoBr2Bo17D?Bo2D?5D=D?2D=C=D=2C=12D]3C=2\]D]2\]5J]L]2J]20J_9F_23G?16GB4G<24O<4P\7PbP^4Nn12P>8H>8GN7GL24KL8Jl23Jr9Br3Bo20D?8D=4C=12D=D]7\]8J]23J_9F_23G?20G<24O<8P\3Pb5P^4Nn8P>7H>8GN4F^4GNGL3GN4GL17KL3GL4KL8Zl4Jl19Jr5Jo3JrBr3Bo19BrEB4DREBDREBCM24KM8J]23J_17Z_4F_23G?4GB8_BOB3O<12OB8QB6PrNbN^11F^23GN8GL24[L8Zl4Jl19Jr9Br3Bo12Br4BtBr3DR4CTCRCTCRCM24KM8J]23J_21F_23G?8[E5[F4OF2OEO<4OB7Nb6N]2N^4N]8N^9F^23GN4H>4H<4GL20[L8Zl4Jl15Zl2bl2bubv2br4bn2Bn23CN8CM24KM16L=4J]23J_5Z_f_5h?2g?4G?11[?k?[?k?[?4[E3[=6O=6N]23N^10F^23H>8H<3GL21[L8Zl4Jl11Zl2bl5ZlZsbs2bn4Zn2Bn23CN8CM24KM20J]23J_7L?2h?8g?4G?3[?g?[?4[=2k=[=4C=3O=3C=9O=8N]23N^3Nb6Fb3F^20H>8H<4GL14H\6\\6P\2Nl23Nn9Bn23CN16CR4CM24KM4L]5Lb3L_4J_10L?10h?2D?6C?2BoC?2C=5C?C=18O=5C=O=4N]3O=N]3Z]N]15Nb3N]Nb5FbF^2N^F^2FbF^16H>3F^H>4H<3HDGL3H4_N`>2_NCN_N2CN6_N7_L_N_L_R_L5KL_LKLGL3KLFlKLJl2KL3JlKLJl14JoJlJo2Jl3JoJlJo3BoJo3BrJrBrBoBrBo14D?Bo3D?BoD?2D=C?D?C?C=D?D=2C=D=C=14[=C=3c=D=c=d=b]d=3N]d=^]2N]^]N]3^]10b_^]2J]^_J_^_3F_J_2^_F_19G?F_3G?4GNn3P>`>3P>`>4_N3`>_N2CN_N7_L6GL5KLGL9KLGLKL6JlKLJl21JrJlJoJr6BrJrBrBoBrBo18D?BoD?6D=D?D=2C=D=C=13D=5`=D=`=2L=4J]L=J]21J_J]J_7F_J_F_21G?F_G?14GBG?3G10H>P>H>N^F^H>3GNH>F^3GNF^3GN4F\GN3GL4GNGL15KLGL3KL4Fl[L3JlZl3KLJl3ZlJl10JrJl3Jr4JlBrJr2JoBr3BoJoBo2BrBo11D?BoBtBoDDD?DD2BmDDEDECE=2CM2CSCM15KMCMKMD=KM4J]KMJ]KMJ]19J_J]J_J]J_12F_J_4F_Z_F_Z_F_14G?F_4G?F_G?F_G?4GB2GDGBGDGBGDG3HHGLH8H<3GL21[L6\\[LZl4Jl11Zl8Zs2Zn7Bn23CN8CM24KM20J]23J_6L?3h?8g?4G?2[?7[=6C=4O=2C=10O=8N]23N^2Nb7Fb3F^20H>8H<4GL14H\6\\6P\2Nl23Nn9Bn23CN16CR4CM24KM4L]5Lb3L_4J_10L?10h?D?7C?2BoC?2C=5C?C=18O=5C=O=4N]3O=N]3Z]N]15Nb3N]Nb5FbF^2N^F^2FbF^16H>3F^H>4H<3HDGL3Hd>cN2d>kNCN2kNCN8[N6[LcN[L6cLKL[LKL5GLKLJl6KLJl16Jo6JlJo2Bo2JoBo3JoBo2BrBo13D?2BoD?3BoD?D=2D?D=C=2C?C=3D=C=13[=g=C=k=[=2D]k=j]Z]l]j]N]2l=N]3j]N]4j]b]^]3b]^]2bb^b^]^_b_2^]^_2F_2J_F_3^_F_16G?2F_G?3F_G?G<2G?G<3G?G<7GBG<9O<2G2d^jnl>d>l>d>l>d>cN5CNkNcN2[NCN[N3[L[N2[L6KL[LGL4KLFlKLJlKL2GLKLFlKLJl4KLJlKLJl7JrJlJoJl4JoJlJo2JrJo3JlJr2BrBoBrBo3JoBrBoBrBo13D?3C?D?C?BoD?D=2C=D=C=2C?C=D=C=D=C=12D=_=2`=4D=l=^]2J]4L=J]16J_9F_23G?20G<24O<8P<2Pl2PPnNn10P>7H>P>2d>2H>d>H>cNH>2GN2F^GN2GL3GNGLGNGL18KL3GLKLGLKL4JlKLJlKLJl3ZlJl15JrJlJrJlJr5BrJoBoJoBrBoBrBo16D?BoD?BoD?DtD?2D=D?DmD?C=DmC=DmC=6D=10`=D=L=D=L=4J]KMJ]L=J]19J_J]J_J]J_5F_J_F_J_F_9Z_F_9G?F_G?F_G?9F_G?6GNnP>7H>6F^2GN2F^GNF^8GN8GL24KL2[LKL[L4Zl4Jl19Jr9BtBv2Bo15BtBs3BtDD7CTCM24KM8J]23J_17Z_J_Z_J_F_23G?4GBG?GDG?GD3[DgDOD[DOD[GLH8H<4GL20[L8Zl4Jl13Zl6Zs6Zn3Bn23CN8CM24KM16L=KML=KMJ]23J_5Z_J_Z_J_Z_\O3[?\O[?\OG?[?G?[?G?6[?6[=9O=5C=O=C=O=B]O=N]2O=N]O=N]O=N]14N^N]N^2N]N^N]N^N]N^3F^N^F^N^FbN^FbF^FbF^14H>F^H>F^H>F^H>2HGLH5F^H>2H<4GLGNGL3HF^3HBF^HbH^H\HBHeIBGLIBI<2GLId>5cNd>2cNCNcN2CN4[N6cLcNcLcNcL2[LGL2KL[LKL[LGL5KLFlKL6JlKLJl14JoJl6JoJlJrJo4Jr2BrJrBrBoBrBo18D?BoD?3C?D?2D=D?D=2C=D=C=16D=C=`=C=`=6^]`=J]^]J]^]J]17J_J]J_7F_J_F_21G?F_G?17GBGP

2Nn11P>NnP>NnP>5d>P>d>H>5GNH>GN4GLGNGLGNGL20KLGLKLGLKL6JlKLJl21JrJlJr7BrJoBrBoBrBo18D?BoD?8D=2C=D=C=8D=C=D=C=D=8L=7KMJ]23J_9F_11Z_F_11G?11F_G?6GB2G<24O<3OB3Pr8Pn4Nn2P>7H>P>H>P>H>2F^4GNH>F^10GN2F^GNF^GN3GL2GNGLGNGL19KL2GL[LGL[L3Zl2[LZlKLJlZlJlZlJl14Jr2JlJrJlJr4Br2JrBoJoBrBoBrBo8BtBoBtBoBt3DD2BtDDBtCTDDCTD=CMCTCMCRCM19KM8J]23J_17Z_J_Z_2F_23G?6GD3[DGD[DGD[D2ODOF^H>F^H>4HHGLH6GNH>GLHF^H>F^H>H^H>I>HHGLIHNI>HR4HL4GL5HLGL3HL11PL4O2`>4_N`>3CN_N3CN3_N12_RGRGL2_L4GL4KLGL3KL3GL2KL3Jl3KL2Jl18Jo4Jr4JoBr3Bo3Br2Bo15D?8D=4C=3D=2C=15[=2dm2d=4b]2J]18J_2Z]Z_J_5F_2J_F_20G?2F_G?10G<2G?4GBG<2GBG<14O<2G<5O<2G3Nn14P>6`>2H>6GN9GL24KL8Jl23Jr9Br3Bo20D?8D=4C=12D=8`=d=2`=2L=3J]23J_9F_23G?20G<24O<8PBPtPr6Pn4Nn5P>7H>6F^H>GN4F^7GN8GL24KL5[L3Zl4Jl19Jr9BrBtBrBo16BtBsBt2DD7CTCM24KM8J]23J_15Z_6F_23G?2GB2GDGBGD5OD3O<13OBOD6PDPtPBPt3Nb2N^10F^23GN8GL24[L8Zl4Jl19Jr2JtJr2Jv4Bv3Bo12Bs7BtDDDCDD2DCCS3CM24KM8J]23J_21F_23G?8GC[D[C[D6OCOD2O<5OD6OBNd3NbNdNbN]NdN^4N]7N^9F^23GN5H>3H<4GL20[L8Zl4Jl16Zl3Zs7Zn2Bn23CN8CM24KM16L=4J]23J_5Z_6\O2[?4G?11[?8[C[D3[=5O=7N]23N^9F^23H>8H<4GL20[L8Zl4Jl12Zl7Zs7Zn2Bn23CN8CM24KM20J]23J_9Z_2\O6[?4G?7[?6[=9O=4C=5O=N]2O=5N]16N^2N]5N^7Nb2Fb3F^20H>5GN2H>H<4GL18H<2h<4h\3P\Nl23Nn9Bn23CN16CR4CM24KM4L=3Lm3Lr2Lo4J_11LO8L_\_2\O4DO2C?9C=24O=8N]23Nb9Fb3F^20H>8H<2H\2GL12H<8`<3h3cN4CN10[N6cN3cU2cL2[L5KL2GLKL2Jl5KLJl17Jo5JlJo5Bo3JoBo2BrBo16D?3BoD?4D=2C=C?C=3D=C=16[=3C=[=4Z]j]2l]N]3j]N]6Z]3b]2j]b]3bb2b_b]b_5F_3b_F_19G?3F_G?4G<3G?G<20O<3GNnP>d>8cN4CN2[NCN[N6[L7GL2KL2GLKLGL8KL8Jl23Jo2JrJoJr5Br3Bo20D?8D=4C=15D=5l=5L=3J]23J_9F_23G?16GB3G?G<24O<4P<3O11d>H>b^H>5GNF^2GNGLGNGL3GN2GL17KLGLKL3GL2KL3[LJl2KL2Jl2Zl2Jl15Jr2Jl2Jr5BoBrJo2BoBr2Bo16D?2Bo2D?4D=2D?DCC=2D=2C=D=C=3D=6C=D=4`=2D=2L=4J]2KML=J]19J_2J]2J_5F_2J_2F_10Z_F_8G?2F_2G?10F_G?5G<2GB2G<20O<2G<2O<3OBPr8Pn5NnP>9H>4F^5GNF^10GN8GL24[LKL[L6Zl4Jl19Jr6JtJrJvBr2BvBo15BsBt2BsBtDD5DCDDCSD=CMD=CM21KM8J]23J_17Z_2J_2F_23G?4GD2G?2GD3[DGDODGD[D[F^H>3H<4GNGL3H3F^H>4H<2GLGNGL3HF^H>6HH<2GLHF^2HBIDIB2I<2IB2GL2I<2GL5H<4H\I<2H\3IcN2CNcNCN12[N5[U[L8KL9Jl23Jo9Bo23D?8D=4C=20_=7`=^]4N]12^]7^_9F_23G?8G<24O<20Nl23Nn4P>5l>7d>cN6[NGN7GL24KL8Jl23Jr9Br3Bo20D?8D=4C=12D=8`=4L=4J]23J_9F_23G?13GB7G<24O4Nn11P>7H>8GN8GL24KL9Jl23Jr9Br2Bo21D?6DD2D=4C=11D=9L=8J]23J_9F_23G?20G<24O<3OB5Pr8Pn6P>N^7F^23GN8GL24[L8Zl4Jl19Jr9Br3Bo12Bt8DD4CT4CM24KM8J]23J_15Z_6F_23G?2GD6[D3OD3O<10OB7Nb8N^5N]N^3F^5N^F^17GN5F^GN4GL3GNGL3HF^6GNF^GN2F^GNF^H>F^H>3GNHGLH7GNH8H<4GL12H\8\\4P\4Nl23Nn9Bn23CN16CR4CM24KM4L]3Lb5L_4J_8L?9D?8C?3Bo3C?C=4C?3C=17O=4C=3O=4N]O=3N]Z]3N]15NbN]3Nb5F^N^3Fb3F^16H>F^3H>HD3HdNdncNdndNcNCN[N2CN4[N6[L3[N[L3GL2KL3[LGL5KLFlKL6JlKLJl14JoJl6JoJlJrJo4JrJtBrJtBrBoBrBo18D?BoD?3C?D?2D=D?D=2C=D=C=16D=2`=C=`=6^]`=J]^]J]^]J]17J_J]J_7F_J_F_21G?F_G?17GBGF^H>F^H>4HHGLH6GNH>GLHF^H>3H^H>2HI8H<4GL5Hh^h>2gNh>3CNgN3CN5[N10[V2[LGL[L5GL3KLGL3KL4JlKL3Jl19JoJl3Jo5BrJr2JoBr3Bo16D?Bo3D?4D=D?3C=D=D]D=C=16[=C=3[=2\]2Z]\]2\MN]Z]3N]Z]9b]Z]3J]Z_J_2Z]Z_J_4F_3Z_F_19G?3F_G?4G<2G?4G<2G?4G<12O<2G<4O<2G<4O<8Nl2P<4Nl2P\4Nl11Nn3NlP>3NnP>h>8gN6[NGN3[LGL2GNGL20KL3GLKL4Jl3KLJl19Jr3JlJr5Br3JoBo2BrBo16D?3BoD?4E=DmE=E?C=3E=C=8D]3C=DM3D]\]2\MD]L]3LMJ]3LMJ]19J_3J]J_5F_3J_F_19G?3F_G?13GBG?2G<3GBG<20O<3G2Nn4P>7H>3P>H>2F^2GN3H>F^5GNF\GN6GLGNGL15KLGL6KLGL[LKL4[Lbl[LblZlJlZlJl17JrJlJr3JoJr3BrJrBrBoBrBo16Br2DRBoDR6DMDRCMDMCMDMCM18KMCMKM6J]KMJ]21J_J]J_15Z_2J_Z_F_Z_F_21G?F_G?2GB2G?GE3GBGEGBGEOEGEOF^H>3H<2H>H8GLH5GNH8H<4GL7Hh^h>2gN3h>CN3gNCN5[N10[T[L[TGL[L5KLGL2KLJlKLJl3KL2Jl16JoJlJo3Jl2Jo3JrJoBo2Jo2BoBr2Bo16D?2Bo2D?4D=C=D?C?C=2D=2C=16[=2C=2[=4Z]2[=lMN]2Z]2N]Z]N]3Z]6N]Z]3Zc2Z]2Z_5F_2J_Z_F_19G?2F_2G?4G<2G?2G<10GBG<9O<2G<2O<10Gh>8gN5CN[N8[L5GL5KLGL10KL8Jl23JrJoJr7Br3Bo20D?6D_D?E=D=2E=C=15DMD]2DMD]\]5\M\]LMZ]J]Z]J]20J_9F_23G?16GB2G?2G<24O<4P\2O<2P\2PbP\P^P\Pb2Nn2P^2Nn7P>NnP>NnP>5h>2H>6GN2F^GN3GLGNGLGN2GL19KLGLKLGL2KL5JlKL2Jl3ZlJl16JrJl2Jr6BrJoJrBoBr2Bo17D?Bo2D?2E?D?2E=EB2E=C=E=2C=7D]C=DMC=E=DM4D]\MDMD]L]LML]2LMJ]KMLMJ]20J_J]2J_6F_J_2F_10Z_F_9G?F_2G?10F_G?6G8H>P>H>3F^3GNH>GNF^9GN4F^GN3GL4GNGL19KL3[LGL[L3Zl4KLJl3ZlJl14Jr4JlJr4Br3BoJoBo2BrBo10BrBoBr3DR4BrCRDRCRDMCM3CRCM19KM8J]23J_17Z_J_2Z_F_23G?4GBG?2GB2_BGB_BGBOB_B2OF^H>6HH<2GLH2F^2H>4HF^H>3GNHGLH8H<4GL10H<4GLH<5`5h>8gN6[NGN3GLGNGL22KLGLKL6JlKLJl21JrJlJr7BrJrBrBoBrBo18D?BoD?6D=E?D=2C=D=C=10D]C=D]2DMD]3\]D]\]4L]2J]L]J]21J_J]J_7F_J_F_21G?F_G?15GB3G7H>8GN5F^2GNGL5GN2GL17KL5GL2KL4Jl2KL2Jl2Zl2Jl15Jr2Jl2Jr5Bo2Jo2BoBr2Bo16DoD?Bo2DBEDEB2E=2EB2C=2E=2C=5D=4D]E=2D]3E=L]2CMD]L]2LM2J]2KML]J]19J_2J]2J_5F_2J_2F_2J_F_7Z_F_8G?2F_2G?2F_G?7F_G?5G<2GB2G<2GBG<17O<2G7H>6F^4GN2F\GN2F^GNF^GNF\GNGL2GNGLGNGLGNGL8[LGL6KLGLKL2GLKLGL[LGL[L2KL2ZlKLJl[LJlZlJlZlJl15JoJlJrJlJr3JoJrBoJoBrJoBrBoBrBo15BrEBBrEBBrEB4CMCRCMCRCM20KMCMKMCMKM4J]L=J]KMJ]19J_J]J_J]J_17F_3Z_F_19G?3F_G?4GB2GEGB[EcE[E3OE3O<8OB12Pb3Nb5N]2N^2F^N^2F^2N^2F^15GN2F^2GN2F^GN6GLGNGL3H<2GL17[LGL[L5KLJl[LZlJl2Zl2Jl16JrJlJr7BrJrBrBoBrBo6Br5Bo2Br5DRBrCR6CMCNCM22KMCMKM6J]KMJ]11L=J]9J_J]J_11J]J_7F_Z_F_21G?F_G?4[?2[E9OE3O<2OB7Nb6N]4N^2N]9N^9F^23H>GN2H>5H<4GL20[L6cL[LZl3jlJl14bl4^lbr6^rbr2Br2Bn21CN8CM24KM17L=KML=J]23J_6b_J_b_7d?c?2G?c?G?12[?5[E[=8O=9N]23N^9F^23H>8H<4GL20_L7`<^l4Jl12^l7^n9Bn23CN8CM24KM20J]23J_4L?5d?8c?6[?C?7C=24O=8N]23Nb9Fb3F^20H>8H<4GL12H<8`<4P<4Nl23Nn9Bn23CN13CR7CM24KML=6LC2L?4J_11L?7D?8C?8C=24O=9N]23Nb9Fb2F^21H>6HD2H<4GL11H<9P<8Nl23Nn9Bn23CN20CM24KM3KR5Lr8Lo6L?Jo7Bo23C?8C=24[=8Z]4N]19Nb9Fb3F^12Fd8HD4GD4G<24O<8Nl23Nn15Zn6Bn23CN2CT6[T3KT3KM10KR7Jr8Jo5JlJo3Bo5JoBo17C?5BoC?4C=3C?C=3D=C=16[=3C=[=4Z]2N]O=N]3Z]N]15Nb3N]Nb2bb3Fb3b^F^2FbF^6Fb3Fd2FfFd4GD3FdGD4G<3GDG<20O<3G4gN3h>CN3gNCN5[N6[L[N[L5GL[LKL[LKL3GL2KLJl5KL2Jl16Jo5Jl2Jo3JrJoBo2Jo2BoBr2Bo16D?2Bo2D?4D=C=C?2C=2D=2C=16[=2C=2\][=\]2Z]2\M2N]2Z]2N]Z]N]3Z]10Z_2Z]J]Z_J_Z_3F_2J_Z_F_19G?2F_2G?4G<2G?2G<2G?G2Nn2P>h>8gN6[NGN2[NgNGLGN2GL21KL8Jl23Jr9Br3Bo20D?7E?DmD=3C=12D]C=2DMD]4\]4L]2LM2J]23J_9F_23G?16GB2G?2G<24O<4P\2O10H>3F^2H>3GN2F^3GNGL4GN3GL17KL4GL3KL2[L2JlKL3JlZl3Jl15JrJl3Jr5BoJo3Br3Bo16DoBo3D?2EDDBE=EB3C=E=5C=3DM2D]2DME=DM5LMDMCM2KMLML]LMJ]KM2LMJ]19J_J]3J_5F_J_3F_2J_3F_4Z_2F_8G?F_3G?2F_3G?4F_2G?5GP>N^P>P^2F^N^3F^19GN8GL24[L8Zl4Jl19Jr9JuBrBuBo12BrBo3Br5DREB2DR2CR3CM24KM8J]23J_17Z_J_3F_23G?4GBG?3GB_E_F_E2OB_E_F_GLGN3GLH>H<2GLHF^H>2F^H>3HH<2GNHF^3H>F^H>2HGNGLH>H<2GLHF^H>2F^H>2HnHH<2GNHF^HDH>HCHDHC2GLHDH<2GLH\NPN\N3HN3GNHNGN6GL24KL9Jl23Jr9Br2Bo21D?8D=4C=11D=9`=3L]5J]23J_9F_23G?20G<24O<6OC2Ps8Pn4Nn3PN7HN6F^3GN3F^9GN8GL24KL3[L5Zl4Jl19Jr9Br3Bo14Bt6DD4DF2CV2CM24KM8J]23J_17Z_4F_23G?4GC6[C3OC3O<10OC10Ps2Nc6N^2N]N^3F^5N^F^17GN5F^GN4GL3GNGL3HGNH>4H<4GL20[L8flZl3Jl15Zl4Zt2Zv5Zn2Bn23CN8CM24KM16L=3KMJ]23J_5Z_3J_Z_2\O2[?3\OG?3[?G?7[?5c?3cCc=cCc=[=c=[=3O=2C=O=3B]O=N]2O=N]3O=N]14N^N]N^2N]N^3N]N^2F^2N^F^2FbN^F^2FbF^13H>2F^H>3F^H>H<2GNHGL3H8H2F^H>3FeHBH\2HBH\GL2IBGL3I_N4CN12_N7_U4_L_U_L3KL7JlKLJl16JoJl4JoJlJo7BoJoBo21D?BoD?5C?D=D?D=2C=D=C=18[=C=[=3c=[=c=Z][=b]Z]N]b]N]10Z]N]b]3Z]b]bbZ]b_6Z_F_Z_F_21G?F_G?6G3`>7h>gN_N3CN2_N8_L5GL4KL_LGL10KL2GLKL5Jl2KLJl20Jo2JlJr6Br2JrBo2BrBo17D?2BoD?5D=2D?D=C=2D=C=12D=Dm2D=2d=l=D=d=dmlm3j]J]L=J]20J_9F_23G?16GCG?GC2G<24O<4PPCP>2NnP>Nn11P>7`>H>7GN8GL24KL9Jl23Jr9Br2Bo21D?7DDD=4C=11D=7Dm2L=5Lm2L=J]23J_9F_23G?20G<24O<3OB5Pt3QDQB4Pn6P>N^7F^23GN8GL24[L8Zl4Jl19Jr7JuJvBu2BvBo12Br3BtBv2Bt2ETDBDt2CT2CVCTCM24KM8J]23J_15Z_6F_23G?2GBGFGBGD3gD_F_DOFOD2O<10OB6ODNd4Nb2NdNbN^5N]N^3F^5N^F^17GN5F^GN4GL3GNGL3HF^6GNF^GN2F^GNF^H>F^H>3GNHGLH7GNH8H<4GL12H<2HlH<2Hl2HF^3HBHnHrHnHlHDHtHDGLH<2IP^h>6gNh>gN2CNgNCN3[N7[L6GL[LGLKL3GL7KLGLKL6JlKLJl21JoJlJo3Jr4BrJrBrBoBrBo18D?BoD?6D=D?D]D=C=D=C=15DMD]2\]D]\]6Z]LMJ]21J_J]J_7F_J_F_21G?F_G?16GB2G2P^4P>P^2h>2H>6GN6GL24KL9Jl23Jr9Br2Bo21D_D?3E?D?E?2E=4C=11DMD]DM7\]3LML]LM3J]23J_9F_23G?20G<24O<6OB2PRPb4QB2PbQ>2P^2Nn3P>4P^P>2H>3H^H>2F^3GN3F^9GN8GL24KL3[L5Zl4Jl19Jr9Br3Bo14Br6DR6CR2DM2CM22KM8J]23J_17Z_4F_23G?4GB6_B2GB2OB2O<10OB2O<2OB6QB2Nb6N^2N]N^3F^2N^2F^N^F^17GN2F^2GNF^GN6GLGNGL3H2GNF^H>4H<3H>GL3HF^H>3F^H>2HH<2GLGNGL3HF^2H>5H2HF^H>3F^HBHnHlHDHlHF^H>F^H>4HHGLH4GNH>GNH>GNGL24[L2\L\l\L\l\L2Zljl2Jl4ZlJlZlJlZl12Zn3NnZnNnZnNn2Bn23CN8CM6CNCMCNCMCNCRCM12KM6CMKMCMKMCM2KM7L=J]6L=J]L=J]L=J]12J_4L?4`?8_?4G?_?6_=7C=5O=C=6O=B]O=8N]14N^N]8Nb3N^Nb5FbF^FbF^20H>3GNH>HnH>HnHl2H3FcH>HDH>HDH<3HCGL2H<3GL2H<13PP^h^\^h^\^h^h>3gN4CN3[N7[L6GL3KL3GL9KL8Jl23Jo3Jr6Br3Bo20D?8D]E=D]2C=15DM4D]\]7LMJ]23J_9F_23G?16GB4G<24O<4P<3P\3Pb2P^4Nn11P>9h>2H>6GN6GL24KL9Jl23Jr9Br2Bo21DO8DM4C=11DM9\M2LM6J]23J_9F_23G?20G<24O<5OB3Pb3QB2Pb3P^2~)"; string solve(int n, ll k, vl a) { vi dp; int i = 0; while (s[i] != '~') { int c1 = s[i++] - ':'; int c2 = s[i++] - ':'; int c = c1 * 64 + c2; int l = 0; while (s[i] <= '9') l = l * 10 + s[i++] - '0'; if (l == 0) l = 1; int d0 = c / 16 / 16; int d1 = c / 16 % 16; int d2 = c % 16; rep(hoge, l) { dp.emplace_back(d0); dp.emplace_back(d1); dp.emplace_back(d2); } } dump(dp); rep(i, sz(dp)) { if (14 - 4 <= dp[i] && dp[i] <= 17 - 4) dp[i] += 4; else if (22 - 8 <= dp[i] && dp[i] <= 23 - 8) dp[i] += 8; } dump(dp); a.insert(a.begin(), 0); a.push_back(k + 1); int res = 0; rep(i, n + 1) { ll w = a[i + 1] - a[i] - 1; dump(w); if (w >= sz(dp)) { w = (w - 105350) % 149459 + 105350; } res ^= dp[w]; } return res ? "Yes" : "No"; } int main() { // input_from_file("input.txt"); // output_to_file("output.txt"); // umekomi(); int n; ll k; cin >> n >> k; vl a(n); cin >> a; cout << solve(n, k, a) << endl; }