        implicit real*8(a-h,o-z)
        dimension x(1000000),y(1000000),z(1000000)
        print'("** 山形綱の載荷節点番号と拘束節点番号")'
         print'("** だしてくれるプログラム")'
         ! nx:x方向分割数(山形綱横方向分割数)
         ! ny:y方向分割数(山形綱縦方向分割数)
         ! nz:z方向分割数(山形綱奥行き方向分割数
         print *,"山形綱の縦の分割数は"
         read *,nx
         print *,"山形綱の横の分割数は"
         read *,ny
         print *,"山形綱の奥行きの分割数は"
         read *,nz
!載荷側ではないほうの拘束点
!山形綱のフランジの載荷点側ではないほうの拘束点
         print *,"山形綱の拘束する節点(載荷点じゃない方は):"
         do i=1,nx+1
         print *,i
         end do
!フランジの間の節点部分
         print *,(nx+1)*(nz+1)+(ny)*(nz+1)+1
         do k=0,(nx-2)
         print *,(nx+1)*(nz+1)+(ny)*(nz+1)+1+4+3*k
         end do
!山形綱のウェブの載荷点側ではないほうの拘束点
         do j=0,ny-1
         print *,(nx+1)*(nz+1)+j*(nz+1)+1
         end do
!ウェブの間の節点部分
        print *,(nx+1)*(nz+1)+(ny)*(nz+1)+4*(nz+1)+5*(nz)+3
        do i=1,(ny-1)
        print *,(nx+1)*(nz+1)+ny*(nz+1)+4*(nz+1)+5*nz+3+2*(nz-1)+3*i
        end do
!山形綱の載荷点側にある拘束点(載荷節点)
!山形綱のフランジの載荷節点側の拘束点         
         print *,"山形綱の拘束する節点(載荷節点は):"
         do i=1,ny+1
         print *,(nx+1)*nz+i,','
         end do
!フランジの間の拘束点         
         do k=0,nx-2
         print *,(nx+1)*(nz+1)+(ny)*(nz+1)+4*(nz+1)+5*(nz)-2*k
         end do
         print *,(nx+1)*(nz+1)+(ny)*(nz+1)+4*(nz+1)+5*(nz)-2*(nx-2)-3
!山形綱のウェブの載荷節点側の拘束点
         do j=0,ny-1
         print *,(nx+1)*(nz+1)+(nz+1)+(nz+1)*j
         end do
!山形綱のウェブの間の拘束点         
      print *,(nx+1)*(nz+1)+(ny)*(nz+1)+4*(nz+1)+5*(nz)+3+2*(nz-1)
      do i=1,ny-1
      print*,(nx+1)*(nz+1)+(ny)*(nz+1)+4*(nz+1)+5*(nz)+3+2*(nz-1)+3*(ny-1)+2*(ny-1)*(nz-2)+2*i
      end do
      end
