Created
December 14, 2018 18:38
-
-
Save kylelong/971d4245d0f8cc115094d836ee832873 to your computer and use it in GitHub Desktop.
adventofcodeday5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Created by kylel95 on 12/5/18. | |
*/ | |
import java.io.BufferedReader; | |
import java.io.InputStreamReader; | |
import java.util.*; | |
public class day5 { | |
public static void main(String [] args) { | |
Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in))); | |
/** | |
dabAcCaCBAcCcaDA The first 'cC' is removed. | |
dabAaCBAcCcaDA This creates 'Aa', which is removed. | |
dabCBAcCcaDA Either 'cC' or 'Cc' are removed (the result is the same). | |
dabCBAcaDA No further actions can be taken. | |
*/ | |
String s ="iITJoOyRrYiIXxjgLlGrRnSsShHsNqQdNngGDwNHhDgGWwaAjSsJdnLlOogGAaPpkKEsaASeKkgGFfgGIQqZoOzPpiWHxXDdXCyYcDdxlygGYLTtdDQqsqQIiMnNmzZSsoOOzZGgoSbBgGjJdtTPpAnNahHDMmhKkTtuUYCobBOeECcIiaASscyUpQqPQqUkKpPGguAaCTtBbnNLlcRrXhHaaAXxBbAVvnFfdDahHAbBNsSxrRiIYyXxwWwWnNzoOZAseEKkSUuzZBbacCaAkTaAtylkKLQqBkZzKtTsSbYKZzZBlLWwbgGMmlLIirROjJHutTUhozCcubBbocCOSEnNeRrHhdoODAasBoYyIiRrzZOsejJWbXxOuOoUoBwEehHDdExXyYeaAfdDjJPBPpbwWpFoOsSmmMgGMmwWYoOUnNuyijJXxXIwWixkKOoWPyYpwoOGCcLlgQuUfWwFqdDIbBMbBWbmyYIiMrRaAsSlLBpPqQwBXxDdURrvkKVupPnNQqRfFBXvVxZAVvLlayQqYzbaArANrvVRCcaAnYwWiIyUuKkakOOooPpKJzHhjDdZzJZlLWwkyYKjHhcCzZHhjmMJbUuEZCcPZzPgGIiuUppzpeEmMPCmMkKcSsblHlnNLcCjSeEsJEeYynXxGgNvVhpPyYmMJNTXxiItZzwWnmMyBbKkYjoOhHwbBiQqITtDrtTRWwWEeSswqQdCWDdwLlLlpPzZcjKmMhHkJgqQGeEEedaADgFfGxXTQpPoRWwrOJjqXZzxLlphHPQqVvJJjPpGgWcCwZVvzptFfPSsnNoOcCkKTtyYpxXTpPQNnyfFYCcUZzuMmlDdLHhqPYqCcXiEeNnFfQqIpPxcZtTznNDdCQYgvVpPGXxysSCXUgGuaAxBbzZOAFfUuwWXxfFaINnrRilLDbBBqQeEbvVKksSHhGgdMmWpUuVvPlLhbBDjJdHwlLdDkXxKTtHhkqQWwskmqYyQPpGgkKFfMwWjGguUJmsLjZzJfFlBbSnNMaAsSKnXxNwmMsStTWqQGXxgPQqReErOobBpSdIiPSlLspmMDYyhEpPoOKkeIMmilsSTtEeLLeEutTIsSuUWHhAPzZpLlcCkZzlLKaFfZOozXBbxChHtTDpoOvVPdWwKkiIcNnwJjicsSbKkBOojgGMmxXSaALlsmMgtTcCCcSsQqGRNnpHhPraAaNnnNvUuVsSCcAaDdAagGfwWFRrgGAXVvMwWqQmRrGggGhIcCPpQqBbiKkkYyKHkPRwWkKrpYWweEyrRKxtAlLjJBbWkKsSrCcRuiINwWQkRrKqnQHhkxWwmMXYgGybBnNHhKqQzhHGgZqpPzZQqNnaAaASeErYyRYysyYFfKkndenNEXlLWuUwxwKbBSsAaklXYyxgGuUhlaAkKMhHmaAqEeQOAaGgoaAYgQUuBbqqQGcCuUOonrHhrRRlLNbByQqFXxfHJjtTygGYUtTzZuQwWTtUuqYyurzZRUNnhsSdThHPpdDJZzjqQQOTtoqtxrRXSiqQMmIexXEhDyYdHsvVGgrRhNnHOOoorUuFfLlkKzgGZRxWwSWwWwsmMjJZzFipPIfQqzZbBXEeYOoyxBbHPQtTOoqppPBIFfinEeZuUaAzXxKdDkewWkKjJEWWwDdAahHLlAUuQdxXDlLYyHhdDrfFqQQqpPsSWwiIRmwWxiZzIXMIiXxbBPpCVtTvIiEeEeNngGMmwWLlcuUmllLLDdXxMqgGaAIgRrBbTbdsSRryGhHgYDdbBDBAatGpPiLvrRhHNnVlwLYyLlJjwWlWtTdHhdQqZcCXxzDGgNFGgfoOnOoOodDdaIiACcwlqoOQLGlPMTtQqmpOoTnZzNtAQqaBbjJZzOoiIZFfzbvVBLlUExXWwVJjveApPwWalLZmMzJjJjxXGgYWwycCAabBTtzqQZqBbXCcAaxdVvDnNwWQEsSDdWwtTwWkKyYtvVUVvaAoxXOmvyYVqQirRfsSEwWoOegzZvVOoJFATtEekKaYXAaVvxXtTTthHzqQIUuiwWZxJjycCcCfpPFwpPXVEkKevJjQwWDdAaqqQdkKpPxXDxWwtTWwZzpPLkluUHRrsShLZzZzJXEeRaArxUDtiHhFfIrRCcTtTgGhidFjJfDWwgGGguUIJsSQbBcCqrRBbjyYJhHjhHHXcSsToOzZpplBeEbLUxXucCzJjkKZPpafGgBbFAtWwTMvVmxEeXbBgXxGLlRRrbsSEeFfMmuFMmjEkAatTKkwWpPAaKkKVYyveJfpPUmMrRBHhTWwZAaGgjJzCctTnpPNBbetfFTMmkKAUuUuzsSsYaAuUySsSJBbjVvEehfVvFHZPKkpQqyYnjJSsNaCclLuUUFaAxXaAfusSpPuoOoOxVvFlLAmMnNaISXmhHMxUNnuTtsipvuUJRrjcJjCVPwWbBfXphHPXVvxSsqZKknNBbXhHQqGBbkenWwZzNkYyiHhIKyYvVEeEmfFyYtdyYDLlvVoDoOdwWQqyYYUuyOkKxXpJjmMoOPJjIideEtTnNDVVvvjapsEeRcBbCrSlLfFPYPpLlvVBbLFjJfeEeEWwtTWWwwzsSFzZfZhHfLfHhzLGglZsSYWtTwEeEeXxyVvEeWwUuLlkKaOoIWwvaAjJTtbUHdDhuNnUuBOoAaVuUvxXJCcwWjJYyCcwNnWiIXxpPBbTiIZlLzDdFfVvbBtwWusSUpPjdDGgHRrheOoEbsIiSJjHmmMZzBcCWwBbkKcCtkKTUmMubClckKMnsSNXRaAmMraARrnNzZFfKEeknZzNmHhMdaryYRawWAjJOoAaALpPLlnNlyYEeOoZPNkKnouUOgUuWEecqxyYuUCcWwXCckKXgGxwPwOoRrohHfFPpPUuLDhHcCTWwkKtuAaUKrRkdLlzZbBUWFfBaAbwsScFVvfBKkbmMCWbBrRXxwWzZSsBbLqQBWQRrJPpsSjsSqvQSsWDdwOoqcCgGTBeENnbZzYYyytqWwdDEeQGOojJQqNnOfkKPpFoaAQDdeEQqrRShHpqQPrwWtgGUuMmlLTuUiIRhHFfWwIipPtpmMPRsdDTRroOtShmMWwFfyYHaAwLrRrTtzZJjRvVFTthHPpzOoZfICviGgIvVRjeEgvLlGgVGJrVcihGglLHIizZWwbBumMuIicDdCGgpPUVnNvBbUFbBxXIDdiEeeEbBMaArRgGKoOksSJjmEexXfwWQqTjdDJbBHhoOSMmdDfNrRffFYgGyvMAamMFfEHsShsWwLlSHhYyyYDfjJUuFurRCceEmMWSssbeDWosDdSsSZzXxdDOPpLfFSslwWkKwFHxXIilLlBgjJGzZagyYGXxAiIiiIVkAaKOtTmsSDdFfDdMFMmfXQvVFfqxoiIbeEBiIbBlLbBYTtWpPIhbBHiwNnyJjiIIieEppPPRvVhAalwWsSKkuULHvVrRrRHsAaSTtwWJKkjhpOoPMLUuPplSszPpZdqCcbBoOYydDxOoyYBSsbBbBMmvaAVpVvlWwhHLHhMCcVvZzncCnNbBwWNCcwWmhHbWBbtTwMmhHWwzKkZBGgHJjVoOvbpPzjDdiiIPtoOZspPSzTMmYyhyYHhHDdrDdZzMFfzZOoOomfFvVZaAzuUOoTmhHMtUbyYHhppPPVYyvtTtOZzoTSsMmsOoSIwfFWsSAaaAiEUuUupBkKSsKkTtbwWyBbYaJjAcmkKBbmMcDdCMCZzyYNEQqZTtfFJjzHheEeNWwnnzxXkKZTtKkQqaAmMtTlLKQqkGhHNnJXxjgCcCcgfFgGZuUzjJZrCcyYHhqdpPDaACBjGgJyYWRXDdxQOoqCBmMEebxXchHSQqsSXxsrVcKwWhHUXxAautcDdkdDZzKCqJjQTivqQwWVLkKgGSsgMOkFfPpaACcKQZzIiuXxjjJwWYyUuoIiBLlbOoAafFCsDdkKmlLLluUdYyDkhxkKXHKMyKkYSqjtcCTyYKkJHTZzUutRrOQqodUUusSsSucQpPsSqTDdtSsxsSXDdCfiIbBbzCcGgsSEeZWJjweHfEdDeJjFgGXxIiWuUmlLMhHwSYynNuvUGYyWwgusSwWVwWzXwWZzzZkKjNnPlmMLYFfyjJSsDStTwhHWOFfXnnNNtTfnNzZHiIyuUJWwjiRJjriIdnNzZDXxiFTtLuCzZKknOoBbkKudDUkEegGxXKVDVvpVvmMOoPmMrRLNFfngGVXKkxvXxLllkKduUrRvyaAYAEejtTtTkKJazZIipPxXxSsFdDGgfRrXeExXnXxsvVjaXxAOKkQqQqWwAwWaKoIieEFfLliIinGgNYyvwVeEvyYWgGZzEeQqLlgGbBSsbBbHhTUunToOtbBDgGdRrYyNjJtygGYjGgJaUulFfXxGgAaZYyRBCcMnNmkXxIinNqQqQjJebBepsSlFfHhLPoOgogGOpPdQqBbDGgGDdoOqQtTnNEECcPpvbJjBdDVbBUuxPpmMKkMmKqQnNTtkjLlYyLlJXxhHyYiIXJjKbjqQJrkKhHuhMmgtpPTwDdWaAjJGkuHhSBbsyYAauUUSsshHbQqBeEbBsReErBkKLlbkKSRFAaKsSkfUumMiIpUujBFfqQbxuoOUAaXoTtEeOjdDbbBmMpjTtLlJVIivarCcUuRAIuUOoinNBbuAQTtfFmVvMqEeaxEdDkKeMmXbsbBSiImcCMNbBaAoVvxcEBbPpeCSsCcsSXtTiIMqQHhmOqQzZlAaLmqQTtMdDuEKtTknNfFAaSgqQSsmMSsWwnNeEmMxXKkcKksSpPmviIIiPIibBpgGVHhkKkEeKTtNZzvtToOjJViInftmMfFAPpYbLlByMbzfFZQCHSHwWhlgGnNLklWaKFfStTszNnnNitTFfVOTKknpiIDgGtTdiIrcCPZzRrTRQxXqrRrhQqHqKwWkhHQTtUIUuiuFfqQBbosmMpPSPmMpOYyoOwZtTnmMFcUXxRqQfsSFDKkdsTtPppPMHhmDdKZoOarREeAzOLlXxXxOotTmcCMonOoNgGvgGPpNnwAbBaQqbBjJdHnNlLTjJthsJjlaALiIdDSJjBbbBCSscIizwWXEeCcdSzZfMmFsUuDtaAjJjJaAqQJvUuVjOlgGLoHFoOfhGgJVveEgFhHfXxrRuUqQGVOoyqQqvVbxnKkdDNXBGWAawgGgQOooPXxwWiImqQMVRrvQxUuNsSsfzZFaAuUaIiPpASqQoOJDdNBbnKkXxgtTGLlwWrZzgyYqYyQwWwWGZzRSKkkKaTEyYBbeyYQqUufZzWOowKRQqGgbBqQzZqQWGgaAwBbPpgSsGcCZzjJMmaLHhuUlBbFgGuUuUfAccCVvZzzZNUfFuxaATtXUTththvVqPpdDClLDdcZzzUugGZPptzZUuZzlWwLoOTbBLYyLllLlaAFbaAUlXxLupPdDBzSsbBaAdClYypXxPpwNncCWwShHcaAAKkalLMmHhMmXUuxCFEeBiIyYbXgvVxXSwWHhzZsNnGxGglWwBbrDhJjhHLlNnWwlKkLDdNnvVjJHdOoHhRrRkKYGgyGgYyLpPMmFfPSsmFfvYyLlszPfFpHhnJjNMqLlkFWEenNqGgGgQbfDdFgnNaAGBDCJOLVvUuUuUnNLlrRXxwxiIzZLleEDuCcUdoGZxXuUyYigIiGIyiIlLYuUfhCcHFFfGgALTtlavVqQjJpSsoOMmJNnrRxXAuUabKkSslLaYBbLlMmlLWzWuUXxwkKicCPBbpmZzwWUugiPpIGBbpPnzZNyYPLsSltTAqQTtFfaAFIiMXWWwwxiIXpPxtVhHvpPuQmcCrpPsSzuUyPpeEkKhDdHzZcCcZBEeDHyYMmvAAaEerRXfYyOoFfFqBfFbQqYyOooOqQFncCOooOFfUuNnuUDdXxfFAaZZzwFoOtTfWnNlLzbOoqQYyJtTjeLVvyLlYayYvyjJYikKfIiFJjZKkaAzYyIaPpqQAgAjbBJagYyGNcKoOyERMKSkKWCcEewvfQqFVNIWRrwvVibujrbBxXAwWaRXxJjJJJgqIkKjJbMmBiMmemAayYSaASskOoKkLlKFHGghQvVqfwYlLktaACcaATAaxOeQqtKoOkyYnTtHhIiKxXWwkXzZNniIxQqRfFIzmZZzobBqQPpOzZYoSstENnNncvVIiCYyUdDuelAEeaLTcCIiLlvFfzZAZzasSGoGgODdTtJjrFXxUkBbGgkKDdozZHhVvkKLqQTiIdDbPpJjBZgGzaAxkKGgpPyYXjuqQUJpVvgdnzuUZZzWdDwwmhHMGgVvIBTtbuUiVvdHhDxxJjXXWNDYDdSeEBDdmMJmUuMjbcCBSsyYlARDMmZnNzFsSxXfbBdkJntxXAaTKkZYynThHiRrxXJGgEelLVaAvjINntalzZLArKmRlLSMmsruvVUMMMmUNnUuKkumDfFZhHcCbBIPPFmMgGfxjJQRrqnXtTZzClLNaJErsSRLDdXxleoOSsjfFdDhjPLlpJvVjJVvQTOotqMfFkOoKmZzLMmlpPiIACABtTbaEeHhyLlYLAaloOjXxVBbvxXAamMuhHUZQqsSsSlLRXybcCmMNnmFluULaWwPpNbBnrpmMPdDzyYAaHhqNnnyLqQSSstTGgsfFTtVvQrReJycCYzWViIvjJJJrRyYsSoHhwWAaOjtTXxcCuyuUYdQqHrRhDULllLEmpPtTdaAuZwWUuKEeQqKEeTtkwMKkmWxnNXxXrGgqQRbdDAaJjAaEekyUabBNnJjMmODdoaAenshHkKSaAbBheQYVvyDdWcyYnqidDIQNaFfMWofsMmkFrRfKwuUWSAYJjKPSsIiAaFQqOoEefpMuUlyzhHZuRrkKhXxfFHUYyVvVEUMmucCXxeMDeLlNnEdqidDpPIFKxXKkzNnZkXxiIgiFfIqQFfGLleEeESsWSsgGpPwwDdDWwIozWEeJjvVgvVGwUufhHFvVlLZOizZdcLHhzLAcCahcmMCHWwmMSsknNIinYkKytfFGgdDxoOoOQmRrMKkQqBRraaATtbBuUtcvhHFfVCTAWCcDdNoOVZywWjPpAUuuUGeWfnNFTtebBElTpPtcKkCTpDdVuUvPoOWwtJyYkKGguULyYvVdDldjJsnNDdMmSUujJDjLYLvOoaDdJUuzZgcthHgGXSsZznNxMmAaEeTkKBvpPkKzsSZSsYyqjDlrGZzgsSgGtQrRGgyccwWChBbOoIigGxXKvVktTFXxflLSvPpxXZEeLnrRMmjPpGgQqJTtNpqaALlbBACjmKkMJVKoOkguVvUDIidlRQqyiIYeDdLlkKDdEvONnKkOZzoOooVrIwNnRtiKkIFlyYwIikKWYyLVSaAXGgcswWSuUWwKkNnWpPVizZjJajCJjJEevVmtWwwWxXTnDdNudDHUqQuhLhHlUwWxXWuUJMFfVvgKRrgMmGNnFPpffpPFPDdzZpfHhWwgGYXxywpbBWwvVuUPijJIfFJfFjSqQbqiIBUuGgMmVSsvAhDdCcDdUuHOoVvrAaRiHhIgGaqQVvpgGdWglLVvGsSLXxPplJhHuQqwWUGgBXxbJJqQfFrRjWwUuEeGgaAdDxXTpPTtiIleAaELuUeDzpuUPZdEiIxLRrlXIXWwsXIixRrSxsNnFfEeaSsIWwyYiVXxiTteEIyJpPjODdoXxJjIiYrdDRjqQdvVZzsSDpSKkQWwkurRQqZzCYyZzPpcJXxwrRWwwWBbaAXxWipAaRQSsqbBiCtTzqQeENmMyYbBrGcgpPMmCWwTSqHhDdefyYihHXxIyvhHVMnNmuDBbFfeRrZeEzEeEdUYOlXNnBZzRrJnVvMSsMmmGgNFOYyQqBbqJHnOoYyYyWJtkKwWgVOoxXvGXgGxTjrFfCOocgGMmHtThRvojJWIiwFfnlLwAaWNaAaUuUuxXiIhHWjJTtuURZzVdbBDvfMmjTtfFJMTtmFQqDDblLBVvdDanWwNbBVuUiIVvuLlkzZKBbUVvWDdGgwkKIDrRdiCSTtsZKkzcejJxXsSOkHHhhQlgBbNTtnGyakfVBbvkQqKFKZQqzJIikKkvVfsSOoFEyYCcGgeukTcCrRaAYygGtKmNyYEeCcbBGgnhHBPpuUuWTWbBaRVlLGgvbcCjJNKkIZVtFfTvOFfoEeXxlLUuzJjZDVWwCcYyoUubBQqxCcuwWvVUdCjJhmpqQzSsFlIipPYyLlNGTtdFfcCvVQqDMmceEXJEdaAFmMWwwWOoNnZzfKaAhJTLltjEeHhZLSSsslvVwWVjCcJqQfFvfFzmfjYyJFdiKkIToOtGWwgMmKkThGgYycCHVgSscCxXGAKjXxJZzkwWMmpPWAapPAuCcdDxdKkBbuDdfFymMYuUpwWPUibwiFfIWCTtfFUucPxWwEeJFfvVMqQmGJEeYvVqPpOAzrRfFiIZgGaAafFGdDUKYyXxxpPpxKkaALZzGgqXxQcvVCuUPeTwymMYKkLqQHzZhPIiMlLpPzZffFNKKkAaGDvYyVfFyrRBbNnUEeuYgSsksSaXxOqWwQrgGgGRBbgYWwhYyLlRVvrRcCrPpaAhCcuxXUHJoakKUuXxmGgMOzZpPJjoAOjoGgKkOJjAaHwBbWyqQRrkKhHVvGmMaAUuRruoOLllLtTKkgGLLjJlxXgqQjIiJXxGeExcCFfXsSgeIikKHhaAsejJEFJgiIJjvdmMNhHBWwnGgNtPnNpEeTVKeEUukvqWKzZWcCcCyjFfOoNyYnIDSeUuENnsiFRXxJtoODUubWpPtAwWbEeQqIiwWvVbBTtBDdaEecmMCTiIsScCxPxXGgpXFqQfPpSsPmlLmhHmMuUDdBbeEAafjJzZOFfIiDdgqQzCcqQHhOoyYOoiUuuUPpnIbUusqkKJjpuUFfyYnuVvUNhYXxyUbBusevVEqQPUuUuSspDdqQSrRlLHhEvEwWejJDAadqTNbBNAaTcCMWwPzewWVtTvAaEesSyYEZNxXKkbuUBncCwWpmjjJJqVlcQKkqNFfQhFftToOyYiICcDdDdlLCMmclRyYrLzjJIvVHhwWdDnfFNhDiIXxdHAaiHhBgVvzZtTUzZhaAHjpPPNnpdsVvsdDSBbkRrKplWXxYXsgGcFAarOoTznzZVRrvqQqFfQlLQqnNqQrSDdoOnNhHlLTtHTPpthHhDdLqibBkdYfgGeKjMmJyYBbPpkKUuWHmMYyhwDdmMmMaYyARiITYythuwWnXxQgSseAapqGgQyoUuTFfBbYyYytTPpAWlLgGKkBKvVswYyUCRrdDcZXvaAVxDqyuUYlLXOErRhHLeElpPpPaFfaAaAsSpPDhgGlLWwHhHEuUaAedYysmcCCwWCcTthHAAaHIyFfYipPrRWwiIjtTQqTtbGghtTPpvYyFDdtTjaAyBXxEexXYdDyIiOqROqQstzZNPMmZHhuUnXxMmQAaqZzxnTtotTOyYWwehFNnWwYyyCuUBbrRMkKTdDeNnEuJcCjBgpPXGQqCkGgKnNhaAgqQGEeIrRiDeEaAwFfWLlsucCbyVvYBRrNnSsRdDisyQrRBbKUuvTYEYyYAaGgJFpqQLleqjJTtVpPJFfoOADtpPTHgGhHhxXMmHlLhoOdZzaTtodNnDgGAacNnCSsrFfbtufhNnfFHGgoIiOKaHTXavEodkKlLvVaArRdtTDkLsSmHybQqFIhGgUsSoOIaEeyYdioIimJjMVvmMKQqqQWsSwIeEqOoXxxdDdDOGgaLlaRrsdFfDPpYasreEYJjnNtgsiISxXQHXxlLtwWiWwIIAaPpiTtThJWiIOoHSTtssMmVvPpHhSeXxbBfFEePnmpaAPrUrRuMYTYcUnNuHPSrRgBLlXIixhHqAazZztMxzaAZXGgeoOEmKkXqJgHhGjnIiNiIhHMmDdieEcCrRIYyZXhhHTtBbwWPpnbByxXXxkKjJjMmJEZzdKkMmNnXfFxzVvhHrRZCcVOgGvkmMKjJoOacCOuUtkKFbBcCzKgVAiIaCcgoOIrRaAiIiiqoOrdDfFiJjIHHpPgAaGmMcCcbAaBYymUugqTNjJsfhVvmjJbrUuRxjZCczqPpQnLlIiNcGgPeTtNnsSEOVuxdDXUloSsmMSwWKeEaSsAksSuUDdnNgGKkrRIisebdcqQCwPpvTtaxyYvVRrbJjEnNMmehHhxXOVUuHZoFfOjJLTwyYptmMmMTbBPWsSaWwKkVvrRIaAoviIVxXORrDdyYiVvUluULuzIahHBbknNuUKFfAWPkNnvfyyYYmHGghMFfFMGxlLXbwhHWBWwiIksSNihHIeXxEaSsYyeeSacCzZrRfFoONGDdghQqHSDdGVvDduWwhJkKjlIhHiQSsiTtIAapPdWwSImJjwWtKCcJjHhFxpPLlXAaYWwyQLlqKgGjJyYqQHhUEeuUnLlKkvWfFmMgeEGaOoJUujAmMHhmUutnNFnNLAimFfjJKkDdMIoAaISsgGoUuMmtjJHhQoCfQYvHhqQqGgWwBTQgGNnqAaoOTtQqQqQqIRruPpzZrRTVvtpRrPDdtiQqhWmMxXXkKtTxdDdvjFbBfePpfFEJdDOotcMPgEYyCoOcuUNQqnLzZkVvKmblLzZqQLiaZgGzACchHIZEzSsMgGwdDSsWrRHhBWFfhHJwTtWMOomCxiIphMmdDXHqQYyHVFfGgPfFiHhIqQpvViIyhHYTtoOyAaYYKWwCVNnvckWwpTtXxCcHYCcyqBbQDVvuEYyivVcCTiItAzEeZaIsSflLuUhkTteEKKkzIiTRrRTtMPpbNnWCfbJjUcCglLKklPpLiYJjuUqQKkOonNaxzZXkCdDMFfmcoOhHPDdtTpCcGpPmHdZDxtLlvVTtGsMqhHQDdLlRrYdDuIiUDdeHhEjEeNnlffqQzZhrRzTtMmZtTbcCQHhqNskKSAaAanoPIjnNwfFWAaoYVvyOYyAzZaEzZWwnwheuUSGggGtVvTCcGgFKxXvLEeRiRUHBbFfhsCcSSCIZzftvVTFbBzZtToOuhYAuUrOoRAsCcPpPhHhHqQCcutTDdLlIiFuZzSOpcCPXzWwQqbBdjJSGgsNnAaYOFtzZyHhdRyDIKkZzuNJjFBbWCHhcaQQqqFfhHAikKeEIKkiItTtSsStOoTqkvwWJTaAtPAapauUkKCbBIdLlnXxPpNqDdQfRrFHuURrwAnJtJlLjQsVaeBYybENeOjcNnaACuUvVLjWbkogSdDswgGwWSsDdWfFhdDdYUbBKkutAaUlNnoFqDeEdkKSGeEIEiIezZCctTcAfFWprNIqQiFaSsIkdDXxjJxOXxQndDNMROgGXxuUenwWpXxzZPNdLlBPAtTZzFYqtJjzZEuUeTmMYsSMKycCYaAYynWYqQUBbvVRqrRQmHhjRrJHhMrGghHuCvzEnyYcAsctJjMyYTtqAaPPXxppzZOoMzZmogOoQqHlWkYUuXxyTXxtimlLaAMmMIEcCOoHhyjtTJMIEZzKkRZzrRSsbmMsBFfJjbrRoOSQqQbcCmMBqQoOwgGkKWxNnlLliIXxQnNgTtQrRJFfSsGfFVtTMyYWwkKSsWwZzgGUEiIerqDRzZrZLlTxaFfRriwWKLwnhDhYBrAsXCllLoFfXxTeEjBgIiGaARrbRjkhWwveEVlLgorRGCTtpJVcgdJdDjbBDiIuzMmZrqBbtTtRriCcPpxpPuRFQPpwbBqttTQTCtTyYGgvsSdqiIyYQgSsEegGiPFyYuUyAaAPpaYCdDcSsScCsYyfFofJpDpYfFXaenGwWuUItTamAaNcUXJUXxpPuQqCXxDdPpclLZzZDdGJjZopPjJIieiMmSRsStTtgthrzZRuUzKMmCcaACJjUuHhiILkKhdDHyJoAaoMmSbEeqnNkZwlLDgEeKkmMtTbBbBvJcOoqbBQPlnNhHHUnNlvVNnLQVgeEzZMmMfCcKVrUuROovqnuUatTANXxabXxisSdDICcEeBbtcCghHfYyFooOOEOsSoeQtTqGiIwWTRacCAiIrWqQcQkMmKOoSsivVdDEcCSMmgGsQhcgsceeLeEYyqNFoONkjJDkAaccLlCBbCgGrRKdKklqsKAxXxZzjKkJrDiIuJjEKSxAwNCcJWLlwhHeEbBUKkHhPpUtSsUQNCcngGEeWwNrXxjJPCcbEDQqdeBBbRqQCcJheEHdnLLlMmMhHhGgWwcAUunNaNzcCWVeQfNnffFFjnSspPLHjGhHgeMDdDGgBbdxXFfqQcCNPpxXAaeohnXxyYBbcBedFfBTtYypPFqQAXxXodzEeTtZDHaDdMmWSSyvIYXEhoAcYybBtDdTCnNgGiBbIpPppbpecKLvrzrsSTsvrlTcOBzZbgGKkoDdkMNnKzZNXIGgeEixXxnCwIUuWbBiJqXMJYyuAOoFfRIiZzRkjJAvVPSspmZEeBbaAzxXzZTCAadDVvDdtTNDdSdDshMlLmqkKQPftHhiImYyTzPpsnbBNtTKzZuUWsaayOoGgYAEjLlJRrHdDOpthHKBbpuUHhPUuoOpFfuUEUucakKAYytKKwWkDdFfkMOofuHxXGXdDARrOodWgGZTaqLPplwdDRrLlQuBboOlLYAaZzOmfFfFBAPdDyYNoWwneESswMTtmbFsJxXREerGgKaAkeEgGuJYQqywWlqQcHhzqQRgGIiyYXHhyYxuDluUjJtThXlvwNnTtYRrRJbBcPlLfFMmJjKCbxyPpyYmPpMyYhmMRcCdkKaADBbYuUnPpZzBbsSSsIiIsSiNnuQqzZoaAAaDfdDjJFfOhTtHgBbWwCcaShHcCBJNAsScCTWqQwuUMemGgrdDzZrRYHhnVgGarRGgMjEeMmsRAaMRhHgGiIFnUuIiVEexKkHhiPpsSHbvxXVhUuOsSenzrFqQfSsHUuhRZIlLbeDWeEiIXxODLlKkCcRrdbdDwWgaAGBbBfZSfVvjhfVvwvXxBbxdeaAEDtTmMwWKkkjJFWqQFPFfpETRUNnqQuJZTGgtzXxMmUGguTtZWcCvTIitKkMmMuLYyUulpyhHYrOoPsStCcnbBNvXNnYyxPpVjJBoOBbOolLKkbzHnNhsSjJEvVeycCkKlLzZYwvadujpFJjfbBpPPEIEeFfiyKkYfFxXsSSENndDiIbBkKLoPgZzyYxXiIqyuxXIiIcHqFfVvZzXTCgDrRSGgTsQqCcCciqCcdyAabBPIRroOTwZUfFTjovbBOeEtTSsLncCNclcCLdDeORgnURruyzpDPfdsfwwWcMgGmhYCkZzCcYyEeHhtTKkCckKBbeeXTtDULBbjJluLlJQqjTtNEeiUuPpicCwjWwwQdDokhHBbKtTOqgGWYIZbzEeZfFrlfnNdDcCaAZNaEeAnGCvVkKvHCchVLlcHkKzZhYyuKeRrgxXwWHhuEUueTtUELgGdAanNbBUdDqQSBPpAabsXAzrfvaAuQqHNnhQYUuyOrRCcoEnNHdDMtTuPuUGggoqPvckArRFXTJjYNnNxWrRwGjJaTqQtzAuCcDLldxXjJwGgWaAwUurRdiIDfQrRsSDdqNcsScPpktTKaeEANnEefreEbtTDdEQqHmMNJpPGESTtsdcCslLDdSbkKLlrxbBTTwrkKRWWZzNEyYBbenHhEzckKDLJBrXVeJsAdDvVaSsZkKzUmqTtwWJjQMsLjJEwTtqQQfpPUAdpPnHhoJjeQqEMDZgmsSpJbQUuweoOEWsjWqVvdpYypPPYeEWtGYysdiNbBnIozSeQqTtdDVvjJVvEmaAmMCVhMYyYylLUhGgXOtiOKkhmMSsHjWwicjJfFCwWgGKlLDdziIZDPcaAcZzCaPKlLxtTWwNnVvsvTtVSenNkKPpMVvORrpPqQjHhUugeUZzuEGfhvsjuEVGgBbveUjuslDdJjLpPpGgiIPpcCPNnzxsmxBbXXxBmMUurRuLxxXRrXczyMJjdLhzjlqRxXmLxXleEMmMAjeijxXEeJhJLCepQSsmtSykKYlphHbjWAaihNnHsSrRGIfDnveEcBbJjSVvLlFMvrDDPreuuMmUZWBRrAUuKkEeaQhvVHLCckKjgZoHhUuKkvBCcRXKkcCxbZzdDHhSEZofFcCvVOuUfRaESdDsayaHhTMBROQUVvFfYtTvVLlMmCIiHhBbBbxXxXIigNnlLuCclLKkldtTyarRAYMDdRrfFHXwuPRSFffyYCmMccCFxpbBPbBqGfFyEgBjJVTtvbdhTuUtpPzZPvVeoOEkhrfyYrcCgFOoJLpPzZCcfFTDdtfFpPcjDdJdDwIiAlCcBbjwclLaJjAgTEeHhcCFnNRGEeGgpFnBbBPpIFzqhHQueXHhXeHUuRrQPOoAOoUvVSsQqueFXlrRLxTxnNlnZkFslLKrWwReVRrSsYyvkOoYoCcYyOoOOEHxXhblBVjJvCHhcbrAmXNnoOLlSSzKVELlxMUxhiVNUPxXeEADdappOoPuUffFfFrVvROoMmgGhxXvYyzZVEwqaAXPpqDdLlkoOKBbUuCCcUMnNBDdGqQOoaBbYyaLvVlfFQqGpPFlzZLdIiBLEemtbBbyVvYwcGssSSrzZEPSsvVpPteIQqibBDOoabeRrBboSsOsSBHgWwqOyYlLBbotTncCNdlLDwRPpRrtedaADVRqhHsSaAchkrMSsLLllNnnNjFfcCJgRKvYyYdIAaiNnUsSuDIWwOlLTtnNjJgcKkEehcCFeEdQBaALLMQLlyyYMWNFtvNfFfjZPSsvuPMBCvKjJkdKkMeEmHhYFjJXzZZzxGdDvryYRYaAfFiINnQeEasSPxKkwWsvVHvLBueeEEmNnVLlgTHHtThPUOoTtuFxjJaAXGdDgfyFfQqYFXMofaGgGmxrWVnNvwzWUyYuwizZTQqwWeEbBmxbBEeKkXOoTtMtpqXHVaNnyYtTwWNAzbmMmoOayajecBbtrRnNtTgyYoPxXvVPUuJNyEePcdDAQqzKLlAUXvVCdDUuoINXxuUngmlduUYbBOvgGrKnIiXzFcCsSfiIpPRUblLGibzaqQAZolzZUhcOomkKyYdDMmnNjJXjJlIiLxRrXxdiICceEUutTDTtRseTtqfjHYJpPQqXxNnpDdPjnZyKscCmMpUuPSDnNdKDXHkKcwhHWCJjhxnNyYAnNHDJjlwyRrZRWrRXUdeeZzyAalnoOMQdLlZzngZlLdDpFuUCkKqQchUuKFfkHJWvOoYnfFAsSbTVvSZBbQqCcpIeEiaAtSsSUeEMRPpEeryzRZzrhHbBqrRHhoOvUuVQHfFXtMgiTxKRrkKknBOcOVdsSLmtTsUHhuOhiTtgGfFONwdPAaRmJEUoEpPeRrhHtLldDsSYyuyYrxsSyXEmFvVfNBYywlLRrOoWElHlbBdmMyJjqvVQjVBLTGgteWijJmBbBLXxlLlhHbcpqRCcFfDdrAaWwBbpPGXfFdDtTMwUuWmiIHCcWtTCcaDdAFMmfmKkXeLyfhXWrRNnbhJIijNcChtqQPxDKkOMmgKZzkjluUwuQXfFNnCQCtSsTtTctTJuQKkqqiIQyYcJKkpPjCAahHUTtoOglLGFfuNnWYyOnraiuUmXxeExcCrfzZjJFttrRTngTUldtTpPVAnhYyncyYUuCeENLtUultTXmUFfAaxZHhBZogtOoJmMWTtIiwDJaWoYyohidDZZzPpbBbBzYfvkKlpyYPqjJtkvVKjJIiJjTflUuagGBeIeZlIioOZQqciCchHNvBbVoOCALrIIiLajLlCNonNOnjbBkKbBPopoOXGDeoVMjfFJjkKBzNHoIIKkAagGqQOonNbwWUpHxvVQlLrRyYqpuAjtMvhHKkrRdDVynNogGXIwWixjLSsTPpFCeqQcCoaaYiIeEfFyAAuUTpQqekKELcClErRrRICHwHhWhHhcBZAAaDnzXsNnSrPHQpGRrxXBbUNuNosSOyYLPpppOoPPdHhDlNDFaDdxDdDdXxAnjPmMpJKkeIEeiBUujJktmbFfBMZeCvkpPKdDXxXXxoKkummMHhMZvNwmrRQqIWwmMIYaAKVBKQWwsCHOQmGgGRUksSuUIlbWLSsVOoGgidkaLYuUxJjRrMCcmaATCctXuLHiIzjJZobNyEeYMUuZaHADaAdIiDdrmMRTZZTxqwcPxQqSMAaOoFfXxBIiGgHUbBuhAPqzZmbyYBjQnQqNSuUqQsAHncuOoXzZlJeEjHhLSPhWxXwHnNfCcSfSsFlmNcVrRdCcnpPqSsFfQRDcCdnNSCDdAahHyBNtfFTOuUbBoPoOpnwWXZTcCtWRrvAaPpPpVlxmMqQCtMDYmMJIiubxXBbJjIibWFvVfwyYyeIijJEcCUuYUxOITtWjJoOYGdDQqfGgFeaApPWHmMEQEeoOdkLCtKpPWwTtQqMmnNmOoLmLyNkKzXPpQFflepWgFmHdvjJXfIiLvVyiyYJjOEAgXxvVvVeEMFfjJmGEPEnNebUuBDCiIcnIiNNAaDdnjFEeEVtYyeEzhOuLlNyYnhIaAiHGEXAaJpJjfFPbwzeaobKkALEmCcwWVvzZrdDIiRVvQqYmJLfyYGMfXxHhFbBtTUoAaDFQtsSCSQqscTmEcCBbYYyRNCcCzxwPqlLIpPDwSBqQAofbBfTRrtytmfPpIyiIiaBGUoOWqmqQMSsQbdhnuUNZzHyrOBfiXxzVKnNzZMmjTYythHXGPiDdAaHhAaIVYbfNnbPpRYyrPpgHhTHhtUKkdqQqQBQqHZLFfqvyWwDjqQuYyIgiTlGgsSAaQqLoOUuvVEuKELaLtxRvTAGgHZzRCdIiAXEemSstMlQmTtgHhNCiuLlUWnlZPpQGYScCLlsVbqQCpWClmFvoZmnKkBbiUudDPpIcCNHhhHBcCxXcCPpzZryYTfKOokiLluzTtsSqnNwWJeHMVQcZFfzCaiIWLlWeMmNncCJxRrNnjAaJHzSeHhvVFaTHhkKxHIIjFfJxXxXMmXaAALlaKkuaQavVAYygNnctThHCNWToXxYyOvVFoOecCBbWwwnNCctMmvVbBbRrtTfFoOqQvVGoOtTsosHdfurxNnBOsSCSsIWHuaAdlLvCcVZRzZTkKFgGfsgGOomMuUvOZQubpJACQqjJmMesSDdEfryGWCcwNnkOaqQICcrUcCiIfpPAXxpVerREvVTDdtBbvvVtKNnXBzvVvCrNnROcCTPuUjJpXxfDdbidNnvGjJlLlLtTDVaAeRrOnbBNVvVHPRvbBVOorReOeEoySEeJVvrEtTpPLQqvQjjJMDYydmqwrONcqFnzswWXYHIivVFaixCwWQqgZzcJhHvVcOoCYeEyYyGgJKrgVhHxNBEebeuUEdDIoOGpZOomMHMEcvgKotTvVyDqhHZzoxXlLOSLlGgFeRrJnNiXxIqOMirRCqQcIwWQelijYSssPeEpSslLSMmAsZiaTtdDAuUKZsJGgjOoDdsSxXXyYwCcFXxuaxexfpvoEaaAqdDMVvWwzZNlYyzZLTkKaAzGtTrRgtTeFOUHKkyYRrFkNucFIiRdVvuDdUdVhfUueSiIsEAapmMSsPkEeBydDjJAiIacCcPpUMmuKkDINnidGfMrmugptZzXGgnNXxGVVMKpXxhHEkKeEXWwvqXJOHCcvVwNnWEFfHMjiUhbwWXnNAPWjJpPVHhxXaeJNnjKZLYDdhTtHuciIACfSWwVURcdDAawXxWpBbXxpPqHhJvVjJQqTOotpIaAjKVvKkUdYZcnOXxKHmmGCcvVJbgaAuIIiuPtsSVzMXQOoqQRrAwWCcxXXHPHTthiGxXBbBFfbjuwWkKkokKbBgGvssSprRPsNqCWlLBTYyGgAajJQgNfFwWDdMvJjBaAFfVvxXvFfVbaAmMonRsMhHmHeokzTqQtavcwWCVQqZMmzVvRrhHdPpZzcrRAaTEetCDKFfkVWZHhvVKkouUOVvDVvJjxGjJQqIeEHhWWbBTtPpgGwAahVpPqTkUTBVGgvxXWRrvVwWwuUkKqgsSGPerREFqIigGVvmMQNaAmikEXGgjLlMmITYaApxXPphHhHPytSIMmidQqgMgulLDHRrTFXvysSzPmqlDYTmBbCcxxXXMtUzRlLPJxXBwWgGoORXUKZzBmMbPpkUuKkuPZRrCDeEaAJjZzfAaqsWoRrHNaAIiMmwMisKTtEeHPeuyYAaEvVdeEQqSMBOongqQRiIrGIiIBNnfItTkmMLxXGzurUcQXpPohHPdItBbgtTOodrsSfKnUuNhWajJjgfFrpPNnbLlKZzYyMUXBefTtFnDnNULlbbBzZiIvVuaAORroYbHqQIpmvSgmgGnskHIQqlqEeERFtJYiwWINptToFtTfbsSDdgxVkKQbrJjjJRLgAwWaWeFBiIbBwTDCcdXSzLgGoORJNxXQHhTglLSgGSsMmsDIjKkolLpPPPAaIipNVffuyPakAZwwWnNWwrLlpPSOogGsIQfCuUcKksSnHhLpGcpJjPpNfrRAuoSsoOjJOUHhDdCEbBecglaALYtTwWMmHhgGAtTaxSyYYyJrRfiIjlORFfLAaXiersHsecCEbZzdpRZrRZXYXTkBbtTEhOoaykNnKKkoOlsSzFwIicCWfTYGwOokKUuczvVGNchIdDjJCyYcianLsnNoKGgknkKmMNRhVLmJJZzjKGdDBbXzFxItwZzWqyYIiDnNZzyqDvORrlLvRrNnmMFMpzvhHTvVPghWwAhHaZYyPWwOITmMGgBPVvEeIiiIgRrkBtEeTRriPJhHEepgKZzaAvlEeAaluUBbJTasSnDdUuXSsYyFdDcBbwlLPpqrRRRUsSuTxiIXthFflpDaAhnaAQqmrRDMnNEgGeBjllLkfyVbvtczStTYisSZSsoeaBjJhbPpfFrdDzZVvRULFsSoOfmzUOouxFfXTvVvVmyYkKMtGekCKkqPpQWXgvjJVGBsJENaTBXxbtJjAwWEePHtGgMKEEkKXxqGwWJJjOkXxKkFGiIGCcpDbBZzQqhNPpeEidDMmqEeBbyjPbBpiTfjmMfNeuorIwnNQaEeATmiIgpZdaFHkqQKhnDPpseVXcfkjJTtYqEePszrRHcuhMZCcBbMljqWeEOobBiIKZzUipBdDbgEuUaVCWMmnNqPLWerTPpXuANnikHhqQKkzRjODkKEKAaKkkyXMVbYyBCESRKhrRHbyQqeTtEyJxVXOVYyeqmMCTwWjJtGdKxhHDULhsVUXxuIivyYSeEcCYjOoTtJUtTPAqCSqSlLTbBJUuVjWyYRKTRrtksrRmhHxXYySCcOofiICKtWwiIkKfFsoOSiUMbBAqHhXxEHNkwfEexXlLFUugOTvVaguNTtnAaoAGfFSpZFrqlfpkKPFfClEQWwbBqtxZonNOeEzKlLcfBIiJOYcnNCyomsGgHweGbBgRrGDnLlIeLNnlyJjdkAnNiEewlLoyTrBQmMqtHhTbdJOouOonNlLOtiITPaAcUtTflDgGBbSsNiVZzZuOPnGFTzDBDEJjJWtuXbBeOtwWTaEeiInNuhrRHfdLlOtToYKtTLJjWwlkFcVvfgwTLCGjjJjYAalLyrTtrfvRGsjYyJSgacCWwJuURrQBmMbGkTqnXnNxNQpPtJXOoEebBjlsHAZwWfFLlFpjtTmEedBboWwCgJjOWRrZwGgxLkRqaUjmMHWCAzZeEcCKtTkeHqxHINniwWMUdbBgopIbwZaAzufyYzoODQPpqbBRrdZDCcVSsvuckKOlJsHhSKkjQVvqpPQAkexShvFMOomiGgZyYOopPHcJJnVhgDvnImRrMOcCircjaKkKSRruJYfqQFDOBgCcGYyhgGPpPCkKhfFHXxLOQEetzVVvvsGaRrxlLGywHGpxaDdJjtTWIsCeGgFjTHhtLtRrDECcLTGpeEPhNnHntBbQqHhCclptfbBpPkKFJjEOITtmekitFZJFrRlojliIUxXuLUeXrRfDrDdVgDQqRszZOoQqvVzWMKkKSsXqqHSsqBVjgvZtTjXbJVvmMCcNnlCqgdDZzmgGMgVvRrjrrRYJbRrfFwWnNLrRjGgJjJVXqQRwmMuztLbLlBGgBiIbJjRRryiJwWjZzIpPYsnvBFfADBalLAVvOObBodRrDvQqVCuIiWRnPVvakYywUQMJjJOeEcWMuUmgmZniIUAcFfrRMrJWPyzXxRrZYFfgHhSoSsGnCczsFOrRWeZoOIikKIlLYNNhHwWsSbBnNnnrcXxChKxXbBhjyagtzZuEelfrpfGSlwWtTxpPEgoOGkKloOCObUuosfTuYeUuETGgKkikibBAaIKUjJTtuTwGJjcCgWFfcOoPNnCIiPpejJkpVawfFRrpYWzgGczTQqtFNnpPyYvVpjfFJbBfQTteEEcCmMUyzoOrCSfHhYyBOosSuPptTbnPTnlZeEDXWwbPpBxqKkdqQDoHQNJgIiEepPXpAaVBbvPxDfFdGMICcilJjLiqQBboXxCrkKBbmMRuFGgWVSJwWOYyTLlgGWaAfFTtzZwtoOoSEuUXTDWtkaAyYKDKkvuAaIYyjHVmviIPEexXEeRrrRJbigGntyYOrZxXVooMbyYRrfXxwWCuNnqQLjJOUBUlzFfdDwRrWQkZldrRHWaxXmMFKUujYyJVzZAavhnCcrSQqumpiWwrRlLIltDdTUIhHiuTzbtAtmMUYkZZnkKfbmMUAFfaYyQqxjJXZzegGtyuZzFWJRgtrBbHWpiVvYJjoOwOjZmwsSYTJLltWPTteXXBbxrrcCRCDYyfgGbwtTHrxXRhKgGVpHWwgxoWOoxsSXSsKOHWwJjhQqMeWsmMpPSjpgGPpGRrgPTvQBbhvVIVUxFfcSsCeqyLKUXcIqVAyADJwscgSuUsDjFbBXamOXNGgxXnLBoLQrRJXzZHXhtThyYPpvVHhuOotbBMFFfeEGvYyYOSoeEVyYvWsILlXxFVYyLlplwYyCZkJuUpPuobeciICPGeEDAPpadPpiaQuWwWqfFpPOhNntpoBEeHhWfewxXWECpRyALoWPCvEmBYZzTaVvQBbqVYoOtTLnNQVwWhHffbBJqpiIGWxYxAKCVvcHhlLZoOPpvVJZzfQqFIijRrXBgjSQnOxXwWowlhVvswfFpPQxYWzZeUvVBPUuMeOWuuUNDRkKlLHsVvdtBKtLAavVKRrvdGhHgddKqAJjtTtHpPUBnBQqFfWoIibcCJxXWwHxSNnQqmXxPpYNnfFFgQqGGgkWXeECuygVvGyYYNnvzyYZVeEkKntfldHupTCcPuUSfvjIEevVXoOXDUjJuUrfeAKBPpMmjBiPpyEehbrxFVFGxfsfFmbMCIvVbBPvAaakKuQuSsSsYSkaAEaBVvJiaiIAIYyjsqQCZzIfUugvZzPpfTRkKJRQqrRrcTBJjMmbnDdMUuNaAlmqMmMCoZzOLOknNElFAafItTplqYSkQqzZKeEsoOiQvEeVfMOmXKcCcCjJATffFFOqnPpUFiwNCBbcmpcCPMhHiIFfJAFBqgDdBjlpPRuOFfHhNnUmYyMtdWDnNhfOsAauMmUvtTxAQfGbBgFPrRAZvVzKLliNnyYjWwJyODBbRArRrvjhHtDdfCSsSslxitEevQtDMZlVkKvkKcCkLMmAhHagHJfJjFrKkRwEWwulGGyBoKkIgGThyfeEFKwftCPpckKHhwoOLlWpQqPvlLmZyUuoAoOcVvkzXwwWCJjvqgZcjJvuUVuijJJTQqQXjOoVchVElLYyLSzXCaNxdJjEeDdogdDGhwMmQWpCDiCdcVvCXxgGDZfvGIiUmwWmesdDTtgGLkGyQUuYySwoOAmMauUldDrSshBbcSaqxjJVLNnVdyLUhHvXxxXVMqQmlzZKEXXkfRkKiUuoBbYxXXxmNkBsSvVbxhIzZDSAdDyCcWQVvzZzNnZDdSsbdDvPpcewWYvHhkKjOHhoiRFjPGIXrRtQysSNCblXBbIiRSplAaklLqjKDezZDKkalyYLGZkNSstYZqKhZzgGqxAngGgiIGADSsdArRaKkWCifFBjGZlLXBbmqQUtOoZGqQqyxurPKCHhcFmpPkKHhPsiVzZXQZFczrGfFEegmWtTwlLUuhKbBEelqFAEeVvrwjzgokKAoQxXqdhZzHDscHZzbdmfjJQaiqQXNZuUvVnFjJfdjeEJaVsXKkiIjVvwWzZDFOHGghogyYGfdJjJcuXoORQqrMmodbBlCwWudGpoOQmoIiOFzpaoreEYUvhDlaAoOLhUYqdDYniINCkKgsSGFotLVLHcUuvtdDUZIdvPpPzZTIiCUMlLmuBblPphHLkKMsAvnsABbexAmuakeYyFfEyLqQlhFmXihziPpAcCfvMIxpPqnHhvixXjVxXmOxgGCagqxmBnoOquiInNvsSmdQYyoBnNeUuUBbCsXxCcScDpTtDdwRGTOotMQhzwFPjxJBsfgisCYbBTMHHhhvVyYDoJnisvWzAvSFiqLDYCcajiFPaLOolfdDLPkLlFzHhgGBvkKUNMExjWJTeLwWlZxhHYuMmRkxJVPSspRcPNypoblyEMmehQKCckDagGXpyYnAaYKmMGgNnvbBewWhHEMmlTPpuQqeEHaAhpqQqdQfFqgGVbBvbAjJaCcYiUDdpMHhpjUksoOSwnNApAYyeEvValEeNnNevTtRBnoOPdpGgNNNzvtjgeEtdrtpnNnYRrixhJiToTgAaGxHTtcKRmMAwWSivVQQaXfUwSJnNAKkaNnGccLlCCiYYYpcxWtxQEwofFOuXGqqQqlQiWKyjJVvYXxyHhYIoOZzinAaqeoKkGDlLZzxVuJvrjMmJhAjNQKktXLzZEXxrxlBeCKsFxBfFyYbGoJOoFkjjslFfLHKuUUyFjIidDesBNBXxAaQmUGgdDPtAruswJmMjgFKWJpPPWJjpsxSmMbeLlAiacwWGMyWwYmqzmoaAOCBwYfiJJXxGnNgmMRrmKxFmvtTZOoSseEgohHOGUuzoGgRQRKPpFfMTcCQqhEeygCcogCWwfTtTMWcusCcUuOZTwaAWdxZzgAnNFBriWkcWtGgqQIiOJiaAAUluUsxYqBbjqQTLlXVvkKigWcGkpHZzivwWdDjtEJWwOLgGyiIzYRxAYKkpgGOJjtUSscCBsxiIDhCZwFDRGvVnNpilOwZxajJKhttJjnNzNNBjJTHhtDUlLudLCimlTWRrZzWeANnDKhUQqFBOhnNPpXlLGPsSpMmCccCjJlLyITeNYIEclLoOCKffFlVUuvLhHaApeoOmwnNHhjaAYjqHhLrPNnFfuUurclLCoJjmYAlZgsHTAQqathkYqAYyoKiIMRuSkWZYzympPXxnNVvGNYyQDfFNndIKkiGeCGOoVvVOoXxvjJUMRaALnHhsKkHYyYyHMmYLtTwqMmmNBHiZbJjDXxqQZXiIoCucHhqQlvBFCBoQQGcbiLlmgdpPfMmFjXyDUYxeEXaozIRriLlhwWgGHZyZlwiLGgzZaKIIhTrdhHIDwyYpFWMlgGDdteEIxQTsKGgtGpTwWTOfjJFvVhPpHkvVKjNsSnpPViyWwYEeVvIKkYyJnkGgKXxbBXxqQNVvjitvVQOFQeEqCwnNWeEnGLcRCcTtqLIhkKeNyYJjefxZLmOofFVvMveeZzBbgOaywWYnqaAQnPprglcCKseEnDHoJjvncBbXsiIgUuxMmgGXhHGSKYQIaAxXXLgYyqlzwWlrgGRUsiIQtgGRCgEbBeWYUfFSSjJzZLNUkKuUxCciRiKQoOEEeebrysdlLDFJjHhtVvTBbXVvxVdAQqpPSWhlLBnpPNGEHzDQHzTlJjxulLNoJlbGMHsSOoCcONSjQcRrHhCZCzbBBIiFJQCNoONtmMjJtlcCBbfVxQwWxXqXwWexXiKNnCePNnFNMmcWwCWDQSrRTBcCtQQmcCGZkKzgMQqHHXPpxBXxYyQcIcGgqQrRTVKkbBQqWwvBuVAtCfFvaUuAVedgZzNXxjawQqypsauUfJUaYZEMUZOUEHQgsQZdHjszZWIFpLDuwWUhMEypkcSsPwWAWwbTJKwWkjjIGjauVHqfdDGiIWoOeWCsrBCfFrskKkaodclLQpvnprRSaGcCpmMUTyOMFXxxyXxYbHhjExXwAaSOLaMKkRrkxSYxojyYBjJxWSxOExXOoeUPlLeUxoOgoKkKpPbKLlkmMYYQkQqtQqfFTPpuUYJjyKcCnNIqqQJTzGTjJtPTTVJjNuLlAasSwldgSLliakYQXxDxtZzBRSsrtLGJwzSpPsUuNvSPmucxXvVxDJjAIyYRrlUAaZPBToOGPoORrzfFpPGrRlLVRrvYyBKsODRHhmrnOqKioOIdhRrrRrKkAdAeEKtuUYpUfjSjJWJjKkNnwsvVJFzKqUpPmIiwWHeYtgmJxmRrpHvRgqRzZwBqJjXZmMWBkZfFPpIiXkKlLVlzZLVvMoqUiWwYnRroAabdhHwDiIlSAawWHmMfjQdOePDjzZqTnLcyYZpxXPRCpWwjUHhuaAtTAaJygGaQLaqtTCUVwVCdMMmYawpgMmGXWwiFlhoRZztfMfPpySUuJGgXxFfnNBWjJaCrRwzZzsjoPoOsSZIMPuOSsavbnNwSmubBdcJjugLnDWuUkKUVkUuqQTtVYyCcxnNeDQqGeryYEKWpIiKHPcbBQrgsSyOcCQqZJLOsSzZBnhTtHgfFzZbXZNcQqSUuZscCSAlEqQeKvVgGpPzayFfeEnNZAcCaxCviDwwszBcdDrpPhtHFkKykKYkXeuWwbpnPpIsSYSHhrfLGfCOkGgqqWgmwJFfckRVqEWJjiJBcRrASdwWnGSshyYtAeQTLyYuTtnNUdIUuiYFMMmdvVWNefFEDehfNUaAIVRrSsoOBbITtJoKkvMnvbMmKgPabBSgiIKkCcKLdOpgGIMOomNqQSFxQWwjXrBbCcuUMrLiKkICnRDdmGVvxXxXIwWpIupPBbZvVUubBXeLoqUuFvayYAVHyYcChZqbduOeiLOlUuTfGCcXxexgGWwZmnDHhAPpZzWVCcSaAsvwaddDaANKkMzWwXWwEgFtaALolIZzAaEoUDBQzfQOlExJuUjzUOoizZPyYNnzZimMnOoaANgMrNgcCGciIQqlRmCNnchihHIHRigGIxJqXfAasniazPpZwWAPoNnDlkCcbvRGcCgrVBGszZkKAOoqQpGkSstTBVNRhHaArmVVvKkOiIjhHiyrRYviufFnFHKkEdeEnwwWwWDmfyDOoltqEaTHxXgTbeEBtEQqeNAaDsaCvVQqbjeEINnweJUujQvrKCjWFfJjtTMGwQQGgKocFdDglfFPpFRsyiNPBUEJynNYjxKeEmnNMfhTGPpgHcCRcCCbZSWWdIVcuUXzsSlLotTOYKkGOogAZkOoLtTaAazsCnztEeTxBAaSsGjJNboljzoYGRqCpeENnhkzZPwkhHeREBbgdEXvUuKvSsufFwdNlGnNwWBbUCDCcUMsWpdDPBVvVAlfFLoUpmYytTmMizSspOJSsSSsZWcAwbXIixZzwWjbBaAsYFmNnLlwWFTrOHLfIlLFRrpPpPfxPWAymMmQqDcvWTtvucAaQAqQlqAYRrTtPcrjJzClNtQpPJdpEoDqoqQJjOJPpBsSbFTtmMTthsLdPwWpWDBsSONyIuQOmvxIiziIKbwzxQxXYyOoXQqxbWPprQkKgfFGGrVhPaAMXjMGTyEhFfHhMuQkaxXAZTtuPyTkDduEmMeUaDaRHDkQhHYyoNRtVvTMZzrdoSkbgZcdDCpgtbpzuLVvrRQqiaBbPpqiIQdXqQvVqQKkCUMpInNisVnEejxXzLlZJhHZWjglTbTXdlLqyKAIiIvVCcHhsGDLWbBUnvttpvVTtgZtakKAjQGgiqyydDBQqkOxXGXuEpqQBbuoXXxswXbbBJOXysXKOomAlosmMWcCeRrfFJCMmcBXfmoYcCPptuPMxDhcCHdXZzmTtgAhHsPNVPXxqCvsYySfFVPwWpDOAKSRcbRScwEwXxTOotgFMmQqQhvVvQqUAJgiJeEtnNBIiapSSstTsCKrRPYemHdlPfiwDdSJhDzqtTSnNGlLTqhDdeusSWwvhHVozumezycEeCAujFfFAWwSPYGgDdqQTtWaAAJnRbBrGfFDVvEcTaNBbnvUbVJjvtrWwRGgCiDdSsCqbhhQqyYloQqOLqqTbtwWsqdwndDfTtpXxEckIIifFEHhmAaMvHhFcCUuLTTgGojJjJOnncqjfbzZZWwTtczcCqJsSsnovVhAaFfAamgBLjOnUHgGhXeEBbLtDYAaZzydZhqIiJjdZeEheggGbxXHbwWIiBwsawWDvwWvVHbBhfnNkKSYRBEAaeMgJCcjGxXmqkIrpPIcCvVAoKkOaMzZKkmXxEmMdTtdDDeXuSsnlsvqQVwCcWyYsuKkywGcrtTAaUuTqSxXGguhHLZLHxXNFqQfnhQGldDxiqykQqxCevVENVtToOOhdmMOoNSkLGnNRNNAPpoGlLEEVfFlzXFENnTEdDexlLXtnEZzrRnTtNHEeeEilIiHLlhQrvVClgPpNccCfIioqeETIvoOGgkKjJJQqoAGgaSstiRXxrItsPpwWSPgTkStqXcoOCiTLTtmwfPWdiDRtHiiuJjUkAGglIWAaLzYOAudJjDUyudYxJDGMIBrRCgqqOlLbcfbVoOLCUcOxzpcCPdBzIhbjJnMQWlyMmhOohsSSkDCcesSEdKXfFxYfFyiAaINlrmuKoOktTbBdDgcEQqglLqnVvgtTMYZXxyzwKsUrDdmkOaQyKSGzwWqQLayzZMORUpRlukKUQJydDJWMiIEPOoFkpPexXirRynEtivAaVYzZgaAxPawWAuUpDdFfeEHoyYbfuHkdaEPpwBbwpByYbPQqGgtLcCyYMnNInNAaXxclbnnrIiIiRZAaEerRTTHkAXzWoLIRrPgqQrdeEvuUwWVfWzcHdMyYmXSbuToPfFoOyaXPpjJryZYlojEeeTJVIhjJPKgzCPpvVcGgsSWwZrRCwGIVvxtvVJwWhHTtQylRrLcCXSrRLqQuaOoIjoSXxJjsTwAaAxqQXaCYyKwIRbfaGXyYDwJyYkKwWjWtzoSUCwmtFchHFfGOGYXxHtmdDkrqrOtTDrFfQqRdVMfXkMGgjjIFMfFmTIityWbcMZOoKkQaAgCAIbBaEBsXSnNilLIYyPwWwpjwkfGoOWSURaTjJXxpVvuMqbyYnbGtrRJjOoTgUuHhSEZzJGgfSsYeiIEukhzZCcSJJKfjOgXfSkcEbLXRelxTGgqcCnJaHaAedwWrRDgGERVjUvXdgPdDpOEQTtVvNkwIqLBbQQgxzZUWeqXOzZgGohHTwXQqCPyyyIFDdfgHDdiZzJjIhjjJVvaANnsWuPpFxAsSqqIgGsgerREGgGXxarkChXyYtOtadDAIjHXIyfFDgGdNPTRDMmTtTtkKTGJTVZnnnZNnzPDpvVNbqQrVEnWlLwOolLDyYdLPaWKuJPmPuIyKkBDQPDdUtLVQqNnkyNPxOoTtAdqHYXxLBODdPYnpCrvjXKrUyXzNFfnkKQqEiItPpZOozjwJXemnbBuHhVbZyYfTeEtjJKKkplFAiIpfIIiJAySsdlVvQIftbcCBlLTsnwWFfNVaZwVSIGgYyGVvtTdQqDgNjNnOzZdmtycSIGFSbjXJpfSUusWZHqmgrWPdWwGgBDdbygcCGYuEbpPOqDHhMVNnUQNbMXQGAUuqQjJNncTtYySQqsXoMvJoOIMmVMmNQXvVKkimZzVFaIUuZHIDnqQNdxFnNfMfHYePpEKAUMajJXEqQfFaSNiIbBHjJhVaSmtTxXctplLVDVvizuTpWwPVCSshlvlTOfKkeEcyQyuHBbgGlqEeQSsLdHVaAuIiyROAPvkdDKQqoOsSVZfQqIigoOGMqyYPgcCDUxXcLDOEeoOqQxUCcCxSyYvADNznxIAqFMDBdGtTVWwvgDhCIiSOTtaNnOMmoOGYywWWwZJWFfRafkKMmQLlJjLkHHhkKeEBSsCoFfOcbMRbBJjZClLfzqxvISpMfkpRUXYQgzTnNuMxJjzgJbIcwafFNaXLlCcQtTgHvVhVvGZzHkQzyTnKzgAdGgEyYdkJQKLiIPKksrBbBeEbxLMmBcnYqTxigWwphHJfrIvVJoaArROpOoRrPVlLyECEeVnNBMmqfFYywYasdiHXRbBrJjKnMyEeXxOsSIrFfFKxPpxCcekLDdulvVYDcCwWvYygYyGlvXQAQqsCcCHRCcLWsqYgKuUlSEMmMMrRugVFzcfCcFIJjdcPwqWkKHsSODXnQqAcxZKkslevgGMmHlmMLCxXvJxqtjIXxUCzxXVYyBAabvGQVMmWwczZWxZKlLCaOlLrRYzMVwWvVDddDTFWkfFYFfHtiBbObYggLUeWjhYyGlNJfFjtTnKLWwuUzmGgdIiTvVqVTNnIiIXeEsSVvLcFTJVaAlLTtRardqOoQoSaYyAsYhHIkvVaWwpKEekqaXsSMmtTVSoFZzHYyRrQqdwDTmkKMuXxoUrLJRrbsSiIGQbfZzajnWIfuNQoLlzZtakxMoUJXxjVvuIxXWwzZimPIiZzNnpFqIFTtOofSsyQLPiLwWeCzZcWOlLoGgwKoIileEcmJjpFWwfPQMFfjJLbBnNnmvPpXxVDdfFrRFfNWwtCjrtFVGFeEFficSbAeKsyOzZoUqUAVpicLBblmBMSyPpYFXgfTtvfXRCVvcBTtfFHYsSXxDdIbHUujzZJCEeSOoqQAasAauUchzZJbzZkaEFRQqBbudxxiJVFsKkptPUaAZzhDLFXAaxTNezZErqQRfFUcxwKGgkKoONFfnUuKkdDBUmMuJjbfyEeMsXhjovVXxTtOyYBOtTwkKhHbPpHvVhNnNbuhTaQBbkDVvDXCcxvVDVkvVlTkbTDXJjxShrdnUwoEvQkEeKDdqVbBmeEYuUyEepVvbuEtTwyXxXqgGJjXxWSXxHYXxXxyVvLKYykWxXNqsJGbDdxzdDPpkaXyXrUuRwgNyYnXaAxwWPQGsSgjFtTyYFvRrqQqlyRrLlvAuUtybwWMZzevlLFfVIiVXxcpwOlaRrzZYTtcCrPTtUucFfFwbOPTJjHzpiIPgDdyYGZoezZEQwQUuqUlLJjqAIsSCcgpdDEBOUjKzzZcAagKkGWLPvfimMSwOpPzZsoyyYVgfmTUHHxhDdxjqlOblxoMAxeyYdDEftTJdEQqPsSpeGqQfFCSWjdaYavQiLlCxuklYQEeEXuvxXiHqVtJRrwEmiIHPpWwhokwOhHXbfVVvVQqvvFBEtTeGhrRkKPvkWiIBdDFAFOofGgadcxojJOXRxEpwTjtyWMzJotTWjjJJyImMPwVvhRTGIlLirkKjwJjfqQjDdJfFUYTXxEuBYyFdDrFFffRNzzKyuTacCTBZYyuUtLPMUsRJjxXNHkfAwJbpPBTtjdnOoMmNDGghrxXRDLzKkKqoqhHQOJjZLubuFfdDolUcFWwEZzqQeBmWwOOoOvcSbGgBMmsCXxEHhZzSsezRoXxTNIBjpVMvwBbQqQcwWGgCqWjJhJGgiUVkXkKxXxgGKSsdHEehTwdtdDTtxesOPpomMjsvwKkfUcDdObBImjnTtqhnNOeEQdzLNGgtpNBPppPUneENbsSFscCcRZYuevLlVqFfFPYLlyfnIoOIiiNZCfFZwyPWAaAGgvPKzSsZEcpNnCTTttwWtFfIXxtiFfIlLgGyUQqtFSOBWNnwocLyYiWwIeEOoeXLsgFSsPRFtTLUNnKkPpfFTGAYDdhHJHlLBbkHRyizTtEwovzZVfxXSnNZNgbdDBOsUulLLlGpwnNjBbRHhmCaPpuNLlwWtTzlLMGwCojmquWUurRKApNrwwWUOocobdabViINOoSrbBcClacCABAabTZUWrxvZzlFPpfBjkKyiItTpPRJrRgGGpPGPptGgTQclLVvLHwWfFhjkKBxJzxXVGhHJeEvbAkKaTtEuUxXxxXXDdeQvVhQmmMMQnNxCctTkmpPwPpZSrpIiPqQtTdwWGvphHPRdmMFHhWwxEXxuJOLfDdjzbSsBfTIURrKkuKEMFfrRioeyYpPtTvVTPLZzksSKtTFfLUulTsSNzuUZgtlTteOodvVTlJfEcSEmMeitTwAiHhIGFfgXPlLuUghWYgzJjrRPpZXAgSZyYvVrRZzTqolcxXjJIiJwWPpjEepHSsSsbodDMBbmjSsJdyjqQUdDskAJIrRiCRIoiNVdGPpHvOoNUuNnlLjjChzIeEvVrRfVHsDXxdXEKaqLoCUdFUonNOWAaBiIiSwWsPOGDVvuEexXmfFQqhsSXCvVcQhiInNpPJjEakKcMmjJRElLedDlCcLrhHkKwhJZvVzuSsAQrwWAaKlXWvViIzfFwoGcODfkKFMJPfzaUuhSLJnNfFxjYyKgBbqjArVFaAROoAaejJEVvRWwJJgclZztWGDdoOFRrCfZTtzyzZOoJjDQZzqIiFhHBvVSnNJcCPpjWwAHhasbPpUiDdIvVAoEwWmMxUTBbOojJwWNnwjVvYyeGgjJgGdbtmMTdeEZtfgNgGpmMoUkKzaAvInwWdGgDdLFhHueECpDdoUiIjDRtLlOoYOWpPIgGaKDYmMMmEiNddWDmMdwfhHFyYDguUEWhSMKlLkjbFuUsSlLCkXTeyYfYyFvVLHhhHcFLQRfZzzPgGsBbgaOUTtGAtoOoGvVWKnheZzQamuIZzZzBbWtTwTkCccVvFoOsOoMSyYrwEeJgGvjtsQscQxXeEapcCHKkhFZzfuyHludXEedDbhHBkWwDUugcQEOovoxvakiIpPKAXjYTtYBkrsecvvcCVcCmxcCFMDdmfTtQqYKkedoJrBbZdDKIaIiDFfdUxOotRUuNnEwlpGgqQQwZzcvAeGPCcaAIukwKktTQJLmzmHUChCcZSiIlLKkpQyrRKZzPpFCxvtwWTESdNeEcCrjJRHcCJjhfAXtTxDLlzHhPGcCMtqWiROUxHhXEnFEHGgheDbBdJFtZlLzSsIJYQIPpPNnpnrRHNIinxXzwWZOodPvVggfZzKpPoAajgQeeFSsfZzSskmqQThYJjypmMEEjJeesWweESnWwejSbxbBzEeZwcTtTtKRrjJEQqgbBZMluBoOHbAlLEOzIysZCzZgGTVmtTxXqQMmMNnBvYFKZzLJbmdMNHdPkKLHXxrrQWhHbBIiCoOfKkxNlLEeUuAtjLrRLVkGOoPjpIQqJjbquUQKJsSjNnGpbPptioiIUupsSzbBHGptVoOZPmfVRroVOoWwiIdyYGPqQNnpgvVQLlvVXxLxXlYZUlLVvuxXzTtdQsSTiEesAaSXIiIifZxgkjMmgGMjJlvHrHhnNCcOAayYSsKkSVvlBbTtNAHrxXRuUCnggGZbBCWgNnytZOoLUueEYOoAHBbeKtxyuUxzzrPvVDBFfnNShSYyuVFfvURJjEIxlrobBKkLJFjsXyGFflLaFUuncCPCIigrRKkyYPlINnijJNRrFqimMRWDdGgzaKApYURrFsSSsFbBEeCcvnVvIipQqlXxLOkHhKyYJcCivVdGtqnjOoxXlLfFrDdlVvjJhUuHZsVfFvsSOhHooOxtWtOJjyYoTbfnCcNkKiIEwxXGlBqvIiXGBOPnyjTxXxXftUuTrmMeVDdvQLXxihgGKvVDEedSNqQeEgGMGsVMPihBQqoOyUhSsHfFBeEudNEbxumfFXxaADdkBuUgGRBbfFGJDZXxzdAwHkpPFRDGTHhPpiDpZzBbOxqCulLRUZgloAaOKiFbiNbmsDcCeUEphdkWbBwKkPzZprRcCKDQdDqkSpPBbIVBbZGgzvCeZzkKEcmWnhoOHhOwOIUuGgAaRYyrYQqyqQiooOSQBbFJjdczpKkNEenxrKkDfFdbwWaAjZzprZuyVvdLQMIipMmEeZYVKkxfthdCcUSsGmGDlBmRrMbLsiJxeKjOoJMmILCcNnlMnoDdOCcfpQeEyYbtLllLTdDtJjEeuKtEeTtQvHntTNeEwDdieETtgDZkKzdJjXdFfpfTtFGgPcCztTwvlLqQMmDdAZKOEUuvVhCcSrNOsSWZzwcCPpwWVxXpPmnGqJjtEebwciUuIrRQnSSVOKUcVvCKmMkmMJjJgHhIphxYyZAazaEjJeAzZaAaJjChHcqxmrRrRsSZvTpJjUxXicCUGJdDjBjUugMMhIiknNJjDdoNCeEzFfiIyDuNnkzZTtJiOoPRrFfjXxQaAdDDNiInKkdPCruvqQHhsFIicaiIGgCjJUylDrRdpPMmzkEMmfFaMmAAvwhHpaxBHyLlYuIJmfFhexXhVvmyYMPRbBrkKXxrRpojxQVxepPPkmvvFfgsSEeGgxTPGwWUMRmSuUzZsWXtTxwFSsCcgmMwiIIGHhgiWCdDYbRrSsKFWwHRSsrvpEePaADDiIrOofCpPGgUnFfCcKMmWwfyYhuKkofEdDZSstnAiIamXxQAeOTtHhVPFwWXEQqXuUuUAUPpAaflLWxSzogGOozZOFfkIzSaprRPyqQJILkjJKOotTvVEGgldDYyLqmVvkKoQiXWwuPpUxIjpPEfaOoAsyGxjJXgGgYSsJjQdYTtmMOFfFfkUuGVCeyYGgXxmFmMfhLlzPoOgAaqQUuinXjJvoNnOkKSsGRNnQqbBkjWwjylLkKYCAalLiIaAaAGcXIkKAfeEcChyxSZNfQCwQqWtTwWFfnoRWQJqkKORRrvVroOmMpPoVlkKeRYLlyCcGgjsYERrrpKyYdDGGggkhvoJjXxYyEvdpPBbgVnNNQqnDdDIBFjUuKkJMmtocVZbxVvkTnNPaFceEoOyYCgGuHhRgIiGgGiAnNUuaAoKIigYRFEvVJjeloOLQqcBDdxqQjJXbajJCcrRhHjPBUqzobBVCcSMmtrzZpvVPzNiInCcqQrRDUhcCwiVvlxXLcobXSsnNRUcYyCqQFDlLhSOiISJjDdgICclLgGiBAaTWEUOoufPptwnGpLlPhHqAUxiiAQqaGghXtAfEsZLlhXDQqnNdjJKkbBfJjFGgCcjEXxnNwpPwnNDWwdALlcCqvttTTxXmgGhYgGyEaAVvjbBQZuUrRULlINnFtRbMzOVfhHAaMLcNnmZVvzMEewnNIidDcWwCPcBvVvygyYqAaRrLlzfFYyLNJjcCwEeSsMmDotyYoOghHGTnNOlpPLdIcIinGMqLmTMxXBEebXxxaDOnNocXxrTtlLhoOatVVvrWwXTdDkMmKlAleDdkUehHLQqlLfFtIGiVlioOIDdLvUgGJoOdYQUuYyDdqVQlzMmhbDukKXxJmMjGBFBqQyYyvnNpNngxJGgqQkvZRryYxXIFbUuoRbBYDBMmyuUYwuGggbAMmIJjvjJoOWwVGgsSvVYiFMTYmMpPsSoOFFOatTbsWdiuUQpWXRrZcvVnrEeYyyeMqfRrNndqQOuPpdDfFpAdDxXbBalLlhHLPFfmVEevYqQOooLlvVsSzZXxOdFfDyKkgFljMyMelaPpBOAEZpPWBALYylsSajxeOogBEGgebZWwzYyTNntUtToHZTvegwWUuGfJdbBpejTtJEkKkKeaTtefFoJjILMPpmlYlFiGEemMgIxVKkUuDhOozZMmMnNSsfbBGwkKPELqxCcZUuzMmTtZniIYlvVMFflMbBkTclKDvoOVqezEnNeZAaUIiupPoONnSMmshhHwhHaAOoEfFUugFfcCGgyAawiUMmoOuoXuBBUjQqydmmMTcXLeEXrRxwzxqiIQNxXOmMbBoCcnxXbYzNBbnLlZTtccCsrNAaDvCnZzMLNngGQjpYyPJZlLzqsgGCfFcFRrjJpgGsJjKkxUlilLILCNhYQqyaqJMyYQpnNarRKkNnbRrYymsqQqQJjXpCWQXAatJjzztahAEerRzmneEHhFiIfYyuUaABOUuhfFlKkUylAKvVDIdiFftTIDvOolwBLiKkKkKuPpriOoMmIgOoaAMqohpPlLcSgGqkbvkUtTuNOoEYyeYyuAaUnyuUoOOoiismMUuVvScCMWvVnVzhHUOiFfINnCPpyjJYcxhHVlLciIEzDdTdIkKikoOKDxXUuKMmhHFfbENaykKYXmMeEQqAfAadDKkdnnUncCbBpPuFfLlgPqhpRlLxZZzNdazbiBbEeWwrRefFRgGrPZAnNAaaztuUOEeMmEoOcQdWwDWAaKkyYwDYySshHdqfBVvbtYylJOYmcCKkTQqWwiIjJJIiaZzUPpTtPIiXDdhPutTBihDdrRHiOcKkCFfQqhnZNnbrRJmvOZzEdgxDdQqPOpyYJcJIiAliRlaDdcAanIWwCzLWwznNEiLlEaAbASsLDlLdZzFCcQLzTtZGgVYyfFWwFCcyIPpUuiIuUnNHOOwAjlLdCcuUjvVhHTGfFnNOzsvVSrRXxbznNXuMTtiVvISsXxpPagGAODdoxLbBTLlloOyYHNavDqQLutGNTRXMIcXxCqQAtfFJEkKmMeVvjTPpXxRGhHgfFeENoQqXIAaixwtTUjdDvVsQqgGAalLSqMmcsSxqUWtTLoOwWeEJMmUuGGyYqQgnNodXTtZzsSpTmqQMHLPpoOloOnHmMXBbxBbBwQcCqOoDdKkUOtTnNouxZkKNnzHqQFYcClExMkKxXDdrrRRwhiIxgtTQXVvxPzZCMIwQfFVvqElbKsSsSxXSMmskvJYDaOoHhAlLLhGgLqQetTbnMMfFmQqMmWwesSxYDdXRUFfTWwOuYyeOYyojMrpDWnoIsSEeiIHoSXxMzJhMmHsSjZlGMmgDvoaACuUZzbBqQogGbNIiTtGgXxXRrpPLltIWwFfGmTxhZYFfFfmuzuUZsTxXPjJzseECQqctBaNGgwWypPVwjfkKPaAlRrLjJzOoNnHOoyYhGNDzZqmTtNLlTtLmMBbbBYCcnNEYJjyEVLyYnNlvDuxwrQClLcqzYxXWLJjdYyhadFfkkYHhJjzNKRCcrkyhgGJFQsSsSZzErRSrrRMcxXCCHfFuLOBIgPpBOoJZzGgjurZTtxNkRrRVobVvQqyXxrRPpYWwzZpPByAaDLMGiOiIcxualLSskZwWaCgZzoOGSUcCuCcsOoMmpWMmwYeEnjppOFsSfGdDtgGTTCEJAYAMBBbZIiANeEnYyaXxDdanAvhxVvQPcCIZRGgXxrRdDOoHhFfPpYytTVvXMQqiIgAFfFCctvVTxXOmxfphRrtnNRrGANFZzYyJjfnaZmnNKIikMzvMlLtgGTUbCcRrllLVEehSFfXpASsqyeEJjVgRXxnqajJAEebBpPIinNQNQqlLrfyAjJwWaEeDVcbpPmpUVxXpPpuUzLlJFnVTfnwmqQYvbBhHVqmQqlJjlnNbOvVoqDfqQkiIKHwWsSeECGWwoubBUCcCCccVWwGJBbjZzgvfFfTtFicCoOOoyVkrFfGBbmROOoRrxXxXoKHCQrvefFEETmMrWQGhLlbxXEBAQqdETWwajJApMmuOlLoUQqeJnNjagGAHhbBRggGFYyfCmMWMmyYvVBTNnMlbDftTgAYbByALlgbmsSyTnNWwtYucWwLlFfUuYyQxQWeHFuOoGgnvIHXCLlsSBbcuOoEeSsmXevnNkFfZssxMalLRLNZznBJjiIhHuRrUeoyKBbEkSfKTtzuRrUwWNLXQqKktfzZEUuaAatKkKkTXxiIdiIDHhpqhExxEUZufxXbBFqQUfibNSTtsfGgPeDdEgrSsfMFJjQqfjJmSsKkKktGCWJRrLOoaWJjCljfGcCEoVvDdOeRFFfNYynRHKeEppYyPHDGeYcCgQBGgbXelXxLIiECcZzsgcCUujvqQVbBJSsGgJjBEebNnpPGBbrbBpzxXPpbBZUoOWxwWXCctTOoxhOvRrVoGgumMUmIiomMJjxxcCeEXqlLgaAGDdQSsOlLoXlONnoUucCLODLVvfFUGPpcPpyZznNuRvVgGrqoQqEuUWwerbmDeEdtTtUumMAgGYAeALlrfFRXxrrRFzePpsiIByYrxXbmMVOzGOoJTtcCGgkKLlElLebBBXxblqbwzhHuUUocCOERpdtTdBbRVmfsCVUuhHNzZdNnFiTtaAgIwJUAauwfFWNnBPLsDdGDdoOvVgTMQqqPEcrRjJljHIiaiIkKAIEJwWaCcrQLlLJZGitTItTdDgHYylDTZztmYWmMwZpPCWwlgGqcCQnVvOoNUbtTMSXCciIZSUQqJJSBbYgGyjvaIiAVJVHdDNnFzZqrRQJCclLomEXkfFpArpuUPNoOnRjJxXCptyYQqwWcCTyYTxCXtdGgkIhHWlcCLwJoaAITowWxNnEIieJjHujJWwXxUukKmHlBuUbLviIcWwMUusPpxXZOtVcCvTeEDdXxPpDSgJEejIRriTwnNyDMmQwYzrRZyJSqBpPjtTPXxMGzVviIdmONqQDIiIiaLluBbvVOoFqQqWxXzqQZivkiIqQKFfVIiIelSeQqEoOoOKkuSjgGEEevkKlLxEeRbNnjpPlzZEgGedCYyTXxCctZesvVSXxNnifFKkTtIwXxtkgGKtWwXEXxeRBQqDesmwWMSwWgfFjjJNnnhRVvuUbBreBFfRhHFaSsAiKkPpWwRrICCnBbyYjJtUuTCcFjJiIWcCUaTtZNnAIRrLBVAavlLblXxigWwyYXnytxdDfHhLlaKGgCVoyyYYdDOpQOGlGglLLpcFfCUmherRuUqQqUVAaFRMmZZzaeJhHkKjECcUuBbxFfSsuxzZaAXDleGEkXsSpPHhxUgNntZzTdDznDdOorRmMUuLloOcCNKkFrRLRYyBlLziyDdHOoheEJWEeLlIFfZLlzInHhFfgGJjdxEXxxXEKcaAyHRrCWVvEeKkFSNnDFpdPZYJHhjNwWGrtuUToBGgbRrFfEuxwWHFfAaqQhXUTtJjOoLlClJjMWMmwkKkKmsSxXaAoxXPpVdDOJtuzWtkKmMOzZVvoiiIpxXpnNPYDRjJroEeOFUufQIhKkHyYeSsEStsUPpuJjdHhSsQqGctxZzQhfFKkZzCiUYWweELlFfQBbGpOleNbrRKkBaAgSsBwsSYFfyWbGnsfFtTeJdDUDAGgVWtTFfvVZaATpRPGXxVUuvgLlaAUmVwzbBjrGgCAactefAnNpkKLlyYoOPuUaeEhHwfKkKXVhHegGEPWwpWSUrRuVvsFgwWGHJFsfFzmMFoEewdEvVGgnNBioOzZNEQqoHBhOoGgTtPTwrRWtpISgGsiEeLlIhyOoYsSHBMmggGGlLbvVXvWqQwLlwTtWNfrmrSNnJmALlvNjJHhyZzdUuDMmRjZzPprbBrRxSsXRJMFfEmtanRrjbsIiAGNnoulLUFHIiyKksScCYhdOUIjYyJioOFHGbBgCFfFeEfchfwWNyrHYIiXBXxcoOrRkplLQqCjEeaAryDdnNIiWIiJuUNnjViIlLQOoqLESseyYxEeTtHLOodXxgGUrHhrRZGgCLOogGnNYyjUjRrrRpPSYNnLZzlyFfqQfBvVWsSNOHhtTbBnVpPvkKkKpauJjzZUnNnMXxmNFfbnNMFfoyyYYydDUqeENkKnhHeEWpPmMQORroAteEzZzYyJjwDuUqQajJxRuUrghUFmTCcJtTjCqQeCwWcPkTPohRreAXEeDdxsSJjoOoSsOSOoYyWwiILjqQJaAlwkCcSpPWjJwwWZMmfFtMEeTFpQvVqHhHnoObBcOAaotIiMauUMcCmKSLlsrhHWwraUoXxOjmxWwbBQzZjSsLlIwiYWRrwyWcLlkmaAYrRbByKDdCtEeLRVbBsSUubBStRIsSidDZIiRVpPRrlkuohHOtTjJUvVCmMEWTtMmyYMmoOwPBPdRpPrDPVvaOHexOvVoAaZpPDdzxXmnNMyGwWgiWwpPVHhnEeDdNYQiIBWwCMmcbqdDCJjcIissKkAaFgGfwAhOcCxabBwWfVOovqQbDEbCpPNHfFTtOEnmEGgEeAaJcCPpuUhlNQqDdJFqEvwdDZgGnYyJjnNMnlLNmSdDsCHDiIUudrRJkKjmlDdNDhHjrOopRnFfHhfFqIiuTuKkKkvVuGmMgjTtnWaXsWwfcCFkLlfVQqvFhhHHelCcSsrRLxXMHhmUdRSrRsXtTiHhCcIakSQLZzEeaAmnNMKtTniIJjjJwWfiIoOnQqQlhHEEwWzbBZzQqZCSGlLCGoObOovVBgHpPqeEeoOOoIAarRsSqjJTtxXCpPOoBbEewvVmRrMjJBAQkFmiImPiIpMGUumXxMvWwqXxuhrRLGgpTtCjVoRrAaOwWGdWzFGgfKQBbHhBNnsOSscCMmwWMmEVvUueOAajYEiIeoOeEljJcMmkZHTGHhoOTRrKkbBrwWUusIuUTtEKkOoKBbpPQqkCcOwWzfFgnNPpzjxCcWwuCnMAiTtgBbxXqQNcCuPpsSGgwWUvVEsSAxyGgPAadPCPpwWcjhHKkArRjJamMHhDdqQFSsOTXxtfpIgVvHhDmMdAjjJJaGSXxsGDxXEmMeiIGgVJNSsnjSBbsiIxcaACkKXxXctWqIAaifrIiUXIAaRrXxlLTQcCRaAuUUqQLlGvHhKIikiIoOVCkKcgGCvjPcfFgOoOeEeEqQGQqWwRrHoOKJrJtLlOnNLwWcxSayDdKkCqQEzZecYGgboKkOogGOnNRyYrBqQEiIeRbgGnNymMHhHdHTQqxyYXtNWlCcAakIAvEeVuUSUxXoOYyusHHhhXtTtwMBbmWzdQRTtwWuWrRjJwGXxIigWPpYywpPGgWVvBoOpQxXqpPPIibtTkKrRqpPQJjtTuUwmMjJdDmkKvgjhrRHqGqLXqhMmHzZmMUuAaRtTrCcBeErmMeltTLimYWweKwLcaAuUGgChUuvVGuUOYuUUAauyePpELlQUumjeEJTCqQaASaFfdDtTgGXxeEyYCNeplLHhPBbUuZVkKkKFLlfclLsXxSyYywLiIZzjJldDNKkOokmtDdTzBbRroOZyOoQOoykKfnNkMmKaQNnqpfFbDEKvVkorTtmqoDnfRPpYyvUuVPiIprFNdfFXtTKiAVvfnNnRUuYytaAWwxXuUCcTPwGgaCiUuAvPpVagsQlLNQqnfHhOkKLalLIiAxqQXjJuTdDtMmwUuaADdvVseHhcCzZEKkSMmWTjJyARraDGgUuHgVvGGMmOPprRKBMmwJluJjsSURrgPpGHhoOJkFfKHdDiIxXiIiIhoEnAvoOSqTDdDdjOoSsNaHLlhsSMAUuamWEjJeaIiIiARcCrihHIhqsSgGqQQnsqQSNzZtTDLLllicPpxeEdDJjXNnAqQTtjGgKkVqQKQTtWwsTtTuUTtwLltTfuUmMnUiXxwWIWwidAaYrDVvYTkKfoyDWwZvVxosUSyYLoOQqlmMeEsMRImMicCrmjJOoJVvjJjfnNKkuUrRtTRwWrBbUpSaayYyXxjJHQqUasSAicrRCqYyQcsLlhHmMqQKkFfurmMIrDdXxlVkNnfsEJjHWNevNnVJSsiUupZzkKOsSBsSRNnrcCHAaFJiNnIjwWFCcfLtfNnFTllLoOFLjkKJJymSgiKkbBDdITkdDKvVXdOotTGuaAUgzqQgGgGDkKhqLlQQEeqMgYyKknNKLlLzZJjlATtyIisbBvVSIGRruBIiFcwLlBmrtZHHhFeHbBHhhUUhHZzudAahHhPWwPpGgyXxPSsfFDtTdpMJXxjmqaAQvnNyWwYkTtLlKhXPpxlLeEhxqfFQLOolHPXcjwbmsSZHheUulLzMmllLgGBMleEejJhHJjwWGpOkKyYqDrRdEeqQQqQohHJrRSsjaAmCTVDHhXcCiIxeEwHISYysTUiwWiItbQVLvVlyqoMGyYgmEeOFcOObWwBogUwWuBbEMmBbeEeGqqQjJxXTOwWsSiOAamKkMBbrSqQsBbRaJjljJfTzZMeEBpSGgsSsPbwAaFNnfHekKEhcCWwVNIFfKkiufFiIkPpSsYyeElrRLfkKkTgZzGrcsjWwFfJSsSCGgnNLlzZRQmMqPpMITtivOoVikvVKsLlDrRqLzZHZzeEUjJrRgQlLobBGgOYyyfaAFYqsnolXxLZMzZmzODdxXXxhHAhHMmRIoOirtTsdqQDEvVEeEAnJjNnKgmVKEepIaEenNAIiiAiaxLlXtTAIawiZQqAtMmlzaAhCcxXvuUzZoAaLlHoOBXAVWDBESqQvVIivyYVsjJOtUuTLvopCJXNgGnBMwWwyWwYWHsSFkKfFnNSntQSsGMtyYTCSsRrhhRQIKkNnOoEeVvCcZzIiGtJuUeJjEjTvuUGkmMZwWAafUusSPFfxXpRrgGqQfiRrIFTFCQqZzHhBbcfoAVovMmDMmQqeJjYNHxUMmuzQMkKcHhCsEeSmcCxMLlkfFbcCrRBKmTZIiLlAFVvopNnvVZzeEPOHJjhfgGnIvVeEiHhmMNMmazXxdDZQbGsrKkRCcpkKhiICrRygGaAtVFyYfwWyYzHhZfFjJnOaAoNzZmHhMaAvyoOmZkAaKziIxXRMHhzZNJjpEAaPBbjJphwuUMmjoOhHwWtTVRrvpPqIigGGpbBPlLmMTXxuQqJjThHrRteEJjtTxXOoUyOoRSXxTtAyShHxXAAZzoXQGgikJjOICcDAiNndDDAAaaduHiGgfZzBVvxXYhmMMGgQrRHhHhqqEeJjQJjPplhHKIiDbBzZOAAaaHheVAhqiIQHmMHTthxZztubBEQqgpPGRreoOmtThHAaMZzUhAzZDdCceEuUkTCctXcCVvPOopsSiIxFUTBUuRRrGgOjvQqQEAaVvPfcDdDdCjOCWwcoPtTpiIlLyJjHpPheyJjoOZzuUdDKwWktCcTtwWHhVwSsWkqYSIdlLDrUSBbyYdvVHZzcCgGPpQBbqXtTaAxJDOodjczZUuIiaAgxRrGZdDzxXSslLbUuUsStmcYXEexhHXxnGgcCNfHEfFNXVvEeNzbBXxMmdDyYtEeTpiInLPplTSxXorQoUuwWbYCcCcJTtFffuUVrrdDRAaRHyYqBbQaeEAbEzZeBVvBJKkhlLizZUuyYuUbBIHhvVacZzPphHMiISAqQpPeJjoaAxfEeFQjJdmqQMXxiIetTkKEzuWAfFaSpPkhHbgCckKGwaGgQqLltoOOYzZPESHFfZlLzhsGqyYMEemUVvuNnvVNUHrkEFfDdktTKUuTOoUutEeFyFfDMsSDdmKIQloOsRNcCZtRmMfCoOpPSwWxjJQqywLPDdOoSxXwWWwDEysSYeJutTGdDbugGrRaUuALlGgUZiIHiFfIqgGnCBbLvQtnhHnteEQIiENneVeTtsiISUqsSOlLodDQiXxIuLlHPQaAMmSBuSseEXxUCciNIiIZlLIZuUzfFihHqQGoFxXMMjJpyYdDBRlLrbtTTtAKkaiIwBdTjrfIbBkGgDdNEenfFsSbBKdlLNnsSiGgJYBGgwuUWoObgSWwsGwwxZpTtQqdDPUuhHzPpUEewWuGjJgjJXWkBsSuUbwGgoOYZzyQOEeoCcuUbnDQqkNnyYLlKVGjKkmrRnNOzZPXxXxEepoMfUuSEoOsSyYzZGhHsSgGlUZzoAKikKIGdgknFbBmpDdVvlZzqQbByDdYepPIisHhSwWEWtEUUuhHupDkKdATtaleEKvVcsSCxXkdVvoODXPXXhFfyYTtHxQuXxUqqzZQAakupPWwZzgdDmPpMQpPqoQlLyjnjJNaAgJjrRdKkNnbBDjeEXMmbBKkjJgGpgGrRlLBDwWBbdiFFffGgvVQqDdeEIIQqDGgXFfUaBbWwwMcCmuRreEQzZpPqYmPpMyUPpalLGHhgvZzLldDtKkFHNnhfGgmMbBDFfjJHhIijJflLFiIOiIoMSsdYyDrRVvPpHkDdDRrBgGXxfFdXxDbXxeErJjkiIKVvcNnCRejDdJjxjJzZCARrRrHhaXcCxhHbEqQeBFfaAgWwtTnbBLzBbZwWfBbZIYyEeEePppPwWNXAaxFGgfnbBiKiImMkPMvVHOzZocfFSsDZhHzXxuHVvhJSspJhHjazVvZAPxXjUXTuUtOIiSsynNYuUvYyGgdyAdIiaeaVvAgGBbNneEEAbaABqfFQqYxXNnyNnHhDdEuUrOoRrWwQqRHheIibYyjQqJBHvHhVhQbGgBZmMzwWAaDaYzinEemMxXLlyYLlBrAafFbBAwVuUvJjIrRTtyYitEdDejJwwWUKkzeEZbLllLaHhAMeEFfUKkKjrlLRAYLqlLKeEoTtzZEvAddYLlyrgGqQzZmNnMxXrRoqHHhhQFHSpPBbsAacqIiQChfOxrRsSTtuURIiuURrRryYUucCTnIiNXSsxtrQCcqQJOdDojqxsSXoOjJXvVgyYGiTtIwiIzmMvMmVuUJjZuUApPOVyYtTwLlNsShYyjruUfNnFRQOoeEofnMmCcNjRrCfFcpPIibxuHhBbUgGLoFEQstcAaRjJSsbBhCcxSsXHmMnrRZcIKkrPdDEesoOCcSIjvVUKqPpPMmXxpFaAfeEfFsPngGNhsSvVHSAasqoGXxgyYOhHWwBbQrRpPoOJYyeEzZvVvxaAaAXaAyYAwlLWTcCtSXxitUujcqQBbCiyYIckKCBbjyYwDEeIiolLSsOPIioRrODdpwCczZWPmMbRrbBQikKmMOkKEeoLlIBQqsSoOsoODdKkqzZaAmMQWpPFPKkppkKtTpPfFTtPeEkGVvSsIigGmjQUuquUwMUutTwjJBbWIijnNcJAaAIiiIIuUKkNnSRrsRrvwjJfFNNnnPdDpqQCYkKyNnQqxvVsnNvfTrfFWmsSMhKkHXxiaZzApPLWSseiIEDdwGnNvcaXxQIiPDdlzVsHCYWwqSsTfFRHhBbBbRrLdRlLrzZJSpPsGQqgQIihHVbKkCGOoNnjASsuoOUVlySseVvEwEQqiIgpPRraSsSfntTNhHFbBHhLlzZsJYQqzlLYbtTBZzyvNngLlGQxXqoOnwbBehAaHEboOqvVXTgGNKlZZzyYlWwuUCpPWQqUutThHjJfQmaAmfFMMYymloOJFBbfHhJjjvVLvJjEktTqOoQbiILlBKeYhOoHZzOJGgYyjYiIyohHFRrfUuLmDdkykKtTZzaaAdKkVvDFOCcRrwpPmYFfyAbBWwiICwfAaFyQOiIoqYpPjJYyqEvVHNiInQqlnXxNcCLvVhHNjKHhkJMmqQEAsSnNxXukMmKSshHyYQqMmYWwVvAIiYtTyyYGguUWwaJSsjUrRbBuZzRrrRKKyYdDBbkBsSqQFKkBbfXDdXxfkKbBFkKrRHYyRrhlLGgaANrRXxpPzZnxiIMmyDEeGgSsmEeMXxdbdDBYniINYyGgxXaAkgGnNzgGUSscCDMZzTtejzZwVvBbZmMjbBmMfsaASfFFLpPlBbKkDTtdEVvjJqCMmzRrZcFyYiIflfFyYYvhHwtTFYyfXxDdmMjJWZuUzVNcEeCaAEeQyYOoWwZQqRWwoOACfFOocDdIiKkDgFBbfGdqRrVBbvCcSuUsQLCuUqQVKkvcoOlkKFffoOjgDdGJtTGgHvVFlLQqfhvVFfXxMBYxrnjJNzUuxXcCJcoOaOoaAlLHwWGgHhQAWwagGLlvEeVqOoRrnNsaASAnyYcxFPpfBVvtTPpVvbNnNXXxlLpwWpiaAzdAakRTtmMhHNlLldDLnNzyYNjpXxPcCpTtPLlJjXxKcCTtnNTteEDdNnraeELTJQqjtSBbsbPpskKAayAavVUuhHgGGPtvmMVgRrGsSlLlvVOxXkKnmMEeNOohkKEeEeHOFfosUuSJjKcCbBuzZglBbrRIZzCcGgPcCpicdDFffFCLOCcZzoGPpLlfRSsgVOBbyztsSTiIXpPZzPpdDxSofFOaAnCcBBbmMEebOoNAiIVvasoDFfdOkKYBbyMZircCweEWbmMBNAaTEEejJPuUuEeUpoXZzKNnpPAlLaAtTTtZzIibpBbPEeZzBHMmhSsayepPEDdWWwLLaAllXHhxGCcgPpPgGpdDIiZLlIikhHKKfFkKkRiIQSsqGgPproYyeEkNnKhHsmlLrRMSOGgzLxXGgAaVLVrJjRrRsSvlCcvmMljPpJcCWwsUuMXxIiEoORtTeErKkeEoOQGgGnYOoyGrRgRrQVvqLlPpuUNUujHhRikKImMNnrFTtVkKvfsfJjFSvbBdDVLlfFXxjnnNNUQqzfFjJXxaAZzZeXxmMEZzEyxXeEyYYvVLHhdDqQlefFGhHbBgpPhrRHBUGhHgxXmMunOpgsSGmMPnNBYybouUskZzMmmryYeYkCnGtiXxIQmHhgGMjHhJqTCcTKktfFMtTzZmfFVUuAhkKHLlzZsSlEMmcFZnNzfEeKkCUyYuGlSsLgcCVvVvIiYyVvIaAPpibBkKOoBcCNgGfQxXEexrSszZSsRkNnNnKzZMFfmkKmINniMaxXVeiIEhPpdbLlgAaGzCkKYZsgGSRvVgGrRdDJjAaMqUmMAaPKknNpnNTGgmfQqdDJjUuaaApxXIiJjMsSIxXZwyAIFfiLllLBMmbBjPYuUEexXyyNngEemMEehHuUYyGfFNnekKEJdDjaYyAhHRxzZmMbBLlnNXrYCtTeEaAaAhUucCHZzczgGgOPpXWwWCcOoQhYyHRrquYuUPpHhsSyNnzZoOBblllLPplLLiIrxXRmAaZzXxMoEejRLlrcrMmRdCcwLljJiofaAFOIfIPpiKTtkKQDdBcCbwWWwSsmeTtkKJjPpEVvxXDkKdZSYyVKksSXxRnNreEXxMpfsueEUWyiIvvVcCVYvBbVKOokAaPHhLqQwWhdoOKkDOTttTuUkKoxXLlPpiIHcCcXxDWwZFffLphHCLlcAaXxyYPJXxaAjGglsSKBbklCcLkKeEQHiIzZTIiHFfCqQDoOdWwcuXxnOokKaNnjJAXxhdDHhHiIAaCrjRnNLlUuaaAAQqmMbBWFCchHfcXxMmSsbBYytTCwsSyPpAbBmMWlLwaYWwnNJjrJzoOZHbBhkFtAsNnfFXQqxLlyYdDjnDdXTtzmrRMZqqQjIcCiGgLlJpOYsSzZjJSsvjnNpHhisSIuUlLxpPVvXPTtHhrAvVGgabVOovAaedDmMEmMBRaKkAjvVJTxZxXDKkWYyVZmMzvVkFfSrueEyYCyYRrfJmMSsjNrRzWtpEeRwWHhlLJEeSsjfFQqrQqRPNtTLlBbtOoQWwTtnNqkqQcCWQqrRWwwKoxOoXmcCMtTtTGgvdDclLCIgGZxXLlSskeErRAwrRRiItTrLKshNncKkqBmuUaeEoOTFyYGgfFZzZzMFfpPRrUuOOofFVvxXoKkTttTrPpHhRCGMmLlkKOoscCIiWrRaUuAAjJavwWVqQtTwZznNTtOozZCcgGzZeUUjJAdFfrRDaUggJjgIiGGGAaurZzRzZMmunBTjJtIBHhbiYDdpPyUPBlPpLEezZJurRUJPmqQMZzrDdDdpPLlQnNqYySLlkmMKKHGgUmMzlLOoUuoOLdDeMmECcfFZzaAUbBYyRrtpvVCcPNnTqQLFflxJMmjXRcCruacwWCAoOCcAiIBuYyUYyJjVIOyYkoJWwEeGgSfFCcOoNNEXoOYykIiKxuUeMmaAczJVvjZUjcCzZJlfiTtIIZzIzwWyHXxFfHhFfhWKkwAoOaMmYyYAatVvDcCdTZYtThFoODdxMmfFVvoKkxXXxqQnNnDddDhHBbmMbBNKkGgCcsTAabBtdqRrQpPYyrRpiIJcCMmxZUsqQMmhEBOohHYVvybtTRSsrBFdrRDfFDrqnzZNFfQvVRhHAaKsSuUpPkhRrQoSsCcOsSGgqQccClLhHhHSsfbBFeUuEfFmMMmlLOoWuUwVvYojJGgOnNDdECceyOJxXkKUqomGoOrIiSsjJlLQqhHRkKlWwInnNNwWCckPPppCBiIbtTqQJdOoaAvCctTfBbFNTmpPAcCaMtnVtTDjxXuUPpUuAatTvPpSsDdVlnJTtjbBmMNQqsJjuUSeELHhmUuBbAFfJjaIiuUEeKkuEeIiCcmMUdDHhbBMvkKDdwdYyDqiIQlaALbcrRvVFhHfQtTUuzZgGdDZzlmvVMhMgGmHLYtTycCbnNJjoBGgbOXWwDdxctTCoOkKBxRrXiIRqgGOoQHhznNTYytGXxOBgGeErRbcCoPeEeTtSsBjJkiIKflLFuJQgGqjuUCuUcRNnpPpIlLKMmvVkFffUuFJqQZokKcCOmDdrmMRMriIlwWUuLRBsSyZqQgGzhvVHfFgGoOYhPbXLjJyYEelQtTDmUuscRrCjJSQqRrQqrhHmMlLmMYyjJiZzmeEncqOoQbxXuUDdBCdDYBbyNuUMXxLJUunNjzZlZxXoOOzZoRhHrzvVNnIjJXUuSFfIisxvIpPiIiHQqpPhXxIPpdbBBbXxDgGbLhDdHPJjphfcmMDdVvCFfQIjXxJgGRreEiqdbBbBaAEkKBpafFlLAGgPYyFfMsSmSwGgAaLaaAAlUdeTtqlLQoOpuUPcfFCfFfVvFtTAamVKkEeFnFsGgeEeOoEtvVHhSsuSYymMtBbTsfTtqCcQLlFIiUHhBbluUVnNvjNxXnJMmPpeELlfFLdDSOoslWzdDZDKkqQdsSsSjJrnNoOTPlAamMLKkpPsSLxXlaApGgEkqtTQoOhGgHKgGyYKkDtTdewWEDdePpsJjqiXxmMcCaAImMGaAgGgcCxXcWwCSsZzgVWwsSrRjJwTtTtbaAcCuUlLUubBlNnLwlLWZzIgGiTtwbxXBeEFfKkEzsSZUucCsSeWIkdSsDKiIFfIiqQVVvvilwgGMmjgGFfWwJKkuUwhHWNcCbBnuQQqoOqFzZvVfDdueEUlphTPptKkgaMoOmBbAYyGHOaAlLFdxXzZDkKwWOiAaIGgJjonNfmnNNnMGZzgcCQzZPpDdcCqWSsoOmQqWwMpAnNiJjIatnNEeoOyYhHgRrFfpPUuPpdQGgqcIiknNKJGgjCDFIiiIftTANnaDddDDzHhrRZdGLlJjbUuBboOBEecCBbRrsSTlanNUuDdAjJrRLvAaVmMWNnQCwfFGhHsSpZzQqKkHgGhAazDOoQqBbpPeaAITtiXxEXQqHMmhxrgGRrmMqQRaAVvQqxfFhHUuhsSNmYyMjJoORpPreSsEoODdnnUrRuNfFBVidqQkKDVNnrtTvpPVRvAvVFlfFqQmNFfnaAoOFfHhMmZDdzeEMoOmcOojJOoCyYDdMFldzpPLlsSZDYyyAYyJTVvvVqQSsXnyYNxCKkeqQEcVnNvjJMQqSYysPpKWxXwgdtaATtTDrHhFfRBQOoqblcCLjJLlnNkKXxxznlLNMmLJjTtbBlKkYyTkKtJjmaABbMZzNnQiMmMmIuUqQgGUwWfaGgNnTtWwAFEvVaAcCwWAaOotjJOopPrOgUuGoPqMmQPSsURrrRnNuUuRrTAattWwMfFgkaAKcCMXxmGmiIXcCGBbJjhHAVgaAGvagPplLsSnNLDuUdgGFflgGpPbBxCcCRrVvkKBbjJNxXnGgxdsSAaPpyYStCcTOtToAamMsuhHyMkWwKcCHhmhHvkKVgGsnNhzZHSHMmhYWwiIjsFfSKFfTtdDcCBGgblDoOdeEGWJjDdSsIiAawgpPFfIVvIiuUqxXkKQiGgEaAQqegGNatTSsAvVnCcWRrfjGFhHEBqQbOoVvigGBcChHzZbVvLpPBblCckKILlLlARrBbaSslLiIDDddOoeLlvVmzsSZMeEkIiOoKiIPphHNnVvwHhWwNnrOofFRvzZfXxDdFWwwWVWYyOoIVBbQqwWEmMNnevYytkKTMuTGWwGoOuUgeEBbeEgenNWwIiMhqQYyQqDdoOHZJjzmzZpqQPvVuLRrgWDDgGanzGgRrZNjOyYeEEeoJzZwNgGkKtSsTHhAabIwWZziZzIihGVvFfqoOCcQgQqsSJjoOemoOMTtsSEmMLlisSHhIbBTOomSsMtgGKfFZzkHhXeEGoORFfrkKBbshHSFfzZgQoOqkwWGgHhsSKIiDWwxpPHTNniIQlLqtLbBKklhqQxPpHGpPOooKRrkOgfFPphHWwDdhpYyPXuDdPpUXNcCnJyYvBbVjCcriIRDdIiUumMrRlLYyicCCUuJjcgGcCImTtyYTtvVIirRcCMKjJkcQcCtVvTqLfFlIiPpYyVvLKkQqlCnmMNFIivWwsSgGosSOVfXxVYyvNgGNsSnEenYyTtLiIHkKwGlLXxGgNngAaXxWHtThGgmhHMLHhjJegYyGOoElLcHhCkxwWxXXKIiMmiIioBOobXxOEeIRIirWKkxXqQtqQTkKmMGgRrLrBbAUualLPpRlorROKkKYyUuknfFUCcIisSuNkTtKqQDbBBbTthHWwLlqQbBNGdBbDgaAtkKMmTdDCcAaUoOTtcCPmmMFfWwoOMpwaKknNOooiIOTkKfFYyJWIUuWwHhibBWwwaAMmDdXxuvTaAjJtezZEVxXBbUeEqsSQMmhHCSssSUDdggGsSGlJjGgwWsSJjAaoOrmMVtTtvtTVTCmhHMCcTtMTtLZztTlsSsSmZzctTXoOxvBqNnQVvZkLlcCKzNnxlLXFfZzLlsxXSnQRrAaqLlKcCkNBbbOoCckKvVTyYtKkCcALladKkDkqQQqKeERerAaWwREHnNMqzZmMGgQmnBbNeEaBbAJjINSsSFfsnRriJpPsSNnjVvmMWtmMTzZwHUuTtJjYyEeoOUkPpKuRruUoOPpHFfhXxhXRrxBxjMYZoOQqzymTtaAJCcBbcxXKkbBMmCXEeXiIhHxRrgGuiIoNnOUsSbKoOAKkFfOodIiNnDFfCczyYEFfevVjeEJZRrGgEeaofHhFvVOoqMmQxXsEeSrRIikbBKdDeXRrxzZGgIiEjJvpPccCCbrRBmMaAlLVIMFflLmicDdNSsxXnmyYMFfOvJjoOVFfjJoyjJjDIidpPCcqRBbrFfyYhHoOmMBbtaKkDtTLldpPcCLlnNAqsSQTkKjDdxJgGmVvMjSsrRsSXAangkKhHGsOoqQJjSddDpPDAaMjJmOkKFfCcopzxXZzwfFWiIZPRrAaRfFrgGKmMkgGoLlORrNJBbCcJpkpPKcgwWnPpNGCYycCMIimmMPwWaQqIUCGgqQclLuhHiyYAyYyYsSCEeeEcHhjJlHhLjuXxrRUnRUurNEBmMfFIiiIYsSyzZbePpCcQJjWwtWXxmEeMFfLgGkKhLYyiIkKBbDdlCEeKyYDDddqdDUunNQnNNnkKkKFkgGKfkhQfFwWONnopPbKkBqKxXksLlSKkjIiJHcHqgGQmrRMoOBjFDdkKfIiaAiHhIlLaAzZJEeBbSLlWwWFfIMLlmiwWoTLlFuUftOaHhAwoOPZzOvTXxtVUuoiIimpPfFMIpKNnlDdbnNBzZTtLZQqzkYySsVvMmrRTZzGgZxXjJSssSztdVVvvmfFMeEjJdeEDlLcCMmOopPAaGiIPKkpgjJYyCcIieaAEQbBdDhrRLzZlFfxIGgSsUuidDXHqXNnxLvcCVlMXxHhbBmPTbBtFfMmhMmrRHSsTtEeBbpZinLlNIeEHhsSJEeCxXcpBbPYyjohHVvTsStOzQsSwsSWqKiiIIMmkKOokKqQvKfTtFxXkVQmjJMqrRzvVZyYqQYHhycCPCcqQpHhwWiXxIfFLOnNWwFfoYydtTDAalkLlyYJjSVvsWIiBbcCRrVEeOelLEovtYyTMsjSNnsJSfFhyYDdBbHyYoOIiTtbBeEmGgwCAaJYoOycCrRjuUeEcRuUreEMMmSsmLiIzZlQqxzZXynNYOoDkKdQqDNnmMzluULZwWeSsEPpryYnNEXxeUuZqQKkMmfFEnNezirRHhiCnNcMmVvVvIITmMvSsVtgGHzZAaWTtwAahnwWNDdMUXxuiImRmMNnQtHhTFjAjJaJfqfFDdciICuUbxUuvVXtToOoOQyYqBKkHswrRZzgGWXxRrAHhOSsNGgnoaIiSGkKWYySvYyBYybVXxUFfuswYyUugBtBbTbdRrVAalLvDjJYygGhZzpPt"; | |
while(!isClean(s)){ | |
s = clean(s); | |
} | |
System.out.println(s.length()); | |
} | |
/** | |
* Removes characters that opposite parity | |
* @param s String to clean | |
* @return the clean string, removes the first sequence of characters that will react | |
*/ | |
public static String clean(String s){ | |
char curr, next; | |
int i; | |
StringBuilder sb = new StringBuilder(); | |
for(i = 0; i < s.length() - 1; i++){ | |
if(s.charAt(i) != '\n' || s.charAt(i) != ' '){ | |
curr = s.charAt(i); | |
next = s.charAt(i + 1); | |
//System.out.println(curr + " " + next + " " + willReact(curr, next)); | |
if(willReact(curr, next)){ | |
break; | |
} | |
else{ | |
sb.append(s.charAt(i)); | |
} | |
} | |
} | |
if(i != s.length() - 1){ | |
i+=2; | |
for(int j = i; j <= s.length() - 1; j++){ | |
sb.append(s.charAt(j)); | |
} | |
//System.out.print(sb.toString() + " " +isClean(sb.toString())); | |
} | |
return sb.toString(); | |
} | |
/** | |
* Checks to characters to see if they are in the form of Aa or aA. | |
* @param curr the first char to check | |
* @param next the second char to check | |
* @return whether the characters will react or not | |
*/ | |
public static boolean willReact(char curr, char next){ | |
return Character.toUpperCase(curr) == next || Character.toUpperCase(next) == curr; //aA || Aa | |
} | |
/** | |
* Checks if no adjancent characters have opposite parity. i.e (Aa) (Aa) | |
* @param s | |
* @return true if the string is clean (no adjacent characters of opposite parity), false if not | |
*/ | |
public static boolean isClean(String s){ | |
char curr, next; | |
for(int i = 0; i < s.length() - 1; i++) { | |
curr = s.charAt(i); | |
next = s.charAt(i + 1); | |
if(willReact(curr, next)){ | |
return false; | |
} | |
} | |
return true; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment