for _ in range(int(input())):
n,m=map(int,input().split())
print(m*min(2,n-1))
#include <bits/stdc++.h>
using namespace std;
int main(){
int t,n,m;
cin>>t;
while(t--){
cin>>n>>m;
if(n == 1){
cout<<0<<endl;
}
else if(n == 2){
cout<<m<<endl;
}
else{
cout<<2*m<<endl;
}
}
}
1486A - Shifting Stacks | 1389B - Array Walk |
71B - Progress Bar | 701A - Cards |
545A - Toy Cars | 1538E - Funny Substrings |
234A - Lefthanders and Righthanders | 1611D - Weights Assignment For Tree Edges |
197A - Plate Game | 1474A - Puzzle From the Future |
6B - President's Office | 1405B - Array Cancellation |
431C - k-Tree | 101A - Homework |
1642C - Great Sequence | 1523B - Lord of the Values |
1406C - Link Cut Centroids | 2409. Count Days Spent Together |
2410. Maximum Matching of Players With Trainers | 1604C - Di-visible Confusion |
997A - Convert to Ones | 218A - Mountain Scenery |
486B - OR in Matrix | 1405A - Permutation Forgery |
1733A - Consecutive Sum | 1733B - Rule of League |
1733C - Parity Shuffle Sorting | 1264A - Beautiful Regional Contest |
1695A - Subrectangle Guess | 467B - Fedor and New Game |