program mykinds2

  implicit none
  integer (kind=selected_int_kind(1)) :: ii
  integer (kind=selected_int_kind(2)) :: jj
  integer (kind=selected_int_kind(3)) :: kk
  integer (kind=selected_int_kind(4)) :: ll
  integer (kind=selected_int_kind(5)) :: mm
  real :: x
  double precision :: z
  
  ii = 1; jj = 87
  write(*,*) "huge(ii) =",huge(ii),"kind(ii) =",kind(ii)
  write(*,*) "huge(jj) =",huge(jj),"kind(jj) =",kind(jj)
  write(*,*) "huge(kk) =",huge(kk),"kind(kk) =",kind(kk)
  write(*,*) "huge(ll) =",huge(ll),"kind(ll) =",kind(ll)
  write(*,*) "huge(mm) =",huge(mm),"kind(mm) =",kind(mm)
 
  ii = 126
  write(*,*) ii 
  ii = 127
  write(*,*) ii 
  ii = 128
  write(*,*) ii 
  

  write(*,*) "kind(x) =",kind(x),"huge(x) =",huge(x)
  write(*,*) "kind(z) =",kind(z),"huge(z) =",huge(z)
  !write(*,*) "kind(1.e+136) =",kind(1.e+136)

end program mykinds2
