;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::--------------::--::::::::::::::::::::::::::::::::::::::::99::::::::::::::::::;;;;;;::::::::::::::::::::::::::::::998899::::::::--------------::--::::::::::::::::::::::::::::::::::::::::99::::::::::::::::::;;;;;;::::::::::::::::::::::::::::::998899::::::::;;;;--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::99::9999::::::::::::::::::::999999::::::::::::::::::::::::::::::;;;;--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::99::9999::::::::::::::::::::999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::999999999999999999999999999999999999999999888899998899999999999999::::99999999::::::::::::999999999999::::::::::::::::::::::::::::::::99::::::::::::9999999999999999999999888899998899999999999999::::99999999::::::::::::999999999999::::::::::::::::::::::::::::::::99::::::::::::99999999999999999999998888888888889999999999::9999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::999999999999999999998888888888889999999999::9999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::999999999999999999999999999999999999888899999999999999999999999999999999888888888888888888888888999999999999::::::::::::99999999999999999999999999999999999999999999888899999999999999999999999999999999888888888888888888888888999999999999::::::::::::99999999999999999999999999998888888888888888888888888888999988888888998888888888889999999999999999999999999999999999::99::9999::99999999999999999999999999888888888888888888888888888888999988888888998888888888889999999999999999999999999999999999::99::9999::99999999999999999999999999889999999999999999999999999999999999888888888899999999999999999999889999999999999988999999999999999999999999999999999999999999999999999999999999999999999999999999998888888888999999999999999999998899999999999999889999999999999999999999999999999999999999999999888888888888888888888888889999888888889999888899889999999999999988889999999999999999999999999999999999999999999999999999999999998888888888888888888888888899998888888899998888998899999999999999888899999999999999999999999999999999999999999999999999999999999988999999999999889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999988888888888888888888889999999999998899999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999888888888888888888889999::::9999::::::999999999999::::::::9999999999999999999999999999999999999999999999999999888888888888888888889999999999999999999999::::9999::::::999999999999::::::::99999999999999999999999999999999999999999999999999998888888888888888888899999999999999999999999999999999999999999999999999999999999999999999999999999988888888998888888899998899999999999988998899999999999999999999::999999999999999999999999999999999999999999999999999999999999999988888888998888888899998899999999999988998899999999999999999999::999999999999999999999999999999999999999999888888998888888888888888888888888888888888888899888888999999999999999999::999999999999999999999999999999999999999999999999999999888888998888888888888888888888888888888888888899888888999999999999999999::9999999999999999----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::--::::::::::::::::::::::::::::::::::::::::::::::::::::::::99::999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::--::::::::::::::::::::::::::::::::::::::::::::::::::::::::99::99::::::::::::::::::::::::::::::::::::::::::::::::::::::::::99::::99::::99::99::999999999999999999999999999999999999::9999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::99::::99::::99::99::999999999999999999999999999999999999::9999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::99::999999::::::::::::9999::99::99999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::99::999999::::::::::::9999::99::99999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::999999999999999999999999999999999999::99::99::::9999999999::::::::::::::::::::::9999999999::::99::::::::::::99999999999999::99::9999::99::999999999999999999999999999999::99::::9999999999::::::::::::::::::::::9999999999::::99::::::::::::99999999999999::99::9999::99::999999999999999999999999999999999999999999999999999999::9999::::::::9999999999999999999999999999::::::::::::::::99::::::::99::99::9999::999999999999::::::::99999999999999999999999999::9999::::::::9999999999999999999999999999::::::::::::::::99::::::::99::99::9999::999999999999::::::::999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::999999999999999999999999999999999999889999888888888888889999998888888888999999999999999999999999999999999999::::::999999999999::::::99::999999999999999999::99999999889999888888888888889999998888888888999999999999999999999999999999999999::::::999999999999::::::99::999999999999999999::99999999998888888888888888998899999999999999999999999999999999::999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::99998888888888888888998899999999999999999999999999999999::999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::9999999999999999999999999999999999999988999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::999999999999999999999999999999999999999988999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::999999999999999999999999999999999999999999999999::99::::::::::::::::::::::::::::::::::::9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::99::::::::::::::::::::::::::::::::::::999999999999999999999999999999999999999999998888889999999999999999889999999999999999999999999999999999::::::::::::::::::::::9999999999999999999999999999999999999999998888998888889999999999999999889999999999999999999999999999999999::::::::::::::::::::::999999999999999999999999999999999999999999888899::::::::::::::::::::::::::::99::9999999999999999999999999999::::9999999999999999999999999999999999999999999999999999999999::::99::::::::::::::::::::::::::::99::9999999999999999999999999999::::9999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::9999::99::99999999999999999988888888888899998888889999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::9999::99::99999999999999999988888888888899998888889999999999999999999999----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;99999999::::::::::9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::99999999999999999999999999999999999999999999999999889999999999999999999999999999999988888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999998899999999999999999999999999999999888888888888888888888899999999999999999999999999999988889999999988998899999988888888888888888888888888888899999999999999999999999999889988888888888899999999999999888888888888889999888899999999889988999999888888888888888888888888888888999999999999999999999999998899888888888888999999999999998888888888888899998888888888888888888888888888888888998888889999999988888888999988888888888888998888888888888888888888888888888888888888888888888888888888888888888888888888888888889988888899999999888888889999888888888888889988888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888899999999::::::::::::::::::::999999999988888888888888888888888888888888888888888888888888888888888888888888888888888888888888888899999999::::::::::::::::::::999999999988888888888888888888888888888888888888888888999988888888888888888888889999999999::999999::999999::::::::::;;;;;;;;;;::99::::::::99999988889999999999999999999999999988888888999988888888888888888888889999999999::999999::999999::::::::::;;;;;;;;;;::99::::::::9999998888999999999999999999999999998888888899999999::::99::9999::::::::::::::::::99::::::9999::::99::::::::::::99::::::::::9999::9999999999999999::::::::99::99999999::999999999999::::99::9999::::::::::::::::::99::::::9999::::99::::::::::::99::::::::::9999::9999999999999999::::::::99::99999999::99998888888888888888888888888888999999998899998888888899998888888899888899999999998899998888889988998899999999999999999999999999999988888888888888888888888888889999999988999988888888999988888888998888999999999988999988888899889988999999999999999999999999999999888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888899999999999999998888888888888888888888888888888888888888888888888888888888888899999988998899888888889988998888889988889999999999999999999999999988888888888888888888888888888888888888888888888888888888888888999999889988998888888899889988888899888899999999998888::::::::::::::::9999999999999999999999999988999988888899888888889988999999999999999999889999999999999999999988888888888888888888::::::::::::::::9999999999999999999999999988999988888899888888889988999999999999999999889999999999999999999988888888888888888888889999999999999999889999::::99999999998899888888888888888888888888888888888888888888888888889999999999999999999999::::9999998888889999999999999999889999::::99999999998899888888888888888888888888888888888888888888888888889999999999999999999999::::999999----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9999999999999988888888999988999999999999999999888888888888888888888888888888888888999999889999999999999999999999::999999999999999999999999999988888888999988999999999999999999888888888888888888888888888888888888999999889999999999999999999999::9999999999999999999999::::::::::999999::9999::::999999999999999999999999999999998888888888999988999999889988888888888899999999999999999999999999999999::::::::::999999::9999::::999999999999999999999999999999998888888888999988999999889988888888888899999999999999999999999999::999999::99::99999999999999::::999999999999999999999999999999999999999999999999999988998888888888888888999999999999999999999999::999999::99::99999999999999::::99999999999999999999999999999999999999999999999999998899888888888888888899999999999999999999998888888888889999999999999999999999999999999999999999999999999999999999999999999999::999999999999999999999999999999889999889988888888888888889999999999999999999999999999999999999999999999999999999999999999999999::9999999999999999999999999999998899998899888899999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999998888888888888888888888888899888888888888889999889999889999999999999999999999999999999999999999999999::999999999999999999888888888888888888888888888888888899888888888888889999889999889999999999999999999999999999999999999999999999::99999999999999999988888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888899889988889999998899::999999999999::9999999999999999888899999999999999999999999999999999::::::::::::::::::999999999999999999::9999889988889999998899::999999999999::9999999999999999888899999999999999999999999999999999::::::::::::::::::999999999999999999::9988998888889988999999999999::9999::::99::99999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::9999999999999999999988998888889988999999999999::9999::::99::99999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::999999999999999999999999999999::99::9999::::::::9999::::::::::::::::::::99::99::::::::::::::::::::::::::::::::::::::::::::999999999999999999999999999999999999::99::9999::::::::9999::::::::::::::::::::99::99::::::::::::::::::::::::::::::::::::::::::::999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<