#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
const long long mod = 1000000007;
long long pw(int x) {
  if (x == 0) return 1;
  long long ans = pw(x / 2);
  ans *= ans;
  if (x & 1) ans *= 2;
  return ans % mod;
}
int main() {
  string s;
  while (cin >> s) {
    reverse(s.begin(), s.end());
    int len = s.length();
    s = "0" + s;
    long long ans = 0;
    for (int i = 1; i <= len; i++) {
      if (s[i] == '1') {
        ans = 2 * ans + pw(2 * (i - 1));
      } else {
        ans = 2 * ans;
      }
      ans %= mod;
    }
    cout << ans << endl;
  }
  return 0;
}
