#include <bits/stdc++.h>
using namespace std;
void debugarr(int* arr, int n) {
  cout << "[";
  for (int i = 0; i < n; i++) cout << arr[i] << " ";
  cout << "]" << endl;
}
string str;
long long convert(int strt, int end) {
  long long i, ans = 0;
  if (end - strt >= 10) return -1;
  if (strt != end && str[strt] == '0') return -1;
  for (i = strt; i <= end; i++) ans = ans * 10 + str[i] - '0';
  if (ans <= 1000000) return ans;
  return -1;
}
int divide(int index, int num) {
  long long n1, n2, ans = -1;
  if (num == 1) return convert(index, str.length() - 1);
  for (int i = index; i <= index + 6 && i < str.length() - num + 1; i++) {
    n1 = convert(index, i);
    n2 = divide(i + 1, num - 1);
    if (n1 != -1 && n2 >= 0) {
      ans = max(ans, n1 + n2);
    }
  }
  return ans;
}
int main() {
  cin >> str;
  int i, j, k;
  if (str.length() < 3) {
    cout << "-1" << endl;
    return 0;
  }
  int ans = divide(0, 3);
  if (ans < 0)
    cout << "-1" << endl;
  else
    cout << ans << endl;
  return 0;
}
