program p
	implicit none
	integer :: hello
contains
	subroutine s
		implicit none
		real :: three
		parameter (THREE = 3)
		print *, THREE + 2 + 63 * twice(4)
	end subroutine
	
	integer function twice(n)
		implicit none
		integer :: n
		intent(in) :: n
		twice = 2 * n
	end function
end program
