local ior = io.input() local n, k, x = ior:read("*n", "*n", "*n", "*l") local cur = {} local last = {} for i = 1, n do cur[i] = i end for i = 1, x - 1 do local a, b = ior:read("*n", "*n", "*l") cur[a], cur[b] = cur[b], cur[a] end ior:read() -- unused local at = {} local bt = {} for i = x + 1, k do at[i - x], bt[i - x] = io.read("*n", "*n") end for i = 1, n do last[i] = ior:read("*n") end for i = k, x + 1, -1 do local q, r = last[at[i - x]], last[bt[i - x]] last[at[i - x]], last[bt[i - x]] = r, q end local fst = true for i = 1, n do if(cur[i] ~= last[i]) then io.write(i) if(fst) then fst = false io.write(" ") else io.write("\n") end end end