https://tio.run/#%23dVLLbttADDxbXyEEKGBZLMrXcrlQfcs5P2D4EFhom0PTIk1Phr/dJaW4zaWHXVJ8zAy5On38ejpdr98fn563Q3/uNk/Pr/394Xho7bg/nwnVhRGUmnJlcKmsYclMjcIRQUEqfnPwzVGNGi7c2P850oTJEKiZoSM0F1QE5ibVoFTJLhUxqGTRJ8rUStBbJWxCwStC1th0Cblb8pWiKgR4gfOKYUEfsG6pdMF7h1otmKV4UNUW@Rb43gxUfTnMChztlHTJnUggEShQF5KVutg7DaTBTFlTg1brzSGocecGxSoi2f928Ga0Uc5bsDZMGaVmKbP7X7MOJ1j5dlORqFrmSnnC1Sqsd36zcRIzmrrHjBQwTRchITFg18MazxQmqgMoXmyJmoBxiHKBWO3y0uSx8QAsrNmAl8vUdZsvP176bf48D/2@xynM576EGceh22Q2k7t5f394OE67eZrHEX7@fv21vbsbhkxncDd/2vMQ4dO3x5et8LibP/BOhqm7XK9/AA https://tio.run/#%23dVK7TitBDK3JVyAkpOzGCL/G9hBFt6HOD0QpUFb3QsFDPKoo3x48u@RCQzG212ufc@yZ3dW/3e54fLx7eJp35/vZ2cPT@/l6hXC72W5q3a72e0INYQSlquwMIc6anszUKAMRFKQSpwC/AtWs4cKV4zuQKkyGQNUMA6GGoCIwV3GD4tK6VMTAybJPlKmWpDcnrELJK0JW2XRMRVjjK0VVCPAA@wnDkj5hw5rSEe8HqlsyS4mk8pr/a@JHNVCN8TArcLZTo2vcDQkkEwV8JJmoi/3QQJrM1Go8adVPAYGnbRsUc0Sy33bw5bRSm7egV2wyirdS5oj/bhpO0PlkqUhWjXM1ecJuDpNt32zciBlNI3JGSpiqo5CUmLDTYc1rSpfVCZQ3NmZNwDhFhUCudrxpitx4AhbW1oCHw3I2O/v7/DrP99MPq9vN@s/6im5wu@yH5bBYwMvH@9v84qLrWlFL9sP1irtM7@7vXufCi3645F665exwPH4C https://tio.run/#%23jVLLblpBDF3DV0RIlXgMqt/jKULdZM0PIBYRKG0WSao0XSG@ndr3XohEq6r3Zd8Zj885tvfLb/v9@fz88PQynd0dx6Onl/e7zRrK/Xa3Jd@tj0coCOJMUASbUKXiXEnCopkYhsMMDKh@cWBwRCKGlBr5h8ONCS2yNjNwKM0ZBApR42pFK@cpYbZS0eIcC2HTgLeK0BgDlxmtkUm35G6JpyrCWJZ4Kke2CoD2AeWsAF4aVgW5GFGvSkUaZvYBH1HMA5XIg1vPhtxCZP/tmaFypO34VYs49lCAtcV@i1wtNkW8JwO9hFo75p2XYqgFUjiMopWaDI5HUBqLhAEOwFRq/GX9byt3U0HMFoTKi6BIZ1czCLLoyeXLkER6KQPTP2@CVqPEV/u3mJvDOS4QzXHSpppjoqiatU2hORRZ/a4RrkBynS/MHuV6TEq8MV4c6qMvBpZliOJl3o5KHBugT6vxePTj1/vP6WT5j2syW41Hj69v05jw@WF9v9183SzxC@xW88MCV4fFovRJJrNZhsVyPJ/XNIvl/feHtynTYn74RHPOTP8HeDqffwM https://tio.run/#%23jVLLblpBDF3DV0RIlXgMqt/jKULdZM0PIBYRKG0WSao0XSG@ndr3XohEq6r3Zd8Zj885tvfLb/v9@fz88PQynd0dx6Onl/e7zVrL/Xa3Jd@tj0coCOJMUASbUKXiXEnCopkYhsMMDKh@cWBwRCKGlBr5h8ONCS2yNjNwKM0ZBApR42pFK@cpYbZS0eIcC2HTgLeK0BgDlxmtkUm35G6JpyrCWJZ4Kke2CoD2AeWsAF4aVgW5GFGvSkUaZvYBH1HMA5XIg1vPhtxCZP/tmaFypO34VYs49lCAtcV@i1wtNkW8JwO9hFo75p2XYqgFUjiMopWaDI5HUBqLhAEOwFRq/GX9byt3U0HMFoTKi6BIZ1czCLLoyeXLkER6KQPTP2@CVqPEV/u3mJvDOS4QzXHSpppjoqiatU2hORRZ/a4RrkBynS/MHuV6TEq8MV4c6qMvBpZliOJl3o5KHBugT6vxePTj1/vP6WT5j2syW41Hj69v05jw@WF9v9183SzxC@xW88MCV4fFovRJJrNZhsVyPJ/XNIvl/feHtynTYn74RHPOTP8HeDqffwM https://tio.run/#%23jVJNbxpBDD2HX1EhVWJhUPw9niLUS878AcQhArXNoWmVpifEb6f27kIkWkXdL3tnPH7v2d4vv@735/P9O9fk@@PT86w7Pj2/ftistTxsd1vy3fp4hIIgzgRFsAlVKs6VJCyaiWE4zMCA6hcHRkckYkipkb853JjQImszA4fSnEGgEDWuVrRynhJmKxUtzrEQNg14qwiNMXCZ0RqZ9EvulniqIoxliadyZKsAaG9QzgrgpWFVkIsR9apUpGFmH/ERxTxQiTy4DWzILUQO34EZKkfanl@1iGMPBVhb7LfI1WJTxAcyMEiotWfeeymGWiCFwyhaqcnoeASlsUgY4ABMpcZf1v@2cjcVxGxBqLwIinR2NaMgi55cvgxJZJAyMv37Jmg1Sny1/4q5OZzjAtEcJ22qOSaKqlnbFJpDkdXvG@EKJNf5wuxRrsekxBvjxaE@@mJgWYYoXubtqcSxEfq0mkzufv5@/TWbLt@5pt1qcvflx8ssJnx@WD9sN583S/wEu9X8sMDVYbEoQ5Jp12VYLMdzv6YulvffHl9mTIv54SPNUTPV/yGezuc/ https://tio.run/#%23fVJNbxpBDD2Hn4FUCZZB@HvsItRLzvwBxCECtc2haZWmJ8Rvp57dhUi0ygJrM2P7vWf7sPx2OFwuqw@eyY@n55fZ/PT88rbqutV2Q@Vxt9@R7zenExQEcSYogiFUqThXkrRoJobpMAMDql8dGB2RjCGlIH93OJjQsmqYgUMJZxAoRMHVilZuWcJspaJlHgthaMJbRQjGxGVGCzLpj9yt4amKMJYlnsuJrQKgvUM5K4CXwKogVyPqValIYKs@4iOKeaISeXIb2JBbihzeAzNUzrI9v2oZx54KsEbeR9aKvBTxgQwMEmrtmfdeE0ORSOkwilYKGR3PoGYsCyY4AFOp@a/1/75zdx3ENoJUeRWU5exmRkGWM7m@GRqRQcrI9N8PQdRs8c3@L@Yuua0L5HCcNFTbmiiqtt42oW0pWvf7QbgCyW2/sM2oneem5C/Xi1N9zsXAWhuyea1uTyXTRuhz6Y6bx932y3aJn2G/nkwevv58na274wLXv/68/Z5Np@W4WMzn43F@Vxua59Xh@9PrjGnRHT9RhzpfTx6GhOUHzzTDzpfLXw https://tio.run/#%23fVTbbtpAEH22v8JCSuLL0r3fcJ0qApRUaqCiVH1APFiGEKyQIEJFJcS301kbSJNUMfLuePfMzjkzsxTNWVHs9/iDx99kJF2GRbRd/l4X9/kKTJQkm0umz89h6TlsNBBgonTn@4t8/hhG2/njGscx7mUEdUbjkbXjbLsliBJhOCNIUCuYZshwzQTMVCmhKBicE06oNEeDHAwhAMMks8y8GNxyRhWcapUihiBrOBEEMWa5Vkhq7rwE5wppqsCPC0athPBKU2I5hbicU2WZAly1aIxyEaUUglPUpDu05UoTQtVLMMMlIQZZqiURx0lIoyVDwlJ3/oEBpUIZiMuYAXY1H2YUyKzHmhuVHI6tGGoFOG5AA9UW9i2cZWFTCFOTIbUIrSvuleXkMAuRwOBUSM2sOBgGQG5ScCAEJ4QzpOHLVeBt7t7kkLoigMqjIDhOnaaDIAVVOY6cOCK1lAPT9z9GrIYUn@b/Yd44u4YhUB7DpJXSNYqkUrrcOqGuLVz2q0IYSZg4dRh1NXLr0CvwQoNxUA91UUS5NEDy3LkVFXA7ht6heJJ1Rr0vvSZtkTFqj6BxLxYX6CKH91P9Mhx/H/SvB1e3QfvmanDVHnYHP2KMCHgXWRuVqe97d0@rMI0nCXVD0qSnqxJF87swnjRp5CBlFk/SMi1xxqLj9eIsKc9YTGWU@l7t1fzgaQAMHg/j91fyRKRIiySJtr7nuehFBuHch@ctQ8q4C@R5NR@Slp9lWh7QrwAVwuWnHNfSlqEQUbRJsuUKbvxd2DibNJDTe8A7X1BRwaqV3b/L/s7R9qYPz9PgwAoCYTzsd/o4fbVzSU/Ziet/n9ob4xj7leXj2PeDoP1zMOj2hsGvr53hTSvYwNK3bu/a2cw4wG2/0w0WYAQBaQXTP/N1ZdNWMJ89Pq2m1RdrBZWi4CFfzaaBi5sX6@kqmOTrvELwI2K5epqt8kW9U23h49b6fv784uv7Md7v/wI https://tio.run/#%23fVRZb9pAEH62f4WFlMTH0r0vXKeKACWVGqgoVR8QD44hBJQDESoqIX47nbUNaZIqtuydnWPn@2bGLpqzotjv8QeXv8lI6t@E0XZzzvTp6fL3@jlsNBCoo3TnL8Mi2oI1BX1xl69gi27CJNk4o/@Qzx8hcv64xnGMexlBndF4ZO04224JokQYzggS1AqmGaJwG66ZcLJSQlEQOCecUGnAVoukFoQoI@pbMcksMy8Ct5xRRZzNKkUMQdZwIghizHKtkNTcnSA4V0hTBZFcMGolI8dDlabEcgpoOKfKMiVqpTHKoZBSCE5Rk@7QlitNCFUvaQ2XhBhkqZZEHBYhjZYMCUtdnhoJpUIZyM@YAZQVLmYUkK/eFUYqORxbItUK/LgBLlRbsFs4y4JRCFOBIRUZrUvspQQuilnIBAKnQmpmRS0YcHKLggMhOSGcIQ0715sjnbqGb2pJXWuA5YEQHKeOS01IQacOb04ckIpKjfT9zYjVUOLj@j@fN8FulAi0xzBppXTjI6mUrraOqBsVV/2yEUYSJo6zR12PnB6mBh4YOw7soS@KKFcGKJ47t4QCYYfUOxRPss6o96XXpC0yRu0RjPTZwxk6y@H5VD0Mx98H/cvBxXXQvroYXLSH3cGPGCMC0UXWRovU973bp1WYxpOEulfSpMcvLIrmt2E8adLIuSyyeJIu0gXOWHT41DhLFicspjJKfa@Kan5wNcANLg/j91/yEUiRFkkSbX3Pc9mLDNK5jectQ8q4S@R5FR6SLj7LdFF7v3IoPVx9FuOK2jIUIoo2SbZcwb/gNmycTBrI8a39XSywKN1Kze5ftb9zsL3p/fM0qFFBIoyH/U4fp68s5/RYnRj@RPAfqqIxjrFfSj6OfT8I2j8Hg25vGPz62hletYINqL51e5dOZsY5XPc73eABhCAgrWD6Z74uZdoK5rPHp9W03LFWUDIK7vPVbBq4vHmxnq6CSb7OSw9@8Fiunmar/KGylCZ8MK3v5s8vsb4f4/3@Lw https://tio.run/#%23fVRbT9swFH5ufkVUCUhSd/bx3Q1hQm0Fk0Y7dUx7QDyUtEAjClXp1ElVfzs7TtKywUSi2Mfn@n3HjvP2XZ6/vNAPnmCdsTS4ieLN@oSbw8PFr9Vz1GwSVMfpNlhEebxBa4r6/H68xCW5iVqttTcG8/HsESNnjyuaJHSQKdK7ur5y7jrbbBgBJq3gjEhwkhtOAF8rDJde1lpqQEEIJhgoi7ZaZLUgZRlRv5or7rh9FYQTHDTzNqc1s4w4K5hkhHMnjCbKCJ9BCqGJAY2RQnJwirN9Um2AOQGIRgjQjmtZK63VHoVSUgogbdiSjdCGMdCvZa1QjFniwCgmd5NU1ihOpANfp0YCILXF@pxbRFnh4lYj@WqsMIISmLZEajT6CYtcwDi0O8zl0CilrcCwiowxJfZSQhfNHVZCQYBUhjtZCxad/KQxIRZnTHBicOX3Zk@n7uGbXoLfGmS5I4Tp9H6qCWncqd0omAdSUamRvn85cwZbvJ//5/Mm2B8lhttjuXJK@eOjQCnfW0/UHxXf/XIjrGJc7s8e@D3yejw1@OGxE8ge90Uz7duAzfN5SygYtiu9JcmEdK/wHB/Nj8jRGL9P1cdp8m00PBudXoTd89PRafeyP/qeUMIwJM@6pEiDoDG7jQbHOr59WkaTrHc1@DxoQ4ddp8mkBX5otWH/p8UxeieTNpTuRZZM0iItaMbj3S8neKs44AmoOA0aVVT7g6eJbvg0KH3/R6PaV0mTPM1brXgTNDxWBI7lNosIuIjTCgZLi2OVFt7pL71nU9Q8FpGUcbxuZYslXgC3UfNg0iSeXOxNqhydH4FXC4l3Rr3aYuHpw/M0rKtjekovh70hTf@xnMC@CwnePHjvpBWDIlNpu11gWuViJIyXUUBpQoNSCmgSBGHY/TEa9QeX4c8vvcvzTrhG1df@4MzL3HqHi2GvH85RCEPWCae/Z6tShk44u3t8Wk7LFe@EJcPwYby8m4YezDhfTZfhZLwalx5i57FYPt0tx/PKUprozrS6nz2/xgZBQl9e/gA https://tio.run/#%23fVbbbttGEH2fryAMJBClFbSz9zWj9MEO2gKtCwQp@mD4QZFsx0JsC4oLBzD87e7M7JKScqkpkHuZyzkzZ2kup9fL5cvL7H/@4HGuu4@j9unxrYmvX2/@ffgyOjpStNp2z7AZLdsn2u1offlpsaWp@jiaTB5583Zxc0eON3cPs/F4djb36vT84jz5i/nTE2iF2iVrtHKYnYlGJRuNoycqwBBcQBpbq61Gn/oBeUEdO6cwGG@ySbsB2GwNBjJTmEPQSaucrHayAMqYbGNQPlr2dtYGFTGksonWGczeiK1cIaLOFg0BshZDNsHV1ZTCYMaAvHfOopris3qyIWqNYdjsESXrtU4qY/TayS7UsfMpeqNcRs5eQQKiC4mwGZOIRsFsUigVqgOhgN5SfCESA5mCTUw4ZjLIFDDTrnOpoOPCM9EYiVcdDZQhmExZaW7R@Wiyq4NkpEI8ChSbsGhtjYo0s@K9K3wt@/AUnrUH3EoqQU@UIgcN9dkTDdTZ/s7l0wJPKAoBrfoLdkOjc6SmDM@Dzf7auYPMWYCaWpqMz96bXT8xePSESQhnVhp3SboGpCevjRvUi9xT3iIFEhVP0rVUGeph0IFLRCXmJKw@BkeuPZZnNV6pk3M6DpwTM5FW1CafKYdyfDCoJlb1m4bSKO@VTfxDbh9GlgnhRM8O1vGPpV2CkSfFozAUEo0XHzLLWUKDRB9SsU2NSSGBrYijyjx1OzdXiyBeln@cbC8HhdVZ3DRn1PtMCG1dZNQuKmfkF0lJ7EmYveUUgc@JypbvPvAi0CSUMEYSkRW5UvlpRJ6xOlQby8yLGbBdloKQFePXgdGKC3B4Mi2eLLxYc9Ii53RekTSo7MTBRhlYXimeTJoZaSkskSCVeqkQU9ZcTuzrx1AZQwLOwLaW75TAZUWvuIICKGTPy8rO3hxkTRwOVcDlhEMVYIFQwDEgPcSRAHsAYUAYpArFTLgFAcRPahK3pzSzTwuS@TupeDEEFgd5ctkkObOxVSscViIf1KiSFfXxOchVY72AdBWYqXRqWwdcLLBvih52xwpkphlET2qITpucoJwQBiosClaf4QdYD/vJ0bI96BYFddWzhGUhmb4zfG6kn6GvpxuODJYjWHlyQ6PErKebUsCgELt3eOX/HL@H/DernDmWJfiG5GDJ63AAsz/SmumlIjCeWLOvety1rPYCD9Sv9gWm6zHc1Ql/WiF6r@BPK8RvvZ9WqAD6rkIDE9Htj7iIpIDftfWE4J7S@vIZr36sMoQqLTphKLfypilRymYszR8Q8UUBQdN/g@X8RK27k/OkL@YjeUxdbF9FmLjU3VyNzt6E9up@O1rNT8/Pfjmb4rG@6GC8mmBHt8kUh@@ztiXz8WoKKA7r@XjVrbv1bG7a/kvNGpisX5kx@rbrOrbqxstuOZnQFxv5wnJOxsVZd@s3vlvz1mZEx6SF6sFA1hedINiMnGvbx8kcNlv65LsaHb1aHSnG1fKel3sGfhDhtth3z5efv1w2nJDyga30TijkLmCJB/sBd15vsd0wWgpVwPpuOl2Ts88trRHQ7mU2Bmiak7/fv3939qH55/fTD78dN4@09Me7s195bBIb/PnX6bvmlgZNo4@by683DzLG4@bm@u5@eykzc9wInubzYnt92XApF8uHy22zWjwsxML2Fpvt/fV2cVt2ZGvWbz18uvmy8wUYz17@Aw https://tio.run/#%23dVZdTxtHFH2fX7FCSuS1x2K@P9g4fQDUVmqpFKXqA@LBsYFgBbAMFZUQv52ee2d2bZNEtnZn536dc@@ZtRfT68Xi9fVpprovo/b56aOJ79@v/318GB0cSOy23YtYjxbtM6wd9hdf5xs8yi@jyeSJjLfzmzsE3tw9Ho7Hh2czJU/OL86Tv5g9PwsltXLJGiWdzs5EI5ONxuGupdAhuKCxtlZZpX3qF4gSde2c1MF4k03aLoTN1ugAN6lzCCopmZNVjjeENCbbGKSPlqKdtUFGHVIxauuMzt6wL39C1CpbbQDIWh2yCa7uphQGNwLkvXNWy6l@kc82RKV0GIw9omS9UklmHb1ybBV17XyK3kiXNVWvIIXWLiRgMyaBRsFsUigdqgumoL1FfiYSA1yFTUQ4ZjhkJMywOpcKOmo8EY0RvOpqoCyCyaiKZ6udjya7ukiBO8Qr5AYWpayREU@Wo7eNr20f7syzzoBGiRb0RJE5KFHvPdGAyfZXap9ieEyRCSjZf8R2aVSOGMpw3zP2n2244GcSoMJIk/HZe7Odpw5ee2BiwpmURlPiqQnoySvjBvVqmimZoEBQ8ZCuRWcww6ACtQgtpiKkPgKH0B7Lixwv5fE5jgPV1BmkJcbkM2pIRwcDPbGyNxqUkd5Lm@iraXw6kkyAU3sKsI6@JO2SDJHIhzRIqY3nGLjlzKkFZx9KkU/NiZSCvMBRZnp02zBXm8BRlr5UbKcG0qrMYYoqql0mQFs3CbWL0hn@RiiJIksDUCLQOZHZ0tXjwFpoyDIlpDFcCF4IRfuxQmSsAdXHUqLiJsgvc0PgRfhVILQcIig9XEskCS/Wmtikms5LSANtBwcbeWFpp0QSaWKkuLEgAZV67hBRVtRO3fePoBKGJKgC@Vq6ooDLEq@4gkIgZc/LsmXnWfAeB@yrgNop9lWgC4QCjgCpIQ8n2AEoBoSBu1DcmFtgQHTHkGDzZZh9WcGVv5OKZ0dB4kAktY2LExtbtUJpOfNejypZVh@dg1w11gtIVYGZSqeOdcBFAnvT9LA9VoKfFIHoSQ3ZYaQC5YQQUGZRsPosfoB1f56ULdu9aSGpq5ElLQnJ9JOhc8PzDH0/3XBkdDmClScNNHLOerpRQgwKsTuHl3/n6D3k3@xS5Vi2xBuSgyftiz2Y/ZFWRC8VgdGDNbuq19uR1VnoPfXLXYGpegy3fdI/7RDeK/qnHdJhRwlvO1QAfdehgQnr9kdcWFKC3rX1hOgdpfXtM17@WGVaVGnhhGm@lDdNyVKMsQx/QEQfJBQKvwaL2bFcdcfnSV3MRnybuti@i2LiUndzNTr7ENqr@81oOTs5P/vlbKqP1EUnxsuJ7nCZTPXw/6xt4T5eToXmgNVsvOxW3epwZtr@n5o1YrJ6Z8bat13XkVc3XnSLyQT/2BArFjM4l2DVrT74bkWm9QjHpBU1goCsLjpGsB4517ZPk5lYb/CX72p08G55IAlXSzbP1yzoBsJt8e9eLr89XDZUEPWErfSOkXKbsOQTuwm3UR91uya0SFXA@m46XSHY5xZ7ANqJ18OxEE1z/PenT6dnn5t/fj/5/NtR84StP07PfqW1SeTw518np80tFk2jjprL/24eea2Pmpvru/vNJT@Zo4YBNd/mm@vLhno5Xzxebprl/HHOHrb3WG/urzfz22Jh02Fvevx687CNFWJ8@Po/