fork(5) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. bool isPalindrome(const string& s) {
  5. for(int i = 0; i < s.length(); ++i) {
  6. if (s[i] != s[s.length() - i - 1])
  7. return false;
  8. }
  9. return true;
  10. }
  11.  
  12. bool solve1(string s) {
  13. string t = s;
  14. for(int i = 0; i < s.length(); ++i) {
  15. t = t.back() + t;
  16. t.pop_back();
  17. if (s != t && isPalindrome(t)) {
  18. return true;
  19. }
  20. }
  21. return false;
  22. }
  23.  
  24. bool anyAnswer(const string& s) {
  25. int nt = 0;
  26. for(int i = 0; i < s.length(); ++i) {
  27. nt += s[i] != s[0];
  28. }
  29. return nt > 1;
  30. }
  31.  
  32. int32_t main() {
  33. ios_base::sync_with_stdio(false);
  34. cin.tie(nullptr), cout.tie(nullptr);
  35.  
  36. string s;
  37. cin >> s;
  38. if (anyAnswer(s)) {
  39. cout << (solve1(s) ? 1 : 2) << endl;
  40. } else {
  41. cout << "Impossible" << endl;
  42. }
  43.  
  44. return 0;
  45. }
  46.  
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Impossible