anchor.diff:        integer i2,i3,j3,ik
         integer fn_out
         logical ofound,omatch
  -
  +      character*73 message
  +
  +      message = "opening file"
         fn_out = 33
          open(unit=fn_out,file="fourimer.dat",
        $            form='formatted',status='unknown',err=911)
  
positive.code:        integer, dimension(:,:), allocatable :: p2
         integer, dimension(:,:), allocatable :: p3
         integer, dimension(:,:), allocatable :: p4
         character*16 , dimension(:), allocatable :: ta,tr
         integer i,il
         integer n2
         integer n3
         integer n4
   
  c
         call smd_pdb_natoms(infile,ntot)
         allocate(c(3,ntot))
  
negative.code:        n2 = nres*(nres-1)/2
         allocate(p2(2,n2))
         call parse_dimers(nres,cg,n2,p2)
         allocate(p3(3,nmax))
         allocate(p4(4,nmax))
         allocate(p5(5,nmax))
         allocate(p6(6,nmax))
         allocate(p7(7,nmax))
         allocate(p8(8,nmax))
         allocate(p9(9,nmax))
         n3 = nmax
         n4 = nmax
         n5 = nmax
         n6 = nmax
         n7 = nmax
         n8 = nmax
         n9 = nmax
  
         call parse_trimers(n2,p2,n2,2,p2,n3,p3)
  c       do i=1,n3
  c         write(*,*) (p3(il,i),il=1,3)
  c       end do
         call parse_trimers(n2,p2,n3,3,p3,n4,p4)
         do i=1,n4
           write(*,'(100I4)') (p4(il,i),il=1,4)
         end do
         call parse_trimers(n2,p2,n4,4,p4,n5,p5)
         do i=1,n5
           write(*,'(100I4)') (p5(il,i),il=1,5)
         end do
         call parse_trimers(n2,p2,n5,5,p5,n6,p6)
         do i=1,n6
           write(*,'(100I4)') (p6(il,i),il=1,6)
         end do
  !!!      == deallocate arrays ==
         deallocate(p2)
         deallocate(cg)
         deallocate(ir)
  