n = int(input())
s = input()
mid = 0
if n % 2 == 0:
mid = n // 2 - 1
else:
mid = n // 2
res = [""] * n
res[mid] = s[0]
count = 1
left = mid - 1
right = mid + 1
if n % 2 == 0:
switch = False
while res.count("") != 0:
if not switch:
switch = True
res[right] = s[count]
right += 1
count += 1
else:
switch = False
res[left] = s[count]
count += 1
left -= 1
else:
switch = False
while res.count("") != 0:
if switch:
switch = False
res[right] = s[count]
right += 1
count += 1
else:
switch = True
res[left] = s[count]
count += 1
left -= 1
print("".join(res))
#include <bits/stdc++.h>
typedef long long ll;
typedef unsigned long long ull;
using namespace std;
int main(int argc, char *argv[]) {
int n;
string str, ans = "";
cin >> n >> str;
if(n%2 == 1) {
ans += str[0];
str = str.substr(1, n-1);
}
int state = 0;
while(str.length() > 0) {
if(state == 0) {
ans = str[0] + ans;
state = 1;
} else {
ans = ans + str[0];
state = 0;
}
str = str.substr(1, str.length() - 1);
}
cout << ans;
return 0;
}
97. Interleaving String | 543. Diameter of Binary Tree |
124. Binary Tree Maximum Path Sum | 1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts |
501A - Contest | 160A- Twins |
752. Open the Lock | 1535A - Fair Playoff |
1538F - Interesting Function | 1920. Build Array from Permutation |
494. Target Sum | 797. All Paths From Source to Target |
1547B - Alphabetical Strings | 1550A - Find The Array |
118B - Present from Lena | 27A - Next Test |
785. Is Graph Bipartite | 90. Subsets II |
1560A - Dislike of Threes | 36. Valid Sudoku |
557. Reverse Words in a String III | 566. Reshape the Matrix |
167. Two Sum II - Input array is sorted | 387. First Unique Character in a String |
383. Ransom Note | 242. Valid Anagram |
141. Linked List Cycle | 21. Merge Two Sorted Lists |
203. Remove Linked List Elements | 733. Flood Fill |