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

int main(int argc, char **argv) {
  char line[256], lastcanon[256], lastword[256], *word;

  strcpy(lastcanon, "*Undefined*");
  for (;;) {
    if ((gets(line) == NULL) || ((word = strchr(line, '=')) == NULL)) break;
    *word++ = '\0'; // word is the current word just read, line is the canonical key for it
    if (strcmp(line, lastcanon) == 0) {
      // We have at least one match
      printf("%s", lastword);
      for (;;) {
        printf(" %s", word);
        if ((gets(line) == NULL) || ((word = strchr(line, '=')) == NULL)) break;
        *word++ = '\0';
        if (strcmp(line, lastcanon) != 0) break; // next word
      }
      printf("\n");
    }
    strcpy(lastcanon, line);
    strcpy(lastword, word);
  }
  return(0);
}