#include <bits/stdc++.h>
#define fast() \
ios_base::sync_with_stdio(0); \
cin.tie(NULL); \
cout.tie(NULL);
void file()
{
#if CPH || ONLINE_JUDGE
// freopen("IN.txt", "r", stdin);
// freopen("OUT.txt", "w", stdout);
#else
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
}
using namespace std;
#define _CRT_SECURE_NO_WARNINGS
#define ll long long
#define ld long double
#define dd double
#define endl "\n"
#define F first
#define S second
#define all(v) v.begin(), v.end()
#define input for(ll i=0;i<n;i++) {cin>>arr[i];}
#define input2 for(ll i=0;i<n;i++) {cin>>arr2[i];}
#define output for(int i=1;i<=n;i++){cout<<arr[i]<<" ";}
#define output_ans for(int i=1;i<=n;i++){cout<<ans[i]<<" ";}
#define for0 for(ll i=0 ; i<n; i++)
#define forj for(ll j=0 ; j<n; j++)
#define fors for(ll i=0 ; i<s.size(); i++)
#define for1 for(ll i=1 ; i<=n; i++)
#define ww while
bool prime(ll n)
{
if (n == 0 || n == 1)
return 0;
if (n == 2 || n == 3)
return 1;
if (n % 2 == 0 || n % 3 == 0)
return 0;
for (ll i = 5; i * i <= n; i += 6)
if (n % i == 0 || n % (i + 2) == 0)
return 0;
return 1;
}
bool compare(pair < ll , ll > p1,pair < ll , ll > p2) {
return (p1.first - p1.second) > (p2.first - p2.second);
}
ll gcd(ll a, ll b) {
while (b != 0)
{
ll a1 = a;
a = b;
b = a1 % b;
}
return a;
}
void solve()
{
string s; cin>>s;
ll com=0, curl=0,squar=0,bract=0;
fors{
if(s[i]=='('){
bract++;
}
else if(s[i]==')'){bract--;}
else if(s[i]=='<'){com++;}
else if(s[i]=='>'){com--;}
else if(s[i]=='{'){curl++;}
else if(s[i]=='}'){curl--;}
else if(s[i]=='['){squar++;}
else if(s[i]==']'){squar--;}
}
ll ans=(abs(bract)+abs(com)+abs(curl)+abs(squar))/2;
if(com+bract+squar+curl==0){cout<<ans<<endl;}
else {cout<<"Impossible\n";}
}
int main()
{
fast();
file();
int TC = 1;
// cin >> TC;
while (TC--)
{
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgZmFzdCgpICAgICAgICAgICAgICAgICAgICBcCiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBcCiAgICBjaW4udGllKE5VTEwpOyAgICAgICAgICAgICAgICBcCiAgICBjb3V0LnRpZShOVUxMKTsKdm9pZCBmaWxlKCkKewojaWYgQ1BIIHx8IE9OTElORV9KVURHRQogICAgLy8gZnJlb3BlbigiSU4udHh0IiwgInIiLCBzdGRpbik7CiAgICAvLyBmcmVvcGVuKCJPVVQudHh0IiwgInciLCBzdGRvdXQpOwojZWxzZQogICAgZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwojZW5kaWYKfQp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbGQgbG9uZyBkb3VibGUKI2RlZmluZSBkZCBkb3VibGUKI2RlZmluZSBlbmRsICJcbiIKI2RlZmluZSBGIGZpcnN0CiNkZWZpbmUgUyBzZWNvbmQKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLCB2LmVuZCgpCiNkZWZpbmUgaW5wdXQgZm9yKGxsIGk9MDtpPG47aSsrKSB7Y2luPj5hcnJbaV07fQojZGVmaW5lIGlucHV0MiBmb3IobGwgaT0wO2k8bjtpKyspIHtjaW4+PmFycjJbaV07fQojZGVmaW5lIG91dHB1dCBmb3IoaW50IGk9MTtpPD1uO2krKyl7Y291dDw8YXJyW2ldPDwiICI7fQojZGVmaW5lIG91dHB1dF9hbnMgZm9yKGludCBpPTE7aTw9bjtpKyspe2NvdXQ8PGFuc1tpXTw8IiAiO30KI2RlZmluZSBmb3IwIGZvcihsbCBpPTAgOyBpPG47IGkrKykKI2RlZmluZSBmb3JqIGZvcihsbCBqPTAgOyBqPG47IGorKykKI2RlZmluZSBmb3JzIGZvcihsbCBpPTAgOyBpPHMuc2l6ZSgpOyBpKyspCiNkZWZpbmUgZm9yMSBmb3IobGwgaT0xIDsgaTw9bjsgaSsrKQojZGVmaW5lIHd3IHdoaWxlCgpib29sIHByaW1lKGxsIG4pCnsKICAgIGlmIChuID09IDAgfHwgbiA9PSAxKQogICAgICAgIHJldHVybiAwOwogICAgaWYgKG4gPT0gMiB8fCBuID09IDMpCiAgICAgICAgcmV0dXJuIDE7CiAgICBpZiAobiAlIDIgPT0gMCB8fCBuICUgMyA9PSAwKQogICAgICAgIHJldHVybiAwOwogICAgZm9yIChsbCBpID0gNTsgaSAqIGkgPD0gbjsgaSArPSA2KQogICAgICAgIGlmIChuICUgaSA9PSAwIHx8IG4gJSAoaSArIDIpID09IDApCiAgICAgICAgICAgIHJldHVybiAwOwogICAgcmV0dXJuIDE7Cn0KYm9vbCBjb21wYXJlKHBhaXIgPCBsbCAsIGxsID4gcDEscGFpciA8IGxsICwgbGwgPiBwMikgewogICAgcmV0dXJuIChwMS5maXJzdCAtIHAxLnNlY29uZCkgPiAocDIuZmlyc3QgLSBwMi5zZWNvbmQpOwp9CmxsIGdjZChsbCBhLCBsbCBiKSB7CiAgICB3aGlsZSAoYiAhPSAwKQogICAgewogICAgICAgIGxsIGExID0gYTsKICAgICAgICBhID0gYjsKICAgICAgICBiID0gYTEgJSBiOwogICAgfQogICAgcmV0dXJuIGE7Cn0Kdm9pZCBzb2x2ZSgpCnsgCiAgIHN0cmluZyBzOyBjaW4+PnM7CiAgIGxsIGNvbT0wLCBjdXJsPTAsc3F1YXI9MCxicmFjdD0wOwogICBmb3JzewogICAgaWYoc1tpXT09JygnKXsKICAgICAgICBicmFjdCsrOwogICAgfQogICAgZWxzZSBpZihzW2ldPT0nKScpe2JyYWN0LS07fQogICAgZWxzZSBpZihzW2ldPT0nPCcpe2NvbSsrO30KICAgIGVsc2UgaWYoc1tpXT09Jz4nKXtjb20tLTt9CiAgICBlbHNlIGlmKHNbaV09PSd7Jyl7Y3VybCsrO30KICAgIGVsc2UgaWYoc1tpXT09J30nKXtjdXJsLS07fQogICAgZWxzZSBpZihzW2ldPT0nWycpe3NxdWFyKys7fQogICAgZWxzZSBpZihzW2ldPT0nXScpe3NxdWFyLS07fQogICB9CiAgIGxsIGFucz0oYWJzKGJyYWN0KSthYnMoY29tKSthYnMoY3VybCkrYWJzKHNxdWFyKSkvMjsKICAgaWYoY29tK2JyYWN0K3NxdWFyK2N1cmw9PTApe2NvdXQ8PGFuczw8ZW5kbDt9CiAgIGVsc2Uge2NvdXQ8PCJJbXBvc3NpYmxlXG4iO30KICAgCn0KaW50IG1haW4oKQp7CiAgICBmYXN0KCk7CiAgICBmaWxlKCk7CiAgICBpbnQgVEMgPSAxOwogICAgLy8gY2luID4+IFRDOwogICAgd2hpbGUgKFRDLS0pCiAgICB7CiAgICAgICAgc29sdmUoKTsKICAgIH0KICAgIHJldHVybiAwOwp9