Rational Points on Elliptic Curves: x/(y+z)+y/(z+x)+z/(x+y)=n, Y^2=X^3+(4n^2+12n-3)X^2+32(n+3)X (n \in [2001..3000])
[2023.01.13]x/(y+z)+y/(z+x)+z/(x+y)=n, Y^2=X^3+(4n^2+12n-3)X^2+32(n+3)X (n \in [2001..3000])の有理点
■問題
(1)与えられた非負整数nに対して、以下を満たす自然数x,y,zを求めよ。
x/(y+z)+y/(z+x)+x/(y+z)=n ------- (*)
(2)与えられた非負整数nに対して、以下を満たす整数x,y,zを求めよ。
Cn: x/(y+z)+y/(z+x)+x/(y+z)=n
(1)を解くためには、(2)を解くことが本筋である。
一見簡単そうな問題に見えるが、この問題は楕円曲線の有理点を求める問題に帰着できる。
■非負整数nを固定する。
整数x,y,zの組(x,y,z)が(*)の解であれば、任意の整数t(t!=0)に対して、t(x,y,z)=(tx,ty,tz)が(*)の解であることが直ぐに分かる。
また、(*)の対称性より、x,y,zを任意に入れ替えた(x',y',z')も(*)の解である。
よって、(*)を射影平面の曲線として、その曲線上の点[x:y:z]((x,y,z)!=(0,0,0))を求めれば良い。これは、楕円曲線
En: Y^2=X^3+(4*n^2+12*n-3)X^2+32*(n+3)*X
の有理点を求めることに、帰着される。
■射影曲線Cnと楕円曲線Enとの間の双有理変換は、簡単な計算により、以下のようになる。
φ: Cn ----> En
[x : y : z] ----> [X : Y : Z]
φ([x : y : z])=[-4*(n+3)*(x+y+2*z) : 4*(n+3)*(2*n+5)*(x-y) : 6*(x+y)-z]
ψ: En ----> Cn
[X : Y : Z] ----> [x : y : z]
ψ([X : Y : Z])=[X-Y-8*(n+3)*Z : X+Y-8*(n+3)*Z : 2*(n+2)*X+8*(n+3)*Z]
■楕円曲線En(n=2001,...,3000)のねじれ点群を求めると、以下のようになる。
En(Q)tors = Z/6Z (n=2001,..,3000)
gp> for(n=2001,3000,print("tors(E_",n,")=",elltors(ec(n))))
tors(E_2001)=[6, [6], [[16032, 64240224]]]
tors(E_2002)=[6, [6], [[16040, 64304360]]]
tors(E_2003)=[6, [6], [[16048, 64368528]]]
tors(E_2004)=[6, [6], [[16056, 64432728]]]
tors(E_2005)=[6, [6], [[16064, 64496960]]]
tors(E_2006)=[6, [6], [[16072, 64561224]]]
tors(E_2007)=[6, [6], [[16080, 64625520]]]
tors(E_2008)=[6, [6], [[16088, 64689848]]]
tors(E_2009)=[6, [6], [[16096, 64754208]]]
tors(E_2010)=[6, [6], [[16104, 64818600]]]
tors(E_2011)=[6, [6], [[16112, 64883024]]]
tors(E_2012)=[6, [6], [[16120, 64947480]]]
tors(E_2013)=[6, [6], [[16128, 65011968]]]
tors(E_2014)=[6, [6], [[16136, 65076488]]]
tors(E_2015)=[6, [6], [[16144, 65141040]]]
tors(E_2016)=[6, [6], [[16152, 65205624]]]
tors(E_2017)=[6, [6], [[16160, 65270240]]]
tors(E_2018)=[6, [6], [[16168, 65334888]]]
tors(E_2019)=[6, [6], [[16176, 65399568]]]
tors(E_2020)=[6, [6], [[16184, 65464280]]]
tors(E_2021)=[6, [6], [[16192, 65529024]]]
tors(E_2022)=[6, [6], [[16200, 65593800]]]
tors(E_2023)=[6, [6], [[16208, 65658608]]]
tors(E_2024)=[6, [6], [[16216, 65723448]]]
tors(E_2025)=[6, [6], [[16224, 65788320]]]
tors(E_2026)=[6, [6], [[16232, 65853224]]]
tors(E_2027)=[6, [6], [[16240, 65918160]]]
tors(E_2028)=[6, [6], [[16248, 65983128]]]
tors(E_2029)=[6, [6], [[16256, 66048128]]]
tors(E_2030)=[6, [6], [[16264, 66113160]]]
tors(E_2031)=[6, [6], [[16272, 66178224]]]
tors(E_2032)=[6, [6], [[16280, 66243320]]]
tors(E_2033)=[6, [6], [[16288, 66308448]]]
tors(E_2034)=[6, [6], [[16296, 66373608]]]
tors(E_2035)=[6, [6], [[16304, 66438800]]]
tors(E_2036)=[6, [6], [[16312, 66504024]]]
tors(E_2037)=[6, [6], [[16320, 66569280]]]
tors(E_2038)=[6, [6], [[16328, 66634568]]]
tors(E_2039)=[6, [6], [[16336, 66699888]]]
tors(E_2040)=[6, [6], [[16344, 66765240]]]
tors(E_2041)=[6, [6], [[16352, 66830624]]]
tors(E_2042)=[6, [6], [[16360, 66896040]]]
tors(E_2043)=[6, [6], [[16368, 66961488]]]
tors(E_2044)=[6, [6], [[16376, 67026968]]]
tors(E_2045)=[6, [6], [[16384, 67092480]]]
tors(E_2046)=[6, [6], [[16392, 67158024]]]
tors(E_2047)=[6, [6], [[16400, 67223600]]]
tors(E_2048)=[6, [6], [[16408, 67289208]]]
tors(E_2049)=[6, [6], [[16416, 67354848]]]
tors(E_2050)=[6, [6], [[16424, 67420520]]]
tors(E_2051)=[6, [6], [[16432, 67486224]]]
tors(E_2052)=[6, [6], [[16440, 67551960]]]
tors(E_2053)=[6, [6], [[16448, 67617728]]]
tors(E_2054)=[6, [6], [[16456, 67683528]]]
tors(E_2055)=[6, [6], [[16464, 67749360]]]
tors(E_2056)=[6, [6], [[16472, 67815224]]]
tors(E_2057)=[6, [6], [[16480, 67881120]]]
tors(E_2058)=[6, [6], [[16488, 67947048]]]
tors(E_2059)=[6, [6], [[16496, 68013008]]]
tors(E_2060)=[6, [6], [[16504, 68079000]]]
tors(E_2061)=[6, [6], [[16512, 68145024]]]
tors(E_2062)=[6, [6], [[16520, 68211080]]]
tors(E_2063)=[6, [6], [[16528, 68277168]]]
tors(E_2064)=[6, [6], [[16536, 68343288]]]
tors(E_2065)=[6, [6], [[16544, 68409440]]]
tors(E_2066)=[6, [6], [[16552, 68475624]]]
tors(E_2067)=[6, [6], [[16560, 68541840]]]
tors(E_2068)=[6, [6], [[16568, 68608088]]]
tors(E_2069)=[6, [6], [[16576, 68674368]]]
tors(E_2070)=[6, [6], [[16584, 68740680]]]
tors(E_2071)=[6, [6], [[16592, 68807024]]]
tors(E_2072)=[6, [6], [[16600, 68873400]]]
tors(E_2073)=[6, [6], [[16608, 68939808]]]
tors(E_2074)=[6, [6], [[16616, 69006248]]]
tors(E_2075)=[6, [6], [[16624, 69072720]]]
tors(E_2076)=[6, [6], [[16632, 69139224]]]
tors(E_2077)=[6, [6], [[16640, 69205760]]]
tors(E_2078)=[6, [6], [[16648, 69272328]]]
tors(E_2079)=[6, [6], [[16656, 69338928]]]
tors(E_2080)=[6, [6], [[16664, 69405560]]]
tors(E_2081)=[6, [6], [[16672, 69472224]]]
tors(E_2082)=[6, [6], [[16680, 69538920]]]
tors(E_2083)=[6, [6], [[16688, 69605648]]]
tors(E_2084)=[6, [6], [[16696, 69672408]]]
tors(E_2085)=[6, [6], [[16704, 69739200]]]
tors(E_2086)=[6, [6], [[16712, 69806024]]]
tors(E_2087)=[6, [6], [[16720, 69872880]]]
tors(E_2088)=[6, [6], [[16728, 69939768]]]
tors(E_2089)=[6, [6], [[16736, 70006688]]]
tors(E_2090)=[6, [6], [[16744, 70073640]]]
tors(E_2091)=[6, [6], [[16752, 70140624]]]
tors(E_2092)=[6, [6], [[16760, 70207640]]]
tors(E_2093)=[6, [6], [[16768, 70274688]]]
tors(E_2094)=[6, [6], [[16776, 70341768]]]
tors(E_2095)=[6, [6], [[16784, 70408880]]]
tors(E_2096)=[6, [6], [[16792, 70476024]]]
tors(E_2097)=[6, [6], [[16800, 70543200]]]
tors(E_2098)=[6, [6], [[16808, 70610408]]]
tors(E_2099)=[6, [6], [[16816, 70677648]]]
tors(E_2100)=[6, [6], [[16824, 70744920]]]
tors(E_2101)=[6, [6], [[16832, 70812224]]]
tors(E_2102)=[6, [6], [[16840, 70879560]]]
tors(E_2103)=[6, [6], [[16848, 70946928]]]
tors(E_2104)=[6, [6], [[16856, 71014328]]]
tors(E_2105)=[6, [6], [[16864, 71081760]]]
tors(E_2106)=[6, [6], [[16872, 71149224]]]
tors(E_2107)=[6, [6], [[16880, 71216720]]]
tors(E_2108)=[6, [6], [[16888, 71284248]]]
tors(E_2109)=[6, [6], [[16896, 71351808]]]
tors(E_2110)=[6, [6], [[16904, 71419400]]]
tors(E_2111)=[6, [6], [[16912, 71487024]]]
tors(E_2112)=[6, [6], [[16920, 71554680]]]
tors(E_2113)=[6, [6], [[16928, 71622368]]]
tors(E_2114)=[6, [6], [[16936, 71690088]]]
tors(E_2115)=[6, [6], [[16944, 71757840]]]
tors(E_2116)=[6, [6], [[16952, 71825624]]]
tors(E_2117)=[6, [6], [[16960, 71893440]]]
tors(E_2118)=[6, [6], [[16968, 71961288]]]
tors(E_2119)=[6, [6], [[16976, 72029168]]]
tors(E_2120)=[6, [6], [[16984, 72097080]]]
tors(E_2121)=[6, [6], [[16992, 72165024]]]
tors(E_2122)=[6, [6], [[17000, 72233000]]]
tors(E_2123)=[6, [6], [[17008, 72301008]]]
tors(E_2124)=[6, [6], [[17016, 72369048]]]
tors(E_2125)=[6, [6], [[17024, 72437120]]]
tors(E_2126)=[6, [6], [[17032, 72505224]]]
tors(E_2127)=[6, [6], [[17040, 72573360]]]
tors(E_2128)=[6, [6], [[17048, 72641528]]]
tors(E_2129)=[6, [6], [[17056, 72709728]]]
tors(E_2130)=[6, [6], [[17064, 72777960]]]
tors(E_2131)=[6, [6], [[17072, 72846224]]]
tors(E_2132)=[6, [6], [[17080, 72914520]]]
tors(E_2133)=[6, [6], [[17088, 72982848]]]
tors(E_2134)=[6, [6], [[17096, 73051208]]]
tors(E_2135)=[6, [6], [[17104, 73119600]]]
tors(E_2136)=[6, [6], [[17112, 73188024]]]
tors(E_2137)=[6, [6], [[17120, 73256480]]]
tors(E_2138)=[6, [6], [[17128, 73324968]]]
tors(E_2139)=[6, [6], [[17136, 73393488]]]
tors(E_2140)=[6, [6], [[17144, 73462040]]]
tors(E_2141)=[6, [6], [[17152, 73530624]]]
tors(E_2142)=[6, [6], [[17160, 73599240]]]
tors(E_2143)=[6, [6], [[17168, 73667888]]]
tors(E_2144)=[6, [6], [[17176, 73736568]]]
tors(E_2145)=[6, [6], [[17184, 73805280]]]
tors(E_2146)=[6, [6], [[17192, 73874024]]]
tors(E_2147)=[6, [6], [[17200, 73942800]]]
tors(E_2148)=[6, [6], [[17208, 74011608]]]
tors(E_2149)=[6, [6], [[17216, 74080448]]]
tors(E_2150)=[6, [6], [[17224, 74149320]]]
tors(E_2151)=[6, [6], [[17232, 74218224]]]
tors(E_2152)=[6, [6], [[17240, 74287160]]]
tors(E_2153)=[6, [6], [[17248, 74356128]]]
tors(E_2154)=[6, [6], [[17256, 74425128]]]
tors(E_2155)=[6, [6], [[17264, 74494160]]]
tors(E_2156)=[6, [6], [[17272, 74563224]]]
tors(E_2157)=[6, [6], [[17280, 74632320]]]
tors(E_2158)=[6, [6], [[17288, 74701448]]]
tors(E_2159)=[6, [6], [[17296, 74770608]]]
tors(E_2160)=[6, [6], [[17304, 74839800]]]
tors(E_2161)=[6, [6], [[17312, 74909024]]]
tors(E_2162)=[6, [6], [[17320, 74978280]]]
tors(E_2163)=[6, [6], [[17328, 75047568]]]
tors(E_2164)=[6, [6], [[17336, 75116888]]]
tors(E_2165)=[6, [6], [[17344, 75186240]]]
tors(E_2166)=[6, [6], [[17352, 75255624]]]
tors(E_2167)=[6, [6], [[17360, 75325040]]]
tors(E_2168)=[6, [6], [[17368, 75394488]]]
tors(E_2169)=[6, [6], [[17376, 75463968]]]
tors(E_2170)=[6, [6], [[17384, 75533480]]]
tors(E_2171)=[6, [6], [[17392, 75603024]]]
tors(E_2172)=[6, [6], [[17400, 75672600]]]
tors(E_2173)=[6, [6], [[17408, 75742208]]]
tors(E_2174)=[6, [6], [[17416, 75811848]]]
tors(E_2175)=[6, [6], [[17424, 75881520]]]
tors(E_2176)=[6, [6], [[17432, 75951224]]]
tors(E_2177)=[6, [6], [[17440, 76020960]]]
tors(E_2178)=[6, [6], [[17448, 76090728]]]
tors(E_2179)=[6, [6], [[17456, 76160528]]]
tors(E_2180)=[6, [6], [[17464, 76230360]]]
tors(E_2181)=[6, [6], [[17472, 76300224]]]
tors(E_2182)=[6, [6], [[17480, 76370120]]]
tors(E_2183)=[6, [6], [[17488, 76440048]]]
tors(E_2184)=[6, [6], [[17496, 76510008]]]
tors(E_2185)=[6, [6], [[17504, 76580000]]]
tors(E_2186)=[6, [6], [[17512, 76650024]]]
tors(E_2187)=[6, [6], [[17520, 76720080]]]
tors(E_2188)=[6, [6], [[17528, 76790168]]]
tors(E_2189)=[6, [6], [[17536, 76860288]]]
tors(E_2190)=[6, [6], [[17544, 76930440]]]
tors(E_2191)=[6, [6], [[17552, 77000624]]]
tors(E_2192)=[6, [6], [[17560, 77070840]]]
tors(E_2193)=[6, [6], [[17568, 77141088]]]
tors(E_2194)=[6, [6], [[17576, 77211368]]]
tors(E_2195)=[6, [6], [[17584, 77281680]]]
tors(E_2196)=[6, [6], [[17592, 77352024]]]
tors(E_2197)=[6, [6], [[17600, 77422400]]]
tors(E_2198)=[6, [6], [[17608, 77492808]]]
tors(E_2199)=[6, [6], [[17616, 77563248]]]
tors(E_2200)=[6, [6], [[17624, 77633720]]]
tors(E_2201)=[6, [6], [[17632, 77704224]]]
tors(E_2202)=[6, [6], [[17640, 77774760]]]
tors(E_2203)=[6, [6], [[17648, 77845328]]]
tors(E_2204)=[6, [6], [[17656, 77915928]]]
tors(E_2205)=[6, [6], [[17664, 77986560]]]
tors(E_2206)=[6, [6], [[17672, 78057224]]]
tors(E_2207)=[6, [6], [[17680, 78127920]]]
tors(E_2208)=[6, [6], [[17688, 78198648]]]
tors(E_2209)=[6, [6], [[17696, 78269408]]]
tors(E_2210)=[6, [6], [[17704, 78340200]]]
tors(E_2211)=[6, [6], [[17712, 78411024]]]
tors(E_2212)=[6, [6], [[17720, 78481880]]]
tors(E_2213)=[6, [6], [[17728, 78552768]]]
tors(E_2214)=[6, [6], [[17736, 78623688]]]
tors(E_2215)=[6, [6], [[17744, 78694640]]]
tors(E_2216)=[6, [6], [[17752, 78765624]]]
tors(E_2217)=[6, [6], [[17760, 78836640]]]
tors(E_2218)=[6, [6], [[17768, 78907688]]]
tors(E_2219)=[6, [6], [[17776, 78978768]]]
tors(E_2220)=[6, [6], [[17784, 79049880]]]
tors(E_2221)=[6, [6], [[17792, 79121024]]]
tors(E_2222)=[6, [6], [[17800, 79192200]]]
tors(E_2223)=[6, [6], [[17808, 79263408]]]
tors(E_2224)=[6, [6], [[17816, 79334648]]]
tors(E_2225)=[6, [6], [[17824, 79405920]]]
tors(E_2226)=[6, [6], [[17832, 79477224]]]
tors(E_2227)=[6, [6], [[17840, 79548560]]]
tors(E_2228)=[6, [6], [[17848, 79619928]]]
tors(E_2229)=[6, [6], [[17856, 79691328]]]
tors(E_2230)=[6, [6], [[17864, 79762760]]]
tors(E_2231)=[6, [6], [[17872, 79834224]]]
tors(E_2232)=[6, [6], [[17880, 79905720]]]
tors(E_2233)=[6, [6], [[17888, 79977248]]]
tors(E_2234)=[6, [6], [[17896, 80048808]]]
tors(E_2235)=[6, [6], [[17904, 80120400]]]
tors(E_2236)=[6, [6], [[17912, 80192024]]]
tors(E_2237)=[6, [6], [[17920, 80263680]]]
tors(E_2238)=[6, [6], [[17928, 80335368]]]
tors(E_2239)=[6, [6], [[17936, 80407088]]]
tors(E_2240)=[6, [6], [[17944, 80478840]]]
tors(E_2241)=[6, [6], [[17952, 80550624]]]
tors(E_2242)=[6, [6], [[17960, 80622440]]]
tors(E_2243)=[6, [6], [[17968, 80694288]]]
tors(E_2244)=[6, [6], [[17976, 80766168]]]
tors(E_2245)=[6, [6], [[17984, 80838080]]]
tors(E_2246)=[6, [6], [[17992, 80910024]]]
tors(E_2247)=[6, [6], [[18000, 80982000]]]
tors(E_2248)=[6, [6], [[18008, 81054008]]]
tors(E_2249)=[6, [6], [[18016, 81126048]]]
tors(E_2250)=[6, [6], [[18024, 81198120]]]
tors(E_2251)=[6, [6], [[18032, 81270224]]]
tors(E_2252)=[6, [6], [[18040, 81342360]]]
tors(E_2253)=[6, [6], [[18048, 81414528]]]
tors(E_2254)=[6, [6], [[18056, 81486728]]]
tors(E_2255)=[6, [6], [[18064, 81558960]]]
tors(E_2256)=[6, [6], [[18072, 81631224]]]
tors(E_2257)=[6, [6], [[18080, 81703520]]]
tors(E_2258)=[6, [6], [[18088, 81775848]]]
tors(E_2259)=[6, [6], [[18096, 81848208]]]
tors(E_2260)=[6, [6], [[18104, 81920600]]]
tors(E_2261)=[6, [6], [[18112, 81993024]]]
tors(E_2262)=[6, [6], [[18120, 82065480]]]
tors(E_2263)=[6, [6], [[18128, 82137968]]]
tors(E_2264)=[6, [6], [[18136, 82210488]]]
tors(E_2265)=[6, [6], [[18144, 82283040]]]
tors(E_2266)=[6, [6], [[18152, 82355624]]]
tors(E_2267)=[6, [6], [[18160, 82428240]]]
tors(E_2268)=[6, [6], [[18168, 82500888]]]
tors(E_2269)=[6, [6], [[18176, 82573568]]]
tors(E_2270)=[6, [6], [[18184, 82646280]]]
tors(E_2271)=[6, [6], [[18192, 82719024]]]
tors(E_2272)=[6, [6], [[18200, 82791800]]]
tors(E_2273)=[6, [6], [[18208, 82864608]]]
tors(E_2274)=[6, [6], [[18216, 82937448]]]
tors(E_2275)=[6, [6], [[18224, 83010320]]]
tors(E_2276)=[6, [6], [[18232, 83083224]]]
tors(E_2277)=[6, [6], [[18240, 83156160]]]
tors(E_2278)=[6, [6], [[18248, 83229128]]]
tors(E_2279)=[6, [6], [[18256, 83302128]]]
tors(E_2280)=[6, [6], [[18264, 83375160]]]
tors(E_2281)=[6, [6], [[18272, 83448224]]]
tors(E_2282)=[6, [6], [[18280, 83521320]]]
tors(E_2283)=[6, [6], [[18288, 83594448]]]
tors(E_2284)=[6, [6], [[18296, 83667608]]]
tors(E_2285)=[6, [6], [[18304, 83740800]]]
tors(E_2286)=[6, [6], [[18312, 83814024]]]
tors(E_2287)=[6, [6], [[18320, 83887280]]]
tors(E_2288)=[6, [6], [[18328, 83960568]]]
tors(E_2289)=[6, [6], [[18336, 84033888]]]
tors(E_2290)=[6, [6], [[18344, 84107240]]]
tors(E_2291)=[6, [6], [[18352, 84180624]]]
tors(E_2292)=[6, [6], [[18360, 84254040]]]
tors(E_2293)=[6, [6], [[18368, 84327488]]]
tors(E_2294)=[6, [6], [[18376, 84400968]]]
tors(E_2295)=[6, [6], [[18384, 84474480]]]
tors(E_2296)=[6, [6], [[18392, 84548024]]]
tors(E_2297)=[6, [6], [[18400, 84621600]]]
tors(E_2298)=[6, [6], [[18408, 84695208]]]
tors(E_2299)=[6, [6], [[18416, 84768848]]]
tors(E_2300)=[6, [6], [[18424, 84842520]]]
tors(E_2301)=[6, [6], [[18432, 84916224]]]
tors(E_2302)=[6, [6], [[18440, 84989960]]]
tors(E_2303)=[6, [6], [[18448, 85063728]]]
tors(E_2304)=[6, [6], [[18456, 85137528]]]
tors(E_2305)=[6, [6], [[18464, 85211360]]]
tors(E_2306)=[6, [6], [[18472, 85285224]]]
tors(E_2307)=[6, [6], [[18480, 85359120]]]
tors(E_2308)=[6, [6], [[18488, 85433048]]]
tors(E_2309)=[6, [6], [[18496, 85507008]]]
tors(E_2310)=[6, [6], [[18504, 85581000]]]
tors(E_2311)=[6, [6], [[18512, 85655024]]]
tors(E_2312)=[6, [6], [[18520, 85729080]]]
tors(E_2313)=[6, [6], [[18528, 85803168]]]
tors(E_2314)=[6, [6], [[18536, 85877288]]]
tors(E_2315)=[6, [6], [[18544, 85951440]]]
tors(E_2316)=[6, [6], [[18552, 86025624]]]
tors(E_2317)=[6, [6], [[18560, 86099840]]]
tors(E_2318)=[6, [6], [[18568, 86174088]]]
tors(E_2319)=[6, [6], [[18576, 86248368]]]
tors(E_2320)=[6, [6], [[18584, 86322680]]]
tors(E_2321)=[6, [6], [[18592, 86397024]]]
tors(E_2322)=[6, [6], [[18600, 86471400]]]
tors(E_2323)=[6, [6], [[18608, 86545808]]]
tors(E_2324)=[6, [6], [[18616, 86620248]]]
tors(E_2325)=[6, [6], [[18624, 86694720]]]
tors(E_2326)=[6, [6], [[18632, 86769224]]]
tors(E_2327)=[6, [6], [[18640, 86843760]]]
tors(E_2328)=[6, [6], [[18648, 86918328]]]
tors(E_2329)=[6, [6], [[18656, 86992928]]]
tors(E_2330)=[6, [6], [[18664, 87067560]]]
tors(E_2331)=[6, [6], [[18672, 87142224]]]
tors(E_2332)=[6, [6], [[18680, 87216920]]]
tors(E_2333)=[6, [6], [[18688, 87291648]]]
tors(E_2334)=[6, [6], [[18696, 87366408]]]
tors(E_2335)=[6, [6], [[18704, 87441200]]]
tors(E_2336)=[6, [6], [[18712, 87516024]]]
tors(E_2337)=[6, [6], [[18720, 87590880]]]
tors(E_2338)=[6, [6], [[18728, 87665768]]]
tors(E_2339)=[6, [6], [[18736, 87740688]]]
tors(E_2340)=[6, [6], [[18744, 87815640]]]
tors(E_2341)=[6, [6], [[18752, 87890624]]]
tors(E_2342)=[6, [6], [[18760, 87965640]]]
tors(E_2343)=[6, [6], [[18768, 88040688]]]
tors(E_2344)=[6, [6], [[18776, 88115768]]]
tors(E_2345)=[6, [6], [[18784, 88190880]]]
tors(E_2346)=[6, [6], [[18792, 88266024]]]
tors(E_2347)=[6, [6], [[18800, 88341200]]]
tors(E_2348)=[6, [6], [[18808, 88416408]]]
tors(E_2349)=[6, [6], [[18816, 88491648]]]
tors(E_2350)=[6, [6], [[18824, 88566920]]]
tors(E_2351)=[6, [6], [[18832, 88642224]]]
tors(E_2352)=[6, [6], [[18840, 88717560]]]
tors(E_2353)=[6, [6], [[18848, 88792928]]]
tors(E_2354)=[6, [6], [[18856, 88868328]]]
tors(E_2355)=[6, [6], [[18864, 88943760]]]
tors(E_2356)=[6, [6], [[18872, 89019224]]]
tors(E_2357)=[6, [6], [[18880, 89094720]]]
tors(E_2358)=[6, [6], [[18888, 89170248]]]
tors(E_2359)=[6, [6], [[18896, 89245808]]]
tors(E_2360)=[6, [6], [[18904, 89321400]]]
tors(E_2361)=[6, [6], [[18912, 89397024]]]
tors(E_2362)=[6, [6], [[18920, 89472680]]]
tors(E_2363)=[6, [6], [[18928, 89548368]]]
tors(E_2364)=[6, [6], [[18936, 89624088]]]
tors(E_2365)=[6, [6], [[18944, 89699840]]]
tors(E_2366)=[6, [6], [[18952, 89775624]]]
tors(E_2367)=[6, [6], [[18960, 89851440]]]
tors(E_2368)=[6, [6], [[18968, 89927288]]]
tors(E_2369)=[6, [6], [[18976, 90003168]]]
tors(E_2370)=[6, [6], [[18984, 90079080]]]
tors(E_2371)=[6, [6], [[18992, 90155024]]]
tors(E_2372)=[6, [6], [[19000, 90231000]]]
tors(E_2373)=[6, [6], [[19008, 90307008]]]
tors(E_2374)=[6, [6], [[19016, 90383048]]]
tors(E_2375)=[6, [6], [[19024, 90459120]]]
tors(E_2376)=[6, [6], [[19032, 90535224]]]
tors(E_2377)=[6, [6], [[19040, 90611360]]]
tors(E_2378)=[6, [6], [[19048, 90687528]]]
tors(E_2379)=[6, [6], [[19056, 90763728]]]
tors(E_2380)=[6, [6], [[19064, 90839960]]]
tors(E_2381)=[6, [6], [[19072, 90916224]]]
tors(E_2382)=[6, [6], [[19080, 90992520]]]
tors(E_2383)=[6, [6], [[19088, 91068848]]]
tors(E_2384)=[6, [6], [[19096, 91145208]]]
tors(E_2385)=[6, [6], [[19104, 91221600]]]
tors(E_2386)=[6, [6], [[19112, 91298024]]]
tors(E_2387)=[6, [6], [[19120, 91374480]]]
tors(E_2388)=[6, [6], [[19128, 91450968]]]
tors(E_2389)=[6, [6], [[19136, 91527488]]]
tors(E_2390)=[6, [6], [[19144, 91604040]]]
tors(E_2391)=[6, [6], [[19152, 91680624]]]
tors(E_2392)=[6, [6], [[19160, 91757240]]]
tors(E_2393)=[6, [6], [[19168, 91833888]]]
tors(E_2394)=[6, [6], [[19176, 91910568]]]
tors(E_2395)=[6, [6], [[19184, 91987280]]]
tors(E_2396)=[6, [6], [[19192, 92064024]]]
tors(E_2397)=[6, [6], [[19200, 92140800]]]
tors(E_2398)=[6, [6], [[19208, 92217608]]]
tors(E_2399)=[6, [6], [[19216, 92294448]]]
tors(E_2400)=[6, [6], [[19224, 92371320]]]
tors(E_2401)=[6, [6], [[19232, 92448224]]]
tors(E_2402)=[6, [6], [[19240, 92525160]]]
tors(E_2403)=[6, [6], [[19248, 92602128]]]
tors(E_2404)=[6, [6], [[19256, 92679128]]]
tors(E_2405)=[6, [6], [[19264, 92756160]]]
tors(E_2406)=[6, [6], [[19272, 92833224]]]
tors(E_2407)=[6, [6], [[19280, 92910320]]]
tors(E_2408)=[6, [6], [[19288, 92987448]]]
tors(E_2409)=[6, [6], [[19296, 93064608]]]
tors(E_2410)=[6, [6], [[19304, 93141800]]]
tors(E_2411)=[6, [6], [[19312, 93219024]]]
tors(E_2412)=[6, [6], [[19320, 93296280]]]
tors(E_2413)=[6, [6], [[19328, 93373568]]]
tors(E_2414)=[6, [6], [[19336, 93450888]]]
tors(E_2415)=[6, [6], [[19344, 93528240]]]
tors(E_2416)=[6, [6], [[19352, 93605624]]]
tors(E_2417)=[6, [6], [[19360, 93683040]]]
tors(E_2418)=[6, [6], [[19368, 93760488]]]
tors(E_2419)=[6, [6], [[19376, 93837968]]]
tors(E_2420)=[6, [6], [[19384, 93915480]]]
tors(E_2421)=[6, [6], [[19392, 93993024]]]
tors(E_2422)=[6, [6], [[19400, 94070600]]]
tors(E_2423)=[6, [6], [[19408, 94148208]]]
tors(E_2424)=[6, [6], [[19416, 94225848]]]
tors(E_2425)=[6, [6], [[19424, 94303520]]]
tors(E_2426)=[6, [6], [[19432, 94381224]]]
tors(E_2427)=[6, [6], [[19440, 94458960]]]
tors(E_2428)=[6, [6], [[19448, 94536728]]]
tors(E_2429)=[6, [6], [[19456, 94614528]]]
tors(E_2430)=[6, [6], [[19464, 94692360]]]
tors(E_2431)=[6, [6], [[19472, 94770224]]]
tors(E_2432)=[6, [6], [[19480, 94848120]]]
tors(E_2433)=[6, [6], [[19488, 94926048]]]
tors(E_2434)=[6, [6], [[19496, 95004008]]]
tors(E_2435)=[6, [6], [[19504, 95082000]]]
tors(E_2436)=[6, [6], [[19512, 95160024]]]
tors(E_2437)=[6, [6], [[19520, 95238080]]]
tors(E_2438)=[6, [6], [[19528, 95316168]]]
tors(E_2439)=[6, [6], [[19536, 95394288]]]
tors(E_2440)=[6, [6], [[19544, 95472440]]]
tors(E_2441)=[6, [6], [[19552, 95550624]]]
tors(E_2442)=[6, [6], [[19560, 95628840]]]
tors(E_2443)=[6, [6], [[19568, 95707088]]]
tors(E_2444)=[6, [6], [[19576, 95785368]]]
tors(E_2445)=[6, [6], [[19584, 95863680]]]
tors(E_2446)=[6, [6], [[19592, 95942024]]]
tors(E_2447)=[6, [6], [[19600, 96020400]]]
tors(E_2448)=[6, [6], [[19608, 96098808]]]
tors(E_2449)=[6, [6], [[19616, 96177248]]]
tors(E_2450)=[6, [6], [[19624, 96255720]]]
tors(E_2451)=[6, [6], [[19632, 96334224]]]
tors(E_2452)=[6, [6], [[19640, 96412760]]]
tors(E_2453)=[6, [6], [[19648, 96491328]]]
tors(E_2454)=[6, [6], [[19656, 96569928]]]
tors(E_2455)=[6, [6], [[19664, 96648560]]]
tors(E_2456)=[6, [6], [[19672, 96727224]]]
tors(E_2457)=[6, [6], [[19680, 96805920]]]
tors(E_2458)=[6, [6], [[19688, 96884648]]]
tors(E_2459)=[6, [6], [[19696, 96963408]]]
tors(E_2460)=[6, [6], [[19704, 97042200]]]
tors(E_2461)=[6, [6], [[19712, 97121024]]]
tors(E_2462)=[6, [6], [[19720, 97199880]]]
tors(E_2463)=[6, [6], [[19728, 97278768]]]
tors(E_2464)=[6, [6], [[19736, 97357688]]]
tors(E_2465)=[6, [6], [[19744, 97436640]]]
tors(E_2466)=[6, [6], [[19752, 97515624]]]
tors(E_2467)=[6, [6], [[19760, 97594640]]]
tors(E_2468)=[6, [6], [[19768, 97673688]]]
tors(E_2469)=[6, [6], [[19776, 97752768]]]
tors(E_2470)=[6, [6], [[19784, 97831880]]]
tors(E_2471)=[6, [6], [[19792, 97911024]]]
tors(E_2472)=[6, [6], [[19800, 97990200]]]
tors(E_2473)=[6, [6], [[19808, 98069408]]]
tors(E_2474)=[6, [6], [[19816, 98148648]]]
tors(E_2475)=[6, [6], [[19824, 98227920]]]
tors(E_2476)=[6, [6], [[19832, 98307224]]]
tors(E_2477)=[6, [6], [[19840, 98386560]]]
tors(E_2478)=[6, [6], [[19848, 98465928]]]
tors(E_2479)=[6, [6], [[19856, 98545328]]]
tors(E_2480)=[6, [6], [[19864, 98624760]]]
tors(E_2481)=[6, [6], [[19872, 98704224]]]
tors(E_2482)=[6, [6], [[19880, 98783720]]]
tors(E_2483)=[6, [6], [[19888, 98863248]]]
tors(E_2484)=[6, [6], [[19896, 98942808]]]
tors(E_2485)=[6, [6], [[19904, 99022400]]]
tors(E_2486)=[6, [6], [[19912, 99102024]]]
tors(E_2487)=[6, [6], [[19920, 99181680]]]
tors(E_2488)=[6, [6], [[19928, 99261368]]]
tors(E_2489)=[6, [6], [[19936, 99341088]]]
tors(E_2490)=[6, [6], [[19944, 99420840]]]
tors(E_2491)=[6, [6], [[19952, 99500624]]]
tors(E_2492)=[6, [6], [[19960, 99580440]]]
tors(E_2493)=[6, [6], [[19968, 99660288]]]
tors(E_2494)=[6, [6], [[19976, 99740168]]]
tors(E_2495)=[6, [6], [[19984, 99820080]]]
tors(E_2496)=[6, [6], [[19992, 99900024]]]
tors(E_2497)=[6, [6], [[20000, 99980000]]]
tors(E_2498)=[6, [6], [[20008, 100060008]]]
tors(E_2499)=[6, [6], [[20016, 100140048]]]
tors(E_2500)=[6, [6], [[20024, 100220120]]]
tors(E_2501)=[6, [6], [[20032, 100300224]]]
tors(E_2502)=[6, [6], [[20040, 100380360]]]
tors(E_2503)=[6, [6], [[20048, 100460528]]]
tors(E_2504)=[6, [6], [[20056, 100540728]]]
tors(E_2505)=[6, [6], [[20064, 100620960]]]
tors(E_2506)=[6, [6], [[20072, 100701224]]]
tors(E_2507)=[6, [6], [[20080, 100781520]]]
tors(E_2508)=[6, [6], [[20088, 100861848]]]
tors(E_2509)=[6, [6], [[20096, 100942208]]]
tors(E_2510)=[6, [6], [[20104, 101022600]]]
tors(E_2511)=[6, [6], [[20112, 101103024]]]
tors(E_2512)=[6, [6], [[20120, 101183480]]]
tors(E_2513)=[6, [6], [[20128, 101263968]]]
tors(E_2514)=[6, [6], [[20136, 101344488]]]
tors(E_2515)=[6, [6], [[20144, 101425040]]]
tors(E_2516)=[6, [6], [[20152, 101505624]]]
tors(E_2517)=[6, [6], [[20160, 101586240]]]
tors(E_2518)=[6, [6], [[20168, 101666888]]]
tors(E_2519)=[6, [6], [[20176, 101747568]]]
tors(E_2520)=[6, [6], [[20184, 101828280]]]
tors(E_2521)=[6, [6], [[20192, 101909024]]]
tors(E_2522)=[6, [6], [[20200, 101989800]]]
tors(E_2523)=[6, [6], [[20208, 102070608]]]
tors(E_2524)=[6, [6], [[20216, 102151448]]]
tors(E_2525)=[6, [6], [[20224, 102232320]]]
tors(E_2526)=[6, [6], [[20232, 102313224]]]
tors(E_2527)=[6, [6], [[20240, 102394160]]]
tors(E_2528)=[6, [6], [[20248, 102475128]]]
tors(E_2529)=[6, [6], [[20256, 102556128]]]
tors(E_2530)=[6, [6], [[20264, 102637160]]]
tors(E_2531)=[6, [6], [[20272, 102718224]]]
tors(E_2532)=[6, [6], [[20280, 102799320]]]
tors(E_2533)=[6, [6], [[20288, 102880448]]]
tors(E_2534)=[6, [6], [[20296, 102961608]]]
tors(E_2535)=[6, [6], [[20304, 103042800]]]
tors(E_2536)=[6, [6], [[20312, 103124024]]]
tors(E_2537)=[6, [6], [[20320, 103205280]]]
tors(E_2538)=[6, [6], [[20328, 103286568]]]
tors(E_2539)=[6, [6], [[20336, 103367888]]]
tors(E_2540)=[6, [6], [[20344, 103449240]]]
tors(E_2541)=[6, [6], [[20352, 103530624]]]
tors(E_2542)=[6, [6], [[20360, 103612040]]]
tors(E_2543)=[6, [6], [[20368, 103693488]]]
tors(E_2544)=[6, [6], [[20376, 103774968]]]
tors(E_2545)=[6, [6], [[20384, 103856480]]]
tors(E_2546)=[6, [6], [[20392, 103938024]]]
tors(E_2547)=[6, [6], [[20400, 104019600]]]
tors(E_2548)=[6, [6], [[20408, 104101208]]]
tors(E_2549)=[6, [6], [[20416, 104182848]]]
tors(E_2550)=[6, [6], [[20424, 104264520]]]
tors(E_2551)=[6, [6], [[20432, 104346224]]]
tors(E_2552)=[6, [6], [[20440, 104427960]]]
tors(E_2553)=[6, [6], [[20448, 104509728]]]
tors(E_2554)=[6, [6], [[20456, 104591528]]]
tors(E_2555)=[6, [6], [[20464, 104673360]]]
tors(E_2556)=[6, [6], [[20472, 104755224]]]
tors(E_2557)=[6, [6], [[20480, 104837120]]]
tors(E_2558)=[6, [6], [[20488, 104919048]]]
tors(E_2559)=[6, [6], [[20496, 105001008]]]
tors(E_2560)=[6, [6], [[20504, 105083000]]]
tors(E_2561)=[6, [6], [[20512, 105165024]]]
tors(E_2562)=[6, [6], [[20520, 105247080]]]
tors(E_2563)=[6, [6], [[20528, 105329168]]]
tors(E_2564)=[6, [6], [[20536, 105411288]]]
tors(E_2565)=[6, [6], [[20544, 105493440]]]
tors(E_2566)=[6, [6], [[20552, 105575624]]]
tors(E_2567)=[6, [6], [[20560, 105657840]]]
tors(E_2568)=[6, [6], [[20568, 105740088]]]
tors(E_2569)=[6, [6], [[20576, 105822368]]]
tors(E_2570)=[6, [6], [[20584, 105904680]]]
tors(E_2571)=[6, [6], [[20592, 105987024]]]
tors(E_2572)=[6, [6], [[20600, 106069400]]]
tors(E_2573)=[6, [6], [[20608, 106151808]]]
tors(E_2574)=[6, [6], [[20616, 106234248]]]
tors(E_2575)=[6, [6], [[20624, 106316720]]]
tors(E_2576)=[6, [6], [[20632, 106399224]]]
tors(E_2577)=[6, [6], [[20640, 106481760]]]
tors(E_2578)=[6, [6], [[20648, 106564328]]]
tors(E_2579)=[6, [6], [[20656, 106646928]]]
tors(E_2580)=[6, [6], [[20664, 106729560]]]
tors(E_2581)=[6, [6], [[20672, 106812224]]]
tors(E_2582)=[6, [6], [[20680, 106894920]]]
tors(E_2583)=[6, [6], [[20688, 106977648]]]
tors(E_2584)=[6, [6], [[20696, 107060408]]]
tors(E_2585)=[6, [6], [[20704, 107143200]]]
tors(E_2586)=[6, [6], [[20712, 107226024]]]
tors(E_2587)=[6, [6], [[20720, 107308880]]]
tors(E_2588)=[6, [6], [[20728, 107391768]]]
tors(E_2589)=[6, [6], [[20736, 107474688]]]
tors(E_2590)=[6, [6], [[20744, 107557640]]]
tors(E_2591)=[6, [6], [[20752, 107640624]]]
tors(E_2592)=[6, [6], [[20760, 107723640]]]
tors(E_2593)=[6, [6], [[20768, 107806688]]]
tors(E_2594)=[6, [6], [[20776, 107889768]]]
tors(E_2595)=[6, [6], [[20784, 107972880]]]
tors(E_2596)=[6, [6], [[20792, 108056024]]]
tors(E_2597)=[6, [6], [[20800, 108139200]]]
tors(E_2598)=[6, [6], [[20808, 108222408]]]
tors(E_2599)=[6, [6], [[20816, 108305648]]]
tors(E_2600)=[6, [6], [[20824, 108388920]]]
tors(E_2601)=[6, [6], [[20832, 108472224]]]
tors(E_2602)=[6, [6], [[20840, 108555560]]]
tors(E_2603)=[6, [6], [[20848, 108638928]]]
tors(E_2604)=[6, [6], [[20856, 108722328]]]
tors(E_2605)=[6, [6], [[20864, 108805760]]]
tors(E_2606)=[6, [6], [[20872, 108889224]]]
tors(E_2607)=[6, [6], [[20880, 108972720]]]
tors(E_2608)=[6, [6], [[20888, 109056248]]]
tors(E_2609)=[6, [6], [[20896, 109139808]]]
tors(E_2610)=[6, [6], [[20904, 109223400]]]
tors(E_2611)=[6, [6], [[20912, 109307024]]]
tors(E_2612)=[6, [6], [[20920, 109390680]]]
tors(E_2613)=[6, [6], [[20928, 109474368]]]
tors(E_2614)=[6, [6], [[20936, 109558088]]]
tors(E_2615)=[6, [6], [[20944, 109641840]]]
tors(E_2616)=[6, [6], [[20952, 109725624]]]
tors(E_2617)=[6, [6], [[20960, 109809440]]]
tors(E_2618)=[6, [6], [[20968, 109893288]]]
tors(E_2619)=[6, [6], [[20976, 109977168]]]
tors(E_2620)=[6, [6], [[20984, 110061080]]]
tors(E_2621)=[6, [6], [[20992, 110145024]]]
tors(E_2622)=[6, [6], [[21000, 110229000]]]
tors(E_2623)=[6, [6], [[21008, 110313008]]]
tors(E_2624)=[6, [6], [[21016, 110397048]]]
tors(E_2625)=[6, [6], [[21024, 110481120]]]
tors(E_2626)=[6, [6], [[21032, 110565224]]]
tors(E_2627)=[6, [6], [[21040, 110649360]]]
tors(E_2628)=[6, [6], [[21048, 110733528]]]
tors(E_2629)=[6, [6], [[21056, 110817728]]]
tors(E_2630)=[6, [6], [[21064, 110901960]]]
tors(E_2631)=[6, [6], [[21072, 110986224]]]
tors(E_2632)=[6, [6], [[21080, 111070520]]]
tors(E_2633)=[6, [6], [[21088, 111154848]]]
tors(E_2634)=[6, [6], [[21096, 111239208]]]
tors(E_2635)=[6, [6], [[21104, 111323600]]]
tors(E_2636)=[6, [6], [[21112, 111408024]]]
tors(E_2637)=[6, [6], [[21120, 111492480]]]
tors(E_2638)=[6, [6], [[21128, 111576968]]]
tors(E_2639)=[6, [6], [[21136, 111661488]]]
tors(E_2640)=[6, [6], [[21144, 111746040]]]
tors(E_2641)=[6, [6], [[21152, 111830624]]]
tors(E_2642)=[6, [6], [[21160, 111915240]]]
tors(E_2643)=[6, [6], [[21168, 111999888]]]
tors(E_2644)=[6, [6], [[21176, 112084568]]]
tors(E_2645)=[6, [6], [[21184, 112169280]]]
tors(E_2646)=[6, [6], [[21192, 112254024]]]
tors(E_2647)=[6, [6], [[21200, 112338800]]]
tors(E_2648)=[6, [6], [[21208, 112423608]]]
tors(E_2649)=[6, [6], [[21216, 112508448]]]
tors(E_2650)=[6, [6], [[21224, 112593320]]]
tors(E_2651)=[6, [6], [[21232, 112678224]]]
tors(E_2652)=[6, [6], [[21240, 112763160]]]
tors(E_2653)=[6, [6], [[21248, 112848128]]]
tors(E_2654)=[6, [6], [[21256, 112933128]]]
tors(E_2655)=[6, [6], [[21264, 113018160]]]
tors(E_2656)=[6, [6], [[21272, 113103224]]]
tors(E_2657)=[6, [6], [[21280, 113188320]]]
tors(E_2658)=[6, [6], [[21288, 113273448]]]
tors(E_2659)=[6, [6], [[21296, 113358608]]]
tors(E_2660)=[6, [6], [[21304, 113443800]]]
tors(E_2661)=[6, [6], [[21312, 113529024]]]
tors(E_2662)=[6, [6], [[21320, 113614280]]]
tors(E_2663)=[6, [6], [[21328, 113699568]]]
tors(E_2664)=[6, [6], [[21336, 113784888]]]
tors(E_2665)=[6, [6], [[21344, 113870240]]]
tors(E_2666)=[6, [6], [[21352, 113955624]]]
tors(E_2667)=[6, [6], [[21360, 114041040]]]
tors(E_2668)=[6, [6], [[21368, 114126488]]]
tors(E_2669)=[6, [6], [[21376, 114211968]]]
tors(E_2670)=[6, [6], [[21384, 114297480]]]
tors(E_2671)=[6, [6], [[21392, 114383024]]]
tors(E_2672)=[6, [6], [[21400, 114468600]]]
tors(E_2673)=[6, [6], [[21408, 114554208]]]
tors(E_2674)=[6, [6], [[21416, 114639848]]]
tors(E_2675)=[6, [6], [[21424, 114725520]]]
tors(E_2676)=[6, [6], [[21432, 114811224]]]
tors(E_2677)=[6, [6], [[21440, 114896960]]]
tors(E_2678)=[6, [6], [[21448, 114982728]]]
tors(E_2679)=[6, [6], [[21456, 115068528]]]
tors(E_2680)=[6, [6], [[21464, 115154360]]]
tors(E_2681)=[6, [6], [[21472, 115240224]]]
tors(E_2682)=[6, [6], [[21480, 115326120]]]
tors(E_2683)=[6, [6], [[21488, 115412048]]]
tors(E_2684)=[6, [6], [[21496, 115498008]]]
tors(E_2685)=[6, [6], [[21504, 115584000]]]
tors(E_2686)=[6, [6], [[21512, 115670024]]]
tors(E_2687)=[6, [6], [[21520, 115756080]]]
tors(E_2688)=[6, [6], [[21528, 115842168]]]
tors(E_2689)=[6, [6], [[21536, 115928288]]]
tors(E_2690)=[6, [6], [[21544, 116014440]]]
tors(E_2691)=[6, [6], [[21552, 116100624]]]
tors(E_2692)=[6, [6], [[21560, 116186840]]]
tors(E_2693)=[6, [6], [[21568, 116273088]]]
tors(E_2694)=[6, [6], [[21576, 116359368]]]
tors(E_2695)=[6, [6], [[21584, 116445680]]]
tors(E_2696)=[6, [6], [[21592, 116532024]]]
tors(E_2697)=[6, [6], [[21600, 116618400]]]
tors(E_2698)=[6, [6], [[21608, 116704808]]]
tors(E_2699)=[6, [6], [[21616, 116791248]]]
tors(E_2700)=[6, [6], [[21624, 116877720]]]
tors(E_2701)=[6, [6], [[21632, 116964224]]]
tors(E_2702)=[6, [6], [[21640, 117050760]]]
tors(E_2703)=[6, [6], [[21648, 117137328]]]
tors(E_2704)=[6, [6], [[21656, 117223928]]]
tors(E_2705)=[6, [6], [[21664, 117310560]]]
tors(E_2706)=[6, [6], [[21672, 117397224]]]
tors(E_2707)=[6, [6], [[21680, 117483920]]]
tors(E_2708)=[6, [6], [[21688, 117570648]]]
tors(E_2709)=[6, [6], [[21696, 117657408]]]
tors(E_2710)=[6, [6], [[21704, 117744200]]]
tors(E_2711)=[6, [6], [[21712, 117831024]]]
tors(E_2712)=[6, [6], [[21720, 117917880]]]
tors(E_2713)=[6, [6], [[21728, 118004768]]]
tors(E_2714)=[6, [6], [[21736, 118091688]]]
tors(E_2715)=[6, [6], [[21744, 118178640]]]
tors(E_2716)=[6, [6], [[21752, 118265624]]]
tors(E_2717)=[6, [6], [[21760, 118352640]]]
tors(E_2718)=[6, [6], [[21768, 118439688]]]
tors(E_2719)=[6, [6], [[21776, 118526768]]]
tors(E_2720)=[6, [6], [[21784, 118613880]]]
tors(E_2721)=[6, [6], [[21792, 118701024]]]
tors(E_2722)=[6, [6], [[21800, 118788200]]]
tors(E_2723)=[6, [6], [[21808, 118875408]]]
tors(E_2724)=[6, [6], [[21816, 118962648]]]
tors(E_2725)=[6, [6], [[21824, 119049920]]]
tors(E_2726)=[6, [6], [[21832, 119137224]]]
tors(E_2727)=[6, [6], [[21840, 119224560]]]
tors(E_2728)=[6, [6], [[21848, 119311928]]]
tors(E_2729)=[6, [6], [[21856, 119399328]]]
tors(E_2730)=[6, [6], [[21864, 119486760]]]
tors(E_2731)=[6, [6], [[21872, 119574224]]]
tors(E_2732)=[6, [6], [[21880, 119661720]]]
tors(E_2733)=[6, [6], [[21888, 119749248]]]
tors(E_2734)=[6, [6], [[21896, 119836808]]]
tors(E_2735)=[6, [6], [[21904, 119924400]]]
tors(E_2736)=[6, [6], [[21912, 120012024]]]
tors(E_2737)=[6, [6], [[21920, 120099680]]]
tors(E_2738)=[6, [6], [[21928, 120187368]]]
tors(E_2739)=[6, [6], [[21936, 120275088]]]
tors(E_2740)=[6, [6], [[21944, 120362840]]]
tors(E_2741)=[6, [6], [[21952, 120450624]]]
tors(E_2742)=[6, [6], [[21960, 120538440]]]
tors(E_2743)=[6, [6], [[21968, 120626288]]]
tors(E_2744)=[6, [6], [[21976, 120714168]]]
tors(E_2745)=[6, [6], [[21984, 120802080]]]
tors(E_2746)=[6, [6], [[21992, 120890024]]]
tors(E_2747)=[6, [6], [[22000, 120978000]]]
tors(E_2748)=[6, [6], [[22008, 121066008]]]
tors(E_2749)=[6, [6], [[22016, 121154048]]]
tors(E_2750)=[6, [6], [[22024, 121242120]]]
tors(E_2751)=[6, [6], [[22032, 121330224]]]
tors(E_2752)=[6, [6], [[22040, 121418360]]]
tors(E_2753)=[6, [6], [[22048, 121506528]]]
tors(E_2754)=[6, [6], [[22056, 121594728]]]
tors(E_2755)=[6, [6], [[22064, 121682960]]]
tors(E_2756)=[6, [6], [[22072, 121771224]]]
tors(E_2757)=[6, [6], [[22080, 121859520]]]
tors(E_2758)=[6, [6], [[22088, 121947848]]]
tors(E_2759)=[6, [6], [[22096, 122036208]]]
tors(E_2760)=[6, [6], [[22104, 122124600]]]
tors(E_2761)=[6, [6], [[22112, 122213024]]]
tors(E_2762)=[6, [6], [[22120, 122301480]]]
tors(E_2763)=[6, [6], [[22128, 122389968]]]
tors(E_2764)=[6, [6], [[22136, 122478488]]]
tors(E_2765)=[6, [6], [[22144, 122567040]]]
tors(E_2766)=[6, [6], [[22152, 122655624]]]
tors(E_2767)=[6, [6], [[22160, 122744240]]]
tors(E_2768)=[6, [6], [[22168, 122832888]]]
tors(E_2769)=[6, [6], [[22176, 122921568]]]
tors(E_2770)=[6, [6], [[22184, 123010280]]]
tors(E_2771)=[6, [6], [[22192, 123099024]]]
tors(E_2772)=[6, [6], [[22200, 123187800]]]
tors(E_2773)=[6, [6], [[22208, 123276608]]]
tors(E_2774)=[6, [6], [[22216, 123365448]]]
tors(E_2775)=[6, [6], [[22224, 123454320]]]
tors(E_2776)=[6, [6], [[22232, 123543224]]]
tors(E_2777)=[6, [6], [[22240, 123632160]]]
tors(E_2778)=[6, [6], [[22248, 123721128]]]
tors(E_2779)=[6, [6], [[22256, 123810128]]]
tors(E_2780)=[6, [6], [[22264, 123899160]]]
tors(E_2781)=[6, [6], [[22272, 123988224]]]
tors(E_2782)=[6, [6], [[22280, 124077320]]]
tors(E_2783)=[6, [6], [[22288, 124166448]]]
tors(E_2784)=[6, [6], [[22296, 124255608]]]
tors(E_2785)=[6, [6], [[22304, 124344800]]]
tors(E_2786)=[6, [6], [[22312, 124434024]]]
tors(E_2787)=[6, [6], [[22320, 124523280]]]
tors(E_2788)=[6, [6], [[22328, 124612568]]]
tors(E_2789)=[6, [6], [[22336, 124701888]]]
tors(E_2790)=[6, [6], [[22344, 124791240]]]
tors(E_2791)=[6, [6], [[22352, 124880624]]]
tors(E_2792)=[6, [6], [[22360, 124970040]]]
tors(E_2793)=[6, [6], [[22368, 125059488]]]
tors(E_2794)=[6, [6], [[22376, 125148968]]]
tors(E_2795)=[6, [6], [[22384, 125238480]]]
tors(E_2796)=[6, [6], [[22392, 125328024]]]
tors(E_2797)=[6, [6], [[22400, 125417600]]]
tors(E_2798)=[6, [6], [[22408, 125507208]]]
tors(E_2799)=[6, [6], [[22416, 125596848]]]
tors(E_2800)=[6, [6], [[22424, 125686520]]]
tors(E_2801)=[6, [6], [[22432, 125776224]]]
tors(E_2802)=[6, [6], [[22440, 125865960]]]
tors(E_2803)=[6, [6], [[22448, 125955728]]]
tors(E_2804)=[6, [6], [[22456, 126045528]]]
tors(E_2805)=[6, [6], [[22464, 126135360]]]
tors(E_2806)=[6, [6], [[22472, 126225224]]]
tors(E_2807)=[6, [6], [[22480, 126315120]]]
tors(E_2808)=[6, [6], [[22488, 126405048]]]
tors(E_2809)=[6, [6], [[22496, 126495008]]]
tors(E_2810)=[6, [6], [[22504, 126585000]]]
tors(E_2811)=[6, [6], [[22512, 126675024]]]
tors(E_2812)=[6, [6], [[22520, 126765080]]]
tors(E_2813)=[6, [6], [[22528, 126855168]]]
tors(E_2814)=[6, [6], [[22536, 126945288]]]
tors(E_2815)=[6, [6], [[22544, 127035440]]]
tors(E_2816)=[6, [6], [[22552, 127125624]]]
tors(E_2817)=[6, [6], [[22560, 127215840]]]
tors(E_2818)=[6, [6], [[22568, 127306088]]]
tors(E_2819)=[6, [6], [[22576, 127396368]]]
tors(E_2820)=[6, [6], [[22584, 127486680]]]
tors(E_2821)=[6, [6], [[22592, 127577024]]]
tors(E_2822)=[6, [6], [[22600, 127667400]]]
tors(E_2823)=[6, [6], [[22608, 127757808]]]
tors(E_2824)=[6, [6], [[22616, 127848248]]]
tors(E_2825)=[6, [6], [[22624, 127938720]]]
tors(E_2826)=[6, [6], [[22632, 128029224]]]
tors(E_2827)=[6, [6], [[22640, 128119760]]]
tors(E_2828)=[6, [6], [[22648, 128210328]]]
tors(E_2829)=[6, [6], [[22656, 128300928]]]
tors(E_2830)=[6, [6], [[22664, 128391560]]]
tors(E_2831)=[6, [6], [[22672, 128482224]]]
tors(E_2832)=[6, [6], [[22680, 128572920]]]
tors(E_2833)=[6, [6], [[22688, 128663648]]]
tors(E_2834)=[6, [6], [[22696, 128754408]]]
tors(E_2835)=[6, [6], [[22704, 128845200]]]
tors(E_2836)=[6, [6], [[22712, 128936024]]]
tors(E_2837)=[6, [6], [[22720, 129026880]]]
tors(E_2838)=[6, [6], [[22728, 129117768]]]
tors(E_2839)=[6, [6], [[22736, 129208688]]]
tors(E_2840)=[6, [6], [[22744, 129299640]]]
tors(E_2841)=[6, [6], [[22752, 129390624]]]
tors(E_2842)=[6, [6], [[22760, 129481640]]]
tors(E_2843)=[6, [6], [[22768, 129572688]]]
tors(E_2844)=[6, [6], [[22776, 129663768]]]
tors(E_2845)=[6, [6], [[22784, 129754880]]]
tors(E_2846)=[6, [6], [[22792, 129846024]]]
tors(E_2847)=[6, [6], [[22800, 129937200]]]
tors(E_2848)=[6, [6], [[22808, 130028408]]]
tors(E_2849)=[6, [6], [[22816, 130119648]]]
tors(E_2850)=[6, [6], [[22824, 130210920]]]
tors(E_2851)=[6, [6], [[22832, 130302224]]]
tors(E_2852)=[6, [6], [[22840, 130393560]]]
tors(E_2853)=[6, [6], [[22848, 130484928]]]
tors(E_2854)=[6, [6], [[22856, 130576328]]]
tors(E_2855)=[6, [6], [[22864, 130667760]]]
tors(E_2856)=[6, [6], [[22872, 130759224]]]
tors(E_2857)=[6, [6], [[22880, 130850720]]]
tors(E_2858)=[6, [6], [[22888, 130942248]]]
tors(E_2859)=[6, [6], [[22896, 131033808]]]
tors(E_2860)=[6, [6], [[22904, 131125400]]]
tors(E_2861)=[6, [6], [[22912, 131217024]]]
tors(E_2862)=[6, [6], [[22920, 131308680]]]
tors(E_2863)=[6, [6], [[22928, 131400368]]]
tors(E_2864)=[6, [6], [[22936, 131492088]]]
tors(E_2865)=[6, [6], [[22944, 131583840]]]
tors(E_2866)=[6, [6], [[22952, 131675624]]]
tors(E_2867)=[6, [6], [[22960, 131767440]]]
tors(E_2868)=[6, [6], [[22968, 131859288]]]
tors(E_2869)=[6, [6], [[22976, 131951168]]]
tors(E_2870)=[6, [6], [[22984, 132043080]]]
tors(E_2871)=[6, [6], [[22992, 132135024]]]
tors(E_2872)=[6, [6], [[23000, 132227000]]]
tors(E_2873)=[6, [6], [[23008, 132319008]]]
tors(E_2874)=[6, [6], [[23016, 132411048]]]
tors(E_2875)=[6, [6], [[23024, 132503120]]]
tors(E_2876)=[6, [6], [[23032, 132595224]]]
tors(E_2877)=[6, [6], [[23040, 132687360]]]
tors(E_2878)=[6, [6], [[23048, 132779528]]]
tors(E_2879)=[6, [6], [[23056, 132871728]]]
tors(E_2880)=[6, [6], [[23064, 132963960]]]
tors(E_2881)=[6, [6], [[23072, 133056224]]]
tors(E_2882)=[6, [6], [[23080, 133148520]]]
tors(E_2883)=[6, [6], [[23088, 133240848]]]
tors(E_2884)=[6, [6], [[23096, 133333208]]]
tors(E_2885)=[6, [6], [[23104, 133425600]]]
tors(E_2886)=[6, [6], [[23112, 133518024]]]
tors(E_2887)=[6, [6], [[23120, 133610480]]]
tors(E_2888)=[6, [6], [[23128, 133702968]]]
tors(E_2889)=[6, [6], [[23136, 133795488]]]
tors(E_2890)=[6, [6], [[23144, 133888040]]]
tors(E_2891)=[6, [6], [[23152, 133980624]]]
tors(E_2892)=[6, [6], [[23160, 134073240]]]
tors(E_2893)=[6, [6], [[23168, 134165888]]]
tors(E_2894)=[6, [6], [[23176, 134258568]]]
tors(E_2895)=[6, [6], [[23184, 134351280]]]
tors(E_2896)=[6, [6], [[23192, 134444024]]]
tors(E_2897)=[6, [6], [[23200, 134536800]]]
tors(E_2898)=[6, [6], [[23208, 134629608]]]
tors(E_2899)=[6, [6], [[23216, 134722448]]]
tors(E_2900)=[6, [6], [[23224, 134815320]]]
tors(E_2901)=[6, [6], [[23232, 134908224]]]
tors(E_2902)=[6, [6], [[23240, 135001160]]]
tors(E_2903)=[6, [6], [[23248, 135094128]]]
tors(E_2904)=[6, [6], [[23256, 135187128]]]
tors(E_2905)=[6, [6], [[23264, 135280160]]]
tors(E_2906)=[6, [6], [[23272, 135373224]]]
tors(E_2907)=[6, [6], [[23280, 135466320]]]
tors(E_2908)=[6, [6], [[23288, 135559448]]]
tors(E_2909)=[6, [6], [[23296, 135652608]]]
tors(E_2910)=[6, [6], [[23304, 135745800]]]
tors(E_2911)=[6, [6], [[23312, 135839024]]]
tors(E_2912)=[6, [6], [[23320, 135932280]]]
tors(E_2913)=[6, [6], [[23328, 136025568]]]
tors(E_2914)=[6, [6], [[23336, 136118888]]]
tors(E_2915)=[6, [6], [[23344, 136212240]]]
tors(E_2916)=[6, [6], [[23352, 136305624]]]
tors(E_2917)=[6, [6], [[23360, 136399040]]]
tors(E_2918)=[6, [6], [[23368, 136492488]]]
tors(E_2919)=[6, [6], [[23376, 136585968]]]
tors(E_2920)=[6, [6], [[23384, 136679480]]]
tors(E_2921)=[6, [6], [[23392, 136773024]]]
tors(E_2922)=[6, [6], [[23400, 136866600]]]
tors(E_2923)=[6, [6], [[23408, 136960208]]]
tors(E_2924)=[6, [6], [[23416, 137053848]]]
tors(E_2925)=[6, [6], [[23424, 137147520]]]
tors(E_2926)=[6, [6], [[23432, 137241224]]]
tors(E_2927)=[6, [6], [[23440, 137334960]]]
tors(E_2928)=[6, [6], [[23448, 137428728]]]
tors(E_2929)=[6, [6], [[23456, 137522528]]]
tors(E_2930)=[6, [6], [[23464, 137616360]]]
tors(E_2931)=[6, [6], [[23472, 137710224]]]
tors(E_2932)=[6, [6], [[23480, 137804120]]]
tors(E_2933)=[6, [6], [[23488, 137898048]]]
tors(E_2934)=[6, [6], [[23496, 137992008]]]
tors(E_2935)=[6, [6], [[23504, 138086000]]]
tors(E_2936)=[6, [6], [[23512, 138180024]]]
tors(E_2937)=[6, [6], [[23520, 138274080]]]
tors(E_2938)=[6, [6], [[23528, 138368168]]]
tors(E_2939)=[6, [6], [[23536, 138462288]]]
tors(E_2940)=[6, [6], [[23544, 138556440]]]
tors(E_2941)=[6, [6], [[23552, 138650624]]]
tors(E_2942)=[6, [6], [[23560, 138744840]]]
tors(E_2943)=[6, [6], [[23568, 138839088]]]
tors(E_2944)=[6, [6], [[23576, 138933368]]]
tors(E_2945)=[6, [6], [[23584, 139027680]]]
tors(E_2946)=[6, [6], [[23592, 139122024]]]
tors(E_2947)=[6, [6], [[23600, 139216400]]]
tors(E_2948)=[6, [6], [[23608, 139310808]]]
tors(E_2949)=[6, [6], [[23616, 139405248]]]
tors(E_2950)=[6, [6], [[23624, 139499720]]]
tors(E_2951)=[6, [6], [[23632, 139594224]]]
tors(E_2952)=[6, [6], [[23640, 139688760]]]
tors(E_2953)=[6, [6], [[23648, 139783328]]]
tors(E_2954)=[6, [6], [[23656, 139877928]]]
tors(E_2955)=[6, [6], [[23664, 139972560]]]
tors(E_2956)=[6, [6], [[23672, 140067224]]]
tors(E_2957)=[6, [6], [[23680, 140161920]]]
tors(E_2958)=[6, [6], [[23688, 140256648]]]
tors(E_2959)=[6, [6], [[23696, 140351408]]]
tors(E_2960)=[6, [6], [[23704, 140446200]]]
tors(E_2961)=[6, [6], [[23712, 140541024]]]
tors(E_2962)=[6, [6], [[23720, 140635880]]]
tors(E_2963)=[6, [6], [[23728, 140730768]]]
tors(E_2964)=[6, [6], [[23736, 140825688]]]
tors(E_2965)=[6, [6], [[23744, 140920640]]]
tors(E_2966)=[6, [6], [[23752, 141015624]]]
tors(E_2967)=[6, [6], [[23760, 141110640]]]
tors(E_2968)=[6, [6], [[23768, 141205688]]]
tors(E_2969)=[6, [6], [[23776, 141300768]]]
tors(E_2970)=[6, [6], [[23784, 141395880]]]
tors(E_2971)=[6, [6], [[23792, 141491024]]]
tors(E_2972)=[6, [6], [[23800, 141586200]]]
tors(E_2973)=[6, [6], [[23808, 141681408]]]
tors(E_2974)=[6, [6], [[23816, 141776648]]]
tors(E_2975)=[6, [6], [[23824, 141871920]]]
tors(E_2976)=[6, [6], [[23832, 141967224]]]
tors(E_2977)=[6, [6], [[23840, 142062560]]]
tors(E_2978)=[6, [6], [[23848, 142157928]]]
tors(E_2979)=[6, [6], [[23856, 142253328]]]
tors(E_2980)=[6, [6], [[23864, 142348760]]]
tors(E_2981)=[6, [6], [[23872, 142444224]]]
tors(E_2982)=[6, [6], [[23880, 142539720]]]
tors(E_2983)=[6, [6], [[23888, 142635248]]]
tors(E_2984)=[6, [6], [[23896, 142730808]]]
tors(E_2985)=[6, [6], [[23904, 142826400]]]
tors(E_2986)=[6, [6], [[23912, 142922024]]]
tors(E_2987)=[6, [6], [[23920, 143017680]]]
tors(E_2988)=[6, [6], [[23928, 143113368]]]
tors(E_2989)=[6, [6], [[23936, 143209088]]]
tors(E_2990)=[6, [6], [[23944, 143304840]]]
tors(E_2991)=[6, [6], [[23952, 143400624]]]
tors(E_2992)=[6, [6], [[23960, 143496440]]]
tors(E_2993)=[6, [6], [[23968, 143592288]]]
tors(E_2994)=[6, [6], [[23976, 143688168]]]
tors(E_2995)=[6, [6], [[23984, 143784080]]]
tors(E_2996)=[6, [6], [[23992, 143880024]]]
tors(E_2997)=[6, [6], [[24000, 143976000]]]
tors(E_2998)=[6, [6], [[24008, 144072008]]]
tors(E_2999)=[6, [6], [[24016, 144168048]]]
tors(E_3000)=[6, [6], [[24024, 144264120]]]
time = 50 ms.
n=2のとき、楕円曲線E2の位数2のねじれ点は、[0,0],[-5,0],[-32,0],[0:1:0](無限遠点)の4個である。
■楕円曲線Enのねじれ点の1つは、位数6の元
Tn=[8*(n+3) : 8*(n+3)*(2*n+5) : 1]
である。
[2]Tn,...,[6]Tnを求めると、以下のようになる。
[2]Tn=[4 : 4*(2*n+5) : 1]
[3]Tn=[0 : 0 : 1]
[4]Tn=[4 : -4*(2*n+5) : 1]
[5]Tn=[8*(n+3) : -8*(n+3)*(2*n+5) : 1]
[6]Tn=[0 : 1 : 0] (無限遠点)
よって、楕円曲線Enのねじれ点群En(Q)torsは、位数6の巡回群Z/6Zを部分群として含む。
これらのねじれ点を双有理変換ψでCnに移すことにより、Cnのねじれ点を求めることができる。
ψ(Tn)=[-1 : 1 : 1]
ψ([2]Tn)=[-1 : 0 : 1]
ψ([3]Tn)=[-1 : -1 : 1]
ψ([4]Tn)=[0 : 1 : 1]
ψ([5]Tn)=[1 : -1 : 1]
ψ([6]Tn)=[-1 : 1 : 0] (無限遠点)
■参考文献[3](Theorem 4.1)によると、曲線Cnの有理点[a:b:c]とEnの有理点(x,y)が対応するならば、
a,b,c > 0
⇔
(3-13n-4n2-(2n+5)sqrt(4n2+4n-15))/2 < x < -2(n+3)(n+sqrt(n2+4))
または、
-2(n+3)(n-sqrt(n2-4)) < x < -4(n+3)/(n+2)
同じく、参考文献[3](Theorem 5.1)によると、nが奇数の場合、Enの有理点(x,y)のx座標はx >= 0を満たすので、(*)は自然数解を持たない。
よって、(*)の自然数解を求めるためには、nが偶数の場合のみ、調べれば良い。
■n=2001,...,3000に対して、CremonaのmwrankまたはMAGMA 4-descentプログラムまたはPari/GPのellheegner()関数により、楕円曲線EnのMordell-Weil群En(Q)の自由部分群の基底(生成元)を求める。
楕円曲線EnのMordell-Wel群の生成元が求まらなかったのは、
2002,2026,2043,2046,2065,2066,2072,2098,2128,2204, 2226,2266,2293,2297,2316,2321,2331,2334,2354,2398,
2464,2503,2509,2541,2575,2718,2719,2722,2739,2758, 2761,2782,2788,2793,2824,2826,2836,2848,2853,2858,
2871,2893,2898,2901,2919,2948,2978,2992,2996
の49個である。
■n=2001,...,3000に対して、(*)の整数解、自然数解を求める。
En(Q)の自由部分群の基底とねじれ点群En(Q)torsの6元(対称性を考慮すると、実際に必要なのは、無限遠点[0:1:0]とTnの2元だけで良い)から、有理点を求めることができる。
これらを双有理変換ψによって、射影曲線Cn上の有理点[x:y:z]に写して、x,y,zがすべて正整数になるものを見つけると、(*)の自然数解が求まる。
偶数n(2002 ≤ n ≤ 3000)に対して、この方法で、(*)の自然数解[x:y:z]を求めることができなかったものは、
2002,2004,2006,2008,2010,2012,2014,2016,2020,2022, 2026,2028,2032,2034,2036,2040,2046,2048,2050,2052,
2054,2064,2066,2068,2070,2072,2074,2078,2080,2084, 2090,2094,2096,2098,2104,2106,2112,2116,2118,2120,
2122,2128,2142,2148,2150,2152,2158,2160,2162,2164, 2166,2172,2174,2176,2182,2188,2190,2194,2196,2202,
2204,2206,2212,2214,2216,2218,2224,2226,2228,2230, 2232,2234,2236,2246,2250,2252,2256,2258,2260,2266,
2272,2282,2286,2298,2304,2306,2310,2312,2316,2320, 2322,2324,2330,2332,2334,2340,2342,2344,2346,2348,
2350,2352,2354,2356,2358,2360,2362,2366,2376,2378, 2380,2382,2386,2388,2390,2392,2396,2398,2400,2402,
2404,2406,2410,2416,2420,2422,2430,2432,2436,2440, 2446,2450,2452,2456,2460,2462,2464,2468,2470,2472,
2474,2476,2478,2482,2488,2490,2494,2496,2498,2500, 2504,2506,2510,2512,2516,2534,2536,2540,2542,2544,
2546,2550,2552,2558,2560,2562,2564,2568,2570,2572, 2576,2578,2580,2582,2588,2592,2594,2598,2602,2606,
2610,2612,2616,2620,2622,2636,2640,2642,2648,2650, 2652,2654,2666,2672,2674,2676,2680,2688,2694,2700,
2704,2708,2710,2714,2716,2718,2722,2724,2726,2730, 2732,2734,2740,2746,2754,2758,2760,2762,2764,2774,
2776,2778,2780,2782,2784,2786,2788,2792,2800,2804, 2806,2808,2812,2814,2816,2822,2824,2826,2830,2832,
2834,2836,2844,2846,2848,2858,2860,2862,2868,2876, 2880,2884,2888,2890,2896,2898,2900,2904,2910,2912,
2918,2920,2928,2930,2934,2938,2944,2948,2954,2964, 2970,2976,2978,2980,2982,2984,2992,2994,2996,2998
の280個である。
(2022.11.22計算開始)
- |
En: Y2Z=X3+(4n2+12n-3)X2Z+32(n+3)XZ2
En(Q)tors=Z/6Z if n!=2;
=Z/2Z+Z/6Z if n=2
Tn=[8*(n+3) : 8*(n+3)*(2n+5) : 1]
φ:Cn → En
φ([x:y:z])=[-4*(n+3)*(x+y+2*z) : 4*(n+3)*(2*n+5)*(x-y) : 6*(x+y)-z)]
|
Cn: x/(y+z)+y/(z+x)+z/(x+y)=n
Cn(Q)tors=Z/6Z if n!=2
=Z/2Z+Z/6Z if n=2
TC=ψ(Tn)=[-1 : 1 : 1]
ψ:En → Cn
ψ([X:Y:Z])=[X-Y-8*(n+3)*Z : X+Y-8*(n+3)*Z : 2*(n+2)*X+32*Z]
|
- |
n |
[a1, a2, a3, a4, a6]
En(Q)torsの生成元Tn
conductor(En)
|
rank(En) |
En(Q)/En(Q)torsの生成元[X:Y:Z]
P=P1,P2,P3,...
|
En(Q)/En(Q)torsの生成元の高さ |
Cn(Q)/Cn(Q)torsの生成元[x:y:z]
Q=Q1,Q2,Q3,...
|
[x:y:z]+TC
|
[m]Q1+[k]Q2+[j]Q3+[i]TC=
[x:y:z] where x,y,z > 0
|
[x:y:z](where x,y,z > 0)の高さ
height(En,φ([x:y:z]))
|
n |
2001 |
[0, 16040013, 0, 64128, 0]
[16032, 64240224]
16056040986
|
0 |
- |
- |
- |
- |
- |
- |
2001 |
2002 |
[0, 16056037, 0, 64160, 0]
[16040, 64304360]
64320436090
|
1 |
[1783802121881843699818019097515137381817383148110949546870786742903287931951652391860854034567410817788145632655057233909384955336797991316168536943936180 : 7149034638880139877027261099182188851101057246153408818564541791449136314662287541420911836598375384710529662143202368532843563451663416902639258643840237012 : 296313837391331025157198544141909933289464310224094316886039085617254714484075411466502579765485712260452940031119764544161311843080198109086638706125]
|
232.961736374563
|
[-222998369628024912165470333771910387535831967776917321709295431268381572472894127545178775378624543674151882691090249199370869479243253469973585675721581 : 222813219227059889345334174782728478210055862489571130433666765753889337645731935152558305975726627734586559697485603166109522354858980060996684880766336 : 223067840435712973887320466683983127390060946157541788996662675620157108907537645178916989022375310193300865578684477255303792979291885619009517515469645]
|
[-15807775806624877960760277817797554517676259655421536172914848723001647984519724334681273022008312453614656672233567965977868058535965446908953002921629 : -7179189704634955532326054106871664327832240003816818767572104558020891708027761004316211160057252312036263884645542320891465839536662245576514270015261 : 15804194306523544617931717217570596482210097244475672641612214188752933009023193216142753839653523649458135280816503023413015459472070342205713772917469]
|
?,
...
|
?,
...
|
2002 |
2003 |
[0, 16072069, 0, 64192, 0]
[16048, 64368528]
32208402198
|
1 |
[14443415565823367700247631543150574859758081399671321225491786994582503101989345836815424 : -57910151643713306243372874155199361900102448551521337630402465417253927729876354151475697664 : 810458355880366600713084282745089342509512782241613752498180464828732481531934376348481]
|
136.760928843610
|
[133685593345568471436992694098956305673718885427105926939098681859157771932600775671643125 : -211017690247963113344988699681992277064986165474806797051392183719734655030948951420474123 : 211084321768213772875704104337877973083995736732426832185454958178117072329171903801399623]
|
[81755626868517118267982895975486027566714284594452751534537250419832214737918468594417374 : -81724059373800298091806593775349507537089001157640746382203373110275146708205595049913749 : 81583321919239747493312705589379661203863307500183397410229464546736948489622365522019499]
|
- |
- |
2003 |
2004 |
[0, 16088109, 0, 64224, 0]
[16056, 64432728]
7168140990
|
2 |
[14205869844647780 : 57956266322055063508 : 25542058625],
[-11750917139504347529396943561178351246850748497747144 : 47019654608084883310202694731459588758919787556244300152 : 152168522963824717520760651717584921027183458591]
|
28.2749870645181,
74.6220053375929
|
[-7242808819437962341 : 7246257761075803536 : 7124294990002522045],
[6569714674928273306177094427422081242360681311851 : -6565749385285472409876531381596475253657245726911 : 6584854316784175521242624060707349049847132262321]
|
[-1362503556329070649 : 1285426078041651239 : 1363139213653691209],
[-1907726185672221416843583359624894301874839159881 : 1909178094830995089716222691584846043547946032676 : 2907428236427230193619648332426301268418624885395]
|
?,
...
|
?,
...
|
2004 |
2005 |
[0, 16104157, 0, 64256, 0]
[16064, 64496960]
8076228710
|
0 |
- |
- |
- |
- |
- |
- |
2005 |
2006 |
[0, 16120213, 0, 64288, 0]
[16072, 64561224]
9243783822
|
1 |
[90941668914894446676865776587173112584 : -367223351237598987724399808708163786974697 : 262138965468564173915218544951852048896]
|
59.6672364221404
|
[-957376938039394951703837635046406564543 : -1140211566487290887837469603534414424625 : 1139735921178237366447519395877583607168]
|
[617459523267893467489827698343146399207 : -620689709337884219381169273614539961543 : 620970533458440546133730765224938796793]
|
?,
...
|
?,
...
|
2006 |
2007 |
[0, 16136277, 0, 64320, 0]
[16080, 64625520]
32401620090
|
0 |
- |
- |
- |
- |
- |
- |
2007 |
2008 |
[0, 16152349, 0, 64352, 0]
[16088, 64689848]
64900090006
|
1 |
[-3254292290468610692404166402286697223529734227190615692466287599693255600634289847860481851496880929932157820899679272495994431483018318606714886961720520404279959164417689377978209605210516980435162076588736907134069018937297359825948271800040943218026788 : 13055798167214994356365536455961064995440757386895684709982149770019710617744434971197446088128336235870230840193020904761098798641631310622694871187741185142826379616358084020329184276149413425468741083622722051496722765642376458450131142838155871930534659868 : 2894920783643807676548102345714277207526172761595966407146795977338257565305715452632965836848673279058584631092671302147761220845954457388952537050407417482815650468424077503326667304928359947147110553448410800547611699577600178932228701611163407335968513]
|
397.289583972122
|
[-7454067253345880108420476395026830425918169313709847860481533717629661447997927432875557619150161103786834067879102061623347164255353704926846250267707179765846105538941132572903323260930259846518986353697167968451729232183218179308956555328794101261851765475 : -4190117711542131519329092281036564177057979966985926682985996275124733793561818690076196097118077044819276357830846835433072464594945877271172532470771883480139510634851611567821027191892906490151801082791487455577548540772624064696423769619255133279218100508 : 4186403819947220364605140200082346109511441974406204059307897191581375024511063126695002167525499296895904388125273154189910613300997708709309321310104755054791593611880930946755877623592647071044170379498913824066377445834562036520172912360529038185574218673]
|
[6168965138423218409676516454772177488471459688335463711216059644275404532925687502093917568733517134665705830291495818708323258604203914006381744899598872376831213535770450901499572307592844164385297273250009153079732792347864846795308472928744720649957638431 : -6154953811138133529894120813787219488469623677468570161253889023876606787027351081012301305683009458709368695900882070208280989015165044268133096817978526493564994978566966489342299270974767140277727265717284709479294334354523804236313330414449549738112333521 : 6158885756736808852233393951433946610805876896661065887829119104680312816322125742802318861000131987201244015392761380175855176446738918790312255130611510827189206951810427505018459543296565092804642001445796406200773512590387350367741141726295919018928583061]
|
?,
...
|
?,
...
|
2008 |
2009 |
[0, 16168429, 0, 64384, 0]
[16096, 64754208]
1805473230
|
0 |
- |
- |
- |
- |
- |
- |
2009 |
2010 |
[0, 16184517, 0, 64416, 0]
[16104, 64818600]
13018815810
|
1 |
[1183837221835872981804 : -9811453363017075668048500 : 22547659897251]
|
34.4962793450380
|
[49063184185656982778501 : -49051349444513773901984 : 23818806718875339320547]
|
[-42903267917323650408761 : 42917197103749338549287 : 42863034681639756333257]
|
?,
...
|
?,
...
|
2010 |
2011 |
[0, 16200613, 0, 64448, 0]
[16112, 64883024]
32595609182
|
1 |
[1697327183576490943149524429995206986842142775832133131932033516981174827603848208 : -31160372299612568585181548438588220154575243648274713075298148692952722025616802887376 : 5290364084792593886690293588826304646355054075187839551288314332894339147]
|
127.673437699210
|
[102506807702492759677455346252184885060502188582164190621722400908264416673851363155 : -102495641637063612593475893475369194903808624893327342768396998387477175599943392683 : 22478418836570061418744269926035242211170681834121050159818545360932665748443043493]
|
[-217971939802756415676815530291910001898878684580748530685748064696418793239726780473 : 218010884673563425325566530398639289031793646191373773333087771134982192379435547028 ; 217911108730019927101628830151337317956094728541301305979290447009475566496948826717]
|
- |
- |
2011 |
2012 |
[0, 16216717, 0, 64480, 0]
[16120, 64947480]
65288454270
|
1 |
[2135991567312629527902501689438307141864662669058649890920 : -10831215283670666985947945375539922703360431741189176458333960 : 224925636148098129054597714751151594077075725147623]
|
83.6650285073999
|
[2168421614551902919185503390162090813765242292051486747 : -2167567978507555917934067373230699642267404783261036355 : 1722147026584785796069847870113584367367744688394008587]
|
[-5809221561868564884541462025905055733634522631292138733 : 5811766464673948077728291036938725761891820981272430577 : 5786992883566334155591737811395849899817127673189889336]
|
?,
...
|
?,
...
|
2012 |
2013 |
[0, 16232829, 0, 64512, 0]
[16128, 65011968]
75677994
|
1 |
[197437732008603281423300311348222469401557338311091610172743084 : -2295551540858042821449278627762540741661024088705760101919951305364 : 364036806471446043570096776275370345621115869729213359339574785491]
|
104.801581064534
|
[-733611233224111467409223763230137380651653290168338623529391502043800 : -734185121109325978114586082887078015837068546190515063554871489870141 : 733997661103934557740332088502988283841130627883268344827207286878421]
|
[17082946855214563927300079300348094367887052983263980114333760016241 : -49280746058147299195483607642125287145611216806033542836857116798081 : 49289222797610662396018727132808391337839121959078211915627427823121]
|
- |
- |
2013 |
2014 |
[0, 16248949, 0, 64544, 0]
[16136, 65076488]
13096643210
|
1 |
[3175749353722907109525858612487876604 : 12815615702612527178520457221820814111108 : 1771421780874399831755301254454628271]
|
55.3888338463378
|
[-1283043076166877013284604277370698240 : -488621076252884502838258057322296671 : 1282800745425244146752163493907482031]
|
[-1185754217633212552760641092206774329 : -1186802685691153990256951623316787751 : 1186478163984732654231268919232196231]
|
?,
...
|
?,
...
|
2014 |
2015 |
[0, 16265077, 0, 64576, 0]
[16144, 65141040]
32790371010
|
0 |
- |
- |
- |
- |
- |
- |
2015 |
2016 |
[0, 16281213, 0, 64608, 0]
[16152, 65205624]
65678364774
|
1 |
[492420347686035912798093797965753573610960952974545553696236 : -3539320821095418297917920939356199850399969309779966840531756708 : 269657382042278358874614032956501493031711639871339771979895379]
|
94.4834486896691
|
[-134752483945548580264086423745363449029112980769480649480839259 : -134971664080617654966707052983619344486779562966023872594570480 : 134923626556543872104496500089237115954647641986874079231916899]
|
[5760187412392691995436334825396502741875802527238478023621559 : -10256730591216612951054079790257341145835846295028920855153001 : 10259583691859282662614944287378714721672991699421997064976921]
|
?,
...
|
?,
...
|
2016 |
2017 |
[0, 16297357, 0, 64640, 0]
[16160, 65270240]
16444021090
|
0 |
- |
- |
- |
- |
- |
- |
2017 |
2018 |
[0, 16313509, 0, 64672, 0]
[16168, 65334888]
21957966942
|
0 |
- |
- |
- |
- |
- |
- |
2018 |
2019 |
[0, 16329669, 0, 64704, 0]
[16176, 65399568]
32985907110
|
0 |
- |
- |
- |
- |
- |
- |
2019 |
2020 |
[0, 16345837, 0, 64736, 0]
[16184, 65464280]
3886460270
|
1 |
[50859962539223147011463398233785700541689880070290047290326116917477186295591404 : -205850363693059462127910683506421923499461751504052903982340185982054865818247344380 : 27944349546889128124352743040622984533549281267769880735354741455589320290291931]
|
118.871499797218
|
[-26341860108730818547568514085139357027018503626317312136320056759625195847488 : -70364418543694625829810823465001274533671972068294229254369206673880238772507 : 70351393019648339408180757976534719128827019884628455509499526577253230413627]
|
[1108657977608870340621893445155138524501506713549978188742810369947437459793819 : -1109314520498464760022636272742566768313992249635310416389951250025928080651099 : 1109613303021271616147860799385982825962804428677673754462720468814313437906715]
|
?,
...
|
?,
...
|
2020 |
2021 |
[0, 16362013, 0, 64768, 0]
[16192, 65529024]
8270991498
|
0 |
- |
- |
- |
- |
- |
- |
2021 |
2022 |
[0, 16378197, 0, 64800, 0]
[16200, 65593800]
163620090
|
1 |
[-1534047850514841210258614486329207464753012931400004964390942822721003043149434045456929236928655501758770099331332705073225840827200202465452114650659529311116225578110555577209885969566799161513437529515173270051892 : 6206308272943664565809450891528630261611965608866335368044538729290990900437075025423456093817401868799919163029851580464005927662491836158928701205916070785053756326040841522338497687055490403867774465547084168805920868 : 146870554665963739498784756298848777220701502787499131622469372616427241195379560331924342822841717257590805528824418490614023424860227705065555998916958623250832339216865387312963164564371349609863336562924667757]
|
332.892757208023
|
[9583675345339148178394428733128087684055083311948908732933971722145213001215416062262793514518611975495757568177083130784918365251237302546629961925538865808736938326410903236404595025140432127921246433840923953230920 : -9571597102017841222252024635787437814747279678379286847450407071962783605071852534723182083683245644257079354754557549659544374447811574487100597351979871182169717000875644672047558329969106155621267348711804962836737 : 9579392586263099701461406061124368004829044725250096620250389726139250304570283745574494408539301597685074677536524436044552864952197043042172990893035987533490459346136135427887574693735278070899252057754787064124067]
|
[1198128191648022046411827485900303716295582190678012039838260498230946688581877754146817779326918856968070438069235067051438368207994010295743492493518282545175738201745736300887075906685562669558846830296884428438181 : -1195382236032504522130246164700269792809282348096053560393625321212403561912422934816951385169944255373858691594786492809925604842869271915547799865748651885894112739248785081068545486603991076610025297233383713709001 : 5552053367545444052871794250321961049400622047021789141407542569486027943180823285200258017606109846463997916713319486538171676860089683852825184897070862289753720195371221664910543324323696197578054310068293414548021]
|
?,
...
|
?,
...
|
2022 |
2023 |
[0, 16394389, 0, 64832, 0]
[16208, 65658608]
33182219018
|
1 |
[917894655946179336836682252153762322143835896297574875012386346753633349698926532957786468968891845139829735801209712881101940277729136562557192836507545344 : 3792523412106122213162301177171520357470850425475426232852653139688488846012853502246714402651337136311238574505752842335571551489655051437113934212083946769536 : 1355669464974301185577817776109581510693372772025307985989229756549808054069168024629757580204607099607427563314998347301988258198889444331477027114951]
|
236.693062992809
|
[-58498325878500128630262286166839696668196616695954974761933437218859994013084653924788629586725934965717865680632835135088612690926101732607151036764115625 : 58525970965060788833397957512854217102194966415481282731668548083796413232436621755497546747862349911819735359411377477092686725565352582287749426457432967 : 57354593453355878450724805086602884916990568658835275703406591239633874746506924394507195729987532848188423648186335884066834250038445610319525357435062913]
|
[-5965802091192188599858415955701588054056454032510420611673399358765657006394394761861767522735767637022751323896674794528464641232124215578979117167279204 : 5684144744414552941835490365993809224017750055357722779959010143585972504631362254104822580439868097523500037403157631515443774665411051506231896397676599 : 5968582027947816648210055244480953439755980999908975038120733027506858512754752607280650516929310427813605844497204998479217384311524378279130707183938181]
|
- |
- |
2023 |
2024 |
[0, 16410589, 0, 64864, 0]
[16216, 65723448]
66462836790
|
0 |
- |
- |
- |
- |
- |
- |
2024 |
2025 |
[0, 16426797, 0, 64896, 0]
[16224, 65788320]
1280025630
|
1 |
[153516249513691061378236391779114671500517368381156806565961159759860840716 : 624069534363326208895080237821989383092838140881757844630931046806447141369345 : 233726313714097335398185488922429988896724619505315814278616751576868967104]
|
115.010406501681
|
[-1088999194034852697246328822122740914496127706625800359723956415099829692435 : -781196710994987736015709715922006323574875849224193531299329511619461188677 : 1088614202028611278009255660801488290536019146306153752077604123119506281272]
|
[-757532811249434642112075810497833862306970482555791707093902731538465640977 : -759745304783337732764439167258939600292974684385531115142090478681206634463 : 759432963202251692735151341728714204294646483203644361335209963527022593153]
|
- |
- |
2025 |
2026 |
[0, 16443013, 0, 64928, 0]
[16232, 65853224]
66659925994
|
1 |
[7933377165076415072057762099124823771062858945530389380827336485249265991316722785823336514043329922845008926627435174375261060678122816287496611671484988583519896423323643559549782927493629688323562834055053615261208745011185463786222817721717217360412323420671600567903639092860233625660695430631999633204275490165172270146474796172012132644746377150272195086122095260865394415768030990295531851127588580161350305549102564 : 33052937290217058090177112300312540696285651835746661292551491397050237801970153986619143535010883360814083171272607396048361645569083539374783021535894716971975832621754427439195291834088509975763885672834173448598383242318870498729115465114347362687359567448439855023121260812705173264204777550196688894160385169330454935334733073938348298013539718993710178747912599881945055275881948460829819688682885691279250499263148299132 : 111820450385885164305098926833084053361823879948714562893082762176800830311554488479894221915584253793508053730642550323119196053855524749203037414398602561749561922438899051451386301866673686018686914100030322585277616297929152473973665952261936544334312015934050732520567813123900525966057106887464546771326774169186433666815723151651600029778725383025559088072488063232924759747225919872978408483571659390757806389483852481]
|
656.999132992479
|
[-231014319322092496084433854361604221255204976038041989472961257464299508269141411783684541291532555950889245789766982100718097091336410393202774854430292501787785179719192563369317274243876035975175193972711539324901173722694982783850734372426547454138068974720816334212051262475095706313952259481511322510837922401009310130352175599593868496156145673735929378018181590022939861262304663976003131332770866666684975307882436583520 : -222751084999538231561889576286526086081133563079105324149823384615036948818648873287029755407779835110685724996948830251706006679944139508359079099046318822544791221563753956509518451285353908481234222554502995962751577912115265159168455506147960613466229082858706370456270947271919412997901065093962150287297826108676696396518492331109281421652760743987501833331203440052453597443334176860795676410600145243865162683066649508737 : 230905916055654740816579007928583829923069521901325755526144384054750262559741635578117807879340419217910260545273844239017106151036667983990723695932207487001705728115151262679554546431720179183895795065827436708465716302218921399832183185724379877656048128304469437772159237848474305633339842457995989213056592462793016250933364996360306611671920215374047392607742182596863092495915783134353025461688584313989393769176131683897]
|
[-60403140516705303904096690885732913401037299466809505575885482041291810880655766629944510168669188170877176202496492741152621704358752241991352319223631067629425178375752567553635689407102761240535384653191162322919385289846687658737665105997310843022872947117618296948503267428398916913990053774282907290883731439972621330111773220901159836683312962056263860092686828144092328083225994466330502846656847496803701050102649727963 : -62060319946666311663244101807304901428004303229461938545252528385678559836034190366021522504475016174401142915372977260045642194732802511030369841051565888043850520278043466641753589387777777332473058212246693979202855645870260844787306353727055055095732611211389288908082088474271810261914343081296902550626267847049047911607256817052530280221501824792260678951035993131382258545904552246912659943405436286374992165265579827317 : 62031063773747296670966988128603949485721430315459000863263875265108104973883247860524728055426896953846640472976197556295950128175370967365054520031696495480766746567570856316904771874357268964005173841395130769596658220423715871614585335386111087745668464341733467286347217037253913938460742450097143851437230529818062100086447701387393073920718945734087657576940510587690330177568952370945317062122066793303590833360323107397]
|
?,
...
|
?,
...
|
2026 |
2027 |
[0, 16459237, 0, 64960, 0]
[16240, 65918160]
11126436090
|
0 |
- |
- |
- |
- |
- |
- |
2027 |
2028 |
[0, 16475469, 0, 64992, 0]
[16248, 65983128]
66857404446
|
1 |
[-12301848 : -49625827992 : 38272753] |
15.5692879908670 |
[-23843423525 : -27978909191 : 23829591161] |
[-8991079773 : -8936101972 : 8931316867] |
?,
...
|
?,
...
|
2028 |
2029 |
[0, 16491709, 0, 65024, 0]
[16256, 66048128]
4184768110
|
1 |
[7475884918531791667663215817369401365327390308440217769718300 : 39341713168426119843664188112378127128013338256853803065181336740 : 667369806162514694051931460644817050664585743258775503]
|
92.0131938947705
|
[-1210135618147648198062865844350190191016305269199212566516927 : 1210594948454992698052331553654863164140803902401439849504568 : 934255949662801708463169122518838684103674471953913579720967]
|
[-770909313272324748321116072889639652061582209271765384346715 : 768345956408719730960644876583477786193657724709743328275909 : 771239022923639107468122944980063722082740272895612277197451]
|
- |
- |
2029 |
2030 |
[0, 16507957, 0, 65056, 0]
[16264, 66113160]
67055272530
|
0 |
- |
- |
- |
- |
- |
- |
2030 |
2031 |
[0, 16524213, 0, 65088, 0]
[16272, 66178224]
532971054
|
0 |
- |
- |
- |
- |
- |
- |
2031 |
2032 |
[0, 16540477, 0, 65120, 0]
[16280, 66243320]
67253530630
|
1 |
[-26526047958546926710850061105826166423737715454413449476163971144 : 107872514199349581182637940193487749592701771029686725730397989878472 : 1099774821265037167382481923817025864310997971576294913350352083]
|
95.8898750612473
|
[351335413932122403299715129846329109313513918213105800981975373 : -251183153279776774422295751727699296106076393398451236320008529 : 251356232839133170911859187143255166393300731392825552625425341]
|
[287386169709934546782429952422486150437527989656601649920327171 : -287220869756096639865455055674585877981087395045430951648464545 : 288215604180870179612894351442944281141345874665245829681423276]
|
?,
...
|
?,
...
|
2032 |
2033 |
[0, 16556749, 0, 65152, 0]
[16288, 66308448]
16838201514
|
0 |
- |
- |
- |
- |
- |
- |
2033 |
2034 |
[0, 16573029, 0, 65184, 0]
[16296, 66373608]
67452179130
|
1 |
[-387281392316967351044048041342522425703738908 : 1573418315138095627360866630792439168324195768236 : 5756033610769077469003043902823784493867]
|
64.6529178332146
|
[2300134738718000198166709855314940004357984 : -2298728609750122127020254914985526389677639 : 2304543318355152339688963252112212393277321]
|
[-509900971269935646789313382015366287844041 : 510311880540414900756899019991457512009285 : 835300751335772063450619529059337279503351]
|
?,
...
|
?,
...
|
2034 |
2035 |
[0, 16589317, 0, 65216, 0]
[16304, 66438800]
965023570
|
0 |
- |
- |
- |
- |
- |
- |
2035 |
2036 |
[0, 16605613, 0, 65248, 0]
[16312, 66504024]
7516802046
|
1 |
[1122757942327612473487532385008133670488224949188386661802432 : 4830339395438375076210056085085603687949123548893652357933256161 : 32752666820296006970837527342776887368589978731353767151403008]
|
96.8884371461764
|
[-3570137204040824590543300096477332333183565353574749097648723975 : -3506159198803230218672968227800701820760398154251654364431064953 : 3568462665864872941392297536534236686075163827541288170908560128]
|
[-654763609432496797313752626494690616371132951155865437145343047 : -691259362876687245515381096297837664216091516826971999717895353 : 690940839354702815941868901985702899928777899240764107628082503]
|
?,
...
|
?,
...
|
2036 |
2037 |
[0, 16621917, 0, 65280, 0]
[16320, 66569280]
8468860590
|
0 |
- |
- |
- |
- |
- |
- |
2037 |
2038 |
[0, 16638229, 0, 65312, 0]
[16328, 66634568]
67850648866
|
0 |
- |
- |
- |
- |
- |
- |
2038 |
2039 |
[0, 16654549, 0, 65344, 0]
[16336, 66699888]
6795051090
|
1 |
[9369068433717444216600213536797208024895399144750479269764837968058886606030649722587699990528 : -45119767010869883460704029058764607829081576579410019172733215450618824401719247502018684265079296 : 1433106565552797114081222830355542394399053351266255233575654525902155056748833911630233]
|
144.063875106025
|
[2762555868515839007984021403124709130078716765157885857398229958171801429402563118437224018951 : -2761411689132285803561525739231388792188861170617092004101918848221296562972467182985239774521 : 2341121495939242296930443639083151312791599792593474697889664806409690882922509746361029122969]
|
[-23486908000020894336312435080768190976097210067026458535556711503521628433305235700886098962896 : 23497412688083110891172107443417198690644883336567519595133487931411961905160276724012381293585 : 23359347234739912953965353025924201505977521866531405462514755389261278056864411396808809596831]
|
- |
- |
2039 |
2040 |
[0, 16670877, 0, 65376, 0]
[16344, 66765240]
2520387810
|
2 |
[941755644 : -3845493217260 : 357911],
[531478787136118272 : 2178660990451006381815 : 3998480334848]
|
12.3964684112388,
27.2391091785610
|
[248099824 : -248733925 : 248835901],
[-1125682099651918873 : 1126163885310361625 : 1121769880013694976]
|
[67485653 : -67461797 : 48766197],
[-337336319368005045 : 263346959260163509 : 337465087676083637]
|
?,
...
|
?,
...
|
2040 |
2041 |
[0, 16687213, 0, 65408, 0]
[16352, 66830624]
17037632206
|
1 |
[4171053266155431859464866281455505725911646438893248827298605693552050110320964651964007712059135108 : 17039103469162814587010720279954600407248831202815383392236096998070651701160597627552169811457382055516 : 37500156471743727888396182021313913870479893966518599920134821609368080664696358595444869641090049]
|
148.966298237853
|
[-7394032102507873525470967829035963521629308592277637032095938590508112301483567810503785940099257 : 6883700726578349234810311838163576958584291498567863227863050149324041521664835938396142174317472 : 7397380184806255055372907244503840072467108613452915715983919723249655441828825956540136458334617]
|
[-23296315934058885626393688702782329868625166404714305926714167415331207678826913284787187457555557 : -22981853631324774569232269560944560905925747841618772261785665521632240840006745933431675730024165 : 23285466396738510793795996696763840074974353070638243338988504733743638464697738884553495578490277]
|
- |
- |
2041 |
2042 |
[0, 16703557, 0, 65440, 0]
[16360, 66896040]
68250684810
|
0 |
- |
- |
- |
- |
- |
- |
2042 |
2043 |
[0, 16719909, 0, 65472, 0]
[16368, 66961488]
34175469438
|
1 |
[298936975452251189150514022043850516809064941890963146455026522936490275516787237394556360680589715309255509245349710582971495977124670493626679127401089247190829055202665421376205056392492376645615956231640160812217245768874170819067617999276646209145060044571936863897754236744703467419451126375965851999859436182044279539195921599643648 : 1222374335661147292621248628352324654627738605376425500202098781301818804378866355370256543265577855844878816385592277917388210729510457597172233076287295189195715227761672922432539744000486693511276365363620727199493596489134638427952607632343298414405208053125720317338298051539675805272001227451162801420477381689184191883789179389098492928 : 682035353706808353723694860035097403889066023828089170968715843448064180400612552579323361593301499070506168825007533276631905475124256367763231919991441268459423362234297316716814324459044168278058122740419997969169861785512285377460476894432996268959889560719485527255523137211648199766674611802444215139185563236110579143321240395907]
|
520.665550980934
|
[-2486368857570903388237595870563175964551987445791436896383184870371855299613199182244920063886000856988620173079989216757010383593447916844568860841182084698852153710281292813490291039933144830808479848307266696704517644236030301097160913508371171474045158196393155079807497379058087418424118359618486375971523612000102430571911019214312611 : 2442559915256303436848084082470391191205023059758665927012374731651607621269326444248049868636490497224600860732882871619554982251352315402093369305137653967259601240370614131802207927810753126898279689449268493616021051284673886112325407589787289874362938792017007490104994764247056957672660783329750726530401314165962859282077607354632925 : 2487531823123347586208370539573393322693410977846889984982811330112506333404147232266842499931796561596050560050016208848841390272695032554759407683743699459057731204378936596590119954653305353683355879718595669856306265105646418824687158675099923948253288416590883694459542804426849676369629106700973269340369522749213228376470164123674851]
|
[-1346256467870140474482892527859602267817941563445162924261883409444111166038427589436019684760477794811975880846697192056933169191245694585657394229083507978751400302116401443432498251899699795971080395160676358418951681399982219039462516091224912252279839804502311857618768189897020922685707081364636797887144563661539948310403942902882912 : -1276025984110977025710769025846432070340914090901670600708791373097677598005571054521704690799261601427415946943848225264985410351945123726219191156392279808732351952350269208043195460345838020043367381508472942186041475877794314662137908871770444610516811175514319315826059054622226154371302276194482432035643253225812629647139423357122467 : 1345637894358274090570881452638128059550886315938777340168036646161652324258049516029641041827763342332283936661594083818427476533993909443174151615259715277534910964140713524400733603741220512696347531517141517156830714530337070518239320572001662909665914184063413832531713902139634968619223618347520483715342511467407668558939842966629827]
|
- |
- |
2043 |
2044 |
[0, 16736269, 0, 65504, 0]
[16376, 67026968]
68451291070
|
0 |
- |
- |
- |
- |
- |
- |
2044 |
2045 |
[0, 16752637, 0, 65536, 0]
[16384, 67092480]
11157510
|
1 |
[356579852288 : -1472105386819584 : 1225043] |
15.5117208869121 |
[9985635685 : -9981071493 : 9900295589] |
[-22048956589 : 22058538653 : 19689982480] |
- |
- |
2045 |
2046 |
[0, 16769013, 0, 65568, 0]
[16392, 67158024]
68652290034
|
1 |
[10522196791353666752482526842551247942681659372162715974691797703960466901318486992505096395119676826948446611888992524850786996084967312855245811091663558012529059106679962908731522099272390260 : 44363589739531393027624353607734376422744206785093527808685235767524200398460210683219757748165408646512557058462959123801323392179887970465663956652773051852254845792655573511683590245146397914612 : 10446437729651609650828987913792292002130876594579349168593057776786426151979643661889599350745090781969798313281364564769788619876730055802223068660789441148188619672300618735230865482125]
|
296.222842804456
|
[-23004791898727854673266217567251923266624493804486775641806076528642799281460775646548837316433011609550677728622936431226358045414346484705333724523974520723424075643880996836367825014208562509 : 23015529407839980417630414805916517005931737300382029138987736508208031007398364066334728812369279517537037062313743157779164145643628588391828056236163499870201283062193249545046687688225460224 : 22354299427070478976843270921089105008544904417898144697629240131133376302332990649180384091661179303272269383418705752031519316565914487974150182713690571203235646892538794826715053123945380445]
|
[-5566419106608642853996507607958044374940735543259612504894683004042950358663569577366907422725205835305361992026135322584461124433867502496848531754395453886315549029772344463739437994864516821 : 5385594290506774495367326048253804149432923917444074635347064331777065953826599950132265036825926516996465967273387762133139630820020148015366949204215875987134211453446573910853389834224115051 : 5569011692575654182207842983023835588352878618417647190702425545936853212258266109053206990960105213371248660181444331111466844211592413237740792156064436303461211711649129038435177122246933941]
|
?,
...
|
?,
...
|
2046 |
2047 |
[0, 16785397, 0, 65600, 0]
[16400, 67223600]
6875293690
|
0 |
- |
- |
- |
- |
- |
- |
2047 |
2048 |
[0, 16801789, 0, 65632, 0]
[16408, 67289208]
68853682086
|
1 |
[-108507556715197497636320047556529634140050742639507265484989450358788912609589424750560670371784660372396 : 425592314191101813914149759798638940089027113234322317350017246429183271797305581341722483217666115449852404 : 76529713350600297426230184318333286219899938904286796896817532939541913573652066446662223601113463]
|
160.487121556629
|
[181613514269348834497212563750452118146641407890426350747980255487040329655986811966544070273806632755941 : -181519859613843839490969825156236397287682067565480063373194869452535840819529895662911973427273670528916 : 189795105304084080059399328241001367219132998593763757231524429816106685023719592574314202939655401218909]
|
[-932606530140611488873470548201471900903910993905086655192856286815418036047201670656886019985247386312419 : 933082368828536293467072984803639749401043766021864299092393305641943830805092444286862212447248188288125 : 953963067074641118760814115580046293086279923325096432822211672169154333924723544634772775712435077456119]
|
?,
...
|
?,
...
|
2048 |
2049 |
[0, 16818189, 0, 65664, 0]
[16416, 67354848]
638467830
|
1 |
[76 : -362452 : 6859] |
10.1827185343271 |
[-14029352 : -14119965 : 14113637] |
[1480823 : -1721287 : 1722007] |
- |
- |
2049 |
2050 |
[0, 16834597, 0, 65696, 0]
[16424, 67420520]
69055467610
|
1 |
[-1342972252974790928465406000387016263837318977099252967456 : 5334005732459262012523015945890962159406539200973464780096960 : 1267589354927187644491140506521320200663441698925901]
|
81.5662308651221
|
[-1342972252974790928465406000387016263837318977099252967456 : 5334005732459262012523015945890962159406539200973464780096960 : 1267589354927187644491140506521320200663441698925901]
|
[79135692272913381973045513063130160993023373541423697 : -79095236010026649119061636092378048062811235891237599 : 81748662088648628730424403476814412594643016482947195]
|
?,
...
|
?,
...
|
2050 |
2051 |
[0, 16851013, 0, 65728, 0]
[16432, 67486224]
934547406
|
0 |
- |
- |
- |
- |
- |
- |
2051 |
2052 |
[0, 16867437, 0, 65760, 0]
[16440, 67551960]
69257646990
|
1 |
[-80675522422940 : -330774281511800420 : 1416247867] |
22.5121934477653 |
[-1180965438837300 : 1181708000532703 : 1183542010708943] |
[-109412867253947 : 198051038632799 : 109509424750213] |
?,
...
|
?,
...
|
2052 |
2053 |
[0, 16883869, 0, 65792, 0]
[16448, 67617728]
8669860562
|
1 |
[8818403226879225919035446233209882208853033777684338685171542581167041344 : -36563162995516323265373340961877489018511907450395410617509777993812514750656 : 41200474222303877355875776866213894518272293794519403475069817966606961981]
|
110.814351189535
|
[-2436654017459677436519978417231875753070352133939742662223886434179478947 : -2714590977715061796053648304134982425857629464960140760447476938267691325 : 2713410048007357521271742208077333498977319452226259503291487039054320157]
|
[1191039324145625819213087227591782735017894058589735203600379980665122603 : -1201249663343372490372940492601509303151691892380914894903447430584001307 : 1201798224506656454492839764049285615455588970732578723091743660712023152]
|
- |
- |
2053 |
2054 |
[0, 16900309, 0, 65824, 0]
[16456, 67683528]
2104855170
|
1 |
[206381956 : 3083889716028 : 1] |
13.9026221476116 |
[-353958144 : 354005519 : 97410769] |
[-3743837717 : 3742455125 : 3744623467] |
?,
...
|
?,
...
|
2054 |
2055 |
[0, 16916757, 0, 65856, 0]
[16464, 67749360]
19184130
|
1 |
[209158049036061253517582107376 : 1340478331876007425740952928066480 : 76724212385743550568224832127679]
|
42.5114973148574
|
[-391960628701834003248363711501 : -391129623214272315405391910395 : 391811909183864461946160441187]
|
[-71517117730585916296817952775 : -111429087112618054929379595501 : 111394343133450819608811430892]
|
- |
- |
2055 |
2056 |
[0, 16933213, 0, 65888, 0]
[16472, 67815224]
69663188854
|
0 |
- |
- |
- |
- |
- |
- |
2056 |
2057 |
[0, 16949677, 0, 65920, 0]
[16480, 67881120]
17441205270
|
1 |
[82963101930740228388770224365471049966963524272809155904986815301788069432795848456912456407200422291606987330540638352442446816753998103650972355171819632817034965877000842211918630462019993126522612 : 401241434040567300805968525748778480814687450207541509701341892552659419863357901690396635110900845990297057621194763787122773667310946773067223818418912555120012332051266792239584663748758137169062062884 : 8106188472400983206390937034230792077496364503852757031605608296844143038725208568103801451022303979423741118121895964716379032995904784280603949813709257851487066979724443643269879354724971724706928851]
|
311.913238852942
|
[-162610612252556844419781822912194012678282533386136777404618764123457323919885148432272557810075319449601042569517851603974146595865297375872957118660184842388342304760854637175345854989060473471293838598 : -161636725276730224757631413869114453258829408506992259177188322636679024357110007894189070831650802833119739031602330332646178698614542650695609488032954472108924799100536028456317736873165429449038833591 : 162538383590921106191538347218519979637019469437437941729219854899762427849654964206670161903316044805703994175334965834054956868645514331474742472194813255631610939096286796977325597920036568391826708229]
|
[-166375296886778615637813506632862361348005725770590391340673849392802724524730676066686803567364533614229978760070646375809273391709946007640328825545118263584333873160938088244964308597863780810179723179 : -195439607583917110378602956342386281065110399472395304079490669342666157174157337765629126578937025844311651642637932856725186454460746762703726873485441907710757947739184874502045155028443516679734316545 : 195359010449307114148511947830821736508450578286746031124721411750149454964961545768609713435227653728978819862669392978384881988078295853848482724212733214158650765239909570792298502067271740971110131941]
|
- |
- |
2057 |
2058 |
[0, 16966149, 0, 65952, 0]
[16488, 67947048]
7762950234
|
2 |
[1484664149687520 : -8184640729085740907 : 110592000],
[-158005394556999167505608706857005620 : -650360869924214526907577673867564331332 : 57820730137168488220395745562781125]
|
23.2857694694035,
52.1386798313855
|
[1986441050665987 : -1985721399751747 : 1484304324230400],
[-1021682082194102382235342647679999 : -5405467503236827495527542989206896 : 1019055423868254279081321889873925]
|
[-1321632378357283 : 1322179780957603 : 1317843327014563],
[-15923886539264218009134202800318931 : -15917832302560744893841928364849059 : 15904819175233697282608720250435871]
|
[48]R1+[25]R2=
[209903639503536665715195417508674599859176576498337388059918710508222516874875745901381326059091996812461835892890845566410005444609983567029958834710583909282997514268759500975343338009072143523005257087105034337380789087862718148638808933005282143837594532299036276067384426903670857584135434076912617019104795979047008302943056823307136931620334887561075133341798133733342749455661078554095451613250264689991805799483342851232172568570740147999831149406964891620142323318299603184382834452319281693896753357327808196209757963064926183438441457997825814445036643982139532628775524527913263679832343849815450041342236766797440516648142609659266615994944458976777545327225579484487382854668796963875796503148546400408765699785254309678466573958471420481244482179249292865301400886661356002108450713850802532997879944168302482471620770456413009153226151539462661779990574960981436250396585281760575886890088604479877329904246431090503856675818612282628556058773198244472601441296816718370596335743478284747476618190006795542169315673476815943660943688443130675968008127989761715601687135023964145743792223873435353802669750822402442054310476935676339592736752654527331128345431433595343062254128304280600965857468980146770176108637132807510176670878172376432828106130686196110150394398598345094820612281871493917306756727902502814420455177167857166543369983709287988354837805874131957825106903272586447974029660641370975203125392184121405356998925151074386331246380715925163207822733599556763713741389986234670772749917348691916190635899292468056736808549436700579005838199096462905307379271774447111037536025612502198822129633128395188464449379643923606528045743204371621386299262241131229219697212066792674326593036924310423995921014818456988113195378811315866525410080071505676503717306274153651841458665423741868194582367199796819348510687016337399200524013471418424921895525524179574710979845935238544270850379719376765680444335534062825077712696633122342930440416819319172935976309953547802337622626206715263942011360575373477982493013977840649369048414888906984997804896266472122320119238961325198291821380001612230790334002834725347392939374528553593736111086479859197119694698559427931259028954880764530960107770873794800787325294325153604310454308297232282290741900908474119942598644973169741559930120225441015708601179476209447762174442849541322370219524292989185605664601804507776474353989358756213487211286869620776745521911266105468727253017001025288597476368977762198457545657841042982909833362912314471133627534706832314799040330103588472443051694984601315771773929619748824324853473865570697279566218804184023748783910454625243925280800008765492019341180511320160175985989079626881164140723102701558337980636151186407231486194368284436244332278644876975118007197775911040245545091965063758072782622134809977818130935219242494631238667426022979648953809113726673148806612813888707861396092590457163854869839969629095513493639410413882847259473247547535289350964704899970729789897541514724740371380825559682540417097215076925620668565281558530404285987426749576098248529380149805726359645125987873133426922410002722643128939537462342609423694764844795252216507088529589103812788789617265743887636403442310852850089489848488654841480290042095435972340843604551712453386780353549476790132034300573467036768986237157881916151688664015822078840683352195485332123843321208657974495543833484205082380801383635353640679881820254170068145037276544238412313934565202959188823681998442402417159121106891206600035818271618769039006585231008643454177173118083354697969124394407384358380978770296207463989603925476853885522585688251134834045659859658248182839598527124453579429395111654823547853026194817719551614908878376868286608829533897056693611497440903263722470797934706662845799831095261275342464313988240330795339040595776492291227371241451424219136739984250054595555610660517746492136805832004724842913108973214301275483041392424331596435158220294971495579229791280945692588297225632502340189408626235680380045576833066213371799480101293633817968451212063062714310850694644451963240321147782494017769872808103540202011467714461540641904387585739058641367984347399417810490748195366289116685670946987916181684025011660124094510147350545976148893743827446207655010135205377695501111147987102726789459968668982611872864516936767918012144006553578971927977132324172276419339489736874213476086237581526488579134137367310949059818538218199680371864456038697629531973370158038182172623146889298413557884637587154386851584712179312207265763068986758163509812233452439747584176507591338460844424100329642920763918139966354101406205971074597638577339190970157585870290547670374814325799273541772741979512014049370328566692866958180205885248938045769982418861720025274916585108525740587065094650701398904752977435674544077182970018188653389287236790378512184223187638557650169796980279414920215378607528022000091886748489120639519799833340747210011376698489991288532985595704175836589869679782282857174020385599092103514767872801409495956915476511293969853474790354215373890431151273871653253757359689399815079706368349719067627520027234106452143178661797998600644741008800018900938445179726120903025875305736373016739178147391726950871193173441666916614933948904087228784183873018910627505324968467208653319241509003062535724282341891526573767132295709400666577643826924154468249871776246103561933579683859215742040130279432302383248509151432605008515517283356401724128722630801502392978108659037548127486197435083666119420669263486573270628285809687904864741472560425739661780708685408359687136737463351507030479465918179586430505369589007819324831160637446136647308755619157098292442901103423021154063725550130722647191740250610736008587403841478721245664852647479919013720338545316026090930609230779793083037661921823122768127265856761828079875857246581816953781851069419078234096445978790363975195244120060074079814261807957996931366553038288851676100442066600686121048471796735172790952851925273156031244721955177617958266089661479879903956513586458785210294046070190622535311588913532765358978102134618321835173810531439402489996289604406379822610410143667592631248796332079448302800253378191448617741008512125168893361852288947669959414897448973395127730209876912415570489075077824414859202527849288072202561104113582081620963626801194159639563714655208901868900303987485832246801934654269226209852891591658731260693398693989670612858806074469322503945709380012285867647085299331456692965405011931521769087140591887067231069959521589385286602858348747558217869958294214756913595440621681401806822355641579002237625722773838878865627208120188575754786383000813199670775247485683608031889099797983042240941087403902089678371827850542382084609524298256068876866972084520733630307869701703435210400776082189726052637681091868512309367253251626132364891134089900140454451732586745576078699795728192091787549399281591899563240083089944625487499520039341079756367553453864514911421657356617324330962105405355767859563391740994527942592528683480688569899960181133899256879371890102285494666030012568309042156859779802267725994896869696834821847121397928327909152106505635527002791822793321105906133493122777639824436011216055616285251584508851738228040544763042270993446623978022093844136180075961306267603168062557538326309482155838402868170724286033573157965748487487729291733135284222000222416105125266949256510780202322728733860202276061734723140153441642866472587240733391967335625441703071550953287343582062412001242713944878870518794348555673455105247980090031604872637131913075011470471626824720879177420753088018963411700925022031810177938131765825423935987082995953573258712330530387210596978660838353374828121224920096306244443965376712070229922956508479628463080271307714377297475343695965966135855306247710481845223135643761364572740122603077047729108329606868810448456469093915859910903475275105972564579284375211949111879608798964261997423137158391870834672831771346681451759444487330367515849718242586029366037366321214015375750020033487411542555464763888094840285703980739391640289188046449058710609644080653235512893243270930940120052795191122669065467324565449343168563613852079883519145655050117862075752557647059941025528230924028621465162437166321979945043613983146969810900486285829450732390143876846540084396817165528552512043882011660615426425867076491830442513435329729101921759083144592107499780468712079259085627039328793212812124794134710270032155611997011178194115134450792669906616729528214371671507009953820999723868155214573463155674385954527573130020549678996960430307581964196770666343568308039074759766307105693601119238480760900199497573250680914500406545908971006818913122872643570957553594955979783071328110035662942522887904023215042479811439999858814383111277318464165926716005327965170315996027367620543598646380267925567781141518163992037511159355125988298093753684625934028909193922069372541822805894163297263861367399377984979706987321271352960168336733532659374718844801803533249619912407995084695334030511782311221196728307882863312856836465188711187887688620905134213406814259564308286869568734065199375781290337728278585119341363433630659450126174095391286910217676173490761206737626725475681757486162225316265328877780191396418938152953923069734126485511763756458868117959651222600979360810095977828826746191596350975767722415335554846925230334101862690071835912544962903334652078993879169538752283745359370298831135945055213829540758498228524931430897250381676675439643727851377698999987065569423485304720098924423127331603405104648914223125969317984029615758574906526089477367044643145763970690996258867824924287975358445737547227512589632944013653174535854726296145354312973617434718371293001474794528930431503141216137886509168021293378141737792751102876799746775645871586887319617133934392006119284132208448238362007261931129340000126506947580425406092262823687702686344845926163576212097946686797898257937741694706114123920238804046981490092229242773689731103284554209983954953605966327537044533849752177818049084347671780851005451926607170103267016365924152748841924249398736525878101836079592555100601152945755420752313150688970419190845457576777929348635861482759650031964781681980813518047050296236452963627801076773590535200214805939689512406209291323362969086965452995703443415456255440049290071204469130170542512651671388583616041294837063137609252178389912588913078501647236245017819143140941469026767794622005334412591877308370664279925553175507591165483831939101220455963182130007257097585269168130490021773777054661724606744786364540629636802177331224522020750400482941997354380260842486699288639301186996097116229717384244280489524909265926371226618836785293689430787042611822567409695967002980199823060760870918009962222759207282927300605272264672550127075182903682123956090296722495362545523647965631911407457224584659330168110673934323857971249610672839707709303984067258488537371575912990150490187763140908349819251083338546252194339882076492423692126513198558301436540523676400763521395171960715602853164100645508147652042944461382244870208266345036297462524976903542672878546310542361978705801541970158040180413702715127135059063169114021615934364581765786112581033245815208187358053701421701527418178896681567844081686513243761192141170735021757045619540269557130984188456807015642446383168316257288521062948670538749188935316963976131653694398705662107878092942900305129892473788256165434553751109204667081414360663315280106816318547313716477239314027808174239666750898514726378578778678478468303553665523236104402443728577990893562899862928667577714695942725826861833741555430338084790124651779326072354234358448093796550494648609651928102458213231764659751357346181160528549089069925528096911013472976105781066434639959277900236706586001257232677177680508941012190215659999016424298986019798297619256146832507136595106789264267780684323521697653006516934493093369478038511352147224553178281947458332055687654248274470391687879501748583713329705115651037886119388369721062162599025046001907977140318356679127497394793092730915669038525353459936772687202400021143646954808078936020948403397276805408268484132681768304616924683678423973432234405909047000570346888998161236302458536448073192573666635463451751638824673412120159260348381702274511935009428545318960662555202198106529371039624112864216609398020166574210563507037052755704450849340861772711530955096430326669105682695884937033834817497047139727702032900345930693318008793600161785481521867338487245441071387807099934840656263766368688159963783283553591165304655978761969485344591882237981664699405743680969547256366797278611408840623191967824043004000914748910514303985261778192779654654002415420658722241983175696951390046351502320641722017701815213435643798193981846385539398800604709084221715757471265089674469358229659827879949195613241225710447313614121410714134525485155018465581103862305238786662464071178851687430098057656014252812943319494597864528185263918785366565482796288806582321115674419265743473100000240383860192952284176110548738560332045271001449208355992436490920262645960887892105454474334938622381923140610396368861858454657827431189759727562361324515380198569005276205508905374056884565235672979252857490530214079740851535072475880347123171323459783038685862464244894382896436535741609770555520630720115818534877148866834463605132994666619147652812578538819200206508905373852035929145488130124693963881926982872537513658528700202627932708164395801768147633815559633672812702953166744660528057591418420069189395740590431489462932941560916203362731588379626044057037191757899681960330310539746783562865788658899175681093984594320889458396179329862183022584689597612064102862710732464738846423376141235433386878026606763490899424359893508078117153551056137944629757337425004239325392158009453501312310016978308820477784424913596516553162382249720086915046585692660276604927163751309622170320403426348090593739721107913285149680474682159559877455008753094608825234506242189920020920930613242098953657314548830611869161652292761068534921147883897053867713481300764169159427429869633420957130903095775855378564426195220067777282677890635653348587883487611063923459041563726791970176687545886873776696627373037246239568913559616372019313916080390431430951042252645640217815579014614805450625454620298665675283146643756197529657839099813231008799762407350815955933947117517752223407331512235456107031406784620581612410537733071069355998108738131909428960502307145720233838145210166997215800037146401712351636968820751714246109034340613272677432172883122376286551447027099241096088583667905596967325371484148572017438746789034603453345547877177311233571440988325288337938329561776025010753151590915324572514655922499890364385918133693963109612385102433988002557924033061366861442677459600708102616606418997234579342896653602034594625234501771152456788454036495430043796174555372901154426683780758661821656320034988776009937955770222896855661352774094648375856714694959186372534464388782158433226588366777665587335195380291390266886261510439734077148856776936986846086278654832029858240324745606309916438915181271218794474197417122729425209874017181466337632894774637143729343688270893932673024561735477111001036638049921644519743184137670697622223588215586896409036221792256665007363313921923086248201641444583060356007513096980673975081032062388624871633285332301575921854008451517835261877595229919971842045868524903259070941075190926761813051900893817654652607296493461648583499616253772061346261665835149414135913261288521726179696480495397863046124971275445302450710980390985291847540959652938084892135133246209170876466894000405324647382600452361730365048276271557985968786081133981458418488972546387873819223790441519616696934671134300240985351496645446371387300276127873015685285399911595718525690786504589506839761750632624061477149046013206200456271079103480654996806426959077718365924080934400934675259947179542564597474465540184924520587950181169789747393686142246711329990678760955605972274690848631424647559381624329422256806121354152017377631291554103427333983828785030737982722315695442057321055169100065544525187677335176840192452274925193951214575502072746518584937211115837525415716976636630906486554224628460183604717195433751838202390344146932836449422849428796729787622949011932932169762137877315248957179986070258871164229430592246317467087951822266956129409820133302502784368891756282584896473228745990828204640258314752678774935638969195815106949526868511965558536840207035829923654627746120966097091706431821716846890136078356686051755084784769183264734481590104365758791833929700703317446803557737863834924545390949039906634960073091678982728301503479357324988388693615082225543519260405672760475568358423727702841608502629131966043981535767783441390378220990891442057405549089867097495241129453548366091913411189428184145285403966660483474420678988368322069708387750982740231643358048378166643299947490732461722407414034297499779375119529588737283872631941716913456213916123748725434686132523829342712789746677700283712016972386607751977469018177258643213086296247671968916591328684567782067194793030742641653907091130758892899485925163884720691563726289813803184760633290269688431246547857484433812252767003630442121541536365737709362499917862479466100054540056012159877443471941475490700568291496202797892688723462831374463952211656928734767808555552128421718949533738258464714757927006488309349445407465701719144530623829841450006770351899299206028357304013825211787216789109662426267336563345709065270108978391147152649550792719482145784100253689268789522700630346115795336911557049566229531725490034965007166978218392561622917457466994265743221115927432468070444269857953971722831397822043375069009724802784521228016712471842573555408830397304300870014170371900780165953514923425858754708132909442944303957371289755067678475357284752002758985189339671715731093452300295803244472093934059173737191885925124406190448026642631089982867871256134437725748034925564357719901852460404445840844631766347400567839701606117033829889829388661510901512641444961428125993486339900583562786006121598682019368645037454684776568767093754590916830958203251655377006533735899822787743171451039271813999841798825997262741850210303468280494354898715786581113531459204039346784865250022618844377718530743675691797250397986690146937017124783308754329694961191392043112459303712967933340823201695535723967076727061574827327183413878297705948126916473914097855959309589178199073624431819401509177734107717369650842091977012110777875813718550985516996342143928661995953979666059440451177996767428504541411428901158666986106878551264901099834718449100601343874095173994438155285583674064793288749729329743782490502398048152474321038435714921946045254555620868687197264318697787380568491481461906914012715851727475591235697130623277602798252501956187266859124159255825669400928425734405100105661249550161220770700279723521684197433039434557404373383821855428201392897519177862538600965372321451044930258657564669501337895125711343496572005070079408548433748521112397014132738181727656802120110315280817143873400602839341004575083195179978344283958806138396246632715942310851781206061391919379729806103109302070063367487544801936310256593116721793302719941868332546071999489461456966193940619567375621005111577603857922878709300238191659544027842257257144103697907718666956738496179884535014692616794676622769344206988551310199782986432543674997121319134083634398524383594347926478855396765101005947303160655101749837641627518540886892269180855962630367050078061244545615755286208222068249658870314749079052387388887000502727941713096781798092130441511862232179800405038344154615422461005224440211140244529211256313052660646005217968459609234847875630878794794886270517148498688195597027191096782239995174473941576019399731171694508007033921111706214146636108770217330029814619232451325619074981858603839498113012219897142261598261343448827700361374162029889300513517106523442729775532147803670522715137307700038953210124331231463560799133596170933366425144962619858256509900190372446430071287158554425821625557462526213870474319021487911207900889013408834280302761958217927372144749747103454676788853111450651651763668062611196306771341710470291222105439431875689256513601134357267337002185407972713602064990585535108303095481551048080248104984846047172541057722529328230772396543769485597011179065831131329564201616094056131486280834984957291445905719114765190243860406005737846939286630209758053644552706027700231407898331110692395237578943185850740068926643683524616267495740302913604700260676851686611864595990814761280431310553170117185616810327628499957242947338155301803770620363695651904438516847545147870455031571167938486846338495098410201166501293290122516258183750368106286165469257382790322056059039870475513545762987788592234829033002779400962393234663297845579689323778257173691678311062429017030464420694416441490252314570926961159416639280730181541968461055797706069767662225614976112106442165825480165856035632273656668589568716446402470604559970424712786590927322022466351051909156758192891958924259910326589718634396652202358752738524016936198348014420629214603947579108464987163928535346656719784386128463278284208921826382898935354903493505574183623290734340579626410021362389628476925324084496709857107074353450795269632739847310913987395320812149973680437917738171327182254928517733480906589114068591861851408851581681901265629621286907060085619089374882379478018735103838948142393863183666807485836562185199013916698980312389124215594417971468926907151822760114173982295178067119090664345886419436293138122764845281778052640392887144069621321987723353433793242662381443945552369015057757691774058375859012954225161956869905344369101094983784591258908042486540400215152824582295888431946041735378992080956993532355977824671970461900619522492483547285836950242758969050530370058046358697490202136338170694453791190478185375554974433662240872021347565781273559267683752534438231425252025897680907101855227849859544229008928958870684283548337516390236780337469723781761641797106742983234494188046392415707641902580880588736035256312538542827746338724748654981289185732409889033962769293761189521325619269421192540079946770247400113497169396948285274628515751877934657086716424992432528960924295387432055242982951623234130822246193498830578868068620859427162364040624420180181493243111928764165622068871456797283851306801919527726489262339163188316030159765058090427436944990045315814911198284149542169202953774944257850199481552134886923334814786389278900206506333226494423284893823426218855375558713317177913290704180805780074394617232204774378063927764508165093764119723584129197805135646249811714495200714574364965262577370804987414640697083365392875123248864464018134942305929087194489098868231321844765989290492101676813035366219818225528669087086022613966946400478530250553407277378793625319807268265338431404165167338444819036668121463010673639455803154198936994023959910790433387432427233911218827128781519103455554879649596794729301281811322959182720656271090735023068182397880972560265528864576486803313879845930933899492474578177889182895606009935301129011258168125638865904068418749549985890179520071767446149234853070362853413823806183355949344943361743642913373351313289457400524938439993553308899264040455149966231252363756209545554689130393621405218897478010227958350140901100024762670345914669634413893212002413726456273506411415729023008786006810819002548530839051656937956144885951297912843916606610402624341730145240753471392405711691601183912120900102812651880686310528172397726563453904579977061542292677634192446876411700068721826503597134697187754666694673130990272849142239465134889598769545382217664458253882989816046932072551680619320348194305592908544991727045174299736923509755722908594831993149130391717130770785052656505021200230753042956561819256997839655461712307583268306485524957202026983370941897745481558398747204827805958318265014884329201690542208850958093538490365057672451364445734086352946086303604050127638399517931585698292430218982327452158017535691454241097102649761366532114718012884962521035425679792606045417732736992578760793536078832702570462787997025997910208271819587492617290710644938177491274390123111569913835307076194075415916255075321023056183150539562175484633103280892808894911021272359244810204718349965548892865590896941837784593292819734460071570007209724027323648734102396724437516004034319902385750978275737370301604586156445177598602899591337903047850872541053367607823351411263125055661538320240328256449927957968140459439858598710832477576632357150363059606827803358301127332228620195987689167180915916445096784550725463998673222852727712746148116254793452683226574340174197533299829270475548078316741525416186920123168131342126390674816496116241512285359569694590913707543444160426830178556264604608224885082057820652815259243257250084853074761584826314256951756160768575457712986074139709867839690980804315693520317107983495386512214736695846145720793526815404125295954921600920649778614735554990505563717606833688342696960291803132438589190165591932399540367536113139767575771533371751813100558061214783791200817101277791434156478236878088278979928607908822744694399939402334601565386575767173086207317083582945871486710235443737747706440156768475724846384329419323576958832563782874352646907080362795788698951444657141420978501852257871234807441523125552351736199654490631483352389916099240246134175950175311321181904386367536133375838353898596667060412541131640115803575955373138939994317484964882332771295295225133475135670382729557547647654349742096464750081795825617230713360412311650421773835925642385921825720745577832851967354925691746712937735181703593325776798932697215477737824562673687457697842256507626832001721743974458334036163667762622399821203125078323869620020125168389994378675671898860394457984772109726886218242026905685297789514014419248767208371375962762379743412344371502111285235958531670274981990876383349739355194465222390121024682238887909200027423264686752956964365450365053432958799503137859905494047054471230870601504965525794851670674179575585125737524317732261988479106188764723770871459386471009533426489938516321453264932565649573929038097545102970187685035337220237064532586236460145136911970369127327028548406317314573844406571747235220646190108080754106773992607327219516455094201948684542565536580107259053000971741328658682909136943140226633913740012577945832780743139948309497029111456055255595766675929045538799793169316609914281893668885657588737623860356664338620237566518984811336714143931029063370768761161748455745263712316707190240204800817058953629102994408606930490364120158821032930671717169346665184031729923645297636951443895151764593985361622078756943279012970969984597769632348089770860832893006877069091688726277667647921277826710946118088806573826433074333720831750141050806609325940022336809266685392375097646988564124010661903564456020148956537287425058482578188787255907580210749333151633779566394244827068643167533423598560551976467248930645437241030667583579144697021169209451906786235645607844238991470666651787093337921569035740200417714748640544953408748293790945693783138700571001947776463471308897992486325804167802757647468874182241180832071587226798930224716670961353623274203921811100838690356596716925921968897275799002605074059846324171894390949222103854779021405948003645716680201195637707561665069838381178239352986930005773185832116877835731966906388748146804114082952926084590345350486193302354347979828414355490453987183885994167511365458798509495444545446072634915005208481886354186973784264960470277234112693054736039396499984536145022174649055477933973456902907326061806649278949114277864054627055603321877486301162035465185617798855672211207520316400237780513956326230451464630282378200294744429220600673887388971923531362352875140946298308453833636449011530083071171046920841970219764722207351792163748662699098082066641026693796166065533815340317412810268158006756037888342182372009133484538236158096826631623096253600435201446946824466025363126252625804365724826963436740991365787015237182506777788308304502435638571708049934287912221651563883304480512346997308346897845909428366561592063075629308839582184683395754020789713145256834934292742476535513106526508513121010216321836332110043675759155932322514093911097340273084858622300312272707556593117357840661713958885021650869609683009468021335163863960771260277257495151487529141294641070677934774808825856628867095625999445539634241935101300869163132081700629271537642517709248637622868847940884085211155406618274132944770355753107499921083057043638555008047752581553622152252771624820944151309338503367281822525799424478279306838007159480242969387876508459592646912450515636522767619486394529169192701857641913135719935631322630484961484523553620595570910621930470272860083148134169464465254961087835494083576643043641193470931616456013570542261045803275956673264038037190309797615051457619736072808056084518075592679973344186890450002404103922422744165503157001118434177584208931061223376445341049875770737725093526377672235717984325612779742030960387387007155185389299115038057055311140780726823685803526971727792853576263852420466966883835395859375438720331559842326964920808117484986072768015866186085883230496300284162586903147167905340039426026414204368150442792003690342429699784851783541079039701777265713108623561904632940065510177529047599052804284706740800961019713998591583300237502594411967496779686424583066624296035298386944452973722175142462199096889444405079151336857641290874759946994727790015745178926439677485789101761198874606917519686285422031551535366842390876351824664196960124781244499343142804465896479377356330603196462980402285930833545258307409630866516070972684476728162962215497746857820834305474897573919902880458393387691423726178489726482803074826748143978401715723746962186416518744984602389211037694959122319844172834126048354451385959051603722016950121666434553679785136578076914798787074891166439296985286394672161200475896308492792983127301346571328692565253643689909993920018629913344264438571013480492324136671754203376684956575853023353706726724377445750757121224755942915761039265364931681796787818122620557662543552149342437506230945328498441886828941965212664054547840835697888889073916122266933881090263182833353137721179549956697132917498412654378213339024770887755697862805528678219183858910562728143868754716302029501783640403706201224986973110273161941045447881768021651111083680835619947109372668509584063659297886819133133346690269274887150696057622764371572233344985044257101848475797388789079948788876903366384360683474862731937607160296094600080421547818009113890063212177383800408892353526328118708592883758364303654293342915923410576937792830227653415824374499181629169948346720149673408409152202120234640268401310100550308739303484484098014237668374246040979344117105820241237040682384361094358942090425299179119273319563753774282615313361618835121576922791572493120412456699656445805560816451032647226159555014572485913932091525311058595263452874650010962292147816689940870450648868650028261556669711420973627123816101740006941899494797834874946316587418132817208397236000796783818837055415351097173428068336309548453505875753624075170348499264210914113475065846735801021729283476051119574629812236323287038798987257212155401166488984279263818915291566722018811460080056044573811717465222502193993069018200380587772852998597374192525851016403883683822876598267045287730931190840955120365469289182299137760027481076257940746410573766943789897780605537130086083773882482771520221376394840868470918601220874692140135742931690550945951509889616335969906697594336769050388732521252576638034345649027940801750525037366734942160282624001729361056321017021587564374029515795516042044947723040848887587783376215655069958648201461300848595848010155664761223594913744864331421126669673512647092627389659929718457689130765791116602652972092574642641442620893604031948286014797012138217353716914308362537223876958069337554403978831315246043535404270043208953508520295199320881570318757082677880632231631072611686148963132925101509100565528252527575637808158247121517546889420261416455255216185789871379076811871640976839341747995465274354279421635117595877315165801990599495863312717623105945844802347064629875360313092757879617318734347527773690446448257947905757334201684733342334547941420155345955232668632211915467527729739103841002084594555902536975104525390959189576875139239074632747818468936903910093274015102004400109060462386808368557348026218273055766037297605811213638961462309242014260107921933824257382100646250652916050307830108670111351836387854857935793037017385511807410865406701343120186425977734253459047389283384800466010159210454421907050982423535873379715091657653563558494033591668259084689853708818655770305696878672720959437926143078589194423341130539372687382099745033117407212962232231039145059482005639160710142620627281093474661612897145483152424441900805851611749153756218980214711711396872246142368494913729669430646649916845851911703110616229131236918593966916794095433625203446750378030386643176977999065050614825563257428719581284018162220770200735347192537948829828995945015081336037051978324788556472820100210522205019954796870496677455285911253190907040726387172525027461017018779595981819331826648300523043935086266768445782967090107161163270751500052568936651455413910676762631870757276302882680680837988998475954078503999535201334238389917997816547131391811099651468791384473828541184399876771389911657204415475376216426729855480075072168091590720478967431699397852937151719448349315509232034423600993367684446318105129213550290790236951760307327240868326252790322677245607096634147599921399375482503849422127581447144180899072433858385067105390552644356968295265408955186343184761233945591516733689787583819118268242448437429690326902895448166281128001717893631050256135761523937408901711588676983381244545280892307574073449562111072705333008000374068759744795246134123737234959662454768550965894402917287810684865908114054910624156547355695699194378969922697270937508028232628869193819241190571226891747563385846280684199337984325014805416609094323070463236683307791045915539604221664041646765474123024845814373083251218689276934024368500357032918383228648728224559070983137986570813342551190395225526810677480774446814846424933064148088049788394461867500925364133194456287183897718064589008344497760874857909076385456585544610105649955657375225522098940503072074833916870831840942680848532897669082559700566118587561483866705835210448115271198400835838061286426007036846142678998846452766672819270928981232351975924515937144257473884555285644599190148546896299486796401103359086346805974943803560136650362900571586247473370641493921085689468031667816445796886815881061762273637609274782597840415034659681202414972722278461425857707532530272314978818017602503220402527613348710255533306235050997083533570995768057701058159270872940935766469318713085622941491128454724636572082551895970969039917244071860604402346623530193832744456977182767660733585318532559000405509070561929835061922545603278314506254970496499447717700514154206446433902552527673627641100466825533757569196063576290650752329261411400310199058205904537656672718578039202523474645809316538227691343276467445090228654725416068322016840229300201124616282285367302717981268862644160325664590204743438269692929405591929797513607526510595588162331250091007101724122666910450624065303412666649291450923138300672280102502831477954328347011477981403105394184058944789588132289692192012721670270257941345694531162810546312041331125966654020526739038890662564806472939918471600428569437992918222656109422836954868280323694741934620078837089342645182454337754122365948604294666984937482895700127535611909587180709254108842287757240405761069823536800701088107746191166361365133958322279917563103100373866105284158656902013858853701518135072265030625552317261593664956562436631131959043446673823313919589994607012504858445282293419134767466130836556911402854240027566022493791990863100528870345171093444925844865026100100088492666273376701383781226324426940106580058709548370748216598686220359366545641592753743682859409513782498212886478627826358171673160210509736383115136538636581016319961204870932647881677233322898087119510041182720767825994982208621549697233771301748520984199883843742424037367538783564467359748692784172676394875495864632134320924697643135517320596940440841668047510654881778127282786381045202529358018716836358695313722102981499890147950513908830316382074393234590445026028450731519332853946660038332035802677825433476305193104023490182874473373197677618317339770161208995196697660403019697305830565672229784160548707934751088744715414069369466823832339850550423907757062373976944743118579213204548299863804696252226343801446627609150441355148029822292631170358003783261389469176688631960006906448513658798841242315485315911884568836734008667720323633338051888424413444062057972609114663084023033430272930301767768362256541647337829502323337591285696663937940147467317208521458987209897029470029348894762133656677308281618497650175374949587299366793351535279408443042190758710244176167188180141605442274495824182190936569211827090425720303470296304772431994351916866690076163325971675260289102240146679553785851786090911032789989107725529719759613680025136146912053593050323507013086652813919747421592175456824466377774668924365623432223172771394207562138181925239743985398470220104587975837179372782780850449411780870690325419959239296922746464978794761102557691223076333969523176493448294084380277532936301705134655265055129737822823592982117488066374783943591648779590085523866213596150234990378013050978536095257571285756479148239181438575867989112968711361632032453106733280877949736009959527335913789217415507724165607874643002644545292219615217357558585715895701725109944382832287787463061916961993931185077904562529535333822597481330062888803646243122995443019683752332299212758653034065817947743620541586579336571101729577835584373882930081359835828058363837369916288554847756456907703764494141436243381322651686936817728251456633152503915086972299658521828685096620160737777215930057470632501276511675610810147104627650645051957369024595141163737853823479619652671623713831588808909617648782968361256402061593679856240853288531059303194824773341311173608956398916371949204881258308361725444381485159192515114945466550852954712998436663121002339544011077519344239573119227310097224837947429703051961197742055636623729777473881279866764042130359981245851591600223840479986169260845163202049100186248715090972277894101118876745948041032372479068370056121835763460126186201054377514803374885410682488849119931487737911227967656945322402328883820306295283099081213557087980881230768098536981476335293031184021399377318200827526005716187291733967614633313850030739381278299083896999090192413000480342194956035373953811713843207120600932836484656439977737614620664220252231675666970426409456061367367565713262419425009263358783917147367344465189832985914932274155511161771413088040373043526501458431455169044768489869475806265489975954301947753769212097821000522932389372240688809140544057850504575256654628676435992770018068626562936153093341429443708870599991814922168827988313859888296409957938479718312472813182913131888548911870803801231001839042823198852428383565412364271575799334542124967042140563798563113348511059907994482744325078864344273331382051610053692580590931776988464393930163609961240357165829846565349699167149913496847341882745203416489952628663511984399548952693708031689040532330112887756330479152127510693246693478140657218815430103333756449624451382783231590087954605173782636174367489445015644431776419062767909909721474860481013797091686977693937467715293733409185853467727069268988101891516561999923726643878704516057994212314599205204453118104182502486015090835740199421740460331970045806427424375891785801428240271817797594226725156738882581188120555645983239732379490450300891151677004238772820053747056551444657160358798480858975700129969259157593724340594590098281144586664819779131580578572689553149400070834918047405222954323177260864672217158759552168618396422333904243380878810375374567451500355190001857907304049011075977063468295908514282170644597658141815572815592876317615659906394438417576660214055644831099676708309690639440674547890894476104167341638503449900109777413501305039890607135323844280606541680210028540586270836405462688518315377711213878910553706820424480258038852576469701991556016603021557614575277638533252607875670977735453753972086219266379658413666658708011580817226046485027606455551839699317196718869309622183241743966760775258696426877381309790011242170348416291756087905470131853952927752471988835661624920866615686854994573486465797683865851364062270627231703721877173557086420858143454430936990979311076968135602445207459565144368906024694898912708891833798980143901293430181347060965319366378033458645048354845080012657026631605816711976878908447260281550342074126316769328947852246547855528650493580849512913840703952254938952713691109790196430027951829878709757597977344111657497713890050488073399073020507485737186176660749186878520492816978032418271240953706773487657267410120506770274054984004695596464177380658289338573417077979271401350333147335078919926047941357104606489902869556872744545896298148775045760091194226888340464157306453466024665300594011526591311721404010586049393282656603208253874521568707753301631914022256994079871745920159610332448597632091919908963096424202412851685161351795640693446055047216615927188252004960137309056133389866083919258994300928637467472307016299621887980566242981893549500463239424542662622433426603564814703298354947921890387482586242529914550203354886593710604974353385392479000284454015245486217890384656603204503729593007081433693587681972737169314680739557532230621219648193299003137495176142953600236737761094587995265871035161747523810364965193784286344225022458184240369155279944302612332902124570814480286901227518525074748706194710651096456520093416058178539160903511640062624659342178765739114483698108581901423002502847741255511993920453994578684450970665755246613659962720378883566787111711219576704525209086163430696053460647516669577884725851412184413680650026388385158860632225360296268538536567793294683146172176243684860364674182897723853705009185935151230884109044606543762225156753506246837584759368640008453267973089475725771076436605724577383378911492240723065990051249311688355745740583264077423161087909025152315111941802254300147241500854241551525120683389735788960385225889394748274635492235963282880548144283960966526996209914846879935855077417885436509254994702438737804151487913677922304874522786825053622140206126416218567326783320343248831715287503051493749920251737955887233963012076288532812775746387579366271525027250868841486935257312865351398027972803682872456929659409700814665241068876736415650113797422629054987463849778773938621663221228901390218563747184408178538117164030361301896397188494282359505184306579707193619827416065532321422347000137674486929891672607672458106009013895023620628158319216067241080849656028864945104723012026354215844729633224496660321727253694913950762777495417725696747148234581866915042009594578796277139446036233496227994753889594156845056822711664095903030019935050382497089289145830853788254819848554815735311910160747378472757829905848897413862936402147576515348109378741237143702391145286531071733819828783932553241810428277223489705462847005030014189700687064249420946796807216650189185317078109107800112900947184380255272463148159450873183714106895913870993439012957320163227991053464670137204479213328643722059525872644116553233604153504057273647395654842340245324678569872443864011032441679152175972244436682733053406777638861056385961611291818877384128578388896137598985942525717352009184426722843082335691851137502491538623375236266479894712522252686001261758528440084165689101925426323277906117171407354098812562368655361358527844467608414733792896649094857669500734081935123665910176395824213871696270831372825262095929415330855719255250532522794793984251589705298282455082488965766000417508727773326788699063094551158999755405001640567036690564282548173937944129091488818292015314910796040198309196586856934193575583748110607461091703872325203035282642555304513392504431248757701722487212672200025131027643799482634786346051725312778332163273814619672567381461089072632936951634290369361034469467831289032760165709949417510985272945003395718855682345444190810240530664565410942257825211761473942345187463177340565159740308581722509133072707803429466524806720347264501863715851647693428000042039727332392345127487227543982372204716977591051149091685821427751364731808975172475626293753499482130667826795792944003889483892862003603165533208055003276721264232877751316191508612202498462600826612650345755508102640447930886709232774176310249963008278389587967570794196173803204263245546512007154725435565372905085287080822086340574956647737631098866875951562131354770800669089147158220193240112681202566812530749793382741382451775802395528427254827854008918962833906874489034913312104576219079056940198425056510975520254919440213016259660892316630701620947710098811635411317486836877910957153256631751032831916624791875322712304742712800529679504378479046518830611121843536733767838047923457648499510972412218020441231157101324248852926209282513886676126146506934911897262669455537283063988592491143944055937958538828306100285180850971594687510436643262010641752014021389858703608404013991878222907502671959835029679803933812218465918875800141612394593454995824744934266014983702806876734541864863186816489067916959665297744057391530497466463874211708996565763791461736278404733734907692833892636226222525678834382156955979796154511297314729861750840302035703681286247246822383012425586752142094873947357607638976048915354582014657089814976418395614501685438315133675359260543884380452237036732490608794222604705242142743667947722932296460102235771535284453922244068071637707405812593361245734799630345539165009541320890863820482203377094762822317671509510343456618633518822801063949593198877104161405826798239315102192376424866099080684653141482884421484203551639004246020292868304077444633942034700342161509601347193666692634422565782913131365919008547173073883377775512998108224854590012936295230205891673722321409319211424105147224544035115307601059071400851070384670130773646861946160205067982453236240417285060814541897428861275088104327765451342698760229705213019213548464681396354327419549613555982427038088535749303567332409414696887527751947311846466868973215990708872579262970037207829699014675535853512895087176172771393825838926636852533280715343613190008532073582822079071586300286728743555590854645493499759099970627831971409547513277946163169016074696409205669735938998513776835576583346651629183909762613292320722615473116859121588648758030394045473514930397683179256046578009603508549007320613648124182430887465831207884634075879588734323089910204456686489327693773057019243845019254166758635266532405135612074368536233958553406253997618887952153442165066285858831624415824969616730568268250086521658815126848490522449210282983742597556571674393440461144858353486556280886730759314781619716761268570138855745379045426935111640054106859380241889881889800976093028982920745163069614823361161718825250048738347911370807552974049668220913415614243969532217037216646378890741969788497225194975915662687322492169879370834286009341978311333492196896352592867724940375257134202326593468892395635310866690011200464443190401672366464657733884160036430314884500162087790805887249570254405746887021785313486126371441204782018425239784024204504826143865835744011057826238392083656757322665983526822104412866261807456644171838005600407138805006130829592838578046101702723087943923340508246522799307114901975773742007938931129163335170485322999103382253124708918831534770660675855511437135660852531201310026741570466893802320437542678140458739646447376181764002289579622927400526337459866476345784677837920281945765360862849815875271345271107172002587018946632821678754515283701923900222003655200766144620030138860249272087420179216007658802923982411161746813194687236589776646381103468349995995882568006087962622859718931931339029479965591910476967292278153608249674082842188324690088567669404448298273869998403602371623256643688696996694566311167696591238982270478352225445536086652121775986387364290160004279130669492195773924095180288600828036610966398303540279320204534033855485842400080227213537572241208921848455620562161500231900425586530118999819676908609194362073571724342650614688277478196403758268850357653999998997041489959276243248855220577732687946272298148948046351073976369791329935103148083766010596642570774676605183363312567956128349959977097386283968341847722612813307309195169133968669802154659129319202649105585240321492306466944348784514931661296067527743457448707062631203337437419740908001640819778456762567599120015702243232687679951296361672796258401297010186128241585413609241656154655552247312689691839616300205256924245654328967011065259369897913554601757970730837104875825224521421677831752828310014558371580025576099928296748116279015396354746157642128273237833939161207286397420405567151175507264398265833403905936816390503677648613552743468131450348084967994354575769392007814535906590588238700392773527074364929463821977304655388768029831354972984401156141396823575760086965272656041093708999531089569547966870528651806629161245865202514604338948780234086199254129420003427546650839818618411488875648743101417352500948176731693668281202648463933410876214540684255006524208089644338463841258618834290941831044334093190571083823888731156961108715338146146132151645809329224658067886836250194534823409525171772885182844342300292935309456062821945012472936851544191679876493525748295594719432619229548466609947122404751241071364414748739749255388230132827787515107470112166786358410515311111079694570956058615165465678314642487375336619685171022017578076208645261524969254538933616474962626463676832962745578004264808078337965832057770370099805689028133165686152311427917852962263562638439315699229553299221141760495521338143536992217923766886858180886073253143330239997674825800406471154850011685114182977655547041197383915086153079979006968025248264580498838003255807087851541274640641744914978915313449372007961807956020771769379119916209972895007295757819659311725111565802408736655681463120233872854712134206248274780928691794171434306736661770622020565252199851854052773293471505133965421770214577020304629125748321407348307179999517855028658411252254141503468617342402160035490424896852757508626607744742675993945288191139032577051424874123055476790279002312669889619510475512065773552892253597978187521617903244235683572974444365260778121204993088156491567774037652864169815874750352895011913940149112137449436849066700322406987157080262218991648728199506191869018837530047571365994658755383049756315677249116756281476044912006212507207450450777600693664148307657372320797438344528301050380157154156059075634939025603365277619743745038932815015691732328771519540728645066036558383728048081057763001502914086270992078438728099903153937854555207632523704268533428232212082240157891046792480353037516434269398558579274267201245218399411706336262762585869092783028446991285364764043496776636159461744614032414072460441831202542701473761609657408988075296511746955862791930359136322920623451507820077772058309915773291720172567118024526560841064016060212522762035514267530792285194366598460852577519928921010712697591894753000242985633398337681891272161523434149872379350388852028926848368619327992127714508417103483741958154452979459978327296578186110586270994680395570729915234404169407167097876677086364751508917861423859728950340147486188777438226129021400862669409935811708377684290780839688701037877162699498028556101504452113503864931350994321401450893563488729028177011738416688818118724341143972052856711171922917442565893181381198561702759912603136461528003691079933199796227443460672328998276040994290403899964416707727602803309402954312121151109774619414765010292796401530521280083480440002159259737455799857688407774190657444698572994372263778550020600274329657567857178532946938520211172096765773411256074310812670007733803440280878613870558971909749710791292058799043020005175178524897874517790376053257751239756079183705218968089597285675391045784040800225387135606101320672759852430795839627303134064423133544600794220154517912633177789072990068083904051980561723877605169722641682121314985322158590661781003036713270224882032443639939857518088510048539840033368957801487846628788628133231295413415216794741172967510160400847641921820539765017274451488307534162285671686199971082840284295489506693444703858197534567191429503655576529584771570751923583382506859565585320486845768380470203380703768849862306733329285343354955212404922384566195546217825921335354803451417843999799512110734329194553301678219918058792722551341525561748757708910495036860004246900161124513568686564703932488868934839160093250578469866283089733431741644073366878040678002449019470880540898197463159962503801299677914222550393961861752575177089284830515029155272626427961489923331492247112144069724832466691168609967165813122615376524467319412857530006996554801319419196624279437990955986730552671617779159202813568546735404959004393886711161116294132885861378028916703910133509560302998139347889262513483407303524104018334769990686214106573328615055889806725039517782983159754679266904936398858161541594508238848738433551480416672392126309517945244471735541100617838802295067716467720163906441724020344561737627091837919074216612779810184675331519121140157265386308727871185903451383697610510245300496853697606502610349253538730607230210857266132668965246667900232101575104064188931831962131433786767090942842408961519433959786911062183710006844037062823577774946891230120904984985424191545750201749790105555976793659046973520445083619659166015173412234781209560517114822904682893479916384834242785068969088303778320221196258778363541670552419629994898666374584104863603642281437413821850573863515490720341842168213625220691294170890946137289892016181800727719744828199971380179686271006709681542107076342589123777429981909922572490409573341991927307827457650646505523659720123201515918332431535164157558625823903223598526947525287299675188096134717461626287307887408323337972548886837684288929765181434359642963901942345464204342256504340240810580414985044962393898129040929575221116350477557125539408925989766018954618832276987548085120397951957107232903328824293696855746773653357539920851784521914211238025000913325215333409760987977711360625404605148117453508966776115189121717507201731285951831384834269454296018296012334995786741753257567544589741695896993798365755201329213998575169749611789696911632992622939514107191987219102169929819462578901557673589543669263137226397290998393602824672944916593905865603596837897807359948864689093107639671889058006742905427439771860524281000053533755199149905435166445580733338079799657902709745263955493494070342309484760284959804139349416502123982777265311218776575113302793007989848680280730216467844582486503148617622918271716407262434100443114707935135380891737754410921384220656598439581226565960381770770290156539315800370038877935874017514239510290119915812802122067047690541312566513201289400895402040404998717449987232602648398944208048241312366366963442750152889606205388344787596754229691707748883092885939829157195181001768472595946371991682424952930226435387884931609481603320614399557843145912258686154641618120766361647128034899134538100941091777890928485161994368648400956673970833188645106826453729268647705160679564851678767440727708931622588812066699772392256541254552313128304947057402982842645575771759663794780311260931051816050490917770971526965035653430831126846079149244306485533449477003396551620031556277940535547908204080884048014964313890216286187499837578269663936561228569710201076347635588192630183149359961190987083304035637942306255348462995901547171851429959246556635408500650669382164810616466469765950858722131641540661388788869835747811020882958237022800492606991299440516568838888111069199347569204091477455722847931626828646056622153912850459163621857527166830123908956969614615095990433054678863111663568164771179382281017323792654298274306202392144867753294235795192586865164724517999529919693536686163858069681000513013261803117238238222460681356283347663612518831900557659927507748336566240368195592808211118345928160761801738642087251503048689800614804225599305158776496367274255818194356449896211244093595845943969999692884623666870831598392123226052574048251559142492905122713124173370552240523549235434949317931774015581083631891411146060489490859032128842970803893614502723711452852102550927712445792212995717637027860882868770644141677156002962736689312827076250360593943479943031116488328171516817553825328200426342226218149657498448048145753405090895413926768927258701569408910339289970527023330122699980457448985445501576656752746370610376656527835257972955545247414237789466727169957448014050667969144386165814965939937723072471521536875277824847792396483239863528278478859270502583126548346227804272135489980999446188606058068281105308846658094763783006168246921099567224321981817954241628459366315459136376531508146917955379217071378734283239907196535748444737369939564954197414876795579170463519956404347835074438013715488403033685487749578978073895139117832744736220192755474190615676939130328308897408904993905725233529911614094046835012131669455646618326086091488897379859245367335451812560672767870572127214865017826472556411016609274022373663792452525094825602292056141335245873294129046880780127841146026681170361490811954810818138773626287046533792056250545863114870750277555323338637889596064363693246488573902755901166609303258473250093361437829007709614287088314833353336586073133794703831579368378267868198577580111309816931320447565054282073203030271164037861291862559940530800079119970951191151564303805892717793841289751075811426516365348517829640483948511923389543668212541146999420672011868141322175846058869370752387403362933145746854818262407677383317146382530121316377742871758879982235540431863720381346142976688057775357591311781740350968188780744832763711325768716577475273393160061743287056090255193532747343103138850698705885959858579487691289534659750273503709945275201450223313092514905202029155097948646313286165247429713358933755929056272089506956962913755176849047007760060497765571180607335523022028060004255561488800386425207724031385276647648987129698022306812523433431517469176937265830350261686688442598523803614931222841408203311508513496671081970351415935583733592828631707341581547526267502879164731752344247580377162202339891229846735405442342829489208282998443932470041157527290005434294093953178784825282279962557724963193592275444120734559364799014541061135357450897268443367431500044192402758816958597973692692929003669786116885718858740500605252422261114053163574217981465455382211094276206830016526995980116850682385778255266809896651832443958068959870272828047212384130734071713793062092367221330813833775556638110714951070402001564009095103262034911750232591768469825703871256104862993749818253301504549098678068660271991746802410237986384959085368775016913990771842208850969854130725321962987300009504820613448766818651178401618832582956805432579949891061897935881827127085279538081691593266906800138796230646774154449715559887143844854965247375173413766064916233026655185260348922603395606275307824390973155258961584251202665498169993635268273668875075709698175231259878810666073078251921342052878143282537720562718066027571484433965749532797216208403925975897720905779811266228926719245081739895655730510315293698333575736073401918161749630593550601921983557082766420858464627727383321740203118287491446555575078548568944724225791310800018291429658527466520149542959465644810888274877652824827963194461375604897161515404745419927594697378044854299459944737528141888980760611869642890523617821759593019889752345290060771442482074832494927926156355535920394631306683973119815355282011732707082570864061698468685478655047264903220504163918487570606883108468578885790017227754176971904621347801266922662670468968495624583374621733929039806944055644243645486738114462964371660705563429116538101991240983347128614696224225286199780169845852837419816751279406286587637579578585449326164115191477162068210014411435229545754805616253567700704800031672288703589726351798516216717948233708054418464843214741088341774156410599719947625292385020829102368127791279162872902831603045934849088444430113680424412728976217521383760343946624046544826459551032502523754481751318883826414678786291933893966130548953078012845358387581913676626891770802018268502285683402935840804857630103572159010210966113978106797889785914441006875071509493740047321962182163392154186746134011475761634817429974025503393253079194737886782768665648245665733303162732173400542042787973779913156866079626555669779614043714443330604893369282926579139994440073271152532427909326556914006043620729464201134114179541979112907304018615336735835657479364245630570383915990108277681875330496815639652055903657604432619072237359626225919946548139900908170928056381810219108595821676100639452965939819056564242722457499773750955678841344176359326166636558989697618533859039071391516390753643854072188836185985918075404240939533199985730279351842865844167379196388013621213204554809627781333030830870548991408314706982316398935893330112905129268985838905073583330072454042050908146894112726092220743317563473224451674200430691864888005667976098596809520597825577626625512720675747673627501402367186302237237677619062322772601949532745058996302384821569125099103819311618783202319680372987474365945202285660368883616143163797792333270802405637198350176316569716724676260355794737525856873230404635219181718129881921743885597012744038473399159079553985144841233860970813447216213204537730509207260932435564834175970479434838753044478966672961174510500860774912877102481527399859481810735463884688396693552459715969154106172944221787302424993655393328585959963769363131293932201936096666321199076265882805768445777765431347417607169745997097337676855921833495614420665160472076832980796520914465365745742128704131884920366806609037161297230338770248314399050572241019083722311926440687862269831262270463878439543447979568742187076084153518932246628986150504017732943022069794530126265432503384435028488108593341759509146929870222759884821152556308929646248998354727837009025099500143632906485323273525375989491596056567130175578597737112740819479831461039315623358732131937009833614398351287516978875867784036418708403701437648408107159480572634172957469694217969830149373969927156909681833766584483644635162705395471660635145684734282482070842676818758444949785724789656588970088415255748030590768904605021391422950834111505186347789745439608348529964663848522087620642113090475334489906007929521313318769411261141800764915736245601280917993315814036579866866693883897036019334336758858227334501924607872326508533571359800215859360919409101817628686329292487170627390149515305387366592581600170900170716353753222496240657950731093453311516439633348233830974674538739815904150561498734673389363364954156559292937208913377342090003677265496272299618041873642494757878354736754245203488930465346019366101801581958340694554442859578162009020282604163852581186521353255968055306959552560909321833647266395825148357839479534068453466382181226802278149414467219198435411904137873793295285678196830444918811177034422934489510341661141779340003002882722086997719966987999176266645174937856339983758037478622547271505338457886435653514937007689115624961823298246004344156751638098100701943695967815468743651020475189103006995909173093346769383603716402707423675429883630495444036691413121294631998444036249723485064553856532144259362135428305235775555826484325280491694198988910777704307087173427279431009721763512488008884032613483792281342060373004423400025887348100208028377918356987670282568408323714877224854536604032967241990949256620005748800586812799386121409937026812495395290444651653202061971958682197287089841990228220963951236606026962978129822116283089710678466236119259412099565816801678985114482461480898256344238387870550688450510802396781207968337591874950426298302057104695437643815589636298198971648696410717580380168717657770017766330343634245084197848480270872192671572587901811463959088278834979949234255095044958005715216287212996431956925869804202991476033918430727878435343104105520467600992738309257541692825152971014547913322900663094609455768361498402828649282503691243301130668785708231667282609337860702395109887713795161359652378417253399125743664867496704151596302448285662337358210969761488950757801126792822379329603672817137528477650849210541192377850597830634713319903978731856390105307889246071719960418600894579250905959925733646065114967536749369225679773648715129104953889945909527399664990438311821423330278553192913193543423772371231414837494793873058592050000284608046988187118106251445969133856294880298159957523496297277825311386470941889691539821117652828401591212878319612596875119981506069387498452015206441103280975739588841323847543219164111066997848789924532226246227257691956981853140672166017899541252631115203883679117495962093384594106473833790142643464652896892610512034205375451077638888726763904839292334770661147797575957154142850883288105075412842013127495490642374538162250438600432187294767664420288192778969607028259422689600434046432523066376131278180593909121422571479554597260966049536559608927487220635227560531525415720883901672181559518939307803742232373692020269579388510204733707548819053097674161573893520328003301156663199308392992773746581657577438568106344188872446021704347512051963265096644176799025669752143692663548759390443398637596499010252061368867642364235376735526729776501378181203929968165102936681086840739073365485492960965947963277279299052008073941307629672247404726956019570501211250266150759554703620743125723158527549073772755973533025586713754710536823164600467055095721291203998454708536350764574831554386568201027688629590652604700124751626804167493751505739310465689890155458996938872020607798607750792337213821925755526982565286897337638908668475045703177677850984838204617188992637391054771030565843453067074163734265116601437133950533161772222117548121152741391921728217350829473133205625374388574383787289548972983669633764530898418740816740536819173467186139444127293817214771842484210457902903929568099877522203953351965072117893058946825368522969946501828148223165259567753850188942352611381472654969607741989490881375761385680555037420848778619747172052585283781315041566763308528835272413346592118730966872465015117095836731666922052919141556545503835544670926108383765392021403103748452680483925628496093059423142835720948898181259197985988620216149255778271014786531617946433673856669394457401821182392059716030898450662851001016548829268204246151279064377109012015968211082886899866486536242920072157231879099403158509662956185947753349257492188172270472734648055657262163042220703263017670146443015740997808352447306481102471351385997683675602755167924161999838565467599417825482647122348461272380759658191204836761353640127647783776463643456708673428197225600193469319722343748625065906177424922275085321005882466016948147860601064828585426246994926629443869850629509162873606629051253459969378316527902423597840537475905408037700724035261452326124026829791278937886966911510606853093397919658669283819479327439560035520791039180150472803022469341227426040586776641256997040299126384713511214735843850291367319442386019592833342814661035922562179232040950201334026518623426545214309983110712344465456583308356014444765876743902621214967416464273491133274364417368044761060119824708201448479485693820105820239618443438026110955763744228386411899098756292746088411312981253059455547373340172825808328130579227535382442549570304584683293180257774107150098401652845144998959, 1653094419662699676398735175266938310315363008615396508906545192369935251306774637497751424389546178134042136644379922477766913665470718788978672048640736705187599097464943451465328001541640028362184163147383379601347332534261830169897280684062180839838304068969839107208463010418289399836617429490177947350934472906780871490248460496575968853342030897029073732836851755465195220093466645306982883509259082391468612711922722715938282156807061203933757282224072298048187360922011069701681885100170407044453421528747499783892803928802456036891138584084669609242926429368636143587130037857953688202683693350513338634030700363228093429574127913020548974958438086916796501357543864977110040813483691323962155689116282405973612800535571298010299213425286337075790866452590545154191133263206915425470215378198977717839709905151900042332037224586377196683500590203274298848980533167036520790344412637065378165059524723255344924258298872469969227948254479155045539889096917614861521251962081013999671185737175594072835995044795777684991893595970448721257833740867063181993091676256862655999762133059484042711033952652202240709953790842807887124732256420999781505804855470944444629030431322725358303854281508634836917217042591505556410966978862648748650920571229800085789959362711675901984951900289922968587038428402552894492446427694657229003988633705816472542114223923327908962990632968147285592285616615599221780934766561053535846991665264531347275613837539063889923580571646345016978240601864878531806934990390754469401719417205392453769547992763076978204412016081693473195110699426476950838839285264108399523092321207662815858295433935242242758248812104138889899916564638596785028050399943332021965785229111761744001764341821595647221418923496153430967742500476316334238428638176197209199831593800006514304387695863526048063570009353182769042391764313491696574780457825660825685489413475645348582611044829256087807556211636296861810936922561861850157518307852121206109688024595384975932695189749053665668088103231138330418316700811540948890043754612053945093224269422348373612030003758715544940353924113033259345587959191302331400151730353780967760348959814003887653002250445187929853616592653289894798319591072772499971523579826117711600043147659163230838024315971046805264965474783151710034081930992103686159677081522960246366868948571780767037417946071029239965049656204361382320830461246228697756686385375934977762010500945988446939486255249563774965817877217101937067359736121460448151428762006327301613010231392945813775914046931830285111348648404740961751962036049126842579404951782887294144061882041387370177850125161304137380793527561504881670521768972593654247353331871508212627636659125168607851946429551418603503526556470996763264495297071623127902262722590440346437473117449126650328079432004129452389898929084195273784793606461751765771274518623266977438561827719690627087112997501343962598469067353265459773486460204393409704437626766669787650626940660907983022116547771563696349084770175960584368119618127118662085922514875029753844906976671987263460720554985561354254029022275291142026904357356239481138509995514746938586179095003227321052985417756225160086704636551218055864367857660653055767572984974908554562720485571493655061397338950627017265520336828241966360686792955921009247696548789949313735675925024441174605099028963255723632622297146253499849432351297473943396211508673731815483251347311512098492370551381963828751205104412576139550561617192555987660939909629855548759303069369172259816445770604414874630940163693085008545306712437765505135674565948838703354009306020335993515842410790080175923145629267992306388163798935692393481358643248906901507664389597850207465847610224266124372652762662543777725412393038954295691456484077505067439143539414042517191115658348319857590983604119911219291237211513247800129149477998837867163790937601514975724472444553788268464523930732588063014965957680610986987224344195338866026479957061529946004291759159911060169244227762242048196672998074152592558902145922785186002542503267714376284797658201433655080785570371847024535855746624688181215345127013684219572938010241194915019195239459487113039331551316592815738728447882177439820297347821341993312687273201172220527633407102649291721063549622755042530779979842320476619508890359072996309068203599871414040827628970911044348587485811367617508671322898622275154787274479737394650569592191972482683410981750522006652657908223695391798134746377108138267686219257773536856498151229076791607372947592999011172512648022719590191449824651432696922873789949934881844241622250072926281373982425632231379911222454437310794938288616680841922611342264116529287662384892016697197578482333838988218604150894143673135185788481354036493298119570002319948684590839944623499677517716588696840826115141085309295069956680692504727482790343862891708847500258233727499107415014066705512869273163727709100905359126163417794461978693742207479736077803196339383540646056983603242057351799879881865668073350130049236935469851715290711870435100468433180995412313811228346993202306483913502287980257944056557823852550367634534717032241308942649585862509450807593910598714190742652295341102893933162381267155962706742124042750687129226911870192708363487198025313644640814260951944351731433407588985106854491349980514134798993450713157264068764570418315220745341923124663256544308944387497440281641930629990750374756036570365793021986316160956719447182783719745213644091062716057448060794604506657111237719299005834793841653606723832233314773398319684190882208142194177595956253610451045917804378794258898676726439511491059941700950163264801392187260166303351427664030187918144570587727386543060381897827625740124014084728659768848366190272698627463439594085120980844985659904176904341882843930519228010556484670876814118776183676386663915740712935673518417789567772995554129662427327712164061344066350230304061193277875404946776739425680993698473423234555826287679965596443794174026312294796196803944486249101392151564787750140841226126215277195217781201514239270862659886300797228187462063166028436165127788939807440517642903592086731324369039993267682719454082134296300470245945071015999909844672877984022777632792527475717929962144921011983421085668478505455917997393279293172224826266043371643567539713642927933749189275192096163370465454893798501899382170823718744489044015609822325494227236178752720372108332109728338945867263675704310850437849537341069994584583025720189467983561738022516612952599934067947706245906830427192023121351098608894961375783141852759192319811503778020534999666499253057533113146851058045097967169657693957178470370194097772622471406417893767538667602892689974288579692406251193279840725314683462191635116084860757317399142070131580170372343244153848509375424257031316137853527251344590403374152382425238857218456235988321319269365893643065845510716553678963609180180177507878889377328139622704487085768594822314286287853322557778149101111415796498151724925901944596737451586954832869057580221475446979870288025090217342642314389712409222293353124929791640872322750952732377431873711541979363893285971945370512677318048161083284530000992376462740019854068351411747777255010318878252232287172088530200409691496495824116242222939164597124771506476450163517835013004720378644085020900059326038917985217727379334225017240564271816854437941847740193756815173439958878393354407166824053022538458676218361310878772706061310012968788584445348008149497003989278217438753767183631659410793903053526735286037806866255399194793125108893387759480301384917358796599212506847731050756053036633773392598159173243948144870147646850364239394536364119483797804716877199665737104797601071664885864562574574166329885232413582323146632322882247996496714489537225734778606076262785260360262577667717112490088574809570530131045005109978208989724434884800822504587299807004548867382080902109181328121699410791172193323258703315066487972602340250480656448991285360494421495639456300014873885888829702500928465753130558846714251350907756014584557954713758522115440293957541218521475311578074946180491375248785112253950794199818902753479444001461887888270520594904315334961746399378445829586638821262935806912121522152672625591042522557115738878333933209050981433989704512445046727102291662384083740515716858640288827308740042523171399676523120868101805825634859480311645451781338365270872006346428459719532629157548717928670212741702273022075978870649936859299422748376462521970031313679389282758855680680736197213485159527565934070355006287272106456158609534937063147115836346688821852367614841148212478389557448063710951907088683677114554121492657305336631018613082192735244797360937232456751108706535901571998933623357463550393723470059316155355202191638854707766548738620834355242747299697302074254710650171586243189083165048329146333443079913720941093708913779786314317682671737782320128396331169013732635032855067282329349747444059650169459929017008262009512439083849271383103908723194364165693827423217291371575927523085594574808257858608090535837069672300154495126519357311603143015238089398391896020432191974972069838694606066581272831248217481079313245689861358967840159987062379521987356836201249385230082739945151994239797995712057441689212687223009752136092173598089038279784611451745163524597646282835638871484687420276516142240627159881068055867951894976989053847940644487352931977641691343698915671139096249262527933241968037665320306179959925925638362403587869805081011936921531519559469154488306195167026479265235820167760534468804066816430201219141728138604402258043211452318152461496219354717872509179008806890948554564819439583047189854909981848102032646794500599574139092607420865223752129111492306038476424554196429147000281701366385218452439594174693366463287838424320391614528097433205947480075678011873855378930191290681204403177894231519873066464947465788221455602196255418365557230076819493894653076798006433555418718132147417729436702484679319835774840547661035422880190528172270653262137171351877444442829062974004659405219322107012022178181947557900549747643491359184390886598217636966026041756152379618894477987772501735467586602008076118063284402813667209958960399612014717345683912087775253771954512312827711328016727303598058801310967237274169945185416752446656157944880006700377385859181913841588912012493602527170029136496375161010009129279298677750988475199194056109976692639126313222014463715910889946008728733869933598447498469381850574048472705975521004796715049879357925290715704994958520638717967203784453152455514008028035527542614705774070546878580738637029482250372143585195068712755453675102718062745288796935144142298577433818960253202745157623990856518593544492960954586762799777082703722050236147376844789250969348437870321809101409592721942513176469003829260328926841886192468959204407043791882079843233342027561267312022940238765037377392962843642487494940790576935600216508795393582386838747904475212399655962487670917286809876435262682969427771424821131171444799705482262517384821694994389381147804566049348355445095198259884874403857043292331221419194985212236597906139038405087283716316196120890747935908421062283522221123701254886330600594246749991614196182149630712096574320992348228510458318286372527286526691548113181392009644225626529864198783893700774915925102942363587843038234297229121941919004758654004000510204031990129302427731906538691991252930674167349784052307644749390305654288305904153485551196498604787719206943405540295163504161864317071610996933078987377919483447169560875087322687711305429756662392542740617645510127982174184916323916616027704224025066593473220817733474601964813111666353722601993574724234279051672741824556385846383155017378357457705640236487949427992521604842960894097625529899896879700989926974868949878007816255658004722871706995354541375481121469151426286190220654476526428152404484793225381494111412241203153942659737274565909814689231113984363359321376595571625130143014283418819774020984473197693682461592627714116655326083709236827475644434981992302200521313862812491273627857057526345791482459142759156536624897146707611717008688744929258733147461511334512397991624487720774582093272102591250830852953651906150507651275132778142671594642746188445151627263734343343680081697204214701447497983852102680283482961644436154457742958382491275705020002694609776453013182159725485474475041214301251204768184541863969106548325643998910371762561766932447126922583890019342231379499634892392877803534326707334903735442187637465081907859542639120949803061927322268837148188499812177946772985186145300119422909457041969153923379624349034550861430893259500366135720745331360369717714760093330380733269737097030548684616292131726785051198650740991403701856348170684135792864638376560700502358008398306104664942736116955759906612532803021259578265032394122429106498355641090353591913195832083812250838744949839613078548175968826170958655773954552137569583006859122343320810052940376580437149863529361548654582267910483775103942514078999589008749484787996328374601808641209838827447028349420794674029452735817337157532509136064124787132728669144231835193047437030906894666052658903872643563611020149952557381470122300680712061026319171801855362691014093092106422451605037318194847972827710673216523515483298227763609484167987479540030437794174526768194535363682374875194121950689764667252507254098309436688946671653542544103828579935409197774326208641618621014945525878138086228726362235523681362696501716382419073452898125651761530389910259827984707075497305293370564639014518239818687336268172346741738523958079506939092536772663320632330260254071114150680710694835413396538161743296778215972095298727701129916335140950211821713885105568368228406269145472904871260202585383984704551589006058163962735079051579025311262363592514702300254988048030541554845027306980987177616585545195936552080052325270205890883589531013691845762691199977463716962054472073301597208336116044531685734956160393215921156682313124858404061250686651574671047361688498493236076242415630136133321752741132031581275633103264213666278509956576917963760373450702233865778642909651102913210599718918688489527059344862916840345035974013571885837422395864104521281045124978752795884763215413768492473963031464085242368932621276039096656068863443670876324254471179832721682323740412573237553767681324192246995013316346585497294917552901486447214964075806591744773981450751723494056135941218471421134211664264185693425255960827084878036796593406098763260732603142554126486630067672110829394650197437188470626444204978941329959393233183827821461375000238281596807689926786984576346780203725287804563381365747735907890574934681754330448099393587291163773094660490553145572580084520168318568407665350369998749542264081100843130642292742801500290820439521992086918744966286362701944210180095480421555149356850539855844960540535868610417031227292698609293901449798228587718693092034044238370682980961860142775937614876715863799098229358729036158380006433940931411068218540722341431599602855176285429740215080631388069995298194515218909289217277254739964905589238454756973861961482678122749080951076390177375321894647723333240484886550230323062237764076375346125055458401875573258385956957776863019211911686922331482031645314718662432658770518666150269989672043135586093358775148566430118427448868406216085209887230298384891706015306111149003274104456728227920059637258647819093380752689203997052981498586837486884420589397401567682659857850775831826405025709375816416882713011530874802860660740406272245360989309121378045348839255057735221461142568058784670675241375366895326728699647707972399461158929928692399368052141412630860627079889223193323134832547822798586314657134889388453308167451437567555927858542857805643958886232895736302994176943097224764339190826445861942971673554829717725494355922162592518243470371489729666773350728751503674354067670135226792149908473807780500640478975036274950716602532865561826234333952897038131629487191336337620423079801523317600667911103582037174857506988976445231409301866400145731416653701724994899749219313133722881131191228745959243236347079064044337349235669273233633672282849159078574846490054384608897366827775053200025990442298555787752074068192323096609361102221425855478056182922241253587626139341218302943703639240534065435326835487601279022785457167672223321511454824813918046613033007815775491044720120061906153359366086718025494892286976152653874870721013632947932486449575876865780131272866362238364987401931907001794519697609935688299868810473766792505614714543979431851517874972368367551296940920073232357571949251661567798297445551370759428397573747711560042037946863811496704074782802776106764273138214176625619976377508779686850887469430802487272682443889333838052808160851978362774609795008107402086435264326280149135846883121680942408392308658989760475781318180506347036489112024897249081882912651267840850490519780201301702554455961023258214657570726705921633646376458482721510259206726260366818466237709892974059785407382670985186671936256171739437565254108395896377477398146432524899902004833937977802784063348077331036403889721487547340190725486030421327684813812209095745893628143791536218799105216130911645598043301123523628286373762915739858124176016875416219876000089057194754904590833383520670153931852410097432724078605517708479206625840220526841849288488362459711818298547957828072942268570995838858317962854884384989060586829850866016188960910736881905502585634006857643756979239498471118074186132659451598782507009093503735306962197204720046166740100597979735124793417546794773928315839235262041137178540975502752252160584360861303671953340148425808445362436493744507388919328458243822842716629658019706817316266550286280836613956694091022113476188360301774453435255863580532781150473747759905517124614195660708696675330159986282807838782066882629354062910452209702608480243388108468678754268609305612890291535481132945464434753970734684024716550456497685083346643628802593071165489433482221710779815704496563157107747951469933915929112359661333616683034725922599426665554470029442089476047834126742884530975139511502121439340555694540423457955779642928793365597191764302089879326673383264178142580233747281948312272007842871467315937715418880749248270880597338431856548652481333103563162590965838526417060434778958729431499076032256072889542700987821587507175245104785894218368019480124032662299190785155581252526379902485775005186300275314548154099225485063929397419620259080304581972410966671552637502996242838817791337722192993149083166976998434966834648233498214023534763910047780853098036356948374830962213667481854642133816355353164727723067970541400636335111118342949552480594363670736926426748261543396500376906189213566744036021796068001902204699337350414425757191279720985454159759892241240612810533121952055697435559781164078014256734892045335676968402946215218371600517978905738959363372647609003520584301214606233100736822888656339697108390442846092562762359113614878146645716616687651708493986872293251409200935659127701829286971301406579804091974161028232376736845804526326681667101703429578773368954352196067844599983898228131065937317612249291990474986459068914179022700782694335768439263608315497320867782000310593823122667582426463627905649367143180578231373834733787582340734330812677819149040546151415894377609967002909223201334442223667182962088692087295035205762904459592964341681357567080841759857551068696518266529913356620835842254010134324316333918904511027922907444801305134174013320207371817564918405624058106855852248182085782004348686492611090711361405026442708144319601555737221570288047919844374223134511661867376270075899686132436925858637348861006318303427502076583083648954179391459974718763348209210955999175130877302019783784365074571689661960049073207059784787873987710687908211933196971581309270367607864758413120184104032950061519655811601719721485881394359146092527236389949404285563652102150273522182129675742727785136294327274156417954629254991847492436923911602401644163348333395511395450325543163292080545464627144037230897069279231897738364317676621917571223635129031407840037261879196437098417605664686959546195804503536053667675263150928766338880831429334428543043439340192115092492982254544096289689662696388323852370242692917701104283636922899243613769774873654816765207376746461735101724480094889764899600785835294045033275705973412518123866591041412845751613272599823519343817273729896409931052763157320720770235216875064524779110280340994099451843318984441168266624731547217930857067004365601049888463260841430687208624926504840219321610439871073650111234357058724653614599916554945018937501410081532547835019519501291814777635510821144891561302988776025564842703618296299517407013978238849660767560967567611022059643721811506108886568524475480396141697926205588922525696957455135450087448055834212486011658129740685626248628695101357896686670422697153068199833264427956557336569619023406448066157279519179093550660816603425114890971508624916866716100264559551870388638587611618976180272585928016101896827313405663013621444041037857081297742394374406589049537430867860605751063780377621604615156417508077551727350245268900081553394193571536518691217144070665189257647174846864270387335504834740354251708843336993006986576928076685077131751116604467082168509460042518132247884238781781107095668479432906382744469687916995842404184320628022298048331422626611849584403388260344866004488509865198357025931801076809197459532842089823411304576717209864536709094368597924243300151166505895047241769322899077638044648342688433897259739422275125579403781343536065374989639874041573060795359710951503315483003312983101456598647508657289984340939185084718882215198207404261874345119625806827762168299401758052947151025705356030990700766999615571709898892501391520198426742806634727384337936764355179324526555261093612310565250892139640553788981846848565071907319060863372496795097130545955627083953593158041103812199207061687172804146306525435420416010012629375263756229966188559461296044345236507366522075336059389270650531454783487567983822503819490239072127252756172769218060034052663189993989462379852036875876574790730793969028925478628340507578865792366210775398035901422404085886149149516612151438336620416288991825191853484715677214890941562363327328383136192721596549210891471656303974011640216433846899224744592651815977381133279340954006629520764666579537965008513745814511464216749858019505221775471611398394158116813145605361238430327993126050786136409042022897857119850253739404712035741633144875195035524461137776792950369832680862254245365624662682057380444514754633038308375873283148980209548040451642830892137708013466630281064695389379365479540425288785148968386907721099666218190234115105228612816161744902964844918298037927190850917138523295160933307493447551457673298284028033963826236687058909894172586210595995773188132566411272339427751523067799488034671984904793689364387655278227865113987026506335604535074524439597819231333043989589752175040010416287636821148290945653081809369755364407453537559506890954516390924165141636107912844345678102706782762639649993080814314453278807311352716725343059985630809830599334598093460781319552748815537039209431124660458970447525271853313608822252807571844151684573145718007430096861820139466037266910005886148133496975412289673511005214905365576346175946507103859967061785719488371979169688437125133977369825380003465638158433141152599859298805222524684149171141491747264005150958231071420517780486534214555667086399831867069410922159608306208274865270740573828811925635069919355694782573783671550989873586386641683568296628094047612841278138135597849029714722943388452205977879326331834766518587969797985908863674217355440150121336157181404000150017939092820354217591562529609095490874523988477611418534774023707454996404968838257252979836719229280494750949629187194248616620270868772542857720950767460139325527307375415856540671300280188621206194728249854349642657792372861820879796989998438138028139181110581076892419569801395254006630616093260050738570056552183916978272520748905286573676537600502091554694154933967977581194095357028273586650616781179285396119021196139760638990714667764666052653377706939072131450639580527993365481805138468207585061358016439520487674309121532620767350406645904614557424174654635568990016156309284363629319996345846376481112258296639638855702210548355922360427983495928811912439325192299657370195014308706867927180790171234603429279654255815860466836309184284819616379720169278170559269289699864259263314642981129949292539168935199743607483814077420625950095976760001617302111413218695365048488817432279264393738075673629312993787627232078332752048114585941408348109861695397018177218394384910616491953763288238234285524410064106710900458234920792250969060821461376061658995676247904422398359645119189214658083298585838633230651996898112733240555198654247163840763054552272637420875946236094802729404149332336061276360372723251230135873128212238959486219706249773416693862756811353803782922537855691766172650979626899993345456397133435459930476347493339038488117797683546589959851760741370130494528473931405479637971341304517940283342328250336790087452480509531455449101116730444870677408867755867875288246425585634207637031189513648780113029097531998684948902765751909146152957808994461115369489473874363248121378191556570513494697940185137107458066149157388088399694869742521505798180225491092846172341843036350592781885945368297014508470592036155869371801290241928239922697526595524416889916264526877010180367485461957033233636482551727791932574154706644069569439780504724055656810565789041264455168167331246847821212214294276497610552027059836379194239728507787801463415880620457161854343907345063082865308066192395429200527513952964263795008152876942316517803884753835506710092459245503947440313195120084725890412339883805162946678307334574575108902240373761693354569409397834359713934043168523156093584326289071338360530132962699678895642402072965141284430077218022884204226206026085164640419512859346550820507564371552945737975418658896881422297259200938649373626649053424137591044539504381983437842574203529373057186391684241857625661245496004581728283819175709394555698100290873655634934143445874879990104639839786023257945003193135758232347156474092653504763257852483614951787202166203203578607222624894229606997146245358729659513649858709899680492471148316781956638155473941334632250941358274494828058525681950746513373744943365209106478556674422571708432535435344424435020533325882477669693741054060266929126616416632787845473591316397656901984792672595470199419239894436344820554674650911626082431085651222836683067024581857636691149788739794941706267715428577132729919556178764095953338915169256193220673624250519803543101406095533982657854918718710007372091654548199674644489455756873280734637848877778604113924670087107849042874867245283363975081893692329853547445413553911586733225177400500458308813765576081024264720209720864250086790150942376207670914076727160160110594718258644229874121973451140728047358014826138612469193346774348325217149581384378497698113507358587467103103474361389012108538062624776196916396196242026490582008885576433430395795252636840692525215079656845762216041497195675862036022350356180400574387197557406594418573658946481648440740795450543507469758888571737374877233742143928740099364401271506263065227860650387712601724542739491496416235603381793044392269212016858399366178634762597697649693552997290714276211320462811898651612468445507411113829180095985586486642640362121435437547362312106228886809282313644403600207470550326940164647139941901994433933728290437058462180089092562871520988425192671341661998696720070349610738351784533167901443544912307383635489376477811069721526509314217888220918375480965370280205513217410731558813746577680923109974160181295571290067404484277523614641577234548729238185744031354801635914102539015168270573769069160554865459352709470895896164232427835613547278784260374089280277942979243951582030382791009584338498609576331600697835799225320870121089385487631502550384933251869026204117494028037111556088295082276981259993988583304204399985548659159210463758379865638728253196926606161132032407341772729717293428406838221638471344835604877885180122724299644484355901035630534904952163138954137355674567758376776702833692874095304770671100824562855062153728414678169972536542314875998309334522069137479808138563992022746097896625620544153544901201980993726106818474008722458661038617874164623608173660573037759520789463398005788204634829494662810118117117212847680961525195122391579922659599427300454230378196299199738263092118596643079061609011531561159780841260640167362290926605613513915823235173142833290091924151864814611965116013023594663901416679252520115900554821022644524330323014462514053030005332111071223318031778855729397097436039533137761583122160245095922536284744327029740562911202379066746412240163610583776573608512731628651515065823640812903662066827975302617036370410483434814999247771498676568492561809505982644710147440037701539820395111332723827189516603276554384870179206295118690023448939363320492718769925367292403325137483242560353365635419689762667078282497159533426837979295591477989824455799283805279387077380531566218728539223838373230665601623227527914872995785800067562968300544129937345086659566280201836941774669262561586561393731648959205862748341679315330381106361366697059894528585617066438921856288487803420078275143963079196505209438784346913877406212120095294672508956170331112473144359315039366764290772430160119678955867787240948067210185832405387740517401886635499275784110754237879282632248700402072054743838313018730837856810822914289122242258263239909129500162169373940980496805341259343814356072538765809260127733011380745692289930889134886705563467551347830520627258492831393266658024049879520262973903923408196694473952021310735135603833826264226048998027700328521981984921540427610993160134166481643867748563454367218295774505625804299635447477790954021873457664882486145201887478327890657657528710340390488515257691047979362373823586060026520895656891726504169995232570552569729000476458431184314629958083593246832154511356269981056473265781148670943398309863504188317500162591351305762409917203297538425835833947082633020642664557118445011602128966078212854858668747120929369954524937243557314035085972610066990152796656418774532837817683630641506593154926499363935832754864995994803266975019644052550973778936539416762697979854711965821229752016586722693401337794667993117573740394846257245731532404513553648160961495063156326623173361524652033726188137420763124646183110797581752198598490911967495831182852797733035952732099704395937559323442513623571615864028480229313351516374094703951406162750269400188726474669992779932826617405738882268139199352534962815622594578012258251139980212066451521855186277197652504537168840836318014919588736627240872637355792930205633648487306543523030380181863927850122221387545640457204064227324806622975151702320471812665960339737011246561040662252074893090719990068026183266846337494210612551996170232919005028830071938684205126015637502784544514582425290360744036247703971313925076573252962615746716351884194894005209554865132301896688885870134096410989317167937876212840680281252523199488387474932942017887560710828655318904205112915765958123748633865546230019720989944112050033046458445533609660518476588139277729649418851287017216463111505497126353482519863307120302398517157778919446437233568436956522976607911091533925361727107446732476520485710075089211860777091089374661364247787022577477192844663590072804304641793832970571357174257128655579462773621783257731617782165275457423281482521451361019937902199383415110347927449193078100090137496971128713534270566826317603602239786450139129876039927654893645518931186705006062368476715693185767857698152799017871654414514139396089673244766913929479165150465861031564271635798491552192412530962330411441168888055243328681135666974654535344722886251630011581882227762668015398939729902384688944429555737706982629149394449160052380398937448112197922758777736373523146250847929930306862781586659196355796695993192856793932567045412600845400642196472788108417755650344584800358688890897661730660918737700366224873255940894024202032844341683566145652242698508571358180280737642065955605571647859580321019003550173310793535575816802223704935558600097085510477288050853509175832114097424579713063653111237243391834562057962808928024635626423770468898304959408965917159233305875633597595520618344633154014744626668396687318552874202082670340909285582667432023694460459601252155736092766965358348661609005129650884739890912689426822739760306549825511632779683420410126573759001826414657760472147508199990960165067521319948701650265274692796037688112938895618895881612476144493058758260610031176467371815091629879333790763048823928714172397441684491256358068233290674345589550171486881015977080119181411257852279973296727412150228553692746560241732662553289753295084752271441389114421752296374718027786582027136633943146634399928981516088987873735318225046464002151197217089273889193568312775664231763294667591969853431059596344119440148805777034754803549930274720592853821114971068010447906688588856031702728327052923028387997101531809246405686983864396724261586054445580713719365363787820263153267835787071842815197550592852190226144641434092353957655675812374670986741332609641241220475221244910283758991304424781266980891410712016959952755237977279877806590755477817071673882060173579757601716093127425815317990851706297586741465991244215542151055038654298914239404984934466901941346059016951239400496677178341325886276582772666912538003402183249486090211925190705355813466542169203928184929902549409146794662817008636853962445671714119958157133765318282433266698395265947132916923573990112797734937555409556937144968442884845945143086733366181844467028952194523734025064724964199440729674358134534638744742035939870971391486810709295537566778166999908424973134872984746325584245596295387618933252814614052250306920419715442770320368633371551399582075374840895818634634416747390666753350531642335587470497212401420967097980566301983703818075167324413643156248939968988411657460972790921696014895266261013112735726832285746857654686150511975937219865767418982640124531108925876142486395020613959294416399920457621489209535132407786770841336536962125561733777729601716401768971557329765362051989515961521071962536341733041957789868682064527197181802004990889914265230050128601003529889242131207480923965281270709821067897933769873973495561512137334899248655162079747828113572441930464342573954246010516527848136308994774034657855391817099637436279480688550521830129453060817638950754431744578724689110543778547472942883895699064195114108982557555453582254896083283708805668467325206672385357751027645934140640862617396122197268219875691215016112704268157768364916204189561944733141968891192092198363845029229505124407495514436863873402090144079296653312842728271844361325267620866638194470695596771286485655899108588306302779875514012649274191693514673890054383504309603742302475376542960864714829641175657989307435293545198862950993971410595224972445794277774965313880150386198277092002039550298106607448229155735425059790928547724018966874055852444375885430019109403296891761439941917195238950954996582795579537908435538109362259304501081941340707209923581613596829555500983987667779916709034067691617812719290504319026370188658415146799924681758517282282172376042841251090321588316184623722124217009976307656912001769387947435183030178335196005454139928301952790117137628864191802738298747937786851203077046309977624891759140856890651011756291739263171687922805364258510501824525052790405957902309302021373694979102433433069303168727525880250539983729784723391791188980819621662940895858032481595361231388192166115890256963542232427178581376518978709842161600643827364680857138520625164905968329416963470986329070545911534099414210112033458210426624650583759262104891443882234124472064899874424610178214956531216393010956673074977540383371097408282986582695975040318140438375045156082316287796461693531664528449729028403785535677260032432347158354588268802374503986767215133566493487266282172515632262679074217086586338559207601711921588566532907492779822023054121688388114450405251185324837114723599772309322151617398041858704384269154598016902853857562872765287817256552308771955521851349320836727477339851517907545657332449044818452054868640468880459529218097722040044191960053023112049395899567767854516106874381443833610483963268754716159735608341218511673879498454559895242890073088444657680467930867988629740377101050740073784552981976761999729320693727796846893948026589455154816902938937654557037280222614166540035868254158572898590560656279779890381127795363698490696374712887180075513862959799005568119694944787232967938037687526471662151161015899140527982580548846772905182678519751111112077940779817970431365463995356942461687938952610581880124710771347464973070343076018674461748076541043534569072592165752985979211708987857189182779521230273776166538802591284828406631354563251391002136674564012834609649923704322074091866976912535469350377221219264980884350510640397791067186375555203797006519516882025130323199369594739412897588570155175427968055907546509370711500599356098515123645003208059393189223055351575529180092622388167343730768933555949781135230183799951916202835503117098626357655289529776509282359929803723340834996568605501097535274417382978701814757935970610962444109230568424618963157609496224983109617857647949442458640250951240513065730996825232242467266715725484710235847645511502587989559449029023069851297186264284824131821876375626169716676712797832457100478922178295917647053477040378302017759260432217697263682396290672645416706672488122727453206894797730877088944813649852953401324843023121616927886251636491232822086331782396615252757326372241861132838784383572239123853894732068837508390617044860885978254193686291473624821174323636268345690264788812794146692294907523226752920232318591105377595313304459642814299706703142699648999559757194503552194192450147507157524311721628274669799377998296362017048623684124376400064566892864678323907768484394437551802950634681868927587930149438226004690155421989917030447528765999358615748040739860634832880444838143906943307509556918492325003347726681027982969837047789143928301191288898983263459381815791689922417814772317171755171705187857296682332227823397591342435667000096861802837746560544519066512873608111791316262324746959605202538974182353522047071928451510652995047732240689368687447111530287394276835000336191192449830986108851419873147100720136286009998238969122289849230538252193195587615282861551130553435074334375358607222230102491440772676595832002934674390493504482378640473886679591304222684447684363055305044105143073758102059912522870248786550598436020142780909686275346432400653128383818694956698823241184013471621076766790270427364429623130722222988483315285778803107393224468555648934333760824137321967515052664243275653240668420963090993676258895425628781513878686728133783591262893732995132227582807254559531650305453688017490843913679541814978878011630233560528119950492156981396436715240293842342764740031722643134036483177754016823219697920087418372665802200292112587990647829277311907688775224804980342373966888715610637146447226912684443781039431183052105746482649217130453912996521904707107038016585724485401398412043149216436262019541140061948735452314901901385696988849147896852296067888755371713852813812179895889935678877063329998698102539614029891060389978543561904938839493282709996058528089490665701801079505784743003187933132188800625782023316394778822121572391141412199013763660454837028316066432599718176220320364387539978651109771415786776197824435718298303271845884297082300182733715591674590790596251602009823202355814569140228857043518876481896680893441045452160869750447166420541241338224111151508108236123315546075951951862915818433124925959831238507679234435972058695284722935331481492136204678889321519670084255642668903622185852735975564763799617683363570198798806625215815716133804512400147820162977366918670355460563142788887985190617905461633219042871790745138682248438162334157721041730185084864462792041335151490044879169583217438578614041740258798639619104229769391609980451602853116573212158592281906680866236453256384010799632716014741357566506364748790006947043117843633541110337618533596716076221126803555381181742586826288323384529098316688259181140734943556303446103001571173130258960647611080353322182601139874571595749271139026572582170685858276423008750291061954117237748514503759245268223551016199543595016074720639484079910649437658493142454038334745808984855021391937174100757859480040262924330718341505624062173278976791694173657418972288874339426361394249813742968408332519001765385659290218051724442922919974020130120456227459497450889935107287439282345616113429306862271239320770252676431175687103596172311587067908313369870307136162071078343385703476140508771986541510972145549817101029134737369996069916846993176767436201468769551939360544897921441258667893176667530760912476191205424222378245709347121052321219688868747318830175926746085524276615421265063048225506711170053040114557700937140543670295714910074192415134164627891466972912588075175741947827677189005763016485399045363619632966167689612145145637372035076579506276097185506614636434507913911643705866944639927003535049635628038384142619533690516189297565680619546027415967527162337237446100045752272763608475119840702477424950865667318414945124685403237164935592741419688691159784363105292583537417348819920827031221479471182775389172696310656230535695382871061431363482194017908805424694684132861742572698428316197736500368664903754681623504280282866397078837109708238372776502774769801280233128418321575522507872419828095996003658024865648993964708446542726209053884021223304196972331570325304577771777816308939728799303115340296366232630041713836222720059897838950866980034866905505100948104200332278495458450513082192291149382822364055125587989848269664041684393209286566599882948334717940106892505016697891040140537053521011606945592754080862449544787194684216693360654674027804844253842588417471492537644290465325480036820229380143159323601163580156358067779784721675557498382687619122192367032907144799624854940932703116226899730191933114743352637228046578355784340096327985648134904351718822858817803723859518601467734150989373918948206899229243447348964621631574784857070292614352923144717856411315092282131829333216147701881712685906681847599780682750011032586985205225277927324533791137226591842803520472230253356796272454974966807283116938309189958209536756394495767455648288297426997855471293888276852027657237644299639470109835982663789122511292380993182118667474396323529770561545132402261065508493279967817304240468327827768581144922929061350469504809682803356974126092765212838457963128230342284545204892868085200735675659311729745287774743976802421891244320903939260745167678878292185174580012316079226314479077653968995226534212743476866997230479682099449501541468857221453341650010464894470395331294348246483620922519642801306477417177950418010573131335029011111813711453166012880264291121500380282930693638483780384571726114073144505089975446952016180784635367221715641954011770934310424491885632646024590277390613657037367788166962250098000550225939461408527512215156025968178703485379281341434627713055524844067623954997376273607372977819016391252383987332567823228319946457681908216206802420910839888724554341371332154964010299247167920955653215871304260085375776945323004668280030893052678550073503792994531606322635368320062186450985451448827114484529746774289424906726732528177784647012863891160974744503661471141413570089840939979121535332707705605145698782959647073808890031318348259242249885799467541982241979598134263620315428364145692672691442527634137216537680546378323725506894363957812347539770683473706901468289379542986990095594133066987134353765869484470676999814674987269698313414212191987791715663239238441013085429482219484747715986523479817791413594363403272104669316046471782660536573014185282879091710274130807210833307208177566465236503512476922059750174346828915659481247446395069823706060640944496620936036027451253381532256759469408956891488854403061883371473710075726855290906033181999810117832866361771550202612883303269582998981253252739466346367814093079628120620577175484510239948457556096180320292240695611496759052772163155149598646417859813487255909030629339908722854517449390742842416015095323225000379447652573225128197093331436425739117025194886524006675666399022006812900985835654434780544972762994831967887470599182148331666535259019511467079002206440439053016485324994388412547839637687616125407252940085444625144583073583937692838998857776641114223678531612647414140377612491394408363713982886805633790113267580592089583322731109187645334983329445291287430840599235960473159750037595093340577529702198804371790987729353015911213336121820778546737126718807105006422828139130428382850088862112569823076794259215720703587081341986721336932139714757347980029908266825027170133961409300856867323822739307020903115986410305349794995805388753625844279249789056696936846091662822263077243881545728286352049044600530946029459756373222978304330318897334240531117429191856042941753125303608248301541659077117203306612814046702359447898253900498380467242708823410895442552821533189989806734767315704314553181520472441505605475542884469012612150051287527679930885720745801784547897551952256883947921061829834506787654121405284396254281780320937274182246672363814448013330421371652161029480904344528616472093925831284693929989771522015330543321087995356065813428933984371353989080048018598183969051601437409820809053149605083923378835349466726273347472490166464402320723519040420649174714421611171472823055375906720476182004366737854395774894558894379145453199771767941451490946533243687172680015542522680070428901884860202630531173492341963571295520714591234015838707832977909867749393800845405209600870253155338397265725208858834118485783219552837829638215293792034497062086715791719433412880345165525674060561709497384689209694636420316230237718518207718636808083720222468700289584526142898397960225428731788060576937628515303694666378448922503318554994302443999671455181509565695636339181145427297155513739026726155894504448527957302255100751197114999331823853941185175296027381622692202217236285230726849090972108199077462248843689267906033404935205506298213073115391436292706366596287754190486909174850797385330636786996987278022460002002469364288487411847431216383213185209713451703973404978569590690009187427052613999733820735672591013185894992435217714598094223029345475330487751175735355316866939447834634778444793090424853874173342920120337114070587718626023592253884757456150453461898443228874904146961412247247534996784804164804975572100092877421920157842144497248866910282857148943514580241187928562213889751838959195601989438030568572476321637271619637476255639492593818407633902351775460866904384128825143945774417965692712381357134869169072689323727890465035966415881175157403019928073985018655791195669448580197358110774348827642772864584444282526196545620986594989242563697668311967800591096174971115790859493228828487584847998637369485625412409474963785812894040209447962979774616149658025671567950217316541550198866302906149360049486483656193676931536885032625414210528200361831666599999994314874709811950402122979304999251379073576470593811767479180411974484530692624961161959122549214229727146355654942525545651592683592656920689450195730678149407030361652843235660079469761364222706107017962263659069268910541832061652852487747460520651597453936216718736732124156110911204072201446209290550497283084669315540236980424909779603095309951930895932060589159573148699418890277436790622784586891949666475206183606497981319974210803615034532931879612110002560485193625031665662638864049912032589176100394682330133739091085103595639867431300166291768503918587418614925919712364428958208953156587161415449837826554366536294769699456467235712171535622881221006664631718509433907120410549631716839924305865429361493818893711589212377048857441978158995228711113279266578579515806558264970926327347936508796849325011748751535324418928765991541336869264217584416768025691109856420276781687022907126318749816421777246106845004317968752803057510220101830742889862990133609376598185503760620551533532467148510976751115813182864732226284302375310288911348899910524413933859607007326596846755784174958414111831218107115120307343715937995712505201220113836093738864322378814197020556524695831596865057125013685369701383524311786919898977438785930048888504242540874665649548613073911830955899655583802063741844363232327810078270156065238171836764527891920070244291154811804566317593067899568279522047737257557473549572950490346632996662871960519389238929564687723763250962000369351438187786090235624359339498591333178389846214139347174054371435794234591253958832267722122696961367590785713978519829974941153540101594605983446174101717621981269169940430945534055583818453246382302119421165153804319348183688995323456371303056102546326948520050362508767602828293190446044791745059984954060814528805897922492164991506643739419020636076097395533662243016864721457121139999316445620404823436208353474265081326405046443639183936183386990647810430953202323402458612816175835280401240466723325765538559193086168522426889720866299390663841991119609974304871648566778290310950415134078126239401344899134468428840012607777489319122803852833712896869093053875907968071120001620337203036688273767893355024472145320124187584042729135060170903171102182020322600908953117515601456295425174674731596683368938329557920704449200743237344770028437267908478728565067839827017911719993415730659790216682450073372450787201366110063233392840865570830768861853429872920979970025816050531900984312438509639504140281742618324121555328880404279891749185728486467542773781496122486852889502378198840001062380826985614701970279329006343293312661321502580455201515172973234034037030368559473437592044454534362022184977156787163454899961110621526396604687432720091780661889592596377879517620560596596320941822617789914626218300137536491247454188253158452455618867119770825203014960782744583111818917825171466771107340975611924053803931462836220670784027024272326211338325244701418900901603900197372938851880285700332081367085437347260855021308599567093016799167103798240057760646927808018649554489256501491143907708517742656943253974154884304352162270576064297823662917736285805668880575914923138447692856155384327600771519699447466342631691251080686716229113395636730269341790501867890334849783842120134099858681051524600208304773845297792362670594253920062018889667579667694574301425270250106051354651175368467831253225125833923951272728519097768806000961449318697293901440063204717252970797726322384039922574195257784675036835479350056363334336672800449427762328465268798720856064653505158312920075375719142574834623711177433778800397944852742509101817632216879833248686064065851506212394695268340444890376689375415749093980411923316874701634940310182659767542635487925458049627131775514995075180043826901018337552058099407477280268590114139365229058271414569323264268002524774947019783222161181723138437948201418425810719681468824450558624167217566017508924476492224579699465797324369487976725835348557246853455030814218863841420628371561237776728788568848069453688330084926586716610043759228074103154084357859435652086982432282679575677056298235565239017875786519154734317338842339738194223010332390248674273596144682875024778086946275646078927804927695997546159787122807438100621976054404698633625122466375809022888471257758295139609557868480564650693596401859770085101995375775745289335678462000470516723566463168253748528918916534257107892202562544964614219461797385999168463535061588973046150549213303251821196944672911337137598186538743988423980929242204958928134989213579615243007974253037048359313746752644532285467054827500978363064097718964372172345205519097176085313604694798939382221761998730335506087120307580477540556242559883730787124154133971663779436605085528742708061315675449760850345579189220078235712265602819144530080373357226705816231639857981643594738259540232245544334947909365649968259344503240198537345673144970690235797928380153004943189883937089732022659837722624276782336362976781852880850204065027973784612350431083701809555056916297503067667181273327808098432341570798950996593985387557311586685455229282486381821530501045893399903152387826699411257465647847918096292695974108545429391358882165179545349132689185103424824917610149275014938513970381326201437203334677019760167765783430974366270375211028202763896825307033489983043813365509101869020059844853000789846138974910044353027215949466589310347403415173589947706028298473994259465415670843715438863043346824434361161280985224839708993825386994370605395674661173016700207637520020315275312900508012055773178777556438635727866339958143070928510290179952076659936507563633121102101839710976247077887530143158209519226434516951321242658819687453400422115018581924274457736218636267499497234515448804394270697944651649083310511350520627343033136888983040316674930128299070234079938772855787561890513436213087081586667269475513283081805167055773264625142140790326891956737496681685736690457967796957223413959979070148166210150917577268012533782980267288569016533662750493180151054102351191438261883995227151779313499656885398646299654558422643622578906092083761232264786682942010967918391889255814462512109706258858746970112510941793527637221998870632707693259589690008761940055904781276905108437436889826641544838622070007327462199006684787017414779593772425460031274098025515178489498592167403972294053166202899247222476554993882232484965145275378798734576515986496722697206461416147120270992946374997182546551888127724128975492528275401341648080815998194503991708366572286682133392708025742406253545702277468152759762129919091415089885852437829560981548186676474876107624056993766609568268345047748973624330397390404758328203297495262443264213500063699553516129752831296801611713342819845163611316860430961677900987176954886396531107388082319650970265228689478926661495682564255735676465761921284849591732204105544278436221014052589853172629425724420954460936523188743458549615604694621817778548898751478683953938599634567591373207128193627552092307064583806599512436914241908719030333904021711427188683214358698146259259881296380502653294701850556436721100714058059528771092140364321566992339823953817624952213515789039355737809191301089209397644668495983281104403797952565195348838063287890230752291313484176884900035758126330594695331088512877976869712413205720069725560921205996614608404815396713866927621931217954012885307573802352313743579409857555277781092779242882599115729668551241897208358325104737925670086871885594963457792537903291941815123297523354142469535135114551487748379838745352752800231479738833210031369432370501547343189280253030015820127185108454388826152064687998370571517219199858510426373233636689392940688525620172484121790711531260685617414667413366108160387614540837478920373344207971241918714299156123082720168521144209384572673313943144485683470249679637800807777752673699310478685457101603085975946389484390515918009147732924084798980750195021536220224890582570202916600745127399031343076203549353897663172527408218700405481660629279732762016446208108054347183251003391385859430203297902612579936540591639294650949780058728607548368879929889771990831116051452818687988743067442421271300906252423380111462557779075345505197981338677839963670064852365609587724029253667219044722490802287729811786772534622047338692477460060690131965729344764015678591040458241602202734041777388536851973440643756428783118748811964035479344052141959905109901346225817787093622658880798229226954964949514646048669866908169731930132872289910874729606850099721767345622690879064810067336298408347750683967332339924525145814698790724635933632472542479268574847139773308492456641790065496273114225998161185488916664404542852239459413998892991297873360153193302049226568638610860692680602155694862507954154276189975353007797915804934793926618554828253270604647547147423738742130997568533875518737115239494376519918381345050208069850185260316472081289794247334489833024618915587758876780004975168454119392946974530050735881182815386471226891165333596110673150063160054922524030835506810440047592465539595854358696533827028028913244008082979860488588228935315699570192473800912374243823048002924170713801051627943586521327753850023033716467014492337214189358518508719615545569622674027350965977619120197272921875137309170176792498446060460555356865772046431662274704945016631374539395980954131754870775179112034116962572352197427532398764966431784900361868386885255558668280869654596791768504374476217949550296705826626146033348672817518258304827599087131976742102778007568790521586565784776265469346227566164463836642749275090091316130665821682277339693736499202862338334386340131145461202515646112815232091200650330578365208014860871047502902781716577563293351962426045858578590380835183598450610972517059895887471950484088236114618528481283789515543564210076709799630146782799690411778536623057288839968207999238053399618368539433973641035015326966132958683727494910192635002272818241718525402183673217792606565513564323300134431270416009522563200930381517579439143304871368229299172461333263084448279164827634477634401853625846958506835266694097357375567263383273965955596382626403855568441268506808027459888693600454268152278709278686259140759828096574650428516023449480876412648367936659840837665541129438812167784100102712949529902588358242482048863353621741005165821656442120435371492498232763985622020802367910435831067698930956929164074271223222841691248492331007545793501141218797110873806793533026646283840349398419067262978151460154857974665282174976434370004100490107300295306612414792694505278165620764656397072965437977345149514373693053426475992079769422819041134091633491402683234347040322625317359957328967072256466509825986257955747655815371739322113705096739755887359026573883711866780562973719382943678571205715386873113048627689680312205852715257577187278465538222156333868773665882356085308116255380962251770209926218025396186359322898030416877451851183808173818416131718700620556104405802215858959860645593569880396418802575076729811431433511026725683551280189701520790977262735507947601344188789024266617420950714042722095250395195367989984073223428691317339912878223894183300172640267974657822816702898413882562847167864348609680308659622184594709253754316744553073403953917815566280015203807562515571178016033822574793733019273683721926951511717547064783771324048219859644298526353214363906676118815682478957067355244577022606624877141525098539597203499464320576585113864939958580477687087022508569833077627263814352785795919305897654473771028851397241962531074550408205010977894147739469055130933439775270107139716574502620644145191348603314692835884586525196710892456815139167231916344093833348285802567152296891547192140285735403890087025118992794063909108464326739413485792366804772263567900820276357901234102529752140999866120148612289296368353932776811667477177866051224274430693648782736451064032035349179601973938800527715952072278464323244768376231083210473342882411353228396156704791880835393212135416612859220600286582850080320155388875735193776824674090663887618757446036594726369961924558805118008634499365131325383157515519840110361527383550658574940407976372834072928166514939245483484081691667322274751332032688723366165180649637418368919197408321133926502388101415719549293713411692698514552991785925736487680136920390334821108846053883729970760709624765804491626925309561599547614666355407718360340567771173783905114092050569853808039507317058668274895691146852995875846587427696753530110488973108822430712360127387562611834325594117307143281746076330485372998499733641167223574717180305325913514116499696405927204521501295125661730601113436370064723862509902048690980358324541140949388249612858512895492436448133630976768457473969971107257681382140303998943020467458610004946761957546291039757930745798987413157378023628641839638033508686940858720547286276349395922015115293324187655706816894962893328869312561075484882379991629882552239087578887478931163957070997186378250396204271718670258850395474131480982908632922786666182138679879857494491397067252954612518194919337626063639348772776331570874255639026161205392381318841809143353317544206169557094887480913883564387787828188611813688982120294555138594796636326583537349547768556194558331821344143094269435158402744824743572258273695880958144815699910327376675847275923938406238409227761296406304338023800202258677511066008537898400728002620882364003745413393361706674563372646183976627155015117593540119770075063762994960025229430293254944141244813404777317610560857473657932285124325692439527293011924171055159812120048516263061690546531944731020927982030326290998635866368615999647910831006866291401723256523576315120006136704336617809547253367536693344911508924069127529566928829350918132306205119241881451378644484300811557865029845321027015276051991122692582812225158551768399612221034688822578286396432139616839010552689233994095969622538277791685987351960864413438342317883821749177107681928742406356620099940933992977336336575260796250036486717161222630306495451433076110300958279551714549198049913838566328896026505209359895196762627246249103977361841216212174819937673994449532320392023003472791108340415016432287436063560466344192393115286158981436174515072792934744613629505285824006628363149479129630992617447898406859639854694781623624612828048202184482441162137183040411622688474160618082696122641644523058147826566669677257794696402997840582295787758048484984397014271637268442748800009696978851333814462165244487275176329088807843417211985479584865331626898742738555580827335485136276581929612907687597902282821341988182144107016385592606735295928911186689889142253691262594461751122052490464413368848808292592852947525630048240100042148866761259551423591652876571269730422180243923690821790535427275609942047808402401071294747029319636753577450208660926311584330634342362674196396745830674684766424483226989342762429583512309611953939457264128322009511155282541392771457633456664053318861754565995392885493006484423463090487193769548094816948257941362693591875320220326645459615098672076910722203744150477320453330513972504222881798262888457036490317002924620828765018372884258526945283229979639644484218349582637583442517169092103298061138929417671083287543209577277110104829946643643110826564792242654806776665446507421234844077896879661487392185279275565650970084443155828414160053051875973365084335676990422325777940415469899102596896328563002147345595006365083905934698238065691602475613853479540284143308409957895774146600131059612608599238053152225229200052772401846428530781324657412241039408653938567167325408028815339067497315071373550163328456744687069032574790861277765119072695234646559967554642486204260533196968453757076816153733934274368291772372713612255183291488163654844331199593698810166880486520723365672307828361186489203194201205946171802012877129609073996976749227066660503406693536758583404213060117865974831068861187657730776356650430574353360330351267229296639424955446106597913674710452755279017328531044801901818969798565128571156369873816040122849494201875847866579037616670215582992573285760943756553206962163843629042134414768596075376293224730405216723816594485157512772093496661061966256333364347177947669978252257501583410831119757320226993171475933749326917396329347305563422523970408912754958101541816381007660553709708940458309626609204083715997809761105487696753408984867083695744314960674981766460214517584473147030798531798699444864018301455333096074217835463076135007754049912388554164236104135148839191939036418947836200238937991439627915084677472596867190431140168237299809625216289376663180300971067551071993014732806578917259052185840512144647053470742960650646307534308921555920692444213674735022628196518153770982348753938764419512980181608274775345026344981328872709822748038357322093758456164925529531819687984183658641677481260731016784977015698693507745438624347691904955059321481344241574605418787062256676305040503941148944834938615978866404656148070541194222550661406737124432874917269367494314463479106498038177677815516508741894685859236580535150409377853222458729226089859048009334114106853169431812179150482519050593247871016376437536865359752245412262404722573155044532370329588861870757009041882357405457835524935286205527873462138965089030503061416381040205144268574142446982304449121016773298047952200526985227465751852770732799903636922986935075540930189792714018480462137325319746726568997663429295453282288241069005168463373158007924904400995311827692829558663338905101501847833721761613484639184006838933146964936409132464519199773036978384238773237754748685325568594933645867764470263756488482611292735071899002238193151799066613541161919071480970531023300545040609263174866283374564665298619046955171505731936006537324479999126167076422825044110606317608449751514750129171277685461612700369258052436596057066067523092524250589440292137338174700137558161311859886485672643200454518170701026944719557300410073695198433834963688253248337822067967759265007687079464737910287898799656561652205601889568615992257890357803747101527740587854537306679257823546878789876463349701369238601625221624874149723046206882464239659994084391394597442328182033328964625973465541167759428689472756577731760436740517749446067863921299768189027482965178289910843077630253620002204194094307999079810599059640321384076195162458843468212065449275379807985747836781595935291806873739158897191592453632035437543993657077849195922623935217477302235035998735263066346120452998392770613222251519642243864606793634744812858704629811532525448983665956992487122764255648168879999847559706843177302353810723912226568815238167449175292114106824337789536619939222461015931658827030474303774157584975446714795112270077530110412665213031816871241440500842580587207434591937792812483568502467953910575756234081857266511781349422944730427769922201344267106563370768477179837276271682761526329360526613595361818110945569601972013668188697797241236106621484462599662626084380124339755686131518071944644253583096630784143743050123767300871008493466322985000510603844345666148650982222218015808931177432963166800965563173547417926803003608188202805479966367236345883141139091672032496519594538787585796254128278800485068453451439778616472360237077423487820557477542646661386718684362751563651449630027180548640267301043788387246187772331104375931579999240766046920583440950772353065971573326787702330990180333883433760664905432402324933521486011568713384321601373411510876818176642287938594105462908894778928735962346045723577852546006011549767260747594495465618079219298488188638491679675481042275990899345045473784125517492439731707519343917552088254443771077931214178222065853634656107986578263944087219980031753991449660082584013863504700564815809469100306455374479862932572807673150520632163934849963296584036456507330558579579435908939480694994072482024474999378275221257573300137083915327991750103898892165219203477140437894722989226409465532800654317166762771996019277013051714688446936710914155190978235688518145733038394029142674292974458497870362737331429875867538187510873429764222391527906836712694405799243823977220836243984013079698844917374095667840309580639761258891980432016048094538245010659081872597293941802535880075578236769175395541319984632068434898580675670847843456392653524005940781738215839116267096840073555927679487059912860899474959377875150876555842881464407722957830563996541608191906400099248328683142204880305583965688538148781071870976811175817295843003525076425806243892463838019877127320846791178955830814898165824779471733756035426552648853339376073416983465665928047577958212802609702662886457377449017991861730779467769325304639953030768862170407075800902152996456662340506213179854941475217513536053660267288512399422712673876508344413530214256, 100340923589353872070399115383891909055578880367355480333490410239539713570025503653058664303209027566941023329482717539522794036104899102546728742038885117709142683963140581181434926855436647788943055673947441908132637001914758123563529046837595894104523957281261189455062990866640744194807938711972639013724779531079314888750332724216245365068970364986971359992286354672297466452059182517711814860315044207715465100995716137523597943261438006596364090458444624408065280950830034580521493212367019492193785438823208326652051499640057543753704925509552540538616057961551065537859958005704329170738614997555170140835491040869630554988220444933608023910730747051371481808476007916109461281970751858073928634782078205378031135442578162821328693750418138103644225912046697334112692794266694526279594668596069398640620628904817933077374885509466910227127165525850235357731958858324494601412363472786884633462157540518870766422040714696653799041768549086921171918108486467068534799886962551873795592619810383388366468486162188127207856225000519366920447713364021921666690555168196214782723975049755249636097234627658572183438823620800598771591366983726367404082980857582351119604180682781958945404890666928784788618195322833375979798545401708878742073933881546061593082372672358954740558697078430528131265787793057395173902106499116653723236471531062922672010339002127300804088307598063034477662714551290517911554232443952148202658564241084075422600909307581617017394120540515600370535581577821644521682202694049221181358084016940274818695591229360616220825998118969370002011093025226019510547335809576367571622982334053560679872802608666319154694210955465685243717184040374803578174240201092354528922966280388944078507044295434118641440656178580307013156248698855481700747806647229790306479541378075175791724485957283718082306363221021511976911499722794361826057664235994915416411046880901011386356759720857330959021284003999888266480488295138812511738652115725901128150719957392176966654774169152078571163586002744880205849881951384469785521942337349600786552803528912380475654799607304925215630493195573397037421783062902065216816460816052574128365253722087724243379244194816814806041045527505092866317388882342516740015258210848398792872404461541411495575695525038521115883768821019189410152061780923847038082702949082302066102982870362987736509227943238376950176742334190712180549683015920736196422302926895882203612470582933818786223428071990045690730728145433053545607680437211597848199964419030375392366820601252740269511348044724084202235716822036478290924370611919944130167166811305880434056197100156728874781441887637340930172692483875927859420389092916709688590262616493901355700920908563447134937368294595515611533170464277098420864341711901832244767825310438785083895372853019211010060667300745478019184209742327427846655214566943840967861332014604933237909807861551653240773223385313355702580438115557034565018925321710667821986271123146807239680903406661767273491843530351715171680691604428715017922471683763172669351908568552995509199833152687570142265923611455035203575446026001977548237376254818025220830553310566159228269342259310873913485766865702856887711881356672939954909698711698151834779446018390156096751967688570842421869020449291568571188498647631099299307937398568490908977975684712582124750380905316708695705200062407697115905783795767026700511943532621018974681282497381438366319724040648245134153349016407164719352592245483782787751457582717929216722208403266160259424875009185069569623412475209216373689639822560837012767928172073696851757851903661196035433995618240681028805580110126140405582809410418199786895306654182666189663651653247490679047907458120166942544259471182022941997092202865733128162807100090003599173946046110173624047692242408270912499249377884732744418203141375401417700988829635405484764263541934902351071203655903593689094288529660318752038091875799855299086762830419476507467615275750995957890823456217212523720655803431569306467513619652732752509480434021582310636771497604677487629184681526812646525387251843329285121886431033368123498982908717909497279047679440171656752658841713198511422933802772755799471968635074854875714713824804128505689460619784191623107329326090326308134165483955507494337549883057514324909825232594647126136055526662212605922812467679492169242524709359004912725453560931084362924942872383367863606979441304376452332179879312532791495852144999832744202291034152142370325127252626086975806613759151159657359602433441948516558469004522826511634049429634612503123624384063812283377587648975679088419008066268586373888954484973225025796091746219145593238656804515537729135606618736300346630066674709059230349263742231892043788965586602240746867884305966059803625665311905605273188784169304399001778240193359186864017671866368754979519627821838962952314285247635108973155100361698851273298714178842710433919187863499474965491038496285231936039363195237668170126850327981760913518290778610116889021446564496524973203968546389883808766131961265256494382468027344139535839158514224200451736685584186460809725140316506757168391361678443447921282592733719379878327159908608890186826452836284524915723513170379652272937308796580397676771245815594341100738547037890707082262910701188348263937560450658400504342219237501242601456773983722018567597114873161655377748599768271857599701471610245586084726433639164567061887392925124227437498997117644133349741815312883829815868165886395834163828311697632157874180737534856505238010423893181655522475137801491610355631302483255925758837886721122821337455840252782293646089542488562726890924313562857425469627978733313269122508777246258086393811124294302535084432044397876784565496357886440662589100486849867617327239473260726525265438105380793781526057080161709580551960126409840327841223035071477739967035805802591643406055982102026093436825451836761981050039319464568228919532300452417348692661499639223744601337301152766618597861507404465083452412484983199693951579407937467874401626049582731336947918065615055971770818383851147478687720532705511039548527119406540711582232549272437542243735478069757359916532146687268022466607893478763213419074582487704529889201602587538519983930794912215463305599902764853989104199521794474237724362638808737011821578000051843333867647030374167570250108003531877863284585123421476842218459276292352654182894982753902898389548663968061238255151553928523300886788126136829108450636933298341366825589747365320650476319030955130246241244236572342943004549965863395882744112323263220161842013416484596519040657873879616903283050220573808777065602201529857960104556828642500270598762850860421866173937563012423798783268799627917221478948214964013606994178406004445457929991430118316734188319134535247172768815438177914119939122646502476836803053142666359120874751361651607899034036199392998675722009820101665527788939267920124330147486064996591613066214046659443104971944049188421784690102457343686194485764561091386599017391054938137719887500271310326885919454757551813760700146102346017747976410255274638473797280295665226617328513909351138466952209244980711220172030277542787007905695471950833031960397075851442395179964583906107601598965169219874900309909361779646502799343671276599428053748164578437427772515782889422620459583526797305653254611400684433038630375021826747421466653068109131321157836920898237297122837406202638648194039628997434155941928758950455087806749408947498973870406920367295041101608496004452419552142445824069188817391676167179886010022261280493446436266590472355457248121632904413551848109531653159340523170732231273385066283590185104972185396591469385033116619284820000378682018014533369602096724626232116455449276989131810287876928933972156514258043405129698265772162456291170398840909023587208969977570832876288731392852560701583591114381376010348113900034752503031651791590448209384676933346532012422444347326141685407346333596398720845743635519056753308304149698796885343010174990290272529835700974872475762056121288832202621382363251094041209355893142286899080030134093593656290509806775833481067596523627028895293652881763172176839716368618521376286982628526414711220729868069839093733279899623534288901378718966917635599191950952740677737644070301388533093928897465340793210148756381672707541342577540393669801701601272566635821416189170928906110091696522049572392792335593404348841301779187142478964233617291158139189462804058542829130134549756098771868926947055595916812932036852166894098523666086550790256116512906098694145729574279143639303985553014653393898254514733171679100843271082230600188997407786532689041970796160286844786512436268594604945617683910045533056441436806309166273685541299766036339203833754932647325243655694256553834022325637315537337544723425795429241570966068859927969854910123558026479757460913577163761469261603805204382612462776200805697005555132160825885783771949606035310989573349148452949930286505326923924664012455109246418810656105091681246809323637950389542912185783183750205092494657007967014870599916805650121552675813143841076386018765198781293457482741790823979345349228663395807309850250721520037632201925293588793960833478758511538890339189824312319494239625753857888837911807125272047282663172010836461085202862348601598542092975865170931019499608901003901256616872505590979199481937066454751412855180751693650887145952041199301137231938941260159672284490949398021950423845775781133663053638018344566203577773719236350966814731510044997996987922307640752036489564516769956770819793327307852822670440363796943290136303485677968825268770269151188591763177094918331124848014032188386287025641750226061317415005157859736810251320446838623937423426951828870638570909880798014487279748096266630127869723749492083296055617988233529404184962247156028104815348523012133908328599668782816845379963037552872334048068507674790960424275067809861857916183186194496028423714936385478384472157656217864473359185588932765405657084862937922536109934424513754911336714023703918714527040234553763663099361238940686898516366841598879555274959522691821106284838930997056594199004892978527964190255762788924629142725735664020499946597114968762457122543622030791731958744792164699400586718736262579015846804094182826415323937318729113319931131560386121427625400600352121162847535242652936868427259798319721309903000320248210034307973148855059328878030411362806483210087414688276791710518137318410731336622242668903553131597140233661770392333502213689113613479730366659879648864832276685933716102067807554396363425325977738428170255722739110121439827838600016533553449334569156540724036857081909825648966344985766537424257935161168614812075083577077740167748706880528304406088320148409338838984501891455116748047149693505114220768631877638139442864813993145610626408793016154954411149156678622728997204133346105488093784702073466441101341551337470480604134438534496495826315907353587460766632035248598512880484471383512070962830992177637137248135361338357768267449859939143468495140021231241387754561927951783209023238532907842126701542048284091618073594401756683630126944184058298788815610399837437240366087119200002615929166414649365878065763380850593093249626501795066291803511162925229111573306210105710526904661089647216283804404963162828050405294492841724948236455346145058230657667170517568059075264680621338619375005832164154618664343006230967459495144317120015441580424728547411840668507800293354056325509176752312163779563807078197210164641307099118835605756259698600635774762179160213170415002245919690914405322296825945314735870221387970683190254429369603460447579052609614795423618150567265486239314374574074059919495791817490278245025061297773378979201146692608349503833020911676657566447996047473480124239948063200959555207583694598589481008386245722304348479807560937651026101153179617307666295367806998226124587566678834561746802426102065713616509256086153609119494369826263396836928800787249609706682656987522800553549380581361932604240522665567285060990231234390269595223788845590193921667688130089529535089437818032448809548131244114684723448814195865263449838610715447091671207880513750087793822969452413657089341886682280456869821066497654533405109210714855567192852536493766519838395357221359658736720468027483873259652782082852996684904345064606925063632539610720157808563349076497223735105017596508698079964971636670093226009139993324779089387642759672739117374870498685111489174104613421373990647594505811797382630123370391593772506330690269998068535161462795374048843318362180361287218759845795968804616690700481273896309993192934164546921055442380657998817560611349848390224040446983178118961719764377975487671896780554691458854575086247870588144607288632243816675882832075432837464230388001505444341991071018099338830323398180082083940870856486614453130900580364515063595423897145103497514097210907773131544366253880342481824848285155485802016689237037517444663953676288974911086098785879515496271094390937426379465136580237761974216657117675862401845301204422465839279444412880174316376155648554033850498324438216690134049502534329056982069479461960310823997180257943330092461270378961880309508762598223905015947536892463378149111348650150289465615226178267476201902679127435286235288470148050790127002140871677454403938766836969912161823358098706766945074459756025199401162147752542134282504960024482660901807055324069797779284174591836891739020054387427806842789785100195818460887403168659404863554764793224582044003217055777631084603142235358091151942135132718061908108915291242407302272930597218193274574905706156679482938158921142527151080859528537134108980235302987975724093361401851994802081372992244382470191263855770107421797960751023258230973847495316207712886152941594916976928286475371366544167713426205326828952931147604709700224016848662633015256417042438984120334580204491807390475765976963400002952413149886078872447731888528268447321613751942357452483756787906830376216140595612158855801470833147252747719897721616272508877539226161770503934263880636227545339974934202913358120575768534776635011142689075955649177927608633867401994449979080023074600817845827944439646939109664474283121781611094062341895207452600149296582396145720734554832801913671339925230213115194127927542511481497438508700952021386559267117885993650783785524175484399422356088108927242547383637781659138956282627804479788990195942774788125031486875130603237278565058753877217793612712113689578776118473366121589270726591969028419977291664190315698612006680444028610027359566610954436129853361670378499975545508224856557005810171849971833829651673688958747380865925651916044895774826420120537474277492624110545883000699582782802905962682415706430323209555680352770033228440668384925415730608003168871450888552549321649229902793089565484432171984229059185931577867044787845488263279806731116408286480766571134675591107248830060880615353212981584106840176385889370373827205407034144287806602777554794429876504761018369488442108692091938541515928442092393076116146717659811949556460505628881951189125309976779044168369210688797779088524703820662513432891105517498730072040517107185480551283053153061698495610362136514867961863876745491324837263477721663217079209350221412429382412313799670882799707081534155424301613545111399928637314000570180369416355349669245195401856899777638248341879265683072653705351707659382348402134327811034218388452939180539690824814470585190068732535308809564781222616420042346023205525022359862360951529040255341457895550810257999835184914245648886029239425846344060010122822834959877929890442111472837024702017896546749055755468783728018849775066074380984632772650970558934301113616417525378866673569146667595066863727902110922161497332044642852747195237124374350753107320674182052035679984332074050888840373170767187002779239841071753610473532528751083736359795128991191286276728889130656179049562745448922434108521618005202366527329500546046940014073401431864694985146464789154959112989052222763216969943776942282056192114292489996617437674368844448472576990820186439796369759076713638124664180751652672402893597260400171221448016575172948507889412063917935107713362528448423449067408000900483632158107503860598104701220715731573516186980409956028900801878974647928357643746128742347855475458333940428459291960129632280311676274555120232354058785723415600346451614845981353642225897043828131804249992689574485373589174048939192174733497276863761988156949464654040997278070224821355650015752565711001229577590131886791332933030433441122195432325940456399600117900182161865036444674677373928511528020608716028521398271873957530502601890529797885749923027771144656445111272674400723601294319773276419749848780183535502152292650266203336644128701352842993309188754735613822567909395567329773696404374528427950067386214154003782026925107933909816380823333138583676443867635859376573790455426290607975063301873251516535296433477253440695485771346826312374351535202729931621785453741648296765686639273886292273802470640115166106820263829968670739965632348819600055988054456855632639420407666110624638834733920445590571395507074951216162266584476206998758933728559095014212212344279140683184594741404057392772943482589566829942999724398460717957743651554396345249616262783454147540418941047028588750821791512741598135955291077387606738016598951134633393348686117625222318735342758359972140615144463683690682335969358508786479729886102812196374988273763712984382929562894834576945380356770808828749157509035491209396752550838034874269905631477576413466526259729905976568318213874875169772196954499735045216478946962400906305777349410331316251422332421632423159258955790856041378203093420659127356785161496546340826611466891037281349499738041116125859351232607546495623490630477920350456493251108324433024345367540766184307477648373685852864553175120852643061197739347732117264259391886638926122650979339297501272343179614010287911114749231887898839617921060280326733616019760366092909874814719426999363838216897595325738608169909796964483112362617092671753048418877561622271324690980448227498367972847464441175828673932260514003705556960783297533258080158088118770360838423211763442321015227017905843926443067065902449365446033676605181543943317354449565982329393460934677798746882562375307916525510438626678035088175953963576238543962221838000174842543532100621414490175974803117557884932979082610371534380939321821526782672855129888579727465157020586495647842004484280512584628079354598833856528905431796464261996191272479743623776727448899406918104750474321887661887568655368658482714326910043143133159279069104960603954687252123364754285058120214847640115244164244746348607246125824131684246043698757063066649297720396689202417413413722742156563777773666794855479652219284539097826686726913003712279616388517984921111537098964407828506971721554326173916529096572879557495686251928871394611734190064614374168990121333068603412639118392098135113383003758523401325864171968818028746763672743447445055113084841144825703347789612402393001341313311896054373376821941044614882522747095156206795464107314054299111060770353927199955743638895119142347003502334687788253015499603698501033991778012782126695998314609387419739379492666572872585706003647888203667345777015767869605378362748487346869448506444662975652809767346965731656805567391479541073652218203959555175138079903494738193426442201812987735067931771336424938520437664198773319039769003772562266721445986434727269275119175306444324819162436217569426782889793651209422949158735098515695401431014494729949593736404760149315540428957455625169312550069818961720850297366956826435466258284719968345226555906315425557303983427648688650602724892038772513149847180883405245478335231049370405731357469516183527809584494534203103026981575570335759048922835921695320096493929602692244361874852734336420510689240911966864084857515653345808484773687294193069882005116989539154954194477129843007417688352100575474249256354759947738605205171386129113439735057280360315403145233366043674197831623160221263584128899373529608788643306436852804067874231886664209335674163213202449704140191902483143133966431644787781882077430007907085970158399150145706008504003267094421166025813745866826990400918771677473940730047195890153556548638765205812982019763536415532061175983015522369783134865884404455727186277505962823922886180591886575980885449453173986419262420352969374188308918938920377638935046739347901996193093717200574790142044722397226216804182786071767891398487264807093578482028276913350006903458655637120835631555966765086633705303353452553594522908883466250258271074354395143264268982125569911180995622242823738152034546766445204207616104382036780165461903235751589838690322517750794470823886755738797743689824536057078641451048178106604573515117693488460628193246300597512571653422411626189771448334821174407493779159540356403877844815874290407529043829016466129242427629415393020162321830233352570479320802984056758233264732920489927783626081118592234246314556761315671841116788719654365895382772243987620230117420663725304963983627784767960597672895696675486686409404102613922900296031358481543836753442030802487349196084778527199576474409154563998224364013005326197897864594096278331486804781703234254039251633508205864012086628351410761968436317729515652861109583456260235185656820495851110665977628807423877086338973003575187013094603397881793180653807631695256812591844244850255869014173993216190681851830771882659603932184400112673049475963742710686792555357590514522209319922282305863939612409777093649611275288296307162743037159682979247704342771492166599658805941545226016776803908818112618702838329969836909965132764045949422009107175614784137766900292542726451475620682743530293852339909911789312329880801612695582615530700493848493386893429148539617671304290578990827007399363877236114294409823253186820360520266420871900268591300492944056027783646949150428081218489907648910410656470855808620671203870650667862878174195190870587623320983456255114303809898795402510789842210046669467694156270784936355811371784685897532693789853937931152373842289965031897526355007736003008870280033973938303331633687676253567816094175666313571776310585301918541789056172604826933130843613872479044688591303471180274060223672504780720882384512939356715865583078231108823389995702082774560194030299106106267943445500147359362871494671756060330946319047084054931777785159937357478327251708798446752697037057810627324238129207469427250901024858860884059947475308061952709791263215433532959950607570134477501904415224944116810533680079659004749390467906498085432599314777104434444666769455758764576488210727011806750438171638678155480265099973993918291724421445509898659361187905415678793996786104612805710695548157699123907225014404025251417293657650534143593850830418748379549669300092144670330469623959258631593284862995644315063801840725890375891310563980500759338324599828035443978836548295707024408794214033760775673036163609827003376345242884599916913470457620384121870264262012944830537360357658315578505887953126159312556803694127949367502857592510352270869267559902289360636203488256187649901005740434384342396848954793280567104659694672222670205408880908670043560724201284536131862288577008077035487608752566113660798246101867918355755653651506363403305964229444077381051699693651199875444748757060805207798007885219784986405631066804434674833226067846469547800885952268886699471480165100470740396652726075088744845005790310980530503949753710923578436300709635941954405622575929174441065601156594351921441974678730966350458221491444072503642601738655590312186172755129405409754265113941316554874932196084329466703676578871081346723352848503761081473289867252915582815704674486032753231139707254143209056607975332372139128475680939359223655677745140975601954614053075032944747825791167077812930435218158379342890190935100235512848964667979187113532146183231454466684077285343143350813442174329356361040246833837833865726721926187782531677658607908738795329093652331382537901328021212282186737730264950784027072146855725008848234173686837264077154220733485486866305841184170394825336909637699954458175807651947541092484223868715047323670061856394902484534533098281618342682343270416202222004366392238719597166145605832649730196794968994784075918374325019138137590652523658413052420256800418676277014676367131736544566265096451508379401548086059683805497746981955872281346040972752774186320470603386314459742696767366222824099547715790300632511887908538093299575776829638090163473776597199702095941247946926627249166035107479202460788329014904336572496408698743342247236724974415933804246437172174781536875710268575410692849208108783854644649636664184466730917727797561674924924593239497555062211056098360199078965002142263836629588894629579668170731676642084405410084492071967284942695490638264720219155194196179753445792061612833462104863300872871645332650932126817290020637805004979390699511741187523248571962915278390392997925108500645280492242349301930556099429052596168918656089077594995036560357894423815662635948689613244442202548550531747542194228695869236227686814859494127961634137068323676639371352323811511133590271930321583796183464401979793891990322001768363360196589934152877460279818056007834716994603880462664835508947413821892413580002446890873534589630858008700439482749595493045968970278003875797000416796812301243066114287875414052995781422629695037796864566973713105704733084869725441535172788023674576289838208313460884250947423361239751323515293158304581266704233621496108067689538813135648005818670550679554731580349608792211399857221867402383180898242778745854738802004501726382875366679526446758394773196250524330302569055538082109884578215655366656333425056898862187346577426803000685725571876708327751516226983961758615668812449098736219731697624322998793962521086342368280022716212138931490394897342153069403659407802575808764119053442347223989803301544487738791785812181445346945065280973562660290879943419925790918769553093412269287045001551812895415589504962707461400191538244035544655131996239101817818925221399119175385327055134992445826807796973633136680375008769315481770105618392110628693688685160382862275227720579115793959355970026700215325315636655474027704057372834982758247642777368722735964476705909956617478357734423020967088859791491708289415500221697687438145387340730602534925040741211192238526215888209126170441375861858765690258354056476179769381373678581106330286876638376430130390868241482418289457179469345563192957923654932283267784465071323804591266207398582402967218205987024224054602147296325129624034755965519612123731734084977263705304861660648058756327338110331243199666012653314517598890555356525866212991572053658468823865735463580891411858933072291448200295649648106154334396767482838361553794985339321063058767394912790556802562804997168104946303572099908971789494754679436879410607713675361238923336513733553154819682027805803999392507797317167916543186746113333735214404377902356451713233964171625742940464562932573102324223979297401556213429872437523593440315334634199738374700935931982893070666564084425841099529567563181881737896927794563179107110787077333105894375010635208833862844582101617338672409409398075522313979296084036272171944925344765811243030509919697690183169314183394777946792811620448442971675132242487384546524965563767264886514911633409255578317277401704350569985021413690237522949086209806021418392628964837041644511381371866281293059935369830860940655350535078135006586467651197253409504756134738659336375425133908411160187774965314772302997302537953755955147422224369612737105395001403889069423896987645367651318667183388505664400519516712174612172497068733638047006287444981462076775624432420300980380193744061789299356465125295596513208468442621932064140945575370745893097056363750586503721052591675141438982120074347217290308921453561258564855378701743682586680207283124366671375761698904329595847242229608951565762758639435244392831739541217488175400200605055190796228981383274397909093827680295130662507476669719298037584026041379385258046978254552866292566245435600423428968044196550515331758961934021831030126635671491920427669098571595684172355160308247216867849160776473118251700395242119573799211848086802784439133517060462880104832330269839363331068617172561847922746346722785917019463878654718516849144234635434805083696308749870425923829787424304274899498592434965577674644717878580324316603323722478469480793808096571567360215075255730948144575714367608520160810153224783257043645252520156179783349915012092972339114965386274253446711997937217418224408786503152157558800217520309275520579974088097083368196529185032319927706927371463692509968653398537858819685049439606150500685896654739913732494181291672436119195776333568244371935506186032295824167688415853795702335218890755473875652677720180629831049371248793562667464815473354808200439133369261275626809286556372128629583040848388582314671024623355224100115313197421908418923287337988052421975024652334780834314186244856473151352674833541883550618874110533772457714114514092522527502640784242307875067844451809812318570552475708572765599039136893335208092455099081304161541642638727413356536461520468010666587463676894520338852337963501014431789250946143882780929884137068025110543892035871435769019981479188924650244619868656238790042227761542665075604621701006534764840036001528807082156478176833424530578615913754410890461708387430309825754537008816503200498801561523962404007317859634543033510984678942990227605197320670828903849697653066966258194939336657918618092728690744538933481541791498334023896375321503320687835355960058001388870727541983282157251568670988801106618719262294833456997640704970842551163897512592117798478541130268441803888004939980761587206456080092566570784657052508739826924431428663330199119676890751668887558945779413012526424467998069448990448619587157003069824279816162720195537001847710891648384764625939226711651293556614005743719050319531267970849660034488749226560900770024997389488426266143971909112481348217862378173333884550191993436481073878596035145738189226502351783216926745861076601184790369095169664291824080619723327341018290884203019943727985638788226567178547267005048933911463928746949606981509891597046587352217101588316811943189915476035306317522143777074222446696854515055970021029629910135844772369634482297032114433494478047440460988144158490790124832562499539173185106138868028602431977510032570294186550194491143175616552234884344194050520197481740716074214214659566305882277137458390088599475764559301087886292682071330728682721517028033555818143231156461656496292353314185791410257702170109870345386195438056126190604890787955312051384904321994119649652332411717877846599587666639017664512930193463765547481632046648004109039706198916796198312648451796868605675800203221870897144548715074004368273857236599931677941153638996902537834836577847873804172005290427528443667335570843532799481316622663753350605782821594206488571687446765206302905251425705206292548405826631202036656336585618336320305958578278596049927811601575498010083572167721555441650298628569479534117449587056824167156504494168402156410210931290959525611181666594606252267644224068634644163705046869733997737319678072618293196087793900033402814253846655593837374755696518580668738440824714769601450305434927021017249520116172089363217570513927681553179537641151871779525078634718746695433761076665811368766181250502540499594032428653944837082886813812126038605919128343011483718210588099430305678950472912390158959278947738928806489119928254868567968234938228725495187064468125215053504045405718707382367840584661082173444677922502347437681713224985053762035787275502366626683847497124912495986094271883410321558874579646796601870722511873352946208635001737631237148288715668864865383600221532624440163780546580579120819719739799534909862051508502858745299188390531530239487386988639572403353165601124141376011246056315723863417168651248044553665446249554997065503205712981843146939297301967190212168766565183677559835572330375073726119053795942050046942061377163484744244846289697869850142208507167490857302612574580674447966872234224634445644606840278262782523393103918084729495928086058167047277728041115024912902746800840959630298671195366586802405637685028640852792943125694613587980231262477124947341654139306114124580739016933602830485607752500078838674911715178150412402968410719460123394057839600001890951970517717512781283010906439737520987576086318247356039470716983695522754741913571848405008318507763158426909021045082688530310386285644945898607171302432514210908362810791806263740352766969307239553311241837157684368758227922309090101535624231193513683923021040021052174330539228478858382227306863318841330914092684317806673472301641066515631010470329096190357963176243027869989755370299991531887402113329309381319075951918360216402152616150124964659307688778524827295139035534202865149454185748057444302899505148254415333556740766087549437839831211075938095330963956500222293821622974521942482370521743065874450671130644677449668812480578412407257312705698450700270908186718581586737239863767300870452117798522698704692013201568311647016614738064065628877617880545532688952554945962721022547605620916042129830586831739337493490520584041816606659555107130822759179251926149448144396837627584486760479054767268814660363082303497322140632644763534020787432241103638989071922135770339278961096987902994251503441743329180502055624836706767651119200994499903754789958195459966694607742396324968605684245773220614715983061972111527396229144070419694677490496011083688098339804169190150978778149290227293089556304456079352506854250864473254729553942718614855058144768409553016988786736683564560108133222593907753635722694277202184306143648806662570741692376545686659750817338917963309318287053055784982160196491474522383669503983893156789935133824320366290256808080563752618004729118459812085157092152417947600178849199342629495970296922232538085448533495392377315285843360225922538832848330492495322696237319624733990454823394631262770672018338790641688379130429322304580714463519104819129248573502063935115439991261363823914019936141156347852065656229138541548956886649202708275253174752004031847898466644650851677529187748092311471212196388064595589233676374198349950915743626062738557502053283472397244240685562372243425729467801347504112821994831910298060321164916183311309578129244761646824194919904114694487795084514850674624345393206949562805470681834089673784279929883657945127305337454070680714826707478249926939936065794978591314557617799622722999673183756949674432268610863304588290392946744346420143339841248243522757890548141408395064758952411255810660230700166483330951765940366326477248779317623820738670732632774408331676173672937300867259307134413349486889639430497895780664545932035961667540292565448022240873976767809043847470990147002561162684184565503836582845080621563005653886012447692452516506024238575798100240788923635378728639838414170824853544505294387570231013476156651739247462742281777409345017699981978935964895543574593718314299684228243804645446674077839928215217816091044657998143909459050417825281257378222511009006499339857570407546318153386632563967752734871178699687153619170177439220606988723430213198185551861809653918857140916101966922492421302598199582838650446945018643787294568122659546119356570778517796655101762692334627358002308131091763039641109465108442427019275204979191921129185625497446430641967808904911016323545002986009098156771272696780757536319416647651033124708680810995308817372226980282512970442459908837648326906656401869522179797055477380595055006716757174985392156234351376345666939087098251843229959579044992209764596903587281210303484758955301807370980077971272382986192806062256781299524434327720260101426395098893722342272506262316084581341598991410195407733701621413227454018305988891012244301603137850050831766504802412303554742136835143225386166341449485858696278293016932364994779687152264075811297362633814874332891147786797504281179108374284668587406302002768517381611406399769912654628425999362930045843159662049817216639869526966010435435820307822776016474543258260927866100612497067293183801145889755303242882295452729067799135980542021905330722990503633617605271784076920612131063917315126191499850237176345087783916548477629857403408390612424550429946493222020067397182463463791272817147670605062175390882101686802976753844916347030519691629787129328367078979098228443162534893746936284539708399937896314777845426710384663718366875939515637499867074545076080453169253839276838016570455478425467925739706748832682679559567306936499685936883865240076578374436961982467223107926460333751123393595823624353983948615413706454361319098006177368710159025454112322573891787572443773583086166313091689636430826271268338069053084693241238264943278207484247981804797591106482976635317051253596690272274726881080813090166235460193163018460874174234113414603677815269480864251653307800309625753716555416072132807886379415791370320348422601764007824239194864678556620162718933104832976330527312921929942062577671643726891356205394180517056611204824098841707697109663239645568567900133273535601679067464249238385834774787141319804708081613800705510070695600404026293839409798028675749900961729561656474442339321126585797101517064489111668359416698747950990661827182115824381760361557057985017231872284728482832728410848904351945194605448064976210946499446579562005582164623561086091885334720169852947254220565444046125674364042970676462894881830781712486702989056606808775113095163377815110949327232611208124133600644777995384436139998028647546775981407685050795606194841532709089810801342743468569525743286508560027431106270659703069814974203569991146972475911794519737075130379278889962440910067741189027289970158520568270494680147933329378566165124884244406642229658038253144663697143772439399229990595643211440613427943712694296773585483042496838736147775516498071817743345489352042639892392586584302529583875590210680209355052100892453362060466992269850638420117182049778805000379280248336133257113262639659585306598808274952829968044778969235552214732813815901632675077091018211458072140462672775694106165766486681443226461029768923432477884388699853889994303963693404703224283809652872007116111665238772115623164398806628478592883721273481404497464303996048387968237863349950434526365447047790079718041582068161786973220849943608867106770575650661754640394632340849937705831375619732323344209376048487151095809391439564887580576477517894905574011485749643639543272046752711126333849509170037152293583111232519110334728527085841319452998758418077319871644403962455133050588243622110638613635636411728321703126482768089999422319892502016105246919499432593317125800049218400115012108796485532196747493728628266385590300915988320462090520999365077664902559131618838123993580769537818840401223153822875138429856248259137348148714799238378344632473046381150396612761698332240335694910047628198102126699266340827112300858378393983998231097684595754388198204685192011104996970768758129186083977523756416669738239093102429867370442017832396943875077367518643885839328093064307788256250088548044578374407144793698703249218651724579256043036071320676949622767304856155431732346522517178751348800945241009842629019547571411574077079557872869040626467369183165432916789589690920700025507566368847195463153310824886298439356124235446360210921066885439191275922667066504597828802967985091197958936596669646716733891384864585940770779994403059628557613625427466189243530566485490223642927213183831083233297605010689579621095435273409404595701679476374606451859174070325936487722069617344815302672578047652022276125576642441576598740995936814208470279923585858302313307222032835980999164693182476984474474714511147556231094843663927758025064827335270137680632388321135861185661950062936032604003468120710494968682146103270515538600780651651081624460783886553470929989707615092485431853224430642243548541747989299104860672152001131811756256621602853904907461975242968806100680948246536229842908821138092023231725488464027357210223829477019955292155907665479074351872258975691789204949710979612156709653102949979407799404317259902793131928767568285629736565671448768454837005426333534769438153391516426016998338103997900119066774984689906777508911832722227960221302066387348601330268786186879349336178882310115619737680029895069609251369952763391269163718185700028585035267666929204022857432271716872221223255420589281322568531065295889925070512535958204785772226908935731517683538569800678440475349452663495892706956540629399119722515355038277053450267728329874541509061939505046857160888943278373889713525939188002508018533682727376969007902328792208721920943538025605480418458473215877011408736853586917122457913655373573766842853495221842474043396174994797669809215912657509176135552825452769815025549961035785358343034049461093354005948817805480145628656821343041091926387506784349503270487845955313802641457295967198538085378101906664635994564914341170018652762501001878152131931550020590001191816705246814154339908163932997878620840616283125176408115809049051171274633401893844654196460245307526284341993195800738038064121027824949389121202882097934822743933595215983769608949196127521265854028048932269072622525457542526041771977397995220393422213801838848620205366789896959901899192078881240532295740854615313394104579855201840336575226915060660927910720755769146904873451984877727419482972327552766709764195322142266417321417608413266562155847565598134281673927282710529956540026402382172499797573426120976918526701181946061503865898081227500128754638080088630455129005234894518488080018914246471647875649459478383427988742596727175044901295021449418653932222371000968892568851883346749896729319933041761800017137044296557449628909317786342193385513957712522605594161451999809179666063921674906716344049247541138177530284209663732608483540148047339936554553135667559129106644808153251189276413024682161797704900446044423932652505401843545261055294501385768985923751842985915854809747111778182364524544057241010773564979969979829186785596325262266231800903201959721529167749723122992908957040906315996945344888254126788846510954324472191386818906790402514189834124914205734544952478503858238981496134798350201892576464459631645908396372308553550795599733829057616087285125898619911513109071941067455849945048303138364397821661794535538146940549094330641466882132271792716758747721386672951325807597297159918629621622332139897316152682033309181478604198933729659053413572686936847294756029259612118044180530396841440277286666529952530952045430763632557166460285172854771691383196005303785411952078861275601350130847180944309531302449699496667658383766841290954039449919238716582360449907346589048251438624347070935781336185964315223904037862666654424181795562777378404434012295784135920837216244205336770391173524473480346974821470224047279278794676354690077223279742931165446240453535414347339311315845641929594904610634335469383332776322056771544540599318495184046347184048906100245182858370991107864966317559671549097331740105235514181858140216600934080869232103347299004831557969177380549736103456526707734282657304128552567928297544567280237150146818002606604196909733478513752535869802823781718492442025579921286144530214318499645510480033132906656954812399203646836494082892264636227367155716960073897094758953765524371409431044780502292078154634767191800301594976313709355301112040161049250795085612096522766049273417591516540311198397841124612689985031836354786574241446874864505022561241476094282269787506119568068722418646432596655093563497626095249124228274439893383575873958085104067726276119667676230786008050963979788748334314138757873339261814151207475313126694348549824512854373161487537158545437564590949082608376454089535280458896551846596771998344208416540366860913637252898616927641738648133239466476704637576771478920336911279738601794941075985299337706908481792199929509528289777584581108144751487928952206687415209636446712153806733647451146551723845429334833881311727743234948934045321414721333188324696937928728377860891309795869485491158491760548299727339172193387714083617293925542115011747905313656902381796342636029957274932771985301349596487225846761327267791125640064488479474654799599179778324731946772966190337447527580882708756400780132033759495804345668929880939516329126166483856038440138501764368103484558762735352655793075720874605609633713961037270901022497307468474932670469778621542992447846547329373762452340199060883998651874734002395129690675048513060990984358572387839608703735161884655260827326066834780513684087855292670345613794926165229768039149515835499637662373592850210412582892000527412345435552808850518373043417271657007423431006286793003568625626760236569499830579468181930148528047049865456107079597249238727151706291344747862983184942692014355386038612995990277104920796997233184189146901416851393809244646716695842962497585032822239384345441164263542572795250466769942997794837083126966094284561185065818896926452333841111496776580171756327653018663787122968359386358565957398227720023745937584172314512407642905674232959237633358261002839369273933449466189163125962685175126863330187180833259610797690947596182043886923595214706372817441018237686949649493452965953644986556227626305222680520037050375031299310417910549292796581280457648934817941974264166861139067949608609002098411223501836892721237441791583087402968122921250056164435469831944627219605765209763612313235858620906316466647409745450875895749818701621749507976302649247137968244373822982814202935404970801589862505102224302186734744875049007011539679384962345015031062113040179257230301821696494265816503722125575923652513687831678976598760408739636672979211490719088500043623103795621093926511805501920094524854947603207245539443732580099370107161611987772649053294242355109966454799146285663055086882838567287219885958435055388270923104887788353306627202243879898302257889892527747943192887221792390638402827881130977576024018320545424180329672060650395022794071805004563719681580851782926335868352328515639757656165630457870211459186099423765116173586664571077911161063304593153901549340242418383650110804636519740476200530115943209449398885412354445829729692156766108161425605431025244418548420685706631746945480956888850205494261687123416853232010323640894607629430503588592887483509917988727123818922764389540224649305980041143770682342322469049494115298793146309712901097835621793040161884440235884077465263017636573560780688991172646161175520684420426947415211816498137978385777702340426904074716412050997232618415773894047225120902082711240376313482039639531670440221631021369645288340297662186118564735134412762308870484945657753821093197700812083350694976690110244890714884918554987147152507284337212235004172703788650992864458600095267771950948170058670429116593372237744866777848262831157041265898769132589664271337873850965333913678489964681716375578988823430693225778591911787238531328263617118791156011818145652271487704678749424595610718340528591951261511168796884042634802739002141874091884764477781813763920323885720977574419392376475573338517688661397260231313270154225003250442715180540192459207461629628383227479239777570495025155348075450535022737086878871408276694032427158756257770313721713024548968624919192102669575436244183349137159059045680058728296984248566469526503629498894672636339277723795763689431068441600525392893535320428073834255243664025266272154446196224237114827251569871618581273018974023495614007146000384003953086949427140545057097499782392564828265080683804130083503583413359051854424136277963602184139845428077984273800302661079237824178475295465264195263796045434264410173864009092134898463266427851016767837725154630694096712270640483573970786902496725174020123612990291017444043219153152315034744150118173412137124100642228333733773554469886199520677711323838131004171645849841490798334301788294552229885598494262323604798406469760858745030002068895939570830852090831524996883535701183117728878223336631867808156468394950641812703236122612247943136056461391249367568455624537372338611942172705360926453153058235748751423539040522428729519488805215541554364325286544575594480645427225924112012915545900065661502121044564176826629178004356639886471149649104975365757384345008834123217259764016102792166501063479373646366058451886415407439863120639629914646952919589705256780726501053821759901975424642372903051618520889649371586929913459023968955065859302909606864876752917250580781895722152004508157949365346909883105688458220947951553032272490595792538630007041744576684475466382334662617788259253468833174290534997084838987912736559000292729477454989363653043680032062608204831532759437109107450816377729130499505472097841096842420861761930029551268685490578932204883873396061557408658998436073231043445415964530067873563519437249861864113092570168752883026287847912428937470529450187193692289649249942026670160636190896018137754118543981180875026725860339474876879877978581818755852577577096662396251510457501013366569919952952956601193776147974970590025208106377735335752832273572387180036060257448341235997943697015294817441548706104949235052536586822099684935341227836109470766386932776702941018716077444018698149609271257488287769772422779670380723416383702077252551252871881361473923162924054745329030539386693318748634653244206211474652972201281930701281277047092567345763061760434911722637217909653496638477397233615743056021001320768600656067726315040858858987120696489542537187464624448149827667577934085020778136504107278804223854093828463512405895464972844785794731405864868178114574929383814076334625978877018176564848804403796112756285986873410875213468364430296203100257141377725666209190275095499701309973957647719714897422174616261587915817894357994224257629073622610021254070435890530768474359790826493085194267775959263482681942112397740309019574965870580882273224304707491383273177608814017620881636022038642613019480043225538897179465868582141163708895987304128524946497638931266521892681833006730524010073167383499051182079401817028111971482176561765000776490662577995966202152862765297631653136704963258272400268909831597905093088684655846201424965958625572347470808698987887541186398232766918727611863772413325657542306863326023438267944389399876910434606969967570018522130931835872751280231979985868553758602957782085511210997074500791227696866257696929878049565695193065864193238572465093636509991568768450831518213762837933246817822326896741364729304742054510851344812554883766657395961662214733052696005590949591726599867781641435349986069889886680465661548182347315605384387553606297737901301630870485752947469512906599755720954694105568032428986013411473346024141490278368530200559818396868449009028261526164704757709581709158260838388409930059708300469643166871454433551428622420715896559059846949896549809303553329086159684374313823770857048885338858632202835555807109712812684358127044393453320051757387583771084196091290750194168927332914985608433454742535578253286098925330353720140200552468998492623853297947854973181932406581522857328392561181847940244880734589027743290408383774559706652025873378099105151046946078025208427477820436667394505619126668321156561860443271389820562845290044660882811108830974791182881458154804539964549719633188815212505043334853923973147890168782653357240732177174367295729308122334555428110441980878127300160050832955753731277033024468569913759314301791589281301407075985503730793423628427696887444418339172789636278300859262521164272606839177314172569320030346689609863621215413900145216014616950677306661672206523484323533958743377389452290793346557701697391942207595318817518692200870931459157248013921914978139489747902685876401053391774118047134346768494009377330797602928153640420025614066353288727814362235628048705011377841517171068936614963702098151908097137635839756434536033441862167491162119707229874581759642290696754769169323074463880345181004552180473113364519006672190471047451100488976860312200134650857451316047401569446308983994923886717499130484491888803410295470007294558205262713400500565943930535792788041057996416649465187468070020086970300953249200726990709924916938385184143464954242974689085123427590447916237851622932108204079320505375145260711517455192663974618559640516597063173338231756841540908407053952887466886829374756559805403958142063158755773452253958308514132697805575514713270671384614178183562619683940891687203115246517181427736599553454839545965349252411529440472321396874635381743732850228627873617109194069462906406807691871115456631232599934514701832165230951598569416254265166315799031158759502979509451788603164950759520270347786541851582184637677540824212692753180577611152243754506047332568652740000073377614312677289714883925404791575042568657383267469473774811299810486749782604666110139417899025201861185678530056097894455233575946503276436947369765368449515122046973222516214889922778108414502570045742842294877894429702758942777764705760557187041929029414656731983457918253477798109542924478561256790134007716539457552197086447642629190789520359671114801478503061609545194836100032853448846858582341591364344415661068765700935218237360773295455334092947913144301704730634618478614266622239658280405273180424818068923757621473227315063854973437955189367046905122529097496836953205036478881430733354739603782016031753007711238787244528889334819082658271535429990910092973857558766634375550566068728946741710354745741176346921859206849313553782388158112119427558221738433119294564916920135637313778854430971533029638331910283106768871210365316214641343383046556513987515638922247459432091363126844007808079444954851262167050210359765723520003897351111699059317880079172338047287007250982762803525711567993956718826970836645775236478250533170157687843936341814190490611873398346264574646407667140641302336171627154192596049597450296417496827018659273277330019263034058451647865544936429880159533682336726055164446651085181311144045043024871790087016864839291521662570713972074421795333437140467457233654522980579633514837681442273161087396608076185941458373515614073440036918316180880800806397704990794312164012809135944253562765194719506144562008036008313871242487339184873739420169883965788647698637996425162393733284637067399055830200907786339317167054472990766579017223749442365950247696339593329233442917072735910541690170632178318642990647797784970603698670445792772549129837926233558092874770183912617561855135583634904665740826145565072475577142637232580541654910094854729974707269961496966538819185339902018434056424663935775134165493882430651090245973683886817755497910017843788620903133827395504323791873860724745534178304281271269427051465561053651657250659465249218692632479273414842811234134894072384832148272186980009638347337046394006803428644845333216723167367509641913943335959942281051546862294620239054101902555986939580594491600346152512036800502346668164715163885470350628115621907051595319541690160612701422145278521676971230093911784729783665165167807994512923336481319522128611917716483014512548630878800980364969456669933349846392004001973134837799620906987171192680692550536055918965499256934299758274511895644407944055498333357088029329865957180453545348026555717208137976931319538670216616954707551218181813289816886425399762900919518320489603004863208640542169479140593837851924318737305202961812435422804499430654571952017284132247756905320176236520126820071943722662450890426292376288297167529639875495428509510783156580811801669218765477891341956041823227408344118496169433830576658191786184697742946236615365364715372252980493932029377519572467661551169001726774949647156397932601787953970302515489958961542634758363708088980179045143510678034610755188944345909497238992194736772265622844231921754236159063808582399380609478329845865007863553316560394312192519584571487916452706121931412805383611359675641405084164794548582106670958950707154863042201973292884016356624262939128832846706161558153287750684248996025610197778457446185232626918908820516516536367251891455572922615662613486137477261807076213549199704081960362651888278985914891322889219459359771708408723931638263279228754726341769923686755478570421007607649496895886775775162374772506010161694966942871647407703546149150719682175083385509672463451103114576862959759345571836876865465417460305631056204170835636080292532342424857134670002519572218414252089108537024647005286465333483035654243261675809708807166128967966024444718363191055435465456982253650101275808317906572100604237589445051012632432218469611000429334817745426357453015986753062568940839974491171962618309484960433175437562411404522613083374754619991657222514777192975388498203818406169821815560864653498396508754395313804325723507521812668074573891766028927747880534942645579153264431186580127511293603779688274978183714827131224245424517961390061966389730916922283050131962284606013290985262277294324264380812656657907117635774844714540625486845872019442849432403525148138060590550855295298327648280162251580161356087506805013640734070603991681294758717464643979541622095607234822466422504116886347766396677097572782737886876557850662404483445094765652024458663992000310235582510768658835066347941682347519976237533815135276096897778309549567444267693806776201950762479892554072153183048001161250841808018498222318223495218402724031242021803767396392196300453681560952068900709938237885928969356043478986813584598246389459200767765786262678119289459837470377769083197258000345410737304666823535170125918691314052393398418271456003866153329727673275854511493567259211393586900274551938486148934120927089387485397148735366581564004199090935705253777743178699945487284603734944002974881842330925325388912223969458903683175172714960634535068172992565464063947383169571211668465184522797235554705932876776410092053228928327685906086957112022344776449781572374267691416529807501148521596489878508946293328297329883560566777458724454361901346443104174611223700865043486993566809674315074069568325810871511286476893083659889524903952265126681106075839363773886170563337639408377853034190518854858973756428726972430215512236539892378795179797004711264866032875095231565600041563934531380585476643778347104461171224835524312026147209889904748845248441727422892475675735602818690781198448440961651571309305834250466574716587639057651106222235894680384498713326621238340802256764059055807149394834404972271638908782569746278761710323649033622631035330390884734742074605668035779408278051509042730154012745361598765995330331811319561497327997479937505211397335407747732177669821027793892145223207160966501353222676611361790379130326877083540770001078710061311586470289798106921195397485759647621089411956428243085699586084948266490386928234797487402429254796666059171828252330689827892246079246564507095072785724362181108056134981357926544618709818642806717324629697941023998816579679167304869545646853451745475059194370424672148683092780371645875005571364159318881597069709491657126088623397231074097744211611563080780603298050898349052224449169527978088838297010014905436226444745881653622834901304766560764092289215782555186171180935771961251460902254730420677925666411376209045136602144521503276927281788187943481428042511583061506180321147530844730626029468741434714844974830312798547936925259575574829951043603888710705940971399870876820997515405914308414663996084257460035391886083323782332814106990675039572387576606969691762967362869900658017456666081879599556879040314770537113869588268298204891251124526749616434175005534692350851637332738032341310363194448993550556871912207239745970716370128359904032631711307044184438902546828474515251868695989127558010235015152194241589585228841678625755757632701356671645393868396789866034061686204312806710109434282319679310169975584791804973780627043991321260988730409142415456221754741685014783862616926907657803685198210191765618475839013660431281259606163503416600343677358935984430295764948085044927797163270350800271263471423170354365014430007076225897848160978027131706311335744731136063312035772195089842505013050748023929472959214982358906380955576713919244580626806873936231368586451702132678055418534162952209317357499337714386421242481915251349245047280549330575348896006620275503736331054983249662423746789176915837149800406475423510805136164391505180104372985409168944863728497900337883198980300838697944775299776897357699714582475638956084511866811055263651866188831509780186563718316930843035153888297413720997868066125551876244748897160498506169107068980491513095428955781284271672927816893717281282651141664220138291717629970988244573041853080408583444844608814240025149075536559742336165417944661832929630624013804951811044950994730764564265708122057106815368858818335858338406008810031470673206432007097160546969250079748989195224093373648192682998159961343204303616148341360442749950359144677167228007170596687354416008074338008988374398931337050882538281409571689437618510818001982595453115106454541763726881505272835978468266880508521012485502330433130002949268728876231853967771633326347448221422274961960383664484464640311982490842825083796869623530915924467726005654633942978511559834144892928210350971228005406641579795341913106385718038106665478613820318473624773941224264803209529367200832473196972209105012745753344418241472265257059970751907139602143485969826903295732951381876505820167455798137830294658077192875726458002535284920442229649456227269040725356328584687649361426263831409571322807067167899571480772146952035020000232829342484460782390387127086599642283965478274631127374830278774912228830993435457501346151525603620988681539989465193744759738313160697787895543669246838568874041621800793341004379205741870055790693740218320941295605979035703556383333176404196431777679698327398631541346707658742118846831264363073232160682559166365824244769832646201059323278596345179135214172206902588404398455609653464567833107257430028959417370063399175059673261640606679648759914030595061183540065299813435411294286025288217928210186711890212862507693073441754940484146539403406151688053677155786845507026814128012730066916666508734393478951213258775458392163793151268432575679140666503339863601651989103344034775680267767622582874630770654417821156331599749722176972918672860273273631131774417326037640021753489538611085129381600209629055070068158657788319590435559368297725102348290112452426108071484757468405669182385529434913509614542089496665606362418071583224592032462538769639924954378519376037039507629456974685596001218302410157946097170577091206556259216502930374641987538194126315448791368250844371837828273375339303432260681986875587059628350759109267459947420234132408204656771507686989829191088247807290935448694769364951910383436051370960737519247603526659308855404383429996892402236606873245220231035132286224216651250043499073246193556477018401480556821645332173344206884582883087885003298546985809421668189086611676670660776312161275847777783408539853141054406062133049686957652578760930793589236432665152901519122111921312256767888219264705126822245318279901526612555255167135988201128646249481596896631274464511699857975798484982449636270265758351612487880046629186088323988577379073050693738615908851720696629672530733652748248766421537380598115409229388507727665276153995142368052907730549305310224520038324129094939567055757988323878960552036243823283561746122179389984042651320777898145081162930845357152704705000936636743952835988311119206438651757737821647307109571470678988806918148336810326518818023240562939293869218898384053095144286203415173473618250298132411771191803199672729778604099795191335588786228378262442752070645849676643748383174169859243089518929911895020034882361293713281263366112135073302367168749088272656826678429574105722498922889633087260870167362317306453177341757649952563214295204647578633501871450022900560547003256002003384804127331023578202535393437480213873149409200884381534633915096627187406158011398420363835606124327872131350847779240827105130634329581977818535534747894159724850560857482946836316087160641009224602097240252782336491316726417448326715175279845341674795408958868203755111107746959425528166386224942062641021224997892467981601991029729598094490708018936778649416277837879262167474032670090194842946912802172277525491692483230633403716078284942085182916308574684949792312567474839010135139882597059316479080825354271788250654424187801739370708475016167904704703164740214788590853429611192361140284496797592609029476841365854907829158025874343853769136129825696649127966254301103724533659039755019842394340726705786653786731974225189626639803135836991348624801903305544967525686812956351562064928029359772802910480502834779314932605510425517855625812335588919507740762159449781098626222996321822509189588890827855289039833566140156572110456511773420591607470759403117237850226178795901830736897245528089021808767903505408133534493498507879686952673019628822344007872283551775157298794853460905587010969764675473412767687763639155067120342361610557700368816881898267154589854856991454205455077508906937255214996902690131425598402757926435233661264796686105952501844144731250015680990526036952912789763086732451395415964721481786966911984225921905626130192344107775051374099797058009535878230489803686710348143072887307021451245361543354144160582238010776810107222788383705786798168174689437379406002709555573386027184604692326303900040350081050057016040545593214925648681543373394508125209518581310590186811894303350441244782979283387998040191915183100108891586185648387790276831614019373498557568621719694786208386999354992207513221972284122033384470139095679910578729573913846272168075019323922364160910184101349775780591627979044655142546723770309673124041510660342552383539110753393545276395127526412277781691903150459637696385618702070376307991736325600272292316355211672140164469311642788071870271472867119790649696496305878483629565613798515514181828955676389091944816858161455231159271798076072019690560998075974309354008751587352922287655496238564557028032898805986577900834216466719127975721436661059706347748597838822582137576283390063467211513236779010789552010492851760518135409426433613236517390729469881891236207704862421099429157959676219696103436181634400498406538117095936205102065566299224475367144510576258155253327666686592149922275686968736490432836462094343322466328711596700035264222096425962586486314954107570576202612851768968665661326949267934419839576735169031123367499002995050051784241180786437358173642201782221708581968392395572560492432374881031567657597657170041587537077763009436582033062604477387334929025879472881855832004911702312258341381546012225344458926729557065658675446928665195394673905171076178578291095949108051869646758389974768464738835659228450198694982025686912402163744989421836889852165088778746566059644179288403736029757303591222175210179267539535841352367008745402216174410672273744731455585994929383017616257193397679938435710916093725582775945125831118337053304165277491626206186799386853651320452912108261643141615932480651334169425839762899386090068583957906081314395543107608713436231143930183940969641720514967322161399839303857597149961518823719564689957899457396826834991725926567361454282753964236626494163629969358342665095472212116432461941767529980518618074798551356537490580681157731315037015504628220164806438383997630174566312523880871668222266396326307545599489558274133886026952461924638833846210080543708595215309005373248855427769584218840866167105174038285900981219905698695758129329337246220671603554622934493649122605383858005232212202333524253712543151825879247746435927629160720442347286075791520598602394829036574734020475736774930623352258861727403237111104796621727134809327237832932469596933943391510586889328620414300919670443783742199527147952008281278467589968112094932169449554583856088635512771088876088627018791792506820915723243044938610418504206206002856121097465196015604927770939585099799293128892012039210581369071872624287627471431467542491004525371005463385490269578713420924219639148418532826504431243449583977751941220840882536369318738172940441658435403731311868202685134625404894551504237693026886127140595969380832815140108873353641714544242090119512727825555628732632151141781257722228494250800700799720176162764365715527885825978446151082780237726603935939905888067910800428167561740546077771344250229805251275],
...
|
104937.338332473,
...
|
2058 |
2059 |
[0, 16982629, 0, 65984, 0]
[16496, 68013008]
34984190990
|
1 |
[1552 : 11591824 : 912673] |
10.6864816477042 |
[-49562645 : -49486383 : 49545563] |
[-1020629 : -1849601 : 1849106] |
- |
- |
2059 |
2060 |
[0, 16999117, 0, 66016, 0]
[16504, 68079000]
2802812430
|
0 |
- |
- |
- |
- |
- |
- |
2060 |
2061 |
[0, 17015613, 0, 66048, 0]
[16512, 68145024]
4385771154
|
1 |
[1051658564872673391702532176250741554882155926590698789862269508235047947215765394101570295606283791099025170349502915024932616115192919851683659637311270207490061658467955396238146281269897103978264810791926100897431137122151570355722210777041895056702009670897143152002674805456543992458536448 : 4338237868782544433531441290673231805144516387003401099688850385960219745954348681318215734618156185487264469319458075865386705545862104676394688846538777990055219817653733603661678768792410665004053231203987028340986757609259559325598466934042837331316351666277355801218478031829504496732756269056 : 17507730839455811876162989368057521309593569605443645752854599367989413720473985447760057965229973654056961998543337768184067802768923551311505426818392820928260968555246093116428592453286119808426502498795898113668828169019691846886227639665068603648791252961655130344612406912068048206789257]
|
452.927777779474
|
[-12047588181871786786038911559745694936077195969796603853047195992750588274373956676139396462094862569458213543409000432756815365856946295405725476027413460882852017887446586296364347763280732234835451499097169197637992232289037915445385769555769292238824194858097156693533113072802384283153130063 : 10547400718037298805270678495844054049050493545846110207832233100792222902471609372392977155708034229954622234296510379042073725527752166450496861714976007815352251996166609556040229157513073312060659080090263241637980463592522289375439579059037152195115136737097404771146460009642951637329975505 : 12052684610119127030895445415770639185697355141766428868861612332661586014491443916084617491649490226693662524432282866200852348048454304654433222060342716498102707071934915245877761653927749638778799527571887921759636881491798257977852167844334561946357638205792870201597073724598354491860483323]
|
[-14337179546866387061492199172418822090091640564832649974264443772587828079622493239586552252915939005422315434800897614135652489843453152038359582047877936580361942036587953781172770046651898613644499329239720579750373158340095310981616405387397830738277481873495414403050113676464618817439809258 : -14233675934785804328043394063516295791333857543494565549696289179172727676750362326968765267552427951563070236634335690089805671279639953657366899793915611226017952985013748075294733910061726859844734967125512540278689750312404337516104201802636725867077905422389039206156552287104351189901404743 : 14330736681150921817900326130331997689297154567291564995572222742897784366296639284812039154977868961191416511573656822158896783866661855865004151767968855535704547752605268067203529803302458070163117602219108736320652542036112822910222297058294924099906777353319801393776982819532405021392389713]
|
- |
- |
2061 |
2062 |
[0, 17032117, 0, 66080, 0]
[16520, 68211080]
70274465170
|
0 |
- |
- |
- |
- |
- |
- |
2062 |
2063 |
[0, 17048629, 0, 66112, 0]
[16528, 68277168]
434424018
|
3 |
[2838704 : -11721748464 : 1331],
[46267204 : -368153910324 : 1],
[1648651388 : 6809666225517 : 298077632]
|
8.58041495020381,
10.7392598305364,
16.2627278078198
|
[3009925 : -3019781 : 3021051],
[11141375 : -11138576 : 5782001],
[-76697024025 : 12318220753 : 76702989112]
|
[147447 : -147392 : 113737],
[-9526201 : 9529351 : 9516249],
[-75716948147 : -75692773533 : 75706802563]
|
- |
- |
2063 |
2064 |
[0, 17065149, 0, 66144, 0]
[16536, 68343288]
2819160630
|
1 |
[-669741654625203261326455828851389470024334351143590227232229561060997783828083775168782041573358713047943178186212853388619826481949248536723668450978497396630813397221322556496887218663684202448384027625000 : 2759604850080385863524077034632219375350909629827259179290023517594333836164738259398293041284567000935725103438531336743357033697735550770439575155933648053767531932985033294566351790557005441466240422566057000 : 885330346085122034293859432528488627694686183479677706589795470815212729829950770958709897942599980037676085891750166244956623231597422634140805477061459867417518922200891115315620871903329779065947838970767]
|
321.830422112613
|
[-725004049774941209411194294448006613015844362258264721903588068856489688934026345489445362321040567897991033455112429109306182303413020029047027424711371954949177318495674587499248142315380431345966761325595213 : -495036978934909054117521208228654998403268559772659790296086109056961869253631490539587608880659984486680608168568151047359762828601724131510396161716901283801882990746921812952052159768963311223780059445090463 : 494685420248009920136764337144881110725782549628943155718553556629013119070434324565659144858238127816204606001689551617701066613928361905183756722051881213530732164174809611642248697928129920921574610961420963]
|
[324721578048873568647116065237918253418724046846706744163922268857508056787698657402309181653181958289920248676396027955663965590736755742949863514241306795171101658158282430060183450523975892332540659143404125 : -323731493053691064432138937910601899284955722320748211462710546598654887599719138805586819630503069309051828857647502671782997855368711944018728802943147101690670747565704442298087417631862239380522909679609623 : 323918400718138014722502315394216825391316850145534848960174250963387135710176048157195998580304608639907774617513549741149927086815756543191451677525926496958201027468942305211109775419853669816356226049423748]
|
?,
...
|
?,
...
|
2064 |
2065 |
[0, 17081677, 0, 66176, 0]
[16544, 68409440]
17645359930
|
1 |
[3313999383806225497613536429111080255221556509591017337707884575229768075763781175153095703194274139352508473436010664893817359323163292657279348691262404259788921963838811 : 13704803669719371645713854881841887445608572561137897221562355262337660245011775761134676378770162222065647859017511724333342928048747125703202809180469050836491723771872151760 : 165047852375911379298276437841985847099987994415017473871155183057107917639691637865489919708829364774316556345557900301429848637093075549073642678686403652815825444409]
|
261.169491789579
|
[-301290979927564526724752160729920505204084274068548054376439964144463609328909377562193469238180297261451503652902201243729492494344861608275902037512454134203894028054537 : 301316634438462587520113394149353428866865382351717845219574337816079877315556963479234534665091648305906872032159323405422664394684362342617922703851470273248748547382295 : 301259843999662378476277240482199925006932764912143953460967774548716236530656313873579076667841973509818540668190590273136810351936003510763475911490710499549292918866922]
|
[-62440818598185967690243150361592553902259955715221454006269789131602015832781684916264834972976945247416009556487058397491891184054373763754286623268938586721189937823847 : 6025475198140585844529625201878970351300871145454573210507913470824038448870880914746946575829852624428068407331998622528403091523744716373175579354182765454783088711643 : 62443733653996363245234412767494281250044381597978781662155982759514972984484496446220869434858597793249507756200383236720723781972165997581891756148613981309648527227227]
|
- |
- |
2065 |
2066 |
[0, 17098213, 0, 66208, 0]
[16552, 68475624]
70683962874
|
1 |
[5809077891399960515700182607015551243196663931663566770609732396149445663405919583008788081820014976700167956460 : 24027611164646955258049999867255638949735184716358235117636995327383086200716035781124920538033604911601837573901631 : 884225954626748613849542602589489562835220719019002462626443488769360270666030402467221571672324887944422776000]
|
176.120357529236
|
[-5522501441105356907710275548958550663220080199089871473179896888728198279302395011882766172038872348840174742042453 : 1342530320222344594589724413114489036704258291298195703287816061952683492330758068438639695970729054474635993358013 : 5523150594258882821339083488668221597987139337509005846376392259512079780558716945280256994389700498412568636610080]
|
[-5358585148452040799341978310907346020557330682727084529655542745516346975257509913735093557016432228552148632686017 : -5355908118265177533911041994106911043412535791842723732729291915356519702125439565171340095362841611572982503360463 : 5357572088395921486075248900947960093210759094236899514120535841759940000057050068045502772422744121237558262553297]
|
?,
...
|
?,
...
|
2066 |
2067 |
[0, 17114757, 0, 66240, 0]
[16560, 68541840]
145651410
|
1 |
[5710820964490014537560880 : 23634085746828040166503021680 : 467830201569688600973]
|
32.2720452656414
|
[-23794115118387638112263 : 23790014999249553170863 : 23797137411610769710537]
|
[-2897855446338644658701 : -438406929003396872399 : 2897643557989442154100]
|
- |
- |
2067 |
2068 |
[0, 17131309, 0, 66272, 0]
[16568, 68608088]
70889306926
|
1 |
[-38406801851500182759364477082458740241160684274398156778409993007446258921210842581205733639457760439765809098432131677282039089465528514042377920326289570617120429467095712 : 158021991357804897093140691914262405681692655074360922134014624911256470188696789964162144770186438082289431548157527428473706211084656025507838979281438207258956343979792669888 : 189385228019099667652111661826482917211816385382077282931533459649285094867755794336181437930527295568440333719512711051269821267532463731751081700620262892320828763211]
|
264.126556742367
|
[9540290674439535111008795061404997923159474959711994842299411187266017974593781372811679886400864849044071419405180133193365867248483946878379346277364822147825533311214911 : -9535275641084957536642181751036142308816944049747314927620268304677061478411625431167333243752012756254025097755313279224995577836578344950186440695285854730368134479682321 : 9596874814748487215142158071907655928864851975020241357206286902732257519215422459451422948653518544446974393291885578063190752775744059046133325581194045499715029364004549]
|
[-15424767400428595139048017916082711623064518405604385842666288946163843314677336337484358463881665754942947865972350716881069799100823489102554645117796156531730722251362028 : 15433570769543994415153151473341610314138617134804677980339281014792821134479124821102226120290261332764756329267458200643922190115326360738541322724085387334992369505490675 : 18159731550175748921179103253778587414489060993594974457695856678511272883623913528240789708400833973792672629460385248693877916581676584121329638712666055729924364312656943]
|
?,
...
|
?,
...
|
2068 |
2069 |
[0, 17147869, 0, 66304, 0]
[16576, 68674368]
8874015990
|
1 |
[422547488590900714349571989556511497400612403309120 : 1749812151694746423538713648792086809444405993868563776 : 549778909968579594339909790957226624238803443625]
|
74.2034075568927
|
[-6632055347188762287971210556576745740067537817353 : 6566503605372383194911917979448528890668085476973 : 6635080380141013208241708625384600571584294971895]
|
[-996552651039823578716048107569904596093898002887 : -908216329058964001327214230639840617786678025223 : 996116189101805605958098786668688585200709263422]
|
- |
- |
2069 |
2070 |
[0, 17164437, 0, 66336, 0]
[16584, 68740680]
71095048290
|
1 |
[292935863628551375395536089907343141494653282386200229007989354681919314242503186343724349308717063391385393112312547184906767792921196887174471699675652626548002800999581981524220191378243325596983288700 : 1213911131197246662703790103041508185142845955002142161582708783977023798132818662444857527865047194981204080355607391914201054054504748547832912994872263051500964887556503917297032558501856173151283489392305 : 37251691344451170277027329053238868030654220855775585104744921520103294242834457511333227072811159715789912275699926788979774387563295497108119638109909172495084001920696300967459980304518281821367232]
|
316.970974711822
|
[-1214235977382874489536268788176619755388771671318428143657077884400831271850299325901881753753513978190539354867675286952884587865155177043469779579251002132591075357843357162770752694623848061011412060279093 : 1213586285011618835871311417906396614896920238685856179508339683553216324415337998987833301976580411771868805843539496875517520243854320052196046410493523970410854417269650671823312422379864285291154918505517 : 1214544000925973277846975777801048891741263571807085931312484975580363031252656370851761653773099010966627728962603403120122086312308789592975051779534319218131582080430120558891612829384810472459624302548288]
|
[-80733729677913257583383784672918795636232536875665581572569051669040918249918371882292204890084742412418394504571768595653864142462309305582402836478204876669073982001137576056993454095935537332039501484905 : -28792642477138782699806097872294400027240746612232863361875983999621619425221632547811547370869463011189645681397698672143058767137887903264295963584077866319505154343391434999757545086755058746311869013063 : 80719835571238117375561411806400242875957004747236989162423644499584395297731785712346209283988390644911612714164074415478086410930030039560279811063313545621400923831040152833179356621012768109318618898073]
|
?,
...
|
?,
...
|
2070 |
2071 |
[0, 17181013, 0, 66368, 0]
[16592, 68807024]
35599034042
|
1 |
[5341389338652772284374320 : 22174851000928211003044930576 : 4350160279570602617639875]
|
38.3614998851244
|
[-15641142070660642715955133 : -8288737892634047555794347 : 15637145151971126081382085]
|
[-6626891513451866071342991 : -6636320896187798768669564 : 6634105591236648525182771]
|
- |
- |
2071 |
2072 |
[0, 17197597, 0, 66400, 0]
[16600, 68873400]
4753412490
|
1 |
[4072338137736763800660461307105075428246536153736032239303824601982596833234802358826853721677686650381660095276169315195086888674746221006922417822638599037354926902887232507263984430538646834073496616900122580974517443385539180016867177210972 : 87002152788924647172724831951187004950591479801790529307496879158653099026513747649587406884897007551958259575384648869250096444294577313744266943282558563865217709634839345475318142243390321227247637746607008655966904647347996813541328408570966388 : 9271529390793165435918384856070922991794150522210029706304325461678949297353426174367514445594797583760048309628333065808410792941480485678933711327374821418929549367895225610818869621917951519317564578786873904477976178244182262893063]
|
375.116308694473
|
[-23589501248561360709352146888862551107901451987369764626882881903119012769401049670090958385487003704496073157729439978244368288998243419292797202585421782348319520136162412621982544305464484355816583370569869994915411318936826418984473184766432 : 23591709591419467475422707748440596913026682395379980116878983150380498633263672482613709122591633796565889735646183052802321756714651002477412636504902818446267090294878447180250721553207056439870855754488160729578571678540395280332950030293745 : 4580276233524805892707738540704186954214737968947928524218752053599678505457841247418835068335082435644459318227318942315496015900885707040480003090727905868050507686390119291537893860484691646305547502053492536264751944006947146844737151598687]
|
[-23142781256306948819210162029609039090598385003082019021271085826458722493484989104419360007101407462981422377957656615785649899411095584447747582691125617920984729590447723902635450230917974347653293478403050789501603014241679342707932443381257 : 23137404365382799660408319839859927929711599488101563524225051671484483751619255471618091127228393293849971606720532083093053284093180587120906723059650508740889593943690738963595998213966534547735602426933191699733889876092804389414380720729513 : 23146409347350781416681768350826970208272578836581905908236808974762057174226657492045691535176069094202763722385097906279736599539793080505109594281377336431133138298259099925501187032818064228861767738086373557638546614752617484808931951525047]
|
?,
...
|
?,
...
|
2072 |
2073 |
[0, 17214189, 0, 66432, 0]
[16608, 68939808]
17851101534
|
0 |
- |
- |
- |
- |
- |
- |
2073 |
2074 |
[0, 17230789, 0, 66464, 0]
[16616, 69006248]
71507724490
|
1 |
[-4748158925 : -19701274376690 : 1039509197] |
15.2719213021982 |
[-583684421 : 8904047039 : 587977616] |
[-8882040235 : -8883171729 : 8874005119] |
?,
...
|
?,
...
|
2074 |
2075 |
[0, 17247397, 0, 66496, 0]
[16624, 69072720]
35805571230
|
2 |
[254124384 : -1055394070435 : 884736],
[652612361896842256 : 7817977799898250987920 : 5168743489]
|
16.7866015252610,
25.9407742048263
|
[208188068711 : -213969559463 : 214068108480],
[-117589128662177285 : 117608759421404273 : 40778457238939147]
|
[50690872199 : -50667612935 : 48968852473],
[-55160297153817299 : 55132105862813969 : 55173968661126486]
|
- |
- |
2075 |
2076 |
[0, 17264013, 0, 66528, 0]
[16632, 69139224]
2656098522
|
0 |
- |
- |
- |
- |
- |
- |
2076 |
2077 |
[0, 17280637, 0, 66560, 0]
[16640, 69205760]
2244321170
|
0 |
- |
- |
- |
- |
- |
- |
2077 |
2078 |
[0, 17297269, 0, 66592, 0]
[16648, 69272328]
71921994546
|
1 |
[-20044015594877931800 : -83026342714091787474360 : 41970731060628928459] |
29.1565410449289 |
[-18496828646925423319 : -23485193385815821509 : 18485509067010880939] |
[-5125943254505545225 : -5105537285783225032 : 5102778579651120187] |
?,
...
|
?,
...
|
2078 |
2079 |
[0, 17313909, 0, 66624, 0]
[16656, 69338928]
36012905730
|
0 |
- |
- |
- |
- |
- |
- |
2079 |
2080 |
[0, 17330557, 0, 66656, 0]
[16664, 69405560]
10304246890
|
1 |
[640919446205080030767247938667935965212792 : 3547716367991663693857856032759623176491225685 : 48154699446520109971642144382176768]
|
66.0527780746881
|
[-14477862248960694655666127968431221327019081 : 14483087693828396722765349850014682154541945 : 10893017863052509489493604016563180994856032]
|
[-9555708633619267326877063975879142043680065 : 9527885721921640486151087461951143599367649 : 9559639134640209499959766485489860385962657]
|
?,
...
|
?,
...
|
2080 |
2081 |
[0, 17347213, 0, 66688, 0]
[16672, 69472224]
6019478742
|
0 |
- |
- |
- |
- |
- |
- |
2081 |
2082 |
[0, 17363877, 0, 66720, 0]
[16680, 69538920]
72337861530
|
2 |
[-5352992 : -18551716480 : 1],
[1295064522400636723749985660250892024685644671225921285660 : -5726647482155713217698079899243539878725188134152523236667644 : 42495934875095405513778821633939446645435104049967310470375]
|
8.3173014902425,
88.856113746143
|
[-556079 : 556401 : 668963],
[-21081321994780320523968844895934462079488716172182507480448 : -21424728536046554226157504040767967709059667727360759053767 : 21414908330713516965531922675882576397359897533674873427815]
|
[-130880 : 131629 : 130949],
[3708395201015821408819090571641540062213391172014069590953 : -3933408688446809299861141222415435530963918572673966809833 : 3935174588215672004025584484079792586163335787148683956777]
|
[91]R1+[-12]R2+T=
[34879655591079504313166767823863385177007598403661060975717681143620394171140871001473538255718527093756612164655775659667213091125262259497185174997164937503133469805988077568985548696401774596074097384109516423745628275896847393396019148551982853215900577962987962093985222943035518948978561266276517996552332863591226051186163997610595965461626100686389673601840673074296636559943388597766330053984928459619555128311890347248466619929918023931657235297202452691907181969366855086584169184636669752956018335656240313716441123496715234196575610744419707725300527404944350764828223767531293357234001627201976679218026475822961747129564953858058719960880282521239232466955485195619241997921961170048108869270179991119023464741321459963737264795928082239838362171276249423723402350312838626026189734943692859925377672114000339505175980913453696446956006867168958398660264412771318388087147684522435358340337263994214774118761667955503884364446032011710124217193423850944208335307754242648699968190102824421422574235591549670906477990394848410919477403785958286444724620279192199223662397742091151946878467582961731706063275548482153889377607175774295541730350436354067412277104418195619494640775554752676115984804459253941060807693858189573615483609357726569116186305803789596709915375176582794931518219915689378457301979590455466522055071207643685049251978064562138171294459088024112425947276883158660660715075661801613913394313158332664608596206914779120358035108319093527401119679143770347034820994492061319585670615733980144826097804697530993776600014528050091062077551759324278929421171744248167306713445768824920393073129768300299146201446440421878822633482087601451110459433857026940536915703538266171416366336809539972149504012201800714492420796169379560152292883315894108665855386317881919695195157248674689979031459532091262957845824275026545079029624989206792084977956510213703251687503599140016466652068476628752788594518459457435433114361910436189507511133017958180461685104904912823263512590735939016715410019694310117519307278404756297556208830287899394695265364654313980983299406693365075920914746208369180173357128875530633559317409788979495879474975272149830635606157952973301143299835423456250177249810885908096137699053576922919242779488270636161760824780804738348844500531872797012167601988780435306785394339657933574259598242913396026588961945758478973002714773972086634931298301047555096684053074745391407414226625633877483820074509095206681376027724223484689677238174653950082436359189075708156147436894191957422454390038416129324980201855072589593612617845199381651090133803105401302086446171924096119332655902637641542437117000543438282278833197193827863827714828371853457768969298372959690309030264195286599806511817220140601053050404273128919776357962312309566640609085102244495333262405423483485872142070249537972478146631383787992611793821737799139834416483032757206052917954196455935595295718276049186955125519292120941433699461074958655357541847334306454473449516698105644669831939392673110830323140901091088519418767024556969698267276617295609429608618037129985965470078895057687196289165120673992861139130899198544956925081648484523571445215331015176287006692225050964830181357502330279856520133669241015594486540927313171559679454978716572944149252190880713461132893384739332928739072359138884533367690894942450941584582468334622663196631925709975124302796249576185076833734400773436166023074958158209466668078446453278147235969010796812019754564990586400242608435821313960065054109367786674687147676785566000314900832405814348793768403227801917633670185441013467604075420404449718637953155927280008126082195421199061795225519488396604742707108390111471969932915980962691950711230395277201401798838704230741814607515890837173930685779104882839967093043931300351622085134385404627302543783369038646108046515771159459732559250403804912238715478852429350465922736080386048125818873944799339060314178794878995152361633078235742836746025156642154268928744500941772462335095904390776666195115599098790623542977155917898328954393753564435262916299823097668619903840356055062787886196888114103891942799151685674658081648933056470030878057745302470052197332135451824536962647018138815095849269901627862871745550884048513714084323316573163518230200522800315202103449264663208801894498773435814199566591955811251508503061305799483840179725424425871402497268537092229746044603731335388202433621808310753094622318574203130752579214649293807868809822603148695381644371461454928573327238935555943504670944940362531323074652958918460016627067016194018845691148627201254794465093280161273067452628749547468579305484697434024663662586128694232416264035569350230362792133659980818566312654481378534589869233747443685384199367701172420252536210747031342557385144687646177611146640187888927831174193296574344239521788111735995674994244092828697803795151997223282304208888703634239038777693731346891836604526144729013180595128372663967560254729339568410066725783339835107945482838083677935671394135017561679743766296351164388332479744847233266607156679377476279991936621844786236552923505155167887445161895286367581301395565550256698726594491571165872633228176713714595246992272918532325930452475760545210117906014317853960777384035045317454719765603734312758317607343548824130394705153648130878976252295803683903284189028759883881393429035139673591137551755338293961473460646258614921983558959474693448303352263038845143206769034139543640425975253516371762138085822462089192904594240019841881906723838347442386835744876363984635907273150858189457052601423527104489606414956537902434666084595165364086856020353565246463435828518012550544444439418200021903566799988513053395108108688216053733341049234015232445605166454651235748510680928866190413228144192059749599031963372405565867415469485398459137384502520331801530230921875174858567769660969108249818945067848192768158815454945115676996736375472033898226331606419824738656276322925294038335818054024058537843452473702504308276317755449552731566051342850113592939817824736728928609112542705732660902781053579006830151604295004880303859628791023813302245061931416209148059021763386517546792648561260880946295600003477699778940080330789303060990249942252516150583411237061940329323235442880316418788835754742629877966715277533583989500577718470973198537515115806497180855218322900644861958678076434163628324920600965288141639330679553663399476316608569233551553011658607830329513618168097025423096836945299516833245288840722917069692851218118584215371724505860939021503857403177368977526700884908942149669731896024211126808417747723780906326751450879777299692201244455796986583683391575646267663252962215965434113734573323354878573531171542788703954164696289964666584633100349792206655007763568519585631302399008291860832156031994641364720153003955660996545940474460908836372672849978118762192376910059561659201254116467064454012791308484599005181982558206947637639433519988509988237780176364930023628609583362120497372309001505877036155055653665771225171340206860668533461148555279413261418314765101803614225948989837602997395060306152870963224457603076497910775999628960844968925116438003478655426867060527938528513568012185324070250785000248916556998218518698069728345483387886028936862411848800868949397031447419868877429753275616781149862396984346434781489335606184565019394075425349135722126253251869176404105113606830013702931491881820770760852239544679942285621626986338854433955738281200803947116348236769810545558575703829047150129109468184363296215090841928265700419011705071640634374164133218625695925724602381094625505347194211644600748094721278003542011518574558698773813208468116364054282767788650484043389709838862769382412440434317492582253776067082586501928135598475985040744547270591417075252710703910256856014601263252516598142972691846398824644004053567633483771275010497653512891571930870475804530851250051270006884116491187568489214881861021276267609344298081587842891970989156021000613718981182077889617344581468408696657210367247377314271471321646251209834396767104803372862030901352985628789515891351833904379367197227399565074364131738513152858080179464846006998630216973091409419783920677953234010777950222974593765882287294811110624711936854599889353746085968816697665818209579514239735747827527672498828679463821457347447536871519705300953144118275018200146764695335099033330523745432379460196138242513874692007772065696208184701328877723103738912550093781360813007200423273975452669110819544472178621083451707312111125208328400952586411617159165590804320851653768778805116362764902351761151252438814024916509670767827418719021579571970979060803519856629648971349310009584851692528415474382383855245511655367367753735568182897534124103286773995533749225877790529084147064898022904641762200459135044919180273030677722631127558669950417522688050905383558865697784397756482193147718358430935930215573260541203138221153453740669387130712714930560195286456791634374240231101822403950885583055132418142615000046961739007862772825652545720172034852257394197899076463843253222464191709879963930409040517024517506898900623733380955713711251202749945871506223588785270092039903762692595264237141813412408825058996502643882883557552847645766965380373405270035167572694474009367100248426387096892873230312754860832091607827204621374854317654152479582528465235040667998522603540743138839345217233357881704065512110271794081060168719663809909721535331397094342877987098438067675194277679457758348582251557910564419208941657201762346749932312114151191521457503391627914547295516574184394438535002042082803225797221139219085561218692221643222319090000473893547905309591760779203423165778775088396747631149507783583567596038447101233460477961264930430544282558135141566541387442915351632276556306665695910084919490556624214014872047420888758182254727327676090737718612445285020752614732387366190491219317846465197468694823872088778065884569263151036973940827553131069794247663022626460032046466746255794093693177063959492965422026875957188810208337489920033626455690762803351339759122812972084095513868619528569923561680151484159408957380378183233597684430013849117507804635482606094026505749420473565089024030462985527685093541491512877181229964036644520703857784463231689705042574071959032782634824894419702246972279668773300783853166740456178744189808937484327052258654047570915366809469753404761395250912091636094341880685821411303087213440951756080443742400294736653995962265708537172645902357095590220411772804713474949099911915237860577562156548430163098227294111461868471600412050759648636496614311635992531924479296744080477640244169743096504726289540311684020766911937424046374300384409711966904007685301682979636667820133091034513335330112258559475989962130627313524161964318233520355871118046228198245269124801412715437096177364243228548626929908868383506280499867950196775490400490369765452702835573514320872218790519704040390317017878227931063884728618736182653682879616915721529598560019563479254724042956128485585084159382009264708820483795576032465135412830702282031401399187134675008393069700057894268193609229778041466927836065814553439918429866813068935885098582682327188918403307000403811967369591309153655022919736114043661204547537109299318977436882443052748411475319922531529931502643707472200933495465212202435335099831454786710227029564841675376545478089295480413916727001963467393120356683097480251882629525749249964623557918807119170983294723059112857851890228390545090698697288006486732335320863804135293509456618924445486226313884663577392232052030861282917816537399610073830716080040303912293942809650493130153902553038720945968837566519978916146273425566165710563680518851979394472137460329081004219774800804121860687114493256186490015931623891931682534095694805578505398966544806181406765302980435138305105982321568923490310975944921018048523521523177937995046451574419784785033059503258286956600252960213506295487367707527341156997522202731715358879625270279451864197779495459271750283817137778024239323905357025994518648519480592165765986309775874206218644291772649294825745672005376702124215393978916319230116001661382184543976956441283686853061649978481816724309449663159678842110681838305007757771683001047780288499261472080643611241327442425087924692153989643560021462444192165246167411444731445246016797120435304166186407570749054569535341629279396786404688833622958017529674138051578611294362619907478125123509521911767264293440050281758760284625001900703164857593228877163957126230135845171526040028517543027609414285227402753831789073735795625542352694472868894361069046263679777362909283061349486731807550542802161252761009913817155108851714130407519872238056958759591425989503996990578720374135338871084264253750542043892963136627857921470291839739842427291591733974300356224844007271075016275821504823402348503145601981709331346747845416911828395328496198177311690661151134650678436163951990685143451089804508227150450542535596384855493283553239165824045506354770830128133093315464005570520732625455588384937123207924942119538673312836785717500177361778106025467077820438736446895471833244762145009832504379246292226745167267086635566379060441476842442915651156429572040980619944461517584044260280477733400363586916732811731871022411741729637183370590503728489720528842348235457457450621705544129072418356052122533969817630410592225467857132146306523028739927817456138185907645130391761499471665611089723736883826498482703702142139735079118254884171342902804045654824241223677919348802308638810674383709481161143453944153668334110149211066877467617340374991765207155737856382577879066498661943942319263700907698639252892280516819731317923019853157602534733104554304990102100657736057930869557455578535940925674345233516729909446095615888225203704652639303149308929262337807573394806926084263367200952071367737978236663919234809989229490152238536912730914017409379813406662663565860608968909693880799999422877309312116081831405485505621867610859543259739525796520921876360036705788375256089226893393452364214208512778818969399618958917714877632675303195629242702199012217268946201142922279607436322398530012607052493728207933912260756050280599344387574200277544644205937022106069281541331396276067204124185645710146245230800202014453055265975612085656489534086794838226369156816632413781935550937715925863875445577609565228497805886307942431043667647911135074256936572706230443031348551311490187394052397205986977447865975973094045330928908449205715573882764942188014359393947503932249332435451786903483257701206961579004289923017251348564870896754990836233971211733995072804221249810736275333927556532410129553426798852717848014564381331076888281470890010660264983282087669724465967466465941455110360609128173218192584718799680561587046300203829758090756379014491669849681852378171060604878408626001954213266139532081404875024732757151058193188145310013632562384556086881703449428490968829758425138301857082097813336628910466944562602444104756899179093101364821318692375398307339916971652207200250155344256706090270540398049083782719193368134290302092567811400446863469047618113651494776216116238651567856835706907047183066422338420290797489669615985067807749194108429065718643710556499582871304398847281740530610051717646385126678738654070273056671225644039571249517726791057047473124476795177166707614055510997178993854569928194792142438214460883015712718294866905691142145547279065200731672944731462183001255114374037709046351433870005442197961773715210560403363507023174507573481889237082677632375960404006421243082754080095652680492180992659267522796635452967848262704688649344360734185214343984283279601797180229167651986615070300331219193659416454241000042978041891036038555402489645036552672629197991588582441149829419365053339938000667903760001000904508787618147175807199092358469865811357750440131908670586564112011666114169898399924172293889443455919084184447120925093607911333783986903874871971188684487799795908693520270940971441483602435495487770845336518723376909806925907026890917098372188588022548840257536588274138791582912084166320757649459583342044075507569255688214354987844853488152941672289148789534147893262828600829323354836238742548209442113407514844284264662352537171277632385755108047764283822676278617335625820106442462796704088648397681301617300300182221744969612573853743249371061610742335979429196677751105852582514546925864641158496759185344301052667414377164038561179088469137747501628058746484169044364453562409445634411530384992499513954472995330546440889267317543846771403346867586768152382814288407140581639299466354141638539992377981899984784996676032499729878674874466924562316997105495242146810217171475998012600767457479853477230950332938958374776114581184396527459389935760144358084044920668448808859115315967436738248487708849872498573259410424405741610219866270821401032490189252538036641052337813838108759640051590238753995321364756150491825033446998944110554517138869861629555967308882865781623836687670438880240371702936429942046016748437131588969265279558874648330156909473322918122448279819084208101605406048412652068077774035250287453790244190036891824322141003572558187234404880571688558460753944108902918240628844950414802498397825177931704580552783997198154656389930843501819105053040539646469872004289228701656941550278577326999512904234065291906434572103376924763188533005771601519577847322347254404313277456727193338755410702906272739881813784410946884511964127338838674691330214957629228717584169227154929885121508289341383089777263686954771057841466551632860678040146418947804137101784072647818314947741497380052485442992892291126959704649091658805909861296788749675990241686803385932818033968298298673414344513842334751390799803269863349596725508886270824579177392953228844639460337487999359666974726716438581841651602117687398897902238009107021011611969462087825041885536883687927151769772344405314482085206627384837678064325787356427492180818605058040842611989584528845493550003115595959756085485720028620453524421938002898236098969069096944854652308104611137903382690907815857683705163796914608845408445370713670901712934202873592040535948102870764291982529185565047255988567154843829661333114584062543793971996092380799929129137022479585320487175763792684500013985775256055207040987953098586095138565254452418514834699769789882547090210263577771626123712999561048723448761081238060415651791635769234572037563703921790845621772649023914590617237537107595783101422734157290909581885899993196561691021770862891801111957914176256001022222859203398927201012700176594136593917748084317897781272440451073593565278290142204638135546972710192411502043447064006972182893305057420554882848759963913268517392658606779285370930682188429944499523884650090604004872901328502479880044289258248537251447338389572848071010720924956308589199229231978050346093705885436372355341892339721362564217810970695040682563607838725641499748706206398988799881232483886339033874752523872309003921814611172021288908042109795976173164766956112291656963523067242287574902617322151673609618818362464571831460817485793326472135422387343765502948721190650673245046000422799639032400578786438740813626864587835782348405064104808022431175655910405136216470512305806458274086739650127699297745873884776390392806757653625252272968986943512625753939184797892153975623851616735190481237596286401607156634933665467173873245321785923315173329981955412287366540990905721774434939119587580846271222283245649827169430414113692496447151127938425673948697132807594700473231655351778812198165984377145023550286613433620342849171406888298944774729674504140315872396232838921970831571847507754421184539634063389562364409827425923695972373695692687264996911831170369948777245595764999209102368897115939573152048348608899165107258392127039050159115556121682781220807755769899533033643630304540751084152408139429367460599327057554022931717115921341568409604703326164115911253575716717510265927178887846114556539040305869889626548840827147551577190019263859847094397082169369524671172048001330811514895236008442555484226608800277536644631041412714668184510919497151377784684793238582687815951173506173439550706407456923742146114395286107108471790990662486476343611708254709260536871446993148763452146361975882743293659160920396260166420119996058098921824649981762261335615256798037174707933262579126993095422172382063723040220329012794518156758151760813855723544918684209332990901997446242599937183454139162461096374494548440379823917634685286028480506288628474423430169540231783884553475435163028717402863903119759009067024727804434659891388515301787737829616356767938812327761910824597055808960998467158728247605397767135581105780122231148397878706108183394400537599266525661560349492644079036337170522344654630614836296017780367659322342423353118421640702228343299606123666513843705688673063124723519684087696265637371073843108600143181578228326932266743606835913450608344098543580848405951447222595701398342701750718833252294180714306477635629664820163444268727476753823848593570790632732123630877959978747494670607373374327318342837380980975830211952550052980482206769869285258154471830870807342175096762509491228054394796232161216730873658577664447112128862859091149680834198335559564696081970656743659541701574961084151487730716155537153302288158325190975836744416316982240456437185029299310274200399973067465491929131656714995947523141599661028474874599809650528150246799830237424808414020669770343686197720783723187175494078107178511448613576879137685369285149564088957574247248696008253977779862001143577510913807379178694634461195701136209313953674340896581178657324102064360920771391408272014610237225883879215686346518753503734024733911311304253056573796648100742658195538268875299034735967105678450831368378689220638591312749818528658357927986400734308287658173968439022592421841276994628130958559650032572103035909190895632737365545692514603303051417316720700580800580258438247572900864508342910925012878308640655422174513170207393241493006552478231701868717576709573967680370278674129648169863500256046374923990213850491636109480287605894760755365903965548089490243495555427084529892945279090335725911157285879227956967748426798838034062733309289953227310883085524490862198877565214343871748697203519313084283861846017358351338711651529563871933960433559101381584465167773135400165758432032939441761496764692261478486814922944124900286052746856158178064770095903209344371332481746533603875385996336762917983098446932996390689941632424125776354679797856015997462246107616284490414315510909529557745493111145104054712409860354586118904240916468472257075437861037141944290515268018641739702675721851820210254442576309413261299273670518287145635964229589822998413155686660501360013037078789526944886816041935903608687364986527808799937793647111551158175065664767900383522445401243768889671402092985175333135138524358342484119150538020195781648640961470856115862417868116873624591820883545726359136124430063755182207634511242440200923188711852430421516585523975768582228335274059865581958181681692441887137132926462274167938431301134327709805125077077195630921994141083038613313739655510065181841636866463128885967171110336095144646335527546719253738047040251679750974848155345225988647269048322052749274061479534753282392168576162674693033670986767311991498825300574577593435887819998509857191034892339577134548219073741460456925550373805873273796279484180475224352874995233854724324134938542115051454972845596739455794750212656940866824048049587662794194315203501054805104777438700022845246255459797257378486812108792384387724784595624175900532476527438533693959360450922528599849050683629583826753030285511274895312889448808474959442256219165371262521636678024275005149004277038333336174966298457787941847398065261954944809848240462480418254759172031447938749754362659205900839756911245544751824401969790647185328013579814323471968141859600329522651888738730458707160132203116016525980332601909993641405861361091434137186576340507904431239064647274851157011659648001714994557955120080634418952148292995754408011730479509683096178388038740017705722160802433154408210574313230821330136763942525525018215932571411253916664519445250354973816892445550847817995714901753111181602261902859002134798419740010598981239060434332227091284931110018087194487857232653736217187118325554681338794113265081193865621408728139614213699307448839241552323922928720962649711731436433821148737808666141744585193318473277507384190094184358943237251712256494943238887355035143474895949225011294353957363229158425648076442354943970017942297496279902238825758455756594726441395848053072799741498515598095891023166641527530154394936895913796599149403868347641330374657296940038740042592071301912073388566854489946523885033195874430954760205670545772595174735672220048466375590710108377133784690332452906382213419853481749142068698359573759089737526878893869182369432954380326265884928507984200638259528020735999722394540852372703537652182721533169447406735265147315375839793650517313663599452549527806620121190769684415375634036852058968159463490420832119262521072333234169746878975734838129016828223171350320817211147445247345507715627895418701261090035580055146825261603314080080849243334606110488614570985148778379921478795617030019711037476111883258388353222188699779761019800296087608090204014304576207322296161371572500519154018757274186605656305671032719773249602437940689719198923631788668248131269668422630475434324537064974700026763199658105678438297119014567775272546574125271729447998259283133126577452023034803395372403106989447152235504346844865785816156005045752853574875939084059974107084434649626693962342583034773900347371984850660674713793817970653799865535078976680490108003281734353418897365050664749394255559821542957189284345396057821102990025104126853550652234304059270215118220242086033632579723088277179959239311634057200413413237331099640501084380477100021144625993357042648842769130647690829351777744949832549351831359203714048310601244315069448083138001683727598917178208263417617257006081513563184284358615308080961466328044523415889122732625183200986295626677558813202393310355597233838584235703399958232238350849999524560728296529612594066188635662680472998427068885180350081804520296727943367915395443844395516493233054282846904651790234771319420694562002143855059741664840304864732028350868363265526396312650710408914928571298054549835868309318247341241402320216715086396841924271825500343077553162763511083693425831797282734679651726333680346015082349157458440650989104073320649100902238640918492318134617647931045958412210207599403812506323297129361518114198555232822143485711337157878470480907169008065104317629579889391964496127778485632491346769261917754441712275277975657359004252924042933216593482069039055986095513053991691332838125385313148056295413019421544824625910359653769611729360184821216248845188144047567529171053034074037453503814630121949818227025344740019966753055903084868346617962716056692060792174476584591545162625890645824600267929027136875171091070720834346449317981942068282272380280643154135411824521211249650760349041758776185321539752955867664494396387350475329207972176366956789716638890764683780826517542111039854349407281372099446962721814160263467047715605348754660427962709884273121680405394981968226690441409806461232345342192349628659067279450058509698281680374690377223015073766081027413947271109142164331588913961945013410856958692455726497312705512649443320102505247599269088076246427248186195214356537646640532533492418461581720562051461848455997524602983872838778646677070830698107653530457346255911691308725711406343622750385582903000072666975828269845053169339600250876110888931020719060958380945377416815233181079393326791239796068392105334252847951009006151870491835808580590252143360588480 : 9102386956065538823884821467098433716098402405967837290768478087878506856399435427799930067576852483403979258631823581410703729200326292370197849175778503298105233606208489596644935504148749150392740515824896393928319545034794008591005683103517026153093807442873374604708829111394675072298930334552501645175843262143962718082563142298074749301447824408422845094174537343202181131413215976634310957604921888857765373864525906788447599343767775241366689654970239560227796765851277099280723180901350544224758257521680059916698039881472738269731558127935928214365202035512503691552974639207966963020224589108646250455146991437073597047531331053177429995027800974956003454131730546794357208780486368157446090181527319881594575200052780919304411893088298632804157851038685566250954908258261529971976621549563776235830923436175658006538053669208555631860097560097445440350316180057753004029142228203135209562604047868044217542200307441001704157017098745503535791831576796029660189755759773517762181549110146951914126515666156138018167970248669915266573845030806692224722996870477097092040312874788194499268715042541668054886722706659613063114008378314392044333579776654222221113409220582317944933230694287316135631155865145285720482557846370308589038596269525067129897548510855600660698566355573306972642867422281612053423905469782496088369179462676674039841883510706544175149242589970526576720642371806298249002928863534516966574000914061036283713165242035758222978586347495898857442705656009083997111215801669772188663083464263687345890602533901058429220482055853563299901399566641930932678715772027745235760015355164621719205200222045661965604251467569574593524935553554544210275912770394812706687313662857684211662326004391339167538575833876381431762048908974115270246695687647911044449469726497182736558436819092612306027061921707992582041994067346430033105646938069375817863962171141763321283692041924416613047634745560742259107370229398428782287758558503944100755072415056786269282672535177650152952841266025022734128125639041924890657566146246657529131525926268078516962466937822239984122033283111180611219399279537150299315166406548200539684395351888154441709743079407475718804937168588060671184193808501800129223891235989357928351425828572107992385254944771943887998198610958724880357102913296728354042367322775634510916852804480976621775492453165580657146958594869434698858690687209362879588315917408297100182999963912939038157479698242530612106178363572222275715750679890439123855213560348590391508595589516885984405143386953561476096946080599664650558817522760673665242341345379202370612203185390651544218166478074026098072527211529015595815305497025708351839528795969285111494424456913034274799724788742391810491908666406637826766624075216957009060452845784757966558593087433606017308463270356501760363439880496748012540502149048057233356768840063084880968926236024378885605823604588356194936683392323577872254466288863382713643933281962206211223334634509298728485851575723733295878382301950575319111901675010421800281088977854813800116167468935290484451822196788221985153849734394426620886788545768329620189290116125718053804192727483069930873220662621758933903886858930215115296358042467044569168279979267263929001496730255984102416988084746722735958401758123205499550156317115245949427970424436442051440309203831897551804391476371065589182723345689825797972382617397083021208867856140922208145514497083387446323796626516420430767731405834820118433584775034368562353205868532292870295089612150290233770132428141502510136133644551092580562121321698988983287310422067961453430516082864703614880151367590346329844369202126340782874566197642858183492138465331485967933718432227973225653388764207898495969580879786035854795055335111858762181458050960247306935877629027986635494551436044414283208310807520556843127409897127317133213271771763464936527080165205279932779704657383860144487100411019887491973204338269145601722205563666939948308005392156601376967800308256718490904069395162450344085882964026482946056138450705484219139140560400185855937252738036465507047782027028814153655795337077460956386042523478968743081682056884418085129992150918679566483240707968632162160433677324792840247305497445561234511706628098602700542334858198212317397192359441553266318924361923760238410770088576369967807415072446715501969267160854893381211023789655312742845891160217701483907338332700732405581275090089821723792367844797722922832655324029996921788531435748743216485743063546895493920074376148193496646813527661651511292668325549918116551594117724954573434261632334357476442005308048521254468527036771732548237458918826352918919712491368384793862199787663335540614785398343555178083522478720433498652846451922572422645226921650925231381640543955891400375030133362483900834335157393679885530956008946063325260993649069137067896917096151528872630017296742021321753528429101853410989522118100150922240112145987283513020888568661494669004097879936387897807212236190715651577362212732743449732605106222301645730767082933558385515268365127482065719130084103494497865850908798794347126188703639344567065602617535678371260489707696594168283577538274295325935021608888967629778005798489627508196606276377133017147336480821741213996480789134165489889803570260885800579225436114461411878630860970999074436540701510118469314701980879055493976611638065488830112489762308704337893792145386804757434800333004752552035580123838226447577397639576212642425465632912395767428382145093576843791985797785176120899240409771680527552133305524586396393449118308281327852628229461048825280290314838248165845609855198755783039856172129482308908849217611529326996544908240777889956742098478960679122768385217441901871490658025243716160526267181458191824551854995988384951180065793740821196993372115534705116358327051613685584532045346867504895674866664114626921787676245496144737515205930507533269061987917835553370944296122121989864519426912960720987370175230763854611694251659346662875378043319445866096007252445405684893660815237211939407334170699206536491977720658056122873225731354227487154364870051072434082149004365523146892884572059428924928144312899632462884717822750446318876065689867738276206023430108679332434054275198737690289444555572248465579764763728626506809778625047061827668999772373445470797723731849529119272227077126493880094995986149092045772577588762377356084082092761811393174794332187019658632560900834353789262328743426733709635744794830848134158821014918599617105319321239217735582940724225710976543491378792888660528344220603954612107455203898579454617072325365689848477328349416054274080740817748227593673252660405920955705339155029203884400798714374686162157668658410522397682472692133068009174785113693628761195157084018821851898011257853767582356804318663656707925048827116870028256732860011570034312375143851155236278069561385854490716347049005987718854914906899667699662225768627442490121964335562245914404973584519208422076045210041011309768969560488401609315045033984801354339986044587617591847812488452663608614162996020195879637878386479929114339992485518214652494225182408625757419067604925063842023660330505651030725617612338360657603717568877726373206480875545211607600206936733597644689369324078049906360744698521342824365074127709633817710946356992581792136104167850349695857001366969251744053584261386133017201669848697990406476160025997976915026766807506168712473174053717739050403801138405986210534109026251049409144413853458684890764854502893551376049909305034554449295576853247255400963113528450425236530218113249456707423224391629028620433981919830464383758358642802158309829908509042475793542617768578180019781811848690830103930874832377060177846206760710931127822843643078015338515925155383336130390922304311094017315856705480984331921061495974448788391491786490700815921389598161384340131173244847090653605612492241292280820691016230556205641569307086766049565932966738789140487720399845176198845084011456313405600458669742917677867349444713561555654207973194207331930226872255514210562296976194593926165588593808407481623680992158004714945146444591124684847622703494404877278058696638476952914645082963612446589733054387972890424397469703538294558932292634775450058690402062725614850115455665450473528160473042181547007362542043502488755265975628123059726055821437310216052911763484295157899600875705437965438281928840831719696106303231352546423397260696913364586501314185162453265310752469890634364262644669147430082824214361394048745945126306525149667111946413879931916445661462291576317332414943050465417598659484020380813674184100563585339132501192028490027353580715128233683649667842874280890455608761552617293902169818308529471595392716916722938157822232546083147440850169629908831896055509094871932094694934782106666184004240274631796704593035216661686099583352343769214765258398815183368672948574441188022070335167819410382596250798890688510643261311233116858086189483495602192854255870376877151034334691477963526074368432300876260542023063754737411270657218479079724257880680370603808381143261257320595234764402206825943003936707631428116788933361870535600804731823335078321546853989927208280984607174999444469434058178166570987817305066061103933287848506566464311687650010684049482015595747475445658263749807838905331951832656355987494294721287964354478295900800278119886120635686607957264568211446589413620519669632129930533126927104034895359355723969985084031539879594665089204029633098961532902450852556671564640023860357231776434941503183687727172201825501210863162365729333135212441337313608589230381818172773406149713695166835863913711022221400133056513926872866991960495132020014233766557646861991243649373450540755351630963598796027731024363634095285847353630050691799380854892661046902778262385371924835976539347530831716961149493857801207287023303655983238691620511117132847030121566647491792640368590558881684269342228808788491914678602673471739688116028241558399817860791926015452113116329634309970260267269851501704800413010997078160751628750043450988014449696494193754936348320521792768780052603914037061799598519716742060653198689936263478914048957192673431304306280713769951836677461497565541742866458613340981119536328060096526825678834234227445948078941079182953520762157552272172927339379688096747987537983993552109726162623372725514411486851406840361120891271203051000082399716523135265108329803763158979202477888311335470887187937009183737653858728923274860475126508199589231185294389659616679931636876666289728239484966036791758921888702824502055549957925660218524849002195585096348188320137644604409666895061229852564843531272990885752865915621871042296415132007084600049028701911825870379399141948175821362635571685402641317941441521382481251646367300069065542736560524383010551067627013732785163025071714988728692648989960391713464263385502269693653103635192296810769941831994835752450345853701650097830876111102601687263776924921098169833172900632319476588258134682841681394504231519369584062985870455775768405448154267084819615855871573458994829624647817993458894380207377972063293415476293154502753543069519952312739759421224617132192586415140349301541635185669724549631996987977039569150140792716350195261503471074283877353083733564580508453278570358417357701448224272808133744858222133834117506631885733034625462424271896425047856920424341581149340326687459666009368448606538283729630419765155300686599742036839237407508493313902109292115623274909587001766872268838012009258396228771070103857081122796674288898981722892050331823468464198884328891874874844043884609115771436293489947070980041761832109188865685826957238008311634060571940181610243429573913812986842317949536403744882796245878086618048811828829414299474117632011610395762043920140919134611566206543334654519147803994480783577499300592197199752508103989394126238640585741769619871812519112139342892398223762999035467192779377152368388760062121885503225636073566870990912159472167596844546732284197603649412908145362825215756826615060808900706515305681235168026521861582235721447450951071495951049997330833825938708565937277742175223656110796338899702166168403724408970877576048289666898078459485691491062291298328434625760075478669258137708090322536782355027069458440840927778065163756484461532510987200671160751132821531349326128290840728965957820271933402886963027072267900396165046388487029165354209086692026791780123379549496768340183306385102696096123284471798630245903552945899533008928301231423574241318512110800958085466863887022969444604203666903653967142118842738475525343248710844197849259495076793776520262630461308537601083821538830577017307214903657428014353377306493039257548529014786557067268233013123341023253991137784840315393429394876417438522171130663675822539450102303993278283312195419938105302292656072622636413444639484627826550660386035747169682816609537493467225088107859207290562383087670663495475833833922792076243288863321047136859437167922564751921276675910666762019479591212072167971883052460163756605999951807344394861499305546604786290278695160471482141895659331514135166593270231024439883887595025701949937492854687342722474376948153522604311230978970955934314182600826931065017520071082671193751715145997270690507877277194210491616093867940019764036431292558408453961420293325399820040665410779874136530519344563011778200530450501639310935760198094553467413174667737749655973469589934517046601183672064271396093532603708109705362723468217925751504822662376551809141882421262991600429172349796044553973222055123919654767053268184759452081449320435836470903080933243054336128005950799157504590557453785420120692271061298903444329354960498727032036609862547250090959564163181582628700312966049201424496663198716004274315532596339725991796401597629879606373830359176013161651503084198266846699833372415811742340743416640359094515823373941319567960907402222716032448966758193503053944189343261483677056488800770404168124826371708898492917849247513880227162569820184966799902877060799442109174436885187892432686549248864170204416347707328918276060487769201924443810302719781162365916117568881146571291699047065565517851373127244585649184846841589565776667936049701675391333529168865388029195253491018184473621372848220118053377761941352854449260383845033325701030301602298231792029635281376440592835095960219243062238305475492550771336207303333346599366700392087020826521514104270803292798538426939953678058874912729208274375147409382270246340978475577159759154069071579956312689417638888752067775127713799143064086067794430903357500818916290951007570298324622960338224073796204211418014336063333582285719461138333951691087892117568601900370115193654499582019599427026316591168381467732869540267391504076194409872891611895004585726812027583264116635077914260553864085869815287978227361183880475012470703123505722441587784126940976675322959053737631667798479404337177877279424272059287087263753022109032596288502879806794589106180384802851446435431630620212392827593839100149453350609465230054536376599734800262731485179341280666491109291006773088445182288454119320415353511369251959838986050320514753816701842223629175019451142893885901607369910482643791833086728266547469887606051192650758331620402740181759315996814135683651934013174809771475513235292588312070075155636156131443636279953815255472638589278902181523058333871788111447199503853747171026640118209206434891859449258270138211547059935878671845301802569137080788809175417658311505477372329492871305569704193910173116310986771143928539404080907644707117884903196944392071827566089453913328687439370285880845188875645790798395343785934090300336951311360755533354814712401587877726325688428732466697597605994596304750717333090644081219591626196472414382541134288958510845862993185407076919335289326999374459512176805294589307570000799316013005265113134095054548065450746263903355646243276486910544130351987474119339862929679271895249295959531758032447904265643366655974818103758587721796928357403256722300634842332670593376825753650522279922493455165332674211563492395112602249769486990994176259557247947385813398005565874440139974416726563641990432757252693013219057069715281717163155526792216752384354411886603332826894621587809924118677365324663464055752231737043223805960343901213975606104339593180566503075782755865385954464381714621661420204752831547579486223855392273244553211128659958147231065031878523456954689528299636110403359133707022006221461744857785591345714947688263056085171873808275196684969387741994081131941904993887538681676557954566535909333178588202347522269544101542832713443137322153082741533373625001539523680495361250919290874752339976966141060298405780101038153727324490098656672668943880192876279123004970880778278361055700818545943554348177108756952535859505132968718438916040624846480188479828991993269966603986235461640120043750182610738390141061209011758546290872427625495280711598406453434948052440118144792076377469584224176453987935173971006843626222303492193985398193740946503925078707592372752342999568568123995339024724584652853871598698007196083005744112052579680359496780725504455072746030971457133237536637296760141271115508934793980898718652459241239582291924757558853536540577260614375968960186482518368647430079138254708177165796456566544835890584827552350878636627769841533979325182991558323699552964696036336121955734142818876447645942070527127442813097424951859944778864463096113024114076805973903808322453687798450866905570412223406367908928741850559765056912216400393104694617913081449074017670978904186363327316167121386510808623119648652310793329674513625633400001824013003108445542025120007641972709036040008112404630861075266039394463971123026973247633225959417509340108265171084415692126979277725242070265743887863467866408102130798523171368079479346046542067218560094358168044357895591607987342847189782730600436798120461586399833867589710255945965004689168259174317553646229720047411511697124120182152629580087722478288546163317067266465521690205680033540510332121961760674561964340041867171796767757429202790533203081687168716444676916519924020244588657412481863856757118324856491404822101297955900079897620073024092772343212064988213221739664517274841088857216414572307499251591424954235746772749771496762059521469083056805804662319256745239104897683679266560186015662393139171894020753363397572397433989924850362583004867766746554459022843124330668509052339490803326369646251403799894143182387557509680162897625759537159328615760465495467358615062694058840346953881136492387666238605116689991629013586975095083705285750989375554813623465351522668072669708334070472230946159025660568964821524800097276082239692282882570182242335484747332205009897837632040363834365100108193416514507129265880408814437836173946922312208627507695414042662833267135125833854784182460225010405200592889998507557011554851092505518015338324310464562777600340103936860755373218885249171895110189248670238056452702964784902337892089444221310902694107189556782968690593577511444913419723026226275720356314595862783920899857575954689867126875913237135733085123791660473489493338762702185289350726050497443203970832201991995418193143161242790323793661780504868246660697972881250285184514694908439397244095054912328363461641775293389594111737397657609758093866610561979215578738617749725701898399866180912255496119050752140281076040848519454522833028282636130506904333068201708285907358394410444443702880862604460804893617492790580017136748522084367710224725231780114865922782621989626604445728562830124304684688217579802467482742069929508850769330305577037269622106957766121110379316219127898193011873660239206192109578832858282558843808320121250444498728191282295819484673084711590374816080374995379993818124112136658996691333655576762338667262001418152566685820351439373166844219286755663665946231707239781906801822646290312976020870423832070645294070379511984659481703577126184546373972655212797470860289730358648792513705536022454564962068818307520787169997635191232514088822969969689636839580835459961262400460800175115911282770069541691185259075763300854545093138892719692704581092350573989891977207509792130853897099540611227919549569982282469581451299777009344180679686012193445319422787199661628727190225246914978919491201727537812643245855060741611777866116761425132185368139140906974005346459464468590466218605551584134067212770095952957208792353007226198814246674137996039444808654422744280626492896893465330353937790205667436375191784039561877264164147588305136330800816038142584849977167497771102887270270846505645078431663948750276089627924179919736755257500810569079737706407213894011579278895595548765645114840453628009001566781996205906733650516704170437970844627130890959137369160113433462518719291799786226232164571959929411563570017649639557052282264427653058445468826466409797635103395643369857739941172501265307522790175965236457382778997819048552563823357145840524022147961122898439055707143172825519602612468294473490526015785017259161292316584429105804150782899948213102310021665920799591665287342750378197355062882431283600731249335167724265813115143585701477902148689294453073966840556408489863950507349406632955570956144642342597076331593591647472942282366489074045671062809643456757194357099065154175645984947460414212707155775100055365088809914009171962078442472465362855100394463747924665491382718216810484241868780505208817871938100618566418919119270378285131000887587425843333400356624071659993886344086966149680584598232573711265214566043136113340788078436685231333157813724804969893902972379012994441610950725863774700259986330028560130529066720778537564175299054863418137631977263132813780419312350314693341250795455599960298997854787833419085019144362249109832343272282144082855764191789026535242966533037307444928317879157575532604643317471063203095729408800098146769144764792720405903789664391662246946619911383669890612996307724959226461773473886743364616388881135573429563359854672689428135304407821838143191955082582664851778044049053902224433779735549263064067025701693493510932156087017299662115155724501545675722481200164460651113903777096555547690358169314645083133775809188827001577226089581520907682901774311020797521233716892096108131527125735096707736271930326600018930550960641338710366979211929158194681148649523686099169178222444990884961494502411390019225795039776678106203995297590139457949022030398733154994420324375242735672072764623864352313764870325690275783508192334990834549254608674826670348573185985919856893850858792844789969609502461624961690596006408940065355543435399786143530599202626262427235471454585041938783132188903309323802665378131841329315467956353996931540617247259577390228931946798764576530054234034863492465688749973404323631525889238188337944581653161688977251624413568739371062660495974893902912625656032696856706064920248384688693334113722058634372898844266715165147635125262550849379063069573003802457605154602410600436572904700001963318496423255737835678338691825895631930362425365584607450574724437992413928876367129887220098547697351085649255077289053470376283867215740652494982132999436792827522182283587445390126975159325800025337364832023250643230304001615020176505869020180943389309195510710223749070221659174238576109499528966851952864777428899434323002704833210663259321903863176986661119509542399920212067537597520730681750977048669845455370802511039877305865297578725127017008854584456992471674938107541258889773078544428711092797567923908544193325216361597155712917841034482501001641193789878424555250469737546657338021565645381341628621292847754890459066230276347476327616673602493749005022013682367823568310196593954611290228071028318781214508426850062704789268017238283587707510694289186274242128278268386528146829671558930505623344416180144854769426696535388421424098832708507020431958136401864659809934003543994535665291971858973689060693491421929890250899425722490021364071346888310217911892678182856216420085112959613597891678491328897789331125876496578498432025860442742901367718399029341730428703543541100346788082481619980960636358464929976981025510195184599269328069413870006348833491504588434185879601879045372101918578005879165650809672769893657016157845735530647441507192558174788390503911673781584092231309364014698932974109290038754208477796170950052192271421670720788062371067747124384042002154090532854064280708141343602087114977217135026441128838358816986428401711135497713084552185859200908267927030954529459223254648165604766341757449197288488389668754687017993596597129875231183453050387894741054612725806756376772925387211003565780711881810256106784582241496782339188847078032814158957007909978281768204536846226577430399435122682617497216588445561474030601706014302218071582528458414041546519233961828755175499439357177699847609048383797112666060563602090955913969329952543055660861497285429841622422966941157532140417535698769811724085591762377073476333241879215439924521150699614373150500756770970625996222721903494872923639043537678760385974861954833956739314653860672354493353017863022509154030616192239256951718944734772104078640842172950911743815638300416429790677526462304592581386768575182315654018073258862876752115332261138094741144130028271449957150215744599857492904130497939029272851769163551879837198392017391981854745005204854824633045350122993647252689327682323594758220722970479742546077244552266845299323398586616973627873215903196611151061194589251321386648665860443466316690166147383463497483117527218552345944683109524697341080589550628196527693412213834016294631251182491709792680098137469543685252838420888801283247953594094663051759683471737435488916695052651747504941518819837824919325909910717474088017777361691693781197992256578438314871147653763101139574420924332233338437916400311147045347807778480731910505812992948585618964736678383146661032106912923916249629321264423742824491257285362123907677984977200674018379009340793850554254933415986395835055346926432532422202931277174966081668898735396893187878060480634535300778203848919030822383698658677685052765346277656458560434455436110707097331529922711561891267057364778548856282902218961513670487726740257814167539852286215779755161453448755569624373733923813878930858612327570432918165996100946075384903047125615093055062485522416427137682511974691407594913581566303260611522760983632941802074889515290864268749540962223385746774763398528134739758651368675297289135592941761081938610463470817069662803741334196695222587574327678156088631722651702384529813512538163170072855585448646598136112164068990979554764508165273065832082527687246929651289940000295931309029686471756032767169950481765498607483531030015069915493839523360773299617644255268956788729587299527064974421239846407445442233653234844638024562707723863020717768742155567663260733822678515060928075932249213306245917614403230795921862301208815262255908875991778474221161776064730675992663678509706745280872999609026217285874074726231871421342022141864305673360341056668802494741356340864186596553882109701606974603002534850794458343876448316013675398171691463968820313484900578763456368211885359977837816007675642570684389357222288518566364756206950087277485243747674176026949377657244817497702221549151285893913238424760128469631181761379012229483765439126142559072703729174014407524016637937629182468646246657767964653895646823271456496209552122701111413501689957292020701896592622440514358626912290055274996393495602897557382575536325257147786298443722713454593523075299762778900820745617068060093414580162687004624606023179921895547971605920378467527268113593979272956353210193214883936168866760194473695003590776094136294616375556021073149040990715121371151467189470631231912515887978713170418328013821753399492367102597185453425807075593386949113707812914548501600223384167514098299206212377202075039343771133464012306178389039711489572562360972268175497667101 : 7650573483768627772750355000060114849290937585331799153366969851891826684033184813728921297652091772633068129499236081644987613930877269889648658330676815839969267757514393400635725335664919926947242912548036126433046467833896958433123295937698141592178451413917580024445221884288957903246623305762540130258005332222275630726322927807986654002298381458977368010791064373453325435969750914112578175061149358717842074277687751130863907258638510463793108520232318838661670555182650234167115215506256140566445884210954129819728484184982792828150159176240101863098041118659737935067759646858516726911858308941449478917836311814295938532229323834854477580797577046348785094263389173736401966342330024719554385315985167023033143208261447064020794020686065900893892488443317582088321925768654629580468389522359505191883633141743924752286203437138876425080387887090117886209051779969665342624907564857476757196341847624325673125917297914098720150681652567801969528746381496235585604358262810593240225959958774889168433296197079988848820200744036483829490219055715754657663962375933760627542868767974167141629878454531089027610589053944981399873727601728527445018735623140561480196788113987020704115648757491802113676360721747355376656219433800979693787927526601694922580939839702979712891787683555495335595312929842327527624598947811923829998579645380147725408895188954302726564902732904514120154770164791900429810125103628839464016128422555378703334385733164568776613189302099896209371994246365842478895257752364558008411726491908726084806491466464899466857736271148821693088912425779930501895803039596232453344271991242851560946099822527229434054064297027472044650361488207543710654922113051981056236532904221647073047912261003218013967711371628688540424314058873381506386880607073304403159977185032463147502268924244719824126798820965486592232078014372682840482109009615585688338278411784253339526585969308555832326386279579300873298651333944858473006608432924882462775485967990077151982513724579174054014252076618481239354757494978594597951210570828936428488145140168186343240110042471945941192616266247972823841390672615522865184054442607983100335574254218230423189294799174306285344201369729587746720773493356141021750391934132456208232948626587666544253173838245025272173578980503659236979681734786739957280820581143186470196304335061410795024514933088525117555710364091955249122064700329531724736783190986302177172080817962181619391391771265215273492849081034620632560623160947454586580670935210489970477124147142046103254437294533752989153145009264357878900566609201644194931279040352037946441336866134771968843028457125525090625261554522492546288663783122715040901614835100009835628146154501095699456338687575927352738110849874009933475903797901007016445985619697696205888500466914370206065254984716931782915979702086486207999362010468811845280109494366120183434343550693031033225204467217328863786771225513198827820936328209086036762179295009276051720514719436948050495437524514486297439689995747748246948898627726902244698778258736036183730046446865709704813533218980554123279946296276867091177889281585444438450520466036541579928552884772888337493015319832725910820083660258392034133862252704891117248156098012280318937093315389077829803921138658086805176957997839762631991048367451419895245179035777160884325284300594227797541447493349343320633619400412197189338192780186447791385654270351872007556074001163747452147998495319080854376454139918643130109872220682440732958502559535015556272168699085512775821175305489490199638133607673299417837750295366108148828818053670648955824261619210749784650934629650511746714253281436202618035057773692735365636334519910777404872340293919138215419388910354721006414901785952814893222084598268324401335612554646614476288215232793175578902478677518352112642472039401591196472133947496587497352022705477007733716918216673102570902998001122086507800564802902479423665361524149941184471819211313641845117055215629256183564728500389862891282405095895748953795712036915499923951498520516347736690771245989684009532768868638189454887087026520628687270342309734934049388478431321082699873885040956486290163688319426585048060324952935200317268906905125936569664545866585382232643398049674390658666139930094436758647615839019467749985398153944639101951478887673164246370627491627959575680999457190928492799326624381747761652333139070055300004449688623302238951998645988126105778598857469278991815052972075551242577089519090226988278276786845343706643735332086681266409903981266762383918196790818102272908634873980086204976854961045640516995971823415954721195188389071971170112347438164086224019370389350320211751028547240524661632054467266298328354881251521619950059246420216148466500946946604055760915458892010793914810944877672719285373904223437905267074924163370452857478471704320337760425796555149665411250184730934949855866721396695585831225671200437448321473869332291457262440893350642902894131534181151359088980111539159474465182448229290933310168250150947042900625736378945237588800986213020638068938892044557723500128844043210731454798773840386661473418262022736667143982904510157306984847395827646541007993779761292091980453558525176404322598117618532013101804042090101612171566168182659399175823840687779589074508634945326154669234063617630974864770330775374170820874983718530637034476260336095765795578290446446865057901862576196041132830295180082150531598333161234855711083995793010774537889508538937216526741738325233385032055506443660802804577529065757032754271603578155536173175696182131688839133312751070318853839093776158719362790443385154581372397414204082937088772499780411130424510518861042617187492573701643969407409699787847728870364659626912654818594404995940783097701818096835525786934859862603362998136652668930701401006868823125195306991282246791833128274148319919389516248464484997661519868384061815852057527132268159877836304501893484297619371256613275034463391135601120346920826283827042864010576521296465837683548678168266143508331906470222434725091718149409615339563142595692336622983872771761593079985837875007728504750979813342851837162773320580169360678875166770712394370422087535463709068080126227666643846851502466605055057167293490787411173094064823023290779589856550067205293912817085002736310308425207183476100665263375712667419832916884795178136719102004710306337425035126356842208459914869592502897001265251033667965050670826332464755618917861604628026534275315519981346378188568569168347373638491183772199488207850915648611420247412836991871290416997807315015013728178477568074414333866620175858487188697208545289780895800646636433462612529130043363846112654515869657052737733929374244117567574461379672307918819319988361480458132514171695324224776750719269545782968532465789399869630105465617718121626081349084958837936294015441203841298091578888355651078445198861772897701895950287428776743002997555041472483651010715209322185177931455224212982574478777666769117584683224258768248446030976155194312910639528761503467543734195016035213399748209562483664186734283756461775926605179932676436671115612250908916059557033425181966943106184423011518019771810523456274896596707979090234670405425062509451043688402372616450481062937025790953517197522860539177514288800695114090516302845875226335615175166220220342816492814294719615014728571213426241645585128590441737393216376529973233627332374773582091089994878522861248887808655839345529455726038327450944319708448181954846186358544935765335806068717153752452894194801648409831229484668958402053936496647726924980247975223091002256994265070269821155871571911266975796805547715843493934612707864622126561990193171690523261037829125176458161731476269997609134019863778023925709536905412758726595816552264744066758200585455046513440621652445823827928396713532191992188076681566361738456827711145050815529053107780485943577831718241288108988533076189074923331179968018201918261829461385334411709764277043558733644430518239052538919984425471043730692597351014169074846555357026230546698068273289000592423243192217570336634326631586119941526799293608979486595711922645966051848182621437169530918180358687456497197281571582915088025596111587149679646641914363590218090793168817208325290220281110111353443911501158774736442490587713659540477298238346349138717751769390460474472396286211813632207799607888662721283609393815240373936718813915535337986147642774250592451226869232117711667256559695113481197444012625123812262444856337043836155498713422891989921041528957866644436591786505441728959864542796762975328630223321185027983236559447136572642998673022454489885791065561402259571604382091985617040294628124382592068227323718258187976996333011124051219053111792403865874132081434510682591871226844460225759676395592299452839204546560627774493772413381646816971282274454539454763650685891419142043419210870640035764322988351050871390826172982542553255020460952511311419222785355736828851051486139197305640569397588978050390616154198330633953566393139745003304880686755210560893804232922519968043697588522662172990877557822115712524714709340126458634010899615239001052986221963149758921066069854058236051967615251296069247977962232775308676754824063773474029036895089986533399057502417094260577741122525587950031046074195045840694018209740593290941575956444725020114113251498035864307689076076483093221785801968250441966713021134850639155893920751651351370946509585825328777964177379877302344213579994465251993007345238161140338866790976577074809962395498290551255432499563971190656189868182043358276674662058170658687561471873763022884176140870381164128632981001805323543334181801793651755021277517193658220756729781827901389388228026684430076273442791389805835919232715042123571632983022135731548789689064336039919201585620970341992086529884825394428848101867321090112809527484216892294176546404189923249885421252110763462365952398287468608009409696739434170679164804710412439541826885471091652793250487708155361479661747502838404917630758177447815166146081653604023517911889028337046006507412836188166464669334879574345887820214050072476064713951571478146700927890068652161071906407916427510509197653055874063741210466569806065172143264551579705346243176882516211825234446698321289465083357166542543764585554042803036572633544723004749705577441916611146079230508897951862162313946390779166634660616424020126189260321276104205300652684163101899036214681483883143399989227751107324028935944792388939366154273069195789665304258688797467561858482468708682973778328952228909133917338245542631857968804776974110381561725998583379056125568556091325097574917370741587168561506669436161810281229470443564116451403391928522261716959384640354727277106889903207669786664444920551894717017005619629929794001362933657134951724342122444802332987195260541479505335788978469463410659524210857719840100289061525437495390111478749135126488249387898816254025281856310133553878432703579986112160348449013566685921032110530165962854169452057339099960346059894139540847362371920202490253413473731629485940727832506513752264287615703565110241918000208942788572489907488135321899780747676423282308264009457074137261830546499789946681200396642638298668354765425332861082773522744950861490847103963411075019988609752421172867118313037804687989540003149595374129188571437933999086901733061848693907441623152839376296958339719899187607174482403263183047012086604720031554672832098990767195194318583619670559216075272197365129689049719075505365969332756384797222005785687850205323040963439041739048911253422593565520380389759617077291918177332299420003075490618273222531385032460581489619899566075814903248263328399961551318377972592511890029451704757876569923414096231056470027893830483773501048773673458790698424408289905570891589432116107439793528595679624279375914142098462889631827621010974922198007925520710402101633280531047303108615145556469202657372204020683282835570526658255292657111591205076036443130568806516073053424840867906570737830871568694643426238358782998061845099631894564976992547755002587151833912619113263301673050905022250522506588855716692517115335333553925229629569639140530086875213945764929065394174422056467346121935660531070529751825911296921335157252775559175547537604004504725801571467508946400627249996667706661465584570538040501274950240865071571519627215574842544059761618085014146461599858087497732814374522012301796748828936876897750403093653356759472351008097455091475625503511074946938105013635555854273930394920082270093878704092857997268092063056406157762215713047110083991112276743793402680321486785253966122145882770698625016291344453590428503115132697494759485965196134380142070978141302054309062473311017211246477702410233080610206623084553119113447386457868556344984168846032857316116181935637563184949361459231826407334467688900715438363944498979028894168135576748360464836099972430864854608479339613800538898643996111776665877652047030444911731741245691359582506590878137725410374289204049236672307292745221723987828082832618622048499416276062415181616377152363696439715965058470608908441497421214335717607460727415325660464256372515631432339947112406008483993996271250348137771470634047814164467494010274444070263656330551225315977196780905282870072688393882118963914499297454005473835562510614019986587909833629401377215078287971647777054983457607380805148061591091960190150149063226885169231911364023048913239716978658843364786806656994478677517154601364337027805720156182042651375822438640975615647822921009733952273527741451741032510171589016709643369576185524125934810923735835994624598896962089047715554167979443271224605748470414710396620253208159221662553240222368556519916723117951800246643409941029016064391316593912124061878462848534505707475017659590734621991621004569317601200405001393191506224001717837648089579143925605099222669951380768994780685736573714303732685697397582839615419488379634050533342381031985558438628200978805329218149397327037886635667841475598229738632946140295416306345100946675207281382315474775036940037207653764872066949817023117363385220810253424607691540998139883542843556058629309914356345491548430509376137216476090543051529185709445107071288672161004364652826696492146690177703806871111315107006806155701972279706962046296251002964294718219433074212824318977666651440806094557206955051372170173484558186112982688402450569325845007977398525216830340490719661964068149277018436830234198008679711234835410970590143010676618019697565403560292087279986840122854694340088496251623163402858395677611905184194426161402894369033064204838555362397154232363800206220398267198938418333177562645498740068268254027716238931278372378671581189958029288892812861236663599302082642922092982421246692212083250965741484782758665053502831345398137455230294369701568126172262673247223186921568262314644242252625327391858028931340749758764731049052015980746392977568147966370142456530803653495914011751581311578387349685902234557454424985728749196647731079837637162840084168608972116331244921754816354190269186227621970637685614273746080514032357398498775878925690351560861459002857410310591299667657591204208077228431148456667248200831562860067481825565974188618984476926393943918354053524736629798604085116148100726094791101049467840941808589509512010383658773384910936387263697888007241418863894798590755335936718588002169743489483653445195509451960225109971535126262432545841222834017917475256842476669712316361419603224658137129600281184554958654429954653551211651204034836381511346297820598101917437978879612418408090679503249404452011014004037325015537506265266690343763640019101671030977091206113954626695068161449970814974818614655642783253909550936968729833406685700502646812397527892456709512824651453362786541749357172380776666203811914098713483427893022756414398369560726677996514660487264521351500416432881018731692968138933520499687439271374745618779012242999915292003078178751989459343161693881372969706809193728150662390160144124416572080869474363425971076993314062450258940007806754682294571132152889587695632866038083351020254133231061003324016271523586407673882036065224285790963942354419485950552773590443825711167156924765546440598914694400007015479687300936368534876587342658549357457021154929278621814660066022875024783434726478106250089977399258027326564199503382490842345840897708397184261182149995593541191762799478559000900777067617252706740940044317435960777637579369622272398167515224129395557456806613347962238110719355084180309132072561410474894221104063366621692695369706757268014566287673903421311168305107386153182639082509131641165747997102914602439995886250395434784945142832400814171017599221296126062884771021659842372379475504832940791927279568281944277693021066558008912877656905307651333158010003846652247885175709729570693102300306378092923237599630097522472773423398047181921179784279427375644085087207530147993577564060221265853898303681685565743443820006640347884468737789500138899278042641533823105718823357499300472993382565046824856523204837987652688103842910147534476852699430994686556485127062093901214455775672421544159410426559156980711465874969224900347757913134841621134512772513195390573740183902885312414208399648470824990215277216475531866117568364068039628138226220796230308799074716852388079517677969687807209598256029699263086662589007238237919271916463674774208559539078752279231301039913528372789064976740361972635111734265920556196151744695289443405481233396796236400914448958955473876122510171885584270400704996349727723668456344305635725872557981781907369325990015285384859549672529577955457116381444671494017366229949289773374908522878883423746201186064937184827024034685604054909168165656455356151153628896176948927800139860913975526692755322221054734962479304326591042940083969787076516692708505813435749409918205091801530809361568756420118110782076667463758038772329594487387492078869944460904989857509461637071703783777556429711331255236776646547251447817451471835346633178463840842814608598808024446400831379729628460264915550819681968984246178725719902398111363944989870869442032778708116908137980872713992619715286257228574581567280198525950323343261598157635731148445757042064080303389678741808437228351758727350994530713356417549655834550652751602210555087363604394708328651061031197223501977028511591640282177574537593730981629228236764087480901195506171528873644447835309352383203738121980565781386749402246361068269346537537565231506032579611484161430377726656250620004254996998571100003530927441999842402609785257101146478194882434367411102412058386376043214651907030836145143636611753518561351949872381679815339474382670707131928538210631084798435923302757221040932374112183891945399397384892046395570762240781223620646619981372738737142347869381203943114998495875492947482594226535052421693671988015176862062024522183782740458795132637452665512673519544240598802872894075943556072200102544188662555561799527300405732857708016428251177673779602162595367888310526758323334381312129041783800174176272170510098083875039165788218638825763428591995060974671177236482173011885526063494351107976424970030882325390192834012369073613515308337803788272115376917966074745530856343641562400273747478447730197410058643274439008030047976387822954653029113928810911081065107316105244392498366820782868111450484301753117806030289609895496599902753387275907266988603325251855528311086588702754711943914584096466228493959779706984936949815029663316929293690462236563041063165352496830300319846804055779074928300380528498720240916915460299175142635499313459783827715666314752138835541851128676013933916501089202972146026520791319771013001364020429231787510133287372645377259578082491368635950138188308488917959693572928977484767041347961711837615116976627498026843224083278095448870015572782402164415079246139835292867275360975939263440660265014830287141413786567167126681349720602711252451835556674085483280993669948448373143681721450207174436367884913500408842860257781850890443677231557808858694621038152598571409043781939208066770943021690361660080829962987908290675939783056471264743030624355947483303363888755894854946304914982224147906829626449174393655891876113149631113848793425766374127546085786436354562255105254279727209011630038676164297783058363938122205380025557166989218216289268404600138434464118700342564673514173030097909456119925735498622027328563893255397314847870909873892743343004037382230233741514009450083322793418015642403802754727313288372295860972663458711119817878548232553349869371489047019787776564891301891687213105897889660789857806570008867437266827254584049136630345154240477985147345963083004452640147853129466969076629488170247196861422383524302456291933546232369016932546221585988237777111379876159805634146905909933011489981720057780788101536616578146371662232788367795683356331275997896448602356912832775940784407575813821619729114638479839136260902750289529595394542573365785128179658730841421084717399738787809578293821122896450186078428779523487322372833961966917970035224992399443242665499396168153347249557385802720818679118107258336585492578548076606429242822809619151371309229026800514084599807559460721069664624419839144878395259617399025949285691851142604098573425353939989774351643799136782396618536628113046166459767382245957818400033231404227918034726361653226988325288468884818201812301510898869460006696712339661755149344061209383142365278097617248137950662835160927433721594786925276434729571889785675791119976024474956544992142743710270982612203568568778912106641472856613640427828488200847307879800410595454579699778513454406442824776096117845880069679999055878342178925447822546311366119558350221498593239570666444601046118961474148733628346776372120835873098617440452407382496823032391122796102640867620497855362049128123954032216837058904387918486672400022936086151639416962272287958334973560612372537939581879272903366637062530735381825316553679069410245282532600340883317605068108499487336803983152149843742580356846474480445044550305940353351635719556070696985452280996185710927079362584812676940919283436509186064910864631870219322909214248565312003956877815686603030847337749649911690518757477221357880511517421446646917109860007313711087001488265339505293548542257999694808790427605886948923985254084697592337730969766256109163276694201119640464829451241089507900498416996263573304856136474520432888034290121094961568119863544153193356278662068158715094450060566290692435494736691823856173698091465134205655269053771376567375499418807951916533433015707145356218054645361556489314998231770687556402181849474575179366430952991944841642133703817087152051777449322407671276196089928092039554731716727545887339440369975204120382479741531094691772757123110389933843912118234557687248003004287683278529926195070328421159021889710179978016448972820764012346759484682101575804562788283928320341374769656116379986349239552004194489536251922892021668671985814056474189559817630768115033176074208907522774010605433065471368307046782777563131793148555431883371058577201423652303486641456062427581824107548992724853038818322386940787081881402698358911274468396260254502380387559803160166147595512901216744068726875980119059033370401344588010444843172670582992884970143218952215565941322940252748192668593767040683507480628215834641983774898510483009418133855414464624120213052343594543588363487766305660794529750841003193340941932803553323248638178356210923242107003369835475400936645831042900014043737630018666854753682446809028842891828796656557794764060925543549044178939039782837577051422120652782748236112890282416634135095680517458234972881717241438361588881219121356439897619128578661422080979413562197131545784568954929761722388944172346047545393315360522670990909987094936094191793397520423393252642937123322653438793840715301582739141418819012501620834703578743237824884378509116916705249140732840285564643922797830670727501265457036533491302736813231044775413428377106407096682395966389329006450980665857448174208724643484027730928777177520905999389261307378490168778398105602704103240746157913291666373624958604512338193333333655770690292052835120218776729913148714882569260918115622708762877194260411145096709617458349276666593967532189532989493906969436767338671633108780736194666293800672976368547253515097050631180781633410712289872138388255276745174486663445276566317143251649419981718153601558300172009706364164337577384460162616515042550531800051076252010570920434466308519255482150291328925807729848531072043073060612713634124928542745799031732294569112675306818719477657402986863652080226185612086530934483935357588943508617902695016534460975533300116448919255740225869163683642233953116210732088424206341844753683693928511138554420661908324175642584134745374014189849440552282759104826219422332998422200337994454314241673301942122589360449530894229676552118483589601282579069112257377483997088018016936648732346815406576043450752585481728033159513764941358554292872819820381920714031711538364685494744387495248662146552885850171464203691579353836520241797123768210471761637277020620787234973058887239211279496084642288655369355522589719817537107730926972994793068026115527323714913453376828600310322883500613868905130021576343989237545728313336085815813327006718901928625212857373090565113285973691655207635321127558681924488817100315138875210888284353579034723603896582660550911730441124943359057380924592543464150887423005912099209029158695695151648902225151231320424954216788723754439802930059713313802571082954300917343133433486882205572202186790518180781786798103087749293717376100342027910668960943720286753975853478862601934755458939019310814225351549477487933092857632133985419016394460245747861874054637194167425708768318722286137673361299406281372869392475694087764522486438463190702271586394198291724268379310369039135931691192253869138300593497354095032902593333890843752575518173790825951526909112038501867385155811068991347658914315217143833739987955311310679887817668011069280882210127768728345217554703850462300433029876239308374742039179441738315432491581477547881252461470699597254460073220228817027781919800670707070386010010600214619188177564384724101015390470089119060523759727981845522680538857469341879413927010554443009123516551020528845540953505345413007812000504801310062815614910864700852989958142825997964363480269518741221785792386048155834609313231170107340095602502429831545964172893653896217769229526215029348426391197786456277856403008675916061259035072151813704943920337459531014528553479740026911297203058312000707229593198880309392042522988355307465424987335534491331895035065165356920119828698651012121158115317762298965927960747733298044899663600515407078536373168908519185568224871969380492102430550911661162997655744879751263440969118997777374324140548128540022928892348993799297356063901810806881212249220585530154444078944049812534338509357889197709444300511399477667612352530131505830292422272767576495864193680241455309164435405413035697762929753650155650035452758564542348885013078975754756039613804153082135261519420935893811986390906031368366690955909549007303603318861416395766117224359631276004489187917522570953208573999502453983182191121638436486058345509613476495813045830036996418081240934260649383950114879705269155446996243009786011055480506774790938448128680720076611245459354370508083333530958200825607505674860822338686307660363137707372948675294330052592022720695739915151012335935532937866478330962614452448081507920723980518183029224150474473046700990601557110534842752023503580419601446369054181895528349618187262256835541147795626376557138908155088267605419919233883132882313406117233194181216135390376606358047259601838359363810265121654320677497426734447234023996564577183699412628711603403599344355083240869407155101765317114908845892228183779258193768970500296246238600068424472628337179273433325667837897858998825585701],
...
|
42652.1226222296,
...
|
2082 |
2083 |
[0, 17380549, 0, 66752, 0]
[16688, 69605648]
36221039078
|
1 |
[2870306788280628375326205799255546384946443297784402088931426159578732018669263832179973190958391664 : 12054260533277864482523025987046567934365170449363763442721138116827394279190241496527159101859196745584 : 11026914197934383477385305858398037851525985520189890989936407159488525402077120258883890457696888671]
|
152.117760733677
|
[-2937972523999319337760034822977010429966522871718336128636582494728667098073521863955726191062004263 : -2576720410199335386593557180114190724429326442523785557948463994464120398265614842362368509994538525 : 2936740641366866635634683863999072226257077363232585973850737379570064499336397342670295674963170873]
|
[-703078491365344733934478484776917448754034740839965471852143625617103845987258739985061340530720881 : -708222805708110545586476311134636166394545785802329876091963843453708595042652422160227425028466601 : 707907546530896648266184112821103559897755910811178500883139244874598777659654115358776860857698766]
|
- |
- |
2083 |
2084 |
[0, 17397229, 0, 66784, 0]
[16696, 69672408]
10363770690
|
1 |
[31723825655928673798560791571700 : 132355177092850071878898573748174620 : 4387228690442024680234894246573]
|
46.2688365830458
|
[-6157818819878210737667799164192 : 1771439333299962751362788767043 : 6158667950280208217972604145037]
|
[-5899863627523332008892801735845 : -5896316985267945874383916645371 : 5898600530414101950942111069851]
|
?,
...
|
?,
...
|
2084 |
2085 |
[0, 17413917, 0, 66816, 0]
[16704, 69739200]
201807810
|
1 |
[208996882024173172012522439495382823936 : -7893251247881753638416448485911791816640000 : 148334545837381983854021393509]
|
60.6598655733503
|
[4933412651428748473700520218783571151431 : -4933151408423443574320040388606168619369 : 545220617529174421029935825469563290177]
|
[-4903133532912126584188974101080643996644 : 4903601129151755867263074159789841921603 : 4902549706859038241437328140473960818753]
|
- |
- |
2085 |
2086 |
[0, 17430613, 0, 66848, 0]
[16712, 69806024]
72755328514
|
2 |
[-22696549329487968 : -89027847511830218816 : 694120289979681531],
[1944797416707993141211178999829784232248070784519569312047597939564898669001006343220 : 12172542715704871654991049043000360751160702839142076960910185742347776274542825794460148 : 632618511378741709923198988735846622861233007507443560362885978712500713542142148040125]
|
25.8920504232163,
131.907109518973
|
[-344479684437932039 : -349808140717069591 : 344306843911314819],
[-316749196794344613954343767584913493303323392274142756110131332726469958585472629962733 : -316020651024910518212484116576833510016804317409458648080390478899420175471123645895552 : 316628023586716065226065339455852224689094863689865648259266855555390679361923263722045]
|
[-22182856119054136 : -20841811814381705 : 20831100973727851],
[-17533726640830653508866346468332664011660082668795150233535587961022228658175694965653 : -26283907358960065269461104605097319896692222452862979216001413793962601737453366958677 : 26275516435655570183637084150405334418788466408629740924515021055770185716809393362933]
|
[43]R1+[-46]R2=
[1323599583305218069773741307730522043902283923860661719583548628256701690778068094752477659302303888166503457462477047419963319778039497209487176752779850306124243856130038185965128876246913047974199143160351703451404818943018781001523166351169504977129530853719870548263573603449448986668075703158023357929370705109602822947859985037170089810109071813114275910893381614764218387440617735166058855729451955893297077635210090008724173470836503338656152762270974161989782310954481697195325244133030523227672462393541962134742820041669095962701407487885485475930691502639298778027463878127578056461628527285332244464516328516365636397710355816692795612198498288693403043385462309808520607853705285469365368528881004686588296752709779001279411920411834687135747805713139369335055073076786458527634685742970889165081650898997854157882763761394907882675674079226115944594035926471794909326812806286187788851567020577161268083228021611650165424374234081282195465968702798151760754269870089583341402121567696490110579093152908608197797055159622007102986672367381416531386300789066284537743944100486778135369323781284985796473035325079345941797236036645991662537534568749725438067353805075611440083489874978988527072971396905832116863087974181945281798738420194398273754349080791410142909465653308695222260516661892595283185950555182926763744377786075642574189101502585266104928362196850787162942896457024739965825606634326434163288900559045265585884694599227880959766053308424276526606544002289572444404420147736674605124898468460842563820842094594918416104826239650095309953747161553137187788683161555265764950506779002263654438733225153933489610473481283362999978498301438604003206141133888896276557259940555576062019112252836792295521662089075322771161044090232766447031556493933764158507652898708003808671223295554570616170491596559773032143724134669325265152754122511964257770114611099660100614690601196734569019095492009276780442878038532332887008680187683598786865788390208358318527304999408638074640564672726568095130566806192301710745274635959828686871897965237607318731618276378417601290586063812678651430572127076542249416336344633014908536686858485873373895911588885340722331592597871801506078092819447915143377029159539189783313098200057121842048859262119390631887369388962931317087152835081388287144881324312755513885248823600127867870326887915529711199228398301003371119822771584676511569429416650368656123953922473730481414686020477625903356374087855240806181812454247318788400866955044356693429435112171764141537648134201379139393192224430304697571261967102558627904090148362861878677638172516814361549120269055668913223018141602703882131795030339330258906893598980600336478630239687699563646910584662568544536245623280014673590830444240344783889390578112887246935897291706860889857380434391797045807802115219027669791029308433357133472029196217887619173573945152960949760256140695649003900506911216916883883619218167750938770933407258907669720062263241705742177464275049774385153696745465837943282560894461868144834677199119832769660222636770640127819205919524745761331683576925405219481607091846322841661747550665886682448049769477986338182223105125501476968440308492298584523841093725692012272360630542786990181681803440952284179771971966455075613292477892480564537539445002089631705706386762975002432706537830020909776164777211824985444820718024122318699626316723240323630479774761849469542722443460266895631077646184089137855281154005057446667090809997731938633898936908053183129727168846662083526596762419547513103278257273277308815589380314469350164578936630536862798689511760698226980300259428262642869760958770343337330528460720796573871280435479733074986610223453373944015076564990193392889605708377258082283170716115850170204868411677482469831298939549824157957712985028936644253006481084004630363482725118463780346944953686822777798862504320824003230019258147153758645475665693984099386813715501975147663430761440775851416482823362058946996162407394961237958943746631209493266609113717847900530078406312678410145884135967795809233917772122963975830684389044630831915220788441413455889792380736523991368457731709979992212440268506226867855914048115814391671370524144977155649924728918942946628847082613074649935836889127288013999288333561629573805046406149689864245812373636575926749038424412451557330741070410051324763235961422551994963273043014519421057443079934004279849774742434796941079558666794291920770111766034649031409363803935646855526208975024104052991340676694887298713569184325776771844744196995460462070718110332242191069674112518363473462674130189477723339901263005026923128969670895131817088275481656693330856926585273995350552513983216232284864846300620992557063995096883847398905631887230102799457792038409243154144131616364970143617564712499943631661754709602780713788318135313774023511456715787732571393231343680809765283980758380738037097048336169746059843733258377156677191859582020593248744440179687145226960809382243537196913639898374326859641456928712333474031221886664671152306469893565797094969133597289135322683883922055207281584045001415957998193524792833745637132307206085294646248286071846798459505892279233091138899321727040131575380908862796398342324082468412227628301129472150201618397421590755064969357476529970571664535788840068750323750701689945561030916931255657831477857571745182579189161610523848096006220688580418848051926540828630664126175383319579315215037946695178864246544773329163655270324619381390222655828679855168763311481634238911837468198902519005216106834461131340888772992828906226266698638443868815477063186271671709567697986256826591346318427663580001618512813531767507343248656507343966745613837225845843112042835419524339078541618010684697813995581903433131700009920698410122588878955737899181488759928140183294994704502794153024896372641789968445914401204375717820676047159580713879605863459127094244221275527966901274325595627469578964336124019743009435041115797748937350564044401785404061598218428218763802096183854390269486043965064901871479708155618110546681915314823932082842252794180728105061848533305177007422862613109087124721408167738185523054950102657667478693493094341580054849966713388190183926748737917081735650514848119660308860177775682656208666739782771610095699310598596605335545489155786148724412618361378870729281922883984653283978929192083859039199933308830356376181924955050670048925655664359012984771797188292270315382044003822605229593437634543498391292352302614133720265133469480713572572630588032435656643970246153247037468216586964397398756028822223569198108892102419930085268093639541211807259292663891796953430353680180940778933550796525819922400355512971925930303598544380906201291580780008749927460645023461146514785672579752414624309381135214755684609667386423897063567049959073994117803097249595815618226198025833590671924885013829591433165360063956594950820185071587261464531182986320820087798605291035554477662731740079462004015140509858745333725106464207312703086472440110889965863391301532222597986075115338685142712387907500778786036759894441880002306633826944005015849216273971252442215504875667739280294286580827218300876299815768441519734777147414155073164430784456043548525582415851578928707194584286779430263616081373515360970088328125960944229922886249340710759235953454137984097410664813204220350372484036572690086031362393092798985909581925536691752749118818079043234111775298427929386778398496350780293742571080402158504175673137831869019932100589247218816733597010151119596011939213998452514739800471302572064959299524725158135520754930647621664034054758517788344487472481415543395588987374872640492161216815626340925177812883612876925966105520682278531938515223722051358853828623684001432709788144420333672603928443852981835312774820759283567860726648851460482001564242575695759812413159950674195428797135680026024883071157252570997953269939228895765501627406567338000274581883821199356763104017489265990181887806566764898789625710293143094476588917031238086796463480489224510409461184886394317266258929489865873202277044870009230480934270797566303895961147196522654240287959747389628571290084389122124756350563701331493301303804626033954397823624267836946555219230171350609823068115083659317933527777715155113483094688861659058812805553430772717015754869827677948554755268038527301180832146016485449947215901852813765143197772098079002139099945124007283729864318608104316346251269453658210906018765703211896319140122272892301337296148736111845899210977868174027009325255157619654883093139086364134962772765447601390719557166498785389311188748206838718485690341049726870311061636770523528265357287640813671644906250689929469581144573381799232915540959177504648929895412691616422458582142613623512918239357100589004585807581355105054929669641745821280287998040565607654790457982999674485375483631694720837287461000290986706235189260576601788353291034960540242027345875986041398004342465675438812193600743934349114998342077680590360309410957863317765029900928121338478277286898984075489360496697057880145159069239400082200006833233855076193019941422835786774308177144869973308091269828361052579644247480700179672280907943509841054856879358370879499803776882479313651559974946303310375021892490600785569036604478397929419654250304412923136598090411031418947729603132137182219247092361221488198541930892228250448537488919105965742374190976774339469528670650879579290303498357745410432800254889886889652231580600694014806826365350762752410844818817049857080304097006121792762785921651477937764928669089434739046641661098307401734344634422296815359929670991674956360861244956631605528054826147242066119726608677069478913229424372643962555311924735229178769187869653863396823808878153660223298925525989355808944407107555977720660582955612842784307458282234973546613647114647488213668386092067060560197144051107823986645980845723070083464386916379227302082092398310107681776796606150663613603539430695112746348999857150277865046587095532776282337681131904966771067214720151459313397601051611637432214582838100501800797370383721250251983664308612133768838418852692941942859323782708060005442147703602151104588491375792165149795471998411628320772465808741659516438855419382461911560929636363320280017075935282446018914434736860522358590659715570396113678231560950178156808607128941990158883721567512954946447783558605970955470188551997961990802044105460077605372593279982642491579789898258588293556210612626259197948666548969499130986053011236292775067865504071766453275645515289554326571650781430311841627170314489995113094905903837102180037065685720779936909206937839547146043800997919514142102796591750191909366119752382356283690090978379738940745104258102994015520124690010485417374935307414273134636304903083330170162993067908650240597930351900828394499454597391918013670432417415761476506436508864951274173846551893214511495843431202540611144654592556889042717494003668835276232296223002699583084712406247010284784203309949335887072147173825227542810260288635868340490206932787068399242651295948583194839196072173214849223280439600057964041165743663415000008662288337698006451414455036196477852773557994881839492310499703254322567997002860223222876540923322174867043203734177321317646106263877872813964676886534912665585897926415443807694591140110729923524267219013294506449492992482749975308808475588853025602557693712845911609667549404513073403016462201726522440692240894187300350194601819651248021947465835072977212313022318761975869317792476674489189477047781535816210687759131708949346928086271797457180596115201499491179562811277168588401621573037378243983183647976441920205380310293599227623881927599741251901403768107902712167026308630606155446438002639789176409594127129083886672865467131501609246462851767169251224373046737374626987418871398014055239681068116096126054990989344111134083444186387514223275520779942707319281002926088756213295445428470379280044524268775623778486457409020460400289311071074050947303992439015921420055753140402367468989508360669487223648695712456785933562567612964517052991680997860521024635532500085251083625695320870951637299908075875113061179420812529467232008068899021940605776726324937590681075839216254572449833685134519901959902336098602217320165513049138769536079865032432841577943016076253897221549716634638697232553677689135384773736810776103590545581823515768395241841328855663933514433616856472754701543458096571599908865823505242879148108189930810330113228714376683315033450248561808918843136123411983180658229548676169934444869790721035330345011874965265541590841334394772765807102024881628928847606939648457822043538078327176186756476297003794120567128511855964398656811474927045628191988816853527364641677471354257993912369848972082675217130638487597860973236970144566432036643223924453490444451900201573232210036163324224122596191495774169887130808684418289625883792535097992379128488348348653602908564192652578114213472765023692176456168019472617222334644790716117386078604086836617908370949715716481560297327373573795218268872782031136357003838878837546158485267545413259882493533117375572451321672916590647930011968490360909969033052124552463457764962451826591941159453442277764814885541692369134302738873855843961097505945988940959795794199705754608632095426656698804662884321949408583105159931534574810011684524779164017725505701812132583428764209153096299309569866819658769962695331942419465158944754065322232587900503974762800448020037185107588277531066130404969446579109105361452822850355244121623769298293488396219582283361911798560843603592809678037723397154786441583597515364204314314362638123148098470491653684940035843208844999201218323780834812439125478783220925677513097231821302150817002162189465319054856192670027495927929416356012381736490327289204698716252303941413478768255297441735943458273716679807547576939014903064451018078936314265512390356793615817196074984954504322457660525450810675157384172884596884042102625726171142977304244043474357159620235283223446290398010593906534564652185149146121056677974427917295518549844023783557892632969023272542651340722280780007041336745623832489812721786438874370470556289425620163471167435929201008624437512496281041166267536826962292081936928666368773415626500177433727174429835430102703413120857961030695174923285080284495091387379524505218338410014919162515990218441514210816121979993386482377919891305430361369549171436069809453501574543621566414184030375793848031705813219539826284663243786193531192954347850421113567979315954557008241787732146751721174101611262242198046944563473272518031813477181356804847367521136242098845982986224784751779508518626289294262235750732184599758993099630998631038299629311226648868065298100482697926021212810851025398109574868513516330599004566975270118184370337567826361006621547575831742831645387506777753952543737326665662458831540407410476663034391793909851667422395652112645573830993203799278247757755500759037566777062675028136440032993430874673270701053145670612669971533320316411174204613467475411279702484995358502965258861938234948996571156638862672390733803150343355356856230514301304165863766061908491509113298519076353446644374456556386290870807667682173278334115796630094454327210497000363786070006680204620702119701995383277835830234102441618810908682851782109977448668639166111930568286658010717797068482016235664624638391189335960629164528768810102375495122293799123247698668569305487745584138109846042801503205798897115250127428405373649455340093996237904833208339958509756087082467136526309341739876240695022467985327250182196780149750336504379090648857112795776834748291606149440012860479362458707066257304609574484383169385348134263388469067973976460910626041213297838471046000104678244010033097154523317996719024057111614395904813237890571752886874047523076184905067164279412794447239722290339426811141529484086183006701439735282416010084044030825483793291275576061853828064352346128188444350043473475422806556977162128175771727872660043921255905024975095220660949112867110736160498146562791910718836433656529410633461877809394327342998214691917298505057780192018383094913427079518363140181571930012534994515575193847599533070924380064757500443624395849267917029292913442889336891343346425776641581496885471583204963420074231164970696797133802214838715346984287921532316918331210726016548854897506914816100472390138597218555933554351852318306831680190651606201428565423948574739705440555911998778163565922477608533184246464289004450537177393579453995282865142501430852133746189137356170870322402194140121886311494981194851129365584591567210734691771893104551170240975891257854673509790687830118232990531707657658707401827878743377325969998803204470260384764335486584421618170228975202629398824569087265938706038536439056133192903766528297752557611353961795071563947297992861231850219931637896521396957482863276040849793658822346352193032093954146364810754504394029013233774340205770575177951104203000842645295541690560811505535061478028251093017533033139441120319209961848426765913075018694970798369595958146803624876446356101237067701480208597051226617646322238019963736005954024669110116813165212645344393753239070123074488748291182269144331526928443976507834091979412014642172467803474826361885971402200024960672034426624491330245222627187518589212048227194795238546696623800219378702459540720063653799176885072496742974895724898095476326007445540137636027986538779488188589675345973282556310952793198886263707100562347734701167948655031880776150457992749695605564615185676093007287090655345871400520277482385293695629696442569834848734916034439618115737451606355240069588909577364066184848427559985766743176395304751213475097287629529833936378756765720120082659733673091037994711789017913986401526228719151566308755268377212230008429078810413515013217771341945043501095826619375286105932759537298108576099333760741183576546526329651797364199317689718532393616260524952476429165523205082470130084597311933988205849368441806989033378433986400152741434871889947811266576434302850585057281437498000004442562535901625753586329664204502765673613694440264261452116004825585233822584807414708197164763013865754201933731845019582619499410059506066987524312136528363615184027206185259772331616572914828535979954914510448778023757369620625557575020024360311795870882257944848398031651224062417889548166168753162492801843011742507150127606302348305933308855665996346361356631379211396140742788523113424482933129950103433333124942182381517296511788049992093203696692704156259216315823987221231086647738790401203497720858820263905104436187753246329270833271663710490261620295858137180317481780916289236139497136205518333703860473691467005637245966599091929533011591030902194419137707362926437830879278646633402377086530836951036904774080901447326263914903745668731521470946968999157921898118325034126259609803773792818788446505876911055801476062116443378454587047378322632552407242641588914526821991444014497500123437734764170488791491569563947122016764500467264711476997590175542098130542916512626348521918494643600983247280641716127565506044648839955344849458185428721519704096617573325891255866560143190383410954214854708479536465579734143192446368668436003228108934364600200494127744227343150595986473030300702159738895429465665410007197223711392215906392681894029240680399583661342811361266849487505739115977661175886471681960184776743285941802663278997121812787800716069102031702818824534762308988258735400527828509663739715537295519156869354406240720526069658917579792451853041563093743301054149175373229949731691841468663053637235880155836209038125025114470098637081051703616733532224824711085899841686306379632002979963893344028945850912595805747559257066674651332333156914607045689250173946161879757928811529143858331556576408867663852986803001462144821272594121898965366863089979312687974580557933309982509204112639528340060731477067941915703392665602362738090142845171073919335822857192148732948146272185901958802305229248607145141361737631313639533383508725088803741969360163780917412456276537990753260393604611750480590723474450115083896291537818672322341743255294594492814411050756181882860381596518890239180027564000268885777440116864389870901817383259908699237347075427276509537804622198363638133496161372175238353380780501171674093973033346216494850692159653157811381068848154778830832586015562202646250974580146678603791261242462839051323101298966898121686898881658316316316652416786518967243138894253679682441416831222632794042911610658250025243106332066475042392264482685466765650478351146847931640696794740282470936407257007517392486675403486529451938229418600707317567016270293562742215242444488955576917352437271969468218310637382006030021426840151377864297203933668989786637303445872358590859126951543906865339272824979743890360001764844435236242343577073563789963344727064845398129232470604968034487467875595146509562034375379804828347944592843799581010552889235941559408243289469031945052340520842566078913214292693464298208955919184481724213943600915221840037745246718608000037447745182713737605071096110358880832082893168748602256644018915651998300878848621966984707792449042792274917014901782628666056337738841857442197343085841928342418433612807524500396039132075935813725403915502142507481020836838651403709806783500725656797855759913453550004597992366606211496282191979735694343471152709281691830259987352159699335529475405443266046078779355950813151308380121087318626746410808340594227068479832404382478133662884167570979712637743658856463748940101763013779432679480912126021702389047053081550432982208941944301650721401353551996247556468099578457571067709127778093397796171579902070192823400994352940966220675818822570274503230657817348937485414315752887883789872179083985877507231381446667306506430466354497843632933577164161466952580233533415662862167449412730656622342048448220512817860884689247243230639651707379670659539245603264271381621986440773994476804087084295000748678435581631469554703632520316777435273082391802541821609971723131372189614086708125193998081065603800348562576592140944739697454672765346649457718363398317161601663604014498969874795962120116120889087540758353378336109755836314443083781344767831934092513532304076115974997379017648865119793800016427482002353661737206129893320795948300163202650110848208338344265621926133438952013078624597459865655400097896906461474360272795541013618298320521219469466512415602463835026135076810472113702482710224608094342368770140997417408512376729029751203023029209144933525794106193009786247279579725608216709718921273051135837992238435480423486528838536819889386914068092764431164329171459891553826993498114203936401365842373519882601793036420009255266687282283983535233805715335691939444052747066206467761233355763515797508376138900580759369601093769189588036730931239220439269498409542316384495432169095965736573198953234544483660796534160023139395651071234681682068281570765701162831053994313297655916034013575332546911866071722596158627503555709632489618272730314547923729522174893192158708262469344868657513558660835895593593610227683379065138292815079646919874277995675842509958416252712024356905493657607308162193210144373723254362050642351120718118788953493345010884685541792989291304466725881022379337264842417873629045815277375712938321946822812970626959776152874537519636708361699276402981973028543608413201653729178288313868966015482260496460005985143783625478674459065188912112289797514766921800955466617117213635031930186377934139519524571833121112177218309342716893600728724933930513166480388857217180339477026289667780653697963333450988329094616868752840131125171235305633950784098749270632544517884025944942427107970131762537011700680366199449305048256790896819491343720071437059595180384258028710781860485058917524516391615290174294239124896587086704430513180734309305238163681395127580728679917378041086943417816545731474353204279065401737125520203980069690893229277097155876352796234180499151598230345415235112016183802867661938220860027730622356276335203794223142860632485268065171868926697374725187591179953325871374189975303075268333389069198661530449478934807370389132786305907809715035431707061233146082752287612062856734766340926671027032450377974453986997893071027197874197235148937800212776913642474246901329642339826040814635644525750777033598424077249872381056681983709114824152481408709725377330167534785573356176146357996199340245546833336616109103969762184961931958181730169688784663470630716225712701716902982959748107914978491999936815262043835449302694631932232672876073320467630825522544392996711846284023649581993085417940881302174254882291132263827975396355010124883793553613872079102896723645547027318634230903913565843696420243379172396727385602362183154015894569990100330029173948329648303210035557363336911623063978886934129450977513604316212412871115685706823734970420369293179544479723227497737764766433402990871358943628913719584744650295774413362205760918680580276563293260796040521947178544224005727677815617276408258002574978325491374259253967253839447479040439504040446655384964944410281660155244549490693799531149377439658064880369219804940078710040356081438944134394629895718861956210192836271070289098726461554684172733800019675643150845500406554015960885033498851923069323671047036341964818051292921160650115156282060201730516606111746221848701739817991440372128513037833402520318295086799493702754288265803824732196978476158147886239166938671844471357413812101248506031741242955450669530499238234987905863239084468392727498059438452721925513626618687989999666606436304762258803529362229904838454164549550945209738522057974444583748642503610915756627977155038980284337709873054326455286398987368550532611239309819196180321257616122496186343630927702685397597250093594678857580709730312279958633306504778786539233191505895781035106435644260807627501807480859678327020121546146976460203257903248153246140845263092811565102605825820396082337282446210237372139506784500804464540246652941023593718611878623390685018922779500905587772345635419587814159611426196402188037268421483750496771532925607177553101401868964557676776629258317638042922230186753070429780851235074055918784631151904933986903125966220454498801332862432763318143540310133846989450564939456775030548332066093729728026641213260093972127083123964751995426343896191301481623474021317297971756552622548023981862159015098726150920204088884811503678718148842928101824060876418706051025141071101355186453501785348706266429716999584481441222547532512817302964926766550988056777294719935424148384978525804003409102536878154621861286210229448108334387063103978665957013041266645778145291621869837440343945418561573864546451418034980864146909721939441115867642973933446647593527240793344939214173395657181645089570552526986629938669000931416978355900141345154468604911284160044080420171028735569744595781242432498573684762347776685927183463307869588330734810864631721670242101514974239089218863575705380382387588099343998736026885270097865768117632439726424995307380933752493897497421581728274371316550443691265826675572646759179460973935892135504065048411036696918521005441018806812827517752594515140121500368061450374998723758395696101940359755321368426947580329962791330076078274111058867563149522512571768574049904825916703194385350395689908259497854925186375492791423917588578574536133470774918886410792600389255937221182138510644313391247064310719937700785944641802000160325928296717371336271907500860085472395471293783652426150889167448871735189364083599546850989958015733846097100719368227965404483560606222369831666049983667926936328744547942218436688468386767070909545104273537274547819957091524625621206769189026915632231741976171555771656491783556646736077463254671784032109825119557238604863095422971663698299593054615074140491979496679137002631048595088324954778243748657945798033700490766962243622026326801070124832804021747308034718003331214135303086175500779702819632907432089063737164130125238523689706959625137101748976976393915656772648645405564671590550647432803062618325328561103670966840947574356280563024641982023359809926778873237740490415411024713642643177315487253468802870547062323114165407777835529827374967571236063053564702136339012049852704564804280140994788829156739990020745130804340750493670458321207948227635348549997124835977117956935771763987267932829075980206061444898768846883771838890208030300661216510388053017356652018271474514955192895914148125870976172865059243674114727635300884373983218472182017727823005878266223026258728161308707348114655497145210016800465183558425871643673260306711080628791095187366507345642049590758612255722192355847726144240211560203761605477810660548217673790822121754811893995126399317532154214587527100287353422059967350552726895737452477966896052730397562656995867960415845963884201540294040869030616666678157862933332672042937204073714534747341915118741464108206421465730752019413155185346249079836802902999306732774721370444295684002800792791990073950059880587837006200228815340177393704388821105110657577043266692568693911392024290431179746063289387577351088856086551168048442466933234430429260472573636591218760271387921862405307450583733871541803099801822838354382293879623049891226599558338776458894396393597715765821726765951877163637230273487431199503566223251717826649202327047843345566217653019544352230926359165129703288683554940311322676459585945867633412918904814221665629385488424283302277143862224202081758740572525839733163688414421688612310639119874308387633508019232989069410946375582954994866286729332933626751476236852438338115047267459720613728164567012918561142406505982411665482878469603359657981753461491834392899882539134118458225955340919435976013859200580254101311189638410555920411613048901629670870220230950465127028459752758371425020223694564971192601307599552964111423640598217395602789148173524250958250500146572617236619396546094642537282656479584249345208850431800405444927707087851827924535369977506815683692336857470280879435848798946226848481985552794958134229449033296765863229792715315552227070055648981041944664074233509828879354473284215767277047743775594635998528937461096198919077131609723749704932453891632645584384764492051529293511235303131909743387943798592772197639141049494184844526520027326045507163843838732443128940156076099987013186983974069419067810050241830290759859153763634248472540243400746161887923480407607190099581985996527546884285511074886184058381276355268345014180553470734565722962922743711854350651336143747249274773300249800353285458286120694390514827667031902177868267518301831863835062650737075596899571806534847292964312588476037430180452716737261448706757630046475866941873346987584338525626979946288225087614332770689204042798151982656735254255202972215632993222729741356769044288485300980590224233361882118646480910068381891125844391226270989203669082278094598126706543492162837722543655577883327300425648167785380069427693261698061691368088878398256293758467949365868761787098290414796536521164776981610281275889453258986466693646613213851556834265264046194100798746084604279196857949236946577362347530561269062311784110939526654768716437112569833148545108974476370945020749485815273747718105024649555244353975961157847651619771145698882524480098270139456428952696491461998123645738589909796380188915506318320727023691242248986527020362204631680182871980592465111284116391842828456447536223679485144769657713056293438608814116642561090739806529395695640174025539084186098624035985929660326148365382419127027900938487268250543485225412283774895706045868906898890750290163481953054850510811955920573830156011895017306873000849689866186758855737413127769628000129381767452124672274593794921637242247162450652780532694187993044331160934918308050220687228487581951805992550746375051140161495026470638522317088636527750395584494460816364535301196148128864301175390531169466926128779076496271871771802848942612897326245318221189815427431243187856881028852542597421383671065151402228258574315776394787435150567173537963569135867123183736812226550364847946769464939232553829102400049309230719069939660980897347483741180625951765129778992886558635522801128974281221328139203361590286025710894468148818557467718458090703069641216233630802780503370623984454914413895336909329920101553541061250997648838634815334460685485828596807133529076804797718357965492335183397530528331449368184809316509539746399082399913217254572474450591052223756779074610770689112314988339726551233084947726532221847123577607600371189200369243675965066443441283125691683505308698116282257156281235885935155690369933928470943369078877435823124937194428867111489445402927315653608121765158514197934443204387289972217465346914506283878886065097472831032088853405352388366954674282471718477920541116960001531589429165767487905237551485573020821880580911833535445392578959657203500630070225048907720139387378724316987041680357486573346599047939092406111730877824321806880380317014774651157075778700285598885714603748618228348201128315117761137130400511169933092826002874907140146852324739444638858602251915337623850454992518758590867395232289644512773750779049697306436618382016053218539847504438760850583053552202261523136919992600888670644736513672730553924554373981230070993159527687936048287696375229904054442471471532857456977610202794385347737205658886309096420427321650929567094263581831316251494301697777526615088339562264627989066667061657203486473716418053755838216483480591812057560128472255178751009370585585056402977712830572269437800887952670759110047191817202745140433656926108819445798421920626819696060358962013169746754768570208262502554148259936808247316567946837846672210458217923978618922400242703325686093898627903948138309468960921285042040368474886074336105830146395132704932456742146421259507524780194164512272961218882406286006533584848018746623489180696428533044339552867530773024637237531619051937315662229196241269626167066724397717738196324839967511431079746736124645516037074796904834497756333983570759589684909866413434589425510829495192255083336930178268534915184304932399894935876710942173281373855739331319176679383884755430708170366305414124641084180487492704516887526860793268059491361606773286251872129904305445324791326580267823573282717974150800414446337797496926996833793378059694615474722537379067639174032167784919883135483973761094268052268956011778564098450511904792512636480465419945359311556420788283872283734990808247665358745348826794054558218668967109375314164140232536713984645800565908726977705459726570807465234546092309870689369171430507400452698484785663642916456048046668913324788727409603749980277103949766157064580066470726377502030421137819338152345113354715585892130913781608446091302241796413821762342488961094765206041167519882703986261727789113516733409581508408373369946909063061002910633239057389160370585575582573004278123393646178977550678042278952819271615472947464989791154680234328130699493122875273820672949691179247343944168842505093039475428929765236661284429593829565787312520525386465514904691398958639791607588555307893999235083453640766764015704272829373408725612277933082797545471433210254237658498338851228765155756561709066300470122423034798012605801640449832098980354524538196228370935569939968193633998709752125778530222319031435007120902717955426778287951081664805199908352665285147359516669184908811831191288027819184692379141834770292933917505484927753590873452772333386181361606758895657368633748726914679122920334458511737274745984337937866530925920396797438740194375982907826056252802417023225998965578936167120899221534655403763436575228271783648716134809652582795731376490205402253565933377416244506890642692175379957708400716715692537395231343423797271751996273312492041005582108676576626807038487630564689609004634250005861748733959565242371360341494404443696264187082717655855447156004146628004759057610591136128671909123037779956064721414305086951365699858422994586549628631927741812061226543165908980091543457910313191718235283208584323582245821342931974550040400882589057571911182326413882485942311791883906284971925271838715319423671723627893988936265464995330754363823660484054272737885986211101340827072421424158076910678197443416772630309516858319772122987628879632993760853003745430745876358570836895814084653696918546421233601431870738250750343015841945516661313106785470939150800957718382337566491164425471638498896683722574604853284874069033559961493966002802785377450667100942129069351060607976170664777836707378218385164174107553054379874828322336361189312914022903047731735550234190072363312898069472623704551134813535876120931103597335903542558124477607232069802937502903439523078291552319049035441866081521037039143989185032723088455005433520452756116071079612902419803848384607792188793794678232536220312379956486114440160160747343164829198949147836301508172916111444947797668186776884325769492576926304773740607872297860733766699545678108841782923280799053762206705443620020944053073519506262153883064975563946143890672981652097481583667435205605671784357410065378693720000691953971559369212752570044516015501815177337838206682916867151895351102074669557994324785703439363273083687066330061946127631033310060326635543235206096886365493434266048790180122879786270305375751415844990257688657110691076804938325232058177169315201969611129507650815999233611492268304954853487557528344935283591714750655593541666505702674773890003627617007223319948626550605449126938317571711974081863098194297027882234201909029888629594689649116648158677430749146715328038352457323596312881536753347419146083250757255354584936699124086992781128010067266268947404732435985955065755784604145937023583829434601633123783117579074342655932705949845424004964318635963459671978333401849223495233818322970595650747297366083522561077376063873789303832304559219270320132101128844715246098256221668758377149671009155198988101499443012381782905975724532159751455519130356659285112452032857250417491597686473235643561032541952347030626108870404451039762636258867493584042351759757667820645875832928615383767823455682975976619286586481330702929991257247098491628803413265597526530759635123014567576127579016992220676501030126799993696460563399789312812724905756333824756113751659389830803595629500653878304652180415054547011295821085283499256252090851768887875493146404346086203097516168755142770215596903855217831131373467614100128838547637383269016991125503871421670071767237178003125056194051938514250951804742819168430595987483486388602307371048422101131609122860731673833809091408544296573332828400874228520628474940181195480327451481634777641362808821734495176943448929700069728394028621299574235562362673307759748997780041336325450946821771572895281617231540392370252287121153176510084613126229623053358940642339176553928826701497726268001751927318593219747967382342378751588848579118849805267694091397067990507752029413345492552501333521408557943639952895772040302920046471040007504460101641311259434381524771395915178669814108367793368566424895122959903801955918786803827611613368899039648144187416301277769967995567051175113685882752210904240985695108978727076300575923492871657555376521804026525041730776505427118642777393458318684760357821314234580919471675457965107575120580195805659130742710989418106324690364650174449964615581251855392316233924414307228830421630904014102106075772486413746701927791245939286178877108609135517775346292019681651476804249163884819632270749287566499490529948318419706617762583629926518966725743231504171497812230629357235058777735851153790539693350361552103738712911186859007956944794025751334456731355739285569251015115030395849325959229686910658471058561085159149267144810791789015465625991127376576315840984957140068582651367481527667658945361037730338853448375591259159029343732739152889338924111789270278070746502317004233669685691788664038866782434637504204950987394818928048880400382875480984935881575839237510217536913370888422988822428440998063550326140978572544255373600457371133364707911567411880036267898817106146155674726182374950821950045932032196093801694951671251306698019244159057887769812321265685887523903738198616942807174482175574241869248754292355536768686818172616555702995452069493831374647536149830359855504324206274031731587711365437438136895888749077904766287006854210145613912554824132321299319014736380722508399873508398893146772387222887824698295039644781726859544484418206636998019487056375274493332245166675085912328670775816564943842142158979708603375284378108648620971984144186527613602931511553884881346443562048309917387100465710236284044463922584316282084760913851249323262750585188162832492014843452925121115827773130250768845676894439468048240374005874605515169643461866765904303239055152927560425067615923556189257657713503253981815474813604150181356403427901633856533384696378142364721804898156739033244653926989330640094586510108377612808297924996476749613666936437632743491696610574447306433703118887118208196910310708275108176223262512538350087804599120738721926588019779508055443459411007297901934189345738060131040662443286747769322711102076859536533373708462375187084185751155528173978447511971406527056282817757207781626960947518910153208216217369668562469550955766529987753991636270546135839032765847111287638159697166446929134748842702023357363098474799918386821206065153993098169954718343437177036676240655744461530761040671053702333340795609797404548684246341815400095877923943059273083365088800079703093824879415036529324329285550018061933386405815321324141271100395518625647421259935769168170016224418751713724648780204986981141482318519632542103370777450636990840803627361693709944814596129728058793921342190681018402410572160283515570449909187645440774080884897533789945223880642195211670673243700676514474637821187496632274525280304894526577602186861723324341686621574197905047835120534030097283751537054889909848262278026924559902886694638437860263122747524893771467085416382790081190091737304061618561480839408859449853385843626337306011123229970080620571600149080623973519990205037155278287666608018585065417284451284808229054337238054402813215010960129882711333843181594071022700481706449546911907097625399158387022982058597230826216266255373097780938390066128757038271583648903800574587171255022263749485548733730315574250855592600179306415232688517179998282569092674833288571118089908633181071393084482184091228278728358726207316819346390024683534541385715723967771941854861143840377747525108742726858017006916747287469672815411041735173785579851450285884347129327245368245363900328266329110889971703498546066491216828389507707400134740914291581664207999308482188031109738170455006764365149693235966104559618406099514157695120268663617057692160511427616098439169173836519545263357737331396251890694617637965633936817713658076838502617176431502328892596433583667070283135717030846781047111890014017060291278471539167721399895695024077104748292595621365535653632503158476024210866932357237205561240144906572320400246770489018726581034329321552368933517569354085605647639961292872161542869197710798474255887025154420134279599741047250088311407442004598683951695367220313496099024572113727425185813025211814569014600383101048783344898650122213937632160744650531335334245351086974926163206381233406948631633208938235290616460388684667985833027910817452075804426692321695280348580856449724790221858994241293110716964749812663490822254371147090006148680100951271676569643221540132190579040254846939660845272155206723800490790049247231810743760538092319287598730322806357876794487604438067067319959253836077708541497808427358049433369509040295983149538743971280825650694228833154905492879023583294024126972102605951303617760579604983620445967279419072024972812772301826430865220381171275447642945272798272516424232726133927179382420441973745277387991098414705079225483205976636122325970857347012562257626038369816795529592530007762242931972578714991943950098809734949640872388464924584028147675842339542767657302376733139698304630974707622754044628932913936100802995607707845464027334580659972761327635683855697921325304969483136636881644383175229401443182817149675459281431310774302606913284136051232513734029117293186301168712304073568783096559517257705821219512915020581950061602094594912422372328216135106764347632218349617335986834390650020104462781221354373478217972902255569474564221359364692195163623057414320851936449684829935175399937154945444718740384726558860239022584984747878301297204524713780220444506653857595316698857265006499269274487457118189307436979549899596695870747891079120051523736715298284457946240086376479865031872129611130595384888948062936872612245719301840727767469492263795851548888051871865746182673324934999501042486499393575554415509737322947569950634075031533111150606666078496447214156121488933154283710118445976195917666419165695053753932514059314216202941727195941792061321977833055674432904871289757970533125909714128259550302452934716380080762351529438432848439722921185317981915958846656264650609154596247641728817947426464805800727959171665981026151222271866182847441229031792390167762531723189628706568324234634948327668714018819209242999318284211525341919447583227757364896988985090665699929595511905457330804363745487191182242587080181648549215630060664859254044815791322585265280310882603613652080680843351541120193839457825805068523623548774045431381020202201112254349345732564822376854543601941650370661711342531441608988778094047905057735790445828895962993938912901454888934239173801026084462219564275872361649927501599144590588774872962190958092623437898997694558045044125588834500467944131923413335532965858664519149053287447504432550543294121906515218473866965610060966004073292921686291383692549782435784024335185391396551340985390483553212579532815049526829383394200072871010856070793382346294165082586961017031657899034459671889723895028248920914566637163490988667854716149598716174000520831835956028442779755939624604729567440263737402557138635738028883086521397799327799865846435656280542709298564645093863865667200702743034045276657823296028130115136403819394819887684769154757928287915512025022151259812294260475094770306969430310481389958570699422114396311498332862587770172409496366601040795088979755107958410443023820462226040494663228010016669963645976987452208713675880630486204741136589198284972491392186953708797470172451981417162913432938127178832660893587283803814278437978499494276463768304831632282596086515651868780895989610726067810142318418041569341165021697905105929258663066076632612810047636449887179685392263036325503480772305274598003405726989440788886574035398271809237474985586448413760292885571914134680806199946494336780911681786755681869309889964542343115642988253596472177399516742446115303984250995074284163097599934840952797148832533997076543858738064747540794688844129184128944073052277982847414753351431716290969620222233855376274198599150211598808020697034691917977954877375015398245634055714307073240975287189321643278238157031713509004685883642555909898660336745868053737146787184246076144949105706125880031559522782069701302920874459431903662543750759893200789257898432950568288275757416882818184460042386249965284014443990593922401325300066017099017760446217485631147971602059941561995360596752605797132426175455381891261438082701980575128705702309032927108918595716698556662170219849735014271945611781882185928127545289102205090265619990304615800375909977613207826355952415728555422960666818926447107474589364593356942564300742075100197495330278056040305684671564326307095924941796337046171310104783286817289910629709604242324264174051401937990466903102715567593111913062002349873913379902126568261746846086416091871242108937224530641330586080930044744572577028277303526608791262359097014762677559470350903415731932940214839423467022053229974549638138853311808479221173275203239908603717368313758236333248118495229742101043110120981551906430039546395335517624356863369463886881741754955292264805604363376297071844500195414002549353053371011533350654295132516418861092055063004638978419506600106406144334993789355170928208220750913254408312839916539643363094889730091863549683775891603788722718066141119977106911547250563571046014561340787257285622072607936954643590949099500792651929522064650456102830261383322947367177183786888990426148882277733528124708758415607891628574040035673505007488589727385330432028295159421971812636756457541324287635745418572497540212116288589721406587203862740334249362788712529188961237251810038222648210134140881839220013834706917748735044564807831791452274271133868972593556563716367643955337163487016860786545656245655918196700563066816077502657312539067980118783868397311373340848248453064537108670995865214391144082556521482584116469128641086521188624602673699551732818432082503688929333031932166468946393047076368119252227815121967888758617814355145752285063952896181714741508821739135577708865316613665063663708500217720029689810713736773119007570799748541819744984409791799049125517775054068994801543175246099760159052518067982955560073254662963885072457157129626682911774614194884248613268888186983905358045788939980410941381898189211056340208484719090929836313428252181617525175586905907205959895574703903684417902743569303042918445598739748634417062287098941086094754095021741914224553895630773158059069264786078893470928436250513768805875451601250674890447627709462524668236029694897830872310474813634986865528921544491767014428896998713272102055780038778369622957232763109496236027381963209303180643749460615975640228613133879742025153818322210740387361502598431073229327590040515704359190718956276827848076290141545647283576632739638570671698350836954522988073303584680832286015703086063101356470583330525325464536982245447137932968778383388216902588669694891548123767221617135475314109235309126450373680406223051169446421740024213781164706447106173216407522126230126433417195157760512692253977078458805761032186472499334722012641499747674461697947822661338301360191594348140915909316182153587263982400190306161397543713724966384721111362015282910678754270583153114599418484161028351747618660632018979608600584015191896923283022237086166922654499909132925528576513596135001648139337384274698083691989928863553819535335241918050451292140507920468696020757540346855903135760949621293061048292549642106410739556272727050028207252558445025584662364583626065437434976154111794027200316166591761471429145841615096581729486735292870312268248628822849034554567792325757443980446353490695639515931981043454708956322825629861459171242997959718701036162473337700440128659352199999697512072420266051755904728598180671378033871567806930061903364977700392038740220713131587331824335156889167240321271708586227867283135316436502897353507161596243861760533605359608649218786005950864838236193292944300772902045570968712514339269166544600471115446627263432605644166975813477474041979056321512180701475656860751063224902477339784436906769882850626332761352768091680549498939708397214505423676552533733191609880390810423793666490121695436995728307962753089462782381658535139435158641670013717157475050151617442113917710080279668868766234707191367352540000761358896214489085128742508418602013381556023616083380307502668252943935797960688057380258085203638228607712486305682092640598233454604129400397972066497652098327538754075775352745381158195222581009553168075477403209472454450714390758252543194427932380967205153450333951101971339575592063254211374605785468938714616065411193746952387768612378778234796548253029966051709520934634141275775263108643506047712203442455986379286143958751565362653128470422068365278751151893530072627022985516118035585889815021965737775414698996563504886049609515926358808373919182524797110918758050181918829681191033659091513568802945885382474985765885596381369270845868675637237731672681548686579073036318792008195873052309322859772001690055310967029863643586437113911009320311017051372831919456535810842631601785789164743872979482654881899128624905096806592150833066971020080498350462145459180995225805305128852998977174786521553276157594527759243457657528286391243430305259411491522959609805401861576038161298063522864255406548851723478692757862497584032217568257473226317330361533960929246426613148949894188965707270830325391481768828750840166509691856857602396849336575109748923503281049534763009063670847506680517992624764783097272768821806955772091928093266430132962770699838098147848052773017568694071817907056281783519437880688492154347269306174137237660182765852172109789916821937822357163326778602227599392661397728496641211378141148019332247158075585219234252808821454435415165670902383590473842987066184000540118312291888945573706346189003904280730401899968116731737521064882431901149875767008759779885982706336115366173422390548191295896374690316842884495140973178636071169127540406981232849860179509682346928220127854040990884036262770186734086926347913312365333424570829637199627915930688655017164107863513764079723979265571619257511294097266220700392846061545435247270717502593788718571646864916634043575425489082406500525861233343520285482778515663342269385323850443259635409757182245249390231098271393617074005465464620176558447888091270047596626242115398799631473638769886621961336634999039260585545594039672427186082250540853362210091176608950394507471023748324361232680214014635426585867191506490288070090934855978024040397639587568023825453830365544805795233858589694898301169183127372638841118398287005948793306632295560998516101583531167686813972808844663247983833617654297895392549338637122356873828475886870544828077519685706482815556600349297800053980416576588598311105123706767982038186975254798733842826432409750882307057861046568171737449239778776349544921105568767605904031930793920282841159646198231222213441118175825136086062440337140658759756834858284997454837909467135690904624407542279850989139226513968819519926897170817091348928628322619023927216124116566454488653511744367097995617810817389717869160464698730980748586943006171000207834318044297817866162209790188054286055230424715739641395574546960908426857048345049642523191800041438165810910634216180626056522849460662277979562668170412155507051147719445808773637061473134433529575936562102312473229205341445903221143042994819279189345072300264753888082842268980930870175057515653211789304792261665317972995856514404280452613923390116101700525587458688916072098814112110051803902116326478279462196033520374989915381443144299872019285024116673629232809279203374845070106252642300135257390052587503959822384768324007368421506567283750852095917937664716415291145160324358150779047094217765785955488696863080922495277751120590268824782556323325536304667829802818793058814187146215619649291780622805946004350931476080125568905628594350513345508749106192116274566921516694803419677731480460295347622948462069938578829444239598502575908965463523722225696116827417122115579791789710306866725535079048376490224867336832237823694596121616498254267799775562435525678764520825733344082132114387410388888689719016948881935990444534385169898333369715292618753956802097584423735459361993235047777531935315049911485883065286843561204685117425437018210754133229848314173363601175865767863112017358841393061296558876024196529920229885394200535359226003679727922290369106574013786617543111726499095883006128732846872079816726258557473820305992830610542219679802463323886762566608957789263340825772658050664646412678263917421470365259377871943703512593051702510878932274045562323445282823559434191364789935156828783779127863541964981172299588828074781080744369257995934475592201060691954985474677672802602869969831212553783373932515279172425171191632172493502418401338600032459781994064113395083870930072282164638032669118076455002489647932584109044964727337835259368078167898838592979189352730772831900721560393132329383951329868794478269336089281968291829152210992081822360442672726467266916378506706994133367480032916475054091521282039801359492025988237780236560013920150705525547059836285628895272638796743964313903185012954773493335218162395191941315710610562594947808145025708329797992110568406399432604523084155670262194668147170101964589768471599886578559692988745783322624866814673899460383029077154148350673974975253550512708197897938109364784560838262054786201531464074764181685205977227867363827950885078570159081184398867978675076751229035165555512375277564309252491733628983933068678939510035231329823169535754069269635683655570207791571564849867701884635738846824915903089622426907168265357283735287535286552862946666632905427073271300539083905673716984735269095075092837633491751256825409992495787575563577863470824636854248108324713139191504280124958741043639979446864916061074519561210088505158522558448024184523642845229779402283873100792067885557025880357470071546019840816408259942924701694490210973566582952476875571013356520992725394795590926161793606974662711570139467568697862626711859888156487131370765232690326039976597361713159479307648370802094837873821418872164540181053755938220517616940414447906690085168512652148008970482088064913804400354219697692756748678047585581407587816789081860480580986463207155589380478079362048643496954472533570665443711742802870557765690927229859401987280683223672367334998092526553285087637854042994121096810054664741554290975625253151921903318902973633896833166465680334445244432099723731503263904167393046924588581916985913448021276606210698581103971947898516678237766059435422036042817306879224374534634270292139982228899095580711565935702526957530385452975400055249978185586346284827155023091676115599920519609298077633222823211723919511690587615779779078755985255938223898332746088923739234462239762655972272198800939550511225004889406910232098636296477354914736824251176613965075532571145894670839643624862576904927405600150178991836301312576333497910758099374093960228702950039882364176587448874003133958520547142284976925033783743952420277356041472243812162022834475232638819103703302989112785476423259288778932798988551421875186480609557658139009341086811495156330726874302503060150271342291898621192635231690621645397192576652170661715504054436683140710530994072134649440093099945190049088249099197652781864835523428664621704840287629126989680133573652759636352016046247816710205335558223985863614557871576254960421551027034787424142628741982961516918825851141974946186143436817784995877309356700991707746446201578233299878784487736865502554321040556115529189368415088539886004105464554278080397448466215378841614163772033828560732900131777118194168155062880905360625566760540270084951424374860387765132307082147600294409770795387793762308683784139777285613545538841384059202498953538990682209917771473656619607875769018858893800486767262117579681736276904638880399906449482344177283200694711266199995017926065788240896415127079658777484137697999730159744036176380580107454116931932552759667590591333075789047881875205605279631686293668005171604285900489771374850970700829276017847462491689634638790492080967942647275870269526110153499920190748221138007776600894649275279228468223012977848430028697729434572584014012300434308558999078167095765912427510481533157769430553301757374410727813397561639559230943103075035775291367862608529056372468463861020147377715295676171800026201418233352256381198702677621943192385126663088596125981135260199254480532558459680717790099935640942941165721659199319760092818694465850366181420669001241534037213818580488684237026534280250282175369178432377751351972171869857856983202818699385336036424801473023022790413423453488823067939724938689859159571806024447264487411906868638787364732497235466647277293784088052306969005974705170538332201374517241029517675522953105376260406392607736326280376877514719874538990650206992916836902921123372261858857963009746324954149631914460448612817057186652092527158068147398605207573749088030791538890464193008574546607181799691883136886138498615688931507064231499422133807177547242746775165350564279577454935501559773820852709744380505982149813005866112043066926578255989179696372151487539720151146646668147127253358785861625776573643582648425926932964291148235512125087269008063285957061353821948725937116947387100440021072518331913888656693570434770410324352188570769082798587213688312644444336685857579245649947968135086028087002038922889149660282470514864119676210338223963380889979790618234114714102348701077391048083753593845711636903074509421491664489278846028892059065520277447651090556942199554680929798390681784967756555206566986544448082872290592892994528045236239706792758863312616247474383702090402069013928925857535278680071097804344758001213676637368734851808506786160738749086029615470454515612304347344639730985472175161500898623188909642633981261554342520831528232163659666267280820891778160125400528553431306657683230872130966284684503594416728762428636260371726562539258391250142673283215851071253990895105223325548690148402633200922770311772621258781486260965728971570608393167236310048285623525049150965749661710863040532876608349409433899133646039582274175367152967963504641539394224347546420618353517940176962834184771519586681507300580020553898017223853997303679161371974520978521561524235308252031553915366748327552351840770003339353024531714033379929127830153880212829436532268556851665181719341844795569748917881149117277298958878826474187731791638232213350580384287886099395369857894621565211215384029399113252010210309506544420613666133055902549901050266988694669251752441472114658061484305571212127902059773935984101457412160060010923367497440626280377379773362519110437873880653372279006237357911113954701753675475275843655986957817970254606293643400577353941831691248209253537309789646693719982047033000381013984576280283423445072366589313234608674247577143658964365818507881637595747916075682519169781953904838361123904236068734548530307946262687556492022142021779008523346789195670735384225096136060884864225656486667618175353304172607526848236932337759350166172819673507162728123807141622858845162778806289105203085444698622617858028674306598879415444937150087556199938920322250573920726366191666667983025720894230260269673293820951117791323399886393657826797798591362654145824667030928786797197810426600523496663567621963523143741357116804941045351307523746344096982714341210439444256642012818315239118854834438705061204532358995384272944328566340188454572291999600247219142060788728762878539400957423402906331937725829860490869688111550252896116728366728273969946707473428738804180970292358110260752803552267088168620901444319383762846253204552813579468475537872712747993797183527388839717961218864506785630994994050447346435323481314964884313857848869449584037969543647468424036254298805294543927311178223351352204335076197355446223897891988056298499177545692544408690589170736280345069146588907552700227922088394118782520451232799079828396103375680276824588722247233739557196363952941503734484049817690422305844815922074181456669406447701790117891602204248910882121017599584805721849051330481173882853484805673459458010296275150026780241134579905653513548046272013837053035252378460558083368266757573869497935872515295220354786760916343570698070321570232837496919886748628462100391587792445804640186216318321631169654405765498015813412861601932910622371149125363644669347608423358107206088955800125012524285009279260622951810479209373564957294186809442889753243823061084886843472058246010545345731994172467012508922459506381092632640117400556699804302349517837308422381363580541042345411471395287815630068585676589321693174874680351931435019544934144073655415939601524475060893832439336135635469186638283381719204605491580221439611554847650994021400250884105600304974683189667378111299721293302682664253322557329186509273720664915648593295444875008657052143173017317264767456048179180291903724326936718628295293706208628502156164513970023999510206267615105169578292325106410595150463448086188735422268750845772503409291859880992476644690347143915980019749292364313242448347741702709407835208868946923158334925714733236404625343314744957198433895028712498984552029609918376721825395366020176075504169352730786104938700772073743043071604305818554412081619280688989328715595103579064670699789440855679547339666254455028920855354088583648349867083836748125533938967567006860866351497015107066372523659186965333193879199603719687440285971678873576027208569675955558262363622536649295219080739146572710890178318962271910185763365887957564457721759806620791600455458749514725856558480777886882022786234695222555969564228020031371593436414549793208717842858097198621367479810312525906898685579764452555401933853143459493305945668725693583342851265663697609623488271741587517981801558816624435629107472999338608230585690937618446364535546327281303851804220836970506098557815556663314668047724121016419510653373217512256379159211161498975027092145485902800436450049539522785707862038142215268818590762776074584625565793156024384678561606971276920526093083138322468804648169686925876396349230255882311747579900013701679372350422763284354559563509159931416008307245214827203550594517996839404125750280638921142841185843586555982568783833062229365871739901550469592043917408398348728093551369766457741603234332694606058539756471381387896962052614116264914107193492904067629815365222006261451140008128499274405523291784184031376488066183002692936880346063411593675204285860076624008182211502599155723159362424513869121481036511889644482670104278238893842962676311229736510008802675928631964839678651853523200466939254849096167764369762413173337619721572709286903163077328571982487438990306846938952617024367192461668268406838010920701990330229964474273405496980797238810169113722802780515668889705383950108356199815432889375640281247952991677242463261916844547741626921492013006188558532409033232031181225638857817174441869249631878053449889713919658673918429519546766911054916387074818568526505933235328588505632581373145523618593576014884256116359384773783877373217847253959232231941323500650421845693091880372478028166142040936786734283040694240278635545563703365303251739945067727346786824359412392189304289067087868798102922880802806580515310439255046337570189215683857431114166681888881845651046189555020551142253405348956561908196143478635145397733415050200484854251590829447828614745819743297051015871608385719379111872006073105560674945801848682298803453015949469087509367845731020936698703025507490797315714266633451846503178929733783767551590976962996341019545873714940792806144686143233717865967815627437089777060999297254392837618741727321704243586739409586694672734427587517582033490792933738104315096136589200423701353828418107417093323201757305797182597010926837827596171659153748213742364176912089096860741626109206743527064505686263492673847244153165944059088861747269317133223322266139571127203282518805317549479092230571545409718327673622494853480011483686923107520002527937905340223152469422307122740756329205586791955145376576235419059869566969834311099161191800100128307056708858632776810731895887026539821164678778676953822715144972242134702808966828970835319573632962393937890237261728738923986378249006970942896987984186810876855744553276222180702936717706559798048045653365637850482132031835492808163093695882085790102283044658111016262997851826131725271968883244417538353260877276552819227082273668349038862046076050627158906103438925419209550763850457039785894035919110158762192463436779580151878557830656377295281126119214602880246468695209764179008069884302465259539034472937782722140607349699720669606454311801067914585128440514092908431169420357057702905312933552841129296408591169146067486419676626958524177822731947313144842958239707417607728931351213227397104964037751163976508777994786780545272574051425235959940026707282115084159468097727689252013420640928341943090034571412603268604457075809069751185285817148246845810731262396131427060683755625160872403993366690552381538951118751482748465739866171684931420395137869866419060183560696415625623292378408332537328206720077102132083615415287288314124256127125403349302983980485594244693250845956315997145278658645448363920255258471639617462190882117230001766521865880665245294810608811570686464998968066892169952107852279851944117055427564286133915531796217997105239798153235485140413973458268472222292134341986908754185584834092549049104014590356590477586497913027978735930950220819143453113949462651719747721131603454150730748526676638215441656908185094492782306454232482966460414434047687911739325905168272247456477530359624078744401869937579974356271261354663441600750119380886426230808075180696177731709855427731318797873166351278067533838740225386923265818714556291706817838699379088066277773402008425589927664478429929223791284783348201790468571288727954436753080211031602345616472960740752642288386308677899884543795100211179109163966752792803320964037228893299796083047374104634026181314246411150265513858967467864068540719468539037410086271923584321829672174052815174863893379846413190004415481590308465783247995018773165127135638084083606578849285066962106704829473374876215323480603685471585712299955121190333302823538874175728519615607755934347906919448676109066340383247542405104102412124878742804854289862201422201899295092044673039481065795509078662976277127595558852450674856608809652625571157513250142577633012076908071364423817548532280412926012949288680038982941452321957573356306343754245300230834635054699884304225292640265594158089484181405225378430981603413198935146616782178188939824045097975074985309311561753758319197611277025074393978523491822916304785401746152842879291683978090132308842246783265476420134751666985468954211525884729553643220407070751487749579472831490527616285783723206175720525940466962192791002626831670710512461673894368183335445681416864058694409090367087949184093347169502824941023035348337360832543798257936790440295183985062505561909776970067747300223795537993381891137835724685912974025835829336394484156608752011091779923530436027176261085563884236524483164391634722069134203953488408852302798214457794206715715282511291840429678023334632456447945710741165191525568767079217704565550297630856929890951788515671149984925035453751916290524631408881290302151024346242440237905433935475506469796619218623637206478717608181850833348440363591430668100141870891541931901553893774742316514396636963292473722810116488295661103987098573280088475009768597962204994666548850794543234953616820895411597912141332403912042667121730007745631753720540899127294082781464302411903282106328132626081866340607792140717608822117746294191165512965561891813409304753887855027257938390448294880279641289883034586518539298786030462366203020441497948589677151593883626455165176824376284253496162048637649109727613533751406802209077626025601811000794522827326781032651439763495067047849412019017237257543993288379984785011836902410834739972434608029961383384933730256799574465287568251348544769557512484237884112717973166134439703154086511082781560865937020190980553420174006287436991698217468679230462807555033743592263502907602718020939833941590679118520200251839757271016754419250601638463292227809338536660575693886513638489627031972060309146919931770370856567684375545342842150121178142146475941408545995426395987225317596756515404161236012635955167137333561602856031388709384293325843582152711324614974417978581716136898084068545517009486960584096611518479542444500084618638643323529973926241706286130040253199638969587703887379360949764429819660964487044045423140809039030562241553152702532032230882087691549516446121651789073169609486772030594151241231420716214129137354238042099107033487323830130291659570842286589787418881221277344368428218351917960687725526938935613780520908862494554337482099409194639791387271948336827616308464463829812165972667735318398628035671123927821837463681869268894563145320968257772207889680261658517124161807649072575901478305151041914529879642843876634292374571994359232972239290669391501008572518805622968862427164936509557432823559326064186929210841256784968775950025744358871729344584701092988608444299546579543136944685538439590897786250793136108343657216262848028438229915412461490016741034803604535698717612336771616074475280257064076164526146266024792293088590883119551619709275945735876422263282374902386043176617182533969062195664651696066990014525423545068256615453706771151988523726407494416717428726133106535101969414066322266362333522644231509898519930891843444667656479312622065356569537839109784079189183609163427709183180221590365010925015018239853464360021936281047951859929027433048250339063266214666193524720900831189137290696856959368648812141619180281941092714350252835926151475568870935119217365523342986392400030934715096988733675953151440696753113278775466513565612698031134915909378904116065635782188036035511537837702291402714479662378065743709033858760453488725856887589280383313384340744459685527466697217070917358000013688209343256859462609972855012478930189091392159935255375920852382461321408208091069955071046377085969905622426250311029740042821205288948921962030530361761930067064148640912087213505681598199724951665121132876773708392351423800844473992301128592104802770005526951583153715757937156519804653217067700294347399948519072271875896575666770598843341116125566307720299918615029240540999683911721983344903994260577600610960337140024786831371700593083324591218318407126617225784526181038812892395811264987892779248499790372718766826585736403461578532417567131972924984473968706848725250718608364286109749974395181427585247634305222318612153557114993953693633445954141277967881352720122710358094933330128999471460154973334235563174126256208987685254962847314862329151296583205303988199199927842852901152464789651160707965250787138167965815475125593312406477904924255392680590204326442711127949208608006720069214247830886743659378140956684546754910665790875864544992467934928749918451025926734425252868889020143920474456137052563209195907532467088485365985671382493640862696586696633891114936420547901728933694906796768823662030925723451758101051781632102304743587340869109313693848959006639009955678047567554941435209964810709277982488334340870230468175904719300375323853701754861708535482374038710218527333824938577093183471244735941968529884405553716626319117411827620717719798095483950653430666886094770345578709347744989791930837951843389949095035213526281071321786022749624483820448892895554637891213469519232419042370736306950823727613502293862782033329869191297110772310349431106694433140237633136436524614019986673973014609249993489667560532724381178137498362741003840911506770337287806428265978470379720971476192823192733857153447364736037038232550721640750852448480061976803400504298752699348234889275092760061406118698089700522715082855913751670938543307678965186768680434320264621291368762037081251578878260712347496758044026466788109555437428681440759679897954303324962363482865424319175956998423726117471489939162400998649736238631792291619522545223705441373464653753827193305776886702160983088575648794004688974793365764826046880338460831306674022201471484562771942075234291352268087241969568088005367924235786473835063945851139648544251857428062779558913661306063856932124011457350930633092564973952661218877037763127211135775126523209663645730075031688298168944731946887673389632661834049804607032639626715843287011651364776928026682106952815146403319931665714787703844500789875359347983235472309956821325669112126602853635036052209747005961603844862199167737693938444473498907516678006167616983669537445124824914714580034495681247494464760658861606244256357673752880997901051382638190548986043023059064678139035302580830109778543430977886274879924758330685489301193562583065889637767731277294715471495776367589003167768606568766439572090344977672478936828962642429848525357485641586187947055024255318614369007245827144712401631843886274580435680454977859042931950681086906405835277242794549800350490116324946615285694255231612464825164319702719464373813826378163857012389157206895307025634775798573613263048574954696742325675254718200612713778469451238713128273053053419890576264943425439658191569633170417381114076624153086967219576809752903664517784692963211249418055824309839999404932604969067908814249146802061450078775058231880562570822149794963758531869532042757762863696875783704882910921972695145596389614392939986890464616681533309965633898909498535244178077298941968466199284874559583870111389171632883158497320033149204637565223497670111975964443874086648682663630585637224668561673745002021648335446492673626262575980943403490695478791582554667766182318659656014247108320611622982294486890845487927454156666480243083705865218345008650563331879643219480193049414306387436386158535675956974480599757961753575544829745855183156558240506668351302256314865275040929512862931867338988724030716059560069716158155136320474137255245293529539589602095888431131109928569415648680821727816870800863489629987715409670462379178952900410178851106783349381786408095709498333702453898145405805934526993166235390009194536575224088894430468834681982173398285154473597209577210239463204616719574121236187307078233106820875689893110562303838958027928995188236082408903539084463836135882799046563325725818942061161689731278813691642412089415399421211953304424905443677443029658943625485458497019108067197375829267269621089627603372815122921958354299332545138482586593505794638008708726966574635725225118592200841427012365507188981270239978889281271842665090171207867323010542803966138777347151287634901266537126281741442833225620708227470516126833116798774064673247857088228490930192195083382178540350364551519964292291169699201225558365027671721347194024075311231782157394369514563723040533032894055783783257132940486447488053386544179814063860957421391771414763561890199824297718800075237108890784352716344458719886864689795453034797311468906848007865752619235655724120439191613939745318009549599156217322982976102647852508918555647808851553083539777548400361070602309042702222170848937194404825958428472690377324005904164059797803041009847299224193886317643961773356678056065965332129087499369466260916694034401564650418453361153452956724367283214981449429709488904988260850877340710743391871229954102703052187652378132986544452928128868151801008406885469588782879360542828006922805767644469795003472959711105047296444867156081413580764107294974250345461882255488130543161353692270689853398667322152197792292589584340329943586498099763207903361906534001658042607849395321719337960651252444648753670789882768980139804599338259710669099232034473966797520085699172952342551507030377500720731944567356303428825885884260768086827869245791564941944176048868640901124168518984624998968344246210750284374806153776507857285519226780348830687900908609461057180715184679931936426039979901649059417703424891680069263947535061135955655679245350135959610681736543985899005949930042127566514948959585952478745539281953457085461706695087578845866695338566782888272051933779791140396237547977915768347217269466896817531058413906810606006884999325118101809027771375079882921190983670692531020608805862660296617856383892565387252075857495414004828128765939316131716461434571295448997526585445071205509630311717123130680691444652476397613179703522314434719863557224845287448976015181962553730369215599625611186842322291541130951162619134121369888054989695590739726922499900183783458181420604919331222612885004681261380855541337984256831503763991566458663598672846260823675065266714372567207672193128804386686409638562350420838642199703299782869939885936452662015054408649195465416790110456809151225307214407452981572824446863308401740498068328709522660732021994033401552814173788671694789182982758062104136900409617196250909751792071598803890651772852166399578457193101732406049076144417719704104371726180956889940241904022926181244028691910487431263034086195630386931711351137354087115707939408575371904285011836827240796082622267117988461324773055190545681280273728909149764023859664079308162686118522665852975807759503382549498842607849745522775680671491549590511182272680511611868052141984661653465786487756382683067899777521059830409703682549027025354538728841227604105248159148669888687735939652509569391390872070302477970175281941191550668327885562200106600228060327970925023053159103299029044339913808007186257842255942631633326927256935150431549991402120708958131299357789667664312761476870979011372783582216801245351563016704297046198673919262134511158622604411320609624504791035776524369559596283000145122950618643088776914622537371924347592674906200777739667398596727421755694735779587491808058418302158583408507760897592667098165587602730391747040323418851548707023271272584542368880834497155954347126941596978276196414712846344861145605466683125660843474560642891167225699519469026038307289943403864156647310593107049769082037770844141363236339026670904505325233832750628272936154031329734021753134447986350491269185489109232607516224333449793994297480299698779618659714827849222145028519009638810982578821078792990165631460878248785897413714873028971466317880663224090234672964904536794901305728696322206471175080859113225159827177704195400883547195868614877844979401650147120421869111215821303713582364734063954540244726567097417974424264525732128184780405394490767582710113284212157256417783804728300844851585077416967528582748930888221294402858618064735833304226371076414462612058428004754210369710939077664788143332412061034852652374836708148141676311715089906786022864393429538868953564642110228714559624267743168163762231787775028581554818476977171133216278134062722102692148658972796400304912621769359622138355781814878560979491287410264932884011142564305384808546735708484388971706631874878422357843906938004341828726475896451401569671094328494857212032899390636215499029989588677901420879696426953307924875946031271696654853401184821159899978464198724509029696885899705218403557042606203122318078283870172708884207796323803438319035867824956736739273597076252003556882357837086403478407420671821611579235918369679373129242647925123540114863803929073466132873879589163946507929654177675974576243276180472520292190926026002432696830882874756131154835782147321179156848905028255887967548811092835780009411825730587546508775910942815133527033485138898441681094724483439268358250545755334928427200254931696781924547801460835273375830666055232176198127332042901222066652428784512951482418918111709107924218136606892353600332695735521306995228143169421782803445586971377701389249924915078985151539644606328247895457794988102996664192686163320966659377816223131689617801139377488292714319579621344691950952897211467929620394655420652517744039492030857234442979240012577708017338277869195698567234497116447939506206726829898109112980170929400647246456665065726347009837845890164908692086902622046550078504379939254605576561870305063731371956034554127739516696047125490960263959401996346246804329444711580138617844249141613759824279268348120912988819887061054214793895077631847449450160565571452263032684801346583887818747340549892740558639577525786462103307417694315401449058437975565578595222169900508230222843710717358366497347563126405044354592678399291715605501018923638329357073709067182434314183478111213580721003093102163449468023407581296777341451640458462639006110567510770370691704402619164150752117890315046819074292841455468919011635212619946380723563325890476092693854409826430848047170937169346276126374434622782732940046940826337847291611729233276042584721193988364183622664551950604333510235809968719073908264984573665381736135290507769894545974609679612324595922954365601341044235912690044628043335998600102992657784700914993711247501463958541302271598837447434483904127621146224110953103368361828037792159674279648985218208938707650774471727787293195305162026763222130457578658277593983025995456437559114617476782248793638212859775399134762640696699896015699732617938965966762423800153892702468341606130512185068741607965242170888878070340114132734549522319678343188666912115747059935481832001606291707004989255770185354728862513546956811068485209467746834874261025783230065918830532356817903738679186632404999636542300709554803949209969428728431315783172085559882190463131313094185649976290287696534479293990996909971658260586297745702756227266018766153369055340918682108367639525039604944342873665077276554963586606563105874157748600245370371835550001206658065681944698621991201154104977495719942283740889608545665531525640489810100016746348381302703784187597682717541741495968708716684160244901563740680298605483481930639566729165989033089874113263453756293589727661762231635799064527245974484297017205986516295751613625523114416479597122554067512223647032562610648809871975187892272150477042155260544263839169778945599661152865208033624712148956548382307004335943046797107331430851034110218682879136399660033535135395274182392137331995142893440555937043471126280846683811597815953036493152744932154937894452799041827236851361329820969023889706007466527315097967824461313075134966820422157250578987527519380942965291795983316809368728944198888867957124951007227009913366844322681050898863701448795475903771868834438054830349454989643609215288014230737948262433371633658624336514896585010861384710169961087142364941036067189438738768006408913428457355466827559829986941852614682004240533094635420190011283117360281120842930070696524333396649732213896695363560663443388680628387377605426678025035912194709491088914604538636013648581892113842021641171898143987957449149181887917085825574307531532469050689685111642510671062333296737208393318601319087661252036525422564287528432043220418342597665046730573107523396263450791051234095595621240523333243145851811497337352184686981842297902172095233232473504540418178483231257876822119720111457937950972748878151946167407332041463146300142638971536891728099872234890750354789412483727745801591936259795355345185098217044118806574027386070654251885357606749216173127591140266815285600968650162065615953152003245091244598207529105366650683047373849640926192543696871543010002051864698513532444111343677255485034280840317986457893282378183147505273433799272118851997923326924580840783474122270251870823867216083205509792841243478450825143531424365614832245958876581647873979754293870568225497221909832919334963470607810726595288374016724273860236912074327581304141944319564616997879579535441109756865091157804194719358836757367727763327852257265081403178439624932289796752928441092007576759517914497479233653464138620937374488480200100006518416895623173118215006156191949577016670194508430432460740433877384957907887528840441549609490164728687846516980375163403967564133908395848013835834866969394067196201691964630970011712697322844348756539406594298353744046236757449563955497287056872438158540976039183477745649430741690624621872174503356577079899736220517671662497212716634203113354343767034418110354438410667801781723986551508370077928555446392151707874768310215305483026854429082400919827178419010544037147705172879881002399422051847617705627403934993094658065053922060312327701902965672161791660181549244236692601271475278538166753318803650791616351308858276436021160934013722371375777533955997297379084419870729318411972269317302795266757581032268089234891491046508596874443048183658972517030464853001069824077045117922579225306347075539363228433417513052395024407576751916171557576253272965231124739982850904812952651542159278206417733898397718227361542148658855494816464551320563042917319208286106323599305522777743797996126813308380935843849856826550243020151535436605315540838642812663716084698106994291663212628874481418204269261457160862237825624689436580565378946457488451457985238635609597091327998131601205044523867171548458824669563770926527966336267053445034367068895373607207528194341270319474318828630489845840706980831563343435024695684298428247460874723900771876185578125147449499929791450956450390223851598029250685196311956681850519288454159802501839816876422078742080474280838842993261263665479539950594360268945689772381088516306907610285271019697727765212112784456080313165579467332858769561779458428930504208112032429862701243481560904902914042673756802862977104751569565590098217613488437892372708145240306982478991635140408193080682082769800735893867138066031234111684213036782283203493624762908171152681884522865608381490870749183804208103192227646326734428386160908429558511297171721874377458007613874178048525350069189054190058488532553533202671159348932472994926628151568941345606850799316324959777585091247811730023989433173767925707996209983688574961495556383935327298596735543633785692764682603750171371599228485731485075104185728535745975068222145738427747981025710387643201850630863106799769758545755022947876506191123427459941246769755502633760582458664874237992853511318525181141998442806880443010367061545879384941278160805491055503967702971356703440935518602429581844290861876740973848818208630689579185009712943249379189437125836702052725867510008242904117137210594039331344566825480627794283854678135795446446348468133088476893749389206949285074623164409376382626349197662797554655386003344660078245584020486325642304105937880156522430776238360474464972056947219202384921054729247482307591206753517737620331484698074312153729429670165244386986430799864093818096935875489629809648035642507307617362098093308456264409470584928458097882569410821058719052878268388413686491398718595817028712774318435638020544645369713200549400105192256261930384341223591160587172444689096058565677113618840328701429001453046422902551370540091789671726088980871672147547877918319112460365775398689649040380421925568757617923400140721230875021293241394791301288684482288949318655770731752955131892115330450749173790327350720972653157668252660636342472598685686361265442459429153436723985674331316070836468138771984989769328660460176526663703115910395012547023842920493592148089439082437190017224297614681326815171488060552976194734581710810406510130795145822864424690217068074563282553239899092789943696852704882364640411923666494436690249287713229776245459026105297089646774660386770029234355779643531691274708486212823938541231406526767695806289026809152373369320574013427107912515466688748092391130602319297631160106241048827973379771499885866150303230039110656945830553372907244551164618823616016267658883106055591632224008366109802269055264417471714791678767123233859492823440909222096842987575156492893948570424765184011437325529526626005263044404523659019403109280668000717548476127104576227880742095540031402535689964978906278421466263611216951947087277332657559833667774851592647001244529005956460587737050836768949235615609551034492608624243526550457047835316731115141686227041139823752267292781151703599186011300263266343326732588601052303243317269955496148033574021275012361594105789757437288898256462355829658376552406290105989947275696428253844785094664511390317895210802880636221884980058360038986082621387207172754590683037828945797558389094204097957134762808358714480301331052573428955424938049402897667588847428681603676314613371618192481279190843749090610722839563128583103358904461054591185231123206943273099562076905917598165096724002497212231124700340582377336667520448140426903684857768123455717909006897171334819082030039015412364133020382017915453720200671985393089145773119211421906693103014472936453155076529051214678107852978716532698310549120371293180752631443847144823181151471159981673189635325967405623691283622444184577662279787688198997887243288238391331445791563758788010562872568818310816797040454025457077933399270145692289443354769823731498943442313979437513318099811171946613323559077835191616531208403070250519618817728233866279152211896216237126738469997636898301538093578667786923631901506465021285202693588312576179036865326898458080272055265381608369311307140724087729596834711630511476702842966531337237902396380996298040321415864453823004866371322845400507814908128431120369828644848179773703475576358765040497543121704786618839263286387756677770716343001737020345731053184440919066450767391265781818474706977128746472641076101190654835962311500384251614879145125410665711151697471095316700962650385908346102293538410461215788044737530720632679748006430291010089924057940946298092431113634273774882654640229752107489211647474264602719679039246910710911246876718025518155678856664060940428259157845322913850528651080941385682718797441443132064555003256177455817622892228799829048363650296666813291526193013676317998728554098203905521115488989529868884600742482289988173979471554256468581199026523015720474592154520485698383238216224651427645109736175466324361569411227931545692865459222521070440629046572740125063791197183284111701194646739510884647610331698616985367109744517913093360283820372383479573980317256606577800930419930663007615543461388965639281530203755264951561266835582716544514125428161917309067485948797324658503703966908462434500482773251772121670999322099618303847273055264477400898214576113634635642755772032475013909100689087923702985271260697026148637106057079740237709672500144376086225502117377302076745984882500567454012217629295647238793858698319916525229037178630407124191700574703608149243908143237021180356085140237655540520234943172388615345601318359826889668409203559974887395304137815171622292954478538453437135788052848893657668137513170619026615770617885141859419184430002024970606930335163037536565245891086386307586772387159701645605177637755644480906061645295231841051329179773009599765527087498309391927376117386301022774873757652534133295271412601843872193682205477216675161771297068447045806832090373815321665240937560857274826779747765016685567063851698596942049972051590616285190920355769763456060090723239128664645912301673327126394488871834018391907846532247792800478657283289749443610732974430672913596667089591530254055278489657655418635295095738695849835235050020432012323196044556307389392452469785295397838916523432482109020223646760497121520674275074266301074767668341800033768277008355444794095032723788963151791132676171245887159065616067754963987194623977101956629546005009553791529338106550782828450502167091876250865312682228693938350449751938063098510721021020022516204583369746957516961995560132722048156825230870241693308849399110850740800307803157873941570093756985815186983384189124796808170374494438828236639838942648192845239207051171166137896266095316708494422925248041819880211074869092853553892203997296136889126131393550361130286076096038055855607496524942762996071715147727374269410859903739487441172926067741886332577928852881094548704903029470175781720691722351152536380190068926411440521192595151267807788331096368082007992323301618383535753333565417760238280558877651628559966770959808627658278906077351364634895618467545073815387571169845604329172106651703773932875392876476202467797494966201587077928454221487559692216416412907693500301466247189857979007897575771092191026346238780039412564247543004494552621046114701830073530348828739408929763316014163943504899237831285404263351483966728582255069433185759075241286374809299595030685929329495478070807286368498282207079044930431011869961323243478697838778230961395216172897448915304639811076385099617877219125010082830552109358753848598953391923054099089414662745433216170690127890100312383607623996017917388116374579150952894178486805443732975358026768759781637052251973022551346890309984049832005505337774966821637102402570067791271925803968170350811122109346830451216893210450953639317311006998259524331726380764665282687643145987324503813230854719123918902485566592148225829228783229413129898959602932747688318232258714996586303579687988085258503827039367456124779827221060469290185856051975809164074760681005906986075401177449697619013354763253085377628103065651780202134433783405379020632415555193245543989672033145473307395900028014565964731379632312991832136300879152546077203897204726691392324524606631120932156949003910664145894301026206669517928673319901259838306670526675414012783389601199686233494213684523057075080158966098989549197947405288208294480105825707986344945527888192281434371910283908486367236062710485620813863645795139350824023542017896500801232011365636470644003887571294608146968828920386256029712138783695710055195468523598877629724438471972099934817617093754020718889070687041772461089523765850670743289318532726825209518722267362872889312584558848890765555035022354324345660001765194113370787451174114987098269763806193060654842358718518702379263334087068983568797379953691513513444665201779580374231499555583767047740027473351193454199298504468223046255534982575459813030896786480150520719949918975423196345995224956654917267663382246806805651897617272982080477078843978490987941657251088372897440220455451765483193887506013455701140755297820016511724745232667862991224510793041320209353908821893861805029725050787869655810990045649234166599459758242580870675230549667462802166601372573234787650435183675989228852908747382025420325434886076580732146515844116762665290512050809296798296094831268383822091839176548169808324510488694593344489988303967965707305059120878454811289318803193017415474236941230364364794038776251173892427358231726749486852939680339548744077205356517292874522426772145107703440069539701555013556428780958507328817194111705805046132854915236590059185701467000658714271971863842519139240145797525184564192831573619740809556235314304543404208806066671850300064222985591915421407658323641721622575700537333700765641378777909813554210708838972565978458487999851270196695471123920072153857208168846235787234300885171254619172038032962739275244632872476731163369540120083652302652755822119824615469875985537474483929610505267513357891851635635428854748343404604441109526642253820658893697156290252360416559760208651178312599452200988342621168550084747337149127606355004387169842194569261116010477934531131409274164406537177976458349399111199789918404065134082945708062631851041515878536010316098123548095720758947566835068362708460653896170790013949658678811734193393702110116937960776668985178255104255209388870239775321832739171852502484983410119044793791470468185639604657689805848749204884659964930259114125726423509808104531207977522582400038101383532728427201170450884455684983671277769715843321513154732745469699638139029270588970734352308171127099768652670192144311801489221081234273989043019436955573496486432900695437786407160999490456631663289825563538379511294147671184064713653635207200930059382436028052555905397443892057137095566701703092597609807836157690135333708777602411239981833106280408431661699645217893520956733725555483085054458566773509868208098310645035088639321108062422974381474997130409913180341146828694983821154481262599745590158788720236233620509923004479619603892274922391185208276357473136385311686264795281537188995731840667898002976103858618362320550139314853245682870278709657357885646108550648106962623041661483228141763057390019047120650085101799934265104577671460375709603182104600697036547465565367686624139200007783534212228134937516460385283517767042522224447673744552658306926388179127798890285178948146547256925638273900078827981576629380850426321612756165153949794765779830150407631523451297950420118288347906993583311954733176859161922540379883327261229476366230708156168121323487410233259048968324793464969704065743343813894877190185314431448135165360494149618330327912127611828697530927457916818339654745907350027061287589487755643860925982349042082149368695976411996990725043296988317463097665756981479393141075461808526669489645894374642584188741531305797558397169206422105365671096194025857408107436701038129485199872149122383623906290591100430369306588560522762782195366806915760290424212483797009885990047914888700840527484537995261350402123051716973502115027035414736960929154170517834207681869702699686595742657598121154420186569946046676910788404913300483546419016753227460150187482919416015339966960377200479421728348112698722509015156220239146061787430069148665506222009817189165788228768062961191160096484404949253007330600679789420297339745296776674593989841584873886463603688213438728264637832815604906429885123921922036279215052040186633024708714155657845437289990850155995302207978284664361813449484756300263544295137625776150322221425211397203487626928525393285240342371553069757340554011010987632354821529678760280444137010302728459044181734183804276320587340931248678481800532443463468086866479828164637406153163094670255758228745910150183832561494748662403540384060905695187894030090611048485456991742477558561624771512555626343105816261885579282271099310954101048059140243523455048033063762395969056946022861063282905541426850925591095202207845208587212193903200728306850460264094324469118063652620576452614238604162174546662211941046368145059041278980622891579599988901372779218102113517082632228485056218985460361572458333884165345541428984093454717914288629061329375154061786338875458107434422712744682273993476402855030907971606030688053051888932850053586326063175292503668203791540436513933936976531741663782982656732330994598038655472760791332732616103070321792425090822357614204355072185369241757205421536576366307666821363084640901741586809955647014963983375460952477998830873406476659157158842250303367692188565074945281576418254972264170053207209307303937886910015740927545040403383892647610806371770580154597328027786234490469659085277862048182315193702292996294771556126843270304828975383913082485922718378931988183664284674815436288933073540335600705675357299574227642568061983473164494170474062454016198222445952328071578620884074639447564405009520549528141399530780594575730233063545089695821786447859115299258974222277955236228771520823358673077456300530969780830466079311143885606578027753677051219577825676739671258647851488835245375762746133070667144161455118183042418088547812343258330284513057410576545571691157295504975190771076022198509138542911609200279245593257205600473740927600668680406518251022800000588538226101351969769728655597631455063247326778094650144212052553580712729825241422724030793764800687602802896177955477690177511848107056605956298074623402229514614632260987087017477167574274590576364061135054904792566789993057521151039443281015893506139078569617209441086418453049700063949000216076286723309177567542831946840094736244878836781149109376012311935199787751145451169884780266045917635823778649700778448978752478835413974960869354228031908583937208655490154988340637591312323730010546725777916832423269444896563186822299952396789013041136022182390979651417317234834793771983387277331664025366098514466242508585325287068734387353681033925698534924195815770717912954474297755723927058627168118694809600883857805318848813340556113285521316567784118309335475660838236085465239508987004125787599013573258716681713074560693648471113498879613973099925405741415404782998263265431311532310011182084646443235614805183671295873750371589742092642954911591080855842411868625616284977112979656171260924887082839282831588736431165578697581243554438270650933696700648541412183471389471662425559895541065771541152388241025169111290910660959036505399027287726690356036777406904703391643295790805715076732787168231433004459260982108551394166643922660720035760725181291984468580165506809486461342224860803488430479310473505571351489627014976119881335680244067547610668466700866722580015413400613235041997761998146450304002287027728422999819899043111630431451343856241814737554092615828688305263937127806529565007115425741387114047872536622680237997024970031603174629865120009113236817540622365110011035779456871271564801499664581529718877036218980910055287770219883624260370195009412003182615139417878071394694698233449016721066320209026800506532572742353960365141133253439908295400046460628653380541875036294258427788637193598275834779373822043052215553024835736406957725824829431262951241685875909569370556010826384500415916468326045962595189769702651457005320290745234872048394469958635975579325535030755903225106476657710455281319836735136034365819219741661303997992003905980221270089628591726888885164432267733179216667247312928947054095092436498965922770443775502939928147996107613008621679063412387056067246110926017956916366714867489640129565115537244597233194451779314185882208087289732270543806864883531578693571693630200132498153662947471487366540766663464175914693124471049740521319450292083824108927203743168781547717696679143366082730306905882248385708980956006790207347512724227974363651268000128766326351453246124493345877162172701268413307873228057225357157574313570079434030613824140176769902899014054697489252722354741298440522444132653546254276850215055945893532111942882081782175840172760048552515769215770536810629292100858488091875587755984923211009198161799411921347332162879588327055627354412643385873506537363801423486953641230898858004495530097088239231664922366733468240841241526344247453078120242449179839764958507561083036193595970908518527187734360893106900767285818129876892919979630242549731437434787131793116444400053611070174388357880775075887219362604193131059434557699008999028280207714854909254495942179039742182442870591065177118984545797738940299006284019989978442965218747496350162826625679339569085827602337050843129995974652814246728232861701347597152441112303864337188999989925077259415400713680101997579618925173446083919151705309486449691219976325510610731227907036539283348063258097975397812833508968243317464130040979525386738593529023064323748508242830750130037630889127989159707742003457945388237186322079385392591660405724739522444090259475350398896547306796813369199111830027407766436677457243767098000763640370704854900976585845086792813290683938977917925065240092846351970307186258029221653038105191942443672996174929083795493236910185842887585574040484684589553664747368202546780824261418195180376015681653874579299753051685662835087059834392854273956846519877144322593292385833268624055074651449698905276821921624446146493554858887239387899288543301699383756902539526454974171378942529803958559887175631413299794324762339560788697912719332148490740582782920313787951833649903939547473284955406434235453439746579848867005560935758945822673134101525502594722467402325546856563188855558579102407569339144732448315785649499944622259237099251645904209567239509978860943579508940038715710735861465994158139422494819734197605598596794790848958598682751566936492397734779390224447421425513780554336538560317141625068309317167280346576577523389502227134288571908109038010232980092648460363201743912944871907801491642798854294947522402885551160985605588938650797538550441782510059106257980283865679688060748667681967800805485231916517014105485195815823414341775148816205944762143875998456183275250542046726231626331248943604592742508118103779861388566341810513939302198460154536798734933835643715359988817853131011001183895204815198678019025962157159604476233713486618087732648698382222235242189226206051114113564315295948756762374495761674176183722885750408463275921051825415027990938921362733035074419873186191203055078770942643195951873903415242059721272912102216492603725436536825152609804169231599482110890927449497261924564913224653411186311874703948899757576580759536021556641904757842005600410481186660771474358300394869228116424294477435156439167803748292527270255232971179140375142981453398790508279552237644753459247427426995620986591732119307332660836157570589938022303589669486770142487754546502064539449456760883563401553255738415320534762908480781555587305725567639861433484442257469263302621822677781893429807228183505397340546282611911107249579382192300320205769889216378199787073039589143199738749018107586436538432047600809711911793971560755254937114325379310576859339661635192222664173346535773740407736768823567384719252584232687722253002051304465448295675614042228583355335462302919490159338364843499988200462446160036435860554057546364252771434375668195955790264619059227376014011064967889554436561684533622946452750899260481801409300925310622619521611031074111997395235222950133434478718791407820094050429710442323760842770037536247118982978433284052748342854987383629520796068019996346876885895893778425516213720419775197074291263899788067955705386827039726062819296542320688271783446189402830715624856547849266297535955349851333772593667018239172446871064694187981363939850075110114386698189164565703377734503299059413913499293280773351440402103901613193800334732560134339637006198489958455440443871635338653477699771635723382250523759736505684338954885208018155586736700033799732793774700183296893026033161455602456314762282355887184089292184267686909142428930887438462030651053393930270159525172326830538016264931872235856734750766177914336779120697397689358803432529866284695545808217747557952777376349520159911326711587221949341696412909855339094651922539140712913577741766647623598203752245404511579216553750341331774418962311424122955099218936320476137344607106859855033280316351682106184042738586560318280846233544810189210390539735997893487119777112470636121948876311979567700330406601263718587954611439425870728156784210874114252777178423582488699222785599076369093219871628150212506672809252524090142626515495042059941637608715411538364192195704311948790661307454042608649362044748340902753742693010733125828544360815276608143920174444196018120027453239712364856253077447043594593871296326135343709042042066007701924688131042151750157453544030558263302030806457237532162500865130159757094432985206301605888744124252545485598294966748845123363041652258821861891984720837539141112560317777868064220846034711339774189625878051258917179076455324488349927283921778856509991019248864059983146829040684985722128299785350245941468800172817699120023376436204220768264673093166027185022736088814073301719761549390568839580652642367344865238064464584305054365344838616003860308246277832861470571340583470927530648875390823270961360747352242193229247780191286309229247821568874911210150822858695309793948009860003193510641730638527877309265798335232661315646936391576003719424608961287296630956048243036120645927898327051337307010969468479245093157516653536901978379272078027340089112877002576468050729978012296060615060168422774045310811107658912999216101739299936089033780495904016246575314473919511458276349838491512899827297038723473162817336949139093017268192143792109576672706185286111246197368475029838056699634256894862561502874007158268919354240665511139530393565150734429452956329339571738993630191032809184363066811728876712307264339782674586866281584114640696412767772297552667691547427849474658692611219026356974269664781484774887888346093885062489050412664388595547452946723494218054838872313971331308558683380013634172679765110877627301852519942929720168266678214380232736350583491544137386362813371628758422120383058972799131402306310547322228272592480522874643569615783415941966714604957162830272146606872170819608360268965754908772801731980057401311721550007608103837877917771791349351682564303417606980141940092135381338514117703404621024097889671915766454040594737321529792144727164658619062798340990588292944075055067853824074095959498999637884937332195767390617238747922588523269804745347558168786462730844840667829394912584467831745521783933981384668559051080467979786324913899707153501257819224085323588331685132181407812165596783714979491453112598808960265791480505537421776634724009412324463014522015817260438678056439167141491164546439334485956156361920702106043690189283057032771253221194579654181846547821375301910141300780618291924789112233530735540136067795633053383224778717401170472101056904545435061985412479042373750414385592958772144200496884511217325713970901045894531820416125620745052004221638828236648910951624439562533475704908798498837092064246687485194715756476248971896826542056542330591874162985889387106408992132180823511763525948729851237941593503227295943100064364580382486187614699324921073742469100873828875533657388734132105120144820538036805618875326483218071658921697681476946722091065755091567844833044285214161150504490085201815728700250459176865645821800839036456146856820386307978633222706036041838179524645019201957113170646378060722096341836692232508782921172635456208098662549386381787418183382938547616689986615492796955002035833790145830905534682540218303375677697071624800780166855677909844916973879934818849593247132026412750883995885194675709952764447317802594737241659961543659256881577572304984506563251195812583169047112402977829266914925227593373620179452956859774111118775537264837462655367289949478775512959296661878743669283585253382675371654159970762504142226332520676001926458605897123894545175983400445496699585124928322934518815418713000227580012447750532278657010811990641972063845968667718371982940707968214026739742779616590313234935131865129760711654824666009017267005281779375095988557975750412542593455932934281468797995296815400776950676273189384813162431936692125249484938694981344452346877963381508464797113505685000517023380592516206023051098622669269882956683439682852618955173187120654478177229100606324304024151072686189004689839708271965587442353483225806470538590592003893761161210158366836049268055094032303987374243454404169256743420455942476615263735912287342826249295224644996496306510265267628064544080676665270876779787337494319520507130749017274500623902260283722232338464752186450899895432327429072636122074437023330051626887239833023677644878080105104339261183726548200276848549777014808490749055754525676924368248504017941998538092786441649557569157439686302894523547175243936820024129439541431694572622067873918317452448667528251413806448872860763043834257655415784482631613275709277111899527275976462191593744994956600969516443706292943257948627707082081565348076138343178380304397695742618511988839467060471085782783011377589084006743564979167245461274777214481371435629003388545500064613248426298387682123386163000064524102919009881240332314678552203046100911489405397669149838317470280975557551132705325518052917583401212555849713597852195463784370687339361001596664435663286019256799804897713764513548026803145452990413428977934919737626951862871296046601377040500368940535165660638882857535510797685549107025859971979267076783627678446922673602444364358668142918405831411993344434789994123875905962627677385941873675492013304944335882755124799396582471849382174342061283035881562140269315758991443554638737679784483152366140089328436030849290154315126199267138240558210841317538886715914654880325288170881466235528362208457199197582601541888323030053740482030328399448077228337229897646544470692690020137221841658014684791577838914318236284062070152073971630817173407992818652882060747528703121156950216425718677415223050523330924595546415495512664540041909870254893865349245481560380604636013793324218086224475128974519642096555809297012907550218627390113149382924599913799675363643889254257315761650024797137209228074251406061938459323177703972074629135819090059980527011418762179947741383646600612521396296309291717017223027724501735610813918802777783293886426165049254683364602420439882337666326078930233467920366515627659589677154169301416438859820641760451484859176371779749224656196938496035689456595095141262493230248545300257867262224468980938954116061911686573245157046191731586634812287291173697136779245485955478168327305464347283202776727500156388103115964886674147040457503308768679478325739438666291732905933183301871365751212977082292287771447222351916649104351976867648694553771319112208803733982983090527631612043293458852723780151673148543077879473176181241396399064239534471461244363625424278722391224167392572743295881746402526074875946394726218943851415463054538719393716778458871031157206196731946168596928360169236415344277317800691345753731794226945557316595226377551786351302173285675274716519397762559604830550974172356420777436769340271604801932761343392017771093691634231508894699950633416472602124504990375641202254714062461962900871825676211602517465109387362916056595276295399975380949022853036584044847565817219325263486908620705674352919604623802521242287712250400907358888986313619013446078250081883125901993657206271354295907193567378135919022129239516419669101875854021364973690330468000202735432136348800008001581475555335309187644028422552112221859144132907552736523064163461249302783762151602545981705853488873522828329789573897356584553463385321356904556394423539106888592004073997408747629244253880817447880124220176529924770983099069480627692862796819979077289459403850761335560507553736771266779995223362385704220927125044779802364286708789698050988857361540371692378768514981071655294919695267172913557477234849170871317449260351267607744575916274604619652351166563481421676903692612372321796687930197936131942027317539942076489690288876411129131667926975060201332295162316215029879234259778338156910334832459687165091407567159506516216005812615119564420987169419418930161593804787895162089263303132678154343432528179787059237318150603866646198392929343948099739546979348933995968360274611106714812655068625533873196956548995869158552740775065553990658812333585287267365824375057659528817689763707278534965617134259017508457491060790948148967449092527608545780596995266596269055761686307109516075589413817106769670119194607947813413650530818785519082368037066605602190762152320763824789980017593811619071485463112772086287143875922640993085814192541792402424782202743534367947212263260484560207940988380988552405780954770502913580308499225581680426690374101383401254618408723533181990570274849340976926783395833401670536304879855642033784084619371434311505999536832509753258132652236288863713833973653660069921136178221631679839353904836446904365668865665108758208254120434604928095319281045597906707984096963206046101631284551234790630837450116480608652815112393655278731027677701880083660016428918450046660548888746413048298137581224535344585967085158080733246431935002548546921410307710756824919892768208820188346936734400667807571034682306868029802074083041315998420761924124152165795728488297724647870697779369735300314524366217636989163547488701474986533120609614222039551140259290918379077038131640770127934342978906634760472788114307382136815640540460855472316848818955182855713873626073262330412971255477767260470836811781789005079247123801755039175329993902784286082360503300576485392913494199857297439094891514841420035003859562995697812530881219025360413472312737408638378001960367108798958862435453299233814194917366548088911581670672302892042859514466061141688287846358911500622862353320785963950637498908795822648624664519790287475845412014024133222574080100685248500497797990908889027338617303840264266467702914544598597988616968555204168865261792519013152540849824209076563757280211544610999498228949879594784605037813001321209309963567625161338282614981724468182190225654759365178403055912191588358455822137551917594782800562050645396085132100838064230437407595026535673886662768420192251066634953061447655055311666327310304641135077177172916018018360091160591808774481687956614184699022405384251019161506997376973924187882656440348087314332882828762824203067644676274917455365766138712475719390316403390033270074959273363066092635446871713746910842480784517704051030232161369684609298215051286942357302795420135864503995663557178948160383906391778408706001286930752078579217902749798449642245332091580771947642941478305290189917550912292869537984208101977709211537592677037409879686284100815056299861593081309373105263861241952321537390663642048060879286048940844411532538085820068885078860869575117052098737461369703025798148007966950467938773498654006091372105050135034787192283481179741686719483912825439290768270263147549582004519998314164353582078770725269858399904370736992214613389374759053832217229368428821644670797527254850356390171716992057069167895190076263139222081315406742688322820454489677394582475263844125275341568750500037069918405322734811501726629607897936854582206812382454375037428173835260003113887492539157415682443679745550203561932031549645057952887423041913042459191542651002141794637915214972394351575693890137375972420207665558593228105828661616639323288583499734331039837239321748954252864626862502916890403780528530951887941813027535909404170269600511091111119648822024274457300000922384229443268034239231918159595473493105814663825850292441811267031410398386685337275276415097859705909515603122546378096784852581982768667412389034256515751950163841061761624330577655346619937063730746978865902795510222546767547930430193009517058990859913761395622100909507661917494126376633619139385165798826851673868710166437093597258982779936693370541950803544432377120265081717040644187747210766821392664131740936528418192392990390240499711965218769072561349172069434855791213601889333304773838572027032080074177258407470755404766664791148210524672526129879329707753690762376738532845967376787346036633650070242956562659784200189645750411388786882998040208499263426011650366689150739171272816396072414512108480441354809486337857522648049743171105765859917456748489395832533218692025505963127991869891614196961816943226849043561643774699044188187860329082855286564137413489306529106450026504777898855698055147495008815995241297875326203984939736512013452779988022801087984263995533189203173582812471756495778218510456161043901241504044692429289659800544291705234875806091991341995346239738722139596199299584091729774641653027885995166244510774842687213018537787316047339208317843971618268934157852718283127104122051470532015679476870789311501110810559280924421855351729086253693567200167922681251506370828917008649620527843259986575271180367121318464834296367572614739724041002052536568003240032927112145936841794275098806209482263734393417707400409055529624200534080326873883336057255104434205863048118520419949797909571717063987070285368293900367852488857297459094510046669911772106228705809354691452812389081546033469090793524915348927847702490433396618668604591054133411296813394685382002373457686201972902135497009191653914633215163471477498100273608826550472507169517688892150176551733207601111488017721752806254305919001802430874279651845465596508171908811683936628373327646575438524929742913133861799254018249888495297754187413026518908834730287793747829771628842825883212101865469909188581252925424411833808633216133978035289387210670807585826582059687134180224274967151725149537519981040010502707290321536438340403432470220824329772578787579953223192641478101179370244735001533808803338572264550202980415554586360500270531394947933030008221326638004319132187767271983344816942954721995051124743208649129152859004873761018589005408638708624466629369512837092745044553003866736182390042503836096538154524710488429332337688747463567661577903875370141993431245627221236939381638905007105867347299325630178444023141921837929968596111788973581082687111711058999997978455778798471318247262206976729426576629072660633524279167065628908402262637427922471418249075102506247336035994875712077531305628587059638557472355926941621549754533187569214376144432846780675623752743770913975198613040238374423274387767485693002163613058582147822022449926889968650069825076185571538927798923577915207296296244257290474485914377672423728771488479313625851588102274611768648319265692737733669137139924686641403448850882339281700332537507933117363604208918138042754131821132106100410502351749571941011469656925129188813991782703591889686111959991229585643965957646940774073438079132275325243356614771622424969285525815136597889102626839226386855711081229131165438637603511997879419045313111347383805656954681085250695160494512523135435498508497997208422752831842528870019757905289286414998273399221851700079582546367640856971567677895235080031191979309450016792276547272110637509565164403876393764920607216152810720802688597441863218366883341412934296534403493253787313566738399374525687587188661514644814307326842831341018064030356040111232862909770671139042505133767915463018865281916894527929997222144174297320381817614288629619981656816840767795782037843621047110176981141351116168931707327325743564313106274006035187021012712317475996473242101984983228173200900349854849344633897965687696842792363445781870546108839355411698597605741630564844101917108467318858041549320499119074968383172240635383583208479198577610200921245321905794112489073107852064652593181739111678782089080469956096162060765168060347605432646521332029929770627886421140952998011768746716266126536210277153095167505057179499503667438284157016607317989335111809956141346101927814235067109065896337772149847271037254953498428902108943953895820798893543479435579858296345597862314251655944949354843541108889230955905247646707838591407023386105768313115913735268715289605049779821581822710144057882347204649793376828062155168342541177085014087942200773935290058516219059929343419571239897473994080507351991734567828781850221464708683465947315239181825815036932036500080244959026854715672640780736158101144663181288432999133569635065527319412957528387944336059522189376160452392594827603742922283210888219859215592028869803908195422812296538760890366242710592073632512293496004371322578341524090445460015950974507675848390145035228128680681257724105585515918070044569368674030583978962210512740616659835611756518662086555966649360130525582922655349325451854161251750618766957367894001891173358488890483903823636070325513212823920289582787447089439391220830473112477133103563297346622471677136051859367137226620055180179177091525080681649495543168516896413589141773973524387871459513381201459919329897767976070057186244223571408952843450826120226484546589626793638738140122876383360064761472475342093909834021517572062317826976288444387879924892684150878642892346833265421732808732839435709371747981975143801136665822041679691679503386184499246013401666840872585907709317003341737868355925210779196842250334521309090426739090403003388717092330242077476879534869545855322791221076809609988918363096216818913371998706132858351654164726948427287891646799225194984994838949582283411181301036184709925035227817829931995901819379557402988320215291646967487823698118506338065613703379770354827589811681568701893414802437695388827983245702484711100755579434006682895234656697762970368865425831396626300449155929699931970236768095429798111836135033232506642257236349517290518615089955335988221851753453486120953845566047356951979908043410302147420932458637784651738756296596670336259094713751292551099608464731833899874120065023369701083964177219156114741374593007039411115287235254125021342742122984659566909762551032878423474221974536215336606043657319393695758259672295702256221203944140298302161524635189317189339852879471110163685979194028547025019632024975927501326446103768148594180354397144424985722487035306837613764839462547281253891717649736353328514636912245146885785032100365426034621571684737091041688795909941448422587783777942813040777694105626237109658264807305143115686564801886162189345642884807489781302175606000853012888233448063793417802974900577398279203218125523256349188327201901090697305425709298823895050450768098966845532541009572306794378204282618263334697718620529293550640565406540916423550379255703390888627015297191794534767178878299508218388431254406039874631404801454718747762746078948634471016294523839247476868037450925454771015546026912402184821042344664153496627252794321184597469851578259026918241312687192464422238552179124411174313412422260857483573960486944788664181959416805058715412499753542787016480756788570786623908085401377527574498645445998715727733122713226872928546726826513915908227822603265737908844518137048717853446376292268225564865584414447612999765551030948838478050724102818833380841255634210154394560642843543390446663984581383895851321216749179134872532565781784631372716921333429663985313410144003110304077121181375103529765391912815151931470001323602082828540061937481808045333458386646790481822197333675874258397732983637241814243462243133869795357664399863819150269933325058679153026632964170286359349518576816199598522876393203633165501940236806893375519998940546077751471931911564600296705627662949784366768952423644167554301703810122972630681422081532568787156043599228363636992676259259173811960454713552662521328311651033365008247383372275889773061903185998414139888888241170354964788692137976176313411325868769239535730693606656875677056822828958586103173326280782415876404876984713089751768807472077871424648233163617376087068347954772188225100001937319544424207928863227888815614497764019598605104184943855151957615527796018702198313531396500716903739741557927493810415975671628826941925753597176661996929278709457245456988500562537080372043655443344334464551097150892870434728711081561258384490437407471674574459805845602919529261738847510005931132435790972137237357051975335116646334201203200881435681287173799608036263998429102128011277811462355264703175545662871178458261028598381740145522912905374939255398355319915450838225126324864206691792080145836880313171169413421590395769871649941408921818502489289187238116450497891822110748950607303528163730763172415553616726801141119729288051523125501359620694922082717718145484076141540791520690059467073727272652264133885689680928987244426483197023918583370211221492190321927861474073260986207493721271173211232631612049916652801244077775209945962771735156946424866655225824857441479654836150950858237732701027230356471846342849412015561147819354609890609415388431453362757296919021829493518297006277184890327494718286164889839627448574621679369004789772439217152483191108930862106122700473173527155537569018105774914686363956538209984605602788231911184789911250259741414252950420734475351677975779899957281216338970682663345731004327526372352283925461401301041253583674054665886811689580160727300958861645043859955603682809246824798011344614515349453822339045418538659106037671654041422045361621540244980343892102465371809390540785525604846774842287102646639880722931683190567705630076301596483009725100437037719909240217506707080270560846500321604083471329969359577586569060678422440810572234011307663447906449405665323398567905221905398599025265828015684418157890150850962825699115043903205793455774137393497864721265845991507955579593677256070422281317646362492364270102346617278765341297123773405876754769265620121793130086367142352273500707263389116957384127589817706967653960867065591142194674875435166207594454721828677285812044150241486726360673262401582997653691995193817588524068618772969066833974310773438931239256098227282120202700057467126955138214111893068290059133532212788536481017821464776780240624449284473595362084093650467222042313110874160159077340594881608200991224716905571130688126041905752035077500150612472342047805852154793120964879562934693269786994464708459928156808916163790785038424029398657919545980822857925254188730678100582788365915577186100100012113504019726026633120498634973621964654623246426726559098132406788615575913810389487989360020760001133474467925846285941439201890679386872800375191516581071927122754062878302752617035270643120461031134080659285925110047581936301790790677875946394695619153768800149141247206807292638684195373280621801369421528649945842047325473491421602662417126468807019027107661801816719832007932662255299045306678001533781927347183217981555226331377101403898298009386941831523372058456968252891541467109232763655177728182178520385545468990969424900501618928075717176266308144736835156171672151177842350853012026665603627133482659462753919383119553133430772483579058516839842427035965235061217559332362243016235684981116319565431924306059830978056033210870208587557922039737054869188083724331563082660805399034291191881291895547299241859789533229732858818859824033270321750760909757344750714110770330962996051535525603536624498614118532357482285603886284681574965094243007945108929507537676316262589791042997600337438485386440388479116376450338442462030498819365698147189134680655810402631506356385677583786753528662568632824513720278041610753951298884656444213007330686799491444291751251070869447391738683744626984858922426154690332736851220325169701616752795955583797697887118344432208015110869356559889819462774542371345633429303473466536263662583606239147221656742389975846613995309481092051113541585676788256379112623640964810516843161815842038021539106820614961921657830347241917766305880192530624753381806331631270359696957428930164796935871594394978003090023312736446754575029361270080266653008194229789181675870526760736744997358901697055700217635074845496776581950151760571853153670871512170220242388274173771300346560901907148594240072873915210297820341460711363267714120079267664009889057981131591981570790164676724956274070053308812683192737057724934475326262180085412137059361905301456811522592357886324051941897052118693747320485678581325639248443960104043746579059640494314735340214676091205108030677506491611890165087028088742039708922426977737758539673867896353118080024986070718861023060243006594725822738337052312309291606579122310281391552431870240312473287398991544411209609506225567578712143169641054738564645420205363607472184520223076431567470256756586721473543894105993253998447075507644602433642295646112605790972044888748650876529734695152950111801357103608475348247354375281182104493497376567965524650544727660192121566065430297198771698717115658373209275915782338047772625442393702998770320420627767958899984396865467097174619360330890044318696873735282095164578979288986789381645283184065087122791349450900017493109380470403841515198865842606511104574062488598649476005508047219832004931216573256801854818147890745620216960233733445701731206364817709654567613853808261068769004424086848780779643036602003343091815602466938359124004273878473395898940575001736298472061138595966846648037734435663152236274565119923292476057184664107438595032472166886227373942139518317821375454132847191900076076685298444562086732768743478473618559766541155263276071152160424607202026721899572990409943353043686680014200555012141392121727037096602874141960495647210088881769649464462439064683269018892154326758037508401418887127688718083474346298773223378786299181786404617348989855075708326261030336581260570472366326711489707521174931598347215629196313389912448932683391413357020037717259576577119012956076338398317103991220784934773152600071970011384610656555076028958884095041426704505525821332413929980643258443336030348324387668739404466796820101997086534570587468621461734828365275558538549568790302183291458493952943992803791547696031825424025535113935903688001131111866317218901650803334958465406699343506551892536498968972495656438713595473366201145825694988592677058987658905170506330580083553081704025777167409588158821113560980265748838819157340629822552895994521001553783193768911090496783639454109314812216225723737253792586124877756629796575972172088883001917267816541159332745375499025388575206984159589947079662196804507608227030876008039333651665523758350933600463943864353303286143319193881923557435984516622779266245349694972327900723904346982469070943874625152933299077603199527537726901342219815580000532545344275361443669530120830564192476378254619239901017824646731670773885562247975244650787847441544950321127074860082120365777622938100209613963189736682556797886660910818460499546926720793417019032859489109437564926567569615989307790876509758219918132337495648004296511498442759774243125997492866747208028571533907844031599258797532414869802723850797076501138005031023598916596997979440733186177261878172678580632205927596201892426912093273751266819749993280943006953727749889122166885014838351569149349502929590069091356302308310529511061461946388965241681403056637056498912340517191144005571161601378900994968270728312416243672134752924756155175578544264289370334546650666110537700530592483998029194337057309386241249722536359512611867825740116487629284094161698117928593758301571700900690964940053648746758138499349481083567627490365713398075718507585586609565614020189427038662667464073354177953472866279027331767486162340803782806602557043517562135005823366897288904625789640842432996048202686953583172861918593393658578600703862420481826137895094842984647497381384956197747901540433725043491648255526499445094503313889640289808308371590031767512479830878370919162989741805818698697872822629415705234191190881336509168595453322387395822231074591564311004873964980939469517677778196686209037129855955893132646964357982080444976309442752302305771965743374154350275770043715453221973640202923770618512174817723638764011136439715594676332279507873284554151594205600183325458574683136080641884253349881958480755528558918336496717694891236087777844543165870987066363918078643755823167090610247547249100892686298487393735417567247887909474447947244678530922349949513803269726781528599237020011217637216957987959316799495713200314662210000372709081629051032355497429146689403653090310069101951310391090840222570290612545035258011579279462696223498029064565104799513888454952410805498047983671956917518183059137412077231076498181704761077039046538502686078466579579947348109315627755625510426587043803851319967398515199796675325038991833883256869690745519509065343113516433437582772776300512391408594409338851203225057675513577080328646467084515541587516193738298442576421537652981226094633606576108533511500391024114013770017132974943452928682574140646851145130893290431684079083534177232132419391659215410029983506228151869241010659795821321562499647019270022278575372789444449706978128720360423904940368409789747748846566233939313459743455086697098447158145558582192635885270316354984972369669898254961338920670215086776864884047515934829093878095547140596095021724730035746851035885717304582947118252347704054017796995446371382280659718975373437070636888330455874699364705328275358569167512933622592419917249550366285364275156453912282521567408283905436778547049855181839693953609462340464683656356020286966561275248255681937476418506287923020248178385985290800100997243371608140250054439657154032325112068718021726222019510411841312318964200547757071431891374336746387679708336557754128276401434504904896266324454214951684007892564443210002750861617042095758178214555144996160103734622872803132019826835430769407169433894159222048236804093199063280899940144129492921290896260067814682493534846288614289832757560823767807414808800676546748077774500786493400351768199462327125021863402967362114836802869962187233661007514822974808562071920578146733864076404488129044760001153979607087923845062030133168586503617536645883113322342072192689443274048668099965878448701609085253396222063855846554270276016804688964071201598130228186927106471820799923420307620153843680233841805415267077903649372536474836247301388985123553054921545872096056924579214102195475626359868002375873064340142071718754108827793929875990050907608219229557975257891699742319573275105182179859503921582709592488195742392236316047086113507057204659002502005757748388096631877139485116815930139979741261021291645573455210533730414584590819374522249750887044051682268495400759673164528576813824600803366134814031821802479583403913986102216505342035964285710902524431940499001702423350814769483633730827796545928433739434270945019548274681643691243548563270635571588319021077660202043839620774478775405066649650647638616112140866812299483061374949022806308156612874066425599524702146863327640457096453793067455132673029434495968935475994366791137127914757323750764458645506623714726310890458700258385593747048890610741259418777058837109510314469067065556277117379142017329812494767738877737319310327053294464389989207369581853982577000588800219925678830855359802906789251332159955795704589724858883399180250400179910094739174921636827710338390958134154019104345246305777657955144389557840088664579611930799502541543831022107843711312662036348942137581077233994310712441051297871387738210958353239153492701874685480013409425031748278610844840330293505832332364765674499831080381269949486023617187213406486795220717042898760815252074775129968597762671106587197646401749773956161966321638581504081035553066829565432083255170488122550961475645490994614082520489064728889319671121845464653326657452631251951337372143710488307452720790127423091668529407645669901940617845270709146732670688381726747487244653809911169520444872454636061159135065873845136172603547162866046947466762272441086540379525148599573426354079611260966232236406098214122581527893967735765645495826231491780814700083303442975772148659722894162802765639638405791240544603893205483866948933690793960086058050176665293413488185380403050237689750440988129911494138053582274458654534949345228520534322003745673567336792677691245696728120187732468915333368605312106757770090281811820814378700783834382996876489532146945517976565520828658813322456578602805170789267093421194170679005767836991505308365069918846452595861426972174245544461345664690735228373460657501896166174422977478070123793917039290609739663345288669220165279708599238871961645192848880812363862532481127943998207095604727365262359187270258412064005713479723567070658561449010048501161387030914417148058752423209226564098665293340770408864704824462021467515316469949041580023622650977495232690940393415418207162705907687780756379741562519728184265123123681620682543329520638914227266621601230324600662416171296610403443079620119380272310325615769048969234872928232541891090848348072614669739461901582936961643820013546399253240255322570248202025647006644569900467414782990247650031285353962124243285630645505855770145604184833161892816573005512508296348209478010121424071871922677552977941148926303017146281169519422404267981373054721338558292490663255708577686876013128061800567195880465537526024994707443067516825602918118449653629061427284145878956799752640036671094936963583103612633479510935374690634561214455722095178169649277509901413731583727057561904026038392348521994458574916520403387654717169739092603520364737191480515213391230510164331438222197862180420902713922622585881320300673349622842240206444303250384867641523436686929612384521687577708100801373177880631154927675568093128998271069049713104497206018013079110753098428880800099997685423970452079668941216316532172316512165070183937247963470856670492593841150639409644593431612554091890831273766452673891140233166704673951543574820606674315395102413062772857328470116853943784743362030343441206294643855716368240680157918724826780650930007969687672310677177736319722733949655252213424108244701141389478556853013375248797544703919318200374205199007129672334241712919559756582180438283042879616223291931724108743391782998991165335551599600836049408379134811229260735802533996431676697048485289765971580849173971631981121590322992867310707815598244798516021256042724381287291863015709317120209524281968824046691004100833922390105645479197264295486242715023304785303042842422627099567735680680931452851161908078831352252701208398830035614919316608877788827215794932919499811174943633827086830653750220650846443979809979295102940525322912763624860462142810722730704031328693224498550317297342818804827483213076017613968990095413558757130344964980390117515569830446610846514218312734693743781347652345653184547579794320137716627671644979178723893033255927866771444257321276732037607981329313887173737195067218665194501611742640401498018642836327715707450165958934465046229691497065673121368762196050042947907204035844180494350992462690391397241297386125730925242558515599548535956734238245687697697233764186958165347708457448487844362320739212074662633077229597218816633241001428873061387349058048803844401272169761616132950400105720401569619310388232940628282073283620743334275936633314637757896997542207895155992867894004428625872905414608002895758110237467682997340662621955724368565330199218169859823255419741686692856862833201306356691916232781023848569291837325526527264877704921087178295505520832284641614318157200533360408247112103240766362939782779827719620687236263448630448827136127165020553984532776594364974409799289994659731672390033679985726984869829549875728853888784300654205410883722473226978507117703692132244958868342357573407780212210189194473903061197582077440152200251215676602324214590497847966076355655770532199210257691751788577882580372174363947630529235493493292383320686328995828244725810546673600759847710554494832082227259767578723513936548599215476223500274763338576160943930788255360928485468173680088324302995052169791372689387827589902341146233447374662059309021616002768690081196775977575286569817430280937861214377234454647695436670333775520816559077097282029998873463260100777964784115019783178364479950246355893606087911352401927829484708667867913841023783440028821961550350676312058939105202009348364499958991427410686524134381590915752512868761429344357700115219933953294968061094771214054992440058535219080708290186108908371394144843832872324828263850517724868353246160318185550721831101317859562075654795634626383450411926587103248605768812413661526239120679162002320370187962474453538826819902180939255138211374485471226074728991956871279525442441763316389162387854750348103529242240089580371969803684536912576890701346953258425836564089077532162143456373285588081754396318576082260665462590208205327694986083712624106648558349263669426181603002596638323243503409522202033852515263433249244112088634568176344641359487513298692137721503002486203051577064840405125503937252832487243887368119792946915576099305056035616528764731300364716909336461930763883541768396104420519090162263007804894481912280503272259266871521689468474863889290138253638133374702804098206459336084904388980525304414140764910212861414710579380250083654988625779279059261026582570277589279116139938055297130158612383863401367800080656806621554350829542414645651798491968357004864760748963603060060175707622557685551449494185568665788212493991706346950062246065572207122862144224603019468097227161144950675578905196107036071806461403513719151422304017647405813466156082892621808373266952300019137665758662957600586013253619271487096543069325353037841107301069059039492214272364952195582632166945546415447183880275019609067693931230179522322655930754424779319523474574183854376061602072209894085843892721624903446106587748303149817611637902195611623555822939781134268151792034878038291050354800728994587957559004939805011517717973566674810032385553095803396519000253596773041881060403338274619536369223919511118035910140000022510462977560231779019260163215066905423662936331987137495825399011096678609762143126535278232809364826273878875492736198577882252137440065677187991586430745266210412743677873334931223018532839810201874900621530866918667147308810863286829449783002172816165570064149756415762950221450205739766185644367240484581656310154991574603084874864164900316622906865774287305750699342299897351113784460203086727650696742810456007535276671883178587008860888986800681559712475153977102924235153042110513815923732417820755606681162447341950169676711258449306713402212465478386085378765220269282801853858600474984603833794935676034768381198216461729972938622651269339267690648621055050608751074141706191188559477692874291725206094505022400796242009139939076656231696862065848428422307523756511356668301831443536065764313974023886732984573811783756135904090204623675305418417293076336392493939188262463132823728549643589404616509006488309866492049741515706994439574250410051923817987670568880931270074183618272502103720065304649165962593900827650288216061724355708522243582448790229245815076884125556320449036416588252383883194431613348905208209442617145109061711925340379989419165561825590170138649799493589137030097622173368305859180747039141714681853474650485640406203132821724039345191527039045808017050803358394985602507873406777693478143175011341636425750293864992692756128543134993800382921228534305296082882773623655214184663009969312103042820574363971083437265445110595387862710679750093506608987513818581090270691557437473713488216836760371515275967123213519162455011254232684551695977608408002823094117266689731631091296537948971278089814661683538802564144969963356071605871478031165316403237903100282807179171271736194258763960929553473930858620728836597836309264689104761239280579833654973863033573914293473255923924650436445099522558657802611769218800761883741287529482363980646615046287726681739149561306751844747730534215085288603779451308755074702282464469649043950806218356161737387332865468923735498137988366668955957267847126495070350595029261264872855298330237284974812720341198896173752857249849454449185332124699229155477590238090216937644875584123124970256788840496666981669948247138650268581203742655329802584101389329461914538165336731637271407066204870025218184334203655845367622657115979568961730301405024018529576158658834935503084907145960409895345464725103587555848093398322337622862258510545046677296872796299641619469621001233962443121417546280521783108359832727323933935511132824285183508059698332026102618743802806325833638481152684621669602212985017019065662962683277459351846670730508751882339812730728605829181924727848527251696445003802225074105050640293113643816017721559539701891070125143928564381417989800767509485530931409925996179597403561876589104706193429698118307034238278340588168550876734979145008311542884071126398280750941613694717207583929976836423306442257090853466933112627566562378545345953419481006205060133298793543555427673698785654339942584860181831100305371511575116362221618455608286563966131708929807647186497343903447740532105726576732505078621681829270661453441651344065369508111003030433322000221558698849922999196557624312630521663857324987497405728949959613750741632540116258013953046764104158328070811303521576629018253141847630133567269953369780699426018990421013810083938145126003959856762221870751359849465978515067992024201512738284464844355038303266760122507576632742970501260133436629406757870256374428922129855323319128358037353574578968738632034347602801927614352661160370401377153169124681433730441837875778593084436533069370079664389857994471225824824155808696691308221783989470864648739206035963890426662832856313734884308558912734406714590616404211573320963171122619532130584206298269279218894073442129852835796362982642960886242034235764780523946011665575168081543296760930025369358719119637573741510850840099238817759220260177698197881378825031503985661179619098909051552658293461167156122187392431381863163098048359527665917366911669780438041945267484344755490017794426948880541106009452271693450251399834978583138757133005607001165781202151125115035194007931875524373635241496088475607721447681796633366068026458214207710641602617508252383901714961072021862683334268566472544864081225979709543638066519338398568275873227248371679351287042299920818075557374510599512719971316888323932295880758785532856200005541187494243764486114833052137160060960068498488200465587649576487333665846166187642948086367407546832478080990811907844824421819321164063278887291687972394944170053987930708245399759214548032989556848479715370422177915420242181144121952980432200928379081860257759955990959123261638239295279938043674578873254263599087251981971029049336558470794003932818858464391652395337858476273246178306574259863369568914477979704617207143035878147037221131697674269503224279907999260510373296823841235017106039274835652963145083137126689081213560416763590272001496691107686045598306704815906561372707967700578746570495014018256047345958357277951942044736024550358547509440782797272919560926116518050802826035465347979841068202007763192464416841435001445145440194179605421704054603488437180990290599361003682973979472339662729602390682024035438957092542284327173377480500902313699086103466505082515123613203803305563911362576284234837789074823591449243955999874538309704878359801150318801150660835259238461019546153618096798335348765167043327747981267545151332147450854305425504358427704059437434363404198499761754693257356462379100703058388130296122615021112061928861590416954309415241801454578818738948282946816562420052328390378079119382756256133158109959810392959994610453245906493924868893899330146891563248540938533030796281854815795585581372307373473405448823678457071938307326445741507382079258106618289402901647081690282615472600353965822326613276027290459309984599613798707266149065173774186317085994449691135092132948416765467220517695520750985886593540359018345893734344567373479870084204748357793747088872598859110894734231538805434769019265021833079723496531536017325182679548885443847131464915130955023115345532465970381775297039438427765387477832922655959064956668680778095186957449825374495911989815226348083364608700229121839600490081570198321734758785433766180562785060244853574365351789062494803419198569310608796193446661672968315117787203748440991125392962335430765828119628963127094802059200525667910409427622755464611069024964341368649425863007197369143648793993825950409866414582748185035107376164578722545726337784510256802064017787729529505907347467544104723278042937153383564482862403895051350952465188642467512932894559103757927289186961069443786299685356430769299668030364045549272230300479328452344689753010847596303503043844529371167139710838180913767028785825673856884876054068142081936236642986802237959049323428900082251759095298401081586425817566149992608599046752863712893100198484258812581215655843836993724148105488384337122912836506082791630751377933967323263922209143197444923437854174641568997771430730320419095308830635406821513224594105852200724324608897145934262964564905601636218211969500780044526908672457694821245662249056295523003607258516062231589056834091174944730640606225538974904231333654435202812781862812489264898583950631322258839517087338776352650977811495865827055320964378951969773136946267433777450193234714746254207948414854369469242521599842576672593332693261969370061572554187628115438912472391398533331874843590376837813771777584458642359583566308420659462956288235512326493713070935986795686457193229250145613011401416595081312546035515821198628413579478713570705358713109934278774909628116894499496946200300234589966355786705654081808736275991538051674112894193709212516838477460008324596098229582263441077138592647403905908913252058873649266869138735161517296317428918370312722490211858963569847292308350718339271256261773265384084606803718274874236389154966804382811054927170578314707392933350984281482219433062470271796324108135014384226034791278838562283670809656618437319501095176148457501216622271914162961005861435412504753178835760559002447466423479581697883850261528858269972236025888579182007815622320114924694742308631462376109917551352195024632621633785278747405610714712152038782897019307302308358401781767369201355365059182372778697136320281760200165574562257807957323221548818237753289895366143746798609283677023940257046666305056122307470918348007064636188644720664162181559730164609500664840864648470935309208172582914228388861821499281957085329087740637143969131175946225969319501569016739416237944640314455455121026611878239574816594421389823043649196761196406919291574654313989471661736738688597825577050977445222667181388290226116458583266774111529147034889714200946766848344652943040804148195656118073199927985403669579501174943646349121238435461964465524021582269643399197491177606766529034765837161139606979847195650704379338338834154959964193060964595141749806260622112025622094523636175208069847618249351490660943609091226994341036931690018544186879776438760299168046424627435648715372265651853999898854001495161035892940309088504355317722717565766040594243246707387301705548598453622760708641158653017154507306220311222976449039799998426700232664635284925208918659877264877642651484860856500966218987915643130098089534661426313878334066541393333575088298092505774593812046246428064693560403707838210408922774817975246824514344525101973151246540506954684653173672530241123242317888602225978613557868957676244608946183348934883924310273080402271889296189912221394393229740249852467111787623946175793176853627899509328266231960769195354340905723740855793508665730143871763890389930013633299934653084992234121298899458679535312597506643914487187575496267110409673234297485308395739308702556603119860275324377259736636394243114402018781220950449666439226131641623659398216793090161502900984194485173877402348859759626352368800865584685717040045832140007484214701397022485878416641088700975148516270138124908807883359540451159271895659785015743475056958593792182324374397522047098882093720224072411016224283291750095529448957094671392951967533008179998796958795053545705788236373454016132485635315734911923027039926317230023063976147512527659486625612903768544773633664026188917097250623559636541932775863685289836067801260828093919080412575624056326640458329138652303305647698001419580919419159771110515914701552299273813889501389867169958215029666455285788953103104603646470496325263585747498411127808730601922090426377096185559489187069560349196175257449791575184570290451149832551975778530096234446461070058160719417215062452394703142300324816782637165925035694430358956628170396854618724955192677549135016037733939091586082859780245102099486698129756515782055191467432792040726707833427120730144985520025097215203289100237209861204367978063804981915787094191026735342549841792335012086884772648754456096715750598898587393341610525005452164009332028131590890987334323184544948850646761322802222252995773956566482211236041743831449910805115164297903095704818120232209536049746288192757977045399017556757684982446029891867226516247458299457142934098406771223451949365780214330516725670880973636444183248025147790303717956220733847491710147560113556244881835198053327607907938841769132200388777687136064016403495833634968376685172151404055595588782873606854974166561578881276956607087456895678224313550800529044451410423756626416397152916203028568098388614820658054571480723035558058444590904947916952022327413041897544338857357640262469142576439821561445039441696178424211097678446603784772022012983363332550757933433648191244156205459668102009169897547529955429201749456112595611431122984481683550797394464578270535661142209791812389578186419230425658589032369792508973879787165615602492651548846978012334998668294846021201371030740435637795142029743544580703055713901928940454510882085900162765303416174445281433344809137155254167671885229984929141166866027308068615583065161848199811934998739646597673711139837078236028816525128887837651401782476055698213415263404544483959579020389111470233901720707535577659648093466622127264765381760561117001859973926434796664344557791684460221044308125044243700511211869260876995586633412540200074412396888910625023907589774417063179335548891846908378518471588537935534457585280474758870269594643154057849340287621629142263004992868649618854530003168765861475217376315650014024968980871861249683428761900269884190789905115454279802684431840797793825173846011438483130748241510093442306631818294163393642000928362094578733880330657314432950299880765470726545961929556092008654884916048654934852853095153321601616951724849200272436563143193466389852177215514531965181519792596558322278714370643221060120194144076628920856942703067677670023921826994351555653080844263486905813001488846047824361034158808695888368213226023496691463173160568482281624141266259899982518256107203427489688585009208950103115815793115253145157808098936199491622239103071978898728112451722251723947380084321943213991208324818247085868281128130801978760335814792436829662702383657879469595276037521979700565825499175841807448965651372961837809693770997644466997380461946904410942775742173710837644010364203985349427209064841111532694360431018472752092264458558652852490414429474741480899446489182120294123878711012726485256083272731724545538669804607783702047606703256318968999864947752506947641250647623080190119789302298120897990442355288591004715819097250454417525734678822178655734905884883250236328681300089306042004298644380072767343955018830103498011727732904127321506786979303755368124711602159279326484065698524952340878764862820568828822490978002682348890792892736928011228306935721186326495553042995800395836094764749814766246910563372080637762329657036727779829236429375312270413851059001844896121462620406561031449914727505186847163779592575248392109822704984842298296578572284794667308530437275730662959630799101114783561815430501074749532551678233298224059319712100873727501493393903849510756057849384419607235148171127623484302277296958286932385242783820058816238416042374175188127551545192178627586530364629369254232137706769200187644622316085590352700208654573621757938315398045008639937145780132178531065161438561156130063680545050379423801830435305913759922684066893232971757506645832105509795282808903833413560260274333112494983261375619564990287005150572472031186075581378955504648595335714952766949054114956609133094616923358388432744013377184122178073308615290900596264521419513383044192912230280399471541488245207408592618499242923011416085682967032435367639047295682372850851913412539697001074723199326912120058945440050333259724318817757820013963032294255799644773170352775746991933854983554469003444959884901657245875857056416774061301686282458597102434970569231208690204898674935685054467687518783769620485824642732002374705443563223334888284138912616530250785289797329826733443661941398685720113473335600023217334267357921079686250872041941672741529977226102620789613276348079574817418608514490253182336891654311171866816808102404999806765553413382514119703506465658339044430838855361034144406577919857338489979751487759935556790346156034467009116633114469976972623121690887136931084366485138660671078665015772449528341627326246273467891658470397042657204974104067124428911808940742554901008505461578353401759458650208615499278427312083796579625201736932323494192269863405406437920314618953393350356714722947296847613749860788317810154102262342144695683406089993504013779954825580165334431812583924688461258850864861411078980610226165585259099716584376552637397005707035812644618977948228559384587450882037396918197555758708475294165668388537823517951949245840332681316467977610476725730222960110621400658990942866513835445711991468535659612031091920254587271213095706614470467582089368743426099296399200689280461271645778128707031097617025333705951988925854614365330286298336317145526094536845609219583980503311145025318440778818875619520063626762723735998299403230832361753868531425771611163887309501116024184663131614521358626875559893143173813628613134017556559125068439444224807048893679182168897059551314373840522014125291273031095366181795638085894543140183286453860396158646929037504038326582040275479485287619476633830193270792580246415289224653938845267931474226346147238493605064967156780846146961483249481573858471362377792202834122074888611336607160401650305618738648529157063004242403476917534059547685832332468284553244507950309278226131351086750225766517316248283975285298956537002294992824016320047967253289400837028643065397066823607190449732804841622354725213463838950078978348524019353781587447008837915625751547637290584153412963614702407467381871828341460058912598771762138592846636811997512125812342553543900075988124376053518414233895520064487829779495519179237283012869702546897559351485944559666972378995154083555291723710869971864637746355610972968464371071584215830515167873739430739499259526923289813991204335161043298012310670222900010124785477597473325113388136936089791064340892126902488861633207171821945145460416639404233853008045087773364761820645130005394072463450111099953247580868339144598294457075205305889769008961772377804026352122576312681692302503120721682116662046961799171646339757840717382614150739964747092880754231758077704576997833395664475829309001216568365356498119935763187487475749083396035075202275698436734485480464451587426593324915018917115953093073890101855789386578219501057878974966661553529443732612956592344970749187879017209752991642883285842470702423982801008268828782441151933894944979699388671674766970966187422908695158173511845740607120675484577809332755074693165210597804527145032050337470753808599966965171675670957633419580923734411807363625731882222518298943810127849873706926006239421873198292260354848970579161114133886166731727307031728814042009278277162949708573795035921097848868300315027555470251192180392917902890058439527422631230181351137689540315954913380548748351433311464371201179030765747034537839617722192999993072251620910894021925515476765769244725271792506316499232558746593093886000810823378396412486664483387483127737030984503726987672897803205726324869538584826334586087582222370743859247157467967217536248628438629388245146862780357463952826774539389565929739948258278950301320670338574186015582506493477047830445459080524786688575364431365403376973097697510704911222256119749528515891491509189700765185541790326507780062206593602596269756852142161738659825668745709645638529148501911686524364377914048406789367361840472008521476220099255479813304139494680239612436886171371355283724382778686514999466299755407530988359639933296118453356906938497426023693365261939686357800340934724280672367112080221763005377295540137578466110292967128935174210076601035449424671234569577292004483601495832308489132098866163855402604341950682526972793170910593485400673825675027845341030432085037546519643891157873491976278331241059032716196321232516420076465799756756630932731822675527330436167919601436334638738227366781161923345099734755142622707037933629860696629390027263235932226074923400758616241902930943814301955567877816706029944683464109767457202968251978980021759915962937669563291836871156534193908501173365414973265034466732131018848778239781880771299753990572652657606292288425262602591840723285668182862229788790832812465413641026867631704192094572176430446973138993851257092772678544098622591543793364500044565954157243143218551455262230650501501008189362194572710149241862038534470905598231068604459418722894117045098006935359679672688926819907942188524846040926019234700086762775178807653356803202508015476910680052235603392434966291067590843073383803757225443887424407112885591133625500033635472817168858865000797757635063696276389879907276820181039733440428053965496239052501852211746160311902959339986912093151487154156052062394841080254689641358484118125475576679011956591366540306252799442386455304872835100842739582724545168216231281980062411880863676709727724996131403025633954808040400140003037583112634284655973959647754114992379710891318173534698633973711082865753110520712917837303303525817985217007912519975771347835483534197507751496518468407278416080741191153082427408080120453245630459268537351904258680893590576867051910714673260556913097418129950660862778744112526763077042839919786839100523523943670065861738705435463694455594968866567255137796643021781559621147048910935078011101074565012569404692787266271880728716052037257597979552567712966086151920206494997068337817539288893824342145249903002331861788367261289332468548775726171285502294617418312215534247198219223201378558300713265251127138910883830143073339178949319439587175581595744937272360709562184247146401779251402424036520995311943349505782480089346454157176462587105728610298350247977391988926049516135417060445973582963493588490448787216613754767447184048049139227847124325743909568009001167494161483820575518503524195359249823188324088328611383995651174913172599161266810666846658146188814565169092238074870920722842766412283878187833944007451760344599734812018688138538700115537675840064801001595380256276583106868105613453970158226359319491537291496083443820907868157923317042188544891985575681261778203881059780716621765569071176720372662350907969237694121789800144389170579423381646724440431121459556184596826085893929227068629884841512827834054638998326432550630409809857848017339996020226722518040455960295394226335787004173998085242152885430350120522633720532551140953228655538065148440111193983876629904206408567931319904461181068519912603306576083495955134899837699661078805324169289039821466911734085562471485713603151639902195638036256510972190157368154068109156348416696655077701148554259673777086845791665157520885344447095228877914814680534047562963035730313649840011531719801330999290352661944412455013765528055701924974629131040849485150176733986495633179083735462250442849959119847143400715413091084312235352717104170867329685945404241275408194497119073664778922146087550349659172293476870578103180305030101947496945264816346943636533496492563436505288173686963910998996067556028612751858968925386064617318438632782232177866735095370537704224951740601660680308755943501316561456802327653274299934958517618374657066150767147093671872467460030831816996544874744946903269289365134187816336707123588579274653765024588550814600565363477147590936635828925636244911579760687303204533878000000493924948406069848511848386588343638648336999891784840671052791977158628027230080771641578479122353924642953828786666115727045872903304751766388886758924326857803412476036863868716505038283910297440456092830957141006786171602751072426499433292643942904751829657362646778940162607242758402555008786729367978603636189343692920667975704268493888560247831228080558260950941121162879044485161359142043153568635479036694560292243314508308130116880125875320799041847305665459676475627126107293489036609375892770781559951470993476889446098087002231679913867410167617173334620150712172965909123599955002507230113735353181470822936634307844235288280370982333034344754154065082068233109558091328334664721247478269073019458909148180707214675952841298609026115084814576780644740263071937716436603013285805602857995007850102632342241280627356563791697877935353087357002301787195514608019669797143407328501632124473371208286629398137102252483859583149773844091999322978588619366357280914085503101501249335508709102183116846089533360608458650623461823956025604928437605595932019984683875695100602347678575565401881495519818412323969434735135148629487961002233886615137018552324359447762899801526324590603429432991717390627006936677837302741175415683763400412191962935050563731762242331732343918301073214741059237597231869111127534701073819861739246636756233823265683492625734626160031476032874826439389100582384690883193090676479849573619774113986101827863370214547425459182107349719914363090852485640509795834181485298354527639091169998234486144124535771196539190412853597700832809557506118670166495994371965054396578935461112708719062809603829847501661109869548873664600539259610345730786578548408436516491073993103970414798569152845521844533048070793220742733944705649049601774191024513691453854158380054454548161944813773462607119058226941869411183128808909641029983518720507606697381983458470862152742847205885469181924455089887408758507100789334458423698173841368961407933802827283089664511782370394882889035441852240221715853213734594448745238232903319212642654352682004615513470404022465426268471058346623108307250781791573069385843187164336861132846836452537075598218679719082370030459317714943946064415566540410509215427279380581166423931080138512959055887468453330086367551272055238568882387116907494929441555989363207471140264520926063164292462384550922353798633486664720730330205204377366399545094369125835178484968141012361291322999047325739769854935122029599656036068748078426708632778234960376444987664356959956127562707590245171211918210216824515749923606361712041026566554042399974926481352053037199371084988950070750203476691672262190215596556751275645994232256587387359599269849987963519715089712044071930519712762162255409063751418319323896138078239581087986861472136426039530239535811387025422148157584154227703334521633665264327221959663861235380795090612565580748562050011372601690641413806323249892278376510737762500694890449464312850212534943936868572517988269052280532636209136178744359883433730908707152124343846309339517507853461130383234519737274771455490294900996096881620090856076780984745080294407941148578569138841657989576235640939649115286118527798660286309839405239216873769210750361099992557664612421858224776806525213354140230611950449174117519921007313585866655779995296262504790216813330617244241357958995307954580409506476706127326954893251599391287959449569931987215125519970020024278408279742625320391295583310982477036509427109375793928837790249503128645310448653747041354910718746059285560018127563749910122839645255307000615811366051615996353282947608406572703793225133172652805081540308518852824069234994241301894347690231235327452636094196172995284849959203147548653316572651365849253732980511694367294889320232424206681054255600782730432145288861211148831973403624222012958188811923518645862535490939385780381159067012714140668497914664251726933842021878076657003537561957931583141931885348314173671288354647451005873599452788434839556621548702606327685936432745036155279658690594096996632917935976676459757639413333053062893981631959449031706638551337173573837762279025499665633412119241084174661713731843209977827316278312044781735037682074410521739392384928767136872956802304737341799189639792597884076387691194076539122651288209169626071114708653226583689699277006129378324160112825154176381787174079404831234012720140283441167329655334091413847784639631917478469624421769044302541457010180947730152525207306002558931935519035608162301835338207645371542286071406129233435791588666923203636319139509250394565449066727269109896750555082588817482510700539907509667885983401152942337988858010091089402308466038935906320117388192521142343489136679521871282373344121492499931327382172926688742184893761431370807255472069606767333981304394283315359960520877471480140019095480338322456980871449352645919438957933339367502615434344389042910771095105248711692919250268078268270565976783186122821238313455388241602893992951611322341952796568280835094975733062936875603204311651089707367071112251651297895451303578982691432927741184680316686777414870876048636881103354322018800451329137077462262077348012518437214970411781449051489324671446040591231116734150821085854152809173044812673412386752204886400014958689935506157344460346018846677029212411217720351499091223251591496898180035149308456012483967902298567808914951242279952817453404727992998808555011791561201931563467431413677173929931422655943066908878653997977756624350392619799514643142759238752031324183986526333923865842552118773417930225093110483324717455867100783671428426814487876957839992321804553333738572759913651379541015856165757228065918417882532656061452513256911399621792369576759751708219123877227459644337811763662443279838057372550588871515876951090388172111033860687696150802602076649092584866151539787915410689107524248673201548790329582501671595154904313880643051671698167137735193144222225292154253759616594455708252597120046331397453688268611136829542712077561232891253353014293118734431764632585496962202660658107768304311450630133284719314297020066693381799756469659051769539112779149863699980650405938107885669903074849580856432114481155106615609332747933224724916379135849064149518474960154629123569286679925761879879258031641617041604449400129028623950001655524121464005397222479352392841193497817631036724369926604963920819894103659830422343797794559915049575235401289021537813208841051432663737509628447929417199911499621698309430126840552568563136959360270985333333272906339401346992860366241721664629001586351252529689912318317945555213128927927115296553880159482621708487299380705265792453650364991272824957475852978169729946936775158626486860586193263574220368631158639523751773489255098021708027161646065680447426722011261338779080615969971832641039153413087668756074015056148430893410742685471807279793026663975749418428193404527021351117339254839287159873487866532238824064371137969818764420772281827791466901340811270973308840318440397474073326703137426724403515090582899993913583610566640608031318429330703350466289578138416047538339853792057873916858121046921571896483599686017458941251665069258052642924522493880259517322850946242408664056187343325944914314180430533728798980786890282939468135144573518883703791133188393907115802692237656981963271130787115913965290750647944953118300403496266071680584061284888199697589847573557059493885761569037824043407757628390070415532939001740618845334696317755969922908784390045780529276628575651175063934265727785904990062210332404298371306953982912093636463199370480241510941644717358971922686112859135291497830298195217680000858053322537616586147362006815685510657052326837642221747252050054503044071162415022350736639016191122592336769415216450331652879736908480493780068921859374960374305272215044256381188813491109329139167005113823727137308445427735934550926569911255830525309144076886673182816326324032367640278127017516373229801519004831659642964012919301209226010326867039391524155319187160484973847213841417212608348477046405197100085613513820212955007361478875520866052941113424076015749031442058611028997258825243602284734370443016624445355827846846186718948684963310237951358320136146537791077857264757493013092083114976113128873548031191567809722436733499196916468036566308970672604523195418277439144011460981227429676668890476269079584801578469100429094223368522884650808375130400563597740654960797951349168351285728579936811601447317214205378897428370628325595073441305213688983841901648648533431364623161340986101600958038912176350415382804374151852953354345149574664597306799712763225081558745988966783642745663503574466611277667755314537542833840594002720938262527015600456363957796211618207465109634280140473056724373752024552249867277704148596350600363223493121425553208051321075017084760488599826171018748569057708661251477928573671875165339422996141603917871990931636553842658961221616884083326772919156400075237742286810655790046103259665789858885405904517967161091387857175337186016718093479751116312203345553947146340786442605492956136971392074278483456453131550858287493193257719242213404502448235283585851972236478129004235281981212375178069480583327983272266568120107256720717246463618797530756657938542464310721739552869148412744098857378060464420122612683848409457501195523136818734380206547880464768718671815579245665748281897341406798953067299390507551822763091798733911140499914651521942826482011755993345717960625880925035302123098245101095081737168178986175181809077788038043117120575738128359602421749997057630649772315957669848953421841759270568773533169128829656190425887769323953213261073246318461220979302960746774939210572702584497408631357261754459534158884915534650849988407849427233926777836907723289903096493152888231220989300574300549346422978612429793073127723671353167144305954564185902809744257213947849246522245016532475646232562907327960423873151695495752677847950132698354438043695262363437429389105864851983272625896293936293230249082901602476791616511563974132802894530618860474221150610786554033689568894618763626172431989201673498072236626643436874387628099460836404142762779999514237689208752020013679659533104357396186981566657093370183062184604702165849291018650542458050835127710214446102760092748605343358403348355619545339615387414550470990257548622670507398238900360540740927427269650787519019241451710938826553680267272314992310698812724916196033843505181823762256428247422207386322329718131321121508245195072032411966858876362674875397770951437119545909529630518246847844174502859414717123450983182791247582440637904162660925977274496513419383774327091546135964311306595794845407012662083280633365794718305044620557003072523126132101539200151503696771981043630399699450920669791069960972996077075206381320950185220981767592436049941511662643494599070509237761778146140258136834749169458868801907664514741814384551159539881998391494425159718680189796459213722293222499280915731905804824796796283668232880455654190352418100168118053954175884032344861996689263377781036826335564327855850932637845847369801998263552640653742045751912443664396587109777454079661526376112045945626429153604659795770787501285024480396416882479754497561991135733606480050948753090542392415205828151017917700739530439297317279771434792772674773063482401764440155263094762052384303159274045987494496317948831289221308615779609292606906869267252276721578026109956172870214702672508731095945222798732413796026780513489129259521603235503291930660327713592178780200385162425462327958653448093271700763918354283660048943502532348533923861287100887043155950081594384230097702044098356049278046766976358947195924884370635285635804416609424339513846378457584951433849812447793411797256583753826188415907785634768112440510497651002695622287378700709151937949267347806298650762660041366445848229115103912337755300345244889492239512965465410871305025906837963285700298798917190728740119573958020175311663554002276167455676803179126383637506978450769456870738837306454785764824034484588498375716786423684689277940239258982402286301220949096125006785228460474674573574115532826115272098235457209327503992442739660769906351371814361185603291645408613487632721938248719432705340283105579435238679375528055292245639337585679164782980336511964288428814709782930623319013842572651025593994864793090291206995505595866324266884075609418570923692603000395039740133519416761627135559693669583367135418305955564801720274276885867062957098725374354892261705970898941944823065179970917244469862739730348728665761983277795820523812652623598808685816416367037408256551833381704018945172328337075160944978885841205482619502324749972136170102303696078866886770060613426968206339320180208998479619542774710492234332487168910806727325304443105821684160575346558367479422261599301403635322171331434302429824857187570887434736707671336690889972713417851534107780266226871609939904877369885921290496285725986799443783506349273366443061640351321916204460121664168884716613880698575067726190764433511411230576042851509687581447761578626799782694956903769820556023730493733327479279746845528557002142280775982982806978168394917183002540405011763257919196580350864207788668268170049239056501778460860912875321826768264218661135853403458166698610204717839138667553996429421944413278323331551819833442455656986139976898424126418145120060201536601259750127249959272153614582913699635443630388336348568191598833342907267851496509717881341388531608997276795718864010208142549097573092969156176128279623242550463111185039233392569208704383831712852183469046460227800165234201123388757213053165411993233811380616565411974296465243879041674461027064851858698983157295678957452024816071513318059333797344659210020650031825420394687447832566213147875077209551071185679940986145340086361258024582921647442392787349144126235238329216143908084158265834416135851631959281429395631195093747206820132599109502162306889906746824368370697118955004453852218305697170224796563919849389849003401561828453805416806839105929011725005770630210061524744828384415273994292309363965128374859958516875354663020981981933299613842424322009951617791097654074417072088447389444464538537317255898132866973016151736689790237078780490590781540494200916113243355098383900719107158721035555170799252962092222542346791096748447717569256503260401710509947983106960315059391499131973754980972263905138492096435603491110539050401790140657907270782859245510499495941045110809141283364274339339531630709917537856826485003871246725907693785530444437247000465127828403894698072696557630427222333091238198572829706810122256588337255676251997898771706660512905573092203805775689311629217357996273736264382572175277767413453192824088282219819186407680543550765875292696216256171267279756875018938934057002640426948344671652821136929673937915740849491985208590119189228837034109532794171656638193570390216949336759309942714184809915439009798541966371343694915841527716529242812766869009521263888973099305335637066255627491567843821547852106673262758296158437365019351922988110971904728736744742614405153573673607492183078089902514104246966930467218533584593919969061360527268790073887380813730282163691429092117760714594055886293166575309025826372562737108024544728216007869997273612011334748384822972001339242681523822575872340540221479580919967581295496766677578478393910915474242893337199394851786080945401426539162776993765886076408938936526553363325308894775178640907211700597244823372117274556530133850239945017147468837581359298330414514861362815860128671388918310912107285357769454331122563767775206457989152512270154579920753567583577478977895293111821724148666303381609648700585442808445521158286625680186335512592149633416568903092264682314319191728819693549303805812419721375754259507122325889383597913056052110848875395132145467124802855768664960635377149167921413071249646235443831555009545691910348640694513786200949323252141287841110985367524786015253785232527107432824565540453525305224046405992004417726669046284046725810460038461716307733111099040726521227561222481465535415326573780373759625202834066168831438265497185264567021205446100307871843152712192631272363392591246681945812657326026422338219086790749893978170808689473901733346155107244937528390896173614965186800815807495976470133121263209936036672526614365569804939009831218678576170409629176075215968199387654315659794962384131025115144507974101886939517461919525541847551623184526925215967127807029907852130685777956492411476858730486971641139172156964070891152393361180925107164303243217118292368312254409340539119003565307141111609960176082236566220745474599131933546222364433275907036484547996366002311723333356324607525047100111555694847138652793054508653049260762852786011496702614482584344144152627265747923964022617901536346639510909365972211988335281908069067711063238699544349375422399758537739294088281944346216158959098463077121634525439863958568745663094061098550407283723555814953633288231904114248552133828876082001447942354438856923950371796941590329504057349506413876011110601511943738484951617633107317017050838703287357705929334877031119091043893885243189680604858293226143545286796607822780351160511269016377310855961468804125021174252587302794730952173719269015907232971523001577051352091377770751268021740961830455141386119519403244453246897392982511038116027388419873727297937865065032986705239448176080607574120792204793827975081256460455037602564365740121398978621855563746684044001859475825655781153956306644662929772702590763112343531388650194488188570120835843949848453973511329763171007945152292798482418252284114768803892286559990299046815166037509743048234072843896262489888976796930680465334785693694328542593954858734863749370128556006940584776902383025076835516954018579464870447931042919645350301327317595620622588103478283910991659993735679103751162207355559302121082862552890040579894189440822969044576051637421679224378624718310167200684937174597777693682719249879040118089742340785666545606241164567368523225920825627968310682385061308780254588549278663825930871601307026454179094245031475639829952315121597088406530657815363737340824351973129213312879462320855258326990734956494649515141737509808753739619419943752921016963041016825930067219953912298545514085076392186854694522578642358781666356140826188367069339086736079340471370309412713200159947384821628906278503440861834910788130562103654495932903903250976789237049749415825325361897845696235042715056552024036825872594931200991946133423702011694052422760159461557496459811736361504967473503758404064678801996625337990431504585285267467598409303793663007476480920685083460165144284764906731308561607373031051611524052976889214171692874704991772339707915942096926619905948366499122745504428888398250692126290092623806934489398992084996533504910921149108536126240060774840453425631377482203271231257391028665056619181448338078339394394470953185341535654628092150042828585932798258122215470427699241553100807429181979985912624499466170154649847013697577659633319525593508526599787254535280016654938050892188283623342557090996801885008172716713229929844778729244064639439478473158598943280381363356098757683415541952598799862683447205032104730008316003801781588995792762238168404921810971696799763811334632191144508594343279769819405212557392661012595695032377504297646997181163063354706297024373332842608301116327209383053826966424598989768269835207054336162101557796949159625631294298768172943591296929452808847233713374962518003554451933871146435608115391131068863003516549543158027423446646447021698083834401236043717145608373197766050719094326836351660618284113088614713315631598588503177106260201373327161791578966516233086270580126780000387185559489314053476107321055874767152623098768400948743509633717471255216312338475411808647149705200085375244562747324906052614072789696320912390857774254092224428805357577748708651371756238765061193843225084468309061803493803900450928698123088044050586624539150786644227595294983994293133723702595157066836912776947051511507313680669228592553842740872635423790943589916524083397349175371201985307614369488245270054766337118671260305597382323510012390056477428156486149260887551548824684077877827607290329224415202091026180847453919873089191789918609159449382230545833177420401435578399677796000447160467495430463237783771264237020962551772709629865649324283156718901186606099898478319388623608673576024267498502586504864868444604836682815258367800989031674137373086642291700582002542604728916706382227446731849439369796821559486074888056035833312767160507166025743664423567571017267717856534280010968732897929557229009653742314666521827495915530342348583099044902751000879685464871744091964072573746297010632203312362337702265041056622283816076549051826247488604675051870395189710083693652066460592421200320341212600099663771423523068106696033971390696009501077536177993559386071262129100595097678918961339078061500698934352751543982011252803462647225434581341067387993669652978401696564490109447988005117473195923747899634561611369307262221624089721421487430173974094116778447773686015769218215691067664670935263934883897800826913024233939575004602142449969151479062095206875590125877937553595604115397472157835204313670521134713002682307712618345442726014192597905839587164970014330738564955752892342890028175868048254473921901017692537374388246501278742638650690517818807675765070686629463335137757073801882522415043769372218294603168399353930822863568164865954467628240072666904366785792669843404579091154306727177867411346472947614923384550572018291573833420138693869878963135127027399695564738717515082744831400615065599729698867339286761597960235275446945981367888131861261965078523683797263589702392643813596102438201771648872110371948719005928249480826460276994185209680416868185840298311155792125228133570679802360470551023459286458471048207841741528454312637981032338753946646629030048702007236235494015704072554104876265679349501025915734873505178357717873930698939991476142079490712103634117775713090401897755200895286257644160647059717233857613583341134033296027782751483149546018655524307335084892499649991582248304424609533291657158660389651808676609276568194710037899552494901296119161499267695836605331054236555113263490521263138565918900754797955789328857245993494292399623148936869425821166370485985679854474785773504115194367953986097342909098027428467046424905658766481337964874243824214010079002783976302894268052211366720368352303480225729768760887826054900555692258657984403005448920997467062348289130024729289529917963451681096898134480416263328342934208727159131489288259856970958253501192810083218648117901256954604388109779327737557288372821370411911176784644272635986878420998787175677709994280556573860979625179399072527633614867415282857561690001191171143423727346696223776735470340729220260902504539658318242597096321737446552271065719940576764246841892564744436132033628255466309564381054921289907838010957289689541366055249212266463841475388872257062385385926924151322059485024004975500970115288595343277954332765330212673826472320237721962398609779971743898538268742267429801865108567466984251202855868537872141752899836442098910358347655018929808289599170902202536328566544532152240984465827220192081827517955706504311509796347639019038218534438656563869615361723886054939913400554788601174184662256713989684708662035191080874541822907668989493334923746122137041486103848026801426487574259536206937484061188884248278588293574910374152790712570969407816234493042322275927556657723522791450290346385727539076688242534411095481753227067335273798143907847092420805010028945693863139275719514405096238664676541371084847929763014210650660614795344438899289490593653721826628765550607872764243277336876390720868507406810568003333825460985322404233469341058138112383559916358612550004973043020612670227712534631679825180036066997322252404266210810379887308141802937998086664940233841944126635532733970083342621951060744641640097664076454607247374530465822164467098894169729898243246273012705015012307920000767059726205587120987443341578561014322597868983437141984424472176295654991542689477663305033515336262039726745450376321213726287179755903820462364774127254527452902720922858767948571167798263740079525041793273795040423928941205767596550455629653110387485075027472827982916747490443043397037453486144530439913763747790792397583449622984914023953615086858638825347841906010562103011908404242870798174797697747245474050777621705774470824492469169803305213738247198219451127456879660739664289138422625425459873377918513025381872973291470825077742945398213864258743656423650956309934552080089970501869984371726665178734489450874862530103069573731734517334090674730800502324036072717149295130165300765573795291305852073026178222566008285128736752615230795950430493089771240585331971301032268754964080250897900954195244180122109163812446225644674886884344839690903457936755199500507792816369235204346785985300421083846227304876699033496022985875394666536292351989824061861243655107212635658810946398181711262706796911996655575921279691181555337169813971568659357113855124626271609972364647266427133098063942737369046041644360497707770704557712129187673765402368461017467669135610803373488688612387182048827676840075539521550026236029851134974439755509594313833507751515154504244044847435428935445136936314670068893230576957028987578183822979990985633471334787363238231595489400204923937859605123915994837243187059668118084328473679801570437901147161692779486456275659512667725590331080131869688154403053375272231897180391737090806870819950036645622005350146001301112268271296439250448700430095775472385956812351486640966433942096156271016903423781105671419469589190716697078647521554604317722647120935728761152455229128609789422173160256003757593070542252550837458404433995621771330796167023292432751020345454820753128289992391350083485387426264209580488288500703005590141235205108970417431490797107611542323574062216258407407887116519008810575900907174828222070129893405792332172403496424322213987805043715220486700395037157003033345356581667272879961823556189756229092213806552097476080218478237031161705383031803444898665074635767579251768522064932324255647302399858165252852424283526409376394695671347145513684205071919630429328780891705899175671385963322675456753591649866355790036758683192085511174817733973179040320090232688670652372640464188934211338951080911070704058656008762825137319439303104411378882185238038254869293181566690145657618875982037222439057102688300320718189082341512604324577032857249330527576604936053292319157685996160678368937266380212411999790561008017816048327020442770645968614385993233465540662744962910322284663255197619797132005525592844114012619116794807149474203894875845212838081117702852968200626606695756665730608824376724935033290914371114506668575482051586856155117077266401331933447509015159137350255999026468470065809624727079369122643992186807209885785976086366497722821009023315158851559598577260260610708399406250276010419737494756658529377400870801589481360360225314144932872992902696271831404753380662494245836505859398914120693379029327032395445486853807203631684190504353791767469033356056961153412211664946677930808576175614676006717231316938515369042797357754116655913147640812927606742825635582097564897157279356321698366591211828647965213603496548231394763627380167627251315678791760567589222030574996133755340462274092917084797589579949488707544899430450803760715181038166008581105175392853393508522465623177210591563379289872593179168707864733913987667949694789393284856876825287148293900651333345767172335726957291503656590225269713431956856188874121884202070332096207935680069092724742657389214881111210028429834633120791819373102148705901613391230398999530473617271844437901330397205627454581954307234944498208655972638749235898939548572163971037516324169475915733252248494573790078496682097174933674626459045643825307492887136520947427525136599096465514622748611858841937928051326530115143399798910141735817840119575680600247592273398584224957107648172558430393205963426341924171313783521812476278013180600946062337038702956221579888096996367835695823148441679322373812117714512399449480871362532273103933497788169884372761059962489116785266938048691378426655072475755353163112074858055200584743349733230366795749526399530780789267832115078615049267164072012986105166536824331972945908351486055226739137435038999524393033733965577643027814011193418224019642113109788389495388000015678876643951502056538071193497753936823894093688416156261418558959509104473745412134509981016113617400302486570281088292274290186632991154626983299817775556375566738188380640546720857757396542978771866458871214201509274882496327516419323858024828031190158601187447196971389377874978477243614913154183070563996622781769297051047318011019548697409789149217862889120662450203082527664927510604485451389238370631853150229843637976742610115639567773916023455113191647983286055553848804555894337261819082660603699699022755058039711430823011381774582529812661086452383289996881477202908932541705610398182734199274621523035063373676728951810781085447597676179865535579328669058653149355980732968911410225919289712167850324307494485171295152554359104744218578600160971152052826030867944386404476987032535871572234340936526627524989215742338612013306422242655988028977997290955747591641369632045734488007485300235103394895941153171134287884994424103807136205393479107234256947688344372058368288190064867571576861441009135829682627322543832630448279886179674179124756847555157636459542462158434438320156041983088738675712042374423161605061296075999766724673367531646396592603812192762545971401550851407108318294554760057355160447929299193753141808301472237835421974750486270910102344450892011696965189341415945457488586217397515666882361490684910589079308368301127810965547755779772252632730197048759992240615535488810583332454240917507849288507331275557500024550129520356633053888765078160669686954470979759432629452532894541525952645439764953646824584136354555323164682636738996822330549510117761333568554416674583831803224658754094707140019818192416514342516500823451200429111133304838560945858859799420748449989162666722932150147925318579647798508745276856327122554236075937175678260277560254971710369282962033522636386946262763101247873947907779108636078755297319742325124781934221226258085120229095811786022920699112830637340007205952575488278968228807332576077975895009831219245831801976583160983013498709466850857221732527313645398322873259070825745791398711594780290011276421077788118936213514535928352696896881670408478013267090060850857287750578616376508999210000428180617361692452191477064562262733395680488891131281583421534903532535329967609041201369096027516820879364402627985361957867780968156013490302819562545421006294106820546747583949598028225740867241738050285152554426299107824053885812122451090016303319333794528111962435824159748979189150918261539443496902212123564210597313878423205330154414091759386196193398982679218270472387983299461671800030263058234151875903838929738773387231170036788759474145469775158456586432613173771245273511047943283739830117783053663256199721844092482858970319211890140563141376519573960562968191668930129833523150195841532442744664710434513815559324061463449729242510737318162531847232242171239385264953765719333618925080819464342421696867177589440761251670662710590697532744547032519197001036187927280071131223573796421927103758840385372089444441713996367201781429144952977975030820117422861394740343230685791324917695456214926003704364072296149242888751420344931253410433178329667030678130761647044730738607083251424395622680385395993047668784595011298024484499684792151550600732749491212555164736103739779739903715360840055666812695617656828067493330265378120041267064807926927317273475100275283101883396838182360420415577691194870508218689012573974379731021666292185387558588947000280821644618991829264536869725130564990133038264479477423149132240924080280330892692899086964145330557470748430796237742329323189774834897667426747917896126238069123193594359678567808169376895958767386060280538367815519954619950855682607425607208993343533607063054155614551814167056465968983791972088150440524786614517306211139114343572590938015459733496018241179858408625401172037172912022184057165984048039834650549354433558753396851949115136380694471755410081171672459867433811011051467040797617872334221209059347005219487892863333179614377733685791580253063208183454706520760861284446084554076858372932441699641376334885485917977091232500308761165017151691445476571893317248689620732054238713160043051334321718572412434473268155390002336132196643898873912326073277128190708224158441759567320847081718577170097124562587637374834499983183309035382377735611852814622577090398725202202118872558812141059968369056704577596417983271034822010538038765776873242321118818940306734607953291423307205581971039257668379302732085033168166084301870186897528722910614777192342395682642878846932715348466832713079765345014253542584930505065259347654838348967780549600113520764922909709887575903315051259878637085642637129606446234901222966699826569342271193154767109753101428263976045987785454311457819187934026732419376921960673328371197702019924927191351270473291702691099021196246174061130268969218064459849495697741237962506459274011344379799540062100884796379243350691901987267594197167457485483184588123461351642349768211576464090884749858668123449828981784403062458892597340973390159176393493601702776648175155088117994724198341864011344310122264230867900847600719057101163129758673587311095184597059704104650609527492975445665874895691829798283946032656978011880313246167121846596642539421115638377176561974253343541262067645316496077656839724285877121694680548994147782857147333168385032166926362108824298704608088414831872660846231904104364320464531410964332663366147312000760438911154439569201022495428846214070270240235505633765772326522010545276982565816125461986082459997070489815472903955690725010471879549324930067483282482139493829072554843438839206932410724377529822083726824150987317494661989534423103868279209311034053993954545473242696465545371870757517039577543581238111607785130759466133410229667275744471601043104344046144454752887832800518296743823210792218978231173484448448693746605570671629773609767996660021725500548963550156351542697054812819682098646710726357969365107873452676071725979455156172062292365388326555755105114537555599512345652836325769963421655350886361991656732484731778465272560706554975066004055823484499376897970546690685148825115942845898450494905446901976931189639808617009569187584919189994896826344657109536255062470614655785118365459376371477885456635684714375932360794163870729473392106101608167726024866339016402101516095656688578658760813838976622260600608054552610754963622086277834322314703422094810015353078475588549603441816928852163588107327315889575183897485781853271267571016022485599762933286808542984212509081085494961699603840811932338050540481681271726778028967366314322697778823351886326229824950171630469202465848250644825011388207556812741631768377229717486653022887971216920601407589397932943775459151920437813418469609413607695923538822672126041958514114363329115679009748706460303191664355518749080453903907772417815451150971249203844708997207311066429903093996026045168935940533141335829262859914713601615410035495570573071089944666760137267063055439596439487495046817034184255413121965778247771138661711656507881761428424532887690805144055710143296255814477639770993298194035723371572074401671316646540626383035350069453229947920208956831830456777572583956675996463723164745770217208540459504454510781694545828828645532317480523082571212645465271043900294705430914933962150819913124746280370972269408728932899948417354691097574293163297628348385384329895603384340368502933531978867741328180264506577888285350490707779235279845365170844514521930053095222015771331473385193279238516635870547983938530112622034243673962728886534346136886592566582070458985873348113115974694486273771504753954554627480799805977793899522399728915506091648225621010333852438302840389838508545562333855542549070908307428264818413957935245910874954799336032559304012812950009896177460730239409794187528435787238126399493686986627423475354806818124306222019958177353243523109096289080059585174237182212611788901362604046775611999921422106237678721903389025716639985143888908766469634342461922311978460899421037919350649755699151625793795775400580660389175314948081159471086579885468292959567390549263323606583905507643448349556677985521945331916473136584581223796623706100386379119607029694839953610770467983150981103334702903702385530733436619720477317952426700935175983296412475434105158763169406024758987051532047817815727527318734726075382144410453561531443715410340188167285665157985320571476474521771829671598863980642300549863731940182970310134281780367860933223293996313712781387979837641216029212640906537600269492884844394677585904104892759027948507301385067527580694418519533741802509591830458813643923342585855637628876059830823377190545482239253599756843551868716283930559014021091335070925456227368078083792899601399384559792667131912241349041401569245850550783691170503954036535259538785025421575094947959406866897013667425342495506749020032394349107894650015831014861636203867244812212882978987296955397261596057039401057830521719699637681705306642466446102488736509462804592078093042634445977707161595966257750187664644785486469264725891895321338909584299184706953152934062452046995279180772809076121763342430472995656568455835775460625877975713264559933934026933814855218912043762060162196527817614190336322748052227168365235496037308791432030980280469590978082493209527453026813599854776665291265369433170286101187912647634338059929704913914031943616676299527869517680435360388979724646962486396774585012212650826586448565276996645895857335196115286188041417247571554200433644352046466534640568574007654974206263738284463095266677484643637442827800229923998601489421989806297416213462560555462935621332190143080164774248890010511959414074843824334236863853305167149716067333846721434536531822423301208110565276370663188674370098216194655120498013662799152972561283138386301292532833021261382396295345296158368067273218369695220714048100514122709760703107880437072388707611065698658061114411172071824577375506532236670680615955592849505825248823991342495427362274178517456966082289097429173789129208314300790016423833286763913616407820541342058786335014474123459541012374315954388132487515595296543928395117280234375078493964379735028224562347626298743420275990507034593861015560799021895901981450042270088568256492963923206096250936231411382651028290252200853305449360633904500126706753106420465850083555888665080550180321065777207840126136481110467722081085370020860924237679750599253026446358598749707579663941264942296368085850678190334286023091605600994177211657965172037589807382970796517381742114143563776114028389966452941657643891885964043288767959318176193250455522968280788211590021235425217869231870501614980346655613825134097142968228465514451879112740824235153046271076198618740402628925499385453288405230461877205591579375754942981785603742554097022998887977107712010876182985463756756021090888839236917092633132348738099934471967797782423587460604260260890323291899928597424440759723160925318518673824892456704070238902621592099349681525546714351884230800342312992655733049588077828989176670092729014206953621287858079157653505643693807840919060130451859758280289623463316845480540156582693133782672829779283547191520795495536163501576446945313846934690509326242210880731551447622142449788324155011530736586273510048895211770051971949912841713296905580295989699491925941273155096499161497726418071097609837483701081642159252462248901058297561528499628169637386279914234971449394752472369112819588796756589169822199824015469026172814694771039288707503946845999317099063006085154578651189857150675733399468892299607493022202444063192870868452813264832296588228461363685321228372683919266702040337390910153684159459577789505349931020210587699734455918982536253169676079953568125793564058543725149993602673756574830418758462953662735294773206765987655911187320004006765814442194013730428447011264702753932101259404679374318247206958519062074127737451545860273114887768216494121367459461970753418552916128915155515871127138640828321909770028457865129818726731900911599221681022433246377247964224755484312883101930064194481877231931356178454418371811557636558455920043101949662097720395444736410633733176779070881701865763059369781244080970481190506347800078652214913437229217669348620933460123283283475638953368662664478799788727849964187598174746223469911949881518327458008125551384362342930656223110711018246512558298013589443783939669927183227978967623871533923720128248227975954654647561106728648502978054444253654602783779169612249918056641363982690632404412198337068819296578652882032314978636813155635546004544366355121050037469098192089645964566557809039681527701998093603003061384118602356810428297116158227775766363441475076967182877028970075852618296576657307205969552161208480056126316058161273681910178692432007916897034647861003989641069966254510573529709487466111848009184375725839278413374645100168516744453937734636474089140555431325946923414436494456699117562326249568742248230802635967485595660571821399532001480543350288698484856715855943853252553933595334503845588930805028986617326727239033413940975065281414634981322530575579575105840067611087328865766060783584897898313768894616241345940088590746168800740494167100450197248238720571453929139918363985228723709539040751807825386746740909086974039686733308106182577879869169533991525753452253561160596996144102108372772270547478803142210203091075722236650461149619240725577637154711372441712977581207806724773420470422055911124083736406043194133435623133962572884384056509554619416289657270391556921427110669453307606081465318399182300614010281626953164071785803272577058822913345449603180668637744664747643349366412214004284320461427700041069650861644809171737652570391447544926349814481175028204173809718066083587792302334844885281750459319121703854980651233576597119261197103673424548524370574612027685742342177936443537347943674167908775485833686330522341221256780388559493528124334817294799529715465736389086632090555813647809694403438668943239617844467486016629895087215347324171744228782212688299964372903343711945844168392963972660049368390167915560567995004339619624812746588401455632573012655995240526504918290187738154878624307644963307378454448209837548620349712932131342846566650478838254301394046245489878546704458742729191428700887014349876457001997267006262996315919698595141517772171336482612756774762892218021307573797801854209083803441437633539527534859977695092414788534679734571848063632994798361610467391593176321096673889865600036425948866497348030553035125969536440204855634223341808750071778150736854093439603529608128403090829971341643019767146926134673661952682263931384628235939440580370782648413720786913068531486673273344024144291672770513788053076347164477034842411482660343580787872636087909084129766415694749237024561036540477465948837898324686937270685609393960412494717692065761039041101059506056287216879258636686533700821139072447903136597860646681141367726523493992988909905236593853172229329179555333821895146021270020801909988874165859057708363183577386404534959416260928330344894070922101975380028462789825872059949046833426026829236023550639112511379875003726400729370079256219551079634092695869576480105822549148961653727454537053121985917632160402330207062731945292575077528292200806835521877294418816625359697020524156873272725098596581568980286398541336999725840249567699259332654489829511219152369018258504931387942756781682041611262031669732491379766092766830637565108105011067433068448007222443868667971087799100611469152927350154755141782056262057386594334153748476911338408574748976641647361843623102926071746646494371737137799450223056156435516189086242483978103760974483764944580684748084978349620599007519970062315623220960279798484407179774301510458170937716490642907403887804856200303899072324812786654637918470556895178075109705219710146749328745875080328599640897429072517979934344066441587663922379924082992749265418790038546678051039730828893001279408773957381923745057662196850834917081806398049661596551532809597974762051898706236081660507399396612950954665358335881498681309810718046135056775454602412679200818088893047914214310880857450657101963053517559166932128995573025693884520195161827703704424333093379559808212285339394937042179121382195334922599873535566589462675830913973956465798420210945623810828537553137681995659966466923737986647890376102275919004651449285251954980819653212164297443507048201988125770076646544917740298668246561171190392490646481276280855997506051221191565255232724621650987305149592037963934526379776257010088572405285883610316252433163531503074142875544103558630299949671138928287549495960934325332306155622748317928938864291711909861761349663035243344444046566145337644451752954876746482741914918899958535817102680786446658360315409341163164774742029578338938711380475277671288086105229907933558229524529092090471354766364775587415291403732562609784857999881351906833280962534222288826755484999916432784662014849945277678304527333744599455560215104610055729639524721395172721930642419557144516212037568889346962295416409876532553468188106119633630149506058642148463359571859708543067854105122561603620389761658284515110304072301629327418193148673842539678965892196984081806392184271707082023243893100854387711623851047301251523881550317524589901150598531450336999431712273539213887653678493628790953077927209269126015386236575035882095963828902363445334773463997238725262863303128914375811066160570476523761204976092350979205073864771961061228472373525136188348121825525368814733079237004390441311289313876046417358314571335821832711944912609604595630670449520788425629376251421793922400491491005809451004308152029029026541968057045999821347823241447898357930304958652792200107529681522555903751207211801362029007569960874203213009356193410205521107164393421854798929047550095054283786457534371142179797419375071819697520950056255688369722782759592122419316036165090545799538631388958931423216746011729303035983977025195787023964836956591150306573291201470796707082129773910580963757832053496834192872711602073420061919443603933638188121867251108625265179225008526749330696603544186148729314635219141204094803515410782457988575984068408543117839636165535282381367248227665197898584872277624880250554399260297067757634641280227183233435490468926419863098106474135614568494061891368668682376216261622337715696889830586041938083899765395121293515157895668520007143838023122126060449699147632812915330608498921059995857960609066468572769352498101614899553635812571715902330583829529062472314745703852336301734828484740656845845185998199260658251955094647055729453050508933118517270049019796232466017048005114871893968498576210516851809275549883221742658534586187486752361541223173403972002020544326895126968312601661357673399917200339324053017414655159213297003543721954249447841035146066483705573708206242753769271407355957106716082263152098686241051705029339829680542342131920108448827816767026766160323046524895008270374590059561800313895669331079516018179248339708802846895047054229517059820553419733419974821003951616130670385332723643169149978408351838641601578703638630649743735641643346611875437794049405799314994841839358504787262837804984734131635248947140653995399821180246708879613920946305928565907280197572697304357139758684220856698308103078653036957845138646091753526156746039119121732160171977276280249725258077589099214263233424808088103483263434681311171003349238479370479514786957253220646539967131999622362190638405617884569819395592631780393302003929188614352897056158800817914637153203401672135428876368757491820454218458807335441837975601173371889226091286248592695423674338611971748017423461593922184248045324060706680075717779791278221914780644364050990379858319197591051914166305453705788337380986293120289013544333921990107307320582090421634026759040064238664997193544875789438492860573705965810737579903356697315084309772545187206640158610615679898712535868074602304640181554603067937268086145488438959194877212457762194614351225480093078384950440238379163689923632899941368105538691743491808584984258506579498147878239449002085161848480967847172112708647693124964944779968473827742963288575405205716565315552296993355890385942465451829972335080780636267011703389563065011658584391166147768767225929496711996976464929280761494509885704046076278391527187133333943802435495896238053950336545191851049270073586036336122090557119129961700253001943120923591436945513793838280264512981274241860586491208443087750076184977550389343661721998040639440004678188403514784963322308185688043368630085116623445433227730429379152426512763017470459314599475692707579882851719751605360708271183070290162688303430721640050744745003355628497412495286840993801602728693583830999623747490771034325364026395006036097748830036995741441539783213871829661274120801937055818555420853995511440766460320471906181319377919101554582922008944448974172157977001968271626511078278993183598268359240806601164145852994753395658737773620831261897224676530411086479812926379883061761361401897528008549669463743310499612814600810964866590835025071474436977317703582944960639150079978273185467087065204074810393775562366444738427801438881321516783323921124191098887907271518705885368955321470692470099055900398391012748023745632386937251207284761567704093717422785743643398071858697106272352926461028513506843651316718805873622096314207837775324842902490585520282003513139534658051417585807731230324942181667382312699221392338255509076672951693791380486674349562336979910660368458507081682202964320661476446470813719166574730549343764925248230629654135389884211954575527682916973429359351141669078359103006547554880138105425364090832618715998475764039074673267147332925940238616907916379225687482301401921406132872782922392604566480886389495492105880145064897137980984745353795302111079555891243074483582974252155644904293806438280874299977122190649740734848318440975380227843654810305113639060367303251018189250835104169709829851716260339725906826745024113850850467629924563789909 : 3611164474520963823751232793007768118212650700032165420945663950378928224607640215784150016372301551849089322116455107094711780810075971928734035718593176595471235230820931895849320112107797798907505097552458454155627978855645240061741951357158728474369880546991918956603342802499570254134888955700399161077283285775852527206099628892616103462861903090133124676442417547427023873091319181833538182453219044088767336223498233858460737059447762667807253189689239664739078840359515885888503279312254216808736864877206355168684406092473942176215385405344218179186996415035860886358429461372766588130639670235742678162679093996576408144839240945331568546526209013471126996852629772795930195670371261507765133640752038360785168169919263475706259806389880354623920493151345343528830996425615435153636531960554373397673533312146369054965895534383324027918832992855885802852411769203339858047904869410688003416801763504590701623475398259038708194133507125234702513432931163965717966393811411700961342613159639106523393521268455922129210808875747345665722170564261478112524713234353804756717466496979739820942262210258272693757638321403205095060135930329969317291463951646266102190154435581968432920166093134055695459328617103017170718668296459885015278830746242886474140478476669390961849648518911356527413059467509447775876269017993300933407686628306876037404256770722288291710104874394994449358187021751989155821285620606615778219365086635071349273749316339644367572961034146884701589526395045036211870395584499769658897059053721698175690109647558802041464800895417674543170283310660191016589458164944778907937218625446873766594782866431516454746446433341159604147495970847652777642798815316931637735896214289272670947624880955778021083405553334107558465412470846284961781313258794466990545086711013543829759984674369272551560152161433675206915506249189932680744200472086647843409762301449441156004329879694820261637722099856613149055515929469254864237447776414084509674926159728472417113785254478651108075729917617145830718173827454062082945753982208674982599331888332315775191522223029101582950680470351039934139597647918070932291307429965413328488144083979855409289742822398351152005557889827312364104199527798894964074283056874665508925726310896694580273648481412586861078251911085521683946601966453687792367777796298598299219238662157930198830146919419474129382833024136969860302862855485207318272316247278672928280050484610997303846895146087332492107542391800445059972604440483836292505821267197254331685763987525721643341849983338439015910978958971510817935795127782655164431682669762262200812171753777125866786345981368180424353480167478402623639427829324977320431428024070584742925553504316322216787227190992766263717254908323272009509839673244062144673152584144184645337723857321134236974994242882375949813915337479416450945471055031937822052230435877525965133608087415975757832438349522441041074536905147549940251926378655040849175840093441838946426885910130982969235689523727922953824954027223957805824796307099162557862528148217173652339542715039783377221607297381918434647513221169784094379826629326023764216513947538418581456020337302437866418182439370659707531448661518340805853430418249094397753379437117063025607372151125768340645884374179949789949775255620315474013366011751381287206910720551134853524237345401050007269035849208407844372650385482623552943891379982915788309739887424487889348543211878390151235560007251350410216281473936446484475066139090669900126856679279923506999886336123745591523054484158947491726246381484679310587070792317765325585192988521491813781733235901353995262625850396943693469026960197824718950573788705784740245653363871262831292720956108223028028288718466282982571448130169709050426740625326030543786308893429651975200298550255941303447442927604169873685112203382644450186845574229802280998371973209273629567674728293589661349388422161208218971037425191994688056792978701652192428088925527745053871379342398521125578506691311899029274820315208113225642719842977254480437195523051036371606951543762846832839865819567748737701108614255420043558837848559423264699136095095087587056497513490769015262714594299062950507232703158748265255676194778823671755396196257183018607831161860695098042502979372236912188293271445951241476929023034188288742975088479258446581617289321558369806630153327692441456329398987559338232214517705624457432839670573930331977460619161682876638564228855542059907471807099833373813255025197203966943611833390683424993437477123488205586318229957819402071674534923254822094367731403324472789045062239913916738374982552458617228888008201373034838108295464034900078141044352948695594209615901613650451453148681475789783549841690690144926317282225477878002495359515334984445040700964815128642334198225748110123128768863293150733325415227323171285354144296417210490225223785741950531547933544050365497885002420168648899607997065084217579835561232499363062870195389415732724507301058072878608250618986047544957745657465540374189844173807958594788557452639130854891008349409814258602102209168505652629272790909871060505907100554049833290219494254043241679643891080323488664720186101096918710758189644522551170883403722852720563962546005025015570569280316543565563231937318182336635158600027927342830058624464098413393298163208843143240056844798189792413676458254051569158541612733836572602890409669548631567744917228542342841666298844138647561675040551953973562312590007407874713974951732152647117240456752350802784511324808508561227549293465097897749913277135961967246634631519937177968271047155095969947350986622308202529829035820625283204787519324060289611536386619837405848479409730356617626348651849158545296032822129844750632984482585931362109723751383732741031493709348741630230379175564127919884264281918512443393036037645373221847831978855543914895559243911223456421233165025175264777304488163328337546105208370926807243913425428645816314294367463515440204507847313007347589442878158021521097581886977343410228136115808391880622733192889250446167455789923102440348305462921576643588715024515737077829352999169017448042223821798550024375134662163605411258406302754545047089521771695105689041497198315060061436649158958174776045722789858391595898738714421420538477807578902235066913728874051587237281360509998438566386437862650313562387190418796629931093491196960269465685351416517909144988050291814297140545290085119073938830495126674592024552655711545013119116831863388896113835828533922603954127954820238622853560918079437851852438777363259627547543962996647725801922420581433798264513016440833556684265755700915567807399800795662362036877599317544560165115291411218893176659539135458582692712567894395454090725612658010483053909780159975116672520188688658246209152247166539767637700443556233014528740531480947582427559012319326504344756126036906579983767934264973690397659939591329869492925244558852789734507242725180967046747397149101990814521787735868654184841662958503376706946035401443873296768217030691903227670257473255507281778275403176658503436594444384431278286718631280282148935845529792315027042262141858930351578938014895249688749676357895099008370589049874475075899051550642917469414652212514420136825840334776970226172827229002216046894400821014044976396589962448240167185597619414161078145597818643710164788266205806452186340133795887073301793156867346985619665032996847165844759699401340632360437413687642647563691628924110306505605847163541132771829370162683477237076365118260700593650302652846953009598293009174750846687349732819331848141557095815399255145632510092780549609477990909423897706431699786474503987905359364505344896307305244301439838525147583202479749313103952626831893928600900356241111932853019111673544735646021766557843700686497314179709231184536227777392531683663782473883656924980054027322115675885617701977885413264008969768655404032357604376072581013734371515203587511618219122359668595215438471975029179013216524922474573011456713257645687613633456866445552261954594218072176643786755911516116709354993744047933808652546076518180731331818185663257911292136485583613381957953257252652486079026591076500923447292793548395924523427016923479594508761916303623366832953873968532164012852126875041037052115941836225554651469106499170665891781940712725632534303931385150329712182565274210155981859969674416071328237677754953562940501338068754092236854781652686535331345216235144474128900529482834921762538435915790175435920734651715761499730820380797218855296421413163814435907302522782106915824613031558507243226486778694646054126945839436565460247806229517833955061870183909051032825106158424105367423233329705088817522392401302382286374581430889055457954227420158816929002150420750295824621335817983631831875640523547124493377274621499698331836895009503325603325823994387913952929883808927240481829299153850133049646666574279281149001928685927236889808186388557137983245541499896189824324427737683498864480623852544404648325811075786883410556155562205494936343178239484685732904768138817496689412267927604049085387087913155082960918324091940567852917117266735305568905895636011655169853184497049808350303846784001071631369138588324869660378324011936085414179367118929405686895826271035193624359524469585553084449005174175626509404483283189782447445524265740775713754407885609193919419896058016569296244081884981588532569507047544146070213460523708075655924596532304267037721002037941557807000860259082072261966784907616601361141883990169591152804555832514244349769842792744162816178161962052219614454418923562983772184068643696478558523451956231219444644791260978962612062183058640848479784024674114617053459264573593146067121737159783815790316019894340001830931057154403637420006777803302366809353826654281370038058988730336763082612640913070362925623289551218060069198007588290891729615964199248024558420109472906708353081945094662478273703736202662286110663106019863137907750285815921418531886979718673402399042124278292345274410389727331381831049607588585275074672715874056414211823029522235569310171160284425960556790061041523837296105144753988566031578767266094396538654952906788066902399930103422992874479373451275478364428605828179865702426196387630651842840066977355068271869514009147616450136432053607159523058364641877192676614475689833238233937688690365361313591341999129875864761718630184981344684047802359203100618952628719852403418548716244536501293711397049380391229772268797766884970904639069552605567315212493195349561550042030053211152227518401639478096389432596409189014117415720797562862157374606092454245155624248331163286961003445627290878774970942232121045409554097952368334270918556584012576910304501323695133185312728330679788641867921900306281643376767748687187546472567402185272581247914093781818794622519771911545656602290774694254990466632966617122122943813014864830387302331776015196250293516792897682256197231765295653568579125891662875450604284572726573566456379504535610998151009676004393697060982232539946531925872286637252175870590512487688263744893080983984606426987017132765915319539156908064759454836470169102641302497917435791568864524198302226782780472639284331280619351057181272639792542037066245310757251100332959875101905169811480455649102792699757801209293359863928352499996043760854262358826888846370152271487120129932036086342901371851205075095501820823038243022030456093879673126422829570696015862715181855312805141571134587928812780906533545212936745994991769633832861998364020099084283653820350240620153148446183139508847338829603680248008651935176031785873697519679799219302400133607119380063944537679825674916123736183856534958715831750565091686569758682790318394826225192549134274533748441031053002549478341994104957539924191479049650695530003695047488824357976545875318723544147726840088887295873434663777785194375354849070521662567248637217577283827041427498281906678181353528238645152479230220414795454585093364267716678986455054979298148886590421726525334672102709712500473008008253442929023154802755969262529771348227347809695695988528748538207030567928790238544418337938198150918728875787174368548407571785393884383320067587894536819613332424067637540255812962750374799736694313368291320858753248013884633110453164427562021714320363026858356239688626398951931641224155532601362368700980323780607095798094120869616837483076637739737731725701452770344200745172940136422813536262019653378308893201111185003478897977619950383565961547781742247549925160644424621278661290786385040404215904007167356556345155957036279499697685314650996205208666550813295901170269659477202736389719936852153274390399878608480650143777456961334338651263644896397496273535539098623532918082722384394153746812463807557075881914714185272189852018446556370602693723399016498090095028732255079958750939552991675950434608929583235433567528249935302812289070704774559705961370869645996125769178658594067630112867801760221921594343172342979207874713899576682267561692479105945891525506405980113831501424138411039058877445510576431312444624502186821616586192687992060339893169278700928742448142258682246786091610420054946120308838096600467940765667726284108585349471368509547032265548567273116152706212850182428263373439539528625696794964871911852187632815173513353466738795106803540036657978701108334856011967370646892620858251394791753967393928730786041605317141433802418637751553550188058705875396575650357842896995126814155211168326465537496230214760407564268766655771430974013135271793894434508429967833220512030958186804648156223897293448553203774988225140872587888169766107286291483289588976943937233460324432792117258214654928225202289093718280476434057382752604341251191618322596875380196711071114555956411015326710018479639619294773259082734554392682722150210951275407196737605619227725432007621615926622932906720563591934129674044734343055609629133622875659892900423002318234812066995617571911396492818770912753475198774919727479260635932471630321930622331738912888931197041486158166532519660623581868980589806860275310048920029315756621991626972399318574607398680647026890224345815920488423371552998071522443268406546366779330902358832812637816466684389178863866498476692910371444005139886664478793892580060191113741616303602243019190544757082498528137314931183669407094819567147795994027853818829727798731644153169518746222553398819011199106901408816696697973283054381013691210317914680933672670278452630288579442085432600018143102547155131201112262032761966711743533356605792626642303708728283466653289058375453344779737870603865723459468190823550343739407137152933431978637315496020204510193433210991101147649314606044793518301513857342106164917623794808818441993215848490130507035267996887248050773462216617327333056654991237178750828139858574329950980348812467529436446751562443854153679423414104619484334286776166048231665554395175475065585898642921168975891224410353479943933182261073627174011128283930247708187027548696613745238425816240888748182332717067464628608817729580057662635184973874889440815409792819358143983517749248660348686002672833161070809305710470488557800799213376301409228848576203143484406675241614078722482404631690547508081879256011849178704767587031749319468188100741811600772183956658284125624816438216139124313378068457976906776538773450956916668165654991160463861403770278704430530163759093140141935277932491248838173764224290646290989585155508440401220323601840390526793364433014115375102284445271413514131531220852248339733188058058883531493159661372773612359078728908918764896705165911781838920465484179256959470684291190095252871007794335930324707812539686566710115420015413167489574954369956080032183683802767203985199097515831451250153521927696917648178787905634021567782165470474956859328215926448083521590374330994957397212727500653257928056639103456453548023854639351088564454515530522362362745998951066829197804557009484940239927858005242382265286253974944594006247470119213965218178859031603845834330596168582009815936597134645375761517389940649079906184877384707867302838496116661008045215030614762436620116497838368644601389589488246573082898178950337671385738524310022913019775092971540292096269823086743949713977831415479985852541317292673126209321269442855522009002198622143304886776111496264222189226550216332592290419105286601729330517149534305094509386458335628558200421313694241667235059853715991559363601409279578182938345265190493602843158283946981228810853579648383098303128325188579726261468940935301195929249909869580707764985144594259067088085760079293520204618991731310570374168538313768092323171509164949643084659980350155190770522401652858714808841089772049300436483598262797743266595074801076081505648886858744261185472788546435922767191126790261881472381339508451497026960311234255465368895543547847447976329467836439784264363498587644131565677456119664333248086776711730169367772459534870859417592398413869500675104570890216279021658653615900761968554631374400537679379284127827256204661920914084522846615198287943955240281810837921391313915886023168918413905502575167734472432649577048352984664009011775240018833649042219174890272022323648876954126989859003411210832155379033049980906323762817982296919544730467799450990154497591727987496491303752464861537994727872065565228406688917050583917376597043214269584161736303516872219861724291898298399028133178339929873146715716747625523364767699007211269788205266010337132781832737080890822460046276420715467745454728796213069134480527724173461572514520739896103562156983705583870900028749801106597880541574697766378032270494533371288754984045047113067487852619006169957275917591164197454684755588892685021343921489716595562472125337698010631266145206348768545014955167632234803280252448017649402075612908922783482177361873029906211093595175037196426646081130965117897321302472226351709570170682758653010472011688917084898787176169371008673712584183170623503535009926921930183872107700590107807706569670154641920586269891787370773451203765465766063734677796661689859367449873168787331266747107214493537373219439725517966401521869507195152130767178796918629421624650082629329217812460134876251760518910457707973025656639067306522158007391940481699772622832965303609131188591033073301850843296319215039989715090023062259576609915013807824981829843836993958230070780403395963635467185745585148732986524715433023540225531219415782178646645316443988642945601089511371072720563664338695189005860112308958847822718857951465092789933849792904267768781252625782156591096803987398022481214808529226135296148947115398520631096381424661850729246548656509603298090645746998577197091668272143246687400683675131838704958090569276512268643288386207118694314271067251452863428792605835903402535387682276416989314416869520428977895515171151151887616539498103818790984211103893245029319830642053729959199897413975810370873821050499007485429442045496648408785323623897706245589723139727685634260319318709470519676465535312053575104105799871420898712032894413810517328322309566817743108268308960422049648840126893813995463603387941200529422247457718581800283425291428959126762794716891629901586542585005806374927765780020979091250101513988588169075602885110695772475803651182523985144589260159328449261801364513528141781165152483451846599502790795859976012600349963766140461268214315356235935916963994971056413724253264043330845070123310321495066383383063076824399466369030619130657721228031580194866265744747656626516105222088728107837121182569303389559492987437645398761181628020634741901040483403760166049455362807358703752173275091196621233302198994343953605332861825268218663274155271122676350280621622334403721593440932852332559203358997811142206669244341862384152297313629379773326764187660074458170236325557410116122334299274347892046324317326264486099517028957587171297698224791728629092698791903124348628154536821372705450883197004734457438346566823900208330851172552149946889515873312805839465013909664977375498714212018694095331265616453886073266837640788236364264437799575405290035546752551785016672919785007874210499735723731055166657893926343811159274332016295266821907385438106685322816297628684932094083126259459089781595370069765272917013180766823310539903055869646872938821877254124532676863092563629588532646540653524827157199539199424127095030772897702468501418319412134036847453607971346419046795076940082194448934511027397066956980288227816959865976949195305243561551666284351963755855649661090603196426058021194323323371275807419823812781549339105906049093214378044907395152164256950141569916391897864898125183046142094784017298617115899564837182052395580165550351277051136812286931169531284128713135125731099469050358005583274731169894782548887757709989442749480578386005301645465259329928754931389615050427286235875703969667039125435452488827963141275788442659126097412372905397804762548889219182855633690897249650273401142867850398818391413426392290536715521571387359937727381473498038291587085682502479303749069949569495123210361159044951439600017962029261920955851549643375673219711815842485366080972153576272651226908147568484481995632623204572825168091240954001348594616766448705867313731856127191184761896487930639962592310915585154885476406451695271222965543217162025262223751093136632511096482723974178598178251889412820954217091640772317682864001932793923348581917905742813498137465160861824439414839319325105535878325736935523855660580450718866238664777665725019047301494018347318158726448707072889394182205984262394917988419228337842098764480916572113620744096112297512437184886834530867876464135147872871908771297307283025093780871156182263604560918867610234817454901540371293504476197372283257455424255930135948042375139335643580982729171766674649367079526956374482576992510842332675007816483340342847769804041651413377470747667092119985024925116358879315436809313411880243020295321876236551879143898798698212450226710134135056476562548449980108915775625332011680059198446487457934451811153081106299358145680741015818857092229515334908032155514908378681731524686901608416447663328438294124874447263241927091777677535009443484513985578192295939896670767475977080539056216248611611865623551100412112646225327130174903029208708329289589984545485243510812434936587883485444197167517009212390618089329544708053810904954031884089680249586081305079633704364454673068385712252371766429534601801308878051557511333227199782232316126788896353076483424036596637745939649839447232300215456760825541258362405433295810829954085327930615818084702479771923310973591816307215804744693346002996630532284463067286017552082074033774471573343922636869635277172217433486953456465681217143527814643775424878627966665897693011662610307412715244017047395956053153118113597371006563665942393098264680464860184626114616598934206615444624276698224522998027922941194651641993477117406011828781847902095009915735398000032452711313740159364528132551372248448172624364103932760908807390299194591221971770606348951953667054707606052485262133448601783550060177657638448022666999135769855206640503428931147166323462596754360846549514410681824660929139282861607278299783670690704833135204031615704819393107297595106507204880270039826722864890827676738218925471318089496271909833819474032721286734346640874652568528701061318403242087802185709088054587614218420658013347696515163466219229803200898767894086416770282602225354394966721348796769715793933048983708627234464940419887348345703372953005983522078776323191841390320617873345872179004205669696633379991256705451764010337406981255997869610602262292010053425139042241511643366745559791995261711318071072671528088776277652307848544185250719159078752379071490107136014792690789356154147754256628232158294768294554892942726476388265844937466825092636156521555173697480612043239083098393661505202567906672813792224955753794792106217866086231120736073097019563271410675047220718266898264433052350709274587409682633708284690510605846188252803927587586730486768406316891341154282715394057817438139043438259481187155764246573194589192861767299761012617676437815109636685621711137889176448946282843135477288791159264349282546863299567808623865418956705616440096809416493771627907554900058736620673922655651401310929616210634071267071245397084571981523726345096197048821878910142351345809773592217238425812670237737442850717402585826052873146113139175011828631620097819594553914111235587956230501208623524019460946337593995066532382673210554587549761453427632858400903673269441675221118781979870298820887354752299751868474566483076233526863101431742408536154262841623992830614857183793214962337666658715132717658604943086853578331663259094046457815506967122867528360378495319856763276815425781349085978667279850539714079106866843635054267575502663911148887590545275467942374473362710968618525088257135859333638226529544756177008930964824336498104252775688993730470900432375870178141635444336340433690397494095789980536424592539997056921457632144331498648816797372129097934261205175195319336510912973193884977388459625610464546504181906002031323384762272616670705864482527380983068979711334541900556965279902755536262548757111585115615359523189134051400581738388481046827272762332800110363546042295157785203345331331434408225944231492940299104285163355780929408641662188960063309917662398099623087160637856261060296765910973731190796615008984881360027486614161580805756501071360857943079904875351581763781902578209249171207229909570227560129161237776501657153778564194638025591754712090285745329552126995394240355675311372086526484990289046217703174357126048276195639520170791845302094506036848549007009084067574118512716605102613290520231549354747210272492233838925678217913221407260719374838570341957203397515202054406035407968485310143569246955849871500909308551029259471519585731721234022297292708774422591808771502004767013241897100276028086790513235093082823721788743756722137042917776419728842190616014039610592251776426991517535297212785861658793464624920952001105177927132051397686105373904648280776080238323541349670239993757534366248447525618373989789127504544844125463462916109685767946440311683638988888960136771579686284708051436728297031212574177509130211962753785907900121292632932710776005220781367125770662263170977985022137201150230954504943091634992605152526342977514531282536414126460508765298745601540949575759839491947408793770739988845000627849558289730196864376178481256023468186039594581360527242852385574034011425628481445406306969124970489129486231547263378445305901039344456474561514105660349630580986262513802293156782776021051534501233393603744130712892331988505029718927498872223353363760866682935439603696248782994273136880324990544314072338271079912282579432721615648410149535195789338485120001354469235210447013934646155726364479851917314649587617296953549719165960920034257746235851195678617386902004107303719620187445595428000618984953895635079903966266688226819935963328252512185035035933569211514345575104240511958885497263860957420157431857591768729905075079327294166870113857010090615346933260640388556946861710101615872061114175186902036758895014778122924440418299298331793152473832545157190463670719124033950493294465191790312116082903850088525237914214000863874957747935040450687088221792672729338590576975210249580327148626784145017078151202843449798143496314415889673799520934870564622075098369616982994993082456107954250184971067616871275984023800663019768100002099545546081014519816420215976168480853761293753595105825226334615460135681306635807720481060269559264504025287226385054999029658540220874870297242762442334073117948135341320383657177177240260396977129365025783034059981572942567496685516075785523929612798027823328439507146560352869343566239868457186430874628982261497165574995606015699164015509671085174472039302678861224279967157041081903851137124338321261469419452445289210825778940013904087022973072371208858430169058530110968513920282536226436096686822622070013060771699549353899873996150833710971832283464987588639578391215470593798578343056428770703466704115260749510588709130362786398250778930811827942417813189487808398886321642070795902409603485476969122093530680345062329287458145622454315846212940709170781558989899164015907008726219613036649390788639633038306555478285087724820815134272101962953572319514367387255886107124766974238414986836063779995974929171181114741959400008436765530257557746115863484287085581211134420973289412501227563827032393292075043096400359257491949344752142106878063032701193038916012731818259680292957605537012408820939616082602126864097498639468775866057372108729013013417462024943063063613456093490216141443142965024140977829830501723640666028957496045505256564867621874460510486693507568171204638989176799312911289702551813345005824261581594823013859283016184790783740412139575941932545168655207210775168717449667605370301950042659144129385674060326470997723735128174685692909030989459615226544948813861514377066280959225881144271811899943830398211581845258689226695064256361177923075474471585083854774007019704400249081257179931523991873202181733801733626731319444231447867084323546838493382366556811780142489667781255240761626645006357390998279635534636923829872068737108428983199061647236170230913429480273153154970593412600528451087261643382481670313164784381376011271983699590696943639622461153149157163182949875196696257659635018775108135415933048345125285789984245228609466014767833358152166327450054363569736047941826733174835494177487142660244068982669174077527636856595806564822049628392204346835511396413266177178418553592831657560175706940664171675213758968248803358356099737520321446037010370439023725146509557707197498355281800309517885703033122180594970600098526265511528651243189088496215239114750129922562867556575572336592210899986428424202143243670278639070504481950734594604543033422914175563157536449585257601216227216428557650339818109615915736363770978726974854449232686827213605248386446417088417861939352807587484838001384190859401591535807945506287180529437516407514024074573858835151921029790347470938040734909348375037146832810498641761521641024441753019605672581501990562824877383097977692609078220784900512093521596479436426255541003856077227390998799525488276624473153085310958463585920338378470893144798577593730733994691887472434987248447863703794220116478894292633228747565646712537318488748087606791107152335939658957014682847316320249555780736179797447535538923981611832212939150917786700234625581211778129692620607842575783631042089714512907963941747242219793016024812544972816634052545535921665915337286620962227182733702000514200239955835166592475087657207662969134798670821208612794602410052987288905290346456635396506175757468665652946012432589705505708801547479244553443667960281026901922463164038489436530372548300979818972255582462939798948803656635412677325526084561087565079675205859101673796785997477232020306572302381173699944468434696110145285729879403111458739370512903551665435808660833020026814310403570374492364112988325876774851581068193716182788442340798453563832253340885123728641637003856631488285038809480504952091587774155217802986581632513928543283915453580631923836609902139039628069968155909611476312763202542947984155946148965417220676426714250019332005617677100502078413256197733292187465899963067557406075908101575754749581087773951456555605875488016987391564841847350120871497706347931972259280535564478983947056455198482328888785765302875841702730970157601921328182415891402846149528366595738363419689890792415340966661246699050743563508605170139631430668488576662071228121697860198027784922739405460004676586435599766254597607767678474536242948536093020998559312089238553715139751364996736697907462758786391700797900567782273551276474808298838701436788659304452012879696054598706219610662982104049372858173920851951117248015162056656601579809335116347981566674957171189453558151452991551855298040402677743112096269783367319790912981632781186633657804758765761219410679402013586437056673799804920650488197808199759445148123415072405871357854713956412631903465328126040579738818882673747293851299083842604541586392012304224003788513855173530188495125869317935755489586339442257659953577938747055998979873338831437532732813388710190610811637390061508281017231067732811429208156599133031986607730700146441731136876494833924761847634783410048335531911610835551876070741755262221023870700582387011710746867383626130076621452345019777682711918142540535970419988475110179229099245429398562886061111111094483841997082831029575024997122225219820528443119995502041802148357040617193979770114136066515846355458972429697028617282936795168206372783358573831713076259080821564452213287585085597705201716602964408294754880971569051274649860169405405449493672288417164082831484556836351257410798988065679614424918405433122259784842030093609958055997131282909670531309311503870238012037861757226551966243242630801790715327161515501165744200394789568406026065846770140082082318279935390859864136301418486124953393134349786470584754464801767298102684424240382245095385509398103913203296917934699260457199370123539993904756423879418188083455558418418168106166232460178433198856122966436527006047146435461289695655242045001119052375389613544608589908857642087775079303874502145767277447939404464224169992136705004419366104920835606283227292119800951944294755760819642348836313732772499771493602833499674386795884047925704570934886432727986848476013929085879168532693639903068893591517471590871740942111229699575058203540020020047256001972174377393620844980270238739296531257298301066043206974649316269747219510196879992537420493442130253990290655686243070794319032936005687765990327820660278228924667690788741388239940222158434217617768832837591107600360271847671149242305754369715648822967382169108256236199219898107174808545482354670373182850228437041857390230507222349670350555960826769439573207551202103967855503693561776255678720373132305604404771797523957426172780114381280461006192348550563658928126320929835852512063782225331182815107128081612280711112882559168567660306309589855223191377343345868709280514125479123679440698534840635929538532322183142817513382870983289867865493425602709564765274778227104508897121680829256565281034596363151529397034667550627276483177771381472820668756837038615791992414012962846033955443328019350418751866211718408135529707678039671018815178986189849473877580741664715727406484439986572163080665796152942966841168062920498938032485971091846501868562559733237452191212712263963564666302347903451458479174738921391437710837995330108564130217409517038262919747243757595231811661336818567940687190488031558998854531739920664582805955104610179426493959914746898798033917115050811994891602845193852398631424426660160065562614256681276259578467236396182676283614651035955335058304353507133879594929166517543158591321498924896343363305619585458021504904663071903009228155364099557371554569451857249070145828032560076086371239140189808839519107518919121151759976275655690807706702859180734551773966586659286653334220598123520956954552454266734058886199160804254904383035626297069929443985611982480273373811749294270950817228505875450951759574968151588216790857976092204606256898714425803258103122303808363636537911932910503757881313625162220683173175929303924360357029093401711801546287071475449275115834506170273040965547047136624077749868387076303924100858926406227178675658255184479281348666359891945241077332927000388186113611153060275702653727989413165282250673411410975570145754468786126381414068957742775043257979098339227049510883474442060623349892710288800431933633748603147087215611990263136702330050182860164926547980236883558197216614787050879061086295786432314186509551046205333843453453804021584476832536820364605787538924123649144210457105849143798340129321535206869711821408302159672230784593623792554529652220080088777031409370827186454440739192690877688408891949416500407845755844309826032649026817363124201190576854997584028474713831989845457848514371816577223030224623097451796247407301887367913694103410620783504160399624829099539334668448848495855916165031058001202720461778272007671437777409653949950280763127068174196698419279673758195582740435237921272323937351806591054494273601892126796886751106156842890884416242629544303665162345479784763305432249988633711471635053126358689151457787232257736908902928954426225805084918834338617190687040066300721134686454729473310167413469043685909033748986431533634489472096864939059787450557840340053887961089439114226128572476062513264605664284375273302163616571181303172503886980448824423149612840068229045793003470640127311359996189767833152176268679684080217723654580596802321659207915994270503049048524545346849883738290337223649498822020646222849292000366501926354658435982085686557211992819809217366230205789307073795535409438170285370444985729707762593741387950888080363933663179729442693133367565137241651988046817259334463087475010249064557602492748840287670509318569984776975754567874162448275153699679154092079068883569847783694041287878772145808669448963261493232626699251984186690804786008836597581694773483705587368315480440826769296555383851824187402968099193327496815075596131947090978353362025167849673761911496240175660917853418170299428715074831554675806042628122966779034594425357621000680930610795209687221874891652130348373552273643220501812488457670108493455586210670561334543569429189527698062372943312117187425564038244411534698253461915149867448187528235354778287043610299189531044934131835432105702248753185247891150635289992369413079534052243328171003864710592161703237366757039960343095092436387562551225341062180259146469822305242507732964911575179462165124171928971306698684151686461498761559521527635984477057978127601547445242051151507221366769826400408954007972337752509254729470498390005239777607304341410763619939558454273788971606419896160908575259672254475507629147257231157514334849721613089602300767216939027000504679728959602587804557867729147673134630015015274038307791165207403067047291672943921371631931788223968004105315150646016945257841997317197015719758052315478992180929982359112853982466650328070121362634194099685916480487171425407209275860910211038404082129559683085104959098801059007623981042010990289571462807209445674337175172269325287112132501148094132207531173489899831531531520620108711128597460756720244027956735113861856796417429430935825783042981418501411228683870316509515990973845892326613579391696467610079753611455617155088336250217533510435331697554082034705286801603203592519277920423093401514934371098863246872847528308318549283299109643580158866099913040762802396094294532719862583458378765809245899972787162900726721709228636531302274935924745717485416100606313413713920676126898139188882915456624480998527753630319674034262306770253288114114949025532510760915609976898838961092139774278036244541719692959128853027281469516223828478329401468749613974896487647206972706183482455789067506564959447887306669297015942936753808784665924574007143476359517420807680867973517481951909451983580227178511728725636050984667390299278987871281795484232190180672473370424230376035321725037141277716787869487472732995154559640966643258739101306220894483677179088228065599373225610554852976054602538332805303070646586683930177640424338274191824439038827644760609411964092515227991945178183246950703930628084543640346902770612786099646747994204156736396572522069664909918762344615994989695409429436166186091093238900754443233200789560742542712552472046641538979376651101414754511889828611616802700700038725035726198022031201944544511134885293069491090825840345699808736822682942868150384756276390694980674048269022360499922613182844352115090663813710359722476032025178599867792301718564291697331500343670964270882090846657057543615575779210334556494826113728717046036520035965278463575886374308435654568340830646979451261460720058659025752163593503370572919971652781026409524164960849446622217951701281320146270454752663017420082644675326151347434482749862625140678771174623865006517139913135755105298130092654769707704954952763578724804633160726296893059341780957252807705542889104453548291384457687889675401481235828571228112318800082620622808105158735233569539612048726373272061742730306432118961690428866530046795516735791438866047256005146570679276110888140392652220351726069678379392632886166823874325659899474460036597931690507181483436394180727649968971364367159966011130318881290760648102294127588872318703635390698332482410656796013823672076047796304980635837848230400207438437460053195027419712941939486849020226771509203777197953733350026188855691429387984952072356882134008381760790870756648859718560497713198616779694056838750494519068782666345289571559545421018865552485572347088128377794548975519721279090965017726703097234155128207224544782098005820445795068230601734611595168701877356520586421389656096383902954118748953100278379733195237609515666830570702198913501535792176212893001156548809965683848160577411302612339243071507695060109418756643562610652623957088570000958434839351940748863905452070111080592442501995551253974783243158579662347524899250508753007757990058629026329171870332919493216180904778541617152820642918479909992473812163558943720683442995960113457260256458206449947018818529350160108986830307742949257428899520579034666055351659325782276016307847592819179747287077713873126859525116465054933250683678049578255362238396930013241108163656749653342245613385325543844658140557906327407820596061228753899595254335798842247185260439755699298369996019278012362100759789525633602827939221388058594868146202021919577077934711750370818527036869515348851155335449314881680425824374250469631216143199622425354650219780602913291908967574602076080346584651444898685579382762325396151066739409982180041550568353541559085219216586767210126265526484998430846319472864989691890427484172603261902130607139073270015282857217910956501021100896079394291271725317099568807437118417147508916576929397261143256387030052851688129756145436004359127180281828482413398795673801628501315398400885317365102771723403493506507574216739721647994103727729612609013748578883869932414812233357385022158075907668930757130283506947132797346396115310336992169100817099520845998937141119929770623506941904335837706917675656874713364876061562391885006707340945530220876646253787978931701948614291527268793099705568011923043136905387978363566006197321177583556857211254172729756113198240613296897310637119420609635227686042062070511719084935599262047529676569963703808448368806233936942363603557430323344929333953871192112345217110845798708917480534098724630812305600413874640422299174771329143637992789123870570993130150489527563905100949087739677209068797505948209024928640179262009564572020167525138228889489954863961191283727245368567040511754881885632343075781730738897543950971786535733367547585092456044983914540014037515443577491185466216321130242942578382036344515026377599247946831438339259596623000128903181331403885039272317157921950752834414523266368672421141098665389486217703977825368391997383197634401300904953700302205860205121078654060737333507950346144615058046430395579259216045543431224556076107025578108296943477782319353324452813775452827791720524696892057479880813835730375032066037144289290820697264901216760521320873766073625232019706224408181061066041952052844121540953640373374827236585565544854312133538878558551553241003633961649152998077462511072838818892340506947567381788942254903264672263273822867695018670083864936373153394419038011950941100086148458524821086416342615770875858281935772227776174559038761526803285516813832161921201313401639263835385086202807927567567749143472919589959353640961314567450913481941296158479507826262478760497784966355878376824375650342048265638292302082665848781694379549675845623804735579797803586850740160272828767370416404148789643169755317998360298721289816929200548263188763853842215978050868393590552553766916403312917279327030004539791232602158858611594700039581845719054564062192229034852452339423119427589193500663500725036099283226077704811762354953666295488734249530080460463397535293206873179314113340123673186654219140007069442273875098354051063458807911592423313521411657458985144000984708030333006558241081338575371872694563136102129966949516148854785506087038887756225518180229002563254861539987603644918609322397291054897142719512706467450225920191374409508815730962570170433982966158780981099423769966868625599123809743164545029802066712656794131373541368465743223114768268688707782141474407014761638151535643601022489344654302015651619141451419603061232295222868751021635103515028521262200210480049900276897771493983889847007347199426881914198529631658607286159450560503292884137397796497005824691214478141254137202286256282104973246064115060359772588804364336871369975576523212811493608954946645942654290317859152278858009313049627172609366159974942755912462712005014950464663457431283437515002437636481885532507694866604135370459966641985976720512201714178471731585787055603831956948014075727420542763943238342831239853702994403128218514481196230365293810807335161456366063437257731068411755622109126845381239880867045186001612033716511625626005054423119736364094710873958545750964811223850337195987147728198713685497553872212467876253634240678132673689986277436248658027762566999920395368486550531939650841273236743633527839136191575670795033229211134606367705785119381913529750864448018944139372879298715194155353373267367580257845098867230806783646232860109281832434005837540646341297974763409265709138080287237332591758217050497539163944076984958187542682796921719531121614829006521925403768096489511747458907400520888200022990921002469950922506753625992724548601414911319412863233485884180057649982893722573127426423366465947205095097274155191404122768573465933586156100999381112589102461229460726742264278918615000848835112806943684961858387076573637018714263244650908897701579545006891087164458573677255014271441520892722162723733843165626333849005810964068403863354162220361537294095941063730448130761486305393326357603948636950307168621783082109945563406965041736370765532188724703617586534119759341099718894971076740361274217120710388732148539501596771623322862954274119539086288480703463674681531836847612786609272150003778903293653025130519387476493147634117405249563149831744924676029832560620392985660371282285463691249724588254061810247386411851263483370697168327168261771366654986402860273733433325106577321643148536407669512537453229109427162028170234720380711351778091466703195076395671454887952030128057651423052153095780009356267901128074459650433062296838445047977959254767608736922794805844396120447619134798056747939644716091283568906643870222149127489271007018757551254643576042193322606725667668449789186157867777848616809763936756687691899904667083681029269458882184373098187516728654077296277945389974548398552254514333370689164222021629905760659919233237675789932168688703569762202423732485902881030566080004757590791904166606428875333039246843705596838069158887874862220676275158045277673776579653380732483090428950769259770852653152572665699648716375767240069868800706793671346614169034679278546711935371060716478419797352098512539691038790253839597005345783711161331389098167258726768273145018670809538443983114359544967515275253438962840779146515961134132165841374101634574912845314927203778436030253341217722829545619653504150477883558218678190575214818832264555302306844080412940789229075792700016046680770258191052173156649910645112175568852013524838340284098303342822540911616727510801447575393089250650647878896609633059906369527576924845528679904001366547634631151342695200873791517955573026139752287265934124600781914719320153551345888848806880649866371659842468343091462294012277451183886174844168766044205311271370040138722825741192534161819395729138557580776613331397021081136201743583658987998855002508362605253960423878044125661578467523747433770539901295740957714915548495377866788814818515692418725703988440618304355911391005034409547288193652180841900979984612699764522898213137992408767175765788901093613562096620384904191393313211983845130950321976059124474154462006702959358142926084714581817189222734875461052976528042749942680289607196207378228928556257869824057588378173709138429759573083716332734843174147419042199550402648051907459723485914084058303964236751372303488325835862641564094711342249533405231680230389980691309766576454800243718277943222883175335938286530958314007395397049999599929412150615815981123762485899062297139739475338438079922548076837330204965272636838536207244627604434845995742668289206053637268938709100030652585403300413634107622370458585055274904436984217557594872093108123944507301117143882024566935274276120150970557323490636962414550634972276667196601630588753621897100637231208025847135879963313249287520608010679914210322476521972208460626807720845500416217247987551293335966403459904199272501783016469480727699051320003017613992198039350495305896738648061723135535003594212831516510520755373375732188768056088323053735944865651827016951321618687167591192541818010265716144900830419751368116513263817288147715785248352192549573767648366802998513547298332694611451642376499733633479196901971420920491785126093758352110746611980113660488273688397508662404188953356353997595027667813974548646426845501163269938759095326988065093547292962169273231231567982376295106941581859772511544513539969839658040886211902553754733986207997492961518199757364007048697804596112349652394947676179845127965158104712687624101718103781752337179406051168952486958565509500639579599262293293091014857855182163219461367687822595299159639641227163092602563075900749686838780835806812378769987196090225948798146835519158396681191439566842246488575993691335236866749659802549614455956747284797737012001718660360810102443590227031596607254482249116624970067630913781698160460605864498950244159371074863553194518707224811516965606866679789905193598826631943202060584493273367370299745380291407302338119553447701860655873410752955438383717730825674488224287120072666875383758536693074965823500661678625284990116500991024943133458419369098722189033173176047292956145540177412335146854210789808525480918063771166451884065986224211692860389851250743334552716530624426308464517270161347364642371866150339752589057104690925577896759100702838917850325493354550502296703055705609041163453300123109885788236104234358245292433730399630714620567365395989256795910127899405999771445817319205061411939589222831555812343653478611741870049213500344800556435263252560639878611735026727310157141354820513406352319295125022529707724834121046228732994372408248807793338463966103910959057495908485562936794354070672633386665324424457749493577925179006333460530676390204597295969010310841188915304132102619158977148336677586363943090885280305105165402250150587747386649963597459507144673494134455510283426762395121590871312312718274166213476839659575992453545506036765679666375739533230209951319755724947251931177013226532432718764137253464782261482815065617610014299738707702153292693048960852462439324916634083196906511429080011771017512142701196126893780722041700568861338983907377096626083638065763817743866428003505515423449880577290827191024814348455248902194517920008240589000541187624214177302480913820492139907506874611008465628553895026777572388378503177710644747421581653744109175458109255829961381366229457505537933655299563639379287352512797046725807016324440756117502118895262523886796753964563824742804537479623070948569602588557868706319764415745923185707497940920957298735021073811419962715622677832964614149043083734988006756848671880847419318216539442435109480057439554494377028345840049655444195001036967127845250556881922083588576157000879493313101627009147095914559362967555285600884684296841854526091009094675773375572970189330391008877223025531436297555930030758608783441843871502347091843618151872758432374511577841418305790518586935933485091238953194487887940741558143251323107994549277256702945646749872295661779369491495786570491705122377625844702158311899749397073825565214847941059942365023617247081682038722138868739934383413002591371490389400572899139749287874678191195177829389368581010594025349518408391316488572674616112569032484907717441286466630462159433487032660995959320314767498192053486772133368356121277398459185119297023379924329066515033469737172397832537917672429046738043062326337342665884110528721033808447127817904145356195651799265729130759458048663939715112585867378689229772612759390215939901524630887876006954391621000827536959386120068539746832172923663728648531751336470588764387011390388815025511584401368651876963566495153140735046546646842669437811423720051443375478866132984023691474779209022628052496801313714540411557665081218438306712050983813643888837536373755713047165155951875952907040324893384690532855520275689449958184821298250717574267112190884182500299090524225027315074921632919931225739905856537543583976720490355928315179666473424421825792154582781763323399262406429732088562477184691153839549465556282176978075074280049391480801278446283766202995479809743125121855521033570395514593094669699159798549316373478622038598657441400276945007402416920640747392480281929572000754245029561748766893140130252196642931183293637945757845909435310434949805729388027821494251431197410863146550050674081905586479592599220841969496899830536995238418215962634126827318626024444247343304236315730818403133621718324909169424868736259397383931672617969166122431796889284056403709218031258977628735830921309219317829294127936830148993386290303329915416549297823502394829719119806143295392971100465207404258291393389505842391514792455546339044399055295658101042020631756063920561610482093392144131324111361332532357958454333550321830500641079144944636319700804354235363077777284448686297981048793476432460164385757359522582722657636988923389206613016323578186174115883354573867353706984391712501700716129710452846425532708600181878731916571815545140089718653180741617831974659447995908170368875595772636580776821509001953046919922024607248819029884075650602206397700122362777943712406105158471500346495467366356694689527340544384623387575588687324644544499776842662667798197977063139764041672394306644030293449109136228395296651144607658547940711870965044692488082923524990381669165743788938975552606693782960217163042395607012125381347388790279031709719939268547337434391649877699000133865417521181915860325089764300639846610744681916573919608841721627151850600339561616569848446471472471032640222923583751100446102406065560788035219369518220453542950467949754500552745988354301938174900230072900336769465786067008442292022519686999438317638831680603016446611799757906954421208100525340322281029241406032342785101620775040331598203267784856138036165988216003865954446335938770416596506583529167024897650772636910814078067182861184464305783389802202359044079252043909287116791380840880479599191590465942262797027771953175244568581988690340688468611516070532090626666616224277191229010329649320568841764634721174319695240206250229240195933573276899850552069234445744212864296322168497136871423683822886198383962405875785471849098432916776292935710099835276328730652311741158905005623199387944320028065719039438080428033901014474248558619682236971272246446919031143796936191436928513314996074789665793682100412458232487594438244531636633604093324079572984417932503224100397778393113892444562624356614121043179307576375818532682356875853742590552419541099089417735479471324520460544207374741437184085941054843797729785218393565409823643956717283193591293322550512528336305831869307633349429496020188181938129837415996814165837624981214167501014617341613514394348666577729812111577109482554325621418360774312835253687215751338909717155157001330702699403006435914408015518027081590486411173602975618222156194727898365967235053555599343367626347722137847393498267285197553267394341370209043912635963744969049186594803042965207033086098056885334434968402193650724419792283496595367239933718398670627806770279490948902014714689578285063858470953480407220236163315046230810221720828111231707308410643018409475261443583602986192594567398136739099176771245875799789454009464261985912474011561673313101698809473748316433603027144391261227522324984834226519646051827520430957630251293140823619688969160693267096552660917154059290839444274362370624633120547386881097384426423883039950425663844685633735419362371723449401259057019227417231297136885455152896537350049239485418839161896264919809919948234674304500310193168711292857037477989732039095490981986134756766583275274006426485126463418608686785837753500264957513600935096608545258183598600215780618626951759089304505030379287607697437134290442127819096261754007332174150675893523204957162310504866255494026523773063938158713810507308492935400073255858201996092981536055555298355374733350431944732873770303899977274960303780208323862495633395152128261212531969935831906103795233630495096913606168007694860509534332296839236660677440708912584739093604294547668992769719425904616749981614897836548296217124006908239297432185931665794075710711854855606591930502161638340374463832179293760701121766156843496550617690941255583064255911434966812033244838229417968687081741572803779450658274306923703409872401545262338581346471096235404443447042721064895589626318386058309639997193301266032061976841590818374173971237532944512541080935734558326497788494495859199336849815379405139343100097915562566103776887066042566445515159293624442237597413789070728040642671733786268421234781750026595043369444876706915992628780953599704195355408365948227095940337363986727956533221474994582365814246779982808837571482713699498628870281004387845366778231626910523858181304358868735012537507948090685818211578609515739994378084787590796534111399317968197530275437729147793540588342218209097316619705813162235096650598802639300704476071725147393227736939805409605009652664058882598314739679079325676813473013974314181882793299064626214838689976972579261474579673811860289211939484243717694840145359289889246799138278601181025517095591614343765738205624280679624777322807631814592265594548298405496125474586903257495274094334300811035938749910266231323088834633674882478083285677394104387909165139385687517150973015127003587943323633581081382755638053155575826803501965001192914160712075143392229769946973800615323738000541264769349803828705869028092996375337115578838061961558316047822548229480060479359401479956198128070311720696637688468942284731486540930754734451296369453651324023738667259203090163443179813377779937856622076959177778140762406284222520511564673425252218139767983567703548216954889619861283923962201094703324130658355118015225241529883672652372623078001064901015116067132502541994474492555743569961373098077106029975235466758363521350916231601128624040673292400498302705303624985158901029107412969477555241891360384494086375104311585446937573331394730752425537747468717519133367069306558027941242141065007123816717683879803898962947480392995946078436857618723525092405321146780926913726530517186102737730139808994621495037978312765290643051751813936036318698864536309268963108615138691894466619438953033795036592422561666758022521617648618049792597911899549787569618629760586616731226466955838546490479952214891575630610081803373461018213185232364974744919823261263871521988777886794369806018412120229591148859160300067687569328312200478937337024069146448268920307371444619627609665209524535200753607603825409226423639152054041173085193744056656631334104515529265323609716667659783697951304774191867565722480926772330324341009360459558228622136211133368103621995287106333609455968309323411412169039782989961033123652565766392700038084803588465641881825375297411468237866043780559520768268709571771503210884990367255499974960864703456082200897600262746653237321370748975225766111171159792662597090023072785565777504313386142598422513724983704192000979498400022603455995104595765671657170085584351393678068457130521406887143133894764801914057995983325571422980797761694404717151267744028091869435726233634940002594515451832824566309589216942165988188687913834467555980586933955214650176699241334382618436702162536811012805782380791436094887491866244003378171185889682589570691398434345403675726215357393819799253418431890629094112132579795165902541376626013473064288617569955779118115120189887455471232654900036804612622853222958038889619013993142935750174082397535601561642601463425288560457980459601947370502258584639329391122340960660113895213176498390702998384734294587768793800067127632612156582864170731362665602594837197356090692505340480756968008321204814878148548365600001197261824174924026111782522526080385789712335690154517186876558572938469986914427630587820916239781355037462007852694173425738719387122180440968129660880257191311611536038140216617550334071957124234118052973842706587560052574164872354679072542376752811518227596164290124493068504594934729857984524263202674085436092858650027057557842263029241244592811888032637291881172610679301426175199761165349001801211796376408565220653557298417053123978363466030509966938167836503476405492149402769056592004608197410475725293446322271218724427278283334793187047595753618958992484509725960442575926149174110888340094609208048500831388513962524952755251492959369381412905170946785471584159488241348229287148683744111863973258569458476425711409694464332685698041250711887075112506572967832330679965556477778362493483085952434801057403824678320240437846520822329745087106506096933781545571140859227069216989775816865985160367565813454180592132035150031343227085391901576819643302161551478320913442548041805568334240740635141231509247669030152180335802264226078970493073865061988741029892206208539612009614097865484158031427266018015783985389615542670252964947444197479248888890241891671848521287720279378610546120568339619943437396884996483330200153837043352189764420921209065538392280714191141998284993261589274262010075404487123196049742727660822977786679238851641782862018767428894483941311226534275875767755294132199559371818645167349437961475520401087915450597043294897603907563256937314215749041140322028375582472968335253539466849511972629972028866305907815284914020544458541873690604291993339294401212735090287838744212010780196967240265528967371875159977668956593164791024551249167428139361925048096537782383968508291744367092140730749849590424103892749424365449405219008222394455841733647365719134487549598265349730421238460815865740915697901991907945741538945727981514498326778514270574784545427071232518415045107790150371792580847233228764707217081637983799604769343156206221119546463933641065237209616553936236245488016570900795747343984893083478822085735993543396669681120305722323386717831423347094022685482428717659435326718588359110087810544366637465205072389356632672612958320259195093875197851403590913642927295344821354210428238176774576377101111336467357580368061797135112852840236209385740243559963437684095637994870098301030368443188543034461451609521739722081468615701565122694348533425284758382776497840567404044962021655440589823650855065183876799320201356404186275641338455210751063379468391714692425457148703988329445971757312272673357820847709451664646313027277096150685338524294893810357903909440558964325524074397395876733730957339765394105561795856768962992760391075042290440119045108058692831804781706064019967433026189251129597937387193647142917589123827700229621145472327864687551967860653040022730513899215929606262463357114215770540886267904182980155547766836408130431162235582194897423767671785891169031990200586655067543276335783329643393075050497665524175509424335693757881839923686540798245350214933188960862720270799465947543706130608803228063239678723501132588828692436410030355363252042410771728947211984021289210575463183059448164832965331950946391064972218689759052097427824529933875628537544746256304659185618307673245542333858931727962395947953708988553487537494090482164295754117299538339352133058184824213675457329641020356517158623239738590963906933108067476547872222330260818404359100824819931837107111228884321931831133689141314642604872089013940392210591566162681885506257931569846231088108800255039958549591396391807133973848483145188931123591238662965784638583152259997225511362197708350345513017635567696040922310791653211508970767642063384410134499458634756079093631360739919782973974814089253444965059940771639850351149520606783351168758334965284571529017166657143134891909182261839520670311531916523588191917842601971765753181252723492011201600961748417668932385227726775283045739472517528292249796954180053628409922282166955891943108711162496961295296424269366125263351719952198482457884319103576075371869586943978659171538639001167824637509113348935993389901954848534228739914222683989460966173684233229396567533836069972740676124243301813085449663830340572887084966509599311872082396139290735292317850438304293832283813873975564849213874125990772080958950771259256463876162748020915851658859644292569743649104666247973712472035483598083174774378956703008130103820694136309323586599259634444081453317205526644127464305232466084291932999927570590569277910412778239712826024855310668057496574133320124092384135146819242536094495249198759643013663481369672300993678465221322213600641975848407062285606164555345284064876076356476328112772813609826181795850173211634654964631165172400650812817986209462016937667179984271410244876734332616676811314545662502957267257163507763780358903805958630139663104099391721804911145046522965169075118381014727841320518845858892085097099917346393958075199245132410276678589528601266102934891276875761421956998059066272951445446182383623734306447474321535219668737170752159666447729972548137318763970316919845299255472490902623101883595258913316614244672640711496600159209011421443966596179412734311181784617753937322706350602642660618275287075400555363536013437658407996092695678718789779898143840125132147332834715045297819129612280823194081070601419332214601309653124160942642900201786766333564916015506639886617546239094573127590895675877387557948154829408175124992049208080648696025940546548074340592458367632847760305540596174722747451746049000072070650560445044870725373995066412964574301393041894113814619375115127725434235337805268065255764856192939854486711481473917824435713177175099005235857808201698204271411058483489732737065734003864840086907094144539071461024984581647197752750858489076243997109997484085478834091001049837062996786087755438108064844076963978824391563052750521472980896925268564862925706092503216855752595178603213138754765466362355341419611859419061504983147279332371235940462458411212459515727098258715526429742427278186694130017287537180595205631174666188242429513912159760604345975002415698995976832145118224468747059969918401509521172197601098467027928024516670153847998327941004698108851780170444565730056980308181803662422131073361391302137384307809114265343436142989441171076175730917371285309143834844513343008142882206547174310059874400679043437671252615118091690897665940264649820978455972244200217247907419954375447187694497002833966186136190601363939912201560349410390080016447169894735318702328228651593868170239622811650835349550531662482593227887889895733586631041916899012597753427727129160306304966823770355931034937339147662853658168770676378527547593040946422486411382502365728451830004237977201634300979583664020379348083226503706285158006785672537330542549673322506184328821514971895263949417073361601372269707644852714893621340512749229121874841611292528595493275944244700193081301708160595954904486433486942968544163821519628242099526639348898605677734591049026789774540270253064710172799114705302379417788080782494101527098490819297622492338474590118606278352037267519680645673128433647000585060152452963744493575639132178160415768047832617732627102728459998337104501557729835900322547446877837460682666707970195770817420106540216639439705522912194583091027007091868017039818831093836135628000583621589618728187537699857844967623528413659880063829139285828663835115803377108305255982721564917814693810873877504581872551801429457438860730575667138753232253906882014119885405798952293251984017120804036715451354078056754223016035568141339364172836828690063245105166069397979048905181845393281741450409591676873829688236637094438603444502255805398025588101054111749724697822366136893711007428454446795251456227406642094992180464762265830507189602549657394772947746623432398477336225206252963264536849959524485681663624145159734278623554762569654321460693983830469079706761418268806376594824383480911179317420746973727177065505540221551516423551076481702884533054622832287862493152638946301674274067710999894730243947234199875436368279645109013880293778567372292279286420175261694790575451044614065856396848700664208579162253450999745159911957393208234618245912079324881046756414352009419152115007903083125295335472763808724819535921776558805502973758071804115689674137782623636417576304819022370701070171660607599885409269254829693219615155132891872431449512785545516449419746411323103848375049320532215477054302561874502686834159221925783800113357680124173936749234909582116609973530279990449574861407813585167702156873849582578920494864479266453326537640949291783781812690502496991827866179004312825390758379546584772604918052068334354579369572791554610271689322449917132315225413946216942815266469247557995615776839668833582221475808091034668745969862747458979968214958467109971599099726519535297162353137208649551481038671724365065464837699629298825249523856496725949175366830550355754132306888469723219888782222642856381260716083126407776039419874893249749106720705109257567043196586350856739856188857494551156098253991314074719286744682170083423123298456309623360261342762316897461668752907926660966542607152600282248645982602091170957237071343306702185447724290708515339375746485899949362502311533174030221671788551211977714250644305986766440234149911105152722446341678073014840334124275340863933066628102712869282661441155906243239505886603684188287924053245096116282799504387661457539812550979087530168831870713710356171617284570962319192103362979316912785989702227877760535095963386889137880792115489254455664553928643242471349510383951916131399188320900896836744890397036631815159058535870513034530821112935008984840951486511460245962247318273137147266490707556561863449891627236442382215974557261248926970414883564872929298810900435182172653313385127574293837685611696501221536145982626054547464086698626844516240491116255794818246897315225875595918724619868991151478331941533417718772346433375099375475722728905466395763678763402419626158088131336299826251372958771140072852536851580365488576149325556707031611084589772906743236521391873572190843971886373935873182463971080935995286974743411699005049165741080569168943496511237604912442085659349539004849659777093652396706686398179254156412048965193457847726173716323766103748522303792566030579928802762369327519991599739300407304855350968404589315369158651012505617359365789316809927414962411702900508190696723034060363533819866730968898065545162840356373920234683188093934499673891598387121589731218936168001998532656585892223974268135453329797024762556281466347391409995155916572229738955696218058793968146507083286867423664159747684705254763838769020725813695583036666270271408647837545274710192286095358922853234362410332244003309117176209961772364175342132375858214305567394305832862985135684447442569644704420417493992132502916725105636329570678952196290955512938074164478019270338066851352741850113484988655859057361573298969723282571929670226546561352320046416588144669492435844854965662023590592979533826650072878654217093777661261297435052224703061898085993107263277674816133784965475735478397535068611118468286602351138205722661073037431533359593305492390999760220973996889746380942721464589124622750898510194265759050226475379320591219610053564830379166323046333323574393756713243664858617145226962032381714348056712109851659522610309318338187197314012973895261795700237411323276091675952339252292371075922256682188339843953693438637102495945715915707542229339616428040015954059564049280541880475110890890962374752102458521690840479520332934389098045912078360720389460716678140061369457835166405064370288429612346408258581775473468659947606334047341624509465688147916632094489656238783923717317052272539817745888723968485534464231505111831136524890758724568085022256673317030919675587502255211659172706529457989016589625664594695095277900821249349761223955344381707105711216756297929173159966852785991370968501952413646787340453600797436232354611552682055406781411162790035730524661657097125540628778995069565930359984398786805473293186815703281957451069953858837898313186088896689360349613801099043858699371977906358616990118309258888123251163765904118378350945945517616229965975217485507304483952501678434034381892180417950719639496713201149949759328624940202660026402514573197876677842049020326406909652380514311836387254611413636755951096070997846880051146658536109441834119559717271181626693661498254324327818130865339693380425593383990732714904873705008871413803332230075504317542492540274066638047062944579965358342972952227194752790656514921832590081367052442136154245447944126053464807375759236640689415196700190556897607299989303310520939501498491894967488175366209752679368022870660365980826901367043883608116511426843529616636074028557494484961132103171076337689923423163137801501150090842062462673405560438195079068944043669864021745629074750711855346893409147187417372478674565316282313000340741241830771205043684936565889608972534071716875663359279311935857507161331208110326942707604842020473946247355013864057804373907345535122272669353073825057224104927189287440843542643196953444519407231397290962130011932102317731604751031139495644313219543535057990554835698122597535787497098731963028896116228638317975653095937150740829775298762683543431235392690930755549130798447331763054527580710188173643294449925732288646070116401909157741307790717634264939579188449235547002113460892450409181736787618393253994803304116391530837811769190949528965286497325997415453163310157174362489512062095396049071142940432902894292560072044490164679779840403149848947904619892830540453007019105207194818423808766251315528927718977219578346533238712579483584652768317873546393994054969683231042138350528107137699417975621278719736578312729335491069575398489509181115282896400086364641149374478404948329580956558223472767683666268501900811836932953174699713010915419685693220886144741779919697098336744321652234755078094599759751115377254800849135041481856532765555338367116308270033292327094572860052251022217274130538226231807452447281258547708779816232765050103841308039469315399836615690214817350885777493576563778991993338976339972938149583440445826952192224236464224551825257783886774241879744579428779985416384659705409326283724260278941238387340480833771597876222893598479515397188652473204679369640798363328523603433089015287141826476475492975358719896395551644448787918894092717724307858965223734314258132625586301159907695102808383009814604475411182456343203842009081186021957236458231342749501939580679553242101387820019763313906913147543865172270337109320963291048822767488619609203410948367625782481914765394770924169137342023238860246211379877735220081000645358102209687883883269566391622234939231865778419840844670943766115118771081464735916198388645359298594751923298766145154457902828390700077992833594992654777647105836190480078378281432662659043098378162919381318764754907070713685482501378493514977232105751532307517834851033830949628922048659766964844804699276448638751499697214727432109101805051866969955579524532146341143273253269047325899174814164119250509321778619242564566869924206548813762786427622779665960391940023458810564422048135474506360098225316485981076195670657937858910869293806793783807213379058809640668599233087038768240789850209205637333222766126076761342745771680395951795036515084511290331114347779608173483344250999184521410336646135961890072980760431167220782499223592730812741305932146167891286529901988838925385330121400587168201238862450608929137541869028101796092863687390984549691226892576356394636810285475950795232166501886442328633928054300016826854690710571531032051079666866858185727503384673930655060912363267145643351904166679685077428716001443653549282308709962835745518195652131175220407693190064574385457970393283908606458186393889615467249843897574623242926617064740156450888756363836428828649953360099021441607287392563873419058292288145400146602978126755562265182891126323719989521485818734940517704628618849954956555662362980411054187782509101487968128677902954635673578519121568637924632411655737649560461910267908294417418875987551671840236560771861331234088713174945658999732315298763090765668177509532064912681538331921993493072922193692025149489738418132223159247637392627297992930283555286890402051229939820972686806504967354596513910540283390489115796800819003638557317599022966013034774494672516490674191761361301718344543075081534909376389060304932229683534724693590848422514219494495066134749060871248970063809400722129923232282851114869424680267222078956113118319955704583317538074565640327931287403919256159865480181617542752202814201443967462253590735753678785437597329583173279261480318960202302338979133278763654006708688777901528164460916649522213570195405498371115619194752954624832762674177455708630233634263914831742801675047245073190385426249118511711432588204596652407020460244137845389051817135641304595186602292311438727140728509739135854694217092576657659684563842509381034506665513579603150109099951534271294877437780799060414052060670535780193692205848604954035353173441147548667668585447188984368506462161499747697788176718318750457232404579088474324965596722482359584542235707412726701424118356940510212762556254581300634380471160008040256619257350907560587187692816837711987710070172509507226831501986563811935630562999440558286250252358393640372639965786963083016388913653655175176236407574700558632560103114712000407313697049963076461948062504076792660586580952515576645893733045532956229638072826171904515135360181882640935812809976699448463270922752709799656680759392641415244229423258155788293376878606753459591473876671471744567729398862675319934584126982645955859560081955847496573405802005286654138410018013668682780740547228451370438440276465503054175407165037573565595869750997263754377322646291491346579370270237718199888753411007754518860941375642447451216082424102532973210198343204653983522507982608085485095158951493056381671740644340006133913953858397369517491443506905185217152525765779486934078040104387877972587495052901738610280209638886550148516737765315536058561837694834765819512204624855771263192277777620663753075276995210497483722706875514611826862942661756898922576046023698096561394204078596500219515766971321536674015959645818250300617905789867832345723134391178393551782440392493248320842621819794668401449241729972680682093425496770346391831447109959516042927868821190686233184188075638992325029313716589619219074729144286843553011194836543400633738635000326662393046259382879830157262083128964363471168259328197501689219304266737292472461292733952563313181248374934254831647631976330214028827239134926593176499464462227804592568577984368324939381643905832076243102355312080863210237130445803793225866705978650426333210170796896023159364962132129132981388743219684379275720851850958118921672019751732886352349412014392745596237356432419525416735395091658587595149861629327147948703462784899316260672989793141174139307779251606027741005373888872488447736591895351401750766419137715134692068944086957539695623118912905093924307959145733085972592319469750992968539674102041691487813501245949103808486334950404791518905272942717692865736052732678618269117114305528052594711454742965090009998035476571787779821364339949784682819009317722479064776871995239525940760877942128910040641571919474615039922642024153087922709816666693067834505323416832710003363565039568555275872333641779442267533369029277752466509256914226786214954733556488036534459267348182420499763827390645145029758371229072079257343402260384251444831257743953145331426171688213009291316821925200974794483414071445912987435316086262888852104428467134230798059592970367233492475144126648554756495851838064409407111087202773311985698852486930298366667429401707969844254843697415255698365522255976948681849389177773211719136120092667074007265032635598270073134087991673903841895875549030700707318875413147243918378437859709192195396136540140546110960305077965747794218443719208914287486394264757625640019001822138167185745315471567086925278106021382141904108485094806976256206844996484144461251272470829678142636324286025772212057115121309575648966360153349922423324482819387841840870671604950276455267156226820276349326586635984656043763683564733264788422665851774498086776492425361927790195445688692898135904926737748207534257549757089497260454954607005322539880726474362684263824654342160640969586189274108583812889809269728939978130939634038457708486800110586640971632801674730074915152653337686746650984581237738691357376341310455254179011462794172976576742585730069022525351398968249652328903447927860409833235977827982036937739766157597249792303925204313104837261781950545482211040480978325946460688943921096455472890297365213567485280109427180760758754672530707515303770589949693678863272006931603021547643025891248714305943521600966502189276780333481775615309282159242847158520407452306179885188278342047607471873578055177188059516599911900771434225888502733117054195321221649172451729448573575533382707278486458344507635546026913621569740528161713615337062174643280131751146441864374998053812204872828380624062026985285171849813219104405601542896674591701319562537080153509990191075979815768580589074295155053602092565951460271182294318951718938415663665983110782072009190591918384156526095134906321294885113505280167572130503538120330733969775891373872090848034120805616832175150469161501652181698155518703267361218685266002896439675271459499904708239907705662479475488598296516952844075953271033959785156813738455718302003700974351037407236587017343249975753039168392201712606292777126305361119574208843428518320673628718057248167505114840927883274893649597700921152292083649624240834629547375436424017347906617960581795597167420910370946433407677373844509312771612210757319214256477652264325653885921099373638526331282982263318729549505999931820056495096487393217570663638712771306394647483985380829279884571450209661993078595412717054327388359644935272708566976930292935064827040025021926427667118008469157703256023837588555108422252477248744213811946198917942444204034672875448649169155032839463661633860340406895126082648423571691047286952484425966142000462551614329116487030533394573542834711075444767009582642567606812496939775345288973427390193002522754414033992684114531964334266485151816269689469936240321274849287933389373883140227895262470696554913457154645662444888423567612889658931130124103465732212319091321819650728927854813339838619397749930672633044925779527187779146274142058666348368822768903015344041121941856444905493671137218561991323949368472513517245049671957117629000302579708383898088532326254590869600579309273608802208924169483682338119615593538290214495244209484134343520913914995548679903626139522135717646424609467292021571206471731127463701711253706317451689364341211832048177418586168990742549087682242906119337604090520984126030537451661304338545906840959579948371351370272229545229116883945456467751598033806526388900105810661156280917249321898785794648878950151822585932991075726545933832563537668629700821852523490362744475869930384873975501895428912240694144937803017779031680855293511687246014784574007984120081741125310304789154302842812010554787451717372338647937657734638336816968700604351845298379470180642847747050618239536408943441659421929923896734084441449312888818674546012247984251905165241077001472817055431306355054595356512214593224158286265443985080987386412505041422356679117026060831722079557486527823156447158193874527490490780821859255040984362080090953017890529334191531019332060675518357373972414030834891811001353826063470865843338727210109656806245743591172751195952620908971178286033833543417788254249839211376444821437893861028333745182285609780303463794129922138012330656292325173638394225560016334642699323624521203318289489054618639412159483466268194306881552437968106751000767778332879909724851291278308435068064814579082022197233633373604840116286540552571451238329204253512362416560844620064623522591594406275498406145059272943944314988012920182415319141203540554877725570865417428243483435758543703475424378089426785203281951729936559135787695621739152472229098239413502264932824536266479777608485678645356753229420692896736410872715669757908705179386118798382196656147989559239784536572621408327918926201533375736190308703484587404763355142209219001562903336419519536674941082394528012487104029640028654337205937357263247052687471671974462333906916419362927019124863939836771859402525978945669626091190122690022692620567053091506040998223432282592345845245089467426834392416382036389981775613638278930883593242328048920933261303616417553896217831054157917265286360430311706573978832495575702203653318589557090241612551594391437854003310180741221037718106771639051363404664941834988868751758731249744176927852845296151303100592508530209568531954464260693175057609106348773176772729458045811225782962570599954122217375648269524717931637087256416006113902336014956081666718925801701382274264748750415634961913872331829453916275867560928897261304002943079333070844768058373535275524812676640266587069692437150274763889130910211728647461870695824961322449774183770208273034086018699725352753661633701101169739973930563453860608718842975586446973640527167315967890231930476103178750574129249566133539570913639264027726958584715486934295347980141957672032911199903942686074250980335384748269295114083842955878620769582334092164710243643996681192777809257588051498046298649960609247606291422510667786653868674236031636411079364000673025443095513711554896767843832246879251636947681186399579376906658586060377105964345927381147629868715020152494774382117604181635224198964010403504298956798403939532187800794151460582317438933549594704499541516866548055950151311237014309033364684914755634385727293081452237551977364465977425731826061676321956673060757981901392217156895981634095278410359914463442698744985436602109855163971052435311846854679562245668836210915050997267635940230872874122936216079904032708997727486449216614547546766179209637693399563591695605387837705229113084169036195749870411858927850358836120022732016899714818696283570579399109181605681658412210281181841763650743906932484356536647501053733274338039698898553915099782705896326449322935642251246880334081096645159268430375703962390982099664717773090299576188136337889890349315293184748391204793358338719470532270692036322059513357628028766643441771349855465112325149843692770637082734783022283518262423614028201006054747741605114735136348554738467895176261672160033360589413293034682530838411523836263716516250169119956878947929677957622678165448268027065186687811750252454807857124970480028361554300005912862718328083340788786339912318363754410472514153311292699592663438959599034217968728047341996953043971285622673107819312382768269696117827492728472845127868118286662780472056289497089062190648925573619326792482770637303446004521798057252469537917684218023073511421565771178461832181492372579534669858875513123853168359932760764856581611977086867929068337310364807397211989910141879791602495730066100459181808153803923555068194318701733899562834159750783907062829626518184208007221233828101109823523276505821236690124207436570677049385088834421482413991972068154974687321556014986340774187658074762798347634878118174403313621054636602529177410014358265168212261619799985110727284249350013782408215391479486933198944299094150777616289933351175887360068161744544603681619895752392262245417833439662299837868543962822085949676823791753693783412775357973546432320553171085981476180841739669201439246088407629460850453244223922590635739447074359820439572215857498388798573047292235074208648973623860408854605077796121110770091186020143661501079245237055024692442717095880840277354665618548514088339582472025570247926104770156966583972791427936194745969928549720430677795398307860474742502917777514495854045331491169358174397194950016621671196237678046956645107523979794713202518946834627214575165472613654776605588967521925929768881032445672366687428962776744117625270511693148084638115948751777441674841505926232733719492085889166056789364779413340092164864960347638830940295336680180233590252936550738631757787228075470673004095052077380009225422572148749749985755052848213524653759583494051329891913872624317750422408730944559742115536299932740130661897767485135148032228901672406619314631814963712979073391148308516295277371245832225515659567891587737429360790613108465824497381786084842871521076818120173432233658064185406690540544239890412272042220581504719719952967733634380257813178453611763840901735424212081365899294420394369325160743911292195638716871482618248729926305703659837221817510932036248594875190225795687378666284898463821875682194888374833881090504373476167336500255065377322406472238899482508206206211860302615701483981971599377956823977609261725489711796195384010056385935670418248755795716879738903214130021734251208354169030744524800117093428074164840195926371459949113837200164970007488108854918461512465945346614252647538511007028664409834710638995369388790755068257177099659298131354881845300167512968022519294035558375427937283555658524751803663942302802824661299360202215770930944048807755286893759681700280333034285861270058750480151816639179956203604428087915384224960346382563851944430033787416298211946869449835472865946633650004209931122007094093661745072396920938330883039179367894817245547932091628664851192254994458326541568534813148963798624565515256078360906161871927754734281469487598949113311810378847362685406287475564708081677939511277348138813064764851803325716187990247261092208646723289853277503594307773267857346019817035310962857618584096905590803067138405043433843529431414217920496234829652183661862185092045938115735846689546901782191357829991285216328986930185258794111138295127999556023436506876790750860123955202342380888981338294780847144207845518657488882716094277559803056644260175193877186144406498076172771542514218150904431263318329706785590615759252645358881273386227277172762391935147432323747644943383048972753744920063686209106463125255919586931756659143384843400012712634760666187897750042797459310627089937760904512439272641366792522275149317669672943805261014814535211090863411207303260443354021144435917620467029895805477472501347990730747448310822293486911823925402208492569971308951296068603640491238995842887570086237194365431553403580953701351030409330715024022370442153091462835153043011935948075531800428918644322030467219173627279104896060628252060348662325341440653024987621822634252792131110555647088341923635604247929587955570253891851808870860084604276151407400150748500564823859099996851748072598202823161280221075827319355718581527695564917237727119774883309481927961414263999635824163404829417076379385826626287217236035288627205489008345880758401600170846674868078931430385088592165288550205395782258256269081755204716159201772217555326344574955959051503997248173529304922929804134439302809393545071012612311555278739912758548570208700117980783592989050963195090850495285771538496402077898182422449981019986201235200353081785129832860745302815283491262866621783467603841851552391974336037079607819598311579738398722325786950246159617338441069206164034901799782012042287417083164974029453413899947631977621768159870938974212872221807786502793929714749677180466193000765970739381275255114744514522349244501691195725171961067908024300962387015816332954289182568499972453876298893265719386954994498388807952599893301049490949673802964337833032254829318738582820019029914719580712771997687945261605399703074624552437823969881874905402262079259125759729218442941954514848964976438832426261054372893580545224814478300741558424490221895365329397968006010523722587295978595419038240788717760250093799328203258735531480958810215110820295703438411921454599662294915811493453152990064390612446284506083973466111000041974214370162738922066006944754375656776168815303841629992491800404824420915823637195834061819625954825769898715229115027665180915846159139355258143289230011447079837950927179858332713698538936808804876803608760495640545447764119819447140738881430776777895592852378837580488801799160562397743587137025234941652197112254701935393033288880465026708462770711457849328898135325671580142437109136979800860894480217879223864883351889974593677226670063234476168928546755494660441080542609451168958583492419393408886764051425694995329866197939859083233945891676124023904029582184065746884425977024901066405159736280041076295504393605692652307572965733043769105268252603943695583876845206048847674708914198218574290078167791465325951800658079457722745042643618700669275172094590220481764625232237985863665400810341973491919381408554109223935587778183902122209999216329465536409850919169560456562524642393046598330508199114808952703076984428806324362311507162366256750285568007795421016834228631683501096734029284171300102795840020262742312249485405345085960495198243306968246545239175469479238731042993768940252583683769198456522969341685077155008927068949884631389803715798793646771814328955068900393322735406492931594161507503083337230756854766615084904800721909951492210660053663689017452990349992313793618411868061686466088564424851440584507579425108873891210919165164969434171835012380113213564643853930248606005550126282710901456422662193741951621174980193551339510154181554065197372904100454301700004603207060473810447684213082646595470147007393971709150079180223032257429989608258809036282474962610234525224716795706840956490399858126508579821975005060955142026558561840420775974336260656775256985847908588692688834560860189129558402800542758884847417715734096993979137585002962927347137174909006245524856089827943567681913964321883992415396531312828285792529077384318851468818990139634817718580582222104783477349194737261265662254998177786473864159595774498038879861940721028253693404354856067869374822623669974523936383341758586590392717584245913883548865024260538969965034218527465651156767009921416514065146766305737962562846436269195561353646222702414032158782720539804333570391848593716163695683520654050689312683039998209954020680313142389451180170395107126117719558232172418341529005924215783489992153279282203678087665078364757705317866152149867835225732897749098142948339655420544003331757825053636988187636726235129904556465685266140624317214549715504345330496421411063629151121862853253644845678919084646968642521691951482593060855289043690486475887312974902773875967427229974627141441841955631795639217533098126033343316992218764810697496275291795053114370562365172346678518082860015416768181276925276637508920996559235067685489802327922441676645979786260906293347288684193119882856446667390774270592287066291873502299545787715067243646937285260533205164042804238281330407227180612443945928192198201141875331990301256118538573707612644050828620532901548842357969297014605465000492723432665883309083007431652115409946961496169672873913841314879565637653486303339265531722186325542444249177077953149216601605362905649040961145778684505064364496603219579366863693112922024736012382380286054446694756873604208609579906231984667060175880341218872818453408248609553063080279523378827815826342909899682047075941247766026360001797991964554820406303651744206076723813545126665439542670601282920618348691917992821664440239224688638825558906755572372793481566970554167812563775987513149359005948603786537817609919240001778821374531792854254982904301466682308338735944889623423323123139848628303234587048750468788377766792460480286294083354182335328347757690131092223776190021740578335159452231232373025239901467437434911466867157181039489187629615075706437380135335023293839286199749004343734413858907266651400534921946445399997242344530761170911046239031398013627377893697781672034809155288469206660563054481693278222560307006294484661580965414567025173235476952882329762478812612552713881326455104967344642528107499041644438611125319138859028679028681038215743376194169677849343472226492435889750398534606874629713513409773822875600972852398197982514568338069424859246508487671174046182756890324358380763885016656274239975729593646531301153994332551694458869890861442226501036591915351669947099740543547102557854524118191818364827242516616303541464820887878373589034559536129030902639259272850435758782193266774472198050257189673262810915630908180538161540366862744897339777638322235943593356904038645163543158524892659603646660486233713300797122729612229636469567940651941179377123116397379421254355177368300630921635600868113136122140584053178526808713458678678797937021771876704009582624262735780138805385233344091113249983328691666098422175788858012014770022329675184941208317900923751798034018212545558452573840453985016640603258270441916514618574949962036123129371246179411036723277779442484376455537470719835203496723856517741026469512996067007994303366359892567882654099159626373907377259601553097931048126101415375055493696736664559223436813446367413604704905863001361766833986651850847819583883948170857678105234289214978359217569486350234149668048278617089086155070171649714148731930573662204782608230136021716764419018627693993263112424090581619872622885105080328328493996836436916963761330120011899737354850714453132780135140477324705077613864610359628428781904782316203665115417675935593529182021650190085048334856640336174311378439926034913428154421499847832960719584518643328498798981859533351501209474149015792962525116879040638914591549073400324779122875072402314207612171366986888285715218052793483983777922605539648130435222909598157008774036456097928920782280172683424094366106857491538573699531837100666808037449653621789444852693410053857386002385686335835466888096709772254840060305882730517291064011665642689327330468308133943939877714877693126484249040905591488962830887447144712507205368346736225228757784799704287772922476823608279335990638491415981989118951909752778480899651595060242031184005819634442754150931722144709523015510210483258344282607682076641807745256611287299231385634170399765535601992544366900689277318739409338562327576746675935368782827630466163079360526236891544400238452446975912378841193376125490468210775161878278220004622446373162006563115815238708714172174348409987953387917369082569011886846768024795413423549617790891344834870463470728698957297063991857462713257144822390343063070954067932621811543610669070705160695536814068375991950318115640349018832610475472911616057212184884470649752458073232188645946155449931290977767288504748522789759508142887793942201928172070338276761001905231308264420651889866940630671860965595977770802231400839078911649810250526240512385961567582842070004312151445482923428950149455783900440336401135904149314735566841842774330746650298378242867998820434348558440789312160023325955094137517064166792946177177868925780921836119438320339550659762944055723693282061469846661239917072050899766581482861765956787530760935544281476415782959511036336252195833624206980012622858368868272365167763185144501481964161001366426288579167654096204840934628292347148515264779052797038576641480237675411751148942972559349956818310907071653820706835854415805734243579262388911936948534408424692697450035235994443681674517012580708347351228222470144669371348352905406011616673335041883471529552189254352735254801443332576861286916747223295546906796882513740353763924573246039131692971900164299642492386106963415645548360510025360229590065161682003438101017054009485086016073917999038587639597887910577101844329465667059782097678784985581938074105965306701764337835724192719749623150990178846192399431770356907218611260845611517594328230229919783723522855329210822995850151013458791972919710466075103273819110724496843357962561020426446884848125257997828825035424953883403231499553685549833818409846148682015935195933220886530386727069507608252151637914996988285134747181882614061116567482566009061603330043642567333036702070240017630540825923462933156843506137899545232138144478609869706197224382435523541996896406291912170193366205609392098893803932510257357796938249178863348499371540329951233190889372877107035999060459908989821321756650889824683087660751825843269750297511359174072744250081738911752292658335619620751202440725843551723931140680616235158054825406923632633511996459357674592570202313212281746505135769583310431213406346772426522090673990702360518423258952049871210287137098176031166878757072820685140742902323785749077101071873564359104368770854581214900781900285981822460595036957776644453724719546942708989893836694684223573369236380622766023538654474186259852223574088009729423578767467242668103677999807441123766781448489518652282263293875547262655580673285935434293003241683569060805686052165380527149216644458222461051433160159905185666575870513473064481865784184633626491572667736227082701709380903914876330996720381606671077124191330510469821766997393120733761365492394023175138866568315225971538847060075422417679843767320381773027893694878427526802271663899044573412431082071861559688860488257290725156821677113266551395318543375596787851551507336940970691796573988388514088938891017921806307277901283232670910761354348116861643472772996336207020232452184057738076048336616976449855893627921234857831446450189277932033995368608745946319185173907358187623098371365754480773750837454503014164945603671984674175777423665479576856782998807771293766450511560112989853367209371109156066855694497777734154415864839933211295777606858834781374631724875772895218252550202714593681821781644372528726338044858638839636942406553042054799893956717608220325247492582862356618351047642690786372957424694668088768126518046350309508934269535070675129484191952263719803320391991029717217885858733385811743302044679993028272994910962623456093751227984003320554394521712665197335014686471714769818779743640337160351109440258475775077506545069566389341479738670396764002297965311885850059155118482619919316547433893518292415069077297810880564044153328098536656892478163548669744963583118638674386611104869395302553277990914754761830489082674944743889601374011976527612077485592829608129575757353208543600204674909025087538874133966770573479306862786346089384391265703039314029440835212220187477452534242381320655684214090038108553961397004402578957855313582255025741931235029679741014765585832682264796665579283738405953295601412828308479787498234900354659044128548635741626829265330079070181055954083873495456469169068495801482703202847007354357775642711471665136415332987009898221303005396303785202660758598607468192603662710692322248891650648264830737582226778234898669275449225687382030579786999507641844936516040905463985940102072056626178477053914339346492616832883877578440410037500134580687230308265485061789439881589772472295532685326027087575037140521735953235629590725368873560125939082430396520726343062405594788405278494029135646304056287940702500952587642807660024748738192053732544498481207834489920754580006995422822001739597301724410528522580566875267948445949992273113652695711128176382800807843201271902508597178790552427376873246129510181016302561056484263339302102586514213905932446462136858909416027456526893237022675751161891196546045184407489547113041484589249912068604086706123829345184959151909085938374065107385690215345127406631981760630650705087486926482191590612091396069180803866532361424358349999690246329114896397820544356527788141533552600001171511903562475099176154238169687069921356605648127870985849940998320108702748404045465671736198495561029178730764514199144734844010177715388601973178213284327273596409908815809483486046826725186512082860786754035707527727125745520101358009371346446256148434803770350100991209205919851039414484246531193683748763532404056245850707757315131548135985513004126074424496782910576373510773356396149608617810010149825118307118096162908649351923835576024153569809433323389234043892602662448491088885271779024731437059932086230632348467180190559092497647865254859091015308155466410350342790555404249742301782898281362556376341131239450784770938943981760913121568953422997769269716722580440266543241045777746890479229962426544842628174749944508875269129994805253397437922137921982157800878228844703318162283844604289546739206199701698194762083476344719482344178019536008958145934486991058655596039891326346140034085768353214794648332396085609932579582103870670013879652953709814559897138793884303352523055395933795494104260501916115042657614391569481924216120799653446990279146542838848652659809016969318826559713442138654782525299074466632991288236981932835183419311334325710825389232046601143444946804368940903361883445027750787672321616381499717771346437688631173845414244957533271279449078170227467604972194432480339771944471873812446605186557985820800738161178719289861471958729717782964627786565299355761798043603343712567710766729219013438144306118186307950527214389519634059866793660702723247572200550423290685758050156699684389613051277283289868639186335964645595377253403142821203537454901569123727206155823589442552027096875563850012109070964016594828630472134168932631922707484961387957148942093344598656027613170557397919425306055865636150644044533738652154056406001845666070888541417151188961384603472091566742041998302357475084468516177126510724106529826431169068786840228235321543218190352231024644583561093642063003444282900639381682300164999745528718838239770877926728434950513776340873674692906197047786843878757942050040001679104703390450367037099111210344396598989870094968435605372039311407204514496021766032929293998849094725287311229816835197430422317178346967870644658068414492982484403664236559752851330840589078733780005447753989579772678365440846504513622652584098462120172782828669667137105451470257877461952315197826803827780441605212007324427484658517788566773432937992691418504671779712252165391715235392294595600494955773787547819582224876169181272426303958602675778419080907889204947553697757925655940567156983944474035998904251887977380353761503289282129494560256806551483001858909002392847106778204462740713995706612654432186884489895409166387695512185672509958521968294961787485558943146412073293513383052527628150724970585975288649689412095675894066590737806725245683651968391820951792510095630830982499118931141015397337900198616319794318573724430782574783263010898642889982031492961338365228671739573022541660773698695441316493953659670141493031749752135547848611535189795579792909351506071605765558702294948933926099691046285240966574360238582908894514196175951055771316759726610348410426653918694253011414190316755437590119991918312215126266222701160668420206904583647355965637022179895542298260673881444817841044812274582691953366293602176676596692142471998341090524164649143881911481499385117213491247235399605709219702184614871843850655697067647016808305623574323896673517171827717880115104369169724712089519772267504511130036044252819351154704386969120174494231169687843579931496742422728228980912730232468970726117381520586446441268404445289277869624427407487363769568162050009316624328218585840126770182958876865421624428816045827908925344366003970201164525898916035475524317291843949998158980960925611227752953900170527442899024426435987337266609374533987227175403444547365575305185571038757491999191508560419450963911066405362652237398394161583797187663120341992925190194602339923913989838442747687976775028043511239152245594168033481090605345074080042519721209434260970089404097573337533854292753122819941625491030874328949582048712955068109170317484824774781311347552002962566764317604165105889969032088431995288374309340366220951304700664465221489230776566626512337382389350241965573073078887268322296893835749843348741814687734226019397892592999537602432444005509765709746850635419094632763931735653177411081874654103673128403968585682452017184748785208342043152141404380093734859360942450861738007056428860280568777507200494871806732290587432560521095578887965254257120378593847982482048384633228425114367191744359902366835857482537416035718202462379470325330655040472551663297390936252207352903885511282193771672787802523869369943303315074384594309948041686452682440933632687675255915357688321424339126686593761329319944355507085314167050032315602690992445760852351905348857880214635583008661626256090973377340501948115411750965357727219756573300229140816189257005682957675539449323004623776213050837496079454258366713252430035154688036106624609710989872638398514037873858322370099613192441013105466350188117444826968482061886026080613495739780173533199635151929486120737498138153727498780908222189658257519617529929214899163526196219311946710435519466833172246494741629117611044747657173515864870601593054923564764415193295921509552612380891017256048109699802115435479768829772383552438138098838531880562539132256415683253461714264662754936066608572883353160755323849631080371845510708168156049550984820774621639181509726973496201354660527741791596208737654721146454692058364864418284302711434385412704275970406685375507440920867733786156125572568584223758035100309315892417761768890341344698248780555019821332074288778317429420730867168360186459883785831743337417355821444834487869243945961631180896252862127514612357186508769121246005091894780381684290117069216523531977419140151844966090602423012957294343700285415914027696472081470443239758002901728409133274742311947203613700929863229837353280790347971782324867624290074397085177094495237490140382968719074536650220807763041328644375714795627082397274740364382204602366790725959825156009911251824083109366412655620488951720015860165392969143003966001777803518626805734191888802328653318671522300310145622713164106589557057440896509281567629660416189834315516690272920788036168599643038247637770289628442572145561010584383809019406972136373381883413679127139769104075090511029596537443954064557796269037425665471621250063742157519504915102398234864494723580653285691969995988668242268005159297141467815016904635997323409849091648735857866154965211501080623937902676949514898878355825852164971392895912824016910617198728842962947172246531907721572847592877083067293012415669622461949671154791343832363638281304993768518607768989663722745134084751676669688098200836067686337699053140880203094472109751656178226246315160314026295432843034780802005673782969409365881960145345972547727712085078344412904134338626491080617250031978953767863888114591884917106979583034123322543939999996869987625419205054768794939259068338980631641895552290039426424744907958942682139462526392411319692956963260390148135361003804143771667425176695059016308013083477456501055466422319972756776389480237397465233244829150291384018333085104510576042482363615851702904746088415347325870696331334717737360919815316520465591277395077211939817935117485599858968994048934560368995946465025161929332586295109675738915726328935907585534164701994362620628592400527903009913667537001792703375626881597116606796920784707818716351332253485566145397375028289797405198516902088748906627501355872335537729190140685509693838421999465002539955664963440811414830437938875469823216226791481053092489257360478879865645520879061204548920693763474806108263012613830291434224132462401220227183993867063988929704351102600816764193484510244557793653830783130047772838235269770374292087090875260771685201971581593023179871297239682574900288264568491311437844158787209354986575239834386892511099887294371889354294126588457168649207224834069474588355526800372951131696953777704098471392443219786033757295577445584133179912135682623167177447613895018827133850464641371111757439853961080539785208107100211987681191780694240457213697412988343757988696238418503575706030157801340032262624484294323092975389441483658584450354790722937406333941577518622446589861042685314041070199172579506896846423322508727985732322282534595643885193336621226978049310099731199003381918533783867119798580132667441008916443753195012942273000948653086929594691822595118110075431074130340005785243823305236131870126338929524719122429396517640425384515726668942445876689826625460453834972390749359616931143044440219335136564506938102905830254268646633144175257039764300648630073143243043120790180065571315205501226042069885598559524516926701414292654720668613266525686004675407304499684288289733992810846191656477684089769176781510469997320665032709247099560669282626170078198136224733820508740301500171684872057825199134857923115862896303013527281933106113449986805637451901938810648615495945287157140829092981632405754496403806394192361683192628088589735228299575347437185167623541635015666584470680838506617944346971418311205682596363223708361844408771207051788545252104736825462668374608482407605728943173527779197930082439371214747642887817340810560426793101069456806306138037415439919573247690630490536145897348860574455840387789399331383203469463899040471017792032706926480005423962716353979815180019251093916640224869428226887182145117491636130612312481527140766568162705816757390371304431072611532411003692048845343368858788055853463690418598094851668247829977682051640047110006379491368676155519493502550498335510676904262655065164410509445553693877677351345639256642126240803153586435556042903590565083593415164717135082610933657923429204561555122686112943415906173967379383302390129351002119795242254994763579550393673682298703369890349382346561417474783225493185331257680341237295318460220774681156562952570003113042010038635774546635545513481358656591417334973625144111916755584808839499420713735524899031666652799928531422966349876060599173899997931796856659172341699290504316179361184651058002293749730193043413057866724470350338428037913823766588758986347740256078188915762979603889825629491175844587822911581682852337667806224450986603436542179636096300484046878159813617385317111124967467268380195439701183742374005280141665984299369823487585750863608631620469999874782630083726161558337234388955557198354920013240548624180449301199008969479242973910197406478010241570975626079748488801749618979615569998508031867151834585676558247589409459593525618333558163502410489947719187273773995939988053907945537977132726606120366025095547320499297324939127323668765445330121936973283549958286073335165804814665230367139514624261375147479862237740681533794422822791360026248411974670767595409207443259783615073435782613922864220587756437064563958799921410682868587889028806305279083983594289965038632048228934049154905565998991114655776749940407998732019115742065358179867290093790166171656850067784206207046317758041568211215278589318668784402369205641300176300500465649566752438538065635906294024502496022860652065040269310280023676545739786502193774937115425453258082977731426642479869652234078266356808481872050032645074246337586572022188462008788317597605330158222672198623991627900964303377815842461665304534339230153643925809183963713250313841928625983387532189200859412120685241225138589006679935942313100134192149565954157579723104000589310256806402486822743349112729300642489535344355500548642475023856874852293141230707070314536816652583332003778710027248305187509855955395466870927148799982749906565651754484958141771012054566529888151656976538730138504225481130750084807842058072787423861996237942588086334295315419330137180418718116716493523269952398710422621136325246100852240228388700544064094251645715151448125848080787333843029350435344184426335421592546403158243301825933026605897656951937998565843799381981534566070457471146789674937515778172413605883318088595752719056072197247043141474166809554544917906484464950025662193829719287972690613573747122335456967324913240415906184575948747418181717681167422359638269293419421157513069700204988847434694303831449808193390024835509743596111556666565589328351514032833364927192282931309875166997185529427917557524266353833916377824519004709040034802584853687751621056703787121746874208067159749615579170445134658562006550674637410462660419951978767381249059966707211021735423103165522349202664591873978464717025500655168791431438970023222841318216317750570193181768904474762754810927008910836955151935797002796752871840086608502714625516430709619024781106362175910469844078836584992511154633380081027796617432929897890946534028440703067650317409730621813084752330588255989552315444405399306442262624043790588083442111850435934924481271047364770228727179916222291886314028115470686429183050348733677411135712930783051334708796014918807899400295792586612052253422733109888143941969573357705885973724014966498391872515262981829023883227199886952557373757635484510262562979827590750646834371402359092541707632315602171483851046991512685025336412104558631702507658971993493790611920498418019274038236039380651622408266085380725491936073946834552401467977454039320559756217164734574872164143883855442453072713187663797165385273781707162513720342829035246959705737081360031025079599001096624257739266667286658487961085220929466983487062046559790641224379908454106689083077757255740283681405374947786920978669487999696383707711428793950234940024782540656766995542918141760890464083586568728386547378253698132423052114613502515715060070703683305848897207062310666152411551303338133297624070334483316968633422764998560687341702754118552529504721645855549799486889478139690347476160771597591549935733309443381326728279792883995464641606975318802869305568433133333990168251906526148025986876988390582973805851364458499236609026313102334620762771208670634772678566343414121258808827954477101534045410628448993911418789321839277933851675813258151214264362607550110601176772613201385330607834475032061862456415749683948357896323927460699666928570117261169526410409690879849548312410186118835312741008109494412748818850615890903057346914805290119168796128305538283404778669758736106378144643690984900161369636497065321893598872624371644781688633050804148446631903977019983310103522222027188868746269728944015712407528798619135344258256911000154435500803477977929890954283227384226084427280553459107678275155446043292165272588844606513249151599993317883828171194225502692888766448277312877514375900048821785117427404028445288415746665247666914692807742871494900118919231618275951764113714052984363748777904476995457580749286258517197369913416363187957552599819123186970138493213146698739004006905194624634231046333320806727646628810752780797845169135258948622603086615922552205000925488601253571915530419755796572986853371926890350767829256574709721826132331591519471110813991999592883657975278090066805534338497695659484104411773152466089281247598086543139084577850411539487021668060553648960619812970694388735910367354420949841409979746353249826927452027593236166908390751913512377226882661525133243131765031954347496346261657868246422302096047544605129476323486787250425608582262957858536686498250880612699985404558356319246565348746641066992297604133082517482727183066478300709460544196904495934239343188705425544649806956944036590944518156949847226875940132220883262527509145315326437507123135193002087954417335499607793147051806248348026606868630958047405325249625161829307323543281251901581142743607817847133074296437201844498263216630627675717136975984394683530153527717995990880289374585226157504066410487172651028819138380538325649448704523639348299607814925026137203367950016941258885795018901033956237410887858058868434267629331893342291813890671863694023867502892989208147691866339501653997242892555236527845902275338278744216501865346837902008820528404300961308468381813497653434287464820138292863714049976476347427458832156458475633730204454458906188970882757469362378170398958481273898343821272670212610662774407323464650683431437137933706812132952996171776468222177002722573259928893920256439467473704888602869065648507954855664755301968405529917356008160484596551434592647377972258073308146057086805164271474404407786966644494918333975947654512196302201679755291126610969704737404366391720551891727581545374765011380161530862512444217633789105190659232618645752623620897954815064607815116367287643118055482313720745970818973329354791400173846931356390902645252041634048336202601943096927710836618410888358753617341302498758112809364140102898813678354290485759320352638631080926574111243186971812444095060680722756932850743812526102244974371913652336884402322172922914529857012841277328563257428980817925116631987734862704645963503327195936496583869207560933125493262313684197083852507659424405961871402356408228598007768343420017767363136236443962358224342239572695356336971401107096589757319499307768314609580493752417774093928641366879630998186408195323406939558827857307156041631293439612802266776812701431021464653998849523723344308170895510871006679039776777250645728252323844230096381256647653390722847612959477800980642241699677115632571139115194525680994049105350512653400251581706629413747438033911318261752541313065512044531261073338115813839454642789536765221537024930749777109683396109894801796789324634192702182223298436429758155277677687094857233706032499484386118922741836191194022276556858076645906106069285347604393964329981459577936852595615914418659175770826623644479248770616266303808276761672225401205212496914786831580154579896896273980213570525097166753393362838242586964448343965842016152352268463921094416558402430340151863865167193469781050522759919962512116565569373655836050114479818512245036529998804716242780733026718752971680525549397999972038048067708705315569079170879056668205976702270651815165490583474421830741933997610787389647637157967933081625222985112688063516397076829358641539240441106823628733647782946112015229663761517172662988464431956368659439494816060584147867118349636416059544890647821246419751306355278662450622649500367889272506401451194018238571307810646821703480613164290648493713560401256905290011457716708872580436469981672064425729939867403411419189316904395098463430432595240248862266200482102205854851533087738495544195264981215951085163740289550400163729146669432081227232603197183906903574281264418886451846289868969946995515815780886629607792769016887013852578242980795694070640423838826430890759535015991272776854966613450526321775946963991097497391286634693300908652678239587461246885486087689440590860891587248297525928253815918679530897853303976534355147490558581207504913020909966612120728216153040332899793727449636613873968693491287764129343413470801854686897626713037281949043134252073671539328215260152343697103339639867891550242264873110388606572690819914406582652563554050501313058551390987227290527265138146901842339458315090623559993749541898724052396280983499130826251902766107764769419808284587350785524606929137693462530917051805557623714957040845564300562965754545400453457483496471903691484924679714144074159066222828330943316098640806080950558386358833281004166594764628538045225557334204294396465764776888111369779386650457808959761459915853878583222602647578677503421495678262672706097701448873688085826643242394738435779856006192571303899938622106941379661981635074264339855889070680291071319738260755555754925878435547597994704725415935798370319629251765803437493007145389497735219176770317077587797598322572017807882343426446352163585530401058223888106113087915263478049194434612168064364880525889795670064071733036819396001393735605519665656956412262675756336461640765643586066775289221176804281770359891021950393621650659127411202971190701076170459225321792956948637587873100845188952179787610041543574247044406783573738956699597431399020509242052527307708476807036149854956779575043094795203727438831106100951213462996185009177336753836785877464484530204058177155809663244127426263317554458232017164198696932333889443777070472337845625994176626765385843224555213472063660438993288829661189935577983728885314721531483198559411852129015584062050070547252114813364610113727393263313068163771258366532795535371940460537286211017139980184662541915611572970242421208624112217085203348170017978934780108237691593342602888958053967817055075233208476919189182970017923397771879543041816490090939005773404934367216641261333076917390753227540283748467624240936587409995086932371455213722962165328960267342948773128147151469481399869595275396952858432866781147995163471034882188120047189081489422288449702175349242226964017865385903786951020946220875578629529394121430785123624132017495269255994987953558367897866214791713504526502792724952860180904347617385460729911744408659045326011898264749103074590405039533399280838605310872028966777418885911944838673774398964259827494190450346665334654359185776849663178873492346899717273238574079287325001207485357386775507245542712448932663138833970904027269129549809760161320543965029907733653997410696042083183919392200174229964014370195282682497360751045111929739973701830439772540147304543501706975728966476671707239110255701271006756373918554297194090852878309037329263380712203725197084667024604713368982161089935429362981340145982157026335025088006807803609777599808778715692988304650769716891902170616649147902693669154142877902988016774604917264077767692255031236987393796839938959253138265352146634744553111051719157930911162831629919505665297440263165600899096741840479022408593653698276120861073133772904429346146153599338621622610068522052291189863026414561254415164177949243277978007024156229570127664029482126882355429379269549076976130476440985271546279376950113152079539955741001422372794650412679366017453966226746247686629318593390574469256511828649091566814101933441454547240499966561460025768624844067152126130889934874378602050736039721456624197866478420096552620735549624833463182211886359491725127566895849064651147347442192914892679791970141623075383171366702786499743358567455612445079508738584383672470647215764968668891511323082337174168782109894375673865133744749447547981181025363421840300277397478806105848980871148336063446974847195250763307947048286193886928555918487600037941988925868166595330215853846995093798052821887754477627115410153435485864749513611861662783600673892543707504141320676334820112704381483026229289832287945478520011202612560862253580861461570121208532971932696854227545904336410921472929040099631395603209818238424931181347036324789492434272439373146260145890975322828972618091065091490286842673067046614689829741681733645194941231823570471652027991256914444707407595556113035037338429280969432877487344636141860919918388943778985542063600486175491903427714269474106414746906586804187976952496594916431429061841351054269955908923256429951020803280724482355208638291671341172314666846813182192737451443614057301224175856775382178959542298274129255649859682394207071865357942609704410668916774170484670410692926958381474589158186519336354149221999705787694801346760227714487611766241871601740947562446667308683686033956560586191996518780622370561398756586298415314828227660864713333135022464184092663128052660693602534489973478577854474568305281233644545504349495730839601232790852200335912307091747348874131423684384154098533096178528027200230704558716201165949125879427943281329237574995167357630125006682958337036327685784494519138008228662882635070909223353107801353881035646813730399069702837267529836532828554172327023267944192961073929973581302127266750905182677028252341087247339313410608259346764783102194228458607810101639385124887111309547834255717805664102316033152341516879149362463792073472556700925087626580047312423352945163854632438877826689292122975301963002960048470641661846041808533320105892302988656964073440204990196193526556748164428980718099909243654106369346621097416193855100457240371863531676410908971873904063868718528778742349994040419467669109425169239990442607142016679226550898902930179434066595130460454308808853833254939149568180023597441102692173370992277820554447248442983769291385378305155744015471951423075369574684294588724715674654085765236351446359642715634821353614988725200656830093150226060137238668362931877178434115987219421592901144596714251011702305391449466468857676988390604559450645535637823239452738608285686786502231182171718597114651541970169279833999942798540922508759242049057279386095721846194351774476477119425632839692776657629104514272060458476315671914396324403241990450635090346973323961783743213026564347832346796965347569821109635840586337027238881178363376358489639070362923352095940262059449436852600184161678951575544809824863978006780195662100526314654927912677607981089579490044577376597664224918770112204526507357172361729785309025294206226598233756507170888233224411058380638947938650741108997036696815007856841030649091805069620321153976697035076416283181130064926792243327193548628638155954182126139344813458162674634050099979821794540993201898547279262734274956156715244940405666861638010893206637757294210533802503372182987834278216601440113546172826511670292894827396579131889029451242791061605464509076258073343631067198116139877178630397691387779535332751070108431063609263656426149042252243732430393319608588366646374008475417873893819410199620255097467878975656855105495709462903228738721877013662589466950797065228988246161521955318781004773072282885817565272065039997324840621030331666301275121272046013252188623734770607667244123465157629501971698609145810135584754007713657511033287373641300839313859951782028173001332618507695165772404670699833034548693747300666626098900445180590088253809345096248244374325103574560142904344552395551972083755566435952447891112789054614194150124552962883950955859256497708574534966662103034919424953118341430717584804469855676102683307552727745753836786419666383044351103973586650442953506309372547513362514529011454650500573917215107632083162151513970207397126209681318532822685185006184411228953960512996501433203032296217782391513645679862753570157421014436939526162527677145042318921817831477945673194094732207756497587950863064737418440302886501798810466959367776303949507614583470472283975976413583776553494365005088804556085661204753498522381308907512904465580983801213618506462770621854288899752095735043638703494221026771412905201519473647899628234632114094272900696608677129154025962739991151887639750227647710078649817326585611402011580179600421877253166072431967485514661833004265340139140114447649073650074911585017767129425785714995078526255325082880280801767419834685713892048903188296106617986156622875585679320771186382222641049502194068715434833280608800428961495818195604127860595286908900160022082812211524936150192136115180500250827992780928629504696641337450483504902471647498367455529699206212514704237136687914519950990684626654309417947002121249835829949867334500384811721631839038926086643856484050510272431098406180357813984106460489451762666546570872720956568569381363179329807453567767414905636647855664491606644850127861564439787317811436813353337070061750233788594985710850664602409475020561351265949452329440176807538142356305281815113046136609453278760221331345295640031437917157126629230000269115572873484212789977095406637812863114181154480061197682253123351526831894859085181886056106408572540665447216176571740439845134804770014308091793531485220966206519799400166975301061407917584186451299018205654352530396605383455826674820949925010311845124379362074427339689590943863066139341885675560416706649822804733213152659547211161623807426785801802139958541585615674879491173510942195351451919903744042120661726228743244012849651583958554602211400330315626501288867898539595855682293792883893869195843728771756956590342743541873850312274782123080167680727192579247887322145198708719525446342248257203386504577390581182565768051160582528672280114195023018985049398328859597674310464144672498450226111556565744728838939393443559392122751377335524089626550291703032498516519058829347772967892503276156297781402409810437491671583934069850252674578443460837821375820219114351096195285554156224697735568659046839258142271573783271088939590621074232579863838727659564231810357012725203567568988697634512020486699594737865878095617105441517476604649711065032744431093254391550624944734778095957693478046594601931100402238789617582472178156549955457908550152296155058411943842880709514970605376183225705736428173202106722374476168494670043322885422597889322740072219781223172904509542240531140243184686555205424942328758060167095611613627421786066482637354554407059407588317915839830070281063275999647593930998475617399483712685671831464337631533962170511908993599963224377992168128741807034824255737479264306450892824631110642277371325247815290672638379781064491989981637842039421933333859097829660114446556375299150358114861009250345567394432765710237113008307131744457690961176921493898236057994018493306065560229057729290428826964025688911771999464407998641547074974205440994099512470428288298265917089605009239550936661145874308224996758767753801128970415137609530961607461384576382934879633271146199535545831048486483975452319943344049205801087542706798678248064907244695200264214152416968083085114387485994426172088936681312846323039686711629836423329250837877702699146608415133952285730101118774593065227968421448443015123456458374973093654084790376834979724930427430956118250652266135400000942440767663279706192456795091681497547018287953982198776075193037939625409064455155786519835610831492350099744447214588481594435769630296875924284683363910951129176937333333832472243956447807691670299574833528782474048023056845632041291411807339787767177796620604896277502389718608335402378716881992630484866620772779659096965388615905628220314242779301725536531074503157643791179445929847514524845324177930798078999304006159683414138452141028459160766441931490287719990321690990863951863031729210413506014697964314116642547723898821046279234097011451518808570715511305619887475586250569545653141510857274248677010668702442019151862839366412869434563903098098001283272032582768343347975866391739757720871153095256510838226229843127725243192935404336238990858102151033641489395055389424094718456977388366224361266710249829766494360121613123715532060365458492569005394575370821723040024938821535974946759599276179271133614230324305907894173182232758645028291149116108787863717101429371008931716902363124506669860405838397743059721350107896821124934715422662857978536888199108867307543494343379250907387272291014867228756370506210767384833758399014299757922092262526670539430143422096190696023194090742015966956991149785139783215959300581388642862282603689043601694524214723700528335508484121400311985108639239978975418113465793063612161774534712052376625275601250539518970120711181499885720154853506249601614035077122630995966475926369198769051513807816060842214145913672909428543602711633824013466233920641592577967024245189729368542604145306152811753152851541731415589266131136041399525691539650421136133646269095042778812965686309740185144927215264059308457755613887638870235686653561092465704001327874724636814903298441990587050817604919437603024505095472809658694828419421327184366236769484359445762350211813623584927646168989013285089674738869934594092927398632089811211295425321601897626442020239725955422037518637296098694657042851818818680944027926259773083672577144782887732096179103179697400791732892713248015994490891193601021634937940402791028503895915241296399838182975688778360374848826890457841239851393318184825751885650120110553141853154319883408332666770928089245424432537861925836816336669924085340311884185653680123415541012335022530977319285333246977863990041698345935134730238982038132168162472649091426139694599198199939447896252288231926510383042553501130377538790121940549979530617221334975125966992212476589512906268372233990674317567753063899803315511663869555977817176189638086912854793307822455004375072014203844245067045901044434688147615226190057680589881389928165421232057827783970861377134037663812541470525439959216019262288073440764058948569181533225368032087029077047004029401004513203384568301253395493261854925853282834597119825296235481728185069901447088738597607169189896679381638616907700972797164074665978254620170795707088192400965733918405413430634939519736404677710616108102391456093326519126759807670301059194712533807617348796760616296940366476093287084215308301957236710459662937157479146547928972888336930436613852832144058976836503649445940340535774987089224366670824869426167921362945152751444897334230241063664422337862350626935764031050366650977185552942569842555169088868493906415159144528875430291815392715929050772648137339986794327845787562290456475624607052290590128272849472616016040817843385358391926330657818248318054376457022165663658463256956147272996101649503057618292533856735320936922719965287760611161807126422095343253884349352366233241775322777235465406021868216221569055980311334097285261750430909787770491445932710026973473200249337916502070985243284118022210887228509561863026786613814177852260713941329916435305018499201292960040965817749040501142389850024376021117625497962661516620892206880106736520271408363734260160992506868261494298300078170204910709688555834477830668570293104140836997118815359022375153314033451252834591280959402545957618063571894750927474393155881478013137848765198146860580299678654506951378480534066914451062630349507554786401491208580820713659123680226901652462073659844520957995448627153780685784945747474179447548914575379363757468884279469142097262697753223598666929419946383803816388840581369109171806479554560095194001722573613775197920712259404042188767737639100322050838576264123144977272421077326358546785587364417740979200023416254123002024932713414659931765082432586513575687921446304253993066654515692522440990756446638050592149712713515676448505505589853552563693803555095709875636100731695186803387461225818096866140072692096037311436899840462165527314786127075948451371201674622341939302350317460147797879759135005301646016704459527895626785412162220770198748663826133070325501535917657232315934183884894048877466134597359234674459519021901845206318964866679062012364899419196023204780211141911138562147799077084462206967222072751338990732229061524315984661300386247640452703011643934980252826137245580193043350380985830631097245534018516774239457466344249712344258414703161861568483221631912609053542272902819873271851827655800019205426078080419788149485937645784303840452815262465861981962080790071249807880311369872745957018514336123401884837583323326385159807309584206087229455486123581112459801657160746706054307165421672731671078230675761005522152489987245396413391220890598367290432843359824242603622753009098846111277068543437020503285089492708762894228180999714491054706394990477526325695312763839444388099057908521905644210388014517110862920679401374711777832557727918660476315279805290178843792337460005860798032891040436609850258258925721241161779563903719998124411980591770195520564340580291839820157377135376312561726076967052906040283245630562861773965083952384783451909167841713845539136418173337484315189654601425758825635646401771551340732015982462736142244373381469710103400179683774996197128846422064636506011606268450889301870141841768654120357895424468187512340275471867560690917729857675588047875502781056918839352672264861194060054224418263386557476197975402550925159965496456948209415476031694449308125864939144198353784110336873861221111258351664959119070476182627380232790081785564356941423462617911393321196258067793800474896898019285222746646162801657996460707513795242626741930482145837699176405526349508231821426811575578129055476944216180975422247787447522657386132871802363567664987635139339348234115976581479725099696528726507886128979412984670469847901210823242097202792662125050272901803027820280703588360590411903427212335628084800988889664806354104058504416030586290952893013287468431909749627716443293065189754194919112676647193781770969820781543863014582476525556951585985602017502583221516237140326563419008668085545165157987150433078194452045639053217087001495748261551399447549967449973664750839184595347592887362725207595436721957109118145776813288008160377481194557100808566751891236792163705875592163579631005749800347322345652145199168682728962925617465991684389167346097183861082935528085567506638211937000757604280660782878850836158844730009529166059503106989080086315164726604732683592345422421800298737306581044452935065485658518829412962535895659611778000714684968716287867232525188787327423081177566717479054842329149650776269104847702139043735274076130487005307242818341850476866600236602673105369365991221599401063921830821443675247138675405369875159183812131196168088794542405048652416692440577571084869170968206947938237730583150275320802853621048777035180522496579068650222377391227366933858493057774394299037725048506036009297309469086660502016490991085446532273027959290236453216121743950535948539599499579152191692064045451017241147713484845771092974701220594955227134438065113207418674432516534068790114733919531361030737172916828507882839916974540466498193817884291796376498808566612840784779494243955338158470762139990147374379511433830789936702232311236845283416389038954839261569725751861187403639202431772343811866423712546446192798529072595050151220060080825009990474627015563799862378924862362919448888392322237855954741368229881850027249501307671203672724739821855270290382944477351997203259316410897012270593788795463485641525222491509922085760643772929186487124405386523176227934489741352921477830034129436905388233414701065040219715873392751467338082733444105037536033094701372129773801880376801971101026654499761683410793085746989959414928915245387667538732980507576883175714535790853367896553633427933945379300318622327508579658507199523933130195124740613541703581709982708274982772245116876390820051501340841198256147810218864473854494851666700245292752055152270232503511448907381641711250471007691387453458578159300187229735579636092221506032914292644351270592868453112604300172234170115730719115010683894322976493367605493287848264128964263109881655455975097622323517850916027075894869209332132034232879402998586743556784517097112187963948513304879841663990811473401470500170824355165085685692418075590554177609366170203361300020441100241869720866699152009636608987533800225591137817734106163808010609363618312033652661045535900477809674980032164534238141490725869956993815471739615517198149865492399007456684084393514134326947356341693679556329770701231761820091180750099129168344429001947935333707815358173512604267826601635267921312176463527569461104681341239673167011981084494865540061266694380914170705429624630661192350151204820262704336235949800103920468674581917894107065386848236360911931685350319785176045900324966741978826030443311247995946800584483475624695231674902568545516451141576025409615749249017716245333252712939390562418965256125952650171341798370999089790431464861505697979325229144471939294123202661575109527696635879515085181162201076443496887010606589041821035867291006830715030279728726661914569240760579982256427466833678777007864700140834347012152971887584268491178780007700495517218967287358968763072346629055972730730014428161266573653543930997155175149686202422817473073984818796735312386520881202724563406608767076399354360267039213995706617791929384903928070907322413369854472858409138175585577691262675320582102809158451539189016592710617787993096856397548056998468825758406393468307624038807486800086337967392414668420465369991525937887798687953268260342765464580052742229516763828104596819236175783605894523919907843262712201099755359967359787724081622587552588326913212989886023327077132030993161765646698496425151088683180983976953734006176440728314625269789285142604632893350942472725187288457148580150010899120852806844399214638039305335010136621706678435481126844538244370695418894638445378264671903676897550618628156918501120998109262596401188550352358200987723789546270279768980124951467311462056300712814494741912571543121568550074559174857202925856940317202061869331274763775730391345739490722460538472165260893926838782342190646409096285955762303627056272354902949491405212492883152802438557900687082386880578067712178389863035388251680841249542771735283084558395832559730984610982791722096881761252432244519412968874323630262952812711557307528468534608769356268724290291919944414229534166083352986997511595660686814301705107816884846194253891537280058313370317827216174120411797291642607191573467324890755030791486930136238551767215788412861166308141759142060170204960025554807291240488207896785470814935896613657354464927637175694704434040078345295324205706058056131626746608839674714094699566828329082364266128290639896151140324732493192313347345631977582391554396511612707510983775629112845048741691351518626772552456163411944993077815810773178969148517025402751985740879015339979301986723972223044649142456540248121705643204866204377211154917435001998774338587511115959404468648853157923616938602341786494882577560167724880980641047347575352675201318104708963749994051813282248139410981481133330784730429166907152487736594831535413652642531460709268183923514576190089007793467411918556524026173042580041325997020334838678765638893913104182679431116902375188200352593828354332102018171076857973003300232635211484728201700238111529269880072642055447030573292668738200486330774792774343246398426302973394889737037565979708215812524399653541332418451756468873438629691869590106177296576488956488973047573742699606300852358137473093669512721632526655929608606705999834552132788310016039613941298704651237430541763224584362516249338759409384988284414120619725621994285813807840416720581928002863992666103873829894657342271802201324143033903188458402148370716268999463422634408401208036424234902936876945700793946291675581183485680260817250932552857023173722338354449550506686851546060781697441981739542750288756174744036636901117062915522193914823745200067167045143720229200932331402315019875055074360854611057500996317170385345241017587790362337822328891456996960778073837595944111208218891821097701714234917035680119674746141347976503591571894298465389962304351062170532938416982469210353504566458258146944433921438437862523624807526093170138797678075483649434999401870631554360370075645525693231182295641156458843141875891505088219245154387889426485813626388444424644898903457213078125778083476171598171637098950328543071907342802475587219552907436646690570170681543641599399944615282701486842298423473352647305765645664560720884991669565575271701033339709391664821566031410977312305795537950148672954010488626527598866023474758253825083907879557809563462095471350732206069635243402603405206213604856158059331403096902038038672380324235474947733034442817217833339300175486946840476536269756329921772197742362652706267252675858956957669237677996424157935834376203650036184541079935939420153717736490623515624409918265588596924434629440325474411924487495554262866315050111401866608838999736676621199295143964609275348869659005307007301348596889848972701104210834651199201213461820898054155465807473743089490029535840424832814345196638398993899262102203230303339102475322391129438393184938775070800745104800744560949022622047412946135561027013802533848571167832072065508473257418069181371524837376911667629200176680763562245562189331290689593679294388931391406542479580635107549599959025486165387938886968423285293759554378227025301382616130287496468805784354419795939257785526608486037732007430917053633172354377064323271805761616331357240938201430236766985491372160574530228303983108080051087026366072455921576690661416860298552823359500783010498572027003510289700219510523411037280570883103194954003404592511528484857340774806421828581672122213002339412976438183584537626040911608554454130033312528071370161821006752404389967732712313992894721460232441304696953972685027507332177887868306749005697306141951873894623494212132102587456252398285342395554907838116325874637584795367018826133186286471308917647101416526396346246276113864694372121748358753918457951238171140241423359701813146295369249824367346861753414465469730262013309771263555608791334742029946007405829926524045857736931982883656517214382777600365042226219703249459533477164005754952597663660143303646806054312713441659148414129037710514164557473547501291168036417036226635588498005120192061943267009815679096721944803035191028712921391557057270652189093128988115154679748440452634318899844973968121022438314501465138703964722735541551521372495418386925527002562758100191121005697445727326585564462645396063075082430930958301936252806549010876657894591092321572768360842747325781087720046807467741442435079715798630271307133643422552505511286556424665966522243767834937728914265061661315397213961573350521664194271229781890064263402672763653502529102725821562239743611539439072430930340054413450965777959638098725661320332631021075178522891192330944841391183660224767322810398371170279621513918912817721514121085058941283481169021204810562552489995813271571024588124380143995299373541893797629828999489298524288100240578612744975823503503666247570577666055934254583092219536562104720751687103003302464493494470877590823332026723776430231566867588822314463747637877804494012824168092252268118981273436654564309672372813508078824428990166659213240218327651517863601902962830155091022253704786561906012147418821374344178023240080100665908384114067021749030469691753118607760559694144408902499769250003160417399915866647527650903953028571473038937684146732101841536772652842806380470415570965743512547349110632635502201437804601752529868225316253270384347515754479383171747631857801910984255574964766227425353397345798656426805886015593768167993514234528314912105755785867300563058061160694534634169441775111484642413524780046022310306978836128717171023731702177284259644583563514489074236823907364254006906026124622446698082238735391635446720785902511381614587787561876437109831583831399769829496406284604610117224933987721276719426475113201780938850671605467475804487839246371681226247072149215591685136335924236188689575365822885333071432084297187215191949385725163963769887612218119292960621045381885903134061462913427733117197862947508485369551680486686273420718509762753089975801155666459456705460456502925982164559221865075637281098890817919400187244479280821193359105317511041069858740746313337398982484491232748144725687188863687744186432978312356835985259621787879103784800229331935882116328295454662926128719797138457499302007549842708113139250257525766069707143572721453552780300666784625126810495633855613839685080026883221450669535691472978502084171790335137686248269012269519728302798264271087509146388506680801806190206758163441637869701249378817032236061857848896320988048263369525270960119055509551418802371166456547906228093768617460340971520529119791884804599786268516152299956768120413085357609761969860341870738657506295411887710349562415430760355292857429761635815584521661162830633102548079236908576229841338196364380211206096642905783860658355935193107019717303387094215058900614255059140664808579927597849255199705951090549957211905500819269226149025169299733580492645572974333051883245624236462435918835664572907417016835680842395413409598033921366830181845489706141509357423552700791294862866098199190741239538673555516446412167798957561714948117313531892654723089822541876807864468528826397051513599870459593457988053636206057336957441856175359881486263066738268157596769571573808514721615243472148346209360684738661792671930316915383357014159867202799421018316293448134536945102306169234955661670124411898259002734461791464678697796573583573959209860510728318547547572923984010955706443937837413647742325289889868093232652506156486834560408478495191353387921559235430055868072462431610314808844879113967523843013896592787307171012407049149374862637725511757174416448690179379786028914943342960357491700359460058474811159779945683482463863575943015912670204580401538527592851049090565079522073795567702190819719710999247335512101473719442620273356322773695978452640952041960273673202987143141022713202654933429347050510701653523014368799969215047596749326854345334223578385566416024378065658974662614609141906484189963220449130696023066736163419192898614015409357273390795479943056202465566236544738009211358530576158513321565023985043540661161190343642677742339788961536656576274027574102619769428331505146956893756297287620924177466387075304826189947911749954615403489082658055806019914340296686640786638296237146073468510889664222302709969151200392910584823753677065655161572092706862512317802578646048552347424421789295658417916489062301158188215963830850801446259293239689162640124236558775537763758216782617339265920551879645104071248675289394410119857362066974995155515737417100407216800725531706502495833928304859341722621190710255372285337932190252423757977402229538119312727512887166879846183221025441377538519973307702029787944863293314652120662474254879307372835581972662051363479690320641578895404833690347251980664773809832289481643223617408838544679813738460014979504799058143925571507329525638997944784018748524557972790936332102910591464149540539988240138716491533692325194418398849156044463936509924324576838060360971222990988343975934997704592006343986741552436845853353911022068649901243959410407387739921423065678931525609550657172086101649816246341290942207234596088817208921181756815448659440683819791814910277746960876119606272204890351333740170403136162297239626047725691798124257750701954085818795636200683485557056235422250847681962572353161928679424706986497238334868807868362231684121370026770195871513254948524215605123814492698405877184462609518894820093467260611136024545693906709460585499804081253553351310886499057415028696443295190449965438866545308022929470493295602700852965431043691719333383796068707072094323175902104475923512829209896049622696488971594216412404441374520201127653706616739404387943758526595769928051934805033788296095603794526083344719253401379802832347643224404921573583473016305314241095185791457643215483730288874822884594867240760721960666986767815409053360115484257747597748584565876990356247479791343252635306011201169769533440158517163727770482010161495478037383201457949940728268555576161176642411403443866885787385065475718202058350481006419972636554736128471456188327536385709290804841934763933831038482625962802668695082882807492501776278148617520884686834834542499014645468684515592250352496575416299904670379514059929245073402460943270815330133553595600895022360447352523703563004190296335412366893063445031241250488195957021011332489338898329592762822415885933981374853656827560820039603784271249831545700560722916832634480260526832399835019209315544370610562951124069368709694220915343409027393157089195311938712660806937352279911852883261745802060267053581879710168481389148846725945119457372105524500060916826927344881510075629298053377036307816336860443438381957013534618939794372489699946865142204036147881549866323565063190706536963944666297162847798224968152570520234111301607588078971998330505970672892049220408255431957762956050989958924436279408006550171717591440107781142312016675990648828737051482469238509658056597001322001086413440521738667076792167688837623956523124639044482798559387251036798964554493701391201286753870229835716278051260081368705481177795605910305881416545084441320019643179700732094920939035114821674256500880892528905091264235487003795930023303502561724755523112509409200485047287661405550363697920120559258494120927503658883155819656816212430375726874705938826494473378420008692538568557295383158025990921407079578725524842373657271955948229955436035071778540564922035067904116337804864504978685693209211235111260976121755666391011263760953373059868170563479621739348219987471149306009790159995584381745916836220485837890924043121818853108918345377859906260337611240051012070759773638395988395908569974885086014847929713592313502850829178935067687175383650697687778682580414337353311313884128082725423418294775109898628862653449420284347242184720244703786055308747521049873672309423969023878118256386843691652342916324249657373336089893080084172407838299336764185638223029106253698545933955530188449447459208477387736778418940748684376228253177869566853855966762585305593031510728737933385920521450567132141627268354987254875797364616504470658495958904277996602683463857439159890753488675258229491054770184799599243773359970761200195926735458752267589518540626951467305841644181436634134379816025982378849872995058321242164156382482178457451675338906731969464511429278886087046733841125885412243601978889143480780818606001358257502934239166541202895344659998929310471898707202778733718810719666039297806875823657159623940393313934874206702872498737963439592542740974894294757024927563885409310440057794310558237244310982310149531717763551433867360099922530092074677136168709675748760246769285462922344195959001145262980568906218807594245551616223299866354944352447737018348370267153213495517349257005488485805240550429521755791287914087025501041144978138517862932863876918583257687280528512828846300246027762824728704418034155706042271800361891200067685370647639166460716311958119214479214249368161208817468574287359901824804802126636289812570589169280518213186759095704800428330597589957078712940369154123327103035293654004176011813416134583341005094699401320177246588217428557454338694071547025636454906099100242626298621269194231628421968847023964671420070715437059379814145784927997881699634244157498998431881370964170860966362826573070272665477919068574333633268657561058458739459207968287430592976113590395133140173697802040478000065011129823483740417803833729058946805456559298885268015125154103241250463420588558669715057128926602020788920828767195200220511550117167854579775530269575254445666480175573304252776819180250596529956390875358499765134529065163377905416634730384414952508786036918415336290991503305717412527885612045938901009574195308389039638774547463960615057416585723976023638052234146848661467144073822790441508033572460041425999445208832405150279394850125744300604469231685454538253017551203437757822012926918755393455826022118893376503253794132126561967951052406119704682345825315702053030262422420564542672575058969214862996451185623113584607642326099501211664702611183528115748608498281407347889752384015503542626750167528877239661182756660122738372325474375522169090955230860744369353393629051816417979181227601557278878072600245954930728211750931980658794809052974251994628249786280867689254979719981955690771016222105744377989944993729388062666220760487390161087895060173008874233974947754123416997877411193740899078497808467317771669474390413069964916094170563041891246810502294495805430793359174250293100953027939704048081915628475180210655147736742458723764531924655267039321655552260286771454339522712999500884738276876280096245997960325830976188521593298048309663793997661379695734117546082485929161440993663367280190595692591280298811027032208262792470695026580557305685279117777873821477901354953829170656344376189246831745968433525362932692299329558376177908073981663118225620273305858340665856404261562345697923549519057841903862630354090343940962085700920878119807150672768070213625130643254264242784602367018244353772072393528710144922377533474653549358505375768530474009648773696605870540837568287370696569814790472745325314686878110811339728689854778690216053952045252801790318376542580982553472179670941291390568527734780463626704546320819667449911631958650490248804223230511822042539905573396763343501769977094484935864282086256481307580426342143572631455172281626814965732692907977647691590193319104826695820015808551377981733665760532949838503246756381052362722988888403565979114606296629547489217445913283231930809970374589345967445892869455402526138614445342570839105595122645535435357648065145497637865649028811148933531917763354520482547389825798319477575690858461617488811060656008928591581276892743680461548861863645136502590991852477380011960871318164870239135376871992318579714988234583579262679068209031311206759384858543243047597775562767127311017797710713690118170154461316605309400545879980287376677509976651546149294520351748106643325806846122748709845159698915143701975936152933345163244631064682998627326484856669728855642607226469727486291813146940305121775913260943248241187696936954491583286845697760745110202785766081955545361570459566539082598871035801601407989913216311804251234054766243736513478878457392462918108446001052424902185178780216287048952529688413893934773420042249522792080803598554505361703598283866510161032140638622301803046131485902567676710824885056409483451528152366558898473330777081529290532708414638328423023325407956653287363423229778554788789007804860477726114430339813739027676906218731605885791723939112196120362454968849086065760591669056196985349676770885639606808603416161251245211066026013443265136351062370368304064884184048078126882388697093341419140168802120794296261673583547182637992955999768960737153626556146954270900725099844115388224475429326316386546831409715107321360699612650251802648766140327582124109042450960035910566388217635046257584649778522076300099620359223036556011011816369740822494208425611868025754784203356713610478039041549043081923751700597307428865537233458586839329007259179339295662149487508439612721237692664931895954172642637834168141779626397102313484163123025731598374648209757168413105636963357795450531205126367510850384937733553833272455069262646053236397949741110560162334602599810857951300451347513861680581474741035394969780339973372467987395485290857566419154079579826071904422586457489113077492752991989755188761174072359091880311364075632176753320594304687037109540941399114554961632934251874395828592056233528295939676996476523064887957438579966154207307247257933342737042224046791381475770933718580058992432605812239569868457541342031374272086628486153811728595702226690549719384117005877828238283858812487885174796011558595958899990664067914792168876858171173653059847813153457005404546888086902540649562607847421742470560083963227288220818916882658052763244857587467978037897609665830058167254522120219493908569330075988220170198687024487699280643233076087877367265022412984205126573379133694133562872510961252341482345454024413357271940358334893385115327657251472050993455868810852861312375864657590137551489723941269502386922073449443569088894955771180867496439645321700744441895106902322398377974042840326876096521298726902977693932909488739351531581325311273393198332091525110941421459648973782794608752147072889513701938661221736552246833927200818487349794033847858739712856242426415968629783742800728801320265480215402929473715837660813738066829595314337910769392073997437074170736788523083742178761336295544669335388890812241490452196195971847638822963619750584414152245966740133063414790119395274717712077835944248414852453809936859283279352720529766443144569928584431469562203081810565145827013925671362622131637374395476282519194402396925900827850417920175955400260288113467807798023707250598975160332921043368939031697068813944606756182376694440021649065185313596270918109768308681501733649047917146875137991820203617737653940768621310534440902220248962733063215696238832299573843990276748200706712518207369082732297862487563713246742736880729719497868180672558906473894017637441911126799366344644797658587002795226881831411690862848093345270733179412397080200111440139944066890653530459478964448963267836182617333494411576443356744776848640082302624562560112264509278653015916446153332702401339433235538686828087673817882623173576111659025445359930644134722153955742811208844848427982758353805922370622681649234426561227605071019355887280693974937921626908092908179901467803717254467341611449252256075912246205438229326106155606702223021020998641091824007088327415275480289117676255637157982947400459287654461725338504266170147845477667892997787654757288810771041619874513298332119137160944748662512682731110831774636905869886132070588560842216637062496430775400268070552779999319087018005092890762402199813762491272209668982234820154162019131128792736508508397034986305438298869512889632136917198960834980534663847886837971342438852044270354312551370286700613557576482352738599233082028841646311824771984813704300839604608733622794129063588791801968550024487714731321214343440174647335405468500472622084527151629750760881893112164106415154588233666904057820839704256451123538730340737037825610079715727372068712196995249774130531062550649906136152271501320125539304129147341576042607570405494578005743786196366075441918108757002488627878963860858499207277532560658058368419995230330433990282647170198895887843720259248925271791014127043268378663966048007674057475165661996715186296972840121988098481334531012364950988949509868274862407162989641135503805301260504989050108090145914105668562868351903330569976568326242020096827266340533451584000492849724136534203027434662464984966379659586702512055854560288491620290324921686404483991930574762529301067134907017903556029126267084273844141697126762736423177168806722814385668854578302196984660349627171444381372179862695972373591320612883105309559937225387733849667217578279760637227073529681891234070885584370373888946975635373664907991271891435670023646629821119259908102687583186497073108978294578901550831510553574614624839167381845634052915732152771635251354777280720136829516809555307079155567914718668975989186264395883945646130349867192204569746245299077411828337518130832966406086767548874489556449364558214986406753429851133494896807191145152154360622493313205900325573242665377756758269091077217800809289681687232172998205747934578906236416186326870565963925889253321010267688574506387220523638071827711858218378593389492854602555247811309621605786580363229701180425974515002376535086045543127089242902854967561321115671544564323027895004555871454380986865958106332699674188060901467479445063954427610494558038554271595428862853920892645379004265188183492977774625039323093857447668380773264252015443699528087521993726118431235013874380704472915950889234380789954778828153835124243811192140801547646365505366409633666124852191628257525222806009527312393741384893815916821784288462186703833973572259274033308841181772192821232594692748013065430369929432529374323202764013014933843515984076362065274257133031196033880984164857591657958445353750908203904717702903212489169501922527248817945561964300062910806176347797329358148843883103511759717693933778307532333795703542796729109785403411387095214262874558022533510935314856054338813019364187251096621383733071032309118731098303118469634487412944735895307395659644321626168615104559844866110927438323339379397828713272355186773565351846086437342258139256103563711723083810225204248651263268301891760080242675698517902667982783831160663217444635833645782104906911822092221897339945653841604476175991343810399920407131566282820590054408071589022970898364181412764730201026544412612072779495083004410160967541894820241018128815751719804304721589498225011326347810095162375768633384848051737731011048090356099307000264906885401429954025708480776895321387199877217891471666749777767727281884471076637278273940209735940197750735766843428281342833913878689385409623677755540661917328151805037093600626338453428213328294554580701155482379753197207838213029868161028762513702353874378870674331792670031362996456358750582561851560646354893931123420521089246592834663946900287598220482943248261867966819005111034093316066644272179666342474812372395315951990039278960254330598667567263703710923764985909434212065799828786366143113256420049069301380129657860624127029589433700487137759219050128305426061866968976441024006393202084421043369236062128943246557655558714208344002402052578771964292990514161688807729201982856810929584155381233991673707342065754613448509224280337707653219657719726640019570068524459693742890081525452052556474949955863321214710055462462334059650835746434197641111221983400414030500745466555002491697458090632313000343995876644800131578641146927523306388338818146507992291900177726292078795068597775559378799794049678746373206189374716814817986230386429802806969393628155979928278163675129502226350999444799265514310276076315281413407053530783234128435437289720118687047967188076858964455805855884191865799342811259440272305106082362288033146975785269788971130827839583613630801193673393205305773064451315696482006696239140951214971780764366845701616178489414604392687454246188773266133674073475372823504321768154927824403458707880372104055835195920163961121996386328689654614326406074229548345820392787010304084233453412147578702093160716651591614720822337427129994599802893754352979403164665722115821644459115334100302403685031919258021742256853365856757361439305337760043240051826091761412427442978462649355744357034952877669385969047513143194801353686314065557495712516822244858667945969458697441636767676943851270399513566875997386630609752046045320417571910173695418124036487195165405784226779710853541879317734179776158415137170738531204018312087377569763615435467926291375697209997732985563583656925849218748611464182358598371866241358973746883720038382871485529566677968985257631905457959124810545861441219818136063025213571226152362387752219125202565524211874397419283737240601509974838953513525679924046712512467761890944340373290931872186874783514154064268029819388690456156129233088531498633432960155026938204727744927806755100573406069463814260628681863232332013739526307781785034981537499989285258617620693900964969386975296650641319519793855941413216471863439920434609159162333800272855509007738001561132065144870008394305324474646511458517140817580416743832431559261978298458387986214955152935097986510305598923782693892276228015449847572435082701886078213319352404667540966944357491415235685719517438416435974465996101409569540184065627722372041476659375548077527354582293886434132316125001829272328137717317706563042824307221744953941097614129602088984027307833023221060551883406240207408129667771963243979786259097942180044562711827314588391988310062914314716819149820965390683072830106297815839509240640463344065788855320979865246491479753388582469007975448650371417818508800791968694339505002144839361364608715421417021817811129974536236796245792611170364502679524694510421336844120340161672503730161654822488161738878338323886584970296243580793856483575019156599967722712699891841228317007855886256716263748383101550614759414250137042223261021100825618700590610121538025376626034679275778702721153496310610449145848658523032740186488035556809666595542983273996312615683071477587482554977259297310665070133036219266619110786952742344895534800446852832150510920305647809929759969180759621077882869751431985602421941549691460094021011777445126477170877825342216366214570137764190217465942892987694942307451967330270266533028835883987006464754468922292387143984880461120288175712037810107454376029801226369765887587941443476553406093740397087683777505448611633418058820802665582168382938240943816616920268828260167120280012960980414087453486173003085916094774670500081963332276381539120386520001746082743561311381191151652338056122762742389239479511513076395632968692305460392829427028542573489399482119807160377133450375849755312605197654009626725957198465486020481704072783628716758630208957010837195453740561519678095075211283160034362211695856948260583206006885330134788478640776712358022275055701125032951530706742046434578217109499371068500268701375170483510214807085985733001990188067046370346143570304882516155768206523376745964075347688861883605910333214875324248398060906196278496704687095858994313601262878153899425209099001166554256558445804582328772495878650289657313742286249380320423659714272557152920292113904044654179772293753284583753602446716461668549401024804609863201380621243667811038756524986583911440472788752225115595172817257582011988094126110904041765833589443547309491191313201601244475088457057509693321529182736651542760466244138719697017672257137502719513645537908150677822670694320949103049066832736661642298855996460784584846051419027270084859118649685826253939348955634595236979283410773031114283704527606609314056373903196113895510578862777899182796179654392783619926819060370747266873897967813352302845757233237423552483747822741660108415534269404146122864122236582296653898099824493058461815350515207233070715117157859965426668446167694383715353946565311952047970288637012793438457554824985253783198312775315730709204966499842649105602033614906830035454751108213474640873874194257836554707741234089967085356764758061759464054092307167772272583722041300680244133484102724982644381749960526042684063768121358282183960365698005495960341564759706247316871405027383131330349599233316893901947519800772808268950727680958954099444327308056116209389455982999283679932028138851358470867222851858715920238913124160698321298550519740960584306943017705727263297016372999476238530915462149422478295705050957446778781606423415603904536278950578466352283202823513507286232454961250536453882503045554642133722853152946296091308572321411050843053729448370404847016166092244353180945532876635342210931990557013444765714186093960242433026226873747461616569792132593339769281845972329462732356168427810087596448733799537053518739182492512953265045490184081333658634160236474832620914270905071277675502761992482348477327872734102862240534339471637588600333974883844880528377230689123954744912136113582387375634354726535636730345733269004588525576440541310909540307710451787976116354296583986656652485618411996994417001476165759016678026846299645085087122806249083632488904875553930668103748929401306213010882135403501563558331972894628375328232070829225020496711051610545436877833521353121032434609504978455357541616459754759341042028309579192365898614579819640979766038406226582257538057521899177609454310170090821137081778086111072371871541567463938178004217750143896435169497943956450778642637867274748512542605106182696608030001834272415387080067465016775314169239150098161546241869050221808346231050500075982147478282728220608797923714454397293968070125012132103708342993787083453667891282675441662868356638685387686934971293556263229745181191002281610186965004943026875142965630079803269162368666767867924267256663871219478850094892570227445979188848949802872085243049069449983067921991365426864542927664487154762297836222045440481349711078392423486955979987711397328193508004394878343708242183780958712579856236591545684856554913938564609584440953547190807410795189466227969473338643740359536658695709869318185587450573732496591768221856517631388891037728669194754585749199423017334262131808849382984156335358930966810358567226256377000212213162441246276283474409811365593922014334656118968460020924994476632704061256669725423627670542249601754571074410701605761886248539076499843756836259275158720220221848759679385711852562353759453029582496160591054348894984752642136414976403660284748090900696999138378928499468344082658541053171067506853759970031935005394335854001155834147794151305626636499703650086530311028126612380216219096270351635501665393332174118912114872584485674916277877898965319057228592820333583956718940271533527674341121641826909624346203627292603336862951824618531499515973792349573806148370444606105606702256582953474954130421198049618320783541517040132441869702083099852485178269102296480737105632842347493329098183120650508592858347163596115785990390704290861407035354659098922185331927968197741778405730787100104762420090833601858258011329732882475488261001171803991547683270050060890771612948216604367156973637148031785465825632900097102538978905912099774225593036412423395653489653904801510239315257102457750754361635379737555252018941842084404596268086733535078373343046873765389206907894926899607719581191877543058293698195520074699036292702366070688794497626788468472689502855846145479314724250537364631002497140773503955209083839863238639452021541020218514357989729938520019922453093810180871588681753002778909946862586957977194176324453683832372426659095433749592701321813878593946948018852199148418247802275264117893462497095187932015133823625959489726011254227164176253890380652339455911431311114384043749557503068028842851863495509855513682679285772065348213140437479830151205060665331709057292396459079264408083600753978906243146333165506974013505832171860421498243297798129359870697082681103931513918663829415956532015213155078757555597757640667590319616162129434087106137438937272440171866349505780089298644779971259572201412208101547202082316107343857312423164125904168129162361223538276673897531906976057019714854356656471334598726548555468983527086234427635428527717540841137079790605568517733782612861367329621322045625921586471170061644745345449953129934976600282801993111438834767244337379122498507695793071533008172711510536595230040665893781580374251737544796351470454553823150027682550632252249947382164756415187277270195313601119753976289468094866599311139700315459330481087385089756664403638589036762777114563787403480992954972491548083408504316471309740227662336845815127035139830101238790770795557928035077993484972062059539902654302623420317259240807615590876637787770669481414550413250181836202012915658671886168239519284440832416424437848157269690405915909259194662636632765043617346313820880601980426395131632541805950421498678765760696196670785503257432305999625224053668285876522745263005669154516179177474940198061392564207289792348445785269084684975326545429083730607183057048944073708209069973268980634769928741670698135760181460618458997844172770812486421724002795186594245228990298177619461722615573766151531687985481815402753286888177636353051717143627153801904648685567182288490259384128677074624304241954572584973417660607833963229189365259188729108666125553774134641612875957538711672487208072569780629250900243753853366448756512869238204852425247595979174264586140802048434800409686700486281746533653772192186999436450918029395485364019230309812476767393982069938112947350492210901589817462271582762511486915369425861449912550651180214438310410707269741910503280745238790233827459325836736753990447184759368130399215585346119248939353595555323641954308138894548488664929790444518762165667131133332439354954319657514963952768416279508145433878161633560829419525244365800350621624739178397347974577832093888806318129663953130327275760968235647652997999860967249859153373905565888743900147722096446737081753462873568023012005670869124887727143946903229585239571159650745554646435777301410060915489961439078575641972560999501724113952793986143039579510906468493466084397632524001195922376023370351014384918296639686405438507919841518644221916441409323906704459731826113022233978856111444826445568747040329448899033696571982249969934376585708680788249541259764301581348713313327813399261322162845016818333482390162490586541017842896484520626667719832336853486175841248738255754045743552088853998844088743030200236971829942870764791982497129839178076798807788737814610168699635300091849133927648551305383925357391686849413250082783802667798044967003512576150804434717516816869560685390449626148919934714251856437482906752940655423984650101296340240938504298552945393708145251993903494363135781518171029507753437753890038354260583605542050444258376602205435531829229900351342701942241336798517724945015458785122067040984163932511259829939876491907056664274173152018496918140590366979243164939214404219876546864974632163789685566572400977483529955986418289673638614490012556212337332243623460589968264060004748984619858256117292603059784179337006919213745062786912971892706772749591263739083848334829124924340629965872281128339919051217365436530251208117862072053725671742768243845080482747436064136159552298394371156746391938491397449792281207348616182616145069689116691232326697469738534992841066170747086509407593383773651290085982474934092233106724181764154250362308858804189405036050370579772294715334495320469966637935599958608350445420794431027467758469474210860692237607350168144768538951167391765561995801116665414175272595842132229817174482533389708431066546497116111859874864536314116553388959684690280558493288933414564601321473876221638497216894699594002613493554007441217686248113379135839521015399843679361201674495154285697625343719137734697742004993062949192068319739358169364467982412366833167910256093788978216965288611403942238129739186395616435073679736588250313761211845792904370545262227929494867665345800662560565166409443656977373353299134936204695299664154752268708586204390718003356635546615679169596406766908882192326480922070898670216478725404417126403143956705963068089408916905272562693594372686767592042609049300733604671734483888665855981795273214082174391687616295629626127203199768927509257398689816001342007147125281233228965887447338753189913892822687795275322511251992898813428281190882789479026364062570856592306498467967949419833087442123188850977836283795492558285451296663909492733963992733611651995944802242424100127049303270432355858537818398397481703087121501068914178403062353101653066574081631609026993237219914719234016477611335412963808139962806256771020500521072544344492980972300035236396327574008181519254370309526325998974140241773376278991917203778991249852266208345630164753693483567984748568572844239058529458366199887359850902426265628375335558725154991685431630781399291044518987329746972827655076893323071850362688011011454570051646837440690743519519911209120754749519776200038253557421155580626775447351232754415082018125235315742171279635112485983414511981997971718374255900018836437816843597525573252409721821245724629054427560560243458210864011245751226522781564959298155870429310428057674195248566630469495071142608886912301639648785795838659392629317550825015531318067197864727559686171260997783689121391996684211816737217986464147534017226938218499314192092761341968390082091732236301211205137513693438495962588326203901979212058192024602833835674803637075641136097897343588517965600196608210754600724351881777209510402625421270075700414356061755328318485772621273505060738007898004701800885952314790120382743274117295968220786555613781920314784701060508697329325693772375837812078822137850239166281593887867848935952975652273142576886389256539341871516879213025890575307254064869694852989411192332176340200449995274416673983547654921593784382815344951406544177052813431562434823088012415148978631055011217717489099167780465605793795097548146496051363506933896406619553308000330628884819965732404124723065252491129289231875003213491211092203112734127511321526682587447134122892353475907471078327047935748575461363256986045150082324400376471500791218112185745564243461023625739882972259707382102796440886305424119094573897731129018994167096027202463750137271524129380127892070537669923868758209904476614195339905369508937233311879592179782991700802403300604574742541503535141614332515140093066204965818668308036062681237181986525536079149939954047114675096125793384029835533009158219258305215603744713759979340209973273157619131284263961444110435492867030983261998347348095854844006862099052320017679268578278460996516628935463746638551286297824424862008972780754976241647294636221993444162599995595512017025196863761062644880242716679404650123404717272417910154134424690969509898544654999533288191738845702490092673421716896345876939285278241154193020342756840667043937168146536124166118343821439630939338116814531140126946509106106719569990914349399741668038200160241613380475292923315684244651312061077985923203258188402010476567443386379877205405500329125336160553548988157196494961023609297395240768474159690280551725349737658376289065687290831670954613431218349148454603545723549054960784096578431672184260060336145177425172677237891088258414301015408152953553047546783025843401733514891681625513379548558942975514899646875940938544774415957414725887191948149211706305707685290972373927610593850877209536985313225011080802190112383392946092041088873289561541403821256562710481139930717640977865389136800660148881534399919970816645193854725750796316337827222072496493874584080775709912508418328784687998706973710188391688066049495113651503516768107673959855470153314639196374772833771985984435211329589275702566679878051954207954816696648348628238743651899650930005513663931885792296242973740721004673874465743734414974402674778023645265606897748337965902048847567540197671540917929043690649327139777401075002623778904239031018573026380727182000375585522406372937068155063036217705308098140251199425958505702990983505048619163446285269036281486551756722715674026448896283277570801808231840931189421158907200050667201445225456720558512616210083967129446073415636316081695038315266072215531712754289761491555953531878619302049068833845732757650736135751055078977153057955295161753353136523864608002978281407931659451234621508856762561810837113035019081843019553075834892013873931023311728772631260282359889946451583111914769613955212253312589889901953655613005055487721343799276693856595803488001666458081000394240575705883173027143057565746879325492840783184155636556869050762786443652259506659042904684049403480336731434632532539604902022714945358189801958627635482200974343142555852570084241263122303708616454505805944687933749155105370127562928258254101126321386846661440031978483895531368155097533298552035053930707395570681154158456998852228578916081663300892562850922059139952127989094107090971095051083776435107976244796639316317970616916494428693430303178457375579595412184684962691137505154387673144121676368921841081241451744768163147938194243573418160909168590394503259136482119659167801244309178922971250601529259104143350060014515613045363576657877988134193235508037830719626349833623933789902231849574577980656310477604385017565646728980676539731141436015201941439115238865974128308396440605612482536531257575563772878869156059859554158756418389038913007325876399376957045920021706315843811838398826074229603705722150787005653708457216371170762286471611681146778671521096267421370382278882644751215279070493796911000595264987700390497352196662106492077081223987917849989497221064945706235266621722158928019127933036664692786071010739044725049436773313020453809066995942159596815481969238485654617089458701794295154577811537910099759930708368466678322688367307967263824595925796372624588494445437065524672720711339823027447348683999843071137552603930590455127250851983976637673475985834034018975336783115005302858320475555533145546947664294674037629472525708470130206266897457946539873700554524157873331684127061548120945231590427683150309917208107629320899867115166294611782223157928175265118071307164444303217354455967646277502164333274657655448554799548085567552245350746834438899290631191022486076624258553813873843828964277788966457354245815497672018692938149420750362374865321412580786368974359587767586657610615724518737283306742084484873263475590852499439421441229042876691898852786951912908551017169537249612319295287578715040915618981465746275309744005597132675611653425527360644128142297324746270477223592119302320900785776613026126431025285330556813025502226003335273620669084507553009888460622485718894992677220995022679812679211994003015205768340088084817233299840486990249154624706261491982731230114426734505298649242766592299440912114399170925174611095911286761637256263617049207171009689152421140493079068015081480814749132604569195645762370464623964232155889981646842045958238120677642100027049236439419837410657239085296942927071092431455874120715014994344047013725785291429774626808622679824477090294502398237699138856601062954217800388614519341850012621738032187142966688216594504188636051321795098756308184278990038402302700573829978127588742600889908247648753266215016678401992024313631809801187890354634798816150360371117581437044420523164449507024092396403876164043556204785973596741477884814297193649753433520495588460314214241007797156454052122017522503988777443118063563596852862752444807143157063226850408211660975155426037669978507700912430781910608108455188478759287016767677732506843263394352254256472343524779896456236013274370587676416644321155555595986952134148004417315461842266736331059647485925783066866922382015540791830791911058958303849404126632777525667302662921897107842483814416359550231600678766817847187974767623636802395447477340361911181997153893285553032303078068856622443966442132770283251786789395126916551892339173732378129433147962793429380857699478447717504038182736790685325225553313547226888295052090840057641141465843165496687128845025104815190844951326851940916781294417110379762463188443001207083670158836829642397339104226523860486681443467931422112665279851087565327140585374786433354835092242678846230422664479705553755159399835812487699030289850478959180132085627858090150995407936340569537172094701574115095490691405527329944881038997739708590744379056839784362841514267929458298343225203865004979482173171131943696734825268186834127956970983041648154513206682991447725755009355200797396111644443667639881563164222546826395334637993511344101888925651305465674605198623885174961914029718658484074784061831966927129647977223199735258051462791066736399338493261637599322052342592545829121654526378831006189165549519079106097503779061800644371649520865533349708078087589238445585450698480139706682462041980275015235057664878408200334737726901828297629531158177883648337155720345407513217328852859530411059047099623720731719498470116637253452861703943483225854040641743245831753849788720995231645226816181611526551394646423600636478638611914594272194712367889456958464868956253085333108222547101173562398153615936261767545171117179282005591409436410092206146290789955728905801700892592357173151963406030543598197936815236468857388263724907330026649406376916989420232150151086756784337849773741506517611282186586896375060923772882839152825439962340847055156456014612239318069977889743942614573200611140149317465908151825101283685620680461828606007510026839338230659153116698447429394494330501691756612911852649845925121629235883225394090035589609406120619202922874832606757089085076300492456895959517586900645922548544168493965748845298675700949676560004538464586823875553067200129717139697232569923131467357969443139458140405040945222420895343546796460459254220960598682170764737044922264909527351109885840493913170759433439325552600962095312296774883076358013014082975573144129050956831476818009158526080522513382968167227486471456949632765939265545232711138998438007300917158156772002309715201908288324076950239873511162412492432210986199745817798943277538723105139089405665130737003665902156117142529599193060863668101377497581716013609883651806713107488506754827145664809649200601754468795342794682005476854602099746360207056544327836572573328960420791022539329683726676990200308635862998143472826363065176939255464128066290120545405984764389314420874772218700589682729180761914449080776327648598051593555372888248142638762416894461539553852956353179706402430974496042937549607126355134067960539773823299211772387909043133855404514240319571970768622198176957843565876494936355016679369803900674272420775266988660987949075128848830569537716949282650466027368865313166375215846705546341686383326871664127144360872394850739780248358124536286333225665266964153796519448556978856337110045014396376246979936304564729851385029942418228131536193563381192059794095830147772322027148191741610634211775363617269220034334269335474670849518583536379902688349738875982834002473837660024448297242375302565513855160878731404759948402994349938322171254534369416633773222796931851844322407651228230306221579901785253063377652364976544468903190274780488674781876299770562116807787655692146792567402018873092415069890678250845763523453193360568039166758937019773522836777314394160969659425266846810979139636409159087429903774701141650970771397615062991881608511901549770458437621055969435650563760215563542964135506731285008346179390710463823162437909854822716486112536737268165419461298840286075949118237052887598644796605850356827849144332726489263958358220871279679080471294586517946557639724809595206895691674577741804514618261890563996615589682782223023805551895653597171963725461563670737521470241524009377154713569561921031607679831278774313707425895391085501913993961805730595630967254316792130636676322145011122205053491167663646419998948581144919991895955976677936581614662512805997816737321980983458710923962094192693675373285280281192937464808856772462285087908916714065884675476892068650293520156838134739239305603385649834077659870535010007301539870530862416197654438664204421691443450713393386436546812127945886795045717488248879512887989410101410041403290685311268770539567850454290907395977199965041567058502135638729358899298553322096701315125131151504051034990079497923398527641278511432247093612081332720201574850825993269641387274405461525266546026231680899691233951750049936525072164210396789686618519339421919441898323517075716977906155364516062191502107060740043292889090396338831419083463646895688641848506978560634413910182301425356404839298028723736604560799732898115632831731947105109636239407303751128652973424668628131817792033256812776379374737847807123149358278149140157132168943776779033674716148420667978229100693892348793415757916921452363291320037606895253578308565643247593011551766608766159640756070348637674476186091998071737677341929885814373049693714456804217959809720614315395834956238155494737123973677735848467418045035311435941990125928844551732229064894182938727627157331750874133469926381760337851573798877014854813803370514207596856555882090914627458326769571944796267134675483467160064915788969779035301938764823375794250259029533242804399376495003288103208244786246700129970232554551440836627947818895757445296239216729593191830827723968558124392691997655706097033072571617372014742185682370517873606394832257649743745609918615842316971137636234709535709258413590911392108587690098301800918430262304956743509663215998836525157111151455648175223477446003216207937880242394346722713443789566373690150451589394983701541751632782535855527685712240873509263672601468358401891685125536900855578267817530829501745019085745148587836054015948377398032083469959166408966296451722490955799807303920473338729949775786173298284225046421712462608343425192122482803221754640578875194056658321211878791094312543091913755035758913534831869397697200125970855268763208848503269938746199208057436480528154164616963057493027462648086327846357366541199458209517517230173335276959727739659289955030991268482637146515424987129137865008387483691689780484470943525295610980495486518891783509507362902503803259403612052135535697009076220813710268783835516779163308584695623178469862191604888015988019691352825104156200253833349861912255680230000077411239465095875462597819624212840941134002226748034924370803098113085900320963771443157241929610392300627432995426970100089356934536852446977790998961475291541057613211428736009896576346255504084088708068243396968268311003673811291205143558888870488889551647712700793333744004425430567557904837210127724813580940465298328405170273242030265285806933857082531807812579988423529520397117251786870855477061919976454049930208874615388304845646982258568261226645718353103799213168399042011433142513138942419027703409233338458666807686952404969401585722187511275096167039056912085739734657416474661142252561858176339912520946324208631595520904666439101287811269591679518072324119945270546854161828040735244914757652758451566044158043607980772885572842173827286915282572347128363219412553100556440542508577573258092749144548064191195028286590238606011729169420961663884166301050025303073661598593592296463605377035406621504763397255038857623880448832115279216423130599423661119431716868873674684815149081742064693014110543655708265982456645714384204037939406089028316507058370848049067152075656859027270373148384461893481331443362415453975075200009255579886864501962890093143529000378857079947209217272463527989202767451562689562150962668221168554614799860332736418633867546104878926598619639601193345256112807012530285252321824052950382322622101415752943290224217691461897436886397357525754589601953796327583914001527884828614729683374066742729258108757996871559564777674601570336691543431067939072875780140570838395616397787835202072648973611917526155510587933162426977249712288268012894263001889721850375061870464660843844108860790063914400370751426128818367399657075265952639546872415550184208615554859045324951382336965750542160367009105560758371005898889833279201664146347037738729928372181975755293763189550898592499594067911524691230363522238123978775697312303176917743670799158501897015418400000374752199822438985973289051230419178137050639089154941148870994620796785816238034785114549508280479454739525964657905584474115211896349648738900508209576341471088331783508524006234443912561505102294012627389577651940609697832743744827753847558784999524495732734501866084221891915358010174782593310058128002618114279641915921819849689398249334266407770604156252023086962880752667527593743779283838008701360002430931592835411712214830813997946373895413541672079037536068972699560379739646141705271633694097372646844095569799709945640542463530250099112159824919527503157564081186914053668961322018049288982111349794054226861725751782436227353405743350281172700128470454286708720542368670154739784594428390883329268580193952629375810524735802642162844848660275824516133412272585543019295156444563330715830036208040534902000711701621579849699477308132911789429912049839614028152200351958756050114412417627665603473347506714210914426169831493039936413618919593900637631247125207527402063694934719970444841131484427235985758204595515758726884273478874070523876317648383101500024147981706905672914061392354456278501563564361077663448575206810664886731847664460107441464537389628729205671043491980762951604470256165558945900080931421875958449793166148523269276570577275886892908815787763357283702822446649605655826169747189753650463945168708394511150025036025176915280991144170692714546682561981088507123852707623323742174162252203240069472889931227187317425580833292657612227437524529714872743134137873303590230983171197064538832445966806230397770106649983412103688647897364867289096107926244031892435313251427681729699159768322615814498742118569990662815768637072027776096507188481033859115447871548618258329525928531948773879030143292588119842368923253241050107929266172693517169749171883121812356421237130331351392001019486226678004972389786346448122439594938081273841563175875396323433516436896586355996446064465501633502546738994524948870737940786825487316196953028644016939135511274171314729975342042698503420151254933703349404625409220227428847509317062924511600853781784945046803025750915521299415966896605104330276469869349367174209521905689212765373125385552661122983533758516457775848553199602687993499229618261327434142235360813200065324812141934489616354623775612895377018122787768988027384420907195964213526304755773542780775646633365879738286732072395888490707618836635307095487226118796161531494130005465210066397819166281707652765971990785018329107503433489792298034686171203303525335291406648596452788975144694432362567557683560693102413859449648271684738900860339803607269503072872446703900362414910590518018884670784159929352120339945677945689258642946395081824638902455155715136886555912006031751668370195688065452097443089144588021938626667124524856384237162294082093745819427133753338107323834136929962983628931256753261420679730590806625826508424073902791519130407404832197971786164583881193475017225939875011875384136625298321461675200350971155872635260696618336454834099062127039468560054590118670375222178481509384970297601624568990698648348528051037507333076769469117629951720630790900267735268794100822246044263178313919596404278877674788274869860795445822133747381502921824222300143568053554238489252110979762675802191062513544049770482562972627485464167113705420764639683045807601896640372311809917672971861059828752872531602358476944181778629644859027222195077318678136349203633219676616756912344040393931324904873983255170005575452320908433544124849333439262435927511554625547706386141437790792591041989701312948993880772752832114075874077319519200694659985771621469300874970831402549530211961151845025607609116035311051004583352948391771898393250554323515667648865578179770001926026755738585763257293097518698424351863488224207932991328688721428673362018395793802640378354878597663953615397377621143815263595112475507062261565597286167051828652470627369467597217556913223713970491731779644375596301100673423923418329317550708894619557110533240661914788189235964272680637730011835509710786466634905390861945478660238338025174100591378596946067534397576978567476344900749956963328516526362717049226668245123127815725819071925317259053249951606617072802958476879201817734368701609312211289929416928991685655300601187736315894934899688435957255608317265706658168970110601718781044988487984944941158418488789325502577714666357701473939030253514832739978290299711146555326462216073701968977489743504387432429885645297020732324835629586178617180785456330638188759355156805870647143401311551423044413481908025808203567489543132690843277789194588785240172226494516571710302836340106685913229347985517093024762576347717518635786099403936205259794166882630909125540219757267004124373989594465812476679497693564609301985953387932868199925200316595793869406777617538887392543592022173357509034224664210707392221164194285964067110807050440748559853121998504403198700727009136124397829482856433490179296842786667766604667138916883456955206721866103249364842218034139227516121599325561233296617362639755293119821438934115804574848459040648136600301654276990120748706998808179613564423105847702841286201611474434726835406853664304147348942519037864242459766184502499118941656045264914804316186460774701762931711836200594958193311888555011474266991434419902071750742624588112580987577204504043022117551988027180603255249481782092072062946893836379763130036524086939966595345106104886750945425419419387475158176906655252379937657745812289167705037488722541577534261939548185515313852288388524879871017193874763925289743493377313528226072853571006178883328584919763640687422235837704127570595888177871072331691038553974256618701425519969694696004272820316438670133784394289203280120144568625058491436142199563223412049718650439862097101151205374305178575204421791088453533958492056761999558863034383642197557601392777480809824296381051159298056640944755649731206994443870162577786888418238680436776518971583359492435261867246966045710058121803001389574181181332535965501505470586722235893823526981465263536205410981660535917670742222890938658111292370589974297360480663094828566413219735114911455965471492208829019313400248856473533000827756286906416165842132213699859960666155337422635126750190721107356782482212323299952598727409238214029508769502848625395942026611009861001823150608548075129306321239258573147192914124721365580145224496701786731381469742579330066706412827860618599116281325364802515457121689291601416072181196796521743383422820539394926348171817709746193566507745127085621879044516507882360472534752159144164344805712583115034818733918127448283708647916315562915389470956224648953351125400110884600627425483825288956189219967437248366410532288454449502875256074851022951654814130831686379388849254097059360911358872031973213308044191904154535006330963972021682175991962572999155700825257242259969943788352806254611401880025017415586600864557209002913203813739577896321949524967374854451632457099149582268064207139194242448188238433924876226527365587314296762616996269798254954222029008779466035603604422503195345625366394365016573646772700991820968615121010524537435916722767591975884209317802488052065456092493728900143765430081262757995556040399903178493437930580387485512224103202976233455253481480923235128887336184196570526290273477192459459861413387361187683409974040229010631838122083694146869949491022473901673631424164464439774011667982623801825959935949521800077357462449190382183594458141955992874975120543322720089181182497235204631406556116475745196444520100871055203661407981734586632380468290792748190722851493852943016162817254945421729176112493959497855988765406975747913208918418351857541364090591785752507538691988305199256160508580799245804280916650054438226922341293262835553990109892990792181567877351872864474251174807890285815496228091993442721238170252656773410335945877622567917889220504143045482296750229456166138693888315687367941782655082418107063763503535730013165576561461830010987924426169279970365330131632224140067539947862191342949373309605217710399619251302080286071193983012506099934455473205872343112258257357921600077433472006786155617585537033078382488192483901346770217026981971998238213408052157809537381502771901624489312921502142188240148667579275415356790297465165749381768471273441161537361539335167143447868350130505154715335681184839226348054950926352105949806438864797856669127906512306729356093452940918172253989203358920996424133180718712811719786342846379475913737032963357149656680023349326037288906774334943956765421234932639197314442401439788948441579321429567826400382235153565091497660005736937875568816773432292861191023218753007680428300289835336110531236674266616279241961085469004259104994001889316248767569590574406997367548754570120460721464859725278245364010102241243008092607721560173817215130253749526128725787790674603195627352026672398527167673173292688088899737442987777881201669300593116454167772106556994449029200913522897958409093467794998201397302618269603255608895825983368547898185721367363459222688226563836821865436636542580192598524444322792930660126312988394720347708975821000840941291643854676001920685553596637490035111961534617483064470670859205241365947993244076888324186364470748187383530361293247563437170385400009945513499337916764498797995821827552421684666818712141059411379659580639513986149926332334031338063147099729710821203325723698456750536069132988857435912658274873537468684559842993711123463705154629057652951797434976291013503056814495049089590057251202938403345959631403489218684214305886299251593147009996262019998324718643795086894002977106700743113709950682223201544987876662072895176483831239457740343412727505735764465298644251088639307754392450058890135723489259993179093863649911239107021054192565768244837710781681281387634076376119769604851425364757267904693012637604824069179896024680046500248014719499994278142784034945241944265653999328532669156371252945148221423490098116488108999332404206233860712639669707205154867348426876992899493850992452248321016008014592627292313724365103671267418702943505456974243945151218079365652123267034249265926921011113531085983946310946719485932051859221431827109364815757254632844073703954622007091800596644808568883331957547955806833535901842852683052484211453686094755226568974915675747177441114363087924118365446297111912822797355397700099110482542621665493957060900842403614112770783455509432320068026503633769209356592736970341482185672296465334479493941668609284188725612963808652564282946746928065746959653674625266123099214498686219619799229814693463257105870556807730017308744405550824441773689230189888559224887731500729001271535303351392563003426007763796737637434053611634087274789945397581636494133354331812721204936241908473515773868936294189019782191313436814937616056316727915583982303222553379390107072339430468853139205495729144307014747605453296485041061928155910486127313692440356248616864350524914376934753383009131021902662546366752475021760316647333076537196276797759400822636388305301882190616090571437512764831344279752461715503966625613729335113261248491993778559865183007799616777011511211645753552377872330094296333224102704627924622147664234343841859754411755597389063520783553983645334794608703305215797363672875776930343203365220303575162872626615747342697921685375518677827898907012391306259415893444854648426885715013470566042090470120754836684611686308883899194837503026750404104193976483137553543959497027632654091232917607810836013079737214546407386367033627720436413109446463307735937211723557929458306714204176773487381417957859773140292988728747835882063569810168666523522619041311361309026559393734204940587267856692886144145165130924782799865084354735746775201999597627197875246682218376009786059141282211989928673417832461139816351468833466885836052889679808800785156568760655565295334947474956751696052124461624921535592325429858773357358650496411755937745793410884193717145193041153512859081804466940335785128661804876561249820277064275932127910588479137761595422788701309979110283505735637293900211929786517791049672397042408318465238356023452843265137778524658157194529311853631404314823928286723623393035280260051563084867937841280363835042315914700594968558795608683541623151435664884315620727039775742300459949809940380839874983409373323292182154566721628264894625185892781628220985939179781140255002225461127460449909193810012381180619634425451867550857338279783870828032079689150440458685626494806055064872087196430738809123614759616486983080146281614324843771654408798405652563400578654279158640685004159352872706943236596396961761933659975843494068023244552775608011807282175461692555517696588992468462022645446365076592270593726812766848339867362960310913838291487635511939343110226282505201876029177893123500660162931737480424712481871545641732165888810573545545166860869288094465890073617909059955705137197746091418669122895975520838191406833409638961474207279785335128265008737134028434453521950396967283136878999974859525941539977859689543058489837777628409542103463644824240851161092740827676625504079244983931504690359723515200084295785839846996905880814276588250076439215830815053765900077767327807297839826596406916274175346083369095126589711353469686267590231449470231210625336133514744926779589864415600394332439487454917447591380025640167500569627630836631074542557760151185212225294318482365160492314609799884853942167244188943480227447146306744816228415192356854442336032402398986252930248880009920796969082876730920376298657713251893020891916401241507047222987894187545864201741325357939424642933930369759008584638268150013957835190420831487551968706378328532161791101985835883706653153129709901547569891057907402992625136445774361181603477106450004316384200644645478253188816496807629114047976833863436779417399857953529513014634268315622739924160847697283218271092659745042517352925969897613619639732804704614043580091093127039611996240525134106345881421458520860009303251744740948826351975921982762418586554295348643361086553805272662121773703165774043097957043070811872470811464093674630524029103605459069113582718118382713841056454482121771557660321113053995473146996844846977083500650786510696947024323937629048412788495665451926020955659923319927844444733358413059455865128422100581315529210334047532739894266391953848190132051827889188920383416984109066125195333383729907961078301892301310138115423599852870627059688869509914049545758846802896806820205546425549979705814225384608191594265383795839042363616400014196960716889596706017018839666229300923343202371259683667010168068500796370800074447869743382133320409012245938596904646558593456058621367143019270258923764406612644864013131580899682862644205297911138463762892078116128452333513822571590403011101405902980216120803806027939871860603938417317528001916725249702143866301453143558746508560246266762627699024219493152349818077776689092130926596021666170855220007558880507165166300389938015017436647594395775891591786478667784836310913204498210084154714831221082000267442023784439591233768669270918385222567884160913174970259168318915930016571679420285236968587908287107747167844670986979894051266383705259319103451365942886528422217919006941720779854152953489709622663689847340874001992937242722722489017614698692267358909077783558670109835715198920964152457791138659462167172466680178206620099883137060500448999075146495904728063000279307220563658444777339272572258223468914852492835240526998104847357409322299429544947991216057595023107002581864520659987535214859175493138851275323219362751146105783711480383124929527041795064781701906371661205796999315252401412370295419097882036239123528472553636722866400492931562890180815233942491695199909865785751695361009957705340482627147049481673448590982193510334104235373369576888238689143401038410017914632840426036001728671869439035445360310467639053746247736241931175636201084746079555212604836093247559395263860502105004645017592141874305320103670460914150943009009534411717978898279628016389182237920472755061464624631544841726654006433774563535668453264730464047093692628827529289534681520223176237005991613413103084661496411132463728903488562887172360595272198054953090075323945728293099464025396759838129598739147757864077518101112173476034297289920213758196699933251244517383075663085713600359281408732030985722559388884703988455583477626265906685738589359299787556481394630100602202821897722267102178472232004645906218156712131141903281675489591894866516853980885778602184051435833868638263313451404598900601697974776869108952174495755453411425234282074986278925009846309782736567666871555662777316023196726495925256199974283718088467598276579757251046554311414711709248796644544777780644370108025677637665145014743005618735251888706672683630428216821083152313087604647824556427997482111157726400721498154190790497503486139462519533837146467424978668796045378910429873119440654148321208567337519566998326837059179200358241037785989098140259705080662541949150097465794754756324648999199064456832449961471384273755385433733787404341721074567460321823297007625185315081740282869658829859208635021547542921815856985619043867403717455838290511405881579040280028360016149580943312225267597630714007527212184769025782528938062021253372464597255023882236803581744367765071195830162867980460135244990139427278825989127009394670864803389989693293431362467804924434343955292960040982901075689732646129824135062464418822374083455551771098550259885679496879933180930575466141385064630171631177083075214957992052060813302223630093098382946398991495473129325411204304452818151122309305540210974578484084373606549032362214476966481466019866068998600947292948465824532246569919267475653711717809309749239261389432604527562868834236919072821259768983792897347855218275149669335044092559961704186311758403299659241283184092797473292768556524268995445172322174338726000726448540291876761987456285944894780414544177065559622704208174019697692611178253968967924958338293734255046052499423877693222825742457428120102410504434223035131019807424233366554594462954843980955144569132497610285905862353374815598559356411868441953658864796431631400350510135611227723338079732470901003270769326742886061306143973167884913105924635909242418213380048383658309356825459606629004856817334442726933195019136751424295382094046373480185942944413531260156099513886954573183204441884268687734030230821283135533864641524272424547073774076372650696167855316147157995406198678775899009868336064265298687231104666506951197118235041354278017737891122510303930664709222911418180841755784927435273834384722893356044415678047948759604243523318561791868696463254175692320726664003823039509651297121721114342205851656183235844969360090790233279623435708268597785489105736930987891223296506693451477609794110874915907006947799327198050415368171853900675849188450491978474336892050699260131672841027602999891437291047777301365130785777054582429277788709644805700612059866884830180304167310648072960271542899001561877086702502626637111277563746993619547695964846505747290240853381008030419558403597419501300556632760487518477196157106662369309840482998820041723699805307979876537453066542606079731194386149937240694207498210574723889065755066785395587909427239056131658575857971812769692082798792919246434811714344880078420311912480496577302453323121082103597211275358890315878910118958946550809329489362621551589758445180901037712656937686077246563717552054881577174353259088063472452183336480592822553609660321756742691970581714932453817926760906599491144129602057116902142782850645980614506288669703642429850558659828873883625315144014763910723489308927110836530681635153567051168372455521231057980788269637717545731344496933355977934025038758463236276597840708411655039367926782153915721671774465652600358837588688576241148800598519251298554973196102923324998334619083114859371819079027624705086557861825355689351204043518835309305397696804581795662860316347432257556909213927912427920776789836606001559864558265150175179768129755014087245217370809442534940209123245968101429077073137033197805189502240080751109596083844729838144653337757913573593880448925080938800212610096702582559108325457644776199568891502633567071908919191332717150004513146222231059098352179185039620057722336098606236990997747037976279530916058046572894521779069621723419014886210271640935822725476809987727845379968401387460015559546419950113739397457735629626626701027120695650472695562436501084289121682454088318079285549638999664057311734353829666593892660675222123719489206356274409761269064081843645173059382436675524887977429613979290016727925308965825073969335413713500464821058377298150033050652141562238031735429120562951677472521894384228059560381884306834345955165387551548264252752733694798406581650207860107576564476090418841920116220397536783395133012507315840764082140936916434399872868863720769607993155985133061923161700542162729412543481517605364017696817191872078459501728155915287313170103577983864674432077965785645286318747934313969985936072036509031767305295379651773614248032190704184377014122974675748874600240682688791225878662519738139682645929945486737340120141038774881563536359095366031608076429150949181037976148666772455727794679858282279864774220113953959819274842488854651134829718664983131041214849998017826961360291075906624459066515796532008568792723489993452635729652298754428375973211083657850630493320565510299521191528780223030582598533945961247705272162944368490931787162029899365448743569280136380833864689540234493675801093277354907745425470650603813028837478882028218693770320952144867634534901481580857434054074273417435103930318581022498274253538215878368942171999744582890747807072449920830909901638325596067634392709351897635402328039013257780784427031286384850291288434881945246448192367423452272100868569994404094727590546737444786735535820946115450542311936123623049224462865655521341372147117319514302203178183320177029162157618216763286852538810536880179511199065071510695460076646979947205498989518253137428183061170032642031755524674881339483126124918710939785687931140863793775041946461487134620429528628595121179557309089652878454812076983739620199584865300716615370746882538003756686434067253106810736954567285360943311746631608993937193218034643834267409867314030433933518983646769772960197936633309295432103127868334750001002811218179386543697797830094504355479339700461450580638075166588175899374715391 : 10293915459411244112045443942942271440265331819645440843859892630451135764962267448968505394165097537753883776971606564539817641581860525201771546382927407429908355921444382888888132183133968954206727862866495512746445303553746571527228983918906765436231904910849093878595003846667189344144255904317226362494587865197031975979182153615318879770714862176580581181241183822036014145267969082016056384891545699203556467335502591587183989380286827361633536732403813590134328179905134954392947547356191580144495978599740673718983840879108794227957568351843374831635455993437840010776658760953906917101167679447374807868405590028887577717524366437625727946030649932518043925850924444943803661469230827774035529518934939692627246498248573167489187247743785026414635238623871896358455057202614674620469235896251270089682180498518573351917022374028921947288122025182051758665088062245261080035191206424710299957865155997346920550016082109478378507393637399433894664150305382247592943569848829726628435391606406828727141951047975768676081139813991677507015793334512079612018776922917081263169122234265318399734199728982308915234984998791076916993205625072253279177951295544700221554588658979860313068458063366488545908559099360636319181524624384135918638492582784375147307980829252309027434836092644617830048418016086615856624138676692362790954996254568513108254077411698855098111004882546137460699688788664144172005311448098704483175348174107762812252209926089137502072886372854066927396186695766205236902176730327212040948591036493937281143229142717995554204427008467840074788656604618153026057702684244043249282162649453489116601404925474310418578384697380696149604280839574440940501117487214887975103414202564704266645160466739946996881227089824421895550809436389538479007102694171605740452981973010518940442203855556737842736819018951065117913480956547317528377108852002189617713962912733552827911257616401159976678225395006111947075369574560583370740796127501433280884678389959394446113297209018319750324153846799471640804185008480240784204585598395726523213286836260334582080342810281687993315779642630561501642212226308701044133693087184767036701016729398563547057678657179790174042861811373740108764693425821484923266456575170667253581719006802695514431023050572548647377977668275305501393173859882123269467276123092726637534313997081558313499933358132840335792269789644107647318135789502897384207305415535870818381674771233289190023657841760828711078628654389639964336799248624524827010611396489414480972652413010418114573661774853447448275038532369164921348762263006234826304682257065123958578126521772280504324303655956601481394762255130606980546971805279500283962566959122520493143539430181409116924632626719166464648030704409717617808884677697312884130972537235210354063933931594444540209292754211349450236233276664678301353737761368872575333405544293731486231685976059903592064859338489311741966745205085650294861298153400947345497777805888823113019342126491228227818526644221694367305437307099265416301458273164352270622351408742170885407453426932792016626979926799733298025071355626590856191384762318188629097421733931911728753821248435749649907552439760905216067689652941568295404075007296715484281703181435043121373411147139510142420665668752578721083379002001457613101354228185386431132802423630221699675336369723344285921720692543123344202382747621612004839729021144942107455134715785647561956573100564016527241594839351694370411588980268003358107705808669921219973345773671813256926791612520064942406638318923618625203989737635135736486946018611980164846619672610014309410769060380014952477684286682330688869085475285593080894225332950238450999336847700124356679633701149175249547152359640972624799402166954068102023059976307526549019660279849341019535785451128808968590413513633661253002254687285120639734010304385658155417911444426647203253697071926304703102566180537110406683333168084483955560318649140777653074957777321793189159468988929230217768666792594092196977552621483913383292398584039962048315738894004267724375427201087307779742281918992334887313069299990958711053092670326248431329527752462536168089426274509173436816945587000006378472779676005349971395995130069299568018634532649785105391731441263935604556739690013071669250589479358053157330228740867404282082478488455196064486782679678120864862754584965679982939331800310297614648120122871293329775751529343012292163074064530286009738313005667811791744594690548819435006849283646017867690300445345280279759311650593442916623341301840131955164009246470057703423315570150388433104331724092852830463613330383433207485975199236962137339878783607047057265429340286054880950292401294629967285068004306859739208502579956327744556201522077137661548167973233681826121510149611974584868018924279210628887775197658891182825767260487915616523641159494568081534230744527077754758941982704894529294004356142982497857555954209391240565959873699008371977564904371263119958848237674647473425006360792513023749216964601619889310567269799011548983335161609323060077116553936693133313181747597812272365053837833455547825908374933625139621460290024757364607985355183115795095940133715263919278724980646313644464842105797876452538066631829587071283159498330256464406100067033390307952425063490910296517321254675415225868055029473506519125475662385265930460369013377038208927714356684755851977433963671336396507596978086350093279563444551722750930799283408725529537938503125419593950324681942414168424148864739154680045301343363611979332151058697642984577351617818317223200438222918028655161796023172553856808014225708613802473939015815651373989860075033688749941090352047229888265986837451471995405136925969181464482610464541455711994192935581567029973283455330162479444275153904403346196623158124683334394370427251398346230033238315856345859239217596884039591386921922196072090712287850888932829811461947995960109237468035506693695692251017133943265984453399241641340769518794789432559196094880515099858996092728924961423920029360853489483775772034405046384995651236570171807255505373834616755920894245048776204146116301762798200303289328549195465003135077889807846071388683575491584128118127887187818446589231910110999197358604196530222134868549414925590893565166692935848051263753114800033835450044944837636518322958857175251829163824143711315186931690918069988520750278949195731739892780461175138313905326960938662476615420844945686784991099941028473044080692746022518438913588786538719106952745558714512358605097622277231694372808015286107442821118151390283256950052075963714521502084929332694018417857962120743404710582568661678840123160549788979541921309255231943520849776032497949636466539663999697112423236155290932371460592627914503068944767938004928173121990040865000134393067902824887564831367711249007822464022015718949262095546826601100414830627151576075804940204336767018086929746343248417807685241659243246958529026208188289760071663737914428563560954348980948636545657819466701216812550227388566637955604366242948857771151687027001915842559859810296474376418374826921750648542212125332908114268553643454015892293043479940432152031496730293881839869644353502853465280394120079126406338021446107432620595737768607197798698439353285045276439409380922863969566446139379639206780049428790212989323511834669048778763776644832390298180609336848520132399105960753662996579652892712882794992268845770834711107852087665859095763761797155299248816719144469847816616712600998277727497776141789227586527763177897953292849834909939013997909127747509556229200233513295302215420616547617891695544656430832837841042678928745023343406493672982988251552851259269651199461096090409376052553650279110270686544011400392055909587742371386197289596649672556973867615426188609781897528553330752256278501160157307738371389311495192385228385148575904952118522866106751517445317028285315387363267997824618904936591100028641857331642672279289381625793958106176248433057338558016334629224006202465519899885002886815474406355223785057135953714059161554281802107424497539015500298518992006645753776435402090450668714372138752979421459178021980130743333022284766342160706266964683743394362888037585709737542250306713928328216752990335784065527853292882852747134538988734193362551018532296138877155929406430347293490175538302905539336246008650600178675143290574878049448320816223670609582535527775539164245340402950268137422766413883430960146272190623176204900484293261425887182839232768137625367741393382457513242293420159536974742600242194861933236859926800377231097185500885896766142597260378078903342626082586667394557166691887442587046582083241050276132047639953733934213912641998655088436146000570564256912112622049648378562503906442232996108009908716359374526216527855259226726005553055045845923108449230129454700566646127377433217090141989589715818472762365891786777075700260215545313368677155451752176758766937042460243274021199218121374712246159319821237495135366436793842318970648331034903557116565700166063092929074932800208497644073401007203946604796449675695448152468414355386782392864209069717310664336675848695111253230846545861394381370082505792319516665620240242494283755511294061443353459218593790201379414874723193911225152355638208714361360700911600184412048794039822691983362899285196679362380953428329822484048230289012622027759931490502603251237492996566670395319509356863991541620895938954504489872071689181598387652019852796853614017888924919651539981698212081310415637857394529338987701753983222306780825781342985018777254225111144362118949603152946119544106516352988060841588710746854488626060140792145533321602669975857158195349243041340973414992824589165097178853537521578530297825958702511928058000792258808190520028378414711573237149223047217170727112020860676012326793826866403343512835862764859881734361157401901077185228708533885706406219083277890598390210405773126258825244926561109070472947628784375225224793829972770000285107070882041816482350150361893404293578987835667398911708037723083016070818707092316462285205217788703227356793987388405391915003095718787929721141798802001904573299218050768781538071151659832027510855756825419561415940343761538746863121316506605635324079353748872871812975617485796973700948438340885396761174773806193203518218008991336869525568795011272669607211620866458429370534174308880178241445792467963757151269918912384313682483627830820003050420067528437701023394442606099152583876177370195136148623939477165906522309925237064757889532356922075710600997355414873768662804512565779048992590926237029978288340132270790837209357692906211864561487108051772695536023406555858448548452643262269047639387291586180149951710684424355436739742879276657284169483415169875105038552171145659266279118729101015838170198966540235647901522840086512347029694431169600793559341463932156488902961240786721259125816059581435685263669394709209323929960108210892929124399940841814841097196655717594137207491192144843841151216822519292847923536676322521703328530344197672992625534287464936944637746077073080600165732672708204161166987523126514624310271540004406171130826971498533191846703919289827170035347200200949068329609604496482759266140158097569928877319966821607312923025477368815530029274001098412157413182554737545142661871507414622738068891134203109225257751650543038419178687664778700296870552261936075954023958702833206650457253015592541931618503610964052822054363206537262079920706216899802840076805225320849043516673968228552268465022464114929469798736752616063230361601472912198395949924611104072054242407216283857324879233166882534388244974362376646290687273550846437205986186315589751438566199841449817278366972556279410437715480513224812060405525048507214425388044483433054806490602461582917250917332388202870703557739806380788561768656475062909237407370919214580810018821618920357915621276342885010498795080067894886553096329002920611060386958165235466217411916387412091664175170919888714811144805505131941901438083524210900924021625678926547285087047490917954736451835135927763087914399276169188381166338620298558263474887080395386770865183936018069761614187039058072980448250820528863479218246203257731339381895002242184015972913864530028296817260235263628465754702309078768714960915846162839469347867106517029821997479816596218106021521445606958294471223197896277482802664361945429448960156585969672929314256691293374919411493338163577553785725123209500735867134000655777505602019401935015581682847380485401662289303885165635033218513493254048495788967963841789643127666391161708694551546444449118573206989566094577502942162754123369995417965437756669611757336974011972174570801599383851822888297152966079794068237915474135095874414393699349781102121321507850660552602750990845191932861740757095167283221176778911563698669409538740677662002238235180135902562124890560804349663364756648891713009766873160630481040740718535424117008025592646415652043376028664325844685733184691117455958193121773418215890487946431604102553422005663422704900796850079147512876942815744529386913388384917990513933127772266285213126380967508149275511609307443342634142787209902813584511465779666059011437443976383056201454159729125067829892492176246414405907999814796024493379236788449622169847783101588933327907849042288053189036699977416739931019499724434579565656999656903992000902950503409089454760999658464176636889936631369335233326073683592089891926960867034406706860572809267518040895246676262593354591861932008478505386000921013548542600256305973112581659773779731960207619000788098168606977965937858725341600780060829198838192409534302455540255753213578389110918420121709999222238646800497684939880938696641076603845936490872513283222243094576636991072975732880226657527216713837054711725921962052262686516590254348862556890038628481874165736009288671207173613314960875714888717116756159393445333329041399874687256076348370612078747582262140719627871777384249321903644176015690177496208946247202994416850268868997186480131516869862396398680493187371943628446362764090059588274202330219227624030492043034821097235076402209275063773251031814657242875035402897220343875124226901337081313307642795949331815426695013108015698797528920983141178502108608675251519683361715693395973498477287327705868828137922665964819326370990026395245228374150587516256884426033440548900591719418941064234394128507872343112541001477096668927238800393858685785270568005777911777213054122231419069407010999226132214016720592478775514218114805556350733963201259545000747922351654880706642887334972275678627723046507009831104361206508452232563940956292526216374325646985439104651175095070082054498475590325965511830404115384308758671746155794106120885306592646116977907391496701423074183298094688858356350044571762469177518579263423328711239849463493961283332133201197742992942614327146412875725800295258089978215513879895073024858679737917193387437792068936279151056087900386175628940471686828277298298963542070856394057725570351058031957927298768304676305735775537239643268177954937149447461830895681325575926782292837580687920020512528095135664120372452173470728298555114251793074762894334938131671390474943861025246241414600958879122109884441720709323001060618505242716421290052951624627355509215722415949906833599004709459242983458159518619052306606565589181448774952465411153943899796817062106117585428647347607711476541373586167024920178771201663541952902060550114126742197857577757941918456664881303958833981443868928388797839746583629338599300290175716907466877779721069360544550298453224376697495300354007592023750104697568794255462831531825104777744996748429296752483273937482483052566231817820246436970242739405413952015378165188808920190399104901300837115950250767790912771079623693319425697580944136096254877267146733388812831738901675873926017259232280623267000052530227602620763372421546091619937921594008147201670007150848542557733777938557352222663184406772319976342322547439007423945355535550754446792027405948236259540647963987702523084866653160292942111376901130689046477359198513931489184567029463816101329666751758072728913874260910887825099229504955096727130276059414362364704559586607248064230270938949622181650144242320594241444389106572121908945042251902322178777946298550004755676511834816463372209094282086640242550769009997884318539593167644379643524606560887014668753535167053902740934945949824299322569287066586430252555695857418412440193617706216346154886830508849864109765091558291871452445958589689861652213271376781362741543739381606496836741461077773065072255833742949792033020820525309128225696854003991573646798629014054375190087209620298643818342985003280187195004711878022763256490145035989033537155406315507976984379492213639659840278071540992582003902918990563240743027861496568651450758541354277043409362769075040044750602791840215209716349908210395536533656389383542374918141472929462111470522371890135150335393573914230121815460439653915053576117355035536854268303386520458554718507656195752121556716375653734026864048906510283079114293813762550975308900260763674792001006648645729548651841585526445471094420028486414557063538826828112875420335253648945805991491422739031374846307564615614024199108480994343610229909984095380777166761651322521641087985056058885099575129514850394401194582871463633023558345217367681711981223339545254920268422630154375330698633866725890487936949520929406330822807467793645504525784196188795319112017962813544782978331107030451288686991588853966579296395983461895951615846852177270300930616004474246020563358141100295066977850437987103893406295024673135066532395746515325087164709511688016655795717897343780315374865808450635144389485244603112359688173821014519872773929699155553014834657195765621416330688427152107232333412434326712985919714695889236636578738535991650928129171040985029443838652667775146804526345854164772646446743905376813265126023622287597385181476155019664034060891227063053676217375030412242351598776269670971714184546893031017783519269081122554800702115520765324642053778658338444936232562530086965429667866632425069060560807235662841385699793065993066751722956601950307860663860806560499204543673312516513079531453610753641262248514335232739545381173228686914219019310238331817930651917078369197930885987105418811581430774727352062714331130953042718373181761902358124895670509953365763914782299563106830621711845808365118156375856907601833361292221339503019733521508417027319987512218565424434150608084698931797081306927477072611512168325321314311035772703398767564658015411944469872763884590111243026943344962955541143587145911618482663058304554960353396155915688019958952457880224327265107790823024194768736130569684246244693587563844883675641667776042860861944866037490265492213527779649123151359080831354016258754703295384397472504775390413087971845389505307200712927244688623991675197531952742642522877025632460718646157976216674316304979225294213523455288557349767749966702772187503278879509943179574046585915403791717839518918078315274816371539679200342271772698533189473768098152959764182452365214869789964904233788784912482553912475831486988148736262193611190085458281923474605778167342283912404919487085601180202166279180115220816637841894122095160232388984470994101307429832438332655887292399381132120458363241324031452085479758650530948900196390749915219922885394504491618352429504815316668641187344742120975294544591080675278562689593189568747783306475694641917035388325271800171993657031195951202289037703415575124097426449121051555865412613696647397137501241167615786357381958086470865234404999779012856833873094023279988693168747522259239556783033587752120368966916379252325327768259238340766067333054754224044497173641243756219099873352378361564385714881359031483082051348495770126571239358816224272730737488182661909138053654762609602004339707061158504296543384292400938140847094251793197872700208345275487693855254123740429396012214347509954239453524191205945552391975401502202627659023292988325293527264294724480164984243598383308764872966798183033709010553580351121506304385665002232866677501118546034012396086165467023776874824809390820574910280215182147288811486285337616022406387412683943108961321381120690502248742880379254582894372127384027635045114011284350553632740647633684117305582361176111750716973031470692200977840809537706927877718000212861602612627634516551584962586546291018891005108122176037180374655443661373584724252213125126566361458754052524159137014205688110056676069302291195665698261527559400699099271147981190573232799060751963162594414903102195945174956288622798593029135853336473086589260330325848022165090672687591989316715770498613895233360304373322341680777938260742058202030101269515042447694923078435944626389120378623462155865228839704852084157114842295791613446856642329119696100159398329480591624203597667934245397025103754734220281643420078760294525116135656522969203479261697853227157482819758536954832730314641901778183463412406041279621017680054237268423783343211667201376533418390514931972208057400840251933026355129051338770180577898768363023390700773666387429594576950842841554848277473604260708387967230506864596229932290279403119392773628324530421242823853783067860669130458772702479579435701261863035787187721185209919298795257819485704814293162391828543190570743341613129543740296063093513241078496004605828157232210810886454532013481230865323686203817131955348691453261451355683995282028348063701553157450623392456563909550177055715120597495155040890285982539903952027969087659611543622292725130210387415980619736023064259266531412855524283841416193983608174160438901468560267303700636496116860535887336077281986673930191315616436450887749730679423704543441429102733111556642833315071528399341893928683694283877859231801574753659352084729905247555985061178154807046302822360252123426405027871962313127853524665638057817512069432353367348784630367436436726638338599968381780258318494740086220049047892480351133367864772874941846453606035409128210330977383419623018899091608717897486532228317360598909410277503346626076344121678612688195484991263302581789168912970505787185245905820743000002578266467577507639606157015656883341033075059679401653646760856047891766739826884445567106868392897781471538155139106383798467284199273699755199823049957087698920617397257401929451605156887986005420111585175628987620575167162965133719987163814689169379575925292452582858390006102988583050382576513108920329811285653057081488970723689641447584177503188815571474921183249814317780370819151518242529548336256006830975917095870669923064793608611093870943818860803963053823647428757485294693010278031966328440398961933839209691105758075158797926512094817234017235994958268536870803872739670797840274687245676255017057500762400167311679650802247924918127931889500395383261198302441546648956450619449422371287042871634237269599281610207788723434548684473398044903876621183029258603975485713744450433622950899626738725115142262250513162429065036469223981980913533387497270068321330215015356394705743487426963627525782011891461590546933909086068228283661076196033098238580180152803699328988734967953012942981968267582510325817937241775080801026753752317857862315649764706979927698952782586515915233112896295095743671926179985570611982777892381551003334429031277324633512908461241240411220600491742722626307384358965554710295517633872625581822447123101715773730132873381475398908373516511200116647672771156828010839910076048953664179386187858220051932937563261793915300420411007331345397184582428046653145986353441224671982574724689930880911719974800344467287434761711974734436303436104661825323938716837620362574835564107182879083181846472965287432249710856444495014280873490183881815107892231925518704627923252124685793292651941567442724237461546750976219199308051873364870131205577546555541035086284589530397019105892535563510883751560822265369962839039736130527299261494335551138833668737989564738538777793602037700852863341249218805783842368544790305747789248172108990016778156208010266558926117598023873223126462639601371282221942046655433130217126496768007515808173335887765014694841101468291135921961927596055741133215746054604233250141203290724517409241027803664573858037320930064335775417264504615014401070369057032312672682482821458631647656877870696090180321098086376176427056076800256867072049173382539340842182427159948314103551377390788192714520029878956006633065900942754767033079848560509124020678742789042326310172390168606655389916716934142478237701933103822874260109831227796870294304731163891413684881906150181322867711867056965480982478079723076678136509998634558449059131319716293091345840521817775443237328427307615949594191305944605032442138544275853504185826480606233989916197489145186487697335405199540231420386391958170641347963433451745225544079247797599809570178855766133594581827428047210178063588315891256504964277395094826811850374952161922030544270837027393380602685524284337148752350605215386873462510566747795142295878446894767148484671913502257214467435033300000821142734926604369703313810644658418575781011267454825792825426951624000263667118811647819775012925084374110317550256741088805971502805360463475765687352160352083564362527012170322004823419997563713917432841645231665054714645660663055184871733289857301969360168176433038887463949612670031117965737210548027343971814408310147146263964987760107853630973508518851885098770037298382562342674063741982873871233273201244623263676321289150417262621781376833099085143202500329292873435158825319242788207874822017229015991596595968903927435382672086068201136004229929562872966386540857690954123370158191736601423895572382329231165020430123576287061270909993257680809809654929172275264093287009927639557166286373723433091659402393849730402070757633097277193863757126878483984579501642650463403108144143396080489580056160928556332628586809060234147790374455593113357816682033976778869786233303955445322237645137891134218803711226094813610749903339886976795644091620943093032350423645152144549367717744153627621834016512325815565127245109400399654006700293704201550948417447731759559033148316910422964171049885894821620612451973393047621283045369794542707464368562499114077270482228892923696535451032967098930050643085404680254438963836596421347330098772897253725972923165150607376469525237549403412115319595657591512595357233022916695769807779046571648543707095216865611045374823046132328643240684654706256274649062227133408364158680513748808100245151408148376926452768013488281587930540391911847720588554609442129300057315303479537744689220264048876858251218761724947516761617114037533519890495322297908121970019424278100288703911839495912294577491870324185553874258037516821480562143573798070151827208341799499372734003634894184976802437686779220900910090888545645611381804647302997019607323993590006018791462783812858578338125499834740525976191189044021564941431545397055174459734379764975104678827882895049346481541684985491029866702785520245584618696954538827392391567228285540354292797362648559711196232735925683620747282916837256674437567198041868873098944885014653751546932985077896031200373027424151194631866686596310384516338650180079154250375045529864242292876951632521683257289651913077838011405890257917345085168733819812480654288002680706729985826671596234825831710341799826633293525740231644214414745072485774448292050204427537871477636106314687283647162727327759286446854593753777838349440971127436073512514435115879754609584924632251401621681851620676360540731679859690753408386651825045456797990327735812466672305178277856828454720960534455381619481186941806135718019585646452629711624270798110649512350386231227011630551957889573997112617423432053447524982879045621153405009315871839612858451036201955927280251541879726185263338094078947565813135714299721360517628045142438761322230084814559279404791952042011834269510252276149868478563955278298464703020897425333700495395522052996777733962579000167243403998564362492556062466921431989683484926034759522919254525186926250648705986376382656277349135367956495679303646336015498170331247929076781159326131567792376241672829966302736356270156024742228984191407806393283057080689069770439579427856165774251391382979136870965443807910002231683263630247110716126723482322403930142563894262517904200255913856003206975984544297835240785824557807919747113193649025429901125324530283134572366168715995318269347027230121140375501625573431041030586983995131875035799157874870032919430415027875099898759782317907534592851525621182683923428540921038656363566198208164579780568689614952472512384831722269998274211297793563029210313146765286375334887668209129872171961269498934292598452255213013954896513713474541356211627532120982517413870274296183145479203757390741176026207954692668708524282172634616657338377319996704991493386276288799470615987345201577572422528827734086797469175654774732492777585970720073342919134824065234893978738974565697257945057067587494209077968149364631519960876736381794107978638087854575334879057335399503475684597452503978057050285432915838605389645025948348041045895575467212517572905269365148626481793509481463294136587751215823966184880301209086461244199641110362894637563603195142216341734953138652055071156453420182392386082046201583122428596845734131581668948132491350075507362561766887835085286575270639324630360223091903359785705020802415126582513098790468774707390443198334065522893084940218640589615309556640098449188872529263832862715157660539493658286568175505671605579845437363596139927343866714901483865172636048469302384601764781505006688225350827594512715571768562223459289573235294235538198688677394831309774777584077759107239285261335920091720364903397560295747834093304277075819092173069046673886899751693769714445828561278633342221081393377653725461303662421651417775519138195729817350066565195464023585094169533290050259048537559086143658853979863252567958373609875771193237583869074622320725896494015690654212842702130596979480096808246076519653349586691117911050298654081700064675186191535864148425142440833044395171506573418094423624147592837864368859557591099017199278647297818484412174959662844506282092436511634712169793414045703242130530164968465602387280658012735016581287793942025101256123226544464611790959073048673621551498623260730731564536300724641876615759394283868558306073382007029519790478698963057812678004033215258508128129537803209404728789541177810069718902008484696892774959174846251074987296929418629643795103647635464826702496700024811191263633544057414627081614605761772193936877594366643050606900116635362526488498587932957969752975841756768748654841547442604055897895174069601247365729469754922642731789095764500980281834828399812255055329822011526902951807286760113591502000621529649122965044578558879899013018362557599468614726041722768753042408993109085283616579141029048511549887126513776782356473061561142505246003868933517552363346105907532194648324948724719049797915429111679004586549571779942989868612596291711553071644860151767290225620202092645223088802216136364381712633724149982202609583719650578865127831426178230210466690711039568374183900216219271926011986474562002049089985632934077662129383788156419502502578537766351390404049228234379637719794051935201129008177164333789612223544551434284202574393073868968848097969314528142309460460877934981258932286616477023478178751548641951856259951198504986587570296533716760948634955487643841806724437230282626449192695062120777847195706434079380027981719572865413430873112521845829784596481032887633027669825535293494351972884467190449610293761748852051144181755104464632316681162024434657792369916981930008702295686149797574934911761331912949805924348886957607678821688778059054479920687315868750054489895513093324787493133525734363261372939400301391446799482609754064063250645370740606291396512401158858612987384911564527585159224895363627935854566268580084709893639319778167409428641778208845748286502793967454914734292165927761814488164901290694842748194866398336273607533885538710951380928948231478994241073202900555562268258244161249470626606214725216989697321799249856138674653135032364132482591439413148414647535037865298122972512350036810252106829376775440336079338714190111038125235809864684908504046348304337852514988268977916335889628613161675808839371109659305610611349551407668517435414350375765289485721703043363231042937861842294117514119338277301574614535601064043712283012443999529338484303754325151218204816699907239651161987178578083825358903313860812693897482697753705200935816117583659700595810633652831237303398144787985411640388500595615565305233853892554485894736774774851288041796818513561641356856572368210394516501064271825161987384640690811990183014241772104031664092995122967992155392721927006236278816898643168029865285636420899804982149893647488406995278606353540467243738919723915299318059032427843851634936129621732955103241243490831365784178372467793256566826155788467114248764477900576934143905114934407086662010074924594511673983601016533742720648436490537663596786742917411188208461166719310264321874470843972702748879541057371261335639449548088696812457507329192150548762083725873088422087359140469828853906183322181026287366261416318091040553593610378602841143569117009059074883468149297685189998892622911403665500739323934522266550987497115131213103736606958886131570842917793220235861258640274010171378563657610665407346524141647484806360749696907001681794063375981735486987775658303935148298840096584972377630961156765750894334155413766929513696143843867574831738194095821632954555518785134335492893509799127585374170083519496340113852134641339099638474799427578321612479888457118934985797365049721810093686529582118287544975020322687710021524990372290774653403918008786278532726795736690273912963006655541017471014027042312147789325915663815574176997808746361793044391200812224443840620015507692655131954660106075282800349512558939792104590577881794987300564209210584095704865018719563686747669662512473483669374902983937768094931038872329349729602360114439276081764345689149727066389572306099443841991391301220929071881590652544453792839264349273635526513832004383219822584237739622605824957615704469681659345872103655226397902400752948792312305021325584895550075250088757664798337061009183565176826624407082534863073106611482511032176435436328000937333348908237473047206902396471661304719788758106926446276325587312996925382630257052857346826490175666332924488340347753355101544369893562512976109519859473231692050889729486912800301529831870033689022003567366284928503755340146195885710422638837799497520425296732079537071167548104906274360955997613799517861830045955320867072160426642670641763119888589439365555316869955915071902321692564314344221516437724249422146382157312513533560190168331900728343705696120894666311699365221049442550490890259325487590274710260457975677662167425610934923393946977145814042652872528896083811784238475890968267423489657752072887065075071931204750435128067069640488594347632791583426172125924257717185184341556297986783117812010576167276324495483236504875065908421403395908885926930508665298531178837080976639407033482061912453335606349230945972217972922512510636677518004942245174315029409009029859472847013834415233105292331720198216902916669117430341978717051043009109833491658176827949030684915288114255022270420859776388895354165548428146819843860147820703582388518180210227263953659646434223913783724648386852282550613398984592223549535578050522799519371189766467250220976666499055689831543397638857918324510898155019186895286925851152369071153488756449130377253299789357779431672626661205561113287301161760261936211281973944565743605930009024862931789358148349524858022754952671561717600276176632458948983571052418137642775062985873047795917109870261246173051381954940669789384928065727332483042085645027511480605177781483821516624453978811635978001703098426885617472648732954727666159542178283808179345822742993293769103420472007982668266587256934056619624995531214652625366682793599249833868264995531310388584111428174668536025214546807638734014278616203883465327101143006997947732818993763189669220311913823342854974211989945650776109764491079709712097270479740889519714639188576107211383073480159368214305599825980344716768384622508732086476635222862483602234188342640009946030761269641140675278041080621096776462574765944377894157656293090854533781764403688620973399413643843975002373782629607001404829340850974895601124248147354313193848817725300396787696347941981828756396107885481630498954827416801068647327307355665156649314467753211908157907575114691379601536805362775140685326538304594927643050929192503640771082884618866889496463684772996238057039465863817040081388011732914920655850809560757554450245855678827684840140842961624675056409060193592075301028469595418418573469888582214288928315038738297736535073042293584435888040081017546229559595467449580604101581492573609064201950112043822926533646022180046253468749817117253885571684292813448304788417966159839610752355518228116270986301474465009674197026351024859662072149303737682838253803604143214875751037641647504620364508380645850833363088194887283782502809222377689551086717672464930687325148162320562165251963929640401689927291246078811967926487967721940071261028078983904264694069982360510662761449588180801962824461173386920898042954215510150525545906491303488222925772016263294519549191091088043449310681054569278201859527311637001356304734435847447994399203384780627052685840628331672096294296136130022862784096861307941242011647901189136941225016668249945056765063279561441661748873082415602106493030438287129888419986057076305224409915026606235851925910463333226936508048091185928040716777860286382574705453469414667242660279803580064692900897514225354382689911851025778857949207997754181226497581910945827812027136396446533137371985673893742060275240778707777164832922338571296060235366256750961004486890604394362519078418483287714547186912923528143954650592532446371214878845727432574820067965515711324275142379935441581919304349553762466575227165064280197749421134247469771738694936879697530381472230917691046894205890254455934413119598512740496103768601387745617399977477707328887817670865804454267589890072687129044068342130809697705974441851202452127234272168327830368553424122708545947572702250208134557602152213642777968368683035380802882545840555789471597606877137093684460591034531288038667721645252216679187734752196492533687158991685179842265844926693256472465069019545775516287246036992271010966007418561867410124528667894452663491991781501692758410513062592993140225953499179385800127013793900721864005372984718481765313836893463487751211736841565342212033476712947580684822263643485417665363487779104646297523935886711310122583022285797476686527812771909415916180932870297390908720090927445895775975397137017387715162129197032969258999134209661348072490657530322112730064031920920500755192963157806252686585811044016617464180157134720129934456753890050567385072966194478133728076451048358049690215204441395111610390752107434349783596264278644407949888932584704736800879370906482228390708394000313649413082957999810643312518464420956397538065419332708695167009501365303515860099899607886888678580706466604966045209344438714271925372533627460418275380299925629854045772303895535582460402286753420568912593186085505692182480888288945159140377815805189623319276204342815249707575777047018798300948470459237880338583926355776626703946553438999293855016014816674648222643632463230976156185407791730907785389371017624957677440516602317416846083880676878338147814846722098096229224005405742156608911517954275179363866379867534054526945989212991227289139300315738839901912413956551772997437343305561878673434964549477737027152667273887140217651869519930260443914113382274995721002030837453751844490570880155922075484549659841944535542813711684447249633885263560115588007115568792928715525606429693981746468531223635020322700700761224371372786703557483181574177238671149063810233861185119452411470376426303551317731884209370670780854440543763860867869759343761321323612578861092199401376123810383905994984969626125764571747883221935205184668381444136410237194695306411855068940668744996643587593183851273062578351822409108037072368964583869651854388796685448497452179102537749573565813877499120162725411928607614079491107206772331663506670753455167812720480422912036552260061779376310473690460641552288066466031575477507409511671214960650374450827107726670050892597527252653893496658297165104969629722288740226491267690187444103100570748995229920372434409428928623888306047664725775170154626767310476953709664320735898213016344073519574300336715245453236837495794770866259456479271487204343153339742345738542077731120712413693414579372381923316238153445802843248194843788055902631799174226058070737258430616415521811316551656527240152820293962935623111921216282278565753997860484057870422437123306902020465983725558518076767853104593035022267119130409202150273789368512740408255772898937661920454340843168237507319387111497232060253761505903490820916840982916765818223833850098464648465207626638170673719562301585232576756715912769439659337437986555594053676050663046546687479508308326363666751313505014142057486844596155199420206261761537864838152356416338312117081575321081080615390426249916986840785975325116437680337585054384085317988513700704623246892451331970545251969669963935151610207960646659637795475025865862997214117341642324703273392467443130277145368475778144394831219922704850369732612491646350654747416895592181386318779137442499667493594057475486791404866125975705796528436943258131153538022040263023569557677997955909894259453362909047204604301587815637912149970957095539224652248666779611500892459236707309386334634774023006511460368386733784758971395388178038930706868887616148278449931251020349887352238194421967615672324915900024785917184141374885206490897190532921160178118223421427496162624582307636191097912641427896469489041485117498264380059957861511797885056259446757393310698104523927759236736985130504564802020569439556934384912597876549226547244957013331467469537516615092580247183920761289245467735038495866603844991792814419911148575151638094035533648526214055547242680802920247602735540709698948649199333218495742311599104966355067552446781425960995444055175256956529079856675082802248240784842726547482200101967802527691439219248287446444562404972997682675425155532229030078155130835650736321522283540555498940103893053297900150824169627997097191670133264846388325292876495823071597801616363520743490211400371237881497184987668370706040977087507016179814547632379666157251245157797593264039529546591157193764861720555023500495760586395786882641190242529167947628756369798766113845518511503398993048976355978066371599388312021676354438010310840311696857127319339116948000797340515698364462520096368993120687350762678410039481510511423299089790408680180652928143410386074751648189265483670846961224205393328528579214341288221566131497855465586455116803614874045210472704947228444200840181673122254040607916057545617653359431081051726056081188679352659991974254262335588824360267041798543905208956132815933991126949034789909857180233286148671665625224662801307607262915510130153697134808116899656106593884876895543040575889091951912550961170362603390235398295102225841512961986493277904043175791953311191911184315243625904063463001789604168693524604812350146216306633924932582789332285641870475964978519028813712918981687445181512058993129160833158074337449284246184175770626007813202064764601330556556846919033283429816059913153455545201250577178407193160742124719635408783846052091853972287804902059203348146443921659575589701322548341746667662946945983277966474790764362197527393429949934294136036807621647671104884381499238288761967408363921242239893564307938163495502206320892536773750138656229384154329938311807628005506182238697410867451251544557060076848425698277677041431510163689444394823236065542476759463362934460503898295468893795749576945531547705923755620885403663806646338799180143119553628153890372661381942948449540766319771314976994560889004068599777336391558922325848910400454085702847073059637827587792610306832594951733428608312829613738005323879247511500062394397858862091060855844315708164635422948913027077233159405947035423524679049842654853867524841093526544474380835274537910207962431857646317259800071433541371393513315395707523093778879553474922293295385073190698283191507335733280139089634302994377515478634022737095102700349518094725638119535371716398637155726679232436229772177655182382337732566910360158199821592868558595400638590536974165420222026219289891845093804435016465842223107940312287862690155154746730571094736102579139778012113190190382603035189491706993851929997028701982594150283443158185386054253561998992757515843810606421916002239954956908592786347866783222345898314512991432722663287495613056627394984094229521435712749403692030046178835094061552417140051403088240466915226917373152235641523215103654593103400430652452392638162479419205473306914351406815767989510401191882517554993989856850140903456417223068351898739295700703936466914984126183408196449756501345892495956611810559736277406654069116390236513189441622781374154770622375681437764847277098762657256914299479686683435327389333831141830488928926492112282878621542203454763392034619642871372358739538381663282616855862032825925793772188388289781461630755887660346931070174020867831712100607314637470827976433104186268001968336320799096256616501581546506154302820437293112138623278058598289849749984401778935585109190199065888041820167690052085915090384258266729738286988031861110589410600380645092776153046317147365692358588119842313233806097511540462746518154580513482159091242023348499140905413262389120195892921920747997768077790088157453573243836057118881726125513872372449656479295887868126328426655149872958392071104808743170185643624888679758716073221130159066066760896714738000182762813033538902493731294607334099445937343021841445120601458646474429167602959665415121882718311942124735152610809468111543958493677380436427730338184223889227027792993364461910642220408740465030466749474577344761622506368125616179750815286642974266856116215484257251913363622699993859723847795606209549005906414939357508460384272962895219199242563680448484860724331801093818313390820747864057060560149260655814129807944227327028566214179684874797432968716450801492633546285647962019814852734991898896402463707052370520349292285190085642754667735882090538789382209019147247530780988410132614249777353059494344971180067342568935296762488661662642759756966257544199127334486561316658835457405527169663146220609271654351910179934062633054161140363155162605624316229093675197727681285064086314144839187488829058115310328288627178721231443191500625157481315546663457325640645769464107380476310156886978788160202071631947572149362905768739628680474888247706904406051099588079003592099070272516479843430018519626665902978476538787091318195310134684485289507194092341252494412900573111746875256115454749050546382877475310185641526710943318183934161747197452191551955622632267928319365501121121306916299572317635862427637578990173026455598545151218100091138131044991951476555075817528382425276636525792090886484946803651123059114735348691689032231762081602007444648051567430903453640392811773301833621621471406895729373622346720606394837246797246729021337416097938116319903794059242321414820620220315788619533624189071797535242244976878293633343547257967403659647733627357487158539814866824784649090460869118119579949332422850292822005061756918547568884763819422093750907604757194540903841033723428556496993521109698812463333027087949598837459663965083913081208507972879194473737583917871479410590760085111080789922684951096438741893046623716690373082796784063031326176910100763853746246397201369747294666390610309296587620971349438175403816305416299524110762804317498066463689706487919969934768041439626983569921803398055180412353186270130661101432994301083308476932259962958985736513490830425178571281936159288399490698483533861614050173491632262665105394173197589707114304192646617987567193245881255466360725261608989665110127690859355031707648239383215680754189895280150463697012131492295603118503537958312101648781724863366283484945203972005966678926637779658804991568516514559595126873921462386357911037840690296613448394616322225611730218837633490032927254456385290374647465201759262504561757682911732914587995147655384953287337146832607023697565828220651137371247850294675610962384946753304717822813144518866083489898789209949317947253306822727808477817777253326534814492249202001392481666262826260413242468511269111273485390092732506846643982702841831849274917253584714554480724378462225160859242563062128869327903446510742763341833274473639089854624432936469241352450314810689819608147806647082135822521906741773464459989844669537725028669962612441278290683386809715300443377810644464395741125809608129719011585050865460997442507220915873764386884065800294549270980439513887508692575161970060889016852997431452216804444316984495258637053954913452266152626602083179813824285886008996746379819444219884943443463951092189693367604187052759127373340561067317241238501117049139537762463142085114497489274795856147513884242745505609074001987831209329039278209848649965751768764727549372168534703261704148939078881675679381316935643444150107978377944528445769361638766324795487408468838030917929867095752387490679333470245524716725527045843793449879081791821579057610390478829892983354320788174028393502265775928514992116294373944194571248923036426681739999067165384879228427928976300068636240653390614495396340196139386406288499444296114820498903331873949200498269717288707490735879664597602709904513392861972778805719640928421673421042782634744830959636471126372589665931758090337277499630828354214652466823365157602414042257283203879260034722499814882881143738196420199317586837017319716652053320208815617621282098783097906654569648171555102133737591274889374103436671522067308163940710920916676966895175870279750204532031852020406284570510268456420821890067444070990185760046899307262240063045797860121537769676117174673681698623482638731973354258214951607685907076628359713286897620583401664131354427215695164396313593183834490874590499493623161333704057530931158531929858107693864636031212376832924937131590775331229296298498009980557873510944107699783095260032425672765300157286048922263998484684321741241016162057316609287617001990937472595554892754227625641444954061837072776724894626320560315712290352680052651150692976563688802426009793166860301625953496590051483856850479012117602549032820157329149357206929420803410154491393209390641208230586582008695184260577220644205092099124748755351925954172004482093961499405582596920279157731782817335362175214058103757743729984658753837721410945731375626228812122123290185004638314206455523763769953388546566556959093572567214158804002892953448565615142526410409926947496418830834810184104800418899716735703993448558208316911312297532604284234168423163289863154210168987145090718768719111833737734278684374943273603423870409073640407747499796679741651582290200930900699932241978944791810516971843577227036945664662412259659923823922903949818997518394132749020844541446170318212187092616991192056523247280480271477276126252394982733016882397605973358080569980237973669856940032910104975729867819492115864032072036222813485508647502252631599821497867635593345651760130635258344008249082149924282206542518569361727610681299478651285888587208542684144494101777861961989804966545079342833783320386036162999979200405538346030185232613637761918128025571746363790572882715271784072784123643108594826478275951634788692423076969621590190565675471900918210812139898441872651547317861083360660095226750231452514018184834382359005676506567459248146160624623075712875444339959714883525665099678199718997101822044414315514208794796106570814026278539097667428083187517256592739961516251504967346010947351156629087438588549418804532877112742797792193597715882599391731733776185723485491085560280246454309804466079686223506614742484303972426887425398136882276046768183920276869077267054116252799159789238989847085051016478700994026276639773210262225972523645032693402383437627458832074073167435921147981187541028459499401350706012452785435437619191570867401476244561885570624483349454181667495663416899630565794552617152842284750755938581986739571569432713553164841769830012119215953793476477962749843542343359679823919451706053979999910058971268545209347717078389847858156102208463598328023338539577678237147933933224829198096834548318339648959863000308754884860755552157443916636850989211713610716051379694112345946340466950446827467397820082080633771650829394184072160651008556122592430591095168610641784189874271014900111688687936417165298034539643225276992706052180485030463585669513585742005147950311567895410512258443162667898612141096637423482294620068064129956471102156275508290899394176990624423422568432725317007970847909833874658905378904398859811891525355814486386884826701169365992220631331264530036765597269094463219592892593467777069862363815164995301417037173633250176728375067213945311162300205398674997957896155028457933383216973549354752836379864333135987828244701415204624829612691138630531052577734729965748249677399734577151961818551446556718147682219354089773324388999674128516536057183619449826367506218038557349405022608989202169008477291400588415265389728311108364686240133066522221612633118436996477980367347515814136753786580443964727027172697863915684816055634588661578739510744243018005983827205569491962755405201611291592331137768543042456261500559189390142963475665259791529740014946447298060360291269275113268935144759698646418905647014134074142995532049495775577397895434201870591294971568914636339922200321556977680199556824384631020886397582826098543095542241733054242323105958340844106764307196848151105926813899670536274886460032825676805365761404562247968756848242005513658920716409281601438920546662545873701490834107704138899727809244510302332643292847334123149191817036237440771429758353306000612968859201454449256267503364187592741303995059783194207605837048671647200716355683005059182947754631834408258823126494029993001216173334991364976030899294975490743071792860766137670523285255573164717120782658798390378579811962845219772300999048952716661535652386791136505435394737838349045348978269762278417529673137452810060047569746110941955592141211951752646627631843228079894764284027769374363724432092001627545830013740911799150636982056435349479811887565078906888376026716526895354962398083245980110776178624648020943622971838725058605965186674706307582165862101770746901990146937053693147725329258507305708395853480926051530408394105340514782223450079529530335443453025944941357419033534996737076441637117770969610738649521851377980487702456930820958265088399738924369396157503530070801859079992563813866862228388237788900876333483851907371760252455540625018217276383981770044746484938161116960685966126150329249952792924262753061884880004863065604203434773235286110102055919625213631501262562381308064830476573510416277619449920977350495916210883137043746144462802737278170834395695565105700471321712329464863154254112479546371463385057200036400176376133546173086366330845386977459704135476342980445563350960483472245294744430251788533308321735797403256625923486894645664964256143398092823366730917912292852495397827231128205558223967805767764051249034345618882188820713199394940410229791405057860318201224959091193675348965490254549726928268063203442266239582189632072924817165797219836502329364564610052594804084545417965673192827633864290359514484881776984914519958376406836142322906064975145010948705639737975910679887881635900765622361562063300781676686479290076455709685198374049114178425952691815537367642250198505276890952219074950211472360402559263333247493919376463530589689323856359885671453180931984227728477900947275979246765859536066265349222061384287467692678826504469914869034939031633110162668263682365393545769143621941282150480071387306821282934408170533443626794210128960955332447083124670352746321552204495404394433211910921206896709930759445254328785443413623992980727395359470839405721463660732091098636353202452209354121796948434768337101312832973310205187695412744630611263169126352986389951422611529673747691321098713358486275514974871078354202541512223807423142584164901882547540080512370944678090808512713426647402788257504698139305946423690635109117161423925136872928033388063842608334303581199560599433133579579886125371571420520552096998047857761941245676540666354864638137764862049141527819030906567895720131292444529253096621238380547983970773698163450789665384169723805745281504364972816100696111623109755575296822759947005269067242483950543313725191847592420389582337044890310897910294935407387965060263648395024082104308700456023054818761527457717732088277923668555467887550818152286186363518092082925358565149129214655641139011142441749657045118996620270578884298661565628818335256546513882592806428859931009446794246174197086074691475725163448286226509333990858215619962579956993035997851923813108256885212082031743384754631298202177648370006274230817557992980753481941730784856184804681296260555709579069631884528925907931301938335830234138421041666901042678818890046437322998054827425088156751150941803656698328349438439624238071298453510078550963962917838363033650206256199084588322028752994629533985876808427181298852655298270067484869218605547429867595004317505658336456649293303223397935742337017675675672495740418612768413491715533888897270513583579066738992919294597874088353712374260857560448264216662338724839087956024950561458945614701135961847055755380710882256878426857612433561668613164550657004967113906642637404749638388325902400018775695303631862507249566861622581660387538342989110551150040741607902492060760200609088258000951876155911912495152060171086651688257505357741464236256196096702753006008755776797441714814230298339684168810590395664264385829448909037070219221284487790767399749881871354129553599474319939261528864204360403667057331067716963564694731152344389378121039734724388685816615954978983108884600738721061924265675063613628279804902887524985572498290956864184154466290242443705427342806723110826145813278157286619920488475087544334224344704216572386981503615590512728396664340380993704742995577864277855176416615617111114346826860695084965782500550936968299304287932374392769773662330625644980289424824833134913346441691337606435706966884199864127293429530834117374061788584727809819363852191957294561641012701839286593586601935732376783943264940062267832796492074752077528682620840579245882165624875744495288892481087063394531655124436067093793544493753248385189014496494768725051922121817716415337347586632867361937321555918593521602938592605691458556045864275296414532972409431646883018745313432786722016760400554467619454484362802110713136766160575975595985933045495300927001201630447755782513691709756678766926402670663378975765859695215763865370334590320962009013709039606217803421676874689195661148828610092064969279011174287293436013614036546983401411212741694453319696145536562703658518365611419996588324008520296116827603880974630302511998805187905387167145373817564363307356427366232303735514011680630425802709957784785916413879271290639226100733648113765993261234868356891539867044153858549912025982184662793791586453886548043561349799293490878509644292469514671907849560144810750341840320278775229652643662707376026036097706562492040520933960013364593381657677118843499747778753384918987383079782565378137562563629719894826513496124764865465954618406934454578817413939964474911888171537873404966510844100237239418728519772531607907002297913574257500481992019949448984691453998594139113430012609635552842889357765635765522747887888949480315790567753322905403825782343656452299222890071757921467525521451840681901371080983410579124107445106339086388305786877515338305492706708399067193931584501062655165542529994940068622146202364108391645249356830566135607705990220158361264878017052418662234435615415449011371467991096428651999265022463930396518053044624664126195487912066808935323343957112251672568010334304229823468464364010000353257953839448627915376268227038057679508212677816065995274795548478351840472556875403028323511155608974950358858622489611128125189837173829258683432145827149111352417448962751828899973024999836135401561497787100822525178451203989442455686620463657175714185047717048469593791487644698415058533946824719667051593364514447962107780166468065901228023085803011082851111951746090590308186987914373190745591411630947505357960325483746652170067692114522223491879057839996322028715457962609623948370510064066615333756888489474546390353494383303397249756725244601193897749990168365641886350936344257551673745331350381402967923858341631469546253116097006879796232029450741954216504350592429501389576784965176163007922160638481253992434199617548534925398446618177662471582019133853327223779143194184155106657542058032798463529827021054826503669307602107025353607859329593153128332362593672566203770673957100920326218357457616331247465991555833944316196637332715791711494548503016236899727156221400902797716111379160941259039798708315359109647635682069983073763782591526567571423067699262379808041783940574751782648237957315149110488005020319373163733470831974712495960992598569555630992394068163116483721350609709608053812887681382255248432704943425444340664496354792672947725807667713265705453150568630448744171177180989598672635932858107545909857005662791734673670433629503025036383501633769289577665003596847945399340550800666579229701710856347360435036855224131283411169766513873847436888378031231798163568295194839138302212582248113420065493649329254880064494314133632880000449895821361352656777433026324658810315178637780290440482967613934409045768891609431206472853920471304509982913346018438635442927785207416326381118955547951459632399501768742565607363740557920132149587378192616470058528433313961794926152957459853302208096113051473011590346676658521873321956990962848309637681812225257891631625401135058817916102769960164488892303711487300270317703844624564028093291987223932758382156205141395901280465174296358724820088116367209112215174375902617900052247730709800594259869653811008832406353037802614634763763933337663712847687968772314004659215710866378449841708362905874875923234313275526409729025186679996450656845970212251207808756813170919266292076048636015886271940853445888695220505916117783527024974568917003517368078413478435251041935568427615624322102597575263779115247871654791159423869820413837316266011962675933948952701957374563968432244229967368678872793887434169917442459407416171172406728513273128051907450878665744304236190390936974356271468546008356535075850242519541721970003278613000084227132560473290348030381333389329071712900166625412566410769397724743129775481011651452180446628281869906058852591052334946455912957406165462505904650683276706323321083320645228189218722837584956852653908612178596413313661445106703022991418420362322116197695634654040388133236395326631808525525674579453323791444922263657712544505856333530273494970782639085558974980011502964230485952891959694853332693098547226406594963244386972104143404705557873610373380216282848061230111566969616585954226409641161223543803204099611351018142011198431974979889841442719724690709543724242142915279671246998988678938006103380099343097214003978661949003105993510285402228251648608664144291531427710014432893109026556265567347996454992881606879449221387320303495787071064367269926391812410858497843259916757315398213407125930101654298695146095047415575297775122443154136975573785776040233775006076025844176710619961407068451378325760947889591566312345687480288122648969856716960945867089241640067565489694878005131094275024432260634945946309157717484616787515504338587180145189375296276998152699442878405141056297892359035061733823388751753360781889472888221467097515722840250120046955152770299249201187641396820685866871554709834328671803569558957359932094432920712747519305694805863917517287818341074442653871782169739878830654778730312603837435748887557207971710510916168628426237022224847990383230811302776313665894731016811717938444060494956039108731541136866256222464155434854754422354446727092541844251148134830763662890511926765277497952339430866906471353832858548462262844332523214700502226900580700828932881629257017905887758881704024974056165961372869549404961385197034711228234443397147596443876090127929416573385041658284596593793665707082181464404455201048417194443830555958387770804414498894387656151883883489238237658478985560743315727534144655895282481127413480176951492605405176741144332860403670781310525170884022858927942266707799857553552399132243195196447407332647407423736116032188821503223102282597023564596002972489142562497026876485363071549939782174663348035428248645537725596042667578349761156876186446982427081187320298156964929916832750321158528203288460623464792017234064605986858469971932084527810522319479611425608645355301438610294851727133602786643298302351196676368247556103425339826292718238013372965682190181821779291929506979955709818576942477909662649005364954965389048917556535893288561721944876792186624733770291242845699073571525788163282288131285093805270378076920132529868613295695047685331775357646068119545776794400407741070057714344020937755035227446203051048151507920189446255175562385324290645303973196969496101256108500283507418175166170242068423201543204037388132392541270265908856191108365456866682024943159970293198133644153075730388367137352878513473005107899509457577690425136795013826111737358652549958356123455010011393354353404793679178198580514642456869738593088300865490500306536076037863595235217897974641546473490807314263991660521607117506015142909115505869768248838230382269565869621773462629623496087511140186485950083324834678704582567648161933439459914842657774439639027049840672903178455716127563325279361324595557170895559256305095520718740827988159273323432319559862555442595102468828078566746388418468406161198831149020677621016307074285710200193395050437625942616767713744312818698307117408258684189035519609096333750275984611840174998883017473683746220343582200216707902212430661458309818819147064524110491818859807358765625837009779172966745669094683496619847351208742436789588804476756213118306170295159790400902589545596728828855852755613700366969269247787625199586649140394993400715435698187760110269413575006783981404372560175054045618372328502508789722240574483760239905249524361767744764746126281090453597649338702960307446188257511313346312735985182136340358576355216205498238419166226390872605887209600169988672924502935801097112925303533180509472784628380320872031425724217102075170174218284209875415136736444464117659373678935807089026086969563215803650999785197625224653848747908317799748457032104102628612426816172829836643815068158031094147679711067274476644666206386847303719581706301242113952793150402405891946398571628959813442853931223108929999336602880154692060349620854439417520988827828152007954493918202912735032704355003291036164568771189638638791689025427132672144487491175053533914335949693227872789644931235767302942698267908978109807927397206520325916663178479114637634072261476365323944349252581522711781395747798723031035003339394866462771432507421025891643492909280838105666862331035994429892285959711160952986246157513810991356865542213413417823675759741081983727194859379844138169076429370760973578363091970067999634498912430168742963393139267339143027083522829833964804900902931276530884190135278960021666845962733005621689273651534346042923170181841646435769691688872253548072488531078135819009671353135152919442232624961431201342661170592085598611015988098353305884112567230555714568758776858072206453839799598827397868827202941145490478508309226690002642808835773485872106855924099637644319347514407973162963640340073403194243429941272419883703165710773222670881589057668016666828940354708650729523408369502683883788315772128970028235205538140758943438734305088646870346984194712392726194461155291770108615563734895347800156299121540279923716788092736388408042062891345440096131112472516095791489621310829981984857202227579858719883078550127235613223679994758218502522656835961386847936642124325513010345044104346922999894287337456963637770993144737263854362085652351705509666082057622742533404802359178786948805074222012696061801630755898754811549393842591164691180761074000382224857580018752171749431362534321377246657695324433297597090026561751944909089617985344778848308235681491169735666968785955404975506386689410235034305559085735728239976800318491879501407992727758214801954688659231703821919840248180935211384686372148307720244519271627821382126395596538242363866491730500951802906135731886255482197212486577778992708099753092269722485984225159842123361109252245130842115238765839065850170531884815645306713104260418116275058057250003435343709631048717584333788000925055028710305341667443470202607450999644241711123877593505056615275576942577824141430050291842694592465272900330309251183404733847034201149971560705963052710736034449505187330059892311191598293074391698431875970346184039903619282561438843021624391816423430569128553724392297291461043159472431840987729043989368945521500254863309740936209433600536222111096948479298022528917223773263619956152237442191294875612017064739755932573384173797215380640059956220924125678790056195739860691851872200019488457500759006026074245713500416913908832887399971853398210584837256517957096923652678027830578209784640618555794519390307161629297609512861356016735036846580688328127598948093876612189647598440830411541845303845298184646991319629997475486799333420238689518830709413739753278994850590880808817460049960837025992836538705387408191130053615777584414756007324050238927282396644998475458122690033303148359646693188803042131500298507272056457815908737716677816350338457472802962063114492222817022087854316283417637040739968877269176862187500159334821631290246564963798585830006744409147406626426242381218899364117617506390821296099560919077368979040679341862579367990618818019745880651288825451872358662193651743254026201477706486152730571911910722587988964064005572506828070221848381150551181870461905520936337769447916524980656395929887370168110709451244396223859948829576001465385446730585709911439086393436983933033964006291386345199334942414259142833781995968447451592491203526313102378379738444803581245408173172002313723978755885435550446999036301041876515709534981933160594298814041157309368553872146288952309968731238725353413979103736608366594404575746113076485544529609289277745699241573923093453470818541713161038913447502876512304019436788112192520723029539990502188392620201285498805191499500883403546384091691107919433060699336939916750092498907798375140144910221458601569770122089153769559632271775249443219214291733835060779401143332291183522441829908259809832324753920139962823721412396983205778767737687204147302192931364425581053685758238459423165126889084547496338064487516957046786800841482692697745703858208634212376792506872665920017102563178915125765660580417020503139686116751655280460602608400118360299045039470158064743415326317245365828649749913305762760451856515763737496671482997167899817857066833183009912840739655694323469450904475446136659581521158224804159169480887425922972604505568568794753247078749080745552796750330725360805096883046683437010199890709797034252661190994667024908620048141021747200937863254671438992870357292860148727871335989550222196244497449855136588969079501705939718653421649883426215143204036748581647167187840345707758417887598603376608252052003249490335206408388068721609450916649825636955700767494141053856347776901127161277961278624489758187839598327050896671777968443980656871544202532349084351554019527314155225011189144797527584397755813588908399298716839200648249930077213252708107214458274394362975518797370509135379583456466404767337095503622367122180138565833198070271405871751056631913888001031717751232852776774549424953525232066896736309014734163505045906351229818312681381531097451783072878465441856589352658088516806522568123886246978386693437871224325530208375425738079007009028847048846584759623002591985852931675973494074615942674615392513619076937902160890597722244222741169072248945732770901636786600225616889032635962736350108670437626066317545932537572275972372827438137370988514336533406552830409376497449564260377746450106727362242691112948699528818568227050902436708074471949514623709909243452775067581824796457416557547854823200378044628270964582795815347944045730176858101565981136904047862198099629419196559573035943442581182938534799234948271668112994626337886064612279299041774805720664321031890247914570819265933174880054452026280628417006407081409509280797477888194528963750699704340731738537774896968715564197586267976789736904345385085044028089554251738979003061114739135068762970773942175504460297877028502131733047914446803066281825405894492444248565808535201686327836850614959215778695929206364983499707036133093549783058224439381970649616116192503220396306846719689296144057723775450891730186943635003148300368373270754208019124448222833096801831387082472815923006128362413651232844654889626554870367104960079474623248080869494335691128961253772729740046055716537514333883175794962780180475360131524592802223194920393798554663118032298517904037470177391615495051760911005256054843380613997941314156444468779156092687910165324913793350821363223198372917456788074239939287401264668419241604579785377228537399881397521159354901749989653011760550330380177934272012178028908220142165116052212246533905139520643880695864762540064088482781188528775068997204969226136122381693848180956008255639461267362627319739583710312949753652373353554870139740874984330200682314700538829457830493661461589419783923541130812178701705232933727845998394986430896182999037382523428267569737447707591647425050112484521035244500685560568141837376560635529755848714969221665348196831149652394138267983355516146622436547060644404188795226456258770603095058834163228443503416692002788718660520919746999369765409435107100329056584843849147552007798942093796794322687012816258300613797929684257522556203646183905478840836696070834729547152552786339277010052506024149851920041287686137647789207560750957956618703827966925302070338605820501876220178129272828491797040505111168194292460326210230085040117143529486421413913620975725193588140710414022092373386638320243178820931824535492826570880354265761545684031233485035089561071649136274428755204740541496039855202877177742833843844105061799381531114513853511557955697939241247168856585735550878926582821927265217674525825412132968360896810362223014869098851647400939056629937303851041689647905166736249822900597148004184503053035053426966078864284472414338097615588006186093669048283650353138707515078296109130364522443321590482414235394019265615108231250052421853405732858294645985463865597756814866879017882361678033420665717585029291001379207534176107977461333220239953864009271977396531590807310910889052085441199240306251693292912520847316554977506764266597412306994661912196264260606841869999051944580554906573567477196139505051200164717986214590331327906088727779579383700079250565732392747451148332950378046226702637146414443015180192391131423557383373921089227666311676863730255468613213806827085259118949135937987874487932884198935015483969444472252001860712041132339496937284747067413911742563218376773385623121940715570279268343782023354500830035152012618234424918150834352308560322724659100809642831337558963874852337014620657679131759869603488046799839549828715436695413692998474392237641107826803053472866739222384250597645425229270857937087171982465017935549941564449019333704124639171097504069049837058316405014965153624699492643555440461357210131181957579436622470482760514851434591580634511733966370101557542452133664802777095707619287039896123645262832299712984894839174546361060830209855086814187969031630799668639799369671462414545738349835579500491997164476692816490727198105074809790347837856152263950440137288346852697584847663137892456961136197304365931167015052087145963619446253559635435078231875097103924885814109732362222592307133442744729475483272882085750653238397413487473021373366683834688308613288210960013471197956869396096057277682474291069115556894099536112906405957360931855874550513215332542799794876496570944360064448833599555747771443848569708191504864336172050560735978877243708239224982268394585043608634235650862865012671035562518382518551564269572949351398457562177062368429393901159288341811150331184243531519116558759797355191165768931906828129943932906590911637414439800843981851584804125295727384217993817792779607682497273931326430573371127743791802702927289431909703693272939883037879703708714036116935861260280521167986419212398966447588399096480244814035597450172188086389215803421460686794452921417370430849142172976412298739237903359344398189460132100451946209035113948880669005256136263179902464276271171152916338588868549600623675539965300030260679786766630771500783391149146546110640052483471951266838063411433970204336851745251383356802144130544109556883496305591096394866595721937796127003267962573910938326018287903485436251570385536973316638816428839447381657837762503128579025520674606375098174014921624388662144090003796561942086016324043641237081856768205727858778284024643796636664808430324367445231357702968077707913144307293798918339062620584112389642486237843044903860746070248392210080816258471269653147984589644520189532173145538669750219064464610249697928775527331382645304841538250915780103135445675814692789321934923308269767421389253784430636827336738949848909309835496727970126237203027482694214479058509955569929821830885788952729990358678202755823112946284354778662068397456938515495289276012027567606946635944241084592110147747988794968834719940169541300039113963485559040521893416025609092157787275334063027333448034124059828286549308036629240681718957003863405185940233211340267324128415862298106455941476081803911113399936712852749057536908174259716462090816242345328051587355748869373583142186167744259155581005277023339807761378252995015684904876873222863664636526465215365306375775216606687135707251859234316364814160114110362327025092593011941527734810683737342430993996991846103729906954793560340141013581798495016319837639153647048346476556226049167346032885477076503912189164761952641225064123227575404822972639418180119193129969958187407120535152628183555489393713608219234658831259791689647188618502729295060627136341411769552234663928972926648967050675292273081546218722675564434934100882524801272839488900024211517457045975021077702517972794031239012477181645901219745927830662283500245833256910429944013313652243368309677870505570033265776644726287733597507372736059419402130697693558556304018581741995944343534448717188651396730847619346540727935041549691624858448540595654117471336287101840279753678373449765713198457305040474379677782360392780256144367821826223598074727129323383399238824338996636539347956331353587266210539432871281355667497708084698791783202242830846993580936522808302002872947057734736314604875854730361966558628724749031059411804193751499585316316764499162718335983465826476334490205928117204705878227196891104557260121309378238937386989150080554444221635430917049420990111411447480497323121650150841896187603611962880267915533101971585012815464850099407183465365946448885722482580077798632656180352404648597241380203218815343918504035876372951775167947127715379667493495240942457040900398733053151447375382282601209590786944330074459945775401633610398433617175054582308229689668395623979666670491246824389295909488976901552852939617347790162820279639065982296116471992928228240585527217160867117180876812556302426139839323833893904763214408964268713613198321253744929988411794992792636995882376124693553498286026906015658244926430399828481912083632192018938862038888210368147442028494010168907324972665177118032047126024976603510335557922403727784007859108813302845615593917440536379077447890695665671533355481274185660191076238211282590930021618423823433805491719663344785102859506788148917918335221610042043283343772513944999570648852722038492118020335026059692809306888466073096981506496933221582951428096331682373104166888982751236185732833779631430748485840519963384771212298006366428264133943681689609221150019203873088752643796116363088381034977178362000994976014665318445123955716983350828990565328514189530945371984441531204611099766504721637105443512913940559826901878435947720513349870151154429981739970223309982017743845358038970127982379849750102413997453747516837664842462349154896015993020965278461240228868658190705004217985355386678041335412308146948372425804438192791211584999342506093054870632043025318107553376808695129706091979732742695153877836648091526354034512929558308807466772251272183711800145842985074343645224235088999182561811795755114341605524470367998205531622229985051900403207923789567376264462217492153979759782416931591853103054755605035664101882711970799993185561415011265362306753426950874217130492392149129034509197070291053797753966274878394897820231532714107938161058001743924655580220195616643884806765683214678591471751923050753726120452679890728475626828742109649481809893976643152527054062914663457915870984454067291785868721985630255143471648292921410658596905799135657912813454389284613514250314756542007971632789605578779835186639492234830808760259403440230298798612738443287807379039553416876092447062122530641040064271310231958775085044621355392780725056383460173304608742916821061674018555124378030609325622094301429463929572453576598601691367817557996972880037660663331826858728626751980578306403554832873018040688091835025507986073129412996410536086728958490920467574431248855162183513309253569138944331568892268016263252993612289485105941570920012026871529175600603183734491042151489816772170326363235937909044314271051016450698240441251496654727045597524694222321181187067139931682700582351193222763274011834494402667564107239475220836158691233929925237262819107820182951271897966201010025999243855801061863621179636684703016956936762700128345680124509091925964353487123304079922694338040097589757895879307519624058840647700501542083985413583985156865732907982860844536533127114419728387978819172476212553638362788321744955844460515054314226668441789068339523694217663548534711683971789701285675189644105131040406915759504601065938733563837807877004714509311369952443361826846349875514271759885964702187137185711733875516125191583867709418647489673104873881220689250408993255646239564326884176771520009674616165815498584358531521956601270968752789172717146764244576581818986410013971441013131885750856320340681818692446413793440796543639621978945242324689770093611511700137020689168902464987968664625809483575559733296405489251320123513703578463572310982732520288448774798366627188695176761656543995877812132020095086872571940223563159602061299893434912496144821744557611841876524072707190842678284024762298249806708301037918735755083450244283431088089927083012318201901729193632114657038090725695725163485132684326956008894999151626523922538884223787899948356168283979846249916162355250640950347901330316380604110957222139215144611865688916711157269585275714307813462111968648405637837633870269727478887680076543082500232241128604914716922693557093327967088857318292992118709136509447767057956924608029339611340081872735219930955876006680729757763514423648366367060480920168365462660266767536039287413573274396768369057988035505679307934581813045691182782542879414502914262418748062786921993624764856360644451546201672547847042511192296659160436900264436941231849438892759820562160271311886218909897402529006048874085877364121618740362075492276497422570375943760674451255011828238160227184112144408555673057074689965730445634706807781319882540861740310258058936130035808467589394185966004686042084844851305737038038226708422534669561650602253504708213115797487656635569338359768616801045119363737042902514090708510559556495430516584470829097741548728105363602246596692736283442014905475087276391730096004490893080939129150514676828179140634418271912258395613435202375300475727343409903077981729473340147004585820576083986135595645466602671675067757681976141758210931362307088716680675188434498586798041623448657331944945881954757297050495685757983403891696511031608290093059086784138023499679113776894599811801894212841436358710299481134658465328445428862645391449854966790476887329196855051305387394473068078163067451606829335582754296059963974886392290269559636083443766613121875196929605221677129899526036156906106248557566884058921104225940954873026987428212312480443330575083652733665675848501467099212026367080536988625355604087169888464588852508341680677997453203882405788272130730417179267728022585189785787386099218093458305259777152104825844726442431785091876900208075764583541705964297417745177035498993887327667696736224137839807931263944865157373137972845486374302025569750770137494545468478195096516455358562977686057475731121049880784356241923586641157440520805048874114525033855445806908186040798780365241175802205527610453943216810079591434411247597152953963786639233037276276620656125617567625459782663577068415668417409518442993554680008176913681107041308383055996070830694832925041537927768477184647170274497565655092449515390543090867727881615660092711871152150803845622651381926481578366200343469285014407513065493071552999852330931566556243927408885737127735992814060329977141385672919603279400598064249590795091641497817529311400015023307232242794148542401283395633782661791181716718262374301218940752059926063885305565480487414947676831455110309239241460603657785967367871692261669547682125721006590678546162065530925173603892260296321438203306691625375410040272302542211032026687821651208432574430643428303494244091620537606122917430631277548417287954250837095908082781787773455173927563582025126115304189831877181656646157324965918979729510868580237983265978416365577509847638430191692313906353737226868771715110241898529265365928613118238436761218423831567099559269250381913088638391776671174562285983029091965434631523433528518047563588121580696549126674577194180969469331194376435548993342268073189989706487349585796090839998379402836284143665440681966240348810974877339089932253260204244203643866853462900163876310735355872196537799991288604655532196690818958528983652812548246808108821917481495862252965308599734029331357297839011517648405764262240577726099088646271657263903109818965754026955616394340829347331438190727594118427351988266554487968181487293154241613996556133676604427047037221975179271583726591322327528313503654986499945290503316210867629904424647689389970227057789081486922229406672576549627488933400187222529170267887697423838417544522209358197011331333569018368687611921210300227897048664142631457724563806833316945304579580369947834578013489516801422140710981057290716676765644757099172719266825907756225838077359615132700445838595039994960843062131446546835081586963456233452842325700729124088513700563660214010219844825802246451075038651107195148018886671459337270657307367044704612996303587852510800442822968538601518003661546834537712330957036298458601970637213981498224674230815420983015484266927938875933486811178488066770205133688095515932867129615585611937745667260159085014279327748809285576107891567344089404816778592214294457866730087082887508967258562290011856348410388723532827750128759096557590023444382839918717698160283157159842898637511613622493516369392465968092733550501571751329216628252312533634509403670673834391097785913042853224718075466735912728442319215611001070550801696791849842036020451562653892290023042876505707166199535841713185851837141723775986496214828923115898872615684912293717558745165166003365829108616299672773670576725023083878953750617526938893379594896622572191405977253169517067209781539081175706162036302784871334104437766248819512882644212280056263278765328404413259205293225443311709533413158872527986986567264681988047262386266474942457870034657342098051702855124844825271332212508759594466844515484749132779175243042086671159944226994584458748501747163375503334353567554289461474573624134940831241118796641107319587947104609884434747287345304698226974376173194232726591799680169431616564685663250571697242300242764539145574317638756376364211531938963804169206554637104099383687542176369577561960620982405256688593916371582224806729033100366613078855677867577743870998353259316853586159250803019642101402431293089965246247873860551759445414685886290201306503493971895253574316866612744740328802502065364968300033305810087009743264507230244001165179868516304864762368352976546021675431033191354219373045143826542959036493149323519162909963647072221015135220328502399629032023334983577887836503094567360439024897720340471407766933015456531895781059998020249832092712481326659559099703022562044419821223626552783837594973614670468782220360935847000756812312565435163040842576282453240492420533786449725647661806643898383456357075110086328599262516838646046236005043177857439835494464724087583772208884099035521580188455289663016917018900428065378307637343987271050832888265015356673966238797531943322035920572084083685721229970154249799345624396394466089359181434898893291307318167732831239017195361225632438521061138392188086160086995857576697350333042716767357825124423237991279358928383957430940882005736396193081001256172564033029912116565817370872863310792794274934774215413497509979262944880805815826563810623703607605159865941178225863440712272637259624271484608310164641378889197085830580029213567784874269885470921942005256650923904942238470930910920194798232660916400273718105838092539654120239417943644785393318967020723765160593959390960707707960626579393149888163480040529731749434387288297588170872145047063104809678539030861259779388262095181341814558147864800094123936414809605969707498226624875645025955025394434642159594954232591111644844235702334236619599282234016041161697892894863992349584104831725880161618568038570034199085445548105252921736034118458979971540982641765974681542902647660324320749356084582050682959904400004410101904397549587408290829868188271162677180668206220042495772833319794372176761984228157166169587743435950335877931341648250549879502647540944697148943929073622473345873016392544757775632431689468876840532580893703161153851139280771833298165278380052774060027422922351645682755652108915032071058722280289301822030059086065890706667163286750804144965344683388819033052217717223054540978683190676447184288890344624090910541937512714961482682078993403466604381181077294326193702792149807730590258046214890126101896063818925944255973570234169633958379208919398628820396149080103037310174674403006486218208120392887967273952483383272481006866513805097631234247875137070882110632270406592589420885977184805590064640062015775008583888982148149054692103643273552934801003209761278859507895964624463059049379703578203854517891275330167085741352298382165244198948476132942493659141599583979362202605840194882819037042786541903026162057440933407472389595307415916542127701834124932309742018121287847724391384850485933863315735964110431935713875632789180429601900298358879787670583118873687375403886622693481099422752580906641499571779330138744058737039490629273200183278064033280168778549717245795608039573177648878271282192972351906010105279821930526877821017473359936581671916836635423937859968395566969630643659757155232258393947809270149768611016525773672790763524155801439703994177970094220636906027767847127589668243204673527562873410662811559577687089630455546046901597852038113347075051073884968089553219541173663782306321019478884847360973383005133727976355772628653774444747469336023185818758694881695402690347063889847235035308463513292705145509257061098228679270083898625894726782420417435076175886936342615261619591098961088253868225471286957648125054859957304724038749621187895471228873577650643738823401216158878428551077838463558173021762170671829588843860420154375656595461075864507785450353193546986042024591403734798688418764017074575522760934147487721076266929399032159378320545558834953797562856017121103071226828446088192549603182535649317105703810217465913163071753535321097453329201848184892846981968316953080975193788828407758632296020761901580146490982360440461031377921570765298335776818023192170388241775924598751867289053087638791729440213434708989089097402861956738834746715310108168240872231110960162661955298630279828355129425965024455304740076847894886421816052097570169561066712434260114260298613994548295681258580051058891689717556536062545166202019680019357801619534393846602324101720015802412342906192797798779226369071748619965382846343183395799226100887505772713212744664853143283663732400848059549756885725821834737795785721775673898849475991086214951124743400259091643322359465231306705809531500598719314065664979636628630521547723042987122284152823935240944965535005422438434118426054256866643028057382567720218513974625076556078663071237654592595651350943174225641431943684608118914241059622920673267382714708530180664755197058212148183224896561327526732918257263252827048616846853357444943945306531703985375309658063528416115515401450011188183416397762134524516948451363569217343682298975408673103861348319086453371209832707662500907723517246146799908527287013709855401257135047369671004117324381411396092345251301501132797983206258001852139497243866019920028261250576915870973623441569982966069373742004240576145522726797449496231836292507881789447893628942864391070346673583516024738352832869945783642161763623806450751687736563641943303023949602435963805740680380909686552038984367925788816833840813269095655364619811087472574790379131186433798257530039304575904011925709933629726445296795519747401130492565914970378356798674341589138122479620579704964675120950986310124939592886420900370767102878454683408736068066357054145002260501548155945107529372410412414318483513472561884006485561630604686270407636480714456313484239816340313412068338466457151163887722591166495732383770491159037576829802232285275097337083326557652185646737662651808148150226573324461319139895222677512869583533696647690273711932091640146010931517920246054680986449694733096991218374959928579144515637957632888504363389552439073117180243517806052010212143826607653798174711111125464722225601337304305260564381060166670737347718691629998734320257177292173779692558225698845951589668776495115274796923897148571317193268802232209446326754521105998031656260153842859946115022327900699149641079912380135786790178444954617232587805041274999993981165200929578099105839840528201981763258770643099743640931067492551311555547933147544193120616003115649311559079963166098849823323429829336514067597696234976205426731153124281172579010395872179742270367372187729579218556191864592235233107029185084519796876203099253804311768734521559016168412651647373743657423833448471628585235733223091085779895889379468124091724473948531760402301131624134293541331083868059757201276683799241432192082281879075885105454135786524901672385418334380547823377658432103047511023931135881035094113863008372648798460524329134815919807368446569636836465251306546524633763779074427330843221495659456045416798704562269348228379217560120797548533580998728420791717113933600132545199411388800916745917481141847772862201249085210201392593566312725062120456325071659507848983415799796171611061921805232993338368546483947215107852796535234991888465389878851615597052697209491956157112130714206690982774518184661142988692091958677094357926448399951889572710571181796601366224339317216296144991523588521003560591500807021956428812662627244032356973245122745533082571197714766959148201402395093390115883371706725776505334619044578144843145275327646747130760376942999190886185192274379009026313307393652278011828648879799584255654252133660884205003255619341913008353888731400920941466317151343419945246220433865824450203470828469524384668472277864956889147373904394614082633714874355365201203437057628687701110794916455261547367171490525514920680043669883851975334962308427578766476881865258872817569672887771981199219683422009973957033773416469567132161804262035356285873614795361920998424563642034034171160188117160393490954084111911500839063494461509090417174121033378058373597090546974288702688298051350748724184157294751429484171213425751804767232704439902323657227304274922216969567859864585544890599098435971198271995221809118506828207039014123906250196972299024326584941926231623450034380827389164338690399264685987781604208140845791575050043462269098210749922434207417572686818685531120164285590224205733187319570507512604430077713947312330597588501263126484632235144128248325010337732773376520154067686134711291217730004634443036448287300248785264631348166748686048809161597789245684580355485962090918191390439778466497807286896164803762722395919567201000979652882577661494404372563436389048593636366699590307124547634618435198000272275247123400656247686861894617752607546064308566551709667916272302943260670173953338320204727255418691786511236843205904547159750139605809151073891381271941474488784647590008398190242939567558084981965495409390337305808997267949515488834136629346072297867118734545404717930392441733466726051776512956960184906757196089563848895252969932957815267519542643732194233340576060701223089384982774317292231289465800108673509544719526777932347178932401531619522135038405335789788386683662453215025929439830116086074191235329216798234339904212241450489311516574949196572497895334501093413069466187487170715016744516774709855043831257415038491208478751420038327398842087017890055549510338775405024498944269558905629508429257601277064611210685401962768906909993895518545717214540406223761493276716195024533817393776706252391291400952518591897511521800277799562559756252085976607842842767158838747497497957736648279497910220168143484343594899357014919392032560777969787867969493195424736427061758166512484894469318749960024856002699480165974241888806257152685305028592908850783553568942719896787037280244496320057672504523368850019542615722418387903203624184644758058727194709360720817498678944648890515088788461817275258045645779448400885268952223407508310672679544530993950230369961619658644003166564394377530868443843761683525029213895945961366723656491680163790865693993754814960142498694381994473128168556261195048560974961703466370035307071684240307767318718349647074042604340548408998130218616789663878725485143992440408178562009635709295168969051842404656522820765415691377846354584569881872896712950879601623258714995271579344767046731970433328156252828853167693462868337663331165413003818797643648294207784155699627034516093543798041772698032091641857247173285188616404201998166198915378495522046519760735518518063325094464554205580334107224104568742700231269665253623933109397818597207400586877161656109774799515335493827205251597671016242585490224964818180017710564044170610646833937277796095875043494151103774023658340369240029135175017199365795135482294400124453872338310869073090842348025851077187774927191983840356279391865013683439565609665335578570583579180905153940759485924670259910545833049524396260536120043513214811894891652716352762400210157784658259672076676570064423608901327142559442731240895634410622740924206837155563280833137174324187960487793207515934528803200651683345876342542835053086713441621947381619651591602633317832470195639126015226791698693995298597563601660075590092571569192733713871125775659943547093138767996888092074927509892743168059004490851487015550637458924884175776128148568585984495697197736553664160386336102759560494977922679334377991883851509904030770802625927662359446487062938116544420267532047362606922312892286631452516931373678349295593871699493328738671543800918548404164596360772819237947316009617381877094603229654531754527346324476220658620249822648331722169636647042852775081573113910841809199288938024885733255995663827807648632600448843709268097892671161057544698040083328664940988569879014396873443598006237001521977939131843235751249046619718082152342784065398119774775763310470900557173504709741615861834559859713261769395908435235057571996089715916927559229794400577943227742128105561785175597284176183062285911293224384266279246564217400275999057943084837482002973093180253762065873403180226029383962662377887565498768376302882927601357497287389221594763633973736949265349680252680639370795574462413023490967008589245310619086196420197312688856245866961392408544355631866945265205561707510078205503527179623874491018528040787360452071802328896071094794009075754373189801768975104719519602350508028217469928052037530798415851839513897618977310212903503576380925602390351886573676452546673004827581265571884247071518845751017974247046808532008003255550778703455324771643046581382637801381662064319198862301961460512590537425066601701978093440788224289854419581278944489375768144131822181653576500339380364639560627498805533169466744718672216511816270053178374843455782862040041097835147754637663343926378298520243283709562620853851208742891771734294532516304554927342631564032157976966384890352138285811082831504910071769748316299714784639960692673527390421406137338903028756481473999456685442216822673659279860906269972216235464974948440427659450366737381566834657449726885025676986334807531725434526773488136793864085916700997467683504558610138835285468789373909927246048919519244573987725264213429934478928358134630030798602966338444180169386896919201672542940367901357907015908121924448949581131409954406085068690952439719207968707029568287975727866250398215963335833410919738736997574718385636554755269022817399058349162407822444806357767943407230516137335199619325074372605654442930406431070279431431000858279833259275240216491008579148467188332796590263011172032012841535848325177317901989980488401296859477743876404988793236073954606570379412790535044215281629706613349091294108683121337838465201677823337987173362963411318733703293665310722350365767288462116026443967076396618080686531960734644110550745184286466615085517179046152894129213404034074962062828983470327542248660966470115777600247861265442027823804740721604317004067299758459974182306037005552827475915622377718962433899397212637005276898543568741265273127166963808562495076523076025322089322780293491383076466134040371465026199138817897012404758936915754664720314877862519091967285488987248570223054615883611887448367043183415047384230334827946021380668481098716733936825736544506898832454503206819085205936212362642958870584445994443848565801033382641696956197193364167724649057790517248752065400943642491589839486358880307795972092379602223840143947787124607974200120889689879560671084885318878815284889352577368550983961373068288193078794815774201383118481783042228235140910739323780563930326905671477393154968591718934225736984757905370325125557800443685281779496514300322938972631773335602936315390884484184485068515619176584943612795684447036378113707796366194398491375550480824140583302009066924899606547908495843918122333287779409803322191790105451122416597882299477895482145964963587893950389432663775553689556310362351139221049494634158437435387256942460659149169967348875311836348983409377379968399706212976695905422392397863823366125373906019108640357627159106274743665278039487778017135780557192303710089824568878762102139634124380130719747331535437620427749285998369404305900147268390868012960368131698381534708602443735390308208452037041778888404536370663548127676780337986801386343344532768676247392950127481576367929474457498078385330528816481165214701330544586770486275664893392312647009468108867817855297792072793283564910042855091110639666331976245292084275893621131020034422245537183874122882538363222740422170572988753297215763881438401353589208050473186844833246780052416675486322267643317080659755102625174502584264931689849142140750502421184903160618711250385403564215000670589318090565682664561832257146158133195788602036934611870856053251969169172359143091169910860806655628567589373693092120525327252225189943408486425755724310619353964297829573170938990049379659478704529849071168454849625192930045489833681619255931576277707139645863534063539510219241593598157049015819226057970504968946013841794624464160365799977856360935450675129325118811452744753448297359528691478137000581853937729617805461496806530634949203020829723862800193005698739179931902890128993634254738234370789760242574407143997590658628440386930833059090614804205286359906619960377293044610950970680207869357983726858677703709253813008989905284443200646109519036924319220367452986894789450894832499880542155519269449381417454796419257461468325228583226531317974136886339601743447252586643164733353030524509439329913219216474056483293394966469836791003419255677049301593172701135977098886236372836499535612269394548035188594512411815244275628888099789788509219259141954956196734668954541359673627979540650941716788274164231524749721525972701269472729435897020126535026195862493730042369173146676864309756871600063533589959767760515902781970841837861733619744008715713586348557187873439031408030406245380430655301308931967998636262142764812232902616478068959580776836043604432813502862102990911451125798996616175170803611894305374405115877851283143139793423588331002032542039389469318757510098109275137105686713440934104868356757105194605162632909814168014796328769964994009617272929739279352248211991764064725154350678788503747549667309612018332972769597575058906128726925819420914105975911222660003097600600290567516690149387851263251846344937503269755653009660880068465121274735553280861143304611387609657869317619592043361605079230713880749885027718891341984612390798913687869613143362289888290734039455733815385344097115987975480452770262497994011121182219145549584737071193858066407487455224422103308332489297758192251008773012231707804926642584752704614240282343066688534723840750477079508835393362244196203673932366877148879791621008580231643405710519925511267374270607434496662369660970935576771991180929218890704979115997101668959463748530930320203522255886358078079865116752076703257774185759219412587447255477292925464318403178923766446344964870878146053778516184407100858149594331442046923523639493283180261142357609885731014091594363081467848422794609475590858039315982149412708370235979104826625398606747195806321713315424832420397140591560480892752360258732074610752300450297786050787611008439322174582882183015640402319213542654267602091876950429001463605499113521636405559002763862716715031684321156438667626279115621431555558325869784709809390551588784352462268543503798695041924484108676714627900107644574671409602705390412032278835549305846388753204260765817789775025271537179601066987145496563181224647329690920677665776092451978129032914500564996909255998911995729751570350422763921425743931615206877080949120307905816247844599755764262226834865963479286422621188212871770737488669582734945740695209856475430860398443413040903801802268377825661595653839696697807501147816284405872775745713835525966393447552393233647637234859211545101117365164447433251583629439401320232779680423440308216078897570075765859964970960006328709694239247953479766096597891072114410236865405479094741499449173622698183282927338559671369055466851363849027248867622297074846431650309539234979284707884699245555965745267209269785203081468269565139268687377716848018463443222487957934561702888749706169492042205075697740832090580830100172710718667638250628332118225405905842628054474936168638331645341638335372779513501845981834252790200331605288735033787771036823045318218172383139061791399304813994161663062082714027751301474006441772616340201890453161096956860208028538754769688283084055653458180000240873253926155943642050906439283888344239674929805023653892256935287625920688588754550383552960197405757061481107685609500000383945062569486461360416114586025135352473992462594403683172559571196596413613871139070713102279921256890022490737654177810804609339491616185752250628681290362242162093054596181053179213999045034710351040318211296301573137677861489264976330913857346299369249319397324794853874652792380575527551427818344101027556137739537773099911946398852545913932930789970107931870126517617817735747066431822881737264688334867047562676421793096702217573727746423655007117309851402933516680255321332917850537803626013301195040711871417014223051123887458178807976412125117332188962891496818693074027992370443486718464339701364657943932693427384433751846461736510817311909579164640895605028763668778799801873630278880662618553250757298952245620675571277487395624977086911346259008609951453125112954138049729086609057790452090847218732895918135158619743178224545196305710950475471685568062094957145497030428408543449842430680817189088753745362507282487370093109476591544880384576386179015967403642698033445607411399916317261102048353479943723652961949191186433519126838446230511880638727785397119011064233001303164449073414806428377588576349649029141604771805468904001586665348731573735152773715135642397451544568579652044603510739596681165785539226555152662094591464167948880704477845955214287200802084884972014134357349017867805069581549298661060580301038199221993674637125947645531108306091276754798290610876621242489860494899924974365082487306602556555890548655118031815254978717319747193472659079675389060247373744234669811982819857943405948717212526184176845876948259256572943181047716267619965668497801304790261081112505856280848171843294879118683393595044971684314519797760724285016081489978446977353852260576761670762261849927517875488746076807953769177562953779149433818035723292837706928451733437102564051226948988304973936849757773527801651815588715666642567898140907283457996549440639331680648739557948391087603230469086345729096740992140793970095459461685778966487090649220011530328921368819246383665415789181908129199461325498208734130906802023814591778961724496824971989355159783267096449058907974180769714939570103777333592875953798755373672210590737538590682398737512781431955580956400535983940753522480307582639272619312982429908671968557302729571300820564560095223032996686939102095727320033599915941399176003968472301770255207703540460037001827191113951278646501736094287215263229798694828356938086763263141471153319945237851413511874916431659192848422141917160274922296592556240612546107584532682627397755184856408425460742463497682214904418453816828607296511320330513596542951252162034151529486791948597979179063017744886882115094610830542778156839495194801478989828113850197322941774739184708734745069982079970727952797667848176830918383001462712468558456620993133074730356037320546671746176346745765080762320987989622367694765508010756085275982239721963506708651571109647453933174352272599131195558415910973390752966649597122075060967889573258768462988529891417788376492082711129311607767789146002531765018311217922199325262121086755494240224528107715698746106499212091439958623895643292003308184825710173663358634473366938785590226014960471496416264777195121630587407414437651323081819455233008767362288687403337244111629185016561388273183975431951198529978607392814512727572277645941873109571985912269084135412488403336957473640545910134937107261335273911242866931987886792602377117040552200640429158648642082884664630248302397772245766799620662509775857981180256229664802234617384235215078712102305798393315965365862493266695343622717367753963310055372183517144890721510654940992781495417392286368693386159457379931641787297785496466484522069247608751251034229387767801515376170883168465904323635707564048870889689623953903683978337761529695566456486720177624950750543958339853082621571513952212804845100293210239285437675801918616675675540572804907848104759741979551630123997808715379357150891306787451184554706566473256880200337177816745966247481273563115454721838572129249054995085307612339605335435777873391824343527957415379410672484705054408012338752194853570629420944942185659159098785217580069247891256172901213543076958598849024596939711220542375060922427028933431868634080445783267501980419035068067052700494072501107393061464149437627544863092838160394828753530987974529927271017978843127391617850007693117195439065130310843116309750440981329848491785378225216140628238349753295736226589467492829856731339832665910269169334633049572579600293377400043640664241919817361836232365658609278554975406178688202508331680840797820356746111873611428489108994821219285155120373156458446885697393954826644206845364325321591469303895630667641442368001949502198867356686200406926091969662188727340643291758930064287861879718023090525208587129287505044415970035965155434782851078889966169783643153165055850346914902893246642829335251469448798047878237646959274729355904828770354438615970093651629616399176129576742843544934890051159558335721384794316986324107160450287470631593674294325756936126346854353521277238040272301076082717268841634779647122293242262341358191927983986271447232603343104554717199392224560229540404790305686428810301475292136227141250940076915713691883919421127420829373436046540032481387226308927197418493357660128312292624845784472328949122006423324505842725121827722437664378927739238962889579674150572021962806842419607827866535923000178955277834247951757182608103312840095271913348449306943505962457460713211464267264592608006891626626073968172355768544535019378578548151617908495529949154044899701062091144530207347011652123862455057203835569926400926352721968150382344717479785665145746054046875177609627848996120204357407547988206462713335077287048849828085405032981656473687879932654259388038289185239982119961740089345625670081221788772580372360210454041405384904672503494965494878990554599315311874671552308623130258506033215742004591683789423002782053949483336883897734162646034474123375826677811762578785711903250909836848382717278618611448033110864752522665895032275841107574828665690638623819281643943516742466707285822191107582206948620374346317412961367277802436956373520924499595315612055132545605883051996292663574315110825463521086214090374994810716774962640646982251984570082510482569873531854937597424359212026650573670273493655744365774747820702126798788573311178067344906805083209205295193224338316319305231668959804379759533930804126482408052794650694753526486807782730178533371330749014659381151340981385482932140811022281907305985230215892014146815344779427354068949320018326434691537588214587625912872711063566942691051268989249666084726655233520814811482358135573732237378055439971968650568709762612451115728786143596564750463112827008545752537033734343029593367516549841613053442630421218340289199724021459289567682306926496011517855145039534928007664602850990336077292411418975682392805655893393011020060552873679149494846805342471278534673491351715580525801588230725188222037107274553595838350154536182805829525908754291621147684757544367952027539714783629911833850964186202400871377856626577276669742082947645022380362971149930075643386001391157474031006456709006376268486891330938849699592699385377269053935033930994782550062645620036384812068610035777116211575891037153825975673998416240774050501144357901116423581077320237717866878049599973542945705185890085730787601661272383092258361974450789661398915979119753800720443411877384853104404055497652250457899875035680226412105332463489537875413793512088447214223253261117818469833612810737925521242784896979172819843225242648793376066900160265849644950976129266586226562495344377470771979703740467301182279440073473278058357123406193473087114010607095302158024616498044526735200159895291137154831854527504172031212338993417913753367286762121504081882542583644491357958689500969398163576150742240507919487619789087151272621824256142509436126817523849981535610602765091497464044842833208775594203566352267595946344755115082776812088551254851401225439631145190751712983042833301046533552973182644860603080897660713469377048315215978650038860014026130467199703317720659083538459968879796886057722671467547917494303735031156817925769320239904963719929149392744422484841767972165653423455052683609762237166465244970022915835396937860033878632544072059904483480060456595987638452581382283475164635002840780059495678596169033322656741615550877729575167333094319954704670421799786931428670604558285432740090980065596477227810505105395258681571672960104111439232090908098744967801685199068442804143164028808055461168658251211350169499487183531761742829305744353903647312392406170859398781664092557570533495035567128027993242090246472490693085878096117528529295060828886939590713553010145919546078623789544001740121935352117835833946606099921336931862519539803412418470747848308354193282727690212964320931323726383125642622681173664957718030835697826617361849382652491964120764486625889276233394424619149628795563125293465955336895753175432813425490558941597341185548234550415093114325426000663187586115007857727117100949952567926375793233084797217382881980470406890489166332125820590455525144660273708542471737928704642459609601667720144564160345927210465341430353917736810384324946000284431439963384743661368674267397153638640436384050051471877225031400970385060142617876227852458395266539712990864583290815764894583067709434681974528733628173234511398845260417562033513888697730626562721191877102487993865446710684757303371907400460791336594783567110833237815200697930003533541165405776808018674076920040202319823634104780987586850613071852276079397814774586632188516458270736838248132454144915499909992402437359930685961512697748538073873326807754942676284803621189653292447621992455352031208586239989475298140458005143854711878652973134396130932664634836433593834862098895423049344387023240129309965256585387582275708475665638187501320897442631685409217161940318435020563233735864152901237475668677623246275245509898821645559398229744541050360080529463115713864719362254438570891264541676391674986309083118825238959174995009325987440615103777747561090980910652461207284121278782623102443100267550661777480548291754977823283566171904423873399548913422335369310119404049053695264172966259549073118550017212500748973947362522942054430111862752970319347002815525134789192239540283715770828535902580892458579043296553538113160061174270103658862012117978294375400048391890452850078760876025702805271014525364943363943957955089589817587621700197185856923436334956136835115134303652985615107607008364444773791854100497594231203105816262486222860120114448497585297123536752349881041125142483933306793536425762415720212901895967769014300187652964570701236727697058654618267888290369428174245747242729016558527308997903294521073378289946485067475792796761561911225066357742922535023178316821374359690808932574207545100389689643605448223675842035290037043122037612962936563806629554681279827468418465554421287992458942872632093410630336961760132393408827363814902430435481246516776374148040975223710032361422434831136073160998975383389442696147487140474953005050226777450125148859065076453835308772435711569473269040621565461129490726516968076132368835347569167016424339102449155852177055782949201400570794694553551023711208346316892398166116187688584223112317526970048884065616606445081050938575488612278482503987619129305439502829816624565881071065751581519847370466553816067438737930252658384476062510606517694939236604671037126760877927369156898135179913420035428319031993810898280374347958949181209705188406110028191838224179420275877670121335085103486371353616046643425258620621366357749184406322924935227414920817619245358205852580870997856803200289705713124505272243514048782389013501387011885693962087612594565062491085862711161597821874982216795205986916310128274742752468288042390017999490882011693842886581458273025313761964901446526982271344913530577816251380521300127379754346419217600527042343326795384549820266589514963232292142478835527683447890448535028363736194775907827957401380843815523494994004531523324308358500898679766522853558956276668687045103398543623640122675229971532162203712797029658314363514123355539855230194764193831087410481356767475489090853981049543967551153783942852040848046030479338104955011463790179068622637822357562508586032232015060917142599982473308733062751411045738667040554716771011006604516285194257717559271397981159900869369063855308464350220544335912040855543410000122759449602569545786786001096372881579444961002979441136197375643572427967144198565584003498345158850400598778927042254709602714145206092394610997577646161225015264670361306630540364443766667038778834666447421804677609679464934034590428414872567251815324971918124230629356466242686800612434565353609046873416656083020966930669956366453663715254456335431572600736035520465115059316062897937575770894752492918202471585566923317255106825126764251754873732629560437645809513227913162796974217604200740819033076440308930194247954993917904250196949381534817382049894432965787635962667618904318179916540830900679181684370431618100413746899745256361776324598674850660993759796929724986503386168544860161199879817969051006669188958029490149552439815574472360268211012648533881188740989261822543562054804933013616600299599721603627831837439948454518703206694123343485917383919560282065468689789408504841574637352446554670687392521679545299585872092115743861968614805849646451409369740312536829134183943589637280551381506819199640012407853372710644069603350830518431439531263240744619912460588443468314870870309352599773184675762242640002103215802897117243170751275410691270440165193685941266128340693020856193061891191511255336478070263739193317433753390293403711837471583558224929641068216522581922474456913922510737952678165402275388680982413772172452380718346610019276934062164318707514612443077164690259578685096842586933778413503685458381605463830600669544473501540347278828471130440994712984775427939191982511915594775566670358441864354485194175239164672555280541039935971543459200810371066662831151965729953023272398239427742386505912335186704983572677584631770581631468216977374181937351758762861295799795306470988931969353541820810735128128791163158111303765929118649175327873462029499361841666577562405463550591534649572233072814423066870549148789225819446060227695362859635457824044731758562446252969171400290465608617845602124351178333023008938057825039910406302257017990889514526425852548682978062093155242897677121676682557146777414508876965973594749723008921290305513060426349726380508735694297144368193281852178933430832861208254752019121271116340403808934210652879350741321822825653297812975981005798655649816071484114641387094247839926308605649757664449262262194321527643069805219605948744240799826413099090097249985970651607682314983892091293463980642209619252090252436628600964492301578502899141117718886381039956617024578433075878492750193003073735816592843354848935304935282541008111298212827062688035858719706555480503147377927065158875546533607741153355811922135431670187968313419451583570531321416936482342984297086593279225530011316525029769419880495763547941833668605601732959333130229650836934701113357828908563793290640011460437845053193921957343238909088100714490182186685227715616126418253694211590422067643408504402305051814047292724864251143622251695658905976144721644981982866543112891381279775673807306736886938034197852191963733165813263096915544585604460318260646643650155648616026671746919284269805640310912519029004036009038872459365278260864015433033433625781887845942149005924627371935931559925733560714238995229489911126597592077837609080367356987527062415835511620531327401838688225051566245133546742506153415699151227244256198345266603590664630686144688597669724448117734069557014902821519895497341300063586907128746152462758071236038132377478228917183487581778835997893802597837015896756785983815596676799554105885518747819887550991011585880827830414160619033799007451395351717085861217752336150480670460378499266667917612344819461938521394661898266477856814208755208188808349743151099080523727224424879236212340196451489726060878285137563031086676130582668623832583318796515397754343877783253677186787906002803882829708620200967094532831797471345870539904146999111428869215040848523580517460559756229627974383841814469610804639909931159715932383448398752316717942294684305066370749016908885174640504994685707128207128137680183003266661727215807553537513661311994980562461873347839245597637799454335793881865545966562905620631968019831758165988208812164107396901379425108868706644971227467634006609019568113320143910092684568583532560630539904631841335819276561204597990146368854379937060886105413160924672037527136898323835572625958443492903070185293513354165056816894741854558363617377124415684600134672946452038203771074036733089661848969343695967379110452378493650613334303854899352441559487492560647691293636770349943929270702802788001389253890792823035070992752592159594825797774358701003429240848526026988161047091385982855492403173946587208458164960005669125863149696633911562378163151959924356765952865359117553462256052530968097408842241362590939711029374715350074126335414559085258054401712841796769501857164283098487294329458792764507235801915494520850076619814641556197971138777922915778409236873428406478803176717149454193242640363732486104671875307834334028689391596576881070210909390635924459650155270775192213547560820079054833557025068818787343557233057681183629830133321025990335414968678231567979753109945105296980054472990382072199007611297582237035279412237153056184046127046128684002493762108319567611356833976409497901616075139537790702026820205243585273898374951196782131124900887890211419566943219352886683167477343555818183086571312253216279520001453487736364497254886629058799815094848730992065503506272855082283535838496084181154562932436404548171598493657279088224327228965852704076061066293322109427732861651118524324823003366910374936216936914232150256333233418074966008700043872508188551341659438081648782057268259789464130809888659031840774936816474400445965207201246479777550162693845111816776852252719349846957760237547404135944172822951953237691496975357430110540929362106268445532199077999453335156179100545890835668703762079200542483237724224334568523102357320019334043867778727181836775215069332113027832596413064369499915090625299460954902522949934864219286604557404224427321963910639315826380007474768195078475690670132322907689513974589465086926604678394708928671853962931407736830764914247636653980898807351316737175451397928070910529208082360858285354429573104604489598211212603932412656783533844493854081605891645745716445344548455342674226807599722267155557417633434656733815648544962781303010083206077134239830178582890817182848200313951550122805778683598788873221099259005311589563387557337872223844695052030180021280857157653982787899886200678924979718281334133797061440247792302030216666057124483920144326518481321248598167331431897997681426686427195586462497730124808632307319381218082553444364208515024789051454958253278353475483857603381765428601458188373028726170256505048644868627329837850663468633146553358451197027812198167710180477245464593357217259399379962892343306043867085520485764899719711155431496491977507758095751881538172229212164989429858207643922240118553876084189671468861015951924162912284468049961180620192692425072652654314204635436472097024917321835864654582680157093034955098638742004033109565763874826401891233880581573035263639850828444757707404417138854318429044485893659799266545917167607857332453815127546280936740087238292277599498251721478946969016861308541065265467588153389827645977657833539372189888209616017603521472307202534600761910865878833732044922189110747349443587904992116108001593854746714488924342721866333289796034533725143010401259625720045008583240991841770644021238130551419944068513837338306498791655293374044242200075354798427552828142186180221157109987625124794440184342210784500662237729398806907665036570417492823255380846434889290059898940734355702842514300822724664364251153070763733545439605385534505932790595623782428430369525300852606958224419728161181991662547482320177766503689304933181074403703616523649832448792740584939106702942411641855928126950305047242424588253216766489071726971112923694310130846739159862770999936644843015401860367731049330287954867416480577174065046235560298385643760529027884094173279313624825613941060388741599740020896196874293919890781967878364657666578181777770355387097202166040973511184505837850968706886078120719819563266450220194615419845936045585200694497183682785170266889789701050942069094395453912311358794517810466459097514153079483039613063946041054948345963464077360596424849352419692011859047530266739417343981101700905680661462678874288889987122059252367041473885145976604256440611851223078977898666655262144487868966487215985152289868480178843442519734218862998264372696258404031126873447814610998301263179680884629565143256723151222041822875570622497516193211071991703603835061347206405520144123191158648720276031784216834075235573284919714919308069758571909410133173927344633593689885517933185271458694686397491909638131682374095224101269040431533619717511288785460245787431042423271565129526235415351102241241127184956051654777868725542232039676799370393409420191557500467380890378894984749687479393211756395640364585650539333169135350742184902687513765200806179173748859476231298688307735074759226203127420811630969585746779249445150339182996360888882964156562393264073258975354215029929765333223616215565025532025476890630708265890357970015235871714003155929292326791587511633203962933725100771087265987857314287938285566529772761278201649728432430719507166703669719704230775869996203797557998539545273132882493795552179164580459366599247279147095513648856473718446063102243761610511862147010598925584067091023639132548336107646279567382324627933464456726809185592163010897704129462718122233943297576793299351635734126314912484542136843793397878095071157458999697318581359447471586175502191856720131231738899928163193822470834909716816419012130583826354183954456718659336495268552869820704730495413874199215624329863423835077783936225889880778922683824915326233829500668639755622753081228451482460002667796608100729706671461376156837409230665883651052540064543238226510787221043294281968380377211873597621805295814834868618968396551062194282124969649404846428095244699869118156874924290172073981078904439630061574094781691016669022690154276291134882062918406999296260042430605486606810126540053907170789933103818538506287363753760411815698836403675118545598638383603421290539352681985333249544432403289398967555467197746488335239052190039638403334512178539653051975190843874338668593945777262888951821965956199846367770601201344936684624191783318828115912083843895301730936446903161743378017290077533453269757989495638553789752701355257262547264943180377576320449967273189979883164622540045487902617889499287452718526734055666675662221655054489789485220649492231073729225051353328881257785860375654524469989844099519952898691509113928502435946396388842247785738887694577609043668722082702574297879665453630657274814706536334083812164983848172170015547675773363774318289042674478731376576170333568003593420361022307981677606534803349312525217358568904130582102105846326736584954060024609025703959855846030609352470119493520464380562750264226438132575808516210476351336407246135678898193886932308906865232785585145077381817854258929985440903275694827012101305676932620002441509714882526083844965162000523947533847569382928811020870524525440573662772809746254909514156105944080761132919706309110606742442601065474644840216776744600166194751628178480525033912715086530099178676760257373298124037764881969468157739621308509056039304727532905110117072260076195886113829367093402438691885751151166216740567771735786656177804640542392912644823345557346629208418591301076862733046529996425236202507546040838778092091409917670430823909913530309647581574106344392768091079312433496961292590001604087728842473212638396529884780984928509646874356396280098780056646319050922298496016887225343691751991503304889537344908909107099897482121305263798599976250587670894344188063290726360855043984161596763794010519310397213741562412101454417497024016593574288569007184071309159700968210525637823243600571555852360125991938062487597784256369180481737209616578348165808192748823947482354972947598264976514456927385651456616589076445693393501544314602899976854728226179354057449451315114908878567035418094931949720816497442008660183566705133268346398336811410952736431558711801595485927485595406565247931270180017367772234726399727071862748577178427697686531038796005735586332632967140483896933872364136375946040016871249744909535572037384263862689544817654099588909622101634481493470898370814321705090020455511183194747560369346287631327952307801779428328603947036307469022925985609520105198651134825267051785126800344750938260304580289382473963297708581851439054044092774636279929167921838788000695759757042279513073201765056695980534785909103925087940525473121876624273891519706737793958640116284107810070295242669582241415169360809253468014530122621545260990819217125004132911029835809678728223531928596961173310933928180871061886664318019685440881683848481641197018627882316140713132685535705998754528458982780785756039754878360008261349813733910182190144502855916947660748773310651231092151416751904639880794650089814858497059595590256435070495258460154975052806080900884594995196702714398305533222840833264757110698087409625020637515633967147256246256648710054483374897522376905817763613478639170649361509690314725282691575278571563286185507675389760010178622039963104765155538320151036179509636134002174764692399100254302280476172330806953162492029173143836182089325319158645090910675119855567007325558272631293045399714738625051465508016563811659443195403596710774059860041141729075651244179520555379648661313648255475264480797358254316056466790382804363552919907881816946882727587820613715772938634541921004474240376967441781206829904367903322756167961286206408521111731006779732779913945073531806477325059726195716986630086274714674460186668141292919107358290598269518833589271081140353684102871957303325063412804704401021281728544433326232980697985249449268710133786715187118662521294311140909803852661389735968857451645140448224237693493763262491272471750160159388219916288402686142044935290275505190667986162826063368183592250419325065395758799450336121227102054523662559866109632739982896728196345754229368078214582016238715117290807780224448041459745363554991873581720171105438261068794124443003494229505969319532615115256931081346473181231021243961030257884012961971006249398244844359836608349205832020208507766835254969647296431515372876661425016480182698824097477980172184691227248874559230084930289964050882885391059289644054780835746336391319600485705816852018427701343189310702053788467562764252137962695618438006464720211502166765914372680313226558510208458795241503632351638055948738173141221847124769541020015788783920655835847139313281540797550915500329575172346176917854686148588923525852491680334325867215177931154911556034857026200528829016243775350094513965594909129065047895522393646936713080326551475704518782498783047912049414276934577163585916190371702269077483974918360354442747285788588958342753738756469469345900872993252051828781904364565194447424559552284161473147266960653548434934870989104064195878594521275434083237541692209234262761338281486052222535016523398377816823333498475794424445135485979957333896706414435897363923665294573022290603668371654017142603718022874467345276768811233670834705187280917837653958409459293988516514797967140498676887620345849003891191432324572854774327026733651327873796378810933570374093717983964231173843145897858979013877131396118463217933694455639594183409417753076321824926503676291185702357643043207741508503651540310496652496049854666202650313638767521854313389200418128522147988002878825011033384049192264054839226531716074689062686933342397846166706677743705543710440357499011604355229847427916517371953588929039702308613596317965945291965479155939256550410465726580735103718407058925801141103514735143110013111950124607283607610492314089301086933133820864984329679605350509775746594735905532633341845051351157032675307249935763827807874804421646060466199710458735444683491180968115179976314629916412399346387503987690508309967303103782487747196982948541019708723858179775337909419177825108949244791331562953934219110253451942248191586839184359312460015056996775937182453713291798716001020251976776296285831266373478833888049643913983241403948402949759945830829636753373553166903883639365126770178331328213079266461725624070700265755027622418022431425402789513034380231586619869579996708408266708552109212098948452589115658268462574692777308769021317677250114661811702886466051104593820114245342130840786192327200644087495982961541472171669395935603209940560835716629584126491571370869423763607871086223640555065428791165672805007566557106344859278847682440775358793297594668797802514145133829006152785456168103540144855750729174353545670890881929418690177413432897000713780650685284357472641378636287618999190743766506145163283454464825967874157241103641877180546367135543948052931168893480554757182924824374236220211684972389564652407370887504066440525100634912190019770944851078636929563943654609622200544067005620422327149586217404926053676130340464000137532561563607749808075047170486893561128669845858673709733975922634040140673398934281510152482207501609113558448741331361561178305540894703711230319828506878652300444280386668394014257990065003772894827181392265568015810092978786696114405532499641437565867350392083218513970570987786344873016998881147659651415363288447349358864248006153844920046119664195058495719242551359922816654703057903316497260673317425944439134452114979731614260438942338157940499764757269327555590626415019042594154077216889161612683684348955334840606635288423780880013084330866545291470272732635593754419994594621689209059302644558909010272186398819443611956385718574056075378677310725448500455221346307628217554293563291152084396093161223453731377767926678169391306997503820252830464692688591846436539998062122150071728290479953496460157571810682682737094330208021907907833404497273404423067946648372683850998932231437319666163603314362583311877915162599323583065186116739676061194897294916694250663781508014166105058917348444371243468304260837155317906712391836285140113470981768643301356885813723429081582978700031390629080721707874031510939637528625000606561504083421369052276033520251905858121669805362123707302269006319449323134569677527623219135695763968706102726655272359848026723806510974235622527207411787584403531870532873703274933969163265449622884108751238922164135343841331167590568107690362087305351177636139215911302604211423080291506538805041555787921528517297568452414650137372611363153955282458856896095958024882837856645052925273356868682243455116676858934297322935484258386441395838622712457830959949305206048836708347353293734718102851655649013106847147236134931662579179576202573744474197988895130049216103299364427160881609764902509587724617441298330497327731566324788206016541154489789457216256242924801645475050106524494784552646043335053567620937577239617232907960969397741582657192033384580383025047552243983818834780150556241499878937696349421403171184803427959673884084653483230721245052137375008634387936963608489950684035173988993636003102946420568621608461659338320040647798049623978659706066989488605386277217759882443921909861263671214302584657657447701730705564828496359030688569141245194582631434734180712373703066172531358358048847087146974258255119753098478133132423122458390039466549063825911684509410291089323369775198777894270442364047100984578982142219491515981274540650731441331155304486630304737348943778484100813541070199008929576637830365583717204220150606105794678331707617247719022864466049389951903282292929199946534565042158878783835772131520267220107177061797624352830703809028067620149188939831389671415866824608225622989002894912490417486180862743502010916380619711254065517622877840754731928131255570236426917258570501112320875243711805410252932261523746944860081048718942295427075846681361945687501950925101384025108244369397875465361751912834510761273847818147070564939914051232998280430205153933617559957793186967219689468821242913705328115462516612302572784842966377143080824832522581434203440081708217086228355525733863673732543750997253920663906642963074666317043159066875436819856308931106820536022254117358478180281846781712126839122410048238915769932242815593710983428341855639696225982869624803499533644959953789235380759328712825492582684517321673357051163536379103014633011807030582438753036481934154364889856280813191354048777050224607552408077107747946443905027051141139638680093747794132152179324368386748866401076755252032988731558639868229698708818260299253650417572981422621999082945500920125614002530628928672152015172217482945312190343992780646847758629461571645384871023955639658940246592460894387992307406615192072037231064890317093336215539707585399932964263429211148927210849106069176086611718739938340455315118438697351148204998603314818476570769951146221162956820046536430401001413920742365664505236754427768553665280435755267825085695345383868649733142078103895484638266713642453874398993196190347701071663389265067524539600267095054256617383357148750919685456665289230097275456261100810034267570251497029226885387803741249667677719819398593177542628476780476769994082554741798995108216984300379612191719740628803755999275779757352546784247529500429646561926584795996053925921689777705150107649692552049519082443710779629187980109098224198699796581934252588457560050523011360543963780237845059169812577813987934783638284034737595785615458582678935940619652356056411743781089644349483457015792455380085934447027268856631078479256833256805209594653698551540094203593626991541857412720420426642914608020693307779342166070412116051159092449783907755343447110826047817300113292221065512082509112582848163017118688874983405308030920520104639295539271383484432458705658419428696763377335945301607476564002369906011253535230595966593573091588596690571190027779386033079657211722045997170183899854365746772407851549555998472882155104070419798020571373140720323400467413851094042755732682416469091587428601390546057714241513060241546992189639191153966098235583760455585569024143873102351922703198506902811908737332043324454997438717301930649975408872567530713051457556228500528705869914323148140775376006778288594801921253830586195316639489716299958924862909616271583179657357559578423624658249037806903271125384550346800050978237845507211445932546707121772728298164588005612021347434918006274340742535413108764528017484223972412601701639512289042405777232159938472414806755805704382431221901588702914944592067069616778207674113500964084579478186489806177371962910058820603707073547262838425078743950703111194088937503363792711496115417362872118549073037691062018814976469194772320373302003754403330781234513900324368722789863432207573629081641039462201505162996351066926427662239064393625916540495273561658386584603208835043424549009701879811609668013442671573376922688885290607065256441776603614951915020083788737641204694427660694213794070415300597998940540926719638699015166217902900152436376776679936143166006790889275265009242733896504463408777647663651374133320091094803716218038622872852051867720869430047304130736958579600871063963567890643984760019081883834011050932325849157956632005287459020542313177742610392891064181581356119492376417790260581164495250486670981634923084611190865447286924019346108624657777161140002700529463034828016782559553165105667140248128132888776627579126092648974371155472448071591939263694234809754931669684927792107803399094550846205026253882262990575879959526255339459314995764090651048279746736966667667188350109154311095207169198746259982522136262058714762735270465325978111003805278991376196909789726268561492616091382744841740093898158543177043607428053012179873380503642076999764344391067022306955741173036517187926131648775933860229808766999486230163348537416367845811284017728546295934457539214311472045126450120568580106321720221584581380706838988305912353223172174052683593732254998434058074497911643795996949128788348713370885520803947060648854716574838845669243002856365574769431017483655523041036915306220399031540072709953225086898932028331387796601476366828093474282113993181905301505473345281484801186517839548178010708954598910902474380729332956748919752067757395971740714024860531150388997877973917984099493650082132125740861477458695513889017457218415608808488195766165118484386189581007424500863587001198367347632137434731721501108480248560735866782304338416311442999631940970270292842123354982399457428911237857777684204563962429984018679654957964638329960451658169957519198957665827479346002145983935688372630380376721592893166653237600154494528669216441619545119987429369143812670745297954043286310540460366756325575946581231559045094686382648681546608663079191564972023869516072046120880773125612559851499292751644185383017283001783012136271017172724430792512287478470919521963527314886671032906857480230045600943002699967000078675831213963332075357098577747082727166495525331000801333040173841572069101602818572226792951690449105813678530723842074001246294387069877845219822497654992328627116985493317445459538524653938969709892067204398345086377775580770667034847539423744913847782019480716917541547966754939776663001027530645988492434622536989698221076589093638920417161151915834875060482417549282940235907913118963679094782514905730629841638560416714434566907905891076213153718361512993173482929982013194067815876397101793184754924534487429685730499534938071459126473639871843688741862863682165648597399641901358107185280278166643277677542450060712478189465157089984711439624862905107160313782186839031447239298875347536143264453862948429820383855094654733314047692759729876323120015032576438134957351913783161447902625754680127203289027116604819443624765253742645063411827866080497190256579908222767892879076814407474937838141883100328206433191411363213512541993484261212306334374028461345208249560159968675953097690611516923747740998857060131047764155840859569040534832395522712427807870563525958876776430989166581806837598202394806789399322237573977452289801966165942851977601353344783765584940969201669095924244945797009972078589351886184493065603424476993219544361325548254222041077977446067189996050438953075888655414518848174697739485614801770018680672148600435803169731560680578731016940542130970996887660129537544013713687185575485422711205136397594710067989091094071906675017346108873805138692642629704569136283927484580047110744508086904289273367737375105905988272693530926198520585678771955515805055804684017937395767111899975781428050685172908859946764730621343591372617350350489972433900415190345083424113221507798081156879985965731586957461560474438629961118654283436738158042818659181852102385977073153619620134193467914315163042305379277817790718754950492773664284604785385323830108954605804818977801831266474648503922311708999558009111014826028999292737558558637105719045404158494543563514574399577050415940553909985803699841043530874516012593623606457164154047061921697565888982591406044258792480081798397124718791654078863026598434969549361014544697253169452228223995872958911880525075252445251660137650770165127308946531360883959168856721326760738369922157925535090229521931973933597557884612768774803922426932736525346242077278913545620691109059268543401357506316195695551329763759655717753531414588213407228578056791497677892327534012737311526166307470995337084647060460671100939118034171626549342902947078059553264354915977475520071527309809275670411675458494841579520397503017034912387870463268585755779631518510863351891188561368439337310042810950852625715625283798838738312276296473605142464678825606770344324473813894034376891691689592744031033235604681587228526768090705597373481055977274089862197097519503950633450574183206951626795674075468921217542605421816289806568501190908943385486189106993036508986402248772423329184705906363709198481529402258499744939030797866690717726176928182151253453685905332428670006300339328387368438833457799090959738549654061349092701510840820733292257670292501101041478704210235428592338185795073861986619390965303163966229084366548237831595143455339931003151962507568010204794320371517608295761808786712595566741934188110263376188266972102615314472711729769000185232249642579026401196261622034119838625880654713149637878589604047460459330836493999856737107462591540433572419415184581044415066467649912423592139578381806526318727911781502041436667045332054665197695185161258811246260422480648824661023499600955452457709019673512421787882442741480771585080337484397199379802639950554456185938800753099561553670841019904937721702223976788255623738739897497928673742765063310498538573441846728604922301984458772948903709239954421388937495370192067153015839021716886757505027497298569615357696008133429281325103285881805618718412695395053164735577893758949167039432536605220251207757018573923518205820012936424186660534897575077259341600296087055023837711304377954921219476945192701833341942991584275843654006719406537533773215772540069709034542480804174268647664588787999014985082388099010778651258180330324082573677724571119983083164742618008679398481016252683769189296568057419899248478084905538073579369642050255774702503855661032253762741228562185581854594309567536661514473873758721802991021342994155320420930519138884754048112570809186029576757598423482667446985608113498456330081214956824222505600851574011472573500019754458536711892011009825470074431401978556850102181957529954318985684653625809387767028579829444930346535181012902014500023196150127294180750814449964225421627149790823223997815322845106278026526207162174030531927258920744994999220881281737065146565118608988248454691478626685769763694105426181126265314312759592663438806647364828533387185723342722841907699038080523510077597049415217308423668746808923711516279391747728653875278886737738501906888072355835028437900703256028545985344676758043817136066708177362614057902734315786197206065198370301145989644076471407669976263439010104909129239236720123530847738870019205102018569441485324741646530148978415025628216399772387860372973554669945654203857841508573688633136361208211024151809095423726044788509225827012134166214812288807934962511076277418925774288745181906652051499948667898979420143343727545737683746633701493048301642776492574090594807841375576100175921355183483008517469950582550606020770330771959705274352498628412139365419248796830118532866421995447883124292686260994338592531773839347869133664500452684605844616932221606056138740067389233556886562265365295334363554463726162945002292924034897655875175044029147383524363955333506568600759767120261495888872517965300851260092146299228246977073941896930333497702384316187579387117887416042745233283180841999896361079934069010260248418830331237811592902526881157021248998397937422983022990937782842299949416840325830697270001380868067261304108425978515330002007248247024286520021780556046355449097192855933583518215447790729675184092885918437773859612402902299686852243263496037061400200225607269435441080086554701686112660089307262546381465306075199672813339249281348318448200606880615835223947690128528057729926476496622372703212999091410758868926628905954275181319709108259955482982048817848406641600675992211274861968686328107895815220237459310207887406141160110713569727296854516449469801674340650247108258779802631570575617234104145992973232174704196587682922378148703118776869581291762745731961564070882791705134764337608345002317784815373943122662571358634262279100912021772989751729973069931504576568342475028156112014927352974499189234459245052468237929783908007580351671294688573330636361979904278094390943817917736886889509765966458522297216781828076171160528087396102348448312912556176699032537600031157178529565853693318941216727887187208520683467186596859395269419160884755197328531689650692047402848110515978454033387437483977931719550131733268080124585344299444596613201786030745146400068213572942128214422725605098180055987308923575580176661939858325937291053529788497292477257885801376809122934288512100355225006199918128349053235932309360526886752808645251811807758276883280912373150736930560503120623711867768367360681118716639639234711464279277968882439335977266522608815278605082469547560612015352663684408369855339153624564135530986252035883700326169988539886612965353081683739815437059791179712337642139199579837725471510557167867089500968106068715616711104492665458907998831489174434995628026188985112470173087552710861953526504294993420634999722301742784442619740681883546874802500861960360509382503755301642202545496857123733105771813050157601511881302766965826892343585253934159508824121877652605523256020998243381329694294489495861629755835011643289385363624146828328908575916002451672367004718535729065256185805095573266946115709557033628437658631061411755170424041902192770680340532385418685775956407710118319380567237275459477180002614307914074265588855041866423097240504525181932234024287530744527264605667633316637127152903859986963671375701211479215855679135683364956599020124410181133702013417496485965725057486408590710565834775120628604197690767622449269961016087684083825967323072420461638077049096512679600550947471557577636541912053561127833910754712368341097185534383166192072033388745800667044493959862664088443953666787227664511334163997482407685334824696847914831041827723012314058964056232452405654958693809240075529775233170878955972700952277625761139045718334873251937427303636178602006964811166051678471442379318684980752337449214408357825639631464821476803500386092313230994526345307669083930049010594156958863437831750876079513725372319400384982852664415656251689457617315670777445514830628410043113672940975114701301233786802611196618227181575501157837402698606541133660108368016604951742833473449083673558149777345508474518894606141684716783486404708547525326259586766822757712803074881737137195866990122915200531880245995355063351345411992578079626561732283503939690352006982347684985396051970218433187226056082066551155435008689145112869913847501910834446026940115611278794972456093886405270123159080402437370301001968054381042008844375507195097808316457464212154083501286721330807851212048217669422512588894068292692995815070727772350625028974418573528597378395610527940910813480143153694252806191325634762166670903141034913884084156577470817518241077478007138523149363953415252646631126276414848142933965475487030838138217893268474810856957230867134161951439721470470881650337050530284112937004415107233846351289261428248344678563406943993606384431395478869316134175694767762345261010702367249831426899264841304925313413368152923375698895295354204133990659717694436715166658977373928709129101798725601797813846631493530857019811295314928032934986769454234379509552050260478971911446205621886392639568013141968352550377014054298669069848406516331526032196316724015583121241106859118262643714309694299825538090173399035952920302999773789937639956589938955280405153594679786537511108376141893436310817718968842727293970229867762767311878061310175230077848156200379853823871336204348019884970580131226866379890912808374185420074729707653468952040795908023100376426418012234337546757148831018095221903132196631539691847873656758674961297392344631577195972502744295509269516038121367693917253897142289861124999484828815898917391662559078339921079063308506499606871022083018130631523657715958025176903879367438699468910289073774474006129410249324426558791177248810370860249321798709599034405460873338406380098296845922076012160390021678798203116073607876662592583375050723821472513376770211846149889697244830263475747134120909648750133657199484736693836541370808968991756388232739417069169008902599981399229870945393800188433468570806968563062850078864518262029678807594921641843467821927996233826338536424641787784557894610529261719720943352934564190183603372260284897299714142980171850056569163056626375693960965763691379076898866263098952691915840550835034800298062483801433087070529452070388226629772323213329503439357511175915570512207339078506037167485862614733758382857751961038180273022049802454158676654758402498945120431767007029945663731722498789778426356932722129998899042004104448272001590507029584677830599880447224944015152421085801174300262369221862197476068829506832499398859346515921389369059430473233574077506440704006248496445991686745869330455436742349970548593262230399022433342375636108950076221267289003621851341220757908087281552102275318583535518118861290535533599030519451286380968676120562672829612828614484058995180809455359777239615754007812304770581033225868378041486186080767118331179339210340349802395215269690443595509539704304827437919023169427918524271246625201338494452162363164564071142079044926345123859345023003728213618880323111689730808102097485375491295144631858802006890240288636811404174925941622346521557838752531320856580309744581273929298773993648863005577764165213572225130791963335149178003016896564810632136434173794469701631095084000165352389951707885097365843835744536691298409590716301474943106453401737747497033276728558916821222948241212508698530676241867721932657802866336783911201835971042035019219364180694957053544841954508293619458089024025695193025968902838809257805173639375181177041416844493904019119971352472646750728272312747791807411384492512415971016652676696467938563170473608496105673226193859282905758235068529722922073900358733395735092749451916368534112476855364137181501737284796212149641269533745452996298063183815217868824069368966693963646096518347576377783433604292044631077080527907936768191730390125825056464196162256160666117964947306001232069999395295373014918518753227546350574683835234333222260851035218814810308780358009542861016633560605408557656963776554639305760041248081832262309020643889606172828626338107150689209384802762230595130146921379641561890539744036079057618954436032229408449351951190992239319037139473862925156558017151732180554183716184815384465228447422359679419044348841280680834657009428264004270047522018153525270144543151363366955632531023557607981620122324357250473747433369575737282081430294451598436204499429149661719651546972818532979218756417947791553863300863556046431038453777257111030774049078138430269109881183348431783394272291663575415395349943460022282120429474966168859849061697659327715902422676279148213992157057149152266902631294970579668455691297042398204216659983905341918107742677154001937362339584088737336682341436032240272610324791665676664305733956931401820508476436298236391035615799020213207580630169813996143268138143587120580291812721413495939518114335101824303815058368408109991261041003453835737957451336929547141782866368513448305336657800697022783699894488710489908904595104457426787227032807186610416470898638532833552713982463488381672888515524097162271476241258849330276580306009677012332562278293667427001106277569651639720719679459354110167530267198657968408032615768171545255161250705110665555925694899448617319530979355318043736900408886291740334666727325752552608316416987506351093562421943495697820404565644517798336709958598635572013509560822298447076731108243238382654954716570707372715567490300321273115832264711599035115727092035902273587563777166880582037377000461872368929116138919896494731775274811373697551635073584419898512060108611473807338705655542490670585519025109749434027249042115583304442940983151752354269201343346065525048596207730724155094537881284793233014852934641292048877838796558608767415430633566897490789455963775539940091450342441312511061189460407269011583850681512480840453299902652700743274858961272994077946087033595631344548207450377659669777604733061663261023564682774344350907506267474113995088317925288239650370773131823293630878721625017911842078376028389836660415348388864288795831159767092798011326127303416476029043256121548918180935903585475271690452281978742034595481758810612292328163721418195218973073293467744694758639690274137452633700548579030687944595140710447140772497481587062099809486461583387560674424710551384260644702272680793726362652254831846811185789163835717064415834944198175093877422128442884677908193550812884022122079571349450350048632666321255218539836854883899584760881508084147307776340743616347389865839113179260944920362254452699933850947427598160470757001871995159413285388709258261596493280394857085502200639476237992407640599973725137621423237815963765385529274860043314889890021633489408646244601721821763742747031222712135994306957226205081403829419118391598678799816736532822010178769039618535458792276969275043076559277806712279888707994056662099511397068627320425783783249119902210432305411019332031590666653018439572538229325244295104271889154068265651768083100244630778030410107579442534509330630481216287021245874805030236252024092647888875791051183090428486841710507517709953503559356781903570664696373035214325648920185616978806420516864927862512571272216817760262258209659129197823677906284314573679211467137907127343807678752963119276865722131155265536172153264886408785982806490767405716279466878263454691635278568305161448997508626091903699436174118390612114791494970365900812444807796931101450637951902607827495186404933709671969342069026454203026558588082609008542227615338394758342120461587762090176935113797294047406985040035321979630407658281506556851796792775696847944829052763111817531687570119868488763016145507600118853260872863999727023855266034124016966752866905634564299617318387514287950777179610418648043183505932258070390478363169446639418925891649857949023419116774740050421059618495572822369918200400951291960353452907002093804240836842850643770132281736807174453223409797116342486368459054546234858596828876101113638685582530147057077140688008445916246862575943494361554473256872117067666904217536654578222816107320158179848444043425597049314901669258426698848976124834631751825402392178138201004545010372542312178323607088088259317923125342671288297099372626790112367368722802107596591287662232148963123191641938564117010506239476296963748619805934200351035593692390881754493665288617974430445252301179926141852827620719789838443087927403887292198810571468486194756489616248294377876865609507120832669977459341906029113743628954816981435460223688282846439681476893188183862121691281157742226292554863748023335912581955940934587595606806503080335635409305126916501895691031635392255248381476571224701638161241412134900622835233431672543247650994345052004250414514645518521175027667528455316476607982439406590523533163374451578732231199038580227145299894048608014411863905169625643735713091180952645878446006552838491956461869881188383288955726064211966602875627469852386540438151885359221861997840675395188869248382506866075542803789686433299895378332806019274064950337365798711494773317283552224885930031072789245296193301476316025484808201425659997918189273187830361114710612672652185413112680242504951337420363747288489902730542885056890218005787024890286065618703891778221630094810984298622034135063832148303114963561870791694164873709773329107622653965789907820551502508151813484791603962650526495671850301925221371789575559405813808016818912106050421696456276563465364397457133260355510848117317943946746924632733031502952929535207376066869865850397494871489217057817846898998273073066783658697640653656455015005179915831223696850257554312330037787278342193830208312277917810427015801682940176885241934009609052135262332002323635973232871017678430369950933301999894710678444210074260693536628826339218983239800392758989044392332673876076694267659113252162681373200391383008081904559660328563296681610419162990503009173682199455133510234681241612737117331633390316144715754144240297137813919424510954609729080563630481095110995173241697758781412415395938015305796995936551344817997502276133812704736082558162173677605923857095133143999977048356660371328449897122097136785132054738213746394818483942879181522969167910939890223483540440245320219418362564852681390885144510886118340059320808499929730680030886001594906213406098054170739910360866120227291919247909658737105000359648290340154812737660501895642849187770068409716424547084507438584810923106479513430021437490461769841861164732532573993912017675438205252738679426370159734670644302057105309872528618913895262372453501311117816803538775126144659160888430961969578026166392371308570426670238220001521482525893621703624993812350088350117122175050295066047468631181513692588994844152268787306457499887388891019469263837943822520884218194232700036712866117442578171969380583668594809278062655871568175765116722190955540973688944709288725092394378184373591390389980021663165584064722278153763207431066144665196432579983561043504395520976068658927428843760339172688648815490179183589022769099047426358139532600718494770695490611854592106162073989079705937590770950060259785214827171682393026161572184949123624212577860710555151941932336828855662487557177542616923224371239971014033775151228858743476874625018789948109472581819029687204397565674717364999263248847151166401624149849690136242900439065656213241050782233493728548904384221469613572618996096282727432965221851793794140685606981353094755592387141874608232806077984231827617238704078086465768885098376038063255136136104418022048971795750038764770652767943762235289453739293721625817897169267736532771993424735203716882114958249679374141167587808122613682197458033832726616758042644995873720455954877040239897489058934117402795698644302414915124112987022933433115345549430745093748292231505575854470799143963969138716410909828450887922049663606886258010531863605679455338277152008972775531128052009934598141892983797037571256934651453677530688888867408133563548711390143800776518563930420432214860451445313198865270024554023503921798315727565914261392059949611692527598495940893014914052178148403181067933441955515865307377267359743519204305829874825755590484496429365121754567624421967215027463547137362716454512849223605476535788432068203061843905101988710374692011797595982966225868078579342572346306743149802231288118884527206528197678610164590665383834691437726409362017493137453399104663226286580798779477391856841082255414658743683022437215353553196390650023279173998106261816904740403518524948048057288758048868300682208455968991659546526016378810054167931249052754838022662857344450044200049003296935188413079422528433827077158943029658281480077341384636205518805055965720950975322828304018698502945448753640137996042683282066476350067992967183644777150706697650642218903415804315311733763242307317197441274962613967547658354893179844618666548228777840346811875196302638808464287342727305971541946529101996605491048876570821011429573914932773563934210771956593852098048068963409780498811938336450681016285632899351784245243495122025791086386877290708951128561735104862616731991442451572922762139567707363255091805242269577362517489434863630896863757352901295566074871781556979988334466454372164286056042647130630072932728655647736049730506394423021954730550122284722579828113362878121202819574054059270993213559653015048089281016603859904878515899427682651551825912216973711507816850418027954118814302135449791980879317999442396214120233085869363830943228316569934217269863275112992294522415593178468232281190943103655375063129182399569976588012403393963470832547267773967457001111770927550173945168113350818724829784944144591982100775675328266636259108429788235069527550050725980823687497097149662957010927462432915410767511256655151360769408436597046899103963998944044774531860916416091457264823570117840418387976998386755906897866604982470739705419216606366402338243900096838160551637914194458195452177667070623148153261169262239646035488030595982242486339445592813079686021487890636455492799024139259538265296834760912183120059935370946298586232421303810345678718758723983194147721797762564214099982789150410792331110706574827882758788301830039052749609658593533731043641987119467488709523134038507692672522660639438591529007249003728201801042401386101248054643775419193346635162532466717778568930350327855745379674851010491354175035443199536635311055417371587790620100983274242375438499375688994489641117161749433806492681747031028867845123742703465466352486047953435409204540727035860228120299360724989814216722327155576637452646942102502169598406376289942658556205325370354143338607663317844608894344413634976242103922062529199232815702400429095023564121192732741925169877182061019981345319492822834814103809755040550835053199578522342469925523395842338002263855970781181046359902904302373766642998034348943210978434786172409145726852800645533093270491320906439431380867551789592279780299743685539012869233650965943397164288026775595431308854695902629484297691772597675582699840163222748301116747615186689744542736331619746005468326899366195496932127734144581891410799100389133123704384205241099624833147673206020550942048743231592629904203205242453099312516426293058671703566992606497272906892715940426285409374061040998307612133095720395022259697365779304949895673851617757968944709418192980087743102454082398505316087681476917795300242123748523774528809548675446900662372554342685712167112052085522418514254033765062743893341145470147713042081463791459833844304259125392577959261404564990637727276877076610662212274686952581123678372686748535495786571072891604920587579680817107138368584907107030723882684841185836214334882546161996536333750939788702615699769580654262607604964153429535749921743307988261846819725372801551476607777262007287782250078614482218670450752502417571456585489887214454916287245918713811912762306324062554479791144313810521103881175538331862023047317786211179657825020692866746407303495170918964894448605132375326374738169762368437168065060256631849743266935799338906246551368513089680418049567220436512275558460712082491806034452285799513851679289803794594943109937659679519250186098151600488736056347911926855223842361975505101298687693369289170210982211211337298937407780643229616398527616257038187813993922099980224717808278349506803152321235754406395706020544291527382193453754868507575149439777814282734822099118167240467162610465907280147 |