func_code_string: #include <bits/stdc++.h>   using namespace std;   int gcd(int a, int b) { return a % b == 0 ? b : gcd(b, a % b); }   const int INF = 1 << 30;   const double eps = 1e-8;   const int row = 3000;   const int cow = 220;   const int MAXN = cow * cow;   int n, m;   long long a[50000];   long long sum[50000];   char s[5000];   int main() {     int i, j, t;     long long k;     cin >> k;     scanf( %s , &s);     n = strlen(s);     sum[0] = 0;     for (i = 1; i <= n; i++) sum[i] = sum[i - 1] + s[i - 1] -  0 ;     memset(a, 0, sizeof(a));     for (i = 0; i <= n; i++) {       for (j = i + 1; j <= n; j++) {         a[sum[j] - sum[i]]++;       }     }     long long ans = 0;     if (k == 0) {       ans += (a[0] * a[0]);       for (i = 1; i < 50000; i++) {         ans += (a[0] * a[i] * 2);       }     } else {       for (i = 1; i <= 40000; i++) {         if (k % i == 0 && k / i <= 40000) {           ans += (a[i] * a[k / i]);         }       }     }     cout << ans << endl;     return 0;   }   