{"trustable":false,"prependHtml":"\u003cscript\u003e window.katexOptions \u003d { disable: true }; \u003c/script\u003e\n\u003cscript type\u003d\"text/x-mathjax-config\"\u003e\n MathJax.Hub.Config({\n tex2jax: {\n inlineMath: [[\u0027$$$\u0027,\u0027$$$\u0027], [\u0027$\u0027,\u0027$\u0027]],\n displayMath: [[\u0027$$$$$$\u0027,\u0027$$$$$$\u0027], [\u0027$$\u0027,\u0027$$\u0027]]\n }\n });\n\u003c/script\u003e\n\u003cscript async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS-MML_HTMLorMML\" type\u003d\"text/javascript\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"HTML","content":"两个正整数a和b的最大公约数GCD(a,b),有时写为(a,b),是a和b的最大公约数,例如,(1,2)\u003d1,(12,18)\u003d6。\n(a,b)可以通过欧几里德算法很容易地找到。现在Carp正在考虑一个更难的问题:\n给定整数N和M,有多少整数X满足1 \u003c\u003d X \u003c\u003d N和(X,N)\u003e\u003d M。"}},{"title":"Input","value":{"format":"HTML","content":"输入的第一行是一个整数T(T \u003c\u003d 100),表示测试用例的数量。下面的T行分别包含两个数字N和M(2 \u003c\u003d N \u003c\u003d 1000000000,1 \u003c\u003d M \u003c\u003d N),表示一个测试用例。"}},{"title":"Output","value":{"format":"HTML","content":"对于每个测试用例,在单行中输出答案。"}},{"title":"Sample Input","value":{"format":"HTML","content":"\u003cpre\u003e3\n1 1\n10 2\n10000 72\u003c/pre\u003e"}},{"title":"Sample Output","value":{"format":"HTML","content":"\u003cpre\u003e1\n6\n260\u003c/pre\u003e"}}]}