@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####++++++++++++''''+''''+''++++++++'''''''''''''+++++++++++++##++++++++++++++++++++++++++'''';;''''';;;;''''''''''''''''''''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####++''''''''''''''''''''''''''''''''''''''''''''''''++++++++++++++++''''''''''++++++++++'''';;''''';;;;''''''''''''''''''''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+++'''''''''''''''''''''''''''''''';;;;;;;;;;''''''''++++++++++++++''''''''''+++++++++++''';;;''';;;;;''''''''''''''''''''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####++''''''''''''''''''''''''''''''';;;;;;;;;;;;;;'''''''+++++++++++''''''''''''+++++++++++''';;;;'';;;;;''''''''''''''''''''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####++'''''''''''''''''''''''''''''';;;;;;;;;;;;;;;'''''''+++++++++++''''''''''''+++++++++++'';;;;;;;;;;;;;'''''''';;;;'''''''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####++'''''''''''''''''''''''''''''';;;;;;;;;;;;;;;''''''+++++++++++'''''''''''''++++++++++''';;;;;;;;;;;;;;'''';;;;;;;;;;''''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####++'''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;''''''++++++++++''''''''''''''++++++++++''';;;;;;;;;;;;;;;;';;;;;;;;;;;''''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####++'''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;''''''++++++++''''''''''''''''++++++++++''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####++'''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;''''''+++++++++'''''''''''''''++++++++++''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####++'''''''''''''''''''''''''''''';;;;;;;;;;;;;;''''''+++++++++''''''''';''''''+++++++++'''';;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####++'''''''''''''''''''''''''''''';;;;;;;;;;;;;;''''''+++++++++'''''''''''''''++++++++++'''';;;;;;'';;;;;;;;;;;;;;;;;;;;;;;;''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+'''''''''''''''''''''''''''''';;;;;;;;;;;;;;'''''''++++++''''''''''''''''''++++++++++'''';;;;;'''';;;;;;;;;;;;;;;;;;;;;;;''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+''''''''''''''''''''''''''''''';;;;;;;;;;;;'''''''+++++++'''''''''''''''''+++++++++++'''';;;;;'''';;;;;;;;;;;;;;;;;;;;;;;''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+''''''''''''''''''''''''''''''';;;;;;;;;;;''''''''+++++++'''''''''''''''+++++++++++++'''';;;;;'''';;;;;;;;;;;;;;;;;;;;;;'''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+''''''''''''''''';''''''''''''''';;;;;;;;'''''''''+++++++'''''''''+++''++++++++++++++'''';;;;''''';;;;;;;;;;;;;;;;;;;;;''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+'''''''''''''''';;''''''''''''''''''''''''''''''''++++++''''''+++++++++++++'''+++++++''';;;;;''''';;;;;;;;;;;;;;;;;;;;;''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+'''''''''''''''';;;'''''''''''''''''''''''''''''''+++++''''''++++';+++#++++';;''''+++''';;;;;''''';;;;;;;;;;;;;;;;;;;;;''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+'''''''''''''''';;;'''''''''''''''''''''''''''''''+++++'''''++#++';+++++++';;;;;'''''''';;;;;''''';;;;;;;;;;;;;;;;;;;;;;'''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''''''''''''';;;;''''''''''''''''''''''''''''''++++'''''+###++''++++++++';''';;'''''';;;;;'''';;;;;;;;;;;;;;;;;;;;;;;'''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''''''''''''';;;;''''''''''''''''''''''''''''''++++''''++#####+++++++++++;;''';;;;''';;;;;'''';;;;;;;;;;;;;;;;;;;;;;;'''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''''''''''''';;;;'''''''''''''''''''''''''''''''''+'''+++#####+++''++++++';;;'';;;;;;;;;;;'''';;;;;;;;;;;;;;;;;;;;;;;'''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+'''''''''''''';;;;;;'''''''''''''''''''''''''''''''''''+++#####+++''''''+++''';;'';;;;;;;;;;''''';;;;;;;;;;;;;;;;;;;;;;;'''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+'''''''''''''';;;;;;'''''''''''''''''''''''''''''''''++++####+++++'';'';''+';;';;''';;;;;;;;''''';;;;;;;;;;;;;;;;;;;;;;;'''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+'''''''''''''';;;;;;'''''''''''''''''''''''''''''''''++######+'+'+;';'';;;;;;:;;:;;'''';;;;;''''';;;;;;;;;;;;;;;;;;;;;;;'''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+'''''''';''''';;;;;;'''''''''''''''''''''''''''''''''+####++++'';+''''';'';;;::;;;'''''';;;;''''';;;;;;;;;;;;;;;;;;;;;;;'''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+''''''';;''''';;;;;;''''''''''''''''''''''''''''''''++###+''+'';'+'++++'''''''::';''+++';;;''''';;;;;;;;;;;;;;;;;;;;;;;;'''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+''''''';;''';;;;;;;;''''''''''''''''''''''''''''''''+####+';+'';'++++++''+'''';;''+++++';;'''''';;;;;;;;;;;;;;;;;;;;;;;;'''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''';;;;;;;;;;;;;''''''''''''''''''''''''''''''''+#####+;;+''''+++++++'++'''';''++++'';;'''''';;;;;;;;;;;;;;;;;;;;;;;''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''';;;;;;;;;;;;;''''''''''''''''''''''''''''''''+###+#'';+'++++++++++'+++'''''++++'';;;'''''';;;;;;;;;;;;;;;;;;;;;;;''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''';;;;;;;;;;;;;;''''''''';;;;''''''''''''''''''+###++''''+++++++++++'+'+'''''++'''''';'''''';;;;;;;;;;;;;;;;;;;;;;;''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''';;;;;';;;;;;;;;'''''''';;;;;;'''''''''''''''+###+++'''++++++#+++++'+'+'''''''';;;'+''''''';;;;;;;;;;;;;;;;;;;;;;;''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''';;;;;';;;;;;;;;'''''''';;;;;;'''''''''''''''+###++'+'+++++++#+++++'+'+'''''';;;:;''++''''';;;;;;;;;;;;;;;;;;;;;;;''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''';;;;;';;;;;;;;;;''''''';;;;;;''''''''''''''+####++'#++++++++++++++'+''''''';;;:;;'+++++''';;;;;;;;;;;;;;;;;;;;;;;''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++''''''';;;'''';;;;;;;;''''''''';;;'''''''''''''''+###++++#+#+#++#++++++''''''';;;;;;::;''++++++';;;;;;;;;;;;;;;;;;;;;;;''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''''''''''''';;;;;;''''''''';;;;''''''''''''''++##++++#+#+++++++++++'''''';;;:::::;;''++++++';;;;;;;;;;;;;;;;;;;;;;;''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''''''''''''';;;;;;''''''''';;;;'''''''''''''++#++++++++#++++++++++''''';;;;:::::::;'+++++++';;;;;;;;;;;;;;;;;;;;;;;''''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''''''''''''';;;;;;''''''''';;;;;''''''''''''++#+++++#+##++++++++++'''';;;;;::,::::;'+++#++++';;;;;;;;;;;;;;;;;;;;;;;'''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++''''''''''''''''';;;;'''''''''';;;;;;'''''''''''+##++++##+#++++++++'''''';;;;:::,::::;;'+++#++++';;;;;;;;;;;;;;;;;;;;;;;'''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++''''''''''''''''';;;;'''''''''';;;;;;';;'''''''+++++++++#+#++++++++''''';;;;;::,,::::;;'++++++++';;;;;;;;;;;;;;;;;;;;;;;'''''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''''''''''''''';''''''''''''';;;;;;;;;;';;;'++++++++++++++++++'''''';;;;;::,,,,:::;''++++++++';;;;;;;;;;;;;;;;;;;;;;;'''''''''';#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''''''''''''''''''''''''''''';;;;;;;;;;;;;;'+++++++++++++++++'''''''';;;;::,,,,:::;;'+++++++++;;;;;;;;;;;;;;;;;;;;;;;'''''''''';#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''''''''''''''''''''''''''''';;;;;;;;;;;;;;'+++++++++++++++''''''''';;;;:::,,.,:::;;''+++#++#+;;;;;;;;;;;;;;;;;;;;;;;'''''''''';#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''''''''''''''''''''''''''''';;;;;;;;;;;;;;'+++++++++++++++'''''';;;;;;:::,,,,,::;;'''++++++#+';;;;;;;;;;;;;;;;;;;;;;''''''''';;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++''''''''''''''''''''''''''''''''';;;;;;;;;;;;;+++++++++++++++'''''';;;;;;;:::,,,,,::;;;''++++++##';;;;;;;;;;;;;;;;;;;;;;''''''''';;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++''''''''''''''''''''''''''''''''';;;;;;;;;;;;'+++++''++++++'''''';;;;;;;::::,,,,,,:::;;''++++++##';;;;;;;;;;;;;;;;;;;;;;'''''''';;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++''''''''''''''''''''''''''''''';;;;;;;;;;;;;;'''''''''''''''''';;;;;;::::::,,,,,,,:::;;'''+++++##+;;;;;;;;;;;;;;;;;;;;;''''''''';;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''''''''''';;;''''''''''''';;;;;;;;;;;;;;''+''''''''''''''';;;;::::::::,,,,,,,,:::;;''+'++++##+';;;;;;;;;;;;;;;;;;;;'''''''';;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'';;;;'''''';;;;;;;;;'''''';;;;;;;;;;;;;;;;'''+'''''''';'''''';;;::::::::,,,,,,,,,:::;;''++++++##+';;;;;;;;;;;;;;;;;;;''''''''';;;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+'';;;;;''''';;;;;;;;;;;''';;;;;;;;;;;;;;;;;;'''+'';;;;;;;;'''';;;:::::::::,,,,,,,,,::::;;''+++++##+';;;;;;;;;;;;;;;;;;;''''''''';;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+'';;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''+'';;;;;;;;;''';;:::::::::::,,,,,,,,:::::;''++++++++';;;;;;;;;;;;;;;;;;'''''++''';;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''+';;;;;::::;;';;:::::::::::,,,,,,,,::::::;;'++++++++';;;;;;;;;;;;;;;';;'''''++''';;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+'';;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'++';;;;::::::;;;;:::::::::::,,,,,,,,::::::;;'++#+''++';;;;;;;;;;;;';;'''''''++''';;;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+';;;;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'++';;;;:::::::;;::::::::::::,,,,,,,,:::::::;''+++''++';;;;;;;;;;;;;;'';'''''+'''';;;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+';;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''';;;;;:::::::::::::::::::::,,,,,,,,::::::;;;'+++++++';;;;;;;;;;;;;;;;;''''++'''';;;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+'';;;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''';;;;::::::::::::::::::::::,,,,,,,,:::::;;;'''+###++';;;;;;;;;;;;;;;;;'''''+''';;;;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+'';;;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;:::::::::::::::::::::,,,,,,,,,::;;;;;;'''+++#++';;;;;;;;;;;;;;;;;''''++''';;;;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+'';;;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;:::::::::::::::::::::,,,,,,,,,:::;;;;;'''++++++';;;;;;;;;;;;;;;;;''''++'';;;;;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'';;;;'''';;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;:::::::::::::::::::::::,,,,,,,::;;;;;;''++'++++';;;;;;;;;;;;;;;;;'''''+'';;;;;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++'''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;:::::::::::::::::::::::::::,,:::;;;;;;''+++++++;;;;;;;;;;;;;;;;;;'''++''';;;;;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+++'''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;:::::::::::::::::::::::::::::::;;;;;;;''+++++++';;;;;;;;;;;;;;;;;'''++'';;;;;;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+++'''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;::::::::::::::::::,::::::::::::;;;;;;'''+++##++';;;;;;;;;;;;;;;;;'''++'';;;;;;;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+++'''''''''''''';;;;;;;;;;;;;;;;;;'''';;;;;''';;;;;:::::::::::::::::,:::::::::::::;;;;;''''+++##++';;;;;;;;;;;;;;;;;'''++'';;;;;;;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####++'''''''''''''';;;;;;;;;;;;;;;;'';;''';'''''';;;;;::::::::::::::::,,:::::::::::::;;;;;''''+++###+';;;;;;;;;;;;;;;;''''++'';;;;;;;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######++''''''''''''';;;;;;;;;;;;;;;;'';;'''''''''';;;;;:::::::::::::::,,,,::::::::::::;;;;;''''+++###+';;;;;;;;;;;;;;;;'''++''';;;;;;;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######++''''''''''''';;;;;;;;;;;;;;;;'';''''''''''';;;;;::::::::::::::,,,,,:::::::::::;;;;''''''+++####+;;;;;;;;;;;;;;;;'''++'';;;;;;;;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######++'''''''''''';;;;;;;;;;;;;;;;'''''''''''''';;;;::::::::::::::,,,,,,,::::::::::;;;;''''''++++###+;;;;;;;;;;;;;;;;''+++'';;;;;;;;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######+++'''''''''';;;;;;;;;;;;;;;;;;';;;;'''''''';;;;::::::::::::::,,,,,,,,:::::::::;;;;;'''''+++++##+;;;;;;;;;;;;;;;'''+++'';;;;;::;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######++++'''''''';;;;;;;;;;;;;;;;;;;;;;;;'''''''';;;;:::::::::::::,,,,,,,,,,::::::::;;;;''''''++++++#+;;;;;;;;;;;;;;;'''+++'';;;;;::;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########++++'''''''';;;;;;;;;;;;;;;;;;;;;;;;;'''';;;;;;:::::::::,,::,,,,,,,,,,::::::::;;;;'''''++++++##+;;;;;;;;;;;;;;;'''++'';;;;;;::;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########++'''''''';;;;;;;;;;;;;;;;;;;;;;;;;';'';;;;;::::::::::,,::,,,,,,,,,,:::::::;;;;;;;'''+++++++++;;;;;;;;;;;;;;''''++'';;;;;:::;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########+''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;::::::::::,:::,,,,,,,,,,:::::::;;;;;;;;''+++++''+';;;;;;;;;;;;;;''''+''';;;;;:::;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########+''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;:::::::::,,:::,,,,,,,,,,:::::::;;;;;;;;''++++++++';;;;;;;;;;;;;'''''+''';;;;;::::;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########++'';;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;::::::::::,,:::,,,,,,,,,,:::::::;;;;;;;'''++++++++';;;;;;;;;;;;'''''++''';;;;;::::;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########++'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;:::::::::,,,,::,,,,,,,,,,:::::::;;;;;;''''+++++''+';;;;;;;;;;;;'''''+''';;;;;;::::;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########++''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;::::::::::,,,,::,,,,,,,,,::::::::;;;;;;''''++++''''';;;;;;;;;;;;''''''''';;;;;;;:::;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############+''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;::::::::::,,,,::,,,,,,,,,::::::::;;;;;;;'''+++'''''';;;;;;;;;;;;''''''''';;;;;;;:::;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############+''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;:::::::::,,,,::,,,,,,,,,:::::::::;;;;;;'''+++''''+';;;;;;;;;;;;''''''''';;;;;;;:::;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############+''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;:::::::::::,,,:::,,,,,,,::::::::::;;;;''''''++''''+';;;;;;;;;;;''''''''';;;;;;;;:::;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############++'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;::::::::::::,:::::,,,,,,::::::::::;;;;'''''++'''''''';;;;;;;;;;''''''''';;;;;;;;:::;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############++'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;:::::::::::,,:::,,,,,,,::::::::::;;;;;''''++'''''''';;;;;;;;;;''''''''';;;;;;;;:::;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@##++'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;';;::::::::::,,,::::,,,,,,::::::::::::;;;;''''''''''++';:;;;;;;;;''''''''';;;;;;;;;:::;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@###++''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;';;:::::::::,,,,::::,,,,,,:::::::::::::;;;''''+++''+#+:,:;:;;;;;;''''''''';;;;;;;;;:::;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@##++'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::,,,:,:::,,,,,,,,:::::::::::;;;''''++''+##',,;;:;;;;;;'''''''';;;;;;;;;;:::;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@###++''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::,,,,,:::,,,,,,,:::::::::::;;;;;''''''++++;,:;;:;;;;;''''''''';;;;;;;;;:::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@##++''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::,,,,,::::,,,,,,:::::::::;;;;;;;'''''+++';;:;;:;;;;;;''''''''';;;;;;;;;:::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@###++''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::,,,,,::::,,,,,,,:::::::::;;;;:;;'''++''''';;;:;;;;;;;''''''''';;;;;;;;;:::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@##++''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::,,,,,,::::,,,,,,:::;::::;;;;;;:;;'''''+''''';:;;;;;;'''''''''';;;;;;;;;::::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@##++''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::,,,,,,:::::,,,,,::;;;;:;;;;;;::;;'''+++++''';:';;;;;''''''''';;;;;;;;;;::::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@####+'''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::,,,,:::::,,,:::;;;;;;;;;;;:::;;''''+++'''';:+';;;;''''''''';;;;;;;;;;::::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@###+''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::,,::::::::::;;;;;;;;;;;;;;:;;;''''+''''';;;++;;;'''''''''';;;;;;;;;;::::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@###++'''''''''''';;;;;;;;;;;;;;;;;;;;;;;''';;;;;::,,::::;;;;;;;''';;;;;;;;;;::;;'''++'''';;;;'+';'''''''''';;;;;;;;;;;::::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@###++''''''''''''';;;;;;;;;;;;;;;;;;;;;''''''';;:::::::;;;'''''''';;;;;;;;;;::;;''''++''';;;;'+';'''''''''';;;;;;;;;;;::::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@####++''''''''''''';;;;;;;;;;;;;;;;;;;;;'''''''';;::::::;;;'''''''';;;;;;;;;;::;;;'''''''';;:;'+;;'''''''''';;;;;;;;;;;::::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@@##++''''''''''''';;;;;;;;;;;;;;;;;;;;;'''+++''';::::::;;;''''''';;;;;;;;;;;::;;;'''''';;;;;:'+;;''''''''';;;;;;;;;;;;::::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@@##++'''''''''''''';;;;;;;;;;;;;;;;;;;;'''+++''';::::::;;''''';;;;;;;;;;;;;;::;;;'''''';;;:;;'+;;'''''''';;;;;;;;;;;;;::::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@@##++'''''''''''''';;;;;;;;;;;;;;;;;;'''''''''';;::::::;;;;;;;:::::;;;;;;;;;;;;;;'''''''';;;;'+;;'''''''';;;;;;;;;;;;;::::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@@##++'''''''''''''';;;;;;;;;;;;;;;;;;''''';;;;;;;:::::::;;;;;;::::::;;;;;;;;;;;;;'''''''';;;;+';;'''''''';;;;;;;;;;;;;::::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################++'''''''''''''';;;;;;;;;;;;;;;;;;'''';;;;;;;;:::::::;;;;;:::::::;;;;;;::;;;;;'''''''';;;;'';'''''''';;;;;;;;;;;;;;;:::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################++''';''''''''';;;;;;;;;;;;;;;;;;;''';;::::;;;;::::::;;;;;;::::::;;;;;::;;;;;;''''''''';;;''';''''''';;;;;;;;;;;;;;;;::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################++''';''''''''';;;;;;;;;;;;;;;;;;;''';;::;;;;;;;:::::;;;;;;;;;;;;;;;;;::;;;;;;''''''''';;;'''''''''';;;;;;;;;;;;;;;;;::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################++'';;;;;;'''';;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;';;::::;;;;;;;'''''';;;;::;;;:;;''''''''';;;''';'''''';;;;;;;;;;;;;;;;;::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###############++''';;;;;;;''';;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;'';::::;;'';'''+++''';;;:::;;;;;''''+'''';;:'';;''''';;;;;;;;;;;;;;;;;;;:;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###############++''';;;;;;;''';;;;;;;;;;;;;;;;;;;;'';'''''';;;;';::::;;;;'''++++''';;;:::;;;;;;'''''''':;:''';''''';;;;;;;;;;;;;;;;;;;:;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###############++''';;;;;;;''';;;;;;;;;;;;;;;;;;;;'';''++++;;;;;;::::;;;;;'''''';;;;;::::;;;;;;''''''';:;:'''''''';;;;;;;;;;;;;;;;;;;;:;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############+++''';;;;;;;''';;;;;;;;;;;;;;;;;;;;''''+'++';;;;;;:::::;;;;';;;;;;::;;::::;;;;;;'++''';;;::''''''';;;;;;;;;;;;;;;;;;;;;:;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###############++''';;;;;;;''';;;;;;;;;;;;;;;;;;;'';;''''';;;;;;;:::::;;;;;;;::::::;:::::::;;;;'++''';;;::'';'''';;;;;;;;;;;;;;;;;;;;;:;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###############++''';;;;;''''';;;;;;;;;;;;;;;;;;;;';;''';;;;;;;;;::::::;;;;;;::::::::::::::;;;''+++'';;;:;'';;'';;;;;;;;;;;;;;;;;;;;:::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###############+++'';;;;;;'''';;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;;:::::::;;;;;::::::::::::::;;;''+++'';:::;+':,:;;;;;;;;;;;;;;;;;;;;;;::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################++''';;;;;'''';;;;;;;;;;;;;;;;;;;;';:;;;;;;;;;;;;::::::::::;;;:::::::::::::;;;''+++'';:::'+',.,;;;;;;;;;;;;;;;;;;;;;;:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################+'''';;;;'''';;;;;;;;;;;;;;;;;;;;';:;;;;;;;;;;;;::::::::::::;;:::::::::::::;;''+++'';:::'+',..,:;;::;;;;;;;;;;;;;;;;:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########@#####++''''''''''';;;;;;;;;;;;;;;;;;;;';:;;;;;;;;;;;;:::::::::::::::::::::::::::;;''+++';;:::'+',.`..,:::;;;;;;;;;;;;;;;:::;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@###++''''''''''';;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;::::::::;::::::::::::::::::;;''+++'';:::'+',.`..,::::;;;;;;;;;;;;;:::::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@###++''''''''''';;;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;:::::::::::::::::,:::::::::;;'++++';;:::'+',,..`.,:::;;;;;;;;;;;;;:::::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@####++'''''''''''';;;;;;;;;;;;;;;;;;;;:::;;::::;;;;;;::::::::::::::::,:::::::::;;'++++';;:::''',..``..,::::;;;;;;;;;;;:::::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@@##++'''''''''''';;;;;;;;;;;;;;;;;;;;:::;;:::::;;;;;::::::::::::::,,,:::::::::;;''+++';;:::'';,...```.,:::;;;;;;;;;;;:::::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@@##++'''''''''''';;;;;;;;;;;;;;;;;;;;:::;;:::::;;;;;:::::::;:,,,,,,,,:::::::::;;'''++';::::'';,,...```..,::::::;;;;;;:::::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@@##++'''''''''''';;;;;;;;;;;;;;;;;;;;::::::::::;;;;;::::::;;:,,,,,,,,:::::::::;;;''''';::::'';,....````...,,::::;;;;::::::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@@##++'''''''''''';;;;;;;;;;;;;;;;;;;;::::::::::;;;;::::::;;;;:,,,,,,,:::::::::;;;;;'';;::::'';,,,...```````....,::::::::::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@@##++'''''''''''';;;;;;;;;;;;;;;;;;;;::::::::::;;;;::::;::;;;::,,,,,,:::::::::;;;;;;;;;:::;'';,,,.,...````````..,,::::::::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@@##++'';''''''''';;;;;;;;;;;;;;;;;;;;;:::::::::;;;;::::;;::;;:::,,::::::::::::;;;;;;;;;:::;';;,....```.``````````..,,:::::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@###++'';'''''''''';;;;;;;;;;;;;;;;;;;;:::::::::;;;::,::;:::;;::::,:::::::::::;;;;;;;;;;;::;';;:,,....`.`.```````````.,,,:,+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@###++'';'''''''''';;;;;;;;;;;;;;;;;;;;::::::::;;;;::,::;:::;;::::,:::::::::::;;;;;;;;;;;;;+';;,,,,,....``.````````````..,,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@###++'';'''''''''';;;;;;;;;;;;;;;;;;;;::::::::;;;::::::::::;;::::,:::::::::::;;;;;;;;;;;'++';:,,.,.```..`.``````````````..#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@###++'';'''''''''';;;;;;;;;;;;;;;;;;;;:::::::;;;;::::::::::;::;;:::::::::::::;;;;;;;;;;;+##';;,,,..,....`.`.`````````````.#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@###++'';'''''''''';;;;;;;;;;;;;;;;;;;;:::::::;;;;::::::::::;;;;;;::::::::::::;;;;;;;;;;;+#+';:,,,,,,,,.......`````````````#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@####+'''''''''''''';;;;;;;;;;;;;;;;;;;::::::::;;;;;:::;;;;;;;;;';;::::::::::::;;;;;;;;;;'+#+';:,,.,,....,....``````````````#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@###++'''''''''''''';;;;;;;;;;;;;;;;;;;::;:::::;''';::;;;''''''''';;:::::::::::;;;;;;;;;;'+#+';:,,,......,......````````````#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@####++'''''''''''''';;;;;;;;;;;;;;;;;;:,:;;:::;;'++';;;;;'++++'''''';::::::::::;;;;;;;;;;'+#+';::,,,,,,,.,.........```..````#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@###++''''''''''''''';;;;;;;;;;;;;;;;::,,:;;:::;''+#++';;'+++++'''''''::::::::::;;;;;;;;;;'+#+';,,,.,,,,,,,..............````#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@###++''''''''''''''';;;;;;;;;;;;;;;:,,,,:;;:::;''++#++'''+++++++++''';:::::::::;;;;;;;;;;'++'';:,,....,,,,,..............```#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@###++''''''''''''''';;;;;;;;;;;;:::,..,,:;;;:;;'+++++++'+++++++++++''':::::::::;;;;;;;;;;'++'';:,,,,,,,,,,,...............``#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@##++'''''''''''''''';;;;;;;;;;::,,....,:;;;;;;''+++++++'++++++++++++'';::::::::;;;;;;;;;;'++'';,,,,,,,,,,,,..,............``#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@##++'''';''''''''''';;;;;;;;;::,......::;;;;;;''+++++++'+++++++++++++';;:::::::;;;;;;;;;;'++'';,,,.,,,,:,,,,,,,.........`...#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@##++'''';''''''''''';;;;;;;::,.......,::;';;;;'++++++++'++++++++++++++';:::::::;;;;;;;;;;'++'';:,,,.,,,:,,,,,,,.............#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############++''''''''''''''';;;;;;;:,.....,,..::;'';;;;'++++++++'++++++++++++++';:::::::;;;;;;;;;;'+''':::,,,,::::,,,,,,,,,,.........#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############++'''''''''''''''';;;;:,,,..,.,,,,,:;;''';;;'++++++++'+++++++''''++++';:::::;;;;;;;;;;;'+''',,:,.,,:::,,,,,,,,,,,.,.......#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############+++'''''''''''''''';;;;,,,,,,,.,,,,,::''+';;;'+++++++'''+++++'';'''+++';:::::;;;;;;;;;;''+''':,,:..,,::,,,,,,,,,,,,,.,.....#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############++''''''''''''''''''';:...,,,,.,,,,,::''+';;;'+++++++';;'''''';;;'''+++;:::::;;;;;;;;;;''''''::,,,,,,:::,,,,,,,.,,,,,,,...,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############++'''''''''''''''''';:,.,,,,,,,,,,,,:;''+';;;'++++++'';;;''''''''''''++;:::::;;;;;;;;;;''''';,::,,,,::::,,,,,,,,,,,,,,,,...#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############+++''''''''''''''''';:,,.,,,,,,,,:,,,::;'++';;;+++'++''''''+++#+++++'''';:::::;;;;;;;;;;''''';:,:,.,,::::,,,,,,,,,,,,,,,,,.,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############++''''''''''''''''';:,.,.,,,,,:,::,,,::;'++';;;++''''''++++######+##+''';:::::;;;;;;;;;;''''';::,:,,,:::,,,,,,,,,,,,,,,,,,,,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########+++'''''''''''''''';:,..,.,,,:,:,::,,,:,;'++';;;'+''';;'+++######++###';;::::::;;;;;;;;;;''''':::,,::,:::,,,:,,,,,:,,,,,,,,,,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########++''''''''''''''''':,,,.,.,,,:,:,:,,,,:,:'++';;;'+''';;;++++####++++##';;::::::;;;;;;;;;;'''''::::,,,::::,,,:,:::,:,,,,,,,,,,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########++'''''''''''''''';,.,,.,.,,,:,:,:,,,,,,:'++'';;;'''+;;'+++++##+++++++;;;::::::;;;;;;;;;''''''::::,,.,::::,,:,:,:,:,,,,,,,,,,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########++''''''''''''''';,,.,,.,,,,,:,:,::,,,,,:'++'';;;;';++'+++++++++++''+':;;::::::;;;;;;;;;''''''::::::,,::::,,:,,,,,:,,,,,,,,,,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########++'''''''''''''';:,,,,,,,,,,,:,:,::,,,,,:'++''';;;'''+##+++++++++';;';:;;::::::;;;;;;;;;''''';::::,,:::::::,:,,,,,:,,,,,,,,,,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########++'''''''''''''':,,:,,:,:,,,,:::,::,,,,,:'++''';;;;''+#++++++++'';;;';:;;::::::;;;;;;;;;''''';::::,,,::::::::,,,,,:,,,,,,,,,,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########++''''''''''''';,,,::,:,:,,,,:::,:,:,,:,:'++''';;;;''+#+++++++';;;;;;:;;;::::::;;;;;;;;;''''';::::,,,:::::,:,,,,,,,,,,:,,,,,,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########++''''''''''''':.:,::,:,:,,,,:::,:,,,::,:'++''';;:;'''++''++''';;;;;;:;;;:::;::;;;;;;;;'''''':::::::::::::,:,:::,,,,,,:,,,,,,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########++'''''''''''';,,:,::::::,.,,:,:,:,,:::,:'+''''';;;;;;'';;;;;;;;;;;;::;;::::;::;;;;;;;;'''''':::::,:::::::,,,:::,:,,,,:,:,,,:#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########+++''''''''''';,,,::::::::,,,,:,:::,::::,:'+''''';;;;;;''::;;;;;;;;;:::;:::::;::;;;;;;;'''''';:::::,,::::::,,,:::,:::,,:,::,::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########++''''';;'''';:,,,,:::::::,,,,:,::::::::::;+''''';;;;;;;';::;;;;;;;;:::::::::;::;;;;;;;'''''';:::::::::::::,,,:::::::,,:,:,:::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########++''''';;;''';,,,,,:::::::,,,,:,::::::::::;+''''+;;;;;;;';:::;;;;::::::::::::;::;;;;;;;''''''::::::::::::::,:,:,:,:::,,:,:,:,:#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########++'''';;;;;';:,,:,::::::::,,,,:,::::::::::;+''''+';;;;;;';;:,;;;;:::::::::::::::;;;;;;'''''''::::::::::::::,:,:,:,:::,,:::,:,:#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########++'';;;;;;;;:,:,::::::::::,,,,:,::::::::::;+''''++;;:;;;;;;;;;;;;:::::::::::::::;;;;;;'''''''::::::::::::::,:,:,:::::,::::,:,:#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########+''';;;;;;;;,,:,:::::::::::,:,::::::::::::;'''''++;;:;;;;;;;;;;;::::::::::::::::;;;;;'''';'';::::::::::::::,:,:,:::::,::::,:::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########+'';;;;;;;;:,,:,:::::::::::,:,::::::::::::;'''''+#;;:;;;;;;;;;;;:::::::::::::::;;;;;;''';''';::::::::::::::,:,:::::::,::::,:::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########++'';;;;;;;:,:,::::,::::::::,:,:::::::::::::'''''##;;:;;;;;;;;;;::::::::::::::::;;;;;;''';'''::::::::::;::::,:,:::::,::::::,:,:#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########++';;;;;;;;:,::::::,:::::;::,:,:::::::::::::;;''+##';:;;;;;:;;;;:::::::::::::;::;;;;;''';;'''::::::::::;::::,:,:::::,::::::,:,:#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########+'';;;;;;;;,,::::,:,::::::::,:,:::::::::::::;;''++#';;;;;;;::::::::::::::::::;::;;;;;''';;'';:::::::::;;::::,:,::::::::::::::,:#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########++'';;;;;;;:::::::,:,,::::;::,:::::::::::::::::;++++';;;;;;;:::::::::::::::::::::;;;;;''';;''::::::::::;:::::,:,:::::,::::::::,:#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######++'';;;;;;;;:::::::,:,,::::;::,:::::::::::::::::;'+''+;;;;;;;;:::::::::::::::::::;;;;;;'';;'''::::::::::::::::,:,:::::,::::::::,:#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######+++'';;;;;;;::::::::,::,:::::::,::::::::::::::::::;';;+';;;;;;;;;;::::::::::::::::;;;;;''';;'';::::::::::::::::,:,:::::::,:,::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######++''';;;;;;;::;:::::,::,::::::::,,::::::::::::::::;'';'+;;;;;;;;;;;;::::::::::::::;;;;;''';;'':::::::::::::::::,:::::::::,:,::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######++'';;;;;;;;::;:::::,::,::::::::,,::::::::::::::::;;'''+;;;;;;;;;;;::::::::::::::;;;;;;'';;;';:::::::::::::::::::::,:::::,:::,::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######++'';;;;;;;;::;::::::::,::::::::,:::::::::::::::::;;'+++;;;::;;;;;;::::::::::::;:;;;;;''';;'';::::::::::;::::::::::,:::::::::,::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####++'';;;;;;;;;:::::;:::,:,:::::;:::::::::::::::::::::;''++';;::;;;;;;:::::::::::;;;;;;''''';;'':::::::::::;::::,:,:,:,:::::::::,::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####++'';;;;;;;;:;::::;:::::::::::;::::::::::::::::::;::;;'++';;:::;;;;:::::::::::;;;;;;;''''';'';::::::::::::::::,:,:,::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+###++';;;;;;;;::;::;:;:::::::::::;::::::::::::::::::;:;';;'++;;;:;;;;;:::::::::::;;;;;;;'''';;'';::::::::::::::::,:,::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####++'';;;;;;;;::;::;:;:::::::::::;::::::::::::::::::;:;'';;++';;:;;;;;::::::::::;;;;;;;''''';;'':::::::::::::::::,:,::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####++'';;;;;;;;,,:;:::;::::::::::::::::::::::::::::::;:;'';;'+';;:;;;;:::::::::::;;;;;;;'''';;;';:::::::::::::::::,:,::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++'';;;;;;;::,:;::::::::::::::::::::::::;:::::::::;:;'';:'++';:;;;::::::::::::;;;;;;''''';;'';:::::::::::::::::,:,::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++'';;;;;;;;::::;:::::::::::::::::::::;::::::::::::;::;;';;++';:;;;:::::::::::;;;;;;;''''';;''::::::::::::::::::,:,::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++'';;;;;;;;::::;:::::::::::::::::::::;::::::::::::;;::;';;'++;:;;;:::::::::::;;;;;;;'''';;'';::::::::::::::::::,:,::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++''';;;;;;;::::::;:::::::::::::::::::::::::::::::::;;::;;;;'++;:;;:::::::::::;;;;;;;''''';;'';::::::::::::::::::,::::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++'';;;;;;;;::::::;::;::::::::::::::::::::::::::::::;;:::;;;''+';:;:::::::::::;;;:;;;'''';;'''::::::::::::::::::::::::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++'';;;;;;;;::::::;::;:::::::::::::::::::::::::::::::;:::;;;;''';:;::::::::::;;;;;;;''''';;'';::::::::::::::::::::::::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++'';;;;;;;;::;::::::;:::::::::;:::::::::::::::::::::;:::;;;;''';;;;:::::::::;';;;;'''''';''':::::::::::::::::::::::::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++'';;;;;;;::;:::::;:;:::::::::;:::::::::::::::::::::;::::;;;;''';;;::::::::;;';;;;''''';;'';:::::::::::::::::::::::::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++'';;;;;;;::;;::::;::::;:;::::;:::::::::::::::::::::;::::;;;;'''';;;::::;;;;';;;;'''''';''';::::::::::::::::::::,::::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++'';;;;;;:;;;;::::::::;:;::::;:;:::::::::::::::::::;:::::;;;'''';;;;;;;;;;'';;;;''''''''';::::::::::::::::::::::::::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++'';;;;;::;;;;::::::::;::::::;:::::::::::::::::::::;:::::;;;;'''';;;;;;;;'';;;;'''''''''';::::::::::::::::::::::::::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++'';;;;;::;;;;::::;::;:::::::;:;::::::;::;:::::::::;::::::;;;;''';;;;;''''';;;''''''''''';::::::::::::::::::::::::::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++'';;;::::;;;::::;::;:::::::;:;::::::;::;:::::::::;:::::::;;;'''''''''''';;;;'''''''''';:::::::::::::::::::::::::::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+##++'';;;::::;;;::::;;:;:::;::::;:::::::;::::::::::::;;:::::;;;;''''''''''';;;;''''''''''';:::::::::::::::::::::::::::::::::::::::::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+##++'';;;:::;;;;:::;:;:::::;::;;;:::::::;:::::::::::::;::::::;;;''''''';;;;;;;''''''''''''::::::::::::::::::::::::::::::::::::::;:::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+###+''';::::;;;:;::::;::;::;::;;;:::::::;:::::::::::::;:::::::;'''''''''';;;;'''''''''''';::::::::::::::::::::::::::::::::::::;:;:::::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+###+'''::::::;;;;;;::;;:;:;:::;:;:;:::::::::::::::::::;:::::::;;'''''''++++''''''''''''';:::::::::::::::::::::::::::::::::::::;::;;:::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+###+'';::::;;;;;;:::::;:::;:::;:;:::::::::;::::::::::::::::::::;;''''''+++#++''''''''''';;::::::::::::::::::::::::::::::::::::;:;;;;:;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+###+';;::::;;;;;;;:::::::;;:::::::::::;:::;::::::::::::;:::::::;;''''''''++#++'''''+'++';;::::::::::::::::::::::::::::::::::::;:;;;;:;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+###+;:::::;;;;;;;;:::::;:;;:::::::::::::;:;::::::::::::;:::::::;;''''''''++##+++++++'++;;;::::::::::::::::::::::::::::::::::;:;:;;;::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+###+':::;;;;;;;;;;:::::;:;;:::::::::::::::;::::::::::::;:::::::;;'''''''''++##+++++++++;;;;;::::::::::::::::::::::::::::::::;:;:;;;:::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+###+;:;;;;;;;;;;;;;;;::;;;;:::::::::::::::;::::::::::::;:::::::;;''''''''''++#####++++';;;;;:::::::::::::::::::::::::::;::::;:;:;;;;::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+###+;:;;;;;;;;;;;;;;;::;;:;::::::;:::::::::::::::::::::;::::::::;;'''''''''''+####+''++''';;;::::::::::::::::::::::::;:;::::;:;;;;;;::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+###';;;;;;;;:;;;;;;;;:::;:;:::::;;:;:;::::;::::::::::::;::::::::;;''''''''''''++++';''++++'::::::::::::::::::::::::::;:;::::::;;;;;:::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+###;:;;;;;;;;;:;;;;;::::;:;;::::;;:;:;::::;::::::::::::;::::::::;;'''''''''''''';;;:;'+++++:::::::::::::::::::::::::::::::::::;;;;;;::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+##+;;;;;;;;;;;:;;;;;:::::;:;;::::;;;:;::::;::::::::::::;:::::::::;;''''''''''';;;;::;'+++++::::::::::::::::::::::::::::::::::::;;;;;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+##';;;;;;;;;:;;;;;;::::::;:;:::::;;;:;::::;::::::::::::;;::::::::;';'''''''';;::;;::;'+++++;:::::::::::::::::::::::::::;::::::;;;;;;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+#+;;;;;;;;;;:;;;;;;::::::;::::;::;;::;:::::::::::::::::;;:::::::::;;'''''';;;:::;;::;'+++++;:::::::::::::::::::::::::::;::::::;;;;;;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###';;;;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;;::::;:;::::::::::;;;::::::;:;'''''';;;;:::;;;:;'+++#+;;;;;;:::;:;:::::::::;;:;;;;;;;;;;;;;;;;;;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@