import core.bitop, std.bitmanip;
import core.checkedint;
import std.algorithm, std.functional, std.meta;
import std.array, std.container;
import std.bigint;
import std.conv;
import std.math, std.numeric;
import std.range, std.range.interfaces;
import std.stdio, std.string;
import std.ascii, std.typecons;

void main()
{
    int n;
    readf("%s", &n);
    readln;

    auto arr = readln.chomp.split.map!(to!int).array;
    
    auto ans = new int[] (n);
    
    int totxr = 0;
    foreach (e; arr) { totxr ^= e; }
    
    foreach (i; 0 .. n) { ans[i] = arr[i] ^ totxr; }
    
    ans.map!(to!string).join(" ").writeln;
}