██████████████████████████████████████████▓▓▒▒▓█████████████████▓▓░░░░▒▒▓▒▒░░░░░░▒▒▒▒▒▒▒░▒▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒░░░░░░░▒▒▒▒▒▒▒▓▓▒▒▒▒▒▒▒▒▒▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░▒▓▓▓▓███████▓▓▓▓▒▒░░░░░░░░░░▒▒▒░░░░░▒▓▓▓▓▓▓▓▓▓
    █████████████████████████████████████████▓▓░░▒▓████████████████▓▓▒░░░▒▒▒▒░░░░░░░░▒▒▒▒▒░░▒▓▓▓▓▓▓▓▒▒▒▓▒░▒▒▒▒▒░░░░░▒▒▒▒▒▒▒▒▒▓▓▒▒░░▒▒▒▒▓▓▓▒▒▒▒▓▒▓▓▓▓▓▒▒▒░░░░░░░▒▓▓▓▓▓███▓▓▓▓▓▓▒░░░░░░░░░░▒▒▒▒░░░░░▓▓▓▓██▓▓▓██
    ███████████████████████████████████████▓▓▒░░░▒▓███████████████▓▓▒░░░▒▒▒▒▒░░▒░░▒▒▒▒▒░░▒▒▒▓▓▓▓▓▒▒▒▒▒▒▒░▒▒▒▒▒░░░░░░▒▒░░░░▒▒▓▓▓▓▒▒▒▒▒▒▒▓▓▓▓▒▒▒▒▒▓▓▓▒▒▒░░░▒▒░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░░░▒▒▒▒░░░░░▒▓▓████▓████
    ███████████████████████████████████████▒░░░░░▓███████████████▓▓▒▒▒▒▒▒▒▒▒░░▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░▒▒░▒▒▒▒▒▒▓▓▒▒▒▒▒░▒▒▒▒▓▓▓▒▒▒▒▒▒▒▒▒▒░░░░▒▒░░░▒▓▓▓▓▓▓▓▓▓▓▓▒▒▒░░░░░░░░░░▒▒▒░░░░░░▒▓▓███▓▓█████
    ██████████████████████████████████████▓░░░░░░▓█████████████▓▓▓░░░▒▒▒▒░▒░░▒▓▓▒▒▒▓▓▓▓▒▒▒▓▒▒▒▒▒▒▓▓▒░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▓▓▒▒▒▒▒▒▒▒▒▒░░░░▒▒░░░▒▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░░░▒▒▒▒░░░░░░░░▓▓███▓▓██████
    ██████████████████████████████████████▓▒░░░░▒▓███████████▓▓▓░░░░░▒▒▒▒▒▓▓▓▓▓▒▒▒▓▓▓▓▒░░▒▒▒▒▒▒▒▒▒▒░░▒▒░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▒░░▒▓▒▒▒▒▒▒▒▒▒░░░░▒▒░░░░░▒▓▓▓▓▓▓▓▓▒░░░░░░░░▒▒▒▒▒░░░░░░░░░░▓███▓▓███████
    ███████████████████████████████████████▓░░░░░▒██████████▓▓▓░░░░░░░░▒▓▓▓▓▓▓▒▒▒▒▓▓▓▓▒▒░░▒▒▒▒▒▒▒▒░░▒▒░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░▒▓▓▓▓▓▓▓▒░░░░░░░░░░▒▒▒▒▒░░░░░░░░░░▓▓▓█▓████████
    ████████████████████████████████████████▓▒░░░░▒█████████▓▓▓░░▒▒░░░░▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒░▒▒▓▓▒▒▒▒░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░▒▓▓▓▓▒░░░░░░░░░░░▒▒▒▒▒▒░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓█
    ██████████████████████████████████████████▒░░░▒▒▓▓█████▓▓▓░░▒▒░░░▒▓▓▓▓▓▓▒▒▒▓▓▒▒░░░░░▒▒▒▓▓▒▒▒░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░▒▒▒▒▒▒▒▒▒▒░░░░░░░░░▒▒▒▒▒▒░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░▒▒▓▓▓▓▓▓▓██▓▓▓▓▓█
    ████████████████████████████████████████████▒░░▒░░▓███▓▓▓▓░░░░▒░▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░▒▒▒▒▒░░░░░░▒▒▒▒▒▒▒▒▒▒░░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓███▓▓▓▓▓
    ████████████████████████████████████████████▓▒░▒░░░▓█▓█▓▓▓▓░░░░░▒▓▓▓▓▓▒▒░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░▒▒▒▒▒▒░░░░░░░░░░░░░░░░░▒▒▒▒▓▓▓▓▓▓▓▓▓▓█▓▓▓▓▓▓▓▓▓▓▓
    ████████████████████████████████████████████▓▒░░░░░▓▓▓▓▓▓▓▓▓▒░░ ░░▒▓▓▒▒▒░▒▒▒▒▒░░▒▒▒▒▒▒▒░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░▒▒▒▒▒▒▒░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
    ████████████████████████████████████████████▒░░░░░▓▓▓▓▒░░░▓▓▓░░░ ░░░▒▒▒░▒▒▒▒▒░▒▒▒▒▒▒▒░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░▒▒▒▒▒▒▒▒▒░░░░░░░░░▒▒▒▒▒▒▒▒░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
    ███████████████████████████████████████████▒░░░░░▓▓▓▓▒▒░░░░▒▓▒░░░░░░░▒▒░▒░░░░░▒▒▒▒▒░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░▒▒▒▒▒▒▒▒░░░░░░░░░▒▒▒▒▒▒▒▒░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
    █████████████████████████████████████████▒▒▒░░░▒▓▓▓▓▒░░░░░░░▓▓▒░░░░░▒▒▒░░▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░▒▒▒▒▒▒▒▒░░░░░░░░░▒▒▒░▒▒▒░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
    ███████████████████████████████████████▓░░░░░▒▓▓█▓▓▓▒░░░░░░▒▓▓▒░░░░▒▓▒▒▒░░▒▒▒▒▒▒▒░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░▒▒▒▒▒░▒░░░░░░░░░▒▒▒▒▒▒▒▒░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓▓▓
    █████████████████████████████████████▓▒░░░░▒█████▓▓▓▒░░░░░▓▓▓▓▓░░░▓▓▓▒▒▒▒░░░▒▒▒░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░▒▒▒▒▒▒▒▒░░░░░░▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓▓
    █████████████████████████████████████▒░░░░▒▓█████▓▓▓▓▒░░░▒▓▓▓▓▓▒░░▒▓▓▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒░░░░▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▒▒▓▓▓
    █████████████████████████████████████▒░░▒▒▓███████▓▓▓▒░░░░▒▓▓▓▓▓▒░░▒▓▒▒░▒▒▒▒▒▒▒░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒░░░░▒▒▒▒▒▒▒▒▒▒░░░░░░░░▒▒▒▒▒▒▒▒▒▒▓▒▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▓
    ██████████████████████████████████████▒░▒▒▓█████▓▓▓▒░░░░░░░▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▒▒░░░░░░▒░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒░░░░▒▒▒▒▒▒▒▒▒▒░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒▒▒▒▒░░▒▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▓▓▓▓▓
    ███████████████████████████████████████▓▒▓▓▓███▓▒░░▒░░░░░░░▒▓▓▓▓▓▒▒▓▓░▒▒▒▒▒▒▓▓▒░░░░░░▒▒░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒░░░░░▒▒▒▒▒▒▒▒▒░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▓▒▓▒
    ████████████████████████████████████████▒▓▓▓████░░░░░░░░░░▒▒▒▒▓▒▒▒▒▓▓▓▒▒▒▒▒▒▓▓▓▒░░░░░▒░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ ░░░░░░░░░░░░░▒▒▒▒▒▒▒▒░░░░░░░▒▒▒▒▒▒▒░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▒▒▒▒▒█
    ████████████████████████████████████████▒▓▓▓████▒░░░░░░░░░▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▒▒▒▓▓▓▓▓▒░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒░░░░░░░░░░▒▒▒▒▒░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▓██
    ████████████████████████████████████████▒▓▓▓████▓▒░░░▒▒░░▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▒▒▓▓▓▓▓▒▓▓▒░░░░▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ ░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░▒▒▒▒▒▒░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒████
    ████████████████████████████████████████▓▓▓▓▓███▓░░░░▒▒▒░▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▒▓▓▓▓▓▒▒▒▓▓▓░░░▒▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░▒▒▒▒▒░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▓▓▒▒▒▓██▓
    ███████████████████████████████████████▓▓▓▓▓█████▒░░░▒▒▒▒▒▒▒▒▒▓▒▒▒▓▓▓▓▓▒▒▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░▒▒▒▒▒▒▒░░░▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒░░▒▓▓▓
    ███████████████████████████████████████▓▓▓▓▓██████░░░░▒▒▒▒▒▓▓▓▓▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▒▒░░░░░▒▓▓
    ███████████████████████████████████████▓▓▓▓███████▓▒░░▒▒░▒▒▓▓▓▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▓▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒░░▒▒▒░░▓▓▓
    ██████████████████████████████████████▓▓▓▓▓████▓▒▒▒▓▓░░▒▒▒▒▓▓▓░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░▒▒▒░░▒▓▓█▓
    ██████████████████████████████████████▓▓▓▓████▓▒▒▒▓▓██░░▒░▒▓▓▓░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░▒▒▒░░▒▓▓███
    ███████████████████████████████████████▒▓▓▓███▒▒▒▓█████░░░▒▓▓█▒▒▓▓▓▓▓▓▓█▓▓▓▓▓▓▓▓▓████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▓▒▒▓▓▒▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒░░░░░▓▓▓▓██
    ████████████████████████████████████████▒▓▓██▓▒▒▓▓██████▒▒▓▓▓█▒▒▓▓▓▓▓██▓▓▓▓▓▓▓▓█████▓▓▓▓█▓▓▓▓█▓▓▓▓▓▒▒▓▓▓▒▓▓▓▓▒▒▒▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒░░░░░░▓██████
    █████████████████████████████████████████▒▓▓▓▓▒▒▓▓██████▓▓▓▓█▒▒▒▓▓▓▓▓██▓▓▓▓▓█▓█████▓▓▓▓█▓██████▓▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░▒▓▓▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▒▒▒░░░░░░░▒████████
    ██████████████████████████████████████████▓▓▓█▓▒▒▓████▓▒▓▓▓██▒▒▓▓█▓████▓▓█▓█▓██████████████████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒░░▒▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░▒▓▓▓▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░▓█████████
    ███████████████████████████████████████████████▓▒▓▓█▓▒▓▓▓████▒▒▓███████▓▓███████████▓█████████▓▓▓▓▓▓█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▒▒▒▒░▒▓▓▓▓▓▓▓▒▓▓▒▒▒░░░░░░░░░░░░░░▒▒▒░░░▒▓▓▓▓▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░▓█████████
    ████████████████████████████████████████████████▓▓▓▓▒▓▓▓████▓▒▓█████▓█▓▓█████████████████████▓▓▓▓▓███▓▓██▓▓▓▓███▓▓▓▓▓▓▒▒▓▓▓▓▓▓▒░▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░░░░░░░░░░░▒▒▓▓▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░▓█████████
    ██████████████████████████████████████████████████▓▓▓▓████▒▒░▒███████▓▓████████████████████▓▓▓██████▓███████████▓▓▓▓▒▓▓▓▓▓▓▓▓▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒░░░░░░░░░░░░▒▒▒▓▓▓▓▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▓▒░░░▒▒▒▒▒░▒██████████
    ██████████████████████████████████████████████████▒▓▓███▓░░▒▒▓█████▓▓█████████████████████▓▓███████████████████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓▓▓▓▓▓▓░░▒▒▒▒▒▒▒▒███████████
    █████████████████████████████████████████████████▓▒▓▓██▒ ░▒▓██████▓██████████████████████▓▓▓███████████████████▓▓▓▓▓▓▓▓▓█▓█▓████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓▓▓▓▓▓▓░░░░░░▒▒▒▓████████████
    ████████████████████████████████████████████████▒▒▓▓▓█▒ ░▒▓█████▓████████████████████▓▓▓▓█████████████████████▓▓▓▓▓▓▓▓█████████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓▓▓▓▓▓▓▒░░░░▒▒▒▒▓▓████████████
    ████████████████████████████████████████████████▓▓▓▓█░ ░▒▓████▓███████████████▓▓▓▓▓▓████████████████████████▓▓▓▓▓▓▓▓████████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▒░░░▒▒▒▒▓▓█████████████
    ████████████████████████████████████████████████▓▓▓▓▒  ▒▓██████████████████████████████████████████████████▓▓▓████████████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░▒░░░▒▒▓▒▓▓▓██████████████
    ████████████████████████████████████████████████▓▓▓▓░ ▒▓██████████████████████████████████████████████████▓▓▓████████████▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓█▓▓▓██████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▓▒▒░░░░░░░▒▓▓▓▓▓▓▓███████████████
    ████████████████████████████████████████████████▓▓▓░ ░▓██████████████████████████████████████████████████▓▓▓▓████████████▓▓▓█▓▓▓▓▓████▓▓██████▓▓▓▓▓▓███▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▓▒▒░░░░░░░▒▓▓▓▓▓▓▓▓█████████████▓▓▓
    ████████████████████████████████████████████████▓▓░ ░▓█████████████████████████████████████████████████▓████████████████▓▓▓▓▓▓██████████████▓▓█▓▓▓▓▓█▓▓▓▓▓▓███▓▓▓▓▓██▓▒▒▒▒░░░░░░▒▓▓▓▓▓▓███████████████▓▓▓
    █████████████████████████████████████████████████▒░░▒████████████████████████████▓███████████████████▓█████████████▓▓▓▓▓▓█████████████████████▓▓▓███▓▓▓███████▓▓▓▓▓▒▒▒▒▒▒▒░░░░░▒▓▓▓▓▓████████████████▓▓▓▓
    █████████████████████████████████████████████████░░▒████▒▓██████████████████████████████████▓▓▓▓▓▓███████████████▓▓▓▓████████████████████████████████████████▓▒░░░░░░░░░░░░░░▒▒▒▓███████████████████▓▓▒▓▓
    ████████████████████████████████████████████████▓░░▓████▓░▒█████████████▓█████████████████▓███████████████████▓▓▓▓█████████████████████████████████████████▓▓▒▒▒░░░░░░░░░▒▓▓▓▒▓▓████████████████████▓▒▒▓▓
    ████████████████████████████████████████████████▒░▒███████▒░░░░▒████████████████████████████████████████████▓▓████████████████████████████████████████████▒░░░░░░░░░▒▓█▓▓▓▓▓▓▓▓█▓▓▓▓▓▓▓▓██████████▓▓▒▒▒▒▓
    ████████████████████████████████████████████████▒░▓██████████████████▓██████████████████████████████████████████████████████████████████████████████████▓▒░░░▒▒▒▒▒▓▓██▓▓▓▓▓▓▓▓▓▓██████████████▓▒▒▒▓▓▓▒▒▒█
    ████████████████████████████████████████████████░░█████████████████████████████████████████████████████████████████████████████████████████████████▓██▓▒░░▒▓██▓▓▓▓▓██▓▓▓▓▓▓▓▓▓██████████▓▒▒▒▒▒▒▒▒▓▓▓▒▒▒██
    ████████████████████████████████████████████████▒▒████████████████████████████████████████████████████▓██████████████████████████████████████████▓▓▓▓▓▓▒▓████▓▓▓▓▓██▓▓▓▓▓▓▓▓▓█████████▒▒▒░▒▒▒▒▒▒▒▒▒▒▒▒███
    ████████████████████████████████████████████████▒▓██████████████████████████████████████████████████████████████████████████████████████████████▓▓▓▓▓▓▓█████▓▓▓▓██▓▓▓▓▓▓▓██▓▓████████▓▒▒░▒▒▒▒▒▒▒▒▒▒▓█████
    ████████████████████████████████████████████████▓███████████████████████████████████▓█▓▓▓▓█▓▓▓██▓█████████████████████████████████████████████▓▓▓▓▓▒▓█████▓▓▓▓██▓▓▓██████████████████▒░░░░░▒▒▒▒▓█████████
    █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▓▓█▓▓▓█████▓▓██▓▓▓▓████████████████████▓▒░░░▒███████████████
    █████████████████████████████████████████████████████████████▓▒▒▒▒▒▒▒▒▓███████████████████████████████████████████████████████████████████████▓▓▓███████████████▓▓█████████████████▒▒░░░▒████████████████
    ███████████████████████████████████████████████████████▓███▓▓▓▓▓▓▓▒▒▓▓█████████▓█████████████████████████████████████████████████████▓███████▓▓██████████▓███████▓▓▓████▓▓▓███▓▓▒▒▒▒▒▒▓██████████████████
    █████████████████████████████████████████████████▓████████▓▓▓▓▓█████████████████░░███████████████████████████████████████████████████████████████████████████▓▓▓▓▓▓▓▓▓▓▓▒▒▒▓▓▓▒▒▒▒▒▒█████████████████████
    █████████████████████████████████████████████████▒▓██████████████████████████████░▒██████████████████████████████████████████████████████████████████████████▓▓▓▓▓▒▒▒▒▓▒▓▒▒▒▒▒▒▒▒▓███████████████████████
    ████████████████████████████████████████████████▓░▓█████████████████████████▓░░▓██▒█████████████████████████████████████████████████████████████████████▓▓██▓▓▓▓▓▒▒████▓█████████████████████████████████
    ████████████████████████████████████████████████░▒███████████████████░███████████████████████████████████████████████████████████████████████████▓▓████▓▓▓▓▓███▓▓████████████████████████████████████████
    ██████████████████████████████████████████████▒░▒████████████████████▒░█████████████████████████████████████████████████████████████████████████▓▓▓▓██▓▓▓▓▓██████████████████████████████████████████████
    █████████████████████████████████████████████▒░▓████████▒▓████████████▓░░▒█████████████████████████████████████████████████████████████████████▓▓▒▓██████████████████████████████████████████████████████
    ███████████████████████████████████████████▓░▒██████████▒░▓██████████████████████████████████████████████████████████████████████████████████▓▓▓▓▒▓██████████████████████████████████████████████████████
    ██████████████████████████████████████████▓▓█████████████▓░░▓██████████████████████████████████████████████████████████████████████████▓██████▓▓▓█▓▓█████████████████████████████████████████████████████
    ████████████████████████████████████████████████████████████████████████████████████████████████████████▓▒▓████████████████████████▓████▓████▓████▓▓█████████████████████████████████████████████████████
    ████████████████████████████████████████████████████████████████████████████████████████████████████████▓▓███████████████████▓██████▓████▓█████████▓▓████████████████████████████████████████████████████
    ██████████████████████████████████████████▓█████████████████████████████████████████████████████████████████████████████████▓▓██████▓▓███▓▓██████▓▓▓▓████████████████████████████████████████████████████
    █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▓▓██████▓▓███▓▓▓██▓▓▓▓▓▓████████████████████████████████████████████████████
    ████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▓▓▓██▓██▓▓▓▓██▓▓▓▓█▓▓▓▓██████████████████████████████████████████████████████
    ███████████████████████████████████████████▒▒██████████████████████████████████████████████████████████████████████████████▓▓▓███████▓▓▓██████▓▓█████████████████████████████████████████████████████████
    ██████████████████████████████████████████▓██████████████████████████████████████████████████████████████████████████▓███████████████▓▓▓█████████████████████████████████████████████████████████████████
    ████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▓▓███▓▓█████████▓▓▓██████████████████████████████████████████████████████████████████
    ██████████████████████████████████████████████████████████████████████████████████████████████████▓█████████████████▓▓▓▓▓██████████▓▓▓███████████████████████████████████████████████████████████████████
    ████████████████████████████████████████████████████████████████████████████████████████████████▓▓▓████████████████▓▓▓▓▓█████████████████████████████████████████████████████████████████████████████████
    ████████████████████████████████████████████▓░▒████████████████████████████████████████████████▓▓▓███████▓████████▓▓███▓█████████████████████████████████████████████████████████████████████████████████
    ████████████████████████████████████████████▒░▓███████████████████████████████████████████████▓▓▓███████▓███████▓▓▓▓██▓▓▓████████████████████████████████████████████████████████████████████████████████
    ████████████████████████████████████████████▓▒█████████████████████████████████████████████▓▓▓▓████████▓▓████████▓▓███▓▓█████████████████████████████████████████████████████████████████████████████████
    ███████████████████████████████████████████████████████████████████████████████████████▓▓▓▓▓███████████▓▓████████▓▓▓███▓█████████████████████████████████████████████████████████████████████████████████
    ████████████████████████████████████████████████████████████████████████████████████▓▓▓▓██████████████▓▓████████▓▓▒▓██▓▓█████████████████████████████████████████████████████████████████████████████████
    █████████████████████████████████████████████████▓▓██████████████████████████████▓▓▓▓█████████████████▓▓█████████▓▓▓██▓▒▓██████████████████████████████████████████████████████████████████████▓█████████
    ██████████████████████████████████████████████████▒▓░████████████████████████▓▒▒▓█████████████████████▓▓█████████▓▓▓███▒▒▒▓██████████████████████████████████████████████████████████████████████████████
    ██████████████████████████████████████████████████▒▒▓██████████████████▓▓▓▓▓███▓██████████████████████▓▓███████▓▓█▒▒▓██░▒▒▓▓█████████████████████████████████████████████████████████████████████████████
    ███████████████████████████████████████████████████▒▒██████████████▓▓▓█████████▓▓████████████████████▓█████████▒░██▓░▓█▓░▒▓▓█▓█████████▓█████████████████████████████████████████████████████████████████
    ████████████████████████████████████████████████████▒▓██████████▓▓█████████████▓▓████▓█▓████████████▓██████████▓░▒██▓░░█▓░▓▓▓▓▓█▓▓▓████▓█████████████████████▓███████████████████████████████████████████
    █████████████████████████████████████████████████████▓████████▓▓███████████████▓▓▓███▓▓▓███████▓███▓░▓█████████▓▒░▒██▓▒░▓▒░▓▓▓▓▓▓▓██▓▓▓██████████████████████▓▓██████████████████████████████████████████
    ██████████████████████████████████████████████████████▓█████▓▓█████████████████▓▓██▓▓▓▒▓▓█████▒▓████░▒███████████▒░▒▓█▓▒▒▓▒▒▓▓▓▓▓▓▓▓▓▓▓███████████████████▓██▓▓▓█████████████████████████████████████████
    ██████████████████████████████████████████████████████████▓▓███████████████████▓▓▓▒▓▓▓░▒▓████▓▒█████▓░▓███████████░░▓▓█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██████████████████████▓▓▓▓█████████████████████████████████████████
    ██████████████████████████████████████████████████████████████████████████████▓░▓▒▒▓██▒░▓████▒▓██████░░▓██████████▓▒▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓███████████████████▓▓▓▓▓▓██████████████████████████████████████████
    ██████████████████████████████████████████████████████████████████████████████▒░▓▒▓███▒░▓███▒▒▓██████▓░░▒██████▓███▓▓████▓▓▓▓▓▓▒▓▓▓▓▓▓███████████████████▓▓▓▓▓███████████████████████████████████████████
    ██████████████████████████████████████████████████████████████████████████████▒░▒▒▓█▓▓▓░▒███░▓████████▓▒░▓▓█▓▓▓█████▓▓█████▓▓▒▓▒▒▒▓▓▓▓▓██████████████████▓▓▓▓██████▓█████████████████████████████████████
    █████████████████████████████████████████████████████████████████████████████▓▒░▒▓▓▓▓▓▓▒▒▓█▓▓██████████▓▓▓▓▓▓▓▓▓█▓▓▓▓▓▓█████▓▓▓▒▒▒▒▓▓▓▓█████████████████▓▓▓▓▓▓███████████████████████████████████████████
    █████████████████████████████████████████████████████████████████████████████▓▓░▓▓▓█▓▓▓▓▓▓█████████████▓▓█▓▓▓▓▓████▓▓▓▓▓▓████▓▓▓▓▒▒▒▓▓▓▓████████████████▓▒▒▒▒▒▓▓█████████████████████████████████████████
    █████████████████████████████████████████████████████▓▓▓█████████████████████▓▓▓▓▓██▓▓▓▓▓▓██▓██████████▓█▓▓▓▓▓██████▓▓▓▓█▓▓███▓▓▓▓▒▒▒▓▓▓███████████████▓▒▒▒▒▒▒▒▓▓████████████████████████████████████████
    █████████████████████████████████████████████████████▓▓▓▓▓███████████████████▓▓▓▓███▓▓▓▓▓▓██▓█▓████████▓▓▓▓▓▓▓▓██████▓▓▓▓█▓▒▓██▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▓▓█████▓▓▒░░▒▒▓▓▒▒▓████████████████████████████████████████
    ███████████████████████████████████████████████████████▓▓▓▓▓▓▓███████████████▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓███████▓▓▓▓▒▓▓▓██▓████▓▓▓▓▓▒░░▒▓▓▓▓▓▒▒▒▒▒▓▓▒▒▒▓▓▓▓███▓▓▒░░░░▒▓▓▓▓▓▓███████████████████████████████████████
    ████████████████████████████████████████████████████████▓▓▓▓▓▓▓████████████▓▓▓▓▓██▓▒▓▓▓▓▓▓▓▓▓▓▓███████▓▓░░░░▒▓█▓██████▓▓▓▓▒░░░▓▓▓█▓▓▓▓▒▒▓▓▒░▒▒▓▓██▓▓▓▒░░░░░░░░▒▓▓▓███████████████████████████████████████
    █████████████████████████████████████████████████████████▓▓█▓▓▓▓███████████▓▓▓▓██▓▒▓▓▓▓▓▒▒▒▓▓▓█████████▓░░░░░▓█████████▓▓▓▓░░▒██▓▓▓▓▓▓▒▒░░░░░░▒▓▓▓▓▒▒░░░░░░░░▒▒▒▓▓▓▓█████████████████████████████████████
    ████████████████████████████████▓████████████████████████▓▓▓▓▓▓████████████▓▓▓▓▓▓▒▒▓▓▓▓░░░░▒▓█████▓████▓▒░░░▒█████████▓▓▓▓▓▓░░████▓▓▓▒░░░░░░░▒▓▒▒▒▒▒░░░░░░░░▒▒▒▒▓▓▓▓▓████████████████████████████████████
    ████████████████████████████████████████████████████▓▓▓▓▓▓▓▓▓█████▓▓███████▓▓▓▓▓▓▒▓▓▓▓█▒░░░▒████████████▓░░▒████████████▓▓▓▓░░░▓████▓▓▒▒░▒░░░▒▒▒▒░░░░░░░░░░░▒▒▒▒▓▓█▓▓▓███████████████████████████████████
    ██████████████████████████████████████████████████▓▓▓▓▓▒▒▒▓▓▓█████████████▓▓▓▓▓▓▓▒▓▓▓▓█▓░░░▓██████████▓▓▓░░▓██████████████▓░░░▓▓████▓▒░▒▒░░░░░░░░░░░░░░░░░░░░▒▒▓▓▓▓██▓▓██████████████████████████████████
    ████████████████████████████████████▓████████████▓▓▓▒▒▒▒▒▒▓▓▓▓▓▓▓██████▓▓▓▒▓▓▓▓▓░░▓▓▓▓▓▓▒░▓████████████▓▒░░▓▓█████████████▓▒░░▓█▓▓▓██▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░▒▓▓▓▓▓█▓▓▓█████████████████████████████████
    ██████████████████████████████████████████████▓▓▓▓▒░░▒▒▒▒▒▓▓▓▓▓▒▒▓▓▓▓▓▓▓▒▒▓▓░░▒▓▓▓▓▓▓▓▓▓░░▓██████████████▓░▒███████████████▓░▒███▓▓▓▓█▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░▒▓▓▓▓█▓▓▓▓▓███████▓▓█████████████▓█████████
    █████████████████████████████████████████████▓▓▓▓▒░░░░░▒▒▒▓▓▓▓▓▒▒▒▓▓▓▓▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░▓█████████████▓▓▓▓█████▓▓▓▓█████▓▒▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█████████████████████
    █████████████████████████████████████████████▓▓▓▒░░░░░░░░░░░▒▒▓▒▒▒░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓████▓▒░▒▓█████████████▓███████▓▓▓▓▓████▓▓▓▓████▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██████████████████████
    █████████████████████████████████████████████▓▓▓▒░░░░░░░░░░░░▒▒▒░░░░░▒▒▓▓▓▓▓▓▒▓▓▓▓▓██████▓░▓▓██████████████▓███████▓▓▓▓▓▓███▓▓▓▓████▓▓▓▓▒▒▓█▓▓▓▓▓▒▒▒░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█████████████████████
    ██████████████████████████████████████████▓███▓▓▓▒▒▒░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▒▒▓▓▓▓▓█████████▓▓▓█████████████▓█████████▓▓▓▓▓▓███▓▓▓██▓██▓▓▓▓▓▓▒▓▓▓▓▓▓▒▒░░░░░░░░░░░░▒▒▓▓▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▓████████████████████
    ███████████████████████████████████▓██▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒░░░░░░░░▒▒▒▒▒▒▒▓▓▓▓▒▒▓▓▓▓▓▓██████▓▓██▓▓▓████████████████████████▓▓▓▓▓▓▓███▓▓█▓▓▓███▓▓▓▓▓▓▓▓▓▓▓▒░▒▒▒░░░░▒░░░░▒▒▒▓▓▓▓▒▒▒▒▒▒▒▓▓▓▓▓▓▓███████████████████
    ██████████████████████████████████▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▒▒▒▒░░░░░░▒▒▒▒▓▓▒▓▓▓▓▒▒▓▓▓▓▓█████████▓▓█▓███████▓▓████████████████████▓▓▓▓▓▓▓███▓▓▓▓▓▓███▓▓▓▓▓▓▓▓▓▓▒▒▒▓▓▒▒░▒▒▓░░░░░░░░░░░▒▒░░░▒▒▓▓▓▓▓███████████████████
    █████████████████████████████████████▓▓▓▒▒▒▓▓▓▓▓▒▒░░▒░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██████████▓▓▓▓▓██████▓▓▒█████████████████████▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓█████▓█▓▓▓▓▓▒▒▓▓▓▓▓▓▒▒▒▓▒░░░░░░░░░░░░░░░▒▓▓▓▓▓██████████████████
        
                                                                                                                                                                                                             
                                                                                                                                                                                                             
                                                                                                                                                                                                             
                                                                                                                                                                                                             
                                                                                                                                                                                                             
                                                                                                                                                                                                             
                                                                                                                                                                                                             
                                                                                                                                                                                                             
                                          ###########+                                                                                                                                                       
                                       ##################+                                                                                                                                                   
                                     #######################                                                                                                                                                 
                                    #########################                                                                                                                                                
                                   ###########################                                                                                     +############++                                           
                                  +###########################                                                                                   +#################+                                         
                                  ###########################                                                                                   #####################                                        
                                  ###########################                                                                                 +#######################+                                      
                                  +##########################+                                                                                #########################                                      
                                   ###########################                                                                               ##########################+                                     
                                   -#########################-                                                                              -###########################                                     
                                     #######################+-                                                                              -###########################                                     
                                       +###################-                                                                                 +########+#++#############-                                     
                                          -++#++++++###++-                                                                                   -########################+                                      
                                             --+-+-                                                                                            +#####################+                                       
                                              +-##+                                                                                              -+################+                                         
                                              ++###                                                                                                 -++--+#---+#+-                                           
                                            +###+##+                                                                                                    +####-                                               
                                        -##-####++#---                                                                                                  +####+                                               
                                 -######+----##++++++++---++#+-                                                                                        -######-                                              
                                +########----+###++++#-+#+-+####-                                   -##-                                             -###########-                                           
                               -########+------+##+++++###+-#####-                               -####-#-                                        -########+#+#########+--                                    
                               ##########+++#####++++++##++-+######+  +--                       -###+#+#+                                +####-+######++#+#++########++-+- --                                
                               +#####+--##############+##+######+#++--#####+-                 - ########-                               +###+##########++#+++++#####+### ####                                
                              -######- +######################-     -##########-       --+###---#####-+                                 +#############+++++###+##############-                               
                              -+#+--+- -############++#########       -++#####+---##-#########-                                         +####################################-                               
                              -#+--+#-  +######################            -+++-+###+#####+-                                             +#++#####################+##########-                               
                              -######   ###########+-+++#+##++                  -####+++                                                ##############################++##+###-                              
                              -#####+   ###################+-                     --++-                                                 #######+++####################  -######                              
                              -#####-   ###################+                                                                           -#+###-#######################-   ######-                             
                              -#####-   ########--+#########                                                                           +####- +########+#############.   -#####+                             
                              -#####.   ###################+                                             ..                           .#####  -########++###########+    .+#####.                           .
                              -####+.   +########+#########-.                                       .-+++#++.                         .####.   #####################-     .#####.                         .+#
                              -+###+    -#######++########-                                        .##-######-                         -+#-    -#################+##.      +###-.             ...--++####++-+
                              -####-     ########++#######.                                        .###################++----...    -+####.    .####################.       -#####+-.--+################++###
                             +######.    -+######+#######+                                         .-.############################+-+######     +##################-      .+#####--##################+---.-#+
                            .#######+ -######++#####++###-                                                         ..-++##########+--#####+     .##################+.      +++###-+#########+--.             
                            .#######+########-+########+-+#-                                                                 ..---..-++- .       -##--+###############-      .---. -+--.                     
                             ++--+#####################-+###+                                                                                   -#######+--.-###########                                     
                            -################################-                                                                                 +#########################                                    
                           .######+###############+++#########                                                                                +#########+#+##############+                                   
                           -######+######+####################                                                                               .############################.                                  
                           +###############++###########++++#+                                                                               -######+++++++++####++#######+.                                 
                           #################+++++++++#+++##++-                                                                               -+#####+++++++++++++####-+###+..                                
                          .##################+++++++++++####++                                                                                #+#####+++++#+++++####+#######-                                
                          -###########+-###+++++++++++#######+                                                                               -+-+#####++++++++++#############.                               
                          +##################++++++#######+###+                                                                              -+#########+++++++##############-                               
                          #####################################.                                                                             -###############################-                               
                         .#####++############+  -########++####-                                                                             .+##############################-                               
                         +####+ -+############. +########++####+                                                                              +##############################                                
                         #####. .#############- -##############+                                                                               +############################-                                
                         ####+   +############- .###############                                                                                ++######################+##+                                 
                         +-##.   -+###########-  ###############                                                                                -++####################+###.                                 
                         +#+#.   .+###########-  +#############+                                                                                 -++#################++###-                                  
                        -###+#-   ++##########-  -############+-.                                                                                 +++#+###############+###.                                  
                        -###++#.  -+##########-  .#############+.                                                                                  +++#+############+####-                                   
                        -#####+   .++#########.   +############+                                                                                    +++############++###+                                    
                        .#####-   .+######+###.   -############+                                                                                     ##+####+######+###+                                     
                         +++#++.   -+#####+###.   -############+                                                                                      ##+####+++#######.                                     
                          ++###-   .+#####+##+    .+###########-                                                                                       +#-##-++##+####-                                      
                           #+-+-    ++###++##+     +###########-                                                                                        +-++#########+                                       
                           -#-      -+####+##+     -###########.                                                                                        -##+++####+--+                                       
                           .#-      .####++##-      ###########.                                                                                        +-#########+++-                                      
                            --      -#+###+##-      +##########                                                                                          .###########-.                                      
                                    -#+###+##.      -##########                                                                                           +#########+-                                       
                                    ...+##+##.      .#+--#####+                                                                                           -+#######++.                                       
                                   ..-####-.#.      .#--+#####+                                                                                            +++++++#+-.                                       
                                   +#-##-+#++-      .#-+###--#-                                                                                            -+++++++..+.                                      
                                   -++#######-      .#########-                                                                                            -++++##++++.                                      
                                    -++#####+        -#++#####                                                                                             ######-###+                                       
                                    ##++++##          ##++++##                                                                                            -+#########+                                       
                                    +#######-        .########+                                                                                           -######++##+                                       
                                    ++######+        .#########                                                                                           -######+###+                                       
                                    ++######+         #########                                                                                           -+#####+###-                                       
                                    -++#####+         ##+######                                                                                           ++####++###                                        
                                    -++#####+         ##++#####.                                                                                          #+####++##-                                        
                                     ++######         -#++#####.                                                                                          #+####++##                                         
                                     ++##+###         .#+++####.                                                                                          #+###+++#-                                         
                                     -+##+###          #+++####.                                                                                          #####+++#.                                         
                                      ++#++##          -#++####.                                                                                          #####+++#                                          
                                      -+#++##           #+++###.                                                                                          #####++#+                                          
                                      .+#++##           -+++###                                                                                          .####+++--.                                         
                                       ++++##            +++###                                                                                          .####++--.##                                        
                                       -+#+##            -++###                                                                                          -###+++--###-                                       
                                       .+#+##             ++###.                                                                                         +###+++++###+                                       
                                        +++##             +++##-                                                                                         ###+++##+##+                                        
                                        ++++#.             #+##-                                                                                        -++++++#####.                                        
                                         #+++.             -###+                                                                                       --++#+++##+##.                                        
                                         +.--.              +--+-                                                                                     ##+###++.++##+                                         
                                         +--++.            ----+#                                                                                     #-++++#--#+###                                         
                                         +#####           -#++###.                                                                                    .-.--+--+#####                                         
                                        .-.-##+           +##++++.                                                                                    -#####-.#####-                                         
                                        .+--##+           +######+-                                                                                   +#+###+-++#+-                                          
                                        .++###+           -########-                                                                                  ##+###+                                                
                                         +#####           .######+#+-                                                                                -++.-+++                                                
                                         --+#-+-          .######+----                                                                               +#+-#++-                                                
                                         ####++#-          ############-                                                                            -#+####+-                                                
                                         +#######-              -#########+                                                                         .####++-                                                 
                                           .-----                                                                                                                                                            
                                                                                                                                                                                                             
                                                                                                                                                                                                             
                                                                                                                                                                                                             
          
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%**%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%=-::::-======-=====#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@%@@@@@@@@@@@@@@@@@%%@@@@@@@@@@%++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+=:::::============*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@%*=+*@@@@@@@@@@@%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+=:::::--===-=====*@@@@@@@@@%*+%@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%@@@@%%%%+=++%@@@@@@@@@@@*%@@@%%@@@@@@@@@@@@@@@@@@@@@@@%*%%*=::::--==-=---=%%@%@@@@@@%=#@@@@@@@@%%%@@@@@@@@@@@%*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#@@@%%%#*-=++*%@@@@@@@@@@*=%@@%*%@@@@@@%%@@@@@@@@@@@@@%%#*%%%+:::--==----=%%@%@%@%@%%+=%@@@@@@@@@@@@@@@@@@@@@@**%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*+*=-=++=*%@@@@@@@@@%-+%@%*%@@@@@@%=%@%@%@%@%@%@%@@%*#+%#+-::-=-::-=%%%%@%@%%%*==+#%%@%@%@@@@@@@@@@@@@@@@+**%@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#-===--=+=-*@@@@@@@@@#-=%%%+%@%@%@@%*=%@@@@@@@@@%@%%%*=-#%#=-:----:-*%%%%%%%%%=:-==*%%%@@@@@%@%@%@@@@@@@@@#*+*%@@@@@@@#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@#%@@@@@@@@@@@@@@@@%#--==--==+=-#@@@@@@@%*-+%%%=#%@@@%%%%**%%%%@%%@%@%%%%*-:-*%#=::---::=%%%%%%%*::-===*%%#%%%@@@@@@@@%@@@@@@@%*==*%@@@@%*#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@#%@@@@@@@@@@@@@@@%#=-----====+-+%@@@@@%*==*%%%==%%%%@%%*%*%@@%@%@%@%%%%%*-::-*%%=::--::-*%%%%%*-::=====%%#%@%@%%@%@%@@@%%%@@@@%+==#%@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@##=::---===-==:*%@@%@@%===*%%%+==*%%%%#*%+*%%%%%%%%%+%%#=-::-*%%=:::--:-*%%%%%=-::-=+=-=%%%%%%@%@%@@%@@%#%@%@@%*:=*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#=::-----==:::*%@%@@%@%===*%#%=====%%%%=*=#%%%%%%%%%=##=-::-*%%=::::----=#%%%*:--:-====-++#%%%%%%@%@%@%%*%@%@%%*--+#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+:::-------:-*%@@%*%%%%+-==*#+====--*%%+-=%%%%%%%%%%===-:::+%#-:::---:--=+#%%+-:-::-----::-+%%%%%%%%@%@%++%%@@%*-:=*%@%@@@@@@@@%#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+-:::--:---::#%%@%*+%@%%#=:==+=--==---#%=:=%%%%%%%%%*===::-*%%=::::---::---=#**:::--:-------==#%%%%%%%%%*-=%%%%%*-:=*%@@%@%@@@%%++%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*---::::----:-%%%%@*=%%%%%+::-----==-:=%*-:=*%%%%%%%%*==::-**#%=::::::::--===-==-:::----------==#%%%%%%%*-=#%%%%+-::*%%@%@@@%%#=-=%@@@@@@@@@@@@@@@@@@@@@@@@@@@%#@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+--=-::::-----%%%%%*:+%%%%*-:::-:-=-::**-::=+#%%%%%%**=-::-+%%*=::::-==++=======-::::----------=+%%%%%%#-=#%%%%*::=#%@%@@%@%%+--=*%@%@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*--==::::-==--%%%%%#=-*%*%%*=-:::----:**::-=+=%%##%*#%+=::--+*=-:::===+++*++*++==-:::::--:----==+#%%%%%*-=#%%%#--*%%%%@%@%@%%*::=%%@@%@%@@@@@@@%*%@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*=--=-::--=+=-#%%%%*::*%**%%#==:::--:--=::-===*%#=#+*%%#-:-----:-===+++=+******=+=::::::--::---=+*%%%%%*:-=%%%=:+%%%%%%%%%%%%=:-*%%%@@@@@@%@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@%#=---::--====*%%%*-:=*%#=*%%%*-:::::---::::=-*%%=-=+%##*::---:-=++=***+********+====::::::::--=+#%%%%*=:-=#%*--+%%*%%%%%%#=-:=#%*%@%@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@%@%@%@%%%%*+---====#%%*-:-#%**==*%%%=-:::::-::::::::=*=-=#%*#+::::=*=+*+=**************=======-::::-=*%%%===-:--#%#*--+%%%%%%*=---+%%*%%%@%@%@%@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@%@@@@%@%@@@@@%@%%%%%%%#===-=#%%+-==*%*=+==+%%*--::::::=-++=====::-=*##+-::=+*+****************+=====+***+=-:==*%%=----:--=###%*=*%%%%=--:--++*+#%%%%@%@@%@%@@%@%@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@%@@@@%@%@%@%*%%%%%%%+=--=%%*==*++%*-==-=*%*=---:-=++++*+*+==--:::**--:-+*+***************=:--===+*****+=---*%#=:------:=#%%*+%%#*:--::--==+=*%%%%%@%@%@@%@@@@@@%@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@%@@@%@%@@@%@%%*%%%%%%%=-:-*%#=-+#***=----=*#*---:-==+*******++==-:::-::::=+*************+::==-===+******++===*##=:-------:+%%=*%*=:---:--===+--%%%%%%%@%@%@%@%@%@@@%@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@%@@@%@%@@%@%@%%%%%%=#%%%=-+%%*=-:=#*==-----==+=-:::=+++***********==---::::::=************===*+==******###**==+**#=::----=-:=#%=*+::::-::--==-+-:=#%%%%%%%%@%@%@%%%@@@@@@@@@@@@@@@@@@@@@@
            @@@@%%%@@@@@@@@@@%@@@%@%@%%%%%@%%%*=-%%%=*%%+=--:-+#*=--:--==---===*+**********+*******=-===::-=**#****#+==++*****#**#####*+*======:::-:---=***===::::-:::-=--=-::=%%%%%%%%%%%%%%*%@%@%@%@@@@@@@@@@@@@@@@
            @@@@@@%%%@@%@%@%@@%@%@%@%@%@%%%%%*=--%%%=+%*===-:==*=:::-:::::-====**+**********************=--==**#*****==*****#***#*####****=----========-======--::::::---==-:::=%%%%%%%%*=%%%*%@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@%@%@%@%%%%%%%%%#++=-+%%%*=**==--==+::=======---=-+*****************************=--=#**+====*******##*########*++==++=+++====+++=---::::::::------:::*%%%%%%%%*%%#*%%%@%@%@%@@@@@@@@@@@@@@
            @@@@@@@@%@%@@%@@@%@%%%%%%%%%%%%++==-=*%%#+-+*=:---===+=====+=--+*****************#*##**********+===+***===*++###*###*########******+==+**+=+***+==--:::::::---::--:-=%%%%%%%%%%%*%%@%@%@@%@%@@@@@@@@@@@@@
            @@@@@@@@@@@%@@%%@%@%%%=+%%%%%%%=====-=+*#*=:==::==**********+=+*********##***##**#######*****##%*==**+*==+***##***#*#######%%##*###*==+**===****++=-::--:::::-::-=--#%%%%%%%%#*=#%%%%%@%@%@@@%@@%@@@@@@@@
            @@@@@@%@%@%@%@%@%%%%#%%%%%%%%%%*--==--===*==:::-=***********==*********######*#*#*##############*===+**==*#*##*#**######%###%%###%%#*==***=+*******=-:-==-:-:-::-==*%%%%%%%#==+%%%%%%%%@%@%@%@@@@@@@@@@@@
            @@@@%@@%@%@%@%@%@%%%**%%%%%%%%%#=--=---====--:-=******#****-=***##****##############%%%%%%%%%%%%#+==**===*######*#####%%#%%%#####%%%#*=*+=*********=---+=-=-=-:::-=*#%%%%#+==+##%%%%%%@%@%@%@%@%@%%%%@@@@
            @@%@@@@%@%@%%%%%%%%%%=*%%%%%%%%*==--==-------====**********==*#******###%%#**#######%#%%%%%%%%%%%%*==*##############%%%%%#%%#%%%##%%#*=**=*#*******+=-=**+=======--=*#%%#=-==***%%%%%%%%%@%@%@@@%%%@@@@@@
            @@@%%%@%@%%@%@%%%%%%%-=%%%%%%*++==----:-----=--:==*******=--*##**#*****%#%#*+*##%#%##%%%%%%%%%%%%%*==*####%%%%%###%%%%%#%%%%#%%%%%#**++#*#####*****+==++=-===++===-:+*#*=--===--#%%%%%%%%%@%@%@%@@@@@@@@@
            @@@@%%%%%@%%%%%%%%%%=-=%%%%%%=====--::=====+==--====******-+*****##**##%%%%%#++***##%%%%%%%%%%%%%%%*=*%%%%%%%#*+*%%%%%##%%%%%%%%%%#+=*#%#######*#*****==+=****+=====-=-:::-===-:=*%%%%%%%@%@%@%@@@@@@@@@@
            @@%@@%@%%%%%%%%%%%*--:*%%%%%*+==----::=++****======+******--+****#*###%%%%%%%%%#*==**#%%%%%%%%%%%%#++%%%%%%%#+*%%%%%%%#%%%%%%%%%%*+=#%%###########****==+*****+++=+=-:::-:--==---*%%%%%%%%%%%%@%@%@%@@@@@
            @@@%@@%@%@%%%%%%%#=--*%##%%%*+==----::-=*******+===+*******+++*#**###%%%%%%%%%%%%#+==*%%%%%%%%%#%%%+*%%%%%%#**%%%%%%%%%%%%%%%%%*+*##%%%%#######%##**+=***********+++==-::::-==--==*%%%%%%%%@%@%@%@%@@%@@@
            %@%@%%%%%%%%%%%%**=-=*#*+%%%#*===--:::-=*******=====+*******+==+**###%%%%%%%%%%%%%#==*#%%%%%%%##%%%##%%%%%%**%%%%%%%%%%%%%%%%%%*+*%%%%######%#%%%###++*#************++=::::-====-==#%%%%%%%%%%%%@%@%@@@@@
            @%@%@%@%%%%%%%%%=--===*==%%%%+**==-:::-=*******+====*******#*#+=+*#####%%%%%%%%%%%%+=+*%%%%%%%%#%%%#%%%%%%%**%%%%%%%%%%%%%%%******%%%%%##%########+==*###************+=::::--==--==#%%%%%%%%%%@%%@%@%@%@%
            @%@%@%%%%%%%%%%*::-====::+#%##=*+-::---+*******+==-=******#####+=+##%%%%%%%%%%%%%%%+=+*%%%%%%%%%%%%#%%%%%%%#*%%%%%%%%#%%%**++*%%%**%%%%%#######%#*=+#######**********+=-::-=-=---+*#%%%%%%%%%%%%%%@%@@@@@
            %@%@%%%%%%%%%%%=::--=--::--+*=-:--:::::=********===*********###*==***#%%%%%%%%%%%%#+==*#%%%%%%%%%%%%%%@%%%%%*#%%%%%*+===+=+**%%%%#*%%%%%%%%%%%%%#++##*+*==************+=:-+::----+*%%%%%%%%%%%%@%%%@%%@%@
            %@%%%%%%%%%%%%%+:::----:::::::-==-==-::-=*******+==+*******#####*=*####%%%%%%%%%%%%#+=+#%%%%%%%@%%%%%%@%%%%%##%%%%#+=+*%%%%%%%%%%#*%%%%%%%%%%%%#*==**==++=*##*********+=::-::----==%%%%%%%%%%%%%%@%%@%@@@
            %%@%%@%%%%%%%%%%=:::----:::::==**+*=-====********=-+******##%%%#++#%%%%%%%%%%%%%%#%%%*=+***##%%@%%%%%%%%%%@%%%%%%%*+*%%%%%%@@@%%%%*%%%%%%%%%%##*==****===#####********+-=--=:-----=*%%%%%%%%%%%%%%%%@%%@%
            @%%%%%%%%%%%%%%%%%*-:----:::==+***=--=++=++******+===***###%%%%%**%%%%%%%%%%%%%%%%%%%%%*++==+*#%@%%%%%%%@@%%%@%%%%*+#%%%%@@@@@%%%%###*##*%#***+++*#####*=*####****+=--:-====-::---=*%%%%%%%%%%%%%%%%%@%@@
            %%%%%%%%%%%%%%%%%%**+------=******+=***=+****=====+===+###%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%+**#%%%%%@%%%@%%@%%@%#**%%%%@@@@%%@%%%#**#***+**#%#%%%%%%%%#+=***===+++++++***+=::--=**%%%%%%%%%%%%%%%%%%%@%@
            %%%%%%%%%%%%%%%%%%%+++==:-=+**********+****###%%#****+==*##%%%%%*#%%%%%%%%%%%%%%%%%%%%%%%%%%%****#%%@@%%%%%%@%%%#+*%%@@@%@%%@%@%%%**%%%%%%%%%%%%%%%%%%%*=+##*#******+******+=:-*++%%%%%%%%%%%%%%%%%%%%%@%
            %%%%%%%%%%%%%%%%%%%%%*==-:=***********++*####%%%%%%%%#+=====*###*#%%%%#%%%%%%%%%#%%%%%%%%%%%%%%%%#*%%@@%%%%%%%@%%**%%@%%@@@%%%@%#*%%%%%%%%%%%%%%%%%%%%%*++#%%%%%%%%#*+*****=::-**%%%%%%%%%%%%%%%%%%%%%@%@
            %%%%%%%%%%%%%%%%%%%%%%+=-=************+**##%#%%%%%%%%%%%##*=====+*#%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%#%%@%@%%@@%@@%#**%@%%%@%%@@%%%*%%%%%%%%%%%%%%%%%%%%%%#*+#%%%%%%%%%%******+=:--+#%%%%%%%%%%%%%%%%%%%%%%@
            %%%%%%%%%%%%%%%%%%%%%%*:::-=+*********++*##%%%%%%%%%%%%%%%%%%%#+++*#%%%%%%%%%%%%%###%%%%%%%%%%%%%%%%@@%@%%%@@@%##*%%%%%@%@@%%@%%#%%%%%%%%%%%%%%%%%%%%%%#**%%%%%%%%%%%#***#**==+*=-=#%%%%%%%%%%%%%%%%%%%%@
            %%%%%%%%%%%%%%%%%%%%%%##*=-++=*******==+#%%%%%%%%%%%%%%%%%%%%%%%%*+*%%%%%%%%%%%%%%%#%@%@%%%%%%%%%%%%@@%%@%%%%###%%%%%%@@@@%%@@%##%%%%%%@%%%%%%%%%%%%%##**%%%%%%%%%%%%#+*###*=***=--*#%%%%%%%%%%%%%%%%%%%%
            %%%%%%%%%%%%%%%%%%%%%#*---=*###***+*+==*%%%%%%%%%%%##%%%%%%%%%%%%%#**%%@%%%%%%%%%%%%%#%%%%%%%%%@%%@%@@%@%@%%%#%%@%%@@@@%@@@@@%%##%%@%@%%**%%%%%%%@%%#**#%%%%%%%%%%%%%%*+*#**+*##*==:=*%%%%%%%%%%%%%%%%%%%
            %%%%%%%%%%%%%%%%%%%%%#*-:-=**###**=====*%%%%%%%%%%%@%%%%%%%%%%%%%%%**%%%@%%%%%%@@%%%%%##%%%%#%%%%%@@%%%%@@%%%#%%%%@@%@%@%@@@%%%##%@%@%##%%%%%@@%%%%#*#%%%%%%%%%%%%%#*+==*+==##%#**+=-*%%%%%%%%%%%%%%%%%%@
            %%%%%%%%%%%%%%%%%%%%*=:==-****#%%##**==+*%%%%%%%%%%%%%%%%%%%%%%%%%%#**#%%%%%%%%%%%%%%%%%%%%%#%%%%%@@%%%%%@%%%%@@%@@@@@@%@@@@%%##%@@%##%%%%@@@%@%%#*#%%%%%%%%%%%%#*++=+*#%%%%%###*#**--*%%%%%%%%%%%%%%%%%%
            %%%%%%%%%%%%%%%%%%%*-==*+-***###%####*===#%%%%%%%%%%#%%%%%%%%%%%%%%%%#***#%%@%%%%%@%%%%%@%%%%%%%@%@@%%%@@%%%%@@@%@@@@@%@@@%%%#%%%%%###%@%%%%@%%%%##%%@%%%%%%%%***#%%%%%%%%%%%#####*==-*%%%%%%%%%%%%%%%%%%
            %%%%%%%%%%%%%%%%%%%*--=***==**##%%%%%%#===++*%%%%%%%%%%%%%%%%%%%%%%%%%%%****%@@%%%%@%@%%%@%%%@@%%@@@%%@@@%@%@@@%@@@@@@@@@@%%%%@%@%##%%@@@@@@%%%##%%%%%%%%%%%**#%%%%%%%%%%%%%######*+=::=+*%%%%%%%%%%%%%%%
            %%%%%%%%%%%%%%%%%%%*=--=**+=+*###%%%%%%%#**==*%%%%%%%%%%%%%%%%%@%%%%%%@%@@@%%%%@@%%%@@@%@@%%%@@@@@@@@@%@@%@%@%@@@@@%%@@@@@%%@@@@%#%%%@@@@@%%%%%##%%%%%#**#**#%%%%%%%%%%%%%%%#####**=-:-==-=%%%%%%%%%%%%%%
            %%%%%%%%%%%%*#%%%%%##=:-==*+==*#%%%%%%%%%%%%*==*%%%%%%%%%%%%%%%%%%%%%%%@%%%@%%%%@@%%%@@@@@@@%%@@@@@%%@%@@@@%@@@@@%%%@@@@@%@@@@%%%%@@@@@@%@%%%%****#***#%%%%%%%@%@%%%%%%%%%%####***=--*#*==#%%%%%%%%%%%%%%
            %%%%%%%%%%%%++%%%%%#*--=+**###*+*#%%%%%%%%%%%#*=+*****%%%%%%%%%%%%%%%%%%%%@%%@%@%@@@@%@@%@@@@@%%@@@%@%%@@@@@@@@@@%@@@@%@%@@@@@@@@@%@@@%@%#####%%%%%%%%%%%%@@@@@@%%%%%%%%%%#*****#*+==+##%%%%%%%%%%%%%%%%%
            %%%%%%%%%%%#==*####*=-=**#*##%%#*++#%%%%%%%%%%%%%%%%%%**#%%%%%%%%%%%%%@%%%%%@%@@@%%@@@@@%@%@@%@@@@@%%@@@@@@@@%@@@@@@%@%@@@@@@@@@@@@%%@%#**#*#%%%%%%@%@@@@@@@%@%%%%%%%%##++**%%%%%###**#%%%%%%%%%%%%%%%%%%
            %%%%%%%%%%%%*=-:::----=**##%%%%%%%******#%%%%%%%%@%%%%@%%#%%%%%%%%%%@%%@@%%%@@@@@%%@@@@@@@%@@%%@@@@%@@@@@@@%@@@@@%%@@@@@@@@@@@@@@%%%####%@@%@@%@@@@@@@@@@@%@@@%%#%%%%%%%%%%%%%%%%%##***#%%%%%%%%%%%%%%%%%
            %%%%%%%%%%%%%%##*=---=+**#%%%%%%%%%%%%%*#%%%%%%%@%@@@%%%%%@%%%%%@%@%%@@%%@%%%%@@%%%%@@@%@@@@@%@%@@@%@@@@@@@%%@@@@%@@@@@@@%@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@%%%###%@@@@%%%@%%%%%%%%%#*+=*%%%%%%%%%%%%%%%%%
            %%%%%%%%%%%%%%%%%*=--=+*####%%%%%%%%%@%%%%###%%%%%%%@@@%%%%@@@%%%@@@%%@@%%@@%@%@@@@@@@@@@@%@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@%%%@@%@@@@@@@@@@@@@@@@@@%@@%@%##%@@@@@@@@@%%%%%%%%%%%%#*==#%%%%%%%%%%%%%%%%
            %%%%%%%%%%%%%%%%%%*+--=**###%%%%%%%%%%@@@%%###%%%%%%%@@@@@@%@@@@%%@@@@%@@@@@@@%%%%%@@%@@@@@%@@@@@@%@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@%%%%#%%@@@@@@%@%@%%%%%%%%%%%%#*=*%%%%%%%%%%%%%%%%%
            %%%%%%%%%%%%%%%%%%%*=-=+**###%%#%%%%%%%@%@@@%%#%%%%@%@%@@@@@@@@@@@@%@%@@@@@@@@@@@@%%@@@%%@@%%%%%@@@%@@@@%@%@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#%%%@@@@@@@@%@@%%%%%%%%%%%%%##*+*%%%%%%%%%%%%%%%%%
            %%%%%%%%%%%%%%%%%%#%#*--+**###%###%%%%%%@%%@@%%###%%%%%%%%%@@@@@@@@@@@%@@@@@@@@@%%@%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%#%@@@@@@@@@%@%@%%%%%%%%%%%%%%%*==#%%%%%%%%%%%%%%%%%
            %%%%%%%%%%%%%%%%%%%%%#=+=**#%%%%%%%%%%%%%@%%@@@@%%%#####%%%%%@@@@@%@@@@%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%@%%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%#*#%%%%%%%%%%%%%%%%%%
            %%%%%%%%%%%%%%%%%%%%#*=-+*#%%%%%%%%%%###%%@%%@%@@@@@@@%%%%#%%%@@@@@@@@@@@@@@%%%%%%*%@%%%%%%%%%%%%%##%%%%%%%%@@@%@%@@@%@%%@%@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%##**#%%%%%%%%%%%%%%%%%
            %%%%%%%%%%%%%%%%%%%%*---+*%%%%%%%%%%%%%%%#%%%%@@@%@@@@@@@@%%%%%%%%%@@@@@@@%@@%%%%%+%%%%%%%##%%%%%%#*%%%%%%%%@@%%%%@@%%@@@%@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@%%%%%%%%%%%%%%%%%%%%#**%%%%%%%%%%%%%%#%%%%
            %%%%%%%%%%%%%%%%%%%%*--=**##%%%%%%%%%%%%%%%%%%@@@@%@@@%@@@@@@@@@%@@@@@@@@@#%@@%%%%+*%%%%@%**@%%%%%**%%%%%%*#@@@%%@%@%%@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@%%%@%@@%%%%%%%%%%%##*##%%%%%%%%%%%%%*+%%%
            %%%%%%%%%%%%%%%%%%%##+-=**###%%%%%%%%%%%%%@@@@@@@@@%%@@@@@@@@@@@@@%@@%@@@@*#@%%%%%+=@%%%%%**%%%@%@**%%%%%%*#@@%@@%@%%%@@@@%%%@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%%%%%%%#*%%%%%%%%%%%%%%%%**%%
            %%%%%%%%%%%%%%%%%%%%##+=****#%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@%*%@@%@%*-#@@%@%**#@@%%%**%@%@%#*#%@@@@@%%%%@@@@%%%@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%#%*#%%%%%%%%%%%%%%%%%+#%
            %%%%%%%%%%%%%%%%%%%%%#+=**###%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@%#@@@@@@%*#%@@@@*=*@%@@%*+*%%%%%**%%%%%#*#%@@@@@%%%@@@@@%%@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@%@%%%%%%%%%%##%%%%%%%%%%%%%%%%=*%
            %%%%%%%%#%%%%%%%%%%%%#*=**#%%*####%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@#%@@@@@%**%@@@@#++%%@@%*+*%%%%#**#%%%%#*#%@@@%@%%%@@@@%%%@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%%%%%%%%%%%%%###%%%%%%%%%%%%%%%%%+=*
            %%%%%%%%*#%%%%%%%%%%%#-=*#*#%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%#%@@@@%#**%%@%%***%%%%++*#@@%***#%%%#*##%@@@@%%%%@@@%%%@@@@@%%@@@@@%@@@@@@@@@@@@@@@@@%@@%@%%%%%%%%%%%%%%%%%%%###%%%%%%%%%%%%%%%%%%*=-
            %%%%%%%%**#%%%%%%%%%%%#=**###%%%%%%#######%%%%@%%@%@@@@@%@@@@@@@@@@%*#%@@@@#**#@@%%***%%%#+*************####%%%%%%%%%%%%%%%@@@@%%%@@@@%@@@@@@@@@%%%%@@@@@%%@%%%%%%%%%%%%%%%%%%##*#%%%%%%%%%%%%%%%%%%%#=-:
            %%%%%%%%*=*%%%%%%%%%%%#*==*##*#####%%#%%%%%%%%%%%%%%%%@@%@@%%@@@@@@@##%%@@@#***##****++++***##*##%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%%@@@@%%@@@@@@@@@@@@@@@@@@@@@%@%%%%%%%%%%%%%%%##*#%#%%%%%%%%%%%%%%%%%#=-:-
            %%%%%%%%*-*%%%%%%%%%%%%##==++***#%%%%%%%%%@%%%@%%%%%%@@@@@@@@@@@@@@@%*%%%@%*****++*%%%##%%#*#%%%%%%%%%%%%%%%%%%%#%%@@%%%%@@%%%%%%@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%##*#*%%%%%%%%%%%%%%%%%%%%*-::=
            %%%%%%%%+-*%%%%%%%%%%##%#**+*+**#%%%%%%%%%%@@@@%%@%@%@@@@%%%@%%@@@@@@*#%%###*%@@@@%%%%%%%*%%%#%%%%%%%%%%%%%%%%#%%%%%%%@@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@%@%%%%%%%%%%%%%%#*###%#%%%%%%%%%%%%%%%%%#=-:=
            %%%%%%%%+:*%%%%%%%%%%%#*+*++*****%%%%%%%%@%@@@@@@@%@%%%%%%%%%%@@@@@@@*#%%%%%%@%%%%%%%%%%%#*##%%%%%%%%%%%%%%%%%%%%#%%%%%%@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%##%****##%%%%#%%%%%%%%%%%%%%%*--
            %%%%%%%%*--*#%%%%%%%%%#*+*+####+**%#%%%%%%%%%%%%%%@%@@@%%%%%%@@@@@@@@*#%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@%@@@@@@@@@@%%@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%#*####****%#%%%%%%%%%%%%%%%%%%%#=:
            %%%%%%%#*-:-=*%%%%%%%%#*%%#%###*=#*#%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@%@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%#%%##***#***##%%%%%%%%%%%%%%%%%%%%%#=:
            %%%##***=-::-=#%%%%%%%###%#####*+*=+*#####%%%%%%%%%%%%%%%@%@@@@@@@@@@%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@@@@@@@@@@@@@@@@@@@@%@%%%%%%%%%%%####*###**#****###*#%#%#%#%%%%%%%%%%%%%%%%%%%#=
            %%%#*=:::::-:=*%#%%%%%%%#%#%#####*++=***********##%%%%%%%%%%@@@@@#*%%@%@%%%#%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%@@@@@@@@@@@@@%%@@@@@%%%%%%%%%%%%#*******+++*#**####%#%#%%%%%%%%%%%%%%%%%%%%%%%%
            %#%**::::::::=#%%%%%%%#%#%#########*****+*+*+***+*%%%%%%%%%@%@@@%+%@%%@@*######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@@@@@@@@@@@@@@%%@@%%%%%%%%%%%%%%#*+*######*****#####%##%#%%%%%%%%%%%%%%%%%%%%%#
            %%##*-:::::::=*%%%%%%#%#%###############=*+**##***%#%%%%%%%%%%%%%+%%@%@%*#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@@@@@@@@@@%@@%%%%%%%%%%%%%%%%##***###################%#%%%%%%%%%%%%%%%%%%%%%%%
            *###*=::::-==*#%%%%%%#%##%#%#############***###+***###%%%%%%%%%%%*%%%@@%*####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@%@@@%%#%%%%%%%%%%%****+***#################%#%#%#%#%%%%%%%%%%%%%%%%%%%%
            ####*-::-:=#%%%%%%%%%##%#%######################***=+**#%%%%%%%%%%*%%@%%*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@%%@@@%%*%%%%%%%%%%*=+**#######################%#%%%%%%%%%%%%%%%%%%%%%%%%
            ###*+-:=:=*%%%%%%%%%%#**###########################*+=*%%%%%%%%%%%#*%%@%=*%%%%%%@@@@@@%%%%%%%%%%%@@@@%@@@@@%%%%@@@@@@@@@@@@@@@@@@%%@@%%+***#%%%%#*****#########################%##%#%%%%%%%%%%%%%%%%%%%#*
            **+=-:==--*#%%#%%%%%#%##**##########################+=+%%%%%%%%******#%%+*%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%*****+***#***#############################%#%%%%#%%%%%%%%%%%%%%#**=
            :::-======*#%%%%%%%%#%#%############################*==+=**+=*++*+*****%*=#%%%%@@@%%%%%%%@@@@@@@@@@@%%@@@@@@@@@@@@@%%%%@@@@@@@@@%#%%#******+**#*#*#*#*#*###############*######%##%#%%#*%%%%%%%%%%%%%%#*==
            ==+++++==-=*#%%%%%#%#%#################################***************+%%:*%%%%%%@%#***%%%%@@@@@@@@%%%%@@@@@@@%%%%%%##%%@@@@@@@%%*%%****#*#*#*#*#*##############**#############%#%%#%**%%%%%%%%%%%%%#*==-
            ***+++++=--=*#%%%%%#%#%#%###############**###############***#*##*#***##**-=#%%%%%%@@@%%%%%%@@@@@@@@%%%@%@@@@@@%%%%%%@@@@@@@@%@@%******#****#***#*#*###**#*######*=*#############%#%%#*#%%%%%%%%%%%%#*=-==
            ****+=++==-:=+*#%#%#%####################################+=#*#*#****#%##*+-*%%%%%%%@@@@@@%%%%@@@@@@%%%%@@@@%%%%%%@@@@@@@@@@@@@%%*****%%#****#*#*#*##*=*##########=-*############%##%%%%#%%%%%%%%%%#*=--++
            ***++=++++=-:-=*#%%##%#%################################*=*#*##****#**##**-+%%%%%%%%%@@@@@%%%%%%%%%%%%%%@@%%%@@@@@@@@@%%%%%%@@%*+****##*##**#**#*##*+*#*########*=-*#############%###%#%%%%%%%%%%##*=-=**
            ****++*++++==:=*##%#%##################################****#*#*#*******##*=-*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%#=***********#*#*#*#*###*####****===+*############%#%%#%#%%%%%%%%%%#**=-+**
            *********++==:=*###%###################*=*##########*###*#*#*#*#***#*****#+:=#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@%%+=**#*****#******#*#*#*##*#**=:::::+*#################%#%####%%%%##*+=-=+**
            **********++=-=*######################**==*######*#*#*#*#*#*#*#*********+**=:+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%*=+***********#*#*#*##*#****+-:-==+*#################%####*+*%#%###*+=-=+***
            **********++=-:+*#######################*=-==+***#####*#*#*#*#*#********+***=:+#%%%%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%@@@%%*=**+******#*******#**#*+==-::=+**#######################**=*#######*+--++***
            *******+***++==-=*#######################**=::::=+***#*#**#*#***#***+++*+****=:+#%%%%%%%%%%%%%%%%%%++%%%%%%%%%%%%%%%%%@%@%%+-*****+************#*#*=::::-**######################*=-::-*###%####*+-=+****
            +******+*****++=-=+***#####################*=::::::-====+****#*#*#*****+******+:=*%%%%%%%%%%%%%%%%%%%%%@%@%%%%%%%%%%%@@@%#==****************#**#***=:::=**######################*==+**#########**=:=+****
            +******+*******++=--=+****##################****++++===-::=********#*#**********=-+#%%%%%%%%%%%%@@@@@@@@@@%%%%%%%%%@@%%%*=+*********************#*+=:::***#*##################*==+*############*=-:=++***
            ******+++*******++==--::-=***#####################*#*#**=:::=**#*******+**********=-*#%%%%%%%%%%%%%@@@@%%%%%%%%%%%@%%%#==*******************#*#***+-::=**###################*+-:=*###########**=::=++***+
            *****+++*********+=====-::=+*#################*#*##*#***=:::-*****#*#***************==*#%%%%%%%%%%@%%%@@%%%%%%%%%@%%*==**********+****************=:::=***#*#*##############*+-:+*#######**===---+++***++
            *****+++*********+++=====::=**###################*#*#***=:::-+**********+*************=-+#%%%%%%@%%%@@@%@@@%%%%@%%*=+*****************************=:::::=***###*############**=-*#######*+-::-==++++**+++
            ****++++****+*****+++=====-=**####**+*#*#*#*#*#*##*#*#*=::::=+**********+**************#*=+%%%%%@%%%%%%@%@@@@%%#==**=+***********+*****************+=:::::=*****=+*##########*==**####**+-::==++++++++++=
            ****++++****+*****++++====--+*######*+***##*#*##*#*#*#**=-::-=+***+*****************=:=*#%%#*%%%%@@@@@@@@@@%%##%%%*=-=******************************+=::::::----::=*#########*=+*#*##**+----==++++++++++=
            ****+++++***********+++====-+**#*#*#***==+***#*#*#*#**#**-:-:----=-=++************=+##%%%%%%%%%%%%%%%@%@@@%%%@%%%%%%*=:=********+********************=-:----==----=*#*########*+**#****----====++===++++=
            *****+=+******+++*+*+++===-:=***#*#*#*****=-=************-----:-:::::::=+*********=-=#%%%%%%%@@@@@@@@@@@@@@@%%%%%%%%#++********=*********************=----======--***#*########****#**=----==========+===
            *****+=+******+++**+*=+====:=***#*#**#******=-+**#*******=:----------:::=*****=::=##%%%%%%@@%%%%%@@@@@@@@@@@@@%%%%%%%%%*==**************************=-----========***#*#*#*#####*#***+-:---==========+===
            ****+++++****++++++*+++===-:=****************--*********=-:-==--=====-=+***********#%%%%%%%%%%%%@@@@@@@@@@%%%%@%@@%%%%%##*=:-********+************+=----=========+****#*#*#*##*#*#***==----==============
            *+++++=+++*+++++++++*+===-:=*****************==********+::--=========-=++**=::-+#%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@%%%%%%%%%%#%#=::-***==-**********+-::----=====+===*******#*##*#*#****==----:-=============
            +++=++==+++++++++++++===-::=*****#**+********=-:=******=::-==========-::::=*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####***=====******+-::::::---=====+==-+***********#*#*#**==-----:-=-===========
                  
            %%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+======----::...::::.  ...:----=-------==---===----:::--=--=+*##%%%%%%##%%%%@@@@%#%##**#%@@@@%%####%%%@@@@@@%%%@@%####%@@%+-=%%#*+=-------=:...-=*#%%%##**==---=*%%@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%@@@%%%%#####%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@
            ######%%@@@%#*+++++#%@@@@@@@@@@@@@%#*+++==------::......   :-====-::---:--==---===-:---:-----:-+*##%%%%%%%%##%%%@@@%%#+==*%%@@@%%%###%%%%@@@@%%%@@%%#**%%@@@%=:=##+====------:...-=+####**+==----=#%%%@@@@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%###########%%@@@@@@@@@@@@@@@@@@@@@@@@@@
            --=======+*+*#%@%%+==#@@@@@@@@@@@@@@@@%##*++=----::---:..  .:-=====---==-:-===---==----.:-=------=*#%%%%%%***#%%%%@@%#*++*##%%%%%%###%%%%@@@@%%@@@#++*#%@@@@%#=:=++=====-----:.::-=+***+==-------+#%%%@@@@@@@@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%#**#####***####%%@@@@@@@@@@@@@@@@@@@@@@@@@
            -------==+=*%%@@@@@#==#@@@@@@@@@@@@@@@@@@@%#*+=----.:::--:.....::-==--===:.:-=--=--==--:.--==------=*#%%%%%%##**#%@@@%%######%%%%####*#%%%@@%%%%%%*+**#%%@@@%%*--=+=-==------..::-==+++==--------+#%%%%@@@@@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%##*+*##%%%%##*##%%##%%%%@@@@@@@@@@@@@@@@@@@@@@
            --------+*#**#%@@@@%#=+@@@@@@@@@@@@@@@@@@@@@@%%#*+=-::-----------::-======-..-----=====-:.---=-------+*#%%%%##**#%%@@@%%%%#####%%%#####%%%%@%%%%%#+****#%@@@@%#---==--------:::::-======--------=+#%%@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%#*++####%%%%#####%%%##%%%%%@@@@@@@@@@@@@@@@@@@@
            =--------+*###%%%@@@%#=%@@@@@@@@@@@@@@@@@@@@@@@%%%#**++===---:.:::--=======---::---------:.:-----==--=+*+#%%#*###%%%%%%%%%%%%%#%%%##*+*#%%%@@%%%%#*+***#%@@@@%%=--=---=----:.::.--=====-------===*#%%@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%#####****##+-+*####%#######%%%%%%%%@@@%%@@@@@@@@@@@@@@@@@@
            #+=-::::--=+*###%%@%%*=%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%#*+++--::..:---====-=-:...:-:::---:-:.:-----=---==**#####*##%%%%%%%%%%%%%%%%%*+*#%%%%%%%%#*+=+*##%@@%%%#+----=-----:..:.:-------------=++**#%%@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%##**####**+-=*********####%%%%%%%%@@@@@%@@@@@@@@@@@@@@@@@
            %%*=-::::::--=++++****%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%#+=---::----------:...::::.:::::--:::::----=+**#########%%%%%%%%%%##%%%#**##%%%%%%%#**++**##%@%%%#+----------:::::-------------=+***##%%@@@@@@@%##%%%@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%####%%##**==-+******+**##%%%%%@@%@@@@@@@@@@@@@@@@@@@@@@@
            @@%*-:::-=------=+*#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%###*+===::::::--:::-::::::::... .:----::----=**#####**+*##%%%%%%%%%%%%%#**##%%%%%%%%#*+++*#%%%%%%*=---------:::::::-------:::-=+***###%%%@@@@%%%%%%%%@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%@%%%#*+====+++**+++++*%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@%*-:::=**++=**==*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%##*****+++==-::::::..::::-------:.   .:----::---==+*####**#*##%%%%%%%%%%%%#***%%%%%%%%####***#%%%%#*=------------.:.:-----::::--=+***###%%%@@@%%%%%%%%%@@@@@@@@@@%%%%%%%%%%%%%%%@@@@@@%%%%%@@@%%%%#++==--=+++**+++#%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@%#=--+#%#*+*##+=+#%@@@@@@@@@@@@@@@@@@@@@@@%#%#%%##***********+++======-:..::.:::::::----:..  ..:::::-=====--=+*****###%%%%%%%%%%%##%#%%%%%%%%#*++++*#%%#*-::--------:-:...:---::::--=+***####%%%%%%%%%%%%%%@@@@@@@@@%%%%%%%%%%@@@%%@@@@@@@@@@@@@@@@@@%%%%#**+=-=++##%#*#%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@
            **##%%%#**#%%#**##+==+#%%@@@@@@@@@@@@%#@%##*++++++++++**##***++****#######*+=-----:::::::::::--::..  ...:--+**+==-:-++**##%%%%%%%%%%%%###%%%%%%%%%#****####*+-:-----------::..:--:::-----+**####%%%%%%%%%%%@@@@@@@@@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%##*==+*#%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            +====*%%%##%%%***+**+=++++****##*++*#==+==++*++**+****###****#*###%%%####**###***++===-----:-::---::......::-=+++=::-==*###%%%%%%%%%%%%###%%%%%%%%%##***###*+----::----:-::..::::::-:-=--=**###%%%%%%%%%%%@@@@@@@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#*+=+*%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            ###*+==+***##****#%%%#+==----====++++=+*+*##**##########%%##%%%%%%%%##***###%%%%####***+==-----::-----::..:----=---:.--+######%%%%%%%%%**#%%%%%%%%%#****##*+===--.------:..::::::::-=++=-=+*#%%%%%%%%%%%@@@@@@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#*+*#%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            %%%%%#*=-===+++*####****++++=+++*****###%####%%@@@@@@@@@@@%#**++**#####***##%%%%###*****+++=-----:--:----::::::.:=-:.::--=***##%%%%%%%%#*##%%%%%%%%###**#**+==--.----:..:::::..:::=+***++==*#%%%%%%%%%@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#*#%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            %%@@@@%#*****++++*****####%%%#***+*#%%%%%@@@@@@@@@@@@@@@@#+*+***#############%%%*******###**+=-------------::-:.:--:.::--====+*#%%%%%%%##%%#%%%%%%%%###*#**+==-::--:...::-:::..::-+**********%%%%%@%@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@%@@%%%%%%@@@@@@@@@@@@@%%%###%%%%%%%@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            %%@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@%%#%%%@@@@@@@@@@@@@@@@@@%**++*#%%%%%%#########****####%%%%%%##*=-----:::---::.....::..::----==+*#%%%%%%%#*#%%%%%%%%%%%##***+=--:--:...::---:::.:::-++***######%%%%@@@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@%@%%@@%%@@@@@@@@@@@@@@%%%%#%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            %%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%@@@%*++##+++*###%%%%###########**###%%%%%%%%%%%%#*+===---::::::::..::.....:--==+**%%%%%%%#####%%%%%%%%##*+++=--::--::--::::::::-:::::--=+*#####%%%%@@@@%%#%#%%%%@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@%%*++++=++***+*#%%%%%%%%%%%%%###***###%%%%%%%%%%%%%%%%##***+==---:::--::::...::-==+***%%%%%%#%##%%%%%%%%%##*++==---.-------::::::::-=-=:::::-+#####%%%@@@@@%%#%%%%@@@@@@@@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@%@@%@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            %%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%#**++++++*+*+*##%%%%@%%%%%%%########%%%%%%%%%%%%%%#########*****=====--:::::::::-=+**+*#%%%%%#####%%%%%%###*+=--===::--:..:::::.:::===-*--:-=+*#%###%%@@@@@%%%%%%@@@@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            %%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%#**++++++*****##%%%@%%%%%%%###*###%%%%%%%%%%%########*##########*##****+**++=======-++**###%%%%%%#####%%%####*+===+++-:--:...:::-----====*#=-+**#%%###%%@@@@@%%%%%%%@@@@@@@@@@@@@@%%%%%@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            %%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%##*******###%%%%%@@@%##%%%##**###%%%%%%%%#**##****###***##%%###%%##############******=+*#%%%%%%%%%%##%##%%####*+=+***=--+=-..:=====-=+=+*###=*##%%%###%%@@@@%%#%%%@@@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%#++*###%%%**##%%%%@@@@%%#########%%%%%##**+++*#####%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#######%%%%%%###%%%%%%#########++****=--=+=-:-=====+++##%%#*#%%%%%##%%%%@@%%%%%%%%@@@@@@@@@@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@%%*****#%@%%*###%@@@@@@%%%%%%%###%###*****####**%%%%%%%%@@@@@@@%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%#**##%%#*##******=:-==++=-===+**+#%%%##%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%##%%%%%@%%#*#%%%@@@@%%##%%%##**############%%%%%%%%%@%@@@@@@@%%%%%@@@@@@%@@@@@@@@@@@@@@@@@%%%%%%%%%##%%*+*%%%%##*####***+---=++=-===*###%%%%%%%%%%%%%%%%##%#%%%@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@@@@%#*%%%@@@%%%#%%%@@@@%%%%%%########%##%%%%#%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@%%%%%%%%#####%%%%%%#####***+=--::--==--=**#%%%%%%%%%%##*##%%%%%%%@@@@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@%%%%%%%%%%%@@@@@@###%%%%%%%%%%%@@%%%%%######*##%%%###*##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@%%%%#####%%%%%%######*+++=-::--::=+*#%%%%%%%%%%######%%%%%@@@@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@%%%%%%@@%%%%%%%@@@@@@#####%%%%%@@%@@@%%%##*#**####%%%%##**#%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%#*#%%%%%%%%%######**+==-::::+#%%%%%@@%%%%%#*##%%%%%%@@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@%%%%%%%%@@@@%@@@@@@@@@@@@#**###%%%@@@@@@@@%%##*#*##%%%%###**##%%%@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%@@@%%####%#%%##**++++*#%%%%%%@@%%#**##%%%%@@@@@@@@@@@@@@@@%%%#%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@%%@@@%%%@@@@@%%%%@@@%@@@@@@@@@##*#%%%%%@@@@@@@@@%####%%%%%%%#**##%%%%@@@@@@%%%@%%@@@%%%%%%@@@@@@@@@@%%%@@@@@@@@@@@@%%%@%###%%@@@%%####%%%%%@@@%%#*##%%%%#######*#%%%%%@@@@%#**##%%%@@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            %%%%%%@@%%%@@@@@@@@@@@@@@@@@@@@@%+####%%%%%@@%@@@@%%##*###%%%%##**#%%%@@@@@@@@@%@@@@@@%%@%%%%%%%%%##%%%#%@@@@@%@@@%%####%%#**%%#*##%%#***#%%@@@@@@%%#*#%%%%%%%###%##%%%%%@@@%###%#%%%@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            %@@@%%@@@@@@@@@@@@@@@@@@@@@@@@%%**###%%%%%@@@%%%#####*#*#%##%%###%%%@@@@@@@@@%%@@@@@@@%%%%%%%#####*##%%%%#*#**######*****#%*#%%%#%%%#****%%%%%@@@%%%###%%%%%%%%#%%%%%%%%@@#####**#%@%@@@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@%######%%%%%%%%%%%%****#*###%%%%%###%%%@@@@@@@@@@@@@@@@@%%%###*+*###%%%%%%%#*******#***###*###%%%%%%%%%*+#%%%@@%@@@@@@%%##%%%@@@%%%#%%@@@@@@@%#***#%%%%%@@@@@@@@@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@%%%@@%%#####%%%%%%%%%%%##**+**####%%%%%%%%%@@@@@@@@@@@@@@@@@@%##***###**##%%%%%##*#**####+**####%%%%%%%%%@%%@%*##%%%%@%@@@@@@###%%%%@@@%%%%%@@@@@@%#######%%%@@@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%#%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@%@@@@%%@%%####%%%%%%%%%%%%##*+*++**#%%%%%%%%@@@@@@@@@@@@@@@@%%##******####%%%%%%%%#**######%%%%%%%%%%%%%@@@@@@@@%%##%%%%@@@@@@@%%##%%%%@@@@%#%@@@@@%%%#%%%%%%%%%@@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%#%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@%%%%%%@%%%%%#####%%%%%%%%%%%%%###*++*#%%%@@@@@@@@@@@@@@@@@@%#***=*######%%%%%%@@@%%%##*+***###%%%%@@@@@@@@@@@@@@@@@@%**##%%%%@@@@@%%%##%%%@@@@@@@@@@@%%%####%%@@@@@@@@@%%#%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%####%%%%%%@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@%%%%%%%%%%@@@@@%####%%%%%%%%%%%%%#%%%####%%@@@@@@@@@@@@@@@@@%%*++*+****###%%%%@@@%%%%%#****##++##%@%@@@@@@@@@@@@@@%%%%%@%##*%%%%%%@@@%%%%%%%@@@@@@@@@@@@%%%##%%%%@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%####%%%%@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@%%%%%%%@@@@@@@%%##%%%%%@@%%%%%%%%%%%###%%%%%@@@@@@@@@@@@@@%#+***#*###%%%%%@%%%%%%%@%%##**#%###%%%@@@@@@@@@@@@@@@@%###%%%%%##%@@%%%%%%%%%%%%%@@@@@@@@@@%######%%@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#%%%%%%@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@%%###%%%%@@@%%%%%%%%%%#%#%%%%@@@@@@%%%%%%%%%%%#*###%%%%%@@@@@@%%%%%%%%%%###%%#%%%%@@@@@@@@@@@@@@@@%###%%%%%%%%##%%%%%%%@@%%%%%%@@@@@@@@@%##%%%%%@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@#####%%%@@%@@%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%####*##%%%@@@@@@@%%%%@%%##**#%##%%@@@@@@@@@@@@@@@%%%%%%*%%%%@%%%%@%%%%%%%@@@@@%%%@@@@@@@@@@%%%%%%%@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@%%%@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@%#%%##%%@@@@@@@@@@@@@%##
            @@@@@@@@@@@@@@@@@@@@@@####%%%%@@@@@%%%%%%%%%%%%%%%%%%%%%%%#********####%@%%@@@@@@%@@@@%%%##*##%%#%%@@@@@@@@@@@@@@@@##%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%@@@@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@%#+*#%%@@@@@@@@@@@%*++
            @@%%%@@@@@@@@@@@@@@@%%###%%%@@@@@@@%%%%%###%%%%%%%%%%%%%#*####*+*#%%%%%%%%@@@@@@@@@%@%%%###%%%%%@@@@@@@@@@@@@@@%%%%%%%@@@@@%%%%%%%%%%%%@%%%%%%@%%%%%@%%%%%%@%@@@@@%%%%#%#%%%@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@##%%%%%@%%@@@@%@%*=**
            @%%%@@@@@@@@@@@@@@@%%#%%%%%%@@@@@@%%%%%#%##%%%%%%%%#****###%####%%%@@@@@@@@@%@@@@@@%%%#%%%%%%%@@@@@@@@@@@@@@@@%%#%%%%%@@%@%%@%%%%%%%%%%%%%%%%%@%%%%%%%%%%%@@%@@@%%#%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@%%%###%%%%%#%%%#-+#*
            %%@@@@@@@@@@@@@@@@%%%#%%%%%@@@@@@%%%#%%#####%%%%%%#*##**###%%%%%@@@@@@@@@%%@@%@@@@@@%%%#%%@@@@@@@@@@@@@@@@@%%%#%%@%@@@@@%%%%@%%@%%%%%%%%%%%%%%%%%@@%%@%%%@@%@@%%%%%%@@@@@@@@@@@@@@@@@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@%%%%%%%%############*+:+++
            %@@@@@@@@@@@@@@@@@@%%%%%%@@@@@@@%%%%%%%%%%%%%***#########%%%%@@@@@@@@@%@@%@@@@@@@@@%%##%%@@@@@@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@%@%%%%%%%%%@%%%@%#%%%%%@@@@@@@@@@@@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%%%%%%##*********+-=+#
            %@@@@@@@@@@@@@@@@@%%%%%%@@@@@%%%%%%%%%%%#%******+*##%%%%%%@@@@@@@@@@@@@@@@@@@@@@@%%%#*%%@@@@@@@@@@@@@@@###%%@@@@@@@@@@@@@@@@@@@@@@@%@@@%%%@@@@@%%@@%@@%@%%@@%%%%%%@@@@@@@@@@@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%#*+=++****++#%%
            %@%%%%@@@@@@@@@@%%%%%%%%%%@%%%%%%%%%%#**##*###*####%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%#*#%%%@@@@@@@@@@@@@@%%#%%%%@@@@@@@@%%@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@%@@@@@%%%%%%@@@@@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%*******####%%%@
            %%%%%%%%%@@@@@@%+#%%%%%%%%%%%%%%%#*+=+++*########%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%##%%%@@@@@@@@@@@@%%#*##%%@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@%@@@@@@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%#*#####%%%%@@@@
            #%%%%%%%%%%%%%%####%%%%%%%%%##+++*++==+**######%%%%@@@@@@@@@@@@@@@@@@@@@%#%%%%%%%%%%%%@@@@@@@@@%###%##%%%@@@@@@@%%%#%%%@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%###%@@@@@@@@@
            ++*##%%##%%%%%%##########**++=------=+++#####%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%##%%%%%%@@@@@@@@@@@###%%%%@@@@@@@@@%%##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@%%%%@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%##%%%@@@@@@@
            =++++**####%###**++======--::--=====++*#####%%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%#%%%@@@@@@@@@@@%%####%%%@@@@@@@@%%%###%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##%@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#####%%%%%@@
            ::--=+++++++==---------::::-====--==++*###%%@@@@@@@@@@@@@@@%%%@@@@@@@@%%%%##%%%@@@@@@@@@@@@@%%%*%%%%%@@@@@@@%%%#%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%###*###%%%
            ::::::::::::::::::::::::::------====++*#%%@@@@@@@@@@@@@@@@@@@%%%@@@@@%#**#%%@@@@@@@@@@@@@@@@%%%%%@%%%@@@@@%%%%#@%%@@@@@@@@%###%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%#######
            =-:::::::........:::::::::::-----=++*#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@%##*##%%@@@@@@@@@@@@@@%@@%##%%%@%@@@@%%##*#%@@@@@@@@@%%##%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@%@@@%@@@@@@@@@@@@@%@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%
            ++++-:::::::::::..::::::::-:::-=+**#%%%@@@@@@@@@@@@@@@@@@@@@@@@@%####%%%%@@@@@@@@@@@@@@@@@%#%%%%%%@%@@@%%%%%%%%@@@@@@@@@%%###%@@@@@@@%%%%%%%%%%%%%%%%%@@@@@@@%%%%%%@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@%#%@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            ###**==--::::.:::::::::::-:--=+*##%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%##*#%%@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@@@%%%#%%%@@@@@@@@@%%%%%%%@@@%%%%%%%%%%%%%%#######%%%%%%%%%#%%%%%%%%%%%@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@%%%@%@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            %%%%%%%%%###**++=----==++++**##%%%@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@%%%%%###%%@@@@@%###%%%%%@@@@@@@@%%##%%%@@@%%%%%##############**********##########%%%%%%%@@@@@@@@%%%%%@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@%%%%@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            %%%%%%%%%%%%%%%%#****#########%%%@@@@@@@@@@@@@@@@@@@@@%@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@%@%%%#%%%%@@@@@@@@%%#%%%%%@@@@@@@%%%%%%@@@%%%%%###########*****++++++++*****#########%%%%%@@@@@@@%%%@%%@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@%%%#%@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            %%%%%%%%%%%%%%%***####%#%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%##%%@@@@@@@@@@@@@@@@@@@@%%###%%%@@@@@@@@%%%%%%@@@@@@@@%%#%%%@@@%%%%%#########*****++++==---==+++******#######%%%%@@@@@@@@@@%%@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@%%%%@@%%@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            %%%%%%%%%%%***###%%%%%%%%@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%@@@@@@@@%#%%%@@@@@@%%%%%%%@@@@@@@@%%%%%%@@@@@@@@@%%#%%%@@%%%%%#########****+++===-:::::-===+++*****#######%%%%@@@@@@%%%%@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@%%%%%@%@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@
            @@%%%%%#####%%%#%%%%%%%@%%%@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@%###%%%%%%@@@@@@%%%##@@@@@@@@@%%%%%@@@@@@@@@@%%%#%%@@@@@@@@@%##%@@@@%%%%########******++===--::..:--==++++*****######%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@%%@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@%@
            %%%%%%%%%#%%%%%%%%%@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%@@@@@@@%%%%%@@@@@@@@@@%%%#%%@@@@@@@@%%%%%%%@@@@@@@@@@%%%%@@@%%%%%########*****+++===---::::--===++++*****######%%%%%@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            %%%%%%%%%%%%@@%%%%@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@%%@@@@@@@@@@@%%@@%%%%@@@@@@@%%###%%%@@@@@@@@%%%%%%@@%%%%%%#########*****++++======--====++++*****#######%%%%%%@@@@@%%%%%%@@@@@@@@@@@@@@@@@%@@%@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@
            %%%%%%%%@@@@@@%%%%%%%%%%%%@@@@@@@@%@@@@@@@@@@@@@@@@@@%%%%#%%%@@@@@@@@@%%@@@@@@@@@@@%%%%%%%%@@@@@@@%%#%%%%%%@@@@@@@@%#%%%@@@%%%%%%#########*******++++++======+++++*****########%%%%%%@@@@@@@%%%%@@@@@@@@%@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@
            %%%%%%@@@@@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@%%%%####%@@@@@@%%%%%%%%%@@@@@@@@%#*%%%@@%%%%%%%%%#########*******+***++++++++*******########%%%%%%%%@@@@@@%@%%%@@@@@@@@@@@@@@@@@%@%%%@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@
            @%%@@@@@@@@@@@%%%%%%%%@@@@@@%@%@%@@@@@@@@@@@@%%%%%#%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%##%%%@@@@@@%%%%%%%%%@@@@@@@@%%%#%%@@%%%%%%%%%%%############********************#########%%%%%%%%%%@@@@@@%%%%%%@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            %@@@@@@@@@@@@@#%%%%%%%%@@@%%%%%%%@@@@@@@@@@%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##%@%%@@@@@@@%@%%%%@@@@@@@@@@%###%@@@%%%%%%%%%%%%##############************##############%%%%%%%%%%%%@@@@@%@@%@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@%@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@%#%%%%%@@@@%%%%%@@@@@@@@@@@@%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%#%%%@@@@@@@%%##%%%@@@@@@@@@@%%#%@@@%%%%%%%%%%%%%%############************##############%%%%%%%%%%%%%%@@@@@%@%@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@
            @@@@@@@@@@@@@%%%%%%@@%%%%%%%%%@%%%@@@@@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@%@@@@@@@@@%%%%%%@@@@@@@@@@##%@@@@%%%%%%%%%%%%%%#####################################%%%%%%%%%%%%%%%%@@@@%%%@%@@@@@@@@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%
            @@@@@@@@@@@@@%%%%%@@%%%%%%%%%%%@@@@@%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%%%@@@@@@@@@@%%##%%@@@@@@@@@%##%%@@@%%%%%%%%%%%%%%%####################################%%%%%%%%%%%%%%%%%%%@@%%%%%%@@@@@@%@@@@@@@@@@@%%%%@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
            @@@@@@@@@@@@%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%@%@@%@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@@@@@@%%%%%%@@@@@@@@@%##%%@@%%%%%%%%%%%%%%%%%###############################%#####%%%%%%%%%%%%%%%%%%%%%%#%%%%@@@@@%@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@%%%@@@@@@@@@@@@%@@@@@@@@@@@@@@
            @@@@@@@@@@@%%%%%%@@%%%%%%%%%%%%%%%%%%%%@@@%%@@@%@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@%##%%%@@@@@@@@@%%%%%%@@@@@@@@%##%%%%%%%%%%%%%%%%%%%%%%%%%##########################%#%%###%%%%#######%%%%%%%%%%%#*%%@%%@@@%%@@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@%@%%%%%@@%%%%%%%%%%%%%%%%%%%%@@@@@@@@#%@@@#%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%@@@@@@@@@@%###%%@@@@@@@%#%%@%%%%%%%%%%%##%%%%%%%%%%%%%#######################%#%%%###%###############%%%%@%##%%%%%%@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%@%%%%@@@@@@@@@%@@@@@@@@@@@@@@
            @@@@@@%%%%%#%%%%@%%%%%%%%%%%%%%%%%%%@@@@@@@@@%%@@@#%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@%%%%%@@@@@@@@%%%%%%%%%###########%###%%%%%%%%###############################%################%%%@@@%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@
            @@@%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%@%@@@@@%%%%@@@@%@@@@@@@@@@@%@@@@@@@@@@@@@@@%%%%#%%@@@@@@@@%%##%%@@@@@@@@%%%%%%%%#######**###########%%%%##%######################%####################%%%@@%@%%%%%%%%%@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@
            @@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%%%%@@%%%@@@@@@@@@@@%%@@@@@@@@@%%@@%%#%%%%%%@@@@@@%%%#%%@@@@@@@@%%%@@@@@%%%%%###********#####%#%##%%%%##%#######*%#######%%#############%%%%@@@@@@@@%%@@%%%@@@@%@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@
            @%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#%@@@@@@@@@@@@%@@@@@%%%%%@@%%%#%%%%%%@@@@@@@@%%%%@@@@@@@@%%%%@@@@@@@@@@@@@%%%%##############%%%%#%%#####%%%%%%#%%%%%%#####%%%%%%@@@@@@@@@@@@%##@@@@@%%%%@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@
            @%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%#%%%@@@@@@@@@@@@@@@@@%%%@@@@@@@@###%%%%@@@@@@@@@%%%%@@@@@@@@%%%@@@%@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@%%%%##%@@@@@%%%%%%@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@
            %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%@@@@@@@@@@@@@@@@@@#@@@@@@@@@%#%%%%%%@@@@@@@@@%%%%%@@@@@@@@%%%@%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%%#%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@%%%%%%%%%@@@@@@@@%%%%@@@@@@@@@@@@@@@%@@@%@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@
            @%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@@@@@@@@@@@@%%%%%@@@@@@@@@@#%%%%%%%@@@@@@@@@%%%%%@@@@@@@@%%@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%%@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@
            @%%%##%%%%#%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@%%%%@@@@@@@@@@@@@#%%%%%%%@@@@@@@@@%%%%%@@@@@@@%#%%@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@%@@@@@
            @%%#*%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%@@@@@@@@@@@%@@@@@@@@@@@@@@@@@#*#%%%@@@@@@@@@@%%%%%%@@@@@@@%%%%@@@@@%%%%%*==*#%@@@@@@@@@@@@@@@@@@@@%%%%%%#%%%%%%%@@@@@@@@@@@@@@@@@@%*=+#%%%%%@%@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@%%@@@@@@%@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@%@@@@
            %%%#%%%####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%@@@@@@@@@@%@@@@@@@@@@@@@@@@@#**##%%%@@@@@@@@@%%##%%@@@@@@%%#%@@@@@%###%#*%++*###%%@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%%%%#*+=-*##%%%%%@@@@@@@%#%%@@@@@@@@@@@@@@@@@@@%%%%%%%@@@@@@@@@%%@@@@%%@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@%@@@@@@@@@@@@@
            %%#%%%#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%%%%%%%%@@@@@@@@%%#%%%%@@@@@@%%%%@@@@@@@@@@%@*+#%%#*%%%@@@@@@@@@@@@@@@%%%%%#%%%%%%%@@@@@@@@@@@@@@@%%#*#%%%%@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@%%@@%#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@%@@@
            %%#%#######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%%%@%%%@@@@@@@@@@%%%%%%@@@@@@@%%%%@@@@%#*%@%#%@%#%%@%%%%%%@@@@@@@@@@@@@%%%%%%#%%%%%%@@@@@@@@@@@@@@@@@@%#%%%%%%%@%#%@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@%@%%%@@@@@@@@@@@%%%%@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@%@@@
            %#%#######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%%%%%%%%%@@@@@@@%%@%%%%@@@@@@%%#%%@@@@@%*++%%#*##+*%*=*#%@@@@@@@@@@@@@@@%%%%%###%%%%%@@@@@@@@@@@@@@%*=#%#+*%#*+%%++#%@@@@@@@@%%@%%@@@@@@@@@@@@@@@%@@@@@@%@@@@@@@@@@@@@@%#%@@%@@@@@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%%@@@@@@@@@%@@@
            %%%######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@##%%%%%%%%@@@@@@@#%%%%%%%@@@@%%%%%@@@@@@@%*+=*###*#*=--=+*%@@@@@%%@@@@@@@%%%%######%%%@@@@@@@@%@@@@#+==-+*##*+##*+*#%%@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%@%@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%@@@@@@@@@@%@@@
            %%#%#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%%%%%%%@@@@@@@@##%%%%%@@@@%%%%%%@@@@@@%%%%%%%%%###*####%%@@@@*#%@@@@@@@%%%%#######%%@@@%%%%*%@@@%%%#**####*+*#####%@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%@%@@@%@@%@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@#%%@@@@@@@@@%@@@
            %########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%*%%%%%@@@@%@@@@@%##%##%%@@%%%%%%%@@@@@@@@@%##%%#%%#=**#*++++===+#%%@%@@@%%%########%%%%%%%%*+==+*###++*##+==+##%@@@@@@@@@@@%%@%@@%@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@#%@@%%@@@@@%@@#@@@@@@@@@@@@@@@@@@@@@@@@@@%#%@@@@@@@@@%@@@
            #########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*#%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%#%%#%%%@@@@@@@@@%*#%%%%%@%%%%%%%%@@@@@@@@@@@%%@@@@@@@@@@%%%#++*##%%%%%%%%###*****###%%%%#%###***#%@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@**%%%%@@@@@@%@#@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#%%%@@@@@@@@@
            ****#######%%%%%%%%%%%%%%%%%%%%%%%%%%%%*##%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@##%%%%%%@@@@@@@@@@##%%%@@%%%%%%%%%@@@@@@@@@@%%@@@@@@@@@@%%%######%#%%%%%%###*++==+**#######%#######%@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%@%%@@@@@@@@@@@@%@@%%@%%@@@@@@@@@@@@@@@@@@%###@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##%%%@@@@@@@
            **********####%%%%%%%%%%%%%%%%%%%%%%%%%*=##%%%%%%%@@@@@@@@@@@@@@@@@@@@@@%*#%%%%%%@@@@@@@@@@%%%%%%%%%%#%%#%@@@@@@@@@%%%@@%@@%@@@%%%####*############***+====+*############%%%%%%%@@@@@@@@@@@@@@@%%%%######%%%%%%@@@@@@%@@@@%#@%%%%%@@@@@@@@@@@@@@@@@@@%*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##%@@@@@@@
            ************####%%%%%%%%%%%%%%%%%%%%%%%*##%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@##%%#%%%@@@@@@@@@@%%%%%%%%%%%##%%@%%%%%%%###%%%%%%%%%%%###****###########***+==--=+**#############%%%%%%%%%%%@@@@@@%%%%#########%%%#%@@@@@%%%%@@@@%%%%%%%@@@@@@@@@@@@@@@@@@%#%@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@
            **************####%%%%%%%%%%%%%%%%%%%%%###%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@%*#%#%%%%@@@%%%@@@%%##%%#%%%##%%@@%%####*%%%%####%#####*****+****########**+==---=+**########******#%###%%###%%%%%%###*****####%%%#%%%%@@%%%%%%@@@#%%%%%%%@@@@@@@@@@@@@@@@@@#%@@%%@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@
            #######****#**######%%%%%%%%%%%%%%%%%%%*##%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@%*#%%%%%@@@@%%%%%%%%###%#####%%%@%%##****##%*****#***++++*******########***+---:-=+**##########*****#%*********##%#*******####%%%@%#%%%%%%%%%%%@@%%%%%%%%%@@@@@@@@@@@@@@@@@@%*#%@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@
            **##*##*******############%%%%%%%%%%%%%**##%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@*#%%%%%@@@@@%%%%%%%%*+*####%%%@@%%%##****%%##++++**+++++******###########**+=--:-=+*############***++*%*+=-===+#%%%******###%%%%@@#%%%%%%%@%%@%%@@%@@%%%%%@@@@@@@@@@@@@@@@@@@%*#%%@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@%%
            **************##############%%%%%%%%%%%**##%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@##%%%%%%@@@@@%%%%%%%*++%##%%%@@@@%%######*%%*+++=+%*+++**+***###%%#######**++--:-=**###%%%%%%%###**++++%+-----=*#%%#***####%%%%@@@%#%%%%%%@@%@%%@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@%*%%@@@@@@%##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%
            ***********#*****##########%%%%%%%%%%%%***#%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@%*%%%%%%@@%@@%%%%%%%*+#%%%%%%%@@@%%#######%#**++==#%+*#*+***##%%%%%%%%%##**+=:::-=+*##%%%%%%%%%###*++==+%+----=+#%%%#####%%%%%@@@@@%%%%%%%%@@@%%@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@%#%%@@@@@@%#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%
            *********###################%%%%%%%%%%%**#%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@*#%%%%%@%%@@%%%%%%%*#%@%%%%%%@@@%%%%%####%##**+++*%#*++***###%%%%%%%%%##**=-:..:-+**#%%%%%%%%%%%##**+==%%---==+#%%@%%#%%%%%@@@@@@%%%%%%%%%@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%
            **********##################%%%%%%%%%%%###%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@#**#%%%%%%%@@%%%%%%%%%@@%%%#%%%@@%%%%%%%%#%%##****#@*+*****##%%%%###%%##*+=-::..:-=+**#%%###%@%%%###**++%#===++*#%%@%%%%%%%@@@@@@@%%%%%%@%%%%@@%%@%%@%%@@@@@@@@@%@@@@@@@@@@@@%%@@@@@@@@@@#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@%%
            **********#################%%%%%%%%%%%%#*%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@*#%%%%%%@@%@@%%%%%%%@@@@@@#+*#%%@@%%%%%%%%%%###**#%@#*****####%%*+*#%####+=--:..:-+**#%%#****#%%#%###**%%+++++**#%%@%%%%%@@@@@@@@%%@%%%%%@%%%@@@%%%@@@@@@@@@@@@@@%@@@@@@@@@@@%%%@@@@@@%%@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%##
            ********####################%%%%%%%%%%###%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@%#%%%%%@@@%%@@%%%#%@@@@@@@%*+**#%%@@%%%%%%%%%#######@#*****####%#**##%%%%%#*++++=+*##%%%%%#**##%%######%%*+*****##%%%@%%%@@@@@@@@@%@@%%%%%%%%%%@@@%%%%%@@@@@@@@@@@@%@@@@@@@@@@%#%%%%@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#*+
            *********##*################%%%%%%%%%###%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@%*%%%%%%%@%%@%%%%%@@@@@@@@%#=++*#%%%%%%%%%%%%%######@#####****#%%%%%%@@@@@%%%%%##%%%%@@@@@%%%%%@#*###%%@#*****####%%%%%%@@@@@@@@@%%@@@%%%%%%%%@@@@#%%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%@%%@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*=
            +++**+++******###############%%%%%%%%#####%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%*##%%%%%@@%@@%#%@@@@@@@@@#%+=+**#%%%%%%@%%%%%%%%###%######****%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@***##%%%%#######%%%%@%#@@@@@@@@@%%@%%@%%%@@@@@@@@@%#%%%@@@@@@@@%@@@@%@@@@@@@@@@@%%%%%%@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%*==
            ++++++=++********############%%%%%%%%####%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@%*##%%%%%@%%%%%@@@@@@@@@@#%*==+**#%##%@@@@%%%%%%%%%%%#####****#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*****#%@%#####%%%%%@@@%@@@@@@@@%%%#%%%%@@@@@@@@@@@%##%@@%@@@@@@@%%@@@@@@@@@@@@@%*%%%%%@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%#+=--
            ++++++=+**********##########%%%%%%%%%###%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@%*##%%%%%%%%%%@@@@@@@@@@@###===+**###%%@@@@@%%%%%%%#%#####*****%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*++***##%@%%%%%%%%%@@@%@@@@@@@@%%%@#%%@%@@@@@@@@@@@@#%%%@@@@@@@@@@%@@@@@@@@@@@@@##%@%@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@%@@@@@@%%#*+=---
            ++++++==**********#######%%%%%%%%%%%%###%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@####%%%%@%%%%%@@@@@@@@@@@%+%*==++*+#%%%@@@@@@@%%%%##%#####*****#%@@@@@@@@@@@@@@@@@@@@@@@@@@%#**++****##%@@%%%%%%@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@%%#@%%@@@@@@%%@%%@@@@@@@@@@@@@*#%%%%@@%%%%%%@@@@@@@@@@@@@@@@%%%@@%%%%@@@@@%#*==---
            +========*********######%%%%%%%%%%%%%%###%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@%*%#%%%%%%%%%%@@@@@@@@@@@@#+%+===+*%#*%@@@@@@@@@%%%%%%#####****##%%%%@@@@%%%%@@@@@%%%%%%%%##********###%%%%%%%@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@%###%%@@@@@@@%%%@%@@@@@@@@@@@@@%*#%%%@%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%%@@@@%#+=---=
            +=======-=*******######%%%%%%%%%%%%%%%#######%%%%%%%%%%%%%%%%%%@@@@@%%%%%@*#%%%%%%@@%%%@@@@@@@@@@@@%*+%+===#%%#%%@@@@@@@@%%%%%%#######**#####%%%%%####%%%%%#########********####%%%%%%@@@@@@@@@@@@@%%%%@%%%@@@@@@@@@@@@@@@%#%%%%%%@@@@@@@%#%@@@@@@@@@@@@@@%*#%@%@@@@@@%@@@@@@@@@@@@@@@%%%%%%%%%%@@@%*=---=+#
            ==--==--:-++***#####%%%%%%%%%%%%%%%%%%###%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*#%%#%%%@@%%@@@@@@@@@@@@@%#+***%##%%#%%@@@@@@@@@%%%%%##################****#####***************#####%%%%%%@@@@@@@@@@@@@%%%%%#%%%@@@@@@@@@@@@@@@%#%%%%%@@@@@@@@@%##%@@@@@@@@@@@@@##%%%%%@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@@#=---=+#%%
            ---:::::-==+***#####%%%%%%%%%%%%%%%%%*#%%%%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*#%%%%@@@%#%@@@@@@%%%@@@@%%%%%*###**#%%%@@@@@@@@%%%%%%%#########*****++=+********+++*********######%%%%%%@@@@@@@@%%%@@%%%%%%%@%%@@@@@@@@@@@@@@%%%%@%%%@@@@@@@@@@@%%%@@@@@@@@@@@@@%#%%@@@@%@@@%%@@@@@@@@@@@@@@@%%%@@@@%*---=*#%%%%
            ::.....:-==++*#######%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+%%%%%%%@@%@@@%%%%%%%@@@@@@%%%%***+**##%%@@@@@@@@@%%%%%%%%#####*****##%%#+=++++=+*#%##******#####%%%%%%@@@@@@@@@@%%%%%%%@%%%@@@@@@@@@@@@@@@@@%*#%@%@%%%%@@@@@@@@@@@%%@@@@@@@@@@@@@%#%%%@@@@@@%%%@@@@@@@@@@@@@@%%%%%%%=--=*#%%%#%#
            ......::--=+**#######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*##%%%%%@@%@@%%%%%%%%@@@@@@%%%%%*==+**##%%%@@@@@@@@%%%%%%%%#####%%@%%%%%%#######%%%%%%%%%#######%%%%%@@@@@@@@@@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@%*%%%%%%%%%@@@@@@@@@@@@%%@@@@@@@@@@@@@@%%%%%@@@@@%%@@@@@@@@@@@@@@%%%%%%+--=#%%%#####
            :...::----::-+*######%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**#%%%%%@@%@@@%@%%%%%%@@@%@%%%%@%*==+***##%%@@@@@@@@@@%%%%%%%%@@@@%%%%%%%%%%%%%%%%%%%%%%%@@%%%%%%%@@@@@@@@@@@@@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@%*#%%%%@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@@@%%@@@@@@@@@@@@@%%%%%#=--*#######%%
            --:::------:.:=*#####%%%%%%%%%%%%%%%%%#########%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%#%%%@@@@@@@@@@%%%%@@@@@%%%%@%%%+==+**##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@##%%%%%%@@@%##%@@@@@@@@@@@@@@@@@@@@@@@%#%%%%%@@@@%%%@@@@@@@@@@@@%%%%%%#+--*##%%%%%%%
            -----:-------::=+**####%%%%%%%%%%#%%%%##########%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%@@@@@@@@@%%%%%%%%%%%%%%@@@@@#==+***##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%@@%%@@@@@@@@@@@@@@@@@@%*%%##%%%@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@##%%@@@@@@%@%@@@@@%@@@%%%%%%%%%#+==*##%%%%%##
            :---:-:-=-----::=+**################%%%#######*######%%%%%%%%%%%%%%%%%%%%%##%%%%%%%%@@@@@@@@%@%%%%%%%%%%%##%@@@@@*==+**###%%@@@@@@@@@@@@@@@@@%%%%######%####**###%%%%@@@@@@@@@@@@@@@@@@@@%%%%%@%%%@@@%%@@@@@@@@@@@@@@@@%#%%%%%%%@@@@@@#%%%%@@@@@@%@@@@@@@@@@@@@@##%%%%@@@@@%%@@%%%%%%%%%%%%%#*+==**##%%%%###
            :::-:-::--=-----=+**#################%#%#######****###%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%@@%@@@@%%%%%%%%@@@@@@@%#%@@@@@%*++***##%%%@@@@@@%#@@@@@%%%%%##++*+=*=+=+=+*##%%%%@@@@@@@@@@@@@@@@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@%*#%%%%%%%@@@@@%#%%#%%@@@@@%%@@@@@@@@@@@@#%%%%%%%%%@%%@%%%%%%%%%%%%%%+=-=*##%%%%%%#**
            -::::-::::-------=+******####*****##############***#####%%%%%%%%%%%%%%%%%%%#%%%%%%%%@%%@@@%%%%%%%%%%%%%@@@@@@@@@@@@@%*++**##%%%@@@@@@@%%@@@@@@%%%%%##########%%%%@%@@@@@@@@@@@@@@@@@@@@%%%@@%%%%@@%@@@@@@@@@@@@@@@@@@@@%#%%%%%%%@@@@@@@@%#%%%%@@@@@@%@@@@@@@@@@%##%%%%%%@%%%%%%%%%%%%%%%%%%%+==*#%%%%%%%%#*+
            :-::::::..:::-----=++*****##****+*##############****##########%%%%%%%%%%%%%*#%###%%%@%%%%%%%%%%%%#%%%%%%%@@@@@@@@@@@@@%*++*###%%@@@@@@@@%%%@@@@@@%%%%%%@%@%@@%@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@%#%%%%%%%@@@@@@@@%#%%%%@@@@@@@@@@@@@@@@@@%%%%@@@@%%%%%%%%%%%%%%%%%%%*==*%%%%%%%%%#*+
            :::...::.:::::::::--=+++*******=--=++****#######******++*#######%%%%%%%%%%%*####%%%%%%%%%%%%%%%%%*#@@@#*#%@@@@@@@@@@@@@@%***###%%@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@%@@@@@@%@@@@@@@@@@@@@@@@@*#%%%%%%@@@@@@@@@%#%%%%%%@@@%@@@@@@@@@@@@@#%@@@@%%%%%%%%%%%%%%%%%%%#*++#%%%%%%%%##*
            ....::::.::::::::::::::--=+++**===-----==+***+******+++=*##########%%%%%%%##%%%%%%%@@%%%%%%%%%%%%##%@@%#+#%@@@@@@@@@@@@@@@%####%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@%@@@@@@@%#%%%%%%%@@@@@@@@@@%#%%%%%@@@@@@@@@@@@@@@@@%%%@@@@@%%%%%%%%%%%%%%%%%%%######%%%%%##*
            :-------:..::::......::::----------===-:=++**=**#*+=====*********###%%%%%%##%%%%%%%%@%%%%%%%%%%%%@@@%@@%%##%@@@@@@@@@@@@@@@@%##%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@%#@@@@@%%%@@@@@@@@@@@@@%#%%%%%%%@@@@@@@@@@@%##%%%%@@@@@@@@@@@@@@@@@%%@@@@@%%%%%%%%%%%%%%%%%%%%%%%####%%#*++
            =====---::...::::. ..:::::.::::::::::::-=====+**+======+*++=+**#####%%%%%%#*##%%%%%%%%%%%%%%%%#%@@%@@@@@@@@@@@%@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%@@@@@@@@@@@%@%@@@@@@%%%%%%@@@@@@@@@@@@@@@%#%%%%%%@@@@@@@@@@@@@@@@%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%####*++=
            =======--:::::::::....:..:::........:-:--===============+++*#####%%%#%%#%%%*%%%%%%%%%%%%%%%%%###%@%%@@@@@@@@@%#%@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%@@@@@@@@@@@@@@@@%@%@%@@@%#%%%%%%@%@@%%%@%%%%%%%%##%%%%%@@@@@@@@@@@@@@%%@@@@@@%%%%%%%%%%%%%%%%%%%%%%%#####*++=
            =======--------::::::::::...:::::..::--:--====--======++***#####%%%%%%#%%#%**#%%%%%%%%%%%%%%%###%%@@@@@@@@@@@@@@@@@@@@@@@#%@@@@@@@@%%%@@@@@@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@%%%%%%%%%@%#%%%%%%@@@@%%%%%%%%%%%%%#%%%%@@@@@@@@@@@@@@@%%@@@%@%%%%%%%%%%%%%%%%%%%%%%%%####**+==
            =+=====-=--::::::::::::...:-----------------===---=++=+***######%%%%%%%%%%%#*%##%%%%%%%%%%%%%%##%%%@@##%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%#%%%%%%%@@@%%%%%%%%%%%%%%%#%%%%@@%@@%%@@@@@@@%%@@%%%%%%%%%######%%%%%%%%%######**++==
            ========-----::-:::::::::::-:-----------:--------=++*++***######%%%%%%%%%%%#*+#%%%%%%%%%%%%%%%%%#%%%@%*+%%@@@@@@@@@@@@@@#%@@@@@@@@@@@@@%#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@##@@%%%%%%%%%%%%%%#%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@%%%%%%%%%#########%%%%####****+****+===
            =======---=-------------:-------:::-------------===+++++++**#####%%%%%%%%%######%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@%%%@@@%%@@%%%%%%%%%%%%%%#%%%%%%%@%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%@@@@@@@%%%%%%%%%%###**###%%%%######*****+++===
            ========-:----------------------::::::------------========+**####%%%%%%%%%#%##%%%%%%%%%%%%%%%%%%%@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%%@@@@@@%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%@@@@@@@%%%%%%%%%%##**####%%#######%%#***++====
            ===========--=----===------------:::--:::-------======++===+**####%%%%%%%%#%%%%%%%%%%%%%%%%%%%##%%@@@@@@@@@%%%%%##*#%@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%@%@%%%%%%%%%###****##%%##%%%%%%%%%##**+====
            -----===========------=====------:---::::---=====+++==++++++++**###%%%%#%###%#%%%%%%%%%%%%%%%%%+#%@@@@@@@@@@@%@@%#**+*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@%%%%%%%%%%%%*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%##%%%%####**+++*####%%%%%%%%%%##**+====
            -::-=====-=================---:::::--::::---=====++++==+++++++***###%%%%%######%%%%%%%%%%#%%%@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@%#@@@@@@@@@@@%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####***++++++++++**#%%%%###%%%##**+=====
            ::-=-=-=================++===------::--------=====++++++++++++***#########*#####%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%###%%%@@@@@@@@@@@@%#%#%@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%######****++++=======++++*#######%%%###*++=====
            -==----=====+====+++++++++=====--------------=====+++++++++++++**#########*##%%%%%%%%%%%%%%%@@@@@@@@@%%@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#%@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@%%*+%@@@@@@@%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%##***+***+++++++======+++****#########**+======
            ===-=---=======+++++++++++======-:----=====--=====++++++++++++++**##########%%%%%%%%%%%%%%%#%%@@@@@@@@%%%%#**%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%%#@@@@@%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%####%%%%%#%%%%%####*++++++++++++++++====++******###*****+===-==-
            --------====++++++++++++++++++====================+++++++++++++++*****###*###%##%%#%%%%%%%%##%%%@@@@@@@@@@%%##%%%%%%@@@@%@@@@@@@@@@@@@@@@@@%%%%##*#%@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@%%%%#%%%%%##%%%%%%%%%%%%%%%%%%%######*###%#############*****++++++=++++=++++************+++==--=--
            =------====++++++++*++++****++++=====++=======++++=++++++*++++*************##**#%%%%%%%%%%%%%%%%%@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@%@@@@%%%*=+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#%%%%#%%%%%%%%%%%%%%%%%%%%###*********######*****###****+++=====++=+++++++++*+++++++====-----=
            ---:----===++++****************++++===++++++++++++++++++++*+++***********##***#**%%%%%%%%%%%%%%%%%@%#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@%%#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%#%%%%#%%%%%%%%%%%%%%###********+++*******+**********++====++++++++====+++=======-==-::-==
            --------===++**********#####*****++++++++++++++++++++++++++*++****###**#**##+####%%%%%%%%%%%%%%%%%%@%##%%@@@@@@@@@@@@#+*%%@@%%%*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#*#%%@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%#########*******+**++++**++***********++==+++==+++==--------------==-::-===
            ===========++*********#######*********+++++++++++++++++++**++++****#######*#+*%#%%%%%%%%%%%%%%%%%@@@@@@###%%@@@@@@@@@@@%######%%%@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%@@%%%%%##%@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%###########*************++++++***********+=++++==++=---------------==-.:=====
            +=========+++******#########***********+++=++++***+++++++**++++****########**#%%%%%%%%%%%%%@%%@%#%@@@@@@@%%%%@%%@@@@@@@@@@@@@%%%%@@@@@@@@@@@%%##*+++#%%@@@@@@@@@%%%#+-:..:-+#%@@@@@@@@@@@@@@@@@@@@%+*@@@@@%%%%%%%%%%%%%%%%%%%%%############***********+++**+**********+++++++=====--------:::::---:..:=====+
            +========++++******#####*#****#********++++++********+*****++++*****########*%%%%%%%%%%%%%%@%@@@%%@@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%##%%%%@@@%#+*#*++*###%@@@@@@@@@@@@@@@@@@@@@@%%###%@@@@@@%%%%%%%%%%%%%%%%%#####***######**********+++**+********+++++++++=+=====-----------::.::-====+++
            +=====++++++++*********####**##*********++***+***********+++++++******#####*#%%%%%%%@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@%@@@@@@@%%%@@@@@@%%%%#%%%%%%%%%%%%###****######****#*****+++++*******+++++++++++=====---:--=========-=====+++++
            ==++++++++++************#####**#*****+++++***+***********++++++*******###**##%%%%%%%@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@%#%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##%%%@%#%@@@@@@@@@@@@@@@@@@@%#%%%%%%%%%%%%%##**************#******++++*******+++++++++++====------============-======++
            ++++++++++++****++*************************++************++++++******####**#%%%%%%%%@@@@@@%@@@@@#%@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%######**************************+++++++++++======================----=======
            +++++++++++++*+***************************+++++++++++*****+++********####*##%%%%%%%%@@@@@%%%%@@@@@@@@@%@@@@@%@@@@@@@@@@@@@@@@@@@%%%%%%%%%###%%%#++===+*%%@@@@@%#*-:::--+*##%%%%@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%######*####************++****++**++++++++++==========----==-----===========
            +++=+++++++++++************************++++++++++=+++*****++++******####*##%%%%%%%%%@@@@@@%%%@@@@@%%%%%%%@@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@%%##*+====++*%%@@@%%%%%%###%%%%@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%##########*************+********+++++++++=========----:::.:-===+++=======
            ====+++++==+++++********************++++++=++++++++++*************#########%%%%%%%%%%@@@@@@@%%@@@@@@@%#*%%@@@@@@@@@@%*%%##%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%########********#**********************+++++++++======----::.:-====+++=========
            ====++++++++++++++++++**************+++*++++++++**+************###########%%%%%%%%%%%@@@@@@@@@@%%#@@@@%##%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%######%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##@@@@@@@@@@@@@@@@@%%%%%%%%%%%######################****************++*+++++++++=====------==+++===+++==-===--
            
          
            
                                                                                            
                                                                                                                                           ##+                                                           
                                                                                                                    ###                    ###                                                           
                                                                                                                  +#####+                                                                                
                                                                                                                   ######                                                                                
                                                                                                                                                                                                         
                                                                                                                                                                                                         
                                                                                                                                                                                                         
                                                                                                                              ##### .                                                                    
                                                                                                                       #######+---+######+-..-                                                           
                                                                                                                   +-++#################+-###-                                                           
                                                                                                                 #######++++###+-..-----#+   .+#######.                                                  
                                                                                                     .#######+-+###++#########+-#######-           -####                                                 
                                                                                                   .######---+##+#######+-   ..-####                                                                     
                                                                                                 .########+#####--++++-.-####-..                                                                         
                                                                                                ##########+.    .--. .###                                                                                
                                                                                               .#########+++##########.                                                                                  
                                                                                             .######################-                                                                                    
                                                                                             #+###################-                                                                                      
                                                                                            .###################-                                                                                        
                                                                                            #+################.                                                                                          
                                                                                           .################.                                                                                            
                                                                                           #+##############-                                                                                             
                                                                                           #+############.                                                                                               
                                                                                           #+###########-                                                                                                
                                                                              .            ++##########-                                                                                                 
                                                                           ++####           ##########-                                                                                                  
                                                                            +###+           #########-                                                                                                   
                                                                                            #########                                                                                                    
                                                                                           +########.                                                                                                    
                                                                                          +########-                                                                                                     
                                                                                          +########                                                                                                      
                                                                         ..               +######+-                                                                                                      
                                                                                         +########                           .                                                                           
                                                                                         +#######-                           ..                                                                          
                                                                                         +#######                                                                                                        
                                                                                         +######+                                                                                                        
                                                                                         +######+                                                                                                        
                                                                                         +#######+                 ###                                                                                   
                                                                                         #########      ##   +##   ###+   ##.                                                                            
                                                               -##-             .        #########-  ####...###-..--.-# -####                                                                            
                                                           ..  ...                      +############++.#####--#####+####.....###.                                                                       
                                                                          .       ..  . -########....-++#######- ..#+#-+##########+..                                                                    
                                                                          .-..    ..#-+-+####+###++++++--+####-#####--##..-##+--.+#+-#######+                                                            
                                                      ###-   .-#####++++-####++########-+####+#############++#####################--##+#--.######                                                        
                                                 .#++-####.   ++#######################.#####+###############+--+###----+-------####+##+####-+######-                                                    
                                                .#+-----...-.#-#++##+##################.####++#################++++++###########+++###########--###+##### .                                              
                                                #####+#+##############++++++###########-+###+######################################+####+++++-#-..--+--+###+.                                            
                                            .#####+###########-+######################-++###-#######################################+---#####+###########.#+###                                          
                                            .#---++####+---##########################-#++###-######+#########################################--..-++++###+.....                                          
                                            #+#####################################++-#++##-###############################################+-+###+#####-#########.                                       
                                         ######+#+++####+-.-####################--+++##++##-##########++################################++++########.-##+##+#.######                                     
                                        ###+######++++--.--##############--..-++#######+##+-#####################+++########################--.-##---+#..###########.                                    
                                         .-#++###++#########+. .......--+##############+##+############++####+-+++#+--...#---------...-########-.-######.+.#.-                                           
                                         -#-.#+-#######+----+++##+############++#######+##+#######################+#########-##########+.     .--###########.####                                        
                                         #+.###-##+######++######+####+++++############+########+-+++####++++--++#######+-+####.#######+######-##-########## #####                                       
                                         #+####-##+########+################+########################++###########----..-#+.      .##+#########+++#-+##- +.                                              
                                  ###    +###-.-+++##########+###++####################+++++++++++---..------..--+#####+++###########-..#######---+++###                                                 
                                  ######-+## .######++######++####+###########################################+##################+#####-###########--##.                                                 
                                 ###++++-+#+.######-##++####++#####++##############################+---+#########--##################++.###############                                                  
                                   #####-## -######+##-+####++###++#++#############+++#########++##########+###### +#################+##############+#.                                                  
                                    .+#++### +#####-##++####++#######-##########++####+###########-##+#####-+-#####---##############################++                                                   
                                      -+#####-+####+-+++#####+##+####-#########+#######+##########----######++++####################################++#-                                                 
                                      ########+##############+###---+++#######+##-+--##-+#####-++##..###++#+#########################################-#                                                  
                                   .##########+####+#########--++-.-++-##########-.--###+##############-############################################+                                                    
                                     .#######-##################-#####.+##############+#-#######--###+###+++++######################################.                                                    
                                               ####+-++##+++#####+#####-##########-##### +#####+--####+#############################################                                                     
                                              .#####+#############-####-########-.-#+###-+#####+-.####-############################################-                                                     
                                                     #+#####+#####-+++#+#####.-##-+#+###.+#+###+##################################################.                                                      
                                                      +####++####---+##+##### -########--##+####---++++++########################################.                                                       
                                                     .##########+######++##############..+#+######+-+############################################                                                        
                                                     ###+     --+####-++#######+#--.####-.-+###################################################-                                                         
                                                     ###+      +####--#########+#---+#####+## --+##++++########################################                                                          
                                                     ####.     #--+-+#############++####+####################################################.                                                           
                                                   ####          ##################++---+####++-##+########################################-                                                             
                                                                 ###############++############-###----####################################-                                                              
                                                                   #######++-.. ..-+##########+-+######################################-                                                                 
                                                                    ########.######+-++###############################################.                                                                  
                                                                     ######+-###############+----..-++############################-                                                                      
                                                                         .#--#####+#############-##############################-                                                                         
                                                              #.             -##--#########-###############################-                                                                             
                                                                                .+##########++#+-#####################+.                                                                                 
                                                                                       .---++++##############++++-.                                                                                      
                                                                                                 .            ..