fork(1) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.math.*;
  7.  
  8.  
  9. class REARRSTR
  10. {
  11. public static void main(String[] args) throws Exception
  12. {
  13.  
  14. int t,n,i,j,fail;
  15. char ch[],c;
  16. String txt;
  17. boolean result;
  18. t=Integer.parseInt(br.readLine().trim());
  19. while(t-->0){
  20. fail=0;
  21. txt=br.readLine().trim();
  22. n=txt.length();
  23. ch=new char[n];
  24. result=true;
  25. //Arrays.fill(ch,' ');
  26. for(i=0;i<n;i++)ch[i]=' ';
  27. /*ch[0]=txt.charAt(0);
  28. i=1;
  29. j=1;*/
  30. j=i=0;
  31. while(i<n){
  32. c=txt.charAt(i);
  33. fail++;
  34. //pw.println(fail+" "+i);//CHECKING
  35. if(j>0 && j<n-1){//middle element
  36. if(ch[j-1]!=c && ch[j+1]!=c && ch[j]==' '){
  37. ch[j]=c;
  38. i++;
  39. fail=0;
  40. }
  41. }
  42. else if(j==0){//first element
  43. if(ch[j+1]!=c && ch[j]==' '){
  44. ch[j]=c;
  45. i++;
  46. fail=0;
  47. }
  48. }
  49. else{//j==n-1 i.e last element
  50. if(ch[j-1]!=c && ch[j]==' '){
  51. ch[j]=c;
  52. i++;
  53. fail=0;
  54. }
  55. }
  56. j++;
  57.  
  58. j%=n;
  59. if(fail>2*n){
  60. result=false;
  61. break;
  62. }
  63.  
  64. }
  65. if(result){
  66. for(i=0;i<n;i++) pw.print(ch[i]);
  67. pw.println();
  68. }
  69. else
  70. pw.println(-1);
  71.  
  72. }
  73. pw.flush();
  74. pw.close();
  75.  
  76.  
  77. }
  78. }
  79.  
Success #stdin #stdout 0.1s 320320KB
stdin
4
aab
ab
aa
abb
stdout
aba
ab
-1
-1