#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int ans = 1, fst, x = 0, i;
  string s;
  cin >> s;
  fst = s.length() - 1;
  for (i = 0; i < s.length(); i++) {
    if (s[i] == '1') {
      fst = i;
      break;
    }
  }
  for (i = fst; i < s.length(); i++) {
    x = (x * 2) % 1000000007;
    if (s[i] == '1') {
      x = (x + 1) % 1000000007;
    }
    if (i > fst) ans = (ans * 2) % 1000000007;
  }
  ans = (ans * x) % 1000000007;
  while (fst > 0) {
    ans = (ans * 2) % 1000000007;
    fst--;
  }
  cout << ans;
}
