      subroutine ls(ifil)
      use module
      !
      ! lecture de la matrice de recourement
      ! stockage dans une matice carree
      !
      IMPLICIT REAL(8)(A-H,O-X,Z),logical(1)(y)
      double precision,allocatable,dimension (:) :: ss
      character(80) aa
      yw=.false.
      rewind ifil
      read(ifil) aa
      ii=0
      do while (ii==0)
         read(ifil) aa
         read(ifil)
         read(ifil)
         ii=index(aa,'OVERLAP MATRIX (SYM)')
      enddo
      backspace (ifil)
      backspace (ifil)
      read(ifil) nn,nsym
      allocate (ss(nn))
      call lir8(ss,nn,ifil)
      ij=0
      do is=1,nsym
         do i=1,isym(is)
            i1=i+sum(isym(1:is-1))
            do j=1,i
               j1=j+sum(isym(1:is-1))
               ij=ij+1
               s(i1,j1)=ss(ij)
               s(j1,i1)=ss(ij)
            enddo
         enddo
      enddo
      deallocate (ss)
      if(yw) then
         print*,'s dans ls (dans l''ordre des symetries'
         call script(s,norb,norb,norb,norb)
      endif
      return
      end
