#include #define rep(i,n) for(int i=0;i<(int)(n);i++) using namespace std; using ll = long long ; using P = pair ; using pll = pair; constexpr int INF = 1e9; constexpr long long LINF = 1e17; constexpr int MOD = 1000000007; constexpr double PI = 3.14159265358979323846; int main(){ int t; scanf("%d",&t); while(t--){ ll x,y; scanf("%lld%lld",&x,&y); ll z = x + y; vector v; for(ll i=1;i*i<=z;i++){ if(z%i==0){ v.push_back(i); if(i!=z/i) v.push_back(z/i); } } ll ans = 0; for(ll p:v){ if(p==1) continue; ll b = x/(p-1),c = x%(p-1); if(y==(p-1)*c+b) ++ans; } printf("%lld\n",ans); } return 0; }