using System; using System.Globalization; using System.IO; using System.Linq; using System.Runtime.CompilerServices; using System.Text; class Program { static void Main() { Console.SetOut(new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false }); new Program().Solve(); Console.Out.Flush(); } void Solve() { var N = Scan.Read(); var X = Scan.Array(N); var Y = Scan.Array(N); var min = X.Zip(Y).Min(x => x.First + x.Second); Console.WriteLine(min); Console.WriteLine(0); for (int i = 0; i < N; i++) Console.WriteLine(Math.Min(X[i], min)); Console.WriteLine(min); } } public static class Scan { static Stream str = Console.OpenStandardInput(); const int size = 1024; static byte[] buffer = new byte[size]; static int ptr; static int len; static byte Read() { if (ptr == len) { len = str.Read(buffer, 0, size); ptr = 0; } return buffer[ptr++]; } static int Int() { var c = Read(); if (c < 0x21) c = Read(); var n = false; if (c == '-') { n = true; c = Read(); } var ret = 0; while (c > 0x20) { ret = ret * 10 + c - '0'; c = Read(); } return n ? -ret : ret; } static long Long() { var c = Read(); if (c < 0x21) c = Read(); var n = false; if (c == '-') { n = true; c = Read(); } var ret = 0L; while (c > 0x20) { ret = ret * 10 + c - '0'; c = Read(); } return n ? -ret : ret; } public static T Read() { if (typeof(T) == typeof(int)) { var r = Int(); var p = Unsafe.As(ref r); return p; } else if (typeof(T) == typeof(long)) { var r = Long(); var p = Unsafe.As(ref r); return p; } else if (typeof(T) == typeof(double)) { var r = double.Parse(String(), NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign); var p = Unsafe.As(ref r); return p; } else { var c = (char)Read(); if (c < 0x21) c = (char)Read(); var p = Unsafe.As(ref c); return p; } } public static T[] Array(int length) { var ret = new T[length]; for (int i = 0; i < ret.Length; i++) ret[i] = Read(); return ret; } public static string String() { var sb = new StringBuilder(); var c = Read(); if (c < 0x21) c = Read(); while (c > 0x20) { sb.Append((char)c); c = Read(); } return sb.ToString(); } public static (T1, T2) Tuple2() => (Read(), Read()); public static (T1, T2, T3) Tuple3() => (Read(), Read(), Read()); public static (T1, T2, T3, T4) Tuple4() => (Read(), Read(), Read(), Read()); }