using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Numerics; using System.Text; using System.Threading.Tasks; using CSharp7.Library; using static System.Math; using static System.Linq.Enumerable; using static CSharp7.Library.Extentions; namespace CSharp7 { public static class Program { public static void Solve(IO io) { var (n, k, x) = io.Read(); var (a, b) = io.ReadMany(x - 1); io.ReadLine(); var (ra, rb) = io.ReadMany(k - x); var rc = io.ReadMany(n); var c = Range(1, n).ToArray(); for (var i = 0; i < a.Length; i++) Swap(ref c[a[i] - 1], ref c[b[i] - 1]); for (var i = ra.Length - 1; i >= 0; i--) Swap(ref rc[ra[i] - 1], ref rc[rb[i] - 1]); for (var i = 0; i < c.Length; i++) if (c[i] != rc[i]) io.Write(i + 1); } public static void Main() { var sw = new StreamWriter(Console.OpenStandardOutput()) { NewLine = "\n" }; #if DEBUG sw.AutoFlush = true; #else sw.AutoFlush = false; #endif Console.SetOut(sw); Solve(new IO(Console.In, Console.Out)); Console.Out.Flush(); } } } namespace CSharp7.Library { public delegate T Parser(string str); public delegate string Serializer(T value); public class IO { private static readonly Dictionary _parsers = new Dictionary { { typeof(string), (Parser)(s => s) }, { typeof(char), (Parser)char.Parse }, { typeof(int), (Parser)int.Parse }, { typeof(long), (Parser)long.Parse }, { typeof(double), (Parser)double.Parse }, { typeof(decimal), (Parser)decimal.Parse }, { typeof(BigInteger), (Parser)BigInteger.Parse }, }; private static readonly Dictionary _serializers = new Dictionary { { typeof(string), (Serializer)(s => s) }, { typeof(char), (Serializer)(c => c.ToString()) }, { typeof(int), (Serializer)(i => i.ToString()) }, { typeof(long), (Serializer)(l => l.ToString()) }, { typeof(double), (Serializer)(d => d.ToString()) }, { typeof(decimal), (Serializer)(d => d.ToString()) }, { typeof(BigInteger), (Serializer)(b => b.ToString()) }, }; private TextReader _sr; private TextWriter _sw; public IO(TextReader sr, TextWriter sw) { _sr = sr; _sw = sw; } public string ReadLine() => _sr.ReadLine(); public string ReadWord() { var sb = new StringBuilder(); var c = _sr.Read(); while (c != ' ' && c != '\n') { sb.Append((char)c); c = _sr.Read(); } return sb.ToString(); } public T Read(Parser p = null) => (p ?? GetParser())(ReadWord()); public (T1, T2) Read(Parser p1 = null, Parser p2 = null) => (Read(p1 ?? GetParser()), Read(p2 ?? GetParser())); public (T1, T2, T3) Read( Parser p1 = null, Parser p2 = null, Parser p3 = null) => (Read(p1 ?? GetParser()), Read(p2 ?? GetParser()), Read(p3 ?? GetParser())); public (T1, T2, T3, T4) Read( Parser p1 = null, Parser p2 = null, Parser p3 = null, Parser p4 = null) => (Read(p1 ?? GetParser()), Read(p2 ?? GetParser()), Read(p3 ?? GetParser()), Read(p4 ?? GetParser())); public T[] ReadMany(int count, Parser p = null) { var a = new T[count]; for (var i = 0; i < count; i++) a[i] = Read(p); return a; } public (T1[], T2[]) ReadMany(int count, Parser p1 = null, Parser p2 = null) { var a1 = new T1[count]; var a2 = new T2[count]; for (var i = 0; i < count; i++) (a1[i], a2[i]) = Read(p1, p2); return (a1, a2); } public (T1[], T2[], T3[]) ReadMany(int count, Parser p1 = null, Parser p2 = null, Parser p3 = null) { var a1 = new T1[count]; var a2 = new T2[count]; var a3 = new T3[count]; for (var i = 0; i < count; i++) (a1[i], a2[i], a3[i]) = Read(p1, p2, p3); return (a1, a2, a3); } public (T1[], T2[], T3[], T4[]) ReadMany(int count, Parser p1 = null, Parser p2 = null, Parser p3 = null, Parser p4 = null) { var a1 = new T1[count]; var a2 = new T2[count]; var a3 = new T3[count]; var a4 = new T4[count]; for (var i = 0; i < count; i++) (a1[i], a2[i], a3[i], a4[i]) = Read(p1, p2, p3, p4); return (a1, a2, a3, a4); } public void Write(T v, Serializer s = null) { _sw.Write(s?.Invoke(v) ?? GetSerializer()(v)); _sw.Write(' '); } public void Write(T1 v1, T2 v2, Serializer s1 = null, Serializer s2 = null) { Write(v1, s1); Write(v2, s2); } public void Write(T1 v1, T2 v2, T3 v3, Serializer s1 = null, Serializer s2 = null, Serializer s3 = null) { Write(v1, s1); Write(v2, s2); Write(v3, s3); } public void Write(T1 v1, T2 v2, T3 v3, T4 v4, Serializer s1 = null, Serializer s2 = null, Serializer s3 = null, Serializer s4 = null) { Write(v1, s1); Write(v2, s2); Write(v3, s3); Write(v4, s4); } public void WriteLine(T v, Serializer s = null) { Write(v, s); _sw.WriteLine(); } public void WriteLine(T1 v1, T2 v2, Serializer s1 = null, Serializer s2 = null) { Write(v1, v2, s1, s2); _sw.WriteLine(); } public void WriteLine(T1 v1, T2 v2, T3 v3, Serializer s1 = null, Serializer s2 = null, Serializer s3 = null) { Write(v1, v2, v3, s1, s2, s3); _sw.WriteLine(); } public void WriteLine(T1 v1, T2 v2, T3 v3, T4 v4, Serializer s1 = null, Serializer s2 = null, Serializer s3 = null, Serializer s4 = null) { Write(v1, v2, v3, v4, s1, s2, s3, s4); _sw.WriteLine(); } public void WriteMany(IEnumerable vs, Serializer s = null) { foreach (var v in vs) Write(v, s); _sw.WriteLine(); } public void WriteMany(IEnumerable vs1, IEnumerable vs2, Serializer s1 = null, Serializer s2 = null) { foreach (var (v1, v2) in vs1.Zip(vs2, ValueTuple.Create)) Write(v1, v2, s1, s2); _sw.WriteLine(); } public void WriteMany( IEnumerable vs1, IEnumerable vs2, IEnumerable vs3, Serializer s1 = null, Serializer s2 = null, Serializer s3 = null) { foreach (var (v1, v2, v3) in vs1.Zip(vs2, vs3, ValueTuple.Create)) Write(v1, v2, v3, s1, s2, s3); _sw.WriteLine(); } public void WriteMany( IEnumerable vs1, IEnumerable vs2, IEnumerable vs3, IEnumerable vs4, Serializer s1 = null, Serializer s2 = null, Serializer s3 = null, Serializer s4 = null) { foreach (var (v1, v2, v3, v4) in vs1.Zip(vs2, vs3, vs4, ValueTuple.Create)) Write(v1, v2, v3, v4, s1, s2, s3, s4); _sw.WriteLine(); } private Parser GetParser() => (Parser)_parsers[typeof(T)]; private Serializer GetSerializer() => (Serializer)_serializers[typeof(T)]; } public static class Extentions { public static void Swap(ref T x, ref T y) { var tmp = x; x = y; y = tmp; } public static void ForEach(this IEnumerable source, Action action) { foreach (var item in source) action(item); } public static void ForEach(this IEnumerable source, Func func) { foreach (var item in source) func(item); } public static void ForEach(this IEnumerable source, Action action) { var i = 0; foreach (var item in source) action(item, i++); } public static void ForEach(this IEnumerable source, Func func) { var i = 0; foreach (var item in source) func(item, i++); } public static IEnumerable Zip(this IEnumerable first, IEnumerable second, IEnumerable thrid, Func resultSelector) { using (var e1 = first.GetEnumerator()) using (var e2 = second.GetEnumerator()) using (var e3 = thrid.GetEnumerator()) while (e1.MoveNext() && e2.MoveNext() && e3.MoveNext()) yield return resultSelector(e1.Current, e2.Current, e3.Current); } public static IEnumerable Zip(this IEnumerable first, IEnumerable second, IEnumerable thrid, IEnumerable fourth, Func resultSelector) { using (var e1 = first.GetEnumerator()) using (var e2 = second.GetEnumerator()) using (var e3 = thrid.GetEnumerator()) using (var e4 = fourth.GetEnumerator()) while (e1.MoveNext() && e2.MoveNext() && e3.MoveNext() && e4.MoveNext()) yield return resultSelector(e1.Current, e2.Current, e3.Current, e4.Current); } } }