PROGRAM diamonds IMPLICIT NONE CHARACTER*60000 :: ihateyoufaux="##################################################" CHARACTER*50 :: fmt CHARACTER*20 :: input2, s INTEGER :: i, input, j ihateyoufaux = TRIM(ihateyoufaux)//TRIM(ihateyoufaux)//TRIM(ihateyoufaux)//TRIM(ihateyoufaux)//TRIM(ihateyoufaux) ihateyoufaux = TRIM(ihateyoufaux)//TRIM(ihateyoufaux)//TRIM(ihateyoufaux)//TRIM(ihateyoufaux) ihateyoufaux = TRIM(ihateyoufaux)//TRIM(ihateyoufaux)//TRIM(ihateyoufaux)//TRIM(ihateyoufaux)//TRIM(ihateyoufaux) ihateyoufaux = TRIM(ihateyoufaux)//TRIM(ihateyoufaux)//TRIM(ihateyoufaux) ihateyoufaux = TRIM(ihateyoufaux)//TRIM(ihateyoufaux)//TRIM(ihateyoufaux)//TRIM(ihateyoufaux) !Do you think there might be some sort of cunningly hidden message here? 10 READ (5, "(I20)", IOSTAT=i), input IF (input < 2 .OR. input > 30000) THEN PRINT *, "The input value must be between 2 and 30000, nub." GOTO 10 END IF j = input WRITE (input2,"(I5)") input fmt = "(" // TRIM(input2) // "X, 2A)" PRINT (fmt), "/", "\" i = 0 DO j = j - 1 i = i + 2 WRITE (input2,"(I5)") j WRITE (s,"(I5)") i fmt = "(" // TRIM(input2) // "X, A, A" // TRIM(s) // ", A)" PRINT (fmt), "/", ihateyoufaux, "\" IF (j == 1) THEN EXIT END IF END DO j = j - 1 i = i + 2 WRITE (s,"(I5)") i fmt = "(A, A" // TRIM(s) // ", A)" PRINT (fmt), "<", ihateyoufaux, ">" DO j = j + 1 i = i - 2 WRITE (input2,"(I5)") j WRITE (s,"(I5)") i fmt = "(" // TRIM(input2) // "X, A, A" // TRIM(s) // ", A)" PRINT (fmt), "\", ihateyoufaux, "/" IF (j == input-1) THEN EXIT END IF END DO WRITE (input2,"(I5)") input fmt = "(" // TRIM(input2) // "X, 2A)" PRINT (fmt), "\", "/" END PROGRAM