#include <iostream>
using namespace std;
int main() {
int r, i, j, T, k, n, end;
int ms[15]; // 호수별 인원수를 저장할 배열,
cin >> T; // 테스트 케이스 개수를 정수로 변환해서 받는다.
for(r = 0; r < T; r++) { // 테스트 개수 만큼 루프
cin >> k; // k(층수) 를 받는다.
cin >> n; // n(호수) 를 받는다.
if(k == 0) { // 0 층일 경우 호수가 인원수이므로 인원수 출력 후 끝냄
cout << n << endl;
continue; // 찾았으니, 다시 앞으로 보내서 추가 루프
}
// 층수가 0보다 크면 계속 진행
for(i = 0; i < 15; i++) ms[i] = i; // 호수별 인원, 0층값으로 초기화
end = 0; // 테스트 케이스 한개의 루프 끝났는지 확인
for(i = 1; i < k + 1; i++) { // 1층 부터, 해당층 까지 반복 계산
for(j = 1; j < n + 1; j++) { // 1호 부터 끝호까지 더해줌
ms[j] += ms[j - 1]; // 이전 호수 인원 + 아래층 호수 인원 = 현재 호수이원이 된다.
if(i == k && j == n) { // 찾는 층, 호수이면 출력후 끝낸다.
cout << ms[j] << endl; // 찾은 인원수 출력
end = 1; // 현재 루프 끝내라는 표시
break; // 찾았으니 현재 루프 종료
}
}
if(end == 1) break; // 찾았으니 현재 루프 종료
}
}
return 0;
}