What logic gates work given the input? Introduction
Logic gates! Everyone knows them, everyone loves them (unless you're starting to learn them). Take two booleans, compare them, get a single boolean in return. AND, NAND, OR, NOR, XOR, XNOR. Fun! But, what if you only had the inputs and output, but not the operator?

Challenge
Given a three digit number, xyz, where x and y are inputs to the unknown gate(s) and z is the output, list all the possible gates. The output order doesn't matter but it must be all caps and separated by a space. This is code-golf, so the shortest answer wins!
Example Inputs and Outputs
Inputs:

001
101
111

Outputs:

NAND NOR XNOR
NAND OR XOR
AND OR XNOR
JavaScript (ES6),  58  56 bytes
n=&gt;`25AND 41OR X37OR`.replace(/\d+/g,m=&gt;m&gt;&gt;n%6&amp;1?'':'N')

Try it online!
How?
Given the input \$n\$, we compute \$n\bmod 6\$ to get an index into 3 small lookup bit masks.
It's worth noting that all operations are commutative, i.e. \$(X \operatorname{op} Y)=(Y \operatorname{op} X)\$ even when \$X=\lnot Y\$. So the collisions between 011 and 101 and between 010 and 100 are actually very welcome.
 n (decimal) | n mod 6 | NAND | NOR | XNOR
-------------+---------+------+-----+------
  011 or 101 |    5    |   0  |  1  |  1
  010 or 100 |    4    |   1  |  0  |  0
         111 |    3    |   1  |  1  |  0
         110 |    2    |   0  |  0  |  1
         001 |    1    |   0  |  0  |  0
         000 |    0    |   1  |  1  |  1
                           |     |     |
                           |     |     +--&gt; 0b100101 = 37
                           |     +--------&gt; 0b101001 = 41
                           +--------------&gt; 0b011001 = 25

We look for the bit masks in the string &quot;25AND 41OR X37OR&quot; and replace them with either &quot;N&quot; or an empty string.