Skip to content

Instantly share code, notes, and snippets.

@kylelong
Created December 14, 2018 18:38
Show Gist options
  • Save kylelong/971d4245d0f8cc115094d836ee832873 to your computer and use it in GitHub Desktop.
Save kylelong/971d4245d0f8cc115094d836ee832873 to your computer and use it in GitHub Desktop.
adventofcodeday5
/**
* 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