#include <bits/stdc++.h>
using namespace std;
const int maxn = 35;
const int inf = 1000000;
char str[maxn];
long long swap(int i, int j) {
  long long ans = 0;
  if (j > i && str[i] == '0') return -1;
  for (int m = i; m <= j; m++) {
    ans = ans * 10 + int(str[m] - '0');
    if (ans > inf) return -1;
  }
  return ans;
}
int main() {
  memset(str, 0, sizeof(str));
  while (gets(str)) {
    int tag = 0;
    int len = strlen(str);
    long long ans = 0;
    long long maxans = 0;
    for (int i = 0; i < len - 2; i++) {
      for (int j = i + 1; j < len - 1; j++) {
        if (swap(0, i) != -1 && swap(i + 1, j) != -1 &&
            swap(j + 1, len - 1) != -1) {
          ans = swap(0, i) + swap(i + 1, j) + swap(j + 1, len - 1);
          if (ans > maxans) maxans = ans;
          tag = 1;
        }
      }
    }
    if (tag)
      cout << maxans << endl;
    else
      cout << -1 << endl;
    memset(str, 0, sizeof(str));
  }
  return 0;
}
