#include
#include
using namespace std;
bool check(int n) {
int a[10], cnt = 0;
while (n) {
a[cnt++] = n % 10;
n /= 10;
}
sort(a, a + cnt);
if (a[0] == 0) return false; // 前导数字不能为0
do {
int t = 0;
for (int i = 0; i < cnt; i++) {
t = (t << 1) + a[i]; // 计算新数字
if (t == 1) continue; // 特判1,1不是2的幂次方
if ((t & (t - 1)) == 0) return true; // 判断是否为2的幂次方
}
} while (next_permutation(a, a + cnt)); // 生成全排列
return false;
}
int main() {
int n;
cin >> n;
if (check(n)) cout << 1 << endl;
else cout << 0 << endl;
return 0;
}