This is pretty complicated, so if you are looking for something simple, please look elsewhere. Instructions are inside. Also, this is not actually 90% pen, it's more like 87.074829931972789115646258503401360544217687074829931972789115646258503401360544217687074829931972789115646258503401360544217687074829931972789115646258503401360544217687074829931972789115646258503401%, so you can see why I rounded it.
The code was 100% by me, but I definitely took inspiration from countless other people.