#include <stdio.h>
#include <string.h>

int main(int argc, char **argv) {
char line[80], lastcanon[80], *s;
char lets[200]; // covers all languages
char bingos[200*9];
int count = 0;

  strcpy(lastcanon, "@@@@@@");
  *lets = '\0'; *bingos = '\0';
  for (;;) {
    if (gets(line) == NULL) break;
    if (strncmp(line, lastcanon, 6) == 0) {
      count += 1; lets[strlen(lets)+1] = '\0'; lets[strlen(lets)] = line[7];
      strcat(bingos, " "); strcat(bingos, line+9);
    } else {
      if (count > 1) { // flush any dups
        printf("%03d %s+%s -> %s\n", count, lastcanon, lets, bingos);
      }
      strcpy(bingos, line+9);
      strncpy(lastcanon, line, 6); *lets = line[7]; lets[1] = '\0'; count = 1;
    }
  }
  return(0);
}
