func_code_string: #include <bits/stdc++.h>   using namespace std;   int a[13], t, ans;   const int P = 1e9 + 7;   int qp(int a, int b) {     int r = 1;     for (; b; b >>= 1, a = a * 1ll * a % P)       if (b & 1) r = r * 1ll * a % P;     return r;   }   void dfs(int x, int y, bool b) {     if (x == t) {       if (b)         ans = (ans + qp(2, y - 1)) % P;       else         ans = (ans - qp(2, y - 1)) % P;       return;     }     ++x, dfs(x, y / a[x], !b), dfs(x, y, b);   }   int main() {     int x, y, i;     scanf( %d%d , &x, &y);     if (y % x) return puts( 0 ), 0;     y /= x, x = y;     for (i = 2; i * i <= y; ++i)       if (!(y % i)) {         a[++t] = i;         do y /= i;         while (!(y % i));       }     if (y > 1) a[++t] = y;     dfs(0, x, 1), printf( %d , (ans + P) % P);     return 0;   }   