this turned out less readable than i had hoped. probably aligning the arg specifiers in the last one would make it look better, but i'm lazy
https://tio.run/##pVLNasMwDL7rKQS7JBSKe@g5j1Kytcf@0EKhNL2OMubTDu15z5AOsmvfxC@SyrLj2Z6zlQ3iWPokW58/6alcbMtN22aZen1Rx3M2HO@V/KQPlbzQp7fDIM@VfM9GQlDK9ZTnxUgoWQsA9fwG8ACI09l6i9PlisxqQsl6xxBGDh3Pzkakop2XSOa1Dzw6wuwiEC3bbzAHfHRyCDzE4RiM0a3BfdRJDO/g9QS6WAFd0dpaOtGZgqSC5Rrn5e5x1q@bkh9hgAFHwHj8t/p1SJM6xrDVMUB8LaNApTvvaZoMu6Q4w2jsI2wbpUO4sXonuDfBk90tVnfvAtbekCkgJldHSKVH2/Qkgi@uP3@eaL8n/57pqm@qE@qnp/tX1e95Tp/edtq/mNZh6R9Vbtsb