#include <bits/stdc++.h>
using namespace std;
mt19937_64 rang(
    chrono::high_resolution_clock::now().time_since_epoch().count());
int rng(int lim) {
  uniform_int_distribution<int> uid(0, lim - 1);
  return uid(rang);
}
long long mpow(long long a, long long b) {
  long long res = 1;
  a %= 1000000007;
  while (b) {
    if (b & 1) res = res * a % 1000000007;
    a = a * a % 1000000007;
    b >>= 1;
  }
  return res;
}
long long n, c;
const long long Mxn = 2e5 + 5;
long long a[Mxn];
long long nc2(long long x) { return (x * (x - 1)) >> 1; }
long long nc3(long long x) { return (nc2(x) * (x - 2)) / 3; }
void solve() {
  long long n;
  scanf("%lld", &n);
  ;
  string s;
  cin >> s;
  string res = "";
  long long m = 0;
  for (long long i = 0; i < n;) {
    res += s[i];
    i = i + m;
    ++m;
  }
  if (res.size() > 1) res.erase(res.begin());
  cout << res << "\n";
}
int main() {
  auto clk1 = clock();
  int t = 1;
  while (t--) solve();
  auto clk2 = clock();
  cerr << "Time taken : " << (double)(1.0 * clk2 - clk1) / CLOCKS_PER_SEC
       << endl;
  return 0;
}

### Prompt

Generate a CPP solution to the following 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

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
mt19937_64 rang(
    chrono::high_resolution_clock::now().time_since_epoch().count());
int rng(int lim) {
  uniform_int_distribution<int> uid(0, lim - 1);
  return uid(rang);
}
long long mpow(long long a, long long b) {
  long long res = 1;
  a %= 1000000007;
  while (b) {
    if (b & 1) res = res * a % 1000000007;
    a = a * a % 1000000007;
    b >>= 1;
  }
  return res;
}
long long n, c;
const long long Mxn = 2e5 + 5;
long long a[Mxn];
long long nc2(long long x) { return (x * (x - 1)) >> 1; }
long long nc3(long long x) { return (nc2(x) * (x - 2)) / 3; }
void solve() {
  long long n;
  scanf("%lld", &n);
  ;
  string s;
  cin >> s;
  string res = "";
  long long m = 0;
  for (long long i = 0; i < n;) {
    res += s[i];
    i = i + m;
    ++m;
  }
  if (res.size() > 1) res.erase(res.begin());
  cout << res << "\n";
}
int main() {
  auto clk1 = clock();
  int t = 1;
  while (t--) solve();
  auto clk2 = clock();
  cerr << "Time taken : " << (double)(1.0 * clk2 - clk1) / CLOCKS_PER_SEC
       << endl;
  return 0;
}

```