[With fold](https://godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAMzwBtMA7AQwFtMQByARg9KtQYEAysib0QXACx8BBAKoBnTAAUAHpwAMvAFYTStJg1DEArgoKkl9ZATwDKjdAGFUtEywYgATKUcAZPAZMADl3ACNMYhAAVgBmHwAHVAVCOwYXNw9vUiSU2wEAoNCWCKi4nytMGzShAiZiAgz3TwrMa3yGWvqCQpDwyJj4yzqGpqyKkZ7AvpKB8oBKS1QTYmR2DgB6DYBqIQRl2nRtiO2Adg0vADo4yQAOc4A2U7vTp64ATm2mZDRifCNtkQAKQaACCW22CAIBASChAWwA7kjLgjXFRiKwxAkEExLmgWBtAgkTAQgbEAGJ4MkAET8rFKBAA6kCvNFogAhDQs6JeJws9ncry3LgAWi83Oi2BFcUF7wAVOLWZKuBdJILyYq2dSQeCdoYjoRtngFGcLtdYi8NE8XtadcSwtsqAxtmgGOYAPqYABuYk9qlYCXoEHm2xFZOwjoekm2QNOArB20T2wMswa7oRGmoUZAIAAsqCABrbHZXDTzHWx7Vgu0mB1O5P0yIEdOZgBeIEjkhDYdiEaoUZjcZ1Se26AzyAgrZjXnZ2y4lw0xZdJHYIH7khzrvMcJA2HL1dOVdBOq2O1byBjsWp2yn/LnG0wOvrY40E/PHfX3fDncH8dBI7wKgbwvMknG2DQF1/YcRyTdcc2CUFgmgxNK22NolCNIDz0vPkr22K5okkd53Vud5Yndd4rXdaINHIyRTnIh4oITGDEwhRkcJpcDLlI2JSG2At3S4CsWNYjEOl9KgTAYaoBAgZDWKTc9LgUABHBpg1IBTFJjDltJ0pMRQg94TIo0yTOIiyzMsrTRIMkcxUuBjLIeB4SNckivA0d1Ylc2z/3smCIIuNyuCjd0vNOd1Ti8NyTO86R9Psh5Llic4KLCkiNCi0jJAojQuH8wKYNOS4VS4HyhXdB5ogq05bmid1JFooriqTK53lubyNFuLxqvqnyNG8h4Gp81q2u4u5biE95GveEahLSkjOui8a2uCrxyNOOJ3Voxr6qi2IjuqwqkoM4Kht205Dpq6KHm6sjopipq%2BLOkcgWiak1p0j6/wmxN52%2BwLogXU4KoeFUSLuJquCiyQhSB%2Bz3kuTq3NuWJpuFabYkI6iEbexTkdc7ztsaj4%2Bsikj7kRgzJCc948rSvrSOIrhjohnwCdY%2Bcwr6950otKLroSnkxq5oKyq4aaiLyh5WV27KfKWtkaZ0i66PiarRdq8ivGaiKvD66JVaTD6vrO/cApQw80NoDDAOAzi8MkWJLgh8j3j1pq5eqh5iLS5irZg9inevK5tukASIpEoOR3EtJJOk2SGHkuydOUtSNMWcXfvFhzjPMgaCumob9tIoSTdYoynI0PKuGiKLarm2uSN8yuYKuLhNoNtyet1rqItF2525HK4MeIp5e/SrxHobzm08CiDrqimryK4KXdpoiL3gq4e86TYLy5Gty/emkzGMkPLtpHg%2BF1owa3L16aG8atLZcShf7Iu7r5ZVNzXgSqcVmmsGrz1jopM27dc6fwMoDfeiZXZ7WqhcaqvUsrP0kKdGBOlXZSDojtAqZMqpPD3tgxS84mY%2BXrlrE%2B0RiJ6yvjfRMEFWTS0kHFZ4QkG5NXhhXeB3ECrETZBVXmg9d4fF2pIY2/Dv5NXuNFOhSs%2BqX1fgVCKDwmH4VSplWq4Nbh10VrEah0RMAig0TnT6NNLbvRtuhTAmFHagS4nQ24lwpHkTiFtDe9VmaBx0iHJxzseJeEKlHWIMcdLxwEInGSHRU7gNYhndSBBNIWL%2Bv9aunUJ6cK8uRShDFpFkNYhBOhjV7hoyolaD2LsSKaPnPDI2PVBriLJgzMWRSJaX0xlVUiejdYYz4R0kcwVL7URbgzPJmtYiUV2q9IZt8hoVR5LvIBciPGYIotw0hCTzp326plbKFMHgeOiG5GiFMwH/W2K7ShR1DooNosNWqpjtnFUgWk/h84NB1LdrNCi%2BtNrEXYX1CGxFTiaIgl1Ceo0GJ1zZArd4EKyr6wuN5C0lkVqw28ptJFQ1/bcKljlIiPlVkFXMfM5heyIqa1qnle4c1jqkSFpc/684uq91hldMmW8Z7vFMeSnZOkCLbV2h5BiW01F0L6rEUxiKLHmxgdY02ti7b2IdthQJ14S5ETcTvCio1sr7QhtRPxikAmxFwteUqtdQmCTVNWGBUTmC0HdFJWJaR4nFSSVnKBekKWhiXgxIS4Ud6WWelaaVPy2bALyVveG2S0VIpdiI41sMjaiyxdFD%2BgrFLBRxk9ci2VsYSNoo3DQhSc3FKpfNPKmC3LNTKeW6iMy5X%2BtcfzaVo0pHEVuE8ai9x%2BWaIIj7HGaKpAwzqs9ExIpXmsrcRaKmFU0pEvBscoSpj16%2BoVZW3S6SJpfKRc8M5z17h5VOWTUZLKJoQS7o/fmT00ULo%2BB43FVF%2BZwoqjPOapyqGzuvVSqQ3leI%2BU9jwk5JyfkXH2jUoUxbGoz0ZoO/hVwZ7YoWmDYiBUKqexlSKVtO6RzIy8Ks%2BGa81HxHrdOtmW6rEKVQnYhxGqLVcXXiIvWKNcZd0/Zy3qprWLmstdsZGGNvlR2iBExSTqYnJ09YFb1KTs4dOgQR2%2BXdupg12plMGjU4hoz/etHix0eT1qabyoSVU5kqcpdlbyUg%2BrXTmplBm2Ns1XIuhVO4st81AIwY3LuTVX37MAdNbaN1QqQ3rhWq5wqlnlxniFxWKotovJ%2BWRaWISeFRXmsNeiTUN1YKs1o/RV9xn3x3tUrgG6ouBXeUpv1hWD0yMuKyD2faMbSx/R8T94KmsFWZtM6lZ9DGxDHfp4qsivL2Z2ttNy8QyYaEsmNwKPNoZfuQYdUZO9JBIf9WPDe6MopWm8qcuGsU8t4Z%2BfDKKHwgU6JyT%2B7bIou4/OiLcaW6NqptMBU1VZDwN0CreZYi2dGVX2ywiBZjeF5yvcO7wzqn7TMz2ipgJisY93Bx2BxTVc42ULf4oJB4EmxJMAki6t1MnxbydSXV9HxV5wxT6uvBKNTz5PREUi6ZrM/kM2ZuFfRzNX1Zbe9RXGBU8pWmfi1Xrl1a7M3Ls8CmO1WRZZxfw0qwpZZoKxpvPmA6Z2aLpvDiia7ykvUauw24%2BXNHI1eI1HqZ8NPwzObh%2BumjXbnHg6ZGK0001CWen9p7%2BHAfbsB7T5bC5cWcKGnDAZ68S5eRF6%2BiqtFY22a3q5MFnCCtXLpi7Xuo0uoeOettSrZjNEpR8dvT9RjqpLRVI9oP/1XYjQ1o1J4JM10Mz5U9q9bUUp9xOt%2B3uZ37qPbCj8jX%2Bq4pGcxYbZHYpvnyto3ZejqrGMQ8E2PDZ9EgP60JdRdhmBTh8Yx9sLHkPrxSFSj1fH0UicwSk2TpOcTKfIBUsk6nO7lNXPd6LMiHmUELR8FGYkV648pysmoztKIi8S4et/VZEZta8AD/5FFo8KJINiNg1vIcNm04p71Lcy9%2BE6Z6pX4vZXhG5HohoA8VRNF1cQEW5spDtMDCJTgN1XMm8UYakRs8kRV0ZWZa4N0lt7JXZep%2B5H4E9Tlh9poA9Vc6sQ8at6srk4F4CFwE915ddX4BkGpa1L5Asror5/MhRQpcZ0ZbN2CJpXE7hupFEuo0U/YfJ0YUt%2BFXZMFpo9ZlE2ZZkV49Ux9s9/o6Y3sT55YID5pMM/kqNqsJpO4587kfIfYW9vYPEN1G9903Zwp4tqI%2B1b1N5sZTE9YaNgcV9Qc1VwdQ5rlrhuEowY8gNLoTJ61MBbgT8RwBMWMUpe1jYo5bh7844ScE4n93U5JX938fUPl/V%2B8JEao8ovIdN7oaFcUdoiIT4T0NkgEcoAd/pZErRGZ9Z9F6ERUjEzkh0yp5p8pMNIY8VcD58hCDICJQMfNloJU8kqIXde86dQYssJFhRQoB5657N/sfk0ptVlEFshI1F6pLI8i/CJoblXhlpDpqFsopi2Q8i4Cv8gcadPlLhX14MB55psZ0pSMlY4ZNEQYVQ%2Bpy1bMMs0tNkA91jUiaJd4a9DZ6FMCB9S8Ui2poc%2B1hZfYL4l19sN1LMrkQYgF6EW4u5yJekhI3tBDy9rhPCjFDtrpZlyT6o8ihS514hjsmkCoPYMsLRho8jrj3p0SdklVrZrwGN1UN9nEKjbMNM5YJ5MpfIZVPg0czoWiodkYLdb93huikxH9XVn8PUhjM4FNfUw97JLCqoQoSIt4FsHdcVOVIsFEMFH5VkwYNSJoQYB9XJySPJOo%2BZ4gdtCs6YjpzcZlfJWYPtWFzsaDMShQDE6px1Tkz1XsfI2CASNkd5hpYT31%2B1pDkiDdtFbN7D9EdNiVDZcNWQjiowKYuDeEvJMYPhTEjECiMT/VlDCt3MfJuEvJezzdFE4hbM3dUodoeRtifdeE5ZTFUTotrgE8/Y4ovY5zzN6insoS%2B8nJPC5YQVMCRte44h/j%2BEUojplE59XIS4u0FoZDPy3jhRmYtMUVyNlSZC6S2phMPJckFYykfyCCjp1yzSQdLS19rSyjXFe04YCSPt5p9o1SVQmikxPSw5O5nso4VR/TExAzycX8OkqdFM0TIzYFjIa8qlqVAFlFOpsSDZwLgDdovY2QX1nD6YnTjsNMpZk82ZbzNFXFHlqJVkcY8kNlaJqDXjgYUZPD%2BZn4fZzhMNqC7y504g3CHl81ZonjpyzL7J5xDZMY2lME/y0Z14jSJ8PIaIz5WSPI%2BsOyRQcZCLQ9MS9CgCIp5EoNqJ14KJeCjjo1qJ8165d4do3tEN9ciCFxRZMFDsN5XI15FEXcsy2pw4N47MXolkjMwZZSQK3ECqVoqrW4Jzu98iSqowgVjVASBzlpByYrF8xiFxL0UE89ookcyJu80o4rFJzTBwSKwdHEL85w3FctrpqyzlMDUMOyu5GK2JMcyj2MgFbUhJhIHUdluLgzBi%2BK38wzP94rNzXZzl/lC0B5gN7g4LF474lkqp2FGJ08F05YT4jjtNPt/581epH4F1p1jTyE3F0raIgUm0u4pjMovBBSjjTk1KNY2NsMGIhzMTXyu5/ZnpL4jZGU8jIi2pXZNpJLa17C8F%2B1HshgGym12FH5wou4yYBpcNplVr7Jv8509Cep9pJV/N7hMNy52EASa9cawN9L4N7CCaLsOriNfLlFRlaJn4cYqtINoZRrhR4N5ZDYEo8iprCsUoPhtiMUgjwCwoUSo0Isf16pe4F0Ftd5Vy6ripvr5dY8FaRtlp3zMEJaYJ1rV8tqmNN8MaREpF3JdZappSTE2ZzrixLrsdiNrghpb8u5OLtgnqBiU5QyP8BLPqGsnaYzYSwoY8zj0LxsqUXZGJ74Go6pwp29VpMTe0J59YMZrs0EFsdaOTiox5ObVkG4T4ZkpAQszbMSKSqFqyQUTijFzdISfkoxQo7juFfJezZtgq1cLLJTMD7oXM4YeRVy27ApSopYz1y5aJGZ0pm7TFdCl9RiGssTpcf4RFcYlR1EyM%2BZzC2pXEVRhp0rCIpipkhQrd%2BFvTjFuqUEQk8CN0HLoSeIp1/MgFsUkcgKxRg7zLjkOayZYHuFy1WDJqji7he4/kVR0tk9aJVzsHOSUYBpTCfstpeFrpl6RQpFY6Rx47ij18yi6YeowV74owpjZiepa1MApBc7mLrkWE252LwkHrIlejol%2BiKdXrhjwzf6lDXEgFZs1EVQdMF0GG9D14e0/Ljppl60%2B6p7w89ZZslptpecV5e1or6z/URCqS06RpG1k80osHhzrHMj/ZKCbaeo8iIG3i2QhFu4pA28W59F3y1zB7qEwZDp4URshYTJVz3HhCUYB5RSnp61NYIZaG7gRGIFFDpb%2BFSTOb74PhMZXLPYSyc9DN00x7pUa80pS9ntMS0oSZhdT1PtwZQMCCpYASRUpF887c5q7gmbhy3sRFhcZ5G4PIpYg6STmtM7e064tdOULhS8Y7V6JEQlsMarPD6I28v7ymYJasiKijNqSjtrBNrV4U6EzCV4BoTJWD65VH86dr4gUZ5oS77VjxHU9HnUgzK7ZN7J%2BKIzkNodLpXt%2Btho2sLQZbNZL5sMYNvH81iMOHipdLYTFifINkEjSYN1PKDIQZnMoY2yYGKZSJKbNzzR61IYIYQsMtXs0LLt754g14kdzhsUBlaHCXlLPY5p5FiNq81KGnSH7JSwfZKJpCBlDY6LGJTEeQmnWIpbUiflWQWre6piuCGo%2Bn/orh0YImPMMs7g6pspCbMSec4iT4GX/NfJHsvJhywZedwZLpMF9pfIz7/UpGuCF1nJpSPY/L77INM7aUhJRkMY14BShHknApDca8hrdpZ4ak/YQVjX82zXTSdIxHvmJHsdvLfJfYSZ4VVj%2BpmZlHj93SYE1GcYnIgES7xMdHJMkXpNeKd0MXTHHW6ZNpcKGaPCOEH6oy3ZMp65jtTIG4/GHXsyyoJWal65vi0ZiMvW20UZ0iBtfIzl9Fjcg2gb7IQYeRzdm3XDQSwV4Y8i3mdJvKW4aIopiNgS7dZiA8Vr%2BFdKlozMCmtYQV9Ev6qXw8hp3bxdhQIpx1i3cNTlTX3mWmLXlLEP%2Bpvja1OFnNtKqbI6ezIDDtRpCJ3ypBZyb3DZrt74LhHGPKXtjV5p/2109YylhdS8RtTyQk14FpoDZkwVuqymjihp%2BkJ4FLI7XhpYv60bWIUNRYLhb7zc%2B1jkMPlPdJ5DWI63bZE6bS8JO5zIloLQQtHpKspYIWz8yiMZrheoS7CcR3idScUXDHJ23qa7MXdsUoTIfcF1BZ9U4Yq2biTnP15ZroUD/2wad2WayoM1u5DUp94b586OJn0rmoi9ya7K2PvXqESEmoJWTjNozlVz72DJkZSJ/5LoRtX5RkNmhGqvv3rhwpZcHCe1Rl9E6JjWHb%2Bm5ZwYJERtxcPIXh%2BVWvTYa2FChK2vaCkuuOV4loFtW2CDdPCMTnrDhoQTWNNbgKgm3Zu4jdZo3CBpQtqIknjni42cIpiURNJEdaCLkNOrr2D7uld5PWhGWWcE3Yalz0oY8lTIwoA8TXkGnIYNiUtjNMbHHtjksPDOrTSjsdXY8Scr6FPjbG1E/sPg7Pz9BNME3Fa4S7Tgy6K6vOvUfORiNzCsZ4nIb2aPooUFnWMrjn23YZamMfrsjpSO%2BXKI4oVXVlYpbNZoV6%2BXe00Z0oeoqOylYTpzwudIUp4ZrDk8/lYiFseaFfFJ1dFY8zvY7cUOmUv6teVOUYUF5pJT7C/Y28a9aHCIpPx199a4ykf0hX%2BVmafoZvJacPOG97QNL5ZsN5a4OFjsnD/VSSBZHpk1zNDyx94P7JiD5F65dZnpD2FZaHYp2P619ZXsM6z165VyPfw9hR%2BStoVpNogvdYv6i/kpUo07I35Kz5iVCIdbMOSq0CZ4TMjYvZL5%2BV4/sP9O47iKjOfmk6WMMb7NFYM2eQ4ZboCb688erqLQzzh5tg5BpSyex2DGJ3KfLhaAU5a7Zumtng64F0TJZY1FYocok1x1aJlFm2pZrDWYTeJZheY/qoGXuSn1l3dkrmmo41qG3OWYghj0K1RhWW0f3LlnLSsxhyOMWfvijRg15AuCXN4uVwfjIIykoGTNLQw25JhkYgiGGFfFhLHJsC80ZllhxNJzd0aHOBdPcB9yCtOE/dKblWguBbQf06MRmG0gbjDRiMoAxcj%2BiOjdRX6ypTVrTHnQ5QVopcQeFlhvKEE%2BWesCGhgjBQeRhQYfQrPgLny4t%2B0/8NdFLFMqaIhGzWJtPVEYislIYHaXlmiUH6iNh%2BDGHtjsghCJh1%2BHwTfh5x4ohkjG%2B/D6kf39TVwIYF6OuFVC7j/t70P/NWG7AzLWdyMzbEbP7FxRHxRohlJni/TKQ/dc0INTIrWjaRL0QMZ8DGAt1hRmRbM8iYUMt1pKWty4YUK%2BLjAzy/VLuxVf1Nalfo0oVoTKBwuDHIHg99EeXWZHREwIWCnsYQ6btYOaZUDuY/9FQgtnuRoYvECUNRN/UmHY9IYvkf9pwmKwRQrQC3XqEQIMRopFYtDIYeMIQwUQzsbMIDPejZiyw1BVya1N1T1RcYKIC6IUC8Wtw8RryVUGiFMTnznAx8hwmCE9muAnExcC1LWjtxeZigX%2BHzWtsRQrCHgY4LIcJByECC0BpgEAMQAiCYAABPBQOWE%2BhPhnQ5PDoKBC3AEBtgwQDsGYDwCthMA/EEkdsGpAUiUg1I8MBAHUCdh%2BIDAdwJEBJwkB3QaATAFQBoDIA8AjAAgHCF3TrgyQs4JCJYlHCMBUALAQIDyOIB8jUAAooUSKMEDijfoko2ILOG1CfQvwvYH8PYJHD0BSRnItgOJBICXhrwSQWgJiIYAKi8AYgVkRyK5HWiVR/IwUXgGFGiicRUo%2B/OaLlFOjFRzAIgMQFtHbB7Rjo50a6NUD8QsAoYpURGNVHqjfRmosUeWD1H35LR3IiMUuCTHOjwxJAWEUeArCbRfoyI6YGbHxHRjXAsYxUWIGJECBzAZIxkVSMfC9hWRH4KMLSLVE%2Bi/RWojsDqKjBSiyRZsI0X2AHCmikw3ojUf6LOiXBCAkQYMEuOIDeg1xMCFSAAGs8ACQCAFwHWojhLg/AQ4BADlDziMx/ovfkwHMDBhLg0kBEBiASDugSA8kYXguEWCDgnA3wZAPxBZAPBkAsYMCLOPsh/jtgcobYKoGnCzhgJMCSsJbErAcBFgtATgNEF4CeAOAWgUgKgE4AAAlMwKSIUDLBVg9iBETwFIAEBNAKExYDuJiANVCqUYctPEGkBoSOAkgTCTRNwmcBeAcIb5NROwkoTSAcAWAEgHxAJA6AkQcgJQAklSSogxALpt8hoC0ACAkQOEBADCDcSwgSo4gJiM4CUSdJzAPSQAHkwg2gKoIJMon4g2AggEyQwAdHcSsAYQEwMAF/G0A7YBk3gFgBYCGBgA4gISaQHwAbjqgXoTAHCECmYBVAVQEkOsEomBA1J7EnCSiLCAYg9JLgLANxIIDEA8ALALyaQDCnEAwgyQTANSEwC%2BSjAKIowDRMWBUADAwABQAADURRCIEyQkEYD5T%2BAggEQGIHYB0cup8gJQGoG4m6BCoBgaqaYHMD6A8AYQOEJAEWCoAEgHQCKSKBMm8BUAhUnKVgDmlQBmAbAEAJgHwAdACpYgEwOsEmycT5giwSoMnAcAMBnArgZoHoH8DTBigpQPQLkFSACAxgngQqJ9I6C9A3pAwQqDdI6BdBRgj0rICDLaCWSagkwQGf0CiAgzJgP0vQOYG6AIzUwEga6aRLWDYz9A6EriYFLwkcBy6REi8POE6iQQIAuAQgDaIonzBeAgkrQFdNIAIBMATALAFEE0j0T6IzWEvnEDoTsJXgBMjiUTJwkky%2BJIAASTVNQmcAvA4s9abxKomyyCp6ktICAEkBAA) [With reduce](https://godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAMzwBtMA7AQwFtMQByARg9KtQYEAysib0QXACx8BBAKoBnTAAUAHpwAMvAFYTStJg1DEArgoKkl9ZATwDKjdAGFUtEywYgATKUcAZPAZMADl3ACNMYhAAVgBmHwAHVAVCOwYXNw9vUiSU2wEAoNCWCKi4nytMGzShAiZiAgz3Ty5LTGt8hlr6gkKQ8Mi9cx6mrNbhhr7i0okASktUE2Jkdg4AejWAaiEERdp0TYjNgHYNLwA6OMkADlOANmOb44euAE5NpmQ0YnwjTaIAKQaACCG02CAIBASChAGwA7gjznDXFRiKwxAkEExzmgWGtAgkTAQAbEAGJ4EkAET8rFKBAA6gCvNFogAhDRM6JeJxM1mcrzXLgAWi8nOi2CFcX5rwAVKLmeKuGdJPzSfKWZSgaCtoYDoRNngFCczpdYk8NA8npatYSwpsqAxNmgGOYAPqYABuYndqlYCXoEFmmyFJOw9rukk2AOOfJBm3jmwMJUiBFdcI01AjIBAAFlgQANTZbC4aWZa6OakE2kx2h2J2kptMZgBeIHDkiDIdiYaoEajMa1Cc26HTyAgzajXlZmy45w0RadJHYIF7kmzzvMMJA2DLVeOleBWo2W2byCjsUpmwnvJna0wWrrI40Y9PbdXndD7f7seBQ7wVCvM8SScTYNDnb9ByHBNV2zYJgWCSD4wrTZ2iUA0ANPc8eQvTYLmiSRXlda5XliV1XgtV1og0UjJGOUi7gguMoPjMF6SwqlQPOYjYlITZ81dLhyyY5i0U6b0qBMBhqgECBEOYhNT3OBQAEcGkDUg5PkqM2U0rSEyFMDXiMsjjKMwizJM8yNOEvShxFc46PMu47iI5yiK8DRXViZzrN/WyoLAs4XK4CNXQ845XWOLwXKMzzpF02y7nOWJTjIkKiI0CLiMkMiNFaBK9OOc4lS4LyBVdO5olK45rmiV1JGo3z/Kgi5XmuTyNGuLwKpqryNE8u5aq8prmoTMCbmuATXjq15BoElKiLayKRtGzizlI444ldai6pqiLYgOir8ps5rAv67bjn2yrIruDqSMiqL6p4gqhwBaJKRWvS3p/Vb41nT7muiOdjlKu4lSIm56q4CLJAFAH/Nec42pc65YkmwVJtifDKLhl75MR5zPM2uq3m68KiNueHbMkBzXhylLuuIwiuEOsGfDx5jZxC7rXlSs0IsuuKuWGjmAuKrhJoInK7mZbbMq8haWSpvSzpo%2BIKuFqrSK8Bqwq8bromV173uV3c/KQ/cUNoND/0A9icMkWJzjB0jXh1%2BqZYqu5CJSxjzag1j7cvC5NukPiwqE/2h1EtJxMk6SGFkk75MUlS1PmUXvtFuzDNM3q8sm/rduIgSjfkgyHI0HKuGiCKqpmquiO8svmIuLgvG16LttRsL2rC4XrhblrkpLh4XMyzyvHu2v2eT2ywMuiLKtIrgJe2qiwteUrB%2Bzsa51H64XO9yajPoyQcs2oeh1VvqXJ1yba7qlLpfiueVbnc6zhJijnji45mfVrVWeUd5JvQ%2BpnHSb8tL/V3vGJ2O0KpnAql1DKD9JDHRAbZJ2UgaJbTyiTcqDwd5QPkrOBmXka4ayPtEQiOsL5Xz3sySWkgYqPAErXeqsNS6wLWm8SiVUBKe2ZNvPhVdDY8LOnFW4kUaEK26ufJ%2BeUwp3AYfGC4sR0pVVBtcau8sNF1WiJgIUKiIHgLfmbV6ltUKYHQnbYCHEaHXHOJILacQNprxqozP2WlA72IdlxLwrRw6xEjlpGOAg45SU6EnTBUFU6qQIOpCBP1foVzaoRS0YVqJeUenRcRJDmJgRoXVW4KMKIWldo7IiqiZzOP1pRTqfUREkzpiLApYtz7o3KsRbR2s0bcPadfOc58Gk5TpqRA63VYjkW2s9QZe9%2BqlS5Nvf%2B9Ue74VKtNLKNTJHbXSplMmdxSIshclRMmwDfqbCduQg6%2B0kHUQGlVIxxDYnGzMa8hMWd5l/TnDU2c3sZq6w7oRFh3UwaEWODsriGgMlDTotXFkctXhQqkB1DyXkCImUmtDSecyPmFI/j7DhEssqYpSoRPKJjvlrXOh3A2UgiKbTIodYiAsLm/VnO1ce0MLokw3lPV4RiqX4uHo/babk6IbSUTQqZRjkWmNNnJZC1jbGYT8ZeQuBFnFbzIkNTKu0waUW8fJXxsRsKXiKlXIJ/EVRVjfuE5gtBXQSSiWkGJzV4npyHl8kVOcHJ0UEWMvhvNuoWimX84q0z5oTI3rDDJfMoWO1KiFZNj0WTdRxZFV%2BvqFlYweqRTKmNRGKw0PknN8ZdmzRyuglyDUSmlsojM%2BV1KnEhq8kNFxhFD511uEKmpeFPZY08ho6tq8HoG2eRGx2OVriChyaS0GRyBJGNXt6k2ySeGzg0FCx4pzHq3BytEa6UgcrstWmBdud9eYPWHWaKaxyoX9VYQi0qU8ZpHooS8y5uzUWLQmW7ThxzXFlsuVu2WjxtazooXVKe9M%2B08IuFPSec0QYUrHW7WIcqamIy8Ks2GK8lHxFrYYoULM13vK0hYz5VjrY2Ntmqs1HFV7Jp1kjbG7dX08q6sa5iprzWbERmjbd4doihPkg6yJCd3X%2BU9YkjO7SfXfuKuizKpVKWRUoXEFGX7fpgVRscruDVJoCoEuVPFSmJ4CS4ZdGa6U6aY2zRZpRNxpZ5v/mguu7d6qPs/uDWik1NpXWCuDGuIHfp4RBpREuU8AvyyVBtSdm6kb9NhqVc%2BEVZoDVovVFdGDLkXB0RfRu5FXYszIugldYXbJgLXSk1aW6oXMldg8dtksP1vFfZCiRc4vOo1of08i%2B1YjDolj5yeSDNobQ/fEb%2B5kdP1eKpDN9iD9ojK3pIeD1L1Fr1RhFC0nkj0w0M1hpLsMIpvBBZothzJa0rrPaNWc0QoM3Hoq04F9VVl3BXcK5qNWCpUYtpeFV9GgKMZwo96RVceZzo8sZqekVMAMWjHVgOWw2LqpnJymFvF%2BJ3DEyJJgYknUuqk6LWTSSFOQPLbUqKGa/NVNPg9ZNULpnM2muVxmoUdGMx8xlqDLIcp5UF3NKi5ndMfw6lw2dEKuFNf7hljuNSiqCmligjG69ofHES9SmmbVNlLtKU9OqLDri5eww5a6nUT6RdhqczDpGqujSdqcGDxkorYsetDMFK7m0ir%2B5TlHzUGvdcyoL%2BWjtsVrzOAdx3p0P5qcOkO9hA1vYPWrjUmmjtx5DXasc3JTzjE1KSp4zer6NEVQWkqDbQpfeXKdoNNWdUHhEyXXTQVpH7vNSSp1eilDprjy7rdavIUI0q91TFQ6jjTPdS1yKbdCr/tKpozbDCoP%2BPqPQR9zyOjPIksoiwzAxweOo82OjsHl4pDJU6jjyK%2BOoISeJ/HaJZPkBKQSRTv3VO68OWFiRNLSCzRcF6YUVsYt4aIu4StKJ84utqVdlNoj5y8GoXJNoKV5Za8OU5xcNBFPIMNG0Ypr1TdC8eEaYaon53Zng657on0V159qVldAFG5Mo9ssD8JZ8pAaknZxk%2BoJkmU%2BsBIq4V15sncAlIM750Uj0B9JovsRQxdqt10A8ktH10VV5ocn5%2Blapq1z4xsLoL4vMBRgpsZUZd9HNfonEbgOpZF2ph1U80Z7chDmonZ0FjMuF0EC0FpvY0szdiCuJD4KpZYwCyJU8YUDFKt%2B1lMpkFpvIwUe4WFjkfcI1nJT0lpDtTNx4nsvIjEdZyNFUbJlVaNVU18OInYWQl5stHZt9zojJbtrhj8hw%2BMmMkpD5DZw5rg79o5CdY5H9XUZIX838vUN1qVu8%2BFKpT0G0j1HkftxdS0aJZoepGZN9/4spJjz0JdxV6ZdYdFaEmUNFTkwi3gYoYU9kOpDiaFkDtdqc8IAN3M/1IpslhsXJ7d24I0mC0ou10oJZd9hY2DliHtkp84XDDiSpIoS529AkOC/iUZr19EdD%2B4SNcNsiBjqcYFYCP4YM%2B5ZpMZUp8MFYYYakgYlRQ0N4ONmUT4j1NskTLglFUZX14d9Y9se4uATtqVHsWtBYvYz5SoNF0YV1ZDRogZ/5aFG525SIekBJZ1BCi9LgysNE9tLpZlQ0apMjeSg9kpxDGk8pXZAkMUBpMj7DQF5DYkAd%2Bwgd8iQcg5NggYWRd9IsZYMl0pvJMN3hkcCp6jwdEYTcb9Xg2iEwH9nUn83Vei045NaseEzDyogoiIN4YVrdH0eVQsZE0E75VkQZlT/IgYe8vZQ03I2oeZ4hyTLkaYDpjcZlvJmYe4mEctSNaCKSBRdFqoGUj1D10jHiTCFszRNlwYx4yI2EnspD4jvCNFd9U8dEDFMV9Z7dmQwiIwyYqkzQyZGlBR28NEESFDmTzgfNOSOEPIBomVO1KJhsBlqdrlXF3YzRsUuEZYjEYCLjLh0VvYYp3ZpzUjKzV0eFi8ysZYwUsD7j15Hifiu9kp1ZYYwU5pOpjc5ppCwSktBRGZ0pHhjjOS5TIL/yEZko3IPIC0G1BR6JCCDoVzDSl8TSV87Fz9NgnFu0t81lmtdpFSlRaiExXTg424njw4lRvT4xfSSdn92lyd5NP9A9/IlRks1Ml0O4/55E2ofMYN6lsSXFBd3YWQH0eFndjIwYDtIsJY1MWYryaknEHkoCiUJlN9qJpCnieEgYAjeYH5PZTgKVTLrzQNTRjN7k81poJlqJMjO9BLzh9Z0ZWl0EvyUZV5dTR83IqIT4sCLRuVZUhQsZ8Lfsv8MDtDADe5mCDF0NeC9io04g%2BVt4tpZ04MhQ9TqY5xhZ0E9s15nIV5ZFHjUzbIQ414pB5Fy83EoDGTSNiq9IkoXERSloqqm5RzQTWzRoaYIwQVDUUoH4oNiI%2BzYrqzLlu8RkPJmrkD4cSIlyHL/J/cCLcjl86NV9zTZx0sHoyzTksCkMMj256KWI0dzTWN/5rUBJBI7VYlOL/SeieLX8gyP8EqBLbIWZKSeYqlOpt97pbg8spjpVypYiNYBo70ZYj4wiQYm9Zi8l3I7470SNOroFnEx1qIQUG125T10ovAeSwjxioC1YWNNk6J%2By1ynz24fZHpz4DYWVMjY9/InY6V6p/LU8cEotq94gI0PJwK75Qp24SZep7dpl4qtrEqFttCwLbilletVlOpxqI0DoWNNC88YNU9Saa9JTcM/L5ERlqIH4sZQiksq5MT0ZKF9ZpK4pMj5rfoko3h1jzJZiZYg1ILNqFtV5PjkDfDqJBcdVcK6q9JiiS46JI9GYDziJbshR0FZbmIjS8jiKGN19cbk0XFXJtYBEJZDEWZrqixbqMdcNKThN%2BJ252LNg3rujE5Az38%2BLfrN03bwznhBEYYo1KVtDHZ6JslapqpQpm9lpoLU8Ixh1pEJZQ03YmSbzSyBJVla4j4ZkpAAsra1zS0RsyywVZjoTq8oL6aWEpoZ8OFvIdyHiQqeEioAiuol5Gl%2BZ6ouQjFm4b7iodEosKU70UohzZ8tCF9VyKTFatSa5T1EVooCMgbdLipzowYlklr1Z4hCDXzqV3TNM%2BqkFAl8CV0/bhDbh6UZ8Zl9ZCI4glS8TnY70WESYx0Sj15Z9hswibhx52clRJYtT%2Bppa8GVSrKm4/4NprNep/6ObmJtrKNCKrYM7Cj/F1bbiz5T1bpu5q1MApAS7GKrkwIO4VFWKQkXqwkOiIkujSdPq%2BjgzETQMnF/4HilElQDEqHD5tDV4u1/LE9ZiWFpZ0CFsdYHiFpNpOcl5fDHiXbVonYupNlc7Bp60E82DuH/IaZbHKIbCqDZZYdMjhqVSWRSGO4rMm9G4dFE7lzoLKEQZ9pEVhsBYjJX7PHhC2oiY3dO7HYwVoYjEbgU6vp5bfiKGQpmZsk3h0ZXK56iCdcuJ1Y6GZ6FZEL2qzK1zf7gT0Y2EPCKoAMUHsbSE/jjcP0lb%2BpTbCDJzvDZ1k0oMp4643IJZX6I6tIgZhFXJq41ceUzh2rk7ra%2BFAlNkaqytaIm8WnqmtIxH5I069qCjzTLVEUaFjCl5eojItca41Gy7SL4gkZZob8pBa767jGRVeKQyttHtzons46U8ht0n/JdlqJTbwm%2BkBY81cNYnbI9KGn97N8G8ZESNpnqcLLIZCt%2BEBo9DiI6aKStMoZuWAstSntkKp07jsnGbbjcUN7YqiWsEkZ/DpFcMy91L/6Ln5ISxPZyIpD%2BkHb80KojEuQ2nfmOmVThaBE4hh7T1Zzap8zwsRmE80stSbhqpMoyaks6Ypk3IIxQYvNvJD7gmRqHJetDVbo4pinvJr7hmq4Jk71HIxTXZ/LX6UL/rSqVbq4RlbCnruSk75W9Jddy8xrtpp4qlvZvdJR823kcj/Z079qSL%2BNZwtGvYiZEVFi5iiIVGj9nS351GsZ/VkVWLRM9HxMDHHU/SG7pNbJMXzHwsaYO4SkvNygoZWFU29InEwYDCDtjJa4An7XVp8S7iqka5gpfD76PWW0kZQp3tvJTlP6q1MiIaD3bzjdvIoZsVDjHgDap5hbG4qIIpcN5EG19tDXYqaX125wFoTMSmNZojq9aJnjisGVOpOMX4fYjW13q3Z2FblKP5pZO6JZq02F7MdKksjkcC/NIqhp8JE72CENnZP66T%2BCC14duJPKI0j19cAPRLc7Z1sVX6g2HCfKysQoT5sl8bIo%2BqqmwjOGwoo1vb9yW9JYWnVnW4fLhYzgYZEUWEl4DojXVPtIKN/mJHgcDry7ipTJIjIZ/4V4VGaie3Yk%2B2nE8XkW8cR2CcicJ30WPUvrm6sWLikojJsUf7ss2oYYq3NX1OaSaLkCtzob93hCa4M1sn9Vx8lmzjSMIvOZkox0Go88aa7KJyvK02t4m9eo8uvJZjm2SNCm0GuJUbzphsn4RkbgWmn3fjGztouE0Yu0RkdEaIjXBO4nnYtTwU%2Bphda1e1jF2vTWjO5C/q9JkTqcioa5uPdO9sZlNpCCDOhwcMoyN5bpmZaHNpvtwSZZXY51ppjMhGOE4SsuoJ0yPFIsdYfY%2B4odzmmGP1RWpoult53Wk7ivI7nYqkj0SlZzjIQppDjWeFEYIMwpMULRBdNMzQhUNWkIDTxHdqiL63M6iir2LbaE%2BFUZq0lEvs3hYXT9zT0FnEq5kXjhUWx3JNuKMXfP%2BigH8tYfP6aPbi46aaKH23oZa0o1Alzs9OhRwOcbyIYplXVlopd9ppN6KTD4UZUpOp6SSlO6Jz7uhxuqVMBFgicSS3BbteExld5ZnJ5FLc51WUWmTe1EkYkFZoRSJ72cjlqojW7fcIetbm9teOP0wZCDKoTX9SFucaEiANz4Hio8T7eYDtzjLl8S%2BZ7ok1TMNnh8Jf5ISDp6tpAP2Fx5/vooOO3Jz4DtyzsZ65X6RHFuuIx0NENoloO5gvtYWmq%2BtIkozRjdKEzgT5MV8IDaj0M8P4AO3GkEuRNChUM/0e5uoIAXsegWMcjqvNThPND0sDqGwoVGq4Kez918zRkonteI5AxSGfPOuKAyTHaBE4W65bQ/5IF4RkWYxlWlbpX0Wsdu950FBcgK32Pj15mZPfNGijCWhVEZask70I%2BEPC61jQcIDemWTeAANWJVRhWG0R6BGD2yyIZuw3LGDDBsIfpqSWKBLiqWbY/lboJSADJmlnzv94wiMPKJdgvid1yOJkUyoDyw7s8kq3WA6DOl6gB0eo%2BHXfEoSmwowf6rSWuANHhIh5cWsuabAeVkYvE0eUETPAtBmpywYMHCWaAbUw5rMdY9EdIvhAhRuRBQ8fX6DQPqR4sosyBJdBLGYE1Ik6PlBtDVHoiRVwYIaPlglWn5DhZ%2BkjGxA5x8RbB4wR/N4Cf06JedmePnc4Jfx%2Bo38eEFcMGCTAf7lR24w/JeFCgeAQp7oQJA6NYx9iPoD4T8LaKcEPQ54WBd/ePIk2rStJ16lXE%2BGjCVwOQ70sUMUllB5RHJpCmg7LgKGZihRQ4XscyCDyMGrRLUJcUlo2j8r7Q501gmHlxE3y8xv64BDLFFFO6AN%2BKihEPFCVpRLoQYcUZzAgMWRHRrCAHNhJyw8htCoIyucgmwiVDDp5Ys%2BE4UOCbatI3YwUeOtekf6gcqBJwOcH1R1TEkSIp6VGHdnNzc4/CD8RuPrBnwCFSMtw/SI9lmJC5IoKTRRqQNA5ZElhmPWtvuHLAYiXqTIEJGyECC0BAgmACAGIDhBMAAAngoDLDvQHwjoNFp0GAgbgCAmwYIG2DMB4BmwmAXiIyM2CUhWRKQDkaGAgDqB2wvEBgO4EiCE4SAroNAJgCoA0BkAeARgAQBhDaRWQq4EkNOAQgmxhwjAVACwECCSjiA0o1ALKPlGKjBAKo76OqNiDThNQ70D8N2C/A%2BCEw9AJkWKLYCiQSA54S8EkFoBkiGAeovAGICFGijxRnoo0TKLlF4AFRSoykRqLvyuidRAY/UcwCIDEBvRmwX0f6MDHBjVAvELAMmINFpjjRpo6MeaOVFlgbRd%2Bd0RKLTELgCxgY1MSQExEHhywHcb6PiMJFgIaRmY1wNmP1FiAGRAgcwMyL5Hsj7w3YIUW%2BAjBciTRUYmMRaLbBWiIwGo5kWAgdE9g%2Bwzo%2BMJGLNGxiCo5wQIEQFdCEBIggYA8cQE9Dni345wS8egBMArBZIxwJwJ8GQBcjowIEbcXpFfGbAZQmwVQJOGnDIACoFYI0kOHOCSQ4QaIBIK6BIAQBAoZsCsBwHmC0BOA0QXgJ4A4BaBSAqATgAACUzATIhQIsGWDeCO4PAUgAQE0DIT5gAAaxiANUCqk9coNIFQkcBJAGE6iThM4C8AYQ26KiVhOQmkA4AsAJALiASB0BIg5ASgOJMklRBiAfTbdDQFoAEBIgMICAGEC4lhADRxAMkZwAonaTmAukgAPJhBtAVQASRRNxBsBBAxkhgH6K4lYAwgJgYAC%2BNoDWx9JvALACwEMDABxAgk0gPgEvHVAPQmAGEAFMwCqAqgRIVYBRKPHtAuJBIsIGiF0kuAsAXEggMQDwAsBPJpAUKcQDCDJBMAlITAD5KMAEijA1E%2BYFQAMDAAFAAANUVFwhjJCQRgLlP4CCARAYgdgOwQ6nyAlAagLiboFaAGBKppgcwPoDwBhAYQkAeYKgASCdBwpQoYybwFQD5SspWAGaVAGYBsAQAmAfAJ0DyliATAqwZahxNmDzBKgCcBwAwGcCuBmgegfwISOmCDBWguQVIAIFGAtAcgyQD6QwCmADAog4wdoBZJqB1AGgX0oYCDITjdBJgz0wGUMHBmNB7pYwSwEjIBnJggZl0kiSsDmD6A0JnEgKbhI4B11CJZ4WcG1HAgQBcAhAL0TiK4CzBeAAkrQBdNIAIBMATALAFEHUj0TaIPlQUDXCxh0wx4%2BM9iYTOwnEzeJIAfiVVJQmcAvA4s1aTxMomyy8paktICAEkBAA)
With fold
With reduce