#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define ll long long #define pf printf #define sf scanf //#define eps 1e-8 //#define MAXN 1000 //#define _sign(x)((x)>eps?1:((x)<-eps?2:0)) ll gcd(ll a, ll b){ return b == 0 ? a : gcd(b, a%b); } //int main() //{ // double x, y, l, d; // while (scanf("%lf%lf%lf%lf", &x, &y, &l, &d) != EOF){ // double R1 = sqrt((l - sqrt(y*y - d*d))*(l - sqrt(y*y - d*d)) + d*d); // double R2 = sqrt((l - sqrt(x*x - d*d))*(l - sqrt(x*x - d*d)) + d*d); // if (R1 < x && R2 < y && d>y && d>x)printf("yes\n"); // else printf("no\n"); // } //} //double x, y, l, d; //double pi = 3.141592653; //double calc(double x,double y ,double l,double d) //{ // for (double i = 0.0; i <= atan2(y,x); i += 0.00001){ // double s = l*cos(i) + d*sin(i) - x; // double h = s*tan(i) + d*cos(i); // if (h > y)return 0; // } // return 1; //} //int main() //{ // while (scanf("%lf%lf%lf%lf", &x, &y, &l, &d) != EOF){ // int flag = 0; // //for (double i = 0.0; i <= atan2(x,y); i += 0.00001){ // if (calc(x,y,l,d) && calc(y,x,l,d)){ // printf("yes\n"); // flag = 1; // //break; // } // //} // if (!flag)printf("no\n"); // } // return 0; //} int m(int n, int k) { int r = n%k; if (k > n)return n*n; else if (r <= (k / 2))return r*r; else if (r > (k / 2))return (k - r)*(k - r); } int main() { int n; scanf("%d", &n); while (n--){ int n, k; scanf("%d%d", &n, &k); printf("%d\n",n*n-m(n, k)); } return 0; }