//var input = readline()
var t = Number(readline())
for(var i=0; i<t; i++) {
var ar = readline().split(' ').map(Number)
print(factorial(ar))
}
function factorial(num) {
if(num === 0) return '1'
if(!num) return ''
res = num.toString().split('').reverse().map(Number)
var i, next, cr
while(-- num) {
i = cr = 0
while((next = res[i++]) !== undefined || cr) {
cr = (next || 0) * num + cr
res[i-1] = cr % 10
cr = parseInt(cr / 10)
}
}
return res.reverse().join('')
}
Ci8vdmFyIGlucHV0ID0gcmVhZGxpbmUoKSAKCnZhciB0ID0gTnVtYmVyKHJlYWRsaW5lKCkpCiBmb3IodmFyIGk9MDsgaTx0OyBpKyspIHsgCiAgICAgdmFyIGFyID0gcmVhZGxpbmUoKS5zcGxpdCgnICcpLm1hcChOdW1iZXIpIAogICAgIHByaW50KGZhY3RvcmlhbChhcikpIAp9IAoKCmZ1bmN0aW9uIGZhY3RvcmlhbChudW0pIHsgCiAgICAgICAgIGlmKG51bSA9PT0gMCkgcmV0dXJuICcxJyAKICAgICAgICAgaWYoIW51bSkgcmV0dXJuICcnIAogICAgICAgICByZXMgPSBudW0udG9TdHJpbmcoKS5zcGxpdCgnJykucmV2ZXJzZSgpLm1hcChOdW1iZXIpIAoKICAgICAgICAgdmFyIGksIG5leHQsIGNyIAogICAgICAgICB3aGlsZSgtLSBudW0pIHsgCiAgICAgICAgICAgICBpID0gY3IgPSAwIAogICAgICAgICAgICAgd2hpbGUoKG5leHQgPSByZXNbaSsrXSkgIT09IHVuZGVmaW5lZCB8fCBjcikgeyAKICAgICAgICAgICAgICAgICBjciA9IChuZXh0IHx8IDApICogbnVtICsgY3IgCiAgICAgICAgICAgICAgICAgcmVzW2ktMV0gPSBjciAlIDEwIAogICAgICAgICAgICAgICAgIGNyID0gcGFyc2VJbnQoY3IgLyAxMCkgCiAgICAgICAgICAgIH0gCiAgICAgICAgfSAKICAgICAgICByZXR1cm4gcmVzLnJldmVyc2UoKS5qb2luKCcnKSAKfSAKCg==