cem 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ vVuyYJjUzzZPxXqQpZmgGMvNmMyYTtnVkWwKVvOosmTtMSkDdKFsSpEePhXEexzZtnNTHEeGoOmMRrGggfnSsNwWVvJGgFEefpPMmeUuEoOBbjJuUwWjhHUMmjYyJsGgiISEepjJGgPZQqoOzyKkvVWXxhpPFcCfreESsjJRHUCcXGyYgQXxCcqXfFvVcCLlxxuwMmzZkEeoOKHhHLzZFflhiIOoHhjJaAJjYyHJjhmMYUwSsWUNxXUuFfuKkbBUtTnJjuNeEYyTxXtYyeIixXsvVQqSbBrRIifIpwIFfiWPiFEnaPFAafkKaKkAFfptTTtACHhWwcKkBbwgLlfFGWPUuJiIZFfznNjvVpSAaQqsnRrOojJsdmMDSVvRfFWvVwhaAHrwWUyYugAqQqQaGEexIiXVWwvbcCcCOaAoqQBLlNtEsSyYntTNeTHhZnNzJjSsCcWgGjJwzeEZaqQHtThALlBbnNJHhjbGgRrBPrReUcmPpMqQCuWwNnELlfzHhrRZKkhHFqQXxmjJMIiUuGgfRrNtTWzZwnlGgSssSsSrROoGguUdDkKwWyYghHGLDdxXoxXOFftdOoRSsrfFArRaSsELleDdDtRqQTJjtCSscjJbBrTevVrRQqDZzdYyYYyrkKRywWHRrhgUuGdDspPSrbBRZzYmMoOjJTtySszZiIzZdXxEeDJjUIizZuUuUVvucdiCcILHhHGgoOcCZnNzRVvWqwWfFexXEEeQwGgrBbhaZzAfFnDBBzZbIibOaAQqooOOqlLuUVvnvVNQWwoqDdgUuGSsSZzLlsQrRGgfFBbdnNOoNyZzYEelLcCPjJxXpHUuhPuUpPWsSGgRzZpPjlLJrUTtuweqQExXcCfFwlLtXxTWFGgRrcCiBbIKkHgMPpmkKGwWhgcloOxXBbnYyNlLLeDdmOoeEMEnTtNuUtTjJIlpPLQUuqmeEuUMCWwciuUnNnYyNfBbObBoFynNYCCkKoTtOFXxZzugIiGStTsGgxXBbFfiIULtTpPSslCcfnNYtTxXycAaaALtTlUrWwhHWWwwcCRhHEZzdDeJjoONKkAaWwXxntrRTROortzdDZTuiIAagGrRCYysScXLlYyTtxUudDzZHaAmdPmSsvVMpsETteDdScPpCDfFwWQqrBbRBbBTUeEutEeTtKkpsSPCcAglLGQqFKkNnsSfbBOowWahHPRCcrpaAvVCPpcnNetTqQEnNLuUlExVAaBZzbvXvVHheWwRkRrKQqYyFUufrRbBrHejJEhdSsDGgqMUuuUmtTiInNPLyYDigGIHhdlpnNgGANzTtZIinYoOZzaAyVvYyXxpVeEMMmmDjJdVvqwgGXfFxMjJmWQdDLlkKvvpwWPRrxXMmAyYaVEuUnNgGotTYyMmvcCVOYyYcCEeEeVvsSmMdDyKkjJWQqSsLlqQwemePpEMtiITPagGQZzqUrRXxhHxjJXuUuQzZKKkrRmMKvVpPkzzZqQZkjzZRrZxVvRrcCMmcCTnNBbNYynqQEQqetXxTtWwXzJvFfsKkFfHIpPihSVktTCcWwKDPDdpPpDOrhHCcRTMmEeTttDdwWZhHZzaAoeEgGOGgzZtTzoPRrRrFgGflJjFfGgBbEtXxTewWKkLnpPiIlLdDNphtJjnNAaDdVGgvfFwWvVOyYqqQdDRrjJQoMmeETOojsxXkKdSTwvVWtPBbpsqpTtPQtThsSCsScHmSGgpPtTtTIiPpdDDdDAnNadseEMyYDiIFfiMHhpPOHJjfXxyYFJjKKkkiHhHhnYwWaYyAlLxfFXyEetTNlfEeFLSmMxXecnNAaCAaJJjYykIWwnNfFifFdDkKKlLVvpPolLkoOaAKZEAhHYbByyYaVvNXxnTdDmMjJtDdzRrkKTtZBbeOrBbRoiIyYRrIcCbBCcUuiIYyDdFfHdDjxiICluULlMmLwWiIqQvVrLTtlRnDdVvwWNoDdOsSkKqoOQiIcEebBkKZzSOosJhHdDeEmMvfFXYyxzZlolLBbOLGgjDdaBbAfFJVvGnNgtSsAaaAyGgxXYGNncrSaAsJjRcpjJkAaAaKPVvCkwWKiIjJlLCgMmBbQqQlLiItToEeOwbdBAaFfNmPpirRgGIMoOXnNeExZkKznJjWrNMmmMSsHFMmfBbBbgGfSsOoFJjaNnMmKuUkAFfXxrPCceEpdDFfKkRhLluUnNnbBXIoOiyYvVcCXxxSrRaAJXxjslhHmMLXkKOSsiaAIUuuUUuLliIbBuUUuEetTUuWYyuUqXRUuFfPpMmlrKkRkKLrtTlLVOBbovyYxjnNdDWfWweEFwubBUJMiIOueECcAWwrRSsxXiIayYUPpmMicCEsSmMbGgBAaTXxtqgGQmMeAaFmMmMThHtfDdcCxXIFGgfPgGppgGiIrRIidDIzbhHBsJLljSJVvjZvdDKkzZXzVLlXvVjJxvIZVvzRwVvxXWUNKknRGgrIipWwPeEudDPpCVvcxXHhsxFfXlLSsHhmMHVbzZBvhSGgZzYySsgwLlYycwcTtCQqOoWChHWGMuUmKkgNnkKzZlLeElLLlGwZpPzzZRuUrgxXotTOoOZVvzcCCcKkDdPpRrFxXZXxMgGmqQKkxXzVvQqdvnHhgUuGNJsSjVDZzdlLgGDbEeBPpREbBAaeGpPvVgDQqCccCmMdTtVviIKkrAaNnBrRrrRSJjsJzZNnrRjRaAQqJMmpPXlLUcCuFfJIiQqjxBHhVrgGOoRQtEeTqjJwcCaAWvFlEeLuPWNnwpfXSsxkFfKWwFEOOooAaRdgGDrJnNjgGyCcYTLlWwKkZzWwteUkVvKhAarRHMrReEqPpQmfFrwDmMdmZznXxPpNMwWbBrBWdDwzZblIiLcyYCRkKRVZFfqQzXgGcCGggwBbDdtTLlJQUuqQOonLkKLlRLlrlNRrQqaAcrYyMmRQkKqCpPfFZzxXpxXRVvLkKlfFOoKkQqrwWPpdDPJjrrRMmRfZDAaJMqQmjPpPFkKMmfCIicpDdyYyCcYVtTvBbfBDdbqQFBbzFfZyJjiIozZDdoOOWGjZzFfpPcCVvJgwSsPpxXEebzZBddTtDcCXxNnDHhEdSuwgdamMAGgzZBMdDkKmdDVvSsIliILHhVvpPFeELJcCTtGgWDdwcvVClLeEDyYdtvVQJjQSlLspPBbDdlIiUurRLlKwWDAaRzZrKkHhSsdJEejkbBUNnsSfFzZJjxNnHYyOoYyZziIgGhxXJjGwgOoGpPHhWgRfFYRxXryjnYyoOYHhnNyNrjJRIxXiJrREeUbBurnbBNtmMTHLgGlOkKSsgtghHMxXmhcCHRrLlqjJQQCcqXxIiGMkhHKSrRoqBbgGfFQuRrUMHZCcKKkkzEelLxXhmMchTttSsLloOrRGgeGgtkKhHTlLEOgGpPoEeaOoKbKkYyBFfyYmMYTtxXTtynYyGgXDdFfFfxAifFIaNJjvLnNPpLXxCcWXcCpPVjJtTvbEeBxmSsQqYyPpZRrBlLbvVjUuRDRrPpJjuUicCGgxdDqhHeEkVvKRrJjtTSsEBboOxXHUyYRrkKWcCwuIiVvhJMmjGgCcdZzDhHDdGioOUJjlVvLqQuUuciIwWiIcCCJjQOoRrbBCQqsScxbBTOoKbBlLEekrRYCIiHhcOoaAFfyQYWwyqxtTUuyZfrRyYFkMmqTtQuPpUUXGgxlYTtycCFYyOrRoqjJQHhxXfKkcCukKzZSxqQXjpvVHVvRUNpPnfFcbBCuyYrkvVKceECJjEehHdDOooOhIincyIiYCNTYytRwWKEekMmMbEeyYfFuUQquUnNBUubBmPpLIXxilnJjMmAacxqQXiIqmpPMMmlBtHhIWwgJjiIeXZMmkKpPSspPBiIbZzpPAZzazNnwWMvVVbBvMYKkpPNxXnUuuEeUEcCeJjJjAKkVvahlLuXxUHJAajUuGgpPTWwxsUuzZkKfPpbBkKFxXlkerREKrRwWLlLkKSGumKkMUgcCXHxDYydPfFpOZzgGjJcCwWBbbyEeGedDeEdDvVEdcCBbssGlLFfUutLxAaXlToOgCheEHcZzEgGetGgOnphHPNoxXeEdDOoTteEoOTbBPpQGgqfFAWwaYcmMdIiYCcyDCONnFfoXxOoiIyYyEeuJVuUILliFLlUudSxcCbgGByYXzZNngGcXxCHNnTnBbEesPtTpGgnNSXxNdRrEeUYyVvueEEAaegGZzIuUiHhCcAaqZzQOoDxHqQhCcXbHNnhbBBrCcRiIKkdDYBjJbGgzZyZzsSvHhVjfFiIpSNnUuDPuUpdsauWwhHUOokKDdARDdQqIikNxXrRnmMPHhfFnNgGpKlLrlLwWLlJjIiPnfIiFYUmMOouFfyhkKHqQBaGgcbBCaQqdDAetTbUuBVvMmdDEmWMmwkKMdTZzZzgGdDgGgGiIdDlLhVoOvFfgGEeMUNWwmMmvVMuUbGrRIifqQLPpwWlRUurcjJchoqQONnyLRrlmMQqUpExXdDeEjLOoliLuyrRGgYPppPYyfFuYyQqLlSsUWwnNzZpEeyaLlmMAYPaAvVpxXPKkjRuUlJjyYLSssSvVrYygGRrgGJRrqQqdDQeElMmsSdxXMmDvUuVIiLUIdDDwWdojJOiIiuKkQrEeRqULZzlCcEekoOrRkGbBgKJjzOkKeyYEofFSsecakKAzZCuoOlddDDIBbiQqixXpPwWkXjJYyxIiKcCfKkWAatTzZnNBblrRoOtTLtTQqtfFTVvtTsSMrRMmmGgqqkKDdQQxXNnYgGywBbfyYPpraWwAEEezZeWdDdDuUwQqvbNsSnlLBkKkKtTpPVWYyzZaHhOMmtqQTnaANyebBEOoymMXrRxYywvQqfqQFYkKsSYylHhLHhLlTXxYygGFRrfwWGgvVOoUuSifFIMmLuUuUYXxylRbBXiIWwxreEBbMmuUuUNjJjJprRPIMnNmisSehHEvVqqQJjpPIijfFJnNQdDXxKcCrRZzqpPnNDEewWdfrRmMCZCczZzHhKkcjJCCcXxEeMaAiInZzNMaAmmLnNCdrRaAtTDLlYyTTpNnPAatBsDbCcfHhFBhHdGgKIdDiXPpxNnkxXAaAzBbZakKrOoGgRHXxhttVVvmMmcOoGzZGLlgORJdDKkjEegGsbBAUuvVaVgumMbBoxXbBVvSslLxXkKqbBnNsMmcEeCqQSQeEkIiKSsbBHIkKitTfFfFPwWkKLlbBFGgfEEJjlLzCcZkVvKYtTyRcPpTtAGNngaDdPWNnnqyYQhLltTbhHXxEeARlEeUoOuqoCyYTtciIOPpQwWLtTVvfzZVvvwWnNnCcjJOcCdDwFfOIVvTtkKfQqFmMfiIBbFEesaCcWwLlxUwZEQqePpbNnQqUuVEecCKZzBlLFfbvVQqYcCypPrAXxiHiIGSdDoULlGgTZzttTMmbdDBdDusNdyYDFfEXxPpHyfQqFPgGpVvtzBbkeEFfsFfSsHhKkSwWHhLltTFndDjoOJHhlLQqVvlLIilMmNnhHEPpeMIiAsSamWABbJjVvgGxXQFfAaXxhnNIimMJjIFDLldAuUNnTtaeEuULFflEkbvgGgGhPUuIUjJuRrRriPpOoeEpHInNqeEdyYtqQTCcNhZfFzTtWpsSPBbOoLlcCapgGHhHoOomMvVcCOuUhpPmMoNncCOGgNnHhFfVvAoOKkVvzZakNoOhaAGgpiaaOoVvxtTXAvVIcCiZRrzOsSrreGgnjJtTNuvVUxNfFLlpPxXXxuKkTqMmCcQtEeUSslLRMmUurQqjmMVvgGaYycCCMmkmdDMCzNhHnuUzZZcFbBDcCvVdfxXxTtXxpYykKpPJjxNnXqYyQFfbbIhHOoivVBBKkyYcCgFbBYZzkKmMPVvptTSsiFPdDNnhHjYEetwWwWiITyzZJpfiIMmNZznKkYiIyqQElLjAaXPprRqQNvVnxcCkcCKvZzOpPoXyYxhHOoFSsjAkKaCJjjJSQqMmFfZEnNeuWyPpabBAbsSBbcnPlGgLlLzZSBbtTsPeEGgzCcgGZlgGnNWuUwZztTEPnNOouUpqQwOmPpPpMOoWPbWwVDdWHvVhJtZzTjwMmsSvTtwrRWgGxNnXMmhHkKyYeEAaNGgJjzbBZHzZxmMsoOQqSlLXeEtCcMNnQqPpmwWVdDrqQmMRvVvLsZUusFfnaEeArbmMjJBRgGUeEuNdDrjJESQqsiILWwekKQEHheAazjJxOoEenkKNtTNqQrzuUZkVvmMmlMcCdqQDmxXSIisOtuUOgGoTRrCcuUvVdDcCnNnzZMmXxxXPnNbBpHhNHhrFjFfJJjfGkjgGJhjHhqdDFyryuzZyYAUsSuawWbfFVOovdDtTXBbCcfFfOolLFLlGgxpPuxXVtTDfFdYZzykXxDdKQQqgpsSPGqvVzZvTtvndyEeYqdSSsCcpPLlsrROoJJIinNjOojrRIiKxXmMMmkoZjiuUIJzEjJelwDdWLcCtTsjIiJJjJbBCDdcvzlLZAxXtTaUuFsJjuUIiIiyYyeEYiIfFSfIiwGgWKkSsGpPzHhSsokMmNnxoOMmJjPpMjJqpPiIQJjjHhgqQGwtTjmMzOmgGeEMRKkUKkKkYyzeEQUuBwWDcCdVvbeEqjJZCczZNnxkKFfHVkJibwWPpmEdDxHhjGsSgeSsvYyeEVsSErRLGOottTeEBbbBTnNmoOVcExbBNnVvXEegGwWWwwWVROorORroPpvLTEelAarkKqUuQiIjJjWwJosSOAjBryRfEvVeFrYRzQqtTYyNMmBbKmxezfeYygGRGgvVInNiYBHhgGoswTCctlLWSlrRjJVNOuvFfaqQuUEeDVvdfFLlcAYyIiJoOYytUuhUuTtZDRrYnNyIiDdQqBjJcRrgGCKJvCcUuyYRrARzZiIypUuiIPYwzZOWwHhoBbWrdbBbcKkCGKkEhHOoiIhEdDJjeyYnNcIieKkEhwWKwmTMmlLzoOZgxyyYYXREpPwWGgOyYvVoOojJLlOotThHRrAViIdDRrGRUWMqQWwfFZlLVnHhNvzbCcBkKJjFMmfjgGWwUIPpyYiEexeEbBCiwWfFIcLbBujJMyWVvwYmKkUfFYylcsVaAvSRxXrPjJpCoOIkmWwqQQqYyLliyYIAaxXeEMeHwSbBHhsRmMVmMfKkFRcCglYyRrdYyDJsSIiVvCcIWwiZzjDVXxvdSsEVvQqWweDdTtZzyYCcQqQTtxOyYtWwXnNvyYAYyaTDbQJjqIiLlBxXotcCJsSrRjHhuUaANvRrVnAuoOUaMmqFfEeQcCTaAOaYUBOhHofFXpPxZzbFqQceMoOuQLlmMqUKkroORmVvuUvGgOtirRFpPfITLlfFGtTgoUpMcjTtffFAQqrkKRkCLlcgGKxVKklRrLfFlTtEeFfbVlLvCctTlLqDdhNnHQAnNnNaaAaRrNZzNnBbndDpCCciOoIuUUAALRyiIsWJjTuVYhIipVvvVPMFfVvlPBbyrRpPeEYyYpzZpPXxuhHUwWLPpFSDVvdqLcClQiaAHJjIdDiiINnsSkSsqsSkTVvTIiPHhmqQMpSgGszXxZvJIiVtTvIvvVvBbVHhVULlgYjJfZzdzZLlyYhHHhGgzZWrRNklLKmMZznWwhOoJjQgGfsEeunNXxyYlhHcCjJLURSRaAryYVuUzUOAawRrRKkQqfFrWvVUuMmaDShHhJjoTtsSbsHhSdnNDEexXSWdaBbBbAFfELzZlTtxeQcCSsqCXJjxkKtEetpavqQVPYyKMmCcvVkUrPpREewnNWvVAhHNoOOopPZzngGdDCiVveEKkIinEejJNdDuUIcZzYyiIovlLSsVtTIieOzZMmoFZzfKzZkjOvGgetTOorReExUJjuTtsSAsSFfaXCDdchHrRKkXxhjJhIVvErReBZzFfiDdIbKGgOSsGgnNolLuZzoOQPLzbAaUuBqQtTiIREWwSsefewWaWAfFinGgNlnNcBbCrQhHqRCcjJLyYiIIrHeYOoygtTGOoRSsyyYLMmUumMXxFfsSsSFfpPIOoGKQqXxrRkgiTtLPpLlllHhYNmMTtPdgGktTKDhHkKLlpnszZSTtZzVDdhHmMjZNgchlLGKkIiyNmMiISsoOcOFhIiDduoNnuUZcCHAJjbhuHRrexCcXEhZzyXxYdDeEyEelfPpUPpkjczZCJTRrbrdDwWRfFBtTfHhMmFkfLSsXxHTthsJwXxWjCcZHhbBwYyjJciIUJxoOXjuCkDdwWxrRXiIBSYyuutTpnDjJdzGxwWwdDEeAlZCcXxzLuwWgGnxXNOowjMmzZwHhWJUZhHzhHudvpPVSsDrRSMmsNpPdatBPpqQAaRrbjeEUuJhFfHkKFfHQxXcKkmSsMLkLlBbUuKJUlfNnUuFuUVvNnFAQqsSZzHhqdDqtsSTLHhfUuqqxNnXbBXUuYyvCjRrJhwpPWHPBbDUudzeEZoOgGVEEaAlyEetHtThHyrRMmYnFEsSsSuDvVZXxFlLfzZiIzbBboQqQqyYOkOgGoKcCvEFaAfyYFfGgaXxlzkKvFfcCVCcnNIRriGWwgtvVjJyYOjJgGodxXoFfuFfFbkKjoOJBbBLloRcCrTtEejJBbUtIixbBxXQqXNnnNzJaAjZCvqQVJjcJxeEAaXWwZsUuXxSOoqQLlcCeESsVvEpPkOIiWwInNVviIiFijJtTuiIGghHhChxXZtTJhHyYjzmMnLydubBEchxXxpPXIVkjJGgKviWwqQipPICcyGfFgYyZecimMFfFeElxXbleFfQqEPpsrpPoOwuUWEgGeZzXHhxEeRwWeEulLLlUnCcPprpPjIpgGPpPxtTXVAajJZSsVvzzZYyqQxtQSsqdDFUuTlLtfubBEQqoOFfpPmMNnneHhJjEWxfFUuLlDdXwXxNlLeEdvVSsDtTEaAzqmMKkZLXvHhVEeYyxLMmlMfFfKkiIKJjcwCpcnNiHGghNJjkpPOmKKFfcCqEeTocCLlCcHTZVvaZzfFbBbmnNOXxfFoCLlqQIiJuUdFfSsFCcfrRrRDbfbQqqQlFfLTHUuxXUIiuhtIitTNnMpPfFgGbkKBmKXxevVJjlZpPzXnyOoJjDdwsSWxXDDNneEdoOJXxjNIpPsSpPOoindBPplLSJjsbzlLZSsMtTmYwWNdlLDVaAvDgGdGgDbPpBdAaxPXxpXZmMjJzLUbsSoLSsuUlOgGIxXnaAOofFlLhHNijhLpPKxXvVkCIoinNyYDdnNNneEZzIOSsIiCsSuUcwWpPMUlsSLuRXxrmcXxCGaAtjJrcCRbBcWwxsnZLlxXBbmYvqSBQqsvVexuoOLlMmUyYXWwXxSycgqzqEeCFfcYwWTgGcmltqQFfYKkLEMyYoOmDxkKrKkomRrrfFwCcsSmArdDRlRrBNOokMXxZoOJjxXapPAWCcwGsSZjRrEwWeEmRaArPoHhHGgJjaAhNnVkKyYNlCcQAYpPyazVJWwjZwvbBVWbgGPpxXBzBDiUuEoOKcCLliIGwkDdGxXZOehiZzRrQqAaIlwDbtLJjUUtTFffDdFUuGgutPaRrAPGgtTzxzZlLXSmMaRrQbBnQhmMrFfRpPoObsSSKnNuXxbBoLlOUNxduUDXnTfFeEUurjJaAjJjDdbVvjJBJGgvkUgGoOzbBKoahHABbOoOHtTLlNXvVvVhdDCcnvVsSFfenNuUbBpPZMmuUVvzkMZfFXNHhnRrvTtZzLlCOTtoSsEeBomzHCcsSqRrQycCOBbMdmMiIxiTtPCeEyyYYctqJrRQZVlLvrRVVHwkKaANIiAaiIdDdDTfCcFtnWtmkKvRrPxMsSmSYyWwgFVvfvGgVhHKkJjKofFOvDJjddDfFByJjYMmbOzgGCcNrVvPorXPQYyzZunNUoOqeEeEVvpHBRYyrzJjZArxiITkPpKvevtTQqTiIYyCdDdhHDbBbKkBaMmVDuUdMDYyEWwehHgGtQpxeEYRBOlLokHNnhMtTpPXlLxRGHWcCdDwJjSQMmkITvBFfbVzbBVvReLlMkEKMmkNneKkKEefmyYIiGyYgMOAEekKkKWwBfQqxXFtBbCcSoOVvuUiIGgyYDdNzPgGpinNMRrmfeUeEuEjWwJUutFLlfQqpPaqBbjdBbxXDTXxFdcbBYvVoOoLTLAmMEeyGRzZzZGgUmMJtmbBgiIGJbBESsyFTtaAzfFMmOoEkqEeaASpCcPautTGWwSxPXOjJoxVQBwWBbkKxXfFMmrRWKRYyIiTuUttoOjusSURJjrJPpqQDdWoOoEeRrfFkyYEXKgLwKavVAxOoklLWwpuaAUYyPnKkPpUffswWouUclLXxIiAaiIuYIrRiyglbBLTkKkJjhHrRFWwEeStTznPFfplLNfCUucSGgmDdSXxWeEGkKgCMtXgyYVPtQjbBJqQNnOyYoCNnHmMjaAtuUSkNJpPZgGzCcuUaAWwjeOoEgGQqQqSsnMGkeEYyuUBOoOgGowWbiINMpPnNbBGnWcCcCVQqVvYVWKdDkOoQEecExcChHuUAhHaXzZLlWwlMvfjJhPpHcyYaxXKqQkBjJbrRpolKZbgGIuUiBbPpBgsSGyvJjgGIlAaSewLbJDdvnGgaANVhUfeEaACKExXfAaRqAXxItvVTijJIUZzucRaAYqJrNXlLxYypNVMmvPjJkKpgGVvHSosSTzZEzZePpIieEtOaAUKklLFfYcCTtEyYYyOoIXAaVvvVlhHgkKXxdoODzZGgCcGLEeWwnnNEzPpVmLMbBqxxXIEeFfiXtkLlNnVlHNUunzZhPpgGHhZzwOoWTtYWmGwWgOnAaNzZomlLwewDBbOHPphewZDQaXTtHhwmMWqyYQLxXlweEeEWMkKzzZGgZDdvGgYyabBaAJjEeAmPpbBvXxxXiSKVvDdLxXlksDdnNcFPpfRhHHhThHtrCxlLcaACopPOtnNTsSnKoVvxXgQqGxXKeEtwaAXxMmvpdDtPIipXxYWwiGYDdWwxnUugZzpPFAcCPpXbBXWwGgWWdSswWDSZVnZzjSEnNRuUrUdDkKPpCcFfmMKYEqjJjzvSsVZPpWDddrLlgGRqnNQHAaAWHOJjBbNcCsPpeGVDaHeebBEuUWwuTtUEhrRgGwxiIXxFfpPOTtAaocYNwWpPLlEnYtNngGEetaJHvvvmMUIyYuPFcYtTBbAaGgyYXxZsZHtBZzUuIiaADdUxbBXrRuUPlLFfWwqQpwWLlTtgqidarRRrdDZzAsSgADvVemzLIuHhUsZzHhpPoxXvtTVrVvzZvwfFXxWmMtTVQqBbGlWwLgRFVEWwIaAjUuUuYSsyleOodTbBQqKkRwGFfgGgSUlLMmuvfFVyLlqQAaYoAaSNnOZWwjfFPFXxfAbBaaAZNnSscAQJjNnkKqatTtTHhbBhWHDdhvZzVwHChHhMSsmTXxtYoOyRTtrSFfdbVsSbfiILlSsQjJzzzoOZuUZDOOTfyZziHhPpcCIxXPylwWpPGgVvQjHhLnBPpbNAFfVvOfFoUtGggGoyMmDdfZEeTtzrNnoBsOCcjsSyfFAoOLllLasSnhHNYDdbBJCcoLltysgsSGSsaAaAdTyYYgGVAaBbuWwUvsSAQOdPpiIQoOCRWwSscCchYXxKkJIiuUjFtTGgfHhAaJJjlffXxFZzFKkKkitTqhHvzZYyBFfBLlbewWmWNnwFarRigKkCcNnybcuMmsTtqQfKkuOPpnNoUaANnxUdjjJVvgAoOkKfFaicCXUhHsktTbBkKWkprhVOobBbBYqQyAascCSbQfjcCJFrRbEXxeSsdhAaNnseAybBrRLlYatHhTUCceDdEWIiRaALsGgtLleAwkKWMXMNnmMzcCgGJjaABfFIiPpbRDvVdrgGUZEedXxxXDMmFfvVZChHQqaASsQhdbBDHSsmlLIidqMIithcCTtHklLjaoOAzmMZVvEeJQcCqBbDdEeLNqQxdpfFiIjJfFsSBzZqVvQwWmZxXOozMSfSsFtTxXXYlLdDsxjrmDkKPEevVplUuqNnaApuYysSQyvVYZGXxguIiqQUuVadDAxXLlcTtCvCcAXxXRrxbBzZQqCMaAmMzZIiVQqtfFyYazZALXxwFBMgdjJDCFUnNuCckKdHEehMfDdgGVvFzZhHCcgfuUZhhHHcTtIixXcotpUnNuPYRrnByAZzaYmMbNnKkPpLpPlPpWQpXxuoOyMmWDSsdBbfFzvVZzzZZXaaAAUuxHhMyeYyEWIBbidDwwfXxeEEeFzZDRrOcWdDDdphHInTVvicCItylfFLhFfHYNVvhHiUuAazZPxdDMLlBgGRrlLbicCIqrRDdRUutTdDlXxLcqrRQJRmJTtrOotTRtTVyYWwKkrXqeEkKGgWDdKkLlwPCmwcmMXtTpURvQohzguUJjGguUMaAmGPpZczTTttZkKcCcCevVOozZeECcEQuPPpOotSFhHXnNGgLlGgdDRrxrhHZteETzGgoOSJjktsDWwaLezAdIiDJRSsryvVBbjrtTiIQqRNnluUdDCSKTtphYyHPuUDXFNnqQMmAaDdGfLlyQgGEeOokKXSBbVvgqzLlXxeEIPnNctTFgGzZfbNnBwSsWObBoLlwWPIiJjdviiMmXSsXxxIArRPpaodDOVvpRrPPYEeybBqQQqwWbimMWweEVrRpPSsvnoOTsYySGxbHhChHcBsoOFfOctTJjgRrGCoKkOZPpFfUumMCiIPhlLOoHMpYmUuRpPrnNUyFrJdDuUmVoOqQideEnJgGhFfkKScQqCsugGNLlWlLDddoODOoNUunntZzVlkKOUqQuUJjEecHWXPXwWkijJezIyYsOrHhUuibBIqQRogJjyOMNuUaaAAnmryIzZCKYyQlJqQjeFzzZkLaVBzqQdDzfFAaOopPxXZDduMmBiIFfbUyBbuUYHzvVbHwCccHXxhzPbBWbTtJjDdSbBsBXsvMmGgVrRogRrGOZOFMKkpPmfiImMokVvXxlLKzUlLuCepPLlZzuTtictxkCcKXddZzsGcCVvWwgcCyYAanNOwWSRrYyVvaAVqQhIhEemMHOoxbBcCrCcBDOnNEsxtMmTGgOpxDdnnNHeEXuUxVvmMnNPphJNniIhUaesSNnNuiTtIGZeOgaAmXxMzZdLQqqgGjJsSeEOzLlQqbfTtWwxwhbOOElLAaYyHhzZJEOIfHhFFfgXlLEfiIaTGTfleLxUudyYDXJjxLGgjJLzZcuUClktTpPmVvRXDdaAnNzsSsYyGgDFfvVOoVvmXLAvUyOodpBbDdFNjJZzLlNuUHiAafgjTtgGphHsjJSPHhIFfFxXRrwcCmGHHhhxPszZZTtTtzXxxbNnenzBbOSsOoqcgGvVpUlSsXxfhHFCaAAanIioiIOOCHhczjJZCchjJHcaARiIIirpPrRhLDqQdBvjJSsVqQrBbxTtGcCQqgBbKkMzRrJjCcfTqfXmnoOSgGctJjTsZQSsqzuUvVfxinNcJjxXcCEeCKkfqQweEeEZzfTDdCuJjULkciAWwtNnuUAKkakKgGbBpOoPEiIcCoxrROoOoIaFfuUFJjGoOgErRMmycCXNnxKUueEtFfThUuNYySaAQqjJscyQqRrQpBbPlvVLsSsutTLFflthHSscrRCTUFfkGgXIpPOoxqQXMPFfYoOEDdebBgGlDYyhHAabrRBbZzBjJdDeEIidKQqMmcyAUusSSbkVvtGSsIVbcMmvbDBOohHbdXpXuUKCcBSkKRjnSsNjqEeqeCsSRbBpLOBLlMmbqmmNngoOGOxNyYniYwWSrNnRsyUurxxXIiVvSsJjKOoiIIixMZzSpsSuaAKkUMQFfBvVbTtRrJVvAaYttLCclhQnNqzZeZBAaEcCxXebzqQdDWMyYUuySsROzZozwNnWZHSBbhqtTQTOEduQTtcCGkTtKQqDdMkAWwaHhfFZZzeypPPpBaAuDdiUuaApPfUuFZgGzZPybBSsYXPDUuEflLdDTtFkXxCmOWwnQqKkpuUPfFNJvRlmnWIRiEfFdHGdDIictZzdmMDnAaNrnNRSjXxfFOoULlnNnNubBkbFvVPShuNnUuvuUuUREbJjBeLlYydyYDNUtTuCcsdiIDyyYYEetTILVvnnNzzZJJBbOjJeEJMdDsSBIuUdriDdfFXxOmPUufSjpbBPELzDdRrOYyoJpPOxQBbVvcHNcVJjkKosSocCOqQOEEeeghHqQwLCMxaAuUXhHTfFxXnjJNLVaLjZolLOzFTtfyYMETtuiFEeJjlLevVEbspVvPEEeeESsgAAaSsaAlzgxFfQvPPPYnqZTtuvgOoMGBbFfpZrRzHaAnwtApPaTriSEehBbWRrwbtWAaEeSsTVjEephHdpPIiiIuExeEQusDdRXeKAacCFfJFyOoYQqFfZzrebiIuUBNnEGgSqbGguUTtBrRfurFfRUFsWwOLlOWkKnNTXJZfFCczxwWXiIjueEdlLDBPtTpgGTBMmlLtTuaAjJiHhFbBSsSwtTBbWLlADdmMxkKDekoObBQqKCcJClSeEdgwWGqogaAGnPphuqCDnNwbmMBWOyYoXxfjasGiLlYsSEiIerRQqeWwEvqQfLfFlFaNCREjJaAgfUbBuqQIMeEIoaAIGgsjJSiXyCnjWozZtWwuVFfhyEeoEnNfFHAbBmvVQIikWHhwAGMwWmKkPlrOoYyPpBlqeELlrRGgQDeUtWzZwpzZPcCEPNeEnpeaJjkrwRrhvVSsRNnxsoOSLmZzMjptTOoXnvVaAcOlLAlLaxRrFfpkKPXQqmMBbxYErRLobBOuUeCQqAacTPptocCObtTBgGdVFaKSFfmMkVNnMkKnkOoVvKfQqGhBbHgLletTtBbTElHhLkMxQqXaAtWwAmKkAmRrMPiaAIsSIPfkPoOBbivMmOCceEvHhHhQJjrdNnwEeDCcoOdTtIYwWzMpPGNngmUuhSJjsvVHhwWnqsSfnNzEBHapNGgJNzZaPpLKVvtIiWVvwTeEwxgtoYPFfXiIRnrRGJjNaWGgsQzZoObBYCcOEenbBMQUuqVvmiGkKtTuQqUBcCaAVvvGgyYGNnvVzZeEfOJFEVvOoPfnNUUuuCcnIjJGgeqEeSZziiIILlFfmvYyqzRGgIyYiwWpciIRzWoMbIBbpMmtzZMzZybFfHfRZLCLlPpcThqmvDsuUSsSdKkXDuyZzSshHYUdxuUXnNXxYxkKXFTnDJjSjnzZbBtPuUcfVEevqyjmKkuUeWXxwUWnNphLlHPBbpPWyTtJjYwwuExqOohDdHvWwVZzRrIPpEwOoLYsWMDSsdpPHicCuITtndDLlNiVvUtsxXlIRrHukKyCcIiMmgGsPpvlLDDYydbdDBbFfWwDdfdqQZyTtlLcaFfqQNnNeZJLEdRdsSJYkkKrzMlHhMksJYHhyjSRrEOCcNnNXOoihvVjJjuUuUEWTtwfMmhHaUurBpPpPkvKkVKbPsSbTtPitTAsSYwiIpPFfMjeOoEmyYMttTTXQtTMbxzZPAatyYTFfpUSHhfFrRNghHGnpswZTXAnMmVMmvFZMRlLrfkKZaeaAEAZzOozYbuOoUuMXxmgwyYWGUqcFfmMtqQJZtTFFfLBjQonFcCMmYtTyfGIiGEeDXxxfFPEepdDpOqGgnRpUubDdBzZWwSwWsMmTVvtCcOojDUupPMmLIiyaAEneEGgNTwWkwWKQcCtTCKkccJZfFzCRddwuUWNnjfFJDNOyjGgXxJmtTSBtNeoOvVMZExkKXTOkKowZiJnUueEZHHhpiEekKIcnNamMAqQCyEeFfYgGfIUuuiDQhHYTJjsljJLRNUJjvkuQqUKVYmMOzZowGrfFBgGhxXixkKXbBIHJjaspKkPVnNxGgXHaAGgecCcuPRsBQqkKQVtTJjvoGgGgyYHaAoOhElHhQawWAqhMmDFWbBKkwmMLloDFrmyPDdrdbBWwjJXxeIiXxHLlcCSsiOoAaIinNtTSTtSsaEMmAapjJWwsSPYyGvVdAaDsSKPgymoWwSHqgANnaHDdvBzZbVqQhtTsVTtvcCniltVqQOorRdwVljhHkeEYyNKknDNndKjrlNnPFmMCPsYyZzhfWBbqRrQHFfhARrajFGgfWncgSsGMJjRrFNnkKvVqxuIiKSRnttTAyYaACcacCbgBSsVmswWOogXBvAUuFfaYinNNdDnOhHUuoPplILVuUVMLlqaNAdDaIPLlanNAKkkKDhZVSsrOHxtToVYyviZMmpPIzZIRSsrRLmrDdBbcCDdzxXfAaMmtJjTDdyAbyYTuUtCLDwvXqRmRBcfXxMqWHhwhlCcCcGrLASsjJbBVqWuBzWkKwZTghcGgJEecCYymESCcGgsQqKdDtTocCOvLwoOwrRsbsZgDnNcBVvTtnNbqKkpPclIvPCNIbgGDJjZBgcwWCcLYnNxMmXPpPeEZzpXUSgGyYTtPzZbByYMSsLoOAqQOsSSsIFgGcdydDYypPYMrRavJjiPpbBIVFfNfdDDDkSsKMRDrbBRdrzZtDYsKkkTGKlMmLlLLyYIiRrUmcZRMUuWKGgQqDdTtbbBBgGcnjJkKcrOohVvsGgxwWmjJIMmoOWGgFFMOCaAYygRbhbxXDdBHiVgGBDdnfqsSuUQrcKQquqQgQVLlPpvyxhWfUuDrgrRGVfFBPpbeLsSoIiOwWYxXcWGdDMwzoOZoIiNYyJoOeaRTQWWwdhHGgTtDaOoMRrvedrCcRrlhljJVqYpruWcvKkVDCUtTlFneEaAdVvHhDbBDdjiIrMmRDLlIHBbNsSnKRKkrYgdLJfdoTmrnFfdqQNdDBtCcIieEhHTbxzZXBTGgtGnNpwTcavViIeErRHhfFQqACqQEsBbyzZoKkuZzUTbuPpjJsFfBGgegbpiRrSMmPpExqQaCcbPdDBbZKIgLwSilbubBenjpPCcWiIiIoOEejDdJIdDfLXQLVvGgzZEevoOVxXsmtjJTMqIdDkKiQyEkKoYRrykKOViuUuFfvOoAaIiCyYgEtFmUusSMCKTSZGgPGPpgpPgGprvSsOoyYohsvyYghHXxGPpXaiRNJkGgKhXxDdHEzQZIiJjzhfMwVHhVdDsMlttcskKfVQqxxfFfHheDbBoOlKVHsfvhFxXNvVRrJiIgQqGXuWdDYyrzeEoyYkzZSsbVgGSMmXxcCFsemwWdDATtZzaomQiIqvjJoOVMORNxlROoOuHhMmTxXttuZcGRrUuSuUCLlcfAtKkTlXXhfFHyYxUxpDdPXgqiGgbBnCnNTtjoxGgEhqQHkKjUuqgYKlQLxkoOFjJBbqfEBbBJdfFLYMGgmysqWVvYyMpPmXxilLYyIDfFdOaAoRElLYOtjJToBbkOoKVviqgGQUsSueEmlEzgoXuUxSjSCcjPpTsJfFjmNnwqoRZzeEhiILlfWONPfRrXXeLbBqNBbWIDdiwyYaEnNzhvfVMHhmcyRyFqBbUlRagGHEhQsnNnNSAdEvrRrgyYGhiIehnqQdxgZzGPpjCZzhLiTMmpIidmMDPsjdlMmFsSDqQdVvoOObwjhdslImMgeCTtZJVvjfvqQXxmMglrFrdDwtThHQqWSsRnNZIkSsIFnzGIVMfFmvMFfmFwOjEeJKIFfIYyYxXlLmMGElLQXNYSSsIlmFfDCPtbAaSsdDBTpPldhHDMfFUTxXCcgcPMmHlhHDOoPpdtRrTOqBbxfFXzysSEIfvumMIbsQqgLYlLBbWxwmPpMWEKqQOokKkUqQueffyMmdDVLlnHhbDTtaALJjoOzIOoDzZfFdeACFrPpPpSGgxxbXiKkGUqQNPpdkKRrSstFnNzZfcqTaxOUuSsCcVJzMmZjvqQOVlLvTtZzoAaBbNkaTFAyoOyYOgGsPylRrLYploWwOLSfPjyjLaAAuULsXXxuUPQAaqpMbBBOPSlxyYgGsSlNXxnDFmdYTdDtyRrDuUMfTtmWwNnFxXxNnwRpeiHsSGpPCcGCcBbgdTtBboupznQgHkKDrTnwQpPzCqeDDddInRrNKPpkaDcEuUTtWwMmkKsGgSgSsGlcMkSLaGgfAaDDdfqQLgZzGlwWBwfFCQhvYyiIwCCAaerREMmsZzSISXMxgGXImrgxjJnPdDBInYBLlcCrReETNyvcCeEVmGhHhhHHgajJBbXPKXlEVvlxkDOoEedKNnHHLWhWNIiHXqQScdTGUNnuYjJyCsSsyaDkKEepZLvFmPpnNGdDggZzxXGHpYyPZzGgMwYAahTtHexYlftVvTCccCUhtpwzNnSoWwfTgcCGKkGgizMyqPkwWpSJjxHhxXZkKUwWJCcsJzZsGgwWxPVqJjLLlckkKDdKCQqgjJTtdXRaVvrimSfFscCMItlLYDpPSsmFduUUQqpPkvVHhUBThHuKIiioOWwwWpUPPppRHhrRuUoOomMzvgdDGMmdDsSIicKkuUTtlLtTuUjGfapPrEgnNkkKxXlOoljJJQPHPpQPzUkKUbgGBTvBGBbggFfqQbBMtTnUuNyYvjiSwGgJdVTjGFYyYyfrAunNUEelLYaAAaoPGzZVvgpOFfrbMmJjEDQqogNUulVvLnaHhyYnSsVrRhPVaIBmMbiHLtTomMfhEebRrKkwwQqGTJEyYbxXBwWYWwRrHhzPpIiZhDdeqBSsVvNzZQqxgtTGowazHhZxqQLlNsSGeaoOENneOzzZCqvVxXiIYyagLlbDvFfFfeEVWwcCZRuXxFexfWNnwpPPVrZPiynRrGZBiJlktTuUKLQFjZNYylLnwEeOoOMkrgGJgGAsZJjdDlLDjSsJjJlBbwpojZaAhnnNrzmMGgpPWqhZzrRHZKCcnmMNIxcwWKkCnNpXxkKnuUdDNgbBQqjcuGvVDxXdoOUEetTVvVvFVknoHnNwWGgwxXLjaAvPLlBbMtwxXGWwSijJvVQAaYhugeZxwWdDjliINnZXxHfbBjNqrfWwGgzWUuqQhimDdppPLUmaAFqcCJjeTroDdzZjOccRrCtqQnOokPDdFHxcCaAQuUoOqvSsYdDvTtVaHMmivVZzvCcVDoWQwWsSqiIwgGVvcGnEgGaAeEAaeGgQWwqJjzwlwTKLYcrLOGsHhGKkgXxUiIoCnKkDdUuUJjkNEcUUuuDdaAOGuUuUZesSEZtTzNVviIyclLCYhVTDzdDWwAnODXxAaYyfFdommiIBbfFntTGhSaAPIoIigRrBUEejRrxoOGoPWRrxCuUFxRvdqQTtXxNHuUFQlQZGJTiPbBbwEeWldPpxeyPoQHRrbcCzZjhHJusTYBpPIcJGgjvVicCioJHhzhHZjXuMeEKkQYtzXfFbBvBnvVPWfZwjJURNKksqQbTBtIiTbPAaDdHQqSssaAEeTWwdDUaAIiuzOvVVTIijmMhHiQKktTGLBqQpPHIiCcrRpTGnvqmGhccCCHjKSwWwAgGoJjlMOooZzocBBLlAZziWwHhIQqSdDbBHlLsaCEeBnNhEzTlLNDDrRdtnNTnNHnujhMmVvLtfFmSRqQqHnNJyosShHNnnNNnIWwqSJjXoOxemMTQqtvVTvVlWnNwLtquUeEbFBHoOEEeVveiSsMBUMmWwuYOPpBboARrzIicIjnvVSUUkKuuxXxXIQVsElLRmMbBnNeEhHpjJjYDpinEeSWQzPwFnDdtcpPCTtesSIiFrEBSslZyYxUuXzUCpPtTcRQqrJqQkoOImMiUEsVviSxBbXleEqQBxXbNnqeENnfFRpsZzSsBFuUMSsiGLxaAXGghHAJoAaepPEJevVayYaOoFiQqIeoyQqYwWOEfAaGgJLlTbIekhuUzXykhHYtsqTtLlgJjEoGgyYDbBbKIiAhZnzSppPNoOFfGgeXEezIiZoaAfstSsSFrxHhfFYnGgFBnNcCGgWGCinNAlKkvEeufPpmrRMFoEeMSsISbzZQqDPcavhQnZzNSVqQcKkCqOoPaAwPTtGgrRpdDqkKYoOyQlUgRrnNGifkEKBbkIUUuuSsSGIisVvSptZwWzTPBpPpTtRBbeEyYEEeNduDdvVUhfBbpPtTFBTEetzmmRsyByZzswKkmMjbJkCGgFfNDdnrRWZHRrjJxXxXiIAtPzVvoFeENESbozKVvksrJMwwsSWXxaAhHwWBbbBzMDdbFsjKkqQCFfcQqkDdVvrWmEmbEezCJQqjxTNHucrRKuCOoWwXWwyKkKkDdCKkcdDqQtZsHonEeHhzVvZSqeELwWPctEeUuqQZqsSsNaPWbztvDPpdVmgyYGZToLVUoFfOvRPKtlIxXiLoFJjEefibBIjYyJFywSsfGVmtnNxXKknLlKkDfOrFfRgVvGZGgYRBaSDdfFsxXFRLJNnFwWzzPcDhqQHSzmYVOoUIicCUuaADzknZzKbzZpclLCoORJjlpPxXxbMmuDDmyQdKjJgisEZejJEKCGecCVdDvYiIfuoPpnxXTIiuUvKxZCcCjJcpnNedDCcbBXCMmcqOoOaAkeEKejYpPaOtTcCRruagJyywVlLtpPKkfkxunAbQLxmMXJPKkHTtSQqYcylwWLYCaJLljptTiRPEWuUFbWjndDCLlFSxqbydoZvVHRCcoZzHqQKkRNnrHMBDdHhbVGgwtuJjOwsSpPgdOWNMmncIxyOgqBboRrinEjtYyCgGRSneFfJnYygGNPMmyUwuOoaxXGHsgGShttTyfFfYMPsHAaWMmTtwhWwTOHhIrcHaKtutEMmeoeEOHKLQVbGWplWpcsapmMJlLAaQvjOoqGUUaAddRrGGEeKkyYgxxXCcDdXWSNEeFfypqzedDmFFJdqHxsSYyaAyEeoJjOknyYdaHEqQxWlLxXxXyZwJbBjiIqQlLrQGPxXYBbAaKkypAioahROcAabTWOonQovVvVeEFfkRrbBspmMgfFauleKkYyCLlUubIyYTwRtgXCHvVngGFuUvzZJwuUCtUbJJjnNjYbRLbPGZbSBLlbUuObBaAwqQWSYRGFwxXKtLxXllIniIBCHmBBMmEebbPHcQqSDtTMVydDKqQDdVyYMmQqrxfUStTnBSSsJEejsokOxXvVIDdDechHUWRnkRrBDcCrRdPLlUBKmMrRGoTtWkKLMmuUhnoHhKzSKpPDdczZnbBUCmhoOmMHMkKcEiwBfFEexXcCjwzZStAaTsGKFfkWVvOsBgGbswKBjLXixMDlMmoOPvhHWPpwIgLMSuUBIqUjJsSQqlsHhuAaQSsSfOadsmlLYRvnNsSVQUJcCmymcCJtThHBvVhdOozLlRldDBxsSPtGgfSKhELKkDyYmSFKkZxIAaYyzJzjwlChTtpAahKbBqQlYuFxrrfFiIMbBgGsTkKcCFfaoWEHhnrRxQqXNIiesPpSkyLlkKQqFfFMSuUXsSyaBNiIIknJjuUNPQIiqHeEdHDXsPkaiIlLAKpSsOoSxwFfWhHMmmlRiIpLaZRraAlcCtXzRryYZSiNnCEqGNnPBvlLVgGUpeEPugGYyHxxYfUKivNnVFWxXeElLnzuUqqwNGBbhqeEQHwfPjBFydteETDuCxXcsyhUVvPpWdLaPEkpPgceFqxXRLleAaEqeVKdXxsZplLJaxXAycNaOwxnTDdtUHYIxXvVMmEazjJxXXgGsLfJAUvVjZjItkhHNYytJjAyYgGxAmwKkKuULlkpuyYUPnCcVvPuWUtTkjoOlFwWoOEQHhqeBevVlPpZgGtoOTzRrMJcBxXgyDdYGWhHmjUudrgjgRrBFNNzZndzZEeDgGKkquJKwNOjdEBbqRXxPpWwEeWwQVMmdDMVFNzwuZzFfRXxXxvVHwhjjJqDDdGTeEtzYkxDnkrnIMmFgnGrEQqepwzpPaAZSoLlOGvrrDcCyYJxDQiRhHaZHZRYyEVvppPmMmIiFJXsYypPbBSrRqQYJFYyBAaakFfHhZUqoMGXxdMmPpPFfGgJLlbBfFjENCpPWwWwpevtTgGoSsOUmMunvVNnsovVWyVvYeCdmzFefbtlLyYsLluhAhzZnCcEeJPpzUEbAMWCcTRMmYyrtsShdDQIiRQqdDQMmaJDdfvZNnzVtTFvlzYyZoOYkKlLsjJAapPoQUVvhHuquIqQiUZzfoanNXIiFNuJJjxXeEGwYTJjvVhZzDdPUqQrBbJshMjJyWwokDdycLkfFKQSPrxmcKaAkZzHUvFcjqIqQMsJcNqiKkZAaMRrmXKuPLnNycCLlTtGVpTsStytqQTYERqTtQKkPbBmuUMWiARDdbZWwzMvjPpnWwgLpOwdDfOwXttkehNNkjJhoYaMmApybBBqQbCcYEiIvVfmMNnFSAaswtTyqQXxeNCPVvkVvfZjJMmVFPDAadilLIOKMmJsYyYyvYKIblXVEexXNQEnwESjcxwWJPzbSsldDZzVNSsnkjJdDdbjTxXtsSauYytNnEOjUiNqQjiIRGgZzrJGWwgnoOnxXNhKksSrmmMVvZzTsTthTYNkXxcRrCGrCmtsSTXkKLmMlcSwJbBgFHxQuhXxyYHrRTaAuUOoGeEkVgGdBdePHhpEZrReEGwWJBSrQqvKiJjVvByXxuDdPpUowGHwzZWhsSHWrRncsSiIqQsNcFRrfWhEtgLQqMuURJijbGgsRAadCceEmMACDdZDBbSsdmCcXrSypPdUVcCKKIYMEipHaNrerXbBbBfKWhSscaJcsoOqQfFVkKyYAOoqTzZcuqnNPEVWXMmcGghHDkTJjaUucicPlLdPpDfiuJAaIiiBmdpPpDdNyYLQmocoOUhHEUBZTXvwLiICOoqQclaAHtUgGfKkYPprlmVbByhlzeLPpWwSoOAKaQFSbedIjgpEetTMxFbBZbSzNDDLMFzCrRBbxlwfpmMPeDLggDgswlLWNnopqQjJPoJulfuUsSbrRBeECcFIeEOZfnuUVqqQpbBrpKqsjfvVQUPvAWXuOseEeWwEIqcCQiNnSZoOIIJSpAWbnpHhQiHDgMuURYTwFhNnociICbBatWMwWeXxlayYoOGAyGgZBhXkKvdoUkhHaAuSsWwUXxpoWwOkfFKYylYuUFfZVSMmQWEmskKhpPqQHSpPWGYyWfMiJjQhlxXLCctFIpLZrHASsJzShlNnuyYrJGGggssnBaATeEtuUGHhvspIjJiRrHhPSGhHgKwOMmoWdRrvBbmeuXxULliUttWjJwTfFOOookbBfAaFlBAaIiIbBibMzZzTtMUoOlnNLuuUhkAakkKKQOEzvVNZzIyBdDWwsuTtcjJFRThKaTdDOoSstUMmMmtTGgXtmMSBeEbESLvVlszvIPpKkuLRXSsNkNxrGzAtmqGjLlCcwWYTRAPWuApEvVRqxtzyHhOJmtVkKiXNcCJJeEKkjmUqVtgGlNTeEBqQZBboOyYneNPVvfnNFYyLlSrEdzWwmtlxWvlLCqdwgBFXSUaBgqVvFfyYhJUIIzZbfSWfyJfFBbggGGOYmHSDhHwxkjGvyYcMcCdCNHhPpbFFfQqJyYxlLmMtLpvDflLQsuEePuQqUDbjUdDHYyIlUGgvmWhhMmiqQIZExYyCWwVvPpsaLXjJxaYBAEDypdXyVvYxZgiILlyaAFhelQPpjhwWHEGhHUuKGgtTzTjvHhXmMxWwwqKKkkUuQWHeBbtIxXWMKPTxaKhWwvKoOfFkZzuXVzldJDzZjZMchlLNnMmJjDbVbJjJjHLlhZDdYyiHMSsZgkCHqvVQsShUJvJtfFfgvVvDRrdEMPpmhOodXxVeEaIiASkRrevvgwyuUEeYWyuvVUhHRrhttmQKJDggBbjJSgGNnsYyIAavKOoYyYHhxKUukpfHGNrRnIigOuUsSaJiIByFjmVfYyFJUuIRyfxTikqpKpzAWRihDbBEedvgvaseZNAaoVoDWtbRMnWxXpYaXOjtTbBJyRrVjTtmiIIpVZzeIiEsBtAoZBbhonFDHEeXoOgnFxjWGAqHhKbBkKkjJqlXWNGiIZQtTcvJXxlLUJkSxYwWrRRJhHNdEMwWmIxQqqUnpPQhyFfYsSjpvVoHeEhOPpneEaarmJXtrxEjptAaTfEUHrRqQlZWEewzRtnzISYKkyAarjzeEQqmhHZrHvIsFiIfGPhnNvHmMZUxaxyaOwbYKnTqQYrRhJwWCcYDdoOhQMVvOoLLPSzXxvxBbXVrRnxZPpCsPYOqQGzMcqVzSshNxOmebXxuUMZbphGgDuUdZIizRraMCIRrPpicWwCnZdnNDHhkigGbBmtJCrhADhMoWuUweZzRrkKxXokaAZeEqQPRCckAadSsDKLlFfvrUnSsREeDddZzQqHRZLlEgaAZJZWAYyaNhiINaAWNnBbvLCTVcYykxfMnxJrQiISsqRjmXxUbCkCcVKoOkmkispPSWQwJjbbHGgIXxHhnWwXxtTCCtDdzZYyTqUMmolTtLIiXNIimesujnPpNjfgjJBGgWwNWCclaAhWwsSktTohKBKKRhEekYlmMIuZzPdwdDmtTyYRrYYybBTSsflxFfJfUaNnKGyeTbDGFikKAKMWdWwNWQYyRQjjjlwKkVTAJaLOdkKDTFpUaRkoHhJCdDcyeZCCcWONTNntnytBToOvuTDIECRmXxMXzPlLptHnvjpJjWwWwaAtrRAjgkeElIApJujfCSTqBbPpzZlnNLkRnBKaAkZzbpZzPHgtTGQoOqByaMqwWxXQsEPCssvkuUHAqIQpTtXkKRrxVvhBXzKvNjWBbwJnvVVOeEKhxKApTUSajlLcAiIahUiWWwkKVzQpPKkmMfFXHzOwFCvVqulTXwWpaAKVKkqkKzEerPpILdhUnFUdDRAaALBJaQBlLnOSsrcCkeoixHsssSSTpsJNRrcHhBrJDdjRbBkKhiIDduUzybZTSrmMCDpRXxJjaZzArxOelAawvVNFUSqQeHxXSgzZzDdadbZAJagnmGgrsSgMUuchQCaqZjplCXxRrJkoFYYUWlpiPNcUuapoONWwxlGigJjGIaAQqbNfweKEKSmMRrVPpuFZdJhEdrTEyhwiRAauUyGgYvNxMmmMXSrWhHskIUyzZycYyCYdDsSYurRiKMmUuSwuURsvHhVnVrtTIWHYrRetRDeHqQjYyDIizfAaUPpvcCskekCcaAuUjJEyYWFfFNnZznBgVvLXWwnoOPACnpIPLwuyyfaZNnrRzAOKjoOcLPJzcCwWQAcqHCmGRIBbiCrMmRcgGMNGAjfFazZzBDAZYyGshEqQsufnWLEoXkKPdcmMRstZzzBYZHbCnjSPtaAShXAaIOEKRoNbqAjbCclarpmZzMoOPuNkKxXnfNuHlLDleqQEiRZkKQvxDdXkXxPlLxtLUQcfWoZKkNnhxSsKkqZvPpwIuHbJjBDLlnNdAsSaCJAakKQqAsbBuJMmjtPakQqXYeEJjyHDQsSqdkotTkZxbHvVTQwWqtPqiQahKVSScpeSIiGgPpEemAYbhJjNjJrCcjJKQtsqQPpcFJEeUcCjzpPZBbPawWiLAalLKGJaTPJVNhTZAaxrceiXxdtUVtbThHYnNoGgwczEYjOKrAuyYPDdftjJoljJAjatvWLJJDdJqrqwnmMmMDwmkaIfPpgUudBtEYxXoOgQqWwkAuFjDsSdXIAaitTrRLFbBtGgyMWFaAUufAaDxXpUiLyKHrkkYybkfFdDRrHOKHvVLlLcOoCwnqXxQbaAMmFfmMGiIvVFJkKjfFJJUSEMnxOuQccWIiwNiDXxdhBBWqwbBIAaKhHMDdvKYeEycBuJjMEeXNmdDFXXxKZzZyYPpDdzFNnfCvtclPpVwZzmUuMnHnwzjpPzGePGgrRpzroOhDWwrNuRVBbrplLzKOqQEDtTdOVzZvmHdaHRcjTgPpGMIKcCzNcmATtHPBzrRmBEMoXnHZiIvQCmZgoyptTBbiISczXNhHZspllmqHywWjsSNnHyQqtVvtTNkyBUuWoAYwWXAXuzhVHpgvHhVUuSCciVhRzDdMZJBbMtTlLmRsSsiZNTrrRLcChueFPqsQqSLlQGgJeXRtTGgTxjMRAAvHhVNTtSszZPJHqNuQXieXxMAcqQCamDnjgGrQqyXsKjVvunNjVCqzgnwzZxOoIvViLQeEmPpOofHhkKFMQdDqQagwJXfNGxUuhdfNOjJHiIzOaTbSPpvPpPJgGjiMIZziCwbkKBWcJvuLlUecloOLmMCEYoJPOPpofFpQqjxAyPsSwNmrCcYyBUuTwdOvZzOnzESnNAVLlGVrRHIrwaZPQqkPQKItXFYsSrDdijnNYyvbBMJUujJfYfyYFbBbjAXUuxooOhFJjPXykVvVWwvhHViGGdjkwWJjwoOWqMTTHmMOXxNnoYGeTtEVVLlZzEKsSsaAkKvDHbBUuIieVnNfvVFtiKkITGFZzqQvVDeHhEvVdTjcCVjSsucKGzmhIzkKBbBJjvBWwxXdwWrRpKkPXxRrgGAaHCmzPpsSeEKkJdjaASLlsDLZvxUVHkDdjJAXXxtPGgppkmwowWqQOibiIBAjJTtaInNikKTEhXxVJtZaAkguUTteJqHhLYyEHfzZYDdyztTZrRYGzFfnNyYDPYdeLoOlTMEemtmMKuUkabyAlASYycXezVvnNHHwMVuLihuJBdpUWwSxaAgdDGuUXqFdhVPlTXjfBYyjJPpncDmCVgJKXWdKkshMBbyoNnPpjYFwsFfFBSsiiujyYmPpMHpPQUuKkGbAusxfmMvVbSsGWDGgEeQcVwXLTMSsmMWsSHFuwWULlfhwZfFDeRsLMmlYEeypnENyYzbtnLHhThHPpvQuMiIjclLCnxIvBbTMjqRrQoUucCYZTXQqQrePaUwpOoartyIiJZzgQMTaYyZgRXnKGwWgnxrSsRrlUiVmMtTZexXEpPoJxXUujOEerResTxIiuqQAkHtrfCUSXxbYuCcUinZeoaXxAqCKkKkaAcgLlsSGzPpZKHuUoOmZmOoqQLxXuUKTjJuILlDdEMRrFfVDkVgbNnoONaASSjRULHQqsZjaMmUuhNJjnRzlPifTHqvVJSsjImFwXxgwMaAecCwqevtThHVEkKIsSisvzyLPmzZMfXfEeiIkEeKFxFKuODVxHbzYagRrpPALPpMmEcOHfFhoCmwIXxzeVJjvEZiBHhbTAOQBbqHfWtyrmGHhkLlKsSdhIqVAavYynNWwPNBXxfqQFwpPaPsjSVvsiDdwUuWizoUxwaFfVpuqpPFJSQkPRPQvNFzoiYyLUCiIcGgjOjJDjJWwdIinNORrwWSGdGLlGldVvJjEFWLXclLZfmqQKksSjjJJWwlDdHhJjdTJjthHfFYyOocCdnZjJsBzfBbXmZzSsPGJiDEBsfqYaFfAyAkahGQqaIiAaXxAgHoOoOEevVsNnZzuCcUlEWwZcfFHhCLHYeErRvUuMLRyFuTAahMmWVbaABdmMDxEetzbueuxXtTEeCOCcMqlnEePDMbnSsNIvzZVjqQUIUuFpClLICkKAtKcCQqduUCxxCcOoTtXWwwhcCHvepbDdBQUCzZtoIiOQCcapPvjJSCjACHwkFxRERnAhPIBbBGgbemyikkxXvcCuDxXYOQqKkosRxMhHzDdcfFaDuUrSvVBJIjrmlGTeHwCnSqMmQCNwAahgSsWOsSWQqwzZvVYoObIkVRsbjgzDNeEnYybDnNLlvJjkKTpPtKyYgtUoOqXhfGjWsCxhHMcRgBbKnRkKrrRyMmtHStMgGRsSHIqQuJokKeTbBUAXxJBDMmKkKvLthHTBZUplWwkKLlLAaPmEeMupjXTtQqCJstTeWXxNeqrRniIvZzWwVjJvxoOLumMlLUBikyVVvnNjKkJSsSYyjMmkopFffvzWiIwkKFKpcnEYWezzZZPdHhUuDyOHKyYnZznHoOEKTTxWoFWoPtBbTDdlGqQNJVaBbAmcCBOoraIwprewWPvgYlpUkxViIvzIMdDmBxmMXbQnBbCjShHmiQJCmMfqjPpvVJFfaAQHhVuhtTCMXRpsjJXxqlCzZYKOYmHSsSbBjRupHbBoOtyWgjBbUnfxAOFQqOSolLOyzvdDVZxXwWYykKLVEelLjAqrxXqHIieElLwmqQayYLlBeuZUxXuPJjxXpjEeNsSHhcCHabBHUSWwTBFEfZVvMDcvVQqWwEwOSmMNzZKkVENnaATtxXjJkzZTtJjJjKPcneoOpGguUGNngyYTtDtTYygVvbBmOQuzFfsSKAdTtDbfjyroORxjfjJMPeXIiqQsSxOoYkKyrzhXxzAbBHVvhSsrDdIqdXjdRRcCVgtTSssNnWhHPRgNGfiNRKNdzZXKyZRsSrgiIdDMtTmdQGgJHWhrAaMmUWZnfvmvqrQNWwneDJonWkjFfUQlLmLlMaArRnfbGJtTfFGRDJMwVvCcbCjmLEfFbQFfSsqndXxDNfLKkJKuwUpNQqmMsRrSWMaXaTnKTiJRrzJqQlgGXxLuajFlScKdDkCxQeEqZAeiyhuNsSXWouUUuBbAAqHhQanCSsxXYjPzSDkvEQrRrQfECnNGKepAlDwuHYLlAavVJjSUYfXsSxbJpFWgiInWQQZNwfqQyYeEIkuFyXXhHhbpgPpQWwecTtnNIdDsVvXxCcxTLaAKkuUHhyYBbzAlPrLMNnKkyYnNMiImdhDhFfpKLliZznbAYxEeuJjUsmfYKUuwOAdDtSHhmRfFRhHXfUyyYQVvqoOLIiGglLkXdSsmMSqQsDxaALlHXxYyoOJjrnoONRQqMNnmPHcLWJZxXjZYOoMmyiXzfsMKkdleHksFTpXFfbhHLrZDHbbBjpqQYyPJjMYMjuAaqMmtTryMSDAoFhjJHsCcZzqUSLpPmFxtTXfMKkCcuQibsmlGitTcCVRrpHhLdmXIxlJbtTnNkuUWrIjJiRSiISoeEeEwwWgSsWDdpPJbWIegGucCNCcCksTtZkRruUONHJjlwOgkbupPpbSsKNrwuPpCEdnNINnaAlLiivVoKObNDdEesuFfFdDXRhHvHhhdDHkTPptRrrRYKkvmdKJjkIvVisChpMhcqQbNiNnLTkWfOogrysoUusBpPzgpPpBEelPpmMrByZzyYBCcuXxTcgNnGWOojUdDVvuVfNWwhcxyYwWGUurRTrWtiBcbyYBELUZzAGvVCcPaeEAQqSKQqiIOqNwyYHhtjJBColLrHAOIaEegqRofFOLIilWzYwXenNhASqQsDNKrRXxsSGgiIYXhQDjffeEMEZQPYfFnFYyfPpeEFfswhHgMXqQxmuUjJqQGgDDueEuWwgQJVvvVVqjPASCPiIKkwwWLPwgBNYynjJvqDdlkhTUTNnMmkAhCRiotSYypmMdDmlLyJjFYTHbfFBhguUADdPyBbYEepYyJGRrgjUDdWuYgaAGpjrRJkhHKjENsrcwWTLlzZJxXDdJmMjeNIlLOjJQEeGoYXiFfCwoDGWWwoUTWIivKkmheEhOrhzOiIDHhYBQYyXkKsfNncxXNJwBHhfweprRqQIirlLIPAyPpshKkpjlqBarRNMmeEUXeEKXxFTvLlWYYLEeljGRrKkTtAzZUMRkKrmoAyJEYyKkmMoQxEHRrhPzXkJjzZKkVsSZztNOSsUFyqQjJEgCiIcckIizeSoOIGOokDqYMTtddHdDhUBvVXLrkKPXxRrxXBkNnNKZdfXxFWwuvVvEeyMrRZsdFfCpZRrZfuUhHjlrfpPApPbryznVvNWwoFdBbNTMvgFQPpLPplqWsSYfOTRrGglLkqQprVuvlOvVYyKKkgGktdDzyvVYMRrBbTZBwpAneEKkJWwjSQzAaTHhWwEeCpSslQsNsSOhSzTSsVyYhnNHyYvYFftTxcqQUkrRCUhntXBbUunNcZBMeEeMwRKkeEFxXfKJStTqQfBmvVZEeaAkKbBsSsSWtTCcmjRTtdNeEnDlLSSsIiZOBseGgnmMfOZBtTwWbpTNnaNnrRhzwumMUcKjBJtTWSIiYbRrYSrMVvPpMiIZTIitbeSvVsEHDnUufFWgGweqQrPRrbwWgUusnNHhiFaAfoOfDdFeKFWwFfqQsSIuxaAXLWpQdRrDvsqHVACEepdBsimOBbRrUNnVKkLBbaIcylLYgwbfNyXHYyhRfXxsTSYpPyFgOocCGBbOxEnPYysZNzyYzFfZHakBfHhNWqQNnwnMmFdOeTtGQSTyhHbByYDdKYxRrZHKkpPKEAVvaiBtjAAXxECcEejOjAaalHhgNMmWwnIgGmHhJjftTbSgGPrXDdxQLsISeujJKjuLHhtTfFOobeRfFVvfjJlLEcWwKkBbVvCTHhcCNfWpZqwsEQqyYeNIqQPdyaOoAJQqyxXYgGzZPreSvqiuUvVEesNJiCZJjaySsbFfLlMmmIZzwbBWLlsShbVvBbPpfBfFQEsKkQiONnfFYjhFfQXNnxHhrsFfQBbHhqzlLnNZMTlHVvJUNhtTKkdmLlMntEUueZeHbcdDAShsCcYycCvUfFuVabPpbCOwWuPpUOBbXxmlLLFfnNjJMmOaWskJgMfFNYynQVzZYRGgrRyZzYryNgHbBhhHtsSPhIiTsSVvtbCclgtTqIJtYyvoZtAaShpeEeEweEWtrRYyBSnrwWuWlLzFXxtTcCwpNBbbVxZTFXxFffyqmUxEkKeOIcCIOuUqlLQozZCYyibhHhHytoOSUBBBKkbbhKkXjJxVvquUOpYuUVEzBbSsZevEXDLBvVWwpZzItjghHzqLKkqfWwhMmnLlDVrXiIffFcXQqwpOQQFfqqgXCcnNAaJCcubAEeaCczZGcCOiuUDdgGpsHxXzZgNMMlvVIiLZzNaZdmMtaAvHVvnrOoRzgopPrRCentdDTKurfFNnRNcvVxXOuSgxXolaARCybBlktWLzZWiQqIZMmNkfEeFHhkKSsKgCRraAlLvVbJjBoOOdtTvzZVILlhAyVhHQSsqXhDdfJjpKWwNBbTKFfkcFfjvsSTtVJCCoJMmCcrRORtEQfMulPMIHwZbBFVDdvEeIiRQnJFKkhuUkKzSsLZLlzXxyYJQqwWXzElLGUHynNqIsgjDqQlLdXFfxcSsHRYyRrnuUNrhCtTJWTmFfVmWwMvpPwWpmNnMVJlWbBhONFfKvfughHWwUCJGEePeEXQwWqikxXzhfFJjHaAQwmbBMZBbRNHSsVvzJOPwWWLdzYySapPjZzRKmoWFfnQqNzJrRfqjrRgGdDrRIbeEzgNSsYIpjJvVzRvpFfFXEHhfUrzdBGAQckKZLgGloRrzFfuUZMojJOLlmAhHEgBbUunXKkPpAWOBbXnbQEHWwyYyeaAFfjtgYfFyWQqIiWBHnNFOlCchzZAbBvxXpHcCvURruNnNbBAoOjJGOdriIRwvqQZzVHhWpSscCPeBqQRyaRgJtveEFqynNCWwcYQfDjWsmMsSuNnUIJiIPpOoHhvVVxXmFfGbVtvVuuZpAaqhpqjLkKEAaeLKusSNgGnUGeVvRGgAlLFgJIiIisSCVvvVzZVZPNnpOTtlLruUUuuPIIikUbBtbuKfFunEeNDfluULLlQqMdyTRArxDXxGlQvXxKkpdDDdXSOkKojSjtTKkDduzXsPKzZpQYgGAamZIEeRrteEaAFYyOsZWVZWeEwzvVvcCPTHYyuFLyXuyYBbUHhWwEDdyWmIiTthvBoOQQqqYytTbVMiIfVlOozcCPqQkCcKdAYlLSuUciIgpPRrDdtyeTtEUbBuYDCsxXxtThuDdUhHYySFfsaAAanwHwQRrqjJcClNnhhsScCaIiAzZGgXLkKeLGgxkpxAQqMKkxXEeYuUBbntvYyVbSLlsiIyNibpSsNXNnGRMimxsiAaccIiWVaAHqcdDjJWbwGgWFDgGcCdLlSsdFAVbBvlsKmCFfLDdiIRrTtHheCdAeEdDiOodDTtMmUlLuEQccCZqWNtRZuUzfFOodyYJjhuUGqvViINfFZbjJBeEqQPnNUOOXxolLDgqQhINnEcCcCFfPrHhwxhHXESfCgDdGcFsjJeWWSsXfMdeEdDLXLspotTZzcCbkKeEmxSljUuJawYyWlrPEepvVRJOPqTtQpolGgLYmMJpFoyKMmYykYYaftEeAhvfFwWKAakVHKnlmMLoXAtdDQBBbFfbCuMmeDdEUSsnNTDrRnMmETteFfugSYysrRLlLHhlyYIotTOxnNYyBAaXtTxXXsREAaefcaEAaxXIiiaAZRbBrCfFZzcgGldBNfFLlvyYXxYeEFFEedDXwylGSBinNCcJIiCcUqOoQlLVvVFieYTtZvrpPBbuGgSsUiInNRVQZXxzQqoLhpqQCGthHumLpcdMLvVqvVQisygGmMnxWwqeWaAqQIiwgmMOdDoyicEeMmCiSsrRkUuovenNEVEeBbihZzvmMVHIrRRbBrWfjJFfigZNbiIBJNnjflLmMgfFtYyEeTGrRyYiKizfRLGVFTMmiItMmzcEGeEnNiLSGgDZzYyRrHUuAahHJWBobbBKkBFffLDZzJStTUcCpPxXutZGgLKxnNXkGglmMzdDZzgGWfFiVvIwBnNYyeEbIlHcWfFwJXDNHvVEHRJjVeDauChHcIiUqHehArLRruQfYrSKksrRYCvFSsPpCfFcgGGgVHZeASsWwnQhHlExaAxFpqQWmMwnCaAcmMEeoWwwFHEmMerOQneENBbKkWMStJPpsJsOGZqQVveiILoOTtZzMmOosfFBbkAaKSuUMrRqQGgIrvVIoOiRyerwfFQVPpvSlDjbjJyYeFjJQwzZhHIiWYysSfKXxXMmIYyiuUSsmLiIlMlaAqxXLgGkykKEeGzxXZEeQcvVlLCiIAaRxXrJKketTXyYOJcNxXIQGueExSsLaFsmMgCBbzUbBOoTUorLVoOYyvXnrSsAaMESfsvBKOZqQRwUxNRZzrnjnoOPpSsAIiaIsSizZfxAaXmMHVIiFShZsSzvkLdEFXyGgYiNnyYIugGUXPpvoOrYfFyRFSWwCTTLmSvOoqFfQvIiNMmnWmFAawqQWHqBbAawWZOoejniIrqQIAxSIisyIiYVKkCQgGcCqcSHOVNnRIiGgzsxXtkcfTeGoOcDhHvVdVSsFyYfUfFIzZvVIivWweYzhHZpaAPSYPpyleXxEqiIxxXllLFIiiwJNxXEUYyScCsoXxLlOSsBLIsWlRrGRcCrEeiBbkzpfRrFBAXgGesTtIPjJXbBtTxxXBGEumMBbUbSUBNnvVtuHhbBUOyYYSetWPgtTbkKkLMmLlyYlRwWrPpKnDNRaAEeMtOFRrfDFQqjlDGykRrCjJchCcXAaxiDdvqCcQVHhdKkKksiISDrRdJNfjJLUuucCQqqQcdCwzZURsvViIOoSjVGgvJPyYyQaAviIGgWwHhLHLRGgDEVyiIYmAQqwqhHtrAEjnOWmgwCylEFfEevRdGjJKnNfFkhHvVfFgFwHhHXfFCcnzZNYKkqGmMSLKklNnWwsJqQjUkCRrRIiFNbtTnNFfvIBrGYycHhooOmPSspffwCbIirRBciMQtTqXZzSHoORCbSsVvyYyYBqQvVNTtAiIyYaRriICDdkwmlbBLrqkZzxXiuGgUIKQzEeCMEeOoEeulzZgGJjJjfFkgtKSydTmXxlLdsSdxXFnAuUmDCPHhpgGfiIikfFKiIoJjwWalwbBYyWmpSssuxylCGbzdhHXxBinyYcWwpLlCBbciIViLWwlLWeEwpPCQRrjJwWTtCdcCGzSBSWtTjJzjJZonNOIitjJTWlVtTrWaAJjwRknuUiINeMjCHGtbUwQvSsalRgLHQmqQFCbffFFrbBNnMrQLlvQqVxVWXeExdaAlcBfFaYwWFZOoRGgMlBbriiKjTtJHvVhkzvVIOXhmvViIwNIinrRWMgGoRYyvzHdsShHpinAQyYmvzPpZveErRlpPiytSsTYLMmoiIOIyGgzZVbxGkKSVvMLlvbGCckKBFfrRuUOoTdDvVNrskLpPlUroFfORXeEQfmpPCNwJdDYywmMFoOHSpcfCcpLfFJtTLmMljRmMJJLvWDvUuTLIbBNSoOAaGQhoObBseEOZzypPrSsRYHyYYyhvVMYoOGpjJkgpDdvVoOcOoCPjTtJeNnAWWwwsIevVEiIhXKkSsgGxEDRrzZXWwLlxoORpYMRaBbuaAlLUAJjKkCcfdfFOWwfdHLeOnNoOqOobNAanfFSrpUCEwPpWhhHvSAbGgwWRgkwWfFAaVveETtZzSsfFKzZWyPpQqtTeEuKuUkOoUunGgrSthdDvVHXWwxPwWpHhyHhEeqdvcCVIUiFOoPWwhpPzwEeWNjILlzkKXxWtuUezmEeqQCqQcDdEnTbsCDduUcxXMYoeEotTOnlCcLDCcdDrcgOoRrGgGjCFfyYqTtkWwRrKYyQFfqtouUOYXxyeYlTtqQBbdBbiIJzZjJhHPrNQomMHiIhPVvZcpPAaCbByYQqFfYlLyGgzsSQqWwXdggNOqJblfUuSsIizkKBbjTCQByFmznNLyYVvlfNzNnQqZJjpPxXaxtTsStzWSRrPsuXBKkmqxEeytTJjCcYJmpPGgWyNnqQaIWwpAasSUuBpxXRmMAFzLlZlLeAaJKPpkHImMjPeEzZlLaAxXpAPnNptTapPJLluGgwWYyUxnoBbeRhHrKmLtTmEeZpPRKyXxQyNnYqjPpDrDMAamGgGfFgOzZoLlLlfFekKlsSxfFXjhHzEnwWBbVvAmMQqeECpPlLYzgGDFnNIiBGgabBiIAyYdPpBbVCcSYUMmhYyiLLlSqQTIhDdOoeEJjmXIipynNYPxnNwSylWeOoiQZzLlXKkbCcJjEeBpPhHMVbcMmCBxXvJYeEQFzZCDdpTNJsuUdjJNtbBfDdEehHGuUgyuhHlLUlsShHiILxLloOVGgMQHtPpeEekKbBEBblzWwwDdWroOFhBYmTPssSSiAaoOBmOwZrDLldCnNlLiIPdxtTXDIirZMYyRrmQVMsMmQEeEiNFpefjxXoFNngVrRHhxXbgIMXHhxAamNoZzycKkdDCFfAaqSwAnMmgNrpiyeEYIPAaxpDdzZRQqrTTttyBbaEeyRrYiIMmSsAIiOTRrQbBqGEeXvYyVmwWMWssKkGgSStTkZzlAnjnPeEAhiIaUuAlLdDbeZFNntTFfQtTNgGHCcsSZyHhiWDiIhHAaAaRqGghHVkKoVIkeEHhLlKpKFLlpipaMaPpoTtuUOZHhzTmGgKFCoOcwWNmGgvKsuUkAAaOFfcCofvDkKEleNnyXrEeCSscdDRoCNmMgOoGxcnNXxCPKkJbBlXrEeaAHjJWRthHTKiIKkATBbusSRrlLxXEdLbDdRjoOJLpfFguUOoaKnNqMaAQqahbBfFnNlLeaAxXOYjCcJHvUTbBOwkKJNcYxMmOyYiOoZzmiEGgeQqFGrRvVeyhHXxYrcnAUuVUWwuFnmMNtTfydqQDJUujKkrRIgSAoOJOoFdBbcQUHUuNSsOQZwWzawWAlJjHhWwPppPTtLGgwWDsLNncIDdijEdXasfQqIUnNbcwWEeCtbZlLzLlLlUxtnAaqQjJNwooSrRQsYqQUuUAarRxXucCZkKzyRfRrjkxZzXExuUrSUqJjTtYyXPptTZzVEybBYeeEveNnUDPJvvbBVtyYfFwZzhHpPWwTBkKHrRsfFuUIrRRWNgAUuaGhPgPpmOAaoGVUrRzWOowiIJjQNyLlpppqmMwWHvVhQVlLqXGZLwWaGeOzsSZoqQtTbBSBfIUembgGBIAaiTtJuUlZziILlAvljJtmclWqNnQGVEeXxvzZfFlLZzvpPdDCnZzCchCPpqXwzZWojZleaANnJKksFpMoIlLRPpDirRMmbmjJoOjoVvgGebBEYyoOjQqjJjIiZnNlLNliShHnsSSsqQGgSsrYyVmkKLlMTtzZvVsSiIHhoovVqQOOUDdHBBDdaAbbErRespfcCBhrRHKxXveEeEwWVJQgGqDdmTtDdMfFtTokKOsTCghcCtTyMJjmYnNcCDjJedDIGyYgriwNMVvSsLBMmbrVjofFMVNnvclLOoHhXxKedWlLiIwxTkKtXiISspmwWMPpCcxZzjJpzoqQOIyYXxUbeEYEhDdHjJzLlOobvVRrBKmNMmnfFuURMmrggGXxdDqFfUDKkYyeovVtQqHshAaKHTthkyQZzqWwYrYUUuMmwfFWuyYmTtwEQeEeWgGgpPGtTpPAawEqHFrGgRfTTDdmMVvtlgcCGKkLTylLIiNnkKjCvVcWwqjJmsSMWwmPsmvVXDdoOkjJjIihHJtsSAaTKoOkqQXRgGIXoLlemMEygGzBbZYMMQvViIouUuUldDjuMmUJPnNHhrCccEQQuUZzJJSWaAwsHhrsbkmoOMIixPCfFtTcXxxWwAaBVCBvnNiqwWfFTtXxQgBmMtTbTKtTBsagfFZzGwWBbYkKCjJOozZxXkVvLAagGyxXpmixKZzSqYCVvneEHCcYyOokiqQIYfEeFefAVviWJjwXTPptOEnlLNrROobBczZsSCtTeeeEoOhVvHDbBdQqTaxXDdICKlcCaActFWlLFInNHhUCcJjuXFsvVSSbBCsNMxFQkKtFcCZGgmXuURiIblHCQqoAsSnNaaAGgkBbKNcNnLpkKPuPgGqYyQIivnNVEqQebBCQOZzofFoCcZNEtTNnBXsSSpwWXgMOoWvVQqxXQyYqflSsLFfFfGgjJTtigGWwyYJZzGSsBbxXFIQqoOhgGnbQhQqqQHqBnfPDoAaOYcCuoOWwValxMdDdSZnNxIirMKzZKklLSsOolXlELFtgtAFewWfFxtTGYyXxioeTtZuUzjeooBHOoWXFqQCnNcBqcCQZoQiIlDGoEzAagUnoOEPMmdDsSJjzZpAGgBbmMuQNnqHfQqFQqjNBRrbtTTtLlJjKkXPoAasSXSnNAVHhvJjQpPwWfFEevVqaeoMmdtTbRDdHhCcGDdgeEDdrRXiHTkKtMmoOWwAaFfdFfDvaAsoMmzZWwIixXtsSTGeyYnNnNgGlLwWEUugSDuUDxhHXgGTCfFIUEGgiINHhncyGgwWkKYKkSxwpiIZCMmPpAaZzWhHhBZUuhdGaAguZzHhUGgDBbZbvOosSAlKzZZfELqQuUqkeENncifFRSsqQMmrlLYRmMtTDdolLeEYtThBbJjHGSiZqQEKPpdDkIKxpxwqhHQhYyWwIiGkxmMpPjJXNnKKkkqQKCcgKkCuoLvTeEnNCcNLlPpYygGwnUvXxVHjYyQqAaNMmDHzMmZMmhISsZzTbBEezZtXeEHhxvxoOXqtTQMdwWDGgrRqQUuVvjRfWwYeKkElLyYCcnNueEMyPmuYyUpczVvzxdDXZwWogGgGSbBXuUuUgLlHhmMKktNhwWHIXxjJiItTBpIVDptTmyYlLSsMCcDiHDdhIfSsUuvVCcsfFSzArRaZHjJmMhkKFhHPpyTtYdCpOoiaGgAfFZCcQGOoCczqQWwZsxFfOoeEqYFgNnfxdAaDdfmMBKkVvbFkIirRGgDdsVjJvcLJSsgGYjuUasSZyYEMmMJlLjGgSVvNnstzZTyYmrRlTtAjsSlLdmsSMTtDZzJSscCpJjtkKTYAayPdSTKlLfFsRhunNUHdPpGgDfOoswyYWTFfTtCTtcIyZzYipmMnNUqfFCAaDdzQqyYXBbNnxeERUuCcrUeEPpxdDXgGSAapPSuAaUsDdsWwYyuZHOqVbBrREerKkdDeEPphxXHBbCcYyvVqQOKbBkJjoupbBPPxCvLyYliIVECcepXxPsSWbBMcCcOopIiWXiIxwLlpxXPQxRDdvjMfFriIDdeECcjCrOoQOxzZXZzoVZznNoOvsSPpLlmukKUaARrXwCodcyYCWAacCYRrMmZzmkdDasSAcYydDCuUKNnkKDpPhHdMmgGACcaMiImwYDdUdTtDPfFAaLVvgGlqQqZzTtwuUNnNyTUuOCMgGmCzFGoWweEOyYojJOUumDfsScGwWWwjJmbbBfWlLZkKzbBlVvLVvrVvRlTvmcasXxSUzZzqIjJiUPQLdMMdDmRrRJhHhHBbXOUuohvVHJjSjJytLlTxskKYybIfrRmMFiPDrbBCrVvVvRKkcMvVOzLlqQZomRXnRrvVVvlwxXWFfKgGTmvxXVkKQDMlLqQqqQUuczzuxhHXlLZSsmxmaETeqzZQESaNnAcCKkRrlJjrIAailXxLwuESlLhHTtHDBqumMUceECBuZOozUsSvRrHRPKwkKnNKWwSPpOoPpuxIUuGZqQzDdpPQqrpPRJDuLlCAauUcLlXFSAaUJjZzCswWBzZcCbWwVvSBYGIOyYvVoYyxXAwWtTfPpMfFEIWwiUuotnNBbHhTtGgTpPdDODdGgbVQIPeUuiITtEpiIBbfqHhQFHhNnslLSWwLjKkyHCrEecqDnNyXxYYyoCceEqYDyayIisSoOtDBbwWoOSpPYmAaGeEgMiFfcCRrITXCcxvVSbORFJXtTxIieEjYOTcCILliugGalpCcPJqLAaYZzpYFwWeEtiIoJVvjmMoOzZoOoBbLoOyyYYdDldAaYyRrZUuqxXGgFBvnNBSsDsHEeLPplzQXxdDqpJkSsKzSwtTWWwFfsYyoxXsOsXxdiIDxXzZWrgiIGQPpyYqQqQCJjcQqBQqbqNnUumMJjtsjJzZkKYyOoSOotTvVDEfFEeLoOVvJieAavzZfHhSssSOppPPGgLlSuUilFffFZpPsQqSxHhNnXMyCcEeYanNAlLEdaGgGoONnFfgGliIAnNaLyYDIiAaIyYQUuEbBeGTPptdDrwWRHhXxxTtXubThTwWcCBKkbgGNntgGPpVvzQqiIDdPiIpTtSQqIiWwOxSsXogoOGofFIiOzyCfpMbBmUiuaAVVGgVaAxxXXhHhjAtTTAaTWcCwyjbBJNDdQqenCcPpyCXWAamMAUoOfQcCwWqFuvwlyYkKLWVRrdfFhHBbviIgELlLlTtSbqGxXgQBnWwohwYyOowhHWsSvVsSahDdOoDwGgrMxXmLlSsReEQqSsJGgQoOeQqOtToGSsgnNyHhkuesJNvyYzpIiPmdDMswdDwrtMmTRVvxxaZzPpfBZTtEehBbHKkzAmuUMFfFuUvVfahcCEeHPPppYymMbGGgNXyYyLlSVvuQqUsoOBbUugDdIymMAIiaAPpaBUubTPVWTNnkOsvVSbBMmseESJQqtTCcjkaANXFzZfKkeExKktTXxXaAItTsSxXVMVzZmyZzYrRxAhHgGqhHrRdRKjJkrzLlWEodWyYEvVWlLaEedFfQyLlYqDAORroMMNkKnwKkCcyHNTtnhLkKdDvMmKTJCcjQVvmtTlMHIihvZUubByYAwWWwaeUuNxiYyeyTDdtuwWshQJjqfFnSsHhPYynRjVvQKkUuyLtTlrCiaQrFekLlctTFuHSsgGvyYkKVPpjwWBlWEQqBbseELiVAaiIDdYdRoOrzZDmMkKzuUsSSsoOUukLOqQvVPXxkgGKJjlOoLACFcCTKXxktQSsTXxtqjJVFfCcmLWwnudZzDUNdmOoMScVvCEesDTtemMAawWpPNnrRaQqACIiAaJqQjqwfFiIvgGyvvVwbBNgmnKSsgpPpPmbgGBKsTJhchDdHuNoOsSnUqTphHRrQrRqvTZztWwRjJZzPpruUGxShHldDLGgsTmcoOxXwIKkibBsLlnJjNMsFZpPsZzDlLdfWwdoODhHFnNfkXxKKpPtGeWwjeEtTEeiIRrkKJEUCOSIeEWwiEeFgGKkFuNFfKLlMmXkOoWhHExXhHpPfVvWwFelGkGgUuIixehHKmMOWweifFIDUudEwTLAaBbcCNnlDdaASfFUWwuoOsYKkyrkwAaRrbqMxXoOJBbjmElLevpjJaAvVXNnosSOqNuUnQsgUAMmsxXQOoKetUuTZpPZxXzfYesrRLpPJjlSEmMejqQJjJDdjMTAajuQvVqwWmTtyYMsSgcCGUyYuEergYaxXFflAGgasSKgGkQqdDLGglQlLqtlJfFfdYyDJcCWwjTdDtFjOySsCEqtTQeFfeEKkDvVftnNtAuxXUaTJjQAuUoOTFjJdLlNDdnDRrZzImMsSZnTPptsTEebaLldDQqoFmErBbQqbfvVFBZsStiKkKqshkKEegkKrCmZzMcTrRtQqmKDdcFfCaAzZkKbrySsEKkeXPpPqTxXYydmvADdJjFfJjYyctiIVNnBbNnMmhHnmMKdDkMjnUBbuNJRrJjmNnNvPpOoOoVRrEVsStBbXRabiIfVvFhZNnzxRyYJjVvGgNnOpRtTnZVvoFfUDduoOkDyYDddKVkBqQJJjjzZOFfpPobDdGsPpjLlkKUuJhHfFBJjMmbXBbXxGgzZpVvVMTAXxahNNnnfYyFvvzoAatQqTOqRrjQVvfFbBsSHhTyVvYmQqLlMlLpILlXuUsSDmoYWHhOOMmooiDdIwWkwWwWKGghHwhvVkKvtTVbBZZzTtMNnOMmbhWwHNneEtTsSQqcTtSKksVTtTdDwWRdDrlLzZtxzmUwWIiuKPNnpENzZHZzxnhkXxZGgUuuKVbBmMjJRtxXQSsqkJjkqQKeEsqQBbBhHHhHqNmMqoOpCpPcPAMmyYsZsKbBkSpmGgMpTifFvpPYyVpPIXPpxuljdDJTBMmeEdWtYyTLvTxXtVHTtvVOMmoEozIiOorRgnNKWgRrOorRZzkqQeIuUdbfFfJjFveEZvqQzZVdqQDqLnvRLloOrVKkvOzZpvVMYpPuUyseEPpvVSeJzgzmKnTyYtFfAabrRLpPrRalQqLVGnvVNgvMtTkKWRPpxXWwMORXdwWeWwJjlbBSsyoHkKgNnoOnNDdHhGFfWwKklLhOezZxXZgKkGEAawWezETLJnNPpjAalLuJjQqXxUMCBbtHhrRrRyQqQJjuUnNZQaAGCCcYsETkKtpPwWSbFfsEoOeZKkOozQYyJjVRryMPplLAaSspzNnZPqQWPpBbGgworROHzNiIxXSGCcgXIiCgIiGlLTgiccCkKlHJBulxUuLdDdDfFVvcCGgEkSsdszZSmMsSuURQqrDJjBKkVvFBpPjhHcSwWsMTWwtBAzAfFaHRrhtYyhOxXtQuUkgGYysSkGJjgqQMoKnIhHdRrpPDCLlMAaBaARrTtyYbmPsScyYTtyYWCkDdLlgGAhHanNFqOoTIitQKkmlFfzQZRrcCuUVFgaAGfveUueUTXGNSsngvvVdDiJRrlLenNMmEeERIiNWwUmMuEeSLdDfFlqQLFjJfBLfTYGmMgycCtpPUuMmsESlLsxXeSfUuFICgGEzYRrbiIBHCeDdsAaWwSxXlLlLsIGginNSUqQDWwYBblNHcjJcCoOsxXSuUTCctMmHURrIImMRCcrNnAaiJdDjAawWUuRrxgGXKmMkAaATtahHFfBbiIfXxXAaxQqQqcCoKeEHVvhexXzjhBbHCcAaTEeADddDadDuWwPpOIifUOxeEXDTZLAeGgVhHLavVJjtTlLADdlBdSsUeiIMmfJBbjQqNecCEVeEvBbcCCbBtTtTchXxTvVIOoEeiugGFfQqUYkKLebBDdEeesSvAazZFfzZTOotpEepPpPcVxLlQQpPZqQJnNRrjlLzDdhHVvFlQqQqQQgGafRrLuWyYwEejloOEelLeECDBbtTdvVqOohyYjWweEJsSBbTTtAYyViVvIyYYyRrOoLlvDnOoWpIizcCZPUaUQbiIByYquZzyHhYWXgaAZNVvnrRNPrRULltTQqpPxXUxXXxsnNbepPEsSKWtFffFVvTgqQFfGRYhHHwWhyYyrxXzCEecSlCcFJgGgGjKtEesWwubBDdUSNnKyYuFgDofFORrdGUuLYUDdHDdtTHhBaAhHcCaWwLlaAhEezLrRlOUOoHvVxXfKkLloCXxNnTtnNkKnYEsSeBbgOoLlHCGPpnwWzJvXFfxrEeJjxXcJIijCcQqMmGgCEhmgGKkSsMBbwWRjZztTrRJkKlLGgZGgzLbBlxXcCawcCxXKkJjtrRyYuUEtTeQqTzZzbcCBZAEWDLlEedwFFuUfQqrZlFfpoKkOFfqQqUBPpbTtIikiqQqQHGgHQtWwTrRVyYvyYqSsSsVFfvEhEeHkiIKeYyEVMGuUgmTtorRJcCEiIOaZzOoKkCfFbBGCjJcKkgSskKzZDdTtcHhnNuCqQcuUoOIipuUtTtTLlmkKMAPTBbNnZzTcECcjJtTexXEQqabBAXejtTJIiDhHwhHeEsBxLlVvXOHeEsQbBCcqiIOVvodxXaAuUDdAwLlWFfouZSsDBbdeElLvsbBVvKkrbBSEelkPpKLIcCeEKkZuUzLlEZzesPpSqDdIiaAQiFqHgGwPpCjJJOojcAaZsSmMzKeEkDFrRBbyGlpPLWiIwulLijVaACcQNnqNntUuqQRroOtbBMmwRTtKkrCFfclQqLJjWCcKcCNNnBbaAjaAJndDYyWnNwHhjJIiQKIBbihIspPvVpmMPfiInNmDpPpPdlLHjJyvUFaFfAsSfOoxXJjyYwWvhHUMmusPpSfFVQqtwRVwWvrLyYlSKkTtZzYrlRrvVeEKVvkAaDdRrkQqKqQaNnpWwyYPAaGgfkxXyYKFlLaUuKkucPAAQqaqfFGgeEQBLLliIvXafFAnNpPoOpzWwZVvHaAhEuUeqQPaFxXXxJuUKZOozzZNnkfFbBbnNBXxCmPuIhHiVszZSEfFCxTtXBbTtfXxuvnNVUxXuofFOyeEvVACceCcEvVUudMOoAamtuJjUqmMwWQTRrAaAaoOWwpPkKtcClLVrUuhHRxcCKOobBkToXqhMmHLgGvVGrCnzZNcvyYrRHhGCmMcgjJioOIlLrxXWTtXRrhHxhJjVvEoOiIKFfYdDNnQqywaAoZzOWjJiTkcCKvVIitdDXzbBZIiuftTFNnGgJsSmwAaurFfKktTvfjtTJoOFcaACVgsgeEGSLldRrBYJjylLQqbDoObBvRrtTwAaWwWRrDdaeyYpPmMlLSsriIGMmKktKkKkMyYWqQiIYykaAHMmsSGgLlCHKaAIkKcAaCikZzaAOoeNngTtSsUuBDDdpPWwaxXpPwEeWNTtneENnNPOooOpnVfmJNnyYjMFJjwWeGgGgELldiImMDMmeETtsSjlLkYybxyYJjXfFdzHTjQqaCmMIYytTibBpPAyYgGUNGgnBbjJurReJFfjETtvVzZVbSsBoMmJsSjOwWaAUogHhjJGpPhHnvQqntTDdEebBNHhaALgmMlLoOgVvGKfFkGOPjJKkpbZzmMnrRNyrtTyLlYEeEHhQqFZExXXMRrOoknNsSnAaIiZbJbjJBaKkuTtUNnRAaLExXwWirRQqIeEetlaAeiICxXnNvMAlLagZzEelJLlXzkKZtKkFfyYTfVvFeMtTBZQqzKkXxOoBGgbjJHhHOohKkVIivIyfFYjKvGgLlVRrvkQqKhXvVAacwWCSszhHZGgHnNhujJsSnNbBbBKkvVnNiIromOoMdDsFfSZHhJHRrGghaAxXWgGJmMmHhhHXKsSLlOZJLAalnNzZSsOojQqgVrRWNqQnmMwJjbBjSKRruUDdkksSKWSswYGgUUuuyxXCfFcmMZzOGgDQOowWZUuzjJJBbjyYqQTtjJhHSJjYysDxtTXdDFfItTiNbBAOofFaBbVVvAYMmNnyaaAlEeHhLUbBNnmMBYyRrRrKxBbdAaDRrXSsJjzZkAPpxHhXnoONaUXwWxYlLmMRYjJxXfrSpJSsjJjPphHPnNiIHhsqQFfiIvVBbRcCQldkKDLRrpPWfFwxXrRXxJrIiHPpSshRHKAasoVTtLlcCmGgmMMrDdRvdDOSgoORtTbBomMLMKoORbBnbUuUuBXYrRyrRZqEDdQqTOoRrtlnNGtTZzeEgeRcCJjkKanNGgAzZRrSuUtTrRzxXGaZzMmAgSlVvJjKvVklLbBThMmmMnxXdDlqQDdLBOogGgGKkpwVvxXRvVroWFSsEMDlXxLfezZmMxXEsSFKkfFdmeEeEvVesSrRCkKlLTtrRrRcfgGeLMmpWQqdCcDwRkKrpNHhmMnNnUujJbBNaACEebBIfFisSBYwLlaAUEezqcCgWwGQsvVcJfAYyaYyVbBdDJzZlLeFfmQqMUuIyJyYhszZSHaAjiIEenixRrXmMINxtTXzQqZDdWwsSfzZGJwLEeZzjSsKkJlWjPSVvspPlpPoOLRrXRrcCZzKLhHlhGgWwVvuUQDdTtTtqiIHJjcjJYQqOoyPpAJEenXERzZZzTtRRrmMoTtjJSNnsvViIZzHhyYxXeEKPoOhHpkuUueETtlLUAtrRrRBbTPuUphHIejkKmMJtTEPHyYVvGgWwbBkKnNlWwUuLYynKpTHhGgXxZzNntvVGdDgNkKnlLJjFZfFzHhfYyREerOoPVvoeEPpuUOPAnNMmLuUlwXxsSHnmMorRlLODNnGgQLFfFfliTEetVBrRbBVxXvKefnNiKvvVzTthHEeOoZYyiIZzVaATDkKdMmWzhHZwtaAOuUoWwLlklLVvbBHjJimnnNQqNMIiIqoOHhBRreEzFfUuZDxXdooOOrSsRbaYEeyBCFfcbfvVFwLDTtdNfKZJjhHYyBGgbCcTYhNhHPXxwWpncCyYoJnNIijOffsSFFOaAKXxLlkogGenBYyAffFFEeaguUzZGQqbrRPpSOsgiWwIhSrkKRSssfzZFIaRNnkxXEepPvBVvUzZunNxXwWzRriIIpPrRiWTtuiRrIqyYaAcRjJrCcCQlLXgiILlGIidqMNnFfuUmQgGKkZzKkDTtASUiIuxXeLlESeEsHhtTguUGIirRnNSsfFPpGghHioIDdiWCclfFLorRNSslLqQVFrbmMBVvaBvVHjJqQNwbBwDdWGBbgpCRrHhqQrXOfFoiIxgGGALlagSxXXxseepnNQygGRwWrYnNOoUuMmquUAabbBBCzjJZcNEaAoOenhOdDUGpPKnqQNVnAhHaNvCcBHhzZbkBbcCvERrZzyeyYIiEYNnewWnNSJEejjvXxVJjJVDdBbbBBbvbBFfiILlrXxoxleEwWRrLGgKkAaelLQqECcuUXgCMvTTviIVlQqWwtTGgSsCcKkqoiIOQTtAaPaAuUEepHfFhXxbBLKkJjSzZqQdDbtcEelZIimMzIiAaPpRrcTtFxpPXSsWwrgoSsOwWuAarkKRzZFfDdvyYpPYyVUGAaRQAagGkbOolLBKkWwnBbMmbBSssWEeOAaomXOoxCcyYtTyYRmRrMrMwWHhKtTkwvvdhHuUDmMxXOnNooGgOVVFfwWOoYyrmMdDRLltynNlLwWKkUuAaVCcvjJVWfeEAaSUusvVFYYoAwaqQARfIiooOxXKEekOFuUAdDRMmraKkYzZypPYyFuUFjJxwlJjLZzWnNXcCxcCnSsNawWAzYyZXSsIoOAaRruXxsfFwWDdSfoOFUjJLzZiEeTJjttTIvVBbqQcCRJjroxXHaOoALleUuEhOUNnMvVqFYyfQmEnNCcXxwAaWkKZKlIiIlLaAmMCcJGgFfFMmfGgyYWwuUIilLeHhMmPIisSiIhHzZqkAaKQaAvVjNnncCtTNJRrcCYsSWwyuWnaAoOTtNxXwPNnplLYHlLCJjjfHhFiIJYdxXPpibBxXIZMFnNfmzDrRoUuOyoOHhMfFFfIiMmmCzZameEZzMmjJMuUrRIiaAAoOFgnNBRrUYeEBbyepPcCEubBnwWuUEeuOoMFTtfmrGgsCcSRFfARranoONmhmrRMfFNnHvVxXEeVnfFLlHhNeERrvqgGMRrmQaAaGgAHUudYyAmMrRaZzvhHVYyWCcCcoOVbBvFQqfwcjJCDHhuUtTMRrdDmtrHhvVRBkKbyYbBqQqQDDdaATtIiAbvVIWaAfFFfwjJXxXxiuUNrEeRJZzzZjoOSsqQFlLfjJpPnNJNoAaOnpPtLlAtTvVKVvkazXxZMmwWlLhlLIiMmBbsDpPAafdDEAMOomZzaJjRryYehHvOgGzDdXxAaZgGpqEeQPoEhHefFLlSsjNCcfFJjoOuUnUnNajJAaAymMYIilsSyYTtLCkrRKcSHhShHvVDgYBoXAMdDDdmcCCnhPpGgHNcahTtAatuUuVToOtvHhUyNnmDdaAPpjLkKlRrEeJJjmxkcCpPKtTETthxXtTHhnNmMHGiICciNdkKdDDWwnTbyYNHhfFuMNnmpPzmTtMZpcCLOolEOuUCcouUeWwPUnkKdLlcCHiIhBbFfDWvVnNwOcoDdOCoLjJsSQUuCNrTyYiItzZwWQqPvVEeJLKklLlFRrfFfjJmMaAIizZsUQqRSsrpPSIisLCcuDdiIcEeJjCUuKzYXGgtQNnqPpXZzqMmLlgGUdpPOoSsOoDunNnNZPxwWXpzFfIKkrRaAxXgWvVwUudDaAfFbBZztTlXuUxFfLWRcCrEVveIiwyvVkKMmhHkKYbBNnnqQNqQeElLwQqhHOlLoWhHbIioOBRrwWewWtotxXtTTfzZFOsSTDzZNndDdDdkKXxjTtJJjAyYCcaXxtKkTQXIdvVdZuUzSsDAayIiYYysSnyYRTpPfFtrkKNrJOoyYRgGMmuUrnXxlLSsNPyYUqLxXlQaAPpMOomuILlipzXZzxlLVvFfzZMeEJjwlQRrqlUTtUufFuVkAaaAEHhenNWkeEKsSTtpPrRgGwATyNeEnRxXrAbKkBaCcqQYmMBbHCUuENnemLlTGfFgtOsmdDAadDVvqQvVVmMvGUuguUpHGghZiIzhHqQPSsTJjGzZgsSGLlPNnqQKKkkCcEeJjpuToOTttUOovVoUuAaTLlYyeEtjAaJfpPxXFAamMhFQqKmMkBbCFfcJsSTqaMmAQtjIioVvOMmfFfyhqQOoHeNnEYzZJjXTjhHJEetxPphHtTTtXJoOjGGggWwuNnUuQqnUuNYyLqdDqTAEeuUakKWMVvZzmwjRMiImrJjxXLllfBKkbeEflKkLVvmKkcCYyZzWwnNjJMFilLbhHlLDhHGWDjJjVvJdSLOolGgyYsGgUBbMIiKXxkYyYmMyBqQGgbcCmsDelDdLYrhHsSReEKkPppPFfMmzZdeEzVvqQcCOoSsUxZzeEEKkQqYyxXeXujJFLbBxXlzZqiCmMNncpFfPIRtTrjJWlLvetTEnCcNRrVeElZzLwqQYypPvVFfpPtThLlMmNaSsAnyYLlHXxjJXVCZzcgGvxPpLQOoqdDjEFirRIfHhBbuUeqQJvVSaAaAslFfjHhJrPpJwqQBbWjoORtIiTiITWIiwtLlcCEedDjUuWIiSRrGvVjJgsBwFfWaAbJsScCRrjfFrRGHhxPvUukIwWiKVpAavYysSPdDeEPpKkpreEGrlDdLRtzZqQnNTLyYYystdDTSOGgojJmMEwWelAACcaagRvVdwWeEqQDFfsSdDIirWUuKKkoOBbKkzZkKkmMxFyYfhHGXxgXGgRcDdRgHZzmMVvpKkPhxXHhGrCIifhHbQBbrRKkqrAaRbiIUTMmFftaAIiuBcCjaArRrsJgsSGPpjSkKdcCjJDfeEWwFmMdwWkWwkKRrKDaOkKojJASsqQXxdDqQEerRszZSRqQOoMKzZkzZpPBmMbmpPbfPgGpsSxXiIIiGWLlkokQqKOKoONeEnuBbjJUuUNnrlLBcCycClLmMYZzRrbsSYCcJLlrRjyBbTReEBbxXzaAZaAnNQqnNGgrgCcGtLeElrgGwJUujWRYlLtMmTyEhHefJjNnEeLlahcCHACKkcaAOorRFvVmMFrmIiLlMeEzZrRRgfFBbuUSsGRrnNfYykPpomMOIiKYbBhHzZyMmUUIiOPpHhorRupPdDuzZLlippPPxXTtLGghHlyYZziJjJjIlLqQZMJjaAmxVvrRtTGgUupPVHhAaUuiPoFNnxXfZzPcCpPPprRZzzZxXpMxXmmQEOoWwmhHEeUunUlLuRrNPHhpRrMBbiiIIeOKkoCbBcUEeugGQAaqwCcoMmzZwWGgPpjOEeoBbKkrRDdOoZzJxRnGgNqEegGtTXxjJstTOoSvVgvVAaGSsCcESslLOoEeNMIimNntTmMxXyYiInVveTkOoqHhQbBKEeCTgGtHyYJjNnzIiZhcVsSfFYykKOHhoRreEjsSXAasSYyJdDrIiRWwVCcvhVvizZrRkKAaeEhHWwBUTtuiaBnNbSsAMHlLmMrpPRhmGgwMmWIvVbIRkKDaAYydriSsaAsiIsSxXSHhYyrRuNnmMUdDrRzysSdDkBbKqSsQYXxOfFvVGgxOoqeEQXZVvOyYozjpeECczPpzZaAtTkKfFvVeEYyQqcCGgcCyMmYiIZPCcEZzyYoOoOotTYyQtTqOLllLstgrRPpaEwoOWbBeVvAGTMmJjYyIGgyfFYfeEFrrRfFRBbQqrRhmMxJjLCclxQqcCXXxrRZDdzheEHYyXTaXxAhrRHuUhEeFfHkKVveExXxXwWTthWwWwUuHtQqWdDwNnfMmFNnobBJjmIhHkKXxxXXxiBbpPIDMmcCpPvVsSgGdgGhSsIDdkYyKiEenNcCoOGIicCDdgHZCcDdKVvkzHhkDLldKWYywSJjsSxXYyyYUuVvJiIWwKSIiskkKHsSDdObBBbBboNDdnzZBbgGOKZzkHhVvodBZoFfOzbdYIiyBbmMmhHMGgCcdDbBetTpPEEeWlLJjyYwiIJjqQKzZxPpXkRDdBbrdDyYKTHYyhGgGgthHqQtTsSkqQqeEiIBbXxQKGgzZVvgGkKXxkeEoOAaNKfajJAsSFkZzIyYisArRUuaTtmMSUuenNRaOoAWwfFrTaAtMZxXzmEHhCiIpPWwLlrRcVvxXRSsdDraAvVGWwrRgTtnayYvWwVeEAEepPBbfeEFUujJwaAWOiIoMsSZzwWKVviIkIimauUNiYyInAvxXgGVvigqQGIHxXhVaAvwWFfVaAiIrRCzZcrUuOuUHwWhopPLPNnSspHhVvgGlcGgNnHhPpzZCiIhgYyyYyYSsGeEBfFiIbkKMmEevQqZzlLTnNttTVHRSsAaRrzZQqWcCwgkKTtaAltTLdDUuGbEeBbkKMjJjmRrMjJaAfFBbBbJxXFfAnNaIiIaAvViVkLlKiIvwWwWFfaeEGgxPpXiKkIAEeagGABbuUYyrRQQquUEpPeWwIigGqRrZzAOogSsGaPpnNFZzUumMfFrRIizZfXmMxXxeWwTuUhNmMnmHhMHSssoOStPoOpepPNnEZzEtTjgGzWfFwZvVfFxXJTtMmMHhtTeEmhtTBbHhcVvCmMmMUuKkxdzZDXPpePpYyEGfNnlIiLFfJjKkpoONfmMFLlnEexRruUPpXUuCcPFfJjzCciIZRravVApZzaRrRnNrAVvwWbBZzWwtTkKNnyYlrBbRqicCFfAaURruIHhTgFfGtKEeKkCDnNdcxXiIkQnNFfkKrRpPqQXxTtDVvVmMvKLlIgYyGikDtThHduPpUGgnNbBCEDkKSKnNksdZzeCcEaAyYubBQqSsHhXpPyYxFfUeIiEHdSlLswWDCMpFDdfPmchMNnpPuUmtTMmEgGgGeRRcmMCHhrWwYyrZzDdrRPeEiIlLnwWMmNEepTjJfFDlLdMmATgGJjJlLjlLthZsLlRSsrWwSCczHfFzZfFjJalLMBbsAaSxXBbowWdDczyYZzpPZyYtZzTCyYvbBVOmmEeSsMaAiIFoOpoOHhhHKHhHhXxXxkuEbUutTBejJzZLlvKkVxXNHhnsvVXxSrRqQFiIftVvTqRrQoaAOMmmMfFUvVNnuurRUEJrRjuUhHuUZzgGTGgtKkEedDrRLIilpPeMmMTKktnNHhKkPpmlLjJZGgzlLJUkKuwWUgGuvVcCUZzuLKklAaKkqpstTScCCcPoZzOJjvvVEqQepPxwWXdDVvXxQxXadDoOkKAqMmEqQwWeVQoOYeEsSyeEyYjuhHvVXxUzZEeDdCcoOOoAVbBvcCmMaLRrlyYlLRruUGwWtsSkUuKwWTFfgsSTZzFfVyxXYTtvcuUCtuUGgRzgGZcCZzvVEeUurVvZzHheEhHUUojJOuuMmUXxgAvVDdapgGPgGKkiIqQGrRufFfFWwFfSsDqXxbiIBQGgCcyYnNbBdu
@@ -0,0 +1,50 @@
1
+ 66, 204
2
+ 55, 226
3
+ 231, 196
4
+ 69, 211
5
+ 69, 335
6
+ 133, 146
7
+ 321, 136
8
+ 220, 229
9
+ 148, 138
10
+ 42, 319
11
+ 304, 181
12
+ 101, 329
13
+ 72, 244
14
+ 242, 117
15
+ 83, 237
16
+ 169, 225
17
+ 311, 212
18
+ 348, 330
19
+ 233, 268
20
+ 99, 301
21
+ 142, 293
22
+ 239, 288
23
+ 200, 216
24
+ 44, 215
25
+ 353, 289
26
+ 54, 73
27
+ 73, 317
28
+ 55, 216
29
+ 305, 134
30
+ 343, 233
31
+ 227, 75
32
+ 139, 285
33
+ 264, 179
34
+ 349, 263
35
+ 48, 116
36
+ 223, 60
37
+ 247, 148
38
+ 320, 232
39
+ 60, 230
40
+ 292, 78
41
+ 247, 342
42
+ 59, 326
43
+ 333, 210
44
+ 186, 291
45
+ 218, 146
46
+ 205, 246
47
+ 124, 204
48
+ 76, 121
49
+ 333, 137
50
+ 117, 68
@@ -0,0 +1,101 @@
1
+ Step S must be finished before step G can begin.
2
+ Step E must be finished before step T can begin.
3
+ Step G must be finished before step A can begin.
4
+ Step P must be finished before step Z can begin.
5
+ Step L must be finished before step Z can begin.
6
+ Step F must be finished before step H can begin.
7
+ Step D must be finished before step Y can begin.
8
+ Step J must be finished before step Y can begin.
9
+ Step N must be finished before step O can begin.
10
+ Step R must be finished before step Y can begin.
11
+ Step Y must be finished before step W can begin.
12
+ Step U must be finished before step T can begin.
13
+ Step H must be finished before step W can begin.
14
+ Step T must be finished before step Z can begin.
15
+ Step Q must be finished before step B can begin.
16
+ Step O must be finished before step Z can begin.
17
+ Step K must be finished before step W can begin.
18
+ Step M must be finished before step C can begin.
19
+ Step A must be finished before step Z can begin.
20
+ Step C must be finished before step X can begin.
21
+ Step I must be finished before step V can begin.
22
+ Step V must be finished before step W can begin.
23
+ Step W must be finished before step X can begin.
24
+ Step Z must be finished before step B can begin.
25
+ Step X must be finished before step B can begin.
26
+ Step D must be finished before step M can begin.
27
+ Step S must be finished before step Z can begin.
28
+ Step A must be finished before step B can begin.
29
+ Step V must be finished before step Z can begin.
30
+ Step Q must be finished before step Z can begin.
31
+ Step O must be finished before step W can begin.
32
+ Step S must be finished before step E can begin.
33
+ Step L must be finished before step B can begin.
34
+ Step P must be finished before step Y can begin.
35
+ Step K must be finished before step M can begin.
36
+ Step W must be finished before step Z can begin.
37
+ Step Y must be finished before step Q can begin.
38
+ Step J must be finished before step M can begin.
39
+ Step U must be finished before step H can begin.
40
+ Step Y must be finished before step U can begin.
41
+ Step D must be finished before step A can begin.
42
+ Step C must be finished before step V can begin.
43
+ Step G must be finished before step J can begin.
44
+ Step O must be finished before step C can begin.
45
+ Step P must be finished before step H can begin.
46
+ Step M must be finished before step B can begin.
47
+ Step T must be finished before step C can begin.
48
+ Step A must be finished before step W can begin.
49
+ Step C must be finished before step B can begin.
50
+ Step Q must be finished before step I can begin.
51
+ Step O must be finished before step A can begin.
52
+ Step N must be finished before step H can begin.
53
+ Step Q must be finished before step C can begin.
54
+ Step G must be finished before step W can begin.
55
+ Step V must be finished before step X can begin.
56
+ Step A must be finished before step V can begin.
57
+ Step S must be finished before step C can begin.
58
+ Step O must be finished before step M can begin.
59
+ Step E must be finished before step L can begin.
60
+ Step D must be finished before step V can begin.
61
+ Step P must be finished before step N can begin.
62
+ Step O must be finished before step I can begin.
63
+ Step P must be finished before step K can begin.
64
+ Step N must be finished before step A can begin.
65
+ Step A must be finished before step X can begin.
66
+ Step L must be finished before step A can begin.
67
+ Step L must be finished before step T can begin.
68
+ Step I must be finished before step X can begin.
69
+ Step N must be finished before step C can begin.
70
+ Step N must be finished before step W can begin.
71
+ Step Y must be finished before step M can begin.
72
+ Step R must be finished before step A can begin.
73
+ Step O must be finished before step X can begin.
74
+ Step G must be finished before step T can begin.
75
+ Step S must be finished before step P can begin.
76
+ Step E must be finished before step M can begin.
77
+ Step E must be finished before step A can begin.
78
+ Step E must be finished before step W can begin.
79
+ Step F must be finished before step D can begin.
80
+ Step U must be finished before step C can begin.
81
+ Step R must be finished before step Z can begin.
82
+ Step A must be finished before step C can begin.
83
+ Step F must be finished before step K can begin.
84
+ Step L must be finished before step V can begin.
85
+ Step F must be finished before step T can begin.
86
+ Step W must be finished before step B can begin.
87
+ Step Y must be finished before step A can begin.
88
+ Step D must be finished before step T can begin.
89
+ Step S must be finished before step V can begin.
90
+ Step Y must be finished before step O can begin.
91
+ Step K must be finished before step B can begin.
92
+ Step N must be finished before step V can begin.
93
+ Step Y must be finished before step I can begin.
94
+ Step Z must be finished before step X can begin.
95
+ Step E must be finished before step B can begin.
96
+ Step P must be finished before step O can begin.
97
+ Step D must be finished before step R can begin.
98
+ Step Q must be finished before step X can begin.
99
+ Step E must be finished before step K can begin.
100
+ Step J must be finished before step R can begin.
101
+ Step L must be finished before step N can begin.
@@ -0,0 +1 @@
1
+ 9 11 7 3 5 5 3 6 1 6 0 7 1 5 3 5 3 6 1 3 2 1 1 3 1 1 5 0 11 9 7 4 6 9 1 1 8 1 9 2 1 3 2 2 1 1 8 0 10 8 2 8 7 7 1 9 1 8 5 3 3 2 3 1 3 1 1 4 4 5 1 3 4 3 5 1 6 0 10 1 4 7 3 8 7 4 7 1 4 3 3 1 1 1 2 1 8 0 11 1 1 7 1 1 8 5 5 4 1 5 2 3 3 3 1 1 2 3 1 9 0 11 9 1 7 3 1 6 7 2 9 5 3 3 1 3 1 3 1 2 2 2 2 3 4 5 2 3 6 1 9 0 6 1 7 4 3 6 9 3 2 2 1 1 1 3 1 3 1 7 0 9 7 7 1 8 3 2 5 9 6 3 1 1 1 3 2 3 1 6 0 9 1 6 5 4 7 9 3 2 8 3 1 2 1 3 1 2 2 1 3 2 4 3 7 1 7 0 10 8 7 9 5 9 6 4 2 1 6 2 3 2 2 3 1 3 1 5 0 10 1 4 4 7 1 9 8 9 7 6 1 2 3 3 1 1 8 0 11 3 5 3 9 7 4 9 6 6 6 1 2 3 3 1 2 1 3 3 5 5 1 4 1 2 3 3 5 1 6 0 6 9 7 8 3 1 1 1 1 1 1 1 1 1 9 0 11 8 9 7 4 9 5 5 5 8 5 1 3 2 1 1 2 2 2 2 1 1 6 0 9 3 4 4 3 7 2 1 5 7 1 2 1 1 3 2 3 5 2 5 3 4 6 7 5 4 5 4 3 7 1 7 0 11 3 2 2 1 8 8 8 2 9 6 5 1 1 1 3 1 1 1 1 7 0 11 8 9 4 9 8 7 8 7 3 1 6 3 1 1 2 3 3 2 1 9 0 7 8 1 2 1 3 1 4 1 2 3 2 2 1 2 1 3 3 1 2 3 5 3 1 3 4 1 5 0 10 8 9 4 1 3 9 3 5 2 1 1 1 1 1 2 1 6 0 10 8 7 3 7 7 4 8 1 1 3 3 2 1 2 3 2 1 6 0 6 1 3 7 7 4 2 1 2 3 3 1 2 3 1 3 4 3 5 1 6 0 11 6 1 8 3 6 2 4 2 2 7 1 2 3 2 1 1 3 1 6 0 11 8 3 2 5 1 7 5 2 5 2 1 1 1 2 1 2 3 1 8 0 7 6 9 1 9 1 7 1 2 2 3 2 3 3 1 2 2 4 5 2 1 3 7 1 6 0 9 7 5 9 9 7 6 1 3 8 3 3 2 1 3 1 1 5 0 9 8 6 6 6 9 1 5 1 9 3 3 3 1 1 1 8 0 8 1 9 6 7 6 4 7 7 2 2 2 1 3 1 2 1 1 5 4 1 3 5 3 3 6 1 6 0 8 5 8 3 4 9 7 1 1 1 1 3 3 1 3 1 9 0 11 2 9 4 3 6 2 1 6 9 8 2 1 2 1 2 3 3 2 1 3 1 5 0 8 1 7 6 7 8 9 1 5 1 1 1 1 3 2 5 2 3 4 2 2 5 3 4 4 3 3 6 1 9 0 7 9 8 3 2 4 1 8 2 1 3 2 2 2 2 1 1 1 8 0 11 2 2 1 5 5 6 6 5 8 5 4 3 3 2 1 1 2 1 2 1 8 0 10 5 6 7 3 9 1 5 7 3 9 1 2 3 1 2 2 2 2 1 2 3 3 4 5 3 4 1 5 0 6 3 1 2 1 7 1 1 3 3 1 2 1 5 0 10 1 5 8 3 1 4 2 3 1 1 1 2 1 3 2 1 6 0 10 5 9 7 3 8 8 4 1 1 3 3 1 2 3 2 2 5 3 2 1 3 7 1 5 0 10 6 2 6 1 4 2 1 5 4 1 2 3 1 1 1 1 8 0 11 8 9 4 3 6 2 2 1 1 3 3 1 3 1 2 2 1 1 2 1 8 0 9 6 8 3 5 4 5 4 1 8 2 1 3 3 1 2 1 3 2 1 3 5 3 3 4 3 6 1 6 0 6 6 4 3 8 4 1 2 2 1 3 3 1 1 5 0 10 6 2 4 6 8 4 8 1 5 2 1 1 2 3 2 1 5 0 9 5 7 1 6 2 5 7 5 2 2 3 1 1 3 1 2 1 5 1 4 3 3 5 5 5 3 5 1 9 0 11 4 7 6 6 9 3 9 3 1 3 1 3 3 3 1 1 2 3 2 1 1 8 0 8 3 9 8 4 1 1 9 4 1 2 1 1 3 2 2 3 1 8 0 7 2 1 9 6 8 3 8 3 1 3 1 3 1 1 2 2 2 1 5 1 3 7 1 5 0 10 4 3 6 7 1 5 9 1 8 9 2 1 3 1 1 1 9 0 9 6 5 4 7 3 7 1 8 5 1 1 1 2 2 3 2 2 2 1 5 0 11 1 5 4 5 9 9 3 4 6 4 9 3 3 1 2 1 5 3 3 1 2 4 1 3 6 1 9 0 7 4 6 2 1 3 5 8 3 3 3 2 3 1 2 1 2 1 7 0 8 6 2 9 5 7 9 1 1 2 1 2 1 1 3 3 1 8 0 6 2 1 3 3 1 2 1 1 1 1 1 3 3 1 1 2 4 5 2 5 3 5 1 9 0 8 8 7 2 3 1 4 8 3 3 3 2 2 1 1 3 3 1 1 6 0 10 7 2 9 6 7 1 5 5 6 2 1 1 1 1 2 2 1 9 0 7 4 5 6 1 7 4 3 2 2 1 1 1 3 1 2 2 4 1 1 3 1 3 5 1 6 0 9 1 4 8 8 9 5 3 2 9 3 3 1 3 1 3 1 9 0 9 7 1 7 1 1 3 6 3 4 2 1 2 3 3 2 1 3 3 1 6 0 11 8 1 7 5 9 1 6 1 7 4 4 3 2 1 2 2 2 5 2 1 5 2 1 2 2 5 4 5 3 3 5 1 7 0 8 2 5 1 8 9 6 7 1 2 2 1 3 3 2 1 1 6 0 6 9 1 6 7 9 8 2 3 3 1 1 3 1 5 0 7 4 5 1 8 7 6 6 1 1 1 1 3 3 1 2 1 1 3 4 1 6 0 8 9 9 7 1 5 2 2 4 2 2 1 2 1 1 1 5 0 6 6 2 1 4 7 1 2 3 3 2 1 1 7 0 8 3 5 4 1 2 1 1 4 1 1 2 3 3 2 1 2 4 2 2 3 5 1 8 0 6 3 5 3 1 9 7 1 1 2 1 3 1 3 2 1 9 0 6 3 4 7 7 8 1 1 2 1 1 2 3 1 2 2 1 7 0 6 1 1 7 8 6 1 2 3 3 3 3 1 2 1 5 3 2 4 3 7 1 5 0 6 6 8 1 4 9 6 3 1 2 1 3 1 6 0 9 9 2 4 2 1 7 1 1 3 2 1 3 3 1 1 1 7 0 6 7 4 8 8 1 8 1 2 3 1 1 1 1 2 1 5 3 4 2 2 3 6 1 6 0 7 7 5 1 5 4 4 4 3 1 1 1 2 2 1 9 0 9 1 6 6 4 9 5 6 1 5 1 3 2 3 3 2 1 1 1 1 8 0 10 9 4 1 1 5 7 4 4 2 8 3 1 1 1 2 2 1 2 5 5 3 1 1 5 6 1 4 5 3 3 6 1 8 0 8 1 3 8 2 1 8 8 1 3 2 3 1 1 2 2 2 1 7 0 6 5 7 1 6 3 1 1 2 2 3 3 2 2 1 6 0 8 2 7 9 1 4 3 5 5 1 3 1 2 1 1 3 1 3 4 2 3 3 7 1 9 0 6 1 7 7 7 4 3 3 2 2 1 2 2 3 2 1 1 5 0 7 8 5 3 7 1 3 7 3 1 2 2 1 1 5 0 7 1 4 3 7 4 6 1 1 2 1 1 3 1 2 3 3 2 5 4 3 4 1 5 0 7 7 6 1 1 4 3 1 3 1 2 2 2 1 7 0 10 8 5 1 9 3 7 4 5 3 5 2 2 3 1 2 3 3 1 9 0 10 5 5 8 2 4 1 9 9 7 9 1 2 1 1 2 1 2 3 3 3 1 2 2 3 7 1 9 0 7 5 1 5 5 5 5 5 3 1 1 1 2 1 1 1 2 1 5 0 11 1 8 7 8 2 7 4 3 8 9 2 1 2 2 3 1 1 5 0 11 7 4 1 8 9 5 7 4 1 1 8 2 1 3 1 3 1 3 5 4 4 4 4 3 4 1 7 0 10 9 1 6 7 5 7 3 3 5 9 1 1 1 3 3 1 1 1 9 0 8 8 8 5 1 6 9 4 4 3 1 3 3 3 1 1 2 1 1 7 0 6 9 1 4 6 7 2 1 1 3 3 2 1 3 3 3 3 5 5 3 5 4 4 3 6 1 9 0 9 7 4 5 7 1 6 4 2 9 1 1 1 2 2 1 2 2 1 1 8 0 10 7 5 6 9 6 5 3 7 1 1 3 1 3 3 1 3 3 3 1 7 0 9 6 1 9 8 9 9 1 9 3 2 3 2 1 3 1 3 4 4 1 2 3 2 3 7 1 5 0 10 1 1 8 5 2 1 3 9 8 8 3 3 1 1 2 1 6 0 11 9 2 3 5 2 9 8 4 6 1 4 3 3 1 1 2 2 1 6 0 11 1 8 2 6 3 1 6 6 6 1 6 3 3 1 3 3 2 3 1 2 4 3 4 3 3 7 1 7 0 6 1 9 4 7 1 4 2 3 3 1 1 2 3 1 6 0 9 5 4 5 1 8 4 5 7 2 2 1 3 2 3 1 1 8 0 7 5 1 9 3 9 3 3 3 1 3 3 2 2 2 1 2 4 4 1 3 2 2 3 7 1 6 0 9 1 4 8 8 5 2 7 1 1 3 1 1 2 3 2 1 7 0 8 4 7 6 6 1 6 7 2 2 2 1 2 2 3 3 1 7 0 8 3 3 6 1 1 6 1 7 2 3 1 2 3 3 1 5 3 5 3 1 4 5 4 4 4 6 3 4 3 7 3 4 5 3 6 1 7 0 6 7 1 8 5 1 5 1 3 2 1 2 1 3 1 5 0 8 9 3 4 5 7 1 9 3 2 1 1 2 3 1 9 0 11 1 7 5 4 1 7 2 1 4 2 7 3 1 3 3 3 3 1 1 2 5 2 1 2 5 3 3 4 1 5 0 9 8 5 4 5 1 8 8 1 1 2 3 1 3 1 1 8 0 9 8 6 3 5 6 6 8 1 5 1 3 1 3 2 1 2 2 1 9 0 9 8 8 1 1 3 2 4 7 8 3 1 2 1 3 1 1 2 1 1 2 1 3 3 7 1 5 0 11 3 1 3 3 9 1 5 9 6 4 6 1 3 3 1 3 1 7 0 7 5 2 1 1 4 8 4 1 2 3 3 1 1 3 1 7 0 11 7 3 6 3 5 5 1 6 1 8 7 1 1 1 2 1 1 3 3 5 1 3 1 3 5 3 6 1 7 0 6 6 1 3 8 5 1 2 1 1 1 3 2 2 1 6 0 10 7 6 6 3 6 2 1 8 4 5 1 1 1 1 2 3 1 5 0 11 1 1 1 3 4 2 5 1 4 3 5 3 1 3 2 3 2 1 1 1 5 2 4 4 5 4 5 5 4 3 4 1 5 0 7 8 6 1 1 8 3 1 2 2 1 3 1 1 6 0 7 1 6 7 3 4 1 1 1 1 2 1 3 2 1 9 0 10 1 9 6 1 4 7 4 4 6 2 3 1 2 1 2 3 1 1 2 2 1 3 1 3 4 1 9 0 10 6 7 7 9 1 1 8 2 3 9 1 3 3 2 2 3 3 3 1 1 9 0 10 2 6 1 9 7 1 4 6 1 4 1 3 1 2 2 2 2 3 1 1 6 0 10 6 1 3 9 4 1 7 7 5 3 3 1 1 1 3 3 1 4 4 2 3 5 1 6 0 7 5 1 3 4 7 3 8 1 1 3 3 1 2 1 6 0 6 1 7 1 1 5 4 1 1 3 1 1 1 1 9 0 7 3 9 1 9 9 1 9 2 2 2 2 1 1 3 1 2 5 5 3 5 2 3 7 1 6 0 8 1 2 5 4 5 3 2 6 3 3 2 1 1 2 1 6 0 8 3 6 5 5 4 1 1 9 2 2 2 2 1 2 1 7 0 11 1 4 1 4 2 5 1 6 9 6 5 2 1 2 2 1 2 2 1 3 1 2 1 5 1 3 6 1 5 0 9 5 8 6 6 1 1 4 5 3 1 2 1 1 3 1 9 0 7 1 8 8 3 2 2 1 2 1 3 2 3 3 1 2 1 1 9 0 10 1 8 4 8 1 2 4 3 1 6 3 2 2 1 1 1 3 1 3 1 2 2 2 1 2 1 3 1 6 5 5 3 6 1 5 0 7 4 1 2 1 2 9 3 2 2 2 1 1 1 8 0 6 6 1 1 5 2 4 1 2 1 1 3 1 2 1 1 7 0 8 9 6 3 5 7 4 9 1 1 1 3 3 1 3 3 1 2 1 5 2 1 3 7 1 6 0 9 5 9 2 1 4 4 5 5 6 2 3 3 1 2 1 1 6 0 7 9 6 1 8 8 2 1 1 3 3 1 2 1 1 5 0 6 8 3 4 8 2 1 1 1 3 1 3 5 1 2 2 4 2 1 3 5 1 9 0 8 3 3 1 1 2 9 1 6 1 3 1 1 3 1 1 1 2 1 6 0 10 4 6 6 5 5 9 6 1 1 5 3 2 2 1 3 2 1 9 0 11 7 2 1 3 1 9 7 1 7 1 5 2 2 1 1 1 1 2 3 3 5 5 1 1 2 3 5 1 8 0 10 4 5 1 8 2 6 2 5 9 4 2 1 2 2 3 3 3 3 1 8 0 8 7 3 7 1 3 2 1 3 3 3 1 3 1 1 3 3 1 6 0 11 5 1 4 6 1 6 9 8 1 2 2 1 2 1 1 2 2 3 2 2 2 3 3 4 1 5 0 8 2 2 1 6 8 4 9 1 3 1 1 2 1 1 8 0 8 8 8 3 6 9 5 2 1 2 2 1 3 3 1 3 3 1 6 0 6 4 4 6 1 2 6 3 1 1 3 3 3 4 5 2 4 4 4 5 7 3 5 5 3 7 1 7 0 7 7 2 3 1 9 1 6 3 1 1 2 2 3 1 1 5 0 8 1 1 8 1 8 6 6 4 3 1 1 1 1 1 8 0 8 6 1 1 1 3 6 3 2 2 1 3 1 1 1 2 1 3 2 1 4 1 1 1 3 6 1 8 0 7 4 1 5 1 9 6 5 3 3 1 1 2 3 3 2 1 8 0 7 1 6 9 4 7 1 7 3 1 2 2 2 2 1 1 1 5 0 8 7 9 1 8 1 3 8 3 1 3 1 3 3 2 3 3 2 3 5 3 7 1 7 0 8 2 5 6 1 3 1 5 2 1 3 2 1 2 2 1 1 7 0 9 4 1 1 1 5 6 3 1 9 2 3 3 1 2 2 1 1 8 0 8 1 6 1 1 7 3 2 7 2 1 2 3 3 3 1 1 3 3 2 1 4 3 4 3 7 1 9 0 11 1 7 5 7 8 7 6 5 6 2 5 2 3 3 2 3 3 1 3 1 1 7 0 7 4 8 4 5 1 2 6 1 1 3 1 3 3 2 1 8 0 11 4 8 2 8 6 8 4 1 7 3 5 2 2 2 1 2 2 1 1 5 3 1 2 2 1 4 3 5 1 9 0 10 4 4 3 9 2 1 1 5 4 8 2 3 1 3 2 1 1 3 1 1 8 0 9 6 7 7 3 1 9 2 5 9 1 2 1 3 1 2 3 3 1 9 0 9 7 4 3 6 3 1 8 7 3 3 1 1 3 1 1 2 1 3 3 1 1 3 1 7 6 5 5 7 5 5 3 7 1 8 0 9 6 6 1 9 7 3 5 2 3 2 3 1 3 3 1 3 3 1 7 0 8 8 8 5 4 4 5 1 8 1 3 1 2 1 1 3 1 7 0 6 8 8 4 9 9 1 2 3 3 3 1 1 2 4 3 3 4 1 3 3 3 4 1 5 0 10 2 1 5 6 4 5 1 6 1 7 3 1 3 3 3 1 5 0 9 2 6 5 8 7 5 1 7 7 1 1 3 2 3 1 7 0 8 2 8 7 7 3 3 6 1 1 1 2 2 1 3 1 1 2 2 3 3 5 1 9 0 6 8 3 7 1 6 1 1 1 1 1 2 1 1 2 1 1 7 0 10 6 2 7 1 8 9 1 8 1 1 2 2 1 2 3 2 2 1 5 0 10 1 5 3 9 2 1 7 6 7 9 3 3 3 3 1 2 1 2 2 3 3 5 1 5 0 10 9 4 4 7 6 2 2 1 2 2 3 3 3 1 2 1 8 0 8 7 2 5 7 1 6 3 1 2 3 1 1 2 1 3 2 1 7 0 8 5 9 7 5 5 2 1 9 1 2 3 3 2 2 3 5 5 2 5 3 3 4 1 7 0 8 3 5 8 8 1 5 8 2 3 2 1 2 1 3 1 1 8 0 6 3 9 9 3 1 7 1 1 2 2 2 1 1 1 1 8 0 11 1 2 9 1 8 7 8 8 2 6 2 3 3 2 1 3 3 1 3 3 1 5 3 1 5 2 3 6 5 4 3 4 1 5 0 11 9 1 7 6 1 7 3 4 7 4 6 2 1 3 1 1 1 5 0 9 1 9 7 7 1 8 5 1 1 1 3 3 1 3 1 7 0 6 5 2 7 1 3 1 1 1 2 3 2 1 3 2 3 1 2 3 6 1 7 0 9 1 5 3 2 3 6 7 2 7 1 3 3 3 3 1 1 1 6 0 6 1 1 4 8 2 9 3 3 1 1 3 3 1 9 0 7 3 8 8 6 2 1 8 3 1 3 3 1 2 3 3 2 2 2 5 3 4 2 3 4 1 9 0 8 1 4 2 6 7 8 1 3 2 3 1 3 2 2 2 3 3 1 9 0 11 3 2 3 1 8 8 3 7 9 9 7 1 2 3 1 1 1 1 2 1 1 6 0 7 5 7 8 6 9 8 1 1 2 2 2 2 1 4 1 2 5 3 6 1 8 0 10 8 7 5 7 5 8 8 5 7 1 3 3 2 1 2 2 1 2 1 6 0 7 8 7 6 6 1 1 8 2 2 2 3 1 1 1 7 0 6 7 2 9 8 4 1 3 3 3 1 1 1 2 2 2 1 1 1 1 3 4 1 9 0 9 5 9 1 2 6 2 6 3 1 1 3 3 1 1 1 2 1 1 1 6 0 11 7 8 6 9 2 9 6 2 1 1 8 3 1 3 1 2 2 1 9 0 10 7 1 7 1 9 1 6 5 2 2 1 1 3 3 2 3 1 1 1 3 4 1 1 5 2 3 2 5 5 3 5 1 7 0 10 7 5 9 9 2 1 5 8 3 1 1 1 1 3 1 2 3 1 9 0 6 1 1 5 4 6 8 1 1 3 3 3 1 2 1 1 1 8 0 11 8 9 6 6 4 1 3 7 6 1 7 3 2 2 2 1 2 1 2 1 2 3 2 4 3 5 1 9 0 10 6 1 9 1 7 8 5 5 1 2 2 2 3 2 3 1 1 3 1 1 5 0 9 6 3 3 9 7 1 2 4 3 3 3 2 1 2 1 7 0 11 1 8 7 3 7 2 8 5 1 6 5 1 1 1 1 1 2 2 2 1 4 1 2 3 5 1 8 0 6 8 2 1 7 8 9 2 1 3 1 3 1 2 3 1 6 0 9 2 3 1 3 1 9 9 3 9 2 3 3 3 3 1 1 6 0 11 5 3 8 1 6 1 9 9 3 9 6 3 1 1 3 1 3 3 5 2 1 5 3 4 1 5 0 7 6 8 4 1 9 2 5 3 2 3 1 2 1 5 0 11 9 5 3 7 1 8 5 5 4 2 7 1 1 2 3 2 1 6 0 9 2 1 3 5 2 4 1 3 4 3 1 3 3 2 3 1 2 1 1 3 7 1 7 0 11 8 2 1 8 4 9 8 1 4 1 7 2 2 1 3 3 1 2 1 6 0 10 6 4 2 1 5 3 1 4 7 8 2 2 1 2 2 1 1 8 0 8 7 8 6 1 6 5 9 4 1 3 3 3 1 3 1 2 4 5 4 1 5 4 4 3 7 2 6 2 2 1 5 7 3 4 5 3 7 1 7 0 7 6 9 2 6 5 1 7 3 3 1 2 3 2 1 1 9 0 8 9 3 1 9 2 7 1 7 2 1 1 2 1 2 2 1 1 1 9 0 9 4 4 6 1 1 5 7 7 2 3 1 1 2 1 2 3 3 3 2 4 2 1 3 4 2 3 4 1 5 0 11 7 3 1 6 6 2 3 6 5 2 5 1 3 3 1 2 1 5 0 8 5 8 8 4 4 3 1 4 3 2 3 2 1 1 9 0 10 6 2 6 1 9 4 1 5 2 1 2 3 3 1 2 3 1 1 1 2 1 4 3 3 7 1 9 0 9 1 9 1 7 5 9 8 3 2 3 2 1 2 3 3 3 3 2 1 9 0 11 2 3 2 7 7 3 3 4 1 4 7 1 3 3 1 2 2 2 2 1 1 5 0 7 6 1 7 3 9 8 1 2 3 2 1 1 4 1 5 4 4 3 3 3 7 1 9 0 7 4 3 1 8 2 2 7 2 1 2 1 2 2 1 1 3 1 8 0 9 7 9 1 6 6 2 3 1 5 2 3 1 1 1 2 3 2 1 8 0 10 6 1 8 9 6 4 3 8 8 3 3 3 1 3 2 2 3 3 2 1 2 4 4 2 1 4 4 6 3 6 5 5 3 5 1 7 0 9 8 1 7 6 4 4 3 1 5 3 3 3 1 2 1 1 1 7 0 6 2 5 3 1 9 2 1 2 2 1 2 1 1 1 5 0 9 5 9 7 7 2 1 7 9 3 1 1 2 1 3 3 1 4 2 3 3 4 1 9 0 11 4 6 2 4 2 6 1 9 4 1 9 2 2 1 2 2 2 1 1 1 1 8 0 6 5 1 9 1 9 8 2 3 2 1 3 1 1 2 1 6 0 7 4 1 2 8 1 6 4 1 1 2 3 2 2 3 4 1 3 3 6 1 9 0 11 6 3 4 1 5 5 1 8 8 8 6 3 2 2 3 3 2 1 2 2 1 5 0 8 6 8 6 6 1 8 7 2 1 1 2 1 3 1 5 0 6 1 6 9 9 1 3 1 3 3 3 2 3 2 5 2 3 5 3 6 1 6 0 9 2 6 1 3 6 3 8 4 6 3 2 2 1 1 1 1 9 0 11 1 7 1 4 9 5 5 4 6 5 5 2 2 2 2 1 1 1 1 3 1 6 0 9 5 4 7 2 4 1 7 1 2 3 1 2 3 1 2 4 3 4 2 1 5 3 6 1 6 0 7 1 1 5 8 1 2 2 3 3 1 1 2 2 1 5 0 9 1 4 7 1 7 6 7 1 7 1 2 1 1 1 1 9 0 10 1 1 6 5 9 1 9 1 1 7 1 3 3 3 1 2 1 3 3 4 2 3 4 2 1 2 5 5 5 1 4 3 3 4 1 7 0 8 9 1 6 2 8 3 5 9 3 2 3 3 1 2 3 1 9 0 6 6 6 1 2 5 9 1 2 3 1 1 3 3 1 2 1 7 0 7 7 3 9 2 3 8 1 1 3 1 1 2 2 3 3 1 4 2 3 4 1 6 0 10 1 1 1 8 3 2 1 8 7 2 3 1 1 1 1 1 1 8 0 8 1 3 4 7 7 8 6 1 2 1 1 2 1 2 2 2 1 8 0 6 2 1 8 3 5 7 1 2 1 1 1 2 1 1 5 3 1 5 3 4 1 5 0 7 4 3 3 1 5 7 9 2 1 1 3 1 1 6 0 7 5 7 1 7 3 2 7 3 2 1 3 2 1 1 6 0 6 1 7 3 3 2 1 1 2 1 2 2 1 1 2 4 2 3 6 1 5 0 9 1 1 6 6 4 6 9 8 2 3 2 1 2 1 1 8 0 11 8 2 1 5 8 4 8 8 9 4 4 1 2 2 1 2 1 1 1 1 7 0 11 1 8 1 7 6 9 4 5 7 8 7 2 3 3 2 1 1 2 2 1 1 1 5 2 1 4 4 4 3 3 7 1 7 0 9 2 9 5 6 1 9 6 5 6 3 1 1 2 1 2 2 1 7 0 10 1 6 6 1 6 2 5 2 3 3 3 3 1 1 1 2 1 1 9 0 8 1 1 4 3 6 4 3 1 3 2 1 1 1 2 3 3 2 1 2 1 4 3 3 3 3 6 1 9 0 8 4 4 4 7 2 8 7 1 3 3 1 2 1 2 3 1 1 1 8 0 6 1 7 8 3 9 7 2 3 2 1 2 3 1 1 1 8 0 11 8 8 9 1 1 7 5 3 7 1 1 3 3 2 1 1 3 1 1 3 5 2 4 3 3 3 6 1 9 0 11 1 7 3 8 5 8 1 3 8 9 1 3 2 1 1 2 1 3 1 1 1 9 0 11 3 7 8 1 3 2 5 5 1 2 5 1 2 3 1 3 1 3 2 2 1 7 0 11 2 2 4 2 3 7 1 3 4 1 2 1 2 3 1 2 2 2 3 3 2 3 1 2 3 4 1 6 0 10 7 3 4 7 6 6 4 3 1 6 2 1 3 1 1 3 1 8 0 10 1 6 2 9 2 1 7 8 4 5 3 1 3 1 2 3 1 2 1 8 0 7 2 1 1 4 4 4 3 3 1 1 2 2 1 3 1 5 5 2 3 4 3 1 5 5 3 6 1 9 0 8 3 2 5 6 6 5 1 9 3 1 2 2 3 1 2 3 2 1 6 0 7 9 1 8 8 6 1 9 2 1 2 1 1 3 1 7 0 6 2 5 5 1 5 4 2 1 3 3 2 1 2 4 5 2 3 1 3 3 7 1 9 0 8 7 1 7 1 1 2 9 9 1 3 2 1 3 1 1 1 1 1 6 0 6 6 1 9 7 3 7 1 1 1 2 3 3 1 8 0 6 1 1 3 3 4 2 3 3 1 2 3 1 2 1 2 1 5 2 4 2 3 3 6 1 5 0 11 1 3 4 9 1 5 7 1 1 8 1 1 3 2 2 1 1 8 0 10 1 3 3 6 1 9 5 3 4 8 1 3 3 1 1 1 1 1 1 7 0 7 2 1 5 2 4 6 2 1 3 2 1 3 2 2 4 2 5 5 3 2 3 5 1 5 0 8 9 2 9 4 1 4 1 9 1 3 3 1 1 1 7 0 7 4 1 6 5 6 3 4 2 1 2 1 3 2 1 1 5 0 7 9 7 1 5 3 5 4 3 3 2 1 2 4 4 5 1 1 3 4 1 8 0 11 7 8 1 1 9 8 6 9 5 1 7 2 1 1 1 2 1 1 3 1 5 0 11 5 4 2 1 3 2 2 1 5 4 5 2 2 2 2 1 1 7 0 8 4 8 1 9 5 7 2 3 2 1 2 1 1 3 1 3 3 1 4 6 4 1 5 4 5 3 3 6 1 9 0 6 2 2 7 9 1 1 1 3 2 3 1 3 2 1 1 1 8 0 8 2 4 7 1 3 1 7 9 3 3 1 1 3 3 3 1 1 8 0 11 9 3 4 9 1 8 7 4 7 9 9 1 2 1 2 2 1 3 3 1 3 2 4 3 2 3 6 1 9 0 11 2 9 3 7 3 2 8 4 1 7 1 1 2 1 3 2 3 2 2 2 1 5 0 11 3 2 8 2 1 1 5 3 4 1 4 3 1 1 1 3 1 8 0 9 8 6 6 2 5 2 1 3 6 2 2 2 3 2 1 3 1 3 5 1 1 4 3 3 4 1 7 0 7 9 6 3 1 1 6 7 1 2 1 2 3 3 1 1 6 0 10 9 3 9 1 9 2 8 4 4 7 1 1 1 3 2 1 1 7 0 8 1 9 9 9 5 5 4 7 2 1 3 3 1 1 2 1 2 1 1 3 6 1 8 0 8 2 1 3 9 3 4 9 5 3 1 1 2 2 3 2 1 1 7 0 9 8 4 9 8 3 1 5 4 9 1 1 1 2 2 1 2 1 7 0 6 2 6 1 8 8 3 2 2 1 2 2 1 3 1 2 1 4 4 3 3 5 1 8 0 11 6 3 4 2 6 1 7 3 8 2 4 1 2 3 1 3 1 3 2 1 8 0 8 7 2 4 1 4 2 6 6 1 1 1 1 3 1 3 3 1 6 0 10 3 3 2 3 1 7 6 5 9 9 1 3 2 1 3 1 5 3 1 1 4 1 5 2 5 5 3 4 1 5 0 10 2 4 6 6 3 1 5 2 6 3 1 3 3 2 2 1 9 0 10 1 7 1 9 4 6 5 8 5 1 1 1 3 3 3 1 1 1 2 1 6 0 9 3 5 8 9 4 7 6 1 6 1 1 1 1 1 3 2 2 2 3 3 7 1 8 0 10 9 9 5 4 5 5 9 4 1 7 1 1 2 3 1 1 3 1 1 9 0 8 3 7 3 7 8 7 8 1 3 1 1 1 3 3 1 1 3 1 7 0 10 1 6 3 5 9 8 2 7 3 6 3 1 3 1 2 1 2 5 1 3 1 3 1 3 3 4 1 9 0 10 8 6 4 3 4 3 1 9 8 4 3 1 3 1 3 1 3 1 1 1 9 0 9 7 7 8 9 6 9 3 1 1 1 1 1 3 2 3 2 1 3 1 7 0 11 9 1 6 2 3 3 6 5 8 1 9 1 1 2 1 3 3 2 3 1 2 4 3 7 1 5 0 8 5 1 1 5 3 4 2 3 2 1 2 1 1 1 5 0 10 6 3 6 6 3 9 8 2 1 3 1 1 2 2 1 1 8 0 8 4 1 9 4 6 8 7 6 1 2 2 1 3 2 3 3 1 3 2 3 3 5 1 3 6 1 5 0 9 8 9 4 2 1 5 2 4 8 3 1 3 2 1 1 5 0 7 5 4 1 2 5 1 4 1 1 3 3 1 1 9 0 6 9 8 1 9 9 8 3 3 2 1 1 2 1 2 3 2 3 2 5 5 3 7 6 3 7 2 3 1 5 6 3 5 5 3 7 1 7 0 10 5 2 8 1 9 9 2 5 4 2 2 1 1 3 1 3 1 1 5 0 10 9 3 2 8 9 4 6 8 6 1 2 2 1 3 3 1 6 0 9 6 7 8 5 2 5 2 5 1 3 1 1 2 2 2 5 3 5 4 2 1 5 3 6 1 6 0 8 4 4 1 2 1 2 9 8 2 1 2 1 2 1 1 8 0 11 7 2 8 1 4 1 3 3 9 8 3 1 2 1 1 3 1 1 1 1 8 0 11 1 5 4 1 5 2 5 3 6 4 1 1 3 3 1 3 2 3 1 2 3 3 5 5 4 3 6 1 9 0 10 3 1 9 7 6 8 4 5 9 7 3 2 3 3 1 3 1 2 2 1 6 0 6 6 2 4 9 5 1 3 1 1 3 2 2 1 9 0 11 1 3 4 8 3 8 1 4 3 1 5 3 3 1 2 3 2 1 1 1 2 2 4 1 1 3 3 7 1 7 0 9 4 9 9 8 1 2 5 1 7 1 1 1 1 3 3 3 1 6 0 11 6 5 9 5 2 1 2 6 9 4 3 1 2 1 3 2 1 1 8 0 7 1 2 5 6 3 6 9 2 2 2 1 1 3 3 1 3 2 3 3 2 5 1 3 7 1 7 0 6 3 1 8 1 4 9 1 1 1 2 1 3 1 1 7 0 6 1 2 6 7 8 1 1 2 1 1 3 2 1 1 6 0 9 3 9 5 1 4 3 4 4 1 3 2 1 3 3 2 4 4 2 1 4 3 4 4 5 3 3 6 4 5 3 6 1 6 0 7 5 2 6 1 2 1 1 2 3 3 1 1 2 1 9 0 10 1 5 1 9 5 2 1 6 1 1 3 1 1 3 3 1 3 3 1 1 5 0 8 9 7 3 7 4 1 7 4 3 2 2 1 3 3 1 3 4 1 5 3 7 1 8 0 6 1 5 7 2 1 3 1 1 3 3 1 1 1 1 1 9 0 6 3 1 8 2 5 5 3 1 3 1 3 1 1 2 3 1 8 0 7 9 1 4 7 1 5 5 3 2 2 1 1 1 3 1 5 2 1 2 5 5 3 3 6 1 9 0 10 1 8 3 1 1 3 6 5 8 3 1 2 2 2 2 1 1 1 1 1 7 0 8 9 5 1 4 3 5 7 5 1 1 1 3 1 1 3 1 6 0 8 6 2 8 2 9 1 5 1 2 1 2 1 3 1 1 5 5 3 1 5 3 4 1 6 0 6 6 1 5 4 7 8 1 2 2 2 2 1 1 7 0 6 6 5 3 1 2 8 1 2 2 3 3 1 1 1 5 0 8 7 3 6 8 1 1 9 3 2 3 1 3 1 2 4 2 2 5 2 5 2 2 4 5 3 7 1 5 0 9 1 1 2 8 2 3 6 2 8 1 3 3 1 1 1 9 0 11 2 5 1 8 1 2 1 7 9 7 1 2 2 1 3 3 1 1 3 1 1 5 0 8 6 5 7 9 1 5 3 2 2 1 3 1 1 1 2 3 3 5 3 3 3 5 1 6 0 7 8 6 8 6 1 5 8 2 1 3 2 3 1 1 9 0 8 7 4 1 3 8 7 4 8 2 3 1 2 2 1 2 1 1 1 7 0 7 6 3 2 5 1 1 1 1 2 2 1 2 2 3 2 5 5 3 2 3 6 1 6 0 11 3 2 1 2 5 8 7 9 7 7 6 1 3 1 3 1 2 1 8 0 6 8 9 1 3 7 8 3 3 3 1 2 1 3 2 1 7 0 6 1 7 1 7 8 4 2 3 2 1 2 1 2 5 3 4 5 3 1 3 5 1 6 0 7 3 1 9 5 7 7 2 3 1 2 2 1 2 1 6 0 10 5 1 5 8 4 7 8 1 1 4 3 1 2 2 1 2 1 8 0 9 3 2 2 8 1 7 3 9 1 2 1 3 2 3 2 1 1 4 2 1 5 3 5 5 6 4 6 5 5 3 4 1 8 0 7 3 1 7 4 8 8 7 2 3 3 1 1 1 1 3 1 6 0 7 1 1 6 1 7 7 3 3 3 2 3 3 1 1 5 0 7 5 3 9 4 1 2 6 1 3 1 2 2 3 1 2 5 3 7 1 6 0 8 3 1 2 5 6 8 1 7 2 1 3 1 1 2 1 6 0 10 1 4 7 9 8 8 4 5 3 6 3 2 1 1 2 3 1 7 0 10 4 7 3 4 7 7 1 8 8 3 1 1 1 3 1 2 2 4 3 2 2 3 4 4 3 5 1 6 0 10 5 7 2 1 1 1 1 9 6 6 3 2 1 3 1 2 1 7 0 7 9 7 2 3 2 1 6 3 3 1 2 1 3 1 1 7 0 6 6 1 9 7 7 7 2 1 2 1 2 1 1 1 3 2 2 1 3 6 1 8 0 9 1 6 8 3 1 2 2 3 4 1 3 1 1 1 1 3 3 1 6 0 6 2 7 1 6 7 3 1 1 1 1 3 3 1 7 0 9 1 2 5 8 9 7 6 8 5 1 2 1 1 1 1 1 1 3 3 3 2 2 3 7 1 8 0 11 2 1 3 1 3 8 3 3 2 6 9 2 3 1 2 3 1 3 1 1 6 0 9 1 4 2 1 9 4 4 9 4 3 2 1 1 1 2 1 9 0 6 7 4 9 5 1 9 3 3 1 2 1 2 2 2 3 3 4 3 2 1 1 1 2 4 3 1 3 5 5 3 4 1 5 0 6 3 6 1 4 3 4 1 3 2 3 3 1 8 0 8 8 1 1 8 2 1 1 2 2 1 2 3 1 2 3 3 1 7 0 8 4 8 5 9 1 2 1 5 3 3 3 3 1 3 1 1 3 4 5 3 6 1 6 0 6 2 9 5 1 1 5 2 2 1 1 3 3 1 7 0 11 8 4 9 1 1 6 9 9 8 9 7 3 3 2 3 2 2 1 1 8 0 6 2 1 9 1 5 8 1 1 1 2 3 2 1 3 1 1 5 1 2 5 3 6 1 9 0 10 5 6 1 7 8 2 9 8 8 7 1 3 3 1 3 3 2 2 1 1 9 0 7 1 2 2 7 2 1 6 2 1 1 1 2 3 1 1 3 1 8 0 11 1 4 4 7 8 1 7 1 1 4 3 3 1 1 3 1 3 1 2 2 1 5 1 5 3 3 5 1 8 0 6 1 6 5 9 1 1 3 1 1 1 3 2 2 3 1 8 0 6 1 5 7 6 1 2 1 3 2 1 1 1 1 3 1 8 0 9 8 6 5 4 4 1 4 7 1 3 1 2 2 2 2 3 1 3 3 1 3 4 3 7 1 6 0 8 3 9 3 2 7 1 9 1 1 3 2 3 1 3 1 7 0 9 8 3 1 2 1 2 6 6 7 1 2 1 3 1 1 1 1 8 0 11 3 3 4 1 9 7 1 3 1 4 1 1 2 3 2 2 2 1 2 4 3 3 1 4 1 3 2 3 2 6 1 5 4 3 7 1 6 0 8 7 1 7 4 5 1 7 9 1 1 3 1 1 1 1 6 0 11 1 7 1 3 9 7 3 7 1 5 7 1 2 2 3 1 1 1 9 0 7 7 9 1 2 5 5 1 3 1 1 3 1 1 3 1 3 4 2 1 1 5 1 4 3 4 1 6 0 7 5 7 2 5 4 6 1 2 1 3 3 1 1 1 9 0 6 2 3 1 5 1 5 2 2 1 2 3 2 2 1 3 1 6 0 10 1 9 4 8 5 1 7 3 9 3 1 1 1 3 3 1 5 2 3 1 3 6 1 6 0 6 2 6 1 3 1 6 3 2 2 1 1 1 1 9 0 11 9 9 9 1 1 5 3 1 5 2 3 2 2 2 2 1 1 1 2 3 1 9 0 8 3 4 7 8 6 2 9 1 1 2 2 2 1 1 2 2 2 1 1 1 2 3 3 3 4 1 8 0 11 9 1 7 9 3 5 7 2 8 2 1 1 3 2 3 2 1 2 1 1 9 0 11 2 3 1 1 2 1 2 3 5 8 3 2 1 1 1 3 3 2 2 2 1 7 0 7 8 4 4 8 9 1 2 2 2 1 1 1 2 3 3 5 3 2 3 4 1 7 0 7 2 1 7 4 2 7 8 3 2 1 2 3 1 1 1 9 0 10 1 9 7 9 3 6 3 8 5 4 2 1 2 2 1 2 1 2 3 1 6 0 7 1 1 9 1 5 5 1 1 1 1 2 1 3 2 2 3 5 3 1 5 5 3 7 1 6 3 5 5 3 7 1 8 0 10 4 4 5 9 5 9 6 7 1 8 2 1 1 2 2 3 2 1 1 8 0 7 5 8 1 5 8 9 7 3 2 1 2 3 3 2 1 1 7 0 11 9 5 7 1 3 1 8 7 3 1 3 1 1 2 2 3 3 3 2 5 1 3 5 3 5 3 4 1 9 0 9 9 7 6 6 8 9 1 5 7 3 2 3 1 1 2 1 3 2 1 9 0 7 6 1 5 6 1 3 2 1 3 3 1 2 3 2 2 3 1 6 0 7 1 9 6 8 2 1 5 1 3 2 2 1 1 3 1 2 3 3 6 1 6 0 11 7 2 4 4 4 1 7 1 5 1 4 2 1 1 2 2 1 1 6 0 9 1 8 5 8 5 9 7 5 1 2 3 1 3 3 2 1 9 0 10 1 2 8 5 1 1 9 2 1 1 1 3 3 2 2 1 2 1 1 1 1 5 1 4 4 3 6 1 9 0 7 8 1 9 4 5 4 3 2 3 1 1 1 2 1 3 3 1 9 0 10 2 1 6 1 8 2 3 4 1 5 1 1 3 1 1 1 1 1 1 1 6 0 8 1 4 2 1 3 9 1 2 3 1 2 2 1 2 5 2 1 3 2 1 3 6 1 8 0 7 1 1 1 5 1 1 2 1 3 2 1 1 3 3 2 1 5 0 7 5 9 1 8 5 2 5 3 3 1 3 3 1 9 0 7 7 1 8 6 6 4 7 3 1 3 3 1 3 3 3 3 5 2 4 3 3 4 3 4 1 4 5 5 3 3 7 1 5 0 10 6 9 8 1 5 7 8 7 1 7 2 2 3 1 3 1 6 0 10 1 6 7 5 2 8 9 4 5 1 3 1 1 2 1 1 1 6 0 7 8 1 1 9 3 4 8 2 1 3 1 1 3 1 5 3 2 5 2 3 3 5 1 9 0 11 2 3 1 6 6 3 7 3 5 8 5 2 3 1 1 3 1 2 3 2 1 7 0 8 2 1 1 7 3 8 7 9 3 1 2 2 2 2 1 1 6 0 7 1 6 8 4 7 3 6 2 2 2 1 2 3 3 2 2 1 1 3 5 1 9 0 9 4 1 1 5 3 5 6 7 1 1 3 3 2 2 1 2 2 1 1 5 0 8 9 5 9 2 1 8 1 6 3 3 3 2 1 1 8 0 10 7 1 8 6 5 8 7 1 1 1 1 2 3 1 2 1 3 1 4 3 3 3 3 3 6 1 7 0 8 1 7 4 6 2 2 9 7 1 1 3 2 3 1 2 1 6 0 11 2 8 4 1 8 8 7 6 6 6 5 3 1 1 3 3 1 1 8 0 8 4 1 4 6 4 1 6 2 1 2 2 2 1 3 1 3 4 3 2 3 1 2 3 5 1 6 0 11 4 6 1 4 1 3 8 7 1 9 4 3 2 1 1 1 2 1 5 0 10 8 1 4 7 2 1 9 1 7 1 3 1 2 2 1 1 9 0 10 7 1 9 9 1 9 8 3 9 4 1 2 1 2 1 2 1 3 1 4 4 5 3 2 2 4 1 5 4 3 7 1 8 0 10 5 7 1 2 7 7 1 1 4 8 2 2 3 1 1 3 1 2 1 7 0 9 4 2 9 1 5 4 4 1 8 1 2 1 3 1 3 3 1 6 0 6 4 1 4 7 9 1 1 3 2 1 1 2 3 4 4 3 1 4 3 3 5 1 7 0 9 5 2 9 1 2 6 5 2 3 1 3 3 2 3 1 2 1 8 0 10 6 5 2 1 4 1 2 3 2 1 2 2 2 2 2 2 1 1 1 8 0 6 9 1 8 1 8 4 1 1 2 1 2 2 1 1 1 3 1 4 2 3 7 1 6 0 8 2 1 5 6 9 1 7 1 1 3 2 1 1 1 1 8 0 11 6 7 6 7 1 3 5 3 3 3 4 1 1 2 2 3 2 2 2 1 8 0 9 4 9 4 9 5 2 7 1 1 3 1 2 3 2 3 2 1 3 1 4 5 2 2 2 3 7 1 9 0 11 5 9 1 2 3 2 5 3 1 9 4 1 1 2 2 2 1 2 3 1 1 9 0 8 1 8 1 1 9 6 8 8 2 2 2 3 2 2 1 2 1 1 8 0 9 5 7 9 2 5 1 3 9 5 3 3 2 1 1 3 1 3 2 1 3 1 5 3 2 3 5 1 6 0 8 1 8 3 8 6 2 3 9 1 1 3 3 1 3 1 9 0 11 1 4 5 1 9 6 7 2 1 7 9 2 1 3 2 3 3 3 2 2 1 5 0 9 2 7 1 7 5 4 5 4 4 1 1 3 3 2 3 2 2 3 4 1 2 5 1 4 4 3 5 1 6 0 11 8 8 1 3 3 7 8 2 1 8 2 3 2 2 1 1 3 1 8 0 6 7 1 8 8 5 8 1 1 2 3 2 2 3 1 1 5 0 9 3 6 1 5 1 6 6 1 3 3 1 1 1 1 1 4 1 2 3 3 5 1 8 0 8 7 3 1 8 1 3 4 4 1 3 3 1 1 1 3 2 1 7 0 9 3 4 8 8 2 7 6 2 1 1 1 1 2 1 1 1 1 7 0 10 8 3 8 1 1 1 3 7 8 5 3 1 3 1 2 1 3 2 2 2 2 2 3 5 1 5 0 10 1 1 7 8 4 8 9 4 6 6 1 2 1 3 2 1 9 0 11 9 2 5 2 7 1 2 4 8 1 9 2 1 2 2 1 2 2 3 3 1 6 0 8 9 7 5 8 2 1 2 2 2 3 1 3 3 1 1 4 1 3 5 3 6 1 5 0 8 9 7 1 3 5 2 1 4 1 1 3 2 3 1 9 0 11 9 3 9 8 1 7 6 7 6 7 1 3 3 1 1 2 1 3 3 2 1 8 0 11 8 5 9 1 7 2 6 8 7 1 4 1 1 1 3 1 1 3 1 2 3 2 5 5 3 6 2 2 2 5 5 3 5 1 6 0 11 1 9 6 1 8 8 8 2 3 4 7 2 1 2 1 3 2 1 9 0 6 1 1 2 3 5 9 2 2 3 1 3 2 3 1 1 1 5 0 10 8 1 7 6 5 5 2 4 5 2 1 1 1 2 1 4 5 2 1 3 3 4 1 8 0 11 4 1 8 4 8 9 2 3 6 6 3 1 1 2 3 1 3 3 3 1 8 0 8 2 2 8 7 1 3 4 3 3 3 1 3 2 3 1 2 1 7 0 8 5 5 9 5 8 3 5 1 2 3 3 2 1 1 1 2 1 2 1 3 6 1 7 0 11 7 1 5 2 4 8 4 1 8 1 7 2 1 2 1 3 1 1 1 9 0 8 5 7 1 2 5 4 5 9 1 2 3 2 1 1 2 1 3 1 9 0 11 9 8 9 8 4 1 5 1 2 4 1 1 3 2 1 1 3 3 1 2 1 1 3 4 2 3 3 6 1 9 0 10 2 1 6 6 1 9 4 7 4 7 2 2 2 3 2 2 3 1 2 1 9 0 9 7 8 5 1 3 1 4 8 1 3 2 3 3 2 3 1 2 1 1 6 0 7 4 6 5 1 6 2 7 1 3 2 1 1 3 1 3 3 4 4 4 3 6 1 7 0 9 5 7 6 4 9 4 4 1 7 2 3 1 1 2 2 2 1 8 0 10 1 2 4 5 1 7 8 3 3 3 3 1 3 3 1 2 3 3 1 6 0 10 3 8 1 2 2 2 9 9 1 8 3 2 2 3 1 1 3 5 3 5 1 3 1 4 4 7 5 5 4 3 6 1 8 0 10 4 1 2 4 6 8 8 8 2 6 2 3 1 2 1 1 3 1 1 5 0 8 5 3 5 2 1 7 9 9 3 1 1 3 3 1 8 0 8 1 2 6 8 1 3 8 7 2 3 2 3 3 1 3 2 5 3 1 5 5 5 3 5 1 7 0 9 6 9 4 1 7 9 8 2 9 2 1 2 1 3 1 3 1 9 0 6 2 9 5 7 9 1 3 1 1 1 3 3 1 3 2 1 6 0 7 6 2 9 1 1 7 7 3 1 2 2 1 3 3 3 1 3 3 3 4 1 9 0 11 1 7 9 1 1 1 4 6 7 9 1 3 3 1 3 2 2 3 3 1 1 6 0 8 2 2 5 4 1 1 7 1 1 1 2 1 3 2 1 5 0 6 7 4 1 1 3 2 2 2 1 1 2 5 5 3 2 3 4 1 9 0 6 8 5 2 8 1 1 2 1 1 1 2 3 3 1 3 1 8 0 8 4 8 1 6 2 8 1 8 3 3 3 2 1 2 2 2 1 8 0 6 2 8 8 8 1 7 1 1 2 3 2 2 3 3 3 1 1 4 3 7 1 6 0 8 1 5 8 2 7 6 9 1 3 1 3 2 1 2 1 7 0 6 6 9 6 1 6 1 1 1 1 1 3 1 1 1 6 0 7 3 7 5 4 5 1 3 2 3 1 2 2 3 3 5 1 1 3 2 5 6 4 1 5 4 3 2 6 3 5 5 3 6 1 9 0 8 1 5 4 1 6 8 6 4 2 2 2 2 1 1 3 1 3 1 5 0 7 1 7 4 5 6 6 7 3 1 1 3 1 1 6 0 9 5 1 4 8 3 9 9 1 6 3 1 1 2 1 3 1 3 2 3 1 1 3 5 1 5 0 11 6 1 7 9 9 1 5 7 3 7 8 2 1 3 3 1 1 9 0 7 3 2 8 7 7 1 2 1 2 1 1 2 1 3 3 3 1 9 0 11 6 3 6 8 8 7 1 1 6 5 1 3 3 3 3 1 3 3 2 2 3 2 5 4 2 3 5 1 6 0 11 4 1 7 1 6 3 1 6 6 4 2 1 2 2 1 1 3 1 9 0 10 1 9 2 4 4 6 6 8 9 5 2 2 1 2 1 3 3 3 3 1 8 0 7 8 7 2 4 5 1 6 3 3 1 1 1 1 2 1 5 4 4 5 2 3 7 1 6 0 8 1 9 6 5 1 8 5 5 1 2 1 1 1 2 1 7 0 10 6 6 6 5 4 9 1 8 3 1 2 1 3 2 1 1 3 1 8 0 8 8 7 1 8 3 3 7 8 1 1 1 3 1 1 2 3 1 2 4 3 4 3 2 3 6 1 6 0 8 3 4 6 7 7 1 8 3 3 1 1 3 1 1 1 8 0 8 5 1 5 7 1 7 3 6 1 1 3 1 1 2 3 2 1 8 0 10 7 1 8 1 3 5 8 4 3 4 2 1 2 1 1 2 2 2 5 1 1 3 4 2 4 2 1 1 4 5 3 3 7 1 5 0 7 9 1 2 8 1 5 2 3 3 1 1 2 1 9 0 8 7 1 6 9 1 6 1 3 1 2 3 1 1 2 3 1 2 1 5 0 9 1 6 3 7 6 5 9 7 2 1 3 1 2 3 2 1 3 3 1 3 3 3 5 1 8 0 7 8 9 1 3 2 1 3 2 2 2 1 3 2 3 1 1 9 0 9 9 1 6 5 8 5 8 6 1 3 1 1 1 1 3 3 2 2 1 9 0 11 1 4 8 5 1 1 2 6 1 9 1 2 1 1 3 1 1 2 1 3 4 3 4 3 3 3 5 1 9 0 7 9 9 8 8 1 5 6 3 2 1 2 1 1 2 1 1 1 6 0 10 4 5 1 5 7 4 1 9 5 9 1 2 1 1 2 2 1 6 0 7 7 5 8 1 9 7 4 1 3 1 2 2 2 3 4 3 3 2 3 4 1 9 0 9 3 2 1 6 9 1 5 1 1 3 1 2 3 2 1 1 2 2 1 5 0 6 7 7 5 9 1 1 2 3 3 1 3 1 9 0 8 5 1 8 5 5 5 3 2 1 3 3 3 3 1 2 2 2 5 2 5 3 3 4 1 8 0 7 8 4 4 1 9 8 1 3 2 1 1 1 1 3 3 1 6 0 9 1 3 8 8 4 8 7 7 7 2 3 1 3 1 2 1 8 0 7 8 5 8 1 7 9 3 2 2 1 3 3 3 3 3 1 3 4 2 7 4 5 5 3 3 4 1 8 0 9 4 1 3 5 2 8 7 7 2 1 3 3 1 1 3 2 1 1 7 0 7 9 9 1 9 6 2 6 3 1 3 3 1 2 2 1 7 0 8 2 4 7 3 1 6 8 1 1 3 2 1 3 1 1 3 2 4 2 3 7 1 8 0 10 7 9 3 6 1 1 9 3 5 2 3 2 3 2 1 1 2 1 1 7 0 7 9 5 2 3 6 4 1 1 2 2 3 1 2 1 1 9 0 9 7 4 9 9 4 3 1 1 6 2 3 1 3 1 1 2 1 2 5 2 1 5 2 2 1 3 4 1 5 0 11 2 6 3 8 1 9 6 5 8 3 2 3 2 1 2 2 1 6 0 8 2 1 3 4 3 1 5 4 2 2 3 1 2 3 1 7 0 10 1 3 4 6 7 9 6 2 5 3 2 1 2 1 1 3 1 5 5 1 4 3 7 1 5 0 7 5 2 3 8 1 8 4 1 1 1 3 1 1 6 0 6 4 3 1 3 5 1 1 2 1 2 3 1 1 9 0 8 7 9 8 1 7 1 2 6 1 3 2 3 1 2 1 2 1 4 4 2 2 2 1 1 3 4 1 5 0 7 3 5 2 6 1 2 3 3 2 1 1 1 1 5 0 8 9 4 9 8 4 1 1 6 1 2 1 1 1 1 5 0 6 2 1 4 5 7 9 1 1 2 1 1 2 3 5 1 4 4 6 4 5 3 5 1 8 0 11 6 5 2 5 6 5 1 5 4 5 1 2 2 1 1 2 3 1 1 1 8 0 7 1 4 4 2 1 2 7 2 3 1 1 1 3 3 3 1 8 0 10 6 5 2 7 1 1 9 1 2 6 1 1 3 1 3 2 2 2 1 2 5 5 3 3 6 1 5 0 10 4 9 8 3 2 2 5 2 2 1 1 1 2 2 1 1 7 0 8 4 1 7 2 1 1 1 3 1 3 3 2 3 1 3 1 5 0 7 1 7 2 4 3 6 1 1 2 2 2 3 3 4 5 4 1 1 3 6 1 5 0 10 8 9 1 1 1 2 6 9 2 6 1 1 2 2 1 1 9 0 10 7 7 7 9 4 6 1 4 9 2 2 2 2 2 1 2 2 1 3 1 7 0 8 1 4 9 9 9 3 6 2 3 3 3 1 2 2 1 5 4 3 3 5 1 3 4 1 5 0 6 5 5 3 7 1 9 3 1 1 2 2 1 5 0 6 1 1 8 4 7 6 1 1 1 2 3 1 6 0 6 6 7 9 1 2 8 2 1 2 3 2 2 1 4 5 4 3 1 2 1 3 4 5 3 7 1 9 0 9 5 1 2 3 9 3 8 5 4 3 1 2 3 3 1 3 3 1 1 6 0 10 2 8 1 5 9 5 8 3 1 1 2 2 2 1 3 3 1 5 0 11 8 1 1 8 9 5 1 3 2 1 6 3 1 2 2 2 5 5 4 3 2 4 4 3 6 1 5 0 7 6 8 3 5 1 1 1 3 1 1 1 1 1 8 0 7 9 2 1 1 6 3 8 2 1 2 1 2 2 2 2 1 6 0 7 5 9 2 3 1 6 6 1 1 3 1 3 2 1 4 2 1 2 2 3 4 1 9 0 8 3 8 2 6 9 2 1 8 3 1 3 1 3 1 1 1 3 1 7 0 8 1 9 5 6 2 8 9 8 2 3 3 2 1 3 2 1 5 0 9 1 9 1 2 7 6 8 2 3 3 3 3 1 2 4 4 5 3 3 7 1 8 0 10 4 3 9 1 6 9 8 3 3 8 1 1 2 3 2 1 1 1 1 8 0 6 4 9 4 1 8 1 3 3 2 1 1 1 1 1 1 7 0 7 3 8 2 1 6 1 6 3 1 1 3 3 1 2 2 3 2 2 1 3 1 6 1 4 4 1 5 5 3 7 1 5 0 8 5 1 3 7 6 1 8 9 2 3 3 1 1 1 7 0 9 9 9 2 1 8 3 1 2 6 1 1 1 2 3 1 1 1 5 0 6 5 1 1 1 6 1 3 1 3 1 2 2 3 2 2 1 5 4 3 6 1 7 0 7 1 8 1 4 4 6 5 1 3 2 1 1 2 2 1 7 0 11 5 7 6 3 4 6 1 6 4 9 6 2 1 1 3 1 3 3 1 8 0 6 2 9 5 6 1 2 3 3 1 2 1 2 3 2 3 1 1 3 4 3 3 4 1 5 0 8 1 5 6 3 6 4 8 8 2 2 2 1 3 1 5 0 11 8 5 5 1 1 8 8 3 5 9 9 1 1 1 3 2 1 8 0 10 5 7 5 6 8 8 2 1 5 4 2 3 1 1 3 1 2 2 5 3 2 2 3 4 1 6 0 8 7 5 3 2 8 1 6 9 3 3 2 1 1 1 1 6 0 7 4 9 2 5 1 6 9 2 1 2 1 2 3 1 7 0 10 3 8 7 2 5 1 1 3 3 7 2 2 1 1 3 2 2 5 1 1 3 3 5 1 7 0 6 3 2 2 1 1 7 3 1 1 1 2 1 1 1 8 0 10 6 4 7 8 8 1 6 9 5 1 3 2 3 1 1 1 3 3 1 8 0 6 3 1 8 8 5 9 3 2 1 3 2 3 2 1 3 3 1 5 2 5 4 5 2 1 1 7 6 7 2 4 4 3 6 1 5 0 11 4 1 1 4 8 3 4 5 5 8 6 1 1 2 1 1 1 6 0 10 4 8 1 3 6 9 9 4 8 4 3 1 2 1 3 1 1 6 0 11 6 9 9 1 5 8 9 7 4 9 1 2 2 1 3 1 2 2 4 1 1 3 4 3 5 1 9 0 6 6 8 3 2 7 1 1 1 1 1 2 2 1 2 1 1 5 0 7 4 3 1 6 4 1 1 2 1 1 3 2 1 9 0 9 5 7 7 4 1 9 2 9 7 1 2 2 1 3 2 3 3 2 4 3 1 3 1 3 6 1 5 0 9 1 3 9 2 7 1 5 1 8 2 1 3 1 3 1 9 0 9 8 8 4 1 7 4 1 2 2 1 1 2 1 2 2 1 1 3 1 9 0 6 1 1 5 4 8 5 3 1 3 2 3 1 3 2 3 2 2 1 4 3 2 3 6 1 8 0 6 4 5 5 1 9 1 3 1 3 2 3 1 3 1 1 5 0 11 1 7 5 7 2 1 7 4 1 5 6 1 2 3 3 3 1 9 0 10 2 5 2 3 5 1 5 1 7 9 3 1 1 3 2 3 3 3 3 3 3 2 3 1 4 3 4 1 2 5 3 3 5 1 9 0 10 1 9 3 9 8 1 8 4 9 4 1 1 3 3 2 2 2 1 2 1 5 0 8 6 4 3 6 2 6 9 1 1 1 1 2 2 1 5 0 9 5 1 1 4 4 4 7 8 1 3 3 3 1 1 3 2 3 1 5 3 4 1 8 0 9 5 4 7 7 1 6 2 3 5 3 3 3 3 2 2 2 1 1 7 0 9 8 6 1 4 7 9 7 2 3 3 3 1 2 3 1 2 1 8 0 8 1 2 1 2 6 8 1 4 1 3 2 3 1 2 1 1 2 3 4 1 3 5 1 8 0 10 7 4 9 1 8 8 2 8 6 9 3 3 1 1 1 2 1 1 1 8 0 8 6 2 3 1 7 9 1 8 2 2 1 1 3 1 2 1 1 7 0 6 3 6 6 3 1 3 2 1 3 1 2 1 1 2 4 5 5 2 3 4 1 6 0 10 9 1 3 1 2 7 3 6 5 3 1 1 1 2 2 1 1 8 0 7 9 8 8 6 1 1 6 1 1 2 1 3 1 2 1 1 8 0 8 4 7 5 8 7 5 2 1 3 1 2 3 3 3 1 2 2 4 4 1 3 6 1 6 0 11 2 2 4 1 2 3 2 9 6 1 9 1 3 2 1 3 1 1 7 0 7 3 1 8 8 2 2 9 2 3 3 1 2 1 1 1 5 0 7 9 4 3 3 4 8 1 2 3 3 2 1 5 3 2 5 1 2 5 1 5 5 4 3 7 1 7 0 8 2 6 7 8 4 8 1 1 3 1 1 2 2 1 1 1 8 0 6 3 9 1 1 7 6 2 2 3 1 3 3 3 1 1 8 0 10 2 5 2 1 9 8 2 3 8 2 1 2 3 3 2 1 2 2 1 5 5 2 2 1 3 3 7 1 6 0 6 1 6 3 6 3 4 1 2 1 3 2 1 1 6 0 8 3 1 5 4 8 1 2 2 1 1 2 3 3 3 1 6 0 10 8 1 5 2 1 4 3 6 8 5 1 2 1 1 2 1 3 4 3 3 5 2 4 3 6 1 9 0 10 8 1 1 2 7 4 2 4 9 7 3 2 1 1 3 2 2 1 3 1 5 0 6 4 9 8 1 8 9 1 1 3 2 1 1 5 0 10 3 3 8 4 6 6 1 7 9 1 1 3 2 2 1 4 4 1 5 3 2 3 6 1 5 0 10 4 7 5 6 4 6 1 8 3 9 1 3 1 3 1 1 9 0 10 5 4 2 5 7 4 4 1 1 4 1 1 2 1 1 2 2 2 1 1 6 0 7 2 2 1 9 7 5 2 3 2 2 2 1 1 2 3 5 4 4 3 3 4 1 9 0 8 2 2 1 9 8 1 2 4 1 2 3 3 2 3 2 3 1 1 5 0 10 9 6 9 8 1 4 1 3 1 9 2 3 1 3 2 1 8 0 9 9 3 3 3 3 1 7 1 7 1 1 1 2 3 3 1 3 3 5 1 1 7 6 5 1 4 3 3 4 1 9 0 7 3 1 8 9 8 2 1 3 2 1 1 2 3 2 3 1 1 9 0 9 9 7 6 3 8 4 8 1 3 3 2 2 2 1 1 1 1 1 1 9 0 10 7 3 3 5 3 1 7 1 9 8 3 3 3 1 2 3 1 2 1 1 2 4 1 3 7 1 9 0 10 3 1 1 1 8 2 1 9 3 3 3 2 2 2 2 3 3 2 1 1 9 0 8 1 4 2 9 5 5 7 2 1 1 1 3 3 1 3 3 2 1 8 0 10 3 7 4 5 1 2 3 8 1 9 2 1 3 2 1 2 3 2 3 1 5 1 5 3 2 3 7 1 7 0 8 9 2 8 4 2 5 7 1 3 2 2 3 2 2 1 1 5 0 10 7 8 7 7 7 1 1 1 2 6 2 1 1 3 1 1 9 0 8 5 1 1 4 2 1 5 5 3 2 3 1 1 3 2 2 2 1 3 5 1 1 1 4 3 7 1 5 0 10 6 1 7 1 3 5 3 1 3 4 1 3 1 1 1 1 9 0 11 6 6 4 6 9 8 1 9 1 1 1 1 3 1 1 1 1 1 2 1 1 6 0 7 5 8 1 2 1 8 9 2 3 2 3 2 1 1 2 1 1 3 1 1 4 6 2 5 5 3 6 1 5 0 11 2 8 4 3 6 8 6 1 2 8 1 1 2 2 3 1 1 6 0 11 6 1 7 3 6 8 7 3 2 6 1 1 1 3 2 3 1 1 9 0 11 2 1 2 4 8 9 7 8 8 5 3 1 2 2 1 1 3 3 3 2 2 1 3 3 2 4 3 4 1 5 0 9 9 8 2 4 1 9 1 9 8 2 3 2 1 3 1 8 0 8 2 1 5 2 4 1 6 8 1 2 1 2 3 3 3 1 1 5 0 11 2 3 7 1 7 7 4 2 1 2 4 2 3 3 3 1 2 5 2 3 3 6 1 8 0 8 7 7 1 3 3 4 5 7 1 1 2 3 2 1 3 2 1 8 0 10 7 3 1 4 3 1 5 5 1 5 3 2 1 1 3 3 3 1 1 5 0 11 2 3 5 8 1 8 5 4 8 6 1 3 3 1 1 1 4 2 1 5 1 4 3 6 1 7 0 9 7 1 6 3 1 8 4 1 9 3 2 3 1 2 1 2 1 7 0 6 9 1 3 6 1 6 3 1 1 2 1 1 1 1 5 0 6 3 9 1 5 3 8 1 1 1 2 1 5 4 2 2 5 1 3 4 1 9 0 11 4 9 4 2 6 1 5 8 5 7 9 1 1 3 3 2 3 1 2 1 1 6 0 10 7 6 5 3 8 6 1 5 1 6 1 1 2 1 1 2 1 7 0 11 8 8 8 4 4 8 4 1 7 2 6 1 1 1 2 3 1 1 1 1 2 2 3 3 5 6 3 5 5 3 4 1 7 0 11 2 6 8 3 1 6 4 4 2 1 7 3 1 1 3 2 3 3 1 7 0 10 9 5 2 7 7 7 6 1 5 8 2 2 3 1 2 1 1 1 5 0 10 5 5 7 9 3 4 9 8 1 8 2 2 1 2 3 2 5 3 3 3 4 1 8 0 7 9 1 7 1 2 4 1 3 2 1 1 3 1 3 3 1 5 0 8 8 4 2 4 2 4 2 1 1 1 1 1 3 1 5 0 11 4 3 6 7 3 9 1 4 2 6 4 1 3 3 1 3 2 5 2 3 3 7 1 9 0 10 3 3 6 5 5 1 1 1 3 9 2 3 2 3 1 2 1 2 1 1 8 0 10 5 7 5 2 1 3 1 4 3 6 1 1 2 3 2 2 2 3 1 7 0 8 7 2 1 7 4 1 4 5 3 1 1 2 2 2 2 2 2 2 5 2 3 4 3 5 1 8 0 10 3 2 1 5 9 1 6 8 8 9 1 3 3 1 1 1 3 2 1 5 0 6 9 4 1 8 1 5 3 1 3 2 1 1 7 0 9 7 7 2 6 1 2 4 6 2 2 3 2 3 2 3 1 1 5 1 2 3 3 4 1 6 0 10 7 6 6 5 3 9 3 2 5 1 3 1 2 3 1 3 1 8 0 7 8 1 5 7 3 9 6 2 2 2 1 2 3 1 1 1 7 0 11 8 2 6 9 9 5 1 2 4 1 2 1 3 1 2 2 3 1 1 4 3 5 5 5 6 3 4 4 4 3 4 1 9 0 7 1 5 3 4 1 1 4 1 1 1 3 2 3 1 3 2 1 6 0 6 1 3 3 8 1 8 2 2 1 2 3 3 1 6 0 6 7 1 9 3 5 7 1 1 2 2 3 1 5 1 3 1 3 7 1 9 0 9 8 4 3 5 9 1 8 8 2 2 1 2 1 1 2 3 1 2 1 9 0 8 4 2 2 1 1 2 7 4 1 1 2 2 1 2 3 2 1 1 9 0 11 1 3 2 8 3 1 5 9 3 8 2 2 3 1 3 2 3 1 2 1 4 2 2 2 2 3 2 3 7 1 7 0 7 1 3 4 8 2 2 5 2 2 1 2 1 2 3 1 5 0 8 4 3 8 1 2 5 7 3 3 3 1 3 3 1 6 0 7 6 3 5 1 9 9 1 2 3 2 1 1 3 2 5 1 1 4 5 1 3 7 1 6 0 6 3 1 5 2 5 7 1 1 2 1 1 3 1 7 0 10 1 8 1 1 8 4 2 3 7 6 1 3 3 1 3 2 3 1 5 0 11 1 1 8 1 5 6 5 7 5 1 4 1 3 1 1 3 4 1 3 4 4 1 3 5 4 5 5 9 5 7 3 5 4 3 7 1 9 0 11 1 1 1 9 1 9 2 1 1 2 8 3 1 2 3 3 1 3 1 3 1 9 0 7 1 4 2 8 5 2 1 2 2 1 2 1 3 2 1 2 1 5 0 10 9 1 7 4 9 3 7 7 3 5 2 1 3 2 3 3 3 3 4 4 1 3 3 5 1 5 0 10 9 3 7 2 5 1 4 8 3 6 1 1 3 2 2 1 5 0 6 1 3 5 7 4 4 3 2 1 2 1 1 9 0 6 2 9 9 4 1 8 1 1 2 1 2 2 2 3 1 1 1 2 3 1 3 7 1 7 0 10 9 3 8 7 6 1 1 9 3 3 2 1 2 3 2 1 1 1 7 0 6 1 9 7 5 7 3 1 3 2 1 1 3 2 1 8 0 7 3 4 7 6 4 3 1 1 3 3 3 3 3 2 1 2 2 2 2 4 5 2 3 7 1 6 0 11 1 6 2 4 1 8 1 9 8 4 3 2 3 1 2 1 2 1 6 0 9 4 7 2 8 1 9 7 3 2 3 2 2 2 3 1 1 9 0 10 3 7 1 1 2 4 2 7 7 7 2 2 1 3 1 1 3 2 1 1 1 5 1 3 2 1 3 5 1 6 0 9 8 4 1 5 9 1 5 1 1 2 1 3 1 3 3 1 8 0 7 2 2 6 3 1 2 7 1 1 3 1 2 1 3 2 1 9 0 8 4 1 4 9 5 1 6 3 2 2 3 1 1 3 1 3 2 5 2 1 1 4 5 1 7 2 5 4 3 5 1 8 0 9 5 3 1 3 2 5 3 8 5 1 2 1 3 2 3 3 3 1 7 0 6 1 7 9 3 2 2 1 2 2 1 2 2 1 1 6 0 10 6 8 6 7 9 2 9 6 9 1 2 3 1 3 3 3 4 5 1 1 2 3 6 1 9 0 8 5 1 7 2 2 1 3 3 3 1 3 1 2 1 2 3 2 1 5 0 10 4 3 3 8 1 3 9 3 2 5 1 2 1 3 3 1 7 0 10 8 1 4 8 9 9 3 1 1 5 2 1 1 1 1 2 3 4 5 3 2 5 1 3 6 1 9 0 8 2 1 8 1 5 5 6 8 1 3 1 1 1 2 2 1 2 1 9 0 11 3 8 1 4 1 3 1 7 5 1 1 3 3 2 3 3 1 2 2 3 1 8 0 7 9 6 1 9 8 1 2 2 3 1 1 3 3 3 1 1 5 4 4 4 2 3 6 1 7 0 7 2 1 5 1 6 4 6 2 1 1 3 1 3 2 1 8 0 11 2 1 1 9 6 4 3 8 6 8 8 3 3 3 1 1 2 1 3 1 7 0 11 5 4 7 4 1 8 7 6 8 7 1 1 1 2 1 1 2 2 3 4 5 3 2 5 3 4 1 8 0 11 3 4 1 8 4 3 6 4 6 8 1 2 3 2 2 3 3 3 1 1 8 0 8 3 3 4 1 9 3 1 6 2 3 2 1 1 3 1 3 1 6 0 7 3 1 3 7 9 6 4 1 1 3 3 1 2 5 5 3 3 6 3 5 4 5 3 3 4 1 5 0 6 6 9 3 9 1 3 1 3 3 1 3 1 9 0 7 5 1 9 6 9 6 3 2 1 2 3 3 2 1 2 1 1 5 0 7 8 6 4 4 4 1 1 1 2 2 1 3 4 3 4 1 3 5 1 8 0 8 5 1 8 4 4 8 4 9 1 1 2 1 1 1 1 1 1 6 0 9 9 9 1 2 1 7 4 4 7 3 1 2 3 2 2 1 7 0 11 7 4 8 6 8 5 9 1 4 1 3 1 3 1 1 1 3 1 4 4 1 1 5 3 7 1 7 0 9 3 6 3 1 9 1 3 3 3 1 1 2 2 1 3 1 1 5 0 6 6 7 8 3 1 1 1 1 1 1 2 1 5 0 10 5 5 1 1 7 5 1 4 2 4 2 2 1 1 3 3 4 1 2 1 2 3 3 7 1 5 0 8 6 1 9 5 1 5 3 7 2 1 1 3 3 1 9 0 8 1 2 6 4 6 4 6 1 3 3 1 3 3 1 3 2 2 1 8 0 11 1 3 3 3 1 8 2 3 5 2 9 2 1 1 1 3 1 2 2 1 4 3 3 4 4 3 3 4 1 5 0 10 8 7 1 8 1 7 1 6 8 4 3 1 1 2 2 1 5 0 6 4 8 9 2 8 1 3 1 2 1 1 1 7 0 6 5 7 4 1 1 3 1 3 3 1 2 1 1 3 3 3 4 2 5 3 5 4 3 4 1 8 0 11 8 1 7 5 3 7 1 9 8 2 1 2 1 3 1 2 1 3 1 1 5 0 7 7 7 7 5 1 4 8 1 1 3 1 1 1 7 0 10 1 7 4 4 1 5 3 2 8 1 1 1 1 1 1 2 2 3 2 4 3 3 5 1 8 0 11 3 1 4 4 7 2 7 1 6 7 6 3 3 1 1 2 1 1 2 1 5 0 6 7 1 2 8 3 9 1 1 3 3 1 1 5 0 9 9 4 4 6 7 1 5 7 2 3 2 3 1 1 5 1 3 2 2 3 4 1 8 0 11 1 1 9 9 1 9 4 2 3 8 9 1 1 2 1 1 2 3 1 1 6 0 9 1 1 7 6 1 1 6 9 9 3 2 2 1 1 1 1 9 0 10 2 1 1 6 1 8 3 4 1 6 1 1 2 1 3 2 1 3 1 1 4 2 4 3 7 1 5 0 10 7 1 4 7 2 1 4 6 8 7 2 3 1 1 3 1 8 0 7 2 3 9 1 5 1 4 3 1 1 1 1 1 3 1 1 6 0 9 3 1 9 1 5 9 9 8 8 1 2 3 2 1 1 2 5 3 1 3 2 2 3 4 1 6 0 10 2 1 6 4 4 1 4 5 5 8 1 3 2 3 2 3 1 8 0 7 1 5 4 2 9 9 6 2 2 2 1 3 2 1 2 1 8 0 8 9 9 1 9 7 4 3 7 2 1 2 3 2 3 3 1 3 5 1 2 3 4 5 7 5 3 3 7 1 7 0 10 3 9 8 8 6 5 1 1 9 5 1 2 1 1 3 2 1 1 9 0 11 1 6 6 4 4 5 8 1 1 5 4 1 3 1 2 2 2 1 3 1 1 9 0 6 1 7 5 6 5 2 3 1 1 1 3 1 1 2 3 1 2 3 3 5 3 5 3 4 1 9 0 8 5 8 1 9 8 1 9 2 3 3 1 1 2 2 1 2 1 1 5 0 6 5 3 4 9 1 3 2 1 3 2 3 1 9 0 11 4 1 2 9 6 4 7 9 8 6 8 3 3 2 1 3 2 2 3 3 2 1 5 3 3 7 1 9 0 11 1 9 1 3 4 6 7 2 4 6 8 3 3 2 1 2 3 1 3 1 1 9 0 8 1 8 2 2 4 8 6 6 2 1 1 2 1 3 1 1 1 1 5 0 9 3 1 6 2 1 3 1 4 9 3 3 1 2 1 3 5 1 2 2 1 5 3 4 1 6 0 11 5 9 1 3 5 2 1 5 9 1 1 3 1 1 3 3 1 1 6 0 8 5 4 3 9 1 2 4 1 3 1 1 3 1 2 1 8 0 6 8 4 1 1 7 1 3 1 3 3 1 3 1 2 2 5 5 2 3 4 1 6 0 10 5 1 9 8 7 1 8 4 2 4 1 3 1 3 3 1 1 8 0 11 4 5 1 1 7 2 3 2 8 7 7 1 1 1 2 3 1 2 1 1 5 0 9 7 2 1 7 4 5 3 1 3 1 2 2 3 1 1 2 2 5 1 3 3 5 3 3 7 1 6 0 11 7 1 6 2 8 8 1 5 4 9 5 1 2 1 2 3 2 1 6 0 11 4 1 4 8 7 3 5 2 4 4 4 1 3 3 1 1 2 1 9 0 8 8 8 1 1 1 9 3 8 2 2 1 2 3 1 3 1 3 2 2 4 1 2 5 2 3 6 1 7 0 7 1 8 2 1 1 5 8 2 2 3 1 2 1 3 1 5 0 10 1 1 2 2 5 5 8 7 5 7 2 1 1 2 3 1 7 0 9 5 6 1 6 7 8 5 8 6 3 2 1 1 1 1 3 5 2 3 3 2 4 3 6 1 9 0 7 6 9 5 3 1 6 8 2 1 1 1 1 3 1 1 1 1 5 0 11 8 1 7 3 1 9 6 6 7 9 8 1 1 3 2 1 1 8 0 10 4 5 2 1 3 3 7 9 3 9 1 1 1 1 1 3 2 1 1 1 5 1 1 3 3 4 1 9 0 11 6 6 5 2 4 1 6 7 6 5 7 3 1 1 3 1 1 2 1 2 1 9 0 6 1 5 4 1 5 8 2 2 3 3 2 3 2 1 2 1 6 0 6 1 3 5 2 6 8 2 2 2 1 1 3 3 4 5 3 3 6 1 6 0 7 1 4 8 2 8 4 3 2 2 1 1 3 2 1 7 0 8 7 1 5 1 8 7 8 3 1 3 3 2 2 1 3 1 7 0 8 1 9 9 8 5 1 7 2 1 1 1 2 2 2 3 1 5 2 4 1 5 2 5 4 4 3 3 6 1 6 0 10 7 5 9 6 7 7 1 6 3 1 2 2 1 1 3 3 1 6 0 9 2 5 6 8 3 1 2 3 5 3 1 2 2 1 1 1 6 0 9 7 7 4 1 7 9 1 5 7 2 2 1 3 3 1 1 5 5 3 1 1 3 5 1 8 0 6 9 8 1 5 8 1 1 1 1 3 2 3 1 2 1 7 0 11 6 7 3 2 9 8 1 6 6 5 1 1 2 3 2 1 2 2 1 5 0 6 9 1 1 6 8 7 2 2 1 1 1 5 5 2 4 2 3 4 1 5 0 9 2 1 7 6 8 6 8 6 4 1 2 2 3 1 1 9 0 6 6 6 7 9 1 4 1 1 2 2 3 1 1 1 3 1 7 0 10 1 1 1 3 7 5 6 5 8 6 1 3 3 2 3 1 3 3 2 4 5 3 7 1 5 0 11 1 8 1 3 9 3 5 6 4 3 6 1 1 2 1 1 1 5 0 6 1 5 9 7 5 1 3 1 1 2 3 1 9 0 7 2 2 4 1 4 8 6 2 2 2 1 2 2 1 2 3 2 1 2 5 2 3 3 4 3 3 5 9 5 7 3 4 4 3 4 1 6 0 7 1 9 3 9 5 8 5 3 3 1 3 2 1 1 7 0 7 2 6 4 1 6 3 9 2 3 1 2 2 1 1 1 5 0 9 2 1 1 6 7 9 3 9 8 2 3 1 1 3 1 1 3 4 3 5 1 5 0 10 6 8 7 8 7 7 1 3 1 9 1 2 1 1 3 1 5 0 8 3 6 3 8 8 1 5 4 1 1 2 1 1 1 7 0 10 1 8 5 6 5 9 5 6 8 8 2 1 1 1 3 1 2 4 5 3 3 2 3 6 1 6 0 10 1 8 3 5 3 3 7 9 9 3 1 1 1 2 2 3 1 6 0 6 7 1 8 4 1 5 1 1 3 1 1 2 1 9 0 9 5 1 5 4 6 1 7 1 3 1 2 1 2 3 1 3 1 2 1 3 4 2 5 2 3 6 1 8 0 11 4 9 8 7 3 5 3 1 8 8 8 3 1 3 1 2 3 1 3 1 8 0 10 5 9 4 1 8 3 1 3 1 9 3 1 2 3 2 2 1 1 1 6 0 9 8 3 9 2 9 5 7 1 7 1 1 1 1 2 3 5 2 3 5 2 5 4 4 1 3 5 4 3 4 1 9 0 7 1 3 9 8 3 7 9 1 2 1 1 1 1 3 3 2 1 6 0 6 9 3 3 1 6 1 2 2 1 2 1 3 1 8 0 6 3 6 1 4 5 2 2 3 1 1 2 1 3 2 4 1 1 2 3 6 1 9 0 8 2 1 3 1 9 6 1 6 2 2 3 3 1 1 1 1 3 1 9 0 6 6 2 2 2 9 1 1 1 1 3 1 2 2 3 3 1 9 0 8 7 9 8 8 2 8 7 1 1 3 2 2 3 1 3 1 3 1 2 4 2 2 3 3 5 1 9 0 11 4 1 5 1 2 2 2 7 7 9 4 3 2 1 1 3 1 1 2 2 1 7 0 6 9 8 6 5 1 2 2 1 1 1 1 2 1 1 7 0 9 9 7 3 8 7 5 8 9 1 3 1 3 1 1 1 1 3 4 1 2 3 3 6 1 7 0 11 2 4 3 5 6 6 6 4 2 1 9 1 1 1 1 1 1 1 1 6 0 10 3 6 1 7 7 8 7 8 2 9 2 1 2 1 1 3 1 8 0 8 1 8 7 9 7 6 8 1 2 2 1 1 1 1 3 3 5 4 1 3 4 2 3 7 1 6 0 7 3 1 2 8 7 9 9 3 1 3 3 2 1 1 9 0 9 5 3 3 3 1 1 3 2 1 1 1 1 1 1 3 1 3 3 1 7 0 7 1 4 7 3 8 3 5 3 2 2 1 3 2 1 3 2 1 1 5 2 4 6 6 2 1 4 4 3 5 1 6 0 6 8 1 4 3 5 8 2 1 2 1 2 2 1 8 0 11 2 6 8 2 7 8 5 1 8 1 3 2 3 1 3 2 3 2 3 1 7 0 6 9 8 9 1 8 7 1 3 1 3 3 3 1 1 2 1 3 5 3 5 1 7 0 11 1 1 7 6 9 1 6 8 2 7 9 1 2 3 1 2 3 2 1 9 0 11 4 9 9 6 2 1 7 1 7 4 1 3 2 3 2 2 3 1 1 1 1 6 0 9 5 8 8 5 6 1 5 4 7 3 1 1 1 1 2 2 5 3 5 5 3 5 1 7 0 6 1 1 5 4 9 5 2 1 2 2 1 2 3 1 8 0 9 1 7 3 6 8 6 8 4 1 3 3 2 2 2 1 1 1 1 8 0 10 9 8 1 9 4 1 1 8 2 3 2 1 1 3 2 2 1 2 3 3 4 1 3 3 7 1 9 0 10 5 9 5 1 3 2 3 1 3 7 3 1 2 2 1 3 1 2 1 1 8 0 11 3 7 4 6 1 6 9 6 1 1 2 2 2 2 3 1 1 1 2 1 8 0 7 7 4 6 8 4 7 1 1 1 3 3 1 3 2 2 5 5 5 2 1 4 4 1 6 3 3 4 5 3 7 1 5 0 9 2 1 7 8 7 1 3 5 1 3 1 2 3 1 1 8 0 8 3 8 7 7 1 2 1 1 1 2 1 1 1 3 3 2 1 9 0 6 6 1 1 5 2 1 1 3 1 1 1 3 2 1 2 2 4 5 1 5 5 4 3 4 1 9 0 7 4 2 7 9 3 1 3 3 1 1 1 2 3 2 3 1 1 9 0 6 1 2 7 2 4 5 1 2 3 1 1 1 2 3 1 1 7 0 9 3 4 4 1 9 5 6 8 9 1 2 2 1 3 1 3 2 1 5 2 3 6 1 7 0 9 4 6 8 4 1 2 1 3 3 1 3 2 1 1 1 2 1 6 0 10 3 5 9 7 5 1 4 8 5 7 3 1 3 1 1 2 1 5 0 6 5 4 7 8 1 2 1 2 3 3 1 1 2 4 1 2 2 3 7 1 7 0 7 4 9 5 1 9 9 5 3 1 3 1 3 2 3 1 6 0 7 2 3 1 5 6 1 7 1 1 1 2 3 3 1 6 0 7 3 9 4 1 4 7 3 1 3 1 3 1 2 1 2 1 4 5 1 5 4 4 6 6 6 5 3 3 7 1 9 0 11 8 1 8 8 1 4 5 4 3 6 6 1 2 3 3 3 2 1 1 1 1 6 0 7 5 1 6 1 4 2 5 1 1 1 1 2 1 1 5 0 9 2 1 3 3 2 4 7 2 5 3 2 3 1 1 4 1 2 2 3 1 1 3 5 1 9 0 9 1 1 3 3 1 7 5 2 9 3 1 2 3 3 1 3 2 2 1 8 0 10 8 4 9 1 5 4 9 4 8 4 2 2 3 3 2 1 3 3 1 8 0 8 1 2 5 5 8 1 6 7 3 3 2 2 2 3 2 1 5 3 3 1 2 3 6 1 8 0 8 2 8 3 2 8 6 4 1 2 1 2 1 2 2 1 1 1 5 0 9 6 7 7 4 1 8 6 1 3 1 1 3 3 1 1 8 0 11 1 1 8 4 1 3 1 2 3 6 9 3 1 2 1 1 3 1 1 1 1 1 4 1 1 3 4 1 7 0 7 1 9 8 6 7 3 1 1 3 1 2 3 2 2 1 5 0 8 7 7 8 8 6 1 1 8 1 2 2 3 2 1 6 0 6 1 8 8 8 6 4 2 2 2 3 1 1 2 3 2 3 3 5 1 8 0 10 8 1 7 3 5 9 2 7 4 8 2 2 1 1 3 3 1 1 1 8 0 6 7 7 1 1 6 7 2 1 3 1 3 1 3 2 1 9 0 8 1 8 6 4 4 7 3 8 3 2 1 3 1 3 1 2 2 1 2 4 3 2 1 2 1 5 4 3 5 1 6 0 10 6 1 5 1 3 8 8 4 1 9 3 1 1 3 2 2 1 5 0 6 5 4 4 1 7 1 1 3 3 2 1 1 8 0 11 3 3 2 2 1 2 1 5 1 8 6 1 1 1 1 1 1 2 1 5 2 2 1 1 3 4 1 7 0 11 8 7 2 1 6 7 5 1 1 5 6 1 3 2 2 3 1 1 1 7 0 7 6 8 2 1 1 2 2 1 1 3 2 1 3 1 1 5 0 7 7 3 6 1 6 9 2 3 2 1 1 1 3 1 3 4 3 7 1 5 0 11 3 2 9 8 6 2 1 1 4 1 4 1 2 1 3 1 1 9 0 11 4 9 8 9 6 2 6 5 1 8 1 3 2 1 1 2 3 1 1 3 1 5 0 11 5 1 8 2 4 5 4 3 1 8 5 2 1 3 1 1 2 4 2 3 5 1 4 3 7 1 5 0 9 6 9 5 2 4 5 4 1 2 1 2 1 1 2 1 5 0 9 6 2 9 8 2 1 5 1 3 2 3 1 1 1 1 8 0 6 7 8 4 8 7 1 3 2 2 3 2 1 2 1 2 1 3 5 3 2 5 3 6 1 9 0 11 4 7 1 2 4 1 8 7 8 1 1 3 1 1 3 2 3 1 2 1 1 6 0 9 8 1 9 6 8 7 1 9 8 1 3 1 1 1 3 1 8 0 7 7 3 3 1 1 6 9 1 2 3 3 2 1 3 1 4 1 1 1 1 3 3 6 1 4 4 5 3 4 1 7 0 8 7 5 5 3 1 1 5 7 1 1 2 1 1 1 1 1 8 0 9 7 8 2 5 5 1 3 3 6 2 2 2 1 1 3 3 3 1 8 0 7 5 1 1 1 3 4 3 1 3 1 1 1 1 2 2 5 3 5 2 3 7 1 9 0 10 7 1 8 9 3 3 5 7 4 7 1 3 2 3 2 3 1 1 1 1 8 0 7 1 5 1 9 2 7 4 2 2 2 3 1 2 2 1 1 6 0 7 4 3 1 7 8 4 9 2 3 3 1 1 1 3 1 3 4 1 5 3 3 7 1 9 0 10 1 1 3 4 2 9 2 7 5 3 3 2 3 3 3 1 1 1 1 1 9 0 6 7 5 5 1 6 1 3 2 3 1 3 3 3 2 1 1 5 0 6 1 8 6 6 1 6 2 3 2 1 2 4 3 2 3 2 1 4 3 7 1 7 0 6 2 7 1 2 1 2 3 2 3 1 3 1 3 1 5 0 6 2 5 3 1 4 1 2 1 3 1 1 1 6 0 8 6 6 2 5 8 1 1 3 1 1 2 3 1 1 1 1 5 1 2 2 2 4 4 2 1 3 3 4 4 7 7 1 7 8 4 3 2 8 8 2
@@ -0,0 +1,89 @@
1
+
2
+ #
3
+ # Run the given program using Open3.popen3 and redirects output to the subpane("out") (STDOUT and STDERR).
4
+ #
5
+ module Flammarion::Writeable
6
+
7
+ # This method does not block, but returns after the program has been started.
8
+ #
9
+ # Caution: By default most program run via Open3.popen3 assume they are started in non PTY mode and will buffer their output.
10
+ # To tell the program to be interactive use something like 'script -qefc \"<program>\" /dev/null' as command.
11
+ # See https://stackoverflow.com/questions/1401002/trick-an-application-into-thinking-its-stdout-is-a-terminal-not-a-pipe
12
+ #
13
+ # +*cmd+:: cmd string to pass to Open3.popen3
14
+ # +pane_out+:: Name of the pane that the STDOUT of the program should be print to. Defaults to "out"
15
+ # +pane_err+:: Name of the pane that the STDERR of the program should be print to. Defaults to "out". Set to nil/false to prevent STDERR to be printed.
16
+ # +pane_in+:: Name of the pane that should be used to wait for input from the user. Defaults to "in". Set to nil/false to prevent user input.
17
+ # +status+:: Should status updates (start, termination) be printed to Writeable::status. Defaults to true. Set to nil/false to disable.
18
+ # +close_btn+:: Should a close button be shown in the pane_in. Defaults to true. Set to nil/false to disable.
19
+ # +auto_clear+:: Should the panes be cleared prior to launching the program? Defaults to true. Set to nil/false to disable.
20
+ # +kill_sig+:: What to pass to Process.kill when close_btn is pressed but program does not react to STDIN being closed. Defaults to "KILL". Could be "TERM".
21
+ #
22
+ def system(*cmd, pane_out: "out", pane_err: "out", pane_in: "in", status: true, close_btn: true, auto_clear: true, kill_sig: 'KILL')
23
+
24
+ # Clear all panes if auto_clear is set
25
+ [pane_out, pane_err, pane_in].uniq.each { |p| p && subpane(p).clear } if auto_clear
26
+
27
+ i, o, e, t = Open3.popen3(*cmd, pgroup: true)
28
+ cmd = cmd.join
29
+
30
+ status("Running '#{cmd}'".light_green) if status
31
+
32
+ if pane_in
33
+
34
+ subpane(pane_in).input("> ", autoclear:true, history:true) do |msg|
35
+ i.puts msg['text']
36
+ end
37
+
38
+ if close_btn
39
+
40
+ subpane(pane_in).button("Close") do
41
+
42
+ subpane(pane_in).clear if auto_clear
43
+ i.close
44
+
45
+ value = begin
46
+ if t.join(1)
47
+ t.value
48
+ else
49
+ # TERM/KILL whole progress group
50
+ Process.kill(kill_sig, -Process.getpgid(t.pid))
51
+ if t.join(3)
52
+ t.value
53
+ else
54
+ nil
55
+ end
56
+ end
57
+ end
58
+
59
+ if !value
60
+ status("Command '#{cmd}' did not terminate promptly.".light_red);
61
+ end if status
62
+ end
63
+ end
64
+ end
65
+
66
+ Thread.new do
67
+ begin
68
+ while l = e.readpartial(4096)
69
+ subpane(pane_err).print l.red
70
+ end
71
+ rescue EOFError
72
+ # Do nothing
73
+ end
74
+ end if pane_err
75
+
76
+ begin
77
+ while l = o.readpartial(4096)
78
+ subpane(pane_out).print l
79
+ end
80
+ rescue EOFError
81
+ subpane(pane_in).clear if auto_clear
82
+
83
+ if status && t.join(5)
84
+ t.value.success? ? status("Command '#{cmd}' exited with success".light_green) : status("Command '#{cmd}' exited with error code: #{t.value}".light_red)
85
+ end
86
+ end
87
+ end
88
+
89
+ end
@@ -7,10 +7,18 @@
7
7
  # - Some Numeric hackery
8
8
  #
9
9
 
10
- def min(a, b)
11
- return a <= b ? a : b
10
+ module Cem
11
+ def self.min(a, b)
12
+ return a <= b ? a : b
13
+ end
14
+
15
+ def self.max(a, b)
16
+ return a >= b ? a : b
17
+ end
12
18
  end
13
19
 
20
+ extend Cem
21
+
14
22
  class Numeric
15
23
  # Make all methods in Math module available as methods for numeric (e.g. 3.sqrt instead of Math.sqrt(3))
16
24
  Math.methods(false).each do |method|
@@ -37,6 +45,14 @@ Point2D = Struct.new("Point2D", :x, :y) {
37
45
  end
38
46
  end
39
47
 
48
+ def -(other)
49
+ if other.is_a? Array
50
+ other.map { |o| self - o }
51
+ else
52
+ Point2D.new(x - other.x, y - other.y)
53
+ end
54
+ end
55
+
40
56
  # Scalar multiplication
41
57
  def *(other)
42
58
  Point2D.new(x * other, y * other)
@@ -51,6 +67,10 @@ Point2D = Struct.new("Point2D", :x, :y) {
51
67
  return ((x - other.x) ** 2 + (y - other.y) ** 2).sqrt
52
68
  end
53
69
 
70
+ def area
71
+ return x * y
72
+ end
73
+
54
74
  def self.from_s(s)
55
75
 
56
76
  case s.upcase
@@ -67,6 +87,46 @@ Point2D = Struct.new("Point2D", :x, :y) {
67
87
  end
68
88
 
69
89
  end
90
+
91
+ # Returns the component-wise minimum as a new Point2D
92
+ #
93
+ # Point2D.new(5,2).min(Point2D.new(1,3)) == Point2D.new(1,2) -> true
94
+ #
95
+ def min(other)
96
+ return self if !other
97
+
98
+ if other.is_a? Array
99
+ other.reduce(self) { |min, o| min.min(o) }
100
+ else
101
+ Point2D.new(Cem.min(x, other.x), Cem.min(y, other.y))
102
+ end
103
+ end
104
+
105
+ # Returns the component-wise maximum as a new Point2D
106
+ #
107
+ # Point2D.new(5,2).min(Point2D.new(1,3)) == Point2D.new(5,3) -> true
108
+ #
109
+ def max(other)
110
+ return self if !other
111
+
112
+ if other.is_a? Array
113
+ other.reduce(self) { |max, o| max.max(o) }
114
+ else
115
+ Point2D.new(Cem.max(x, other.x), Cem.max(y, other.y))
116
+ end
117
+ end
118
+
119
+ # Returns the minimum and maximum coordinates of this and the given point/point array.
120
+ def minmax(other)
121
+ [self.min(other), self.max(other)]
122
+ end
123
+
124
+ # Returns the minimum and maximum coordinates of the point array.
125
+ def self.minmax(array)
126
+ return [nil, nil] if !array || array.size == 0
127
+
128
+ [array.reduce { |min, o| min.min(o) }, array.reduce { |max, o| max.max(o) } ]
129
+ end
70
130
 
71
131
  def left
72
132
  return self + Dir2D.LEFT
@@ -112,11 +172,12 @@ Point2D = Struct.new("Point2D", :x, :y) {
112
172
  return result
113
173
  end
114
174
 
115
- # def <=>(other)
116
- # y == other.y ? x <=> other.x : y <=> other.y
117
- # end
175
+ def <=>(other)
176
+ y == other.y ? x <=> other.x : y <=> other.y
177
+ end
118
178
 
119
179
  def ==(other)
180
+ return false if !other.respond_to?(:x) || !other.respond_to?(:y)
120
181
  y == other.y && x == other.x
121
182
  end
122
183
  }
@@ -223,7 +284,7 @@ class Grid
223
284
  # @data = [[default] * x] * y
224
285
  end
225
286
  end
226
-
287
+
227
288
  def initialize_copy(orig)
228
289
  super
229
290
 
@@ -231,6 +292,37 @@ class Grid
231
292
  # Do custom initialization for self
232
293
  end
233
294
 
295
+ #
296
+ # Given a list of Point2D, will create a Grid that contains all points.
297
+ #
298
+ # By default the grid will be recentered using the 'bottomleft'-most point.
299
+ # Set :bounding_box to false to get coordinates transferred as is.
300
+ #
301
+ # By default all cells for which points are found are marked with an 'x'.
302
+ # Set :char to another character or supply a block which receives the point and should return the character to use.
303
+ #
304
+ # By default the empty cells are filled with spaces. Set :empty to something else to change this.
305
+ #
306
+ def self.from_points(point_array, bounding_box=true, char='x', empty=' ', &block)
307
+
308
+ min, max = Point2D.minmax(point_array)
309
+ if !bounding_box
310
+ min = Point2D.new(0,0)
311
+ end
312
+
313
+ result = Grid.new(max.x - min.x + 1, max.y - min.y + 1, empty)
314
+
315
+ point_array.each { |p|
316
+ result[p-min] = if block
317
+ block.call(p)
318
+ else
319
+ char
320
+ end
321
+ }
322
+
323
+ return result
324
+ end
325
+
234
326
  def minmax(null=nil)
235
327
  min = nil
236
328
  max = nil
@@ -373,8 +465,7 @@ class Grid
373
465
  def to_s
374
466
  printBoard()
375
467
  end
376
-
377
-
468
+
378
469
  #
379
470
  # returns a copy of the underlying 2D array, with linking to the content (rather than dup the content also)
380
471
  #
@@ -451,10 +542,12 @@ class Grid
451
542
  @data.each_with_index { |l, y|
452
543
  l.each_with_index { |c, x|
453
544
 
454
- pos = Point2D.new(x,y)
455
-
456
- if overlay && overlay.has_key?(pos)
457
- result += overlay[pos]
545
+ if overlay
546
+ pos = Point2D.new(x,y)
547
+ if overlay.has_key?(pos)
548
+ result += overlay[pos]
549
+ end
550
+ next
458
551
  else
459
552
  result += c.to_s
460
553
  end
@@ -1,3 +1,3 @@
1
1
  module Cem
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christopher Özbek
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-10 00:00:00.000000000 Z
11
+ date: 2020-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.17'
19
+ version: '2.1'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.17'
26
+ version: '2.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -83,12 +83,33 @@ files:
83
83
  - bin/console
84
84
  - bin/setup
85
85
  - cem.gemspec
86
+ - examples/aoc2018/day1.rb
87
+ - examples/aoc2018/day1_part2.rb
88
+ - examples/aoc2018/day2.rb
89
+ - examples/aoc2018/day2_2.rb
90
+ - examples/aoc2018/day3.rb
91
+ - examples/aoc2018/day4.rb
92
+ - examples/aoc2018/day5.rb
93
+ - examples/aoc2018/day5_part2.rb
94
+ - examples/aoc2018/day6.rb
95
+ - examples/aoc2018/day7.rb
96
+ - examples/aoc2018/day8.rb
97
+ - examples/aoc2018/day8_part2.rb
98
+ - examples/aoc2018/inputs/day1_input.txt
99
+ - examples/aoc2018/inputs/day2_input.txt
100
+ - examples/aoc2018/inputs/day3_input.txt
101
+ - examples/aoc2018/inputs/day4_input.txt
102
+ - examples/aoc2018/inputs/day5_input.txt
103
+ - examples/aoc2018/inputs/day6_input.txt
104
+ - examples/aoc2018/inputs/day7_input.txt
105
+ - examples/aoc2018/inputs/day8_input.txt
86
106
  - lib/cem.rb
87
107
  - lib/cem/ccommon.rb
88
108
  - lib/cem/cflame.rb
89
109
  - lib/cem/cflame/clickable_img.rb
90
110
  - lib/cem/cflame/missing_html.rb
91
111
  - lib/cem/cflame/p.rb
112
+ - lib/cem/cflame/popen.rb
92
113
  - lib/cem/cflame/progress.rb
93
114
  - lib/cem/cruzzles.rb
94
115
  - lib/cem/version.rb
@@ -115,8 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
136
  - !ruby/object:Gem::Version
116
137
  version: '0'
117
138
  requirements: []
118
- rubyforge_project:
119
- rubygems_version: 2.7.6
139
+ rubygems_version: 3.0.8
120
140
  signing_key:
121
141
  specification_version: 4
122
142
  summary: Cem = Christopher's Common Helper Gem for Ruby.