#include <stdio.h>
long getval(FILE *fp)
{
  int r, g, b, dummy;
  if ((r = fgetc(fp)) == EOF)
    return EOF;
  if ((g = fgetc(fp)) == EOF)
    return EOF;
  if ((b = fgetc(fp)) == EOF)
    return EOF;
  if ((dummy = fgetc(fp)) == EOF)
    return EOF;
  return (long) r << 16 | (long) g << 8 | b;
}
int main(int argc, char *argv[])
{
  static unsigned long count[256L*256*256] = {0};
  long i;
  FILE *fp = fopen(argv[1], "rb"); /* エラーチェックしてない */
  while ((i = getval(fp)) != EOF)
    count[i]++;
  for (i = 0; i < 256L*256*256; i++)
    if (count[i]) /* 全要素を出力するにはこの行を削除 */
      printf("%ld\t%lu\n", i, count[i]);
  return 0;
}