#include <bits/stdc++.h>
using namespace std;
char str[100010];
char t[100010];
int n;
bool isPal(int st, int ed, char s[]) {
  if (st >= ed) {
    return true;
  }
  if (s[st] == s[ed]) {
    return isPal(st + 1, ed - 1, s);
  } else {
    return false;
  }
}
bool oneChecker() {
  int i, j, k = 0;
  for (i = 1; i <= n - 1; i++) {
    for (j = i, k = 0; j <= n - 1; j++, k++) {
      t[k] = str[j];
    }
    for (j = 0; j < i; j++, k++) {
      t[k] = str[j];
    }
    t[k] = '\0';
    if (isPal(0, n - 1, t) && strcmp(t, str) != 0) {
      return true;
    }
  }
  return false;
}
bool twoChecker() {
  int i, j, thresh;
  for (i = (n / 2) - 1; i >= 0; i--) {
    if (!isPal(0, i, str)) {
      return true;
    }
  }
  return false;
}
void input() {
  int i, j;
  scanf("%s", str);
  n = strlen(str);
}
void solve() {
  int i, j;
  if (oneChecker()) {
    printf("%d", 1);
    puts("");
  } else if (twoChecker()) {
    printf("%d", 2);
    puts("");
  } else {
    printf("%s", "Impossible\n");
  }
}
int main() {
  input();
  solve();
}
