#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 1000005;
char s[MAX_N];
const string Impossible = "Impossible";
stack<char> st;
inline void check() {
  if (st.empty()) {
    printf("%s\n", Impossible.c_str());
    exit(0);
  }
}
int main() {
  scanf("%s", s);
  int n = strlen(s);
  int res = 0;
  for (int i = 0; i < (int)n; ++i) {
    if (s[i] == ')') {
      check();
      if (st.top() != '(') ++res;
      st.pop();
    } else if (s[i] == ']') {
      check();
      if (st.top() != '[') ++res;
      st.pop();
    } else if (s[i] == '>') {
      check();
      if (st.top() != '<') ++res;
      st.pop();
    } else if (s[i] == '}') {
      check();
      if (st.top() != '{') ++res;
      st.pop();
    } else
      st.push(s[i]);
  }
  if (!st.empty())
    printf("%s\n", Impossible.c_str());
  else
    printf("%d\n", res);
  return 0;
}
