Problem: Marut loves good strings. According to him, good strings are those which contain either all alphabets of uppercase or lowercase.
While he is preparing for his exams, he finds many bad strings in his book and wants to convert them to good strings.
But he wants to do this in minimum number of operations.
 In one operation, he can pick only one character of any case and convert it 
to any other case.

As his exams are going on, he wants your help.

Input:
The first line contains an integer T, denoting the number of test cases.
Each test case consists of only one line with a string S which contains uppercase and lowercase alphabets..

Output:
Print the minimum number of operations, in which Marut can obtain a good string.
Print the answer for each test case in new line.

Constraints:
1 ≤ T ≤ 10
If T is not in this range, print "Invalid Test" (without the quotes)
1 ≤ Length of S ≤ 100
S can contain numbers, special characters but no spaces.
If the length of string is not in the above range or it does not contain any alphabets, print "Invalid Input" (without the quotes)  

For Example, if the input is:
0
TestString  

Print "Invalid Test" (without the quotes)

SAMPLE INPUT
3
abcEfg
!@6#2
123A

SAMPLE OUTPUT
1
Invalid Input
0

Solution (in PYTHON):

Solution:
'''
# Read input from stdin and provide input before running code

name = raw_input('What is your name?\n')
print 'Hi, %s.' % name
'''
import re
num=raw_input()
if num=="a" or int(num)<1 or int(num)>10 :
    print "Invalid Test"
else:
    for g in range(0,int(num)):
        st= raw_input()
        if re.search( "([A-Za-z])",st)==None or len(st)>100:
            print "Invalid Input"
        else:
            P=re.compile("[A-Z]")
            p=re.compile("[a-z]")
            n1=0
            n2=0
            for m in P.finditer(st):
                n1+=1
            for m in p.finditer(st):
                n2+=1

            print min(n1,n2)