You are given a string $s$. And you have a function $f(x)$ defined as:
f(x) = 1, if $x$ is a vowel
f(x) = 0, if $x$ is a constant

Your task is to apply the above function on all the characters in the string s and convert 
the obtained binary string in decimal number $M$.
Since the number $M$ can be very large, compute it modulo $10^9+7$. 

-----Input:-----
- The first line of the input contains a single integer $T$ i.e the no. of test cases. 
- Each test line contains one String $s$ composed of lowercase English alphabet letters. 

-----Output:-----
For each case, print a single line containing one integer $M$ modulo $10^9 + 7$.

-----Constraints-----
- $1 ≤ T ≤ 50$
- $|s|≤10^5$

-----Subtasks-----
- 20 points : $|s|≤30$
- 80 points : $ \text{original constraints}$

-----Sample Input:-----
1
hello

-----Sample Output:-----
9

Starter code:

Solutions:
t=int(input())
MOD=(10**9)+7
l=['a','e','i','o','u']
for i in range(t):
 s=input()
 k=[]
 for j in s:
  if j in l:
   k.append(1)
  else:
   k.append(0)
 r=bin(int(''.join(map(str, k)), 2) << 1)
 print((int(r,2)//2)%MOD)


for _ in range(int(input())):
 s=input()
 ss=list(s)
 for n, i in enumerate(ss):
  if i in 'aeiou':
   ss[n] = 1
  else:
   ss[n]=0
 print(int(''.join(map(str,ss)),2))

for _ in range(int(input())):
 a=input()
 b=[]
 for i in a:
  if i in ['a','e','i','o','u','A','E','I','O','U']:b.append(1)
  else:b.append(0)
 c=0
 l=len(a)
 for i in range(l):
  if b[-i-1]:c+=1<<i
 print(c)

for _ in range(int(input())):
 s=input()
 s=list(s)
 for n, i in enumerate(s):
  if i in 'aeiou':
   s[n] = 1
  else:
   s[n]=0
 print(int(''.join(map(str,s)),2))

for _ in range(int(input())):
 s=input()
 s=list(s)
 for n, i in enumerate(s):
  if i in 'aeiou':
   s[n] = 1
  else:
   s[n]=0
 m = ''.join(map(str,s))
 print(int(m,2))

# cook your dish here
def val(c): 
 if c >= '0' and c <= '9': 
  return ord(c) - ord('0') 
 else: 
  return ord(c) - ord('A') + 10; 

# Function to convert a number 
# from given base 'b' to decimal 
def toDeci(str,base): 
 llen = len(str) 
 power = 1 #Initialize power of base 
 num = 0 #Initialize result 

 # Decimal equivalent is str[len-1]*1 + 
 # str[len-1]*base + str[len-1]*(base^2) + ... 
 for i in range(llen - 1, -1, -1): 
  
  # A digit in input number must 
  # be less than number's base 
  if val(str[i]) >= base: 
   print('Invalid Number') 
   return -1
  num += val(str[i]) * power 
  power = power * base 
 return num 

t=int(input())
for _ in range(t):
 s=input()
 s1=[]
 
 for i in range(len(s)):
  if s[i]=='a'or s[i]=='e'or s[i]=='i' or s[i]=='o' or s[i]=='u':
   s1.append(1)
  else:
   s1.append(0)
 s2=''.join([str(elem) for elem in s1]) 
 print(toDeci(s2, 2)) 

   


for _ in range(int(input())):
 a=input()
 b=[]
 for i in a:
  if i in ['a','e','i','o','u']:b.append(1)
  else:b.append(0)
 c=0
 l=len(a)
 for i in range(l):
  if b[-i-1]:c+=1<<i
 print(c)

t=int(input())
l=['a','e','i','o','u']
for i in range(t):
 s=input()
 k=[]
 for j in s:
  if j in l:
   k.append(1)
  else:
   k.append(0)
 r=bin(int(''.join(map(str, k)), 2) << 1)
 print(int(r,2)//2)

t=int(input())
l=['a','e','i','o','u']
for i in range(t):
 s=input()
 k=[]
 for j in s:
  if j in l:
   k.append(1)
  else:
   k.append(0)
 r=bin(int(''.join(map(str, k)), 2) << 1)
 print(int(r,2)//2)

# cook your dish here
t=int(input())
for _ in range(t):
 s=input()
 s1=[]
 
 for i in range(len(s)):
  if s[i]=='a'or s[i]=='e'or s[i]=='i' or s[i]=='o' or s[i]=='u':
   s1.append(1)
  else:
   s1.append(0)
 s2=''.join([str(elem) for elem in s1]) 
 
 print(int(s2,2))
   


t=int(input())
for i in range(0,t):
 s=input()
 l=len(s)
 ans=0
 for j in range(0,l):
  if s[j]=='a' or s[j]=='e' or s[j]=='i' or s[j]=='o' or s[j]=='u':
   c=1
  else:
   c=0
  ans=ans+c*pow(2,l-1)
  l=l-1
 print(ans%1000000007) 

vowel=['a','e','i','o','u']
def f(n):
 return 1 if n in vowel else 0

for _ in range(int(input())):
 a=input()
 num=''
 for i in a:
  num+=str(f(i))
 print(int(num,2)%1000000007)

for _ in range(int(input())):
 S=input()
 M = 1000000007
 l=[]
 for i in range(len(S)):
  if (S[i]=="a" or S[i]=="e" or S[i]=="i" or S[i]=="o" or S[i]=="u"):
   l.append(1)
  else:
   l.append(0)
 k="".join(str(x) for x in l)
 N=int(k,2)%M
 print(N)

def fun(x):
 if x in ['a','e','i','o','u']:
  return '1'
 else:
  return '0'

try:
 t=int(input())
 j=0
 while(j<t):
  s=''
  st=input()
  if(not st.isalpha):
   return
  for i in st:
   va=fun(i)
   #print(va)
   s=s+va
  #print(s)
  a=int(s,2)
  print(a%1000000007)
except:
 return


def fun(x):
 if x in ['a','e','i','o','u']:
  return '1'
 else:
  return '0'

try:
 t=int(input())
 j=0
 while(j<t):
  s=''
  st=input()
  if(not st.isalpha):
   return
  for i in st:
   va=fun(i)
   #print(va)
   s=s+va
  #print(s)
  a=int(s,2)
  print(a%1000000007)
except:
 return


t=int(input())
for x in range(t):
 ss=""
 s=input()
 for i in s:
  if i in "aeiou":
   ss=ss+"1"
  else:
   ss=ss+"0"
 l = len(ss)
 res=0
 for i in range(l):
  res=res+((int(ss[i]))*(pow(2,l-1-i,1000000007)))
  res=res%1000000007
 print(res)

def fun(x):
 if x in ['a','e','i','o','u']:
  return '1'
 else:
  return '0'

try:
 t=int(input())
 j=0
 while(j<t):
  s=''
  st=input()
  if(not st.isalpha):
   return
  for i in st:
   va=fun(i)
   #print(va)
   s=s+va
  #print(s)
  a=int(s,2)
  print(a)
except:
 return


t=int(input())
for i in range(t):
 st=input()
 li=list(map(lambda c:str(int(c.lower() in ['a','i','e','o','u'])),st))
 print(int("".join(li),2)%(10**9+7))

# cook your dish here
n=int(input())
m=pow(10,9)+7
for i in range(n):
 s=list(input())
 c=[None]*len(s)
 for j in range(len(s)):
  c[j]=-1
  
 for j in range(len(s)):
  if(s[j]=='a' or s[j]=='i' or s[j]=='e' or s[j]=='o' or s[j]=='u'):
   c[j]=1 
  else:
   c[j]=0
 d=len(s)-1
 a=0
 for j in range(0,len(s)):
  k=pow(2,d)
  a+=(k*c[j])
  d-=1
 print(a%m) 


t=int(input())
for j in range(t):
 s=input()
 n=len(s)
 e=0
 for i in range(n):
  ch=s[i]
  if(ch=='a'or ch =='e'or ch=='i' or ch=='o' or ch=='u'):
   e+=pow(2,(n-i-1),1000000007)
   e=e%1000000007
 print(int(e))
 


for _ in range(int(input())):
 S=input()
 l=[]
 for i in range(len(S)):
  if (S[i]=="a" or S[i]=="e" or S[i]=="i" or S[i]=="o" or S[i]=="u"):
   l.append(1)
  else:
   l.append(0)
 k="".join(str(x) for x in l)
 N=int(k,2)
 print(N)

t=int(input())
for i in range(t):
 st=input()
 bi=list(map(lambda c:str(int(c.lower() in ['a','i','e','o','u'])),st))
 print(int("".join(bi),2)%(10**9+7))

# cook your dish here
n=int(input())
m=pow(10,9)+7
for i in range(n):
 s=list(input())
 c=[None]*len(s)
 for j in range(len(s)):
  c[j]=-1
  
 for j in range(len(s)):
  if(s[j]=='a' or s[j]=='i' or s[j]=='e' or s[j]=='o' or s[j]=='u'):
   c[j]=1 
  else:
   c[j]=0
 d=len(s)-1
 a=0
 for j in range(0,len(s)):
  k=pow(2,d)
  a+=(k*c[j])
  d-=1
 print(a) 


t=int(input())
for x in range(t):
 ss=""
 s=input()
 for i in s:
  if i in "aeiou":
   ss=ss+"1"
  else:
   ss=ss+"0"
 l = len(ss)
 res=0
 for i in range(l):
  res=res+((int(ss[i]))*((2**(l-1-i))%1000000007))%1000000007
 print(res)