package com.moni; public class AMain { public static void main(String[] args) { StringBuilder sBuilder=new StringBuilder(); int count=0; for(int i=1;i<=2020;i++) { sBuilder.append(i); } int n = sBuilder.length(); for(int i=0;i<n;i++) { if(sBuilder.charAt(i)=='2') { count++; } } System.out.println(count); } } 答案:624
package com.moni; import java.util.Scanner; public class BMain { static int count=0; public static void main(String[] args) { String[] strs =new String[300]; Scanner scan=new Scanner(System.in); for(int i=0;i<300;i++) { strs[i]=scan.nextLine(); } scan.close(); cal(strs); System.out.println(count); } public static void cal(String[] strs) { int m = strs.length;int n=strs[0].length(); for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { if(strs[i].charAt(j)=='2') { //横向 if(n-j>=4&&strs[i].charAt(j+1)=='0'&&strs[i].charAt(j+2)=='2'&&strs[i].charAt(j+3)=='0') { count++; } //竖向 if(m-i>=4&&strs[i+1].charAt(j)=='0'&&strs[i+2].charAt(j)=='2'&&strs[i+3].charAt(j)=='0') { count++; } //斜向 if(n-j>=4&&m-i>=4&&strs[i+1].charAt(j+1)=='0'&&strs[i+2].charAt(j+2)=='2'&&strs[i+3].charAt(j+3)=='0') { count++; } } } } } } 002000000220202000222000202200222220202202020002220002020022202200220220202002002220020200000000220022200202222022220222000022220220020020222020022220022220220000022022002020220002200220020020022200020222020200200000020220020022002202000202222020220020020022020000202022220222200022220000000020020020 000020002002200002022222200222002020000200020220000022020002020200000222000000202202220222000222202200202202200200222222220202022020022002220200022020200222002220202202022202222002000220202200202202022000000222220222200200022220202200200020202222202222220022202220020002000000200022222202020020222220 220002002202200022020020202000220002000020220202222020000020022222002000002222220022022020002022200020022020202020022200022200202202220200000202020220022200222020020222020020022200222220222000020202000020022220222022202222002002002000002020202200220200222202002002202002020202222220020002020220200000 022200022002022002220002002222022020220002222200002002222002222222022200002022002002200220020002220002020002222222022020220020200000022022022220220222002222220000022200002002020000000022220202020020222202222200200220200220222220020202020002022002222022022022222002200220202202002022000022200020220000 202222202222222000000022222022202022220000222002002000022202022002220220220022002002200000222200222002222002220000220022002202220222220222002002220200222200020222000202200022022020002222020022202002000200000222200020222020002020022222222222220202002200200200220020002020200000020022000202002000022000 020200222020020222002020000022220022020220002220220220200222222000222222002202002200002000220022220020002200020020220002000020002002200200200000200200220202002020022202002002222222222200222020020000020220002222020202202222220202220200202002202220020220200000022020222002222020200200022202202202200002 020222000220220200222000000202020022200022002020222220220200202000200200202222020020200220002200000020000002022000020020002220202002222220222000220220222222000002000000000002220022000220022202202202020222202202200002220200022222002000020020220200002200202220022220020002220020002222220220220200022000 022002200222022222020022202000002222200002022002020220000220200000002002022000000022000022202022200002000000020200000020002202200020200002200000202002222002220020220200020222002000022002022020000020200000202020200020222200020022222222000222202020200200222000202020020000200022020202202222002020200002 202020200000020002020022202222022220002222022222022200200002002220020220220222202000220022002220020022000202022022222200220020022202020202202222002202222000202200020020222222200202200220002222200220002202202220222022222200002220022002222000220002020220000220220022000020200220200022000202020220200222 220002222000220022000222020020202220220002000002200222220002000020000000000202202002222022202220220200020202202200220202202022022222020220202202020002222200002020220202022200002222222200020022022202220000020002022020222020022022222022202220222002020000002022000020220020220222200200002202002220222002 200222022022022200200220202202200200220222220022022000022000022022020200222020220000220220020020000020222022222002020220020220222000202200222222200020022002220222222002222200020002000202022202220222202020000020022202022002200020220002022022002002000022020202002020022000000220202200022022200020022220 002002202022020200022222220022000022202220002202200000220000020220000020022200200020020222000000200022000202002022200222200222000000000202222200222022020202200020020202220022200200022200222022202202002202020222022002022002222222020202022220202020202002222222022220220002220022022002220022202002222002 220022002222002220222000220000002200220020022000220022222220202200020022000222022202220220022202222020002020200202202002222022222020220200020000020022020022200000000000022202022022200220222022220222020000020222000200022202202220202002002222000220202220200220000220202022000202222020222000200000000000 002220020002202202002220022220222002220002200022200002222002200020200202000000222222220022222200202220002222220000000220220022200002200022202022020200200002202000022202200002220220020220020022220022200000000220200200020022020222200202002200220222222202220202220002022020022020020200002022200222222020 002200202020202220200020220220002002022022020022200202000220202220220222200002000020222022000002220020002002022022200002200000222222200022002222000200000220220220022022020022000200220022220002002200002022020200220000020000002002002020222202000202022220000220200200200020002002200220202000220002222002 200200202222000020022220222022022002222220200002022222000020002222220200020220222220022220222220220000202022020222022220202000002222000200220202002202200022020220002220020022002202022022000000222020220002222222002020222000022222220200020000000200020200020220220222220020000222000220222222222200222202 000200202020220002002020022020022020000202220202022222220020202220220202022220200002000222200000200200220002222202022200022020222022202002000022002200222222000222000202002022222020220202200020022220222022000002020022002000220220022202220202002200202000200222002000202200202222220222222002202200002220 020220002002020000002002220020022022020220022022202202220202222222200020020020222222022020000000220222000220020202022202002020200002002202200200222022022020022000020002000222022000200000020000020002022020020200202200222222022222022000002002220220002202022020222000202002222000022022000000200020022022 002002002002022220000022220020022222220002200222002200020202000202222002020020222020002200020002002202022220002022020000020022222200002202000020222220020000022000020220002220000202000220020202002220022000022002202000000220020202002202200202220220022002002202222222020220222222020020000222000000002022 000202222220222222002202200200200220002022022000002200020202002020200002002202000220000222002020022020002000022020222000000202220220002022220022222220222002200220222220002020202202022002222202222202222002222200020000220020222002000022002222202220020222202202200202000000002200200222020022220220220202 022200200022222020002022002000222000020002002222020002002222222020200022020002022220000200000002000020202002020220200020020002200020222000202200202222220020200020202222220200220200222202222002202200200202002222002002200022200022002200222002002000022022022002220002002002202022002222220020220022000022 020020200200000000222202222220222020202202220200220022222202002200022022220002002200000202002002020000000220200222222020022220002000200022220202000002022220200002000000222220200020200002202002200200022220002220002220022202002202020220220200002222002020202020220220202000200020222200200222222000222020 022200200200000002220002202002022202202220000222202222220220022002022220022002000022002202202000202002220200002002002000000220202200220202220002200002020000222220222020020202000222200202202020200000022002000022220000200020000202222200222200222022020200220200222200222202022202020222020020020200020222 000022022222220222222220222000202200022022002000200022022220002020222222202222020200220200222202220002200002000200202022022022020222020200202020000000020000000220000002002200202200202022020200020000220000200000222002002000022220022220022200202202020002022200202220020222020222002222220020202000202222 000022202020202002000222002222222200002220222202222022020200000200202002002202022220000202202020200222022220000202022020020022002220222022020000000020022222022020020200220022220020202202022002220202202202222222200002222020000022022220022200022200002202020022200200020202222000002022200000002222002022 000200020020220002020022020020202022022200200020000200222202222000000002000200020222000020002020000202202202000000220202002222200202200222202002220222202002020222000202022022022020000022202200220220222000220020220000020000200200222220000222020002222020220020202020022002202002002022022020200220002000 000000020200020200020020002202022020220022202002020022002020020020000202020022022200202202200000202220022222000002020020220202002022002222200200000222022022202000020000220000200200000220220200202200222220220202000200020200020200200202020020002000022000200220222020222022002000022202202222222200220020 222200222020220220000202200000002020200202002202020200022002222022022000202022200202200020020202020020222200222200000220002200200000202220020202200222000222202000200020202022222000200022020200202220000220000222202202022020022200022002202020022200200000220002220200002222220200000220202222220020222000 202222202000020222222220000022000222022020200000020222020220222222220202002222002200020022002200020002020000220000220200002202202200220220202002020222222000220020202200222002020002020222220222202002020202202200200002202202200022220222002222222000020222022000002022222000022200002000000220200200002000 002020200202220222202020222220200222000002202022002200202202200220000222000202022002002200200000200202000200000220200020222222202202002222220000020222202222220002002222002222202222020000220222000200200220020020002022222002000002020220022000022220000022220222222000020000020220022002222202220022202022 022000200200000002022222200022220222022220000222202002020222200220020020000220002202022022002222200002002020202220022222000200222002200000002222202202000022000000000222022000020200020200000200000020020002200222220202022222000020022202200202000000220000200200022220200222002000202220002000002020020002 002022200002022002202002020220002020202222202220022022020202202200002200220022220202022202000220002002200020222222220020200222020200222020020022220200002022202022200200020002020200222200000020222202020000202022220222222222220200020202000202222220000202222220000200000202222222000222220220200220022202 000202200220020002222000002200220222022200000202202220202220022220002002022202022222220002002002002000202002020200202202002022202222020202020000020020220000202202202222200000002022200222220000020000022200202022002202022002020200002020022202022222202020000220022220202002200022202000202000200220202222 200022020220002222020000222002022022000020220000220200222022000202000002222200020222202022222000000202020002202202002000200222220002020222220020002200000220222222000222002022222002020200022002000222202220202020202020022200020222002200002222002202222000200020222222002222202000020200022022220020222220 202020020000222000022220200022200002220200000220000200002002202022202222022020220000220202000020222022222222000020220020200002222002200202002200000020200202020222020020020002222200022002220200200022002022220022222222002220220000222022020222202000200000000220002002000200022022200002202002002220000022 002022220022220220200020220020202022022220000020202002222000222222022002222200220020002222020020020220002200220202222222000202222220022002222220222022002222020222200000022002000220200220222000002022002020222202000020020200022000002200200222202202000020220220202220002222020000020200220200020200020022 022002202022220000202020220002020002200220222002002220222000022022200000020020022002020000220202202002000002020020222000022000220000200002020202020022022200020022022202022000020020022000200222222020000220202222200022000200202002020022002000202002202220022020022022220020220220200002202022222022002002 200200200020000002200222002202200020200202002220000022200200002020220222200000022200022002000000000002222222202220220220202022000002002222222020220202002222020200020020002220000022020022202002002202220020200222202222002200020222222202220200020202020002002202020002220220002000200200020020022000202202 020000022220222222220000200222202220220020222202220000200020200020220202200222200220020200200020202020222202220202020000200220220220000002000200222002002002000022202022202222222002020020220000000220002220022202220002000002002000202220000220000222020200020220020000200020222020002222220200200200022202 000202222222222002202202200200200002022020000202000200200002222002200020202020220020222200000000020000222222222202000002020002000020020000000000022000220220000200202202000200020002000202020022020200220202222202000020002002020002220222000202000022200000222222022020200222220002020202220202000020022000 020022002020000002220000000002220200000000000002020022200220020002220220022002020200220020000222020020020222200000222002022202020020222020020202202202220200222020022200222000220202202202000222200200220000222200200200022022000022022000202000222222022022220002020202202022202002000220200202022020022000 000002002002220220222002200000002000002002000222202220022222020202202200220002022002002202222002202200200220022022200020020022020020000220220002220002220022022222220200200022222020000020000000022002002020002220000220202000222200200000202002220020202002220200222002000220000000022220002222200002200002 222222002000202020002022022200022002200220202020002220000002000202020200002002020000002002020002220020222002020200000020000022000022022222002202020020202022222220022000022200222022002000220000220202202002000202200222200220222202002220222220200022222002220200202002020002022020020222000220202222022202 000220220020200000220202200222022222202000220202022220220000020202222222022202200202220002022002002202220200002000202022020002202222202220222022022222202222002220002020022022022022000022000202220022220220222202022222002202220022222020222002202200022002220022022020022002202000002220222222022002220000 200022200020202220222022202022002022202200000000000202000022202200020002022200000222020000222002002002002200220202002000000202222002000200220222202220020020002220222000002202200022220022020202002220222002200222022220002022000222222000000000000000202220000222000200022202000202200222022000220202202002 222002000022200202022222220202020000020000022022022200020220202200002220000222000200002202222220220002222022020222020200020020000020222020202022200020002200222002022200002220202022220022022020200020202020000020022200020000002222200022220022000222022020020020222222220222002202020020202222020002022220 202202022002000220022020200220220220020002202222202220222002202200222200020022022200020222202202202200200222000202000002222220202020000202002220200200222020002200022000200020202200220002202222020002000020002000002202202220202220002022222222020220000000022200202002022000202002202200022022002202020020 020022020000022202022200000200200022000220020022002022002200220002200200000222200202002000022202200022020022020200222220222200002000200200222000200200222022020022222222200002202200222022000000002000022000002220202020202002222020202000020020002022000200002002000200202222020222202200000222222220022220 002202000200002022222022222002022222220020202222222020022220220002222022022022200202000000202002000020202200202200000022022200200220002220020020002200022022220000200002202002002200200222002000220020200200022002202020000202020002002222002220200200200200222022000002002022220002202002002002220000022222 220002202020220002002200002020022220000220200222002022202220202202200222202220200222202202202022222020022200200220000022220000000220020022222222002022202022200202222020200022202220222200020022202222222020202200022002222000220002202022020000200222022220022200202002200020202222202000000000222200022002 002002020000020022000222202202200220000220220000022200020220200200022000000022022000222022022200020202220002002200200220202200002022220200020222020200202022022002220202000220000202222200020002202022022200222222222020200022222002222200022002222222000202020222022200220002000020000022020000202202002200 222202002222220222220220020000020022200220022220222202222202200220222220022222222020222000002202022200200222000000222220002002002222020200022220020020002002202200022222220000222200200202000202200202222202202202222200022200200020020220022202220000202020000020000000000220200020220000000002202000020022 022020020020020020202020220202022022200002022022002200002202220202002022002002202200000200202200220222220020200220222000022202222022022020202200222000020020220220202222000220002200000000202202002002022200222200022220002022020002000202000000002002022002020220022020000022200200000000000000202202020000 000022022000202020000020022222222002202202202000002000222020022002022020020222220202002000022200202222002000200222002220020202000022000002002202000002002002000222022200000202220020202222000220020000222200200222022000200200222222022220002020000202220222220202220002222022020002022220000022200202220002 220022002000220222000002200222202220200200020022222000220020200002022222202002220022000022200220202000220000020020020000220002220202220002002002220020002020000200022020002022220202020220022202022200000220222220002200222022000020020020020200200022200220222222220022002200000220000220000022022020222002 002002022000000200022220222020202022202022220000200022022220022222000200022000220020202200202222222020002000220222202002000020222220022020002020020222200020002002020022022200002200020020202202220202022020202020202022222202000202022002022002002022200202022000020202000022022022002222200220200222220200 202020020022222020220000000000220222220220202220222000220020220022002222200000200020020202202020002022000000002202200222022020002000202000222022202000020002020220222200200202022202222020022002202022022200020002220222002000220220202220022222002200200000222202202222020000222202220222220202222022222200 020200020022200020002202002000002220000202220200002202022200000200202220202200220022022020002200022000002202200000022222022222002022022220202022200220220200020022202202020000002022020000202200200000222020020220002000222200220200220000220220200020202000220020222022220020202000222020022000020220020000 002220022222020022200022200020022202000020000200202202220200020002000220000000000220020020002202002222022020200022022000020002220022020020222020002220000222200000020022022020022220220200202022202020200022022020220202000020020220020022220202200000220220002000020000200222020220000222020022220022220200 022022200000002020002022222000020220020020200022000020022002220200222202002022020002020202002002202020222002202202002020200020202022200220020200222002222222022200022022200222222220020000002220222000002002022200022020002000202222200200002202202000020200202000020002220002222200022020022202200200020220 000002022022200222002220020202222220002002222222022000220220200020220220222202220200202222220000000000202022000020000220220202202200022222200000220200222000200222020220202022200020022000000002200220000220222202000002022222022002020222202202220022220022200022222220022202022202000202022202002020020220 022202202022220220222220220000202200202002020000022202222020000002002000200002002000022200200220020022002020200202200200020022020202220202202220200002020200002220002000022200000000220220220022202000002000022202220202202202020002220000002202202220022202020022002200202000022022222002000202222202200222 022222202022022222000022020222020020022020022202000020002202220200020200220202022222020202222220022220200202022022200022022002222222002220200222222202200222020202002002222022202222000222222202020200022000222000222200202200000020202020200222220000002002002200002020220220220002022202000020000020220020 200220222000200002002002202022220220220222200000022200202222000022002202200000000002200022220000202000000002222200222000020200020000020202022220022002000000002022000002002200022000222220220220202220022022222200002222022222000020200022000000020002020202000222002022220020222002202220200020000022200220 202002222000222002000200000002222020202222222220020000202000000220202200202020220020020200022002222220222200222020222222202020220220220202022000020020022220000002220200200002000020220002002000222200220222002222200222000220002020022000220200200200222020220220022222020222220200022002022200022020220002 002200222222020222200020202222222200220222202022200222000020020022000000200020200000222002022000200000020022002202222002022020202002020000000022222222222202002222020202002020222000202222222020022220002000200220020202022022202202200020020000222220002202002002000222002200002020022222022202002002222022 200222020202220002000020000020202200000022022200000220020202202200202200022200000202200200022202222220220020202020000000202222022222020020000022202022020020222020220020022202000022220020002002202200000220222202022200200220222200220220000020202220202200222000022002020002022200202222022002222220220022 220022222000020220022222022220222000002022000222020202200200002022022200202000002000020200002002000000202002202222022200202022002202200222022202002222202022202020202020200222000220022220022000020020200200202200020222000200220020020020020220222022020222000002002220202220020222200020000202222002020022 202220022020000022220022222002000022220202220000200022022020002200002222222000022020020222002202200220220022000002002000220200002020000020220020220200020200202200000200220002020020202202020222022022002220020022202202000222222202022022020022202222002020002022022200022200222022022020222020222002202222 020020200220202002000000222002000002000202020022222000022002020002222020020020200222000022000220022000022220020002022002220002000002002002202202020222020202202022000202222220022220220222000002000002222200220222222200020020002222000000002002022202020020200220002022202200202220220220020202202002022200 202222220202022222002200022002200200222202000202222000020000200000202002022220220220000200022002020220000200022020020222020202220220222220000200002022222002202020222202002020000000200002022222202220022222220200222000202000202222222002202022002202202220020002202220002202222002022220020000002220200022 200200220202220022220022022222002220220002020000000002222020222200002022222220220220222222000200002022220200022220220200000002200202220222002002200002220222000020002002220022022202222200000220200000000202220002022202222000222200222020000222000002000222022202022220202022220002020220002222000220002002 000222022222020022220022220222002000222000022200020020002020222222020202002200020002202200022022200022200200200200222202200220002200020002220022220222220020220200222222000222220220020000220022222202202022020020022200000022200022022002020220000000000020200200202220022002200020000222200000022002222000 220200002000220220000002022202202200022200202000022202000002000002002000022002222000220200022222220202002202000202200002022200202000202000200220000000020200222000002200000020022202022000020020202020222202200022020022002002202220200202200220202202020222220222000000002002000022222200222002202020222220 020002000222022200202020022200220200020022202022222202022222022002022220222000202222200220202000220220222222000220022002202022020202000222222222200002020002202020002002002020022220200220020202020220222202222202222222020220020002200000020002222200222200002000220000002200000222020022022220220000002222 022002220022222200020222220202202020020220022220200020000200002220220222220000000022000002202022202022002022222022220220000002020200022000220020022200220000202002202020222220022202222000222202022220000220220020222220222222202202020220202220200002200000222020022220200000200022020000020200002220002000 202000202202222222022022000000220202202222000020000022022222020222020022020002000200220202200202202202200000200000000200000202202002022220222200002202220222222200200222022020222220222220020222000202020200020022020000222020202002002000202020202200220022202220222000000022000022220222220020002222200222 020202000222202222020220000022200000020200202220220200020002002000220222220222020222222202220020222222020002000020020220002220222200002220002020220220200220200020002200220202200220200200000002202020022022222220200222220000220022222222222000222002220020202020002002000020020020200222020220000002002022 022222200000202200000222220202020220020220222202022202000002202022220200000220200222200000220222220000220202002220202000020222202200020000200222200200020220002022202020002202222220200000022022222222222002202002202020200202202200220000222020000002200222222002220000220220000202220222220202002200002020 022200002022222222202000020202220200200000222200000222002202222222200000220000000022220020222022020020202002022000000002202200220222202200222222200200020000220002222222222202002002022000200200222220222020022000022222002002202222022202000020220020020002022000222202000000002200222020002022200000020222 200202202022000022002002200020000022202002022002000202202200002022022000200220000222220222002200020202220220000220202022002200020200222002202220222200202022202002222000022222200220220202002220200002000200000000202002200000222000220000022020220002022202000000022000202222200022020022202000002002002202 000200000002222002202022200202202002222002220200222220020222000222020020002222000200002220000002000202000002000222200200020002220202220222200020222220220202200200200020202000202200022020200220222222002202000002000200220222020000200002000200020000222202220202222202002022022202000000022222200220200022 000202000222000022202000020222000000002022220202002222222002220220222020020222222222002202002000000202020202220200200022022000200222022220002000000202200020000022002022220020200200222200020022022000000000002002022202022020002202020202202000000220002220200222202022200200002002002200220000200202222220 002202220002002220202222002002000020022020022220200220022000022002222220002020222000002022000200020022200022022222000222222220220200002000022222222022200000000220220202200002202002202022202220200020002222220020222022000002020220222002200222220202002202002222000200220200002222020202200022000202202002 222220202022202020200020220200222022220022020022202002202002220200020200002222000222002200202202220020022000020000002220220200202202222020002220220200002202222020000020222000222022020000002220200002020000200000222022200000202222002002220020002022002220022000202000220000222002202000000002222202202200 000002000000222222000222200222200000022022020202002202220000002020000022000202000200020022002022020200222002022222200202200002022200020202000222202222002002222222202200220220202200020000022222002000200202020002002000222222202002002200202020000022220200000220222000000200000002202222220222022220202020 022222002000020220222000002220000200222022202222200220020000202220202222020222000000022220022020000002002020220002222022200000202222002022222200200202200002202002002020200222002202000002000022022200022022220002200200022002220222000022000022202200222022220200220020002200202002220000200202220022222222 200222022020222000200002220000020220220222000222200022220202002002002020020200020200220222200002200200222020000000222202202000200220220200202220202222000000022022220022222200000222002022222200202002000200220000222000202000022222002220000202222002000002002020200220002002022020220222000202020020000022 000022002020200202022000022000000202002220220202002022222002202000022220020202022022000220202222202000200000002002200022202022002020000222022022002002202000200000000220220002002220202202222000020000200200002220002002020020020202202002202202020222000022000020002220220220000022020220220020220022202020 202220020020200222200020020002020222000200202000020200020000000202220020200222220022022020222022002002222020000220220002000222202022020200002202020002020002220022022002222200220002202000220022220020002220022020220220200200222222022220220000222220002000020002020220000202222020002200022202220200000000 202002000022200022200220020020220000200020002022220002220002002222022222220222222022020222200202022200000220220002020200002022200002002020002022200222222200000200220200200020020200022020000022220020020222222202002000220222000202002020202220020220022222000220022220220020020220022202000022020200220220 220200222200020222220000200022002000200220020002002002220000022202020202022020220202002022200220202202002222220020022200222202002222002200202200222000022200022000000022022020222002220002202202022202020022022202222202022222200002200202022002000200002200202022220200200020200020220202000000222020220222 002222222002020002202020220220000002022200200202020200202002022020002022220222002020022222002222202000202002202020200220002220000000222002200020220020202000020002200200022022020002200000000200220222222020222202002022002200022000200002220022022200020220200022002020202220000202002202022020000000000200 220222022000002202220000002200020022020000022022220000222022020002222022000202020220202200220200002022020002000022202202022202002000200220002220020222020220222202002020200022000200220002002020022222220220020002200222000200022000020022200222022222220022022222202020220222200200020202020220200020000022 220000020202022200000202222222220200202202000020200002202220220000002220020200020020002020200000022202022002020000202022022002002020202200200002222022002020000000002020220002022002220002020002222002020222000202020220000002022202000000022222002200220220002200200000002200222222000000002020002002022202 220020202020222222022000000022200020000220220200200200000220020222000202000020000220220220220222220202222000002022020022020000020020222220000000000002202022022002200220220200222202000200020002022222202200200002020202220002222020022022200000220220002022222020020000202022200020000000222222200200020002 022020222000022202002020220000220222000000200220000202022022222202222022022200220022222202022000002222000220200222020200002020022202220020200000022202022202222200200222002020222000020020202022220202222202220200002220200022202222202000002202000022220020000020020022020202200000000020022200222200000202 022202022000020020202000200002022202200020200200020000200222222000000202020220000022222002000222002220222220000002002220202022020020220020000222220222020000222200002022022222202020220002022002020220002220020020202002202022200220020020002220022200020220002000002020020020020200200002222000020202220002 222000000022202002200220222002202022202000202202220000222020202002022022000020002020022220200202202220000000022020222020000000200200002022022200000200222002220202220222002020200020022202002020002222002222020022022000200022000002000222020002202020202200020002000000000000020220220022220000220200002002 222200000020222000000020000022202200220022020022220200000020020020022000020022222202022002202200000200022000002022220202020202000022200200002000000000200022002202002022220222000002220000020002022022000200222200020000020000022200222220200000002222200022202202220002002220202000202200220020222000222000 020200022202022222222220220020202200200022200020202222202002202020202000022222002222202222000002200202022222000022022020220000000022222200002220000020022202202000022222202020000000220202220020200020002220202202020220222000002020202022202200220020000200000200222200000200022020200002200222022022002000 022020202222002202200002202000200220200220220220000222022222200020220022200200220022022200202222202022002222202202202020202020002000002200200222000220022220220202000220222002200000022000000022022200202000002202000220020020000200022002020020200220020222002002202022002000220200000020020000222200200020 202200002002022222020200222222020220222200022020022222022222202020222002000200020000220000222022222222220020220220220200202002202002000200220200020022002220222022202020200020020200202002220020000202220020002020222020200220022020202222202220202222020020200002200022002202020000222200022222000222200202 022020202002002202002202022222200200022020002020022002222202202022202002222220020222000000000022222222020022000002002002202222002222002222222022220000222002020222022002222020000202202020020222220022020000220220022200002002222222002222002222202222220022202000222222022002200022020020022202000222002000 220222000222000200022000202002220022222222200020022202222002000022200000222202202020002222222202200020220222020022202000002222202002222000200002222002022220202022220202000200200020202222220022022220022000020020002022002202202222220000200202002222200220020022000002222020200000200220202200020002200222 022222220202222020220222002200000222002220200220000022002202020020200200220202222020202000222020022222020220222020220002220200200022002000022020200020020222222222022200022220000002202220200020202020002022022000002202222002202200222020222202220022200200000002202022222200220200200200220222000202020220 202202200002002020000200202202202202022020222020202022000202000022000002202022002220000002202020220200220222022200002002002220200200020200002202020202000022002020000000222022220220022002222000222200222002220020000222222020220220222202220202000022000002202002220022000202022020202000000020022202202020 220200222020222000222022200020200200020200022020202002002200200200020222000002220200200220200200002202222020020002002020020022220020222002202220222202002022000202020202020222200002220222002022022222222202022000222000020222000022222202220002220202220020220202002022002022220000200200200202220220002002 202000000002222202020022000002220002220000022220200202200022022022020002002220002220200202002002220222020220000000220202222002002020202220000022020220222000000020002222000020002222222022022202222020002002022022002002202202000002022020200222022222020020200022220200222002002022022020202220020000022200 200220020002200022020222222020022000220202000200202202020220000000002200220000200202020020202202200020222002202000202200002222022020002220002002002202002202202202202202022000222220200002022020220220000222222222222022222020222022020202002202202020202202002200020200222222000022200022222022220022002202 220202022220000200022022222002002002020002000000002000220222222202022222202220200002222202202222202022002222022000022020222022222022222200020222220202002020022022202220202202000020000020020200202002222000020022220220020020002220220200220020022220002202002002020202222200220022002200020200220002200002 020000222200200222220020222000220200200000022220000002000020000000222002222022220022202200020022022022222220000222200000222002220200022200220222202002020200220020000220002000222220202200020000020202022000200020200202202000020020020002002002220202200222020222202220222222222002020200220202000202020200 202202200200222000222220222222202220000000200022202000020202222202020220200222220222222200002200000220000020200200222200202002022220000220022220222200002222020220222202220220002000000202202200202002222022022002020200202202000222200020200200000222020022002000220002002200002000200202022020222222022020 220200022022022002022222022202202200002020022202022220002200020220020222020222222002222002202002000002022200022200022020020002020020002202220202022202000220022002222002020022002022200222202200220002200202222002220200222000222222022002020202022022000220202002000000200000202000220022222222220002200002 200022000220222020222200000220220022222000220000022022202220222200020002202220020000022000220200020222220222202022000202220222200202000002220200202220022000200002202200200020000202000222020220222002200202202200200220222022220002202000200220000222022220202200220022200020002200002202000222200022200022 220202000020000200202022020220000220200022022020022000222200200200200002000022002000000000222002020002000000220002002022200020022202020022022220002202000020020000202000200002222202002200200002020020002200200020220222000002002000202200202020202002020002220020200000220200200202200220022002222200002022 000200020000020020200022002000022000000222202200020200200022022220222200022222220202022200200022000222200000022000222202200020202200222002002002220222002222222222000002002020222020222202202220202000202002020220002000002200222202000000022002200000200000000200020020202020220020202222200000020020222022 022220220000022020220022000220002022020000002000220020202002202002200020020000020222220020020220000202200202022222222202022222020200020002220002222222022220000000200002022202222202022222020222220220220002200000022220200020022022020000220202002002002022222022000202020020022020020222220002020000220222 220200200200020020002020002200022002020202022022020000200200020220202220200222222200222220000002022200000022002222000220020200020202000022002220220220022020220000002222022220022202000022220020200000220000020202020022200202202222022200000022220200002222200222222020222202020000222000002022200220222220 202002022220202222000002222202020200000222000220002220000002022220220022200222000220200020202022002002022002202002200002220022002220222020002002200000200020000202220000000002222002000002000220202000000022222022202022020022000022022022200000022000022002222020000022020220020200220222000202020002200022 200000222222220200000220222020022000200220200200000002220220020222022022200200202200220022000022002020022222002202022222220220222002200202220000200002202200222200202000200020220002222022002020000220022002000000022222000002020222020002202000000220200022200000000202000020000200000002202220022222222200 202020020000220000022200002000022020020222222020002200200002222000022002020220200202000022220000200222000022022220000022020222000202202020020220022000200000200002202000220020202220022022020022200202002000202000202220022202220022202022002022202002202020220202220222220220000002220222020002220022202000 200222002202200200000000202202200022222022202222222222002022202200222200222200200220200200000000022002200022220200002200002202202002022022000222200220000200000022222202000020220000022020200202222202022020020020222002220022200020020222200200202202222220202020020200222220002002000222222020022022020000 200220000022002202222220202220002200002202222222020220000020002022202000202000220002220222022022022202002022200020200000222022202000222022222202200200000002202200222022022222220022200020022222000200220202000220022020222200000000022020022020200000220020220020222220002202022020022202220000202200022000 220000202020022002020022200000222020002022222002000220202022202220002000020202020020220020022002002202022000002022222200220020020000022020002002222022200020200220002222220022222020200222202000202000002200200200202022000222200000020020220200020222020022022002222222002002200200202000000002000200002200 002002200020002220202200020200002020220022202220020002222200020222200000202002000200202200020220220222020222202020220020222022220200202020220002222202202020220200202200020202202222022022000200000022000020022020202000202220022020020202022000222200020002202020202220002222202022200202222022000200202000 000202020000000020002002000022020020202000022202020020022200202220200200002202020202200002020022200022200020200000002202000002220002000020000002200022222000020202000202002000002022222002202202200222022220022020020002220220222202200000022222222000202220200002202000020022000200220222020020002202002220 222022202002020200000020022020200222020220220222202022202220002002000220222022200020222000002202220200022022022200222000002200020202022222200222002000020002022202002002000200220022000220000202020200202202000022200002202020200202222220202202020002020020220200220220020200202202202022200002000000200022 220020200222222202220222002202020000000020002202222202022202220002222220202222022220002002022020022020222002202022020222202020200000002020202002002202220202022022200200222222222022202200220220000000020222222202200220000000020022222020222000000200220000200020200020202022002022222222202020200002002222 200000222000000020000020200222220202020222222222022002222220200222002200000222000220222020000222200000222022220022020220020020000220220222202220020202222222002002022002000220200002002000220022002222200002002200000002202200022202202202022202000202200220000000220202220022220022202022222202202020202020 022202200200000200220220020200202220020202202002220220220220200220020020200200202222002220220020022000022222200020002022002222002020020200222020202202020222022002020022020220222202220222220222000000202000000002220220000002020222022222220000200002000000000200020020020220002022022022202002020222020202 000200002222202000202220000202220002000022020222202020222220202022222200020202002202000220020000020220222202220202020220222222200020022022002222202202022202022020000020222002202022202000000022022020202020002202022022022000000202202020022220222202020220202220020002222020202020002220202022020202022200 000002222220202002200002222220002222002220222002000222000022202222000222022002002200200000222222202020020020022020202220220220222020022222200200000000020200022022000000200202200022222000202022000222200020222020002000222222222220200000200202020202220020000202002022000022020222022020220220020002202222 220200000002202200000202022002000200002220002002222002200022202222020200220020220200220220200222202222022220020020020202222200022020002000222020020220002202000022020220000002202202202002002202222020222022220000002020002220022000202200002002200020020002020220020022202220200020222200000022222000020202 020022200220202022200020202020002200020222220020202222222002200000220222222020200222222000220022202002020020222200220002020220002002220020220220200022020222200220222220202222200202002020002202220202200022200002222002002022200020222020200022000202222202220220222222000020000022000202202022002220020022 222002002200000022020022200200000002220222200000220000202020002220000002202022022002000222020222220022020020200222222200202222020000200002222200202002202022000022022222020200220002202022000002200020202202022022000022200002000200020020202000202202002000020000222002000002000022020202020022020002022020 000002022222200020202022020220202020002222202200002202000000200222222222002200202022220002000002000220000200020222220020200200020202200020200020200022202020200002000200222020020202022022020202222002020022222200002022000202222222000002002020200000020222022000022020222200200000200202200002000020200222 222000220220002200200222200202000222022002022222020000020222000020220200022200220002020002020000200200202202220000202022220022022002200222002000222002200222220002200220022222000022202202220020020002222220220002200020002202220220020222200200200202202020000222220222200222202202200220220020220200002002 002020202200000200220200222200222002020202022220200020020022222022222022200222020002200022020200222222022002002220200020202000200000020002202002202020202200202020000020002222202222220222202200002200202202002020002220222020022020222002222220220220000200220022202222222202200222202000022000200220020220 002220020222200020002202000202200222202020222202022000220020022200022202222222022200222220000220222022020220222000020020022020200002222220220222020200020220220220220202022220200022220202022002020020200002202002000222220200222002020200200020220202222002022200200002020200002002222000000220022002222022 200220000220200220220222002022002222020202222022202220022222220200020200200002202202000002220002220202202022220200202022222202022220202202002020020202002202020020222000202200000220222220002200200200200202220202202202200220000202202020202020220222202202202002002002220200200202022202020002002220022020 222220220222202200222020000220002020220022022220000222000000202002022000002000200000220020020002000220220020002020222202020222000220222020202020002202200222220220020202020220022020222020002002022220220220000020220200002220002202202200020020000202000202222220002200002020002202020222200220222022020222 222022200222002222002220222220002002000220000222222000200202000002022022200220220000002220220202222022022202002002222002020020200002020002202222202202020002022200222000000020222202222002222020220022000000220000220200000222002200000222202022020022202220202002202200222200002222222002022000220200000202 022220222202200202000022022002200022200202020022002222020002202220020200020202020022200002202202220222022200022022222222200000002202002002022002222020222022022000002000002200022022022022202200002022002020222200022220002020200220220202020220020202200020020222002020022002220220220002220000222002002000 020022002022222200002200200000020020222020002222220002202220022022200222022020020200022200222020022222002200002020222200020002222200220000220000002202000220022022202200220020200002020222202002202022022022002200020200020222022002200020220000020000202000202020002020202200002022000020200002002200020000 200202220002022022222202022020022000200202222220000222222200002202202202020220022200220000200002222020000002000002202222220202002200200202202020202020022200000000200202002000000020000220002200220020222020022222222002220222002220020002220000020200200000200000222222002202022202002222000002222220022202 202200200002202002202222222220220000200000220202000200220002222020200020220000202202022200200000200000200022020022000022020220002202000222202222000222022022022222220002020000200200002022020020200020020022220220000202202000200022000000000202222022222202022022002202222220000002200000222222220022220222 002202202202222022222020022022022022220202020022000220222002020222000002000220002000200020200000222202200000220200220020020002000200002022002222200222202002000002200000220000020002000020202220020202222220202200200202022000020200222200020200002000222022222022200200002222000020000002202000022002022002 200020222202000222202202002000002200002000220202220020020000002220022020222000200022000200220022000022000200220200022022200222202002022200202022020222020002222220222000000022022202022020000202000020202222020020202002200022020222020220222022202222000202202200002000222000202020022222200002220020000220 222000202022222222220220020000220222222222220202220220220002020020020000002220020000002002000000000202020200200022000220200022220020002200002222200002200222022000000022222220220000200000002222222220200002220202000202222202202220000202220202000220002202002222022200202220002220000020002020220222202000 022202020000022022202002002222000002002000220222020220002022020002022200002000202022000222020002000020222022202220200022022000002222202000222200020222222022222002000220222022020202020000222220200000200000022222020020000002022222002202000202220020000020222200202022222220202000020200200202200222222002 000202220020200022022222220200202000222020200002022202220220220200222222222020000220220202000000222202222022200022220200222002202220002222022200022000200222020202222200200222200222000002002022220200022220002200022000020022022002002000022022002020220202000000200200022202200222002022000220220002020202 222202220000022222022220002020002002000220002020222000202222022220020020220020002202200200022222222002222222022000022202000200200000002200202200202200022002202222220220220020200220220020200002220020220022002202022000002022020202022220022222202002220000222000020002202000020020000020002202020222202020 022202020202200202222002200202000022220020220020020000022222220002200002022202202202200000020202200222022200020002022000000222220220200200022000020222000220202020022220220200020200220220202202222220220202220222022002202222022200020022000202200202002000020020022220000000220022202002000200020202202020 002022002002022200000222020200220022222002200200202000002000020020000000000022222022200200200220002220022202200220202002022022202002222020200020022002202222220220200020022220222020220200000202200202200000220202020222000222022022022220222202220022022222200202022022202202202002020020222002222002022000 022022020222022020000222002002022020200202220202202202222002222000000020022022022200202222220000002020220222202202220022200220002202020200000220200200000220222200200022200200202220200202222020002002022022202022220222002202002200022002022020202222022020022000002020222200002202222022222200200022002002 222220202202220222222202202002002200222222000202022220220002020020220022022000200200222200200020202222022200000222220000002202002200002202222022220220200202000000022200020020000220020222200202222000200000000220202000020220200200002200202002200002220220020202002200022220022220222220202020022020002220 200022020022220000000222200200222202202020220200222222020200002202020020022202002020022202220202222222002202220200202002022002200000200202020002020020202000020200200200222000220222202220222222220002220000020020202022000202222002220200200022202022222020220220202220002000020002022020222200222002002000 202222202202200022202020002020020200020022000000220222222202020002022220002000020000002220022202200002222020220000002202202022000200020020220220002220200222022000022200000002202002020222002002222200022020200222020022002020000022000000200022220202022000020022000022002002020220222022222220002000202002 220202222022222020020222220000220020200220220020020022200220022002202022022002202200202200022202202020000222002020020022002000022222202200022202020022220222000022202020200220000000222000200220000000002020022002202022020202002022202220022000200220222222002022200202022222220220222200222002000020220200 020002000222022000220200222022020000202022002002200000222200020220202222022220202222202000220002202022020222220220022200200000002022000202020022222022000222000200000000022022000000002222220002000002222202020220000022200002222220222202202002000000022200020022222200202002220022220000220020222020002002 220002202222000200002222202002000202020022022002020220220020222220020020020220200020020220022000002020000220002000202000000000022002022222200000022002020020222220220222022020200022222200200220200202220220222022222002020200000000022222200202000202200202022000220000002220002220002202022000202222220000 222220022020202222220020002202222002222202202000002000222202020022202202022002200222000020220020200000202002220020200202220000020000022222000002222002222222020022020222002002222202000220220002220020202000022200000020020220200200202200000022202002020000020202022002202222200220020020020000220202022020 000022220002220222002202022020000200200002202202202002020202200020222000200022222202200002220202220002200202022002222202220000202020022000022022200220020202022200222222222022220200202222022202220022222002002222220202220220000202222022200000002202200200200220002200000020022220000022020220020022222022 220202222000200202002200220002200000222022202022000002000220202022020000202222002200002000200000222020222220222020220002200022222022000002222000200220202202022020022020222220022002200222202220022200020200222000222002000000020202000002020020202020220000202000200022020022200222002002202000202000220200 222200222022222220202200002020000022222200202002002222200022002222020202022222220000220222022220002000002202202220000220220202022002200002200220000222220220002202220200002220020000020220020020000202002022022202220200202222222220002202020022022200020220020022220020002002220200022020022020202200022022 020000202020000202200020202202220000000220000202002202220200002020220220220200000000020220222222220000220220020200022202222020220220002000002022202220202020220200000202000002200022000222200020000220022220000222202022002222020222022022222222200200002020002222200020022022222202200202220002022022020220 200222220002222202000200202022200202202000022020002022002202220202220002200020002020222002220200002222200202022022222220000002222000222002022222220000020202220222002000022200000200222222222000222022020000202000200022002202000222200000202002202200022000002002000000020020220002020002020002222020000002 202200020202020222020220002000200002002000020220020002020002222020002022200220022022020202200020002220020220202200202202002002220002000202222002000022020220202202022000222000000002020022022202022222202220002202022200200020220220222000202022202220220000020222002200020200200220000202002020002220222000 022220002222020022020220200222202200220222022022022000002222020002002000002220200022000022200222002220022222020000220222000022000000020222000000222022222200200202202222000202022222022020000022020202002222022020022200020222022000222200220222000222002022222002022000022222020020222002220002002222000002 222020022200000020002020002202202000022200200222222002020020200000200200200000020002200202022020002202020002220022202220202222220002220020222222020220022222000022002002220220200202202020002000020200022220002202220200220202022000200200000222022000220020220000002002200202222022002002000002002002220022 202002202200002020220002220020202002202020002002000022202020222220200002202222000022200000002020000202020020220002020200220222200020020202200000222002202020000220202000020220022220222200202222000200022220020002002002222000020002222222002202200002222022002000000220222020022002000202220020200002202222 220220002022000200022000022202002000202002020222220002200020220000022220022020022222220222020200200222020020022020022000000002000002202000202202002200202222222200022000020220200200222022020022022022022202222202022202222000000000222000202222020200002202222222002020220000202202020000000202022002202022 002200020002200000202022202220000002222002000200202200202220000002022020000222020220020200000220222022020220200000000222220220000202220020002000220220000020022222220200222002000020022022020200220022222000000022202000000002002202002202202222200200200020022002000002222222002222000022202020020222020002 020020020020200020222202020022020220022200222000220202020022020022220000202200220200000220222202202000020022022202222022020200220200222222220222022202002200200200202222020002020002022022020000200020000202202222202000220020202222000222220002002000022200222022000002200220022202022002222202002002200020 202020002020222202000020220222022022222202200222002002202222000000202002022202202020220202020220022002022022002000222222220002002222222022020002000022022222222202220022202222002200202222222200020220000002020202220200022200002020222022202002020020020222022000002202000200022020020220002200022000202220 022000000202000022222000202202220222020202020022220200000202202200022022022022000000022220220020222202220020022020222022222222220022022220020002022222202020020200202020020022000220200022202202200222000200020220200200002000202222200000220022002020202220200220220222002222200200220200220022022022000202 200222020022002000002202202020022202000202022220000200020222020000222200000000000000022200002200220020022022022220020022000222022020222222222202000200202202222000002020222000222202022222002200022202200022022222022022200000220020222000202002022202020002220220000220000000002000022000200002220002022222 020220202002000200222222200022002002020022200220022000200020222002022002002022000202002002202200202220200200022200220002222002022220022020022220202222200002222220222020220022200200220000020222222202220200202002020220222202202022002202002022222022222002202200000202022220222200220002200002020200222020 200202002200000200022222220200222200020202002202022020022020222222222220000220220202200222020222200022002022022200222200022000002002020000220020002002022022020222200202020020020202220202222020202202222222200200022202222020022022202200020022220200000222002222200002002022200200022220020000002222022222 220200022020000220022220220000002022222222000020202220020022020020222020000002020002022200202202200220020202222200000002200020200000022022222200200200220002222022222022200022020200220222000000020202022200220002002000002222220202220200020002000220200222220202200022202020020020022000020022022220220202 000202022222020002002200020020020002220200202022020202202200222222220022200000002020200200002220020002022020200022222020202000220020202022220020222022222000022220002000020202220202202220222022020200000202022200022222002022020020002002202020002000220002000020202022022200202002220000000200222022000202 220220202200000002022022002002020000000200220002220022220220200002222200202000000220200202002022020220222022220020222222200200220200202200002220202200020022220022200022200200022222022022022222022000200022202222220202020200022202200000202202200020200000202222220200202202220002022200222220200002220020 202020222222220000022222200002200200002200202000200200200020220002000220202202022200200002020022000200020002002000020220220000000222020222022222022222020022022020222020222020020022202022220220020202222202022222002020202000000020202002220000002200002202200220002002020020222202002020020020222022002202 022002202202022220002002222202000200202220202000220000000222020200222220022002202002020002200202000202200000000022200000222022022222002222020222000220022222200222200020200002202022200220000022000200200002200200002222202020000002220220022000002002002200222000000220202022020220022200220000000022022222 022002022202220220000200222222200220002202220020222020202200002000022020020002020020000202020020002002220200002000202020020222002002022022000000022200002202200200200220220220202022022002002202202002220200000202022000000022022000002220222200002222220020220220002222202002022000020200200220200000200002 000222202020020022222002222022200000200220020222020222222022220022220220002200200222022222000002022002220020020000020200222222202200002222202200022020222022222002202020022000000022000202020020000022222222020020220220000022220222220002022000022020222002002000220202020202020220200022000200220200200222 202200222200220000020022000202222200002220022222022022002022002220200002222002002002222220022202220020222020202220020022000220000220020002002222222020022000002000022020202200220020220220200220020222220202000020020200200202222202200022222002020020202202200220002200000222002222200002002000200200020202 000020200200222220200022202222202200202202020000002202020002202222220002222000200200020000222020202000220202220000222220020002022000000020020020022222200222020202202222022020202000020000022220020222200022222002002200202200020020002222002020200022220200202020222002022022222202222000220002220220200220 002000022222220020022222202222022202202002002200202222002022000020222222200002002022022222020020022002200022022220222222222002000020202002002220222002022000022002022020222022202200022220200002222222020000022022000000220020002022220000020020002202202002002022222220222000022000202020220000022002002020 200202202000022222020222200022220022220022022020200000200202202022222002020022000202200200022200022022220002000200022020020020000002202200020220200222020202022202000020222000022020022222020000202022022220222200020202022002200022200202200202020222022020200022200222022000200222020000000000002200002220 222220000020020022020222002022002222002200020202020200022200020220222200000220002000022200200222002002000000000000022002222022020220002002222220220220200202200222000022020002020220222020000220022200000020022022020000000200222200202000000202022002022020000200200220022002020200022002202202200000000020 222002222000220202002022220200200220222000000220202220222002022022022220202202020220202220000022222202200020002000000222020222202022222202022020002022222022000220002222022222000202020002202222220200020200020020200002020020200020200222202200022020202020222022002222022222022000020200002202200002002222 222222000222022200222222200222222022200220202020022222202022202020002022000202200222200002222002222202000200222020200220202200002202220220022222202220002222002020220202220022002020002200200220202022202002200202020020002022222200220002220222022200000200200020002200202222200202002022222200020200202202 022002222202002220202020002200200220220202200220002022200202022000220200222020022222000020200202002222000200202020000202222220000220222000202220022000222002222022022202000200200020222222002222002022002220002022220002002000200020200002200020200020020200000202022022220022000022022000200000020220000202 220022222222200220200200222200002222200000222200220222002000022222022200200222002222000020200022000222000002000022002222222022022022200222222000020222220022000000020000020202222200222220202222000020200220222202202222222222020202202202022002020200220020220202002202220222022000220022002220022222202222 200000000002002200220222222202220022002020200020000000000200222220220202220002200220002222022220000202222202000022000202002020000002000200222222202202220220200002002222022222222000002020222022000202200000202220220202000022002202000020020022002200020202222002222200200202222220000020222000200000022020 022000022202020222020022022020202202020000220220222202022020000020220020022202022022022222022000000200002000020202202022202000022022202220220022200202200200202000020000220220022202200220202220200022020022002000220022020202000000222202202002022000022200000000200000022022020000002000002002200220222020 202220000002200002020200220020222020022020200202020202000200222000222020002022022022022220200220202200022222022220000000022002000222220002002000002200220022022202020200020220220000020000222002220020202222200220200020002220220202202020020022200200202002000000022000000200000020222200202002220202202000 200000020020200220020022020200000000202202222022200220200222020200002202202022020200222022200200020002202200222202002020220022022222222220220000222002200200220022202220022020200020020222000002000220202020022000022200200202222020202222002220222220200022220022002000022220020222020020222222020200020022 200000000020220022000020222202222202220000022222000002222202222200020200220220022020002002222222220020000220202202220020020220202022220222020220022002202200000202202002002220002020200022200022000022220202220000200200020022020200002002000202020022220222022220022202202020202202200222000202002002022002 222002002222200002002222202020220000220020202020220020020202000202022000002202222020220002000202022222220202222000022200200200222022202002000002200022202002002222020222200220222000022202020020200022222020220202222000222220200020022022202020220020000222222002220200020222022022022220000200022220000220 022200000002002200222202002222002222222022020020000020020202022202022020202200002220202222200220020000220220202202000002000202220222222000222022202200200000220202022022202200200000020022202200200202202222222202220202200202220020000020022200002222220222202220220222020022000222002200022002200220202200 202220002022220002200202022000022000020220202020220222022200200022202022000002022022222020222220220022022200002000000222222220222002200022222002220220022222020200202002000020022022002200220222222002002020002200220000002222002022020022002220222000220020222002200000020222020002002002020220200220022022 202002022000222202200200222022222020002000220202222000222202002020020202220222222020020020022202000022222022220202200020000000022202200222202200202220002002022202022222220002002022220220000020020200222022022022222002000002000220202200002202222000020020200002220222222202002020020020022220200022202222 000000220202202022220220222020022022220222020002000220202000220000002020202222020002200200222022022202022000222002002200000000022002022000202020222022200020200200202220000020002220202020000022022222022022222220000022202200202022020200200222002222000022000000200022002020000002220220220022022222000020 200200220022202222202020200000220222000000222020220022002022222220000000202022002002202202200202222200000002220202220020220222020002200020022222000222200022202022022002002220020222000020220000000002020022202220002222220022002200222220202222200002222202202220022200002020020202202200220022002000220220 200002020022020202220222200222000202020022202022002222022222002020020202022022002220000200200000220202222200000000200000200002220022220200220222020022222200022202220202200220002002022200020000000020000022222022200002022020002220020200020202202020020020002002000002000020020002000022002000200200222020 202222202002000222002220220220202202002220020220202022200220002222202020200220222222202220002200200202202000200200020020000222000002222000222200202202020220022222220202200202200202220200202000222000000200002000200220222020222222002222220022022222022222020222002000202022020222022202222020202020200002 220200222000020020220200202202222222202020002202022222222000222200000202220022002020020000000002002002002220020002222220200220002000022002220000002020200002222000220220220020220200020200222000002200220200022000020000222202000020220000200202222020220200002220220000200200220000020200222220222022200200 002022000222200200000220202002000202022222000222020022002222202222002022220202200000202222220220002002220002200200220000202002002220222220020202222222200202200020200220000200000200220020022202200220202020220220220002200020200002000020222020000222222220022000220022200222220220202220002002202202022022 000202200020222022200220222222002222200002020202000200022202002220022200000220220220020222000222022200022222220002000222222022020220002200200020200020220220200200200020000202022000202020222000200020022200202022002220000002222222000220202200020202200000022222200200222200000002000022220202002020000202 220000220202020022000000220000022222200200000022200220220220000020202202202020022200000200222020200022020000022020002022002022200220222220200022022000002220220002000200200220222022200222200222002222022220222002202002200202022022020020002022000000020000202222220000022022202220200000020000202220022202 200002022002000200022220002200002202000222220202020202220222200000202002222020202200222222002200020002022202022222020202022022000200020220222002020202220000002220222020222220222022000022002020022200222200200220000222022002002222002020002020022220220022202000222020222022202202200222222202202002222020 020020222200002022200220200000022020002002020220222222002202220220022200000220000202222220222022222000000002220022222202202200202222020222222022000002220020020220020020202002020022020220020002022002200222202200222200020022202002200002220020000202202220220200200202222222020200022020222000002020202200 000222020222202002000000222002022000000022000202020200022002020002020000200022220200220020002200222020200022002220200002022020020220000220002022202222020220022022020220222220002000222200220022202020000002202002222000200200002000020020202020020220202202222200202220222200002200220222220202002222220022 200202220222220020202022200200200000022220000220022000022220022200000022200222000002000020022020020020200000022200200222002202000220200000000220020202220200000200220000220202202020220222202220202222222022022202220000202022000222220002220220200220222020200002220022000000202000222202020222000020002020 200020020200020002220002222220222020202000022020002202200020002002000220022222002022200022200222222022000022002222200222022222222000000202200000222022000020002202022020000220020200220202020020022222002202222200222202000022220022220000200000000222022220022202220020220202222022000002000022000200222020 220020022002202022220202222022022202000000000200000020222020202222202020200020022022022022200022000020202202000220222002200202222022202222022222200202022200022202002200000202002020222000222020220002002200200202022022000220202222222200220002202000020000200022220000200220220200020220000220000200222220 020022020200222002200220220220002220200020202202222220200220220022002022202000020200220220220020222202020000200002220000222222220220220222220222022002222020000002200022020222202220200222220020222020202222200022222202002000200022200002002202002002202200000000202020020220022000202220020202200022000202 002020002000022022200202002202002020022222200000200002202220000202002202220202000002000000220002000220222022222202220000002020220200000200222022002002220020220202022200222022220200202000020222220220000022022222000000220020020222020002220220020202020220002220002202002000202222202020200220002200020220 200020220220002200000200022220202022220220000200020002000022022022022222020202002200202200002022022002022020202000000220222020200202222220002220022020022000222022000020020200222000002222022000022000000020002222020022022002200220222000222020222000000020020200220202222220020020000200200022000000222220 002222022020222222220000202020220200002000002202200202200200000220202020222020022000020020020000022002200202002022020022220002220200222202000002000000022222220000020002020000222200022022022220002020022000200200220022022002222200002200022000022000222200220022002000200000200022022000202200002220200022 202002220020020222000020220002022022202222200002220200020222020220000000000000202022002202202200220222020202222220220022202022022220022220202200020220200022020222220000220020200222000200200202200000022200000022002022002222022200220000220222002220220200222022220222022002202202222202202200202022020220 002022022000000000002200020220222220200222000020202002000000202000202202022002000220200202222220020200022000020202202220002002002002222020200022200200202200022222202020220002220022020200000200202202022202202202000020220202200222002222220222222020022220220222000202022000000200022200200200000022222022 222222222000220022200220002002002020200002002002222000202220000022022220220200202222002202000220000220222000220222000000200200202220022220022002200020000020220002022222000002222020022020200222200202222222022020022222220022220002020002222022222220202222220222002002220202222002222202022000022000220200 202220200022022220022020020222220202222202020202220200002220220000000022200002020202202200022202020220222202220020202002000022020202222002020202222220222020220002000020000222000020000020002202222022000220200200200002022200220022000220220022202020020000002200220220002020202002000022002000022202002220 220200000002202002200222000002200222002002000200020000002222000220022000022200222020200222200200220022220202200202220022202020200202200000222000022200220022200020220202000200222022222002200000222022220222222222202002022000020002000200202220202002002200202002020020000020200202002020222000002222020200 202020002222000000002220220020002000222220222020020200020220020000020002000200022020222222020022220200220200200002202222002022000200022002200020020020002202200202002002202200200000220020022220022220020020202200020200222200200220220222220200020000022020200220200200022202002200000002220220022000200000 022000002220222022202020002000200002020222220220002020022002220200222020020022022022220020202022020220022222200202002220020002220220000222022002020020202220000000220022220002000222002002222200222220200222220220002202220220200022222202220022202022020002200002200022222222202000002200020020202002220220 202000220002202220002200020002002022002020200020022020022000000020202020000202020202022000000020000200222000220020022000220002022000022000220022000022000200022200222222002200220220022200220000000202002220220022200020002000200220002000020222020202202002022000020000020200202220222220220020220002222222 222220002020020002200200020000200020222220200022202220002002000202022022000022200202000202200222200202020022202000020200022202222222222222000220222002002022000220000200022000222002220002222000022002220202202022222200000000220000002202000222000000222222200200220002222002220002020020202202222002022220 002002222000200220200220220000220002222222200202202220220020200002202022002200200000002000202000222020020220020220202222020002200000020222002202020202000202220200200222022020020020220002202022200202000200200002222022220200020022222000220222022020020002222002222200000002220022000022202222200200200220 020020220022202200220000222022002222020020202200222220222222022022020200002022202020000222200202202202220222022002200202022200222000022002202202000022220220000200020020022000000202222020000022220222000000202220200200000220000200000200222202020020200020000202022222000022202200202022002002220020200222 000220220022002020020022222200020200222000000022020200022220000000202220222222202220202220200200200000220222200022200200000000002200002022202202020200222022020220020220020222202000202020000000220202000200202020000202222022200002222202202200222000002020002220020200020002022022220022002200000022200022 202022020000020200202002220220000200020022222020220022022200200220002000202022002202022202200022022202002202000000200000022002002222000220200222022020222222022000220220020020200220020002002000202000000002220220220200000020020222222200200022200220202020002022020202222022002002202200020020020220022220 222022200020022202222220222220222020020220202202002200000020000020022222022000200222002020020200022202022000022220020022222202220220020022022022022020000222220000220220000000222002200022002220202022202000022020220200020222002220222022002020000222020020222220220000002222002022220200000220222220022220 200222000222202022200220202022000220022220022002022222200220202022002002202000200220022022002000000020200200000020220222200022222222020022202000000200000022002002202202200222020020022222002220202022020202222022002022200222200022020220020222022220020200022222202000200222020000220000000200022002200200 000222020202002020022000002000002000022000002220222200220200022022220022000002000220200002002002202022222222002202200020220000200200202020002202220000020222020022022200022220222022000020222022000000020202220020222020000222202222222022220202022020200202220220222002220200022202002202000000220202220202 000000202200202200002000022002002202202022000022022002220002220022002200022022022220020020022000222022022002020022000000220200220022220020220202202222222200002000000200020202002000202200220000002022002220020000222022002222202022022020222222200202200000020220000222022202220000202022222020000202222022 222200000202220202222002022002202220000222000222000220002022002020200200202222000022020202020200200202022202220200002202200000022200020220002202202222222000222002022020002002000222200002000000200220022020000220022022220022002002022202022000202222022022022222200202002200202000222002222020222200000200 020220202022200002202002020202222220022022220000222202220222202000002200002200020020202200202200002200002020002020200020220220202220200022220020000000200000000200022202002220020022022202220020000222020200000002000020202200202200002000222002222022202202020020020020200020202202020222222220222222200222 222022002202002202020020202220222200222202222200022022022220000220000220002202002020222020002202000220200020200022000000220202022202000022220002020202022022200022000000002222000200002000020020202222202202022022002020000222202002020202200020000222202020020220220022000200020020222222220220000020020220 202200220000220202002020022000202002002000000002222000020222220020000220002220002222002020220002202220202000022222020002222222000022020022202220220200222020220020220202020020002202220222202200002000022222222022202220200022220222020222202002002022222200202022000002202002200002022000200002022020200022 202020020020020222220002002200200200022200220200222220222202202200000222200020222000020200220202020220022002022022020020020202200222022222222220202220202220220222002020020200220002022020220022020220220222202020220020002202002002222202000220000022222020220200202022020022000002202222200020020002022220 222200222202202222200200202202002200000200202022202220202220202202202020220222022220022202200200020200020022022220002002000000002200220200002200020200200222202002222222020202202022002020202220022000020020022202020002202002220220202020220200002200002222200222002202222202000220202002200022200002022202 220202020000022202220020202202000222200222200002002020020220002220022002020220002202222200222000202222000000202222200202000000220200022202000002022220200000000222220022200020020202222220200020200200000000202022000022002220220022002220222020222200222200202222002002002200200202022020200000022200220202 002200022020222020200000200002022020202002002202222002002002220000200022000000022220200020022222020000022220002222022222200202202222022222020202202000200002020200000202200022222002020022002202002002200222200022202020022022002202222202202022202222200202220200000002002022000000222220200002000000222022 000022000002000020222200200022202202200220220222020000022022222020200220022220000222220000200000022220222220200220022000002000220002020020022202202222222020000002220000200020000222200002022020200002200220220222200222002020020022000002222022020202000220000022202200022002222222000002002022220022222222 200020022220202220202222202222220220222002200000202020000022220220002002202022222200222202202220000202200022022202000222022222020220222022020002222020022002022020200222020202000002000220020020202002002222002200220000202020002022200222022002220200000000220202200020202200020220220000202222020002020002 202220222020202200002222220200002020222202020000200000000000202220202022202000000222202000000222202222202000000022200000200202200220002022202002200220222000022222002200200020002222202002000202000220000222022020002020000000222022022022022202022020202202002022020002000020202020222220220200222202002002 000002222222020002200000222220222220002202020022002020022020202222020220002020000002020222200220000202022002220002022202022202200202000002220020200222000020222200022020020022220200222200202200020022202022222000002220200002020000022222202020222002002022022202200000222020200000220222002222200200000022 200022020000022020202220022022200002000202020202020220002220200022002222000022002000022202220200000022000002022220202220020000220200000202020220222200022220000202220002222000202222200222202222022002020002000020020200222200202022220200020000000022220200220202222000022002202022002222220202202020200020 220220222000002220022000202202220022020000220000000022000200222200020020200002022202222222200222022022202220020002222002022022000222220022020000220000200202220200220202020020000222220202022000022200000020022000002200220222000020220220200222002200202000000022202000000220022000000200020022000020200002 222220022022200202200200022222020022020200002022220220202220022222002202200002002022220200200202000222000020222220202200202220202220220020022002020000222202020200222020222002200200022022000200022220020002222220220220022020222200202002022022222020220200022220022200222202222020202020220020002220220020 002020022220220220022202200000020222200202000002220022202202022020220022022202022002000220020220020000220200200202222002020000020022022002202202220222222002200022002002220202202022000222220002202222020200200002222220002220022022222222222000000002000200200202020022222022000000020200202022000020202220 220222000222220020220002022022002000220202200002000022002220200000002000202220202020222022002020222000200222022202202220220220022202002020222220000200000000222202200002000200220200002000222202220202220200202002200002200220202202220202020200002000202020222202200200200222222022202200022022022022220002 020002000000022020220200222222200222000220002000222022222022022202000222200222200020202220200220222202220200020222000000202202202220002022202000000000022002002002202202222020020222202022202202222000022002220202020200220200002222222220222200000000002022222020222022220220222222222220022200200222202202 002022202220222022202020220020202200202000002022220222022020222000200022202022220002222200000020020202200000222020202000202022220220022220220022020222222000222222222000202222222222222020220002200220222000200220022020202200220222200020220220200002222200022020002020220200020220202002002000202200020220 002200022200202002002022200002202200222200002202202220020022220020022202022200000020020000222020202002020002022022200202202020020220022222222022022000200200022002222222022222022022200002000220000020202002002200222020022022002000022002002202200220020002220220220020220222200200222000222000220020000000 202202220000020222220222222220022022020222000222200202022200002202222202022000220202022000202200022022200222222220000222000002222002222000000022022202020222020020002220022002200202020222000222222022202020202222022020222222022020222000220200022020202222220222220022220020000022002020220202020000000220 022220002200020022022200222200202002022022202002200002200200002022000200000202220000022000202202022020222020020220200022200202000020002022200200220202222200202002200020000002022200202020000200222220202000000020002002202000222020022022002000202222022202020020222002000002000200020020000002000022000222 020220020020020022220022202000220000200200002020000022002000220000020200022002002220022000220020020220022002022222000200000020022000222202220002220202000200020002020022020002002222222222202022220002002220222020002222200020222200022022022022002200202022022222202000022022202200200002000220220222000200 022222002002220000220020202022000200022002200020000222020022200000022222222222222202000222200022202220002022202002200020022200202002022000022022220002202020000000202020222220222220020020002220200202002222000222200022202222002000000200222000020020200020202220220222220200020202020002220222002200022020 002222000202020000220020020202220202020222220220002220222222000002220000220022200020020220220200000000200022002020220202000020222020000202002020022022200220020202200200200220222002000002000200022002002200002220220020002220200002002002002202200022202022222000000202020222202022000202202200020222002220 022202220202002200222002000020222022220222022222002002000202000222020000000020200222222220002202022020022202022002002220020022002020220220220020222220002020002222202202220022200220220022020022002200222002202222200002202022022220002002220020220020202200000200002222022202202200022202202200020020220000 000002222002002200020022222222022220022222000202020202022000020202022220220222020022202222022022202202000020200002002222200000000220000222002022202222020000020000022020000000220202000000020220000200222000020020020002202022222202022022220202002202002222220020002202200222000220220222002220020000222202 222002022022002202200022022200220202202220022002020222202020222022000022000202202202202200020022222022020000222002022022022000222220000000222002020200222022002222020220000222200202200022020002000202002002200002000202200002002002020000020220002202200222220000222222200220220000000022020002020002202000 020202220002000200002220220002000000020202002220022000022200222002020020222202200020000220002202022002220202000002022222222200002220022022022020222220220022200002002002200222200200222220002220200202202220022222220020022200020020002220202000222022002202200202002222020000202220200020202202020020022000 202022200222202000002220222002020020002200000000020202220000022000002220022000000022202020200020002200222022220222220020222202002022002200002022000000200000200220222220220002200220000200002000002002200200000220000000020200022222002020002202200022222200000222022022000020202220000220220222022002002220 000000222200002202202022202002202000002002002000002220002202220220200220002000222202020222220222222222200202220200222222222002022220220020020220220220220202020200202020020002222020020022002222002000202022020022022002002222202202002200200000220202200200022220002000020020020202002200022220220200200202 000022200222002222222202002022022020002200002220000222020020222022202022222222022020022020200220020222220002202222222222222202002020222222220020022202020222220220000000022002002002022222022200020220022020020220200000202022022220002202000022022202200022000220202022220022222022002022222022022022200020 002222202000220202000022200220222200002202200020022202202200000020000222020222202000200000202000222000020020222020000222220002202000222000220022022200200022222002200002000202202220220000022200220202222020000002022000220022220002200202022200222220220220222200222000202000222022022000220222020222202220 020222020000202020200220002020002222200200000222002200020022220220220220202202220002200200000000220022002222200222200222220020020200022022022020022222202220000200020202020002020000222202220020000220000022202220022200220202002202000000020222022200200002022022220200000220020222020220200002220222022020 220020002222002220220202002000202020020202020202020000002022202020022020022022020002202020022220202022220020020022000002200202200000202202020220220000020200222222222200200000200202000200022200220200220022000002222202220220202002020222020022222222002002200020020222022202022200020002022220222020200200 002202202020002000020220022002020020002220222000200022022200200202000220000022002202222200002002000020222200002000200000202000020000002220202220220002220222002022022222000222202000202222002020002222202202000202002200220020020222002220022222002002222220000020000022020020000202020002200200202220220002 002020222222020020222202002202222200020220200222022200002200202200222200200202220202022200220200020000220202022200020220022220200220222222000220000020220002220002220220002022220222202202002000202220222022200222222222200220220222002022000020020202220020022220222000220020220200020222000222200002222220 220020020220000200202202020002020202220020020200202022220220200220220000202002222200200222022220222202200020200222200020220000220000202220020002222222020222020000022220200220220202220022220220022000202200002022020020222020202022022002020200022002002022020202220202020002200220202200022000000020002220 020002200000000220222222000200022222022020002220020222022202000002202222002002022220202202022220222000222000002220020220002002202220200222222020020002200022000220202000000222022000000020022200200202220200200200002000202202000000222222222202020022220222200200202002002220000002222200202200022202200020 200202020002220220022222222002200222200200002022222020000020022020200002002000220000220002220000000220002020002022202020002022020220200220002002020000200200000200222202002202022020222220002000020222222022022202222022022220002202200220220022020202202002202220220020202000202002000202222020202222000222 022220002222222200200200220002022222022220002000202002002020222000222222002002000220002020220022002202022220020000022022202000002002200020000002020020000022220020200020220220020220002022220222002000202220202200202020000020202000000220000202202020020002220020022000000022000202200000002002200020202022 022000020002000022200000002020202220022200022200002202002222220202020202200000222222022022002222020200200200222020002022220222220200220202200200022202222022022002020000200200200002222220002202000022220022002002222222222002220000222202022222222000002200022220202220222220202020000220022022222222020022 222022002220022200000200200202000220020000002222000020000022220202220022222220222020202022200022020000220200022002000202220222220002200202022000022200022022202222222000020202000000000220222202022222200202002202020200220220202220022000000200002200020200000002020200200200202020022220220220000222222000 202202222022220200222022022200002200200022000002200022200222020220022200202202202200020200200220000020200000202220022020002220020200222022002200000020200002220202000000002200200002020002200022220220220022222202220202222200022020022202222220220022002000022020020202022020222222220000000000002022000020 202022020200022202000000020220000222022202200220202020020002002002220220222200000222002022022022200022002222020220000020002022022000020002200020202000222022220222220202002222220020002222200220202002002202002220002222202002202220002000000200220202020222222202000020000020220222220002020020220200020200 220220002022220000220222022002002222200200002020002202200200002200200222220202000202002200022220022020222020002202000020022000000200220000220000022220200220000020000200022222020022200020202002202222020020002202022222022220202222022022222202022002000020002202020022002002200020002022000002020002020202 020202200022200220000220022220220202202202002220200022202200220220220220200200020020200022222022000202000220200002220222202000022020220002000220020222220000220000022022220000202000222202220020020222002222000000022220020220200022002002200200220022222022022200202222020222220200220200202220202202002222 202200222020220202002020200020020022000220220002002022200000002020020020220002000022020222020020002220002200020020020200020200022002000020220202200202022022222200022022222022202020220000022220022020222000020220220202200022220022200220022220000220222020022000222022222022022002002020200020202002020022 202000000220000200200022222022222000002200200000002220220222000022222222022020002020220202200222020002002202000200200220202002022020002202000000202020000022002220022002202200002022202000022220222202222202022020000200200222202220022020200222202220020220200020202000200200000222202222020000022002020200 002022020222222202222020000002000220000000202200022202022202000000022002020022002002000220222002000222002000022020000220222222000202220002202200202000220000220020000022000200222020222222222000020200002222020000000200200200000022202222020000202220000200202222222002202000200022022002222000200022220222 022000220020002000002222200202222222202000222020002000022200002200020222200022222022200020002020000202020000222020200222000022200222022022200020000020220000220000200022022200022220002220220222020200000020202022002220222002002220020002220002202202202200002002200222002220222000220000200000220200202200 000022200000200220222200220000002002020020220220002222220002220020022020200222222222220202202202000220022002220222200002222220022000022200202222022200200222222020002002002220002202022220002022222022222022022220022000022200202220000000202022002022202002222020002202022202022202200222222220202200022222 002222220220002020022220220202020200002002220020220022022002000202202002200202002020200000200022222222022022220000002200022002020200000220222022200020002202020220002200202220220002020000002020000020022020000200022202000002200202022200200200000022200220022002020020202022200000000002222020222002020222 022022020220000202200220202020200200002000002000000020200220222002222220222000002200002222022200222222002222200020220020000200222222000020022000220000002220200000202002020220200220000202220222202222000200200000222222220022222002020002020022020000020000200222222020202220022200220220002200222202022002 020200000220002000022200002020000222200200220200000200000002002020200202000202222002222200020220000202222202220020222220202222000222022202022202002000000020020022222200202002000022220222220020000020200020220020222022202200202002202002002002222202222222202222202002022020000200002222002000200000002202 200020020200000200000220200022202020202220220020222200020202022022022202020202002200220002000200022222220022220000200000220222000002200020202022200002000020200222220002222220202202000200202220222022022200200000200020200000002000220200000020222022220220200222000200002222000222020200200202200202220222 002200202002200202202222222002020220020000000202200000222200220000000000022200022000220202020222022022220220220202200020200222222022020020000002222202002222200000202020200220200200002020002022222002020000202222200202200002222200200000222200202022000202022220200002002220222202200002202220200222020002 020222002000000202222220020000000000022002022002020202202002002200222200020222222002200000022000222200200222202000200000202022002222020220002222020000000002022220202000202202222200002222200022002000000002222200222222220000220200020020220202022020022222222002002200200002002200000002202220222200222000 000000002022022020022202202200000200020220022220000022022002000020002022220200220220222020022200002022222222002200020222020002222220200002202002020022220022022002220222220002022020022022202002002222020020022202200222200000200022002220202000200222200202020022002220202200022002000200002202020002022000 022220000002200200202022000202222022202222222202022002222200022200222220020200222020002022222220022202000002220020220002022222022022002022202222222000022002020002202002022000022000202200000220200022200020220222000022202222000222222022202022222022200002202220222000202000200002220200000200202002202202 16520
package com.moni; public class CMain { public static void main(String[] args) { int result= add(20); System.out.println(result); } public static int add(int n) { if(n==1) return 1; return (n-1)*4+add(n-1); } } 761
思路:利用dfs 将所有的可能列举出来,七段码都有两种选择(发光1,不发光0),一共七层,然后先将所有发光的并且相邻的的码合并,最后看剩下的集合数,如果==1,那么就是符合条件的。
package com.moni; public class DMain { static int[][] e=new int[10][10]; static int count=0; static boolean[] isLight=new boolean[10]; //true->亮;false->灭 static int[] union=new int[10]; public static void main(String[] args) { e[1][2]=e[1][6]=1;//表示相邻 e[2][1]=e[2][7]=e[2][3]=1; e[3][2]=e[3][7]=e[3][4]=1; e[4][3]=e[4][5]=1; e[5][7]=e[5][6]=e[5][4]=1; e[6][5]=e[6][7]=e[6][1]=1; e[7][2]=e[7][3]=e[7][5]=e[7][6]=1; dfs(1); System.out.println(count); } public static void dfs(int n) { if(n>7) { for(int i=1;i<=7;i++) { union[i]=i; } for(int i=1;i<=7;i++) { for(int j=1;j<=7;j++) { if(e[i][j]==1&&isLight[i]&&isLight[j]) { int fX = find(i);int fY=find(j); if(fX!=fY) { union[fX]=fY; } } } } int c=0; for(int i=1;i<=7;i++) { if(isLight[i]&&union[i]==i) { c++; } } if(c==1) count++; return; } isLight[n]=true; dfs(n+1); isLight[n]=false; dfs(n+1); } public static int find(int n) { if(union[n]==n) return n; return find(union[n]); } } 答案:80
要使交换次数最多并且最短,肯定是逆序。
先写一个冒泡排序,并在排序过程中统计交换次数。
package com.moni; import java.util.Scanner; public class EMain { public static void main(String[] args) { Scanner scan =new Scanner(System.in); String str = scan.nextLine(); int n=str.length(); char[] charArray = str.toCharArray(); int count=0; for(int i=0;i<n;i++) { for(int j=0;j<n-i-1;j++) { if(charArray[j+1]<charArray[j]) { char temp; temp=charArray[j]; charArray[j]=charArray[j+1]; charArray[j+1]=temp; count++; } } } System.out.println(count); } } nmlkjihgfedcba 91 onmlkjihgfedcba 105 减少5次交换次数 jonmlkihgfedcba jonmlkihgfedcba 100
package com.moni; import java.util.Arrays; import java.util.Scanner; public class FMain { static int[] scores; public static void main(String[] args) { Scanner scan=new Scanner(System.in); int n= scan.nextInt(); scores=new int [n]; for(int i=0;i<n;i++) { scores[i]= scan.nextInt(); } Arrays.sort(scores); double ave; double sum=0; for(int i=0;i<n;i++) { sum+= scores[i]; } ave=(double)Math.round(sum/n*100)/100; System.out.println(scores[n-1]); System.out.println(scores[0]); System.out.printf("%.2f",ave); } } 7 80 92 56 74 88 99 10 99 10 71.29
package com.moni; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class GMain { static Map<Character, Integer> maps=new HashMap<>(); public static void main(String[] args) { Scanner scan=new Scanner(System.in); String str = scan.nextLine(); char[] charArray = str.toCharArray(); int n=charArray.length; for(int i=0;i<n;i++) { if(maps.containsKey(charArray[i])) { int num=maps.get(charArray[i]); maps.put(charArray[i],num+1); }else { maps.put(charArray[i],1); } } int max=-1; char word =0; for(Character ch: maps.keySet()) { Integer num = maps.get(ch); if (num>max) { max=num; word=ch; } } System.out.println(String.valueOf(word)); System.out.println(max); } } longlonglongistoolong o 6