#^#^#^#^#^#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&##&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&&#&#&#&#&#&#&#&#&&#&#&#&#&#&#&#&&#&#&#&#&#&#&&#&#&#&#&#
#^#^#^#^#^#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&##&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&#&&#&#&#&#&#&#&#&#&&#&#&#&#&#&#&#&&#&#&#&#&#&#&&#&#&#&#&#