高级光能
#include<bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC optimize(3)
using namespace std;
string s;
int dp[100005],dp2[100005];
int main(){
cin>>s;
int length=s.size()-1;
if(s[0]>='a'&&s[0]<='z'){
dp[0]=1;
}else{
dp[0]=0;
}
for(int i=1;i<=length;i++){
if(s[i]>='a'&&s[i]<='z'){
dp[i]=dp[i-1]+1;
}else{
dp[i]=dp[i-1];
}
}
if(s[length]>='A'&&s[length]<='Z'){
dp2[length]=1;
}else{
dp2[length]=0;
}
for(int i=length-1;i>=0;i--){
if(s[i]>='A'&&s[i]<='Z'){
dp2[i]=dp2[i+1]+1;
}else{
dp2[i]=dp2[i+1];
}
}
int ans=INT_MAX;
for(int i=0;i<=length;i++){
ans=min(ans,dp[i]+dp2[i]-1);
}
cout<<ans;
return 0;
}