import java.util.*;

public class VainYksi {
    static int etsi1(int[] t) { // O(n log n)
        // järjestäminen???
        Arrays.sort(t);
        // mitä on vain yksi?
        for (int i = 0; i < t.length-1; i++) {
            if (t[i] == t[i+1]) {
                i++;
            } else {
                return t[i];
            }
        }
        return t[t.length-1]; // viimeisenä?
    }

    static int etsi2(int[] t) { // O(n)
        HashMap<Integer,Integer> tilasto = new HashMap<>();
        // montako kertaa mitäkin lukua on?
        for (int i = 0; i < t.length; i++) {
            // tilasto[t[i]]++;
            int kerrat = tilasto.getOrDefault(t[i],0); // O(1)
            kerrat++;
            tilasto.put(t[i],kerrat); // O(1)
        }
        // mitä on vain yksi?
        for (int i = 0; i < t.length; i++) {
            if (tilasto.get(t[i]) == 1) return t[i]; // O(1)
        }
        return 0;
    }

    static int etsi3(int[] t) { // O(n)
        int x = 0;
        for (int i = 0; i < t.length; i++) {
            x = x^t[i];
        }
        return x;
    }

    public static void main(String[] args) {
        System.out.println(etsi3(new int[] {5,2,5,3,2})); // 3
        System.out.println(etsi3(new int[] {1,1,2,2,3})); // 3
        System.out.println(etsi3(new int[] {2,1,1})); // 3
    }
}
