Problem: You are given string s consists of opening and closing brackets of four kinds <>, {}, [], (). There are two types of brackets: opening and closing. You can replace any bracket by another of the same type. For example, you can replace < by the bracket {, but you can't replace it by ) or >.

The following definition of a regular bracket sequence is well-known, so you can be familiar with it.

Let's define a regular bracket sequence (RBS). Empty string is RBS. Let s1 and s2 be a RBS then the strings <s1>s2, {s1}s2, [s1]s2, (s1)s2 are also RBS.

For example the string "[[(){}]<>]" is RBS, but the strings "[)()" and "][()()" are not.

Determine the least number of replaces to make the string s RBS.

Input

The only line contains a non empty string s, consisting of only opening and closing brackets of four kinds. The length of s does not exceed 106.

Output

If it's impossible to get RBS from s print Impossible.

Otherwise print the least number of replaces needed to get RBS from s.

Examples

Input

[&lt;}){}


Output

2

Input

{()}[]


Output

0

Input

]]


Output

Impossible

Solution (in PYTHON):

Solution:
def find(x):
    global left
    global right
    for i in range(0,4):
        if right[i]==x:
            return i
    return -99999999999999
import random
left=['{','[','(','<']
right=['}',']',')','>']
for v in range(0,1):
    stk=[]
    s=raw_input()
    #print s
    #s="<{>({"
    #print s
    n=len(s)
    length=0
    minus1=False
    count=0
    for i in range(0,n):
        #print stk,length,"i =",i
        if s[i] in left:
            stk.append(s[i])
            length+=1
        else:
            if length>0:
                if stk[length-1]!=left[find(s[i])]:
                    #print "??????",stk,length,s[i],stk[length-1],count,i
                    count+=1
                    stk.pop()
                    length-=1
                else:
                    #print stk,"///"
                    stk.pop()
                    length-=1
            else:
                #print stk,length,"****"
                minus1=True
                break
        
    if minus1==True or length>0:
        print "Impossible"
    else:
        #print "ini",count
        if length>0:
            count+=length
        print count