- /* package whatever; // don't place package name! */ 
-   
- import java.util.*; 
- import java.lang.*; 
- import java.io.*; 
-   
- /* Name of the class has to be "Main" only if the class is public. */ 
- class Ideone 
- { 
- 	{ 
-         System- . out- . println(- p ("!!!0x!!1"));
 
- 		System- . out- . println(- p ("1xaa1l0&0bx!a1&!0&1bb"));
 
- 	} 
-   
-         int x,y; 
-         while((y=s.indexOf("b"))>=0){ 
-             x=s.lastIndexOf("a",y); 
-             s=s.replaceAll(s.substring(x,y+1),p(s.substring(x+1,y))); 
-         } 
-         while(s.indexOf("!")>=0){ 
-             s=s.replaceAll("!0",a); 
-             s=s.replaceAll("!1",b); 
-         } 
-         while(s.length()>1){ 
-             t=s.substring(0,3); 
-             if(t.charAt(1)=='l') 
-                 s=s.replaceFirst(t,t.equals("0l0")?b:a); 
-             else if(t.charAt(1)=='&') 
-                 s=s.replaceFirst(t,t.equals("1&1")?a:b); 
-             else 
-                 s=s.replaceFirst(t,t.charAt(0)==t.charAt(2)?b:a); 
-         } 
-         return s; 
-     } 
-   
- } 
				LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihwKCIhISEweCEhMSIpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4ocCgiMXhhYTFsMCYwYnghYTEmITAmMWJiIikpOwoJfQoKICAgIHN0YXRpYyBTdHJpbmcgcChTdHJpbmcgcyl7CiAgICAgICAgaW50IHgseTsKICAgICAgICB3aGlsZSgoeT1zLmluZGV4T2YoImIiKSk+PTApewogICAgICAgICAgICB4PXMubGFzdEluZGV4T2YoImEiLHkpOwogICAgICAgICAgICBzPXMucmVwbGFjZUFsbChzLnN1YnN0cmluZyh4LHkrMSkscChzLnN1YnN0cmluZyh4KzEseSkpKTsKICAgICAgICB9CiAgICAgICAgU3RyaW5nIHQsYT0iMSIsYj0iMCI7CiAgICAgICAgd2hpbGUocy5pbmRleE9mKCIhIik+PTApewogICAgICAgICAgICBzPXMucmVwbGFjZUFsbCgiITAiLGEpOwogICAgICAgICAgICBzPXMucmVwbGFjZUFsbCgiITEiLGIpOwogICAgICAgIH0KICAgICAgICB3aGlsZShzLmxlbmd0aCgpPjEpewogICAgICAgICAgICB0PXMuc3Vic3RyaW5nKDAsMyk7CiAgICAgICAgICAgIGlmKHQuY2hhckF0KDEpPT0nbCcpCiAgICAgICAgICAgICAgICBzPXMucmVwbGFjZUZpcnN0KHQsdC5lcXVhbHMoIjBsMCIpP2I6YSk7CiAgICAgICAgICAgIGVsc2UgaWYodC5jaGFyQXQoMSk9PScmJykKICAgICAgICAgICAgICAgIHM9cy5yZXBsYWNlRmlyc3QodCx0LmVxdWFscygiMSYxIik/YTpiKTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgcz1zLnJlcGxhY2VGaXJzdCh0LHQuY2hhckF0KDApPT10LmNoYXJBdCgyKT9iOmEpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gczsKICAgIH0KCn0=