import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Scanner;

public class Main {

    static InputStream is;
    static PrintWriter out;
    static String INPUT = "";

    final int INF = Integer.MAX_VALUE;
    final int MIN = Integer.MIN_VALUE;

    static void solve() {
        Scanner sc = new Scanner(System.in);
        String line = "";
        while (sc.hasNext()) {
            line += sc.nextLine();
        }
        line = line.toLowerCase();

        int[] res = new int[26];
        for (int i = 0; i < line.length(); i++) {
            int a = ((int)line.charAt(i)) - 97;
            if (a >= 28 || a < 0) {
                continue;
            }
            res[a]++;
        }
        for (int i = 0; i < 26; i++) {
            System.out.println((char) (i + 97) + " : " + res[i]);
        }
    }

    public static void main(String[] args) throws Exception {
        long S = System.currentTimeMillis();
        is = INPUT.isEmpty() ? System.in : new ByteArrayInputStream(INPUT.getBytes());
        out = new PrintWriter(System.out);

        solve();
        out.flush();
        long G = System.currentTimeMillis();
    }
} import java.io.ByteArrayInputStream; ByteArrayInputStream java.io import java.io.InputStream; InputStream java.io import java.io.PrintWriter; PrintWriter java.io import java.util.Scanner; Scanner java.util public class Main {

    static InputStream is;
    static PrintWriter out;
    static String INPUT = "";

    final int INF = Integer.MAX_VALUE;
    final int MIN = Integer.MIN_VALUE;

    static void solve() {
        Scanner sc = new Scanner(System.in);
        String line = "";
        while (sc.hasNext()) {
            line += sc.nextLine();
        }
        line = line.toLowerCase();

        int[] res = new int[26];
        for (int i = 0; i < line.length(); i++) {
            int a = ((int)line.charAt(i)) - 97;
            if (a >= 28 || a < 0) {
                continue;
            }
            res[a]++;
        }
        for (int i = 0; i < 26; i++) {
            System.out.println((char) (i + 97) + " : " + res[i]);
        }
    }

    public static void main(String[] args) throws Exception {
        long S = System.currentTimeMillis();
        is = INPUT.isEmpty() ? System.in : new ByteArrayInputStream(INPUT.getBytes());
        out = new PrintWriter(System.out);

        solve();
        out.flush();
        long G = System.currentTimeMillis();
    }
} Main static InputStream is; is static PrintWriter out; out static String INPUT = ""; INPUT "" final int INF = Integer.MAX_VALUE; INF Integer.MAX_VALUE Integer Integer.MAX_VALUE final int MIN = Integer.MIN_VALUE; MIN Integer.MIN_VALUE Integer Integer.MIN_VALUE static void solve() {
        Scanner sc = new Scanner(System.in);
        String line = "";
        while (sc.hasNext()) {
            line += sc.nextLine();
        }
        line = line.toLowerCase();

        int[] res = new int[26];
        for (int i = 0; i < line.length(); i++) {
            int a = ((int)line.charAt(i)) - 97;
            if (a >= 28 || a < 0) {
                continue;
            }
            res[a]++;
        }
        for (int i = 0; i < 26; i++) {
            System.out.println((char) (i + 97) + " : " + res[i]);
        }
    } solve {
        Scanner sc = new Scanner(System.in);
        String line = "";
        while (sc.hasNext()) {
            line += sc.nextLine();
        }
        line = line.toLowerCase();

        int[] res = new int[26];
        for (int i = 0; i < line.length(); i++) {
            int a = ((int)line.charAt(i)) - 97;
            if (a >= 28 || a < 0) {
                continue;
            }
            res[a]++;
        }
        for (int i = 0; i < 26; i++) {
            System.out.println((char) (i + 97) + " : " + res[i]);
        }
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String line = ""; line "" while (sc.hasNext()) {
            line += sc.nextLine();
        } sc.hasNext() sc.hasNext sc {
            line += sc.nextLine();
        } line += sc.nextLine() line sc.nextLine() sc.nextLine sc line = line.toLowerCase() line line.toLowerCase() line.toLowerCase line int[] res = new int[26]; res new int[26] 26 for (int i = 0; i < line.length(); i++) {
            int a = ((int)line.charAt(i)) - 97;
            if (a >= 28 || a < 0) {
                continue;
            }
            res[a]++;
        } int i = 0; int i = 0; i 0 i < line.length() i line.length() line.length line i++ i++ i {
            int a = ((int)line.charAt(i)) - 97;
            if (a >= 28 || a < 0) {
                continue;
            }
            res[a]++;
        } {
            int a = ((int)line.charAt(i)) - 97;
            if (a >= 28 || a < 0) {
                continue;
            }
            res[a]++;
        } int a = ((int)line.charAt(i)) - 97; a ((int)line.charAt(i)) - 97 ((int)line.charAt(i)) line.charAt line i 97 if (a >= 28 || a < 0) {
                continue;
            } a >= 28 || a < 0 a >= 28 a 28 a < 0 a 0 {
                continue;
            } continue; res[a]++ res[a] res a for (int i = 0; i < 26; i++) {
            System.out.println((char) (i + 97) + " : " + res[i]);
        } int i = 0; int i = 0; i 0 i < 26 i 26 i++ i++ i {
            System.out.println((char) (i + 97) + " : " + res[i]);
        } {
            System.out.println((char) (i + 97) + " : " + res[i]);
        } System.out.println((char) (i + 97) + " : " + res[i]) System.out.println System.out System System.out (char) (i + 97) + " : " + res[i] (char) (i + 97) + " : " + res[i] (char) (i + 97) i 97 " : " res[i] res i public static void main(String[] args) throws Exception {
        long S = System.currentTimeMillis();
        is = INPUT.isEmpty() ? System.in : new ByteArrayInputStream(INPUT.getBytes());
        out = new PrintWriter(System.out);

        solve();
        out.flush();
        long G = System.currentTimeMillis();
    } main {
        long S = System.currentTimeMillis();
        is = INPUT.isEmpty() ? System.in : new ByteArrayInputStream(INPUT.getBytes());
        out = new PrintWriter(System.out);

        solve();
        out.flush();
        long G = System.currentTimeMillis();
    } long S = System.currentTimeMillis(); S System.currentTimeMillis() System.currentTimeMillis System is = INPUT.isEmpty() ? System.in : new ByteArrayInputStream(INPUT.getBytes()) is INPUT.isEmpty() ? System.in : new ByteArrayInputStream(INPUT.getBytes()) INPUT.isEmpty() INPUT.isEmpty INPUT System.in System System.in new ByteArrayInputStream(INPUT.getBytes()) out = new PrintWriter(System.out) out new PrintWriter(System.out) solve() solve out.flush() out.flush out long G = System.currentTimeMillis(); G System.currentTimeMillis() System.currentTimeMillis System String[] args args public class Main {

    static InputStream is;
    static PrintWriter out;
    static String INPUT = "";

    final int INF = Integer.MAX_VALUE;
    final int MIN = Integer.MIN_VALUE;

    static void solve() {
        Scanner sc = new Scanner(System.in);
        String line = "";
        while (sc.hasNext()) {
            line += sc.nextLine();
        }
        line = line.toLowerCase();

        int[] res = new int[26];
        for (int i = 0; i < line.length(); i++) {
            int a = ((int)line.charAt(i)) - 97;
            if (a >= 28 || a < 0) {
                continue;
            }
            res[a]++;
        }
        for (int i = 0; i < 26; i++) {
            System.out.println((char) (i + 97) + " : " + res[i]);
        }
    }

    public static void main(String[] args) throws Exception {
        long S = System.currentTimeMillis();
        is = INPUT.isEmpty() ? System.in : new ByteArrayInputStream(INPUT.getBytes());
        out = new PrintWriter(System.out);

        solve();
        out.flush();
        long G = System.currentTimeMillis();
    }
} public class Main {

    static InputStream is;
    static PrintWriter out;
    static String INPUT = "";

    final int INF = Integer.MAX_VALUE;
    final int MIN = Integer.MIN_VALUE;

    static void solve() {
        Scanner sc = new Scanner(System.in);
        String line = "";
        while (sc.hasNext()) {
            line += sc.nextLine();
        }
        line = line.toLowerCase();

        int[] res = new int[26];
        for (int i = 0; i < line.length(); i++) {
            int a = ((int)line.charAt(i)) - 97;
            if (a >= 28 || a < 0) {
                continue;
            }
            res[a]++;
        }
        for (int i = 0; i < 26; i++) {
            System.out.println((char) (i + 97) + " : " + res[i]);
        }
    }

    public static void main(String[] args) throws Exception {
        long S = System.currentTimeMillis();
        is = INPUT.isEmpty() ? System.in : new ByteArrayInputStream(INPUT.getBytes());
        out = new PrintWriter(System.out);

        solve();
        out.flush();
        long G = System.currentTimeMillis();
    }
} Main
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Scanner;

public class Main {

    static InputStream is;
    static PrintWriter out;
    static String INPUT = "";

    final int INF = Integer.MAX_VALUE;
    final int MIN = Integer.MIN_VALUE;

    static void solve() {
        Scanner sc = new Scanner(System.in);
        String line = "";
        while (sc.hasNext()) {
            line += sc.nextLine();
        }
        line = line.toLowerCase();

        int[] res = new int[26];
        for (int i = 0; i < line.length(); i++) {
            int a = ((int)line.charAt(i)) - 97;
            if (a >= 28 || a < 0) {
                continue;
            }
            res[a]++;
        }
        for (int i = 0; i < 26; i++) {
            System.out.println((char) (i + 97) + " : " + res[i]);
        }
    }

    public static void main(String[] args) throws Exception {
        long S = System.currentTimeMillis();
        is = INPUT.isEmpty() ? System.in : new ByteArrayInputStream(INPUT.getBytes());
        out = new PrintWriter(System.out);

        solve();
        out.flush();
        long G = System.currentTimeMillis();
    }
}