#include <bits/stdc++.h>
using namespace std;
int fun(string x) {
  if (x.size() > 7) return 1000005;
  int n = 0;
  for (int i = 0; i < x.size(); i++) {
    n *= 10;
    n += (x[i] - '0');
  }
  return n;
}
bool f(string s) {
  if (s.size() > 1 && s[0] == '0' || s.size() > 7)
    return false;
  else
    return true;
}
int main() {
  string s;
  cin >> s;
  int n = s.size();
  int a1, a2, a3, mx = 0;
  bool d = false;
  for (int i = 1; i < s.size() - 1; i++) {
    for (int j = i + 1; j < s.size(); j++) {
      if (f(s.substr(0, i)) && f(s.substr(i, j - i)) &&
          f(s.substr(j, s.size() - j))) {
        if (fun(s.substr(0, i)) <= 1000000 &&
            fun(s.substr(i, j - i)) <= 1000000 &&
            fun(s.substr(j, s.size() - j)) <= 1000000) {
          a1 = fun(s.substr(0, i));
          a2 = fun(s.substr(i, j - i));
          a3 = fun(s.substr(j, s.size() - j));
          mx = max((a1 + a2 + a3), mx);
          d = true;
        }
      }
    }
  }
  if (d)
    cout << mx << "\n";
  else
    cout << "-1\n";
}
