Quineoid Triple - A(B) = C Write three different programs such that when any one program is provided as input to one of the other two, you get the source of the remaining program as output. More explicitly, given programs \$A\$, \$B\$, and \$C\$, where \$f(g)\$ denotes the output obtained from inputting the text of program \$g\$ into program \$f\$, all of the following must hold:

\$ A(B) = C \$
\$ A(C) = B \$
\$ B(A) = C \$
\$ B(C) = A \$
\$ C(A) = B \$
\$ C(B) = A \$

Rules and Scoring

This is code-golf, so the shortest program length total, in bytes wins.
Standard quine rules apply.
Each program must be at least one byte different from the other two
Each program can be in any language. Any number of them may share languages or each may use a different language.
Use any convenient IO format as long as each program uses a consistent convention.

Functions are allowed, as this counts as &quot;any convenient IO&quot;.


The result of feeding a program its own source code is undefined
The result of feeding anything other than program text of either of the other two programs is undefined.
C, 243 240 180 132 57 bytes
f(int*v){ v[4]^=1;}

f(int*v){ v[4]^=2;}

f(int*v){ v[4]^=3;}

Try it online: A B C
The input program can be passed as a char* to the function f, and is implicitly converted to an int*.
-60 bytes thanks to @Neil
-48 bytes thanks to @Bubbler
-72 bytes thanks to @AZTECCO