#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:1024000000,1024000000")
using namespace std;
const int inf = 0x3f3f3f3f;
const long long INF = 1e18;
template <typename T>
void read(T &x) {
  x = 0;
  int s = 1, c = getchar();
  for (; !isdigit(c); c = getchar())
    if (c == '-') s = -1;
  for (; isdigit(c); c = getchar()) x = x * 10 + c - 48;
  x *= s;
}
template <typename T>
void write(T x) {
  if (x < 0) x = -x, putchar('-');
  if (x > 9) write(x / 10);
  putchar(x % 10 + '0');
}
template <typename T>
void writeln(T x) {
  write(x);
  puts("");
}
const int maxn = 2e5 + 5;
int n;
long long a[maxn], b[maxn], c[maxn], d[maxn];
string s, t, ans;
int main() {
  cin >> n >> s >> t;
  int k = n;
  for (int i = 0; i < n; i++) {
    a[i] = s[n - 1 - i] - 'a';
    b[i] = t[n - 1 - i] - 'a';
  }
  int tmp = 0;
  for (int i = 0; i < n; i++) {
    c[i] = (a[i] + b[i] + tmp) % 26;
    tmp = (a[i] + b[i] + tmp) / 26;
  }
  while (tmp) {
    c[n++] = tmp % 26;
    tmp /= 26;
  }
  tmp = 0;
  for (int i = n - 1; ~i; i--) {
    d[i] = (c[i] + tmp * 26) / 2;
    tmp = (c[i] + tmp * 26) % 2;
  }
  while (n > k) n--;
  for (int i = n - 1; ~i; i--) {
    ans += 'a' + d[i];
  }
  cout << ans << endl;
  return 0;
}
