PROGRAM taxcalc
  IMPLICIT NONE

  DOUBLE PRECISION, PARAMETER :: e1 = 22d-2
  DOUBLE PRECISION, PARAMETER :: e2 = 29d-2
  DOUBLE PRECISION, PARAMETER :: e3 = 37d-2
  DOUBLE PRECISION, PARAMETER :: e4 = 45d-2

  DOUBLE PRECISION, PARAMETER :: k1 = 0d0
  DOUBLE PRECISION, PARAMETER :: k2 = 2d4
  DOUBLE PRECISION, PARAMETER :: k3 = 3d4
  DOUBLE PRECISION, PARAMETER :: k4 = 4d4

  DOUBLE PRECISION :: poso, foros

  PRINT *, "Dwse to eisodima"
  READ *, poso
  
  IF (poso < k1) THEN
     PRINT *, "Lathos eisodima!"
     STOP
  END IF

  IF ((poso >= k1) .AND. (poso <= k2)) THEN
     foros = e1 * poso
  END IF
  
  IF ((poso > k2) .AND. (poso <= k3)) THEN
     foros = e1 * (k2-k1) + e2 * (poso-k2)
  END IF

  IF ((poso > k3) .AND. (poso <= k4)) THEN
     foros = e1 * (k2-k1) + e2 * (k3-k2) + e3 * (poso - k3)
  END IF

  IF (poso > k4) THEN
     foros = e1 * (k2-k1) + e2 * (k3-k2) + e3 * (k4 - k3) + e4 * (poso - k4)
  END IF
  
  PRINT *, "O foros einai",foros

END PROGRAM taxcalc
