program drop _all

clear

pause on

set obs 5000

local i = 1
while `i' < 21{
gen z`i' = invnorm(uniform())
gen chi_`i' = z`i'^2
local i = `i' + 1
}

gen num1 = z1
gen den1 = chi_1

local j = 2
local i = 1
while `j' < 21 & `i' <21 {
gen num`j' = z`j' + num`i'
gen den`j' = chi_`j' + den`i'
local j = `j' + 1
local i = `i' + 1
}

local i = 1
while `i' < 21{
gen t`i' = num`i'/den`i'
local i = `i' + 1
}

graph t1, bin(50) normal
pause
graph t5, bin(50) normal
pause
graph t20, bin(50) normal
pause
sum t1, d
sum t5, d
sum t20, d