      program main

c  this subroutine written by alain st-amant of the department of
c  pharmaceutical chemistry, university of california, san francisco.
c  all rights reserved.  this is part of the DeFT project.

      implicit real*8(a-h,o-z)

      include "mpif.h"

      include "params.h"

      character input(natoms,2)*30,atomsymbol(natoms)*4

      common/ci/iwkvec(ninteger),nptsatom(natoms),natomtype(natoms),
     &          izmat1(natoms),izmat2(natoms),izmat3(natoms),
     &          neutral(natoms,natoms),isys(natoms,natoms),
     &          nequivvec(natoms,2),nfuncatom(ncontractions),
     &          ilfunc(ncontractions),icfunc(ncontractions),
     &          mtloca(ncontractions),ngaussians(ncontractions),
     &          nshels(ncontractions),nshelp(ncontractions),
     &          nsheld(ncontractions),icdlfunc(nauxiliary),
     &          icdcfunc(nauxiliary),ixclfunc(nauxiliary),
     &          ixccfunc(nauxiliary),ibfreeze(2,natoms),
     &          iafreeze(3,natoms),idfreeze(4,natoms),iifreeze(4,natoms)

      common/cr/wkvec(nreal),coord(3,natoms),coordsave(3,natoms),
     &          charge(natoms),coordptcharge(3,nptcharges),
     &          ptcharge(nptcharges),grad(3,natoms),cutoff(3),
     &          coeffa(ncontractions,ncontractions),
     &          coeffb(ncontractions,ncontractions),
     &          overlap(ncontractions,ncontractions),dmata(nfockdim),
     &          dmatb(nfockdim),core(nfockdim),focka(nfockdim),
     &          fockb(nfockdim),focke(nfockdim),alpha(nprimitives),
     &          coeff(nprimitives),alphacd(nauxiliary),
     &          coefscd(nauxiliary),coefpcd(nauxiliary),
     &          coefdcd(nauxiliary),alphaxc(nauxiliary),
     &          coefsxc(nauxiliary),coefpxc(nauxiliary),
     &          coefdxc(nauxiliary),cdfitc(nauxiliary),
     &          xcfita(nauxiliary),xcfitb(nauxiliary),
     &          xcfite(nauxiliary),xcfitsave(nauxiliary),
     &          tvector(nauxiliary),tveca(nauxiliary),tvecb(nauxiliary),
     &          tvece(nauxiliary)

      common/mpii/ibuffer(nibuffer),iis,iir,irs,irr
      common/mpir/buffer(nrbuffer)

      call mpi_init(ierr)

      call deft(nreal,ninteger,nrbuffer,natoms,ncontractions,nfockdim,
     &          nauxiliary,nmaxpts,nesppts,ncontacts,iwkvec,nptsatom,
     &          natomtype,izmat1,izmat2,izmat3,neutral,isys,nequivvec,
     &          nfuncatom,ilfunc,icfunc,mtloca,ngaussians,nshels,nshelp,
     &          nsheld,icdlfunc,icdcfunc,ixclfunc,ixccfunc,ibfreeze,
     &          iafreeze,idfreeze,iifreeze,wkvec,coord,coordsave,charge,
     &          coordptcharge,ptcharge,grad,coeffa,coeffb,overlap,dmata,
     &          dmatb,core,focka,fockb,focke,alpha,coeff,alphacd,
     &          coefscd,coefpcd,coefdcd,alphaxc,coefsxc,coefpxc,coefdxc,
     &          cdfitc,xcfita,xcfitb,xcfite,xcfitsave,tvector,tveca,
     &          tvecb,tvece,cutoff,buffer,input,atomsymbol)

      call mpi_finalize(ierr)

      stop 'normal'
      end
