#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define ArraySizeOf(array) (sizeof(array) / sizeof(array[0])) #define res(i,n) for(int i=n;;i++) #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define REP(i,n) for(int i=1;i=0;i--) #define REV(i,n) for(int i=n-1;i>0;i--) #define req(i,n,m) for(int i=n;i> T; vectorA(T); vectorP(T); rep(i, T)cin >> A[i] >> P[i]; vectorprimenumber(5000000, true); for (int i = 2; i < 2300;i++)if (primenumber[i] == true)for (int j = 2; j < 5000010 / i;j++)primenumber[i * j] = false; rep(i, T) { if (primenumber[P[i]] == true)cout << P[i] - A[i] % P[i] << endl; else cout << -1 << endl; } }