0
Ruby, 654 bytes
This was fun. I used ASCII. I wasn't able to test every possible combination yet, so if you find a glitchy test case, please let me know.
require'set'
u=(1..gets.to_i).to_set
a,b,c=[1,2,3].map{gets.split.map(&:to_i).to_set}
puts (u-a-b-c).to_a*' '
m,M,n,N,o,O,p,P,q,Q,r,R,s,S=[a-...