"use strict";

var main = function main(input) {
  var S = input.trim();
  var N = S.split('').length;
  var list = [];
  list.push(S);

  for (var i = 0; i < N - 1; i++) {
    var list2 = [];

    for (var j = 0; j < list.length; j++) {
      var s = list[j]; // +入れない方

      list2.push(s); // +入れる方

      var pattern = /[0-9]/;
      var count = 0;
      var sAlter = "";

      for (var k = 0; k < s.split('').length; k++) {
        var c = s.split('')[k];

        if (pattern.test(c)) {
          count++;
        }

        if (count == i + 1) {
          sAlter = s.substring(0, k + 1) + '+' + s.substring(k + 1);
        }
      }

      list2.push(sAlter);
    }

    list = list2;
  }

  var result = 0;
  list.forEach(function (elem) {
    result += parseInt(elem.split('+').reduce(function (prev, current) {
      return parseInt(prev, 10) + parseInt(current, 10);
    }), 10);
  });
  console.log(result);
};

main(require('fs').readFileSync('/dev/stdin', 'utf-8'));