/*--------------Written by www.funbutlearn.com---------------*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Dictionary {
public static void main(String[] args) throws IOException {
BufferedReader inputStream = new BufferedReader(new FileReader("D:/Dictionary.txt"));
String l;
int[] count = new int[26];
char[] letter={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
while ((l=inputStream.readLine())!=null){
switch(l.charAt(0)){
case 'a':count[0]=count[0]+1;break;
case 'b':count[1]=count[1]+1;break;
case 'c':count[2]=count[2]+1;break;
case 'd':count[3]=count[3]+1;break;
case 'e':count[4]=count[4]+1;break;
case 'f':count[5]=count[5]+1;break;
case 'g':count[6]=count[6]+1;break;
case 'h':count[7]=count[7]+1;break;
case 'i':count[8]=count[8]+1;break;
case 'j':count[9]=count[9]+1;break;
case 'k':count[10]=count[10]+1;break;
case 'l':count[11]=count[11]+1;break;
case 'm':count[12]=count[12]+1;break;
case 'n':count[13]=count[13]+1;break;
case 'o':count[14]=count[14]+1;break;
case 'p':count[15]=count[15]+1;break;
case 'q':count[16]=count[16]+1;break;
case 'r':count[17]=count[17]+1;break;
case 's':count[18]=count[18]+1;break;
case 't':count[19]=count[19]+1;break;
case 'u':count[20]=count[20]+1;break;
case 'v':count[21]=count[21]+1;break;
case 'w':count[22]=count[22]+1;break;
case 'x':count[23]=count[23]+1;break;
case 'y':count[24]=count[24]+1;break;
case 'z':count[25]=count[25]+1;break;
}
}
for(int j=0;j<26;j++){
for(int k=j+1;k<26;k++){
if(count[k]>count[j]){
int temp=count[k];
count[k]=count[j];
count[j]=temp;
char char1=letter[k];
letter[k]=letter[j];
letter[j]=char1;
}
}
}
for(int k=0;k<26;k++){
System.out.println(letter[k]+","+count[k]+","+((Double)((count[k]/236983.0)*100)).toString().substring(0, 4)+"%");
}
}
}
/*--------------Written by www.funbutlearn.com---------------*/