anchor.diff:        return
         end
   
  -      subroutine tm_score_all(ndim,nst,n_str,Lch,x,y,z,amat,rmsd_delta,
  +      subroutine tm_score_all(ndim,n_str,Lch,x,y,z,amat,rmsd_delta,
        &                        rmsd_a)
  +c
         implicit none
  +
   c     Intent In
         integer ndim
         integer n_str ! Number of structures in use
  -      integer nst ! Max number of structures
         integer Lch ! Chain length of the structures (all same)
  -      real x(ndim,nst),y(ndim,nst),z(ndim,nst)
  +c      real x(ndim,nst),y(ndim,nst),z(ndim,nst)
  +      real, allocatable, intent(in) :: x(:,:),y(:,:), z(:,:)
  +      real, allocatable, intent(inout) :: amat(:,:)
   c     Intent Out
  -      real amat(nst,nst)
  +c      real amat(nst,nst)
         real rmsd_delta
         double precision rmsd_a
   
  
positive.code: c        1         2         3         4         5         6         7 !
  c 345678901234567890123456789012345678901234567890123456789012345678901234567
        program cluster
        parameter(ndim=2000)      !Length
        parameter(nst=13000)      !number of used structure, maximum allowed
  c      parameter(nst=100)      !number of used structure, maximum allowed
  
negative.code: c       -2: no result obtained because of negative weights w
  c           or all weights equal to zero.
  cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
        subroutine rmsd_score_all(ndim,w,n_str,Lch,x,y,z,amat, rmsd_delta,
       &                          rmsd_a)
  c     REM: I, J, K, L, M, or N are int
        implicit none
  c     Intent In
  cjmht integer ndim,nst
        integer ndim
        integer n_str,Lch
        double precision w(ndim)
  cjmht real x(ndim,nst),y(ndim,nst),z(ndim,nst)
        real, allocatable, intent(in) :: x(:,:), y(:,:), z(:,:)
  c     Intent Out
  cjmht real amat(nst,nst)
        real, allocatable, intent(inout) :: amat(:,:)
        real rmsd_delta
        double precision rmsd_a
  c     Local variables
  