Mårten's Theorem

Picture by YannGar
Photo of a car and a bar. Which is the same thing.

According to Mårten’s Theorem, everything which rhymes is the same thing. For example, Sheep is the same thing as Heap, Dictionary Attack is the same thing as Stack, and Tree is the same thing as the Mediterranean Sea.

Strangely, some people have objected to Mårten’s Theorem, despite being rigorously proved by Johan’s infinitely many self-referencing recursive lemmas. You have been given the task of deciding if a number of statements are consistent under Mårten’s Theorem.

You will be given a number of statements of the form
`"$X$
is $Y$"` or `"$X$ not
$Y$"`, where
$X$ and $Y$ are words consisting solely of the
characters ’a’-’z’, with a length of 1-20 characters, denoting
that $X$ is or isn’t
equivalent to $Y$. You
must decide whether the statements given are consistent with
each other. For example, the two statements `ulf is lukas` and `ulf not
lukas` contradict each other, and are not consistent with
each other.

However, you must also take Mårten’s theorem into account.
For the sake of simplicity, we say that two words rhyme if the
last $\min (3, |X|, |Y|)$
characters are the same in two words. So if this condition
holds for two words $X$
and $Y$ *that are in
the list of statements*, it is equivalent to having a
statement `"$X$ is $Y$"`.

Note that words which do not appear in any statement do not
exist, and should not be considered rhyming with anything. That
is, the two words `foo` and `moo` do *not* rhyme with each other,
unless the word `oo` or `o` exists in the input.

The first line consists of an integer $0 \le N \le 100\, 000$, the number of statements. The next $N$ lines consists of statements of the two given forms.

Output should consist of the string `"yes"`, if the statements are consistent with
each other, i.e. everything which is stated to be the same
either explicitly or by Mårten’s Theorem, really is the same.
If you can find contradiction, output the string `"wait what?"`.

Sample Input 1 | Sample Output 1 |
---|---|

4 herp is derp derp is herp herp is herp derp is derp |
yes |

Sample Input 2 | Sample Output 2 |
---|---|

3 oskar not lukas oskar is poptart lukas is smart |
wait what? |

Sample Input 3 | Sample Output 3 |
---|---|

1 moo not foo |
yes |

Sample Input 4 | Sample Output 4 |
---|---|

2 moo not foo oo is blah |
wait what? |