#define _CRT_SECURE_NO_WARNINGS #include /* #pragma GCC target ("avx2") #pragma GCC optimization ("O3") #pragma GCC optimization ("unroll-loops")*/ using namespace std; #define ll long long #define ld long double #define mp make_pair ll solve1 (string s) { int n = s.size(); int m = sqrt(n); vector pos_one; for (int i = 0; i cnt(n*m+n); ll total = 0; for (ll i = 1; i<=m; i++) { int cur = 0; cnt[i*n]++; for (int j = 1; j<=n; j++) { if (s[j-1]=='1') cur++; int idx = j - i*cur; total+=cnt[idx+i*n]; cnt[idx+i*n]++; } cur = 0; cnt[i*n]--; for (int j = 1; j<=n; j++) { if (s[j-1]=='1') cur++; int idx = j - i*cur; cnt[idx+i*n]--; } } vector idx(n, -1); int cur = 0; for (int i = 0; i pref(n+1); for (int i = 1; i<=n; i++) { pref[i] = pref[i-1]; if (s[i-1]=='1') pref[i]++; } ll cnt = 0; for (int i = 0; ipref[i])&&((j-i)%(pref[j]-pref[i])==0)) cnt++; } return cnt; } int main() { ios_base::sync_with_stdio(0); cin.tie(nullptr); string s; cin>>s; cout<