fork(3) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. import java.io.IOException;
  8.  
  9. /**
  10.  * Created by kaaveh on 1/22/15.
  11.  */
  12. class _505A_ {
  13. public static void main(String[] args) { //I hope enjoy! :)
  14.  
  15. kaaveh in = new kaaveh();
  16. String data = in.kLine(10);
  17.  
  18. int size = data.length() / 2;
  19. int lng= data.length();
  20. String res = "";
  21. boolean palin = true;
  22.  
  23. for (int i=0; i<size; i++){
  24. if (data.charAt(i) != data.charAt(lng-1-i)){
  25. res += data.substring(0,lng-i);
  26. res += data.charAt(i);
  27. res += data.substring(lng - i, lng);
  28. break;
  29. }
  30. }
  31.  
  32. if (res.equals("")){
  33. if (lng % 2 == 0){
  34. System.out.println(data.substring(0, size) + "a" + data.substring(size, lng));
  35. }else {
  36. System.out.println(data.substring(0, size) + data.charAt(size) + data.substring(size, lng));
  37. }
  38. System.exit(0);
  39. }
  40.  
  41. for (int i=0; i<size; i++){
  42. if (res.charAt(i) != res.charAt(lng-i)){
  43. palin = false;
  44. }
  45. }
  46. if (palin)
  47. System.out.println(res);
  48. else
  49. System.out.println("NA");
  50. }
  51. }
  52.  
  53. class kaaveh{
  54. static String kLine (int maxLg)
  55. {
  56. byte lin[] = new byte [maxLg];
  57. int lg = 0, car = -1;
  58. String line = "";
  59.  
  60. try
  61. {
  62. while (lg < maxLg)
  63. {
  64. car = System.in.read();
  65. if ((car < 0) || (car == '\n')) break;
  66. lin [lg++] += car;
  67. }
  68. }
  69. catch (IOException e)
  70. {
  71. return (null);
  72. }
  73.  
  74. if ((car < 0) && (lg == 0)) return (null); // eof
  75. return (new String (lin, 0, lg));
  76. }
  77.  
  78. static String knex (int maxLg)
  79. {
  80. byte lin[] = new byte [maxLg];
  81. int lg = 0, car = -1;
  82. String line = "";
  83.  
  84. try
  85. {
  86.  
  87. while ((car < 0) || (car == '\n') || (car == ' ') || (car == '\t') || (car == '\r'))
  88. car = System.in.read();
  89.  
  90. while (lg < maxLg)
  91. {
  92. if ((car < 0) || (car == '\n') || (car == ' ') || (car == '\t') || (car == '\r')) break;
  93. lin [lg++] += car;
  94. car = System.in.read();
  95. }
  96. }
  97. catch (IOException e)
  98. {
  99. return (null);
  100. }
  101.  
  102. if ((car < 0) && (lg == 0)) return (null); // eof
  103. return (new String (lin, 0, lg));
  104. }
  105.  
  106. static int kint()
  107. {
  108. return Integer.parseInt(knex(11));
  109. }
  110.  
  111. static long kLong()
  112. {
  113. return Long.parseLong(knex(20));
  114. }
  115.  
  116. static double kdouble()
  117. {
  118. return Double.parseDouble(knex(100));
  119. }
  120. }
Success #stdin #stdout 0.1s 320320KB
stdin
revive
stdout
reviver