--- from: http://rosettacode.org/wiki/Symmetric_difference note: Discrete math