@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####################@@@@@@@WWMMWMMMW@@@@@@@@@@@@@@@@@WWWWMMMMWWMxnnxWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######################@@@@@@@WMxxMMMMM@@@@@@@@@@@@@@@@@WWWWMMMWWMxnxMMMWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######################@@@@@@WWWMxxxMWMW@@@@@@@@@@@@@@@WWWWWMMWMMxxMWMxxMWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMx
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########################@@@@@@WMMWMxxxMWW@@@@#@@@WW@@@@WWWWWWWMMMMWWWMnnxMWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMxx
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########################@@@@@@WxnMMWWMMWW@@@@@@@@WWWWWWWWWWMMMxMMWWWMMxMMxMWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMxx
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########################@@@@@@WMxnxWWWWWW@@@@@@@@@@WWWWWWWWWMMMWWWMMMWWWxxMWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMxx
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########################@@@@@@WMxnnxMW@@@@@@@@@@@@@WWMMMWWWWMMWWMMWWWWMMxxxMWWWWMMWWWWMWWWMWMMMMMMMMMMMMMMMMMMMMMMxxx
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########################@@@@@@WMMxnxMMWW@@@@@@@@@@@WWMxxMWWWMMMMMWWWWMxnnnnMMMWWMMWWWWWWWWWMWMMMMMMMMMMMMMMMMMMMMMxxn
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########################@@@@@WWWMxxxxMWW@@#@@@@@@@WMMxxxMMWWMMMMWWWWWMnzzznxMMWWMMMWWMWWWWMMMMMMMMMMMMMMMMMMMMMMMxxxn
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############################@@@@@WWMxxxxMWW@@##@@@@@WWMnzzznnxMMMMMMMMMMxnzzzzxMMWMMxMWWMWWWWMWMMMMMMMMMMMMMMMMMMMMMxxnn
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############################@@@@@WMxxxxxMW@@##@@@@@@WMz###znxMMMxxMMMMMxnzzzznMMMWWMMWWMWWWWWMWMMMMMMMMMMMMMMMMMMMxxxnn
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###############################@@@WMMMxxMMW@@@@@@@@@@Wxz##zznxMMxxxMMMMMxnzzzznxMWWWMMMWWWWWWMMMMMMMMMMMMMMMMMMMMMxxxnnn
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############################@@@@@@WWMxxMMMWW@@@@@@@@@WMz#zzznxMMMMxxxxMMnzzzznnxxMWWMxWMMWWWWWMMMMMMMMMMMMMMMMMMMMxxnnnn
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############################@@@@@@@WWMxMMWWWW@@@@@@@WWMn##zznxMMxxMMMxMMnnzzznnxxMWWMxMWMWWWWWMMMMMMMMMMMMMMMMMMMMxxnnnn
@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############################@@@@@@@WMMMMWWWW@@@@@@@@WWMnz##znMMMMxMMMMMMxnzzznnxxMWWMxMWMWWWWMMMMMMMMMMMMMMMMMMMMxxnnnnn
@@@@@@@@@@@@@@@@@@@@@@@@@@@###############################@@@@@@@WMMWWWWWW@@@@@@@WWWxnz###nMMMMxxxxxxxxnzzzznxxMWWWMMWMWWWMMMMMMMMMMMMMMMMMMMMMxxnnnnn
@@@@@@@@@@@@@@@@@@@@@@@@@@@###############################@@#@@@@WMMWWWWWW@@@@@@@WWWxnzzz#nxMMMxxxxxxxxnzznnnnxMWWWMMWMWMMMMMMMMMMMMMMMMMMMMMMxxxnnnnn
@@@@@@@@@@@@@@@@@@@@@@@@@@@###############################@@#@@@@@WWWWWW@@@@@@@@@WWWMxzzzznxMMMMxxxxxxnnnnnnnnnMWWWMMWMWMMMMMMMMMMMMMMMMMMMMMMxxxnnnnn
@@@@@@@@@@@@@@@@@@@@@@@@@@@##############################@@@@@@@@@WW@WWWW@@@@@@@@WWWMxnzzznxMMMMMxxxxMxnnnxnxxxMWWMMMMWWWMMMMMMMMMMMMMMMMMMMMxxxnnnnnn
@@@@@@@@@@@@@@@@@@@@@@@@@@@###############################@@@@@@@@WW@@@@@@@@@@@@@WWWxxxnzzzxMMxxxxxxxxnnnnnnnnxMWWWMMMWMWMMMMMMMMMMMMMMMMMMMMxxnnnnnnn
@@@@@@@@@@@@@@@@@@@@@@@@@@@################################@@@@@@@@W@@@@@@@@@@@@WWWMxxxnnzzxMMxxxxxxxxnnnnnnnnxMWWWWMMWWWMMMMMMMMMMMMMMMMMMMxxxnxxnnnn
@@@@@@@@@@@@@@@@@@@@@@@@@@@###############################@@@@@@@@@@@@@@@@@@@@@@WWMMMxxxnnznMMxxxxxxxxxnnnnnnnnMMWMWMWWWWMMMMMMMMMMMMMMMMMMMxxxxxxxnnn
@@@@@@@@@@@@@@@@@@@@@@@@@@@#############################@@@@@@@@@@@@@@@@@@@@@@@@WWMMxxxxxnnnxMMxxxxxxxxxnnnnnnnMWWMWMWWWWMMMMMMMMMMMMMMMMMMMxxxxxxxnnn
@@@@@@@@@@@@@@@@@@@@@@@@@@@###########################@@@@@@@@@@@@@@@@@@@@@@@@@@WWWMxnnxnznnnxxxxxxxxxxxxnnnnnxMWWMWMMWMWMMMMMMMMMMMMMMMMMMxxxxxxxxnnn
@@@@@@@@@@@@@@@@@@@@@@@@@@###########################@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWMxxxnzzzznnxxxxxxxxxnnnxnnnxWWWMWMMWMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxn
@@@@@@@@@@@@@@@@@@@@@@@@@@##########################@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWMMMMxnz#zzznnnxxxxxxxnnnxxnxxWWWMWMMWMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@@#######################@###@@@@@@@@@@@@@@@@@@@@@@@@@@@WWMMMxxnz#zzzznnnxxxxxxnnnxxnxMWWMMWMMWMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@@#######################@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@WWMMxxxnnzzzznnnnnnxxnnnnxxxxxMWWMMWMMWMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@@#######################@@@@@@@WWWW@@@@@@@@@@@@@@@@@@@@WWMMxxxnnnzzzzzznnnnnnnnnxxMxxMWWMMWMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@@######################@@#@@WMMMxxxMMMWW@@@@@@@@@@@@@WWWWMMxxnnnnz##zzznnnzzznnnxMMxxMWMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@#######################@@@@WMxxxnnnxnnnxMW@@W@WW@@@@@WWWWMMxxxnzz##zzznznnzzznxxxMWMxMWMMMMWWMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@####################@@@@@@@WMMxxnnnxnnnnnxMWWWWW@@@@@WWWWMMxMxnznnznnnxnnnnnnxxxxMMxxMWMMMMWWMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@####################@@@@@@@WWMMMxxxxxxxxnnxMWWW@@@WWWWWWWMMMMxnnxxnxnxxxxxxxxMxxxMMxMMWMMMWWWMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@####################@@@@@@@@WWWWMWWMMMWMMMxMWWWWWWWW@WWWWWMMMxMxxnnnnnnnxxMMMMMMMMMxMWWMMMWWWWMWMMMMMMMMMMMMMMxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@####################@@@@@@@@WWWWWWWWWWWWMMMxMWWMWWWW@WWWWWWWMMMMxxxnnnznnxxxMMMMMMxxMWWMMMWWWWMWWWMMMMMMMMMMMxxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@#######################@@@@@@@@@WWWWWWWWMMxnMWWMWWWWWWWWWWWWWMMMxxxxnnnnnnnxxWWWMMxxMWWMMMWWWWMWWWMMMMMMMMMMMxxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@#######################@@@@@@@@@@@WWWWWWWWMxxxW@WWWWWWWWWWWWWWMMxnnnnnnnnnnnxnxWWMMMMWWWMMMMWWWMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@#######################@@@@@@@@@WWWWWWWWWWMxxxW@WWWWWWWWWWWWWMMxnnznnnnnnnnnxxxMWWMMMWWWMMMMWWWMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@#######################@@@@@@@WWWWMMMWWWWMMMxMW@WWWWWWWWWWMMMxxnnnnnnnnzznznnxnxMWWMMWWWMMMMWWWMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@#######################@@@@@@WMMxxnnnxxMMMMMMWW@WWWWWWWWWMMxnnnnnnnzz####zzznnnnxWWMMWWWWMMWWWWMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@#######################@@@@@WWMxnzzzzzznxMMWWW@@WWWWWWWWWWMxnnnnnnz##++++##zznnnxWWWMWWWWMMWWWWMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@#######################@@@@@WWMxnzzzz##znxMWWW@@WWWWWWMMWWMxxxxxnzz##+***++##zzznMWWWWWWWMWWWWMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@@#####################@@@@@WWWMMMMxMMnnnxMW@@@WWWWWWMMxxMMxxxxnnnz##+***+++###zzxWWWWWWMMWWWWMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@@#####################@@@@@@@WWW@WMMWWMxxWW@@@WWWWWWMMMxxMxxxxxxnnz#+****++++###xMWWWWWMMWWWWMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@@######################@@@@@@@@@@@WMMWWWMW@@@WWWWMMMMMMxxnxxxxMMMxxnz#++**+++###nMWWWWWMWWWWWMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@@######################@@@@@@@@@@@@WnnWWW@@WWWWWMMMMWWMMxnnxMMMWMWMMMxnz#+*+++##zMWWWWMMWWWWWMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@@######################@@@@WWMWWWWWMnnW@@@@W@WWMMxnznMWMxxnnxMMMWMMMMMxxn#+++++#zMWWWWMMWWWWWMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@@######################@@@@@WWMMMWWMMW@@@@@@@WMMMn#+#xMMMxnznxxMWWMMMMxMxn#+++++zMWWWWMMWWWWWMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@###@@#####################@@@@@@@@@@@@@@@@@@@WMMMxz#++nxMWxxz#nnxMMMMxxnxxxnz#+++zMWWWWWWWWWWWMMMWMMMMMMMxxMxxxxxxxxxxxxxxxxMM
@@@@@@@@@@@@@@@@@@@@@@@@###@####################@@@@@@@@@@@@@@@@@@@@WWWWMxz#+*#xMWMxnzznznxxxnzzzzznnz#++nMWWWWWWWWWWWMMWWWMMMMMMxxMxxxxxxxxxxxxxxxMMM
@@@@@@@@@@@@@@@@@@@@@@@@###@@###################@@@@@@@@@@@@@@@@@@@@WWWWMnz#+*+nMMMxnn#znzzzz#+++++####+#xMWWWWWWWWWWWMMWWWMMMMMMMxxxxxxxxxxxxxxxxxMMM
@@@@@@@@@@@@@@@@@@@@@@@@@##@@###################@@@@@@@@@@@@@@@@@@@@WWWWMnz#+++zMMMMnnz#zz#########++#zznxMMWWWWWWWWWWMMWWWMMMMMMMxxxxxxMMxxxxxxxxxMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################@@#@@@@@@@@@@@@@@@@@WWWWxnz#++++nMMMxnnzzn#+#########znnxMMWWWWWWWWWWWWMWWWMMMMMMMxxxxMMMMMMMMMMxMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######################@@@@@@@@@@@@@@@WWWWWMxnz+++++zMMMMxnnznz#########zznnnMMWWWWWWWWWWWWMWWWMMMMMMMMxxxMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##################@@@@@@@@@@@@@@@@@@WWWWWMxz#+++**#xMMMMnxz#zzzz######zznnxMWWWWWWWWWWWWMWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@#####################@@@@@@@@@@@@@@@@@@@@WWWMxz#+++**+nxMMMxnn#zzzzz#####zznnxMWWWWWWWWWWWWMWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@#####################@@@@@@@@@@@@@@@@@@@@WWWMnz#+++***#xMMMMnnzznzznzz##zzznxMMWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@##############@@@@@@@@@@@@@@@@@@@@@@WWWMnz#+++++*+nMMMMxznznnnzzzzzzzznxMWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############@@@@@@@@@@@@@@@@@@@@@@@WWWMnz#++****+#xMMMMnzzzzzzzzzzzzznxMWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############@@@@@@@@@@@@@@@@@@@@@@@WWMxnz#++***+*+nMMMMxznzzzzz#zzznnnxMWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############@@@#@@@@@@@@@@@@@@@@@@@WWMxnz#+******+#xMMMMnznzznz##zznnxxMWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMx
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############@@@#@@@@@@@@@@@@WWW@@WWWWMxn##+****+++#nMMMMxznz#zz##zznnxxMWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############@@@#@@@@@@@@@@WWW@@@WWWWMxn#+**i**++++zxMMMMnzn#zz##zznnxMMWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################@@@@@@@@@WMWW@@@WWWWMMnz#+*****+++zxxMMMMznz##z#znnxxMMWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################@@@@@@@@WMMW@@WWWWWWMMnzz#++*****+#nxMMMMnzzz#z#znnnMMWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###############@@@@@@@@@@MxW@@WW@WWWWMMxnzz##+*****+zxxMMMMzzn##z#zxxMMWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@#@@##############@@@@@@@MxM@@@@WWWWWWMMxxnzz###++***#nxxMMWMznn##zznxMMWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@##@##############@@@@@@MMWW@@@WWWWWWWWMxxxnzzzzzz#++#nxxMMMMnnxzznnxMMMWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#@@#############@@@@@@WMMW@@@@WWWW@@WWWMxxxnnxxxnz#++zxxxMMWMnxxnnnxMMWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#@@######@@@@@@@@@@@@MMWW@@@@@WWWW@WWWWMxxnnxMMMxnz#+zxxxMMMWxxMxxxxMMWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@##@@#@@#@@@@@@@@@@@@WMWW@@@@@@@W@WWWWWWMxxnznxxxxnz#+#xxxxMMWMMMMxxMMWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#@@@@@@@@@@@@@@@@@@WWW@@W@@@@@@@@WWWWWMMxnz##+#zzz#+*+nxxxMMWMMMMxMMMWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########@@@@@@WWW@@@@@@@@@@@WWWWMxnz###+***+*****zxxxMMMMWMMMMMMWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@###@@@@@@WWWWW@@@@@@@@WWWWMxnzz####+*********+nxxMMMWWMxMMMWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@##@@@@@@@WWWWW@@@@@@@WWWMMxxnzz####+**********#nxMMMWWMxMWMWWWWWWWWWWWWWWWWMMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWW@@@@WWWWMMxxxxnnz#####+**********+zxMMMMWWMxMWWWWWWWWWWWWWWWWWMMWWWWMMMWWWMMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWMMWWWWWWWMMMxxnnnnz#++####**********++nxMMMWWWMMWWWWWWWWWWWWWWWWWMMWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWMMMMMMMMMMMMMxxnnnz#+++##+************#xMxMMWWWMMWWWWWWWWWWWWWWWWMWWWWWWWWMWWWMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMMMxxMxxxMWWWMMMxxnnnz#+++#+++********++zxMMMWMWMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWMMMxMMMxxMWWWWMMMxxxxnnz######++*****+++#nMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@W@WWMMMMMWMxMWWWWWWMMMMxxxxnzzzzz####+**++++#zxMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WW@@@@@@@@@@WWWWWWW@@@@@@@@@@@#@@@@@@@@@@@@@@@@W@WWWMMMMMxxMWWWWWWWMMMMMxxxnznzzzzzzz#++#+++##nxMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWW@@@WWWWWWWWWWWWWW@@@@@@@@@@#@@@@@@@@@@@@@@@@@@WWWMxMMxxxWWWWWWWMMMMMMMxxxnnnnnnnnnzz###++++#zxMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWW@@@WWWWWWWWWWWWWWW@@@@@@@@@#@@@@@@@@@@@@@@@@@@WWWMxMMxnMWWWWWWMMMMMMxxxnnnnznnnxxxnnz#+*++++#zxMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWMxMxnnxMMWWWWWWMMxxxxnzzzz##znxxxnzz#+*+++++#nxMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWMxxxnznxMMMMMMMMxnnnnnzzzz+##znnz##++***+++++#nMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxxxnznMMMxxxxxxnz##zz##zz######+*********++++zxMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxxxnnxWWWMMMxxnnzzzzz####++#+++**********++++#nxMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@WWWWW@@@@@@WWWMxxnnMWWWWWMxxnnzz#####++*++++***ii******+++++#nMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@WWWWWWW@W@@WWWMxxnxMWWWWWWMxxnzzzz##+*ii*******ii****++++++++zxMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@WWWWWWWWWW@@@WWWMMxMW@@WWWWWMxnnnzz##+*ii************+++++++++#xMWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMM
WWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@WWWWWWWWWW@@WWWWWMMWW@@@WWWWMMxxnnzzz##++++*********++++++++++#nMWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWWMMMMMMMM
WWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWW@@@@WWWWWMMxxnnnnzz##+++********+++++++++##nMWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMM
WWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@WWWWWWWWWWWWWWWW@WWW@@WWWWWWWMMxxnnnnzz##+++********+++++++####nMWWMWMWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMM
WWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@WWWWWWWWWWWWWWW@WW@@WWWWWWMMMxxxnnzzzz#++++********++++++#####nMWWMMMMMWWWWWWWWWWWWWWWWWMWMMMMMMMMMMMMMMMMMMMMM
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@WWWWWWWWWWWWWWWW@@@@WWWWMMMxxxnnnzz####++++********+++++######nMWWMMMMMWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMxxx
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@WWWWWWWWWWWWWWW@@@@@@WWMMxxxxnnzzz####+++++*******+++++######zxMWWMMMMMWWWWWWWMMMWWWMWWWMMMMMMMMMMMMMMMMxxxxxxx
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@WWWWWWWWWWWWWW@@@@@WWMMxxxnnnnzz###+++++*********++++######znMWMMMMMMMMMWWWWMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxx
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@WWWWWWWWWWWWWW@@@@WWWMxxxnnnnzz##++++***********++++####zznxWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxnnn
MMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@WWWWWWWWWWWWWWWWWWWWMxxnxnnzz##+++************++++####zznxMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxnnnnnnn
MMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWW@@@@@@@WWWWWWWWWWWWWWWWWWMxxxxnnnzz#+++***********+++++###zzzxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxnnnnnnnnn
MMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWW@@@@@@@@WWWWWWWWWWWWWWWWWMxxxxnnnzz##++++*********++++####zznxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxnnnnnnnnnn
MMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWW@@@@@@@@@@@WWWWWWWWWWWWWWWMxxxnnnzzz##++++*******+++#######zzxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxnnnnnnnnnnnnnn
MMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWW@@@@@@@@@@@WWWWWWWWWWWWWWWWMxxxnnzzzz##+++++****+++#######z##zxMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxnnnnnnnnnnnnnnnn
MMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWW@@@@@@@@@@@WWWWWWWWWWWWWWWWMMxxnnzzzz###++++++++++##########+zxMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxnnnnnnnnnnnnnnnnnn
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMWW@@@@@@@@@@@WWWWWWWWWWWWWWWWWMMxxnnzzzz###+++++++###########+#zxMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxnnnnnnnnnnnnnnnnnnnn
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMWW@@@@@@@@@@@@WWWWWWWWWWWWWMMMMMMMxxnnnzzzz###+++############++#nxMMMMMMMMMMMMMMMMMMMxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnn
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWW@@@@@@@@@@@@@@WWWWWWWWWWWWWMMMMMMMxxxnnzzzzz#############z#+++#nxMMMMMMMMMMMMMMMMxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnn
xMMMMMxMMMMMMMMMMMMMMMMMMMMMMMMMMW@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWMMMMMxxxxnnnzzzzzzzz######z#+++##nxxxMMMMMMMMMMxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnn
xxxMMMMMMMMMMMWMMWWMMMMMMMMMMMMMMW@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWMMMMMMMxMxxxxnnnnnzzzz##zzz##++++#nxxxMMMMMMMxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxMMMMMMWWWWWW@@WWWWWWWWWWMMMW@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWMMMMMMMMMMxxxxxxnnzzzzzzzz##+++++zxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxMMMMMWWW@@@@@@@@@@@@@WWW@@@W@@@@@@@@@@@@@@@@@@WWWWWWWWWWMMMMMMMMMxxxxxxnnzzzzznnzz++++++#zxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxMxxMMMMWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWMMMMMMMMMMxxxxxnnnnnnnnzz#++++++#zxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxxxxxMMMWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWMMMMMMMMMMxxxxxnnnnnnzz#+++++++#zxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxxxxxxxxxMMWWWMWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWMMMMMMMMMxxxxxxxnnnz##++++++++#nxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxxxxxxxxxMMMMWWWMWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWMMMMMMMxxxxxxnnnzz##++++++++#znxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxxxxxxxxxxxMMMWWWWW@WWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWMMMMMMMxxnnzzz####++++++++#nnxnxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxxxxxxMMMMMMMMMMMWWMMWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWMMMxnnzz#######++++++++#znnnnnnnnzzzzzzzzzzznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxxxxxxMMMMMMMMMMMMMMMWW@@W@@@@@@@@@WWW@@@@@@@@@@@@@@@@@@@@WWWMMxnzz#########+++++++##znnnnnnnnnzzzzzzzzzzzznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxxxxxxMMMMMMMMMMMMMMMMWWWW@@@@@@@@WWWW@@@@@@@@@@@@@@@@@@@@WWMxnzz###########++++++#zznxnnnnnnnnzzzzzzzzzzzznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxxxxxxxxMMMMMMMMMMMMMMMMW@@@@@@@@@W@@@@@@@@@@@@@@@@@@@@@@WWMxnnzzz#########+++##zznxxMxnznnnzzz+*******++++++++znnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxxxxxxxxMxMMMMMMMMMMMMMMM@@@@@@@@WW@@@@@@@@@@@@@@@@@@@@@@WWMMMxxnnzzzz###+++#zznxxxMMMxn###++++;.,,,,,:::::;ii*zznnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxxxxxxxxMxMMMMMMMMMMMMWWWW@WWWWWWW@@@@@@@@@@@@@@@@@@@@@@@WWWWWMMMMxxxnnnnzznnxxxMMxMMxMn##+**#+*;;;iii**+###zzzznnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxxxxxxxxMMMMMMMMMMMWWW@@WWWWMxnzzxMW@@@@@@@@@@@@@@@@@@@@WWWWWMMMMMMMMMMMMMMMMxxMMxxxxxMxnnnzzzz#######zzzzznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxxxxxxxxMMMMMMMMMWWW@@@WMxnnz###zzxWWW@@@@@@@@@@@@@@@@@WWWWWMMxnzzMMMMMMMMMMMxMMMnxxxxxxnnnnzzz####zzzzzzzzznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxxxxxxxxMMMMMMWWW@@@@WMxnzzzzznnnnnMWMW@WW@@@@@@@@@@@@@WWWWMMxnn+*nMMMMMMMMMMxMxn#nxnxxMnznnnzzzzzzzzzzzzznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxMxxxxxMMMMMWW@@@@@@@WWMMxxMMxxxxxMMMMWWWWW@@@@@@@@@@@@@WWWMxnzznzzxMMMMMMMMMMxxz#zznnxMnnnnnnnnzzzzznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxxxxxMMMWWWW@@@@@@@@@@@@WWWWWWWMWMMWWWWWMMW@@@@@@@@@@@@WWWWMMnzi#nxxWWWWMMMMMMxxz+*+#zxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxxMMMWWW@@@@@@@@@@@@@@@@@@@@@WWWWWMMWMMxxMW@@@@@@@@@@@@WWWWMMxz*+nxMMWWWWWMWMMMxn#+#i*zxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nxxxxxxMMMWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMMxxxMW@@@@@@@@@@@@WMMMWWMxz;+nxxMWWWWMMMMMMxxnxn++znnnnxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxMMMWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWMMMWW@@@@@@@@@@@@@WMMWWWWxn##nxxxWWWWMMMMMMxxxxnnxnxnnnxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
MMMWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@WWW@@@@@@@@@@@@@@@WMMMWWMMxnnxxnxWWWMMMMMMMnxxxnxxxxxxxxnxxnnnnnxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxMWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@WWW@@WWWW@@@@@@@@@@@@@@@@@@@@@WxMMWWWMMnnxnnMWWWWWWMMWxnxxxxnxxxxMMxxxxnnnnnnnnnnnnnnxnxxxnnnnnnnnnnnnnnnnnnnnnnnnnnn
znxxMWWWW@@W@@@@@@@@@@@@@@@@@@@@@WWWWWWWW@@@@@@@@@@@@@@@@@@@@@@WMxMWWWMMxnxnnMWWWWWWMMWMnnMxxnxxxxxxxxxxxxxnxnnnnxnnnnxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnn
zzznxMWWWWWW@@@@@@@@@@@@@@@@@@WW@WWWWWWWWWWW@@@@@@@@@@@@@@@@W@@@WxxMWWWMxxxnxWWWWWWWMMWMxnxxxxxMnnnnnxxxxxxxxxxxxxnxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnn
zzzzznxMWWWWWWWWWWWWWWWW@@@@@@WWWWWWWMMMMMMWWW@@@W@@@@@@@@@@@@WWWMxMWWWMxnxMWWWWWMMMMMMMxnnnxxMxnzzzznnnxxxxxxxxxxnxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnn
zzzzzzznMMWWWWWWWWWWWWWWWWWWWWWWWWWWMMxxxxMMMWWWWWWWWWW@@@@@@@WWWWMMMWWMxnMMWWMMMMMMMMMMMxxxxxxnz####znnnnnnxxxxxxnxxxxxxxxxxnnxnnxnxxnnnnnnnnnnnnnnnn
zzzzzz#zzxMWWWWWWWWWWWWWWWWWWWMMMMMWMMMxxxxxMMMMMMMMMMMWWWW@WWWWWWWWMWWMxxxWMMMMMMMMMMMMMMMMxnz#######zznnnnnnnxxxnnxnxnxxxxnnnnnnnnxxxnnnnnnnnnnnnnnn
zzzzzzzznxMWWWWWWWWWWWWWMMMMxxnxxxMMMMxxxxxxMMMMMMxxnnnxMWWWWWWWMWWWWMMMxxMMMMMMMMMMMMMMMMMxz###+###++##zznnnnnnnnnnxxxxxxxnnnnnnnnnxxxnnnnnnnnnnnnnnn
#zzzznxxMMMWWWWWWWWWWMMxxxxnnnnnxxxMMMxxxxxxxMMMMMxxxxxxMWWWWWWMxxxMMMMMxxMMMMMMMMMMMxxxxMxxz##+++++++####zznnnnnnnnnxxxxxxxxnnxnnxnxxxnnnnnnnnnnnnnnn
##zznxxMMMMWWWWWWMMMMxnnnnnnnzznnxxMMMxxxxxxxxxxMMxxxMMWWWWWWMMnzzzzznnxxnxxnnnnnnnnzzz#zxxxz#++++++++++++##zzznnnnnnnxxxxxxxnnxnnxnxxnnnnnnnnnnnnnnnn
###znnnnnnnxxxxxxxnnnzzznnnnnznnnnxxxxxxxxxxxxxxxxxxMWWWWWWWWMxzzz#####znz##########++++#zxxn++++++++++++++####zznnnnnnnxxxxnnnnnnnnnnnnnnnnnnnnnnnnnn
####zzzznnnnnnnnzzzzzzznzzzzzznnnnnxxxxxnnxxxxxxxxxMWWWWWWWWWMnz#z####zznz####+++++++++++#nxn+++++++++++++++++####zznnnnnnnnnxnnnnnnnxnnnnnnnnnnnnnnnn
###zzzzzznnnnnnnnnnnzzzznnnzzzzzznnnxxxnnnnnnnxxxxxMWWWWWWMMMxn####zzzzzzz####++++++++++++znn#+++++++++++++++++#####zznnnnnnnxnnnnnnnnnnnnnnnnnnnnnnnn
####zzzzznnxxnnnnnnnnnnnnnnzzzzzznnnxxxxnnnnnnnnxxMWWWMMMMMMxzzzzzzzzzzzz####+++++++++++++#nn#++++++++++++++++++++######zzznnnnnnnnnnnnnnnnnnnnnnnnnnn
##zzzzzznnnxxxnnnnnnnnnnnnnzzzzzznnnxxxxnnnnnnnnnnxMMWWMMMxxz#####zzzzzzzz###++++++++++++++zn#++++++++++++++++++++######zzzzzzznnnnnnnnnnnnnnnnnnnnnnn
zzzzznnnnnnnxnnnnnnnnzzzzzzzzzzzzznnnnnnnnnnnnnnnnnnxMMMMMnz+####zzzzzzzzz###++++++++++++++#z#**++++++++++++++++++++####zzzzzzzzzznnnnnxxnnnnnnnnnnnnn
zzzznnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzznnnzzzzzzzzzzzznxMMMxz+++######zzzzzz###+++++++**++++++##*******+++++++++++++++#######zzzzzzzznnnxxxnnnnnnzzzzzzz
zzzznnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz#znMMxz#+*+++####zzzzzz###+++++++++++++++##++++****++++++++++++######zzzzzzzznnnnxxxnnnnnnzzzzzzzzz
zzzzzzznnnnnnnznzzzzzzzzzzzzzzzzzzz#zzzzzzzzzzzzzzz##zxxn#++***+####zzzzzz###++++++++++++++++#++++++++**+++++++++###zzzzzzzzzzznnnxxxxxnnnnnzzzzzzzzzz