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} \dots s_{m}$$$ ($$$1 \le m \le 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" $$$\to$$$ "baa" $$$\to$$$ "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$$$.

The first line contains integer $$$n$$$ ($$$1 \le n \le 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.

Print such string $$$s$$$ that after encryption it equals $$$t$$$.

n=int(input());
t=input();
s=''

ctr=0;

for i in range(1,n):
	if(ctr>=n):
		break;
	s+=t[ctr];
	ctr+=i;

if(s==''):
	s+=t;

print(s)

n=int(input())
s=input()
i=1
a=''
while s!="":
       a+=s[0]
       s=s[i:]
       i+=1

print(a)

t=int(input())
if t==1:
    print(input())
else:
    g=input()
    count=1
    pos=0
    t-=1
    while pos<t:
        print(g[pos],end="")
        pos+=count
        count+=1

n = input()
s = raw_input()
r = ''
a = 1
b = 2
while 1:
    r+=s[a-1]
    a+=b
    b+=1
    if a>n:
        print r
        exit(0)

# codeforce_1095A.py

n = input()
t = raw_input()
res = ""
i = 0
sm = 0
while sm < n:
	res += t[sm]
	i += 1
	sm += i
print res

N = input()
T = raw_input()

res = ""
ind = 0
while ind < N :
  res += T[ind]
  ind += len(res)

print res

from __future__ import division, print_function

import os,sys
from io import BytesIO, IOBase

if sys.version_info[0] < 3:
    from __builtin__ import xrange as range
    from future_builtins import ascii, filter, hex, map, oct, zip

def ii():  return int(input())
def si():  return input()
def mi():  return map(int,input().split(" "))
def msi(): return map(str,input().split(" "))
def li():  return list(mi())

def dmain():
    sys.setrecursionlimit(1000000)
    threading.stack_size(1024000)
    thread = threading.Thread(target=main)
    thread.start()

import math
def getSum(n):
    sum = 0
    while(n > 0):
        sum += int(n%10)
        n = int(n/10)

    return sum

def isPowerOfTwo (x): return (x and (not(x & (x - 1))) )

def gcd(x, y):
    while y:
        x, y = y, x % y
    return x
def egcd(a, b):
    if a == 0 :
        return b, 0, 1
    gcd, x1, y1 = egcd(b%a, a)
    x = y1 - (b//a) * x1
    y = x1

    return gcd, x, y

def checkPrime(n) : # Check Prime Number or not
    if (n <= 1) : return False
    if (n <= 3) : return True
    if (n % 2 == 0 or n % 3 == 0) : return False
    i = 5
    while(i * i <= n) :
        if (n % i == 0 or n % (i + 2) == 0) :
            return False
        i = i + 6
    return True
def fib(n):
    if n==0:
        return (0,1)
    p=fib(n>>1)
    c=p[0]*(2*p[1]-p[0])
    d=p[0]*p[0]+p[1]*p[1]
    if (n&1):
        return c+2*d
    else:
        return c+d
def read():
    sys.stdin = open('input.txt', 'r')
def powLog(x,y):
    res=1
    while y>0:
        if y&1:
            res=res*x
        x=x*x
        y>>=1
    return res
def main():
    n=ii()
    s=si()
    i=1
    while len(s)>0:
        print(s[0],end="")
        s=s[i+1:]
        i+=1
# region fastio
# template taken from https://github.com/cheran-senthil/PyRival/blob/master/templates/template.py

BUFSIZE = 8192

class FastIO(IOBase):
    newlines = 0

    def __init__(self, file):
        self._fd = file.fileno()
        self.buffer = BytesIO()
        self.writable = "x" in file.mode or "r" not in file.mode
        self.write = self.buffer.write if self.writable else None

    def read(self):
        while True:
            b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
            if not b:
                break
            ptr = self.buffer.tell()
            self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
        self.newlines = 0
        return self.buffer.read()

    def readline(self):
        while self.newlines == 0:
            b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
            self.newlines = b.count(b"\n") + (not b)
            ptr = self.buffer.tell()
            self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
        self.newlines -= 1
        return self.buffer.readline()

    def flush(self):
        if self.writable:
            os.write(self._fd, self.buffer.getvalue())
            self.buffer.truncate(0), self.buffer.seek(0)

class IOWrapper(IOBase):
    def __init__(self, file):
        self.buffer = FastIO(file)
        self.flush = self.buffer.flush
        self.writable = self.buffer.writable
        self.write = lambda s: self.buffer.write(s.encode("ascii"))
        self.read = lambda: self.buffer.read().decode("ascii")
        self.readline = lambda: self.buffer.readline().decode("ascii")

def print(*args, **kwargs):
    """Prints the values to a stream, or to sys.stdout by default."""
    sep, file = kwargs.pop("sep", " "), kwargs.pop("file", sys.stdout)
    at_start = True
    for x in args:
        if not at_start:
            file.write(sep)
        file.write(str(x))
        at_start = False
    file.write(kwargs.pop("end", "\n"))
    if kwargs.pop("flush", False):
        file.flush()

if sys.version_info[0] < 3:
    sys.stdin, sys.stdout = FastIO(sys.stdin), FastIO(sys.stdout)
else:
    sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout)

input = lambda: sys.stdin.readline().rstrip("\r\n")

# endregion

if __name__ == "__main__":
    #read()
    main()
    #dmain()

# Comment Read()

length = int(raw_input())
src_string = raw_input()

count = 1
sum = 0
a = list()

while length != sum:
    cur = src_string[sum]
    a.append(cur)
    sum += count
    count += 1

print(''.join(a))

def cipher():
    ctext=""
    ptext=""
    n=int(input())
    ctext=input()
    i=1
    x=0
    if(len(ctext)>=1 and len(ctext)<= 55):
     if(n==len(ctext)):
      while(x<n):
         ptext += ctext[x]
         x+=i
         i+=1

    print(ptext)

cipher()

# Solve the quadratic equation ax**2 + bx + c = 0
# import complex math module
import cmath

def calculate_sequence_number(i):
    res = 0
    for i in range(1, i+1):
        res += i
    return res

def solve_quadratic_equation(c):
    a = 1
    b = 1
    c = -2 * c

    # calculate the discriminant
    d = (b**2) - (4*a*c)

    # find two solutions
    sol1 = (-b-cmath.sqrt(d))/(2*a)
    sol2 = (-b+cmath.sqrt(d))/(2*a)

    # print('The solution are {0} and {1}'.format(sol1.real ,sol2.real))
    return sol1.real ,sol2.real

def main():
    c = int(input())
    cipher = input()

    sol1, sol2 = solve_quadratic_equation(c)

    decrypted_string = ""
    if sol1 > 0:
        for i in range(1, int(sol1+1)):
            increase_sequence = calculate_sequence_number(i)
            decrypted_string += cipher[increase_sequence]

    if sol2 > 0:
        for i in range(1, int(sol2+1)):
            increase_sequence = calculate_sequence_number(i)
            decrypted_string += cipher[increase_sequence-1]

    print(decrypted_string)

main()

from math import sqrt

def nth(i):
  if i ==0:
    return i
  else:
    return nth(i-1)+i+1

n = int(input())
string = input()
s = int(-0.5+sqrt(1 + (2*n)))
res =''
for i in range(s):
  res+=string[nth(i)]
print(res)

import sys
import bisect
import heapq

INF = 10**9+7
sys.setrecursionlimit(INF)

n = input()
s = raw_input()

L = -1
for i in range(1, 11):
    if (i*(1+i))/2 == n:
        L = i
        break

a = []

index = 0
for i in range(1, L+1):
    index += i
    index -= 1
    ##print index
    a.append(s[index])

ans = ''.join(a)

print ans

n=int(input())
s=str((raw_input()))
b=''

i=1
j=0
if(n==1):
    print s
else:
    for i in range(1,n):
        if(j<n):
            b+=s[j]
            j+=i
    print b

c = input()
Str = input()

mainString = ""
x = 0
a = Str.__len__()
i = 0
while i < a:
    mainString += Str[i]
    x += 1
    i += x
print(mainString)

p=int(input())
q=input()
k=list(q)
j=[]
x=0
y=1
z=2
s=1
while p>0:
    j.append(k[x])

    x=y
    p-=s
    s+=1
    y+=z
    z+=1

for i in range(len(j)):
    print(j[i],end="")

n = int(input())
s = input()
a = [1, 2]
i, j = 1, 0
k = 2
while a[i] < 56:
    i += 1
    a.append(a[i - 1] + k)
    k += 1
while a[j] < n:
    print(s[a[j] - 1], end='')
    j += 1
if n == 1:
    print(s)

import sys
input = sys.stdin.readline

n = int(input())
a = input()
x = 0
j = 1
ans = []
while x < n:
    ans.append(a[x])
    x += j
    j += 1

print(''.join(ans))

G = input()

s = raw_input()

i = 0
n = 0
p = ""

while i < len(s):

	p = p + s[i]

	n = n + 1

	i = i + n

print p

n=int(input())
a=input()
s=''
k=0
p=0
while k<=(n-1):
    s+=a[k]
    p+=1
    k+=p
print(s)

a = int(input())
b = raw_input()
i=1
temp =1
res = ''
while i < a+1:
    res += b[i-1]
    i+=temp
    temp+=1

print res

## necessary imports
import sys
input = sys.stdin.readline
#from math import ceil, floor, factorial;

# swap_array function
def swaparr(arr, a,b):
    temp = arr[a];
    arr[a] = arr[b];
    arr[b] = temp

## gcd function
def gcd(a,b):
    if b == 0:
        return a
    return gcd(b, a % b);

## nCr function efficient using Binomial Cofficient
def nCr(n, k):
    if(k > n - k):
        k = n - k
    res = 1
    for i in range(k):
        res = res * (n - i)
        res = res / (i + 1)
    return int(res)

## upper bound function code -- such that e in a[:i] e < x;
def upper_bound(a, x, lo=0):
    hi = len(a)
    while lo < hi:
        mid = (lo+hi)//2
        if a[mid] < x:
            lo = mid+1
        else:
            hi = mid
    return lo

## prime factorization
def primefs(n):
    ## if n == 1    ## calculating primes
    primes = {}
    while(n%2 == 0 and n > 0):
        primes[2] = primes.get(2, 0) + 1
        n = n//2
    for i in range(3, int(n**0.5)+2, 2):
        while(n%i == 0 and n > 0):
            primes[i] = primes.get(i, 0) + 1
            n = n//i
    if n > 2:
        primes[n] = primes.get(n, 0) + 1
    ## prime factoriazation of n is stored in dictionary
    ## primes and can be accesed. O(sqrt n)
    return primes

## MODULAR EXPONENTIATION FUNCTION
def power(x, y, p):
    res = 1
    x = x % p
    if (x == 0) :
        return 0
    while (y > 0) :
        if ((y & 1) == 1) :
            res = (res * x) % p
        y = y >> 1
        x = (x * x) % p
    return res

## DISJOINT SET UNINON FUNCTIONS
def swap(a,b):
    temp = a
    a = b
    b = temp
    return a,b

# find function with path compression included (recursive)
# def find(x, link):
#     if link[x] == x:
#         return x
#     link[x] = find(link[x], link);
#     return link[x];

# find function with path compression (ITERATIVE)
def find(x, link):
    p = x;
    while( p != link[p]):
        p = link[p];

    while( x != p):
        nex = link[x];
        link[x] = p;
        x = nex;
    return p;

# the union function which makes union(x,y)
# of two nodes x and y
def union(x, y, link, size):
    x = find(x, link)
    y = find(y, link)
    if size[x] < size[y]:
        x,y = swap(x,y)
    if x != y:
        size[x] += size[y]
        link[y] = x

## returns an array of boolean if primes or not USING SIEVE OF ERATOSTHANES
def sieve(n):
    prime = [True for i in range(n+1)]
    p = 2
    while (p * p <= n):
        if (prime[p] == True):
            for i in range(p * p, n+1, p):
                prime[i] = False
        p += 1
    return prime

#### PRIME FACTORIZATION IN O(log n) using Sieve ####
MAXN = int(1e6 + 5)
def spf_sieve():
    spf[1] = 1;
    for i in range(2, MAXN):
        spf[i] = i;
    for i in range(4, MAXN, 2):
        spf[i] = 2;
    for i in range(3, ceil(MAXN ** 0.5), 2):
        if spf[i] == i:
            for j in range(i*i, MAXN, i):
                if spf[j] == j:
                    spf[j] = i;
    ## function for storing smallest prime factors (spf) in the array

################## un-comment below 2 lines when using factorization #################
# spf = [0 for i in range(MAXN)]
# spf_sieve()
def factoriazation(x):
    ret = {};
    while x != 1:
        ret[spf[x]] = ret.get(spf[x], 0) + 1;
        x = x//spf[x]
    return ret
    ## this function is useful for multiple queries only, o/w use
    ## primefs function above. complexity O(log n)

## taking integer array input
def int_array():
    return list(map(int, input().strip().split()))
## taking string array input
def str_array():
    return input().strip().split();

#defining a couple constants
MOD = int(1e9)+7;
CMOD = 998244353;
INF = float('inf'); NINF = -float('inf');

################### ---------------- TEMPLATE ENDS HERE ---------------- ###################

# n, k = int_array();
# binary = bin(n).replace('0b', '');
# if binary.count('1') > k or k > n:
#     print('NO');
# else:
#     print('YES');
n = int(input()); s = input().strip();
ans = ''; x = 0;
for i in range(1, 11):
    if x >= n:
        break;
    ans += s[x];
    x += i;
print(ans);

from collections import deque
import math

def main():
    n = int(input())
    t = input().strip()
    s_list = deque()
    for i in range(round(math.sqrt(2 * n + 1 / 4) - (1 / 2))):
        s_list.append(t[i*(i+1)//2])
    print("".join(s_list))

main()

n=int(input())
s=input()
a=0
i=0
emp=''

while(a<n):
    emp+=s[a]
    i+=1
    a=a+i

print(emp)

"""
this is a standard python template for codeforces task, repo: github.com/solbiatialessandro/pyComPro/codeforces
"""
stdin = lambda type_ = "int", sep = " ": list(map(eval(type_), raw_input().split(sep)))
joint = lambda sep = " ", *args: sep.join(str(i) if type(i) != list else sep.join(map(str, i)) for i in args)
def iters(): return xrange(int(raw_input()))

def solve(s):
    i = 0
    k = 1
    res = ""
    while i < len(s):
        res += s[i]
        i += k
        k += 1
    return res

if __name__ == "__main__":
    """the solve(*args) structure is needed for testing purporses"""
    n = raw_input()
    s = raw_input()
    print solve(s)

n = input()
s = raw_input()
r = ''
a = 1
b = 2
while 1:
    r+=s[a-1]
    a+=b
    b+=1
    if a>n:
        print r
        exit(0)

n = int(input())
a = input()
b = 0
res = ''
if n != 1 and n != 3:
    for i in range(2, n):
        if n >= b:
            res += a[b]
            b += i
    print(res)
elif n == 3:
    print(a[:2])
else:
    print(a)

#!/usr/bin/env python
"""
This file is part of https://github.com/Cheran-Senthil/PyRival.

Copyright 2018 Cheran Senthilkumar all rights reserved,
Cheran Senthilkumar <hello@cheran.io>
Permission to use, modify, and distribute this software is given under the
terms of the MIT License.

"""
from __future__ import division, print_function

import cmath
import itertools
import math
import operator as op
# import random
import sys
from atexit import register
from bisect import bisect_left, bisect_right
# from collections import Counter, MutableSequence, defaultdict, deque
# from copy import deepcopy
# from decimal import Decimal
# from difflib import SequenceMatcher
# from fractions import Fraction
# from heapq import heappop, heappush

if sys.version_info[0] < 3:
    # from cPickle import dumps
    from io import BytesIO as stream
    # from Queue import PriorityQueue, Queue
else:
    # from functools import reduce
    from io import StringIO as stream
    from math import gcd
    # from pickle import dumps
    # from queue import PriorityQueue, Queue

if sys.version_info[0] < 3:
    class dict(dict):
        """dict() -> new empty dictionary"""
        def items(self):
            """D.items() -> a set-like object providing a view on D's items"""
            return dict.iteritems(self)

        def keys(self):
            """D.keys() -> a set-like object providing a view on D's keys"""
            return dict.iterkeys(self)

        def values(self):
            """D.values() -> an object providing a view on D's values"""
            return dict.itervalues(self)

    def gcd(x, y):
        """greatest common divisor of x and y"""
        while y:
            x, y = y, x % y
        return x

    input = raw_input
    range = xrange

    filter = itertools.ifilter
    map = itertools.imap
    zip = itertools.izip

def sync_with_stdio(sync=True):
    """Set whether the standard Python streams are allowed to buffer their I/O.

    Args:
        sync (bool, optional): The new synchronization setting.

    """
    global input, flush

    if sync:
        flush = sys.stdout.flush
    else:
        sys.stdin = stream(sys.stdin.read())
        input = lambda: sys.stdin.readline().rstrip('\r\n')

        sys.stdout = stream()
        register(lambda: sys.__stdout__.write(sys.stdout.getvalue()))

def main():
    n = int(input())
    t = input()

    res = ''
    for i in [0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55]:
        try:
            res += t[i]
        except IndexError:
            print(res)
            return

if __name__ == '__main__':
    sync_with_stdio(False)
    main()

n=input();txt=raw_input();i=0;ans=''
while i<n:
  ans+=txt[i]
  i+=len(ans)
print ans

n = int(input())
st = input()
res = st[0]
i = 2
t = 1
if(len(st) > 1):
  while(t < n):
    res = res + st[t]
    t = t + i
    i = i + 1
print(res)

n=int(input())
s=input()
t=1
t1=1
a=[]
i=0
t=1
while(i<n):
	a.append(s[i])
	i=i+t
	t=t+1
s="".join(a)
print(s)

x = int(raw_input())

y = raw_input()
a=0
ans = ''
for i,elem in enumerate(y):
    a = a+i
    if(a<x):
        ans += y[a]

print ans

n=int(input())
s=input()
i=1
r=''
c=0
while c<n:
    r=r+s[c]
    i=i+1
    c=c+i
print(r)

n=int(input())
a=input()
for i in range(1,n+1):
    if n==((i*(i+1))//2):
        t=i
        break
for j in range(t):
    print(a[j*(j+1)//2],end="")
print()

i = 0
lens = int(input())
ins  = input()
decoded = ''
nexts = 0
while nexts < lens:
    nexts = (i * (i + 1)) // 2
    #print(nexts)
    if nexts < lens:
        decoded += ins[nexts]
    else:
        break
    i += 1
print(decoded)

n=int(input())
s=input()
i=0
t=1
while(i<n):
    print(s[i],end="")
    i=i+t
    t=t+1

import math
n=int(input())
t=input()
sl=((-1+int(math.sqrt(1+8*n))))//2
s=''
for i in range(sl):
    s=s+t[(i*(i+1))//2]
print(s)

n = int(input())
s = input()
p = (-1 + int((1 + 8 * n) ** 0.5)) // 2
result = ""
cur = 0
for i in range(p):
    result += s[cur]
    cur += i + 1
print(result)

def anti(cipher):
    word = ""
    i = 0
    j = 1
    while(i<len(cipher)):
        word += cipher[i]
        i += j
        j += 1
    return word

n = int(input())
cipher = input()
print(anti(cipher))

n = int(input())
encrypt = input()
idx = 0
i = 1
decrypt = ''
while idx<n:
    decrypt += encrypt[idx]
    idx = idx+i
    i+=1
print(decrypt)

n = int(input())
s = input()
ans = []
cnt = 0
for i in range(n):
    if cnt >= n:
        break
    ans.append(s[cnt])
    cnt += (i+1)
print("".join(ans))

last = 0
n = input()
s = raw_input()
x = 0
i = 0
ans = ""
while i < n:
	ans += s[i]
	x += 1
	i += x
print ans

from __future__ import division
from fractions import Fraction
import math
import random,bisect
import sys
#import os
#import random
#import re
from sys import stdin, stdout
#from collections import Counter,deque,OrderedDict,defaultdict
#from itertools import permutations,ansduct,combinations
#from heapq import heapify,heappush,heappop,heappushpop,heapify,heapreplace,nlargest,nsmallest
#import numpy as np
#from operator import mul

MOD=10**6+3
INF=float('+inf')

def si():
	return str(stdin.readline())
def ii():
    return int(raw_input())
def mi():
    return map(int, raw_input().split())
def li():
    return [int(i) for i in raw_input().split()]
def debug(x):
	return stdout.write(str(x))
def limul(list):
	return eval('*'.join(str(item) for item in list))

"-----------------------------------------------"

def main():
	n=ii()
	arr=raw_input()
	ans=[]
	index=[0,2,5,9,14,20,27,35,44,54]
	l=len(index)
	ans_index=[]
	for i in range(l):
		if index[i]==n-1:
			answer=i
			break
	for i in range(answer+1):
		ans.append(arr[index[i]])
	print ''.join(str(e) for e in ans)

main()

n=input()
i=2
h=[int(x) for x in range(0,56)]
w=[]
q=[x for x in raw_input()]
q.reverse()
q.append("-")
q.reverse()
j=1
while(j<=n):
    w.append(q[j])
    j=j+h[i]
    i=i+1
print "".join(w)

n = int(input())
s = input()
t = []
inc = int(0)
if 1<=n and n<=55 and len(s)==n:
    i = 0
    while i<n:
        t.append(s[int(inc*(inc+1)/2)])
        inc = inc + 1
        i = int(inc*(inc+1)/2)
    str1 = ''.join(str(e) for e in t)
    print(str1)

n = int(input())
b = input()
s = ""
count = 1
for i in range(len(b)):
    if i == count - 1:
        s = s + b[i]
        count = count + len(s)
print(s)

n=int(input())
t=input()
i=0
j=1
while i<n:print(t[i],end="");i+=j;j+=1

n=int(input())
s=input()
i=1
a=''
while s!="":
       a+=s[0]
       s=s[i:]
       i+=1

print(a)

input()
s=raw_input()
i=0
a=''
k=1
while i<len(s):
    a+=s[i]
    i+=k
    k+=1
print a

n=int(input())
s=input()

ans=''

s=list(s)
i=1
while(len(s)!=0):
    ans+=s[0]
    for j in range(i):
        s.pop(0)
    i+=1
print(ans)

def decrypt(length, encrypted):
    u = 0
    i = 0
    decrypted = ''
    while int(i) < int(length):
        decrypted += encrypted[i]
        u += 1
        i += int(u)
    return decrypted

print(decrypt(input(), input()))

def decrypt(length,encrypted):
    u = 0
    i = 0
    decrypted = ''
    while i < int(length):
        decrypted += encrypted[i]
        u += 1
        i += u
    return decrypted
print(decrypt(input(),input()))

n=int(input())
s=input()
i,c=0,1
while i<n:
	print(s[i],end='')
	i+=c
	c+=1

n = int(input())
k = input()
b = [];
p = []
sum = 0
if n >=4 :
    for i in range(1, len(k)):
        if sum < n:
            sum = sum + i - 1
            b.append(sum)

    v = len(b)
    b.pop(v - 1)

    for i in b:
        p.append(k[i])
    s = ''.join(p)

elif n == 1:
    print(k[0])
elif n == 3:
    p.append(k[0])
    p.append(k[1])
s = ''.join(p)
print(s)

n=int(input())
a=input()
i=1
sum=0
while sum<n:
    print(a[sum],end="")
    sum+=i
    i+=1

n = int(input())
s = input()
t = ""
i = 0
e = 0
while e<n:
    t += s[e]
    i += 1
    e += i

print(t)

w = int(input())
b = input()
s = 0
q = ""
if len(b) == 1:
    print(b)
else:
    for i in range(56):
        w-=i+1
        if w <= 1:
            break
    n=i+1
    e = 0
    for i in range(0, n):
        if i+s >= len(b)-1:
            break
        q+=b[i+s]
        s+=e
        e +=1
    print(q)

n = int(input())
st = input()
s = ""
c = 0
j = 1
while c<n:
    s += st[c]
    c += j
    j += 1

print(s)

def super(n, stringa):
    m = 1
    out = ""
    while m*(m+1) / 2 != n and m<=10:
        m+=1
    for i in range(m):
        out += stringa[i*(i+1)/2]
    return out

if __name__ == '__main__':
    n = int(input())
    stringa = raw_input()
    print(super(n, stringa))

def Repeating_Cipher():
    n1 = int(raw_input())
    n2 = raw_input()
    c = 1
    s = 0
    x = ''
    while(s <= len(n2)):
        x = x+n2[s]
        c += 1
        s += c
    print(x)

def main():
    Repeating_Cipher()
main()

n = input()
str1 = raw_input()
s = 0
r = ''
for i in range(1, n+1):
    r += str1[s:s+1]
    s += i
print r

n = int(input())
s = input()
ans=''
i=0
x=1
while i<n:
    ans+=s[i]
    i+=x
    x+=1
print(ans)

n=input()
s=raw_input()
t=''
i=0
for j in range(n):
    if i>=n:
        break
    t+=s[i]
    i+=j+1
print t

n = int(input())
s = input()
a = ''
i = 0
j=1
while(i<n):
    a+=s[i]
    i = j*(j+1)//2
    j+=1
print(a)

n = input()
s = raw_input().strip()
z = 0
ans = ''
for i in range(100):
	if z+i > n-1:
		break
	else:
		ans += s[z+i]
		z += i
print ans

_len_str = input()
len_str = int(_len_str)
enc_str = input()
un_enc_str = list()
index_plus = 0
if len_str == 1:
	print(enc_str[0])
else:
	for i in range(0, (len_str-1)):
		index_plus = int((i*(i+1))/2)
		if index_plus >= len_str:
			break
		un_enc_str.append(enc_str[index_plus])
un_enc_str = ''.join(un_enc_str)
print(un_enc_str)

n = input()
s = raw_input()
ans = ''
ptr = 0
ctr = 1
while ptr < n:
	ans += s[ptr]
	ptr += ctr
	ctr += 1
print ans

j, n, a = 0, int(input()), input()
for i in range(n):
    j+=i
    if j<n: print(a[j], end = '')

n= int(input())
li= input()
i=0
fin=[]
while(i< n and len(li)!=0):
    fin.append(li[i])
    li=li.replace(li[i],'',i+1)

    i+=1

print("".join(fin))

n=int(input())
t=input()
s=''
i=j=0
while i<n:
    s+=t[i]
    j+=1
    i+=j
print(s)

import sys
input = sys.stdin.readline

n = int(input())
a = input()
x = 0
j = 1
ans = []
while x < n:
    ans.append(a[x])
    x += j
    j += 1

print(''.join(ans))

n=int(raw_input())
t=raw_input()
l=[]
i=0
temp=1
while i<n:
   l.append(t[i])
   i=i+temp
   temp+=1
print ''.join(l)

n = int(input())
t = input()
s = ''
i = 0
j = 1
while i < n:
	s = s + t[i]
	i = i + j
	j = j + 1
print(s)

a = int(input())
b = input()
c, d = 1, 1
st = ''

while c <= a:
    st += b[c - 1]
    c += d
    d += 1

print(st)

n = int(input())
st = input()
ans = ''
ans  = ans + st[0]
i = 2
z = 3
while i<=n and n>0:
    ans = ans + st[i]
    i = i+z
    z+=1

print(ans)

import math
n=int(input())
t=input()
sl=((-1+int(math.sqrt(1+8*n))))//2
s=''
for i in range(sl):
    s=s+t[(i*(i+1))//2]
print(s)

# Problem : A. Repeating Cipher
# Contest : Codeforces Round #529 (Div. 3)
# URL : https://codeforces.com/contest/1095/problem/A
# Memory Limit : 256 MB
# Time Limit : 1000 ms
# Powered by CP Editor (https://github.com/cpeditor/cpeditor)

"""
// Author : snape_here - Susanta Mukherjee

 """

from __future__ import division, print_function

import os,sys
from io import BytesIO, IOBase

if sys.version_info[0] < 3:
    from __builtin__ import xrange as range
    from future_builtins import ascii, filter, hex, map, oct, zip

def ii(): return int(input())
def si(): return input()
def mi(): return map(int,input().split())
def li(): return list(mi())

def read():
    sys.stdin = open('input.txt', 'r')
    sys.stdout = open('output.txt', 'w')

def gcd(x, y):
    while y:
        x, y = y, x % y
    return x

mod=1000000007

import math

def main():

	n=ii()
	s=si()
	l=[]
	for i in range(1,11):
		l.append((i*(i+1))//2)
	#print(l)
	for i in range(1,11):
		if l[i-1]==n:
			c=i
			break
	ans=""
	for i in range(1,c+1):
		ans+=s[l[i-1]-1]
	print(ans)

# region fastio

BUFSIZE = 8192

class FastIO(IOBase):
    newlines = 0

    def __init__(self, file):
        self._fd = file.fileno()
        self.buffer = BytesIO()
        self.writable = "x" in file.mode or "r" not in file.mode
        self.write = self.buffer.write if self.writable else None

    def read(self):
        while True:
            b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
            if not b:
                break
            ptr = self.buffer.tell()
            self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
        self.newlines = 0
        return self.buffer.read()

    def readline(self):
        while self.newlines == 0:
            b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
            self.newlines = b.count(b"\n") + (not b)
            ptr = self.buffer.tell()
            self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
        self.newlines -= 1
        return self.buffer.readline()

    def flush(self):
        if self.writable:
            os.write(self._fd, self.buffer.getvalue())
            self.buffer.truncate(0), self.buffer.seek(0)

class IOWrapper(IOBase):
    def __init__(self, file):
        self.buffer = FastIO(file)
        self.flush = self.buffer.flush
        self.writable = self.buffer.writable
        self.write = lambda s: self.buffer.write(s.encode("ascii"))
        self.read = lambda: self.buffer.read().decode("ascii")
        self.readline = lambda: self.buffer.readline().decode("ascii")

def print(*args, **kwargs):
    """Prints the values to a stream, or to sys.stdout by default."""
    sep, file = kwargs.pop("sep", " "), kwargs.pop("file", sys.stdout)
    at_start = True
    for x in args:
        if not at_start:
            file.write(sep)
        file.write(str(x))
        at_start = False
    file.write(kwargs.pop("end", "\n"))
    if kwargs.pop("flush", False):
        file.flush()

if sys.version_info[0] < 3:
    sys.stdin, sys.stdout = FastIO(sys.stdin), FastIO(sys.stdout)
else:
    sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout)

input = lambda: sys.stdin.readline().rstrip("\r\n")

# endregion

if __name__ == "__main__":
    #read()
    main()

a = input()
b = input()
z = 1
x = b[0]
i = 0
while i<len(b):
        x=b[i]
        if(x*z==b[i:i+z]):
                print(x,end='')
                i+=z
                z+=1
        else:
                i+=1

n = int(input())
s = input()
s=" "+s
i=1
p=1
ans = ""
while(i<n+1):
    ans+=s[i]
    i+=p
    p+=1
print(ans)

n = int(input())
w = raw_input()
s = ''
x = 0
i = 1
for l in range(n):
    if x > (n - 1):
        break
    s += w[ x ]
    x += i
    i += 1
print s

# 0 , 1 , 3 , 6 , 10 , ...

n=int(input())
s=str((raw_input()))
b=''

i=1
j=0
if(n==1):
    print s
else:
    for i in range(1,n):
        if(j<n):
            b+=s[j]
            j+=i
    print b

n = int(raw_input())
s = list(raw_input())[::-1]
ans = []

#print s

i = 1
while len(s) > 0:
    ans.append(s[-1])
    for j in xrange(i):
        s.pop()
    i += 1
print ''.join(ans)

G = input()

s = raw_input()

i = 0
n = 0
p = ""

while i < len(s):

	p = p + s[i]

	n = n + 1

	i = i + n

print p

n=int(input())
s=input()
ans,i,k='',0,1
while i<n:
    ans+=s[i]
    i,k=i+k,k+1
print(ans)

cantidad = input()
cadena = input()
lista = list(cadena)

lista_nueva = []
lista_nueva.append(lista[0])
del lista[0]

i = 2
for x in lista:
        lista_nueva.append(lista[0])
        del lista[0:i]
        i += 1

desencriptado = "".join(lista_nueva)

print(desencriptado)

#include <bits/stdc++.h>
#define STD /*
from sys import (
stdin, stdout, exit as sys_ret)
"""****************************

       Interactive Tasks:

          / Python: /       """
f_input, f_print, f_flush = (
        stdin.readline,
        stdout.write,
        stdout.flush)

"""        / C++ /
       #import <cstdio>
       fflush(stdout);
             or
       #import <iostream>
       cout << endl;

   —————————————————————————
    Don't raise your voice,
    improve your argument.
   —————————————————————————

   cat /dev/ass > /dev/head
            Ctrl+C
   cat /knowledge > /dev/head

                © Jakov Gellert
                        frvr.ru

****************************"""
# */ using namespace std; int

amount, phrase, mult, i = int(f_input()), f_input(), 1, 0
while i < amount:
    f_print(phrase[i])
    i += mult
    mult += 1

n=input()
word=raw_input()
leng=n
newword=""
temp=""
beg=0
end=1
level=1
while leng>0:
	temp=word[beg:end]
	newword=newword+temp[0]
	beg=end
	level+=1
	end=end+level
	leng=leng-len(temp)
print(newword)

n = int(raw_input())
s = raw_input()

i, j = 1, 0
#t = s[0]
t=''

while j < n:
    t += s[j]
    j+=i
    i+=1
print t

from math import sqrt
n = int(input())
N = int((-1+sqrt(1+8*n))//2)
s = input()
for i in range(1, N+1):
	el = s[0:i]
	s = s[i:]
	print(el[0],
	      end = '')

n = int(input())
s = input()
res_s = s[0]
i = 1
count = 1
while i<n:
    res_s += s[i]
    count+=1
    i+=count

print(res_s)

n=int(input())
s=input()
i=1
a=''
while s!="":
       a+=s[0]
       s=s[i:]
       i+=1

print(a)

n = int(input())
s = input()
i = 0
j = 2
s1 = ''
while i <= len(s):
    s1 = s1 + s[i]
    i += j
    j += 1
print(s1)

n = int(input())
#lst_in = str_in.split('\n')
s = str(input())

decrypt = ['' for i in range(len(s))]
pointer = 0
for i in range(11):
    for j in range(i):
        if pointer >= len(s):
            break
        #print(i)
        decrypt[i-1] = s[pointer]
        pointer += 1
print(''.join(decrypt).strip())

n=int(input());
t=input();
s=''

ctr=1;

for i in range(1,n):
	if(ctr>=n):
		break;
	s+=t[ctr];
	ctr+=i;

print(s)

lenght = int(input())
string = input()

out = ''
summ = 1

while summ < lenght:
    out += string[summ - 1]
    summ += summ
print(out)

p=0
n=int(input())
s=input()
for i in range(len(s)):
    if p==0:
        print(s[i],end='')
        p=i
    else:
        p-=1

p=int(input())
q=input()
k=list(q)
j=[]
m=1
o=1
while p>0:
    j.append(k[m-1])
    p-=m
    o=m
    m+=o
for i in range(len(j)):
    print(j[i],end="")

w=int(input())
n=input()
l=list(n)
s=1
if w==1:
    print(n)
for i in range(0,w//2):
    s=s+i

    if(w>s):
       print(l[s-1],end='')

    else:
        break

nbr =int(input())
s = input()
res=""
res =res+s[0]
i=1
cpt =0
while(i<nbr):

      if cpt == 0 :
           d=s[i]
           res +=s[i]
           cpt +=1
           i +=1
      else :
           if s[i] == d :
                i +=1
                cpt +=1
           else :
                    cpt =0
print(res)

#!/usr/bin/python2

import sys
from heapq import *
from collections import Counter

def ir(): return int(raw_input())
def ia(): return map(int, raw_input().split())

n = ir()

s = raw_input()

print s

ans = []
i = m = 0
while True:
    if i >= n: break
    ans.append(s[i])
    m += 1
    i += m

print "".join(ans)

n = int(raw_input())
s = raw_input()

i = 0
j = 1

ans = ''
while i < len(s):
	ans += s[i]
	i = j
	j += j+1
	#print i,j

print ans

x = int(input())
y = input()
z = "".join(sorted(set(y)))
print(z)

x=int(input())
n=input()
j=0
for i in range(x):
    j=j+i
    if(j<x):
           print(n[j],"\t")

n = int(input())
b = input()
s = ""
count = 1
for i in range(len(b)):
    if i == count - 1:
        s = s + b[i]
        count = count + i + 1
print(s)

w=int(input())
p=list(input())
z,t=[],[]
s,r=0,0
for i in range(0,int(w/2)):
    if r<len(p):
        s+=i
        r+=s
        z.append(s)
for i in z:
    a=p[i]
    t.append(a)
if len(p)==1:
    print(*p)
elif len(p)==2 or len(p)==3:
    o=p[0:2]
    print(*o,sep='')
else:
    print(*t, sep='')

w=int(input())
p=list(input())
z,t=[],[]
s,r=0,0
for i in range(0,int(w/2)):
    if r<len(p):
        s+=i
        r+=s
        z.append(s)
for i in z:
    a=p[i]
    t.append(a)
if len(p)==1:
    print(*p)
else:
    print(*t, sep='')

# n = 55
n = int(input())
# t = 'cooooonnnnttttteeeeeeeeeeeeessssssssttttttttttttttttttt'
t = str(input())
# coonteestt
s = ''
i = 0
num = 0
a = []
while i <= 10:
    num += i
    a.append(num)
    i += 1
index = 0
for i in range(a.index(n)):
    try:
        letter = t[index]
    except:
        break
    # print(letter)
    s += letter
    index = 2*index + 1

print(s)

def sint():
    return (int(input()))

def sints():
    return (map(int, input().split()))

def sara():
    return (list(map(int,input().split())))

def sstr():
    s = input()
    return (list(s[:len(s)]))

def main():
    n = sint()
    s = input()
    i = 0
    while i < n:
        print(s[i], end =  '')
        i += i+1
    print('')

if __name__ == "__main__":

    main()

from math import factorial as f

def decrypt(s):
    s2 = []
    i = 1
    j = 0
    while j < len(s):
        s2.append(s[j])
        j += i
        i += 1
    return ''.join(s2)

if __name__ == '__main__':
    s = input().strip()
    print(decrypt(s))

n = int(input())
if(n >= 1 and n <= 55):
    Str = input()
    temp = Str[0]
    i = 1
    while(i < n):
        j = i
        temp += Str[j]
        k = i+1
        for _ in range(k):
            i += 1
print(temp)

a=input()
i=0
b=0
s=''
while(i<len(a)):
    s=s+a[i]
    b=b+1
    i=i+b
print(s)

n=int(input())
s=input()
i=j=0
a=''
for i in range(n,j):
       a+=s[i]
       j+=1
print(a)

n=int(input())

s=input()
i=1

while i < n-1:
    print(s[i-1],end='')
    i += i

f=int(input())
s=input()
l=[]
l1=[]
ans=''
n=1
while n<f:
    for i in range(0,f):
        m=i+n
        if m<f:
            l.append(m)
        n=m
for i in l:
    l1.append(i-1)
for i in l1:
    print(s[i],end='')

x = input()
Str = input()

mainString = Str[0]
x = 1
a = Str.__len__()-1

for i in Str:
    if a > x :
        if (Str[x] != Str[x+1]):
            mainString += Str[x]
    x += 1
if a != 0 :
    mainString += Str[a]
print(mainString)

n=int(input())
s=list(input())
dit={}
se=set(s)
for i in se:
    dit[i]=0
for i in s:
    dit[i]+=1
print(dit.values())

cases = int(input())
string = str(input().rstrip())

real_str = ""
n = 0
m = 1
while n < len(string):
    real_str += string[n]
    n += m
    m += m
print(real_str)

#print(string)

w=int(input())
n=input()
l=list(n)
s=1
for i in range(0,w//2):
    s=s+i

    if(w>s):
       print(l[s-1],end='')

    else:
        break

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from collections import defaultdict
from math import factorial as f
from fractions import gcd as g

N = int (raw_input ())
s = raw_input ()
ret = ""
cnt = 1
i = 0
while i < N:
    ret += s [i]
    i += i + 1
print ret

n = int(input())
s = input()
s0 = ''
c = 0
for i in range(10):
    if c > n - 1:
        break
    print(c)
    s0 += s[c]
    c += i
print(s0)

w=int(input())
p=list(input())
z,t=[],[]
s,r=0,0
for i in range(0,int(w/2)):
    if r<len(p):
        s+=i
        r+=s
        z.append(s)
for i in z:
    a=p[i]
    t.append(a)
print(*t, sep='')

s=str(input())
oss=s[0]
for i in range(1,len(s)):
    if s[i]!=s[i-1]:
        oss=oss+s[i]
print(oss)

n = int(input())
s = '$' + input()
t = ''
i = 1
j = 1
if n==1:
    print(s[1])
else:
    while i<n:
        t += s[i]
        i += j + 1
        j += 1
    print(t)

n = int(input())
encrypt = input()
idx = 0
i = 1
decrypt = ''
while idx<n:
    decrypt += encrypt[idx]
    idx = idx+i
    i+=1
decrypt

n=int(input());
t=input();
s=''

ctr=1;

for i in range(1,n):
	if(ctr>=n):
		break;
	s+=t[ctr];
	ctr+=i;

print(s)

n=input()
s=raw_input()
i=1
res=''
while(i<=n):
    res+=s[i-1]
    i=i+i
print res

n = int(input())
t = input()
i = 0
while i < n:
    print(t[i], end="")
    i += i + 1

x = int(input())
y = input()
z = "".join(sorted(set(y)))
print(z)

n=int(input())
t=list(input())
if(n==1):
      print("t")
s=''
i=1
summ=1
while(i<n):
      s+=t[i-1]
      i+=summ
      summ+=1
print(s)

a = input()
b = input()
ch = 0
for i in range(len(b)):
    if i == ch:
        print(b[i], end='')
        ch += i+1

i=1
n=int(input())
s=input()
while i<=len(s):
    print(s[i-1],end='')
    i+=i

n=int(input())
s=input()
t=int(n//2)
a=0
b=0
list2=[]
list1=[]
if len(s)==1:
    list2.append(s)
for j in s:
    list1.append(j)
for j in range(1,t+1):
    b+=j
    for k in range(a,b):
       c=a
    list2.append(list1[c])
    a=b
    if b==len(s):
        break
d=list2[0]
for j in range(1,len(list2)):
    d+=list2[j]
print(d)

n = input()
st = input()
s =""+st[0]
st = st[1:]
c = 0
j = c
while j<int(n)-1:
    s += st[c]
    if c==0:
        c+=2
    else:
        c+= c+1
    j += c
print(s)

x = int(input())
y = input()
l = ""
l = l+y[0]
for c in range(1,x):
    if y[c] != y[c-1]:
        l = l+y[c]
print(l)

n = int(input())
st = input()
ans = ''
ans  = ans + st[0]
i = 2
z = 1
while i<=n:
    ans = ans + st[i]
    i+=2
    i+=z

T = int(raw_input())
s = raw_input()
s = ';'+s
c = 1
i = 1
ans = ''
while (i<T):
	ans += s[i]
	i += c
	c+=1
print ans

numberOfInputs = int(input())
word = input()
ans = ""
i = 1
while i < len(word)+1:
    ans += word[i - 1]
    i += i
print(ans)

n = int(input())
str = input()

print(str[0],end='')

for i in range(1,len(str)):
    if(i+1<n):
        if(str[i]==str[i+1]):
            continue
    print(str[i],end='')

n=int(input())
s=input()
i=j=0
a=''
for i in range(n,j):
       a+=s[i]
       j+=1
print(a)

n=int(input())
s=input()
i=1

while i <= n:
    print(s[i - 1], end='')
    i += i

def decipher(num, word):
    indexes = [0]
    index = 1
    for i in range(1, num):
        indexes.append(index)
        index = index + i
    deciphered = ''
    for index in indexes:
        if index < len(word):
            deciphered += word[index]
    return deciphered

if __name__ == '__main__':
    print(decipher(int(input()), input()))

#!/usr/bin/env python
"""
This file is part of https://github.com/Cheran-Senthil/PyRival.

Copyright 2018 Cheran Senthilkumar all rights reserved,
Cheran Senthilkumar <hello@cheran.io>
Permission to use, modify, and distribute this software is given under the
terms of the MIT License.

"""
from __future__ import division, print_function

import cmath
import itertools
import math
import operator as op
# import random
import sys
from atexit import register
from bisect import bisect_left, bisect_right
# from collections import Counter, MutableSequence, defaultdict, deque
# from copy import deepcopy
# from decimal import Decimal
# from difflib import SequenceMatcher
# from fractions import Fraction
# from heapq import heappop, heappush

if sys.version_info[0] < 3:
    # from cPickle import dumps
    from io import BytesIO as stream
    # from Queue import PriorityQueue, Queue
else:
    # from functools import reduce
    from io import StringIO as stream
    from math import gcd
    # from pickle import dumps
    # from queue import PriorityQueue, Queue

if sys.version_info[0] < 3:
    class dict(dict):
        """dict() -> new empty dictionary"""
        def items(self):
            """D.items() -> a set-like object providing a view on D's items"""
            return dict.iteritems(self)

        def keys(self):
            """D.keys() -> a set-like object providing a view on D's keys"""
            return dict.iterkeys(self)

        def values(self):
            """D.values() -> an object providing a view on D's values"""
            return dict.itervalues(self)

    def gcd(x, y):
        """greatest common divisor of x and y"""
        while y:
            x, y = y, x % y
        return x

    input = raw_input
    range = xrange

    filter = itertools.ifilter
    map = itertools.imap
    zip = itertools.izip

def sync_with_stdio(sync=True):
    """Set whether the standard Python streams are allowed to buffer their I/O.

    Args:
        sync (bool, optional): The new synchronization setting.

    """
    global input, flush

    if sync:
        flush = sys.stdout.flush
    else:
        sys.stdin = stream(sys.stdin.read())
        input = lambda: sys.stdin.readline().rstrip('\r\n')

        sys.stdout = stream()
        register(lambda: sys.__stdout__.write(sys.stdout.getvalue()))

def main():
    n = int(input())
    t = input()

    res = ''
    for i in [0, 1, 3, 6, 10, 15, 21, 28, 36, 45]:
        try:
            res += t[i]
        except IndexError:
            print(res)
            return

if __name__ == '__main__':
    sync_with_stdio(False)
    main()

n = int(input())
encrypt = input()
idx = 0
i = 1
decrypt = ''
while idx<n:
    decrypt += encrypt[idx]
    idx = idx+i
    i+=1
decrypt

n = int(input())
t = str(input())

print(n)
print(t)

a=''
i=0
inc =1
while(i<n):
	i+=inc
	a =a+ t[i-1]
	inc+=1

print(a)

n = int(input())
k = input()
b=[];p=[]
sum=0
if n>1:
 for i in range(1,len(k)):
    if sum < n:
        sum = sum+i-1
        b.append(sum)
 print(b)
 v=len(b)
 if v>1:
  b.pop(v-1)
 print(b)
 for i in b:
    p.append(k[i])
 s=''.join(p)
 print(s)

else:
    print(k[0])

n = int(input())
s = input()
ans = ''
i = 0
while i < n:
    ans += s[i]
    i += (i+1)
print(ans)

t=int(input())
s=input()
h=list(map(str, s))
j=1
k=0
while k<t:
    print(h[k],end="")
    k=k+j
    j=j+j

n=int(input())
s=input()
a=1
i=0
while i!=n:
    print(s[i])
    i+=a
    a+=1

n = int(input())
s = '$' + input()
t = ''
i = 1
j = 1
if n==1:
    print(s[1])
else:
    while i<n:
        t += s[i]
        i += j + 1
        j += 1
    print(t)

n = int(input())
s = input()
res_s = ''
i = 0
while i<n:
    res_s += s[i]
    if i == 0 or i==1:
        i=2*i+1
    else:
        i =2*i

print(res_s)

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sat Aug 31 18:23:00 2019

@author: apple
"""
n=int(input())
es=input()
s=es[0]
for i in range(1,n-1):
    if(es[i]==es[i+1]):
        continue
    else:
        s=s+es[i]
print(s+es[n-1],end="")                    #s[0:1],s[1:3],s[2:5]      i=0;s=o;i=1

n=int(input())
s=list(input())
s1=s[0]
i,a=2,2
while(i<=n):
    print(i)
    s1+=s[i]
    i+=a+1
    a+=1
print(s1)

n=int(input())
s=input()
i=0
k=2
res=""
while(i<=n):
    res+=s[i]
    k+=1
    i+=k
print(res)

n=int(input())
string=input()
i=1
while i<=n:
	print(string[i-1],end='')
	i+=i

z=input
n=int(z())
x=z()
s=''
i=0
j=0
for _ in range(n):
    try:
        s+=x[i]
        i+=j+1
        j+=2

    except:
        pass
print(s)

cases = int(input())
string = str(input().rstrip())

real_str = ""
n = 0
m = 1
while n < len(string):
    real_str += string[n]
    print(n,m)
    n += m
    m += 1
print(real_str)

#print(string)

w=int(input())
n=input()
l=list(n)
s=1
if w==1:
    print(n)
for i in range(0,w//2):
    s=s+i

    if(w>s):
       print(l[s-1],end='')

    else:
        break

n = int(input())
s = input()
ans = ''
i = 0
while i < n:
    ans += s[i]
    i += i + 1
print(ans)

n=input();txt=raw_input();i=0;ans=''
while i<n-1:
  ans+=txt[i]
  i+=len(ans)
print ans

n = int(input())
str = input()

print(str[0],end='')

for i in range(1,len(str)):
    if(i+1<n):
        if(str[i]==str[i+1]):
            continue
    print(str[i],end='')

n = int(input())
t = input()
i = 0
while i < n:
    print(t[i], end="")
    i += i + 1

n=int(input())
s=input()
t=''
j=0

while(j<n):
  t+=s[j]
  j=2*j+1
print(t)

n=int(input())
s=input()
i=0
c=1
r=''
while c<n:
    r=r+s[c]
    i=i+1
    c=i
print(r)

length = input("")
encrypted = input("")
length = int(length)
final = 1
while (final*(final+1))/2 != length:
    final += 1
final_string = ""
k = 0
for i in range(final):
    final_string = final_string + encrypted[i+k-1]
    k += 1
print(final_string)

a = input()
b = input()
ch = 0
for i in range(len(b)):
    if i == ch:
        print(b[i], end='')
        ch += i+1

n = int(input())
s = input()
new_s = ""
i = 0
j = 0
while i<n:
    new_s+=s[i]
    for b in range(i+1):
        i+=1
        j = 1
    if(i==0):
        i+=1
print(new_s)

n = int(input())
string = input()
i=1
x=0
returner = ""
while True:
    try:
        returner += string[0]
        string = string[i:]
        x += 1
        i += x
    except IndexError:
        break
print(returner)

from math import *
t=int(raw_input())
f=raw_input()
p=int(ceil((t**0.5)))
s=""
for i in range(0,p):
	s=s+f[(i*(i+1))/2]
print s

a=int(input())
b=input()
d=c=0

while a!=0:
    c=c+1
    d=d+c
    print(b[d-1],end=" ")
    a-=c

p=int(input("enter number"))
q=input("enter string")
k=list(q)
j=[]
m=1
o=1
while p>0:
    j.append(k[m-1])
    p-=m
    o=m
    m+=o
for i in range(len(j)):
    print(j[i],end="")

x=int(input())
y=str(input())
s=y[0]
p=1
c=0
for i in range(x):
    if i==1:
        continue
    elif i==1+p:
        p=p*2+c
        c=c+1
        s=s+y[i]
print(s)

a = int(input())
b = raw_input()
i=1
temp =1
res = ''
while i < a+1:
    res += b[i-1]
    i+=temp
    temp = i

print res

n=int(input())
s=input()
i=1
t=0
while(i<n):
    print(s[i],end=' ')
    i=i+t
    t=t=1

n=int(input())
s=input()
a=1
i=0
while i!=n:
    print(s[i])
    i+=a
    a+=1

v = int(input())
q = list(input())
d = len(q)
w = 0
e = 1
while w != d:
    print(q[w])
    w += e
    e += 1

a=input()
i=0
b=0
s=''
while(i<len(a)):
    s=s+a[i]
    b=b+1
    i=i+b
print(s)

n = int(input())
a = input()
k = 1
for i in range(1, len(a)):
    print(a[k-1], end='')
    k += i
    if k > len(a):
        break