import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNextLine()){
String str=sc.nextLine();
System.out.println(getEnglishCharCount(str));
System.out.println(getBlankCharCount(str));
System.out.println(getNumberCharCount(str));
System.out.println(getOtherCharCount(str));
}
}
//英文字符个数
public static int getEnglishCharCount(String str){
char[] ch=str.toCharArray();
int count=0;
for(int i=0;i<ch.length;i++){
if((ch[i]>='a' && ch[i]<='z') || (ch[i]>='A' && ch[i]<='Z')){
count++;
}
}
return count;
}
//空格字符个数
public static int getBlankCharCount(String str){
char[] ch=str.toCharArray();
int count=0;
for(int i=0;i<ch.length;i++){
if(ch[i]==' '){
count++;
}
}
return count;
}
//数字字符个数
public static int getNumberCharCount(String str){
char[] ch=str.toCharArray();
int count=0;
for(int i=0;i<ch.length;i++){
if(ch[i]>='0' && ch[i]<='9'){
count++;
}
}
return count;
}
//其他字符个数
public static int getOtherCharCount(String str){
return str.length()-getEnglishCharCount(str)-getBlankCharCount(str)-getNumberCharCount(str);
}
}