program main implicit none integer*8::n,m read*,n do m=1,n,1000 if(2*n<(m+1000+1)*(m+1000))exit end do do while(2*n>(m+1)*m) m=m+1 end do if(2*n==(m+1)*m)then print*,"YES" print*,n else print*,"NO" end if end program