#!/usr/bin/gawk -f


function max(i, j) {
  return (i >= j ? i : j);
} # max()


BEGIN {

  days[1] = 0;
  days[2] = days[1] + 31;
  days[3] = days[2] + 28;
  days[4] = days[3] + 31;
  days[5] = days[4] + 30;
  days[6] = days[5] + 31;
  days[7] = days[6] + 30;
  days[8] = days[7] + 31;
  days[9] = days[8] + 31;
  days[10] = days[9] + 30;
  days[11] = days[10] + 31;
  days[12] = days[11] + 30;

} # BEGIN


{

  day = ($1 - 2003) * 365;
  day += days[int($2)];
  day += $3;

  week = int(day / 7);
  count = max(1, int($5 / 50));

  if ($4 == "beermann") {
    beermann[week] += count;
  } else if ($4 == "helge") {
    helge[week] += count;
  } else if ($4 == "oe") {
    oe[week] += count;
  } else {
    other[week] += count;
  } # else

}


END {

  sort = "/bin/sort -t, -g";

  for (i in beermann) {
#    printf("%d %03d (beermann)\n", i, beermann[i]) | sort;
    total[i] += beermann[i];
  } # for
  for (i in helge) {
#    printf("%d %03d (helge)\n", i, helge[i]) | sort;
    total[i] += helge[i];
  } # for
  for (i in oe) {
#    printf("%d %03d (oe)\n", i, oe[i]) | sort;
    total[i] += oe[i];
  } # for
  for (i in other) {
#    printf("%d %03d (other)\n", i, other[i]) | sort;
    total[i] += other[i];
  } # for

  printf("  \\plot\n");
  for (i in total) {
#    printf("%d %03d (total)\n", i, total[i]) | sort;
#    printf("%d,%d,%d,%d,%d,%d\n", 
#           i, total[i], beermann[i], helge[i], oe[i], other[i]) | sort;
    printf("%10d%10d\n", i, total[i]) | sort;
  } # for
  close(sort);
  printf("  /\n\n");

  printf("  \\plot\n");
  for (i in total) {
    printf("%10d%10d\n", i, beermann[i]) | sort;
  } # for
  close(sort);
  printf("  /\n\n");

  printf("  \\plot\n");
  for (i in total) {
    printf("%10d%10d\n", i, helge[i]) | sort;
  } # for
  close(sort);
  printf("  /\n\n");

  printf("  \\plot\n");
  for (i in total) {
    printf("%10d%10d\n", i, oe[i]) | sort;
  } # for
  close(sort);
  printf("  /\n\n");

  printf("  \\plot\n");
  for (i in total) {
    printf("%10d%10d\n", i, other[i]) | sort;
  } # for
  close(sort);
  printf("  /\n\n");


}