class Program
    {
        static int[] Method_1(ref int n)
        {
            int[] arr1 = new int[n];
            for (int i = 0; i  n; i++)
            {
                arr1[i] = int.Parse(Console.ReadLine());
            }
            return arr1;
        }
        static void Method_2(ref int n, ref int[] arr1)
        {
            for (int i = 0; i  n; i++)
            {
                Console.Write(arr1[i]+t);
            }
           
        }
        static int[] Method_3(ref int n, ref int[] arr1)
        {
            int[] arr2 = new int[n];
            for (int i = n - 1; i  -1; i--)
            {
                arr2[i] = arr1[i];
            }
            return arr2;
        }
        static void Method_4(ref int n, ref int[] arr2)
        { 
                    for (int i = n - 1; i  -1; i--)
                    {
                        Console.Write(arr2[i] + t);
                    }
        }
static int[] Method_5(ref int n, ref int[] arr1)
{
    int[] arr3 = new int[n];
    arr3[0] = arr1[0];
    for (int i = 1; i  n; i++)
    {
        arr3[i] = arr3[i - 1]  arr1[i];
    }
    return arr3;
}
static void Method_6(ref int n, ref int[] arr3)
        { 
                    for (int i = 0; in; i++)
                    {
                        Console.Write(arr3[i] + t);
                    }
         }
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());

            int[] arr1 = Method_1(ref n);
            int[] arr2 = Method_3(ref n, ref arr1);
            int[] arr3 = Method_5(ref n, ref arr1);
            Method_2(ref n, ref arr1);
            Console.WriteLine();
            Method_4(ref n, ref arr2);
            Console.WriteLine();
            Method_6(ref n, ref arr3);

        }
    }