#include #include struct entry { struct entry *next; int val; }; int main (void) { unsigned seqs; struct entry *list, **lp; scanf ("%u", &seqs); lp = &list; for (;;) /* Prvni posloupnost nacteme celou */ { int val; struct entry *e; scanf ("%d", &val); if (val < 0) break; e = malloc (sizeof (*e)); e->val = val; *lp = e; lp = &e->next; } *lp = NULL; while (--seqs != 0) { lp = &list; for (;;) { int val; scanf ("%d", &val); if (val < 0) break; while (*lp != NULL && (*lp)->val < val) *lp = (*lp)->next; if (*lp != NULL && (*lp)->val == val) lp = &(*lp)->next; } *lp = NULL; /* Zahodime zbyly konec seznamu */ } while (list != NULL) { printf ("%d%c", list->val, list->next != NULL ? ' ' : '\n'); list = list->next; } return EXIT_SUCCESS; }