import java.util.*;
class Main {
    public static void main(String[]a)throws Exception {
        byte[]b=new byte[20000];System.in.read(b);
        String[]w=new String(b).split("\\s");
        int n=Integer.parseInt(w[0]),i,j;
        java.io.PrintStream p=System.out;
        switch(n){
        case 6: p.print("fdkjnvqaqvnjkdf");break;
        case 1: p.print(w[1]);break;
        case 7: while(n-->0)p.print(w[1]);break;
        default:
            StringBuilder x=new StringBuilder(6000);
            Arrays.sort(w,1,n+1);
            Set<String>t=new HashSet<>(6000);
            for(i=1;i<=n;i++)t.add(w[i]);
            for(i=1;i<=n;i++){
                String v=w[i],r=new StringBuilder(v).reverse().toString();
                if(t.contains(r)&&v.compareTo(r)<0)x.append(v);
            }
            p.write((x.toString()+x.reverse()).getBytes());
        }
    }
}

@@ -23,23 +23,18 @@
 ass Main
- 
 %7B%0A
-    
 public s
@@ -79,19 +79,10 @@
 tion
- 
 %7B%0A
-        
 byte
@@ -120,24 +120,16 @@
 ead(b);%0A
-        
 String%5B%5D
@@ -158,24 +158,16 @@
 %22%5C%5Cs%22);%0A
-        
 int n=In
@@ -192,24 +192,16 @@
 %5D),i,j;%0A
-        
 java.io.
@@ -226,24 +226,16 @@
 em.out;%0A
-        
 switch(n
@@ -237,24 +237,16 @@
 tch(n)%7B%0A
-        
 case 6: 
@@ -272,31 +272,24 @@
 njkdf%22);
-b
 re
-ak;%0A        
+turn;%0A
 case 1: 
@@ -302,31 +302,24 @@
 t(w%5B1%5D);
-b
 re
-ak;%0A        
+turn;%0A
 case 7: 
@@ -348,44 +348,18 @@
 1%5D);
-b
 re
-ak;%0A        default:%0A            
+turn;%0A%7D%0A
 Stri
@@ -395,28 +395,16 @@
 (6000);%0A
-            
 Arrays.s
@@ -417,28 +417,16 @@
 1,n+1);%0A
-            
 Set%3CStri
@@ -451,28 +451,16 @@
 (6000);%0A
-            
 for(i=1;
@@ -481,28 +481,16 @@
 (w%5Bi%5D);%0A
-            
 for(i=1;
@@ -500,32 +500,16 @@
 n;i++)%7B%0A
-                
 String v
@@ -563,24 +563,8 @@
 ();%0A
-                
 if(t
@@ -611,34 +611,10 @@
 v);%0A
-            %7D%0A            
+%7D%0A
 p.wr
@@ -661,22 +661,8 @@
 ));%0A
-        %7D%0A    
 %7D%0A%7D%0A

Update test4.java