function combination(N, R) integer*8::i,j integer*8,intent(in)::N,R integer*8::res,combination res = 1 j = N do i=1, R res = (res*j)/i j = j - 1 if(res.gt.10**15_8) then res = 10**15_8 exit end if end do combination = res end function combination program main interface function combination(N, R) integer*8::N,R,combination end function combination end interface type problem integer*8::D,X,T end type problem integer*8::Q,i,j,k,tmp integer*8::qd,qx,qt,qr type(problem)::P(10**4) integer*8::D,T read *, Q read *, P(1:Q) do i=1,Q qd = P(i)%D qx = P(i)%X qt = P(i)%T qr = MIN(qx, qd-1) tmp = combination(qd+qx-1,qr) if(tmp.gt.qt) then print '(a)', "ZETUBOU" else print '(a)', "AC" end if end do end program main