import java.util.*;class Main{public static void main(String[]g)throws Exception{byte[]u=new byte[32767];String x,y,c="";Map h=new HashMap();int d,n=0;g=new String(u,0,System.in.read(u)).split("\n");while(g.length>++n){y=new StringBuffer(x=g[n]).reverse().toString();d=x.compareTo(y);if(d==0)c+=x;else if(h.get(x)!=null)h.put(x,d<0?x:y);else h.put(y,"");}x="";for(Object z:new TreeSet(h.values()))x+=z;System.out.print(x+c+new StringBuffer(x).reverse().toString());}}

@@ -281,29 +281,27 @@
 (y);
-if(
+Object o=
 d==0
-)
+?
 c+=x
-;else if(
+:
 h.ge
@@ -310,17 +310,17 @@
 x)!=null
-)
+?
 h.put(x,
@@ -331,14 +331,9 @@
 x:y)
-;else 
+:
 h.pu

Update test5.java