- import java.util.*; 
- import java.lang.*; 
- import java.io.*; 
-   
- class Ideone 
- { 
- 	{ 
- 		int[] massivIntov = {1,2,3}; 
- 		int elementInt = 2; 
- 		System- . out- . println(- najtiElementVMassive (- massivIntov,elementInt ));
 
-   
- 		double[] massivDoublov = {1,2,3}; 
- 		double elementDouble = 2; 
- 		System- . out- . println(- najtiElementVMassive (- massivDoublov,elementDouble ));
 
-   
- 		String[]-  massivStringov  = {"odin"- , "dva"- , "tri"};
 
- 		System- . out- . println(- najtiElementVMassive (- massivStringov,elementString ));
 
-   
- 		System- . out- . println(- najtiElementVMassive (- massivIntegerov,elementInteger ));
 
-   
- 		// !!! 
- 		int[][] massivMassivIntov = {{1,2,3},{2,3,4},{3,4,5}}; 
- 		int elementMassivIntov[] = {2,3,4}; 
- 		System- . out- . println(- najtiElementVMassive (- massivMassivIntov,elementMassivIntov ));
 
-   
- 		String[][][]-  massivMassivMassivStringov  = {{{"a"}- , {"b"}}- , {{"c"- , "d"}}- , {{"e"- , "f"}}};
 
- 		String[][]-  elementMassivMassivStringov  = {{"c"- , "d"}};
 
- 		System- . out- . println(- najtiElementVMassive (- massivMassivMassivStringov,elementMassivMassivStringov ));
 
-   
- 		String[][]-  oshibochniiElementMassivMassivStringov  = {{"c"- , "e"- , "z"}};
 
- 		System- . out- . println(- najtiElementVMassive (- massivMassivMassivStringov,oshibochniiElementMassivMassivStringov ));
 
- 	} 
-   
-   
-   
- 	// -1 esli NotFound, snachala massiv potom element 
- 	static int-  najtiElementVMassive (Object-  massiv, Object-  element ){
 
- 		if(massiv instanceof int[]) { 
- 			for(int i=0; i<((int[])massiv).length; ++i) 
- 				if(((int[])massiv)[i]==(int)element) 
- 					return i; 
- 		} else if(massiv instanceof byte[]) { 
- 			for(int i=0; i<((byte[])massiv).length; ++i) 
- 				if(((byte[])massiv)[i]==(byte)element) 
- 					return i; 
- 		} else if(massiv instanceof boolean[]) { 
- 			for(int i=0; i<((boolean[])massiv).length; ++i) 
- 				if(((boolean[])massiv)[i]==(boolean)element) 
- 					return i; 
- 		} else if(massiv instanceof char[]) { 
- 			for(int i=0; i<((char[])massiv).length; ++i) 
- 				if(((char[])massiv)[i]==(char)element) 
- 					return i; 
- 		} else if(massiv instanceof float[]) { 
- 			for(int i=0; i<((float[])massiv).length; ++i) 
- 				if(((float[])massiv)[i]==(float)element) 
- 					return i; 
- 		} else if(massiv instanceof double[]) { 
- 			for(int i=0; i<((double[])massiv).length; ++i) 
- 				if(((double[])massiv)[i]==(double)element) 
- 					return i; 
- 		} else if(massiv instanceof short[]) { 
- 			for(int i=0; i<((short[])massiv).length; ++i) 
- 				if(((short[])massiv)[i]==(short)element) 
- 					return i; 
- 		} else if(massiv instanceof long[]) { 
- 			for(int i=0; i<((long[])massiv).length; ++i) 
- 				if(((long[])massiv)[i]==(long)element) 
- 					return i; 
- 		} else { 
- 			try { 
- 				for(int-  i =0;-  i <((Object[])- massiv )- . length; ++- i )
 
- 					if(- sravnitMassivi (((Object[])- massiv )[- i ]- ,element ))
 
- 						return i; 
- 				for(int-  i =0;-  i <((Object[])- massiv )- . length; ++- i )
 
- 					if((((Object[])- massiv )[- i ])- . equals(- element ))
 
- 						return i; 
- 			} 
- 		} 
-   
- 		return -1; 
- 	} 
-   
-   
- 	static boolean-  sravnitMassivi (Object-  massiv1, Object-  massiv2 ) {
 
- 		try { 
- 			if((((Object[])- massiv1 ))- . length!=(((Object[])- massiv1 ))- . length) return false;
 
- 			boolean ravni=true; 
- 			for(int-  i =0;-  i <(((Object[])- massiv1 ))- . length; ++- i )
 
- 				ravni =- ravni &&- sravnitMassivi ((((Object[])- massiv1 ))[- i ]- , (((Object[])- massiv2 ))[- i ]);
- 			return ravni; 
- 			if(massiv1 instanceof int[]) { 
- 				return Arrays- . equals((int[])- massiv1, (int[])- massiv2 );
 
- 			} else if(massiv1 instanceof byte[]) { 
- 				return Arrays- . equals((byte[])- massiv1, (byte[])- massiv2 );
 
- 			} else if(massiv1 instanceof boolean[]) { 
- 				return Arrays- . equals((boolean[])- massiv1, (boolean[])- massiv2 );
 
- 			} else if(massiv1 instanceof char[]) { 
- 				return Arrays- . equals((char[])- massiv1, (char[])- massiv2 );
 
- 			} else if(massiv1 instanceof float[]) { 
- 				return Arrays- . equals((float[])- massiv1, (float[])- massiv2 );
 
- 			} else if(massiv1 instanceof double[]) { 
- 				return Arrays- . equals((double[])- massiv1, (double[])- massiv2 );
 
- 			} else if(massiv1 instanceof short[]) { 
- 				return Arrays- . equals((short[])- massiv1, (short[])- massiv2 );
 
- 			} else if(massiv1 instanceof long[]) { 
- 				return Arrays- . equals((long[])- massiv1, (long[])- massiv2 );
 
- 			} else { 
- 				return massiv1.equals(massiv2); 
- 			} 
- 		} 
- 	} 
- } 
				aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJaW50W10gbWFzc2l2SW50b3YgPSB7MSwyLDN9OwoJCWludCBlbGVtZW50SW50ID0gMjsKCQlTeXN0ZW0ub3V0LnByaW50bG4obmFqdGlFbGVtZW50Vk1hc3NpdmUobWFzc2l2SW50b3YsZWxlbWVudEludCkpOwoJCQoJCWRvdWJsZVtdIG1hc3NpdkRvdWJsb3YgPSB7MSwyLDN9OwoJCWRvdWJsZSBlbGVtZW50RG91YmxlID0gMjsKCQlTeXN0ZW0ub3V0LnByaW50bG4obmFqdGlFbGVtZW50Vk1hc3NpdmUobWFzc2l2RG91YmxvdixlbGVtZW50RG91YmxlKSk7CgkJCgkJU3RyaW5nW10gbWFzc2l2U3RyaW5nb3YgPSB7Im9kaW4iLCJkdmEiLCJ0cmkifTsKCQlTdHJpbmcgZWxlbWVudFN0cmluZyA9ICJkdmEiOwoJCVN5c3RlbS5vdXQucHJpbnRsbihuYWp0aUVsZW1lbnRWTWFzc2l2ZShtYXNzaXZTdHJpbmdvdixlbGVtZW50U3RyaW5nKSk7CgkJCgkJSW50ZWdlcltdIG1hc3NpdkludGVnZXJvdiA9IHtuZXcgSW50ZWdlciAoMTAwMSksbmV3IEludGVnZXIgKDEwMDIpLG5ldyBJbnRlZ2VyICgxMDAzKX07CgkJSW50ZWdlciBlbGVtZW50SW50ZWdlciA9IG5ldyBJbnRlZ2VyICgxMDAyKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4obmFqdGlFbGVtZW50Vk1hc3NpdmUobWFzc2l2SW50ZWdlcm92LGVsZW1lbnRJbnRlZ2VyKSk7CgkJCgkJLy8gISEhCgkJaW50W11bXSBtYXNzaXZNYXNzaXZJbnRvdiA9IHt7MSwyLDN9LHsyLDMsNH0sezMsNCw1fX07CgkJaW50IGVsZW1lbnRNYXNzaXZJbnRvdltdID0gezIsMyw0fTsKCQlTeXN0ZW0ub3V0LnByaW50bG4obmFqdGlFbGVtZW50Vk1hc3NpdmUobWFzc2l2TWFzc2l2SW50b3YsZWxlbWVudE1hc3NpdkludG92KSk7CgkJCgkJU3RyaW5nW11bXVtdIG1hc3Npdk1hc3Npdk1hc3NpdlN0cmluZ292ID0ge3t7ImEifSx7ImIifX0se3siYyIsImQifX0se3siZSIsImYifX19OwoJCVN0cmluZ1tdW10gZWxlbWVudE1hc3Npdk1hc3NpdlN0cmluZ292ID0ge3siYyIsImQifX07CgkJU3lzdGVtLm91dC5wcmludGxuKG5hanRpRWxlbWVudFZNYXNzaXZlKG1hc3Npdk1hc3Npdk1hc3NpdlN0cmluZ292LGVsZW1lbnRNYXNzaXZNYXNzaXZTdHJpbmdvdikpOwoJCQoJCVN0cmluZ1tdW10gb3NoaWJvY2huaWlFbGVtZW50TWFzc2l2TWFzc2l2U3RyaW5nb3YgPSB7eyJjIiwiZSIsInoifX07CgkJU3lzdGVtLm91dC5wcmludGxuKG5hanRpRWxlbWVudFZNYXNzaXZlKG1hc3Npdk1hc3Npdk1hc3NpdlN0cmluZ292LG9zaGlib2NobmlpRWxlbWVudE1hc3Npdk1hc3NpdlN0cmluZ292KSk7Cgl9CgkKCQoJCgkvLyAtMSBlc2xpIE5vdEZvdW5kLCBzbmFjaGFsYSBtYXNzaXYgcG90b20gZWxlbWVudAoJc3RhdGljIGludCBuYWp0aUVsZW1lbnRWTWFzc2l2ZShPYmplY3QgbWFzc2l2LE9iamVjdCBlbGVtZW50KXsKCQlpZihtYXNzaXYgaW5zdGFuY2VvZiBpbnRbXSkgewoJCQlmb3IoaW50IGk9MDsgaTwoKGludFtdKW1hc3NpdikubGVuZ3RoOyArK2kpCgkJCQlpZigoKGludFtdKW1hc3NpdilbaV09PShpbnQpZWxlbWVudCkKCQkJCQlyZXR1cm4gaTsKCQl9IGVsc2UgaWYobWFzc2l2IGluc3RhbmNlb2YgYnl0ZVtdKSB7CgkJCWZvcihpbnQgaT0wOyBpPCgoYnl0ZVtdKW1hc3NpdikubGVuZ3RoOyArK2kpCgkJCQlpZigoKGJ5dGVbXSltYXNzaXYpW2ldPT0oYnl0ZSllbGVtZW50KQoJCQkJCXJldHVybiBpOwoJCX0gZWxzZSBpZihtYXNzaXYgaW5zdGFuY2VvZiBib29sZWFuW10pIHsKCQkJZm9yKGludCBpPTA7IGk8KChib29sZWFuW10pbWFzc2l2KS5sZW5ndGg7ICsraSkKCQkJCWlmKCgoYm9vbGVhbltdKW1hc3NpdilbaV09PShib29sZWFuKWVsZW1lbnQpCgkJCQkJcmV0dXJuIGk7CgkJfSBlbHNlIGlmKG1hc3NpdiBpbnN0YW5jZW9mIGNoYXJbXSkgewoJCQlmb3IoaW50IGk9MDsgaTwoKGNoYXJbXSltYXNzaXYpLmxlbmd0aDsgKytpKQoJCQkJaWYoKChjaGFyW10pbWFzc2l2KVtpXT09KGNoYXIpZWxlbWVudCkKCQkJCQlyZXR1cm4gaTsKCQl9IGVsc2UgaWYobWFzc2l2IGluc3RhbmNlb2YgZmxvYXRbXSkgewoJCQlmb3IoaW50IGk9MDsgaTwoKGZsb2F0W10pbWFzc2l2KS5sZW5ndGg7ICsraSkKCQkJCWlmKCgoZmxvYXRbXSltYXNzaXYpW2ldPT0oZmxvYXQpZWxlbWVudCkKCQkJCQlyZXR1cm4gaTsKCQl9IGVsc2UgaWYobWFzc2l2IGluc3RhbmNlb2YgZG91YmxlW10pIHsKCQkJZm9yKGludCBpPTA7IGk8KChkb3VibGVbXSltYXNzaXYpLmxlbmd0aDsgKytpKQoJCQkJaWYoKChkb3VibGVbXSltYXNzaXYpW2ldPT0oZG91YmxlKWVsZW1lbnQpCgkJCQkJcmV0dXJuIGk7CgkJfSBlbHNlIGlmKG1hc3NpdiBpbnN0YW5jZW9mIHNob3J0W10pIHsKCQkJZm9yKGludCBpPTA7IGk8KChzaG9ydFtdKW1hc3NpdikubGVuZ3RoOyArK2kpCgkJCQlpZigoKHNob3J0W10pbWFzc2l2KVtpXT09KHNob3J0KWVsZW1lbnQpCgkJCQkJcmV0dXJuIGk7CgkJfSBlbHNlIGlmKG1hc3NpdiBpbnN0YW5jZW9mIGxvbmdbXSkgewoJCQlmb3IoaW50IGk9MDsgaTwoKGxvbmdbXSltYXNzaXYpLmxlbmd0aDsgKytpKQoJCQkJaWYoKChsb25nW10pbWFzc2l2KVtpXT09KGxvbmcpZWxlbWVudCkKCQkJCQlyZXR1cm4gaTsKCQl9IGVsc2UgewoJCQl0cnkgewoJCQkJZm9yKGludCBpPTA7IGk8KChPYmplY3RbXSltYXNzaXYpLmxlbmd0aDsgKytpKQoJCQkJCWlmKHNyYXZuaXRNYXNzaXZpKCgoT2JqZWN0W10pbWFzc2l2KVtpXSxlbGVtZW50KSkKCQkJCQkJcmV0dXJuIGk7CgkJCX0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CgkJCQlmb3IoaW50IGk9MDsgaTwoKE9iamVjdFtdKW1hc3NpdikubGVuZ3RoOyArK2kpCgkJCQkJaWYoKCgoT2JqZWN0W10pbWFzc2l2KVtpXSkuZXF1YWxzKGVsZW1lbnQpKQoJCQkJCQlyZXR1cm4gaTsKCQkJfQoJCX0KCQkKCQlyZXR1cm4gLTE7Cgl9CgkKCQoJc3RhdGljIGJvb2xlYW4gc3Jhdm5pdE1hc3NpdmkoT2JqZWN0IG1hc3NpdjEsT2JqZWN0IG1hc3NpdjIpIHsKCQl0cnkgewoJCQlpZigoKChPYmplY3RbXSltYXNzaXYxKSkubGVuZ3RoIT0oKChPYmplY3RbXSltYXNzaXYxKSkubGVuZ3RoKSByZXR1cm4gZmFsc2U7CgkJCWJvb2xlYW4gcmF2bmk9dHJ1ZTsKCQkJZm9yKGludCBpPTA7IGk8KCgoT2JqZWN0W10pbWFzc2l2MSkpLmxlbmd0aDsgKytpKSAKCQkJCXJhdm5pPXJhdm5pJiZzcmF2bml0TWFzc2l2aSgoKChPYmplY3RbXSltYXNzaXYxKSlbaV0sKCgoT2JqZWN0W10pbWFzc2l2MikpW2ldKTsKCQkJcmV0dXJuIHJhdm5pOwoJCX0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CgkJCWlmKG1hc3NpdjEgaW5zdGFuY2VvZiBpbnRbXSkgewoJCQkJcmV0dXJuIEFycmF5cy5lcXVhbHMoKGludFtdKW1hc3NpdjEsKGludFtdKW1hc3NpdjIpOwoJCQl9IGVsc2UgaWYobWFzc2l2MSBpbnN0YW5jZW9mIGJ5dGVbXSkgewoJCQkJcmV0dXJuIEFycmF5cy5lcXVhbHMoKGJ5dGVbXSltYXNzaXYxLChieXRlW10pbWFzc2l2Mik7CgkJCX0gZWxzZSBpZihtYXNzaXYxIGluc3RhbmNlb2YgYm9vbGVhbltdKSB7CgkJCQlyZXR1cm4gQXJyYXlzLmVxdWFscygoYm9vbGVhbltdKW1hc3NpdjEsKGJvb2xlYW5bXSltYXNzaXYyKTsKCQkJfSBlbHNlIGlmKG1hc3NpdjEgaW5zdGFuY2VvZiBjaGFyW10pIHsKCQkJCXJldHVybiBBcnJheXMuZXF1YWxzKChjaGFyW10pbWFzc2l2MSwoY2hhcltdKW1hc3NpdjIpOwoJCQl9IGVsc2UgaWYobWFzc2l2MSBpbnN0YW5jZW9mIGZsb2F0W10pIHsKCQkJCXJldHVybiBBcnJheXMuZXF1YWxzKChmbG9hdFtdKW1hc3NpdjEsKGZsb2F0W10pbWFzc2l2Mik7CgkJCX0gZWxzZSBpZihtYXNzaXYxIGluc3RhbmNlb2YgZG91YmxlW10pIHsKCQkJCXJldHVybiBBcnJheXMuZXF1YWxzKChkb3VibGVbXSltYXNzaXYxLChkb3VibGVbXSltYXNzaXYyKTsKCQkJfSBlbHNlIGlmKG1hc3NpdjEgaW5zdGFuY2VvZiBzaG9ydFtdKSB7CgkJCQlyZXR1cm4gQXJyYXlzLmVxdWFscygoc2hvcnRbXSltYXNzaXYxLChzaG9ydFtdKW1hc3NpdjIpOwoJCQl9IGVsc2UgaWYobWFzc2l2MSBpbnN0YW5jZW9mIGxvbmdbXSkgewoJCQkJcmV0dXJuIEFycmF5cy5lcXVhbHMoKGxvbmdbXSltYXNzaXYxLChsb25nW10pbWFzc2l2Mik7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gbWFzc2l2MS5lcXVhbHMobWFzc2l2Mik7CgkJCX0KCQl9Cgl9Cn0=