Problem: Polycarp loves ciphers. He has invented his own cipher called repeating.

Repeating cipher is used for strings. To encrypt the string s=s_{1}s_{2} ... s_{m} (1 ≤ m ≤ 10), Polycarp uses the following algorithm:

  * he writes down s_1 ones, 
  * he writes down s_2 twice, 
  * he writes down s_3 three times, 
  * ... 
  * he writes down s_m m times. 



For example, if s="bab" the process is: "b" → "baa" → "baabbb". So the encrypted s="bab" is "baabbb".

Given string t — the result of encryption of some string s. Your task is to decrypt it, i. e. find the string s.

Input

The first line contains integer n (1 ≤ n ≤ 55) — the length of the encrypted string. The second line of the input contains t — the result of encryption of some string s. It contains only lowercase Latin letters. The length of t is exactly n.

It is guaranteed that the answer to the test exists.

Output

Print such string s that after encryption it equals t.

Examples

Input


6
baabbb


Output


bab

Input


10
ooopppssss


Output


oops

Input


1
z


Output


z

Solution (in JAVA):

Solution:
import java.io.BufferedReader;
// import java.io.FileInputStream;
// import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.*;

import static java.lang.Math.*;
import static java.util.Arrays.copyOf;
import static java.util.Arrays.fill;
import static java.util.Arrays.sort;
import static java.util.Collections.reverseOrder;
import static java.util.Collections.sort;

public class Main {
    FastScanner in;
    PrintWriter out;

    private void solve() throws IOException {
        solveA();
        // solveB();
        // solveC1();
        // solveC2();
        // solveD();
        // solveE();
        // solveF();
    }

    private void solveA() throws IOException {
        char[] s = in.next().toCharArray();
        for (int i = 0; i < s.length; i++)
            out.print(s[(s.length - 1) / 2 + (i % 2 == 0 ? -i / 2 : 1 + i / 2)]);
    }

    private void solveB() throws IOException {
        long n = in.nextLong(), k = in.nextLong();
        long ans = Long.MAX_VALUE;

        for (long a = 1; a * a <= n; a++) {
            if (n % a == 0) {
                long b = n / a;

                if (a < k)
                    ans = min(ans, b * k + a);
                if (b < k)
                    ans = min(ans, a * k + b);
            }
        }
        out.println(ans);
    }

    private void solveC1() throws IOException {
        int[] x = new int[3];
        int[] y = new int[3];
        for (int i = 0; i < 3; i++) {
            x[i] = in.nextInt();
            y[i] = in.nextInt();
        }

        int cnt = Integer.MAX_VALUE, ii = -1, jj = -1;

        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                int cur = 3;
                for (int k = 0; k < 3; k++)
                    cur += max(abs(x[k] - x[i]) - 1, 0) + max(abs(y[k] - y[i]) - 1, 0);
                if (i != j)
                    cur++;

                if (cnt > cur) {
                    cnt = cur;
                    ii = i;
                    jj = j;
                }
            }
        }

        out.println(cnt);

    }

    private void solveC2() throws IOException {
        int[] x = new int[3];
        int[] y = new int[3];
        for (int i = 0; i < 3; i++) {
            x[i] = in.nextInt();
            y[i] = in.nextInt();
        }

        TreeSet<String> ans = new TreeSet<>();

        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                TreeSet<String> cur = new TreeSet<>();
                for (int k = 0; k < 3; k++) {
                    for (int X = x[k]; X <= x[i]; X++)
                        cur.add(X + " " + y[k]);
                    for (int X = x[k]; X >= x[i]; X--)
                        cur.add(X + " " + y[k]);
                    for (int Y = y[k]; Y <= y[i]; Y++)
                        cur.add(x[i] + " " + Y);
                    for (int Y = y[k]; Y >= y[i]; Y--)
                        cur.add(x[i] + " " + Y);
                }

                if (ans.isEmpty() || ans.size() > cur.size()) {
                    ans.clear();
                    ans.addAll(cur);
                }
            }
        }

        out.println(ans.size());
        for (String s : ans)
            out.println(s);
    }

    private void solveD() throws IOException {
        int n = in.nextInt(), s = in.nextInt();
        int[] cnt = new int[n];
        for (int i = 0; i < (n - 1) * 2; i++)
            cnt[in.nextInt() - 1]++;
        int cntr = 0;
        for (int i = 0; i < n; i++)
            cntr += cnt[i] < 2 ? 1 : 0;
        out.println((double) s / cntr * 2.0);
    }

    private void solveE() throws IOException {
        int t = in.nextInt(), n;
        char[] s, a, b;
        char[] c = new char['z' - 'a' + 1];
        while (t-- > 0) {
            fill(c, '\0');
            int k = in.nextInt();
            s = in.nextLine().toCharArray();
            a = in.nextLine().toCharArray();
            b = in.nextLine().toCharArray();
        }
    }

    private void solveF() throws IOException {

    }

    class FastScanner {
        StringTokenizer st;
        BufferedReader br;

        FastScanner(InputStream s) {
            br = new BufferedReader(new InputStreamReader(s));
        }

        String next() throws IOException {
            while (st == null || !st.hasMoreTokens())
                st = new StringTokenizer(br.readLine());
            return st.nextToken();
        }

        boolean hasNext() throws IOException {
            return br.ready() || (st != null && st.hasMoreTokens());
        }

        int nextInt() throws IOException {
            return Integer.parseInt(next());
        }

        long nextLong() throws IOException {
            return Long.parseLong(next());
        }

        double nextDouble() throws IOException {
            return Double.parseDouble(next());
        }

        String nextLine() throws IOException {
            return br.readLine();
        }

        boolean hasNextLine() throws IOException {
            return br.ready();
        }

    }

    private void run() throws IOException {
        in = new FastScanner(System.in); // new FastScanner(new FileInputStream(".in"));
        out = new PrintWriter(System.out); // new PrintWriter(new FileOutputStream(".out"));

        for (int t = 1 /*in.nextInt()*/; t-- > 0; )
            solve();

        out.flush();
        out.close();
    }

    public static void main(String[] args) throws IOException {
        new Main().run();
    }
}