//dp[i][0] 表示type i 时cap处于关的状态
//dp[i][1] 表示开的状态。
//注意,初始化的时候要将dp[0][1]=1其他为0
//因为开始的时候cap是关的
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std;
const int maxn = 108;
int dp[maxn][2];
char a[maxn];
int n;
void init(){
scanf("%s",a);
n = strlen(a);
memset(dp,0,sizeof(dp));
dp[0][1]=1;
}
void solve(){
for (int i=0;i<n;i++){
if (a[i]>='a'&&a[i]<='z'){
dp[i+1][0] = min(dp[i][0]+1,dp[i][1]+2);
dp[i+1][1] = min(dp[i][0]+2,dp[i][1]+2);
}else {
dp[i+1][0] = min(dp[i][0]+2,dp[i][1]+2);
dp[i+1][1] = min(dp[i][0]+2,dp[i][1]+1);
}
}
}
void print(){
printf("%d\n",min(dp[n][0],dp[n][1]+1));
}
int main(){
int t;
freopen("G:\\Code\\1.txt","r",stdin);
scanf("%d",&t);
while(t--){
init();
solve();
print();
}
}