module obj
  implicit none
  public
  private :: c,show
  integer :: a=1,b=2,c=3

  contains
    subroutine display()
      implicit none
      call show()
      return
    end subroutine display

    subroutine show()
      implicit none

      write(*, "( ' a=',I3,' b=',I3,' c=',I3 )" ) a,b,c
      return
    end subroutine show
end module obj

program ex1101
  use obj
  implicit none

  call display()

  stop
end program ex1101