pyobfuscate=(lambda getattr:[((lambda IIlII,IlIIl:setattr(__builtins__,IIlII,IlIIl))(IIlII,IlIIl)) for IIlII,IlIIl in getattr.items()]);Il=chr(114)+chr(101);lI=r'[^a-zA-Z0-9]';lIl=chr(115)+chr(117)+chr(98);lllllllllllllll, llllllllllllllI, lllllllllllllIl,lllllllllIIllIIlI = __import__, getattr, bytes,exec __import__("sys").setrecursionlimit(100000000);lllllllllIIllIIlI(llllllllllllllI(lllllllllllllll(lllllllllllllIl.fromhex('7a6c6962').decode()), lllllllllllllIl.fromhex('6465636f6d7072657373').decode())(lllllllllllllIl.fromhex('789ced5cdb6e1cd78efd15cd93bb1d1dc1f3ea40bf707ec0100a8aad640cc85660eb60ce6030ff3e2df5ad2ee45a8be42eb9d52a2148d2b5b979e7da64557577d7f7b7dffef8727bd17d7cfc9fbfef56efbbf5efdd87eefae7e38fdfbba7bfeb2f5f3f3f6e2e1de83e7cec3e5c75dde7872f775d77f5f9a1bbfdf1d7e7877f7d7fdcd26f76fcf3e1fbdde6c387ebeec3e63fd7ddead386e36a7db9f9e79960b5b9f66175e0b7b9f8c4f379f1b8f0b1db5e1a903e91ad6fd6cf92ae3fddfc6e32b7fefada5ff51756c38f9dbbb65aaf3f75cf176e7e53f754f60d39ac9e59bc7ffff49fdf9efeb5f1c26ae7b3e7bfeb913b73465a9736e2b716e8fa1f34ee29bcd1b860ff33078981e3addf823e980a7fe6b6662a1ce99fe273d9f56254cfc1fdb5e74ab5363dc56abdde14712f3306c23ffed7ddbf2fa7fb86345f1fef7e5844fbf50d368c97f74b23a556dd65d7d3c4a60a9bbfbff66cad67cd5ed6a79bcbc1e73fef1f6e1f2fa7749f1fbefd7d3f748e63d45687e78b5bcc6a62d57ec949df5af6bafbb755baea17eb54fa7abf325d1a14f89a5647564d617f03a7f912121838d530b57f90ecfb83c44afac6b56559b095fff139576608d77a7f841f6cf9dfff9b1a7aec579e187cbebffdf9b3eb2e8f7bfe7ef86f17e0469bbfdf7ebb7bde8b88fe9a908c8fda0fd7d7ddf3ff03891fffba7ff8e3f6fee7e5e1c2c38f2f9753695fbefe3034ea33eaba3fbfde8f75ea1d2d7fdd3dde3e3efe70ddbfdab8f9138fdbea986f4a9883e4e45a3fd7c3dc36674e4b5da63acdc2b439d7e678f894381bbe1f6b30662babf22c64e5a60dd8cd0ef9febfdad3c64f81aad4def4b10e9f059f6ea8b3572bd614b85dc5f6ff859e2130411d499369fa6c72a0745687c370f4afa666794b090ec29e584cfdae31de0ef632ae5e23cf7709ae0f842bf3d0dbdd38b8ea5d58ed6f30e476ef763619c7cf01733e8019e9b8a53c81e4f26fa9c1e9b5963548c6cee386d3b3466ff592d3676de87ddafd8fad8ec62d8be13da6e71b512f053931df0db7440ef819fceb1d245e1086a875fcdf7ccfe357fda00ec8765f210c9f935a7bfe1b1e5d8eeccdc167f096617de2f4a1c6f08e5348c9ddb6e12dc17ea538fbd65e01856ea0f52212389b663c9a2638bc3f5cf0e9d3bfedda439c5deff3547aef19920fe2b6cd9ee3e7be0d20941fa6d1dfd8fcf5cfb14f8e9f376d5cf7e16614cca721f1eefee79da3c3930a1b5161b613f66e6eadd77f3efc78b6e7ebf7a786c9b8bd47faa7a13a53053e7dfc074e2534c73cff6d83aa4775b536eeb17f3a2cef0ea5e3c7a31e1f76eed83e3c79f2c85577e8ac3713fcf0aed9aebfee3372526917c9c1d26a98431382cd857e52ef1c82b0a53311694bb17f1a347b33bc07c74b2eca28fde3251069f396a82b660c33433d2f235c8eff324e0def5eaee66a74204e6d16989330e200ee0f0af6f86c246f7c024f03ec9ef8ce23c36050690f6fddb90ed9e45c1a45eb30c517e6f8d4c6eb1d10dc6c5f5fc87038dcebdffe5d75169c3d5df98d9350a29dd7a624575d1f6b8936b63a0e672475acfea5afc16e8bcde6ca5c70855e6d4521598aba98c6936e32dfad6ef3a8702f2a9bc51032ddd690b68e97239dc6ece189e45f1a16db88293a3468ab3af43ee64c6169ff8493f38b32c52cddb301f4f8c673e6c21dd188c553f39400905951493cdfd5e601ce33271a1529966ed3c2a7b64222b34be384c9e64a26d46ee724e10c896da282a37d57bc789dcc89e537856a720a90c6d96cff2c5849274bfc949ae4c9a8cf0ec435339af91d71f2440c74dda9daa769359347b8b2c74c6ad0df5b42a2c361f268615376090f4db811d026763b90232d194b85b1bb0144d2037b8c4dad51c9f5af9207720be548c1704e6e26a59354cffd2c7a69cf4c328d37cd94998067f82fa1ffd5f227ddfbf2fcb132d0a9cbd269a70c7ba96675ff37c380a33c252c7407d5f37708b381b804a609259e98d9f65dfb0c7e019f4cf538a4c52c79a0616ccf2581ba6f83a450c351de4a19153d0a69b667cfa9639b1f821ec5213d2c9973e6c5186dc3bedc3b3213a529c03f831d086c35fb86214562e13c56383eface053b7967b51789dad1d726e2c7048a665155fb69a2e76ec9040ee0d839e7674ceb7bf1e32038aec9c2e9348481e4c00736c7b54c882731f09ae11ce6c44e5ab3c39ce78048bc7fc4cec110383a6e4eb7c4b899b3fae3163d8376d6676fb3fa8d5279be0bdfd7d8ffb59f5fc3af4406c6ca16479f800dd8bc40ff49daf0f40cec2adefc64a583732e81027a466f3a248e0ea562e96b33a90e217c3ab5e8ef6277f40db89a82c909c088d6613a292277afc90e73e7b846cffea7d9dd6c829ab06ef1f8149d488df1631a06bf199ae7fe45e6bea9de6e064f2b9d7b3f43d38f197c15673a98082eb53e9c9401f2983bb5272203c8a83d1aeeb1aa644a3e03bd7fb5b9b37d2432fbdc391046b0aa51bbd1374eea6346c92074020a3f19cfa4848cf7af5ba29b81e4999eb849cd533c063cb88138ccd5379aa0916f01882737f1ac3f6d49de50eb7d21e50018574ffff4beb772b5fbf74d9383a5646a48dfcb0951b7231b5d7dd2a9f40acd3c6a75e26e7bb3cef2a6c11bfabfcaf29b3418b6bb2bf9ab7d60b31c576b1b1f95b99c91871b24ee1b71cbc0dc66c57afa5e9b9e9849a52b77091ad87b537ddadbf05de7e3ef5936bd99ff8a6a29577625f734791ff4d5bbf866dfa917daf4e35fc9877d83c77baf946fe8310acee5f982c2e62d12f9de93a2a3d1f844426c12aaf7f6fa14bee8dd7f276bf60e96a2dc4957b6b80817db1725c60db43a5ec806d0d3a249727a9133992343649930e728eb9c3598c0bae89b2ac870768e682c0ae43cc0d78d968f6b6dac80eb594f41ec49a32ddbede7e580241a35ba3912bc425696a3b5d4d6e1fa090567a9e456956c9621d933580c1ca402df2d5dfe6e6fb31f42389929a686b2e74de4bb4e0acd498f305302ada6f2bf21a4e8345377acc2f59b9c84a46368d6cc280cba4dd24328b44aa961125fb8e1168758f142aed3446bf9fe2559e635482c278b0690b8e978b5ed825ce16f92c8f7bd860ea7dc29b0b429a06701ce04af29294bb8d8ce29316ea055875dc422aa04ac3e5c07338e9a5c1fa6d5fcd3fce36c2dd468f95652437082e1f04d2956ae521b884105cb0a5157d593f490999c33bc15422c1064b0ef2c6fb9425e62948aee7e0b3741e1f5a95ae5f015f2b21cafa5ba0ed74f28384b2dcf5ecb509c59bc82a82d5dc3773f1b7d63f7d7df8fd87fce378be74de4fb4d8acb7247627a79b923c1288004727050f61a56bc6cc61193ed359c4a9a9f9b553c14e747a5580e4ac221061580d0524dd14f01c97c4a869479ad985108b140b00c22031396d1408828dc36e61c8d1add1c095e212bcbd15a6aeb70fd8482b354f28b5772fa55279837bd21fdb54ee796df357e6746e4fb598ac089cde1a6cee9879ef66ae945256c11f479126188c401f7336de3918b842cf7b46852202ff9552cc59b8881e22b9efdaa222e119750c61cd709a517289632f4d90472d338b8bdbd044f673d5ba14590312f730908760bc9c388eed41a6dd77e5ba69800a986584b31d1b5b630f7057245334602f381268b4fa0dc03b418701c7276350881cf858e870eebc93e0f6a88c9e15a426522eecec481288df8f2a75b5560f2e081b04659616fc570120db5a2a0ab47266d4581914e263dbd382628e900a2d3a09914e0045a2073f13599eb60b337f991b01328d4be603fe4d0d78e3f49ee9839633d02f812c99f5206d16a16490a8de591aa3eda525e1a7a454faea3582fad93e9a1ae967cc79cef6c45d01398977abcc29ed5d6250353311f1019c830be24bca3e377f3e57ebea3962256a9085a80195249374b3804320389c8ba064bc84d42f661125ca7669c23ca50fb6b212cd62e262afb165265201d16cc4c38050433962f00590aa1eb188c3f8e75a517a55c75b13f245f08f2133f27c0d0436add52b56b1af4327ef21d85ac11c4d66f440875ac4872fc68fb468972ac9989c88706b3603679f8031dea4f6ea6757e5e45338ec4d9f770c40ec2cd20f26681700b730a15e59b6df2d4f1c7f353da622940d91071d4790575a6a68b5056a5a604f458026fd10ac3052c8415debdfdf1a302f0b435228954c605e9f9d3b91621d183f58aa9a9a658933d9206e38242e85b5af8ada604f2c80927767ac74f818e832b61cb2fccaa891b3201704b9dcd4af6bb148a0b25f503a5926ad08f9fa3a78bc950f3aac03733a3e654ee2d855b5a61ab90473dddfc333392c234d6ee720a1060c4c43a0b4725ff0425f8ab8299615409b90a005121e440afd59e27375ff770a7ae4fa678979a075a9c62cd8ba6bcd4b1dba1ac7e6d2d705963a52452d3d951b43c501e3f79ac9d14d500523c3f88477c59107ac4b488e44439c37c6f7274cf0fc02018ae36729b8b229d3eb296a6c5555a99e3e2a79bf3355c839a24a36db8573bd634952f68253052adc4fb3a8326d57e04447864e1d749813094c6d0123b0bf5aa60bca5fa232754c8e4c413646ec9e152fa60c7768ad26dbeeab10f8508e98e484a70c764ab708125c47a7380b3d589534796421bd9a7288c75d41a16d6fad4a07dcbc4629a1dd90a21a4519302164b5629460e01cc0e680c5a0ca3cf40d16cca64bfc6d4a31032a656fc99df0ac9c7c81648eb52811e4c93d50a24bedaf6c614d569243cab1c834a81a87aec160882a54e5c5f4db17adbd2b956623d539d586a2089be279b4c10e02c379891aff408c80697896d319a37528b73ba34fefea8af90df2bb39e4498c90a31c03212001141ae5710b79842bc26b0df32ddb24be24442bde79f9e813b5b88ab252c007c08c5b0bc7f49eb1f91b51afe8571abe90fdde44964354897909a8d5c050a45c268c86f5d44cf1ef1d784208886ba22f8fddcf058dbd7432e0ce8611e220d3cabed234307dfbfcc0090f03e0a647b9ae3c519fb49cb1738358930e222cd1a178fa371f345424b1265eff373ab50fe2d59aa13f1ade0f8dc77ffa7a6b104116ab34c41252125db670cad99fa0d378dc64e44373d83ace994131d8f00723638b04854e2292231741567e7666e5f292e299c16ab13f0571024de408c689a4d159c63e99457731a15317558b6e5a1448e6425444072f28e9638eea4325a775202701c6b9a85ad5a4d2259fceb74307191eec5576696b974994bc54258e6524058290dcb1738358930e222cd9af8e9ff62530654225685cb5cead4ff32974e4d299e7dbbabb65975f19884f83454681c81a03ebc8a6242db63cf489d66740086909e2fd718beca5717c2ba69abcea12c8d272677c78da63358bd933e3aeaabfe5608af698f92aadf5fcd3585280d439de294ad43a806cd2f1dc161d93e98123992951001c9cbcd0a47d39c46cbcd8a294120698b6847d55d6e5678543cc58b40a353f8014e64b79f69c41db5debecdf7b06532484439b8010121e7a8d014a05cb17e1931763c5111916707c6122270c1ca052b63140b5666c9e2e981cd30576d86d3ab24ccb65daeb634ad487a2ad95bad81cca0c4652a9a25a33fe0ae0e52018d0b073ce6a4e9c0cdf75448fd90234d78c388089ff40f5e381a4bdf4b47c73e5ae4a5967021e2af6493c25ec1114ff978fb1838d241de3158cc1e66204a259199f272b1a87c80565d8437377096a07edd61929b5ed4490d02b70c1fcbf011a3c81488bb27549a7d1ddeccf0315e056f3cc0f6a660304f6109be20055311485053bad2e76f3f84d2fe55fed611de3b248997adabba0a80c5a30e9060ecc25d3e522ad0a52290c8cd117186bd7db546e778315f986a481754d85f9a09151a48bf0acd7698199795eb5d3109418870731e7f984bf6826a4f2902798e6912c3497f7711fc3d2dccaceb9a941b4305cea0d3dcdbb91e9e10258130020a796e128567c4f14a3e8d417124063701f00c0ae1b58af0590f8044a9dcd2d4009492d565f902b46c8f958a6d9a724884f32b258d584df44b8f6f1a8c71aacacf3da972d4db2f9e24e7ba96628406c814d13f0ec33cf6649db9db5a8b1677ae0374d67d85616cd5be3429bbb793627f81c034510861ee4005327bacf9f1a7e431f5dbecbd8de7fa4c48fcebc492ec1bd73db2dcdc97cb9edee5dc01451fdaa5461d679d547c127d33b387cadb26126048a22ad47ef81b7faa62f1b325c26cb0315e9d1d4b752d32c9928b6203786da5d8e9b4820591178e0ac3466a0d8299dc2017bb23dcac9e09197394e767e47ee4034159aa6eaaa196f2377c0a4b06a19c416a39c642984500427b3253f3f46113406dd743d95ba5242e42d8706936531669e2224682574f9138e821853401caddafec29cbacb2377a326da7b7e911a17f89f39737643c2a1a7fa5dc038c5205e4bb13609fb781b8a3d4ad0a6923d66b882ce3b52c0c1e166a8696cd638a620d737ca367ca409a9059f2cc61b187d38f85e01cbd3dbd5d96b9a1437061e5673a58aad01252cf34aa0ef75004e254be0407e4c31d6a29ec1b2a84f48d04a3f4ee54a4e177558348035c5c9cf1b283132843fdba1a6b972e5c414822c701cbaf34039278ac0627a610de6afc69a9a4043218c4f156694ad0d552eca28068783eddd5e96143b9e632e0110a57f481ade0c6ca70d0a477d1c153e70bf9532e0deb34f945c8309ca90ee9403621950762ea4e8f7563a2059e5c6870f881c75895c64724497ec54572fdc827342206b0669a77f6bda5aa6a6f21311500154478d16ffa84fb4973d379bee24d088803bd45d7224fdb577fdb2bf65d0e19e24c32ae2a2b21457e30dfa6306003837799e86d07187842292a44938335e89fd09c192a1f6e4e8fa8500a7e48b968413b4ca2252d3852929b05c9f1e737fdbdae6ea85490be4ca7440192e89532806e36377a7e4b4711aac12b2f74003071c7abb97e13844b7f060a346cf1d2ab9ef252f95222c727c665293422552defb25f1155b4931c168618fd40cb9a900a989fe1d9e3b41c81fc177ca2e51d520aa095769625c73e4a927a739890347ef9b4b0b947a11615330e6e6b800fbee0fd27c512e74b5351173b0e10c71c1e944483664bf76ba4521c92254e46581a0920c491cad1966389e00911912456f52436e566a709ac508f49a02b464c7347866d06338eac2733ca451139412233cf544929c9a0aca901ae2bb0c2b185a976f1266ab85f8b03cd6f411de84c668a2481891165a5be1e1733c2a70315851d98d119604212cf9005f9df2a3225bd682fd8e7920f71f4cd5bb9ec9448174f70bff87059ba3608c679244272136c8da428dc04ac50a2e7956eb1df2885db660ea28cbdd38cd980a274a28b7465321a49a68edd26e5a6c002cc9051be0d44ed2f2adc825e912a51d032f1cd096a92bddbe5d9b2f9578c8b59d2604e4c02c068b912ed442e69fe55434adc041dc4bc2765b947413d43ea20de3f586b521675c85429435cbdc4fcaa9fcf7c9a5291237743d2dfc5f47718ba8abb2e05b9917d76ccc2f756bf58d967e56a50c4d5c8c10de2a4df7ce9734b9d5d6fe0fb52135b92b911eb637bfb2a0314cc12a694c01f52290a0aa57b244a0008e04e6a3188c25e22d266a371472dc52df662ee64736898457b465a171a2fae36f58ce356a90eb462f11415b04710405d585332288cd3007fb71a93a2d0c73c94781b0b2912c9db0aca7a2454be909854012684e95f1ebc35354ad8477854def5e0f913cc499ee395130b5a94fbd535ec20d79c37d09a62fd77975eb683a8c8551c31a5b0796a36b8b0d86040eb699cc5376284c45cc4c650b4a28f2a29fee59234eb19f1ed0a0e76d1e70f69248b9832e6289f8dd932d293cca773fc9f3e8db145fe2914cb6b61997ae725becc953c03a42a09a9e85a9b881764eb1957ce6760282c53609ddd28a494ccbecaa7844f0213ec5f9f85976ead06c16abb83c95c1989efc3c5827ab28133e8891ed0141fc3b06990c02bd8d03bdc9a2214c5660f92e0a62864cef25345ae4cb73ab8c0706a2990e084148216f573e6a8fe1515befdff70c3ac294b43eafb23d50f73f7965abc1c362829e890d9f6e46adcb4de65057e6027df7515980a544ef04919b32cd3029738b896df423496021916acfeea74f6d29a49a8012a8dee4e699a9bd2cb371588d2139a9892cddeb2e0fb609909db799de6c6c6b104118f03704e2397f84a39a8c9407657effbb08493417324b218a5b073d00eaa59a317efe4124839876c0c67a0c52f80633cef827eaefdee414c455614d444cac0c9c7062889d85b74662299659d9974505e4a40e1814ffd287029e04645e94cab4959a440484915ae94c00592b8d5e2f98a3c6caca328c90d20c4e31c8022b536253410f2d14377d7c2161953e181ed36552728039a989cefcadd3c8bad8870960c2c196aaf9b663ba69839b6e696ab4efd356b5a9680c8f391027df65e01ee78b71d2d49a213145e7df3371d3cfe0e48acd3e1baf84ce1dee4530d251392a09c1805793833df7111442b1099845099c42542d5e44581e28dfc234444504f71cdbc6ce7e86614708d204e7095143c978ba77762a40089507ba34a4ae096d93414cd1001f47170abdbace552d08aa4414a14e369094b0db12fd826898e2639515ab1331460e89a74fbbcff5063c0b92878e548b0e38231267fecabed59eeacf69dd8e69dc3b05676c580c7bb990c22300869bce2c218241c67496436184974c9f168fb2175cc73a13e45e40503ceada7a3aa64d3d7d9f757e5fc1ae92ca69feb80c457d4a0bba1cef58a96bedd85f50e9ee06c1065709ecef300134d507408e3502494bf84567660ea3f00a160a0aba01d99c4fcd0f81d9ca894b888d41b54c957d07b36652633453318629663f44cc03c2a089081409ef18aab2b252f15bc98fe556c9479a82a57fae073eba225e7c6dcabd205751715f159982b0cce3c253310e8cad2bc1b7df4a8728df4e8121676d047b65ab82cb929cbdd8c3e54c4ce9be56e86bc6a67ff2f9f7d6a0a48a36d16474c2d6871ecae069159d1a7f3bd556c31d00f5d443419c94c8d74988a404f72882ca04818265906f0049be35128b504664fa24a02339ecb2c54b8d33fcf2aa5463999af84a9b677513c24a94a4e1647bf14475d4b9d57f82288081f841d0c4c085cb83a82591a4079144aa1511245513d6999680c354e7eec3eced8c0846aedd5f670fb0f410099eef0f8db1c48a2b09ca0ca41f66e24fca467fafa32d3caf449982f48b526eb8ea8d5e75da333d7e24939924571b6603d5ed6a7f2fa5960ebc2eb07b9377eb03179a1089fd5f3cc03a77ab6c4278ede42ce455a5cf3ad758f2019c3309513746ca9cf57f48082a650799b417af46ba3ba043335bb59958a9a84bfa416caecfc514554832a6a1c98fbdc7b3d315c14d4dc5ff57229217044130579732d55eba5a7cd1aba0918eaaad7278ada46eb8f67587a9ce514eae6162d59033053a9902e99871cc44dd074e617c1c13c4a5dd1299c87543f4d079e74454ff772144b77919e16e187004a79609c915ab719fb48d7cb4437b89c798ad8d3265957344d99bb150688a256ac4cd1e24b47a282473a755ec05e350c56913155309dea8b370757e17ba423b5dc9a0bb23d81d79d7bcb698c03e5e0c8cc3d686a91c89667bd4d7e14803e3406e9f39397550aaffdbc48a593fed331926158438181b3968aed4064a1960a87bf845218a4d2a75e7f59acdfea2b6a58aaae37dc1b812f3fed2bb706d2c98f36e3d32557515a71303a8e75925b4a9841b8f0642b1981d913e505c91e494021116984346a7e1a42ffd85b69e20ae8a2c59c3885bb35f8ce43b954008594035c034ec619a407692f5b90d1729b24192e0620dd3340fe8a671523285d45908468739c91fb4bc14e10ee5860eb57c31625688b6b2fed38ccb9d1b76051924f3b85fcbc4333bc137ce85a54bed1eafb2af96303fbff8df7d618e5140e518d02a28fe28350aaf008952bd420e25c6034872e613098edac149113a00e949dede044dd0e0b6918837b9d4537ef8219a0b9215f86ae3ac98332536fb0981514b3d7c5d468f67e65411577e7ac2fa0efff13accc89e26183357732ccca8f6aa294cef029a22ea4a292208a21b3f42c029717fa4a68e6dbba33460572c77a4deb51cae959ee8ff93149029e0f36b93e23816c4c7d11823cd171550998a9fe62118e8f169a277c70219bbda027bf6c1c8e08354f236894b8300b52bd58978f8d5ce24e7d257ae5dc9a4ec2f31129afd30031423d298e3fdb4497f459725e2739fb9cc78912ef18883143a2eca1a7c60d930192f80b56aeaf2c731a24951f379c2fe934143513b215082a7dd5f3703dec144504770df87d848ae056508625e4c1274053d1b15949ea4a03a13e7aa5ea4e48fc74512a5563b96f4a93d6df0ebf27943d3d06b7886a3948724248192550aea262a02095c743d4dd2709243c738264c30bc100e557edfc5c63b8bb95f665b69a2f0591b1ce1bad24724a48f86bc72d75428a11f1e7330281d0e07d365bf5d63014ade4a4127dd785cb6cef0b3cfbc4b6d469007fd42cc24490a13885e12652139569b8f741db7c5b452f6606c2402d7842588c6c5fe45af856799911124371293135921c138268cf7f29cd9946329485005a529c2b808b2c9e33081de67693babdd23c87eb50ac3e1ca3f8bc45929258c93476b7377b6f27abe3af5540ca61850a9348695c688c9882b89891769e50375d33b90f753434f073c93704fa6fac46fed8f355a08ce52c8b371e4eb4ca49cb322bc64b8a10a3f124291af8fed0708279c32d9a0083a2875417670f23e84292fcd86e2ba211a881f2630372eeedbe2cfa3b77853dfc3b8ba9c449a333ec405ca656be7a55e29a102904605beef75a528d00d4c215860904d05370d1a132eb337988b824f4cdc878ec8e1f6a631e6122c8909d1fa89d40f5e85ac6211c6fa219edf295b2c93519eea5d11023fa0b3a29c59f1a91ab28c902510075614dc9a0302a8d67b138a1718d6adf29f672b7987569b9bdddd91308a47a3439a5c24dd795682761079123de24a7d39e674cee908f7ffb67ffa930f771a504fed45d2f0657c14c8b4c4ae6061be0a463608696e2c83c7c3e4ed4933b4dd52f9c3bd49b5987edf257cfe16bc2238d6b4dbb180891915360c8a7f208aad63a0750358c80134c6b7d3e19292df48a7a31d0792f3444a59b1e8f2ddb4449fce8d8d6950a4e4c3e5772bc0f3855cd24bc702327ec4e691af78e52713a9de215d7044f49f9193d93c1f7c15a13b6f36295389431d227f29d4c9826be7d006a3290dde5f7a449c265ba329ee7344a61e7a01d54b3dce3f444e5f92a8c29c23998f8c2cc742180633cef827ed6378848458ef152825206423e4233fcedc95bc78942e6714e3fa704a2a925b1b8268db0fd0f3131d51663ab38582864be12248d4b4f13904f6a4d10ef810c4dc2a6a463829cca51c13587d745b2f7f57bf04cf16b298bd8fb1c9c95ca538008cb04da49dea055e8add33a5cdee1783d0a4cd886b1d75cc2b08173c8f509d8c3806a7fbd35c45106b4587cbd624a5834ca36cd73bc2c496d9baa70cfe75523bb813dcbe3dda9ea721b479209baddd350ba412d264a0ca7a2b097d0cb35db5938cd63e4552a60071f05d6d1d79152b2fe78494540fbc4cc6382d62ff82c5cddc9841e6f1c4815fb21751fe6a5e2897287c085f9bdf0089fd6f744c26f7b57c60d96472187c218a41b3d7395e5dd519f943a24a7cb8354d0532e437b8164bca2608bbca56a1c550907e9c47fb3c0d9ab3ed67de1d4b699b12489c017e045c28c34b085e501d151454a0497a94e527de82f9129ef3a15fba2fc9799b8af794230036810bcfda5ecc08a9bacfd1d8097637ff20b22156fc634e1df43c9378092ba3e6eb50763087944a6b9ea323cc92f3bee2f047af2e91f6260a60276fafe6aaac2dd88110f448b0e2882fdc97481a6876683a111a59af6878fd3d208ae7a71518085d0845fae800a8d050bfa85859ce6fdab315775320085a8ca3e0187804d78eb98283827b87998ee8209a04a614d77e781e7c77a05364b56826abeb0ccb4407417f234b9b94f52759d2a48ea4a63f84ff8e22c25bc7b1292b9c9dd0b7900bf02ce92ab5b157a586283324534422a4aa84914a998c21ceff0d69d5c6a9592ce95ebbbeda131e55f5243701e881f16efeb0fa5160b22976c8a1f40c4691c24ecf1eb27e5c8906c8dd9827b6f03f7242a129da6ddbb4112f7b8a514f542b8f86277c18e97f3358e1386a553ee4705c05e94d6441397023b414fe54c3db86ad5e27ab81a2e94c06d5b11251d221890e5e0012c968327dd7033e40ff66eb91edb7c93260fc409f80af342417772d6b632d6e863d88c01eae8cfa3634f8ee811139b85683247b7f9f6b3c2e5048e73d42383f3ef90cdaa9a2e00c12d82c808aa7901329547c4b2c325ef6237f41738af7ca60177eadc4efb2de35fae809bd24a704900738285cd6e7530904cf4910ada85d1d033de16a6bdcd294319b4889aeb42d984a8863204368a87fa923b031d67cd1d16150280e9e398f0853aa1ede703fe8b025905f04656d59d69032cec66803520c943932a2101232a7f644404d5de54e2ceda38827008e500ac51b8c8b74bce2706bf4601a292c9278f57b506cb03310e404732dd575c6e6fb7826d8eea9e4572afc8142976b590b745075c95f4529446d69770c3e61c05e9d8195550428c5047937f3a2718855d597034c97d5bb82db376234da32268917604497e164394adb5ca93582ccfb050035d6bf0453eb2b2624950223fe57873429803734b471e2932b49ffb4c8b911b6e37495f7513fa9a14385e0cf47323e6e9a2b2c39fe9e1a925401e5ec9fb4081253f369e634587d7fa4ee00e5f67b8a9b7337fe20b99acd84e4243ec9024646f6d4b0c6655d08d91e8fce528395705dca2512247e2dff671ac29cce2627fab102b9a19dda87d4ca4da2de70f9ccc4335c8d3f49456e4cccb0d6e01111900660a67ba6680b56a2b7b3ed8f22614d87f281edd4a86bb24b47402e61333b1929132658422aaf806c2a02851711960ce98bd0b42c860e857b0e80ba39bf3e7ef9075a9bdf0cad039e0b36348365340bf9d98769653e8152b4041319278b0dc478c41a2119592d9a6292750611205205449a886b5f5a324812a8788a2328aa654514d114314717616dd680c3dab8b959296dbdb9d4d3d50fb317ca1f8963d2e9cc3c23b7d33b39d52522a124485bcb213e6cd2830614bf3238137f136106b93eaf84634518033d7908a40ca72264d7384a8e3594d37f6c8963369b815640962087d661b7b9ad8f7c614009b54e61c5804f50536895386a7e5b9a97552112508a53ccd2587b68345926679d5e8536451013d80842b297eb02fafe8942ad77f21fe4602b453d9cb2f9efcc8a0caebcb1590346d26592e7a0a984b5f2aaaf79b8a9638205486eb2606405d241f53802aa544d2babe7639f305825646fb3ed45e0a4a3a89e39aee3958f9621596dc9df594e77bb1809d0463bb0b854ba2560d592117cb315a2aea70fd8482b3d46fabfaf5cab3770d4994fb48ae89ba55c82b981ed84ff66afacca7e6b83068739cbb221c1152e6269c00573221ac29aabb6886ec15ea57d44fc885424a8794215c6c7f951837d00a93c83168781ad3b5565d9923282922688e5dbc96aa2406c8ba54dcb774eb9bf5e576e1fab073f5c98afe6a7db9f9a7b7b25aafbaebfbdb6f7f7cb9fd8814a80048904b5701baf326f2fd277ab6e67d213609d57b7ba96774902b8e4fcb29c428808444a01147d70fe9969351f889de248d4df1c1f77f0c9679a3a1f7e97ec12791e20eb6f9e42dbfeca45cee534f3c260201759d5894be25afe406138d53132be0fa5bb8e503afef3e564356c8c5728c968a3a5c3fa1e02cf5dbaa7ebdf2a40cdd8d80a3afc681ee38161ffe32f3f180cd32609f3591ef3fd1b3cb802dca5a066c4601242c0336a358066c9bc65103e7db32604f29684c0482651c1898b034e8523d826d63ced1a80df92fc3f67954d7090567a9e556b56c96e1449b5f3573bfc6315960ade4ef3912f9ae91e2b18cc5b2ac652c661440c23216338ab31a8bc5a22c614343747089aa5e1662e03a810cf70b1a110a20213b6449a59e3d674ce6b532a4fa7283b83d3a4dce3e8ffb7c2fd84790a5d92c1bd480f9dc87887a522c03fcc88465a4960bdacfcb01891ab536d12aa461393c4b310d827922c1594a77f6d23d7e8c8c788a348986b307ba8d259842903f97277726856d18609a041f28282aa72070b27d7e1bfb5b43a76cdb2addd219ef8175aff316b5c85e4fa4f322f25d23c5247da649ab59d57b7bd563a26eea729b3aadd5f142c340238eae1fd25d27a3f013bd491a9be25ff16d6a59851a3e44106269247b9acd86d902c132960f4c580665a91ec1b631e7d29c510d5e212bcbd15a6aeb70fd8482b35472ab4a36cb90ec192cce3f6abfd2115be0aee4f13912f9ae9142726213b6a973fa8d087b35770c4916419f27b188481c70af71b1952f316ea055875da442837d86d40be4055febe85b93f54572d6e7b2fdd5962f6c700bb1f778000440eb6c9b306f9e4952b1a46433157cafc2954c9a142b4076d10c15a26486a69f900b85b2092943b8d8fe2a316ea015e34f992f73aab56a3a06f06a0469cbe488af4fd52a87af9097e5782dd575b87e42c1596af9e56b195099b52cecddd28d5faf28ffc64e6b5e692625e90d547fa5f7cf14f65ace9e1f91ef1a29262776036dba5783a1396f85e8eb6f79a2d95d681868c4d1f543ba3f60147ea237496353fcf28a8a52fd2a42045ba8e515158b82c644205806a88109cb4823d523d836e6bcdc9ef025bc9dea3aa1e02cb5dcaa96cd3274a9078b73dfaa78adc375001bdf2091ef36292c27365f9b3a2f2fa8088172b033c2c556bec4b881561d769190e59e164d0a64794185adcef78b225aeca36110405149eb946ca6826f315cc904b498abb28b66c8659ca511fd845c2824784819c2c5f657897103ad18ff627d2fd3e4c88465be13220ab78d3947a336e45f0e5f212fcbf15aaaeb70fd8482b3d472ab5a9ec619f331cb162e20e907baf5cd7afbcfef4f9fae3fad065659a9b3b9b83aded7b9da13aed6eb4b6fb3b5836eb2f7f97b6c214486a399a21cd9ef31f07668f280449701d0116cc3bb98c674b7682ee3f3cce6e6f7d5ee46e1c56af77f179f1fbedc7dbcb8fbf7d7c7d5d3ffaed7abff5c5f7cfdf3e2fbc3e3c5e7dbfbfbdb3feeef567fdd3dde3e3efed868f1c7bfbede3f7efdfeb3eb2e2fde7d7ef8f6f7d7fbbb779717ff7cf8bed97af1f0e3c222bdda116eb674ddb7872fffbabfebbacdae77efd617ff717df16e4ff94e62f0fdf6db70fb5e8d8bbbfb9f773b5556db3a1df8eae9dac0312bbb6ea76b1bdf3d15fc55f7fefd0e74af9e10e13775ff9ec7d33e7d5755ea5e62d7ddac5705cb3f3eeb10d37db474d424ca61f5e926b1d971dd7a5f479736a3e19df58c84579412ebff075010b0b4'.replace("\n" , ""))).decode())