#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("Ofast")
const int MAXN = 1e5 + 20;
char s[MAXN];
int lmin, w1, w2;
inline string add(string a, string b) {
  if (a.size() < b.size()) swap(a, b);
  for (auto& ch : a) ch -= '0';
  for (auto& ch : b) ch -= '0';
  reverse((a).begin(), (a).end());
  reverse((b).begin(), (b).end());
  for (register int i = (0); i <= int(b.size() - 1); ++i) {
    a[i] += b[i];
  }
  for (register int i = (0); i <= int(a.size() - 2); ++i) {
    a[i + 1] += a[i] / 10;
    a[i] %= 10;
  }
  if (a.back() >= 10) {
    a.back() -= 10;
    a += 1;
  }
  reverse((a).begin(), (a).end());
  for (auto& ch : a) {
    ch += '0';
  }
  return a;
}
inline string Min(string a, string b) {
  if (a.size() != b.size()) {
    return a.size() < b.size() ? a : b;
  }
  return min(a, b);
}
string ans;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL), cout.tie(NULL);
  int l;
  cin >> l;
  cin >> (s + 1);
  if (s[1] == '0') {
    cout << (s + 2) << '\n';
    return 0;
  }
  lmin = MAXN;
  w1 = w2 = -1;
  for (register int i = (2); i <= int(l); ++i) {
    if (s[i] != '0') {
      if (abs(l - i - i + 2) <= lmin) {
        if (lmin > abs(l - i - i + 2)) {
          lmin = abs(l - i - i + 2);
          w1 = i, w2 = -1;
        } else
          w2 = i;
      }
    }
  }
  if (~w1) {
    ans = add(string(s + 1, s + w1), string(s + w1, s + l + 1));
    if (~w2)
      ans = Min(ans, add(string(s + 1, s + w2), string(s + w2, s + l + 1)));
    cout << ans << '\n';
  } else {
    cout << string(s + 1, s + l) << '\n';
  }
  return 0;
}
