import re

puzzle = "VvbBfpPFrRyRrYNpYyPDlLdVvNnMmnOCcosOoSoOfkKKkFJjyYjJWwHhnNTSstuBbdsSDqQUqQkKVvILlVvGgjJiVcCvvfBbvVoOGgFnNeEZeEzImNnMiRrcCVbcaACQqBzIiofFpPaAPpEeOIieEaISssSiARrKwRRrdDrBbWkTtPplLjJWwUAazbBAkKVvanNAaZuNnWwqQmERrecMmnNCosuUmFfoOMSUuOnNMlBUCcucCbGgrRgGsSrRLdDJjinNIvVGucCkKgSsGlLMvIPlLpiVmUszZljJLpPvVqQSEeyYSsgqbBMKkmewuUiIWCcKLlkETYyyYBAabkKmFfMaALIiMmeEmvVhHZDpPGgdjJpPraARAarRzbBMSlQqLsRIKkirTEeNrNnRWwMmBbeEGgGguUWwqLlQFlLfCUuqQOoIicasqQSZPpzACcYBbwWyIiISsORrOoqPpQNaAuUZznojJkKiuUPpviIVAamSsbBMmMnnluUwWLNetTEkKpPgGmFfMsSNyYaATFftuNEenNyYnsbYyBgGBbiILGglSOoxGTtgXaANnFDdfpmMuUPsYyKkSZWyYwhHYymMjJKkziIVvvVUuXxUNnVgGrcVvoOCCcRdDlmMLsSUuNnpgGPsSnNkkXxKrRKiIvpnNPUSZzsuBIibZfFOqQojJlLIiDdjJzdyYDBfVvFQqlLNnSMxXmsULdDpPAatTluyYpPuMmFfUaAbsviIBbVSqQhHclLEpiIyYPDdPpeOoUzZLuUmMpPluaACPpLaAlgGyYDjJirRNnIgGeEnwWNCcLOosSluUwWiIdmmMTtUuDdMBbuUYywWyYxXmNnsSsSjUumMJYyMaAMmGgoOKkoOoQqOrRnMcCqQmBbrRKJjkHhJjJyXxYjlLwRFfgCcGOotVoOvPmMpTPprIiaACuUcWTtAbBweEDdaADdXBbxCcWzmMZDoOdteESfFsEeRrTYyYyDduUaNfjJhHFFfNsSODdotTTXhHxtnIiNXxnOJNnjzZqQyYzGEgGPIUNnuYyipwWepxXxXPQGggGwWnmMEeNFhHyDdYNnGgZzoiIOfaiIAbIiBQfFqoOyiIwbBWqQYuUeGyYgEmpPxXFfAarRrRHhHhFfuUMbBtTPpQuUHhqxXwhHolqQcCLOqcCtTuUQjJvVWpLlMmxoOXPyYhHwVvhekKEKkHTttDdGgBbWwAawWDdXxMKkmJjuUTkKyrRqtUutTTFfQWwYZIizZAuUNnYkKyEecHhCuSPpsPpMvVSsAaULBblOoMAlVvsSRgeEmMGdDTtchHVvLlzwWZOoMmCrLLniINPpeEeEiIuUWnNdDwlyYOoOZzoEawWAyYeOfFPpWAbWwBaEmMeEeTtFfYyLlwoTJjtBbVvVsMmSvZvVwWzxfFahHRrAZzOoiIRrXTtBbLeElWDaADmMmvVMvVrRdZzdwUupkKrRHlSsIBCcuUbiqQLgVvGjBbJBbSseDlLdEaAoOhWHkKeErRbBhzZMmkKtKkDdXlmMLsnNoOSbBxsSXxXnNxuUkHQqZfFfdDQqFzRrfnNFteETXjJxhqQpWCcwPKOocUuCnNfUuFfFfFJuqjJQUOohHjFlXxmMpPcpMdDmPCiILpPiILlhCcHcClLjwWoOoZzOJuUGgWwogGkyfFYOxXhlLIiwWRdDMTtCkKLlOOoTtZzoebBiIwWlLEJjjJcoOmRPpsSreEUQqgGUuMMmmruUiITtRgGtTAauTUuvVXPOAaoOopgGQWwqnmMNxwsyYSWeLlErqQOoKSsoONIipPnkEJjIieDdWeEwRUuDwWDhHdhHtTNndhuhHIiUGgamMARqQrHyzZHhYtusSJjMmUQjXxJHwWBbnNhgwWgGqQGhSOosHqVvJjHhAaDdoGgNnOCcllLLQlwWLqNhKwWkHvVfWwKKmMkkMmwWUuFfNnWwWwaKkALoOlhoOCOocYyYjxmcCMXWwgmMHhoODdGAaJmMFlLYXxuUfFYyPpyqQVvEVveRrpPyCcoOeYPpyVfRrFvvVVvXxqbBfFoqQZnsSNzTtGgnNNIiEAaeEenNTtnbBZtTtpPWwhHTsStTzmMrRkMmKoOFiNnmMVvyYhQqrRYTtjJyHkKqNnGgvVQXLlpuUPbBmldJjDxUlLnNuRrKkXXLlxLZRcCrzrRVvjJMZDdXxRTYeEyLltaRVvrGgTpwWUPzQqlLQRrqZAapuPguUGOiIoJjyYPEeZzTaAmMiViIvTtSszLlkBbaAxIiPpYyXrRoOWwKelLBXxbUuELlkfBbDEeqSsQMGgQqmioOIQqaAIYTKktyzRrNaAIinNOoHhgGnkrTtsyYqQSRhsYZzySGgHNhHhHBgcCKkveHhqQEVTtHhjJCNnMgGHhPBPpfFWwxXLpPLlbxXBURruNIinYyDoOdsSbVvBZzrTvVtnNRlyiIYDgGbBqQqQuUdEemMgWwNnGaARriJjuqQcCxdXxDXlLsdwmSgGsLWwlxSsjJbBhHtTXotyYcCbBIiTOOoMgGDNndSsWUVvuEeKkjDOoUuLrRvVdDLlcCYmMylUyYYEeyeZzBbBbEwmEeQqMFfPpIVviMmpPLCcAanNeElbBdDUuJlLjvCclLRqfFHhQTfFtqKkcCFFISsaAiyLlfQqFAaYoOssLlpPSEaJjaAAjxjJGNQqiVvIwcCWFfdDqQdDngXTZRrzWEewLhCYywdDORjJroxuUXWcYyBbhnNHcCMOorRQFfqETttTehEFtTkKeEfmTXxPptMeEzZiwWSsdDIXoXxvVaFfAmMOEMmdDbBTlLnNtYyeAaEsSTtmMyYCceiIjYyJxWAavXVluULvxzbBlLZAazeEbSsBXxZrfFQqRGAagUuBCcbVLlNeYyoluULHhxXOUYUiIznGetLJTtjIiBbltmMTTEvNSsnHhPpGRAladDALGVVvvgvmzZMVarkKgIiLlTtfyYFTHhuUteEFfmMWwcCypPZzYbBeEtczZiYyXxIXacCAxYyCaFeEfNjyYEXTtpPeEfFJUzZDduWwloOsSIibBtXxIiBbTaAXxtTLbBkfFaAKzEeZtTOoTtHhTttTIiPlLXxZzdDsNmMnxXSgGZGJjgrMmRzkKpMmUuOGgoPpIijVvsKVvyYLGgEelkpRMmwWCcRrrPSwWaUuDdPpzIiZZzAAanLlNlnNdDkwJjgGWkKKqQkVoOtTkUuGgKbBvsSQJnNjGgUzOoZuEePplLDdqlLAHhsSQtTTtZHuUWeEOozCcSsgGZwNnTNnEusSUmMeZdDzVvjJPpVvFEeRriIGgoOPLlDdmMmMpPuUaMmADdqQHcCSsiIhxIiWwXPTteoFfOQZzwWqMmxXEpBRrbHxoOkKyYuUTtpPFfvVkKXMmIEeSknNKzZUuserROIidDoJlLKkjdDbBIREeruUchHmsZzSHnNhuUmMLltFzZFcCwbUuxXjJBYaAySZzjKkJXxeEIoOMmSsixsGgSQqXjJxXgTKJjkhUutTCcKkZzHcbBLlCVvxXaAPXxjjpPJJhgGXhHxHKkIiwWUuKLxXlkyYWLPpvxjJAaXVOopTtPlDkaEvVeeECUufFcTXxcxXCOWrRLlwWwqGQqtCVvCcQTthHywWYJjqkeHhaPpAEKWwKkDdmMGuaKzZPpoONnOnyZzBbAaRngSsjJGgGDaGgFffFAuUdNuanNyYAjJOJvVjIiYBSsbDdqvVOoQyotTxyYavxXzJjfFZorVvRcCjPfFHgGhXxjXvVxJuSTtsKNxgGzZXnnFffFTtNxXifFxXIZzOommMMbJjGDdgyhHjJCqQcxQpVmMMHdvAaVfFVFfvfIZzioOAPpaIirddDDRjUustTShAateEDdTiqQIeEHqOHSsGgNcGgAabBVtKkTvXYyxucCUZuyxwWXwWQvsSjJCcjJQqbBaUsSCcuSsvVGgxXlLbTtvyYYyQqmAaOqkmMKKkQouUuUoObcCBQFfqAeElLaXvfQFfjhIhHiHXBPpahvAaXxyYVHHhEKkqbBuUQhHsYyfVvFSywWmMuUrRjJbGBbaQUuGeMmuyYcsciIduCcUDCyYHhKkHhSXUuxsVvSkKWnWPpwjJBAsSaVvGmXxBbrNnRQqMDdbBshHWxXKknNEhHXXxxXQSsqKJgGwWzzQcCpPqZydhHJjeEUueOorTtRtYyTsxXoOSHuUhDeQrRKkqEwKkWcCiLlSsnKkNXeExIvVIQFfqOIizxXXxZbBozWwMmAaSspnwYyWNKbBYyuEeUgGxXqZJjzQkPprBbRDKkdvVaMmAEGeEnMmNijgGJvVsSIgGrHKkhSsneENelpPqQLKFfkHhueEBbJjKkJjUupjFXGwtTWbBgCrSsqQrRiIqQVvOotpbJhHjBPjJLlwWTyYJgIiGaAjjQqeEBZzbZgGzJhjJIiHlmrDdGgRiYyQqIMvVvVUuwIiPpoOixXIBbZFYyVvfbBRrohHRrOtiIFfTPlSLlsuULGIiwWgPEepBbEenKkNGgXqeEAhHnCcCZQqJaCcqIAQqaiQFfYlnJjNmfFMppuUcKkUuxXEeLDNkKnoOqzGhHTtgtTZQhyYHdRduUhvVHSsVjJqQhHMmqQicCDJjBbwJjNhnNRiBSsKkblLRetTEgGHhnNZznNdDdnNDrzcCZkuUKkKDPWwHKoyfFYdVPpAaAaAaEOoeXxXxxXtTXlqQfFLzUuZxXxWlLBbeEHhFtTfVBbvtTeJjEbBHhPSspvaAVaAcCLiUWwPpkKufAasMmWwDzZdmsSMEgyYGeErVfFNnvcaAuUCXxBbLlbAEeakKFfBbSsvBJjbGZzrbsSdDxXeEBYyRTeEhDdHttLfFlzpPZTgVhHMmqnNrRbBXxTtvVFtTrRkKfiIbBrUuHymMPpYmYrRyvVMiILlUuhFfJjsSDdVoMmOxXvSsJwWjygxpPXCdDxXcBbEeGNXxVFfvnJjMjXwWxJEeRyYIiLlnwWxvVpPxUuXIiPpHaAlLheMmNnExXuSMmZzuUGVvgcCjkSsJjAaDdDkKUucCCcdAamMmMUuJjJZPpzuwVvOoRrkbnluULgGNGOTSstoguUIieUuiwWPwNnWBbPpYypYyKNkOoNnnuUBboOsStUuTNJRhoJjOxXuFfUHWwYyyYjFfJrhHjJjIiiIBhHNnAabiPCcCvveEzZZzvrRVvVRpoOPVTtVTuLlUvGgVDuUdvOoWwXUuxVaeyYSUusIiEfFQEyYewVvhoOCdqQDcjJjCcoOdDQDdqCcJHWqQMmtUOHhopPuqJeNnEjQNnbQqbBkSNnaAjJNFfVFfXFfxbZzBvmUuyYmMFfnaANBbzZTtCcGEXxssSSXxGgXxeIbbBsSXkKlLYyTWFMmHhfKoOSskwBoObnNEeLgGJjlHhpsSOoeEPxjJUyYueEXmaoONnDdeETtryWwvtxXTeEcCVxXMmvVaAhHAaEeTtJxXjzTtZpQqPQheIkKiEnaqQANOolLDdcoOCryYgDdGOWwoRHjJqLcClROnUuTjJMmtNmlLMkKMmmKTtQqkHhMdDNBnMjhjJymMjJYagGAZJoOJcCTDdhHtKkiIFfjNBbrRnzDdTtMmZmMQqwfFWbBLEexXlmxYyXMNyYYAFYyfuUEdlLPplXxXBbiNjJPpuVUuvABcCZzbaZzRrUiIzZnpPUuUEeiIyIiYbBEedDnNRrqQqQVDdyYCBllLLbhmMAlvVPLlsVjJEesHmMQdvVbzLlZBDWwGgRoOKkrFkSYynoONnaKRrkguWwzZOyYotTMLllLtUUvVuunWwOoNBoOnFfFfEYyyVvYeXxNSsrIiRSfNqQzZbBnFqtTIiqAyYaQUuFfYVvyynnNNiXxIfFDdCPpqQzZFRrfbwWBZzsSjNnJfFUmxXMaaXxqQIiADaAdRTtKVqQikGRrxEwWTXxtfFeXTnpPEeFfpnEeAPpSsarRSsNWwPHhaEeAAaGFjJfHdDhIiRrHLlhmMxTtrNnGgzBbZRqQXKrRgGxXqQkjdzZxXZZIlLiGgRrzrRMEZVvzeTCnNSsMmAakKUuwAaWVvRyYrhbBsozLxIiXlZoNnOoOBTqQtSskRFfXxbWwbBKkBrGgSsdDCfcCFlkKyYLEnJSsbBjbBNtTBeEdDSspPZzaAhaPUupEerGgRlSQJjXxNsSRrkmdvcCJjzwWZboCLLllcSsWwLloOzZElLecvNnVCmyXPIiphtTHfFxteETYMFLlzxrRILSsDdWwxVoOCXxcUuIoOBeEbcCAacJjCwEevViILlWrRASgGsVvISshGgHyhHYmMGgRIirIxXiGwiIAafiIFWjTUurlLmMRtwWZzAJjBbRrRrboOJjtpPtbwWBTYzZSTXlLdDvVxnwaRmzRrZMHhUuJjDYydeYyxcUuPlGVvcDvVicCXxbBsIjJiciCSscIMmEeyPVvTmMDdkfAaFKiIQqkRrKClLAuUEeONhCdyqQYDbbBBrUtTuDeEdsfFgGSeWksBbQqYyaANfFfFlLKkaHtThQNnqMmtaWqUuQCLlcRrwcCvaAJjVfGgiNQCJjcWwxhHOojJkKkKKCFvsSVfKqSZovVOoOZgGzzsZZzzRQPnNkKSINniRxXEertTdzZDQqxXCcKqQEekTeEeEtyraqkKQNdDLwWAalnyIxXnCcUAjJyYNnoOVvyRbBrslLhcCHSgigGIrGhzZqfFQHbGgLlqQAdDaryYHhoObBMparReEEiILlUpLXxlAaiIPmeEMwWKGgJBbCcjgGFfEyYeKkxTjiIJzgGZcTtqQCEetbXiIxBvVHhjJRrBZzbGgTOMmozfFiIZVnNvihuDdiIRlcCekKWwEItsXxSTIBqdDQlLDTtbBHhnNCcCcxXDxTtWCclkKLLlZzEwBbWbNnaABeoOWbBwrRoOkoHIiVvpPZzDRrdhqiIQeFfxpjTtWwYyJKkWwrRPUuWwXEsSqmMjJZzQbilLIsSNrRnhWBbwceEfFLldpPDhcCdDHlVvzDCcOxMmaRXNwWwWnBlLiAJjaIGgkKwEIhHPpOoXDtOoFuUrxjJWWwqQwZzXEeFfOoyYVvwGgpXeERrewWdDpgvVGfFvVVvPEWwxFfIRrisSRrDddvZJnNkKiYzZyKkvVjQFIiVvdDKuQqUxOoIiXzsEeMmSDiInNqQjOoVvsFGgfSeEEerRgGSsyYsScCPgGEYywMmWDdGcSsdDuUsSCPmpPMjJpiIsxXmMUsSqQcCLkDBuUbBsSPPpkKpxXLlpPbPDdaAKEekplIiknNZNnzoJZzQqYpBGgCcAartTUybBUBjmMkKvVnNtYyTBdDbAJjVvmgGMBbkKObSsGgBrRfFqQLlQqHhzfFCSsvKkhPwWBCPNaAMxXLKMmkNnpPRlLrVGgvEuxXrRmMoOuURUurwWsSYlLyrmUuQiIAaqbqDdXZzxQsqvVEeuUNnQDQqKkqhHQnBbEhHeMkCcZzKfeEFiITnNNnoOzgKlyYLXHlLhnNYyxgGQhHwWqHAahEuUUuuHcOAaWwgGoBbzZCYCcyUPpuEdtTDeugcCjJGUnqQuUMmZzzZUfNgyYGnvwlLlLtTGgfSRrUMoaAOxaAEewWXUlLudfkKEedQBboOZwWSwmMArRaPUBYyUHhaAubZziFfxgGPpXORrolLapPiFfIhyYRlLcXxSIispgGyAaYVvOaAoxXRrPCohiIHbSscCxXBOpUQIiqiIuDdebBIiEpeEhmRvUuoJRrjOBfTiItFqQbcdDNnNFtAaOoTSJWwjJjDdtTjJmMfZzFsQqsSVvxXMmaAAaKqQEtdDTjYyQtyYSsTxXPveEZzIimWVvMwZzvVWCchKkRUurfFcCiIWRrIiqRrQZzaAKkDpNhHPYzeEDJjdMIiYyHhbBUuiIGHwWxsDdSzcCtXxTCcRiIbGLlgSsAIiaRPpAfpPFahHbBneEYyDtTdNrkXZWGgwJoOjNFfnZKkYqQqxJjXWwxiINgGndDXIiwMmOoYyJjWIuUisCcPHBbOrRwWAHagGWwbYylhHSyunNcPjEsSezxXAatZmeaWeEQqpPPpwuUAalMJjmYyLoOMmEvqBbZzTSsoOXxRrJBbovHhVvVOiIChMmfFMwWCzgGZiJFfeEEeyYxXjPUuZYyzGWwkhGgHKBRrnmnNaAMNuUbZzPpwvVWgMIAaifYyycCYQqqfFQjyYSeEUuSaNnwCcfFWcfFZlLsNnRpPfFumdDRrSsMZgnNGgGCcHhNpVvMMlPplxXsSjJoOTdFloOPpfFrRLgGlteEOoLlTZzKkLmHiIhKMaALlLcGZsSxdDydDYXlLpwWlLmGgaAEeLlOWMhHLhHlOeESscCJfFrRWwFkKqQgsSYyKtTkGgJjFffFGOjdzZDwWXxYyPbBfiIJjDdJRFfGUdwWDuncCwWNgYTDdEtUuTYMmXxybBsSpJOoQJjqUtTaAjJuAaJCcjdiIdDpFfBQqbYyLlPJCEecjkKbBUuUZpyYtmMSsYyjJDdYRrynNkKrRXzZxrsbBdjjPpcDdCRSsrzttSwWsEehcCHKkdxmTMmtShHsnNMeKuUkKDdGgWwkHOohKOokbBECvxXVZiSdDaAsqQUumMYyuvVqQaAyzKklLtdKkDFfOhxXHMFGgPdDCAacpYROoaAXfdDjbBJZzFBbiIsnbOoGBbBbgtTNawWAYUutTyIxXinoLlOlLbBfFEeDdPlLYyRryYppiZAaSUuTtWwaALoOPMmagGAHhLWlgGLwtdDTQwYyWuIVvAaVvfEgGIiedDwWFEVULwWlmqQPBDhHdXvVVvxmMbDddDaAaAvVmWwETZzwYyWteMScQqCzuUjGgJyLlhQSnNsmMuUAgOrNnXxRTJyYjSHhszZObBPpxPpXlAMmiILkKDdQvvVVYyGrfFsRaAVoFfWwiIOGgjJvrKyYxLlmWNLlMndDNmAaUWwzZWwGnNgGkKtTMcCmbATteEFsZzSfAahmMLlHdInNiNnDayYyHhzZicCIXDdxYKVvkOkKoZzphHTtQqGAagGmMIupxjwWJXwlLwWqpPaLlUuUubYyHhFYhHysohHCcFfOWJjMmqHYBsSOoYybyExXesIsYDduVYAPBbMmpDyEDdeZXxYyzszdDZkKSwtnZwWskKSzNdsCcSlfFKCWwcuRifFIrdSsaAUVgGgdDbBAaPpvviSuUlLOjJPpojcCJSsXfFkAnNoOicCosSOIgGRwWfzZEBbeugXxRHhhLlHtTZPpvVaAzrGgjJXxRLqjDdIiJpONnBbXxpPeaAENwWjXCcxRzZrxbBRrmuUHheRNnMmrMmhoGXGgIAarOfFogiIkKGKoOapPPpirEewJjbfkKFWXxwTtTtHhNnltTmMbsSsYRUurDIidMmyabBAAaFFAaPpNxnpDddEeDPbBNfZzFJlzZLjwcCWsSLGtTgSNnEGgeiyJjsSZzNnIgmMksSKcSOurJjTtYyRaArRgyoOHhCcJsCclBhHuHhCcfEeOLyYlLlczxXrRrRdDaAXxHPnNQIiqjJXxXxqQVvgSmKaALQqEBqQJjlLsrUIOKkMLhIiNUubUuPpcCTtuwMmWPSsCcxinezzZBDsSKkdRrBbHFUuKzyYZGgkhWcCwaAHxZzXQqAJPpaMnNrJjkKtrRlHzjJZzKkWwtTTPiIzZpVhHsSlLYEvLxXxXLqQlXxoBbOLlLVWwvoOEeDdtYLsDVanNrRCcNNpSsPKYeEsQqaApWwyYMwWFfOPpNtQquUTnNCSsheEBEawMWHCchyYOojJwmNeEjJnyYYyKivVIkTazByYdVPRrsKhYMAamcCQlLbfFYycyZIpPiUtNEenMmZzfFJjyYFNnfBbXRrLrMmEGGgpPggGWxlLXBbwoOgXxcCrRkSjJsQqEuUDdWvQqfFVenPpNESJjvZzlJYyjJXxjPAvVatTptkpPveEVdJjnNcCnCqQNnCoOcPVXdCuWwVvUPpcrRgAWTtwoMmDGgJZzcdDCufhHwWhiIPpciIQqdDOoCAFKPRrJjGgdDGMnoyVgGvYmMUuNzjJpPIimMZjuNIiPpnGhHfFgRCcYytVvFCGLDdgGmMmNJjDTtdArRvVzuUUaXQqoOLlMmCcNnhHxdbeEBDjJjcCgGguZrLlRBumMknsIHhitTzZTLltVvQDCcTtJjtTfFxHxEwWqQeXDdhlUuLKknNXonNgETrWXxwRNntxXlrXxRlLLDoTeOobixXIzeEvVSsZCRDDddfTtLzZzRrtTEeZJjiIiIsVvcCevbAlLaURRThHtrfqOoVUuhHvQWjJwTtGgbNnUVvuUuBxnenNEnNZrRnIlWwYywOoScqQCsDczyYLSszuUsSejmfZzFxGgXvCcCmqQWKkwCcXoOxZDSPpsQZltTLyYxyuUYxrVvDdJjDBMmWwbbBkkBbkKJjpMmPCcKbzJjfFCGmMFfgigGvVISsaAYyxXvVxXHhCcLlnMmNRjJDhTNnkYyNnDdKtHuULlCcIRfCCEeccpPFEVveVfkWQqbBwJjEMmzqQZGgAMmJjHhEgGvoOxXwAKkNSsnyBaAeoOhgWuUwepbAaBupOroWrRwlYyiQqIXxZvVXsSbBhrNBbnRJwKkqSsVnNvVgxLPrRpreoOELXxiIoOMmhHAalHxXDJjwtOotsqQGDemMETZztucCHhIiUypPYxvVFXxoOiIfYyVvZzcCXGeEgoEeOxArPpNnRVvzORpixXmMIProbBHhZuULloOckNBbXYyEQIigGZzaXxSdDdfRrFBaAbwWDkKLxdmMDsWwSXrRrsIHhonNJjOidKxXjJLlgwWAaPBYybprRaAJjGYUutTxzZXUEtSfFsbBUuiHhFplbBLhHsMmAloHzZjJrLlyYXUXZwHHGgLEeztThHZixRlgGkcCVvKLMRiVnNTwJKkjWBeEbZeHhEeEedMmRrDJeENFfEeBDdbSsTHDddjJkuyYUxXOoKiUuIxXKuUklNYdCSsiFRCIiuBcjIiuUfsStTtRrohzcVkEwKkHhWeAaWwKusSnNIigGbaRrbhzskKSZaUtMmKncCySsnNhpzVdDXrrRRxZzDdrgGRlLWwmMkWwDdNsZsUAEerRaOozMaAmkpPKlgGkoOKTtRrUkBbbYGgBbwWfFyBKOoWZzYKkNnkgGRrWweEqYuUPEeKkTFfsSxaoOlgJjBFQXpOWwqGZRbiIWVSwWWOsSvVowRqPpQDPOopQqbmhswiIfFrBuUqKuUkPuUpjvgGVEeeEKkJsgNnGSpPhHprRoOiIiPFfITtPpRxXaVvAygZuYEnIiHIiWdSseEDFSoOjJlcCLnRrmMmDdrPrkmMKyYfHeEWwhHAahrQRMmrqWxoubBGXaKkXxsSmwhUuHRaSsRCLPGgVvLDdppPPZzBbyYldtQSsjEUuNnQylLlbBZDmMKkiHhcTtVvaAMDdPLlfFaxXHKnNkhpjFXxfQqWwbbBRrBXEFpPAaLlWwSKqQHfXVvxEejWwOooNnJEaxEeXKkAcrFfRCVlMWDdwWwGgWwGgWwaEexhHlLcCMxXmmMHntTNyoyNnYPzZePppUHPGgGDxXYytbBSGgfcCFrRWRrgGwlLSjJsVvyKFfdDhcCHYkKkFfLlKheEqSqQYvGgsDdcCzZSeBbEyILJjOcCHhovLlZFfzUTemxSYmMSsHhtkKTuLCbCcPsSpuUcUtTuVgGCcvrNnRYyCnAakVvHrAGgfFaDmxXzzZZLCcSsliIosSEANnaQqeRvVrOoGgQqFfHCBbjmEITMUuvOonNKkqvnNLCclABYyLkNnKhHqgGiIQmFHhcQTteJFfKCuUGmnaAQqNctTIQqiVvKkAaZeWwntPSsprdDjPokddDlwWwuRrUjpECjJbeEBpPnpPfGgnbBYygGcCigvVnNvVXxUNnXxhOoHwWVvkoOzWuwWtTHhUutTkKKkUAamMNnNFWnEeNVmMvwLJEeDwWUxXuxXdjRtTlLwRruUWEpVvBEcCEyYdMGTmMtgEZzPiIpaAegJjhHGSqQKksSReECcjHUuFfhGgPppwieEFfIbBNnlsSXKkbBiIpPyDdPpCcWwYugGcCUmMrnNRymMJjLBejgGuCHhcrwzZNQqqQgGnmkKTNgGpPnwJjaAWqcyuZSGnQBbawRQzZqrPpWTZztSsQqsWwjgGuGgnNvVeSsycCOCcsSoEeYJjhnRKkjrRJAadDYyWwWNdoqQQVvhHJVvlLXxVEHhVDQqFvVfFfTtTcCBfFbYdDyhnNCjJJjuUcHGdDghHtWFfwOocCohmJjHjGgThHDgUMNCclLDdnmNhhHUiRzyqQgjJCTteEuOoNCzZHeEhWfFkuUYyVvrIinfnNIOoKkUbBuauDdqZuUzHhRhHcCEeqQyxVvdDzZvVXwWPpsSIigGYoOutkKXMoOqQWKkwmfUnNucItTZzihHrRXFIiVvfhHBtjJjpPFcCfJTzhRzZrWVyBbtTYxXvhLcCSckKpaAZEvVKxXRJjrnNbwDGgPpHtTbQqeEBJOWSsvVlLnwWkKvVpPIichuKkLiOEeoTtILfvVkWwKlLzZFlswWSFfaPpAsSPaUuSsjoaYyrmMlLRFrRVzZVvvcxGgpPaJjIhHkDdMmvWrRYvoejJiIpPUFfUDYypdUpGnsbBSkWwKEeYyHyYAahNyYVvhHYmMyRrTtRQqTxAaXjJrRaALlYJRrmMhVGgDdfFXtlDdrRCcAaFfGgdjKSInNisaFfAIUudDNnHdzAokKjJOaIijJLGgBbSsIEeJPOoChLGIqvSLJpWhrnqHhQNoMnuHtnycChHlLZVbBSsFfmeEMeEvejnNzFfZJEKNWwtTBbUiSsIEgGTtenaHhANCcuneGgpJjPoXMYsSVyenpBiISXxstTthHTbiIuUInrPpKkhgbBQyYqcCYuoLllTrRQqLyYtTIiFWDJAaWwjdbBZzdyYaAxXjJSeEEesSsYyHhxXkxXmJULlVvIQLHLLSswDdhHWFGMWDyYdgKknDdlLrRQGgXIiAaoGuPzNCpPhHReErqVhHDLgGlLYyXlvHhVRrRFfiIKMmKvPpViufNniIFbVEcCcCXQqnNYRdYaAPpvVDkKTzZaACuUSQZzdDdDMmqntDdLWRrwoOkIiKriIjpPCcHubBUDoOdhatTAYEeUuiLrRofXxAolmRrMkCsSeLlEcKmKnNWwPpkvTtAafFgGdDwDdkKdDCrRqQcMvVmqQjZvgGAgGEdDeaArRdDtTzZYYdDyODdMmgoOGUhHWwRsSrdDVvsSELrlLhqQHavVlkKLQCuUvZzjqQJagGLlGwWHhFLCBIuUGgiwiaALQEYyeqQkaWwxkIizHMmHhMbPhpPHnLtqQDZzkwfFJxTpzwWZJbBXxwhqBbyPYysTYVvytbxuJFXxfDOlLzZHhIiikfCcqQxXrQqTuUNvVfATRrDKkqEeQdYyQvHblOoDKkdDdIiOoisJjShGgeEaAHIQmMDKXxDOodZzworRbByYBUupNRreESmLLllMqBTtAabAlxMFPBbvdDwnNFflmMliIcCPpLOrTEeRqZzQDdCkKcdoeEipGOoCCccxXZIkKhLlHizgPpfBbaAFYsZzIPbBmHhSsMQBbkSnNBbmnjYynKkNBJkULgGlumMHhhjJRdHPphrwWcCRDrfFRUKkuABbHxXIgGKkiclLCbBZKSNMmoeEvtUuTVwgGFfyYbRruUBWkbBKVvPpOnnYywWTtNsSsFflLDddsJqnNaBbNnKYyMsSmCLkKvEeVkKTQGgqCHfFrzrRZiipPvQltTHvqDWwTtmMmGQqQqtcCCcrdUuCfQqFNncDtnvtoswWSujJXialOoSstTSsfVvYimPXxpdERreDRhHteyaOfnIibBRuJCcNnNGgGgLQqXnDApFFEefZsZPttTIfBnNfftgPaAuEeUyYNnpKkGhHTwWBbaNnirRIHhAHhDQqdHLlXNnusbBSGlLHhBbpKRrgLUuhsgGSITtjJmZzxXrRkBcCYycCKkbKFfziOoIyuUvVrRIiaJEGBTtPrRcCzjyYnWEkCQZHPpdeExCJiIwWWTtwWRYymXyYxuHfLlaoQeSsEqOgnNGsSdtTDCccCFqQaoKkZwFePHhpCQLaWcCgGWMIiuYyyjJIPgrRmidDSsrgGAavtFfdDTNndDQqjdKkAauzIwsvZzXysSxXmGgSkOGpPgfYLanGFOohmOnNXxaSojJOsMnNmyYRsvcMmpPpPNnERsmVvSsMqQSrebzZbeEIyYYNnxNnXcDdvQqBjJQNIiEmMHhQQGgGgqRiILlNJjhXAxiIXPpZAaBYybvcCuBMmMmyYNVvAMhuOoUZzNqGginNIiplLIiNORIiDZbIiRkXxXaAQqaGLjJlgDywtpvRmAalLwExXtTvYDOocCkQqQsspGgYykKNYnPpNcTtFuaAxXrRMmQqWXyYqQJWqQTdIiDbeKcntcEOonNeFfzZClLmgGMQXTtxaCMbIaATGfQqUpNXxnCcYIiJnNOIiAaNnFKfFjvVQqQmmVvMEeGOogBbZyoOYzpPSsVRrsSSwjiZnNzgGIhXzZypecYyCqICJCcjMsSmguxjkvVpPoeaaACcAqQFUNLCLlLXwWxKfNnJjWsKkFfiVvkKFfoOIwLlFfywWPUubBkYydDdImMiVvecCeHhabwWqETWwmUulMYtHbBiDdCaAoOcLGglCijUuQBmMbBVvRrbliVBbEkKBbSIisuSsUwzfDhHdlLNnmQlLqPAvlLfqQYyXemMOoxXUuQqqXTtxQaAEuxJjYjJUmMiILllLwOQqoUZGhujJUheEbBmMLAalVeHaAMmaAVylAoOJpAhHazcCusSkiIpPotTORrRrKzhHipPxTtHbBhFIiqdnNKCeCEnDbBaAdqQOTtqQFXcCbnquZPpRhMmHiILlvYygGyYRrDdiInKkNBMDdmZzbAJaKkatALlySsnjlCcBzpVvPZJjytTYYyJyYTEeGgGgZGtTBcClMVvJwWjmfFkpPVZJjcCXxyYbiQwWfHhCIzZyfFmZzrMVQvwIvCqQoOjuUWwqQJcjUItxcqwWMhpRpPpIlLcrXxRJOPpcCoAaVvjCwElSsRrJjnfFNAatxRrsCcackCiIJflUusBAhlJjwZnNwhSzZPDdtTLlptOCUhHqFfNgbBGQnNhHmPpTjJNzSFfsZhHhMJQcCSspADOrRwWIEefgzZzcBbCugGwpZzsLhcVvCAaEOpnmXJJjjxHeEgGhMNnNVlLSsyftDdDdpPTsSEgCvVvFGyYFAafYyShdDVsMrRGgCcmQacCAwWNUfFMmbeERrvVtaAlaALKYyexsSTDdopPyTeEnNPteECcTpfFXeEVvJkKGwAaxrRuBbpwmMaAzZoyfeEJUuUuOHhHhoKksWwefFBNBRJNqQJREFyYtRroOTfoOeMWwmVvlhHAZPplZzLeoOAasQLlqmrUuRrUuiIZJjzyHrgGkKRuUjWGQqgwunlDwyQZfFzrxXRItTolLdxkzZcCQqWwKXoEfJjClFbzfNnnkEpJwWuUgNwWPSkXxKsxXeEZcwAatwNnLWwbTNpPhHDdYyWEewCMmcoQqkKJGglTVvtLjmWSMYymsBtTUHhwdDJwkPpPBbyTkKYXxXbldnaAvNnjJmMVnNNpKwWNoOxhYcJeEjOfKfFIdDXxrRksSKhHMNQqJhQMUlBLGgPUSPPpuTtUyxrRXxFtXtTTtTtsSiIwCcnWZijJXxFfRrIXxzYywcCNttDdTwWTvVyOrpPBJqzzZWwhHOoQkrxXaXualLyYxQFEePpBVCgZYlLpPMNnQqsSfFmVwPpIisCjJcEjlLxwHUuSsyDXMXQqJjxgBbzyahQqiQgQEMbBCHcChMmLlHOohwZzvVVEejnNJgGdDIirPcCtTsKkSpBeDdAvVaFWBIcRVvkNRnsGgoQrDQQqqdEgaXWaYCVvrRwOoDdVvmMcCGscaAGVvxNJjzZfDSsfFdlZzLFSwPpWgwWGsXxZDdPIifFHhzZMmfFsuUbBAaLlDdNlAaTtUuPpLPpswsSQpBbIvhBtTmMtSEwANdqgyanVvnuhGgHdeETVRTlLqQOrNHhSxeNnMMbGWwWwitmeCRsKkyykhHoOQRriIxXJTrXxQPpXdDgCcqWwbcbBocyZsoQXzZDAwWrRnNWwSFGgSWKkKkFcCyWwxXAaaAxdtSsyYTvjHhUuJqFftTQPvoOqIiAdBCksPytTMmqQQbBxXzZJtGwrATrPWwnfGvugGOoUOmMbDcMJjmCUudboAaoOoPSspawWchhHIiHviIVenNsSxlLgoZwBbcCyYPyYKLlJFfZzEKLFLJpRrDyYlLKcCkQqXKkjpPHhHTtZzjJoOTYytqKkQWZbyEeEOqQvVNZCegDjJPelLoOEViRBbZzbaAiIavVEyYSscCLlAEXrRJbcpOTGgtKkDonNxXeEWbBKxNnXOQDhsSItTNYyKWwyrvVVvWwotcOGjJKkRwrrMsjJMkWylrRTEeNsSFfacCaXxAoRpRrEiIVKbBFfkcYiIFeVTthHODdoORhHoOratIYxXWvfIyQqzZyJjYtTcCQqtbBuWAUKkupPawusZzgWjeEoBaPpsSAZyxXoRrYyicnrRNVCTbBNiIoOxXTtSsAzfFZZTtbBMKkBbsZoFeEmMMmLzZlfWwLqQWwmWQmTNnJrvVRjpPDdkbwWAaBtTBacSWwsCAIiXCcxcCdnQPgWwGmWwQxMBbmVElLevjKkImMdDmKkfpPmYyUuEeMyHhjhfCcyRySmMsMmYyYmMJjKifmMIiLAaJFPpYUmrRqpPKkQnNjJDDdAGtLlMmtcNksSlhXxHrRGbTlCQPpuUnkYyXSszOeEeEIactwWhlLFERreLzFpEeJjdoOSsLTQEeWwKkmVvgXTtxGjVPwgGRfFMvCzLlQtBbTLlLgTZjyaUSUubBLxYyJjdfvVFiIyiXxLkKjPIipJxXlLtktEIifgGpOnUyaAilLrRYyPLbMmToFGVvwWeQTtUSZzXmMxqQZmMzShHlLISsNhHQOTytTpLcCJfFjgGprExrRIpwWwkKWPYjJymMUuifFETIiLlecQBChHcbbBqpXdjJiJeFMdLuUQCcpPhHzIzcUunEiIpPrBoFdnjJlfdDHqQSoORrKOiIoxXhvJjLlQqkOaAOuzFpWwPpTqPEeiIgzgGEeajlLKkolyYLVvVvDioOvibByEiWZcCopSYgFwGLlQJFrRjRsqQrLllLWwFflNnxjJXspPOQbOoonlaALduvVTemMEfFPGgYjWnGgxHbaAmMtivEOoeANnagZzuZWdjQqJYyYZoOQiHhwWfFpAIigJFzZhWUDavVvxXyuZzwFfWotuUILhHSpuUVvPsSsCiBghHfWwJjLYfFWqKdxXUXwOoWxKkRhQzZbBaAfFfFNnsSpFzZWDrRfcCLXrRKkxVvlsQlLKCSTtsTnFDdfNFcZqkKUegAybIeEaxnNLlhDmMBbGgrReVXxGFkKaHBHhbnLlJoOfFjjNuUgGjJcCNgmLoOlMgGXxGnLOjtThhFfGEFfKkVUuHFxeENQqLABRWwlBHstTtOpPFfiXxtyXFfxJbqVhmxtmGAaMmknNqSrClLtHhOoTUucYyRjJHQXxqStBMmaLVvoDSsdlLOOYcCAcjKZzWwkJCMfaNKZzrFwSLlsNnhHzmMmMNnKkrTjmMmxXuUSsMUuwNnWrVsSIilLEHUHNfGZeQqEPpTAKkxXanaoOlLqgRrvVMEeXlxsARtKkDdukSpwWhAeqQtvBWVWwwovPmMcCMmpOouAuUNwWMfFfSTyYQMpPmHuDdfwTPXxlLHhBbhiIHsPuUpvpNnPJQozZOjDdJopfGtTxbBmRrMBbDdGFQkbUJkCkKcfEeSdsSCZyFoaIkRTlTpQqBaJjsOwWYynNBwWUuDcCCcZvVljsSixcAvnaAjJtAOoKkyYUuaEJyMmsmHGyYEeblmdDoNntgGyxZzZzimcVvXxjSEepPGvcaJjpNTHMUoOuEeTAUyNKpPFlLfEiDZqjUxXaZsSOBkUjoOyCGwUnNrEwSsRrmMBmMrRbVjbKkvXxVBYyssZyVoOjqWAbaAUuBXblwcCnrbWzkKZuUCcoKpZxXzaQqJjJGMZIivVYypdsSKIDLliIilLLpPCciIriICFfrvlTOoJjFxzZXEJXmMxjJCcBaAbzZjrRvJjsSMfFeUkKkKeEuENnjJYyqaAeQqfFKGklsSPFUucCRiXxmMIrSOfhHFTjdDwOvmMssFiDtTBVCQlhHwjJUpJjnNgGYyPWJjStTseCcEkliILsnNwvhHQqaDdAIiyYbDdBNnVRhHQqUJjuzjKkEYEPVpPxXwZycCrqWwKkQrgEeZHhZVTrXvZeIiJihFfXxxjJPpBrXxRpEeeyFfYEPbgOoJUuVDdoOtTEcfYPpyhQPcUkzhoOHzZZIeBbEZzBStqQqQsNSWTMSscCmsSjJTtskggZzdDxJjLlPnAjJagvVHhGfoOacJAMyfFzSszfFnlbJcHhmKksWFoMmzZQaTEetwCcJjWfJVzyYZunAaXxsFfSciICcYycTvwKNnRrksSlLxOEsSeGkuUEShIIitnDrKkuTthjJcNndDoOCFfcUGBbcXxCPVAamMmmNmGPIifFiIcjKlDdLtIcsimDnNvdDDdRJXxuUPsMNnmrMphZzWaAwHPPYyGXadrEeRIielLbBYqQBbpcCwDdnAnQqyuPpvVmMnNCOodZzUyYuLbBoRZGSsgmDtTCRHhujyYJDrRmMbBAadzZLUoUPpwWQPFdDtTxRMYfzZCIRSsvMOTtosPmkKUupPAaLQqlNnLRrIKkONnoFtQqnGgwsSeYqZoOJjzQyvRrAYrRuQZPpzlKkSsLaAsEeKkxWwokKOXzYyRlLlWBbaSfFsKYyFpPOJjUuMmnaYWwABDJjHhRUuqQUNkKxrXoOQqKpTTsAtdDEeyYlRsSRTtTtfFdgsYtgGKlNnaCwMZnNzDdkQgGgGKLlhtJIDTTyAgGbBMLlQzhuUEeHncEZzrbBRMtgGfRrBbUuDMWxXiBWwjJrCLlrRjuUlLLctTFZzgGkKvVHhdbgGMmGamUisZzmlkKYfdDFvgGVQdDKhIWwfFnNAcCaPuSIdPlKkdcCDGgLKawWNnAizRrZZzIkLLGgPPwPhKlqQCcgGOofVvuWKhLdDBVQiINnXTtuUrRxNZKkHWfFpPjRmpKkmMaMMpIffyYFaWwjoMOBbkPwWQqLRSvVeEZPUqQRrKkuRrpzUpjQqgPpIyYlLlYeEyrvwzhGWfFEeBpsDdeEZaIYyQbBFpnWwtMCcAaPCqQploOnNVvwQaAqGFRrfGEegMvdmjYbBiIylxDiGsSAaGAavIJjitUuTVgUAakKuUugMmByJjfFsIqQNnTtWEzZIYxinNySswWxCcsVvOoWZzHIiWwlLxquYeEysKObBYyonmMNksDTqQqwWKkQtKVvkbyADdaYKDddjJDXEJjvVeELbAdOLlRriIQJPVylLlJjCcmMkdVctTGgydJIijPpmcCMhQsSsBydnoSsOFfNDrRYbSdnTVMfvhgDdCyYcQqEkOZzGgoKydUuVNnvQqDYesSlLVlQqcaWwVXNnxEevpPqGgJNnPQmZJxViSjJscfFtTNnCUkKhHLcyNnjJTAquHhUxsSXifFfDvDFfFfUgGZzrsoOuVZpAaSVQSNrRrRehOTtrJjAFfaVvBfVvfFbZgNNnRkOfjiFZwWzdWtTBbVUuUXJrRthoOZzUuspPoOgMTtGgTtNKJBiOoImMWwakKQqoOQqjVYyGIjJNRroOOAFidWwVSPNduArlzjRSGhHNQlLqoOgGVbhHgGYljZXVaQhONnOoutTbfUuaAOKkKGggzkYyqQbBvkKVbBlOoGgQqpPyYnNBAUuMIhKVvkIAKCCcODhHMhjbdDSsOYQNnqFfeCkCcnNIiJjhHiOYXKAjrRQWWwIyYCvQqvVVHheuUFfsSEEeFfcDVvoLoOlONZznRsTxXniWwIsSNZzDdPCKkoOBbcnLZzlQWMmnNOjJzZBxXbgnPYNByeEjJUuzZZpPphKWwKOlHhiIlaCcAfxWOxCcIisSRrDgIiGrLlRIgGPEghHyuUPpvOGiDtXxosuEeUiISsSwuUKMHIuLlljYsmMMmvMcWDrOoTkRHQmBLAasuUSQqfxXVGJjeRAHrRLJDTtKksSbBdKHhsSAFpSqHhcCtZzTQbPneSuUcobIihHskyYxXgGgfLqGzZgQaDMoOmdcLsEeSqsSQNnAvUMvVLlaYyAjdDNRrDzZcJFfCSWSSXHhcbDKkdGfFNKkpdDpfZzFwxANVvpPThHAatCcZzDzZzixXwOimTXTirRMYweANnHhHafvoOAxmFfiXRnTMnNGgeDtTNTKkBbUufFgwgGOraAhoZzOWrnNRwlLuUNCKkTKTtktpKVdDJrRDhHpiIOjSshHMtTNkAaKdycRFkKuxXyYuVKdDNbauFeuUHhEPYJDdcoesIPanFqQoOBPAEBvMHwakIiRrxXfFidDLlqblLxXIiuSsUtTkXRwlYstpSsuDkKxXGhHqeEQNCdbBZIDfQqdxOhHQqoXCoObWwGgQqtSXphHpPQXxLkrRKJmcnNDyPBWvTWtxfFXDdrRYJjooEeSQqeuHXxYlMhwWosSmMLZCJQLJyYiHaARoSPTgoZWwmMHASDZzktLlOPphAPpYxGTtBcfVvoOHhYfuRreELlNXlLlVvwdEeBbkPJsfFuEeXFVWgFfGGoOkEISyYLlsvFisDJjImMezZTuUMmkKxHhGgdtTDggofJjCcFJjfFqQQqQAjqQHhdQqyiIUuYreERQZzXcJLljCzZcsOoGkKkCxtDJEcnuUJhHwCVbXFfVFopPjgIiVvvPOWwPpWqWtCSZzAaMmOzyYnNBbQFzZoOevVkKcdswQqplAkKxeYykKMHHAaBbKZzkqQBlLktTyYatdHCQILlrRQhyEGjJvViFRrVWwJjvfmMFhHZzisIiOmMFfsSZzIYdKzZPwaAXOoEeOoKdFlLLvVkEAzZaJZxXzcoyAJrrSnxXxaAdfLAOfVKZzYzZYhHheIMZipnNilAjJaLnRrgGrXzASsbBzZxsOWGHYnNNnZzUurRZWwzZzSNnfFKVvkHjSsOsSoTLltdWLlLCyBfFmMpMmKTwkFfKhUYLwWlTWwIivViItfkBLnNtgOhJjMNnekypSgGcyxOqQPJeEgarVvaTRrIitEevnYyvVxURrWwMpuUQqBbRjwNmkxuZqTtNxGhSszZHcCjYyYBblLkvPoEbBMUkjJOoKbbcrWABbNnkbiIBEvWfLlNrRzaOdDtNFICcyySLlsYmjwWkKmpPjJXmLuJaAiItMmVmmTQCcrwWAIicCaAdwWMmbBtlLTOtGMhkFceETtSyhHhnsDSHKkhDzznNMmlLsHMmnjdbrxMAHssnRXIPpDoCmNncqdDQvrgGMxwWoIZwWhfJjFHFfKkiIoOiIUeKQTTMQgTwAafKIifgnNcnnNNnpPhoKWAWPPxXgyYxPrRulbBbeTPpujZzouUxXwWAzZFhHfjkCzZhHvOqWbBBzAFmrsMDiIFfZzZDdzChsSHmMcJyqCcQwQqKwWKjWwusFfSQqsGSsxZFfzTtNEKkzJjEeZkZxSsXTaAKkhyYxXDELlQNYyeEnkKdrRvfFosEeSRNObJjgrIiaAqQzZxbBXdPYbIEeDoerIthHgGTGgHSsgMydAahJjIvVaWwACcVvnnNqQNHsShvwvVWvSxXcsHHfFabhlLRzZUubmdDxXDnNrRbuBbzEeyYKnNXoUJjPpzZBxeizhNfGdPpsSbMmGSWnHhjTFmFgsSZkKzGizpTcCtVvSsPCRrKrFPCcpLlnNhGYTtXAtTatLVvwhtGbpUTtvVOooOZGXxgLBbOoBeEpuUPkKeedSdYjXYebNnOiUxMmlasvSfXxhHEeXxvLDJPYyfFPDzcjOobNnDdrRqgKqzZvyvXxVUVICAaciyZzYTtLgugbBGtbeSeGJhyYuVxycMlLJHhdooaqQslLRzZrSZEhltTQqLeHhvVrTtDdEePRrwAagkcCoOJSbAJlLdpKkquUQMMmmkPpKKkrjJJiIYQqyNnAYKkrmMPpPQqvVuGvDVvzmCfoOzIeIaAVDJIaAxXYiAWshHDgtTofkKqPmCcqQllLmyARFfiIDkgIKFTLltfYyAaclhighHiIyBOApgfVamoEeOqQMVvmgGNGgrgGREYdmmcCxPpXxXimvVMpPIFtrAaRnzZwWNbLpQxXBYykKAaeENnPnGVNnLVvaFwSxXxyrYyYyUfFpFXmMWIiKAGWDYaSEgpSgAaTGUuUdnhyTtJXNqQjabxjWwALlWwSsaeNmsSaAhHMUZgLnRfbBWOyCZzoOcYVZzUrikKDUVIivLCcluyYkcCaAfeBbNarRUDrjiiIgGpSHXueEQqKkUMnNRGXxVvQqfuTRuUUJmMJntHvVhlCcNJHEehjzGQoGRrSIkrdvnvfFtTVNYsKzeEIiByYymtukKUWjSsqidDiJjIiNNVXaDECHhKuLpANnczijJUuUWwTuUtuaZJckXwWKJfTPqEeQpuNPwRjJUtZdOZzVgGvjEQYbdiblnCNncIiVvfKJtHfWwABMEIZzmMffFFvVCvxOHUXgfJtOcCcPxXQqHhqGPWnlLJTBbGIiVBbvoOsKrRkdDQLlAhHvJtwnNWLtTrycsCyYyBUFfuxXbdrwKSsyAMqpXRjJVVtTXxSreIisiTtIBpPrFNreNhVvrtydDUzfFXxXAcQBKkVnaAwxXWNvVpItTBccJOfKxGbBpEeuwTPwWxaERyhDQqVDYjjbKZSYKmMbfFBdDQpKTEetjbBsSREWwiIerNjJnlUOGcXfFzZuUxgGiSsFfIkKYyzDHiIDwnIyYtkJPpuUOUISAxVUurGnNXLWZdsTtGHnyYQhHwWvoOojEArPpIwEvuUVeXxadNKnGvDuecipPICIkKVviEwWdDisOPrAahksRPdDphkKWZzZsNnSaAxQcHJdGgCcbJOzjxXJnNZdDOoyTiZzZKZpPhtTUkeECwWcGgKPptrfWwNbBKKVrRpPakFfKAatpyLtTlpQltqQteQqjoZzOJEaZBbPHLRrPKLlDvJjtdDRrRVOovqnIGgAuUkdNtTEerRXxxRPpruvdGtTgqcyVaAezZJjzUyioOgTtlLRrODsUZaAUukKEOVqJVAcsUvZeLHhkAVveEaplZUCjAadymMcdOoDtXJOzZOudHpTpuTWeAfFaxCcKByAwWaYdbBDxGPeEjQOtXxIwJbBjaAHqhHPpSYxXoZYDzSsgiBbOfFoIEVzGTNhYFWZwVvnhHiQiDCwRrraxjJXQqsgDdHhwhhUuiqQSSNGbtTctTHhzsWGgwchbjcKkbBCJqRutSyhNnoOodDdhUhHnXxNHuiqQieLnCQPgGpmNloOLsaASgWwGndDPXYzyKurHYQGOogwWqbByeXXxmoGQJjNGaArBpghHfFqxSXpNNnWwVOkKmWdoOuUQCchwYvJdnIsCusqknKjcZzrABbYBnjUUOoupPoVUYYvelfXXFIKkGdgGBbhenyYRrZzrRCEeEsSeDCVbRrKEjBbzKlLIiMGOXnqQqhiDXuuUbetZxoOoRGgretLlTGhtTHJjgDdZzIkTfFtsSKimroFqqQFfGDoOdaGTFKmUuMfeEFaeEAvLtDHTthzwpKBaAwaOXlgYHhpPhHbUdDaNOvZSsPezWvBmUuGHJjIiswhHVvWaXGizxyydTtDRWwrqtTOosJYRPfMquMmUROodWYdyIkldyYBYyxNnXbVcWIxzFbJhFPKTtuBbxhgHGeENlLnXTtxcrOYyoaJaWVvjJTOSsChEtTeBPpbHFfVRrvHhhTSFjpPgGJLZzFdCcLlmMVucrxKRrrdDsuUSIoqQkEdfFbjdBbDPpJBDlBdOAqZIityoOZzWqQfMkKJjmOuUBbDuUtzZBbOovCXXFmLlAcLlhxXRUHwZzvXAKkpnyYpvVcCcITkKRdEeBhCzloOLWwnECcecDNnXxOIiUuAaqQRIVvWwsSirTJUuWrRQVvTtiGlLmkXxkYnzBbCZdcROamlZvVzOoNDdMJjEiRLgGIirvWBujZiJjIKcVcCggGpPabDlGrRiIlMQqIiRMpNnioVOOkUPpalxAvyIiYuFMbmttTAzGtTkTopAYNnLnVtTSsOOFnbWjJWCcUuTrRtMmMsSZzsSrndmlnNVWRcCvZknNpXxlNRrLlMmdEMmEpWTpziBMmbPPRMjbBxaXxFBbgCDwdUOKkoiuXcCxdDgGfaklBbOuJjtOAyYDVUVOowzgZjhwFwVznNpFfPuvLUulJMFNbBHbpFfFGgUaAuMNfFnqEUueqbiIPpLEeNnuUJGDlLlmHFheDdQArggtTIiGGMNOEeSaAnkoXSYdUuDyvVcmZsPnjxAEoxYXOLSFIaqQQgvXHhxYwWcUuVYYiMmYAaQpPHtTnNkTzFzDNoOnhdgRDWIndDVvmHhjJIHzkKZejgfFQqNUuBBfFbbiiNoRAgqwWzOoeDdqMorROmXxrtBbSWSBNXxnUuITHhtItQkcCKqqQTQXNJjsVvCSTVngUtMmTkePpbBEjZzlRkKrtTLTuUnIbRkKpyAOjGgDHMmyYDYdrRlHsvoOwISUuxcURGebKfjqrPCRvVrBaAbcLwAanbYvVvVyPpPCciHizXjJxxeEZWNjvyTtCctNgGGgzxXSHhAhTmMSsQUuLBYLVsSzFkpPSstqHwWWcfFJjcIicJjfFbtpkXlgroJjPVAalIxXJaVynpDZzFPmHDqQhHYmwSbzsSxaAXqMmPpYMsTxtTJTtmxhigQeFsSxXikWqAZHVkEeKVOWjJcysDFOQGLlgqyGxRxRheDXxGggGWeEwdEnNHrXrXgdkKwWgGDYofdSYCwovVqQJjvviBrRbIhzaQwKIGEeEeMmgfEeEqGIHXMqQEejXtSmyQZBsWMylLdhaAMOogGpfdOoYyPNYvAvVsSjiTtLAavpORXxGLlyYngGNLvViIdDxKPTWwBCCgGCwhQbbBBTKkNHhnzZKfZvlyblrRkKqtHaWwsZsSnTYVJFfvVnwzXZIhiIIpoOBTtNWmMQqlpRQJFkBfFEgruCXsiWMmCWwcVSaAhLzWwZDydDUJjudhZzdJoaYPrBvViNrSsRtQqJrRKuGrRNvtsFfccCSvDdVnxqiibswsTRaARrQGgTtlLDdEZQGarOnIvVIbaABnhHGJETthxXiOotTtTCcSsUuMNhHUuiwOobBdrGDHdZfZtKhrRqAayIyyNnvCtTyiIXxVGmMgGqKkEekFfKJjoOAifBbUusloGgxaAyXwWOeaXJNpSzMCHhfPpFsxOKuUNaCcpMPpxXmPAsonmupPURaqDdEHfhMcCLdgjlBQaAQHhoOmMmfPBuUhnoOfmjVUAanNEeZvWfWHJzGBbCIicZWvuvdaohAnlLNaHTjJUowWLNnoOKyYAFUIuDWdiIcmNnFfMGfAXJmrpPppIZuUPtwPeVveDUunkoOKLPKlLzpLlPVrwvLMDmMvVNRmCcihHIwwBNfoovNlyYyYnNyaPcCOtKgZaTMCcBmfUVaXLAmKksuUXhgFfGHxSMuKoOokKLlbjsSJBoiIvOInNPFfFfmrmGgLiwWIzZgLdBAGfAaIHhiFvKkCtTpPkPppIiPzJUbFfwVRlMInimrIWwemnoOLMAtTorpwWPCDzcDdgnNGZNyKKzQqZMgIWwZzqwOojtXxqQooOdCsSNmMMmZcHbEeDrtiCybBYPNPaxDdVWhurHCaMfxxYycVTdfJjFoCcFYywYTzQeEaoDbigGILeKOikOolLKRkXQqIijJRsSCUjJvDyYfvOoVlfstzJjZHpiIKIikPhHcotwDdAJjjARCgwWhGHXBbUsSfFkpFffHjAaBdMZzmDfZXiwprRPCvDLKiYDywPpDraAQmYPpyFpiIryfFjSlLQRrYZzYXZIgxASAamMJqQjjOoJhAagMbdDVwZEpzVwWMnqQPkKpNaXxAmonAOouBUGguyGLQqxoAWbCcUuVvkPWZzRrZdTZzlVcCDpPdkftYygAEegQgGKkMZzmHhfxXORMunfFCKkcNUDzZdRXxmqQMrnNExXOXzTiIEmMBiIUYyhuUHxdIHQNxoxXCiIsxKkXSkKcgmBbkZJekBZzvnNcdsxXScnNRrNEHDFfgifxxFLEIiVyyPpuvOuhHJNbQBbBbqIpPioOyaRCVZzSsvJkNKQSUtAaTmMcopPOuUSiNDjrZzRVyjJWBbHPxXpqVvOoHcChDiqQIwsSMovnPxcCsXiIQOoGPlcCLbVvRAagdDnqgOMmMxETthRaAUkYZyxpHhMqcNlEIsSIUheEuHbBDOHFflLYsLlTUeErQCcwWbBAaJjBHCyYSZnjJNCqQBUuJjPpgnDdssuUIHHWGSzZARHhWcdIqINWzwfykXxKWJjwHvVIinnSnNYyrRsNhHwWtgZveGZdcCyzrROyVjJvsQwWhLlWUuiToqJpgXQnNOoqhHLlbkBbEeXEjJwtUqQPAatPxXyYkKhDUomModDjxTJjCYDJcuNnBwWYybzLPNnKUpPRrHhfFrpPRugGlEzVuSCavzZjQvoeaQqPpgGAzuSdpPoYyGIYnNuZEvYCzZCcQDVKkDUudiIUXnyYiIDKAuUasSaxXifFNQrTzZVdkplhpDdzAgGaTZztATTLqPLlYPRqQDdrTAvkkneEFRLlTuHKkzkzIeUuEtYojBCcIiMmeEDjhCYyqXzwHryYmfFMSKHRpPpoUAaunZzNSIUdCcVgTMmtwNkgGKnWhHNLlknDAfaAFBJSsjbWiRaeJjPpJFfBbOVqEeyYNhgSoOHhDzaAwloOyDgGdYZzxgRUxXuvxXXasiuRYyrojKTSsbBmnNMmMiNWLldRfRoOrFrhEedZwWlLKkhHCgoTtuXHhxLrRJEekPqiIiIFfbBkyszSszZkBJJyZzdvdHYreAXvVHhptCcWUPgXkFojCcCCbYYyyioOPrRtTJjvbqJjCaxZuYTRHOosSnElLDdRfFnfsDdSRbgGiwWVvISVhHvQqERsJjSsvMZzmvrxPQmaYkVvWRDYcSCfFYDdRlTjVaqpPSmMVvgtOojNwUupgQpCoTjSsQqnNTGgvVtFGxumMZzhoXViyYrRIcCciembaMmFhTjkIiFNLBIDtTByqeJoDHhzZzbBTATtauqQrQqBqQbaAWpfOAaoFZznUyYgGtUuFjkxeEKCPpjzAvGgAaVIZAaCyYaPlUkUzZucedhHAqQmMxMmvnlLnUuIIQgGJwZzTjfFJMYPpbZknNSyVDRKdDieEoOEehHsgOqgZIigGnnNzZLbEeBTNjjurtUFgrmxhvVsPqAaQiIIPpJRuUduOHhoAnEaAFbBKdvVkKoOIRuUuvIiowOKkojJFUurNlGzunDdEAaOoJXBAJnxjMmpPYHNlLcUuCDugtGsPaAGeGgsArRydwgakHhwmMxfPuzZRYXsWfAOoOoSslvgNpBbGgbqPlBNnhHTfipEePIMYyMvzPpZVwWDygVvtTGetTrRvVnLlMIiAWwsSvFGPayOoYorRbYnNIiSsGIHLCkiGKdraqQAaYDEedMlLLWWEbBqQewwMpaAQKkFOGdSwajHnNYyhyYJIImMiIFfiyijdviEiZFcMZZzdVgUNnpbBRagGAyayYjRPDhvVHlLjaBsjKrRGWpRwWExXHkKezAHhOBbUfFuWwAAaaOEeDwQqWjmOoCYVvXvUHjgmMEsEZEYyewWzUuBTUPpSaAsGdDlvuSsSscCYVuoiIVvOULlTtCcQBbkGwWQeEBJoOCZdppAajdQqaAlVXxFsVSALXuIoBEywCcWXxxJnNeEyDsDEELlblWwzuIiPBgpPpPToOHWlzZAaTfFwMmWEevVxygHdDfRHhoOkwWcEeZlLIsSfMfwWtvVJNwsUugIiBDgFnHrHhRZKHiIhJjkIEXbjJWwzZuOxkZKkgGUxSrRsPpXDmRrMoOdBdMBrHBKkAhhSCsVVfWwFBbYpPyiHDYmGQqhiGgREiQqIOdpPiIiLlnNByMmOonNpDRaAGBGgonrmMOfVvAaiIFVDpMmRrnNPBbqeSsyYuUdHtzKDAaduUenXgSUKCcksLlSJkmMkWUuYbBjWwcCdmSRMfaZiIcCcCbwQoVtPpTkKcKJaOJUaUuATJjttEBmMLUJjpXGNwWnBbcCppwawkOaATtVvHNgGCwoOiIWGFkFcCWtGQqqmYyttyYqkkKEuZOozHhJjziXxOtTXmIiRVCaAMcOoOdixrNSShoOqFfQcCaFfmXRnNFfBDJNhgGGgLlSrRfFZZdNnsxXdSNwWHYslLCfKxXisSIxXHmgToskKSDSswWpPnNgGajmMJRPHhpxXqtBbMMvTLljUMmlMeExvVaAXsSxaFfAMJMYPpiAGgjJKkazZfngGTTtoAZnNuUiIJTtjhHkKntTeEAwWaqNnQFwVeKOoaiIUuZzwRbBCqQBYyEeZQqTtKkKkzBhHumaAeODdpVKyJUugXnqQTtJjQzUKkXjJKMQqnWJrcCPmMmoOuXNVnNARdDAGEejpmMofFCcXYjJjJEeCsPYKEmXrRxJjpPhuUHHoGThHlsSbKXxwWrRFTyYtbZzwWMmByhHuHQmMqWtTtkMUumPlhnNHLbYclwDJhsxXyhgwdSsDoSXaFfZxRNPpIPIzmiLxXlEHYjJyyyfFkvFoaljJFKkDQqXKkxvVXNsRRjaYOCjeKlfDkOoxWpkWwvVDgCcGyioSIBbfImMWwGggeYHDFfdaAqihHqchDaATAKbhhmEXaLdDPWVvSDCEfqeEyYZouMmUNnRhHrscTwQwoaApVZzGJOfiIvxBvFfnNDvPpVoOqQdcWjNCejdTXcAaKvVkKgSCSsxmYyMqTJrRjtDHOohJaqOGIiGbsoOSBXpPtTtJjErRidZzSAaIfVfmMQqFDsSdPpKkcCieKDKkdzjKkJFflLMmZgwvfBCPpcbxTtmMUSjpKWwSFtTfsDSKksWLxnWwIiLtTlUFyAaaAFCbgXkKyaHojJTKVvulLUddDNnzZsahIiWwRrzDdOGtprRsOrLlIiqQhIjJjleEqjgGcfFuUzlOHcCmLlLyhbBUEsOgGOyLlxXTRZzrwtVwbpbLlBaAFftTLlYdRrCKknNMjlqqQPTtxsThWwHpPUcCuLlBcxXQqDFrRKkvVdsSiDdzDEecnqyYQgIidUbBPnNTSyDdLWqQrxSmMOosKBQvVCclmMLIcCwWKAWhmVbeeEaaApbDdfNaAApiSxXEOCcCjypbzZBfUAPJjpBaAnkvUVvUXxfrMmCYDnVvxGgXmJoPdOojvkPWwccJjCnGgDdRrRrOoHRkKoWEeGvVGgGNxtTXnbLTtlBOogtlLndEmtNrxIMmxXMXysSYadDJjVFAhaEWymItxtMTtKkIovVdDWIZpPdBbTtnGgHhwgGWaXFfWPPndDggGBCxCcsswscjhHHhCZdDzdnJmuVXxZbfEQqecCtTFkKBzaqkKQDdEVvelORroCMmAlFGKSIiBOCvYyVsQqAabBEXNnxNpBpPsjJRrPfUSfFsuakjnNlUoOuharWwSsEgvzBbZFeEeCcElbMmqQMqxPpXhrOoKtRdwsDsSdDdSfFCmVobBOSeEyJLUihmrqPUupwRrWjJQRkPTtpkKoOWOTdIgQqoVYGexXQqnNpRridWwhHXwWowXFMmLiILQqeEokkHPzIiYRrbnTtypCSscNEeGQqBbrTtRowqVXxvNpGgfFeAaCcEtSrEDWwzZdeWwTtdgGWwwWvVYyiwqJakAaxyoIGgKcEyoqQdqQDBJEeHZzmdockybBYpNnPaYyBbiQqRroOHHhRrimablLLKZwWGFfkFeEIifoFwSsWBNnUoHPrRpoOqLlAvxzkKJLyxXiIvVBvngsrJIiGBUubgZLRLlaUDiIQqnpsfFvDIftlLTrRSsnNaonMmiGggvJUuAJjbjknmGSJjXhHxBbHOoTjxuvwUuyYzGgFfZDfIfFJFoKrrNnRoOnGzcCBFDfFdtTbFfRoEjJeVvGgHEnsqMmtTvYysiIJHaAovVOhjiIAaPdDzvUSVvPeEpRudVdFMIimICcmMnNQTtoOatYCEeluUKkjmMJzxXZuIvMmXjzMqJjpjQYyACJjZFfzLXxvZYyTMmtJzZjzEeGHVFFfmvfFaRrAtNDqxXpPCcHDbBYzZCvDGgKLYzZvpjqoHhqQYQxXBOfFobFfqjJGuaAUgRryDaFfBlOoeSsrRxkBwWdoOSwWSUQXlLlLJjzZhEeoOwSXYIXeEymMiewDdhHiSYbqQxXIPpdXLGgDsSdLleEJMlLDVmgsSPpWOoNnCcLPczZpmAaNyYnTNPfqiAeEzdQqDSPbwnoONgHbBZWiIVRYyLiGPpJPJlLjBqQbusrFfVvlfFdtUuTDwWpPpKKkomOgGTtsSJSsAFiaALlZeEzPmeLlEmAPMGgrJAEeapPhHuUwKeEAaksShztTWwnqvbJjlHkwUFLkHpWpbKkfFBTmMfFtiIpllEEBbeAaewWaBbApDYyjyEeYJisUFfgGpDdHhzyYZiaAHkdDqvVfFyLNnMSmMoOIuMgMmCsSIiCccGAgBVZzaAZzvDffFClJbBcRbIcCwmBbdPpkzZiIxXKFoOhSsHOoTmuUoOuUeCNZqMmEeVvmbBaYttwYyWdihHjTHXxguUyYFfVvGkqKyJjYmWcoOALhHkTtOKkoTySGDUurrLTmMagyYGSttKkPkxRWwCcXTtnuqQrdbpPaiILxXlRryNnANHhoBbfkimMIHhdDAwLPzZzZprZSqsSUyaVEWNTfxXilnNMXxpSfFmiIKkMmVriclLFymrXfpqiICcGgxhHeEmMXuzZOulkKDdUrcNLlndRcCrMBbzrOlDcvgGVUYwWNcCaNWPyBbEcCDAxgpmRSEGgQqOoepjrWwVkKdjJMjJKuUkYyvVISbGKkgBzDdIiZCiOoTkwWJTncCNaDdQqAWwtCpgMnMuDdUKkMGzZgvpFflLguCHURJjdgGNvVSseETiuUHGgvVseVvmMhHKFfmMgopPXEedDQqWfFVtzZCCNUVvvjFdDtxYyXTAqOfTtGgwmMSOomMeEXQqxMCfFjsSSsqQBLNZAaZJjtgGTSsYpPsSpPwWmajNLlnQqCAFRrNpXPpGGuPIipzzZZUwWKSAwWatwseEnSqQrRvVTsdDpPFfbemMEiBbcOoCKuCpqHFLlCeTtvSsjGuTtUXHIJjjEzqQVxXxRtvzzHqQhwVvWGRRSsiIZzPpBFfbYzeEgJsSjGWvPppeyeJZrWWwSkKtToOVFfvKBbwTtMzZZzmuWAmjJMaiILqDdcvbRrdInNfSdDSeEXHhxtTVGgOoEeBboWtTJtUuosPpuGgULlfpSsLKgkxXEQmXxUMmuVxxXXEeefpPOotLVRcbBcCqQIiRlIdvVtTikDPjZzvVJIxXizmgEejbuUAalLBAtTPiIkrRKnNkhKkHOkWwtTAaeEsSKwDdNnqyYQwlLCcWRreEMmBJdfFSslNnLDhHjRNCcWkKFfLkNnnNKBxawXxQJqQzZvYzSSXFfxJHhvWsSCSvVBbZzsYyQqcJjelLRYyuWgEejFfJcYJhHUuuKWwbCDdgGcDdKkoDdLlzABbuJQzdIecCknYmMIiuatmhtfFnPACbBVgUQqoOusOoJCMIXmYTErReJjOoOMXxLMmjJBkKghMSYjlLSseTNyhHYACcOoaVaCXcCIJLAadQqDzoOKkdQqjMmbBJHhbaALloSXxCcAbcChHPtLtrSsYyKiAxXrRpPOslLSfIiYzFlSsLfJjVvFAzZAVvaafcDsCmMsGwWRroOEeyHhOoYcCgScFKEeMmjuBKqcCcCfgXrRgFsSPCcOqjUuVzZXxSptWFnNvVUoOeEhSsxXqtsGgFmuUnuUAaaUvVVOWvwbzZVoOQqTEaHPsKUjbBPpJcCKkTrhHaSGgXqQLBbxmxYyXpqQPGQyYgAaMmxXMmoOGANAatsSzgFnmDdMhuhfFevRVvJtgGgGRorROafFAZIiWfRHhsSknAZzYyMmkKlLFmayoKklWJjkKwAQKVeEvkqMvVEemKkqAaQPpbTEeshJjsQoOKgjJMTXMOoGgwWHpYyyYBbPvUuoOQBjYvVTIoGgTShbLrbalnXmHhMfVjJvgGjJhveleELIigHHpyYFiIfPJorRsSlcCnJbBaqQANhAfOZzogvESWwsdHimMIXAiBYVvaCcZbBzGEtTuQzCdDfdtTDtcbBkqMmMyYmSFfBNnbFRrPIipShHsHDdhdDdwIifPtTQqoOqMoOmXxHrMmEzZeuRjTtNnqsSQNnJrDkQwylhHFGpPbIcMmRrliTOkKUYVPpAduwHfjGaPIqzyXxUuDefFMmEJjTyYeEFftwzVvZeEzcrRCUlLGVIlLOoqQTBhaAXNBbwwTtWJyprSsRtUUuXxDEeNKkOBqodDvDdVSbBLRSrJEeiIfjsSqxXcCgWfsSGysTtPOWnNKkwzwIeYICuUckKVvSsVIdOJcCAZwWGxXSDdstZzQqKkJjTGgxXpQtPIidDfZUEeooXxbBKJWiIwjpPVHklLskKhFLhHRzZrNDbWwVvBfOmMaHvXxVhAbReNYyfFCZidDZzZqlDmpPVvffFEaAFfjOoIDxPbgHUVvuhGBqQCEbNnBtgaAWwGIieukYyKUXxKvqQVkXeRLldDPnNnNpPXxYfFylPLwWlYtOooqSsnUuiMLlUumsEeRrsHhuqEgfOtBlpoOrNnJjgGxXRlyYLIlLYuNoCcPFeTKTlDdeEIYDXSsIilsuiIAYJaqcCgGQAztrRGhzZHlqtTWwZcVmSsxXBbxGgXEerqQWpkKvIiJVvMqGgtlDPfZlfHTCAifFoZxKoWwOaMmLlGXxXUuxgANqXxcrRLtBzZKkfFgMmLKiYyInCTTgadMjJWwunNyzyYZaAsSeEfjlFIkwWcChHyYrXxYFHJYFMikKJXqMpPwWXnNxpeEqMbBmlMmMmLNDWEkKeEerRqQkKJjwbNnoOKDdknNKtMBbqwPppPEeMPBdDbtTprRlSszZVvoOONoOnYyNnzAaKpPkSmzrRaxXnqQIiNntsSchHlLvnNvVnNCtTIOYODdRUuroDdzMmnNbOBbJwGZgGzSUUThHNneEvoORrVDdYZziOoFVwsWwVQqHhvBbwSsWhNnHZAazSymMiNnTAXlLxovEfzZqQyClLyYveEeEePcCrOcLlCKkAKCcsSuUkntuULjJYwYyaAKmSmRRWNnrgoCTOVWwvTFftRBPpbbBYAakKkniHdWwxXkKzZqMmoCckFfwmvgGVMnNnNOdoPCBjpPIjJicCxehHpFfPkJjKeEaKZzHhkeABUuTtrtTIvpMmdGEIdDsSiczfVvFnwWoeEeFfuUYBzwxXTSsPnNprRthJxKkbBdPjlLlfllLhHTtkehHjzZkpWIiMmzZzzZOGtTZzXYyAaECaAJsyYVvScCjcirRrRIPpAaCwWGKkgFfAoOOGgPpOBDdxXqQBoPpVgFNpRtGNEdDDdxXemMewWEngVvaRWghHTMrRmjDQqdlLqOhHpPoTtYVvpSKcbDjyYdDJaQEeVYypcDdCVDXvVYyNaAnYfwshHbBnNESsefsaTtfFdAaxqOSbBzIsMmMmSiYCOmMoOCBQGxqYyRtQQqqjqKoiIGgOCTtUucYXxYSrcEMTKkIOldDLvVoJjgkwpPyIiXHhxKkoOYUuWKHEehUKkQEequBmEeoOmQTtqEXsnsOokKZzSRotevVErvtiIyzbBZYDAaUNBbVvNAYGQDzZGgnlsSLanhvVHYyNWeVvTtsaZzATbHVYyEeiNnyYNDdnPqDdWCcSnTteESUupzeHhEyYoOnXgCSrRkKJjgWTtcyAwxAwWGtTVvMmMmeeERIitLlTqnNzZwWOfFSNrWwnCGgcKrldDHhLJjCNXxnifFbwfvVEbxXRvWrRHTtfKkFhbkKBPpcmebtTBqGqAaIHnNSsnNAtTYOoZGhHmEexdWwYTthWXXxHhQMmqfFtIUuiTcCUuJeSwWTtWyYvXxyzyYGcvuUbfqXAUxAeERKnNqZQSsjXxUubRalOoLAqQFfKkvVonNcCYLNLlyYneEsaASloOSsSstTqQWwWxpPRHhrrRVvTfXYvVxXpsjJiIuaAbwtTWkgGKBphHJjJjsLlSsSlbmMLlLlLuAaoXBbxGgOKkAarRbBmqUuNnHjsShHnmMoOmifbBFxXoOYyxXkFoaAqfFQCyHXnkPaADYyLBxytYIidvVDpKWjYPvVpyWwWubwdDMWwuUOoustMmTYyzZaASGpSsBkYyKbPaAgIiUOYEeyQqndHhQqDHhtLlrRBlWIiTSsGgWlCcLCbXxNnBdDzSYyfFspnGjPoOeKmMNFZBfkKLcmXbBxQqMSsFLlpDdPeOnNrjJRDOiKFfFEeosSOftTkUuqVvYWdoPpOBbOoLNnaIiANUJwWrRhhHYiIvVRHqQhpoOPMNnNoqQeEOXJwWcCjxgGnSEzvKkVLlrRyYLbBlaiILOorjnjZzrBbbUunbESTtUuUuoOjFJpPjYOxvVEzZeXxXWPUXWmMglZzLvVjxbhHBtYOHhLltGfFgXEkTJjvVFfBNnuUCOocuPyYVvpnObBEeokKquxXUSvHsgPpfVZEezJjtTctTeEGeFxXYvRryYPoezZHlSPWuUHKkzZhUZTtGaAFRriorRFjJVvfdaPbpPBmMqjjJoOmHhHntslLSSscCMuUqnQTtRrfCFwWSGeEgTtsfTtcFvVdDucodDTsPpHWzWeEvVLHhHaBbdDKkbSLFuUwVvWjEenNcKCAbBSXTAcCucCwWhHUaLVvekKWigGPrPHmQxUuXpXkgGKxPWIiXxwCXTgGicCuqQJVTtkKpPieEWVqEiIevcCmRtTMYickKFqIBFfzIiUuvXxMniIiINmKBbPeEpLbtTAawWgzkKDdKRrktjbLJNYaEeTAeEAjgyYdoODGaTtAaWwVqQhHrUuzRLaAlrsSUsSQNBmZzMxfoNecEckDQNnfXIZmMlLUcCZPjZzYyafMmFLYBYybLlvhSsEgGiIvBblLBeoWwzZOEbppPPjJoOfFHuKkMmJjUBbHgzuCcQqWrwWRoOIiuyXUxFUlwWLuhHVapQqMQqFZXxWHhevILqXxJooOOVZzvFfxXIcvVIfFhTXbBxyhHmLUdDUTtDduufFeEMlLFfsSKPpktebBwWCcImMiQcwWCcCBAEEdDDcCKxXvEejJVpYuUWSwFKkklsSdDclnufFyYXxffwWFEOKJXLlUGsSciQEPPbBCcpWwYxHJjJWsvMvVqJkfMmgGojyXDdxHLlhsScCDTtvVdPHuUvVhuzZFgUWwvVutqzZQiBmEecMmAbBxjJXqTyYNCfFTBbtWwkFfEBtAyYAaawUujHhxNjjJJFQqfnwRrUhHMmfCyNnLlnPStbBTSqIicCKdyVBbeWfFMrVPTXxgGxXzFEefZgGrRWdDYfFdXtTxFfmMAxKrBOoEezcjJCKkdronaAPIQnOoeEXYrRySspPxHmLMmUqQLluAalMmaOnNonUubUuURrVzquUtOoJjTQaJjSsxHnfOoFrdDqenoOuUgGBbqbmsSdDMYyHhjJVqhHQCyimTtMZzhHLlKkdiIcCYyDBBCVSvVrAoZzvVMHhHfgNOoeEKkAcClyGQqgFBboKEhHlLesMPpYxVBbpPhphHPHwIiWSWRriGgZUaAuUKkktTKKkDJVRgxXGAakKIMcCGpiYvWwVUmwwNnTtyYSaIiAfFjJcCOUcCuoshHTPptkKcCAlYykKqcEfiIWzcCOfFAxXhHfcCvVEBbedDiYyIAFbBhkKUTIinNvfFVtMgGEernNwLltTjcXDhzqNnVvMQqmcWwZzKeQMmqwOoNJZpbTSsWwMmtVvqQgejAIiYZvVyYrRAdDaMidDFfwWfFCcZzHFnVAavAaNsRrmMSfHhGgpPlhHGgOomMGkDdmfFMvVPgnNULlgGuUpPxWwXxhwWFCcFzCcZMmbByYgGbAaIiFinNTpztTrRslLSSzBbWwCcvViIxXLuUlIifPAaadPNnpNcCxlnjUrNFaADVvdoOoAYEBbTruUMYyIyFLWzZwATtIxOTpPVNvVTMmtjJTRKzZIdDCcHhAZzkKAXsYySxaoOfUIiFuUaidDkXxTNBbngeEGnNggGMdQVhLqVFfIIMmEeveEVXxajJBbARyYrRDdhpPcjKRrkJtRrHUuvUuVhcClmMckAQjSDyYhHkByuUYbiIzNnmMHIihhYyarHKjbbBYqQyUunuUHhNJixXINRwjJUunLlNWrMLlsKqmsSMfFpiVvukAaKoOUTtSKkyPrRIDddDCcOoOoOIisSDkKOlLoryqQsSYiItRoLSsJjkYmMkKyKuUWgiIlLBbRrGxXVpmMfmXLaQsnPHhbOWFflGgLNnqQkdqhHsSwWLzZBOkKoEehUuYydIiDOyYogGVqtaFftTFnJjtRFkKKeEsSDdFaAfIwWomMeEdjUSQLlqxXSsyYsXGglLBmMvVkKSTtmMjbBSsbBfFJKkPpEepYQHWZzAadDrOPqumMUQporRMmTtzZRiIbbBRrBjuUhMmtTHPtJjqQMeEmXbBJjjTLltWxMmXxbBXKdUuTkKlNxuUXMmxXhzZHpmjJMhHvVBmMZzmhKkZKJjXAgGxXtTKSsOopPmMqxDdhHXsSlBbjJnNoOIWsSsSAabmxXMdDSsToOgGtclfgAVbBODdoEeNnoOUaAupPWsShHjJwcwWFgGUuDdwWfqYyjJAhHOyYZzmMIiyNnYaAoRleuoyXxaVMwWmqQCLDdlcGgJjCczJWjJVDdkiTtitTFmMfIsSuUiIIiSMmsjJRrIKMyYzkKZzZiILOwWpPaRrnNkKFOYylIyJRlEeDsPpSoKkOoOXDdxQqfFQqhHdGgTNTtSsRrtgGoOFHhfTIiQqscpPKMmktdDKkdeEyDryxevvfIiMmFVBMmUIkuUmMGgkrLhHiCcIxXrRxldgGuUvQqQyYZzuUcnZBbpUgOTtiIxqNkKGSspPhHeENnSlLswmgfllmCcFfMcqVvQChlqdQqDKkwWgGIiiNnZzuQqsSjVvMSIisGgCcQqKDwflGgtLAIiEeCcgGaOUiIsSXOoxyaAGHRsSmMNRriPAazXxBbwWyYSsaAZYyNnNEYLlvyKxXkuUlZzEeLoOmkKxOEMmLlnNxUCzZgGgGcJjuXGgRrxXkzYZzNEeEeTGghUNnfFNmSlLOosEeKkOOoVbBvLlRHvVwPtTjlDdIisVQiglHjmMjJJcpjilmmMMZDhrRnNitTnNkJUuDcCLPIiaApSsXxuipPIUAGgaTpPVvvWwKkXxVQquUfTtFxFaAPpflLvrRcwaAWCHjyTtzZtuyYqQfFjJNnTJjtUrqQndtTDPsBbSpelpPfFsSxXOogdDGLENKPJjdDpPpkWwgPAauDPduFcCfCcuEcCfFOVyiIwwWVUuDKkDnNdbBdDdKZzizXxUhHuZkKjJAzZXCfAOKqQkfhHFrhHRJAQqYyplUWwQqWwuUHsSnNdbBtTeEDPpCNsSwojaAhdWMmBMmbBZzkxJjXezwWPXaAxCsCcNnSslCcHwHLRrlpCMRrmabBZzAcQqAaPZTtbHhbNnBxhHCFSsxmMTUYyrwWrRDdBbQGgIwWiUdltThHLDcxXCAqQcCIiwWYyEedcCMmoTtOcCIipkKPKkZzDmMiyYmMVvFoONiIPpZzRKwcnlLXLlFfcCCcgGSTRrtsobBOxUyYcGNnYZrIuSIiEUuesHnNnuGOoOodtwWyYJMSsiILlmMwWmOohKkMcCVvWwGkKgHOOodvevxjJQqXJjjHhqUuODvVnwPprNSeEsGgHEoOgGUMmKpPiIeEkoOZzdDJgGspPSZzSANHhnSsqPpNnNpPlLAaewWEVvgEesmMKkzQAaqfFUsScCnNLlYCzlLZQlllLLLquUdDQZzofFOBbtDdMvVxXWRUJQqEwWzZAabhHKklYpPYUuyQzZqxLHhTdDtWPvVyRrYnNJrHhluUGgdDJjLsmgGDePpFfmMebPerJjzZlSsWaAJjwfnuFfvVOohbBUuHwWNnUiIwZKeEUuuqQGkchHCKsSILFrRflzZNFNRrcbBFfePJjmwWMJWcCKkLUIiuDiIKOpJGgRTCccCNJMdDmjEkKjJoOGgzCMgckjYNnyEqsSCrRzZfTtMbBPpQqqQzpPZlbanNViIQVmNntieMJqQchbBbBXxOMdVwWveEAasSRtTOozZgGhKNBcTtlUysXMEtuLliIVuUrYyRliYjJGtTgVVMrRmvynNIisQVlLvrRqQHKeAaEgiIrRGBbkyXxkXxYsAFfaTdSsxXghHphKkuOoXqYyQqQxPEpAaLlwqQWHTRrkKkKPpVvtlydDYLtoOTcChoOOYheLlEdDAaHhJjXAgQqGQqJjmLzZveeEjHhOJGgFAaBrRbwxXWuSsLlGgJjoOPpfFqQZzsmAaMSUhAaWwJjksfewWBsSGgbxnaANJvVPdDIAaiAaApiImCIHfFhaAHZzhAooOMmPpEeOadeEzLVvIiYKFfkqMyMmYzZeJDdqVveuUETtTDplcKkiIPppPCWwXxcaApPrrRbBqQMmlCcLzbBZArWwWOooOMKevgGVIitTJBKksoXxOgqQGSXxbjEkxXAxCcgUvIipPjJVONnKUukxEeXxXMmHhDdNnXCcVpPvbBxXwUbiIBuRCcFtTRpFfRMsSXxNsHXxhfwhNeTtyUlLzGuUOoYFaAfrvVipxXaAIPXxQKkbRWSfGgwdCcmMjJFvVfDWFHmMMlLBVCcvDdZJjzavVArRdriowWOIsoOwWoOiAaIAavwzZxXkKqeJjfFmMYyEQKkXeEWOowxjJBnUuhHwWNuUIiVXxRpPpPrAavrzgVvQoPxqfpPbGrRLNnLMmEelAFyYfXLlUucCtpyQLDvuJjUVdVvlKyWqSsQwXBbxwGgFfWwuLMmgDdGZfFQSsKkqEwWeuKipPBbIUukSzTcCtZzSnKvZPHyYYvVFfcCNSTtsSsiVvIOokTuDdnEecCNAHDZzdiIvAaVcCWwsSBABUOwWoQqvVCcvMmCZHOTUuFJjJCbUcrfHuUhIcpPpPDZzgGyCcYySjJKksnLFdDfcCTtDeEhtnrUuZzRjEsgxXGEeCctTPpSzKktdDviIuJjUxXGgIzZrJjMmmrXuOoUIAazZqWwQlhhiIWDpPgGNnWmpPMwpPtMmTjJdkKhHzxuxRvVsLlShOLaLlFfnNSoODlLdhHCcbBNKRrzZknPfIxtTXpPhHtrRTcCTSsAaeuNnyuUUukDFfSqQRhHlrRsjJuUCcAqexnKDiIPpdFQmFfMqfkKkXxKKkhHCdKXxoOkDadkKDHhXweIiCcsSEBmMbWiEeIQqNnyYVvdtTSsgSTTWdcChREeCclksSKdDEbBexXDbBIbBBbidXUuGuUtTveEiIYyQoOWoObBjHxzUgGuwWcCQqLMmmtcCTMORMBbmvVoIoOiPUPLlkKEGHExXbYaxMDdmBblPphHLFfuUXWVwWearRqQcFfNnCxXQqlLPpeKFvridrGgcuUzZZBKddDdDzZOogGRXXzqPUrRpPuXTXxtxpdSsNnzMNnLvVKklcxXEkHhKyYeVXkKxuUMmMJAaBbENnZlZCdlLlwDdWNnLvVewWEWBbLbhHqbBrRQRaArPpbsSBBqQRriNoOaPpoOlLAkKvCBbcVzNXFSoOsoBblLORVvzbBZjJBbfbBpPsSFrFfDdruAaBVESloOVyYvFBbrcBEtOnNuUQqdeGOdDdtTqSNKuUUTqZzQJIiaAiIUujtbHhzUGQqwRrWDdbBJAuZanMygEBbeGYZzlQqgcfTOorMVvmSsNOonCcUJRreuUECceuUEeCcEMeEXLlAaxmnObBvVNmJjgpkfVvaAamDdDJNnjNndiIMcxGlKkLgaAXlLZzkKGgCiWwIHFUiIRNnjJrjaABbFhHfdOaGDxvDmMdlLDdpcNAaDEeKuUTPpfFLVswvVNnSsoOeKFfGeRlDdxTuzYjJDdCBKkrooOOtTiIRqyjJHkaABbSmMplLvWwWwDOolLeSsElLbZcCWwkQqBVhHvbAaKACiIcVvtTtJWwjnNWuTaAtURrAePpNnZzbCWwccCHcVcCvoDgsSGbBdOTmAaMtJjjNiIbBpPnsSJnolLmPmMGgNdqQDPpnnNSuUyrRkcCNnneEBPOoplwWLbiIPpnAXxnNvSsdQzZqHhMmqJjkKvVOonNqQQSlyToOAaOoloOlDdVlLecCXxyeEGgDdvfFtZJOojhtTLTZbBZzzRrkKybBcCYpPcKkCRmAWLTtlwjayEYynNeDdYJRrjEeYWgGVgGvwyhHNnfVXBYypPoObxvtTQXDdxqhKkbDdZEEeNOohHtTIXpUBnbmPpMBHrRlmoiCceEtTuRSbelkIiMGgsDhHdGpPphoQqOZCYyzIUuDdtTinNMmZozZVvFUVvUubBboOIipPEWweLvVDXnNxdKkaASrRWwDdNnrRHhWwjYGpPKdDpIiPnNYsSykSsfFUoUuIxWwQqoOXisCVvGSsqQiYybBYIsuUxHhgnNqQgGGMmUEeHhMmuDSsdXbBbBFfccCClItTiXSsTtwvdDVJjWVvnffaAIPpOodDXCceExiJjShHdDBTtxgGXLNsSnZzVvBWVvRIAkwCcnNWqUuVMAamvQRAxXRrgGahHixgVvXxOsSHMmZFfdDzTtEMXWwJcCRrnoZzgnNibBIGbBPQXwWxlseESzZrGxXUfFFQqrmMaKxsIFfnNVkKrFfTtoaAoMmOORpPaAVqCcQFRaArfAaDIeEidxXAaGVvVdDvWwvMmaUuAvVYyuDKktTeEYyfaAFoOUkcCqQlLmMFfCcLwWDTQqeuUEkKJjWQqYsSdPpeKkEeEnNVvayhHmMJjvUnNqQyWwQqFfSiShQwSfXxBIiAQcCOtSsBbTBbPpoWPUiNngYyBbPBHhgkKunEewMXuUkyYRkKrRpPJjZrRzrSMlLmByYbAaLlzuUZOoRCcZmMzeCcELlxXkKgqloOadDfPaAplmxXDdMIigGLFfFAatTLMTtmotmjJoOXlLxMBbTtovVYyGQqaTtqRryYlLJnNhHjHYjJOoAaZspzZGgkKEeMytTYhHuvVveylLYiUqlXjJAaYyxpzpEePGgxXZlaAAaXxyYFfpPaAsmMIidDulLVvUzIPpKkPrRCcVDdocCOvUuAiRcCzZrvHhVIlLaMudvVDUmBNjJJjVIivNnTtSdHhhHDkKjJOvVoqQxrGglLyfdDiImWjnNvdDIizZMpPmVJwLLlloTZKvUuxXgGVZzkPpKLlkYylLYUBVvbrRmMXxwzOoZEekKYfFYmMyyWIzcnNZzzZXVcCvDTTZJyYnNGSsgxXJcChHJTtsSNnjDdDSKXxkFfMmRMmTPzfFsbGgBhHZzkKZzLcCiIlqQtTuwWUsSSvCcVuCcjJZzDjPetUuwWQqQquUeEevVEyrfFfYvVtBbTyjJFrRjJjyYdDHmMQDdqhFpzfFZsSJzZoaASQWwqhrRHbPpBsCUucAafjFfJdDwWqQmMyYaXxAfuUFfFZzkKjNnrRooOubBUSiIsQXxqPpmwofFhHEeMAFfafAaFmaANDPpdtTnyUumMYMPzgCpPleEmnNkyEeYDdLlvVMfDtaALLlLjJTthOokKHMbBDdmmmPniITtNnJeEjzvVxkKXUHhYyrSzCBUubAVvssJbBFmpyYUuIYRryVvZzvVDdZxXzmMcnBbNZwWzCrRcmHciIbBRrcqQcCCjFfxXGgfFsAkKaVvSLlDdtQVIiAaTteQqAEMzawWATNnPpZMvVRrRrmJtTpVIiiIvCxXbnNjJBUYEeaAtTgGgGaAVvsZzZzpcCPViIvBbLBUWwSsoOcAaCuAiUuIJjhaCHhcohpSUuQyzjojJOgGFfzZyYJzxiIKHhBxYzZyXrZXhntTLwWlNgmZrmcCMRnNoOyGgCcwWpnSsSsozZOPdNnwHVvmLlgGqQOowGgMHYyxXhVmMoOpEemMzsSZzZzXxpcCZzLlPbBNnZqJejJQqfFkrjUuJRnNfngGCVYKhHkyrMHFfPPneETxXQqFfjJtNcjJFfaAwWCWwrHAzTZztKkZIMmFfLBNnblupmMWszqDcCJzpPZjFYygGMmEeeEsSDdTtPpDSsmuLlsXxzZFCcWVzKDdkYyjLlJZiIbBFZLlzuTtpPNyYhuUbwWBQqUYyOoeVvDdYyYyCMmcnfFNXhHuHhUqdDlLeEwWMJSsiIjmXbBxkKTtaAQKQqkLlGgxkBbVvTtGgqQDdGkKZOotsSXaAxmaANfFdpiPpIUuPlLnOZzoNOonNnNSTtYyyLNnoOlYVvYdDzZxXyBQqvVZdDzMkKRSsUeGgeElzZmJjZfOoFEeZaAzRrynNYUXxtTuznMmpcSDDNnddstTbpqQHPpVTeEtEeMmcZBzZbzTvVtxXZGgJSTtTtKkEZzOoeMmsTtuULljoGgVvFfjJGsSgaFfsSdDoOJcCAadDbAagGNnReEruYuNgGMmnLlYyReEbPkfFKdSswfFWKMmIjJvVmCcMiQqmMkDwWNbBngGpPyLlfFSBrRbsfFRrUujcrRmMBbjJCOpPKtTDdaAtTbBYyAaGgwqcCQWWwLhcCSRrsHdMmKmMDdlbLlYyBEeUdDwWctTeECgGuuhHSKvVOoycCiIYkgFxXferRHhuUplmiIMLJdKnSsNKkkZFfkAaDdNnAaxLlXfqJIjMmzsSVpPYyfFDPUuGgWVvRsSFffsSMmTpPWwdGfLlhHFgxXzZxhHwlLWiLleWsSVvbfFxrAXmMCTtcodZLdDCwWAaHqQIiBOwWjJqQzZJjKPpwXpPbBFNnfZzvVddbnNprRhHLdDeElPBkKbdwWDGgdXqQxbBDqJmkKMjkKyYIiMZzmxPpXQbBOoiIPpiiLBbiIiVvfFDdSsIDuUdjOvbBPpVrRogGAzZaJrUHOoZoOBbzITtCoOctbZzBCcYkKhHjJyoOXkWwCcuelLmKkMCccCAPmpPvVwkKzZWRBvVeBbIiaOoAEeTtEgRdDGYZnNzBvVbafFyYuLlNuTjJtUyyYYiYAPIGgipwWRYtDdTkKMkaAgAaGKkDiIdKmspqrQAaHWwXGgxnNFfhkQqckQqXlLuUYyEekKqzZnIQqLlFANnTAWwnlLSKCctTFcCfwvVhxXZzKGgkHERvVcdDzapPACcZHRrnoYxXyavVctxXpqQYTtCSCcIdCgLpFkKfKGgXxkCAaXvVJjWwlLqQUuWwFLlcCugGCcUfcCgGDdvVEYGtTsSLlgyhHrAWNWwbTtzZBTtyYtiIbBsytyYTTBbCcBQgGqFfFCcdDfVvaEeoOEuUDduUIiWwHCcheJNngANnaiCcBbaTtiNnAaTtguUYgGyVBbUuvSEesyYzkxpPXKpxXPEMdDmeJjCWwcZEIieGvRZzrcCsSSsXrRlEVveuHhUiXZUxXufOzZiUqQuuUIBEeVDMKpKkPIiuUnIiOozZEyYedDbBqsSsBPpbLXxAmSsMHbeEiwCGgcWIeqQkxXKcRDdrZzvmZzMKEeGgMmkVKTtbOSHcVvtoOmzLPPpwWplDJvVnSsNpPVMmyYPpvunNUgNtggGpPKVvmMkKPpqQIzZHhwWFfIiFfrRgGvkeErzZzSsQqZgOoQqlbHhBLMmGAAauEoOevBbtTVjfFJsScYQaASssqQxxqQUuXuUhHWwZzXxAPpGgGgaVKATtaCcFiIfqbUvVFbBDTtdFwWcCfJjfUueEFjJlLfulLXxzZAKkaejJhHkKEcCCcqQuUvwWlTtVvLVvWjJwVTtBoOblhiXxIHLCcBQMWwfFAamrRdDpiIeEUuvZzVTtPTtkLCclTtRrnGgkTtjJKwWNTtFfRrTJaAjFPpftvXyMmYCcbDdgkKGDdTFfmLlOoBbrDddDRUqQUuZYyzEeKbBUukNnGARqQrNcCHhsKfqhyYSBbLqQSsReEHhrdRrDlaAIKbBkivdDPpSpLaVvHfFWwgrRvVGHhuVvOoHhUcvuIyYYyfFxPpLDeIihZztTiIAaHasSynOowWFfZzjzHJmNdDbnonNiIOoACcGgzZayGgYrTtaAAaqQrRYgGRRreETHOoWwxXlLbBlLTtEehtRryFfYGgAMbFBRrbNyYnfBESsUubNRrnfFBeoXtTxNneELlNNnnOFfgGtyYxBbBbBzZMmigWrRwBbmglLSsGMMVVgGWwvRrvZgGdDldDIxXiaALzOvVoAjJanDrHhPpRYyMCcmAadjAWwaaApPJxXsKwWBqYEYyeyQgOogGGyckKCHhYSnNXMmxtuUTrRsVvobPpBOLlhHTjsSJbBSsqAtLlBbNnveSsUuEOoWgGfzZNnFwvrPpRruUuvFfVUJICciUnNujcCVVvmgGeEPkKpMVIVFfUuvKkiDdcLpPlpSsbBIKnfPpFeEUHhrROovVuMUurRpPBbmlLkBbpPIETtmuUgGHhyYMbBBKcCFfpPGgWUwWjgGqQMUumpPDdRlLrKDdkEeiIKJoOiIsUsSjJIiXNrmGgRrVEegGvDFtThHfgGdYgGLlTteEwWkKFfHqQsSlzZLhOoRQBfFQqtTMmReWGlLgBbwJtFfQEeqYyTGgsSVvbBIJXxjijSFZsgGSzPplLkKTtHhEwDdWeFfpRrRrnNPIhSsHlKkrLlbBRmMPpfFwbBRrwoOUotHhnNFMtTZzrRmfmMxXqQgKkJjGTOoOuOvsSwWVnNdDQqYyoWolxXLOrRhHaAyYPZWanNzZAwuYyUzpUuNnhMJjmHDdzZBbVvJjrRcCTtlIiLvKkhHDYcCtTyZAazSPpsOWRKkrhHfFdNnDwLlkxXBTtgGbiIpPsuZzEeUSqHKkhQhpsSGIidZzDgdDdoOCLlwWUuLWwleEcQAaqIrWufFUMmwnNyYHnPVvpoBbOtTWdWwSsCcIvTtDrxXzJjSsoOZlCcLlCPhHPRrmBbMLyOoAjlLzcuHhkKUrRqDdQNOPpoaFfzZtTHhQxQqVviIOiGgXxmFCcfMIoBbqQMQqmECcpPjJzZcCeQqHhrBbRGglLpeElLUDWwfUIinNuFdCSscuzoOZFfzWLRKkPpBbSjJsSsaAnNiIJjcJPhHpjqQwWceECSsDdBbhHhHxsYySZzBCcbfJQZzLNntTlqPUOoyYWwIhIiiIHizZyYPpEeyYBbTttTgGzZcCEHKvVpPkhIivcCVAaRgePmNeEnMIfFrROoFfiaAZiMmtxpPXsSVvTtSsTQqqQypPwWYdTwWtWwkKiIsvVgGSEEwWeDnbBNcCYxaAXKkZjkxEeCqQcjEeoOJxXeQqrRwdDStTgbixyYCcvVJjXRqQrINALlawJGgeJyYjEiIjEnUuNSIisdZzDesORroSwWCcwWCUNOocCnEgsSUuIiHhgGHhqGgeEAgBYRrezZcCyphHjJPYALlEePpbxXfFnNGHhgvVxeEKkRrJBbYHnNhyjJqRrOgGPpyQqYVvocCdDLlFEeJjKlLkVWwtTxMiIqQEiIemMJVvjsSCeEcvVqLlogGOQCPpcCHhtTmMfFcqQVwWSsRrBAgGaAOoVMqQkLlKhHWwqQmXxwWqEgGeYUzoOsVvSYLlyBbsSLZzlCnJjCchGXxMmxXgZzDdpPMmovVqQCcQLlUuJFDhyYmTtRrvPdDqhHXZzdhHgVvWwGDIiYBQqeEkUXGgCkKIicxsSdDBRrbpQqvxXpoOPkKVJpPdDiIwWDPEepqQdTAaVvtgGMfFmSsdDCcyYyYChwWHhHsSbEewWzZBQqqAaQpPcmCcaAMLgGEiIelyYynNGgMmYBbJjtxXTCczZxbBXOVJxXjAXCcUrYvPpVqQpPhHzZwWhHxYHhyXHOohWwNrEsDdSeyYRrRkKNAanLtTlcYyuUCTtZVvWNnwVvsRrSzokAZfFqQbBzUgHWwhjiLlIJexLlXEoOJjAaKklLYyxXUIisSVvEYyeAaAaXxbhHBVvKkucaJjAJjmMgqQGaBbAnNsSuUDdEeMmTwHhtTWDdgQTtiIxbBEeXPpnfZBbzLlJJjwWjFkKcCecEeCENoRrtAaAKrRgGvRfVvJjSspPFwWlRrVErRelLvhzZzZHeELbTMXxmtNNeESsiIUPpufeEFndDEeQqrRUGgBbyYuHhnOylLUzZuKcEenNNrRpPbnNBnSvBqQbVWwsqQCcClkKLEevVvVkrRYaBAabAKkOoZzokKBYyXfFTNAgWwGanLltYyyYiUuIEexfFMmYybsSBrIEGgemMiHhIiVnNdVvwwWpgkKGPHgGhHNnaAhRrFRroOfZzAfFaADdakdOoDKxXqQNmtTlLMwWqQFZFfxXHhdxXDzfYBbSsSxXjgGjJLxXlJsyYAaHhyYtTyndDTtoOpYytGeqQhGgZzHZXxzzRrsSnNZuUFfKdDkBRrbECxJjXrRIicSsspPoOCciIWwvVWHhosGuUrRgSOUvVufZzlLfaATMCKYyXxtTkNNHhnBbnQqAaidSsDuUfFinNIlKkLtpPtTTEiBtTbzZNnhMxXHMmhmpmMGgfjqQJVvBbtbJjBNnGgySsxXaAYLzZlbGglLyfFYBtThzOrRaAozZqOoOoHnNzZhGgFVvfabOoBaoOpPAyfbBFYKpuUPRrCcvVsSLIyYHhFfqQtTDzZzZfFyGgYnRrZzNEepKkPdixdLlAaDwtTWwxXWQgGOomMZzQqtTQqWwsSdDZzdeEDqkKeJnXxXxDyYdASSssyYhHktTKTJjaADdMkKmaAVDdgNZmMguUGuymkKBeEOPpobeEbHhBKwWuCBbXxcUhuUHGwWgkpPcPpPpiIGgCMuEfgGFLlyYJfFjPtTwNnWHhpQzjJZIiqnJjEewznNpPsSGgZeAaSstZziITHmcpVvPTfFtEeCsSeEEoOeSsHDdQmMhqQHqTOotSssSCcuUxXSnIiNmMpPgFfGslTDdtLlGgtVvXxVPpvkKMmSsIQqbBFfiTmMRnNrtrRJelLSSsBbwWCcfaAKkxXtTUuqQDdzZhHOodkKgGDFfyoOYrRnQqNKDdeEkvVWlITtiLBbwEzMmZVvUuuUkKefTttToFfOJjQJjxXguUiIGUuZJjzFbBClLlYytsSTLcqYJjNnyQWwvLlVGgOofkKLlrJjlLPzZNQqnPIippSxXIiIJFfjisSsrLlRVZrRTtvVzEyYeAEIEeWwieRrigeEIiZzGsZzSRrIeEsSriICcjJQqROSsoZzoOLzZlabrXvVFfxRBFGgWwfEeXxdDvVWYyxcuUCXNQqGvVVvgnzwWFJjfZkKHhADIidaudhtTCFfcXxWJjwuUQqHzZdDJsSjiIJDMSspPUuYyveEVuUmgSsVvGXxcCCFfcSLlPpAaeEsvVSFmGgMfyYoOUZDdvAaVeEzuUIbYypAaVXxvCzZcFfmJjpPcGhsSeEHgmMfFcCfsSFNnGCcfHaAYyEehDdzMIKkimZFBbblyYLBbSsrRThHrRtBbnNnKfFmMZzZiMnNcCfFqQmXxitTzbBZIzZeIiEAeEaCORrorRsScUyYcAadwWDOCcoCqQPpehHEurRkKLlgGhyYyYNnkKHtmMBbThkYyKHdUwWurRrDUudUpPuPpReEFjzQqQqZbycCYlLJjOKkPpeEoBJcsWpPdDnNwLlSpZzfFZkKzPiICKMmZvVtTZzqQBRrbBbItXIixfLlFpUuIipPQQqKUukkKhHqPAaHhptnNAamMAsOHhoCEecgGqQSrjoOJHhPZTtzpNVvyYFfnzxYyLliIaVvAhHLlBbuUnNcdtTDCIhOoHbzIiZlLBNnNkKSsXxnfAaOLlNEDfFOodedMmDyYCcnUNnuSPpsIiQZzLTtlEIoOiDdzZYfoMmOGAagioOGHhNnWwgGgqjvVJyYCvVUKkuLlcwRrjJhHWfUuzZFfFEeQTTvHhYyVrRtSsqQkKtzZZzdDuUIiIIrRlSsTtKXvMmVLlxkLYyHhKkbBkKUZCczyYuiylLqQFfYyJjHIitMmTCctToOCcAabdaADBBbGgAaOoFGQqgnsqQDgKkGkKDdLltfFpPTkKdGgyYgGBbUuSrdDpoOPGbBgtOoZzTHjJQqWwRnNruUoaEXxeAiTbBtiIInNVvhHQgGBxXbsSpGgOoVvPFcCfuUSsqfVvFzemMTtETOIionNtZKHurRUhOfTwdwrVvRWDDddgGsSDPhHcCaAlQNfFnqAykcCwWKYaIiIiCciITtWmMZzwoOVFfEevjkKJRrsSqyYShHsIiFfRrQQqLdDGgvFfNcVMmvfCcBwWbFBbCBbjJnVoOsSaIqQhOoHieEyYmGKkvVgOoMmAnkKUuNXlLhHwEeGlLgYFfOmgcCGOaAoMoyWxaHhuQGgCcqVvdDgGqjJUuuUeEQYyWSsaAwqPgGpQHjJhGgZxXzmXQqcCweEWZbBzxRrwsCcSWDdfFgzEeZmMsSjfjNZzQYyqnJZzvVQqnNtTubBUkFfuBbOoUKcbBTZjJztYyYyavVyYUufFACFCcYyJCcqQiIEexXmMeENnjJjbvVBJcCIBbmMLliGVvlaALUzrRZmgGYyMWwaQcmMCqdYyDRrlLzuUKvVWwvVlLTRrtgGnNksDdSWwkJjvGgVNnWwLrRyKkHhJZzjyYtTYlBfLlbnNvVkSsvdDVKBFJjaApPDdbDdwWKWiIqpPMmiIfqtTQFcCgGyYsSwWHhbBLRrzZlMZPkEesSKyYpwPpWWbBwRrIiuAabBWwnNUtQqTjTtJzwngGGPpgNWmxXVvKdDNnkgJjQqwWQrRqvCcRdDryYpPwzZFfjJVvVCcvWOoPpUzYyZuIyUuYipPPKkpKMUumkyYVuURrQRnNrlKkOoLoIiOGgAaiIqMzZmVikMmlLKkKIkKCRSsrtTcFfvwWAaEerMmRXjJxnNDdsSBbtTKkZtToOdDgPpoFdDRrGMmBbgOKkVOogJjGvpPcCKkQqqQrgGRCcwXxWocCFfctVvTCfhYyjJPpLRrIilBbHOTKNnkaAtNkKVvRkKrnBbvVGipZzlLPIZzTtoEeWnNaAwvwWOoVDdbBiIZzeEXVMmvyJjbBYJbBtsSYTtyJjTjoOiIvoWwOmMIfFWwlLBbiKkVxNkKJYypyYPuqQUAAaaVepDdPEvpPPphzZRrBbHmMlTtDdLMmHhzeEZqQhUuBbHPlLDdlbBjIiJLrRBbpZzrRvVBaAbmMjMBbWwmBYyGgRUurbCbBcFyYBbMmfRyYsFpPfYySmpJjuUPLoOlrRlLMdDUuyYdDrqQpQqPaAsxXSIFfFfimMjJDsSYyNUunKkkKdTtnYyqQXxNnqQotToOGgyYRgGJjcEeCrXxOfmMFdnfFNDKMmbBLlcUuCkZzPpXxnAaNXnOoNRdDqQrPphHNPpPpBbnroOCcRNnlLbBsoXxOSWaAwhilLVvIJGgrWwRjHxTtcCxtTXwFfWxXZzEeGgaALleuhHUHhEkKkBbKGgNnsStlFfxXvVvVHtIiThacgHhGSsVvCyYAtKkOomGcCNiIngNnpQqPyGgYDRrOotTUuEedfcCFlwWLicCIpPnuUUuNkKJjIiVvMXxViIqTtlLQdIQVvIiqifeEreERFqWwQmKkMDvTtjJdDZzKPzZJjZzpktTxxHhXXKkTyYiItBXxBSsbbQcCSshHIidkKDNiIOgIiGonZ"

def react(polymer):
    # O(n) stack solution, we go through the string, and exclude it from the stack if two items are similar
    # You can see how the problem is structured as a nested expression (ex: aA is kind of like (), which utilizes a stack to solve efficiently)
    stack = [-1] # Initialize stack
    for char in map(ord, polymer):
        if abs(stack[-1] - char) == 32: # abs() is used so we can ignore the order, as long as they are 32 ascii values apart (different casing)
            stack.pop()
        else:
            stack.append(char)
    return len(stack) - 1

print("Part A: %d" % react(puzzle))

shortest = float("Inf")
for char in set(puzzle.lower()):
    # The "(?i)" flag is to ignore the casing of the letters
    polymer = re.sub("(?i)%s" % char, "", puzzle)
    shortest = min(shortest, react(polymer))

print("Part B: %d" % shortest)
