_..._ _..._
.-'_..._''. .-'_..._''.
.' .' '.\.--. .' .' '.\ _________ _...._ __.....__
/ .' |__| .-. .- / .' \ |.' '-. .-'' '.
. ' .--. .|\ \ / / . ' \ .'```'. '. / .-''"'-. `.
| | | | .' |_\ \ / / | | __ \ | \ \/ /________\ \
| | | | .' |\ \ / / _ | | .:--.'. | | | || | _
. ' | |'--. .-' \ \ / / .' | . ' / | \ | | \ / . \ .-------------' .' |
\ '. .| | | | \ ` / . | /\ '. .`" __ | | | |\`'-.-' .' \ '-.____...---. . | /
'. `._____.-'/|__| | | \ / .'.'| |// '. `._____.-'/ .'.''| | | | '-....-'` `. .'.'.'| |//
`-.______ / | '.' / / .'.'.-' / `-.______ / / / | |_ .' '. `''-...... -'.'.'.-' /
` | /|`-' / .' \_.' ` \ \._,\ '/'-----------' .' \_.'
`'-' '..' `--' `"
___ _
F __". ____ _ _ FJ ____ ___ _
J |--\ L F __ J J | | LJ | F __ J F __` L
| | J | | _____J J J F L| | | |--| | | |--| |
F L__J | F L___--.J\ \/ /FF L_____ F L__J J F L__J J
J______/FJ\______/F \\__//J________LJ\______/F)-____ L
|______F J______F \__/ |________| J______FJ\______/F
J______F
⠀⠀⠀⠀⠀⠀⠀⠀⣀⡤⣤⣒⣒⡾⢭⡩⠉⢰⢖⣖⠤⢤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⣿⢷⣫⠤⢲⠄⠀⠀⠧⡵⠀⡛⠉⢂⢄⣀⢻⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢀⡴⣏⡽⢿⣿⣜⢲⡀⡼⠃⠀⡠⢻⣓⣄⢹⣼⢪⠇⢠⠉⠞⠋⠉⠢⡀⠀⠀⠀⠀⠀
⠀⠀⠀⢀⣴⠏⠀⢠⠴⢾⡽⣥⡟⡃⢙⡤⢤⡱⣈⠤⡍⣄⣞⠛⣒⣼⣲⠀⠀⠀⠀⠈⢢⡀⠀⠀⠀
⠀⠀⢠⡞⠁⠀⠀⠳⡤⡼⠀⠋⠱⣔⢄⡎⠭⠕⠁⠸⢹⠛⢯⣦⠊⠉⠁⠀⠀⠀⠀⠀⠀⠱⡄⠀⠀
⠀⢠⡟⠀⠀⠀⠀⠀⠛⠀⠀⢤⣶⡸⡼⠸⡀⠀⠀⠸⢸⢠⠈⠃⡠⠤⣲⣄⢀⣗⣷⡄⢷⡀⠘⡄⠀
⠀⣮⠃⠀⠀⠀⠀⠀⢀⡠⠞⠛⠁⠈⠑⡣⠃⠀⠀⢰⢈⠈⡢⠶⠕⠒⣜⡋⣻⣟⢦⠀⠘⠃⠀⢱⡀
⢸⢻⠀⠀⠀⠀⠀⢀⡼⣘⡕⠀⠀⠀⠈⠀⠀⠀⢀⢇⢎⡜⠁⠀⠀⠀⢀⠈⠈⠉⠉⣄⠀⠀⠀⡀⡇
⡟⡎⡄⠀⡖⠒⢲⢣⠌⡎⠀⠀⠀⠀⠀⠀⠀⠀⡜⡜⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣆⠀⢠⠟⣼
⡿⡔⢝⣄⢇⢶⠀⠽⢲⠁⠀⠀⠀⠀⠀⠀⠀⠀⢇⢇⢇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣶⡇⠀⣿
⣷⠈⠢⣈⠉⡪⣧⡂⠌⠒⠄⠀⠀⠀⠀⠀⠀⠀⠘⢎⠪⡓⠤⠠⠤⠲⡄⠀⠀⠀⠀⠀⠀⣰⢱⢡⢻
⢸⡄⠀⠀⠙⢎⡎⡎⠑⠒⠲⣄⡀⠀⢦⡀⠀⠀⠀⠀⠑⠢⠄⠀⡄⡇⢧⠀⠀⠀⠀⠀⠞⢡⠃⡠⡇
⠈⣷⠀⠀⠀⠘⣇⠇⠀⠀⠀⠀⠹⢂⣂⡀⠉⠲⡄⠀⠀⠀⠀⠀⠁⠠⢸⠀⠀⠀⠀⢸⢀⡹⡀⢱⠁
⠀⠘⣧⠀⠀⢰⢇⢆⠀⠀⠀⠀⠀⠀⠀⠈⡵⡀⡅⠀⠀⠀⠀⠀⠀⠀⡎⠀⠀⠀⠰⢳⢫⢣⢣⠇⠀
⠀⠀⠘⣧⠀⠀⠳⣗⢳⢤⠀⠀⠀⠀⠀⠸⣰⢱⠁⠀⠀⠀⠀⠀⠀⠀⢹⠀⢀⠜⠁⠓⡣⣣⠏⠀⠀
⠀⠀⠀⠈⢷⣄⠀⠈⢣⢏⡇⠀⠀⠀⡔⣊⢜⡎⠀⠀⠀⠀⠀⠀⢆⠰⣘⣺⠕⣀⠤⢀⡴⠁⠀⠀⠀
⠀⠀⠀⠀⠀⠙⢷⣄⠀⢫⠘⡄⢀⡞⡝⡰⠋⠀⠀⠀⠀⠀⠀⠀⠀⠁⠒⠒⠊⢁⡴⠋⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠉⠻⢦⣧⡘⢾⣜⠰⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡠⠖⠉⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠳⠿⢤⣌⣀⣀⣀⣀⣀⣠⡤⠤⠖⠊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
----------------------------------------------------------------- : + - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - + : : | <-------------------------------------------------------> | : : / : : \ : : - :: - : : \ : : / : : | : : | : : / : : \ : : - : : - : : \ : : / : : | : : | : : / : : \ : : - : : - : : \ : : / : : | <-------------------------------------------------------> | : : + - / | \ - / | \ - / | \ - / | \ - / | \ - / | \ - / | \ - + : -----------------------------------------------------------------