N,K,X=gets.split.map(&:to_i) perms=[] K.times{ a,b=gets.split.map(&:to_i) a-=1 b-=1 perms.push([a,b]) } poses1=(0...N).to_a poses2=gets.split.map(&:to_i).map{|i| i-1} (0...X-1).each{|i| #puts "test1: pre : poses1[perms[i][0]],poses1[perms[i][1]]=#{poses1[perms[i][0]]},#{poses1[perms[i][1]]},#{poses1.to_a}" poses1[perms[i][0]],poses1[perms[i][1]] = poses1[perms[i][1]],poses1[perms[i][0]] #puts "test1: post: poses1[perms[i][0]],poses1[perms[i][1]]=#{poses1[perms[i][0]]},#{poses1[perms[i][1]]},#{poses1.to_a}" } (K-1).downto(X).each{|i| #puts "test2: pre : poses2[perms[i][0]],poses2[perms[i][1]]=#{poses2[perms[i][0]]},#{poses2[perms[i][1]]},#{poses2.to_a}" poses2[perms[i][0]],poses2[perms[i][1]] = poses2[perms[i][1]],poses2[perms[i][0]] #puts "test2: post: poses2[perms[i][0]],poses2[perms[i][1]]=#{poses2[perms[i][0]]},#{poses2[perms[i][1]]},#{poses2.to_a}" } result=[] (0...N).each{|j| if(poses1[j] != poses2[j]) result.push(j+1) end } puts result.join(' ')