********>Bugfix 26: Author: Ross Walker Date: 10/15/2009 Programs: pmemd Description: This patch provides support for CHARMM prmtop files, generated by Chamber in pmemd. It also includes test cases for this support. This patch also adds support for multiple scee and scnb scale factors provided in specialize prmtop files. This support is required for CHARMM force field prmtops. Additionally this patch addresses a number of minor bugs in pmemd caused by missing initialization statments and possible segfaults caused by array out of bounds accesses. Apply the following patch from the $AMBERHOME directory. Warning: Your version of patch may not create the new directories or files correctly and will almost certainly not set the permissions correctly. If you are applying this bugfix as part of bugfix.all then use the apply_bugfix_all.sh script and it will take care of this for you. If you are applying this bugfix manually then you should proceed as follows: Download and save this bugfix.26 file in $AMBERHOME/ cd $AMBERHOME mkdir test/chamber mkdir test/chamber/md_engine/ cd test/chamber/md_engine/ mkdir dhfr touch dhfr/inpcrd touch dhfr/mdout.dhfrc_charmm.min.save touch dhfr/mdout.dhfrc_charmm.save touch dhfr/prmtop touch dhfr/Run.dhfr_charmm.md touch dhfr/Run.dhfr_charmm.min mkdir dhfr_cmap touch dhfr_cmap/inpcrd touch dhfr_cmap/mdout.dhfr_charmm.min.save touch dhfr_cmap/mdout.dhfr_charmm.save touch dhfr_cmap/prmtop touch dhfr_cmap/Run.dhfr_charmm.md touch dhfr_cmap/Run.dhfr_charmm.min mkdir dhfr_cmap_pbc touch dhfr_cmap_pbc/inpcrd touch dhfr_cmap_pbc/mdout.dhfr_charmm.md.save touch dhfr_cmap_pbc/mdout.dhfr_charmm.min.save touch dhfr_cmap_pbc/mdout.dhfr_charmm_noshake.md.save touch dhfr_cmap_pbc/mdout.dhfr_charmm_noshake.min.save touch dhfr_cmap_pbc/prmtop touch dhfr_cmap_pbc/Run.dhfr_cmap_pbc_charmm.md touch dhfr_cmap_pbc/Run.dhfr_cmap_pbc_charmm.min touch dhfr_cmap_pbc/Run.dhfr_cmap_pbc_charmm_noshake.md touch dhfr_cmap_pbc/Run.dhfr_cmap_pbc_charmm_noshake.min chmod 755 dhfr/Run.dhfr_charmm.md chmod 755 dhfr/Run.dhfr_charmm.min chmod 755 dhfr_cmap/Run.dhfr_charmm.md chmod 755 dhfr_cmap/Run.dhfr_charmm.min chmod 755 dhfr_cmap_pbc/Run.dhfr_cmap_pbc_charmm.md chmod 755 dhfr_cmap_pbc/Run.dhfr_cmap_pbc_charmm.min chmod 755 dhfr_cmap_pbc/Run.dhfr_cmap_pbc_charmm_noshake.md chmod 755 dhfr_cmap_pbc/Run.dhfr_cmap_pbc_charmm_noshake.min cd $AMBERHOME/src/pmemd/src/ touch angles_ub.fpp touch charmm.fpp touch charmm_gold.fpp touch cmap.fpp touch dihedrals_imp.fpp touch mdin_debugf_dat.fpp cd $AMBERHOME patch -p0 +! +!******************************************************************************* + +subroutine angles_ub_setup(num_ints, num_reals, use_atm_map) + + use parallel_dat_mod + use pmemd_lib_mod + use prmtop_dat_mod + + implicit none + +! Formal arguments: + + ! num_ints and num_reals are used to return allocation counts. Don't zero. + + integer, intent(in out) :: num_ints, num_reals + integer :: use_atm_map(natom) + +! Local variables: + + integer :: alloc_failed + type(angle_ub_rec) :: angles_ub_copy(nub) + integer :: atm_i, atm_k, angles_ub_idx + integer :: my_angle_ub_cnt + +! This routine can handle reallocation, and thus can be called multiple +! times. + +! Find all ub_angles for which this process owns either atom: + + my_angle_ub_cnt = 0 + + do angles_ub_idx = 1, nub + + atm_i = gbl_angle_ub(angles_ub_idx)%atm_i + atm_k = gbl_angle_ub(angles_ub_idx)%atm_k + +#ifdef MPI + if (gbl_atm_owner_map(atm_i) .eq. mytaskid) then + my_angle_ub_cnt = my_angle_ub_cnt + 1 + angles_ub_copy(my_angle_ub_cnt) = gbl_angle_ub(angles_ub_idx) !Local copy angle_ub object + use_atm_map(atm_i) = 1 + use_atm_map(atm_k) = 1 + + else if (gbl_atm_owner_map(atm_k) .eq. mytaskid) then + my_angle_ub_cnt = my_angle_ub_cnt + 1 + angles_ub_copy(my_angle_ub_cnt) = gbl_angle_ub(angles_ub_idx) + use_atm_map(atm_i) = 1 + use_atm_map(atm_k) = 1 + end if +#else + my_angle_ub_cnt = my_angle_ub_cnt + 1 + angles_ub_copy(my_angle_ub_cnt) = gbl_angle_ub(angles_ub_idx) + use_atm_map(atm_i) = 1 + use_atm_map(atm_k) = 1 +#endif + + end do + + cit_nthet_ub = my_angle_ub_cnt + + if (my_angle_ub_cnt .gt. 0) then + if (allocated(cit_angle_ub)) then + if (size(cit_angle_ub) .lt. my_angle_ub_cnt) then + num_ints = num_ints - size(cit_angle_ub) * angle_ub_rec_ints + deallocate(cit_angle_ub) + allocate(cit_angle_ub(my_angle_ub_cnt), stat = alloc_failed) + if (alloc_failed .ne. 0) call setup_alloc_error + num_ints = num_ints + size(cit_angle_ub) * angle_ub_rec_ints + end if + else + allocate(cit_angle_ub(my_angle_ub_cnt), stat = alloc_failed) + if (alloc_failed .ne. 0) call setup_alloc_error + num_ints = num_ints + size(cit_angle_ub) * angle_ub_rec_ints + end if + cit_angle_ub(1:my_angle_ub_cnt) = angles_ub_copy(1:my_angle_ub_cnt) + end if + +#ifdef CUDA + !Placeholder + !call gpu_angles_ub_setup(my_angle_ub_cnt, cit_angle_ub, gbl_ub_r0, gbl_ub_rk) + write(mdout, '(a)') 'CUDA (GPU): Implementation does not currently support the' + write(mdout, '(a)') ' CHARMM force field.' + call mexit(6, 1) +#endif + + return + +end subroutine angles_ub_setup + +!******************************************************************************* +! +! Subroutine: get_ub_angle_energy +! +! Description: Routine to get the bond energies and forces for potentials of +! the type ct*(t-t0)**2. +! +!******************************************************************************* + +subroutine get_angle_ub_energy(angle_ub_cnt, angle_ub, x, frc, angle_ub_energy) + + use nmr_calls_mod + use parallel_dat_mod + use prmtop_dat_mod + + implicit none + +! Formal arguments: + + integer, intent(in) :: angle_ub_cnt + type(angle_ub_rec),intent(in) :: angle_ub(*) + double precision, intent(in) :: x(3, *) + double precision, intent(inout):: frc(3, *) + double precision, intent(out) :: angle_ub_energy + +! Local variables: + + double precision :: da + double precision :: df + double precision :: dfw + integer :: i, k, ic, jn + double precision :: lcl_angle_ub_energy + double precision :: xa, ya, za + double precision :: rik + double precision :: xik, yik, zik + + lcl_angle_ub_energy = 0.0d0 + +! Grand loop for the bond stuff: + + do jn = 1, angle_ub_cnt + i = angle_ub(jn)%atm_i + k = angle_ub(jn)%atm_k + ic = angle_ub(jn)%parm_idx + +! Calculation of the bond vector: + + xik = x(1, i) - x(1, k) + yik = x(2, i) - x(2, k) + zik = x(3, i) - x(3, k) + + rik = sqrt(xik * xik + yik * yik + zik * zik) + +! Calculation of the energy and deriv: + + da = rik - gbl_ub_r0(ic) + +#ifdef MPI +! If ebdev is ever supported under mpi, you will need to treat it like the +! energy... +#else + ebdev = ebdev + da * da ! For rms deviation from ideal bonds: +#endif + + df = gbl_ub_rk(ic)*da + dfw = (df + df) / rik !TODO Optimize + +#ifdef DEBUG +#ifdef MPI + write(mdout,*) "mytaskid is :",mytaskid +#endif + + write(mdout,*) "jn is :",jn + write(mdout,*) "i is :",x(1,i),x(2,i),x(3,i) + write(mdout,*) "k is :",x(1,k),x(2,k),x(3,k) + write(mdout,*) "rik is :",rik + write(mdout,*) "ic is :",ic + write(mdout,*) "gbl_ub_r0(ic) is :",gbl_ub_r0(ic) + write(mdout,*) "da is :",da + write(mdout,*) "gbl_ub_rk(ic) is :",gbl_ub_rk(ic) + write(mdout,*) "df is :",df + write(mdout,*) "ebw(jn) is :", df*da + write(mdout,*) "" +#endif + + +! Calculation of the force: + + xa = dfw * xik + ya = dfw * yik + za = dfw * zik + +#ifdef MPI + ! We use atm_i to determine who sums up the energy... + if (gbl_atm_owner_map(i) .eq. mytaskid) then + lcl_angle_ub_energy = lcl_angle_ub_energy + df * da + frc(1, i) = frc(1, i) - xa + frc(2, i) = frc(2, i) - ya + frc(3, i) = frc(3, i) - za + end if + + if (gbl_atm_owner_map(k) .eq. mytaskid) then + frc(1, k) = frc(1, k) + xa + frc(2, k) = frc(2, k) + ya + frc(3, k) = frc(3, k) + za + end if +#else + lcl_angle_ub_energy = lcl_angle_ub_energy + df * da + frc(1, i) = frc(1, i) - xa + frc(2, i) = frc(2, i) - ya + frc(3, i) = frc(3, i) - za + frc(1, k) = frc(1, k) + xa + frc(2, k) = frc(2, k) + ya + frc(3, k) = frc(3, k) + za +#endif + + end do + + angle_ub_energy = lcl_angle_ub_energy + + + return + +end subroutine get_angle_ub_energy + +end module angles_ub_mod --- src/pmemd/src/charmm.fpp 2009-10-14 12:55:41.000000000 -0700 +++ src/pmemd/src/charmm.fpp 2009-10-14 12:55:41.000000000 -0700 @@ -0,0 +1,205 @@ +#include "copyright.i" + +!******************************************************************************* +! +! Module: charmm_mod +! +! Description: +! CHARMM FORCE FIELD SUPPORT MODULE +! +! This is the CHARMM module which is used to provide +! support for the CHARMM force field within AMBER. +! This contains support for CHARMM specifics such as +! Urey-Bradley, CHARMM impropers and CMAP +! +! It is designed to be used with a special CHARMM prmtop +! file generated by chamber. +! +! Chamber Authors: Mike Crowley (NREL) +! Mark Williamson (SDSC) +! Ross Walker (SDSC) +! +! CHARMM Module Authors: Mark Williamson (SDSC) +! Ross Walker (SDSC) +! +! Date: Apr 2009. +! +!--------------------------------------------------------- + +! +!******************************************************************************* + +module charmm_mod + + implicit none + + private + +!--------------- Public variables and subroutines ----------- + !Variables + public :: charmm_active + public :: AM_VAL_GEOM_torsion + + !Subroutines + public :: check_for_charmm +!------------- End Public variables and subroutines --------- + +!------------------------------------------------------------ +! VARIABLES AND DERIVED DATA TYPES +!------------------------------------------------------------ + ! Do we have reason to be? + logical,save :: charmm_active + + +!------------------------------------------------------------ +! END VARIABLES AND DERIVED DATA TYPES +!------------------------------------------------------------ + +contains + +!------------------------------------------------------------ +! SUBROUTINES +!------------------------------------------------------------ + +!******************************************************************************* +! +! Subroutine: check_for_charmm +! +! Description: +! This subroutine is responsible for checking the prmtop file +! contains the charmm force field and if it does it sets +! charmm_active to .true. +! +!******************************************************************************* +subroutine check_for_charmm(nlines,scee,scnb,ffdesc) + + use file_io_dat_mod, only : mdout + use pmemd_lib_mod, only : mexit + + implicit none + +!Passed in + integer, intent(in) :: nlines + double precision, intent(in) :: scee,scnb + character(len=80), intent(in) :: ffdesc(nlines) + +!Local + integer :: i + + charmm_active = .false. + do i = 1, nlines + if (index(ffdesc(i),'CHARMM') /= 0) then + write(mdout,'("|")') + write(mdout,'(a,a)') '|CHARMM: CHARMM force field in use. ' + charmm_active = .true. + end if + end do + + return + +end subroutine check_for_charmm + +!******************************************************************************* +! +! Subroutine: AM_VAL_GEOM_torsion +! +! Description: +! Routine to calculate generic angle and partial deriv between 4 points that make +! up two planes. +! +!******************************************************************************* +subroutine AM_VAL_GEOM_torsion(crd_abcd,gradphi_abcd,cosphi,sinphi) + +! This routine is from Darden's generic torsion +! code in AM_VAL_GEOM_torsion in amoeba_valence.f +! Optimized by Ross Walker + + implicit none + double precision, intent(in) :: crd_abcd(12) + double precision, intent(out) :: gradphi_abcd(12),cosphi,sinphi +! given coords of points a,b,c,d this routine calculates +! cosine and sine of torsion phi +! as well as gradient of phi with respect to coords of a,b,c,d +! units are in radians + + double precision :: rab(3),rcb(3),rdc(3),ucb(3),upab(3),updc(3),rcross(3), & + upabc(3),upbcd(3),onesizcb,dotp_ab_cb,onesizpab,dotp_dc_cb, & + onesizpdc,vecS(3),dot,cosphi_pre,sinphi_pre + integer :: m + do m = 1,3 + rab(m) = crd_abcd(m) - crd_abcd(m+3) + rcb(m) = crd_abcd(m+6) - crd_abcd(m+3) + rdc(m) = crd_abcd(m+9) - crd_abcd(m+6) + enddo + + onesizcb = 1.0d0/sqrt(rcb(1)*rcb(1)+rcb(2)*rcb(2)+rcb(3)*rcb(3)) + ucb(1:3) = rcb(1:3)*onesizcb + dotp_ab_cb = rab(1)*ucb(1)+rab(2)*ucb(2)+rab(3)*ucb(3) +! upab is unit vector along component rab perp to ucb + dot = rab(1)*ucb(1)+rab(2)*ucb(2)+rab(3)*ucb(3) + upab(1:3) = rab(1:3) - dot*ucb(1:3) + onesizpab = 1.0d0/sqrt(upab(1)*upab(1)+upab(2)*upab(2)+upab(3)*upab(3)) + upab(1:3) = upab(1:3) * onesizpab + dotp_dc_cb = rdc(1)*ucb(1)+rdc(2)*ucb(2)+rdc(3)*ucb(3) +! updc is unit vector along component rdc perp to ucb + dot = rdc(1)*ucb(1)+rdc(2)*ucb(2)+rdc(3)*ucb(3) + updc(1:3) = rdc(1:3) - dot*ucb(1:3) + onesizpdc = 1.0d0/sqrt(updc(1)*updc(1)+updc(2)*updc(2)+updc(3)*updc(3)) + updc(1:3) = updc(1:3) * onesizpdc +! cosine of phi is given by dot product of upab and updc + +! cosphi must be returned in the range -1.d0 to 1.d0 +! small rounding issues in the 16th decimal place of the +! folloing sum can cause this value to lie outside of this range +! by 1E-16 when: +! upab(1) = updc(1) and upab(2) = updc(2) and upab(3) = updc(3) + + cosphi_pre = upab(1)*updc(1)+upab(2)*updc(2)+upab(3)*updc(3) + cosphi = min( max(cosphi_pre, -1.d0), 1.d0) + +! sine of phi is given by dot product of ucb and upab x updc + rcross(1) = upab(2)*updc(3) - upab(3)*updc(2) + rcross(2) = upab(3)*updc(1) - upab(1)*updc(3) + rcross(3) = upab(1)*updc(2) - upab(2)*updc(1) + +!See note above of cosphi_pre + sinphi_pre = rcross(1)*ucb(1)+rcross(2)*ucb(2)+rcross(3)*ucb(3) + sinphi = min( max(sinphi_pre, -1.d0), 1.d0) + +! gradient of phi wrt ra is perp to abc plane---movement of ra by dr perp +! to abc plane results in dphi of dr/sizpab +! perp to abc given by upab x ucb (these are orthogonal unit vectors) + upabc(1) = upab(2)*ucb(3) - upab(3)*ucb(2) + upabc(2) = upab(3)*ucb(1) - upab(1)*ucb(3) + upabc(3) = upab(1)*ucb(2) - upab(2)*ucb(1) +! grad of phi wrt rd is perp to bcd plane--calc sim to grad phi wrt ra +! perp given by updc x ucb or ucb x updc + upbcd(1) = ucb(2)*updc(3) - ucb(3)*updc(2) + upbcd(2) = ucb(3)*updc(1) - ucb(1)*updc(3) + upbcd(3) = ucb(1)*updc(2) - ucb(2)*updc(1) +! now have enough for gradphi for a and d + do m = 1,3 + gradphi_abcd(m) = upabc(m) * onesizpab + gradphi_abcd(9+m) = upbcd(m) * onesizpdc + enddo +! following chap 5 of thesis of Bekker we have grad phi wrt b = -grad phi wrt a +! plus some vec S and rad phi wrt c = -grad phi wrt d - S +! S is perp to rcb; using simple torque rule and identity for +! triple cross product he derives S (eqn 5.20) + do m = 1,3 + vecS(m) = (dotp_ab_cb*onesizcb)*gradphi_abcd(m) + & + (dotp_dc_cb*onesizcb)*gradphi_abcd(m+9) + gradphi_abcd(m+3) = vecS(m) - gradphi_abcd(m) + gradphi_abcd(m+6) = -vecS(m) - gradphi_abcd(m+9) + enddo +end subroutine AM_VAL_GEOM_torsion + + + + +!------------------------------------------------------------ +! END SUBROUTINES +!------------------------------------------------------------ + + +end module charmm_mod --- src/pmemd/src/charmm_gold.fpp 2009-10-14 12:55:47.000000000 -0700 +++ src/pmemd/src/charmm_gold.fpp 2009-10-14 12:55:47.000000000 -0700 @@ -0,0 +1,128 @@ +#include "copyright.i" + +!******************************************************************************* +! +! +! Description: +! CHARMM FORCE FIELD SUPPORT MODULE +! +! This is the CHARMM module which is used to provide +! support for the CHARMM force field within AMBER. +! This contains support for CHARMM specifics such as +! Urey-Bradley, CHARMM impropers and CMAP +! +! It is designed to be used with a special CHARMM prmtop +! file generated by chamber. +! +! Chamber Authors: Mike Crowley (NREL) +! Mark Williamson (SDSC) +! Ross Walker (SDSC) +! +! CHARMM Module Authors: Mark Williamson (SDSC) +! Ross Walker (SDSC) +! +! Date: Apr 2009. +! +!--------------------------------------------------------- + +! +!******************************************************************************* + +!module charmm_gold_mod + + +subroutine pme_charmm_dump_gold(atm_cnt,frc,pot_ene) +!Dump all energies and atom forces in the same format +!with as c36a2's CHARMM frcdump command: + +! open unit 20 form write name "triala_forces.dat" +! frcdump unit 20 +! close unit 20 + +!The purpose of this is to enable direct comparision to the +!CHARMM binary output. + + use pme_force_mod, only : pme_pot_ene_rec + implicit none + + integer :: gold_file=42 + + integer, intent(in) :: atm_cnt + double precision, intent(in) :: frc(3, atm_cnt) + type(pme_pot_ene_rec), intent(in) :: pot_ene + + + integer :: i + character(len=15),parameter :: fmt = "(a6,d26.16)" + + open (unit = 42, file = "charmm_gold") + + write(gold_file,'(a5,i12)') "NATOM",atm_cnt + write(gold_file,'(a6)') "ENERGY" + write(gold_file,fmt) "ENER", pot_ene%total + write(gold_file,fmt) "BOND", pot_ene%bond + write(gold_file,fmt) "ANGL", pot_ene%angle + write(gold_file,fmt) "UREY", pot_ene%angle_ub + write(gold_file,fmt) "DIHE", pot_ene%dihedral + write(gold_file,fmt) "IMPR", pot_ene%imp + write(gold_file,fmt) "VDW ", pot_ene%vdw_tot + pot_ene%vdw_14 + write(gold_file,fmt) "ELEC", pot_ene%elec_tot + pot_ene%elec_14 + write(gold_file,fmt) "CMAP", pot_ene%cmap + + write(gold_file,'(a5)') "FORCE" + do i=1, atm_cnt + write(gold_file,'(i10,3(D26.16))') i,-frc(1,i),-frc(2,i),-frc(3,i) + enddo + + close(gold_file) + +end subroutine pme_charmm_dump_gold + +subroutine gb_charmm_dump_gold(atm_cnt,frc,pot_ene) +!Dump all energies and atom forces in the same format +!with as c36a2's CHARMM frcdump command: + +! open unit 20 form write name "triala_forces.dat" +! frcdump unit 20 +! close unit 20 + +!The purpose of this is to enable direct comparision to the +!CHARMM binary output. + + use gb_force_mod, only : gb_pot_ene_rec + implicit none + + integer :: gold_file=42 + + integer, intent(in) :: atm_cnt + double precision, intent(in) :: frc(3, atm_cnt) + type(gb_pot_ene_rec), intent(in) :: pot_ene + + + integer :: i + character(len=15),parameter :: fmt = "(a6,d26.16)" + + open (unit = 42, file = "charmm_gold") + + write(gold_file,'(a5,i12)') "NATOM",atm_cnt + write(gold_file,'(a6)') "ENERGY" + write(gold_file,fmt) "ENER", pot_ene%total + write(gold_file,fmt) "BOND", pot_ene%bond + write(gold_file,fmt) "ANGL", pot_ene%angle + write(gold_file,fmt) "UREY", pot_ene%angle_ub + write(gold_file,fmt) "DIHE", pot_ene%dihedral + write(gold_file,fmt) "IMPR", pot_ene%imp + write(gold_file,fmt) "VDW ", pot_ene%vdw_tot + pot_ene%vdw_14 + write(gold_file,fmt) "ELEC", pot_ene%elec_tot + pot_ene%elec_14 + write(gold_file,fmt) "CMAP", pot_ene%cmap + + write(gold_file,'(a5)') "FORCE" + do i=1, atm_cnt + write(gold_file,'(i10,3(D26.16))') i,-frc(1,i),-frc(2,i),-frc(3,i) + enddo + + close(gold_file) + +end subroutine gb_charmm_dump_gold + +!end module charmm_gold_mod --- src/pmemd/src/cmap.fpp 2009-10-14 12:57:25.000000000 -0700 +++ src/pmemd/src/cmap.fpp 2009-10-14 12:50:07.000000000 -0700 @@ -0,0 +1,926 @@ +#include "copyright.i" + +!******************************************************************************* +! +! Module: cmap_mod +! +! Description: +! +!******************************************************************************* + +module cmap_mod + + use gbl_datatypes_mod + + implicit none + +! The following are derived from prmtop dihedral info: + + integer, save :: cit_cmap_term_count + type(cmap_rec), allocatable, save :: cit_cmap(:) + + !Local + double precision, parameter :: zero = 0.0d0 + double precision, parameter :: one = 1.0d0 + double precision, parameter :: two = 2.0d0 + double precision, parameter :: three = 3.0d0 + double precision, parameter :: half = one/two + + integer :: gridOrigin=-180 !Where the 2D grid starts in degrees + + +contains + +!******************************************************************************* +! +! Subroutine: cmap_setup +! +! Description: +! +!******************************************************************************* + +subroutine cmap_setup(num_ints, num_reals, use_atm_map) + + use parallel_dat_mod + use pmemd_lib_mod + use prmtop_dat_mod + + implicit none + +! Formal arguments: + + ! num_ints and num_reals are used to return allocation counts. Don't zero. + + integer, intent(in out) :: num_ints, num_reals + integer :: use_atm_map(natom) + +! Local variables: + + integer :: alloc_failed + type(cmap_rec) :: cmap_copy(cmap_term_count) + integer :: atm_i, atm_j, atm_k, atm_l, atm_m, cmap_idx + integer :: my_cmap_cnt + +! This routine can handle reallocation, and thus can be called multiple +! times. + +! Find all diheds for which this process owns either atom: + + my_cmap_cnt = 0 + + do cmap_idx = 1, cmap_term_count + + atm_i = gbl_cmap(cmap_idx)%atm_i + atm_j = gbl_cmap(cmap_idx)%atm_j + atm_k = gbl_cmap(cmap_idx)%atm_k + atm_l = gbl_cmap(cmap_idx)%atm_l + atm_m = gbl_cmap(cmap_idx)%atm_m + +#ifdef MPI + if (gbl_atm_owner_map(atm_i) .eq. mytaskid) then + my_cmap_cnt = my_cmap_cnt + 1 + cmap_copy(my_cmap_cnt) = gbl_cmap(cmap_idx) + use_atm_map(atm_i) = 1 + use_atm_map(atm_j) = 1 + use_atm_map(atm_k) = 1 + use_atm_map(atm_l) = 1 + use_atm_map(atm_m) = 1 + else if (gbl_atm_owner_map(atm_j) .eq. mytaskid) then + my_cmap_cnt = my_cmap_cnt + 1 + cmap_copy(my_cmap_cnt) = gbl_cmap(cmap_idx) + use_atm_map(atm_i) = 1 + use_atm_map(atm_j) = 1 + use_atm_map(atm_k) = 1 + use_atm_map(atm_l) = 1 + use_atm_map(atm_m) = 1 + else if (gbl_atm_owner_map(atm_k) .eq. mytaskid) then + my_cmap_cnt = my_cmap_cnt + 1 + cmap_copy(my_cmap_cnt) = gbl_cmap(cmap_idx) + use_atm_map(atm_i) = 1 + use_atm_map(atm_j) = 1 + use_atm_map(atm_k) = 1 + use_atm_map(atm_l) = 1 + use_atm_map(atm_m) = 1 + else if (gbl_atm_owner_map(atm_l) .eq. mytaskid) then + my_cmap_cnt = my_cmap_cnt + 1 + cmap_copy(my_cmap_cnt) = gbl_cmap(cmap_idx) + use_atm_map(atm_i) = 1 + use_atm_map(atm_j) = 1 + use_atm_map(atm_k) = 1 + use_atm_map(atm_l) = 1 + use_atm_map(atm_m) = 1 + else if (gbl_atm_owner_map(atm_m) .eq. mytaskid) then + my_cmap_cnt = my_cmap_cnt + 1 + cmap_copy(my_cmap_cnt) = gbl_cmap(cmap_idx) + use_atm_map(atm_i) = 1 + use_atm_map(atm_j) = 1 + use_atm_map(atm_k) = 1 + use_atm_map(atm_l) = 1 + use_atm_map(atm_m) = 1 + end if + +#else + my_cmap_cnt = my_cmap_cnt + 1 + cmap_copy(my_cmap_cnt) = gbl_cmap(cmap_idx) + use_atm_map(atm_i) = 1 + use_atm_map(atm_j) = 1 + use_atm_map(atm_k) = 1 + use_atm_map(atm_l) = 1 + use_atm_map(atm_m) = 1 +#endif + + end do + + cit_cmap_term_count = my_cmap_cnt + + if (my_cmap_cnt .gt. 0) then + if (allocated(cit_cmap)) then + if (size(cit_cmap) .lt. my_cmap_cnt) then + num_ints = num_ints - size(cit_cmap) * cmap_rec_ints + deallocate(cit_cmap) + allocate(cit_cmap(my_cmap_cnt), stat = alloc_failed) + if (alloc_failed .ne. 0) call setup_alloc_error + num_ints = num_ints + size(cit_cmap) * cmap_rec_ints + end if + else + allocate(cit_cmap(my_cmap_cnt), stat = alloc_failed) + if (alloc_failed .ne. 0) call setup_alloc_error + num_ints = num_ints + size(cit_cmap) * cmap_rec_ints + end if + cit_cmap(1:my_cmap_cnt) = cmap_copy(1:my_cmap_cnt) + end if + +!#ifdef CUDA +! call gpu_dihedrals_setup(my_dihed_cnt, cit_dihed, gbl_ipn, gbl_pn, gbl_pk, gbl_gamc, gbl_gams); +!#endif + +!BEGIN DBG +! write(0,*)'task,cit_nphih,cit_nphia', mytaskid, & +! cit_nphih, cit_nphia, +! write(0,*)'task, nphih, nphia', mytaskid, & +! nphih, nphia +!END DBG + + return + +end subroutine cmap_setup + +!******************************************************************************* +! +! Subroutine: get_dihed_energy +! +! Description: +! +!******************************************************************************* + +subroutine get_cmap_energy(cmap_cnt, cmap, x, frc, ep) + + use gbl_constants_mod + use mdin_ctrl_dat_mod + use parallel_dat_mod + use prmtop_dat_mod + use charmm_mod, only : AM_VAL_GEOM_torsion + + implicit none + +! Formal arguments: + + integer, intent(in) :: cmap_cnt + type(cmap_rec), intent(in) :: cmap(*) + double precision, intent(in) :: x(3, *) + double precision, intent(inout) :: frc(3, *) + double precision, intent(inout) :: ep + + !LOCAL + double precision :: phi,psi !Value of repsective dihedral in degrees + double precision :: dE_dPhi, dE_dPsi !Derivative of energy with + !respect to dihedral angles + + double precision :: crd_ijkl(12),dPhi_dijkl(12) !Coordinates and derivatives + double precision :: cosPhi_ijkl,sinPhi_ijkl !of first dihedral + + double precision :: crd_jklm(12),dPsi_djklm(12) + double precision :: cosPsi_jklm,sinPsi_jklm + + + double precision :: dE_dijkl(12), dE_djklm(12) !Final derivatives of energy wrt + !to coordinate + + integer :: jn, n + integer :: i, j, k, l, m + integer :: cmap_type_index + double precision :: epw, epl + double precision :: rad_to_deg_coeff + + epl = 0.d0 + + do jn = 1, cmap_cnt + + i = cmap(jn)%atm_i + j = cmap(jn)%atm_j + k = cmap(jn)%atm_k + l = cmap(jn)%atm_l + m = cmap(jn)%atm_m + + !First dihedral (phi) + do n = 1,3 !First loop assign x, second assign y, and finally z + crd_ijkl(n) = x(n, i) + crd_ijkl(n+3) = x(n, j) + crd_ijkl(n+6) = x(n, k) + crd_ijkl(n+9) = x(n, l) + enddo + + !Calculate the dihedral angle (phi) and the derivatives of the + !four coordinates with respect to phi. Remember this subroutine is + !operating in radians + call AM_VAL_GEOM_torsion(crd_ijkl,dPhi_dijkl,cosphi_ijkl,sinphi_ijkl) + phi = sign(acos(cosphi_ijkl),sinphi_ijkl) * RAD_TO_DEG +#ifdef CHARMM_DEBUG + write(6,'(10x,a)'),"Dihedral 1 " + write(6,'(10x,4I8)'), i,j,k,l + + write(6,'( 10x,a)'),"coordinates" + write(6,'( 10x,a1,3(f10.6,x) )'),"i",crd_ijkl(1:3) + write(6,'( 10x,a1,3(f10.6,x) )'),"j",crd_ijkl(4:6) + write(6,'( 10x,a1,3(f10.6,x) )'),"k",crd_ijkl(7:9) + write(6,'( 10x,a1,3(f10.6,x) )'),"l",crd_ijkl(10:12) + write(6,'(a)'),"" + write(6,'( 10x,a10,f8.3 )'),"Angle: ",phi + write(6,'(a)'),"" +#endif + + + !Second dihedral + !First dihedral (phi) + do n = 1,3 !First loop assign x, second assign y, and finally z + crd_jklm(n) = x(n, j) + crd_jklm(n+3) = x(n, k) + crd_jklm(n+6) = x(n, l) + crd_jklm(n+9) = x(n, m) + enddo + + !Calculate the dihedral angle (psi) and the derivatives of the + !four coordinates with respect to psi. Remember this subroutine is + !operating in radians + call AM_VAL_GEOM_torsion(crd_jklm,dPsi_djklm,cospsi_jklm,sinpsi_jklm) + psi = sign(acos(cospsi_jklm),sinpsi_jklm) * RAD_TO_DEG +#ifdef CHARMM_DEBUG + write(6,'(10x,a)'),"Dihedral 2 " + write(6,'(10x,4I8)'), j,k,l,m + + write(6,'( 10x,a)'),"coordinates" + write(6,'( 10x,a1,3(f10.6,x) )'),"j",crd_jklm(1:3) + write(6,'( 10x,a1,3(f10.6,x) )'),"k",crd_jklm(4:6) + write(6,'( 10x,a1,3(f10.6,x) )'),"l",crd_jklm(7:9) + write(6,'( 10x,a1,3(f10.6,x) )'),"m",crd_jklm(10:12) + write(6,'(a)'),"" + write(6,'( 10x,a10,f8.3 )'),"Angle: ",psi + write(6,'(a)'),"" +#endif + + !Calculate the CMAP correction energy using the associated CMAP + !parameter. Also calculate the partial derivatives: dE/dPhi and dE/Psi + + !Remember the sixth element of cmap_index ( cmap_index(6,i) ) + !is the mapping to its corresponding parameter type: + ! + ! 11 13 15 21 23 1 + ! i j k l m index to CMAP type + + cmap_type_index = cmap(jn)%parm_idx + + call charmm_calc_cmap_from_phi_psi(phi, psi, & + cmap_type_index, & + epw, dE_dPhi, dE_dPsi ) + + !In AM_VAL_GEOM_torsion(), we've been working in radians, + !and conversly charmm_calc_cmap_from_phi_psi(), in degrees. + !We need to convert over to degrees per interval. + + rad_to_deg_coeff = RAD_TO_DEG * 1/gbl_cmap_grid_step_size(cmap_type_index) + + + dPhi_dijkl(1:12) = dPhi_dijkl(1:12) * rad_to_deg_coeff + dPsi_djklm(1:12) = dPsi_djklm(1:12) * rad_to_deg_coeff + + !Use chain rule to obtain the energy gradient wrt to coordinate + + ! dE_d(ijkl) = dE_dPhi*dPhi_d(ijkl) + ! dE_d(jklm) = dE_dPsi*dPhi_d(jklm) + + !dE_d(ijkl) + dE_dijkl(1:12) = dE_dPhi*dPhi_dijkl(1:12) + + !dE_d(jklm) + dE_djklm(1:12) = dE_dPsi*dPsi_djklm(1:12) + +#ifdef CHARMM_DEBUG + write(6,'( 10x,a1,i6)'),"jn",jn + write(6,'( 10x,a)'),"forces" + write(6,'( 10x,a9,3(f10.6,x) )'),"dE_dijkl",dE_djklm(1:3) + write(6,'( 10x,a9,3(f10.6,x) )'),"dE_dijkl",dE_djklm(4:6) + write(6,'( 10x,a9,3(f10.6,x) )'),"dE_dijkl",dE_djklm(7:9) + write(6,'( 10x,a9,3(f10.6,x) )'),"dE_dijkl",dE_djklm(10:12) + + write(6,'( 10x,a9,3(f10.6,x) )'),"dE_djklm",dE_djklm(1:3) + write(6,'( 10x,a9,3(f10.6,x) )'),"dE_djklm",dE_djklm(4:6) + write(6,'( 10x,a9,3(f10.6,x) )'),"dE_djklm",dE_djklm(7:9) + write(6,'( 10x,a9,3(f10.6,x) )'),"dE_djklm",dE_djklm(10:12) + + write(6,'(a)'),"" +#endif + + !Now, update the forces on the five atoms in this CMAP term; + !remember, it is the negative of the derivative + + ! Now add the force to the main force array. + ! Remember, force is the negative of the gradient + +#ifdef MPI +! We use atm_i to determine who sums up the energy... + if (gbl_atm_owner_map(i) .eq. mytaskid) then + epl = epl + epw + do n = 1,3 + frc(n, i) = frc(n, i) - dE_dijkl(n) + enddo + end if + + if (gbl_atm_owner_map(j) .eq. mytaskid) then + do n = 1,3 + frc(n, j) = frc(n, j) - dE_dijkl(n+3) - dE_djklm(n) + enddo + end if + + if (gbl_atm_owner_map(k) .eq. mytaskid) then + do n = 1,3 + frc(n, k) = frc(n, k) - dE_dijkl(n+6) - dE_djklm(n+3) + enddo + end if + + if (gbl_atm_owner_map(l) .eq. mytaskid) then + do n = 1,3 + frc(n, l) = frc(n, l) - dE_dijkl(n+9) - dE_djklm(n+6) + enddo + end if + + if (gbl_atm_owner_map(m) .eq. mytaskid) then + do n = 1,3 + frc(n, m) = frc(n, m) - dE_djklm(n+9) + enddo + end if + +#else + do n = 1,3 + frc(n, i) = frc(n, i) - dE_dijkl(n) + frc(n, j) = frc(n, j) - dE_dijkl(n+3) - dE_djklm(n) + frc(n, k) = frc(n, k) - dE_dijkl(n+6) - dE_djklm(n+3) + frc(n, l) = frc(n, l) - dE_dijkl(n+9) - dE_djklm(n+6) + frc(n, m) = frc(n, m) - dE_djklm(n+9) + end do + + !Update the total cmap energy with calculated energy from the current + !CMAP term + epl = epl + epw + +#endif + + end do + + ep = epl + + return +end subroutine get_cmap_energy + + +function cmapGridWrapper(value) + !Use modular arithmetic to ensure that coordinates on the grid, + !wrap around at the edges + + integer, intent(in) :: value + integer :: cmapGridWrapper + integer, parameter :: resolution = 24 !I should take this from + !cmapParameter%resolution + + cmapGridWrapper = modulo(value-1,resolution)+1 + + !Debug + !write(6,'(a,i8,a,i8)'),"cmapGridWrapper takes",value," returns ",cmapGridWrapper +end function + + +subroutine generate_cmap_derivatives +!Called *once* after CMAP parameters have been read. This populates +!various partial derivatives in the cmapParameter%{dPsi,dPhi,dPsi_dPhi} +!object. It does this using a cubic spline on the read in CMAP grid. +! +!Later, this information is +!used to evaluate an arbitary phi/phi angle for a given crossterm. + + use prmtop_dat_mod + + implicit none + + integer :: i,row,col,j,k,step_size + integer :: res,halfRes,twoRes + double precision, allocatable,dimension(:) :: tmpy,tmpy2 + + write(6,'(a)') '|CHARMM: Reticulating splines.' + write(6,'(a)') '' + do i=1,cmap_type_count + + !Assign these here to make the code more readable + !in this section + res = gbl_cmap_res(i) + halfRes = gbl_cmap_res(i)/2 + twoRes = gbl_cmap_res(i)*2 + step_size = gbl_cmap_grid_step_size(i) + + allocate( tmpy(twoRes) ) + allocate( tmpy2(twoRes) ) + + !1) calculate dE/dPhi + do row=1,res !Step up one row each cycle, + !splining across all columns + + + !Fill an *extended* tmp array (tmpy) for with CMAP values + !for the 1D splining + !CHARMM does this to (I think) avoid edge issues + + k=1 !interal offset counter for tmp array + do j=(1-halfRes),(res+halfRes) !-11 --> 36 + !DEBUG + !write(6,'(i4,f15.6)'),j,gbl_cmap_grid(i,row, cmapGridWrapper(j) ) + tmpy(k) = gbl_cmap_grid(i,row,cmapGridWrapper(j)) + k=k+1 + enddo + + + !Calculate spline coeffients (tmpy2) for each of the 1D + !horizontal rows in the CMAP table + call generate_cubic_spline(twoRes, step_size, tmpy, tmpy2) + + !DEBUG + !write(6,'(a)'),"generate_cubic_spline() contains:" + !do j=1,48 + ! write(6,'(i4,2f15.6)'),j,tmpy(j),tmpy2(j) !This works + !enddo + + + !Calculate %dPhi for using each row + !of energies and corresponding splines in tmpy and tmpy2 + do j=1,res + !evaluate_cubic_spline(n,step_size, gridOrigin, y,y2,xin,yout) + + !offset array passed to evaluate_cubic_spline + call evaluate_cubic_spline(step_size, tmpy, tmpy2, & + j+12, gbl_cmap_dPhi(i,row,j)) + !DEBUG + !write(6,'(i4,2f15.6)'),j+12,tmpy(j),gbl_cmap_dPhi(i,row,j) + enddo + enddo !row + + !2) calculate dE/dPsi + do col=1,res !Step across one column each cycle, + !spinling up each column + + k=1 + do j=(1-halfRes),(res+halfRes) !-11 --> 36 + !DEBUG + !write(6,'(i4,f15.6)'),j,cmap_types(i)%grid(cmapGridWrapper(j),col) + tmpy(k) = gbl_cmap_grid(i,cmapGridWrapper(j), col) + k=k+1 + enddo + + !Calculate spline coeffients (tmpy2) for each of the 1D + !vertical columns in the CMAP table + call generate_cubic_spline(twoRes, step_size, tmpy, tmpy2) + + + !Calculate %dPsi for using each column of energies and + !corresponding splines in tmpy and tmpy2 + do j=1,res + !offset array passed to evaluate_cubic_spline + call evaluate_cubic_spline(step_size, tmpy, tmpy2,& + j+12,gbl_cmap_dPsi(i,j,col)) + !DEBUG + !write(6,'(i4,2f15.6)'),j+12,tmpy(j),cmap_types(i)%dpsi(j,col) + enddo + enddo !col + + + !3) calculate d^2E/dPhidPsi + !TODO Interpolate partitial derivative of psi; dE/dPhi ? + + do col=1,res !TODO + + k=1 + do j=(1-halfRes),(res+halfRes) !-11 --> 36 + tmpy(k) = gbl_cmap_dPhi(i,cmapGridWrapper(j),col) + k=k+1 + enddo + + call generate_cubic_spline(twoRes, step_size, tmpy, tmpy2) + + !TODO + do j=1,res + call evaluate_cubic_spline(step_size, tmpy, tmpy2, & + j+12,gbl_cmap_dPhi_dPsi(i,j,col)) + !write(6,'(i4,2f15.6)'),j+12,tmpy(j),cmap_types(i)%dPhi_dPsi(j,col) + enddo + enddo + + !release the arrays used by the splining code + deallocate(tmpy) + deallocate(tmpy2) + + + enddo !cmap_type_count + +end subroutine generate_cmap_derivatives + +subroutine generate_cubic_spline(n, step_size, y, y2) +!Generates the set cubic splining coefficients from a 1D array with +!the assumption that the distance between the points is constant. This +!interpolation method ensures that the derivative of this spline is +!continuous across the boundary of two intervals. + +!These coefficients are only calculated *once*, but are later used on +!multiple occassions by another subroutine to interpolate anywhere +!between two points in this 1D array + + implicit none + + integer, intent(in) :: n !Number of values in below array + integer, intent(in) :: step_size !in degrees +!Since n and step_size are known, there is no need to pass an input +!array of x to this subroutine and many simplications can be made +!within this subroutine since we are using a fixed interval + double precision, intent(in), dimension(:) :: y !1D array of y values + double precision, intent(out),dimension(:) :: y2 !calculated coefficients + +!Local + double precision, allocatable,dimension(:) :: tmp + double precision :: p + integer :: i + + !tmp array used internally for the decomposition loop + allocate( tmp(n) ) + + !Lower and upper boundaries are natural + y2(1)=zero + tmp(1)=zero + + do i=2, n-1 + !y2 is used initially as a temp storage array + p=half*y2(i-1) + two + !Debug + y2(i) = -HALF/p + tmp(i) = ( y(i+1)-two*y(i) + y(i-1) ) / step_size + tmp(i) = ( three* (tmp(i)/step_size) - HALF *tmp( i-1 ) )/p + + enddo + + !Set the upper boundary + y2(n) = zero + + do i=n-1,1,-1 + y2(i)=y2(i)*y2(i+1)+tmp(i) + !write(6, *) "n is :",n + !write(6, *) "Step size is :",step_size + !write(6, *) "y is :",y(i) + !write(6, *) "y2 is :",y2(i) + enddo + + + deallocate(tmp) + +end subroutine generate_cubic_spline + +subroutine evaluate_cubic_spline(step_size, y, y2, grid_point, dyout) + +!subroutine evaluate_cubic_spline(n,step_size, gridOrigin, y,y2,xin,dyout) +!This is reduced version of a typical cubic spline routine +!that one may find in a recipe book of a numerical flavour. + +!It is "reduced" since it is used here to obtain smooth derivatives +!ONLY at discrete points on the CMAP grid, hence it never interpolates +!between the points, therefore the coefficient a is always 1.0 and b is +!always 0.0. In addition, there is never a need to return the +!interpolated value since it will be aways the same as the value passed to it. + + + implicit none + + integer, intent(in) :: step_size !in degrees + !in degrees +!Since n and step_size are known, there is no need to pass an input +!array of x to this subroutine and many simplications can be made +!within this subroutine since we are using a fixed interval + double precision, intent(in),dimension(:) :: y !1D array of y values + double precision, intent(in),dimension(:) :: y2 !calculated coefficients + !from generate_cubic_spline() +!Hack to allow grid points to be passed + integer, intent(in) :: grid_point !WIP + !nearest GRID point +! _REAL_, intent(out) :: yout !cubuic spline + !interpolated value + double precision, intent(out) :: dyout !cubuic spline + !interpolated gradient + double precision :: a,b!,c,d + !Cubic spline coefficents + integer :: lo +! _REAL_ :: yout + + + !Work out nearest complete grid point on the CMAP grid from xin + !lo = int( (xin - gridOrigin)/(step_size) ) + 1 + + lo = grid_point + !write(6,'(a,I4)'),"Lo is: ",lo + + !b = ( xin - ( (lo-1)*step_size + gridOrigin) )/step_size + !a = 1-b + + !write(6,'(a,f15.6)'),"a is : ",a + !write(6,'(a,f15.6)'),"b is : ",b + + + a = 1.0 + b = 0.0 + !DEBUG + +! yout = a*y(lo) & +! + b*y(lo+1) & +! + (1/6)*(a*a*a-a)*(step_size*step_size)*y2(lo) & +! + (1/6)*(b*b*b-b)*(step_size*step_size)*y2(lo+1) + + + dyout = (y(lo+1)-y(lo))/step_size & + - ((3*a*a-1)/6)*step_size*y2(lo) & + + ((3*b*b-1)/6)*step_size*y2(lo+1) + + !DEBUG + !write(6,'(a,f15.6)'),"y(lo) is :", y(lo) + !write(6,'(a,f15.6)'),"y(lo+1) is :", y(lo+1) + !write(6,'(a,f15.6)'),"y2(lo) is :", y2(lo) + !write(6,'(a,f15.6)'),"y2(lo+1) is :", y2(lo+1) + !!write(6,'(a,f15.6)'),"yout is :", yout + !write(6,'(a)'),"" +end subroutine evaluate_cubic_spline + +subroutine weight_stencil(step_size, & + E_stencil, & + dPhi_stencil, & + dPsi_stencil, & + dPhi_dPsi_stencil, & + c ) + + implicit none + + integer, intent(in) :: step_size + double precision, dimension(4),& + intent(in) :: E_stencil, dPhi_stencil,& + dPsi_stencil, dPhi_dPsi_stencil + double precision, dimension(4,4),& + intent(out) :: c !The coefficient array to be be + !used by bicubic_interpolation() + + + double precision, dimension(16) :: tmp !temp vector built from + !E,dPhi,dPsi,dPhi_dPsi + integer, dimension(16,16) :: wT !Weight matrix +#ifdef CHARMM_DEBUG + integer :: i + integer :: j +#endif + + double precision, dimension(16) :: c_tmp !Vector prior to matrix packing + integer, dimension (1:2) :: my_shape = (/ 4, 4 /) !Used for reshape + integer, dimension (1:2) :: my_order = (/ 2, 1 /) !Used for reshape + wt(1 ,1:16) = (/ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0/) + wt(2 ,1:16) = (/ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0/) + wt(3 ,1:16) = (/-3, 0, 0, 3, 0, 0, 0, 0,-2, 0, 0,-1, 0, 0, 0, 0/) + wt(4 ,1:16) = (/ 2, 0, 0,-2, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0/) + wt(5 ,1:16) = (/ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0/) + wt(6 ,1:16) = (/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0/) + wt(7 ,1:16) = (/ 0, 0, 0, 0,-3, 0, 0, 3, 0, 0, 0, 0,-2, 0, 0,-1/) + wt(8 ,1:16) = (/ 0, 0, 0, 0, 2, 0, 0,-2, 0, 0, 0, 0, 1, 0, 0, 1/) + wt(9 ,1:16) = (/-3, 3, 0, 0,-2,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0/) + wt(10,1:16) = (/ 0, 0, 0, 0, 0, 0, 0, 0,-3, 3, 0, 0,-2,-1, 0, 0/) + wt(11,1:16) = (/ 9,-9, 9,-9, 6, 3,-3,-6, 6,-6,-3, 3, 4, 2, 1, 2/) + wt(12,1:16) = (/-6, 6,-6, 6,-4,-2, 2, 4,-3, 3, 3,-3,-2,-1,-1,-2/) + wt(13,1:16) = (/ 2,-2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0/) + wt(14,1:16) = (/ 0, 0, 0, 0, 0, 0, 0, 0, 2,-2, 0, 0, 1, 1, 0, 0/) + wt(15,1:16) = (/-6, 6,-6, 6,-3,-3, 3, 3,-4, 4, 2,-2,-2,-2,-1,-1/) + wt(16,1:16) = (/ 4,-4, 4,-4, 2, 2,-2,-2, 2,-2,-2, 2, 1, 1, 1, 1/) + + !Create the vector to be operated on + tmp(1:4) = E_stencil(1:4) + tmp(5:8) = dPhi_stencil(1:4) *step_size + tmp(9:12) = dPsi_stencil(1:4) *step_size + tmp(13:16) = dPhi_dPsi_stencil(1:4) *step_size*step_size + + !Use the matmul intrinsic to operate on the vector + !http://gcc.gnu.org/onlinedocs/gfortran/MATMUL.html + c_tmp = matmul(wT,tmp) + + c = reshape(c_tmp, my_shape, order=my_order ) + +#ifdef CHARMM_DEBUG + write(6,'(a)'),"tmp vector is :" + write(6,'(f16.6)'),tmp + write(6,'(a)'),"" + write(6,'(a)'),"c matrix is:" + do i=4,1,-1 + write(6,'(4f16.6)'),c(i,1:4) + enddo +#endif + +end subroutine weight_stencil + +!------------------------------------------------------------ + +!------------------------------------------------------------ +subroutine bicubic_interpolation(frac_x, frac_y, c, E, dx, dy) + implicit none + + double precision, intent(in) :: frac_x, frac_y + double precision, dimension(4,4),& + intent(in) :: c + double precision, intent(out) :: E, dx, dy + + integer :: i + + E = 0.0d0 + dx = 0.0d0 + dy = 0.0d0 + + do i=4,1,-1 + + E = E*frac_x +( (c(i,4)*frac_y + c(i,3))*frac_y + c(i,2) )*frac_y + c(i,1) + dx = dx*frac_y +( three*c(4,i)*frac_x + two*c(3,i) )*frac_x + c(2,i) + dy = dy*frac_x +( three*c(i,4)*frac_y + two*c(i,3) )*frac_y + c(i,2) + + enddo + +#ifdef CHARMM_DEBUG + write(6,'(a)'),"" + + write(6,'(A,f10.5,f10.5)'),"frac_x,frac_y ",frac_x,frac_y + + write(6,'(a,f16.6)'),"E is ",E + write(6,'(a,f16.6)'),"dx is ",dx + write(6,'(a,f16.6)'),"dy is ",dy +#endif + +end subroutine bicubic_interpolation + +subroutine charmm_calc_cmap_from_phi_psi(phi,psi,cmap_idx,E,dPhi,dPsi) + !Eventually, this will calculate the CMAP energy given + !psi,phi and the cmap parameter + + use prmtop_dat_mod + + implicit none + + double precision, intent(in) :: phi,psi + integer ,intent(in) :: cmap_idx + double precision, intent(out) :: E !final CMAP energy + double precision, intent(out) :: dPhi,dPsi !partitial derivatives + + + double precision :: phiFrac,psiFrac + double precision, dimension(2,2) :: E_stencil, dPhi_stencil,& + dPsi_stencil, dPhi_dPsi_stencil + double precision, dimension(4) :: E_stencil_1D, dPhi_stencil_1D,& + dPsi_stencil_1D, dPhi_dPsi_stencil_1D + integer :: i,j + integer :: x,y = 0 + double precision, dimension(4,4) :: c = 0 + + + + !Work out nearest complete grid point on the CMAP grid from + !phi and psi and use this to form a 2x2 stencil + x = int( (phi - gridOrigin)/(gbl_cmap_grid_step_size(cmap_idx)) ) + 1 + y = int( (psi - gridOrigin)/(gbl_cmap_grid_step_size(cmap_idx)) ) + 1 + + !We are currently at the bottom left of the inner 2x2 elements of the + !stencil, now move to the bottom left hand corner of the 4x4 stencil + !x = cmapGridWrapper(x-1) + !y = cmapGridWrapper(y-1) + + + !Work out the fraction of the CMAP grid step that the interpolated + !point takes up. + !This will give the remainder part and then it is divided by the step size + phiFrac = modulo( (phi - gridOrigin), & + dble(gbl_cmap_grid_step_size(cmap_idx)) ) / gbl_cmap_grid_step_size(cmap_idx) + psiFrac = modulo( (psi - gridOrigin), & + dble(gbl_cmap_grid_step_size(cmap_idx)) ) / gbl_cmap_grid_step_size(cmap_idx) + + !2x2 stencil + !Set the stencils to the local CMAP grid region + !determined by psi and phi + do i=1,2 + do j=1,2 + E_stencil(i,j) = gbl_cmap_grid(cmap_idx ,cmapGridWrapper( y+(i-1) ),& + cmapGridWrapper( x+(j-1) ) ) + dPhi_stencil(i,j) = gbl_cmap_dPhi(cmap_idx,cmapGridWrapper( y+(i-1) ),& + cmapGridWrapper( x+(j-1) ) ) + dPsi_stencil(i,j) = gbl_cmap_dPsi(cmap_idx,cmapGridWrapper( y+(i-1) ),& + cmapGridWrapper( x+(j-1) ) ) + dPhi_dPsi_stencil(i,j) & + = gbl_cmap_dPhi_dPsi(cmap_idx, cmapGridWrapper( y+(i-1) ),& + cmapGridWrapper( x+(j-1) ) ) + enddo + enddo + +#ifdef CHARMM_DEBUG + write(6,'(A,f10.3,f10.3)'),"phi, psi ",phi,psi + write(6,'(A,f10.5,f10.5)'),"phiFrac,psiFrac ",phiFrac,psiFrac + write(6,'(a,i2)'),"CMAP grid coordinate of psi : ",x + write(6,'(a,i2)'),"CMAP grid coordinate of phi : ",y + + + write(6,'(A)'),"" + write(6,'(A)'),"2x2 grid stencils:" + write(6,'(A)'),"CMAP:" + + write(6,'(4(f9.6,2x))'),E_stencil(2,1:2) + write(6,'(4(f9.6,2x))'),E_stencil(1,1:2) + + write(6,'(A)'),"" + + write(6,'(A)'),"dPhi:" + + write(6,'(4(f9.6,2x))'),dPhi_stencil(2,1:2) + write(6,'(4(f9.6,2x))'),dPhi_stencil(1,1:2) + + write(6,'(A)'),"" + + write(6,'(A)'),"dPsi:" + + write(6,'(4(f9.6,2x))'),dPsi_stencil(2,1:2) + write(6,'(4(f9.6,2x))'),dPsi_stencil(1,1:2) + + write(6,'(A)'),"" + + write(6,'(A)'),"dPhi_dPsi:" + + write(6,'(4(f9.6,2x))'),dPhi_dPsi_stencil(2,1:2) + write(6,'(4(f9.6,2x))'),dPhi_dPsi_stencil(1,1:2) + + write(6,'(A)'),"" +#endif + + !Convert the 2x2 stencils into a 1D array for processing + !by weight_stencil. + !The array starts at the bottom left of the 2x2, working + !around counterclockwise: + ! + ! 4 3 + ! 1 2 + ! + !There may be a cleaner/better way of doing this + + E_stencil_1D(1) = E_stencil(1,1) + E_stencil_1D(2) = E_stencil(1,2) + E_stencil_1D(3) = E_stencil(2,2) + E_stencil_1D(4) = E_stencil(2,1) + + !DEBUG + !write(6,'(f9.6)'),E_stencil_1D + + dPhi_stencil_1D(1) = dPhi_stencil(1,1) + dPhi_stencil_1D(2) = dPhi_stencil(1,2) + dPhi_stencil_1D(3) = dPhi_stencil(2,2) + dPhi_stencil_1D(4) = dPhi_stencil(2,1) + + dPsi_stencil_1D(1) = dPsi_stencil(1,1) + dPsi_stencil_1D(2) = dPsi_stencil(1,2) + dPsi_stencil_1D(3) = dPsi_stencil(2,2) + dPsi_stencil_1D(4) = dPsi_stencil(2,1) + + dPhi_dPsi_stencil_1D(1) = dPhi_dPsi_stencil(1,1) + dPhi_dPsi_stencil_1D(2) = dPhi_dPsi_stencil(1,2) + dPhi_dPsi_stencil_1D(3) = dPhi_dPsi_stencil(2,2) + dPhi_dPsi_stencil_1D(4) = dPhi_dPsi_stencil(2,1) + + !Weight d{Psi,dPhi,dPhidPsi}_stencil + call weight_stencil(gbl_cmap_grid_step_size(cmap_idx), & + E_stencil_1D, & + dPhi_stencil_1D, & + dPsi_stencil_1D, & + dPhi_dPsi_stencil_1D, & + c ) + + call bicubic_interpolation(phiFrac, psiFrac, c, E, dphi, dpsi) + +end subroutine charmm_calc_cmap_from_phi_psi + + + + +end module cmap_mod --- src/pmemd/src/dihedrals_imp.fpp 2009-10-14 12:47:40.000000000 -0700 +++ src/pmemd/src/dihedrals_imp.fpp 2009-10-14 15:51:37.000000000 -0700 @@ -0,0 +1,318 @@ +#include "copyright.i" + +!******************************************************************************* +! +! Module: dihedrals_imp_mod +! +! Description: +! CHARMM FORCE FIELD SUPPORT MODULE +! +! This is the CHARMM module which is used to provide +! support for the CHARMM force field within AMBER. +! This contains support for CHARMM specifics such as +! Urey-Bradley, CHARMM impropers and CMAP +! +! It is designed to be used with a special CHARMM prmtop +! file generated by chamber. +! +! Chamber Authors: Mike Crowley (NREL) +! Mark Williamson (SDSC) +! Ross Walker (SDSC) +! +! CHARMM Module Authors: Mark Williamson (SDSC) +! Ross Walker (SDSC) +! +! Date: Apr 2009. +! +!--------------------------------------------------------- + + +!******************************************************************************* +! +! Module: dihedrals_imp_mod +! +! Description: +! +!******************************************************************************* + +module dihedrals_imp_mod + + use gbl_datatypes_mod + + implicit none + +! The following are derived from prmtop dihedral info: + + integer, save :: cit_nimphi + + type(dihed_imp_rec), allocatable, save :: cit_dihed_imp(:) + +contains + +!******************************************************************************* +! +! Subroutine: dihedrals_imp_setup +! +! Description: +! +!******************************************************************************* + +subroutine dihedrals_imp_setup(num_ints, num_reals, use_atm_map) + + use parallel_dat_mod + use pmemd_lib_mod + use prmtop_dat_mod + + implicit none + +! Formal arguments: + + ! num_ints and num_reals are used to return allocation counts. Don't zero. + + integer, intent(in out) :: num_ints, num_reals + integer :: use_atm_map(natom) + +! Local variables: + + integer :: alloc_failed + type(dihed_imp_rec) :: diheds_imp_copy(nimphi) + integer :: atm_i, atm_j, atm_k, atm_l, diheds_imp_idx + integer :: my_dihed_imp_cnt + +! This routine can handle reallocation, and thus can be called multiple +! times. + +! Find all diheds for which this process owns either atom: + + my_dihed_imp_cnt = 0 + + do diheds_imp_idx = 1, nimphi + + atm_i = gbl_dihed_imp(diheds_imp_idx)%atm_i + atm_j = gbl_dihed_imp(diheds_imp_idx)%atm_j + atm_k = gbl_dihed_imp(diheds_imp_idx)%atm_k + atm_l = gbl_dihed_imp(diheds_imp_idx)%atm_l + +#ifdef MPI + if (gbl_atm_owner_map(atm_i) .eq. mytaskid) then + my_dihed_imp_cnt = my_dihed_imp_cnt + 1 + diheds_imp_copy(my_dihed_imp_cnt) = gbl_dihed_imp(diheds_imp_idx) + use_atm_map(atm_i) = 1 + use_atm_map(atm_j) = 1 + use_atm_map(atm_k) = 1 + use_atm_map(atm_l) = 1 + else if (gbl_atm_owner_map(atm_j) .eq. mytaskid) then + my_dihed_imp_cnt = my_dihed_imp_cnt + 1 + diheds_imp_copy(my_dihed_imp_cnt) = gbl_dihed_imp(diheds_imp_idx) + use_atm_map(atm_i) = 1 + use_atm_map(atm_j) = 1 + use_atm_map(atm_k) = 1 + use_atm_map(atm_l) = 1 + else if (gbl_atm_owner_map(atm_k) .eq. mytaskid) then + my_dihed_imp_cnt = my_dihed_imp_cnt + 1 + diheds_imp_copy(my_dihed_imp_cnt) = gbl_dihed_imp(diheds_imp_idx) + use_atm_map(atm_i) = 1 + use_atm_map(atm_j) = 1 + use_atm_map(atm_k) = 1 + use_atm_map(atm_l) = 1 + else if (gbl_atm_owner_map(atm_l) .eq. mytaskid) then + my_dihed_imp_cnt = my_dihed_imp_cnt + 1 + diheds_imp_copy(my_dihed_imp_cnt) = gbl_dihed_imp(diheds_imp_idx) + use_atm_map(atm_i) = 1 + use_atm_map(atm_j) = 1 + use_atm_map(atm_k) = 1 + use_atm_map(atm_l) = 1 + end if +#else + my_dihed_imp_cnt = my_dihed_imp_cnt + 1 + diheds_imp_copy(my_dihed_imp_cnt) = gbl_dihed_imp(diheds_imp_idx) + + use_atm_map(atm_i) = 1 + use_atm_map(atm_j) = 1 + use_atm_map(atm_k) = 1 + use_atm_map(atm_l) = 1 +#endif + + end do + + cit_nimphi = my_dihed_imp_cnt + + if (my_dihed_imp_cnt .gt. 0) then + if (allocated(cit_dihed_imp)) then + if (size(cit_dihed_imp) .lt. my_dihed_imp_cnt) then + num_ints = num_ints - size(cit_dihed_imp) * dihed_imp_rec_ints + deallocate(cit_dihed_imp) + allocate(cit_dihed_imp(my_dihed_imp_cnt), stat = alloc_failed) + if (alloc_failed .ne. 0) call setup_alloc_error + num_ints = num_ints + size(cit_dihed_imp) * dihed_imp_rec_ints + end if + else + allocate(cit_dihed_imp(my_dihed_imp_cnt), stat = alloc_failed) + if (alloc_failed .ne. 0) call setup_alloc_error + num_ints = num_ints + size(cit_dihed_imp) * dihed_imp_rec_ints + end if + cit_dihed_imp(1:my_dihed_imp_cnt) = diheds_imp_copy(1:my_dihed_imp_cnt) + end if + +#ifdef CUDA + !Placeholder +! call gpu_dihedrals_imp_setup(my_dihed_imp_cnt, cit_dihed_imp, gbl_imp_pk, gbl_imp_phase); + write(mdout, '(a)') 'CUDA (GPU): Implementation does not currently support the' + write(mdout, '(a)') ' CHARMM force field.' + call mexit(6, 1) +#endif + + return + +end subroutine dihedrals_imp_setup + +!******************************************************************************* +! +! Subroutine: get_dihed_energy +! +! Description: +! +!******************************************************************************* + +subroutine get_dihed_imp_energy(dihed_imp_cnt, dihed_imp, x, frc, ep) + ! Calculates CHARMM improper torsion terms. + ! E=K(w-weq)^2 + ! + ! l + ! | + ! i + ! / \ + ! k j + ! + ! Where W is the angle between the plane ijk and jkl. + + !use constants, only : RAD_TO_DEG, DEG_TO_RAD + + use gbl_constants_mod + use mdin_ctrl_dat_mod + use parallel_dat_mod + use prmtop_dat_mod + use charmm_mod, only : AM_VAL_GEOM_torsion + + implicit none + +! Formal arguments: + + integer, intent(in) :: dihed_imp_cnt + type(dihed_imp_rec), intent(in) :: dihed_imp(*) + double precision, intent(in) :: x(3, *) + double precision, intent(inout) :: frc(3, *) + double precision, intent(inout) :: ep + + +! Local + double precision :: crd_ijkl(12),gradphi_ijkl(12),cosphi,sinphi + double precision :: phi,function_val + integer :: m, jn, ic + integer :: i, j, k, l + double precision :: epw, epl + + epl = 0.d0 + + do jn = 1, dihed_imp_cnt + + i = dihed_imp(jn)%atm_i + j = dihed_imp(jn)%atm_j + k = dihed_imp(jn)%atm_k + l = dihed_imp(jn)%atm_l + + do m = 1,3 !First loop assign x, second assign y, and finally z + crd_ijkl(m) = x(m, i) + crd_ijkl(m+3) = x(m, j) + crd_ijkl(m+6) = x(m, k) + crd_ijkl(m+9) = x(m, l) + enddo + + call AM_VAL_GEOM_torsion(crd_ijkl,gradphi_ijkl,cosphi,sinphi) + + ! Calculate the improper energy and add it to the AMBER dihedral + ! energy term. + !Note - when calculating phi acos only returns values between 0 and 180 degrees (in radians) + ! but if cosphi is 0.5d0 for example then phi could be -90 or +90 and we need to know + ! this when calculating the derviatives. However, a solution is given since we also + ! know sinphi - hence if cosphi is 0.5 and sinphi is 0.5 then phi is +90 degrees. + ! However, if cosphi is 0.5 and sinphi is -0.5 then phi is -90 degrees. + ! We need protection here to deal with the situation where ACOS has a singularity. + phi = sign(acos(cosphi),sinphi) + + ic = dihed_imp(jn)%parm_idx + + epw =(gbl_imp_pk(ic) * (phi - gbl_imp_phase(ic))**2) + + ! Now add the force to the main force array. + ! Remember, force is the negative of the gradient + function_val = -2.0d0 * gbl_imp_pk(ic) * ( phi - gbl_imp_phase(ic)) + +#ifdef MPI +! We use atm_i to determine who sums up the energy... + if (gbl_atm_owner_map(i) .eq. mytaskid) then + epl = epl + epw + do m = 1,3 + frc(m, i) = frc(m, i) + (gradphi_ijkl(m) * function_val) + enddo + end if + + if (gbl_atm_owner_map(j) .eq. mytaskid) then + do m = 1,3 + frc(m, j) = frc(m, j) + (gradphi_ijkl(m+3) * function_val) + enddo + end if + + if (gbl_atm_owner_map(k) .eq. mytaskid) then + do m = 1,3 + frc(m, k) = frc(m, k) + (gradphi_ijkl(m+6) * function_val) + enddo + end if + + if (gbl_atm_owner_map(l) .eq. mytaskid) then + do m = 1,3 + frc(m, l) = frc(m, l) + (gradphi_ijkl(m+9) * function_val) + enddo + end if +#else + + do m = 1,3 + frc(m, i) = frc(m, i) + (gradphi_ijkl(m) * function_val) + frc(m, j) = frc(m, j) + (gradphi_ijkl(m+3) * function_val) + frc(m, k) = frc(m, k) + (gradphi_ijkl(m+6) * function_val) + frc(m, l) = frc(m, l) + (gradphi_ijkl(m+9) * function_val) + end do + + epl = epl + epw +#endif + +!#ifdef DEBUG +! write(6,'(10x,a,i1)'),"Mytaskid ",mytaskid +! write(6,'(10x,a,i1)'),"Improper ",jn +! write(6,'(10x,a,i5,i5,i5,i5)'),"Atoms: ",i,j,k,l +! write(6,'( 10x,a)'),"coordinates" +! write(6,'( 10x,a1,3(f10.6,x) )'),"i",crd_ijkl(1:3) +! write(6,'( 10x,a1,3(f10.6,x) )'),"j",crd_ijkl(4:6) +! write(6,'( 10x,a1,3(f10.6,x) )'),"k",crd_ijkl(7:9) +! write(6,'( 10x,a1,3(f10.6,x) )'),"l",crd_ijkl(10:12) +! write(6,'(a)'),"" +! write(6,'( 10x,a10,f8.3 )'),"Angle: ",phi +! write(6,'(a)'),"" +! write(6,'( 10x,a10,f8.3 )'),"Energy: ",epl +! write(6,'( 10x,a20,f8.3 )'),"Function value ",function_val +! write(6,'(a)'),"" +! write(6,'( 10x,a6,3(f10.6,x) )'),"grad_i",gradphi_ijkl(1:3) +! write(6,'( 10x,a6,3(f10.6,x) )'),"grad_j",gradphi_ijkl(4:6) +! write(6,'( 10x,a6,3(f10.6,x) )'),"grad_k",gradphi_ijkl(7:9) +! write(6,'( 10x,a6,3(f10.6,x) )'),"grad_l",gradphi_ijkl(10:12) +! write(6,'(a)'),"" +! write(6,'(a)'),"" +!#endif + end do + + ep = epl + + return +end subroutine get_dihed_imp_energy + +end module dihedrals_imp_mod --- src/pmemd/src/dynamics.fpp 2008-02-05 18:28:03.000000000 -0800 +++ src/pmemd/src/dynamics.fpp 2009-10-14 15:51:01.000000000 -0700 @@ -502,10 +502,12 @@ vel(1,j) = (vel(1,j) * c_explic + (frc(1,j) + fln1) * wfac) * c_implic vel(2,j) = (vel(2,j) * c_explic + (frc(2,j) + fln2) * wfac) * c_implic vel(3,j) = (vel(3,j) * c_explic + (frc(3,j) + fln3) * wfac) * c_implic +#ifndef NO_NTT3_SYNC else call gauss(0.d0, 1.d0) call gauss(0.d0, 1.d0) call gauss(0.d0, 1.d0) +#endif end if #else wfac = mass_inv(j) * dtx --- src/pmemd/src/extra_pnts_nb14.fpp 2009-10-14 12:46:46.000000000 -0700 +++ src/pmemd/src/extra_pnts_nb14.fpp 2009-10-14 12:49:42.000000000 -0700 @@ -203,7 +203,7 @@ ! Local variables: integer :: alloc_failed - integer :: nb14_copy(2, gbl_nb14_cnt) + integer :: nb14_copy(3, gbl_nb14_cnt) integer :: atm_i, atm_j, nb14_idx ! This routine can handle reallocation, and thus can be called multiple @@ -217,6 +217,7 @@ atm_i = gbl_nb14(1, nb14_idx) atm_j = gbl_nb14(2, nb14_idx) +! nb14_parm_idx = gbl_nb14(3, nb14_idx) #ifdef MPI if (gbl_atm_owner_map(atm_i) .eq. mytaskid) then @@ -241,25 +242,21 @@ if (cit_nb14_cnt .gt. 0) then if (allocated(cit_nb14)) then - if (size(cit_nb14) .lt. cit_nb14_cnt * 2) then - num_ints = num_ints - size(cit_nb14) * 2 + if (size(cit_nb14) .lt. cit_nb14_cnt * 3) then + num_ints = num_ints - size(cit_nb14) * 3 deallocate(cit_nb14) - allocate(cit_nb14(2, cit_nb14_cnt), stat = alloc_failed) + allocate(cit_nb14(3, cit_nb14_cnt), stat = alloc_failed) if (alloc_failed .ne. 0) call setup_alloc_error - num_ints = num_ints + size(cit_nb14) * 2 + num_ints = num_ints + size(cit_nb14) * 3 end if else - allocate(cit_nb14(2, cit_nb14_cnt), stat = alloc_failed) + allocate(cit_nb14(3, cit_nb14_cnt), stat = alloc_failed) if (alloc_failed .ne. 0) call setup_alloc_error - num_ints = num_ints + size(cit_nb14) * 2 + num_ints = num_ints + size(cit_nb14) * 3 end if cit_nb14(:, 1:cit_nb14_cnt) = nb14_copy(:, 1:cit_nb14_cnt) end if - -!BEGIN DBG -! write(0,*)'task, cit_nb14_cnt =', mytaskid, cit_nb14_cnt -!END DBG - + return end subroutine nb14_setup @@ -289,7 +286,7 @@ integer :: alloc_failed - allocate(gbl_nb14(2, max_nb14), & + allocate(gbl_nb14(3, max_nb14), & stat = alloc_failed) if (alloc_failed .ne. 0) call setup_alloc_error @@ -330,7 +327,7 @@ allocate(ep_frames(max_frames), & ep_lcl_crd(3, 2, max_frames), & - gbl_nb14(2, max_nb14), & + gbl_nb14(3, max_nb14), & stat = alloc_failed) if (alloc_failed .ne. 0) call setup_alloc_error @@ -387,7 +384,7 @@ ! All callers need the nb14 stuff... - call mpi_bcast(gbl_nb14, gbl_nb14_cnt * 2, mpi_integer, 0, & + call mpi_bcast(gbl_nb14, gbl_nb14_cnt * 3, mpi_integer, 0, & mpi_comm_world, err_code_mpi) @@ -452,6 +449,7 @@ gbl_nb14_cnt = gbl_nb14_cnt + 1 gbl_nb14(1, gbl_nb14_cnt) = gbl_dihed(dihed_idx)%atm_i gbl_nb14(2, gbl_nb14_cnt) = gbl_dihed(dihed_idx)%atm_l + gbl_nb14(3, gbl_nb14_cnt) = gbl_dihed(dihed_idx)%parm_idx end if end do ! n = 1, nphih + nphia @@ -494,6 +492,7 @@ integer, allocatable :: i12(:,:) integer, allocatable :: i13(:,:) integer, allocatable :: i14(:,:) + integer, allocatable :: nb_14_list(:,:) integer, allocatable :: s3(:) integer :: n @@ -539,6 +538,7 @@ i12(2, 3 * (nbonh + nbona)), & i13(2, 3 * (ntheth + ntheta)), & i14(2, 3 * (nphih + nphia)), & + nb_14_list(3,nphih + nphia), & s3(maxa), & stat = alloc_failed) @@ -555,6 +555,7 @@ i12(:,:) = 0 i13(:,:) = 0 i14(:,:) = 0 + nb_14_list(:,:) = 0 call get_nghbrs(nghbrs, hnghbrs, enghbrs, numnghbr, epowner, epbtyp) @@ -571,12 +572,12 @@ i11, i12, i13, i14, offset, test) end if - ! Reuse i14() and then copy to permanent: + ! Use nb_14_list and then copy to permanent: - call build_nb14(i14, gbl_nb14_cnt, max14, epowner, numnghbr, enghbrs, & + call build_nb14(nb_14_list, gbl_nb14_cnt, max14, epowner, numnghbr, enghbrs, & natom, chngmask, verbose) - call copy_nb14(i14, gbl_nb14, gbl_nb14_cnt) + call copy_nb14(nb_14_list, gbl_nb14, gbl_nb14_cnt) ! if frameon = 1 use frames and forces to define ep's; ! else use their masses and amber force params @@ -623,7 +624,7 @@ end if deallocate(epbtyp, nghbrs, hnghbrs, enghbrs, numnghbr, epowner, offset, & - test, i11, i12, i13, i14, s3) + test, i11, i12, i13, i14, nb_14_list, s3) return @@ -1214,7 +1215,7 @@ ! Formal arguments: - integer :: nb14(2, *) + integer :: nb14(3, *) integer :: nb14_cnt integer :: maxnb14 integer :: epowner(*) @@ -1238,7 +1239,7 @@ call mexit(6, 1) end if - call sort_pairs(nb14, nb14_cnt, atm_cnt) + call sort_pairs_14_nb(nb14, nb14_cnt, atm_cnt) if (verbose .gt. 0) write(6, '(a, i6)') & '| EXTRA_PTS, build_nb14: num of 14 terms = ', nb14_cnt @@ -1270,8 +1271,8 @@ ! Formal arguments: - integer :: from14(2, *) - integer :: to14(2, *) + integer :: from14(3, *) + integer :: to14(3, *) integer :: nb14_cnt ! Local variables: @@ -1281,6 +1282,7 @@ do n = 1, nb14_cnt to14(1, n) = from14(1, n) to14(2, n) = from14(2, n) + to14(3, n) = from14(3, n) end do return @@ -1740,6 +1742,97 @@ end subroutine sort_pairs !*******************************************************************************! +! Internal Subroutine: sort_pairs_14_nb +! +! Description: +! +!******************************************************************************* + +subroutine sort_pairs_14_nb(nb_14_list, num, atm_cnt) + + implicit none + +! Formal arguments: + + integer :: nb_14_list(3, *) + integer :: num + integer :: atm_cnt + +! Local variables: + + integer :: i, j, k, m, n, ntot, parm_idx + integer :: scr1(atm_cnt), scr2(atm_cnt), scr3(maxa), scr4(maxa) + + !Indexes of nb_14_list = 1,j,parm_index + !First pass, make sure the first index contains the lowest number. Ignore + !index 3 here since this won't change anything. + + do n = 1, num + i = nb_14_list(1, n) + j = nb_14_list(2, n) + if (i .lt. j) then + nb_14_list(1, n) = i + nb_14_list(2, n) = j + else + nb_14_list(1, n) = j + nb_14_list(2, n) = i + end if + end do + + ! Now get rid of duplicates: + + ! First pass: + scr1(1:atm_cnt) = 0 + do n = 1, num + i = nb_14_list(1, n) + scr1(i) = scr1(i) + 1 + end do + + scr2(1) = 0 + do n = 2, atm_cnt + scr2(n) = scr2(n - 1) + scr1(n - 1) + scr1(n - 1) = 0 + end do + scr1(atm_cnt) = 0 + + ! Second pass: + + do n = 1, num + i = nb_14_list(1, n) + j = nb_14_list(2, n) + parm_idx = nb_14_list(3, n) + scr1(i) = scr1(i) + 1 + scr3(scr1(i) + scr2(i)) = j + scr4(scr1(i) + scr2(i)) = parm_idx + end do + + scr2(1:atm_cnt) = 0 + + ! Now trim them: + + ntot = 0 + k = 0 + do n = 1, atm_cnt + do m = 1, scr1(n) + j = scr3(ntot + m) + parm_idx = scr4(ntot + m) + if (scr2(j) .ne. n) then + k = k + 1 + nb_14_list(1, k) = n + nb_14_list(2, k) = j + nb_14_list(3, k) = parm_idx + scr2(j) = n + end if + end do + ntot = ntot + scr1(n) + end do + num = k + + return + +end subroutine sort_pairs_14_nb + +!*******************************************************************************! ! Internal Subroutine: add_one_list_iblo ! ! Description: @@ -1811,7 +1904,7 @@ ! !******************************************************************************* -subroutine do_14pairs(list, num, maxnb14, epowner, numnghbr, enghbrs, & +subroutine do_14pairs(nb_14_list, num, maxnb14, epowner, numnghbr, enghbrs, & ifail, chngmask) use prmtop_dat_mod @@ -1820,7 +1913,7 @@ ! Formal arguments: - integer :: list(2, *) + integer :: nb_14_list(3, *) integer :: num integer :: maxnb14 integer :: epowner(*) @@ -1831,7 +1924,7 @@ ! Local variables: - integer :: atm_i, atm_l + integer :: atm_i, atm_l, parm_idx integer :: i, j, n, ni, nl ifail = 0 @@ -1844,14 +1937,16 @@ atm_i = gbl_dihed(n)%atm_i atm_l = gbl_dihed(n)%atm_l + parm_idx = gbl_dihed(n)%parm_idx if (chngmask .eq. 0) then if (num + 1 .gt. maxnb14) then ifail = 1 return end if num = num + 1 - list(1, num) = atm_i - list(2, num) = atm_l + nb_14_list(1, num) = atm_i + nb_14_list(2, num) = atm_l + nb_14_list(3, num) = parm_idx !used for lookup into scnb and scee arrays. else ! Check neither is extra. Count this bond and also extra attached: if (epowner(atm_i) .eq. 0 .and. epowner(atm_l) .eq. 0) then @@ -1862,23 +1957,27 @@ return end if num = num + 1 - list(1, num) = atm_i - list(2, num) = atm_l + nb_14_list(1, num) = atm_i + nb_14_list(2, num) = atm_l + nb_14_list(3, num) = parm_idx !used for lookup into scnb and scee arrays. do i = 1, ni num = num + 1 - list(1, num) = enghbrs(i, atm_i) - list(2, num) = atm_l + nb_14_list(1, num) = enghbrs(i, atm_i) + nb_14_list(2, num) = atm_l + nb_14_list(3, num) = parm_idx !used for lookup into scnb and scee arrays. end do do j = 1, nl num = num + 1 - list(1, num) = atm_i - list(2, num) = enghbrs(j, atm_l) + nb_14_list(1, num) = atm_i + nb_14_list(2, num) = enghbrs(j, atm_l) + nb_14_list(3, num) = parm_idx !used for lookup into scnb and scee arrays. end do do i = 1, ni do j = 1, nl - num = num + 1 - list(1, num) = enghbrs(i, atm_i) - list(2, num) = enghbrs(j, atm_l) + num = num + 1 + nb_14_list(1, num) = enghbrs(i, atm_i) + nb_14_list(2, num) = enghbrs(j, atm_l) + nb_14_list(3, num) = parm_idx !used for lookup into scnb and scee arrays. end do end do end if @@ -2402,8 +2501,7 @@ subroutine get_nb14_energy(charge, crd, frc, iac, ico, cn1, cn2, & nb14, nb14_cnt, ee14, enb14, e14vir) - use mdin_ctrl_dat_mod, only : scee, scnb - use prmtop_dat_mod, only : ntypes + use prmtop_dat_mod, only : ntypes, gbl_one_scee, gbl_one_scnb use parallel_dat_mod implicit none @@ -2417,7 +2515,7 @@ integer, intent(in) :: ico(*) double precision, intent(in) :: cn1(*) double precision, intent(in) :: cn2(*) - integer, intent(in) :: nb14(2, *) + integer, intent(in) :: nb14(3, *) integer, intent(in) :: nb14_cnt double precision, intent(out) :: ee14 double precision, intent(out) :: enb14 @@ -2425,7 +2523,7 @@ ! Local variables: - integer :: n, i, j, ic + integer :: n, i, j, ic, parm_idx integer :: ntypes_lcl logical :: do_virial double precision :: dx, dy, dz, r2, r2inv, rinv @@ -2434,21 +2532,23 @@ ee14 = 0.d0 enb14 = 0.d0 -#ifdef MPI - if (nb14_cnt .eq. 0) return -#endif - - scee0 = 1.d0 / scee - scnb0 = 1.d0 / scnb - ntypes_lcl = ntypes - do_virial = present(e14vir) if (do_virial) e14vir(:, :) = 0.d0 + if (nb14_cnt .eq. 0) return + +!RCW Temp +! scee0 = gbl_one_scee(1) +! scnb0 = gbl_one_scnb(1) + ntypes_lcl = ntypes + do n = 1, nb14_cnt i = nb14(1, n) j = nb14(2, n) + parm_idx = nb14(3, n) + scee0 = gbl_one_scee(parm_idx) + scnb0 = gbl_one_scnb(parm_idx) dx = crd(1, j) - crd(1, i) dy = crd(2, j) - crd(2, i) dz = crd(3, j) - crd(3, i) @@ -2456,7 +2556,7 @@ rinv = sqrt(1.d0 / r2) r2inv = rinv * rinv r6 = r2inv * r2inv * r2inv - g = charge(i) * charge(j) * rinv + g = charge(i) * charge(j) * rinv * scee0 ic = ico(ntypes_lcl * (iac(i) - 1) + iac(j)) if (ic .ne. 0) then f6 = cn2(ic) * r6 @@ -2465,7 +2565,7 @@ f6 = 0.d0 f12 = 0.d0 end if - df = (scee0 * g + scnb0 * (12.d0 * f12 - 6.d0 * f6)) * r2inv + df = (g + scnb0 * (12.d0 * f12 - 6.d0 * f6)) * r2inv #ifdef MPI ! We use i to determine who sums up the energy... @@ -2473,7 +2573,7 @@ if (gbl_atm_owner_map(i) .eq. mytaskid) then ee14 = ee14 + g - enb14 = enb14 + f12 - f6 + enb14 = enb14 + (f12 - f6) * scnb0 frc(1, i) = frc(1, i) - df * dx frc(2, i) = frc(2, i) - df * dy @@ -2501,7 +2601,7 @@ #else ee14 = ee14 + g - enb14 = enb14 + f12 - f6 + enb14 = enb14 + (f12 - f6) * scnb0 frc(1, i) = frc(1, i) - df * dx frc(2, i) = frc(2, i) - df * dy frc(3, i) = frc(3, i) - df * dz @@ -2527,9 +2627,6 @@ e14vir(3, 2) = e14vir(2, 3) end if - ee14 = ee14 * scee0 - enb14 = enb14 * scnb0 - return end subroutine get_nb14_energy --- src/pmemd/src/f90depends 2008-04-16 10:44:51.000000000 -0700 +++ src/pmemd/src/f90depends 2009-10-14 12:59:59.000000000 -0700 @@ -4,6 +4,12 @@ angles.o: prmtop_dat.o angles.o: nmr_calls.o angles.o: copyright.i +angles_ub.o: gbl_datatypes.o +angles_ub.o: parallel_dat.o +angles_ub.o: pmemd_lib.o +angles_ub.o: prmtop_dat.o +angles_ub.o: nmr_calls.o +angles_ub.o: copyright.i bintraj.o: file_io_dat.o bintraj.o: mdin_ctrl_dat.o bintraj.o: pmemd_lib.o @@ -19,10 +25,24 @@ bonds.o: nmr_calls.o bonds.o: copyright.i bspline.o: copyright.i +charmm.o: file_io_dat.o +charmm.o: pmemd_lib.o +charmm.o: copyright.i +charmm_gold.o: pme_force.o +charmm_gold.o: gb_force.o +charmm_gold.o: copyright.i cit.o: gbl_datatypes.o cit.o: img.o cit.o: pbc.o cit.o: copyright.i +cmap.o: gbl_datatypes.o +cmap.o: parallel_dat.o +cmap.o: pmemd_lib.o +cmap.o: prmtop_dat.o +cmap.o: gbl_constants.o +cmap.o: mdin_ctrl_dat.o +cmap.o: charmm.o +cmap.o: copyright.i constraints.o: pmemd_lib.o constraints.o: parallel_dat.o constraints.o: file_io.o @@ -38,6 +58,14 @@ dihedrals.o: gbl_constants.o dihedrals.o: mdin_ctrl_dat.o dihedrals.o: copyright.i +dihedrals_imp.o: gbl_datatypes.o +dihedrals_imp.o: parallel_dat.o +dihedrals_imp.o: pmemd_lib.o +dihedrals_imp.o: prmtop_dat.o +dihedrals_imp.o: gbl_constants.o +dihedrals_imp.o: mdin_ctrl_dat.o +dihedrals_imp.o: charmm.o +dihedrals_imp.o: copyright.i dynamics.o: dynamics_dat.o dynamics.o: parallel_dat.o dynamics.o: prfs.o @@ -64,7 +92,6 @@ extra_pnts_nb14.o: prmtop_dat.o extra_pnts_nb14.o: mdin_ewald_dat.o extra_pnts_nb14.o: gbl_constants.o -extra_pnts_nb14.o: mdin_ctrl_dat.o extra_pnts_nb14.o: copyright.i fft1d.o: file_io_dat.o fft1d.o: pmemd_lib.o @@ -75,9 +102,12 @@ file_io.o: copyright.i gb_alltasks_setup.o: file_io_dat.o gb_alltasks_setup.o: angles.o +gb_alltasks_setup.o: angles_ub.o +gb_alltasks_setup.o: cmap.o gb_alltasks_setup.o: bonds.o gb_alltasks_setup.o: constraints.o gb_alltasks_setup.o: dihedrals.o +gb_alltasks_setup.o: dihedrals_imp.o gb_alltasks_setup.o: dynamics.o gb_alltasks_setup.o: dynamics_dat.o gb_alltasks_setup.o: extra_pnts_nb14.o @@ -92,6 +122,8 @@ gb_alltasks_setup.o: pmemd_lib.o gb_alltasks_setup.o: prmtop_dat.o gb_alltasks_setup.o: random.o +gb_alltasks_setup.o: charmm.o +gb_alltasks_setup.o: mdin_debugf_dat.o gb_alltasks_setup.o: copyright.i gb_ene.o: gbl_datatypes.o gb_ene.o: gbl_constants.o @@ -103,9 +135,12 @@ gb_ene.o: copyright.i gb_force.o: gbl_datatypes.o gb_force.o: angles.o +gb_force.o: angles_ub.o gb_force.o: bonds.o gb_force.o: constraints.o gb_force.o: dihedrals.o +gb_force.o: dihedrals_imp.o +gb_force.o: cmap.o gb_force.o: extra_pnts_nb14.o gb_force.o: gb_ene.o gb_force.o: inpcrd_dat.o @@ -118,6 +153,8 @@ gb_force.o: prmtop_dat.o gb_force.o: runfiles.o gb_force.o: timers.o +gb_force.o: charmm.o +gb_force.o: mdin_debugf_dat.o gb_force.o: dynamics_dat.o gb_force.o: copyright.i gb_parallel.o: parallel_dat.o @@ -183,6 +220,8 @@ master_setup.o: prmtop_dat.o master_setup.o: parallel_dat.o master_setup.o: parallel.o +master_setup.o: cmap.o +master_setup.o: mdin_debugf_dat.o master_setup.o: bintraj.o master_setup.o: copyright.i mdin_ctrl_dat.o: file_io_dat.o @@ -190,6 +229,13 @@ mdin_ctrl_dat.o: gbl_constants.o mdin_ctrl_dat.o: parallel_dat.o mdin_ctrl_dat.o: pmemd_lib.o +mdin_debugf_dat.o: file_io_dat.o +mdin_debugf_dat.o: file_io.o +mdin_debugf_dat.o: charmm.o +mdin_debugf_dat.o: mdin_ewald_dat.o +mdin_debugf_dat.o: gbl_constants.o +mdin_debugf_dat.o: pmemd_lib.o +mdin_debugf_dat.o: parallel_dat.o mdin_ewald_dat.o: file_io_dat.o mdin_ewald_dat.o: axis_optimize.o mdin_ewald_dat.o: file_io.o @@ -198,6 +244,7 @@ mdin_ewald_dat.o: parallel_dat.o mdin_ewald_dat.o: pmemd_lib.o mdin_ewald_dat.o: fft1d.o +mdin_ewald_dat.o: charmm.o mdin_ewald_dat.o: prmtop_dat.o mol_list.o: gbl_datatypes.o mol_list.o: parallel_dat.o @@ -257,12 +304,16 @@ parallel.o: inpcrd_dat.o parallel.o: shake.o parallel.o: angles.o +parallel.o: angles_ub.o +parallel.o: cmap.o parallel.o: bonds.o parallel.o: cit.o parallel.o: dihedrals.o +parallel.o: dihedrals_imp.o parallel.o: extra_pnts_nb14.o parallel.o: nb_exclusions.o parallel.o: pbc.o +parallel.o: charmm.o parallel.o: mol_list.o parallel.o: copyright.i parallel_dat.o: gbl_datatypes.o @@ -279,10 +330,13 @@ pbc.o: prmtop_dat.o pme_alltasks_setup.o: file_io_dat.o pme_alltasks_setup.o: angles.o +pme_alltasks_setup.o: angles_ub.o pme_alltasks_setup.o: bonds.o pme_alltasks_setup.o: cit.o pme_alltasks_setup.o: constraints.o pme_alltasks_setup.o: dihedrals.o +pme_alltasks_setup.o: dihedrals_imp.o +pme_alltasks_setup.o: cmap.o pme_alltasks_setup.o: dynamics.o pme_alltasks_setup.o: dynamics_dat.o pme_alltasks_setup.o: extra_pnts_nb14.o @@ -307,6 +361,8 @@ pme_alltasks_setup.o: pmemd_lib.o pme_alltasks_setup.o: prmtop_dat.o pme_alltasks_setup.o: random.o +pme_alltasks_setup.o: charmm.o +pme_alltasks_setup.o: mdin_debugf_dat.o pme_alltasks_setup.o: copyright.i pme_blk_fft.o: fft1d.o pme_blk_fft.o: pme_recip_dat.o @@ -369,9 +425,12 @@ pme_force.o: pmemd_lib.o pme_force.o: parallel_dat.o pme_force.o: angles.o +pme_force.o: angles_ub.o pme_force.o: bonds.o pme_force.o: constraints.o pme_force.o: dihedrals.o +pme_force.o: dihedrals_imp.o +pme_force.o: cmap.o pme_force.o: dynamics_dat.o pme_force.o: dynamics.o pme_force.o: ene_frc_splines.o @@ -390,6 +449,8 @@ pme_force.o: parallel.o pme_force.o: pbc.o pme_force.o: runfiles.o +pme_force.o: charmm.o +pme_force.o: mdin_debugf_dat.o pme_force.o: gbl_constants.o pme_force.o: axis_optimize.o pme_force.o: file_io_dat.o @@ -491,6 +552,7 @@ prmtop_dat.o: gbl_constants.o prmtop_dat.o: mdin_ctrl_dat.o prmtop_dat.o: nextprmtop_section.o +prmtop_dat.o: charmm.o prmtop_dat.o: copyright.i random.o: file_io_dat.o random.o: pmemd_lib.o @@ -507,6 +569,7 @@ runfiles.o: mdin_ewald_dat.o runfiles.o: nmr_calls.o runfiles.o: parallel_dat.o +runfiles.o: charmm.o runfiles.o: copyright.i runmd.o: cit.o runmd.o: constraints.o @@ -559,6 +622,7 @@ runmin.o: state_info.o runmin.o: timers.o runmin.o: runfiles.o +runmin.o: charmm.o runmin.o: copyright.i shake.o: mdin_ctrl_dat.o shake.o: parallel_dat.o --- src/pmemd/src/fft1d.fpp 2006-04-03 16:35:48.000000000 -0700 +++ src/pmemd/src/fft1d.fpp 2009-10-14 15:50:35.000000000 -0700 @@ -426,6 +426,11 @@ integer :: nq, nl + if ( n < 1 ) then + result = 0 + return + end if + ! Don't modify n: nl = n --- src/pmemd/src/gb_alltasks_setup.fpp 2008-03-28 14:20:54.000000000 -0700 +++ src/pmemd/src/gb_alltasks_setup.fpp 2009-10-14 13:02:25.000000000 -0700 @@ -28,9 +28,12 @@ subroutine gb_alltasks_setup(num_ints, num_reals) use angles_mod + use angles_ub_mod + use cmap_mod use bonds_mod use constraints_mod use dihedrals_mod + use dihedrals_imp_mod use dynamics_mod use dynamics_dat_mod use extra_pnts_nb14_mod @@ -46,6 +49,8 @@ use pmemd_lib_mod use prmtop_dat_mod use random_mod + use charmm_mod, only : charmm_active + use mdin_debugf_dat_mod implicit none @@ -94,6 +99,8 @@ call gb_parallel_setup(num_ints, num_reals) + call bcast_mdin_debugf_dat() + ! Bond-angle-dihedral ownership needs to be established. We use the ! use_atm_map here; in reality the atom usage info will not be kept for ! GB though. @@ -101,6 +108,11 @@ call bonds_setup(num_ints, num_reals, use_atm_map) call angles_setup(num_ints, num_reals, use_atm_map) call dihedrals_setup(num_ints, num_reals, use_atm_map) + if (charmm_active) then + call angles_ub_setup(num_ints, num_reals, use_atm_map) + call dihedrals_imp_setup(num_ints, num_reals, use_atm_map) + call cmap_setup(num_ints, num_reals, use_atm_map) + endif call nb14_setup(num_ints, num_reals, use_atm_map) #else /* begin non-MPI code */ @@ -112,6 +124,11 @@ call bonds_setup(num_ints, num_reals, use_atm_map) call angles_setup(num_ints, num_reals, use_atm_map) call dihedrals_setup(num_ints, num_reals, use_atm_map) + if (charmm_active) then + call angles_ub_setup(num_ints, num_reals, use_atm_map) + call dihedrals_imp_setup(num_ints, num_reals, use_atm_map) + call cmap_setup(num_ints, num_reals, use_atm_map) + endif call nb14_setup(num_ints, num_reals, use_atm_map) ! gbl_bond is still needed for shake setup and resetup, but gbl_angle and @@ -119,6 +136,13 @@ num_ints = num_ints - size(gbl_angle) * angle_rec_ints num_ints = num_ints - size(gbl_dihed) * dihed_rec_ints + if (charmm_active) then + num_ints = num_ints - size(gbl_angle_ub) * angle_ub_rec_ints + num_ints = num_ints - size(gbl_dihed_imp) * dihed_imp_rec_ints + num_ints = num_ints - size(gbl_cmap) * cmap_rec_ints + + deallocate(gbl_angle_ub, gbl_dihed_imp, gbl_cmap) + endif deallocate(gbl_angle, gbl_dihed) @@ -139,6 +163,7 @@ call all_atom_belly(natom, atm_igroup, atm_vel) end if + return end subroutine gb_alltasks_setup --- src/pmemd/src/gb_force.fpp 2008-03-28 14:20:54.000000000 -0700 +++ src/pmemd/src/gb_force.fpp 2009-10-14 13:09:36.000000000 -0700 @@ -30,12 +30,17 @@ double precision :: vdw_14 double precision :: elec_14 double precision :: restraint + double precision :: angle_ub !CHARMM Urey-Bradley Energy + double precision :: imp !CHARMM Improper Energy + double precision :: cmap !CHARMM CMAP + end type gb_pot_ene_rec - integer, parameter :: gb_pot_ene_rec_size = 10 + integer, parameter :: gb_pot_ene_rec_size = 13 type(gb_pot_ene_rec), parameter :: null_gb_pot_ene_rec = & - gb_pot_ene_rec(0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,0.d0) + gb_pot_ene_rec(0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,& + 0.d0,0.d0,0.d0) contains @@ -50,9 +55,12 @@ subroutine gb_force(atm_cnt, crd, frc, pot_ene, irespa) use angles_mod + use angles_ub_mod use bonds_mod use constraints_mod use dihedrals_mod + use dihedrals_imp_mod + use cmap_mod use extra_pnts_nb14_mod use gb_ene_mod use inpcrd_dat_mod @@ -65,6 +73,9 @@ use prmtop_dat_mod use runfiles_mod use timers_mod + use charmm_mod, only : charmm_active + use mdin_debugf_dat_mod, only : do_charmm_dump_gold + implicit none @@ -113,9 +124,15 @@ ! Calculate the 1-4 vdw and electrostatics contributions: - call get_nb14_energy(atm_qterm, crd, frc, atm_iac, typ_ico, & - gbl_cn1, gbl_cn2, cit_nb14, cit_nb14_cnt, & - pot_ene%elec_14, pot_ene%vdw_14) + if (charmm_active) then + call get_nb14_energy(atm_qterm, crd, frc, atm_iac, typ_ico, & + gbl_cn114, gbl_cn214, cit_nb14, cit_nb14_cnt, & + pot_ene%elec_14, pot_ene%vdw_14) + else + call get_nb14_energy(atm_qterm, crd, frc, atm_iac, typ_ico, & + gbl_cn1, gbl_cn2, cit_nb14, cit_nb14_cnt, & + pot_ene%elec_14, pot_ene%vdw_14) + endif call update_time(nonbond_time) @@ -133,7 +150,11 @@ pot_ene%dihedral + & pot_ene%vdw_14 + & pot_ene%elec_14 + & - pot_ene%restraint + pot_ene%restraint + & + pot_ene%angle_ub + & + pot_ene%imp + & + pot_ene%cmap + #ifdef MPI ! Distribute forces to atom owners; this is a reduce sum operation: @@ -146,6 +167,20 @@ #endif /* MPI */ + if (charmm_active .and. do_charmm_dump_gold == 1) then +#ifdef MPI + call gb_mpi_gathervec(atm_cnt, frc) + if (master) then + call gb_charmm_dump_gold(atm_cnt,frc,pot_ene) + write(mdout, '(a)') 'charmm_gold() completed. Exiting' + endif +#else + call gb_charmm_dump_gold(atm_cnt,frc,pot_ene) + write(mdout, '(a)') 'charmm_gold() completed. Exiting' +#endif + call mexit(6, 0) + endif + ! Calculate the NMR restraint energy contributions, if requested. if (nmropt .ne. 0) then @@ -173,9 +208,12 @@ subroutine gb_bonded_force(crd, frc, pot_ene) use angles_mod + use angles_ub_mod use bonds_mod use constraints_mod use dihedrals_mod + use dihedrals_imp_mod + use cmap_mod use dynamics_dat_mod use mdin_ctrl_dat_mod use nmr_calls_mod @@ -196,6 +234,9 @@ double precision :: bond_ene double precision :: angle_ene double precision :: dihedral_ene + double precision :: ub_ene + double precision :: dihedral_imp_ene + double precision :: cmap_ene double precision :: molvir(3, 3) ! dummy argument double precision :: e14_vir(3, 3) ! dummy argument @@ -230,6 +271,12 @@ call update_time(bond_time) +! UB Angle energy contribution + if (cit_nthet_ub .gt. 0) then + call get_angle_ub_energy(cit_nthet_ub, cit_angle_ub, crd, frc, ub_ene) + pot_ene%angle_ub = ub_ene + endif + ! Angle energy contribution: #ifdef MPI @@ -258,6 +305,21 @@ call update_time(angle_time) +! Improper dihedral energy contributions: + + if (cit_nimphi .gt. 0) then + call get_dihed_imp_energy(cit_nimphi, cit_dihed_imp, crd, frc, dihedral_imp_ene) + pot_ene%imp = dihedral_imp_ene + endif + +!CMAP + if (cit_cmap_term_count .gt. 0) then + call get_cmap_energy(cit_cmap_term_count, cit_cmap, crd, frc, cmap_ene) + pot_ene%cmap = cmap_ene + endif + + + ! Dihedral energy contribution: if (ntf .le. 5) then @@ -283,7 +345,6 @@ call get_crd_constraint_energy(natc, pot_ene%restraint, atm_jrc, & crd, frc, atm_xc, atm_weight) endif - return end subroutine gb_bonded_force @@ -324,5 +385,4 @@ end subroutine gb_distribute_enes #endif - end module gb_force_mod --- src/pmemd/src/gbl_datatypes.fpp 2009-10-14 13:14:41.000000000 -0700 +++ src/pmemd/src/gbl_datatypes.fpp 2009-10-14 13:14:52.000000000 -0700 @@ -48,6 +48,9 @@ integer, parameter :: dihed_rec_ints = 5 ! don't use for allocation! + type(dihed_rec), parameter & + :: null_dihed_rec = dihed_rec(0, 0, 0, 0, 0) + type listdata_rec integer :: offset integer :: cnt @@ -62,6 +65,36 @@ integer, parameter :: atm_lst_rec_ints = 2 ! don't use for allocation! +!CHARMM Urey-Bradley Terms + type angle_ub_rec + integer :: atm_i + integer :: atm_k + integer :: parm_idx + end type angle_ub_rec + + integer, parameter :: angle_ub_rec_ints = 3 + + type dihed_imp_rec + integer :: atm_i + integer :: atm_j + integer :: atm_k + integer :: atm_l + integer :: parm_idx + end type dihed_imp_rec + + integer, parameter :: dihed_imp_rec_ints = 5 ! don't use for allocation! + + type cmap_rec + integer :: atm_i + integer :: atm_j + integer :: atm_k + integer :: atm_l + integer :: atm_m + integer :: parm_idx + end type cmap_rec + + integer, parameter :: cmap_rec_ints = 6 ! don't use for allocation! + ! Get a 1 byte integer with integer(byte) :: foo. integer, parameter :: byte = selected_int_kind(2) ! Get a 2 byte integer with integer(short) :: foo. --- src/pmemd/src/Makefile 2008-03-28 14:20:53.000000000 -0700 +++ src/pmemd/src/Makefile 2009-10-14 13:22:31.000000000 -0700 @@ -21,13 +21,13 @@ SHELL=/bin/sh VPATH= +BINDIR=../../../bin/ # Platform-specific info should be found in ../config.h - include ../config.h OBJS= gbl_constants.o gbl_datatypes.o state_info.o file_io_dat.o \ - mdin_ctrl_dat.o mdin_ewald_dat.o prmtop_dat.o \ + mdin_ctrl_dat.o mdin_ewald_dat.o mdin_debugf_dat.o prmtop_dat.o \ inpcrd_dat.o dynamics_dat.o img.o \ parallel_dat.o parallel.o gb_parallel.o \ pme_direct.o pme_recip_dat.o pme_slab_recip.o pme_blk_recip.o \ @@ -39,12 +39,16 @@ timers.o pmemd_lib.o runfiles.o file_io.o bintraj.o pmemd_clib.o \ pmemd.o random.o degcnt.o erfcfun.o nmr_calls.o nmr_lib.o \ get_cmdline.o master_setup.o pme_alltasks_setup.o pme_setup.o \ - ene_frc_splines.o gb_alltasks_setup.o nextprmtop_section.o + ene_frc_splines.o gb_alltasks_setup.o nextprmtop_section.o \ + angles_ub.o dihedrals_imp.o cmap.o charmm.o charmm_gold.o all: pmemd install: all - mv pmemd ../../../exe + mv pmemd $(BINDIR) + +uninstall: + -rm -f $(BINDIR)/pmemd pmemd: $(NETCDF_MOD) $(OBJS) $(LOAD) $(LOADFLAGS) -o $@ $(OBJS) $(FFT_LIBS) $(NETCDF_LIBS) $(MATH_LIBS) $(MPI_LIBS) $(LOADLIBS) @@ -55,7 +59,7 @@ cp $(NETCDF_HOME)/include/*.mod . clean: - rm -f *.f90 *.o *.$(MODULE_SUFFIX) pmemd *.d work.pc* + rm -f *.f90 *.o *.$(MODULE_SUFFIX) pmemd *.d work.pc* # The following statement keeps the .f90 files from getting clobbered; this # would happen because they are intermediates. --- src/pmemd/src/master_setup.fpp 2009-10-14 13:22:54.000000000 -0700 +++ src/pmemd/src/master_setup.fpp 2009-10-14 13:24:04.000000000 -0700 @@ -58,6 +58,10 @@ #ifdef MPI use parallel_mod #endif /* MPI */ + use cmap_mod, only : generate_cmap_derivatives + use charmm_mod, only : charmm_active + use mdin_debugf_dat_mod, only : init_mdin_debugf_dat, & + validate_mdin_debugf_dat implicit none @@ -130,6 +134,7 @@ call init_mdin_ctrl_dat call validate_mdin_ctrl_dat + ! Read the input coordinates or restart file (inpcrd): call init_inpcrd_dat(num_ints, num_reals, inpcrd_natom, & @@ -194,7 +199,7 @@ end if -! We don't use any of the debugf namelist stuff, so if there is a debugf +! We only support a subset of the debugf namelist stuff, so if there is a debugf ! namelist, issue a warning: rewind(mdin) ! Insurance against maintenance mods. @@ -203,7 +208,9 @@ if (ifind .ne. 0) then write(mdout, '(a,/)') warn_hdr, & - 'debugf namelist found in mdin will not be used by PMEMD!' + 'debugf namelist found in mdin. PMEMD only supports a very small subset of the debugf options. & + &Unsupported options will be ignored.' + end if ! Read the parameters and topology file. This routine reads all parameters @@ -211,6 +218,18 @@ call init_prmtop_dat(num_ints, num_reals, inpcrd_natom) + if (charmm_active) call generate_cmap_derivatives + +!DEBUG +! do i=1,cmap_type_count +! write(mdout, *)"gbl_cmap_res(i)", gbl_cmap_res(i) +! write(mdout, *)"gbl_cmap_grid(i)", gbl_cmap_grid(i,1:24,1:24) +! write(mdout, *)"gbl_cmap_dPhi(i)", gbl_cmap_dPhi(i,1:24,1:24) +! write(mdout, *)"gbl_cmap_dPsi(i)", gbl_cmap_dPsi(i,1:24,1:24) +! write(mdout, *)"gbl_cmap_dPhi_dPsi(i)", gbl_cmap_dPhi_dPsi(i,1:24,1:24) +! enddo + + ! If the user has requested NMR restraints, do a cursory read of the ! restraints file(s) now to determine the amount of memory necessary ! for these restraints, and allocate the memory in the master. @@ -513,6 +532,10 @@ num_ints = num_ints - size(atm_isymbl) - size(atm_itree) deallocate(atm_isymbl, atm_itree) +!Limited debugf namelist support + call init_mdin_debugf_dat() + call validate_mdin_debugf_dat() + return ! Standard format statements: --- src/pmemd/src/mdin_ctrl_dat.fpp 2008-04-09 13:46:01.000000000 -0700 +++ src/pmemd/src/mdin_ctrl_dat.fpp 2009-10-14 13:25:07.000000000 -0700 @@ -203,7 +203,7 @@ ! Local variables: - integer ifind + integer ifind, sec_temp character(4) watdef(4) ! Define default water residue name and the names of water oxygen & hydrogens @@ -531,6 +531,9 @@ using_gb_potential = .false. end if + !Support for random seed using time of day in microsecs + if( ig==-1 ) call get_wall_time(sec_temp,ig) + return end subroutine init_mdin_ctrl_dat @@ -681,11 +684,6 @@ inerr = 1 end if - if (scee .eq. 0.0d0) then - write(mdout, '(a,a)') error_hdr, 'scee must != 0.0!' - inerr = 1 - end if - if (nsnb .ne. 25) then write(mdout, '(a,a)') info_hdr, & 'The nsnb ctrl option does not affect nonbonded list update frequency.' @@ -766,6 +764,11 @@ inerr = 1 end if + if (ibelly == 1 .and. ntt == 3) then + write(mdout, '(a,a)') error_hdr, 'ibelly = 1 with ntt = 3 is not a valid option.' + inerr = 1 + end if + if (ntr .ne. 0 .and. ntr .ne. 1) then write(mdout, '(a,a)') error_hdr, 'ntr must be set to 0 or 1!' inerr = 1 @@ -1425,6 +1428,13 @@ using_gb_potential = .false. end if +#ifdef NO_NTT3_SYNC + !Here we are not synching the random number generatore across threads for + !NTT=3 but we don't want every thread to have the same random seed. So for + !the moment just add mytask id to ig. + ig = ig+mytaskid +#endif + return end subroutine bcast_mdin_ctrl_dat --- src/pmemd/src/mdin_debugf_dat.fpp 2009-10-14 14:02:39.000000000 -0700 +++ src/pmemd/src/mdin_debugf_dat.fpp 2009-10-14 13:25:27.000000000 -0700 @@ -0,0 +1,127 @@ +!******************************************************************************* +! +! Module: mdin_debugf_dat_mod +! +! Description: Module supporting the debugf namelist. Currently only +! a very small subset of options is supported. +! +!******************************************************************************* + +module mdin_debugf_dat_mod + +use file_io_dat_mod + + implicit none + +! WARNING: Only a small subset of the debugf namelist is supported. +! Current options supported = +! +! do_charmm_dump_gold = 1 Turns on dumping of CHARMM force +! field energies and forces. + + integer, parameter :: mdin_debugf_int_cnt = 1 + + integer do_charmm_dump_gold + + common / mdin_debugf_int / do_charmm_dump_gold + + + save :: / mdin_debugf_int / + + private :: debugf + + namelist /debugf/ do_charmm_dump_gold + +contains + +!******************************************************************************* +! +! Subroutine: init_mdin_debugf_dat +! +! Description: +! +!******************************************************************************* + +subroutine init_mdin_debugf_dat() + + use file_io_mod + + implicit none + +! Local variables: + + integer :: ifind + + do_charmm_dump_gold = 0 + + rewind(mdin) ! Insurance against maintenance mods. + + call nmlsrc('debugf', mdin, ifind) + + if (ifind .ne. 0) read(mdin, nml = debugf) ! Namelist found. Read it: + + return + +end subroutine init_mdin_debugf_dat + +subroutine validate_mdin_debugf_dat() + + use charmm_mod, only : charmm_active + use mdin_ewald_dat_mod, only : int_legal_range + use gbl_constants_mod, only : error_hdr + use pmemd_lib_mod, only : mexit + + implicit none + +! Local variables + + integer :: inerr + +! Check on bogus data and unsupported options: + + inerr = 0 + + call int_legal_range('do_charmm_dump_gold', do_charmm_dump_gold, 0, 1, inerr) + + if (do_charmm_dump_gold /=0 .and. .not. charmm_active) then + write(mdout, '(a,a)') error_hdr, 'do_charmm_dump_gold requires a CHARMM enabled prmtop.' + inerr = 1 + end if + +! Field any errors and bag out. + + if (inerr .eq. 1) then + write(mdout, '(/,a)') ' Input errors occurred. Terminating execution.' + call mexit(6, 1) + else + write(mdout, '(a)') ' ' + end if + + return + +end subroutine validate_mdin_debugf_dat + +#ifdef MPI +!******************************************************************************* +! +! Subroutine: bcast_mdin_debugf_dat +! +! Description: +! +!******************************************************************************* + +subroutine bcast_mdin_debugf_dat + + use parallel_dat_mod + + implicit none + + call mpi_bcast(do_charmm_dump_gold, mdin_debugf_int_cnt, mpi_integer, & + 0, mpi_comm_world, err_code_mpi) + + return + +end subroutine bcast_mdin_debugf_dat +#endif + +end module mdin_debugf_dat_mod --- src/pmemd/src/parallel.fpp 2008-03-28 14:20:54.000000000 -0700 +++ src/pmemd/src/parallel.fpp 2009-10-14 14:06:39.000000000 -0700 @@ -1625,15 +1625,20 @@ write_log, step_ctr) use angles_mod + use angles_ub_mod, only : angles_ub_setup + use cmap_mod, only : cmap_setup use bonds_mod use cit_mod use dihedrals_mod + use dihedrals_imp_mod, only : dihedrals_imp_setup use extra_pnts_nb14_mod use inpcrd_dat_mod use nb_exclusions_mod use pbc_mod use pmemd_lib_mod use parallel_dat_mod + use charmm_mod, only : charmm_active + implicit none @@ -1678,6 +1683,11 @@ call bonds_setup(num_ints, num_reals, use_atm_map) call angles_setup(num_ints, num_reals, use_atm_map) call dihedrals_setup(num_ints, num_reals, use_atm_map) + if (charmm_active) then + call angles_ub_setup(num_ints, num_reals, use_atm_map) + call dihedrals_imp_setup(num_ints, num_reals, use_atm_map) + call cmap_setup(num_ints, num_reals, use_atm_map) + endif call nb14_setup(num_ints, num_reals, use_atm_map) call make_nb_adjust_pairlst(my_atm_cnt, gbl_my_atm_lst, & --- src/pmemd/src/pme_alltasks_setup.fpp 2009-10-14 14:08:02.000000000 -0700 +++ src/pmemd/src/pme_alltasks_setup.fpp 2009-10-14 14:08:59.000000000 -0700 @@ -28,10 +28,13 @@ subroutine pme_alltasks_setup(num_ints, num_reals) use angles_mod + use angles_ub_mod use bonds_mod use cit_mod use constraints_mod use dihedrals_mod + use dihedrals_imp_mod + use cmap_mod use dynamics_mod use dynamics_dat_mod use extra_pnts_nb14_mod @@ -59,6 +62,8 @@ use pmemd_lib_mod use prmtop_dat_mod use random_mod + use charmm_mod, only : charmm_active + use mdin_debugf_dat_mod implicit none @@ -178,6 +183,8 @@ gbl_loadbal_node_dat(:,:) = 0 end if + call bcast_mdin_debugf_dat() + #else /* begin non-MPI code */ ! The mask lists made here are used in nonbonded pairlist processing @@ -219,17 +226,31 @@ call dihedrals_setup(num_ints, num_reals, use_atm_map) call nb14_setup(num_ints, num_reals, use_atm_map) + if (charmm_active) then + call angles_ub_setup(num_ints, num_reals, use_atm_map) + call dihedrals_imp_setup(num_ints, num_reals, use_atm_map) + call cmap_setup(num_ints, num_reals, use_atm_map) + endif + ! gbl_bond is still needed for shake setup and resetup, but gbl_angle and ! gbl_dihed can be deallocated . num_ints = num_ints - size(gbl_angle) * angle_rec_ints num_ints = num_ints - size(gbl_dihed) * dihed_rec_ints + if (charmm_active) then + num_ints = num_ints - size(gbl_angle_ub) * angle_ub_rec_ints + num_ints = num_ints - size(gbl_dihed_imp) * dihed_imp_rec_ints + num_ints = num_ints - size(gbl_cmap) * cmap_rec_ints + + deallocate(gbl_angle_ub, gbl_dihed_imp, gbl_cmap) + endif deallocate(gbl_angle, gbl_dihed) call make_nb_adjust_pairlst(natom, use_atm_map, & gbl_nb_adjust_pairlst, & atm_nb_maskdata, atm_nb_mask) + #endif /* not MPI */ ! Initialize random number generator at same point in all processors. Then, if @@ -246,7 +267,7 @@ if (ibelly .gt. 0) then call all_atom_belly(natom, atm_igroup, atm_vel) end if - + return end subroutine pme_alltasks_setup --- src/pmemd/src/pme_force.fpp 2008-03-28 14:20:54.000000000 -0700 +++ src/pmemd/src/pme_force.fpp 2009-10-14 14:11:21.000000000 -0700 @@ -41,13 +41,18 @@ double precision :: vdw_14 double precision :: elec_14 double precision :: restraint + double precision :: angle_ub !CHARMM Urey-Bradley Energy + double precision :: imp !CHARMM Improper Energy + double precision :: cmap !CHARMM CMAP end type pme_pot_ene_rec - integer, parameter :: pme_pot_ene_rec_size = 16 + integer, parameter :: pme_pot_ene_rec_size = 19 type(pme_pot_ene_rec), parameter :: null_pme_pot_ene_rec = & pme_pot_ene_rec(0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,0.d0, & - 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,0.d0) + 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,0.d0, & + 0.d0,0.d0,0.d0) + ! Virials, with breakdown, from pme. This is intended to be the ! structure for storing virials; it currently is not exported but could be. @@ -177,9 +182,12 @@ pot_ene, virial, ekcmt, pme_err_est) use angles_mod + use angles_ub_mod use bonds_mod use constraints_mod use dihedrals_mod + use dihedrals_imp_mod + use cmap_mod use dynamics_dat_mod use dynamics_mod #ifdef DIRFRC_EFS @@ -204,6 +212,8 @@ use prmtop_dat_mod use runfiles_mod use timers_mod + use charmm_mod, only : charmm_active + use mdin_debugf_dat_mod, only : do_charmm_dump_gold implicit none @@ -389,16 +399,29 @@ ! Calculate 1-4 electrostatic energies, forces: - if (need_virials) then - call get_nb14_energy(atm_qterm, crd, nb_frc, atm_iac, typ_ico, & - gbl_cn1, gbl_cn2, cit_nb14, cit_nb14_cnt, & - pot_ene%elec_14, pot_ene%vdw_14, & - vir%elec_14) - else - call get_nb14_energy(atm_qterm, crd, nb_frc, atm_iac, typ_ico, & + if (charmm_active) then + if (need_virials) then + call get_nb14_energy(atm_qterm, crd, nb_frc, atm_iac, typ_ico, & + gbl_cn114, gbl_cn214, cit_nb14, cit_nb14_cnt, & + pot_ene%elec_14, pot_ene%vdw_14, & + vir%elec_14) + else + call get_nb14_energy(atm_qterm, crd, nb_frc, atm_iac, typ_ico, & + gbl_cn114, gbl_cn214, cit_nb14, cit_nb14_cnt, & + pot_ene%elec_14, pot_ene%vdw_14) + end if + else + if (need_virials) then + call get_nb14_energy(atm_qterm, crd, nb_frc, atm_iac, typ_ico, & + gbl_cn1, gbl_cn2, cit_nb14, cit_nb14_cnt, & + pot_ene%elec_14, pot_ene%vdw_14, & + vir%elec_14) + else + call get_nb14_energy(atm_qterm, crd, nb_frc, atm_iac, typ_ico, & gbl_cn1, gbl_cn2, cit_nb14, cit_nb14_cnt, & pot_ene%elec_14, pot_ene%vdw_14) - end if + end if + endif call update_pme_time(dir_frc_sum_timer) @@ -445,7 +468,10 @@ pot_ene%dihedral + & pot_ene%vdw_14 + & pot_ene%elec_14 + & - pot_ene%restraint + pot_ene%restraint + & + pot_ene%imp + & + pot_ene%angle_ub + & + pot_ene%cmap call update_loadbal_timer(elapsed_100usec_atmowner) @@ -613,6 +639,15 @@ call update_time(nonbond_time) call update_pme_time(pme_misc_timer) + if (charmm_active .and. do_charmm_dump_gold == 1) then + call mpi_gathervec(atm_cnt, frc) + if (master) then + call pme_charmm_dump_gold(atm_cnt,frc,pot_ene) + write(mdout, '(a)') 'charmm_gold() completed. Exiting' + endif + call mexit(6, 0) + end if + deallocate(img_frc, nb_frc) return @@ -651,6 +686,9 @@ use prmtop_dat_mod use runfiles_mod use timers_mod + use charmm_mod, only : charmm_active + use mdin_debugf_dat_mod, only : do_charmm_dump_gold + implicit none @@ -797,15 +835,28 @@ ! Calculate 1-4 electrostatic energies, forces: - if (need_virials) then - call get_nb14_energy(atm_qterm, crd, frc, atm_iac, typ_ico, & - gbl_cn1, gbl_cn2, cit_nb14, cit_nb14_cnt, & - pot_ene%elec_14, pot_ene%vdw_14, & - vir%elec_14) + if (charmm_active) then + if (need_virials) then + call get_nb14_energy(atm_qterm, crd, frc, atm_iac, typ_ico, & + gbl_cn114, gbl_cn214, cit_nb14, cit_nb14_cnt, & + pot_ene%elec_14, pot_ene%vdw_14, & + vir%elec_14) + else + call get_nb14_energy(atm_qterm, crd, frc, atm_iac, typ_ico, & + gbl_cn114, gbl_cn214, cit_nb14, cit_nb14_cnt, & + pot_ene%elec_14, pot_ene%vdw_14) + end if else - call get_nb14_energy(atm_qterm, crd, frc, atm_iac, typ_ico, & - gbl_cn1, gbl_cn2, cit_nb14, cit_nb14_cnt, & - pot_ene%elec_14, pot_ene%vdw_14) + if (need_virials) then + call get_nb14_energy(atm_qterm, crd, frc, atm_iac, typ_ico, & + gbl_cn1, gbl_cn2, cit_nb14, cit_nb14_cnt, & + pot_ene%elec_14, pot_ene%vdw_14, & + vir%elec_14) + else + call get_nb14_energy(atm_qterm, crd, frc, atm_iac, typ_ico, & + gbl_cn1, gbl_cn2, cit_nb14, cit_nb14_cnt, & + pot_ene%elec_14, pot_ene%vdw_14) + end if end if call update_pme_time(dir_frc_sum_timer) @@ -896,8 +947,11 @@ pot_ene%dihedral + & pot_ene%vdw_14 + & pot_ene%elec_14 + & - pot_ene%restraint - + pot_ene%restraint + & + pot_ene%imp + & + pot_ene%angle_ub + & + pot_ene%cmap + ! Adjustment of total energy for constraint energies does not seem ! consistent, but it matches sander... @@ -963,6 +1017,11 @@ call update_time(nonbond_time) call update_pme_time(pme_misc_timer) + if (charmm_active .and. do_charmm_dump_gold == 1) then + call pme_charmm_dump_gold(atm_cnt,frc,pot_ene) + write(mdout, '(a)') 'charmm_gold() completed. Exiting' + call mexit(6, 0) + end if deallocate(img_frc) @@ -1283,9 +1342,12 @@ subroutine pme_bonded_force(crd, frc, pot_ene) use angles_mod + use angles_ub_mod use bonds_mod use constraints_mod use dihedrals_mod + use dihedrals_imp_mod + use cmap_mod use dynamics_mod use dynamics_dat_mod use mdin_ctrl_dat_mod @@ -1304,8 +1366,11 @@ ! These energy variables are temporaries, for summing. DON'T use otherwise! double precision :: bond_ene + double precision :: ub_ene double precision :: angle_ene double precision :: dihedral_ene + double precision :: dihedral_imp_ene + double precision :: cmap_ene #ifdef MPI if (my_atm_cnt .eq. 0) return @@ -1341,6 +1406,13 @@ call update_time(bond_time) +! UB Angle energy contribution + if (cit_nthet_ub .gt. 0) then + call get_angle_ub_energy(cit_nthet_ub, cit_angle_ub, crd, frc, ub_ene) + pot_ene%angle_ub = ub_ene + endif + + ! Angle energy contribution: #ifdef MPI @@ -1369,6 +1441,21 @@ call update_time(angle_time) +! Improper dihedral energy contributions: + + if (cit_nimphi .gt. 0) then + call get_dihed_imp_energy(cit_nimphi, cit_dihed_imp, crd, frc, dihedral_imp_ene) + pot_ene%imp = dihedral_imp_ene + endif + +!CMAP + if (cit_cmap_term_count .gt. 0) then + call get_cmap_energy(cit_cmap_term_count, cit_cmap, crd, frc, cmap_ene) + pot_ene%cmap = cmap_ene + endif + + + ! Dihedral energy contribution: if (ntf .le. 5) then --- src/pmemd/src/runfiles.fpp 2009-10-14 14:15:31.000000000 -0700 +++ src/pmemd/src/runfiles.fpp 2009-10-14 14:14:56.000000000 -0700 @@ -558,6 +558,7 @@ use nmr_calls_mod use parallel_dat_mod use state_info_mod + use charmm_mod, only : charmm_active implicit none @@ -597,6 +598,10 @@ write(mdout, 9021) nstep, time, temp, si(si_tot_press) write(mdout, 9029) si(si_tot_ene), si(si_kin_ene), si(si_pot_ene) write(mdout, 9039) si(si_bond_ene), si(si_angle_ene), si(si_dihedral_ene) + if (charmm_active) then + write(mdout, 9040) si(si_angle_ub_ene), si(si_dihedral_imp_ene), & + si(si_cmap_ene) + endif write(mdout, 9049) si(si_vdw_14_ene), si(si_elect_14_ene), si(si_vdw_ene) if (using_pme_potential) then @@ -668,6 +673,10 @@ write(mdinfo, 9021) nstep, time, temp, si(si_tot_press) write(mdinfo, 9029) si(si_tot_ene), si(si_kin_ene), si(si_pot_ene) write(mdinfo, 9039) si(si_bond_ene), si(si_angle_ene), si(si_dihedral_ene) + if (charmm_active) then + write(mdinfo, 9040) si(si_angle_ub_ene), si(si_dihedral_imp_ene), & + si(si_cmap_ene) + endif write(mdinfo, 9049) si(si_vdw_14_ene), si(si_elect_14_ene), si(si_vdw_ene) if (using_pme_potential) then @@ -703,6 +712,8 @@ 'EPtot = ', f14.4) 9039 format(1x, 'BOND = ', f14.4, 2x, 'ANGLE = ', f14.4, 2x, & 'DIHED = ', f14.4) +9040 format(1x, 'UB = ', f14.4, 2x, 'IMP = ', f14.4, 2x, & + 'CMAP = ', f14.4) 9049 format(1x, '1-4 NB = ', f14.4, 2x, '1-4 EEL = ', f14.4, 2x, & 'VDWAALS = ', f14.4) 9061 format(1x, 'EELEC = ', f14.4, 2x, 'EHBOND = ', f14.4, 2x, & --- src/pmemd/src/runmd.fpp 2008-03-31 22:26:51.000000000 -0700 +++ src/pmemd/src/runmd.fpp 2009-10-14 14:18:20.000000000 -0700 @@ -312,12 +312,14 @@ si(si_elect_14_ene) = pme_pot_ene%elec_14 si(si_restraint_ene) = pme_pot_ene%restraint si(si_pme_err_est) = pme_err_est + si(si_angle_ub_ene) = pme_pot_ene%angle_ub + si(si_dihedral_imp_ene) = pme_pot_ene%imp + si(si_cmap_ene) = pme_pot_ene%cmap ! Total virial will be printed in mden regardless of ntp value. si(si_tot_virial) = virial(1) + virial(2) + virial(3) else if (using_gb_potential) then - call gb_force(atm_cnt, crd, frc, gb_pot_ene, irespa) si(si_pot_ene) = gb_pot_ene%total @@ -331,6 +333,9 @@ si(si_elect_14_ene) = gb_pot_ene%elec_14 si(si_restraint_ene) = gb_pot_ene%restraint si(si_pme_err_est) = 0.d0 + si(si_angle_ub_ene) = gb_pot_ene%angle_ub + si(si_dihedral_imp_ene) = gb_pot_ene%imp + si(si_cmap_ene) = gb_pot_ene%cmap end if @@ -522,6 +527,9 @@ si(si_elect_14_ene) = pme_pot_ene%elec_14 si(si_restraint_ene) = pme_pot_ene%restraint si(si_pme_err_est) = pme_err_est + si(si_angle_ub_ene) = pme_pot_ene%angle_ub + si(si_dihedral_imp_ene) = pme_pot_ene%imp + si(si_cmap_ene) = pme_pot_ene%cmap ! Total virial will be printed in mden regardless of ntp value. si(si_tot_virial) = virial(1) + virial(2) + virial(3) @@ -541,6 +549,9 @@ si(si_elect_14_ene) = gb_pot_ene%elec_14 si(si_restraint_ene) = gb_pot_ene%restraint si(si_pme_err_est) = 0.d0 + si(si_angle_ub_ene) = gb_pot_ene%angle_ub + si(si_dihedral_imp_ene) = gb_pot_ene%imp + si(si_cmap_ene) = gb_pot_ene%cmap end if @@ -610,7 +621,6 @@ end if ! (reset_velocities) ! Do the velocity update: - if (.not. doing_langevin) then ! ---Newtonian dynamics: @@ -709,7 +719,6 @@ end if ! Re-estimate velocities from differences in positions: - #ifdef MPI do atm_lst_idx = 1, my_atm_cnt j = my_atm_lst(atm_lst_idx) @@ -718,7 +727,6 @@ #endif vel(:, j) = (crd(:, j) - frc(:, j)) * dtx_inv end do - else ! Must update extra point coordinates after the frame is moved: @@ -973,7 +981,7 @@ ! --- following is from T.E. Cheatham, III and B.R. Brooks, ! Theor. Chem. Acc. 99:279, 1998. - + #ifdef MPI if (my_atm_cnt .gt. 0) & scaltp = sqrt(1.d0 + 2.d0 * (dt / tautp) * (ekin0 - eke)/(ekmh + ekph)) @@ -1017,61 +1025,63 @@ ! "block of ice flying thru space" phenomenon. We make this correction for pme ! explicitly before collecting velocities to the master... - if (mod(nstep + 1, nscm) .eq. 0) then - if (ifbox .ne. 0) then - if (.not. doing_langevin) then + if (nscm .ne. 0) then + if (mod(nstep + 1, nscm) .eq. 0) then + if (ifbox .ne. 0) then + if (.not. doing_langevin) then - vcm(:) = 0.d0 + vcm(:) = 0.d0 #ifdef MPI - do atm_lst_idx = 1, my_atm_cnt - j = my_atm_lst(atm_lst_idx) + do atm_lst_idx = 1, my_atm_cnt + j = my_atm_lst(atm_lst_idx) #else - do j = 1, atm_cnt + do j = 1, atm_cnt #endif - aamass = mass(j) - vcm(:) = vcm(:) + aamass * vel(:, j) - end do + aamass = mass(j) + vcm(:) = vcm(:) + aamass * vel(:, j) + end do #ifdef MPI - call update_time(runmd_time) - reduce_buf_in(1:3) = vcm(:) + call update_time(runmd_time) + reduce_buf_in(1:3) = vcm(:) #ifdef COMM_TIME_TEST call start_test_timer(8, 'allreduce vcm', 0) #endif - call mpi_allreduce(reduce_buf_in, reduce_buf_out, 3, & - mpi_double_precision, & - mpi_sum, mpi_comm_world, err_code_mpi) + call mpi_allreduce(reduce_buf_in, reduce_buf_out, 3, & + mpi_double_precision, & + mpi_sum, mpi_comm_world, err_code_mpi) #ifdef COMM_TIME_TEST call stop_test_timer(8) #endif - vcm(:) = reduce_buf_out(1:3) - call update_time(fcve_dist_time) + vcm(:) = reduce_buf_out(1:3) + call update_time(fcve_dist_time) #endif /* MPI */ - vcm(:) = vcm(:) * tmassinv + vcm(:) = vcm(:) * tmassinv - if (master) then - velocity2 = vcm(1) * vcm(1) + vcm(2) * vcm(2) + vcm(3) * vcm(3) - write(mdout,'(a,f15.6,f9.2,a)') 'check COM velocity, temp: ', & - sqrt(velocity2), 0.5d0 * tmass * & - velocity2 / fac(1), '(Removed)' - end if + if (master) then + velocity2 = vcm(1) * vcm(1) + vcm(2) * vcm(2) + vcm(3) * vcm(3) + write(mdout,'(a,f15.6,f9.2,a)') 'check COM velocity, temp: ', & + sqrt(velocity2), 0.5d0 * tmass * & + velocity2 / fac(1), '(Removed)' + end if #ifdef MPI - do atm_lst_idx = 1, my_atm_cnt - j = my_atm_lst(atm_lst_idx) + do atm_lst_idx = 1, my_atm_cnt + j = my_atm_lst(atm_lst_idx) #else - do j = 1, atm_cnt + do j = 1, atm_cnt #endif - vel(:, j) = vel(:, j) - vcm(:) - end do + vel(:, j) = vel(:, j) - vcm(:) + end do + end if end if - end if - end if ! (mod(nstep + 1, nscm) .eq. 0) + end if ! (mod(nstep + 1, nscm) .eq. 0) + end if ! if nscm .ne. 0 #ifdef MPI ! It may be necessary for the master to have a complete copy of the velocities @@ -1132,70 +1142,72 @@ ! Zero COM velocity if requested; here we are doing the adjustment for a ! nonperiodic system, not pme. - if (mod(nstep + 1, nscm) .eq. 0) then - if (ifbox .eq. 0) then -#ifdef MPI - ! WARNING - currently only GB code has ifbox .eq. 0, and currently - ! all coordinates are always valid for GB. We include the conditional - ! below more-or-less as maintenance insurance... - if (.not. all_crds_valid) then ! Currently always false... - call update_time(runmd_time) - call gb_mpi_allgathervec(atm_cnt, crd) - all_crds_valid = .true. - call update_time(fcve_dist_time) - end if -#endif /* MPI */ - if (.not. doing_langevin) then - -#ifdef MPI - ! WARNING - currently GB code never updates all velocities unless - ! forced by this scenario... - if (.not. all_vels_valid) then ! Currently always true... - - ! The following conditional is currently never .true., but we - ! include it if there is ever extra points support under GB, or - ! if other types of nonperiodic simulations with extra points - ! are eventually supported... - - if (numextra .gt. 0 .and. frameon .ne. 0) & - call zero_extra_pnts_vec(vel, ep_frames, gbl_frame_cnt) - + if (nscm .ne. 0) then + if (mod(nstep + 1, nscm) .eq. 0) then + if (ifbox .eq. 0) then +#ifdef MPI + ! WARNING - currently only GB code has ifbox .eq. 0, and currently + ! all coordinates are always valid for GB. We include the conditional + ! below more-or-less as maintenance insurance... + if (.not. all_crds_valid) then ! Currently always false... call update_time(runmd_time) - call gb_mpi_allgathervec(atm_cnt, vel) - all_vels_valid = .true. + call gb_mpi_allgathervec(atm_cnt, crd) + all_crds_valid = .true. call update_time(fcve_dist_time) end if #endif /* MPI */ - ! Nonperiodic simulation. Remove both translation and rotation. - ! Back the coords up a half step so they correspond to the velocities, - ! temporarily storing them in frc(:,:). - - frc(:,:) = crd(:,:) - vel(:,:) * half_dtx + if (.not. doing_langevin) then - ! Now compute COM motion and remove it; then recompute (sander - ! compatibility...). +#ifdef MPI + ! WARNING - currently GB code never updates all velocities unless + ! forced by this scenario... + if (.not. all_vels_valid) then ! Currently always true... + + ! The following conditional is currently never .true., but we + ! include it if there is ever extra points support under GB, or + ! if other types of nonperiodic simulations with extra points + ! are eventually supported... + + if (numextra .gt. 0 .and. frameon .ne. 0) & + call zero_extra_pnts_vec(vel, ep_frames, gbl_frame_cnt) + + call update_time(runmd_time) + call gb_mpi_allgathervec(atm_cnt, vel) + all_vels_valid = .true. + call update_time(fcve_dist_time) + end if +#endif /* MPI */ + ! Nonperiodic simulation. Remove both translation and rotation. + ! Back the coords up a half step so they correspond to the velocities, + ! temporarily storing them in frc(:,:). - ! NOTE - if mass can change, that has to be taken into account for - ! tmass, tmassinv (say for TI). + frc(:,:) = crd(:,:) - vel(:,:) * half_dtx + + ! Now compute COM motion and remove it; then recompute (sander + ! compatibility...). - call cenmas(atm_cnt, frc, vel, tmass, tmassinv, mass, xcm, vcm, ocm) - call stopcm(atm_cnt, frc, vel, xcm, vcm, ocm) - call cenmas(atm_cnt, frc, vel, tmass, tmassinv, mass, xcm, vcm, ocm) + ! NOTE - if mass can change, that has to be taken into account for + ! tmass, tmassinv (say for TI). + call cenmas(atm_cnt, frc, vel, tmass, tmassinv, mass, xcm, vcm, ocm) + call stopcm(atm_cnt, frc, vel, xcm, vcm, ocm) + call cenmas(atm_cnt, frc, vel, tmass, tmassinv, mass, xcm, vcm, ocm) else - ! Get current center of the system: - - call get_position(atm_cnt, crd, vcm(1), vcm(2), vcm(3), sys_range) + ! Get current center of the system: + call get_position(atm_cnt, crd, vcm(1), vcm(2), vcm(3), sys_range) - ! Recenter system to the original center: + ! Recenter system to the original center: + ! All threads call so we do not need to send adjust coordinates or + ! restraint coordinates around. - call re_position(atm_cnt, 0, crd, crd, vcm(1), vcm(2), vcm(3), & - sys_x, sys_y, sys_z, sys_range, 0) + call re_position(atm_cnt, ntr, crd, atm_xc, vcm(1), vcm(2), vcm(3), & + sys_x, sys_y, sys_z, sys_range, 0) + end if end if - end if - end if ! (mod(nstep + 1, nscm) .eq. 0) + end if ! (mod(nstep + 1, nscm) .eq. 0) + end if ! if nscm .ne. 0 ! Zero out any non-moving velocities if a belly is active: @@ -1290,7 +1302,6 @@ end if if (write_restrt) then - #ifdef MPI #else if (numextra .gt. 0 .and. frameon .ne. 0) & --- src/pmemd/src/runmin.fpp 2008-03-28 14:20:54.000000000 -0700 +++ src/pmemd/src/runmin.fpp 2009-10-14 14:20:25.000000000 -0700 @@ -278,9 +278,11 @@ si(si_vdw_14_ene) = pme_pot_ene%vdw_14 si(si_elect_14_ene) = pme_pot_ene%elec_14 si(si_restraint_ene) = pme_pot_ene%restraint + si(si_angle_ub_ene) = pme_pot_ene%angle_ub + si(si_dihedral_imp_ene) = pme_pot_ene%imp + si(si_cmap_ene) = pme_pot_ene%cmap else if (using_gb_potential) then - call gb_force(atm_cnt, crd, frc, gb_pot_ene, ncalls) si(si_pot_ene) = gb_pot_ene%total @@ -294,6 +296,9 @@ si(si_elect_14_ene) = gb_pot_ene%elec_14 si(si_restraint_ene) = gb_pot_ene%restraint si(si_pme_err_est) = 0.d0 + si(si_angle_ub_ene) = gb_pot_ene%angle_ub + si(si_dihedral_imp_ene) = gb_pot_ene%imp + si(si_cmap_ene) = gb_pot_ene%cmap end if @@ -930,6 +935,7 @@ use pme_force_mod use runfiles_mod use state_info_mod + use charmm_mod, only : charmm_active implicit none @@ -956,6 +962,10 @@ write(mdout, 9018) write(mdout, 9028) nstep, si(si_pot_ene), dff, fdmax, labmax, iatmax write(mdout, 9038) si(si_bond_ene), si(si_angle_ene), si(si_dihedral_ene) + if (charmm_active) then + write(mdout, 9039) si(si_angle_ub_ene), si(si_dihedral_imp_ene), & + si(si_cmap_ene) + endif if (using_pme_potential) then write(mdout, 9048) si(si_vdw_ene), si(si_elect_ene), & @@ -1014,6 +1024,10 @@ write(mdinfo, 9018) write(mdinfo, 9028) nstep, si(si_pot_ene), dff, fdmax, labmax, iatmax write(mdinfo, 9038) si(si_bond_ene), si(si_angle_ene), si(si_dihedral_ene) + if (charmm_active) then + write(mdinfo, 9039) si(si_angle_ub_ene), si(si_dihedral_imp_ene), & + si(si_cmap_ene) + endif if (using_pme_potential) then write(mdinfo, 9048) si(si_vdw_ene), si(si_elect_ene), & @@ -1040,6 +1054,8 @@ 9028 format(1x, i6, 2x, 3(2x, 1pe13.4), 5x, a4, 2x, i7, /) 9038 format(1x, 'BOND = ', f13.4, 2x, 'ANGLE = ', f13.4, 2x, & 'DIHED = ', f13.4) +9039 format(1x, 'UB = ', f13.4, 2x, 'IMP = ', f13.4, 2x, & + 'CMAP = ', f13.4) 9048 format(1x, 'VDWAALS = ', f13.4, 2x, 'EEL = ', f13.4, 2x, & 'HBOND = ', f13.4) 9049 format(1x, 'VDWAALS = ', f13.4, 2x, 'EEL = ', f13.4, 2x, & --- src/pmemd/src/shake.fpp 2008-03-28 14:20:54.000000000 -0700 +++ src/pmemd/src/shake.fpp 2009-10-14 14:57:57.000000000 -0700 @@ -619,7 +619,7 @@ end if call nonfastwat_shake_setup - + return ! Format statements: @@ -823,11 +823,18 @@ ! determine the O-H and H-H distances ascribed to it. nofast = 1 + ! Following initialization guards against situation where this code gets + ! called, but there is no recognized "water" in the system: + iof = 0 + ihf1 = 0 + ihf2 = 0 + outer: & do i = 1, res_cnt if (gbl_labres(i) .ne. iwtnm) cycle outer + ! This initialization insures all values used come from the same water: iof = 0 ihf1 = 0 ihf2 = 0 @@ -1507,7 +1514,7 @@ /5x, 'within 3000 iterations') 321 format(/5x, 'Coordinate resetting cannot be accomplished,', & /5x, 'deviation is too large', & - /5x, 'iter_cnt, my_bond_idx, i and j are :', 7i5) + /5x, 'iter_cnt, my_bond_idx, i and j are :', 4i8) 331 format(1x, ' *** Especially for minimization, try ntc=1 (no shake)') end subroutine shake --- src/pmemd/src/state_info.fpp 2008-02-05 18:28:03.000000000 -0800 +++ src/pmemd/src/state_info.fpp 2009-10-14 14:58:47.000000000 -0700 @@ -40,6 +40,9 @@ integer, parameter :: si_dv_dlambda = 19 integer, parameter :: si_density = 20 integer, parameter :: si_pme_err_est = 21 - integer, parameter :: si_cnt = 21 ! update as needed + integer, parameter :: si_angle_ub_ene = 22 + integer, parameter :: si_dihedral_imp_ene = 23 + integer, parameter :: si_cmap_ene = 24 + integer, parameter :: si_cnt = 24 ! update as needed end module state_info_mod --- src/pmemd/src/prmtop_dat.fpp 2009-10-14 16:30:19.000000000 -0700 +++ src/pmemd/src/prmtop_dat.fpp 2009-10-14 16:29:20.000000000 -0700 @@ -26,21 +26,31 @@ ! Starting with nttyp, the integer values are derived rather than read. ! nttyp is the number of 6-12 vdw parameters. - integer, parameter :: prmtop_int_cnt = 26 + integer, parameter :: prmtop_int_cnt = 35 - integer natom, ntypes, nbonh, ntheth, nphih, next, nres, & - nbona, ntheta, nphia, numbnd, numang, nptra, nphb, & - ifbox, ifcap, nspm, numextra, ncopy, nttyp, & - bonda_idx, anglea_idx, diheda_idx, & - gbl_bond_allocsize, gbl_angle_allocsize, & - gbl_dihed_allocsize + integer natom, ntypes, nbonh, ntheth, nphih, next, nres, & !7 + nbona, ntheta, nphia, numbnd, numang, nptra, nphb, & !14 + ifbox, ifcap, nspm, numextra, ncopy, nttyp, & !20 + bonda_idx, anglea_idx, diheda_idx, & !23 + gbl_bond_allocsize, gbl_angle_allocsize, & !25 + gbl_dihed_allocsize, & !26 + nub, nubtypes, & !28 + nimphi, nimprtyp, & !30 + gbl_angle_ub_allocsize, gbl_dihed_imp_allocsize,& !32 + cmap_term_count, cmap_type_count, & !34 + gbl_cmap_allocsize !35 common / prmtop_int / natom, ntypes, nbonh, ntheth, nphih, next, nres, & nbona, ntheta, nphia, numbnd, numang, nptra, nphb, & ifbox, ifcap, nspm, numextra, ncopy, nttyp, & bonda_idx, anglea_idx, diheda_idx, & gbl_bond_allocsize, gbl_angle_allocsize, & - gbl_dihed_allocsize + gbl_dihed_allocsize, & + nub, nubtypes, & + nimphi, nimprtyp, & + gbl_angle_ub_allocsize, gbl_dihed_imp_allocsize, & + cmap_term_count, cmap_type_count, & + gbl_cmap_allocsize save :: / prmtop_int / @@ -70,8 +80,12 @@ integer, allocatable, save :: typ_ico(:) double precision, allocatable, save :: gbl_cn1(:) double precision, allocatable, save :: gbl_cn2(:) + double precision, allocatable, save :: gbl_cn114(:) + double precision, allocatable, save :: gbl_cn214(:) double precision, allocatable, save :: gbl_rk(:) double precision, allocatable, save :: gbl_req(:) + double precision, allocatable, save :: gbl_ub_rk(:) + double precision, allocatable, save :: gbl_ub_r0(:) double precision, allocatable, save :: gbl_tk(:) double precision, allocatable, save :: gbl_teq(:) double precision, allocatable, save :: gbl_asol(:) @@ -79,6 +93,14 @@ double precision, allocatable, save :: gbl_pk(:) double precision, allocatable, save :: gbl_pn(:) double precision, allocatable, save :: gbl_phase(:) + double precision, allocatable, save :: gbl_imp_pk(:) + double precision, allocatable, save :: gbl_imp_phase(:) + double precision, allocatable, save :: gbl_one_scee(:) + double precision, allocatable, save :: gbl_one_scnb(:) + double precision, allocatable, save :: gbl_cmap_grid(:,:,:) + double precision, allocatable, save :: gbl_cmap_dPhi(:,:,:) + double precision, allocatable, save :: gbl_cmap_dPsi(:,:,:) + double precision, allocatable, save :: gbl_cmap_dPhi_dPsi(:,:,:) ! Derived from atom paramaters: @@ -86,6 +108,9 @@ double precision, allocatable, save :: gbl_gams(:) double precision, allocatable, save :: gbl_fmn(:) integer, allocatable, save :: gbl_ipn(:) + integer, allocatable, save :: gbl_cmap_res(:) + integer, allocatable, save :: gbl_cmap_grid_step_size(:) + character(4), allocatable, save :: atm_igraph(:) integer, allocatable, save :: gbl_res_atms(:) @@ -104,7 +129,10 @@ type(bond_rec), allocatable, save :: gbl_bond(:) type(angle_rec), allocatable, save :: gbl_angle(:) + type(angle_ub_rec), allocatable, save :: gbl_angle_ub(:) type(dihed_rec), allocatable, save :: gbl_dihed(:) + type(dihed_imp_rec), allocatable, save :: gbl_dihed_imp(:) + type(cmap_rec), allocatable, save :: gbl_cmap(:) ! NOTE! These are deallocated after setup, unless we are using ! Generalized Born: @@ -162,6 +190,7 @@ use gbl_constants_mod use mdin_ctrl_dat_mod use nextprmtop_section_mod + use charmm_mod, only : charmm_active, check_for_charmm implicit none @@ -178,6 +207,12 @@ double precision :: dielc_sqrt integer :: i integer :: ic + character(len=80), allocatable, dimension(:)& + :: ffdesc + character(len=80) :: line + integer :: nlines, iscratch + character(len=2) :: word + ! Stuff used in support of the amber 7 prmtop format: @@ -207,9 +242,18 @@ call amopen(prmtop, prmtop_name, 'O', 'F', 'R') call nxtsec_reset() ! insurance; the nextprmtop stuff caches the fileptr. + ! Support both TITLE and CTITLE - CTITLE is used for a chamber + ! prmtop file. Essentially to prevent earlier versions of the code + ! from loading such files. + fmtin = '(a80)' - type = 'TITLE' - call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) + type = 'CTITLE' + call nxtsec(prmtop, mdout, 1, fmtin, type, fmt, errcode) + if ( errcode /= 0 ) then + fmtin = '(a80)' + type = 'TITLE' + call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) + end if ! NOTE the hack below (copied from sander) that prevents the hollerith format ! returned from the prmtop from screwing things up (the read format is @@ -217,6 +261,7 @@ read(prmtop, fmtin) prmtop_ititl + fmtin = ifmt type = 'POINTERS' call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) @@ -267,7 +312,89 @@ nttyp = ntypes * (ntypes + 1) / 2 + ! --- Read the force field information from the prmtop if available + fmtin = '(i,a)' + type = 'FORCE_FIELD_TYPE' + call nxtsec(prmtop, mdout, 1, fmtin, type, fmt, errcode) + if(errcode == 0) then + ! We found a force field description. Should be 1 or more lines + ! of text which will be echoed back to the user. In some case + ! we also take some decisions based on this. + write (mdout,'(a)') '| Force field information read from topology file: ' + ! format should be (nlines, text) where we read the first lines nlines + ! to know how many more lines to read - we ignore nlines on subsequent + ! lines but they still need to be there. + ! e.g. + ! 2 PARM99 + ! 2 GAFF + read(prmtop,fmt) nlines,line + allocate (ffdesc(nlines), stat = errcode) + if (errcode /= 0) then + write(mdout,*) 'Allocation of ffdesc in init_amber_prmtop_dat failed.' + call mexit(6, 1) + end if + ffdesc(1) = line + write(mdout,'(a,a)') '| ',ffdesc(1) + do i = 2, nlines + read(prmtop,fmt) iscratch,ffdesc(i) + write(mdout,'(a,a)') '| ',ffdesc(i) + end do + + !Test to see if any special force fields are in use. + + !1) Check for CHARMM + !Sets charmm_active = .true. if the charmm force field is in use. + call check_for_charmm(nlines,scee,scnb,ffdesc) + + !End Test + deallocate (ffdesc, stat = errcode) + if (errcode /= 0) then + write(mdout,*) 'Deallocation of ffdesc in init_amber_prmtop_dat failed.' + call mexit(6, 1) + end if + + end if + + if (charmm_active) then + !Read UB counts so that an allocate can be done + fmtin = '(2i8)' + type = 'CHARMM_UREY_BRADLEY_COUNT' + call nxtsec(prmtop, mdout, 1, fmtin, type, fmt, errcode) + + if (errcode == 0) then + read(prmtop,fmt) nub, nubtypes + end if + + + !Read CHARMM impropers + fmtin = '(10i8)' + type = 'CHARMM_NUM_IMPROPERS' + call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) + read(prmtop,fmt) nimphi + + fmtin = '(i8)' + type = 'CHARMM_NUM_IMPR_TYPES' + call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) + read(prmtop,fmt) nimprtyp + + !Read CHARMM CMAP + fmtin = '(2I8)' + type = 'CHARMM_CMAP_COUNT' + call nxtsec(prmtop, mdout, 1, fmtin, type, fmt, errcode) + + if (errcode == 0) then + read(prmtop,fmt) cmap_term_count, cmap_type_count + end if + + end if + + + + ! Here we set nscm and ndfmin. We need natom to do this... + if (ntr.eq.1) & + nscm = 0 + if (nscm .gt. 0 .and. ntb .eq. 0) then ndfmin = 6 ! both translation and rotation com motion removed @@ -279,16 +406,16 @@ ndfmin = 0 end if if (ibelly .gt. 0) then ! No COM Motion Removal, ever. - nscm = big_int + nscm = 0 ndfmin = 0 end if - if (nscm .le. 0) nscm = big_int + if (nscm .le. 0) nscm = 0 ! For Langevin Dynamics... if (gamma_ln .gt. 0.0d0) ndfmin = 0 ! No COM motion removal for LD simulation - + call init_amber_prmtop_dat ! Reset cap data if necessary: @@ -351,9 +478,10 @@ subroutine init_amber_prmtop_dat - implicit none + use mdin_ctrl_dat_mod, only : scee, scnb + use charmm_mod, only : charmm_active -! Local variables: + implicit none double precision :: dumd ! scratch or trash variable integer :: idum ! scratch or trash variable @@ -374,6 +502,9 @@ gbl_bond_allocsize = nbonh + nbona gbl_angle_allocsize = ntheth + ntheta gbl_dihed_allocsize = nphih + nphia + 2 * max_dihed_dups + gbl_angle_ub_allocsize = nub + gbl_dihed_imp_allocsize = nimphi + gbl_cmap_allocsize = cmap_term_count call alloc_amber_prmtop_mem(num_ints, num_reals) @@ -465,7 +596,7 @@ call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) read(prmtop, fmt) (gbl_teq(i), i = 1, numang) - + fmtin = rfmt type = 'DIHEDRAL_FORCE_CONSTANT' call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) @@ -484,6 +615,60 @@ read(prmtop, fmt) (gbl_phase(i), i = 1, nptra) + ! Read variable SCEE and SCNB values if they exist. + ! 1) SCEE + fmtin = rfmt + type = 'SCEE_SCALE_FACTOR' + call nxtsec(prmtop, mdout, 1,fmtin, type, fmt, errcode) + if (errcode == 0) then + !We found the SCEE scale factor data so read it in, there should be + !a value for each dihedral type. Note while there is one for each + !dihedral type not all are actually used in the calculation since + !1-4's are only done over unique dihedral terms. If multiple dihedrals + !for a given set of atom types exist, with different pn's for example + !then the last value of SCEE/SCNB should be used. + + write (mdout,'(a)') '' + write (mdout,'(a)') '| Note: 1-4 EEL scale factors are being read from the topology file.' + write (mdout,'(a)') '| SCEE value from cntrl namelist will be ignored.' + + read(prmtop,fmt) (gbl_one_scee(i), i = 1,nptra) + call vdinv(nptra,gbl_one_scee,gbl_one_scee) + else + !We will use whatever scee is set to in the mdin file for all 1-4's + if (scee == 0.0d0) then + write(mdout,'(/2x,a)') 'SCEE not found in topology file so it must be set explicitly' + call mexit(6, 1) + end if + do i=1,nptra + gbl_one_scee(i)=1.0d0/scee + end do + end if !if errcode==0 + + ! 2) SCNB + fmtin = rfmt + type = 'SCNB_SCALE_FACTOR' + call nxtsec(prmtop, mdout, 1,fmtin, type, fmt, errcode) + if (errcode == 0) then + write (mdout,'(a)') '' + write (mdout,'(a)') '| Note: 1-4 VDW scale factors are being read from the topology file.' + write (mdout,'(a)') '| SCNB value from cntrl namelist will be ignored.' + + read(prmtop,fmt) (gbl_one_scnb(i), i = 1,nptra) + call vdinv(nptra,gbl_one_scnb,gbl_one_scnb) + else + !We will use whatever scee is set to in the mdin file for all 1-4's. + if (scnb == 0.0d0) then + write(mdout,'(/2x,a)') 'SCNB not found in topology file so it must be set explicitly' + call mexit(6, 1) + end if + do i=1,nptra + gbl_one_scnb(i)=1.0d0/scnb + end do + end if !if errcode==0 + + ! End read variable SCEE and SCNB values. + fmtin = rfmt type = 'SOLTY' call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) @@ -566,6 +751,104 @@ gbl_angle(anglea_idx + i)%atm_k = gbl_angle(anglea_idx + i)%atm_k / 3 + 1 end do + if (charmm_active) then + !Specific 1-4 CHARMM scaling + fmtin = rfmt + type = 'LENNARD_JONES_14_ACOEF' + call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) + + read(prmtop, fmt) (gbl_cn114(i), i = 1, nttyp) + + fmtin = rfmt + type = 'LENNARD_JONES_14_BCOEF' + call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) + + read(prmtop, fmt) (gbl_cn214(i), i = 1, nttyp) + + fmtin = ifmt + type = 'CHARMM_UREY_BRADLEY' + call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) + read(prmtop, fmt) (gbl_angle_ub(i)%atm_i,& + gbl_angle_ub(i)%atm_k,& + gbl_angle_ub(i)%parm_idx,& + i = 1, nub) + + fmtin = rfmt + type = 'CHARMM_UREY_BRADLEY_FORCE_CONSTANT' + call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) + + read(prmtop, fmt) (gbl_ub_rk(i), i = 1, nubtypes) + + fmtin = rfmt + type = 'CHARMM_UREY_BRADLEY_EQUIL_VALUE' + call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) + + read(prmtop, fmt) (gbl_ub_r0(i), i = 1, nubtypes) + + + ! Read CHARMM impropers + fmtin = ifmt + type = 'CHARMM_IMPROPERS' + call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) + read(prmtop, fmt) (gbl_dihed_imp(i)%atm_i,& + gbl_dihed_imp(i)%atm_j,& + gbl_dihed_imp(i)%atm_k,& + gbl_dihed_imp(i)%atm_l,& + gbl_dihed_imp(i)%parm_idx,& + i = 1, nimphi) + + fmtin = rfmt + type = 'CHARMM_IMPROPER_FORCE_CONSTANT' + call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) + + read(prmtop, fmt) (gbl_imp_pk(i), i = 1, nimprtyp) + + fmtin = rfmt + type = 'CHARMM_IMPROPER_PHASE' + call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) + + read(prmtop, fmt) (gbl_imp_phase(i), i = 1, nimprtyp) + + !CMAP + + if ( cmap_term_count > 0 ) then + fmtin = '(9I8)' + type = 'CHARMM_CMAP_INDEX' + call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) + read(prmtop, fmt) (gbl_cmap(i)%atm_i,& + gbl_cmap(i)%atm_j,& + gbl_cmap(i)%atm_k,& + gbl_cmap(i)%atm_l,& + gbl_cmap(i)%atm_m,& + gbl_cmap(i)%parm_idx,& + i=1, cmap_term_count) + + fmtin = '(20I4)' + type = 'CHARMM_CMAP_RESOLUTION' + call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) + read(prmtop, fmt) (gbl_cmap_res(i), i=1, cmap_type_count) + + do i=1,cmap_type_count + write(word,'(i2.2)')i + fmtin = '(8(F9.5))' + type = "CHARMM_CMAP_PARAMETER_" // word + call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) + + read(prmtop, fmt) gbl_cmap_grid(i, 1:gbl_cmap_res(i), & + 1:gbl_cmap_res(i) ) + + !Also take advantage of this loop to set the step size + gbl_cmap_grid_step_size(i) = 360/gbl_cmap_res(i) + enddo + + end if ! cmap_term_count > 0 + + + end if + + + + ! Read the dihedral information: fmtin = ifmt @@ -708,9 +991,12 @@ fmtin = rfmt type = 'BOX_DIMENSIONS' - call nxtsec(prmtop, mdout, 0, fmtin, type, fmt, errcode) + call nxtsec(prmtop, mdout, 1, fmtin, type, fmt, errcode) + + if (errcode == 0) then + read(prmtop, fmt) dumd, dumd, dumd, dumd + end if - read(prmtop, fmt) dumd, dumd, dumd, dumd else @@ -906,6 +1192,7 @@ use pmemd_lib_mod use mdin_ctrl_dat_mod use parallel_dat_mod + use charmm_mod, only : charmm_active implicit none @@ -916,6 +1203,9 @@ call mpi_bcast(natom, prmtop_int_cnt, mpi_integer, 0, mpi_comm_world, & err_code_mpi) + call mpi_bcast(charmm_active, 1, mpi_logical, 0, mpi_comm_world, & + err_code_mpi) + ! There is only cap data, which we currently don't use, so we comment this ! out: ! @@ -961,6 +1251,12 @@ mpi_comm_world, err_code_mpi) call mpi_bcast(gbl_cn2, nttyp, mpi_double_precision, 0, & mpi_comm_world, err_code_mpi) + if (charmm_active) then + call mpi_bcast(gbl_cn114, nttyp, mpi_double_precision, 0, & + mpi_comm_world, err_code_mpi) + call mpi_bcast(gbl_cn214, nttyp, mpi_double_precision, 0, & + mpi_comm_world, err_code_mpi) + end if end if if (numbnd > 0) then @@ -992,8 +1288,54 @@ mpi_comm_world, err_code_mpi) call mpi_bcast(gbl_ipn, nptra, mpi_integer, 0, & mpi_comm_world, err_code_mpi) + call mpi_bcast(gbl_one_scee, nptra, mpi_double_precision, 0, & + mpi_comm_world, err_code_mpi) + call mpi_bcast(gbl_one_scnb, nptra, mpi_double_precision, 0, & + mpi_comm_world, err_code_mpi) + end if + + if (charmm_active) then + !Urey Bradley + if (nubtypes > 0) then + call mpi_bcast(gbl_ub_rk, nubtypes, mpi_double_precision, 0, & + mpi_comm_world, err_code_mpi) + call mpi_bcast(gbl_ub_r0, nubtypes, mpi_double_precision, 0, & + mpi_comm_world, err_code_mpi) + end if + + !Charmm Impropers + if (nimprtyp > 0) then + call mpi_bcast(gbl_imp_pk, nimprtyp, mpi_double_precision, 0, & + mpi_comm_world, err_code_mpi) + call mpi_bcast(gbl_imp_phase, nimprtyp, mpi_double_precision, 0, & + mpi_comm_world, err_code_mpi) + end if + + ! CMAP TODO: 24 is a hard coded hack + if ( cmap_type_count > 0 ) then + call mpi_bcast(gbl_cmap_res, cmap_type_count, mpi_integer, 0, & + mpi_comm_world, err_code_mpi) + + call mpi_bcast(gbl_cmap_grid_step_size, cmap_type_count, mpi_integer, 0, & + mpi_comm_world, err_code_mpi) + + call mpi_bcast(gbl_cmap_grid, cmap_type_count*24*24, mpi_double_precision, 0, & + mpi_comm_world, err_code_mpi) + + call mpi_bcast(gbl_cmap_dPhi, cmap_type_count*24*24, mpi_double_precision, 0, & + mpi_comm_world, err_code_mpi) + call mpi_bcast(gbl_cmap_dPsi, cmap_type_count*24*24, mpi_double_precision, 0, & + mpi_comm_world, err_code_mpi) + call mpi_bcast(gbl_cmap_dPhi_dPsi, cmap_type_count*24*24, mpi_double_precision, 0, & + mpi_comm_world, err_code_mpi) + + end if + end if + + + ! Generalized Born: if (using_gb_potential) then @@ -1020,6 +1362,25 @@ call mpi_bcast(gbl_dihed, size(gbl_dihed) * bytes_per_unit, mpi_byte, 0, & mpi_comm_world, err_code_mpi) + if (charmm_active) then + call get_bytesize(gbl_angle_ub(1), gbl_angle_ub(2), bytes_per_unit) + + call mpi_bcast(gbl_angle_ub, size(gbl_angle_ub) * bytes_per_unit, mpi_byte, 0, & + mpi_comm_world, err_code_mpi) + + call get_bytesize(gbl_dihed_imp(1), gbl_dihed_imp(2), bytes_per_unit) + + call mpi_bcast(gbl_dihed_imp, size(gbl_dihed_imp) * bytes_per_unit, mpi_byte, 0, & + mpi_comm_world, err_code_mpi) + !CMAP + call get_bytesize(gbl_cmap(1), gbl_cmap(2), bytes_per_unit) + + call mpi_bcast(gbl_cmap, size(gbl_cmap) * bytes_per_unit, mpi_byte, 0, & + mpi_comm_world, err_code_mpi) + end if + + + call mpi_bcast(atm_numex, natom, mpi_integer, 0, & mpi_comm_world, err_code_mpi) @@ -1049,6 +1410,7 @@ use pmemd_lib_mod use mdin_ctrl_dat_mod use parallel_dat_mod + use charmm_mod, only : charmm_active implicit none @@ -1079,6 +1441,23 @@ gbl_labres(nres), & stat = alloc_failed) + if (charmm_active) then + allocate( & + gbl_cn114(nttyp), & + gbl_cn214(nttyp), & + gbl_ub_rk(nubtypes),& + gbl_ub_r0(nubtypes),& + gbl_imp_pk(nimprtyp),& + gbl_imp_phase(nimprtyp),& + gbl_cmap_res(cmap_type_count), & + gbl_cmap_grid_step_size(cmap_type_count), & + gbl_cmap_grid(cmap_type_count,24,24),& !24 is a hardcoded hack + gbl_cmap_dPhi(cmap_type_count,24,24),& + gbl_cmap_dPsi(cmap_type_count,24,24),& + gbl_cmap_dPhi_dPsi(cmap_type_count,24,24),& + stat = alloc_failed) + end if + if (alloc_failed .ne. 0) call setup_alloc_error num_reals = num_reals + size(atm_qterm) + size(atm_mass) + & @@ -1089,6 +1468,16 @@ size(atm_igraph) + size(gbl_res_atms) + & size(gbl_labres) + if (charmm_active) then + num_reals = num_reals + size(gbl_cn114) + size(gbl_cn214) + & + size(gbl_ub_rk) + size(gbl_ub_r0) + size(gbl_imp_pk) + & + size(gbl_imp_phase) + & + size(gbl_cmap_res) + size(gbl_cmap_grid_step_size) + & + size(gbl_cmap_grid) + size(gbl_cmap_dPhi) + & + size(gbl_cmap_dPsi) + size(gbl_cmap_dPhi_dPsi) + end if + + if (nphb .ne. 0) then allocate(gbl_asol(nphb), & gbl_bsol(nphb), & @@ -1109,9 +1498,31 @@ if (alloc_failed .ne. 0) call setup_alloc_error + ! Zero the entire dihedral array since it is not entirly used as a result + ! the uninitialized padding bytes cause false positivies with Valgrind + gbl_dihed = null_dihed_rec + +if (charmm_active) then + allocate( & + gbl_angle_ub(gbl_angle_ub_allocsize), & + gbl_dihed_imp(gbl_dihed_imp_allocsize), & + gbl_cmap(gbl_cmap_allocsize), & + stat = alloc_failed) + + if (alloc_failed .ne. 0) call setup_alloc_error + end if + + num_ints = num_ints + size(gbl_bond) * bond_rec_ints + & size(gbl_angle) * angle_rec_ints + & - size(gbl_dihed) * dihed_rec_ints + size(gbl_dihed) * dihed_rec_ints + + if (charmm_active) then + num_ints = num_ints + size(gbl_angle_ub) * angle_ub_rec_ints + & + size(gbl_dihed_imp) * dihed_imp_rec_ints + & + size(gbl_cmap) * cmap_rec_ints + end if + if (nptra > 0) then allocate(gbl_pk(nptra), & @@ -1120,6 +1531,8 @@ gbl_gamc(nptra), & gbl_gams(nptra), & gbl_fmn(nptra), & + gbl_one_scee(nptra), & + gbl_one_scnb(nptra), & gbl_ipn(nptra), & stat = alloc_failed) @@ -1130,7 +1543,9 @@ size(gbl_phase) + & size(gbl_gamc) + & size(gbl_gams) + & - size(gbl_fmn) + size(gbl_fmn) + & + size(gbl_one_scee) + & + size(gbl_one_scnb) num_ints = num_ints + size(gbl_ipn) @@ -1156,8 +1571,9 @@ ! Allocation of stuff that will later be deallocated: - ! Bugfix note: gbl_natex dimension increased to provide workspace for - ! extra points code... + ! gbl_natex dimension is allocated as 2*next here since it can be expanded inside + ! the extra point code to be more than next. From the prmtop though only next + ! elements are read and subsequently broadcast. allocate(atm_numex(natom), & gbl_natex(next * 2), & --- src/pmemd/src/gb_ene.fpp 2009-10-14 13:05:59.000000000 -0700 +++ src/pmemd/src/gb_ene.fpp 2009-10-15 08:21:26.000000000 -0700 @@ -251,7 +251,7 @@ vectmp4(atm_cnt), & vectmp5(atm_cnt), & jj(atm_cnt), & - skipv(atm_cnt), & + skipv(0:atm_cnt), & stat = alloc_failed) if (alloc_failed .ne. 0) call setup_alloc_error @@ -325,7 +325,7 @@ end do end if - + return end subroutine final_gb_setup @@ -544,7 +544,7 @@ !--------------------------------------------------------------------------- ! Step 1: loop over pairs of atoms to compute the effective Born radii. !--------------------------------------------------------------------------- - + if (irespa .lt. 2 .or. mod(irespa, nrespai) .eq. 0) & call calc_born_radii(atm_cnt, crd, fs, rborn) @@ -617,10 +617,11 @@ jj(icount) = j r2x(icount) = r2 rjx(icount) = reff(j) - + end do vectmp1(1:icount) = 4.d0 * ri * rjx(1:icount) + call vdinv(icount, vectmp1, vectmp1) vectmp1(1:icount) = -r2x(1:icount) * vectmp1(1:icount) call vdexp(icount, vectmp1, vectmp1) @@ -646,7 +647,8 @@ ! vectmp5 = 1/rij ! Start first outer loop - !dir$ ivdep + ! dir$ ivdep + do k = 1, icount j = jj(k) @@ -695,6 +697,7 @@ rj = rjx(k) temp5 = 0.5d0 * temp1 * temp6 * (ri * rj + 0.25d0 * r2) + sumdeijda(i) = sumdeijda(i) + ri * temp5 sumdeijda(j) = sumdeijda(j) + rj * temp5 @@ -799,7 +802,7 @@ #endif frespa = nrespa - + ! diagonal egb term, plus off-diag derivs wrt alpha .eq. reff^-1: #ifdef MPI @@ -1358,6 +1361,7 @@ reff(i) = reff_i end do ! i = 1, atm_cnt + #ifdef MPI call update_gb_time(calc_gb_rad_timer) @@ -2041,9 +2045,6 @@ yij = yi - crd(3 * j - 1) zij = zi - crd(3 * j) r2 = xij * xij + yij * yij + zij * zij - if (r2 .gt. cut2) cycle - if (.not. onstep .and. r2 .gt. cut_inner2) cycle - icount = icount + 1 jj(icount) = j r2x(icount) = r2 diff -Nru test/chamber/md_engine/dhfr/inpcrd test/chamber/md_engine/dhfr/inpcrd --- test/chamber/md_engine/dhfr/inpcrd 1969-12-31 16:00:00.000000000 -0800 +++ test/chamber/md_engine/dhfr/inpcrd 2009-08-11 15:40:54.000000000 -0700 @@ -0,0 +1,1247 @@ +inpcrd generated from psfprm utility:* DHFR GAS PHASE MINIMIZATION + 2489 + 37.8726300 19.6981100 38.9426000 37.9513900 20.2884800 39.8150300 + 38.7681400 19.7728400 38.4230600 37.7055800 18.7172600 39.2387100 + 36.7233500 20.2135400 38.1307000 36.4513600 19.4515700 37.4131300 + 35.5511200 20.4657200 39.1167300 35.4043400 19.5467700 39.7332200 + 35.8181700 21.2895000 39.8173200 34.1840500 20.7895300 38.4845100 + 34.1763300 21.8261400 38.0766800 34.0063600 20.0974500 37.6336000 + 32.8062700 20.5662400 39.6509800 33.1706800 21.9541600 40.7599200 + 32.4390700 22.0104100 41.5936200 33.1232000 22.9155500 40.2056300 + 34.1790500 21.8710000 41.2161800 37.1145000 21.4700000 37.3660000 + 37.9123900 22.2571400 37.8638600 36.6275500 21.6699800 36.1245700 + 35.9945800 21.0395000 35.6807800 36.8785800 22.8795900 35.3514600 + 37.3909800 23.6145700 35.9560300 37.6943900 22.6490800 34.0779300 + 37.1602200 21.9245400 33.4186700 37.8509200 23.9870000 33.3123300 + 38.3812000 24.7355300 33.9380100 36.8676700 24.4078300 33.0139500 + 38.4280500 23.8342000 32.3769100 39.0706100 22.0351700 34.4403400 + 39.5955800 22.7221900 35.1380200 38.9067700 21.0732600 34.9741300 + 39.9749400 21.7537900 33.2345200 40.2643100 22.6942400 32.7208300 + 39.4485600 21.1012500 32.5044800 40.9040100 21.2370400 33.5570200 + 35.5231200 23.4530400 35.0171000 34.7032300 22.8009100 34.3727600 + 35.2483300 24.6692300 35.4977200 35.9352500 25.1971600 36.0095500 + 33.9326200 25.2670400 35.4773400 33.2112400 24.5697500 35.0892400 + 33.4894400 25.7089100 36.8878100 34.1626600 26.5151200 37.2529700 + 32.4463700 26.0956700 36.8476400 33.5530800 24.6248600 37.8142800 + 33.4000600 25.0126100 38.7074500 33.9263700 26.5109000 34.6270800 + 34.7392400 27.4104600 34.8260200 33.0011000 26.6221300 33.6627200 + 32.3408500 25.8821400 33.5015000 32.8274300 27.8397600 32.8853300 + 33.7217500 28.4440200 32.9135500 32.4698400 27.5539700 31.4002300 + 31.7401400 26.7181800 31.3691600 31.9636500 28.4443400 30.9611300 + 33.6627500 27.2220600 30.4695500 34.3257300 28.1192400 30.4359600 + 34.5068000 26.0286400 30.9393100 33.8472000 25.1534800 31.1147400 + 35.0383000 26.2634300 31.8842300 35.2609200 25.7609500 30.1697500 + 33.1636700 26.9605800 29.0403500 32.5808200 27.8266700 28.6620200 + 32.5057000 26.0652000 29.0212200 34.0174600 26.7833600 28.3521900 + 31.7221800 28.6586400 33.5255700 30.7803800 28.1078400 34.0886700 + 31.8136300 30.0001300 33.4750600 32.6167100 30.4579900 33.0900800 + 30.7293300 30.8670400 33.9106500 29.8257800 30.2830000 33.9604200 + 30.9496700 31.4623600 35.3046600 31.0343100 30.5949600 36.0022700 + 32.2723200 32.2518500 35.3731400 32.2397800 33.1179500 34.6766700 + 33.1304800 31.6051800 35.0958100 32.4413100 32.6389700 36.3979400 + 29.7410100 32.3059600 35.7752100 29.7379600 33.2845000 35.2442800 + 28.7993300 31.7813700 35.4912800 29.7171900 32.5346900 37.2897800 + 30.6104600 33.1034600 37.6194300 29.6880200 31.5593100 37.8186800 + 28.8066400 33.1117000 37.5673300 30.4645900 31.9129300 32.8435200 + 31.3908800 32.5093100 32.2922000 29.1851100 32.1211900 32.4777700 + 28.4228900 31.6465000 32.9248100 28.8240300 33.0267100 31.4102700 + 29.5011600 33.8708400 31.4081600 28.8684300 32.2942700 30.0543000 + 28.1427000 31.4527200 30.0409500 29.8800000 31.8739400 29.8851200 + 28.6339800 32.9835700 29.2151400 27.4305300 33.5852200 31.6214600 + 26.6178600 32.9947700 32.3294200 27.1390000 34.7409300 30.9903400 + 27.8128400 35.2039900 30.4248800 25.8333300 35.3619400 30.9872600 + 25.1436700 34.7659300 31.5653000 25.9093800 36.7761500 31.5963900 + 26.5830800 37.4270700 31.0005600 26.3023400 36.7178900 32.6360500 + 24.9036400 37.2416600 31.6406600 25.3164600 35.4042800 29.5533700 + 25.9604500 35.9635300 28.6691500 24.1705100 34.7491900 29.2975200 + 23.6640100 34.3278500 30.0581700 23.6435300 34.4446800 27.9792100 + 24.3279100 34.7653900 27.2045400 23.3598200 32.9162500 27.8681900 + 22.9140000 32.5745300 28.8288300 22.5879000 32.7343200 27.0858100 + 24.5556800 31.9959300 27.5226100 24.9229200 32.2857400 26.5091000 + 25.7373600 32.0842800 28.4949600 25.3920500 31.9143700 29.5377600 + 26.2191200 33.0811000 28.4342700 26.4981300 31.3162200 28.2420900 + 24.0762800 30.5378500 27.4638100 23.2180600 30.4382300 26.7656800 + 23.7362100 30.2103700 28.4696900 24.8949000 29.8662300 27.1316700 + 22.3131100 35.1558100 27.7624700 21.4449500 35.1387800 28.6311600 + 22.0989900 35.7811500 26.5856100 22.8508900 35.8903200 25.9337200 + 20.7946200 36.3004000 26.1910000 20.1893100 36.4861300 27.0704300 + 20.9648700 37.6228100 25.4086200 21.4534600 37.4432000 24.4275800 + 21.6022400 38.3215100 25.9819100 19.9890700 38.1264200 25.2389600 + 20.0375500 35.2983000 25.3214100 20.3075900 34.0966800 25.3322300 + 19.0872400 35.7839700 24.4899600 18.8281500 36.7457700 24.5262200 + 18.4637300 35.0189200 23.4141600 18.0314400 34.1299500 23.8510800 + 17.3451100 35.8148600 22.7388800 17.7600800 36.7768300 22.3558400 + 16.7037500 35.0497600 21.5621400 16.3263200 34.0589900 21.8909500 + 17.4226400 34.8957000 20.7287300 15.8457700 35.6289700 21.1583600 + 16.2594200 36.1271000 23.7896700 16.6635100 36.7127700 24.6393800 + 15.8206700 35.1880800 24.1870700 15.4434400 36.7226600 23.3264200 + 19.5317700 34.5589700 22.4208200 20.5552000 35.2205500 22.2417700 + 19.3654100 33.3435000 21.8533600 18.4556900 32.9331100 21.7964500 + 20.3473900 32.5577500 21.1215700 20.0111600 31.5336700 21.2160900 + 20.3192500 32.8839700 19.6076700 20.4606400 33.9697700 19.4404800 + 21.1075500 32.3228200 19.0673000 18.9867000 32.4721600 18.9903200 + 18.1103600 31.9462300 19.7287300 18.8489400 32.6595500 17.7567800 + 21.7466000 32.5169500 21.7395400 22.7747200 32.4519500 21.0661100 + 21.7922300 32.5123300 23.0890800 20.9356700 32.6539300 23.5821700 + 22.9691500 32.3514600 23.9155200 22.6159100 32.4320700 24.9324300 + 23.6236900 30.9518100 23.7504000 24.1582600 30.9353500 22.7733800 + 24.3704900 30.8146700 24.5613300 22.6329100 29.7663300 23.7774100 + 21.9517200 29.8823000 24.6514900 22.0074700 29.8102000 22.8570500 + 23.2848300 28.3767000 23.8521100 23.7470700 28.2252200 24.8545500 + 22.5272300 27.5796500 23.6823000 24.3739400 28.3368200 22.8214300 + 25.1324600 28.9805200 22.8795600 24.4047500 27.6005400 21.7023000 + 25.3995100 27.8263100 20.8492700 26.1676700 28.3574500 21.1987400 + 25.5995700 27.1207600 20.1370900 23.5568100 26.6189000 21.4463500 + 23.8833600 25.9719300 20.7191100 22.9454700 26.3151900 22.1524200 + 24.0306100 33.4339200 23.7476000 25.2184800 33.1698200 23.9254800 + 23.6456900 34.6759600 23.3951300 22.6808800 34.8620400 23.2027600 + 24.5877000 35.7440700 23.0735900 25.3363100 35.3210800 22.4234500 + 23.8949300 36.8480100 22.2812600 22.9938900 37.1944900 22.8370600 + 24.8219300 38.0487600 22.0318600 25.7549200 37.7147300 21.5298600 + 25.0877700 38.5699400 22.9738800 24.3125900 38.7825800 21.3699400 + 23.4509800 36.2672700 20.9229500 22.7441000 35.4211300 21.0485300 + 24.3282200 35.9078500 20.3445900 22.9349900 37.0485900 20.3244900 + 25.3346500 36.2891000 24.2961700 24.7333300 36.5433600 25.3399000 + 26.6838300 36.4314600 24.1888700 27.1146100 36.2075100 23.3121600 + 27.5821500 36.6925900 25.3169300 26.9919400 36.7112300 26.2246700 + 28.6310100 35.5886400 25.4927800 29.3679900 35.9044600 26.2701200 + 27.9081600 34.3408000 26.0390000 27.1911800 33.9518300 25.2866000 + 27.3382700 34.5959000 26.9578600 28.6332200 33.5411300 26.2856900 + 29.4020700 35.2855000 24.1855300 28.7101100 34.7779900 23.4775500 + 29.7263300 36.2395700 23.7134100 30.6327400 34.3940300 24.3840800 + 30.3396500 33.4184400 24.8261100 31.3639100 34.8915800 25.0546100 + 31.1195700 34.1973900 23.4039600 28.3234300 38.0314300 25.3246500 + 28.7707700 38.4629400 26.3861300 28.5137200 38.7383000 24.1869200 + 28.1612100 38.4309000 23.3006900 29.2136000 40.0290400 24.1727200 + 28.7470600 40.6303800 23.4060500 29.1598200 40.4941500 25.1467100 + 30.6725400 39.9115400 23.8069500 31.5506700 40.3777100 24.5329500 + 30.9496500 39.3078200 22.6354700 30.1350100 39.1480900 22.0479400 + 32.2162100 38.8804900 22.0506900 32.0401000 37.8569400 21.7527600 + 32.5119900 39.6637600 20.7424700 31.5777600 39.6464100 20.1331500 + 32.7045700 40.7301400 20.9737500 33.6384400 39.0583500 19.8732700 + 34.6045400 39.1248300 20.4160400 33.4054300 37.9761100 19.7451600 + 33.8254900 39.7982800 18.2192800 34.2074600 41.4974800 18.7307400 + 35.0528100 41.5211800 19.4491900 33.3245400 41.9745000 19.2083600 + 34.4836800 42.1164500 17.8510800 33.4376700 38.8088700 22.9633000 + 33.6867900 37.8096700 23.6330200 34.2554500 39.8781800 23.0118600 + 34.0445500 40.6707300 22.4510200 35.4790900 39.9178200 23.7863400 + 35.9860700 38.9682500 23.6828700 36.4204900 41.0311700 23.2452700 + 35.8483200 41.9750500 23.1161000 37.2105700 41.2460300 24.0002600 + 37.1029200 40.6537800 21.8986800 36.9494000 39.5737400 21.6919200 + 36.6472600 41.2305700 21.0689400 38.6065200 40.9078100 21.8820400 + 39.0498900 42.0525700 22.1634700 39.3820500 39.9498300 21.6041300 + 35.2638700 40.1199400 25.2826200 36.1780100 39.8955300 26.0724500 + 34.0682700 40.5587900 25.7129900 33.2698200 40.5460100 25.0980500 + 33.8369100 41.0759700 27.0468800 34.7138900 40.9258400 27.6645100 + 33.5091200 42.5907700 26.9551500 32.6611100 42.7650700 26.2611000 + 33.2555400 42.9968400 27.9572800 34.7400000 43.3396900 26.4675800 + 35.6756200 43.5722300 27.2340500 34.7554000 43.7467100 25.1783600 + 35.5810900 44.2026800 24.8573800 33.9918400 43.5237100 24.5799100 + 32.7103100 40.3388000 27.7621000 32.9136400 39.2643200 28.3242400 + 31.5152700 40.9580600 27.7863800 31.3502800 41.7779900 27.2438800 + 30.3299400 40.5199700 28.4734200 30.0981000 39.5090500 28.1677300 + 30.4773200 40.6294000 30.0078900 30.6966300 41.6767500 30.3044700 + 31.3139000 39.9823800 30.3474400 29.5517600 40.2968000 30.5236700 + 29.2183300 41.4408600 27.9887300 29.4762800 42.3739700 27.2256600 + 27.9667900 41.2058400 28.4230300 27.7859600 40.4423900 29.0319800 + 26.7972700 41.9467300 27.9859800 26.9649600 42.2364900 26.9589100 + 25.5668800 41.0108200 28.0536900 25.5039500 40.5859900 29.0796300 + 24.6236600 41.5690100 27.8697900 25.6429900 39.8545200 27.0392300 + 26.5859100 39.2923100 27.2050500 24.8228400 39.1316500 27.2429100 + 25.5507400 40.4061400 25.3086600 23.7834400 40.0495400 25.1448300 + 23.5945900 38.9647200 25.2924100 23.4125800 40.3191400 24.1328300 + 23.1867000 40.6087500 25.8956900 26.5438300 43.2208800 28.8067400 + 26.9898300 43.3150800 29.9508300 25.8607500 44.2468600 28.2818900 + 25.3146900 44.2623000 26.9166800 26.1457000 44.1478800 26.1835600 + 24.5610600 43.4571400 26.7683100 25.8318100 45.5770000 28.8990900 + 26.7790500 45.7855200 29.3758800 25.5529200 46.4936700 27.6912900 + 25.0740700 47.4554100 27.9664300 26.5160600 46.7085000 27.1772200 + 24.6794500 45.6419500 26.7696000 24.6769400 46.0003300 25.7201400 + 23.6347800 45.6167500 27.1526500 24.7478400 45.7590400 29.9566800 + 24.5038000 46.8954100 30.3598100 24.0626500 44.6998500 30.4168700 + 24.3256700 43.7773800 30.1490200 22.9076000 44.8246300 31.2915300 + 22.3526600 45.6988700 30.9775100 21.9650300 43.6037800 31.1258500 + 21.1609100 43.6085400 31.8917400 21.4636600 43.7061200 30.1379200 + 22.6517900 42.2444000 31.1444800 23.6205300 41.7470000 31.9781200 + 24.0360900 42.2687600 32.8280300 24.0003200 40.4887700 31.5707400 + 24.6250000 39.8941300 32.0318300 23.2702000 40.1535100 30.4555700 + 22.4006200 41.2256800 30.1637700 21.5198600 41.1701500 29.0840000 + 20.8279900 41.9662700 28.8548000 21.5253900 40.0113000 28.2970900 + 20.8378400 39.9282600 27.4673000 23.2908200 39.0220900 29.6599700 + 23.9641700 38.2028200 29.8496000 22.4031800 38.9563400 28.5803800 + 22.3981500 38.0683900 27.9704000 23.2280400 45.0451500 32.7696800 + 24.3053200 44.7434700 33.2778000 22.2522200 45.5907500 33.5263100 + 21.3704400 45.8122300 33.1188200 22.4182200 45.8618300 34.9409100 + 23.4730100 45.8494300 35.1907500 21.8476600 47.2651900 35.2871600 + 22.2449400 47.9913700 34.5445100 20.7421500 47.2817500 35.2251800 + 22.3232400 47.7421100 36.6562700 23.4706300 48.1525200 36.8309300 + 21.4409700 47.6950000 37.6766500 21.7444800 48.0360400 38.5579400 + 20.5537600 47.2333800 37.5830900 21.7368800 44.7719100 35.7588300 + 20.5485800 44.8651300 36.0713600 22.4770500 43.7074900 36.1179200 + 23.3968300 43.5902900 35.7479700 22.0090100 42.6665000 37.0212500 + 21.0213900 42.8912200 37.4001000 21.9503400 41.2712500 36.3349500 + 22.8386400 41.1423000 35.6792400 22.0064600 40.4811800 37.1187700 + 20.6711000 40.9365900 35.5311600 19.7886900 41.0954000 36.1968800 + 20.4759300 41.7673400 34.2565500 21.3579700 41.6526500 33.5927000 + 20.3316900 42.8385500 34.4854900 19.5825300 41.4082400 33.7009800 + 20.6984600 39.4507700 35.1447300 20.7502500 38.8065100 36.0481000 + 21.5784300 39.2316100 34.5023100 19.7809000 39.1809500 34.5793800 + 22.9477200 42.5688600 38.2286400 23.9491400 41.8518000 38.1659600 + 22.7084300 43.2168500 39.3706900 21.9217400 44.4473600 39.4605800 + 21.9210700 45.0279600 38.5137700 20.8790200 44.1794500 39.7387800 + 23.5194700 43.0076600 40.5697900 24.5549100 43.1295700 40.2907100 + 23.0291500 44.1029200 41.5301700 22.1358300 43.7530100 42.0968700 + 23.8180100 44.4142900 42.2432000 22.6008100 45.2258100 40.5852600 + 23.4987100 45.7442400 40.1811500 21.9297800 45.9660600 41.0613700 + 23.3812600 41.6220400 41.1798100 24.2383300 41.2312400 41.9724600 + 22.3426700 40.8476700 40.8166400 21.5883600 41.2213200 40.2613600 + 22.2175400 39.4524400 41.1724800 22.4311400 39.3456300 42.2270100 + 20.7886200 38.9614000 40.9095200 20.5278200 39.0516900 39.8324600 + 20.0551700 39.5689500 41.4799900 20.6598100 37.9010700 41.2155700 + 23.2194600 38.5863900 40.4221600 23.7991000 37.6663500 40.9943800 + 23.5126300 38.8966900 39.1385900 23.0379900 39.6339800 38.6677600 + 24.5763400 38.2516000 38.3850400 24.4169400 37.1829700 38.4434900 + 24.5488800 38.6686900 36.8948500 23.5469700 38.4736700 36.4608100 + 24.7999100 39.7400200 36.7689000 25.5517800 37.8326200 36.1172100 + 25.3349800 36.5971900 36.0343800 26.5640100 38.4123600 35.6551900 + 25.9317000 38.5383600 39.0299700 26.7403700 37.6462900 39.2569300 + 26.1835100 39.7902200 39.4602300 25.5468500 40.5174300 39.2084300 + 27.3642600 40.1304000 40.2412100 28.2239400 39.8520400 39.6481300 + 27.4230300 41.6507700 40.5355200 26.5582600 41.9237200 41.1795700 + 28.3523800 41.8773600 41.1006200 27.3913500 42.5546400 39.2820500 + 26.4264900 42.3791700 38.7452700 27.4303500 44.0361100 39.6881900 + 28.3818900 44.2705200 40.2080300 26.5831400 44.2762400 40.3645300 + 27.3496600 44.6794800 38.7853800 28.5283800 42.2478200 38.2943700 + 28.4243300 41.2209600 37.8797500 29.5166800 42.3417000 38.7870400 + 28.4861200 42.9540900 37.4371900 27.4851400 39.3468400 41.5570300 + 28.5833100 38.9972500 41.9985300 26.3473800 39.0125700 42.2008500 + 25.4735900 39.3516200 41.8474000 26.2761100 38.1244800 43.3443200 + 27.0460800 38.4287000 44.0387200 24.9112500 38.2656000 44.0469800 + 24.0869200 37.9044600 43.3967800 24.7130300 39.3341900 44.2789400 + 24.8853300 37.6861300 44.9929000 26.5525800 36.6568200 42.9963600 + 27.3319100 35.9999300 43.6855500 25.9525200 36.1180400 41.9130100 + 25.2738600 36.6745900 41.4150300 26.2062200 34.8040000 41.3241400 + 25.9887500 34.0455400 42.0600300 25.2678100 34.6094000 40.1029300 + 24.2156600 34.6102500 40.4643700 25.3695400 35.4855600 39.4271300 + 25.4475000 33.3662600 39.2385000 25.9032700 33.2995900 37.9523400 + 26.2033500 34.1626700 37.3686900 25.7902300 32.0128400 37.4666300 + 25.6961300 31.8379800 36.5055000 25.2444400 31.2230200 38.4510600 + 25.0374900 32.0347500 39.5898700 24.4965600 31.5105200 40.7578800 + 24.2889800 32.1370700 41.6035500 24.1660400 30.1479700 40.7807800 + 23.6840200 29.7253100 41.6521300 24.9030200 29.8752100 38.4645000 + 25.0006400 29.2553500 37.5863100 24.3638200 29.3441900 39.6480000 + 24.0209100 28.3219500 39.6657700 27.6610100 34.6164500 40.9084200 + 28.3464800 33.6955600 41.3556300 28.1891400 35.5378100 40.0839600 + 27.5812900 36.2494000 39.6994300 29.5690400 35.6211000 39.6604100 + 29.7910500 34.7084400 39.1267600 29.7509200 36.8310700 38.7057400 + 28.9936700 36.7683800 37.8890700 29.5779400 37.7901200 39.2378600 + 31.1099800 36.8461500 38.0626300 31.3731300 36.0482100 36.9387100 + 30.5844000 35.4382900 36.5187400 32.6357700 36.0658600 36.3337000 + 32.8124700 35.4690600 35.4489400 33.6481400 36.8823500 36.8546200 + 34.6131600 36.9109300 36.3727200 32.1289500 37.6662400 38.5735700 + 31.9164800 38.2981200 39.4215100 33.3944000 37.6855800 37.9739700 + 34.1629900 38.3396300 38.3528400 30.5173700 35.6881400 40.8508400 + 31.5178200 34.9747600 40.9029600 30.2135800 36.4998200 41.8907500 + 29.4233600 37.1168000 41.8294900 30.9332700 36.4341700 43.1533200 + 31.9786500 36.5906900 42.9318300 30.4890500 37.5119200 44.1813900 + 30.7151800 38.5145200 43.7575000 29.3835100 37.4570000 44.3006400 + 31.1617000 37.3428100 45.5615900 30.8128200 36.3706500 45.9845200 + 32.2636600 37.2824000 45.4210000 30.8041800 38.4287900 46.5855700 + 31.4094800 39.3416600 46.3937400 29.7340500 38.7103200 46.4328300 + 30.9501400 37.9560700 48.0407900 30.7884600 38.7995500 48.7455700 + 30.2001200 37.1604300 48.2511600 32.2969800 37.3834700 48.2811600 + 32.4521100 36.5780600 47.6375000 32.3812800 37.0406800 49.2592700 + 33.0297400 38.0966300 48.1023700 30.8587700 35.0652400 43.8130500 + 31.8984500 34.4715000 44.0731200 29.6498600 34.5417700 44.1027300 + 28.8214100 35.0511200 43.8378000 29.3905800 33.2462500 44.7175700 + 29.7248000 33.2898100 45.7432500 27.8542000 32.9763500 44.7058600 + 27.3913000 33.6158700 45.4882000 27.4497000 33.3130700 43.7251300 + 27.4192700 31.5090600 44.9093000 27.6023100 30.9510500 43.9622000 + 28.0661400 31.0471300 45.6892800 25.9553400 31.2683500 45.3279000 + 25.7498100 30.1732300 45.2954900 25.7918200 31.6324000 46.3668700 + 25.0130100 32.0116000 44.4229100 25.2427900 32.9153500 44.0910200 + 23.7177100 31.6702100 44.2909500 22.8359300 32.5353600 43.8038700 + 23.0493100 33.4268300 43.4450100 21.8761800 32.1711600 43.6761400 + 23.2807000 30.4614100 44.6203300 22.3330100 30.2103900 44.2899400 + 23.9127400 29.7110200 44.6351600 30.1714400 32.1035300 44.0831300 + 30.8686000 31.3545700 44.7656100 30.1098800 31.9787300 42.7503700 + 29.5058700 32.5860400 42.2201900 30.7320700 30.8839200 42.0413600 + 30.6370300 29.9863500 42.6413300 30.0240600 30.6580000 40.6934100 + 30.0350300 31.5867700 40.0882300 30.4966100 29.8321400 40.1218500 + 28.5892200 30.2497800 41.0028200 28.3118300 29.6001100 42.0131300 + 27.6472300 30.6481500 40.1300200 27.8645000 31.1924500 39.3242500 + 26.6984800 30.3866700 40.3065300 32.2210400 31.0641000 41.8184000 + 32.9567300 30.0816000 41.7933800 32.7323200 32.3019300 41.6515400 + 32.1303900 33.1024000 41.6711800 34.1571400 32.5058900 41.3674000 + 34.5367300 31.6075900 40.9072700 34.4741300 33.6179500 40.3618600 + 35.5663400 33.6014000 40.1452600 34.1327700 34.9147600 40.8250900 + 33.1532500 34.9284000 40.7505900 33.7382600 33.4211500 39.0330700 + 32.6416000 33.3317800 39.1805500 34.1046000 32.5110300 38.5182600 + 33.9196200 34.2853100 38.3576100 35.0369700 32.7269400 42.5918100 + 36.2578900 32.6494900 42.4769800 34.4621500 33.0302100 43.7768800 + 33.4633300 33.0635900 43.8356100 35.1701600 33.4543000 44.9848700 + 35.5611400 34.4373200 44.7679100 34.1738800 33.5444100 46.1702100 + 33.2731300 34.0869100 45.8329900 33.8454600 32.5123200 46.4336200 + 34.6828900 34.2499000 47.4435800 35.5897400 33.7024200 47.8101000 + 35.1200500 35.7025100 47.1874800 36.0461100 35.7016600 46.5703000 + 35.3890000 36.1802200 48.1545600 34.3427600 36.2847400 46.6608000 + 33.6246500 34.1566000 48.5559500 33.4729500 33.0852600 48.8185400 + 32.6500600 34.5657000 48.2287900 33.9822400 34.6807400 49.4673700 + 36.3501000 32.5950500 45.4362700 36.2029600 31.4000100 45.6792700 + 37.5536700 33.2106900 45.5353800 37.6210400 34.1947300 45.3739700 + 38.8083000 32.6443200 46.0165200 39.5469700 33.4054800 45.8097200 + 38.8003200 32.4933800 47.5594900 37.9056600 31.9372500 47.9010600 + 39.7213400 31.9804100 47.9092900 38.8013300 33.8868600 48.1722400 + 39.8468400 34.5733400 48.0222900 37.7707800 34.3068400 48.7561400 + 39.3750400 31.4546400 45.2295100 40.4592500 30.9401900 45.5005200 + 38.6885100 31.0440000 44.1511300 37.7954400 31.4505400 43.9771100 + 39.1310400 30.0434300 43.2105300 39.6582400 29.2744100 43.7568300 + 37.8909000 29.4316500 42.5065500 37.3690200 30.2442100 41.9510900 + 38.1988500 28.6634700 41.7650200 36.8816400 28.7907600 43.4814700 + 36.6017100 29.5384800 44.2538900 37.3561800 27.9319600 44.0054300 + 35.5937800 28.3373100 42.7751000 35.2711400 29.1658500 42.1042100 + 35.8226800 27.4536900 42.1383100 34.4295100 28.0158200 43.7260300 + 34.6994900 27.1856600 44.4128500 34.1519300 28.9139600 44.3183100 + 33.2514400 27.5977700 42.9390000 33.4861100 26.6592200 42.4953800 + 33.0655500 28.3000300 42.1872200 32.4008400 27.4670400 43.5087900 + 40.0849500 30.6665100 42.1854800 40.2012200 31.8939300 42.1038700 + 40.8263700 29.9163900 41.3847800 41.1344900 28.5036300 41.6054700 + 41.7222200 28.4064100 42.5436200 40.2123300 27.8852200 41.6681100 + 41.5642600 30.4797200 40.2666600 42.0281200 31.4026900 40.5640700 + 42.6092000 29.4104100 39.9295500 42.8751300 29.3998600 38.8528700 + 43.5268400 29.5953500 40.5266500 41.9689900 28.1003400 40.3903600 + 42.7181700 27.3209900 40.6247000 41.2889800 27.7288400 39.5925000 + 40.6662400 30.8139000 39.0946200 40.0003400 29.9291400 38.5607400 + 40.6586900 32.0925500 38.6793000 41.2631500 32.7649600 39.1146400 + 39.8935100 32.5808300 37.5518400 39.1801500 31.8248400 37.2653500 + 39.0889500 33.8456200 37.8423800 38.6592200 34.2314000 36.8871700 + 37.9164700 33.4691300 38.7607500 38.2770200 33.0078500 39.7027100 + 37.2478900 32.7431800 38.2578300 37.3202900 34.3739700 38.9960900 + 39.9415700 34.9606500 38.4772900 40.7568300 35.2718900 37.7943000 + 40.3856700 34.6250800 39.4354000 39.3165700 35.8537400 38.6793900 + 40.7876700 32.7929200 36.3486500 41.7665800 33.5393100 36.3767800 + 40.4565100 32.1087400 35.2432200 39.6987600 31.4453200 35.2756200 + 41.1155800 32.2397700 33.9631900 42.0901700 32.6822000 34.1041000 + 41.3091800 30.8993600 33.2549000 40.3091000 30.4671900 33.0125500 + 42.0913200 31.1276400 31.9375500 43.0834400 31.5792000 32.1475600 + 41.5386800 31.8002200 31.2479900 42.2442300 30.1691800 31.4026200 + 42.0393300 29.8919900 34.1807700 43.0730800 30.2561100 34.3701600 + 41.5175600 29.8380000 35.1632100 42.0832700 28.4705500 33.6101400 + 42.6221300 28.4455400 32.6429900 41.0507300 28.0929500 33.4415100 + 42.5996300 27.7826900 34.3126800 40.2954800 33.1784100 33.0990300 + 39.1502900 32.8946700 32.7412400 40.8782900 34.3381900 32.7590900 + 41.7956800 34.5447900 33.1102400 40.3540800 35.2624500 31.7756900 + 39.4087900 34.9001800 31.3924000 40.1427900 36.6588300 32.4061300 + 39.5789500 37.3122700 31.7106300 39.4908100 36.5055600 33.2915900 + 41.4193600 37.3983900 32.8484800 42.2059500 36.6589400 33.1054800 + 41.8030700 37.9815500 31.9802400 41.1663700 38.4981300 34.2759700 + 41.3374400 37.1880200 35.5232900 42.3487100 36.7299300 35.4810600 + 40.5952900 36.3768800 35.3643900 41.1845000 37.5941400 36.5458100 + 41.3251400 35.2778400 30.6119300 42.2531200 34.4738100 30.5735600 + 41.1611500 36.1656000 29.6153300 40.4274900 36.8517800 29.6500600 + 42.0475300 36.1827500 28.4537500 42.9285100 35.5898500 28.6338000 + 41.4797200 35.8453200 27.6011700 42.5422400 37.5554700 28.1552400 + 42.3464800 38.4765100 28.9367200 43.1867900 37.7403800 26.9839900 + 43.4158600 36.9437000 26.4264300 43.6239600 39.0372500 26.4738900 + 44.3426900 39.4419000 27.1717800 44.2954400 38.8387200 25.0823000 + 44.9295600 37.9244200 25.1544600 43.5248600 38.6266500 24.3107600 + 45.2328100 39.9730900 24.5944600 45.9962900 40.1698800 25.3827300 + 45.7849000 39.6191100 23.6947300 44.5850400 41.3199700 24.2378500 + 44.0931500 41.7448200 25.1405900 45.3525000 42.0475500 23.8823300 + 43.5740500 41.0919600 23.1544200 43.6977600 40.3583100 22.5034300 + 42.5041200 41.8790700 22.9679900 42.2746200 42.9722400 23.6814700 + 41.4719200 43.5073900 23.4630500 43.0356600 43.3904000 24.2304600 + 41.6236300 41.5504600 22.0274700 41.5139400 40.6132200 21.7281500 + 40.6766800 41.9419400 22.0802300 42.4557600 40.0191100 26.4010100 + 42.4864900 41.1015200 26.9831400 41.3773100 39.5642200 25.7333700 + 41.4567700 38.6905100 25.2635000 40.0545100 40.1521400 25.5820200 + 40.1185100 40.9065900 24.8076700 39.0732400 39.0210700 25.1364100 + 38.5240200 38.5808500 25.9931700 38.3101100 39.4527700 24.4606000 + 40.2361800 37.9480600 23.1522800 39.9632000 38.6739100 22.4858700 + 39.7596000 37.8755900 24.4383800 40.9149800 36.8057500 22.9104000 + 41.4098700 36.5953800 21.9612600 40.9180700 36.0030900 23.9589000 + 40.1661500 36.6690100 24.9154100 40.0012500 36.2362200 25.8902100 + 39.5063000 40.8291500 26.8341100 39.2855200 42.0360600 26.8902100 + 39.3090300 40.0237000 27.8910700 39.4965400 39.0484600 27.8322800 + 38.7322500 40.4109900 29.1642800 37.9735500 41.1611500 28.9840600 + 38.0866000 39.2197300 29.8729100 38.1040100 39.3353800 30.9828300 + 38.7084900 37.9894000 29.4965200 38.0076300 37.3115500 29.5750500 + 36.6227500 39.1439300 29.4292700 36.5556400 39.0545100 28.3259500 + 36.0765500 40.0638000 29.7279200 36.1046000 38.2772500 29.8898000 + 39.7263100 41.0563200 30.0976300 39.3416300 41.7866500 31.0034900 + 41.0469100 40.8436500 29.9376000 41.3961000 40.2102000 29.2431800 + 42.0151400 41.5182000 30.7848300 41.6723900 41.4234600 31.8044400 + 43.4311600 40.8875400 30.6976600 43.3503700 39.8313200 31.0309500 + 43.7539700 40.8739600 29.6328200 44.5054200 41.5857700 31.5342200 + 45.6275100 42.2191100 31.0800500 45.9233600 42.2508300 30.0396700 + 46.2756700 42.8503500 32.1205900 47.0679000 43.4161400 32.0541100 + 45.5521900 42.6564900 33.2707000 44.4250000 41.8715100 32.9463500 + 43.4833800 41.5391400 33.9190700 42.6174600 40.9389600 33.6942700 + 43.6897600 42.0027900 35.2260900 42.9761700 41.7420100 35.9937600 + 45.7599500 43.1082100 34.5653000 46.6249000 43.7007300 34.8156700 + 44.8147300 42.7771600 35.5466100 44.9714200 43.1112500 36.5606500 + 42.1023800 43.0122200 30.5212300 42.0131100 43.8066700 31.4535800 + 42.2945700 43.4376000 29.2613300 42.3262800 42.7903000 28.4973700 + 42.5944100 44.8227000 28.9426900 43.3741400 45.1559900 29.6143400 + 43.1327700 44.9123500 27.5004800 42.4002800 44.4298200 26.8145900 + 43.2462100 45.9762600 27.1903300 44.5193000 44.2314600 27.3583800 + 45.2861600 44.8260500 27.8940700 44.5028600 43.2115500 27.7939700 + 44.9799100 44.0761800 25.9163700 44.1601000 44.2831700 24.9833700 + 46.1465900 43.6453500 25.7298100 41.4285800 45.7798700 29.1560300 + 41.6190600 46.9403500 29.5142200 40.1771600 45.3076000 28.9988500 + 40.0138800 44.3712500 28.6882900 38.9855200 46.0781500 29.3309800 + 39.1031300 47.0793900 28.9420000 37.7210000 45.4485200 28.7026400 + 36.8145600 46.0344000 28.9756900 37.8281300 45.4755200 27.5943700 + 37.5518800 44.0867300 29.0996000 36.9127200 43.7068000 28.4604000 + 38.7626200 46.2085900 30.8290200 38.2864500 47.2264800 31.3358600 + 39.1150600 45.1643700 31.5996100 39.4129700 44.3176900 31.1566300 + 39.0438300 45.1835500 33.0439100 38.1514300 45.7257900 33.3148200 + 38.8750300 43.7724600 33.6139100 39.6948400 43.1265700 33.2207100 + 38.9288500 43.7684500 35.1541500 38.0803900 44.3427800 35.5747200 + 39.8818000 44.1843400 35.5248400 38.8694400 42.7269500 35.5372600 + 37.5215500 43.1827200 33.1339900 36.6887300 43.8322400 33.4770100 + 37.5007900 43.1879100 32.0187500 37.2667800 41.7409300 33.5982100 + 37.1312300 41.6813700 34.6969100 38.1218700 41.0919900 33.3075500 + 36.3505600 41.3390300 33.1134500 40.2151000 45.9792900 33.6310700 + 40.0132500 47.0376500 34.2297300 41.4749400 45.5192500 33.5026400 + 41.6374800 44.7323200 32.8887000 42.6617800 46.2584300 33.9441800 + 43.5126000 45.7817000 33.4781400 42.5535700 47.2889800 33.6349700 + 42.9250800 46.2584900 35.4339100 43.7624400 47.0019700 35.9502000 + 42.2212800 45.4066300 36.1913800 41.5935400 44.7693900 35.7476000 + 42.4165900 45.2441500 37.6153500 43.4640100 45.4091600 37.8093000 + 41.5738900 46.2126100 38.5163600 41.8799000 46.0329200 39.5724900 + 41.8664200 47.2555800 38.2645600 40.0235300 46.1101300 38.4694100 + 39.7247300 45.0416600 38.5522000 39.6209000 46.6438900 39.3599200 + 39.3917300 46.7388400 37.2204400 39.6489900 47.8199300 37.1400300 + 39.7826200 46.1973800 36.3391000 37.8994700 46.5636600 37.2556800 + 37.4909300 46.0354800 37.9879700 37.0896700 46.9755200 36.2647500 + 35.7834100 46.7160600 36.3278500 35.4152400 46.1797900 37.0738000 + 35.2094800 46.9851700 35.5630500 37.5464000 47.6144000 35.1920000 + 38.5352500 47.5797900 34.9879500 36.9506400 47.8013200 34.4211100 + 42.1215100 43.7972800 37.9505000 41.2076800 43.2363000 37.3476800 + 42.8227100 43.1167400 38.8505600 43.9808400 43.6152500 39.5966500 + 44.8628400 43.6296200 38.9169100 43.7927900 44.6281300 40.0129100 + 42.4465500 41.7672600 39.2443700 42.2569200 41.1573800 38.3705900 + 43.6579700 41.3044900 40.0722700 43.4063600 40.5281400 40.8225100 + 44.4327900 40.8991400 39.3831300 44.1829700 42.5916600 40.7116900 + 45.2374600 42.5050200 41.0385200 43.5429600 42.8590300 41.5822800 + 41.1832500 41.7861400 40.0862600 40.8151500 42.8211400 40.6437200 + 40.5010500 40.6390000 40.1975300 40.8026600 39.8181200 39.6986400 + 39.3181400 40.4868900 41.0088800 38.7492700 41.4014900 40.9709800 + 38.4293700 39.3461300 40.4564000 38.9966400 38.3893800 40.5192400 + 37.5214800 39.2482600 41.0868400 37.9827100 39.5304300 38.9883500 + 38.8966700 39.6026400 38.3481400 37.1909200 38.3049500 38.5100100 + 37.8157100 37.3906900 38.5682600 36.8767000 38.4407900 37.4521400 + 36.2838500 38.1573200 39.1302800 37.1540100 40.8064700 38.7712500 + 37.7538900 41.7126100 38.9970100 36.2472300 40.7972300 39.4106000 + 36.8323800 40.8679500 37.7083400 39.7192400 40.1665600 42.4501300 + 40.4259600 39.1752000 42.6512700 39.3395900 40.9246200 43.4895700 + 38.8383200 42.2973900 43.3714300 39.2463400 42.8238000 42.4811600 + 37.7281200 42.2658100 43.3236800 39.7822400 40.6376000 44.8525800 + 40.8599900 40.5486600 44.8464200 39.2988400 41.8483200 45.6673700 + 38.2529100 41.6952300 46.0176900 39.9522200 42.0487500 46.5412900 + 39.3109800 42.9885800 44.6501900 40.3540800 43.3505500 44.5053600 + 38.6615300 43.8373600 44.9429700 39.2017700 39.3492200 45.3960700 + 38.0235600 39.0695200 45.1653000 40.0182900 38.5435400 46.1003400 + 40.9549900 38.8166300 46.2947000 39.6289900 37.2111200 46.5455100 + 40.3994000 36.8366700 47.2027100 38.6621500 37.2568300 47.0278000 + 39.5073700 36.2485200 45.3975500 38.3929200 35.8958700 45.0127700 + 40.6545400 35.8679200 44.7934200 41.5235200 36.1816600 45.1632200 + 40.7712900 35.0206900 43.6187700 40.4346600 34.0234300 43.8664900 + 39.9742200 35.5809000 42.4046100 39.7451800 36.6480100 42.6169800 + 40.5707800 35.5681100 41.4658800 38.6780100 34.7908300 42.1478900 + 38.9131200 33.9620700 41.4459100 38.3419200 34.2994700 43.0887300 + 37.5129700 35.6136700 41.5981200 37.8177800 36.1911600 40.6970000 + 36.6696600 34.9381900 41.3509600 37.1009900 36.5400000 42.6937800 + 37.6239100 36.4938100 43.5577900 36.0815700 37.3997300 42.6203300 + 35.1810000 37.3370300 41.6466000 35.0758900 36.4343500 41.2027500 + 34.3737300 37.9025500 41.6827400 35.9657000 38.3534600 43.5409000 + 35.3172500 39.0797600 43.3930700 36.7434400 38.4735800 44.1793900 + 42.2357400 34.9160000 43.2258400 43.0167400 35.8441000 43.4315100 + 42.6472100 33.7958700 42.5907600 42.0099400 33.0314700 42.4703000 + 43.8970300 33.7706400 41.8394900 44.6051100 34.4692400 42.2652800 + 44.5715900 32.3728900 41.7492700 43.8356800 31.6458100 41.3565800 + 45.4034300 32.4401400 41.0117300 45.1293600 31.8128900 43.0686600 + 45.9338500 32.4874700 43.4383200 44.3182600 31.8174700 43.8349000 + 45.6736500 30.3687700 42.9389100 46.0934600 30.0775600 43.9284200 + 44.8156400 29.6910900 42.7239200 46.7388600 30.1925100 41.8439500 + 46.2832400 30.3373600 40.8388600 47.5526500 30.9389600 41.9775400 + 47.3510800 28.8465400 41.8621100 46.6393500 28.0763900 41.8435400 + 47.9717700 28.7033900 42.6775900 47.8989400 28.7215700 40.9713600 + 43.5717600 34.2210600 40.4238300 42.7391000 33.6193800 39.7573200 + 44.1913000 35.3054900 39.9277600 44.9244700 35.7600500 40.4239800 + 43.8100900 35.8970000 38.6558900 42.8457400 35.5221900 38.3357500 + 43.7220100 37.4381400 38.7776800 44.6425800 37.8448200 39.2429500 + 43.6070400 37.8932400 37.7691200 42.5018100 37.8661900 39.5904900 + 41.4978800 38.2995200 39.0241100 42.5645700 37.8034600 40.9399900 + 41.7791900 38.1387800 41.4654000 43.3468200 37.3964500 41.4020500 + 44.8017000 35.4989000 37.5691500 45.9858400 35.8222100 37.6392600 + 44.3366300 34.7413800 36.5564800 43.3686800 34.4667100 36.5077900 + 45.1671100 34.1366400 35.5275400 46.2005700 34.4151200 35.6735300 + 45.0450700 32.6091600 35.5800700 43.9721700 32.3401200 35.4302000 + 45.8736500 31.9557200 34.4529300 46.9398400 32.2569400 34.5231500 + 45.4854500 32.2486300 33.4546000 45.8149400 30.8493000 34.5089900 + 45.4619600 32.0734700 36.9759600 46.5424500 32.2730200 37.1341200 + 44.8988500 32.6211600 37.7645400 45.1744100 30.5829700 37.1681300 + 45.7578800 29.9595300 36.4585500 44.0940900 30.3813000 36.9947100 + 45.4291700 30.2616400 38.1991400 44.7417500 34.6687500 34.1635700 + 43.5567600 34.6999000 33.8373000 45.7021900 35.1232900 33.3304800 + 46.6686600 35.0742200 33.5958700 45.4264000 35.7324000 32.0336900 + 44.3649600 35.9101800 31.9258500 46.1703500 37.0537400 31.8169400 + 47.2535400 36.8493800 31.6322800 45.6090800 37.7694000 30.5659900 + 44.5140100 37.9261600 30.6612600 45.8016000 37.1888800 29.6402900 + 46.0911400 38.7645300 30.4531900 46.1479300 37.9779600 33.0544500 + 46.7340300 37.5010100 33.8703700 46.6842900 38.9179700 32.7833300 + 44.7591200 38.3470300 33.5790200 44.2182500 37.4567800 33.9582800 + 44.1489800 38.8184800 32.7821400 44.8471500 39.0765600 34.4114900 + 45.8690900 34.8125100 30.9138600 47.0582700 34.5446700 30.7702100 + 44.9445500 34.3262500 30.0647300 43.9633200 34.4599300 30.2493200 + 45.2549300 33.6102600 28.8388500 46.0760600 32.9360000 29.0295200 + 44.0205000 32.7925500 28.3808900 43.5727700 32.2970200 29.2709300 + 43.2476100 33.4882300 27.9884100 44.3005600 31.7093000 27.3235100 + 45.0192800 32.1152500 26.5703600 44.9208000 30.4584300 27.9627100 + 44.2405400 30.0318600 28.7288500 45.8917800 30.6990200 28.4436500 + 45.1070000 29.6886800 27.1844300 43.0067200 31.3476800 26.5779300 + 42.2339700 30.9928000 27.2904400 43.2006300 30.5495200 25.8309100 + 42.6074000 32.2397300 26.0492900 45.6929100 34.5825200 27.7420700 + 44.8851700 35.1651500 27.0174600 47.0101300 34.8257500 27.6304000 + 47.6656500 34.3510300 28.2261100 47.5582900 35.8542700 26.7616300 + 46.8021700 36.6050700 26.5756600 48.7706800 36.5557100 27.4285200 + 48.4642100 36.8207400 28.4642300 49.6309200 35.8506700 27.4948500 + 49.1608900 37.7498400 26.7417200 49.9922700 38.0588900 27.1457200 + 48.0243700 35.3130300 25.4268900 48.7120100 34.3025000 25.3299700 + 47.7088000 36.0240300 24.3331100 47.0947200 36.8094700 24.3716400 + 48.2782800 35.7770400 23.0173500 48.4435400 34.7173600 22.8826500 + 47.3180700 36.2892600 21.9114700 47.8217100 36.3398700 20.9208400 + 46.4818500 35.5588100 21.8274400 46.7387800 37.5521200 22.2543300 + 47.4076400 38.2534400 22.0956000 49.6265800 36.4622400 22.8523200 + 50.2988800 36.3250400 21.8314500 50.0451600 37.2311900 23.8703000 + 49.5001000 37.2605000 24.7102000 51.2322700 38.0506600 23.8928000 + 51.7858400 37.9259800 22.9730800 50.7695100 39.5314800 24.0693000 + 49.7718400 39.5266900 24.5665700 51.4436400 40.0912100 24.7517600 + 50.6681000 40.3442700 22.7515800 50.2443700 41.3466200 22.9817200 + 51.6799700 40.4867000 22.3229800 49.7484700 39.6941300 21.7161000 + 48.5554100 39.4809900 21.9305900 50.3112200 39.3488500 20.5357200 + 49.7221100 38.8748800 19.8863500 51.2819200 39.4848200 20.3828800 + 52.1389000 37.5859000 25.0404100 51.8761200 36.5679200 25.6853000 + 53.2275400 38.2868800 25.3512300 54.0342100 39.0051300 24.3589800 + 54.0042300 38.5114300 23.3621200 53.6625300 40.0513100 24.2846100 + 53.9248000 38.1468200 26.6283800 54.1784900 37.1062000 26.7681900 + 55.1631100 39.0476700 26.4457100 54.9246200 40.1020100 26.7186300 + 56.0266100 38.7018000 27.0490300 55.4430200 38.9879000 24.9438100 + 55.9405900 38.0252600 24.6914400 56.0656900 39.8342400 24.5897000 + 53.1090700 38.5895300 27.8409400 51.8894900 38.7378900 27.7664100 + 53.7928100 38.8202100 28.9784800 54.7862000 38.7651600 28.9845500 + 53.1888700 39.3474600 30.1917300 52.1284900 39.4887300 30.0466500 + 53.4287700 38.6786900 31.0035500 53.7617300 40.6860300 30.5333000 + 54.8225000 41.0571600 30.0373600 53.0554700 41.4481300 31.3842800 + 52.2297800 41.0882200 31.8229100 53.4534500 42.7994200 31.7734600 + 54.5233800 42.9054400 31.6604200 52.7629400 43.9181600 30.9796500 + 52.9269100 44.9020200 31.4838200 51.3646400 43.7055000 30.8278000 + 51.2776000 43.0639600 30.1146100 53.3458400 44.0101300 29.5633100 + 53.1830700 43.0669700 29.0014700 54.4385700 44.2012800 29.6114500 + 52.8664200 44.8428100 29.0049200 53.1903100 43.0105100 33.2504600 + 54.1013700 42.9336400 34.0644800 51.9222100 43.2870900 33.6005500 + 51.2637100 43.3672300 32.8539800 51.3922300 43.6154300 34.9089500 + 51.8044300 44.5761700 35.1922300 49.8562800 43.7171600 34.7072800 + 49.6617300 44.2806200 33.7683800 49.4131900 42.7057400 34.6014200 + 49.1261500 44.4412500 35.8104200 49.0936100 43.9691800 36.9734400 + 48.4816200 45.4726100 35.4944800 51.7236400 42.6189300 36.0244000 + 51.4714300 41.4192300 35.9029800 52.2691800 43.1218200 37.1496200 + 52.5489100 44.0915300 37.2088200 52.6947000 42.3929300 38.3272700 + 53.4839800 41.7151000 38.0319600 53.2151400 43.4015400 39.3957600 + 52.3696800 43.9650500 39.8413900 53.7487300 42.8550700 40.2001400 + 54.1635900 44.4442600 38.8251000 55.3590000 44.4269900 39.2072400 + 53.6734200 45.2998600 38.0405000 51.5994700 41.5788300 39.0152200 + 51.8566400 40.6118900 39.7314500 50.3280000 41.9924900 38.8601600 + 50.1207000 42.7190700 38.1932000 49.2456000 41.5604000 39.7183600 + 49.6317100 41.4027900 40.7165200 48.1618600 42.6701200 39.7570900 + 47.7402800 42.7646700 38.7302000 47.3418400 42.3603900 40.4380300 + 48.7041000 44.0495900 40.2013700 49.0216800 43.9769200 41.2642700 + 49.6136800 44.3039900 39.6081800 47.7145800 45.2127400 40.0420100 + 46.7637900 44.9819300 40.5718700 48.1643700 46.1503000 40.4404300 + 47.4659100 45.3815900 38.5773900 48.0918100 44.8932300 37.9172600 + 46.4412500 46.0324200 38.0169400 45.5939400 46.7683400 38.7282900 + 45.9229900 47.0326100 39.6201600 44.9974800 47.3386700 38.1744000 + 46.2675200 45.9843200 36.7052700 45.5312100 46.4838700 36.2536000 + 47.1079700 45.7147800 36.1698400 48.5849200 40.2593200 39.2862700 + 47.7433700 39.7205800 40.0089900 48.9107400 39.7443000 38.0854400 + 49.6437200 40.1590000 37.5457000 48.1949300 38.6341400 37.4782800 + 47.6540000 38.0998300 38.2467400 47.1856500 39.1046400 36.4322900 + 46.7167300 38.2159200 35.9500200 46.0631000 39.9015500 37.1221700 + 46.4451100 40.8883800 37.4598900 45.6795700 39.3524900 38.0035200 + 45.2297100 40.0757900 36.4113400 47.8673300 39.9727200 35.3551900 + 48.6445200 39.3981300 34.8099100 48.3445900 40.8702400 35.8027700 + 47.1174200 40.3280900 34.6165900 49.1278200 37.6034000 36.8569200 + 50.2517200 37.8825900 36.4458000 48.6790200 36.3327300 36.7679000 + 47.7776400 36.0867200 37.1337400 49.5044100 35.2563900 36.2215500 + 50.5402800 35.4746600 36.4420800 49.2179000 33.8703400 36.7878800 + 48.2119300 33.5192300 36.4633300 49.2536900 33.8896600 38.2058000 + 49.0809100 32.9904200 38.4870200 50.3074700 32.8780000 36.3492800 + 51.3093200 33.2541600 36.6493600 50.3015500 32.7301000 35.2497400 + 50.1563200 31.8892200 36.8264900 49.3524300 35.1583900 34.7187600 + 48.3542000 34.6582200 34.2020400 50.3601700 35.6259000 33.9651100 + 51.1135200 36.1064200 34.4057700 50.3441500 35.6537400 32.5138400 + 49.3501600 35.9304600 32.1839000 51.3417400 36.7166000 32.0064800 + 52.3582200 36.4799400 32.3909500 51.3793500 36.6938300 30.8949800 + 50.9849800 38.1299800 32.4211100 51.3818700 38.8507000 33.5123500 + 51.9841400 38.4714600 34.3276800 50.8814500 40.1293600 33.4416200 + 50.9465200 40.7675600 34.1986800 50.1248400 40.2472800 32.2989000 + 50.1685100 39.0079100 31.6299200 49.5190900 38.8226800 30.4142800 + 49.5591600 37.8827800 29.8941200 48.8465400 39.9153000 29.8518600 + 48.3529600 39.8082900 28.8945900 49.4287400 41.3195100 31.7616900 + 49.3797900 42.2718200 32.2623600 48.8082600 41.1498400 30.5140900 + 48.2886400 41.9819000 30.0596100 50.6770700 34.3213100 31.8471800 + 51.8184200 34.0413600 31.4650700 49.6575600 33.4735800 31.6345700 + 48.7253600 33.7428200 31.8809200 49.7702600 32.2306500 30.8934200 + 50.7867300 31.8747800 30.9650900 48.9040100 31.1157000 31.4530400 + 49.0627500 30.1771900 30.8690100 49.3566300 30.8610900 32.9026800 + 49.1197400 31.7308300 33.5503300 50.4501900 30.6708400 32.9433400 + 48.8407200 29.9705200 33.3118100 47.4162700 31.4862100 31.3912300 + 47.0723800 31.5985400 30.3435200 47.2192600 32.4292000 31.9392600 + 46.8070200 30.6977000 31.8679800 49.4884000 32.4988600 29.4221600 + 49.1913300 33.6189300 29.0215500 49.6896100 31.5132000 28.5370500 + 50.0680200 30.6188400 28.8078900 49.4195700 31.6627600 27.1178500 + 48.8770900 32.5744500 26.9187700 50.7321300 31.6263300 26.2862300 + 51.3326200 30.7451000 26.6015100 50.4699700 31.4854200 25.2111000 + 51.5819600 32.9134200 26.3691200 51.5543000 33.3891700 25.3590300 + 51.0983200 33.6529200 27.0432900 53.0589700 32.6714200 26.7506400 + 53.2769300 31.5802000 26.7176100 53.6973400 33.1530200 25.9739300 + 53.4738100 33.2406200 28.1130400 54.5230600 32.9702100 28.3608300 + 53.3667600 34.3492800 28.1050100 52.5881100 32.7048400 29.1438500 + 52.6106200 33.2338000 30.0458200 52.7543400 31.6748300 29.3520400 + 51.6187300 32.7496600 28.7693000 48.5079200 30.5439500 26.6654700 + 47.5049100 30.7558700 25.9913400 48.8507300 29.2985200 27.0250400 + 49.6785500 29.1598100 27.5886900 48.1107600 28.1161400 26.6247500 + 47.4832400 28.3679800 25.7807100 49.0721500 26.9939900 26.1524600 + 48.5021300 26.1182700 25.7731700 49.6869400 27.3847600 25.3104800 + 49.9456100 26.5604300 27.1930000 50.4857200 27.3251400 27.4711800 + 47.1732200 27.6012800 27.7088600 47.2088100 28.0077700 28.8694500 + 46.2761400 26.6669800 27.3310400 46.2593300 26.3496800 26.3899900 + 45.2266700 26.1080300 28.1732300 44.6347400 26.9243200 28.5651500 + 44.3298800 25.1904500 27.3382800 44.9381500 24.3583700 26.9111900 + 43.1863800 24.6000400 28.1868200 42.5991100 25.4223600 28.6433900 + 43.5582000 23.9416000 28.9988500 42.4848600 24.0293500 27.5418300 + 43.7216600 26.0033800 26.1769800 44.4897000 26.3773200 25.4715100 + 43.1498300 26.8696900 26.5751600 43.0103900 25.3698900 25.6031600 + 45.7827100 25.3494200 29.3699500 45.4487600 25.6068000 30.5230500 + 46.6803500 24.3865000 29.1245800 46.8897900 24.1013400 28.1889200 + 47.2418800 23.5135900 30.1346900 46.4414300 23.1984800 30.7918600 + 47.8117400 22.2672800 29.4209400 48.6545600 22.5373200 28.7539600 + 48.1387200 21.5014000 30.1523300 46.6858900 21.7012800 28.5864300 + 45.8069000 20.9907200 29.1384500 46.5792400 22.0773000 27.3862700 + 48.2657300 24.2261000 31.0202900 48.4524200 23.9001300 32.1900400 + 48.8963400 25.2944800 30.4980900 48.7678600 25.5103700 29.5329100 + 49.6965900 26.2443900 31.2519800 50.4519500 25.7086100 31.8086700 + 50.3526900 27.1867600 30.2268200 50.8919300 26.5473900 29.4890100 + 49.5320700 27.7019500 29.6779800 51.3640200 28.2414700 30.7331700 + 50.9367600 28.8166000 31.5764000 52.3027000 27.7570100 31.0686000 + 51.6937400 29.2273200 29.6211300 51.1448600 29.0741200 28.4962100 + 52.4349100 30.2120200 29.8763800 48.8502000 27.0388200 32.2455100 + 49.2491700 27.2766700 33.3846400 47.6115900 27.4180200 31.8598600 + 47.3178500 27.2872900 30.9114500 46.6242800 27.9864000 32.7580600 + 47.0716900 28.8426900 33.2383500 45.3845000 28.4554500 31.9735600 + 44.7708800 27.5951200 31.6408500 45.6938200 29.0242500 31.0702900 + 44.7533600 29.1163200 32.6047600 46.2094800 27.0292700 33.8689800 + 46.1518300 27.4067800 35.0363900 45.9677800 25.7444500 33.5381500 + 45.9685500 25.4909100 32.5693800 45.7226100 24.6672200 34.4955200 + 44.8790600 24.9595300 35.1047700 45.3528900 23.3607600 33.7852400 + 46.1699400 23.0936600 33.0760800 45.2013800 22.2055300 34.8036500 + 44.8977100 21.2701700 34.2899300 44.4313000 22.4518200 35.5624500 + 46.1559300 21.9909100 35.3268700 44.0483600 23.5549000 32.9666400 + 43.2085700 23.7460800 33.6708500 44.1419200 24.4517100 32.3170800 + 43.6909600 22.3646300 32.0661900 43.4658500 21.4601200 32.6696400 + 44.5313900 22.1234900 31.3789400 42.7940600 22.5995100 31.4540800 + 46.8953100 24.4813000 35.4634700 46.7108200 24.3862800 36.6751200 + 48.1500400 24.4975800 34.9727200 48.2973000 24.4853700 33.9795500 + 49.3428500 24.4960600 35.8040300 49.2999100 23.6191900 36.4366200 + 50.5915800 24.4073400 34.9053800 50.6765500 25.3058500 34.2583700 + 50.5185800 23.5137100 34.2485000 51.5139700 24.3181400 35.5178300 + 49.4557800 25.7059600 36.7400900 49.8212400 25.5812100 37.9075200 + 49.1016000 26.9161700 36.2587900 48.8921200 27.0096100 35.2815100 + 49.0196500 28.1229100 37.0621200 49.9643500 28.2433600 37.5749500 + 48.7796800 29.3327100 36.1417500 47.8402800 29.2066000 35.5631900 + 49.6187200 29.4190800 35.4180600 48.7116700 30.2743800 36.7232200 + 47.9329200 28.0739300 38.1375100 48.0824800 28.6282700 39.2326700 + 46.8115000 27.3748900 37.8641000 46.6880700 27.0094000 36.9377400 + 45.7959300 27.0240400 38.8458200 45.4768300 27.9306400 39.3378800 + 44.5562800 26.3423800 38.2187500 44.8432400 25.3899500 37.7279900 + 43.8431600 26.0736100 39.0282400 43.7136300 27.4125900 37.0181700 + 44.6986200 27.4359700 36.1265300 46.3692700 26.1067900 39.9096300 + 46.3763200 26.4567700 41.0921700 46.9182700 24.9531000 39.4891100 + 46.8619500 24.7027800 38.5153300 47.6547400 24.0301400 40.3390100 + 48.3032200 23.4548700 39.6948200 48.1921500 24.5909600 41.0891300 + 46.7530000 23.0551000 41.0335200 45.7689900 22.5877400 40.4688500 + 47.0722800 22.7305200 42.2998300 47.8808300 23.0824900 42.7515100 + 46.2554300 21.8743200 43.1308200 45.8826900 21.0600100 42.5200700 + 47.1215500 21.2955500 44.2783500 48.1303100 21.0394300 43.8939000 + 47.2239900 22.0146100 45.1136300 46.5166100 20.0097900 44.8176100 + 45.3084900 20.0195000 45.1587500 47.2687500 19.0049200 44.8768400 + 45.0534900 22.6663400 43.6509600 45.1440600 23.4597600 44.5905700 + 43.9054600 22.5191300 42.9652700 43.8813700 21.9114200 42.1749100 + 42.6532700 23.1426800 43.3271100 42.6641300 23.3164800 44.3916900 + 42.3670900 24.4698800 42.6063500 41.3285500 24.7997300 42.8468600 + 43.3289900 25.5561700 43.1273200 44.3735500 25.3103800 42.8376700 + 43.2833500 25.6149900 44.2357300 43.0722900 26.5455500 42.7047000 + 42.4911600 24.3189300 41.0755600 41.8113700 23.5343400 40.6855700 + 43.5318000 24.0533100 40.7904200 42.2174400 25.2665800 40.5738400 + 41.5425300 22.1576600 42.9901300 41.6476900 21.4403500 41.9920400 + 40.4334100 22.0705700 43.7252200 40.3924900 22.3527100 45.1635900 + 41.3774900 22.1689000 45.6532300 40.0774500 23.4081700 45.3152700 + 39.3228100 21.2214400 43.3024900 39.7108800 20.2424700 43.0548200 + 38.3906200 21.2071600 44.5259000 37.6894000 22.0721200 44.5035600 + 37.8059200 20.2663800 44.5881800 39.3446300 21.3821200 45.7095000 + 39.8357400 20.4087600 45.9379200 38.8395000 21.7625400 46.6196200 + 38.6011000 21.7687900 42.0854900 38.0171100 20.9937500 41.3244400 + 38.6106100 23.0996100 41.8965600 39.1256800 23.6888800 42.5100400 + 37.8359100 23.7605300 40.8732400 37.5779000 23.0514600 40.1036800 + 36.5267500 24.3175100 41.4627900 36.0333500 23.4983400 42.0363500 + 36.7520700 25.1311600 42.1875200 35.5276300 24.8225000 40.3975000 + 35.9333300 25.6969200 39.8467300 35.3158500 24.0149100 39.6655900 + 34.2085000 25.2400700 41.0168600 34.0802800 25.2235700 42.2649700 + 33.2847100 25.6346400 40.2614500 38.6167100 24.8784000 40.2093400 + 39.2295100 25.7185300 40.8659200 38.6093200 24.8921000 38.8659100 + 38.1503000 24.1522100 38.3733300 39.1849500 25.9258700 38.0286900 + 39.7781400 26.6055700 38.6209900 40.0423700 25.3069900 36.9267500 + 39.4373100 24.5418500 36.3881900 40.4713000 26.3809800 35.9007000 + 40.9608100 27.2360500 36.4110600 39.6011700 26.7701100 35.3303600 + 41.1788000 25.9595200 35.1582800 41.2435300 24.5799900 37.5791800 + 41.8261600 25.3226800 38.1652900 40.8640400 23.8207500 38.2995600 + 42.1749400 23.8667700 36.5942500 42.6743700 24.5938200 35.9209100 + 41.6125700 23.1380900 35.9740900 42.9652900 23.3155900 37.1497000 + 38.0475300 26.7120500 37.4173300 37.1192600 26.1223300 36.8746500 + 38.0790600 28.0570100 37.4836600 38.8407400 28.5558900 37.9062100 + 37.0311800 28.8919000 36.9324800 36.1469900 28.3038300 36.7255900 + 36.6607000 30.0212000 37.9185700 37.5850800 30.5929000 38.1542800 + 35.9443300 30.7241200 37.4410200 36.0735100 29.5184300 39.2468800 + 36.8418400 28.8836200 39.7421300 35.9111100 30.3937100 39.9091200 + 34.5363800 28.5613100 39.0997200 33.4645700 29.7816200 38.2869900 + 33.2782400 30.6468200 38.9523800 32.4759700 29.3421000 38.0464100 + 33.8910300 30.1446700 37.3281500 37.4645200 29.5415400 35.6328000 + 38.4585400 30.2582400 35.5700300 36.7039200 29.3315700 34.5538600 + 35.9250300 28.6938300 34.6036700 36.9120500 29.9700100 33.2689300 + 37.8970300 30.4129100 33.2172700 36.7702700 28.9541100 32.1469200 + 35.7439400 28.5223200 32.1653400 37.0122700 29.6146600 30.7820700 + 38.0209700 30.0781000 30.7472700 36.2468700 30.3893700 30.5656900 + 36.9575500 28.8563700 29.9721800 37.7771600 27.8084900 32.3748100 + 37.5722600 27.2678900 33.3219500 38.8148100 28.2030700 32.3987200 + 37.6993800 27.0758900 31.5460400 35.8825600 31.0813800 33.1469300 + 34.6888800 30.8254700 32.9936700 36.3072000 32.3579400 33.2850700 + 37.2845500 32.5761600 33.3204600 35.3669700 33.4441800 33.5516700 + 34.4521600 33.0124000 33.9272100 35.8136400 34.4113600 34.6419800 + 35.0178700 35.1886000 34.7580700 35.8752500 33.6167300 35.9610600 + 36.6966400 32.8698400 35.9276800 34.9183500 33.0810700 36.1332400 + 36.0438900 34.3044100 36.8140500 37.1352100 35.1490500 34.3340200 + 37.9835100 34.4374800 34.4244000 37.1162500 35.5179100 33.2832800 + 37.3633800 36.3518800 35.2596700 37.3827400 36.0401400 36.3236900 + 36.5476700 37.0950200 35.1235500 38.3244400 36.8552300 35.0268800 + 34.9024900 34.2224900 32.3464900 33.8853800 34.9015400 32.4300400 + 35.6037600 34.1476800 31.1988000 36.4588400 33.6417700 31.1584300 + 35.0335300 34.6513900 29.9555400 34.8012800 33.7829000 29.3595300 + 34.1536400 35.2512400 30.1524700 35.9200900 35.5022000 29.1113000 + 37.0869800 35.7582400 29.4112500 35.3361700 35.9489100 27.9859700 + 34.3575600 35.7865600 27.8687300 36.0038100 36.6685800 26.9138400 + 35.4043800 37.5366400 26.6797900 37.0167700 36.9139500 27.1994200 + 36.0800800 35.8212900 25.6820400 37.1625600 35.4046300 25.2764700 + 34.9131000 35.5368600 25.0649000 34.0820400 35.9825700 25.3947200 + 34.7360700 34.7966200 23.8131400 33.6842900 34.5619800 23.7337100 + 35.0652000 35.4408500 23.0105000 35.4721700 33.4889500 23.6901600 + 35.0198200 32.4352400 24.1324100 36.6788800 33.5349100 23.0960700 + 37.0414500 34.4153900 22.8072400 37.4989300 32.3743300 22.8143700 + 36.8635000 31.6418800 22.3415100 38.6354000 32.7265200 21.8322700 + 39.3982300 33.3636000 22.3314100 39.1114200 31.7603700 21.5525100 + 38.1515700 33.4336000 20.5426700 37.0542000 33.2543500 20.4309500 + 38.2997800 34.5289000 20.6480300 38.7760000 32.9463000 19.2198500 + 38.3509800 31.9662500 18.9160400 38.5411600 33.6635500 18.4009900 + 40.2694600 32.8624200 19.4009300 40.7677600 33.7065200 19.5263900 + 40.9284900 31.7086000 19.5875500 40.3511500 30.5155400 19.5143100 + 40.8598800 29.7067700 19.7555100 39.3230600 30.4296800 19.5528900 + 42.2094900 31.7422600 19.9586400 42.6138800 32.6163400 20.1678400 + 42.5484300 30.8991300 20.3911700 38.0898500 31.7119000 24.0551500 + 38.6134300 30.5963800 24.0234200 37.9774200 32.3811300 25.2153100 + 37.6209600 33.3181500 25.1945400 38.2328100 31.8201600 26.5319500 + 39.2252900 31.3945600 26.5363200 38.1704400 32.9254200 27.5811500 + 37.1993500 33.4656600 27.4834100 38.3015500 32.3914100 29.0175200 + 39.2018700 31.7494800 29.1205400 37.4036400 31.8040600 29.2924500 + 38.3896700 33.2369100 29.7330500 39.3150700 33.9169300 27.3112500 + 39.2237000 34.7847700 27.9991400 39.2787100 34.2980900 26.2706300 + 40.3005700 33.4336000 27.4782400 37.2719600 30.6722600 26.8426400 + 37.6433900 29.6962200 27.4878100 36.0240500 30.7154400 26.3280400 + 35.7093400 31.4992400 25.7887300 35.0913400 29.6048000 26.4308300 + 35.1598900 29.1953300 27.4305000 33.6326700 30.0521600 26.1571000 + 33.5433600 30.4878900 25.1384500 32.9338500 29.1912300 26.2405000 + 33.1903200 31.0786600 27.1655300 33.2858800 30.8257000 28.5466300 + 33.6940500 29.8937600 28.9029500 32.8289400 31.7658300 29.4784700 + 32.9135700 31.5596000 30.5349100 32.2677500 32.9673700 29.0364400 + 31.8185200 33.9219500 29.9643300 31.7834600 33.5017600 30.8423000 + 32.6372100 32.2976300 26.7369600 32.5527100 32.5019200 25.6795200 + 32.1768600 33.2390600 27.6683900 31.7360300 34.1684000 27.3379000 + 35.4623200 28.4599500 25.4967700 35.6779700 27.3404800 25.9589000 + 35.5983800 28.7226000 24.1708600 35.4127400 29.6463700 23.8429400 + 35.9863100 27.7697500 23.1245300 35.1134000 27.2129300 22.8157800 + 36.6260400 28.5003400 21.9150400 37.4734500 29.1172500 22.2920300 + 37.0489700 27.7514800 21.2026800 35.7480500 29.4348400 21.0579700 + 34.9799300 28.8700600 20.4902300 35.2435200 30.1996000 21.6826600 + 36.6367500 30.1682900 20.0531500 37.8680700 29.8830700 20.0072500 + 36.1326700 31.0773100 19.3569200 37.0667900 26.7720400 23.5243200 + 36.9107900 25.5566000 23.4675500 38.2290700 27.3085700 23.9358900 + 38.2837400 28.3034200 24.0111000 39.4592100 26.5719300 24.1225800 + 39.5411500 25.8340800 23.3358800 40.6374600 27.5761900 24.0040400 + 40.5176500 28.3414700 24.8027700 41.6008700 27.0489800 24.1731300 + 40.6764300 28.2686300 22.6103900 40.9778800 27.5306300 21.8384500 + 39.6727100 28.6535400 22.3296200 41.6335400 29.4593300 22.5285900 + 42.5099100 29.5430500 21.6619600 41.4128700 30.4607700 23.4077700 + 42.0302400 31.2390900 23.4141900 40.5442700 30.4636700 23.9128100 + 39.4919600 25.8065900 25.4402500 40.3795300 24.9878200 25.6795600 + 38.4987600 26.0496800 26.3162800 37.7954800 26.7204900 26.0803100 + 38.3346100 25.3640200 27.5816700 39.1976200 24.7402900 27.7749900 + 38.1662400 26.3734300 28.7412400 37.5604900 27.2470500 28.4157200 + 37.6704700 25.9043300 29.6181600 39.5228600 26.8498300 29.1870000 + 40.1642900 26.2287000 30.2728900 39.6680000 25.4205000 30.7893600 + 41.4328300 26.6495800 30.6885200 41.9176000 26.1651600 31.5237300 + 42.0770100 27.6925100 30.0097000 43.0575600 28.0176800 30.3171300 + 40.1818100 27.8929300 28.5168700 39.7034700 28.3673300 27.6737100 + 41.4517400 28.3139700 28.9239500 41.9465400 29.1173700 28.4015300 + 37.1607600 24.3972200 27.5708800 37.2083800 23.3872500 28.2678200 + 36.0866900 24.6491400 26.7887700 36.0380400 25.4973400 26.2541500 + 34.8935100 23.8071800 26.7098800 34.4545900 23.8512800 27.6937100 + 33.8307100 24.4219700 25.7584900 33.6302800 25.4641800 26.0924800 + 34.2452700 24.4948500 24.7316800 32.4744400 23.6805900 25.6904400 + 32.6557500 22.6320100 25.3514200 31.7439200 23.6268500 27.0416600 + 31.5413100 24.6524800 27.4141000 32.3317400 23.0722100 27.7972100 + 30.7668700 23.1075500 26.9207300 31.5541300 24.3372300 24.6549700 + 32.0378300 24.3876200 23.6574400 31.2728100 25.3619200 24.9725600 + 30.6156600 23.7508600 24.5452800 35.1395300 22.3055500 26.4610900 + 34.5588900 21.5020700 27.1961400 36.0079700 21.8150200 25.5653000 + 36.4501200 22.5381900 24.3689100 35.6700400 23.2236500 23.9725000 + 37.3672200 23.1163700 24.6161100 36.3300900 20.3847700 25.4803000 + 35.4008500 19.8424600 25.3694500 37.2292300 20.2925700 24.2345200 + 38.2943200 20.4670800 24.5045400 37.1333500 19.3041800 23.7383400 + 36.7514500 21.4424400 23.3500900 35.8064300 21.1507700 22.8376300 + 37.4991600 21.7548900 22.5944100 37.0544300 19.7963500 26.6881000 + 37.3465400 18.6051800 26.6843400 37.3776500 20.5927700 27.7230000 + 37.2018800 21.5784000 27.6738500 37.9201000 20.1150600 28.9797800 + 37.9771200 19.0342100 28.9823300 39.3295600 20.7149900 29.2178600 + 39.2500500 21.8256700 29.2145800 39.7045200 20.3976200 30.2168000 + 40.3481600 20.2794000 28.1517900 40.4467400 19.1700500 28.1781000 + 39.9531900 20.5532600 27.1458500 41.7224600 20.9385000 28.3386600 + 41.5620400 22.0412200 28.3511100 42.1389800 20.6409400 29.3283100 + 42.7065900 20.5662600 27.2240100 42.9643600 19.4851000 27.2695800 + 42.2544700 20.7920700 26.2319300 43.9354700 21.3513500 27.3549600 + 43.7461900 22.3638900 27.4444700 44.6167500 21.2201500 26.5817400 + 44.5090700 21.0805000 28.2085900 37.0019300 20.5101700 30.1289800 + 37.3348000 20.3415800 31.3016300 35.8044900 21.0541500 29.8299100 + 35.5186800 21.1737700 28.8771700 34.8916800 21.5439500 30.8361400 + 35.4682300 22.0837800 31.5768100 33.8658600 22.5130900 30.2284600 + 33.2473500 22.0011500 29.4594900 34.3961600 23.3585500 29.7430200 + 33.1875800 22.9295100 31.0050200 34.1533300 20.4307100 31.5526200 + 33.8384700 19.3788200 30.9997600 33.8827400 20.6471500 32.8410200 + 34.1738400 21.5059100 33.2709100 33.2532000 19.6812500 33.7084400 + 32.9784600 18.7874900 33.1652300 34.2218400 19.3354700 34.8623900 + 34.3544000 20.2613100 35.4635700 33.7523200 18.5684900 35.5208700 + 35.6234400 18.8537800 34.4032400 36.0252300 19.4519500 33.5618700 + 36.3343400 18.9504600 35.2479400 35.6708300 17.3729800 34.0208500 + 36.2804500 16.5973900 34.7612000 35.0645600 16.9842100 32.8806200 + 35.0470300 16.0085700 32.6784100 34.6268200 17.6530200 32.2827200 + 31.9727800 20.2523200 34.2780700 31.0526600 19.5124500 34.5960400 + 31.8948200 21.5877100 34.4234300 32.6411500 22.1928800 34.1617600 + 30.7393400 22.2539200 34.9776300 29.8651900 21.6180200 34.9195100 + 31.0294000 22.5975300 36.4515900 31.4045300 21.6702700 36.9454900 + 31.8426100 23.3501200 36.4951900 29.8270800 23.0854100 37.2662300 + 29.2869900 23.8986000 36.7314200 29.1077000 22.2399700 37.3676700 + 30.2746100 23.6077800 38.6401200 31.3355300 23.3273100 38.8210100 + 30.2454200 24.7151400 38.5806900 29.4033100 23.1481600 39.8070200 + 29.6045500 23.7428200 40.7236100 28.3320500 23.2466500 39.5377700 + 29.6838900 21.7425300 40.0897300 30.5160700 21.5544400 40.6625300 + 29.7961800 21.2091300 39.1767900 28.8466300 21.2091000 40.4457900 + 30.4644100 23.5243600 34.1843500 31.3904400 24.1846100 33.7070800 + 29.1877500 23.9039200 34.0258700 28.4413900 23.3074000 34.3506100 + 28.7792600 25.1871700 33.4934400 29.6413500 25.8015200 33.2767700 + 27.8988600 25.0594900 32.2222800 26.9366600 24.5743900 32.5013700 + 27.6587400 26.0753100 31.8402800 28.5059000 24.2450300 31.0619700 + 28.7318900 23.2235500 31.4442000 27.4834400 24.0864700 29.9270900 + 27.2256700 25.0723300 29.4865900 26.5496100 23.6170000 30.3037500 + 27.8903500 23.4360200 29.1228700 29.8058200 24.8544300 30.5200500 + 30.1714900 24.2543100 29.6596200 30.5902400 24.8581000 31.3035000 + 29.6239200 25.8941200 30.1757600 27.9507700 25.8974100 34.5485100 + 27.0019700 25.3333800 35.0847400 28.2817100 27.1600800 34.8699900 + 29.1229700 27.5721000 34.5093000 27.3970400 28.0508200 35.5983900 + 26.5621800 27.5080000 36.0250000 28.1294700 28.8761500 36.6934300 + 28.9121400 29.5049000 36.2198900 27.4085500 29.5567400 37.1951400 + 28.7989100 28.0580800 37.7624700 30.1897000 27.8751400 37.7199700 + 30.7393500 28.2218100 36.8560400 30.8663100 27.3036500 38.8057400 + 31.9372800 27.1929500 38.7749200 30.1631600 26.8925800 39.9399800 + 30.8760800 26.3219900 41.0179500 31.7562700 26.0436100 40.6734500 + 28.0906200 27.6030800 38.8876200 27.0233900 27.7595200 38.9426800 + 28.7694800 27.0247500 39.9744900 28.2186200 26.7092000 40.8478200 + 26.8551200 29.0517500 34.5863100 27.5439100 30.0016100 34.2143000 + 25.6265000 28.8708000 34.0854100 25.0242400 28.1335800 34.4158400 + 25.0849800 29.7445900 33.0606500 25.8551300 30.3828700 32.6504800 + 24.4536900 28.9522900 31.8881000 23.6058800 28.3451100 32.2800600 + 24.0382800 29.6690200 31.1445700 25.4226500 28.0038100 31.1501100 + 25.7756000 27.2420500 31.8851900 24.6820000 27.2625900 30.0275600 + 24.3284100 27.9804900 29.2575700 23.7992600 26.7239700 30.4336000 + 25.3486600 26.5221500 29.5371000 26.6503000 28.7285000 30.5728700 + 27.2584500 29.1917000 31.3769400 26.3252700 29.5220200 29.8671700 + 27.2904900 28.0108900 30.0170400 24.0322600 30.6597200 33.6397000 + 23.0041800 30.2120100 34.1395700 24.2405700 31.9852500 33.5590800 + 25.1026800 32.3705000 33.2166500 23.1648600 32.9379100 33.8012100 + 22.4844800 32.5382100 34.5372600 23.6034300 34.3188000 34.2723400 + 24.1353900 34.8735700 33.4682500 24.4858900 34.2065300 35.3742000 + 24.7986100 35.1242800 35.5737800 22.3823700 35.1162900 34.7570800 + 21.8455100 34.5544600 35.5481700 21.6616200 35.3036200 33.9394800 + 22.7045000 36.0951900 35.1725300 22.4391800 33.1206700 32.4927300 + 23.0328000 33.5675500 31.5158400 21.1476200 32.7663000 32.4029800 + 20.6743600 32.3977200 33.2121200 20.3791400 32.9484300 31.1812200 + 21.0354400 33.2674700 30.3823700 19.6970600 31.6436900 30.7070000 + 20.2023000 30.7890400 31.2082300 18.6254400 31.6065200 30.9974700 + 19.4024400 32.3004500 28.2525700 18.9286200 33.1726400 28.3908600 + 19.8475800 31.4272300 29.2227800 19.7769500 31.7860700 27.0549300 + 19.5480100 32.2689900 26.1039000 20.4363200 30.6506500 27.1875500 + 20.4785200 30.4229300 28.5525600 20.9757500 29.5437100 28.9423000 + 19.3685300 34.0587200 31.3824900 18.5301600 33.9915900 32.2795400 + 19.4717700 35.1325300 30.5780600 20.1608700 35.1496800 29.8440700 + 18.7539000 36.3815200 30.7571200 18.2701700 36.3815000 31.7242600 + 19.6835200 37.6093700 30.6929900 20.2266100 37.5938300 29.7198700 + 18.8792200 38.9281000 30.7749300 18.2447200 38.9320200 31.6857200 + 18.2305700 39.0688900 29.8860900 19.5683000 39.7975400 30.8185900 + 20.7362800 37.6487300 31.8304000 21.1335100 38.6900900 31.8767900 + 20.2387800 37.4461100 32.8022200 21.9388600 36.7212300 31.6475600 + 22.7509800 36.9906300 32.3552000 22.3286400 36.7749900 30.6111000 + 21.6532200 35.6707600 31.8370400 17.6560300 36.5025000 29.7089600 + 17.8334300 36.1891500 28.5317600 16.4832600 36.9886300 30.1486700 + 16.3670500 37.1774300 31.1260900 15.3299500 37.3605600 29.3616600 + 15.1407500 36.6185200 28.5966500 14.1912400 37.3971500 30.4112400 + 14.1889100 36.4326600 30.9614700 14.3935500 38.2109300 31.1364400 + 12.7829800 37.5955200 29.8921900 12.5535700 37.4508900 28.6708900 + 11.9132500 37.8630500 30.7696300 15.5568500 38.7303200 28.7029200 + 15.3308800 39.7759900 29.3129300 16.0853600 38.7645200 27.4574300 + 16.3119800 37.9197500 26.9836400 16.3881900 40.0227000 26.7987100 + 15.5449500 40.6870900 26.9395200 17.6619000 40.6643000 27.3974900 + 18.5388700 40.0049300 27.2337100 17.5381100 40.8078300 28.4901000 + 17.8585900 41.6577600 26.9415400 16.6242400 39.8983500 25.2950900 + 17.4420900 39.0962200 24.8413700 15.9555100 40.7549700 24.4887500 + 15.2345700 41.3395700 24.8454900 16.3089200 41.0128700 23.1002700 + 16.6416900 40.0926100 22.6394200 15.1191700 41.5939000 22.2879700 + 14.7967400 42.5572600 22.7443900 15.4566600 41.8131000 21.2482900 + 13.8806900 40.6682400 22.1893100 14.1562100 39.6992000 21.7275700 + 13.4543500 40.4778600 23.1943200 12.7814200 41.2901300 21.3244700 + 11.6874100 41.5816900 21.8741100 13.0252100 41.4732200 20.1034800 + 17.4513200 42.0289600 23.0564100 17.3821200 43.0841100 23.6847200 + 18.5623500 41.7287700 22.3479300 18.6204900 40.8970900 21.8038500 + 19.7534800 42.5728300 22.3632400 19.4921600 43.5631900 22.7086500 + 20.8616900 42.0025100 23.2663300 21.2332300 41.0446000 22.8322400 + 22.0412800 42.9911600 23.3927900 21.6809100 43.9790900 23.7484400 + 22.5638000 43.1256400 22.4224700 22.7835100 42.6069700 24.1227700 + 20.3031300 41.6984500 24.6730300 19.5573200 40.8762200 24.6361100 + 19.8077900 42.5981400 25.0966100 21.1169500 41.3874500 25.3581800 + 20.2948000 42.7203500 20.9472800 20.3173300 41.7613400 20.1797300 + 20.7778300 43.9251100 20.5564400 20.7017500 44.7302200 21.1333700 + 21.5119900 44.1178700 19.3139200 20.9751600 43.6223600 18.5163100 + 21.6710500 45.6190600 18.9442200 22.1542100 46.1594400 19.7896700 + 22.3506600 45.7059200 18.0655500 20.3546800 46.3463500 18.5749500 + 19.8534500 45.8202700 17.7366200 19.6654400 46.3824700 19.4417000 + 20.6182400 47.7868900 18.1290600 20.3671900 48.0905500 16.9328900 + 21.0719200 48.5958100 18.9798600 22.9119600 43.5033800 19.3900600 + 23.8188300 44.0298100 20.0344800 23.1259200 42.3471500 18.7347900 + 22.3810200 41.8601000 18.2772400 24.4094900 41.6696500 18.7725100 + 25.1294200 42.2524000 18.2196100 24.6573300 41.5148900 19.8123600 + 24.2886800 40.3186400 18.1258000 23.2424200 40.0123400 17.5663400 + 25.2899800 39.4150800 18.1339200 25.0229000 38.5504900 17.7123600 + 26.6997700 39.4788700 18.5037900 27.2075600 40.0552300 17.7426400 + 26.9974200 40.1299600 19.9028600 26.7912000 41.2178100 19.8624500 + 26.3391900 39.6829200 20.6679000 28.4356200 40.0020700 20.3691100 + 29.3465500 40.6255900 19.7870600 28.6440100 39.1474800 21.2733300 + 27.1980200 38.0288700 18.3336400 27.0873000 37.4501100 17.2560400 + 27.7609300 37.4151300 19.3876200 27.8579200 37.9469500 20.2404100 + 28.4664500 36.1484800 19.3807200 28.4340700 35.7100000 18.3937100 + 29.9112300 36.3098400 19.8497800 29.9336600 36.6510500 20.9124800 + 30.5838500 37.2854500 19.0671700 30.1325000 38.1262900 19.2485100 + 30.7081600 35.0049600 19.7002400 30.6725500 34.6546900 18.6470900 + 30.3100100 34.2071800 20.3605800 31.7702100 35.1792800 19.9723100 + 27.8007700 35.2229800 20.3651700 27.5515200 35.5924600 21.5108600 + 27.5072600 33.9756400 19.9595500 27.6501600 33.7086500 19.0132000 + 26.9113300 32.9736700 20.8255900 26.1313000 33.4444400 21.4093400 + 26.2894700 31.8224800 19.9909200 27.0912900 31.1438700 19.6271700 + 25.5940200 31.2249200 20.6194700 24.2920400 32.8318500 18.7787700 + 23.6639000 32.8517600 19.5718100 25.5586500 32.2958900 18.7668300 + 23.9830000 33.1556200 17.5003700 23.0181500 33.5771500 17.2103400 + 24.9693700 32.8674600 16.6700700 25.9571600 32.3210200 17.4657600 + 26.8852600 31.9841300 17.0213400 27.9127400 32.3225400 21.7765600 + 29.0962900 32.1775200 21.4741400 27.4445200 31.8355600 22.9433000 + 26.5392400 32.1229600 23.2736500 28.1599000 30.8525600 23.7420800 + 29.1548400 31.2387600 23.9058000 27.4362700 30.6472100 25.1053800 + 27.2650000 31.6344800 25.5838000 26.4427900 30.1775600 24.9479600 + 28.2174700 29.7938700 26.0717800 29.1512400 30.3721500 26.9471300 + 29.3097000 31.4399400 26.9295100 29.8649100 29.5770100 27.8544000 + 30.5666300 30.0347700 28.5339800 29.6574000 28.1927200 27.8867800 + 30.1985000 27.5761000 28.5879700 28.0155200 28.4037300 26.1172200 + 27.3075600 27.9387200 25.4448000 28.7351600 27.6045500 27.0139800 + 28.5723300 26.5355800 27.0282500 28.2115700 29.5250000 22.9661600 + 27.1759300 29.1587800 22.4064600 29.3183000 28.7947800 22.8420300 + 30.6188800 29.1722600 23.3923400 30.9873900 30.0730600 22.8516500 + 30.5465100 29.3731000 24.4839200 29.4083000 27.6644300 21.9165200 + 28.9649400 27.9426800 20.9699000 30.9275400 27.4230700 21.7997800 + 31.1850800 26.3572300 21.6290100 31.3158900 28.0279100 20.9497700 + 31.5085500 27.9670100 23.1083600 32.5812100 28.2278400 23.0286500 + 31.3606100 27.2153400 23.9148600 28.6795100 26.4118600 22.3933800 + 28.4377600 26.2441400 23.5871400 28.3104100 25.5368200 21.4382600 + 28.4089400 25.7685500 20.4720700 27.5092600 24.3463100 21.6320900 + 26.7257700 24.5863900 22.3394000 26.8733200 23.9116400 20.2797200 + 27.6579400 23.6588200 19.5385200 26.2100200 23.0316100 20.4144700 + 26.0355300 25.0328300 19.7175800 24.7866100 24.9658900 19.8282500 + 26.6188900 26.0456700 19.2503500 28.2599400 23.1470900 22.2053300 + 29.4857500 23.1105100 22.3195000 27.4846800 22.1127500 22.5725700 + 26.4970100 22.1423200 22.4316000 27.9559300 20.8719800 23.1409200 + 28.8722500 20.5902200 22.6415000 28.2160000 20.9697800 24.6733400 + 28.2676300 19.9665600 25.1453400 29.1964800 21.4684300 24.8296900 + 27.1760900 21.7951000 25.3972800 27.4355300 23.1413200 25.7129100 + 28.3721900 23.5883600 25.4125300 26.4857900 23.9111400 26.3959000 + 26.6891900 24.9455500 26.6287200 25.2731900 23.3385900 26.7846900 + 24.3326900 24.1166500 27.4897700 23.5922200 23.5449900 27.7059600 + 25.9417600 21.2377800 25.7720300 25.7263900 20.2058200 25.5297500 + 24.9965700 22.0015100 26.4732100 24.0603500 21.5504800 26.7662200 + 26.9373600 19.7964100 22.7882100 25.8609600 20.1001100 22.2764300 + 27.2612300 18.5076200 23.0185900 28.0946800 18.2598000 23.5010700 + 26.4442000 17.3947500 22.5588400 26.0515000 17.6540200 21.5856100 + 27.3390900 16.1392600 22.3790000 28.2652300 16.4493500 21.8408200 + 27.6533500 15.7697800 23.3751400 26.7149000 14.9644400 21.5826500 + 27.3712900 14.0740100 21.6683800 25.7151100 14.6987400 21.9731800 + 26.5905100 15.2686400 20.0912100 27.6507000 15.4285600 19.4338700 + 25.4356100 15.3229600 19.5970000 25.2974400 17.1004200 23.5419700 + 25.5021600 17.2548500 24.7487900 24.0818900 16.6834500 23.1658100 + 23.5566500 16.8672600 21.8059300 24.0285700 17.7218800 21.2702300 + 23.7254300 15.9274100 21.2331100 22.9969200 16.5120500 24.1377200 + 22.9348300 17.4166700 24.7255100 21.7582700 16.2926200 23.2512600 + 21.6759900 15.2201700 22.9612900 20.8286000 16.6096700 23.7654500 + 22.0614800 17.1169300 22.0008800 21.8940700 18.1974700 22.2062000 + 21.4660300 16.8050800 21.1204100 23.1484000 15.3612900 25.1215300 + 22.3690100 15.3054300 26.0666500 24.1101500 14.4344100 24.9306200 + 24.6988800 14.4889800 24.1303900 24.3284500 13.3020200 25.8209500 + 23.5266200 13.2553200 26.5467200 24.3263800 11.9989600 24.9691500 + 23.5344000 12.0755800 24.1931500 25.2998300 11.8507300 24.4619600 + 24.0017100 10.7477100 25.7773500 23.7559100 10.8650200 27.0055400 + 23.9692600 9.6517400 25.1578000 25.6380800 13.4921900 26.5997900 + 26.2886000 12.5514500 27.0525200 26.0645000 14.7590100 26.7588300 + 25.5439000 15.4888000 26.3212700 27.3188700 15.1444400 27.3820700 + 27.9379700 14.2697000 27.5472300 28.0117000 16.0738200 26.3397500 + 28.0097800 15.5251800 25.3765000 27.4366400 17.0049700 26.1968000 + 29.4521100 16.4279300 26.6015500 30.2468200 15.5557100 27.0348400 + 29.8520000 17.6005500 26.3271200 27.0776200 15.7854400 28.7617700 + 27.8716100 15.6410700 29.6937100 25.9447300 16.5035700 28.9384500 + 25.2453100 16.5205100 28.2325700 25.6628300 17.2884300 30.1338900 + 26.3899300 17.0663100 30.9040100 25.6639100 18.8167400 29.8255700 + 24.8635400 19.0330500 29.0864600 25.4488000 19.3848600 30.7557700 + 26.9680900 19.3203800 29.2450100 27.4141900 19.2224200 27.9616500 + 26.8331900 18.8067100 27.1508100 28.7334800 19.6095800 27.8799700 + 29.3222500 19.1492100 27.2295700 29.1297300 20.0573800 29.1171100 + 28.0434200 19.8896200 30.0023400 28.1461500 20.2244100 31.3418600 + 27.3152900 20.0998200 32.0166400 29.3707100 20.7203600 31.7982200 + 29.4570700 20.9770700 32.8411200 30.3362700 20.5799100 29.5630300 + 31.1509200 20.7449400 28.8794400 30.4496400 20.9115400 30.9228000 + 31.3656900 21.3356500 31.3005400 24.2934500 16.9784400 30.7116700 + 23.3663600 16.6271100 29.9868800 24.1138700 17.1671000 32.0351500 + 24.8914700 17.3684400 32.6360800 22.7917500 17.2563200 32.6363200 + 22.0742800 17.4611600 31.8522600 22.3465200 15.9458000 33.3371800 + 21.2581300 15.9991100 33.5677200 22.4824500 15.1151700 32.6070200 + 23.0934600 15.5767400 34.6416500 24.1890200 15.5588800 34.4754000 + 22.8611500 16.3039800 35.4454000 22.6657200 14.1958200 35.1375400 + 23.5498500 13.3062100 35.2343300 21.4521900 14.0099900 35.4103400 + 22.7388400 18.4570600 33.5697200 23.7714500 19.0131200 33.9456200 + 21.5260100 18.9310500 33.9347000 20.7017700 18.4293200 33.6960800 + 21.3497700 20.0924600 34.8050900 22.2629900 20.6647400 34.8374500 + 20.2257700 21.0693600 34.3581000 20.3845900 21.3314700 33.2881500 + 19.2280900 20.5851900 34.4522700 20.2534100 22.2742900 35.1302800 + 19.5763100 22.8959900 34.7632600 21.0552900 19.6370200 36.2136900 + 20.1817700 18.8030700 36.4413700 21.7993000 20.1697200 37.2015000 + 22.4804400 20.8728800 36.9835400 21.6599000 19.7708200 38.5922000 + 21.0390500 18.8867600 38.6523100 22.9912400 19.4077200 39.2514800 + 22.7946600 19.0940800 40.3040200 23.5955700 18.2008400 38.5064400 + 23.8549000 18.4731900 37.4609100 22.8779600 17.3538800 38.4747700 + 24.5231800 17.8582000 39.0115300 23.9797300 20.5909500 39.2695200 + 23.5597000 21.4683400 39.8009300 24.2438800 20.8897700 38.2339000 + 24.9191000 20.2905100 39.7820700 20.9478800 20.8256300 39.4167400 + 20.4427400 20.5315200 40.5014800 20.8953700 22.0922300 38.9483500 + 21.2421800 22.3113000 38.0365900 20.3167400 23.1512500 39.7534200 + 19.3947700 22.7684200 40.1703800 21.2950900 23.5588000 40.8954400 + 21.8151700 22.6555400 41.2754600 22.0681000 24.2646300 40.5293600 + 20.5693200 24.1548000 42.0660800 19.7676600 23.3412900 42.8847300 + 19.6707100 22.2901000 42.6511800 19.0957100 23.8837900 43.9885300 + 18.4746600 23.2530500 44.6062600 19.2269000 25.2469000 44.2833500 + 18.7055600 25.6775400 45.1246700 20.6954700 25.5173600 42.3709900 + 21.2999900 26.1545600 41.7402500 20.0310400 26.0601800 43.4776400 + 20.1326700 27.1118100 43.7004200 19.9461000 24.3823700 38.9319900 + 20.8043700 25.1867500 38.5728600 18.6441600 24.5615100 38.6361900 + 17.9822800 23.8313800 38.7713000 18.0927200 25.7195500 37.9381100 + 18.8551900 26.1565900 37.3070000 16.8807700 25.3266500 37.0394700 + 15.9328700 25.2972800 37.6132800 16.7615000 26.0811000 36.2302200 + 17.0473500 24.0268500 36.4692400 17.5321100 24.1448400 35.6127300 + 17.6163200 26.7786400 38.9251700 16.4871200 26.7348500 39.4173300 + 18.4629200 27.7635800 39.2887300 19.3805800 27.8505900 38.8878200 + 18.1186800 28.7352000 40.3158600 17.3613100 28.3164000 40.9632500 + 19.3447300 29.0314100 41.2184000 19.7669900 28.0558600 41.5423800 + 20.1277000 29.5245200 40.6113500 19.0414600 29.8811400 42.4800200 + 18.5398900 30.8253900 42.1796500 18.3639400 29.3245700 43.1576600 + 20.2922500 30.2530400 43.2595700 21.1006600 29.3692200 43.6453000 + 20.4970700 31.4655000 43.5241200 17.5419900 30.0205500 39.7240900 + 18.2515500 30.9251800 39.2906300 16.2017200 30.1443400 39.6929500 + 15.6295400 29.3840200 39.9772900 15.5232300 31.3375500 39.2069300 + 16.0549100 31.7091100 38.3410200 14.0495300 31.0441500 38.8107100 + 13.5046500 30.5765900 39.6574500 13.5263800 31.9855000 38.5361000 + 13.9716900 30.1229800 37.6222200 14.0142600 28.7261500 37.7798000 + 14.1247700 28.2971700 38.7640300 13.9400100 27.8790500 36.6669600 + 14.0037600 26.8083700 36.7964300 13.8069300 28.4213100 35.3831600 + 13.7721900 27.7676000 34.5234900 13.8358200 30.6547000 36.3280700 + 13.8071000 31.7262300 36.1907200 13.7461200 29.8097100 35.2136700 + 13.6539300 30.2290500 34.2221200 15.5268100 32.4602800 40.2436900 + 15.6625200 32.2223100 41.4434200 15.3854900 33.7237400 39.7936400 + 15.3050900 33.9156400 38.8143200 15.3365700 34.8963600 40.6556800 + 14.9293600 34.6420600 41.6251200 16.7337200 35.5602700 40.7891600 + 17.2826600 35.3454900 39.8474000 16.6452100 36.6639100 40.8825000 + 17.8398900 33.8515500 42.3412200 17.3279400 33.0434500 42.0220900 + 17.6065100 35.1468800 41.9430700 18.7661100 33.8967000 43.3286500 + 19.1325200 33.0019200 43.8335900 19.1466500 35.1361900 43.5956000 + 18.4094400 35.9215800 42.7239400 18.5442200 36.9957300 42.7116400 + 14.4229500 35.9442100 40.0362800 14.2086300 35.9709100 38.8250700 + 13.8789700 36.8514500 40.8708500 13.8793300 36.7225100 41.8686800 + 13.0450100 37.9675800 40.4759700 12.3236100 37.6026400 39.7564000 + 12.2963800 38.5444200 41.7161400 12.9968200 39.1244000 42.3529100 + 11.4732000 39.2135300 41.3945000 11.7075700 37.4588700 42.6055200 + 10.4591300 37.3408600 42.6517300 12.5164600 36.7637600 43.2790600 + 13.8146500 39.1327100 39.8368100 15.0279100 39.2921000 39.9883000 + 13.0881500 40.0217600 39.1310300 12.1143700 39.8726800 39.0100300 + 13.5790100 41.3170500 38.7036200 14.6605500 41.3271400 38.7142300 + 13.0764700 41.6422200 37.2841400 11.9685400 41.7140800 37.2617900 + 13.3829400 40.8343000 36.5855000 13.5078400 42.5987900 36.9180100 + 13.0826400 42.3736400 39.6849300 12.0770800 42.1692900 40.3655600 + 13.7669400 43.5313600 39.8055700 14.5355100 43.7502100 39.2016500 + 13.3957700 44.4984000 40.8213800 12.3202500 44.4504900 40.9337500 + 14.0047400 44.1091100 42.2162100 13.4755900 44.6736600 43.0102900 + 13.8228300 43.0280100 42.3925200 15.4926300 44.3573300 42.3715400 + 15.8205500 45.3250200 43.1141100 16.3345600 43.6910300 41.7293200 + 13.6402100 45.9498200 40.3815000 13.2628500 46.3777000 39.2942700 + 14.2644600 46.7655800 41.2519100 14.5646800 46.3669800 42.1247800 + 14.7398800 48.0966400 40.9547100 14.2279900 48.4900600 40.0862300 + 14.4998400 49.0002100 42.1813600 15.0245300 48.5921700 43.0722600 + 13.4122900 49.0403500 42.4038600 14.8619400 50.0313300 41.9856600 + 16.2281700 48.0543700 40.6307300 16.7622600 48.9094000 39.9263700 + 16.9360500 47.0430900 41.1668200 16.4854500 46.3821400 41.7836600 + 18.3313300 46.7738200 40.9140800 18.8579600 47.7039800 40.7498500 + 18.9262600 46.0136900 42.1258300 18.3514600 45.0648800 42.2393300 + 19.9818800 45.7355300 41.9320700 18.8442700 46.8033800 43.4543700 + 19.6382600 47.5739300 43.4989300 17.8580900 47.3043300 43.5524200 + 18.9975200 45.8714800 44.6565400 19.9754000 45.9307900 45.4058600 + 17.9892500 44.9925500 44.8518600 17.2013300 45.0046200 44.2109000 + 18.0614600 44.3309800 45.5874300 18.4922300 45.9172800 39.6688200 + 19.2043900 46.2797500 38.7332600 17.8491400 44.7347500 39.6387600 + 17.2538000 44.4472800 40.4073500 17.9432100 43.7969100 38.5384700 + 18.9275600 43.8783500 38.0943400 17.7306000 42.3444100 39.0058300 + 16.7321000 42.2179700 39.4753600 17.8203600 41.6421300 38.1525200 + 18.8240700 42.0022300 40.0026500 19.9765100 41.7723900 39.6255300 + 18.4864100 42.0199800 41.3099400 17.5918500 42.4217700 41.5648100 + 19.1415600 41.7005900 41.9821100 16.9365400 44.1319700 37.4575500 + 15.7411700 44.2639800 37.7014900 17.4396300 44.3121400 36.2255900 + 18.4100200 44.1545400 36.0714100 16.7099700 44.9414300 35.1333800 + 15.9791400 45.6214500 35.5511600 17.6704000 45.7789700 34.2388700 + 17.1508900 46.0999600 33.3059800 17.9484800 46.7000500 34.7983500 + 18.8720200 45.0691800 33.9063600 19.4210100 45.0542500 34.7115100 + 15.9126500 44.0122300 34.2377900 15.0385100 44.4770200 33.5143900 + 16.1892400 42.6969100 34.2479300 16.8007000 42.3066600 34.9272700 + 15.5417900 41.7389900 33.3637700 14.6172200 42.1414900 32.9708300 + 16.4792000 41.2973800 32.2067600 17.3823700 40.8059700 32.6273400 + 15.9579000 40.5497300 31.5700000 17.9025400 43.3437300 31.6252000 + 18.2709200 43.5182900 32.5407000 16.9448400 42.4064100 31.2943600 + 18.0635400 44.1470400 30.5488000 18.7381300 45.0030600 30.5335400 + 17.2851800 43.7970700 29.5516100 16.5717500 42.7022800 30.0179700 + 15.8351400 42.2202700 29.3870400 15.2036400 40.5131000 34.1900600 + 15.5974400 40.4428500 35.3524000 14.4960900 39.5104900 33.6247700 + 14.0819600 39.5984000 32.7208700 14.2713300 38.2139000 34.2710700 + 14.1850100 38.3725100 35.3370200 12.9950500 37.4666100 33.7828800 + 13.2137200 36.8206000 32.9066400 12.6129500 36.8107800 34.5957000 + 11.9681900 38.3749200 33.3846100 11.8362800 38.2254400 32.4097300 + 15.4523600 37.2888400 34.0047500 16.1505300 37.4398600 33.0013200 + 15.7496900 36.3146000 34.8935100 15.2435500 36.1752500 35.7425200 + 16.9304900 35.4834300 34.6981300 16.9323000 35.1840400 33.6588500 + 18.2838600 36.2292600 34.9739500 19.1423100 35.5261700 34.9676300 + 18.4449700 36.9709700 34.1637900 18.2657900 36.9885900 36.2733900 + 17.6443200 38.2459900 36.3344300 17.2557900 38.6815800 35.4299200 + 17.4335200 38.8880600 37.5584300 16.8436700 39.7909100 37.5938100 + 17.9525300 38.3296300 38.7260200 17.6719400 38.9127000 39.9753900 + 16.7206200 39.1405900 39.9658900 18.8132600 36.4517600 37.4469000 + 19.2962100 35.4851200 37.4233800 18.6891000 37.1450300 38.6603300 + 19.0765000 36.7189300 39.5701000 16.8837400 34.1687400 35.4712400 + 16.2457800 34.0397200 36.5173900 17.5867400 33.1478100 34.9367400 + 18.0419700 33.2851500 34.0527500 17.8487100 31.8830400 35.6052000 + 17.3816500 31.8774500 36.5793900 17.3497600 30.6529200 34.7891800 + 16.2875500 30.8356700 34.5154700 17.9178000 30.5920800 33.8338000 + 17.4711500 29.0733600 35.7242700 17.6009000 28.2112000 34.7059000 + 19.3454500 31.7411100 35.8035600 20.1263000 32.0349700 34.9011500 + 19.7801400 31.2726900 36.9840900 19.1374400 31.1087800 37.7406200 + 21.1509400 30.9068600 37.2647600 21.8200100 31.3052200 36.5126900 + 21.5567300 31.3738200 38.6811900 20.8799400 30.9286900 39.4363000 + 22.5867000 31.0548200 38.8949800 21.5371400 32.8486000 38.8705300 + 22.2863700 33.6852200 38.0351300 22.8617100 33.2627400 37.2242800 + 22.3125100 35.0662200 38.2544300 22.8843900 35.7024200 37.5934800 + 21.6036600 35.6094500 39.3290100 21.5948300 36.6738900 39.4731700 + 20.8381500 33.4019700 39.9546300 20.2701000 32.7568000 40.6127900 + 20.8765100 34.7787400 40.1893000 20.3259900 35.1931100 41.0201700 + 21.2814600 29.3907900 37.2671600 20.9796900 28.7294300 38.2599600 + 21.7304800 28.7795300 36.1608300 22.0461000 29.3044300 35.3636900 + 21.6487500 27.3409400 36.0087700 21.0445300 26.9319400 36.8063400 + 20.8979000 26.9856800 34.7114800 20.0268800 27.6784200 34.6468300 + 21.5285500 27.1826500 33.8186900 20.4025000 25.5180300 34.7024500 + 20.9989300 24.9111400 33.9917100 20.5260300 25.0734300 35.7143600 + 18.9323600 25.3273700 34.3549900 18.5382500 24.1323700 34.2694000 + 18.1734900 26.3194800 34.2501800 22.9946400 26.6363900 36.0827200 + 23.9929900 27.0621400 35.4985100 23.0595500 25.5267100 36.8459300 + 22.2384200 25.2333800 37.3450400 24.2507700 24.7105400 37.0024400 + 25.0997800 25.2488000 36.6101500 24.5587800 24.3695300 38.4598700 + 23.7680500 23.6900100 38.8559900 25.9251700 23.6505700 38.5276400 + 26.7273500 24.3171200 38.1439400 25.9305800 22.7155600 37.9282900 + 26.1548300 23.3623100 39.5734200 24.5511200 25.6534700 39.3202700 + 25.2457400 26.3890900 38.8598000 23.5263600 26.0941300 39.2858500 + 24.9271900 25.4467700 40.7933800 24.7719100 26.3894600 41.3605400 + 25.9897500 25.1474600 40.8982600 24.2872900 24.6604600 41.2472400 + 24.1267100 23.4156900 36.2152700 23.3489200 22.5277500 36.5645500 + 24.9403100 23.2578300 35.1512500 25.5764300 23.9895100 34.9017200 + 25.0195800 22.0276600 34.3825600 24.2348100 21.3569500 34.6970500 + 24.8864200 22.2249400 32.8487400 25.7491300 22.7956400 32.4525700 + 24.9170100 21.2128200 32.3836500 23.5785700 22.9003500 32.3824900 + 22.7550200 22.5727000 33.0630700 23.6445400 24.4366900 32.4050000 + 24.4694800 24.7962100 31.7554200 23.8000400 24.8249600 33.4320200 + 22.6897500 24.8607100 32.0245200 23.2255700 22.4372800 30.9608100 + 23.1021100 21.3333400 30.9302600 24.0297700 22.7282700 30.2513000 + 22.2736500 22.9084700 30.6332800 26.3366000 21.3311400 34.6712500 + 27.3734000 21.9758800 34.8333400 26.3327700 19.9883500 34.7510000 + 25.4849700 19.4733900 34.5785000 27.5127000 19.1986000 35.0644700 + 28.3905300 19.8287100 35.0691100 27.4074900 18.5045800 36.4511800 + 26.5739700 17.7669300 36.4042500 28.3417700 17.9385100 36.6596600 + 27.1037700 19.4772100 37.6260100 26.8144500 20.4741100 37.2353900 + 26.2398200 19.0839900 38.2008400 28.2309200 19.7053500 38.6142900 + 29.4044100 19.9385900 38.2132200 27.9313400 19.8276000 39.8404500 + 27.7209600 18.1530800 33.9786100 26.7763500 17.6986300 33.3349500 + 28.9881800 17.7736500 33.7279500 29.7358500 18.1974700 34.2393700 + 29.3623700 16.7419400 32.7779500 28.7148600 16.7979500 31.9114600 + 30.8482000 16.9221000 32.3557200 30.9724200 17.9577100 31.9751100 + 31.4623500 16.8296600 33.2806300 31.3943700 15.9127300 31.3166500 + 32.4833400 15.7653000 31.4899600 30.9290900 14.9130200 31.4732800 + 31.1868200 16.2964800 29.8468000 31.4434200 15.4306500 29.1938800 + 30.1361300 16.6074700 29.6436800 32.1308500 17.4350200 29.5880800 + 32.3500400 18.0473100 30.3374300 32.5279200 17.8424000 28.3769300 + 32.2667200 17.1967400 27.2567000 31.7203500 16.3431900 27.3693700 + 31.4715200 17.5828300 26.7450200 33.2386000 18.9648100 28.2981400 + 33.5399100 19.3668100 29.1574900 33.5104600 19.2601800 27.3912800 + 29.2040200 15.3697700 33.4130200 29.6149300 15.1533900 34.5546700 + 28.6138300 14.4214000 32.6708100 28.3261100 14.5972900 31.7318100 + 28.3982700 13.0660700 33.1242300 29.0185700 12.8633000 33.9855900 + 26.9162500 12.8741100 33.5457300 26.7158600 11.7943800 33.7069200 + 26.7803800 13.3702800 34.5349400 25.8683200 13.4994300 32.5933200 + 25.4417200 14.3938900 33.0979900 26.3486200 13.8519300 31.6545600 + 24.7200100 12.5570400 32.2298700 24.2695200 12.1013700 33.1409600 + 23.9340100 13.1002300 31.6590200 25.3893700 11.5003100 31.4089900 + 26.3620800 11.3357800 31.6594500 25.2596300 11.4158700 30.0805900 + 24.1192500 11.6809500 29.4634800 23.3207600 11.7951500 30.0238800 + 24.0340400 11.3805100 28.4839500 26.3368700 11.0877300 29.3798200 + 27.1902200 11.1058200 29.9190100 26.3178900 11.3697800 28.4139600 + 28.8772200 12.0550400 32.0438500 28.0608000 11.2376200 31.5367200 + 30.0990400 12.0729300 31.7314300 diff -Nru test/chamber/md_engine/dhfr/mdout.dhfr_charmm.min.save test/chamber/md_engine/dhfr/mdout.dhfr_charmm.min.save --- test/chamber/md_engine/dhfr/mdout.dhfr_charmm.min.save 1969-12-31 16:00:00.000000000 -0800 +++ test/chamber/md_engine/dhfr/mdout.dhfr_charmm.min.save 2009-08-11 15:40:54.000000000 -0700 @@ -0,0 +1,369 @@ + + ------------------------------------------------------- + Amber 10 SANDER 2008 + ------------------------------------------------------- + +| PMEMD implementation of SANDER, Release 10 + +| Run on 08/11/2009 at 15:38:22 + + [-O]verwriting output + +File Assignments: +| MDIN: mdin +| MDOUT: mdout.dhfr_charmm.min +| INPCRD: inpcrd +| PARM: prmtop +| RESTRT: restrt +| REFC: refc +| MDVEL: mdvel +| MDEN: mden +| MDCRD: mdcrd +| MDINFO: mdinfo +|LOGFILE: logfile + + + Here is the input file: + + short minimization + &cntrl + ntx=1, irest=0, + imin=1, + maxcyc=20,ncyc=10,ntb=0, + ntpr=1,igb=1,cut=9999.0 + / + + + +| Conditional Compilation Defines Used: +| DIRFRC_COMTRANS +| DIRFRC_EFS +| DIRFRC_NOVEC +| MPI +| SLOW_NONBLOCKING_MPI +| PUBFFT +| FFTLOADBAL_2PROC +| MKL + +| New format PARM file being parsed. +| Version = 1.000 Date = 06/11/03 Time = 12:02:08 +| Force field information read from topology file: +| CHARMM 31 *>>>>>>>>CHARMM22 All-Hydrogen Topology File for Proteins << +| +|CHARMM: CHARMM force field in use. + +| Note: 1-4 EEL scale factors are being read from the topology file. +| SCEE value from cntrl namelist will be ignored. + +| Note: 1-4 VDW scale factors are being read from the topology file. +| SCNB value from cntrl namelist will be ignored. +| Duplicated 0 dihedrals + +| Duplicated 0 dihedrals + +-------------------------------------------------------------------------------- + 1. RESOURCE USE: +-------------------------------------------------------------------------------- + + NATOM = 2489 NTYPES = 33 NBONH = 1221 MBONA = 1302 + NTHETH = 2789 MTHETA = 1772 NPHIH = 4651 MPHIA = 2349 + NHPARM = 0 NPARM = 0 NNB = 13777 NRES = 159 + NBONA = 1302 NTHETA = 1772 NPHIA = 2349 NUMBND = 66 + NUMANG = 149 NPTRA = 279 NATYP = 33 NPHB = 0 + IFBOX = 0 NMXRS = 25 IFCAP = 0 NEXTRA = 0 + NCOPY = 0 + + Implicit solvent radii are modified Bondi radii (mbondi) +|CHARMM: Reticulating splines. +-------------------------------------------------------------------------------- + 2. CONTROL DATA FOR THE RUN +-------------------------------------------------------------------------------- + +* DHFR GAS PHASE MINIMIZATION + +General flags: + imin = 1, nmropt = 0 + +Nature and format of input: + ntx = 1, irest = 0, ntrx = 1 + +Nature and format of output: + ntxo = 1, ntpr = 1, ntrx = 1, ntwr = 500 + iwrap = 0, ntwx = 0, ntwv = 0, ntwe = 0 + ioutfm = 0, ntwprt = 0, idecomp = 0, rbornstat= 0 + +Potential function: + ntf = 1, ntb = 0, igb = 1, nsnb = 25 + ipol = 0, gbsa = 0, iesp = 0 + dielc = 1.00000, cut =9999.00000, intdiel = 1.00000 + saltcon = 0.00000, offset = 0.09000, gbalpha= 1.00000 + gbbeta = 0.00000, gbgamma = 0.00000, surften = 0.00500 + rdt = 0.00000, rgbmax = 25.00000 extdiel = 78.50000 + alpb = 0 + scnb = 2.00000, scee = 1.20000 + +Frozen or restrained atoms: + ibelly = 0, ntr = 0 + +Energy minimization: + maxcyc = 20, ncyc = 10, ntmin = 1 + dx0 = 0.01000, drms = 0.00010 + +| Intermolecular bonds treatment: +| no_intermolecular_bonds = 1 + +| Energy averages sample interval: +| ene_avg_sampling = 1 + +-------------------------------------------------------------------------------- + 3. ATOMIC COORDINATES AND VELOCITIES +-------------------------------------------------------------------------------- + +inpcrd generated from psfprm utility:* DHFR GAS PHASE MINIMIZATION + begin time read from input coords = 0.000 ps + + + Number of triangulated 3-point waters found: 0 +| Dynamic Memory, Types Used: +| Reals 79710 +| Integers 295476 + +| Running AMBER/MPI version on 4 nodes + + +-------------------------------------------------------------------------------- + 4. RESULTS +-------------------------------------------------------------------------------- + + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 1 -5.2629E+03 1.9792E+00 1.8103E+01 OG1 1154 + + BOND = 147.4716 ANGLE = 439.9122 DIHED = 754.0478 + UB = 31.8773 IMP = 18.5859 CMAP = 0.0000 + VDWAALS = -1009.1558 EEL = -10036.4148 EGB = -2483.6659 + 1-4 VDW = 367.0926 1-4 EEL = 6507.3376 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 2 -5.2648E+03 1.7655E+00 1.5878E+01 OD2 1829 + + BOND = 146.2108 ANGLE = 439.3136 DIHED = 753.9612 + UB = 31.8914 IMP = 18.3115 CMAP = 0.0000 + VDWAALS = -1009.3973 EEL = -10033.8934 EGB = -2485.6795 + 1-4 VDW = 367.1468 1-4 EEL = 6507.2855 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 3 -5.2669E+03 1.5453E+00 1.4962E+01 OD2 1829 + + BOND = 145.0054 ANGLE = 438.6404 DIHED = 753.8520 + UB = 31.9109 IMP = 17.9708 CMAP = 0.0000 + VDWAALS = -1009.7752 EEL = -10030.8379 EGB = -2488.0897 + 1-4 VDW = 367.2089 1-4 EEL = 6507.2123 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 4 -5.2690E+03 1.3366E+00 1.3882E+01 OD2 1829 + + BOND = 143.9487 ANGLE = 437.8922 DIHED = 753.7138 + UB = 31.9372 IMP = 17.5518 CMAP = 0.0000 + VDWAALS = -1010.3692 EEL = -10027.1647 EGB = -2490.9347 + 1-4 VDW = 367.2760 1-4 EEL = 6507.1075 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 5 -5.2713E+03 1.1603E+00 1.2637E+01 OD2 1829 + + BOND = 143.1296 ANGLE = 437.0748 DIHED = 753.5402 + UB = 31.9708 IMP = 17.0508 CMAP = 0.0000 + VDWAALS = -1011.2916 EEL = -10022.8327 EGB = -2494.1992 + 1-4 VDW = 367.3397 1-4 EEL = 6506.9571 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 6 -5.2736E+03 1.0248E+00 1.1245E+01 OD2 1829 + + BOND = 142.5830 ANGLE = 436.2046 DIHED = 753.3271 + UB = 32.0098 IMP = 16.4864 CMAP = 0.0000 + VDWAALS = -1012.6645 EEL = -10017.8829 EGB = -2497.7828 + 1-4 VDW = 367.3828 1-4 EEL = 6506.7455 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 7 -5.2761E+03 9.1846E-01 9.9935E+00 OE2 2385 + + BOND = 142.2510 ANGLE = 435.3035 DIHED = 753.0736 + UB = 32.0495 IMP = 15.9050 CMAP = 0.0000 + VDWAALS = -1014.5637 EEL = -10012.3765 EGB = -2501.5693 + 1-4 VDW = 367.3812 1-4 EEL = 6506.4617 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 8 -5.2788E+03 8.2802E-01 9.4789E+00 OE2 2385 + + BOND = 142.0194 ANGLE = 434.3699 DIHED = 752.7757 + UB = 32.0840 IMP = 15.3624 CMAP = 0.0000 + VDWAALS = -1016.9882 EEL = -10006.2235 EGB = -2505.5893 + 1-4 VDW = 367.3115 1-4 EEL = 6506.1027 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 9 -5.2817E+03 7.4975E-01 8.9395E+00 OE2 2385 + + BOND = 141.8154 ANGLE = 433.3521 DIHED = 752.4220 + UB = 32.1060 IMP = 14.9005 CMAP = 0.0000 + VDWAALS = -1019.8993 EEL = -9999.2304 EGB = -2509.9894 + 1-4 VDW = 367.1556 1-4 EEL = 6505.6741 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 10 -5.2849E+03 6.8176E-01 8.3928E+00 OE2 2385 + + BOND = 141.6646 ANGLE = 432.1749 DIHED = 751.9953 + UB = 32.1031 IMP = 14.5374 CMAP = 0.0000 + VDWAALS = -1023.2714 EEL = -9991.3372 EGB = -2514.8243 + 1-4 VDW = 366.8983 1-4 EEL = 6505.1873 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 11 -5.2883E+03 6.2063E-01 7.8694E+00 OE2 2385 + + BOND = 141.5859 ANGLE = 430.8121 DIHED = 751.4769 + UB = 32.0614 IMP = 14.2637 CMAP = 0.0000 + VDWAALS = -1027.0901 EEL = -9982.5180 EGB = -2520.1079 + 1-4 VDW = 366.5258 1-4 EEL = 6504.6457 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 12 -5.2893E+03 6.0552E-01 7.7470E+00 OE2 2385 + + BOND = 141.5854 ANGLE = 430.4079 DIHED = 751.3155 + UB = 32.0382 IMP = 14.2077 CMAP = 0.0000 + VDWAALS = -1028.1737 EEL = -9980.0481 EGB = -2521.5600 + 1-4 VDW = 366.4018 1-4 EEL = 6504.4931 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 13 -5.2973E+03 4.9342E-01 6.6281E+00 OE2 2385 + + BOND = 141.7019 ANGLE = 427.1955 DIHED = 749.8978 + UB = 31.9134 IMP = 13.7352 CMAP = 0.0000 + VDWAALS = -1037.8383 EEL = -9957.2488 EGB = -2535.0542 + 1-4 VDW = 365.2932 1-4 EEL = 6503.0917 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 14 -5.3091E+03 6.7613E-01 5.7146E+00 CG 584 + + BOND = 143.6884 ANGLE = 423.4302 DIHED = 746.1752 + UB = 32.6857 IMP = 12.7578 CMAP = 0.0000 + VDWAALS = -1065.6757 EEL = -9882.1189 EGB = -2580.6872 + 1-4 VDW = 362.1034 1-4 EEL = 6498.5634 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 15 -5.2831E+03 5.0516E+00 7.5241E+01 NE1 450 + + BOND = 174.3263 ANGLE = 422.9641 DIHED = 739.2284 + UB = 29.9179 IMP = 14.7145 CMAP = 0.0000 + VDWAALS = -1091.0774 EEL = -9809.6468 EGB = -2610.7178 + 1-4 VDW = 356.2138 1-4 EEL = 6491.0255 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 16 -5.3152E+03 1.4583E+00 2.1740E+01 NE1 450 + + BOND = 145.6059 ANGLE = 419.5563 DIHED = 743.6659 + UB = 31.0847 IMP = 12.6605 CMAP = 0.0000 + VDWAALS = -1074.4240 EEL = -9860.1006 EGB = -2589.6171 + 1-4 VDW = 360.0825 1-4 EEL = 6496.2370 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 17 -5.3221E+03 8.6195E-01 8.9325E+00 CE2 452 + + BOND = 145.7935 ANGLE = 419.2141 DIHED = 741.2369 + UB = 30.7421 IMP = 13.0602 CMAP = 0.0000 + VDWAALS = -1081.7508 EEL = -9845.8537 EGB = -2597.9958 + 1-4 VDW = 358.7799 1-4 EEL = 6494.6378 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 18 -5.3222E+03 9.4948E-01 1.0676E+01 CE2 452 + + BOND = 146.1900 ANGLE = 419.3622 DIHED = 740.9832 + UB = 30.7445 IMP = 13.1414 CMAP = 0.0000 + VDWAALS = -1082.5518 EEL = -9844.1933 EGB = -2598.9842 + 1-4 VDW = 358.6413 1-4 EEL = 6494.4548 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 19 -5.3258E+03 8.9672E-01 8.5435E+00 NH1 2457 + + BOND = 146.1553 ANGLE = 420.0718 DIHED = 739.7455 + UB = 30.7472 IMP = 12.7448 CMAP = 0.0000 + VDWAALS = -1086.1175 EEL = -9834.7870 EGB = -2607.2457 + 1-4 VDW = 358.4801 1-4 EEL = 6494.3747 RESTRAINT = 0.0000 + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 20 -5.3260E+03 1.1072E+00 1.1532E+01 NZ 1705 + + BOND = 146.6937 ANGLE = 420.4246 DIHED = 739.4296 + UB = 30.7792 IMP = 12.6504 CMAP = 0.0000 + VDWAALS = -1087.0442 EEL = -9832.2548 EGB = -2609.4804 + 1-4 VDW = 358.4437 1-4 EEL = 6494.3573 RESTRAINT = 0.0000 + + + Maximum number of minimization cycles reached. + + + FINAL RESULTS + + + + NSTEP ENERGY RMS GMAX NAME NUMBER + 20 -5.3260E+03 1.1072E+00 1.1532E+01 NZ 1705 + + BOND = 146.6937 ANGLE = 420.4246 DIHED = 739.4296 + UB = 30.7792 IMP = 12.6504 CMAP = 0.0000 + VDWAALS = -1087.0442 EEL = -9832.2548 EGB = -2609.4804 + 1-4 VDW = 358.4437 1-4 EEL = 6494.3573 RESTRAINT = 0.0000 +-------------------------------------------------------------------------------- + 5. TIMINGS +-------------------------------------------------------------------------------- + +| NonSetup CPU Time in Major Routines, Average for All Tasks: +| +| Routine Sec % +| ------------------------------ +| DataDistrib 0.01 0.31 +| Nonbond 2.09 99.21 +| Bond 0.00 0.01 +| Angle 0.00 0.13 +| Dihedral 0.01 0.27 +| Shake 0.00 0.00 +| Other 0.00 0.07 +| ------------------------------ +| Total 2.11 + +| Generalized Born CPU Time, Average for All Tasks: +| +| Routine Sec % +| ------------------------------------ +| Radii Calc 0.45 21.39 +| Diagonal Calc 0.85 40.34 +| Off Diagonal Calc 0.78 37.21 +| Radii Distrib 0.00 0.18 +| --------------------------------- +| Total 2.09 99.11 + +| Master Setup CPU time: 0.04 seconds +| Master NonSetup CPU time: 2.12 seconds +| Master Total CPU time: 2.16 seconds 0.00 hours + +| Master Setup wall time: 0 seconds +| Master NonSetup wall time: 2 seconds +| Master Total wall time: 2 seconds 0.00 hours diff -Nru test/chamber/md_engine/dhfr/mdout.dhfr_charmm.save test/chamber/md_engine/dhfr/mdout.dhfr_charmm.save --- test/chamber/md_engine/dhfr/mdout.dhfr_charmm.save 1969-12-31 16:00:00.000000000 -0800 +++ test/chamber/md_engine/dhfr/mdout.dhfr_charmm.save 2009-08-11 15:40:54.000000000 -0700 @@ -0,0 +1,666 @@ + + ------------------------------------------------------- + Amber 10 SANDER 2008 + ------------------------------------------------------- + +| PMEMD implementation of SANDER, Release 10 + +| Run on 08/11/2009 at 15:39:28 + + [-O]verwriting output + +File Assignments: +| MDIN: mdin +| MDOUT: mdout.dhfr_charmm +| INPCRD: inpcrd +| PARM: prmtop +| RESTRT: restrt +| REFC: refc +| MDVEL: mdvel +| MDEN: mden +| MDCRD: mdcrd +| MDINFO: mdinfo +|LOGFILE: logfile + + + Here is the input file: + + short md + &cntrl + ntx=1, irest=0, + imin=0,nstlim=50, + dt=0.002,ntc=2,ntf=2, + ntt=1,tempi=300.0,temp0=300.0, + ntpr=1,igb=1,cut=9999.0,ntwx=0, + ntwr=0,ntwe=0,ntb=0, + / + + + +| Conditional Compilation Defines Used: +| DIRFRC_COMTRANS +| DIRFRC_EFS +| DIRFRC_NOVEC +| MPI +| SLOW_NONBLOCKING_MPI +| PUBFFT +| FFTLOADBAL_2PROC +| MKL + +| New format PARM file being parsed. +| Version = 1.000 Date = 06/11/03 Time = 12:02:08 +| Force field information read from topology file: +| CHARMM 31 *>>>>>>>>CHARMM22 All-Hydrogen Topology File for Proteins << +| +|CHARMM: CHARMM force field in use. + +| Note: 1-4 EEL scale factors are being read from the topology file. +| SCEE value from cntrl namelist will be ignored. + +| Note: 1-4 VDW scale factors are being read from the topology file. +| SCNB value from cntrl namelist will be ignored. +| Duplicated 0 dihedrals + +| Duplicated 0 dihedrals + +-------------------------------------------------------------------------------- + 1. RESOURCE USE: +-------------------------------------------------------------------------------- + + NATOM = 2489 NTYPES = 33 NBONH = 1221 MBONA = 1302 + NTHETH = 2789 MTHETA = 1772 NPHIH = 4651 MPHIA = 2349 + NHPARM = 0 NPARM = 0 NNB = 13777 NRES = 159 + NBONA = 1302 NTHETA = 1772 NPHIA = 2349 NUMBND = 66 + NUMANG = 149 NPTRA = 279 NATYP = 33 NPHB = 0 + IFBOX = 0 NMXRS = 25 IFCAP = 0 NEXTRA = 0 + NCOPY = 0 + + Implicit solvent radii are modified Bondi radii (mbondi) +|CHARMM: Reticulating splines. +-------------------------------------------------------------------------------- + 2. CONTROL DATA FOR THE RUN +-------------------------------------------------------------------------------- + +* DHFR GAS PHASE MINIMIZATION + +General flags: + imin = 0, nmropt = 0 + +Nature and format of input: + ntx = 1, irest = 0, ntrx = 1 + +Nature and format of output: + ntxo = 1, ntpr = 1, ntrx = 1, ntwr = 0 + iwrap = 0, ntwx = 0, ntwv = 0, ntwe = 0 + ioutfm = 0, ntwprt = 0, idecomp = 0, rbornstat= 0 + +Potential function: + ntf = 2, ntb = 0, igb = 1, nsnb = 25 + ipol = 0, gbsa = 0, iesp = 0 + dielc = 1.00000, cut =9999.00000, intdiel = 1.00000 + saltcon = 0.00000, offset = 0.09000, gbalpha= 1.00000 + gbbeta = 0.00000, gbgamma = 0.00000, surften = 0.00500 + rdt = 0.00000, rgbmax = 25.00000 extdiel = 78.50000 + alpb = 0 + scnb = 2.00000, scee = 1.20000 + +Frozen or restrained atoms: + ibelly = 0, ntr = 0 + +Molecular dynamics: + nstlim = 50, nscm = 1000, nrespa = 1 + t = 0.00000, dt = 0.00200, vlimit = 20.00000 + +Berendsen (weak-coupling) temperature regulation: + temp0 = 300.00000, tempi = 300.00000, tautp = 1.00000 + +SHAKE: + ntc = 2, jfastw = 0 + tol = 0.00001 + +| Intermolecular bonds treatment: +| no_intermolecular_bonds = 1 + +| Energy averages sample interval: +| ene_avg_sampling = 1 + +-------------------------------------------------------------------------------- + 3. ATOMIC COORDINATES AND VELOCITIES +-------------------------------------------------------------------------------- + +inpcrd generated from psfprm utility:* DHFR GAS PHASE MINIMIZATION + begin time read from input coords = 0.000 ps + + + Number of triangulated 3-point waters found: 0 +| Dynamic Memory, Types Used: +| Reals 87501 +| Integers 297345 + +| Running AMBER/MPI version on 4 nodes + + +-------------------------------------------------------------------------------- + 4. RESULTS +-------------------------------------------------------------------------------- + + + NSTEP = 0 TIME(PS) = 0.000 TEMP(K) = 359.72 PRESS = 0.0 + Etot = -3050.6670 EKtot = 2230.2661 EPtot = -5280.9331 + BOND = 129.4500 ANGLE = 439.9122 DIHED = 754.0478 + UB = 31.8773 IMP = 18.5859 CMAP = 0.0000 + 1-4 NB = 367.0926 1-4 EEL = 6507.3376 VDWAALS = -1009.1558 + EELEC = -10036.4148 EGB = -2483.6659 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 1 TIME(PS) = 0.002 TEMP(K) = 317.05 PRESS = 0.0 + Etot = -3315.2257 EKtot = 1965.7075 EPtot = -5280.9331 + BOND = 129.4500 ANGLE = 439.9122 DIHED = 754.0478 + UB = 31.8773 IMP = 18.5859 CMAP = 0.0000 + 1-4 NB = 367.0926 1-4 EEL = 6507.3376 VDWAALS = -1009.1558 + EELEC = -10036.4148 EGB = -2483.6659 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 2 TIME(PS) = 0.004 TEMP(K) = 263.86 PRESS = 0.0 + Etot = -3367.5476 EKtot = 1635.9605 EPtot = -5003.5081 + BOND = 200.8036 ANGLE = 575.7536 DIHED = 762.1947 + UB = 52.0946 IMP = 23.5701 CMAP = 0.0000 + 1-4 NB = 370.1688 1-4 EEL = 6492.0761 VDWAALS = -1003.7826 + EELEC = -9976.7636 EGB = -2499.6233 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 3 TIME(PS) = 0.006 TEMP(K) = 183.85 PRESS = 0.0 + Etot = -3339.5334 EKtot = 1139.8767 EPtot = -4479.4101 + BOND = 339.0689 ANGLE = 857.9913 DIHED = 784.6554 + UB = 94.9355 IMP = 38.2584 CMAP = 0.0000 + 1-4 NB = 379.4230 1-4 EEL = 6478.9772 VDWAALS = -994.9839 + EELEC = -9942.8230 EGB = -2514.9129 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 4 TIME(PS) = 0.008 TEMP(K) = 130.09 PRESS = 0.0 + Etot = -3324.3020 EKtot = 806.5450 EPtot = -4130.8470 + BOND = 418.0822 ANGLE = 1029.3978 DIHED = 809.0865 + UB = 129.5506 IMP = 55.5731 CMAP = 0.0000 + 1-4 NB = 387.0589 1-4 EEL = 6468.7707 VDWAALS = -987.7626 + EELEC = -9907.7109 EGB = -2532.8933 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 5 TIME(PS) = 0.010 TEMP(K) = 135.15 PRESS = 0.0 + Etot = -3335.2207 EKtot = 837.9170 EPtot = -4173.1377 + BOND = 391.6480 ANGLE = 971.8147 DIHED = 824.9302 + UB = 134.2907 IMP = 67.8040 CMAP = 0.0000 + 1-4 NB = 387.9357 1-4 EEL = 6462.5413 VDWAALS = -985.7140 + EELEC = -9878.4151 EGB = -2549.9731 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 6 TIME(PS) = 0.012 TEMP(K) = 172.05 PRESS = 0.0 + Etot = -3354.4864 EKtot = 1066.7191 EPtot = -4421.2055 + BOND = 326.1613 ANGLE = 803.1092 DIHED = 829.0515 + UB = 113.4500 IMP = 70.5041 CMAP = 0.0000 + 1-4 NB = 384.7515 1-4 EEL = 6460.2319 VDWAALS = -987.2634 + EELEC = -9857.1358 EGB = -2564.0660 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 7 TIME(PS) = 0.014 TEMP(K) = 192.92 PRESS = 0.0 + Etot = -3359.4338 EKtot = 1196.1324 EPtot = -4555.5662 + BOND = 302.8468 ANGLE = 724.2854 DIHED = 824.8224 + UB = 89.3732 IMP = 64.0066 CMAP = 0.0000 + 1-4 NB = 383.6923 1-4 EEL = 6461.2506 VDWAALS = -988.2099 + EELEC = -9843.3935 EGB = -2574.2401 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 8 TIME(PS) = 0.016 TEMP(K) = 181.43 PRESS = 0.0 + Etot = -3347.0650 EKtot = 1124.8842 EPtot = -4471.9493 + BOND = 323.9142 ANGLE = 804.3104 DIHED = 817.4095 + UB = 80.7663 IMP = 52.3004 CMAP = 0.0000 + 1-4 NB = 387.4489 1-4 EEL = 6464.8579 VDWAALS = -986.4010 + EELEC = -9836.3328 EGB = -2580.2231 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 9 TIME(PS) = 0.018 TEMP(K) = 160.47 PRESS = 0.0 + Etot = -3333.6707 EKtot = 994.9456 EPtot = -4328.6163 + BOND = 334.2814 ANGLE = 934.7012 DIHED = 810.5367 + UB = 88.5248 IMP = 40.6217 CMAP = 0.0000 + 1-4 NB = 393.3738 1-4 EEL = 6470.0495 VDWAALS = -983.4473 + EELEC = -9834.5526 EGB = -2582.7056 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 10 TIME(PS) = 0.020 TEMP(K) = 156.61 PRESS = 0.0 + Etot = -3332.7228 EKtot = 970.9998 EPtot = -4303.7227 + BOND = 310.2285 ANGLE = 974.7345 DIHED = 806.4401 + UB = 100.1107 IMP = 33.1957 CMAP = 0.0000 + 1-4 NB = 396.9626 1-4 EEL = 6475.5319 VDWAALS = -982.2668 + EELEC = -9835.0754 EGB = -2583.5843 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 11 TIME(PS) = 0.022 TEMP(K) = 169.45 PRESS = 0.0 + Etot = -3340.5724 EKtot = 1050.5899 EPtot = -4391.1624 + BOND = 288.3398 ANGLE = 903.8536 DIHED = 806.5291 + UB = 104.4375 IMP = 31.9241 CMAP = 0.0000 + 1-4 NB = 396.4906 1-4 EEL = 6480.1975 VDWAALS = -983.6824 + EELEC = -9833.9219 EGB = -2585.3303 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 12 TIME(PS) = 0.024 TEMP(K) = 178.44 PRESS = 0.0 + Etot = -3344.5365 EKtot = 1106.3332 EPtot = -4450.8696 + BOND = 305.5673 ANGLE = 821.5418 DIHED = 811.0270 + UB = 101.3145 IMP = 36.1241 CMAP = 0.0000 + 1-4 NB = 393.9669 1-4 EEL = 6483.6495 VDWAALS = -986.1069 + EELEC = -9828.2387 EGB = -2589.7150 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 13 TIME(PS) = 0.026 TEMP(K) = 170.94 PRESS = 0.0 + Etot = -3339.0418 EKtot = 1059.8638 EPtot = -4398.9056 + BOND = 344.0888 ANGLE = 821.9218 DIHED = 818.1594 + UB = 98.0918 IMP = 43.1610 CMAP = 0.0000 + 1-4 NB = 392.2994 1-4 EEL = 6486.1533 VDWAALS = -987.9146 + EELEC = -9818.0233 EGB = -2596.8432 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 14 TIME(PS) = 0.028 TEMP(K) = 155.17 PRESS = 0.0 + Etot = -3330.2358 EKtot = 962.0513 EPtot = -4292.2871 + BOND = 357.2679 ANGLE = 896.5236 DIHED = 824.2255 + UB = 99.7432 IMP = 49.7929 CMAP = 0.0000 + 1-4 NB = 392.5247 1-4 EEL = 6487.9262 VDWAALS = -989.3826 + EELEC = -9805.5252 EGB = -2605.3833 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 15 TIME(PS) = 0.030 TEMP(K) = 147.19 PRESS = 0.0 + Etot = -3326.2417 EKtot = 912.5653 EPtot = -4238.8070 + BOND = 333.7458 ANGLE = 961.0763 DIHED = 825.6074 + UB = 103.6069 IMP = 53.6722 CMAP = 0.0000 + 1-4 NB = 393.6322 1-4 EEL = 6488.5126 VDWAALS = -992.0636 + EELEC = -9792.8566 EGB = -2613.7403 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 16 TIME(PS) = 0.032 TEMP(K) = 152.75 PRESS = 0.0 + Etot = -3327.8707 EKtot = 947.0610 EPtot = -4274.9317 + BOND = 308.2196 ANGLE = 954.5565 DIHED = 821.6294 + UB = 103.3967 IMP = 54.2012 CMAP = 0.0000 + 1-4 NB = 394.2300 1-4 EEL = 6487.0832 VDWAALS = -996.6538 + EELEC = -9780.5670 EGB = -2621.0276 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 17 TIME(PS) = 0.034 TEMP(K) = 164.50 PRESS = 0.0 + Etot = -3330.3514 EKtot = 1019.9251 EPtot = -4350.2765 + BOND = 309.9306 ANGLE = 895.3293 DIHED = 815.4263 + UB = 97.0076 IMP = 52.3835 CMAP = 0.0000 + 1-4 NB = 393.7962 1-4 EEL = 6483.3368 VDWAALS = -1002.0895 + EELEC = -9768.3833 EGB = -2627.0142 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 18 TIME(PS) = 0.036 TEMP(K) = 172.37 PRESS = 0.0 + Etot = -3330.2611 EKtot = 1068.7226 EPtot = -4398.9837 + BOND = 326.3621 ANGLE = 847.8992 DIHED = 811.6442 + UB = 89.3376 IMP = 49.9610 CMAP = 0.0000 + 1-4 NB = 392.6732 1-4 EEL = 6477.9647 VDWAALS = -1006.7563 + EELEC = -9756.3986 EGB = -2631.6707 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 19 TIME(PS) = 0.038 TEMP(K) = 172.12 PRESS = 0.0 + Etot = -3327.7124 EKtot = 1067.1787 EPtot = -4394.8911 + BOND = 329.8198 ANGLE = 852.8265 DIHED = 812.8974 + UB = 87.3420 IMP = 48.3697 CMAP = 0.0000 + 1-4 NB = 391.7468 1-4 EEL = 6472.1735 VDWAALS = -1010.0154 + EELEC = -9744.8470 EGB = -2635.2044 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 20 TIME(PS) = 0.040 TEMP(K) = 165.88 PRESS = 0.0 + Etot = -3323.8563 EKtot = 1028.4365 EPtot = -4352.2928 + BOND = 321.0046 ANGLE = 893.5457 DIHED = 817.8590 + UB = 92.8133 IMP = 48.0242 CMAP = 0.0000 + 1-4 NB = 391.8014 1-4 EEL = 6466.8616 VDWAALS = -1012.7366 + EELEC = -9733.1212 EGB = -2638.3449 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 21 TIME(PS) = 0.042 TEMP(K) = 159.26 PRESS = 0.0 + Etot = -3319.7304 EKtot = 987.4438 EPtot = -4307.1742 + BOND = 324.2528 ANGLE = 920.8134 DIHED = 822.4900 + UB = 100.5140 IMP = 48.2830 CMAP = 0.0000 + 1-4 NB = 392.5739 1-4 EEL = 6462.4548 VDWAALS = -1016.4098 + EELEC = -9719.9061 EGB = -2642.2403 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 22 TIME(PS) = 0.044 TEMP(K) = 158.27 PRESS = 0.0 + Etot = -3317.0911 EKtot = 981.3013 EPtot = -4298.3924 + BOND = 345.8195 ANGLE = 902.1356 DIHED = 823.3253 + UB = 103.4857 IMP = 48.0609 CMAP = 0.0000 + 1-4 NB = 393.1244 1-4 EEL = 6459.4972 VDWAALS = -1021.4135 + EELEC = -9704.6049 EGB = -2647.8225 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 23 TIME(PS) = 0.046 TEMP(K) = 164.79 PRESS = 0.0 + Etot = -3317.6338 EKtot = 1021.6801 EPtot = -4339.3139 + BOND = 360.9346 ANGLE = 851.5117 DIHED = 819.9754 + UB = 99.8088 IMP = 46.6748 CMAP = 0.0000 + 1-4 NB = 393.0957 1-4 EEL = 6458.9810 VDWAALS = -1026.8341 + EELEC = -9688.2231 EGB = -2655.2387 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 24 TIME(PS) = 0.048 TEMP(K) = 173.34 PRESS = 0.0 + Etot = -3319.9725 EKtot = 1074.7176 EPtot = -4394.6901 + BOND = 349.2911 ANGLE = 816.2497 DIHED = 815.0247 + UB = 93.8612 IMP = 44.4208 CMAP = 0.0000 + 1-4 NB = 392.7556 1-4 EEL = 6461.8693 VDWAALS = -1031.6411 + EELEC = -9672.5784 EGB = -2663.9431 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 25 TIME(PS) = 0.050 TEMP(K) = 175.04 PRESS = 0.0 + Etot = -3319.6237 EKtot = 1085.2820 EPtot = -4404.9057 + BOND = 325.5381 ANGLE = 831.2226 DIHED = 811.8523 + UB = 91.3083 IMP = 42.4787 CMAP = 0.0000 + 1-4 NB = 392.1405 1-4 EEL = 6468.3510 VDWAALS = -1035.6081 + EELEC = -9658.9010 EGB = -2673.2879 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 26 TIME(PS) = 0.052 TEMP(K) = 167.46 PRESS = 0.0 + Etot = -3314.3875 EKtot = 1038.2662 EPtot = -4352.6536 + BOND = 319.5772 ANGLE = 881.2693 DIHED = 812.2570 + UB = 93.4487 IMP = 42.1258 CMAP = 0.0000 + 1-4 NB = 390.8073 1-4 EEL = 6477.6028 VDWAALS = -1039.4063 + EELEC = -9647.4819 EGB = -2682.8536 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 27 TIME(PS) = 0.054 TEMP(K) = 158.90 PRESS = 0.0 + Etot = -3308.1041 EKtot = 985.1968 EPtot = -4293.3009 + BOND = 335.3616 ANGLE = 913.1779 DIHED = 815.6177 + UB = 96.6152 IMP = 43.8539 CMAP = 0.0000 + 1-4 NB = 388.3834 1-4 EEL = 6488.0927 VDWAALS = -1043.8737 + EELEC = -9638.2525 EGB = -2692.2770 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 28 TIME(PS) = 0.056 TEMP(K) = 159.60 PRESS = 0.0 + Etot = -3306.5616 EKtot = 989.5417 EPtot = -4296.1033 + BOND = 347.2032 ANGLE = 891.2600 DIHED = 819.9487 + UB = 96.7236 IMP = 47.0352 CMAP = 0.0000 + 1-4 NB = 384.9734 1-4 EEL = 6497.9961 VDWAALS = -1049.0610 + EELEC = -9631.0861 EGB = -2701.0963 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 29 TIME(PS) = 0.058 TEMP(K) = 169.09 PRESS = 0.0 + Etot = -3310.0328 EKtot = 1048.3749 EPtot = -4358.4077 + BOND = 337.5124 ANGLE = 838.0778 DIHED = 823.5329 + UB = 93.7624 IMP = 50.2428 CMAP = 0.0000 + 1-4 NB = 381.3146 1-4 EEL = 6505.6193 VDWAALS = -1053.9304 + EELEC = -9625.5372 EGB = -2709.0023 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 30 TIME(PS) = 0.060 TEMP(K) = 175.98 PRESS = 0.0 + Etot = -3312.3536 EKtot = 1091.0851 EPtot = -4403.4387 + BOND = 321.1077 ANGLE = 811.9857 DIHED = 825.4920 + UB = 91.4720 IMP = 51.9232 CMAP = 0.0000 + 1-4 NB = 378.7335 1-4 EEL = 6509.7544 VDWAALS = -1057.2050 + EELEC = -9620.5436 EGB = -2716.1586 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 31 TIME(PS) = 0.062 TEMP(K) = 171.70 PRESS = 0.0 + Etot = -3308.4600 EKtot = 1064.5351 EPtot = -4372.9951 + BOND = 322.6268 ANGLE = 843.2578 DIHED = 825.2954 + UB = 92.9250 IMP = 51.0835 CMAP = 0.0000 + 1-4 NB = 378.2741 1-4 EEL = 6509.9054 VDWAALS = -1058.7329 + EELEC = -9614.5964 EGB = -2723.0337 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 32 TIME(PS) = 0.064 TEMP(K) = 161.44 PRESS = 0.0 + Etot = -3300.9371 EKtot = 1000.9513 EPtot = -4301.8884 + BOND = 341.4857 ANGLE = 899.1062 DIHED = 822.6564 + UB = 97.1199 IMP = 47.7836 CMAP = 0.0000 + 1-4 NB = 379.6859 1-4 EEL = 6506.4120 VDWAALS = -1059.6904 + EELEC = -9606.6087 EGB = -2729.8390 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 33 TIME(PS) = 0.066 TEMP(K) = 158.26 PRESS = 0.0 + Etot = -3297.0336 EKtot = 981.1905 EPtot = -4278.2241 + BOND = 354.3920 ANGLE = 917.7320 DIHED = 818.2612 + UB = 100.3179 IMP = 43.2528 CMAP = 0.0000 + 1-4 NB = 381.7104 1-4 EEL = 6500.4237 VDWAALS = -1061.3746 + EELEC = -9596.7715 EGB = -2736.1681 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 34 TIME(PS) = 0.068 TEMP(K) = 166.99 PRESS = 0.0 + Etot = -3299.7183 EKtot = 1035.3309 EPtot = -4335.0493 + BOND = 349.1329 ANGLE = 876.2899 DIHED = 814.1755 + UB = 100.4096 IMP = 39.4567 CMAP = 0.0000 + 1-4 NB = 383.5362 1-4 EEL = 6493.7617 VDWAALS = -1064.0149 + EELEC = -9586.5016 EGB = -2741.2952 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 35 TIME(PS) = 0.070 TEMP(K) = 177.91 PRESS = 0.0 + Etot = -3303.9479 EKtot = 1103.0353 EPtot = -4406.9832 + BOND = 339.7784 ANGLE = 818.0765 DIHED = 812.9743 + UB = 99.1539 IMP = 38.1945 CMAP = 0.0000 + 1-4 NB = 385.4357 1-4 EEL = 6488.6422 VDWAALS = -1066.7817 + EELEC = -9577.5896 EGB = -2744.8673 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 36 TIME(PS) = 0.072 TEMP(K) = 178.13 PRESS = 0.0 + Etot = -3302.7057 EKtot = 1104.4270 EPtot = -4407.1327 + BOND = 343.5871 ANGLE = 805.9451 DIHED = 815.9721 + UB = 99.7080 IMP = 40.2346 CMAP = 0.0000 + 1-4 NB = 387.8216 1-4 EEL = 6487.1681 VDWAALS = -1068.8484 + EELEC = -9571.4173 EGB = -2747.3038 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 37 TIME(PS) = 0.074 TEMP(K) = 167.09 PRESS = 0.0 + Etot = -3295.5286 EKtot = 1035.9882 EPtot = -4331.5168 + BOND = 355.4078 ANGLE = 851.2845 DIHED = 822.0711 + UB = 102.5302 IMP = 44.9842 CMAP = 0.0000 + 1-4 NB = 390.2101 1-4 EEL = 6490.6675 VDWAALS = -1070.4963 + EELEC = -9568.6678 EGB = -2749.5083 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 38 TIME(PS) = 0.076 TEMP(K) = 157.29 PRESS = 0.0 + Etot = -3289.0163 EKtot = 975.2100 EPtot = -4264.2263 + BOND = 356.1050 ANGLE = 899.8348 DIHED = 828.5128 + UB = 104.6239 IMP = 50.7919 CMAP = 0.0000 + 1-4 NB = 391.2727 1-4 EEL = 6499.0987 VDWAALS = -1073.0374 + EELEC = -9569.1702 EGB = -2752.2587 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 39 TIME(PS) = 0.078 TEMP(K) = 159.66 PRESS = 0.0 + Etot = -3288.6635 EKtot = 989.8965 EPtot = -4278.5600 + BOND = 340.8204 ANGLE = 892.9213 DIHED = 832.9383 + UB = 102.9379 IMP = 55.6718 CMAP = 0.0000 + 1-4 NB = 390.1552 1-4 EEL = 6510.9512 VDWAALS = -1077.2562 + EELEC = -9571.8457 EGB = -2755.8543 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 40 TIME(PS) = 0.080 TEMP(K) = 171.34 PRESS = 0.0 + Etot = -3292.5999 EKtot = 1062.3004 EPtot = -4354.9003 + BOND = 326.0642 ANGLE = 834.2387 DIHED = 834.8194 + UB = 97.9014 IMP = 58.0538 CMAP = 0.0000 + 1-4 NB = 387.6377 1-4 EEL = 6523.7987 VDWAALS = -1082.2444 + EELEC = -9574.8480 EGB = -2760.3218 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 41 TIME(PS) = 0.082 TEMP(K) = 179.79 PRESS = 0.0 + Etot = -3294.4473 EKtot = 1114.7005 EPtot = -4409.1478 + BOND = 327.0084 ANGLE = 785.7568 DIHED = 835.1624 + UB = 93.1538 IMP = 57.2393 CMAP = 0.0000 + 1-4 NB = 385.3621 1-4 EEL = 6535.0525 VDWAALS = -1086.4267 + EELEC = -9575.7592 EGB = -2765.6972 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 42 TIME(PS) = 0.084 TEMP(K) = 177.13 PRESS = 0.0 + Etot = -3290.8990 EKtot = 1098.2057 EPtot = -4389.1047 + BOND = 338.1785 ANGLE = 798.9680 DIHED = 835.0474 + UB = 91.9426 IMP = 53.5538 CMAP = 0.0000 + 1-4 NB = 384.1773 1-4 EEL = 6542.5147 VDWAALS = -1089.2610 + EELEC = -9572.1606 EGB = -2772.0655 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 43 TIME(PS) = 0.086 TEMP(K) = 167.71 PRESS = 0.0 + Etot = -3284.7290 EKtot = 1039.8349 EPtot = -4324.5639 + BOND = 343.5605 ANGLE = 859.8563 DIHED = 834.5424 + UB = 94.0996 IMP = 48.2757 CMAP = 0.0000 + 1-4 NB = 383.6427 1-4 EEL = 6544.7889 VDWAALS = -1091.4207 + EELEC = -9562.8853 EGB = -2779.0238 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 44 TIME(PS) = 0.088 TEMP(K) = 162.00 PRESS = 0.0 + Etot = -3280.9240 EKtot = 1004.3802 EPtot = -4285.3042 + BOND = 339.3161 ANGLE = 906.1847 DIHED = 833.0409 + UB = 96.5408 IMP = 43.2266 CMAP = 0.0000 + 1-4 NB = 382.9714 1-4 EEL = 6541.5787 VDWAALS = -1093.6279 + EELEC = -9548.9475 EGB = -2785.5880 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 45 TIME(PS) = 0.090 TEMP(K) = 165.17 PRESS = 0.0 + Etot = -3281.2741 EKtot = 1024.0776 EPtot = -4305.3517 + BOND = 336.1921 ANGLE = 894.8224 DIHED = 830.4327 + UB = 96.5327 IMP = 40.0450 CMAP = 0.0000 + 1-4 NB = 382.2144 1-4 EEL = 6533.8080 VDWAALS = -1095.7351 + EELEC = -9532.9202 EGB = -2790.7438 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 46 TIME(PS) = 0.092 TEMP(K) = 172.87 PRESS = 0.0 + Etot = -3283.2634 EKtot = 1071.7706 EPtot = -4355.0340 + BOND = 340.7272 ANGLE = 845.6735 DIHED = 827.6258 + UB = 94.3084 IMP = 39.6089 CMAP = 0.0000 + 1-4 NB = 382.1693 1-4 EEL = 6523.3723 VDWAALS = -1097.0268 + EELEC = -9517.3137 EGB = -2794.1789 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 47 TIME(PS) = 0.094 TEMP(K) = 176.83 PRESS = 0.0 + Etot = -3283.2018 EKtot = 1096.3621 EPtot = -4379.5639 + BOND = 345.1963 ANGLE = 816.9428 DIHED = 825.7977 + UB = 92.4200 IMP = 41.9168 CMAP = 0.0000 + 1-4 NB = 383.1057 1-4 EEL = 6512.6260 VDWAALS = -1097.3144 + EELEC = -9503.6974 EGB = -2796.5574 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 48 TIME(PS) = 0.096 TEMP(K) = 173.57 PRESS = 0.0 + Etot = -3279.7969 EKtot = 1076.1122 EPtot = -4355.9090 + BOND = 340.4015 ANGLE = 841.0045 DIHED = 825.2375 + UB = 92.7432 IMP = 46.1609 CMAP = 0.0000 + 1-4 NB = 384.1562 1-4 EEL = 6503.7445 VDWAALS = -1097.3881 + EELEC = -9492.9061 EGB = -2799.0632 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 49 TIME(PS) = 0.098 TEMP(K) = 167.28 PRESS = 0.0 + Etot = -3275.0444 EKtot = 1037.1142 EPtot = -4312.1586 + BOND = 330.0153 ANGLE = 891.1854 DIHED = 825.1459 + UB = 94.5681 IMP = 50.8460 CMAP = 0.0000 + 1-4 NB = 384.0810 1-4 EEL = 6498.1201 VDWAALS = -1098.1694 + EELEC = -9485.2830 EGB = -2802.6679 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + NSTEP = 50 TIME(PS) = 0.100 TEMP(K) = 165.22 PRESS = 0.0 + Etot = -3272.1407 EKtot = 1024.3879 EPtot = -4296.5285 + BOND = 324.7541 ANGLE = 913.8332 DIHED = 824.5746 + UB = 95.8162 IMP = 54.1970 CMAP = 0.0000 + 1-4 NB = 382.4164 1-4 EEL = 6495.9256 VDWAALS = -1099.8473 + EELEC = -9480.2647 EGB = -2807.9337 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + A V E R A G E S O V E R 50 S T E P S + + + NSTEP = 50 TIME(PS) = 0.100 TEMP(K) = 171.63 PRESS = 0.0 + Etot = -3313.5942 EKtot = 1064.1023 EPtot = -4377.6965 + BOND = 329.2436 ANGLE = 856.3141 DIHED = 818.0396 + UB = 95.8564 IMP = 46.8342 CMAP = 0.0000 + 1-4 NB = 386.9802 1-4 EEL = 6491.7613 VDWAALS = -1037.6093 + EELEC = -9690.5554 EGB = -2674.5610 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + + + R M S F L U C T U A T I O N S + + + NSTEP = 50 TIME(PS) = 0.100 TEMP(K) = 27.19 PRESS = 0.0 + Etot = 23.1434 EKtot = 168.5607 EPtot = 174.3290 + BOND = 39.9844 ANGLE = 91.3138 DIHED = 15.2872 + UB = 14.2087 IMP = 9.4121 CMAP = 0.0000 + 1-4 NB = 6.2397 1-4 EEL = 23.3027 VDWAALS = 41.1173 + EELEC = 139.9399 EGB = 89.9692 RESTRAINT = 0.0000 + ------------------------------------------------------------------------------ + +-------------------------------------------------------------------------------- + 5. TIMINGS +-------------------------------------------------------------------------------- + +| NonSetup CPU Time in Major Routines, Average for All Tasks: +| +| Routine Sec % +| ------------------------------ +| DataDistrib 0.01 0.12 +| Nonbond 5.44 99.08 +| Bond 0.00 0.00 +| Angle 0.01 0.13 +| Dihedral 0.02 0.44 +| Shake 0.00 0.01 +| RunMD 0.01 0.20 +| Other 0.00 0.01 +| ------------------------------ +| Total 5.49 + +| Generalized Born CPU Time, Average for All Tasks: +| +| Routine Sec % +| ------------------------------------ +| Radii Calc 1.15 21.01 +| Diagonal Calc 2.21 40.24 +| Off Diagonal Calc 2.06 37.58 +| Radii Distrib 0.01 0.21 +| --------------------------------- +| Total 5.44 99.05 + +| Master Setup CPU time: 0.04 seconds +| Master NonSetup CPU time: 5.50 seconds +| Master Total CPU time: 5.54 seconds 0.00 hours + +| Master Setup wall time: 0 seconds +| Master NonSetup wall time: 6 seconds +| Master Total wall time: 6 seconds 0.00 hours diff -Nru test/chamber/md_engine/dhfr/prmtop test/chamber/md_engine/dhfr/prmtop --- test/chamber/md_engine/dhfr/prmtop 1969-12-31 16:00:00.000000000 -0800 +++ test/chamber/md_engine/dhfr/prmtop 2009-10-08 17:18:27.000000000 -0700 @@ -0,0 +1,12791 @@ +%VERSION VERSION_STAMP = V0001.000 DATE = 06/11/03 12:02:08 +%FLAG CTITLE +%FORMAT(a80) +* DHFR GAS PHASE MINIMIZATION +%FLAG POINTERS +%FORMAT(10I8) + 2489 33 1221 1302 2789 1772 4651 2349 0 0 + 13777 159 1302 1772 2349 66 149 279 33 0 + 0 0 0 0 0 0 0 0 25 0 + 0 +%FLAG FORCE_FIELD_TYPE +%FORMAT(i2,a78) + 1 CHARMM 31 *>>>>>>>>CHARMM22 All-Hydrogen Topology File for Proteins << +%FLAG ATOM_NAME +%FORMAT(20a4) +N HT1 HT2 HT3 CA HA CB HB1 HB2 CG HG1 HG2 SD CE HE1 HE2 HE3 C O N +HN CA HA CB HB CG2 HG21HG22HG23CG1 HG11HG12CD HD1 HD2 HD3 C O N HN +CA HA CB HB1 HB2 OG HG1 C O N HN CA HA CB HB1 HB2 CG HG CD1 HD11 +HD12HD13CD2 HD21HD22HD23C O N HN CA HA CB HB CG2 HG21HG22HG23CG1 HG11 +HG12CD HD1 HD2 HD3 C O N HN CA HA CB HB1 HB2 HB3 C O N HN CA +HA CB HB1 HB2 HB3 C O N HN CA HA CB HB1 HB2 CG HG CD1 HD11HD12HD13 +CD2 HD21HD22HD23C O N HN CA HA CB HB1 HB2 HB3 C O N HN CA HA +CB HB CG1 HG11HG12HG13CG2 HG21HG22HG23C O N HN CA HA CB HB1 HB2 CG +OD1 OD2 C O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD HD1 HD2 NE HE CZ +NH1 HH11HH12NH2 HH21HH22C O N HN CA HA CB HB CG1 HG11HG12HG13CG2 HG21 +HG22HG23C O N HN CA HA CB HB CG2 HG21HG22HG23CG1 HG11HG12CD HD1 HD2 +HD3 C O N HN CA HA1 HA2 C O N HN CA HA CB HB1 HB2 CG HG1 HG2 +SD CE HE1 HE2 HE3 C O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD OE1 OE2 +C O N HN CA HA CB HB1 HB2 CG OD1 ND2 HD21HD22C O N HN CA HA +CB HB1 HB2 HB3 C O N HN CA HA CB HB1 HB2 CG HG1 HG2 SD CE HE1 HE2 +HE3 C O N CD HD1 HD2 CA HA CB HB1 HB2 CG HG1 HG2 C O N HN CA +HA CB HB1 HB2 CG CD1 HD1 NE1 HE1 CE2 CD2 CE3 HE3 CZ3 HZ3 CZ2 HZ2 CH2 HH2 C +O N HN CA HA CB HB1 HB2 CG OD1 ND2 HD21HD22C O N HN CA HA CB +HB1 HB2 CG HG CD1 HD11HD12HD13CD2 HD21HD22HD23C O N CD HD1 HD2 CA HA +CB HB1 HB2 CG HG1 HG2 C O N HN CA HA CB HB1 HB2 HB3 C O N HN +CA HA CB HB1 HB2 CG OD1 OD2 C O N HN CA HA CB HB1 HB2 CG HG CD1 +HD11HD12HD13CD2 HD21HD22HD23C O N HN CA HA CB HB1 HB2 HB3 C O N +HN CA HA CB HB1 HB2 CG CD1 HD1 NE1 HE1 CE2 CD2 CE3 HE3 CZ3 HZ3 CZ2 HZ2 CH2 +HH2 C O N HN CA HA CB HB1 HB2 CG CD1 HD1 CE1 HE1 CZ HZ CD2 HD2 CE2 +HE2 C O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD HD1 HD2 CE HE1 HE2 NZ +HZ1 HZ2 HZ3 C O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD HD1 HD2 NE HE +CZ NH1 HH11HH12NH2 HH21HH22C O N HN CA HA CB HB1 HB2 CG OD1 ND2 HD21 +HD22C O N HN CA HA CB HB OG1 HG1 CG2 HG21HG22HG23C O N HN CA +HA CB HB1 HB2 CG HG CD1 HD11HD12HD13CD2 HD21HD22HD23C O N HN CA HA +CB HB1 HB2 CG OD1 OD2 C O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD HD1 +HD2 CE HE1 HE2 NZ HZ1 HZ2 HZ3 C O N CD HD1 HD2 CA HA CB HB1 HB2 CG +HG1 HG2 C O N HN CA HA CB HB CG1 HG11HG12HG13CG2 HG21HG22HG23C O +N HN CA HA CB HB CG2 HG21HG22HG23CG1 HG11HG12CD HD1 HD2 HD3 C O N +HN CA HA CB HB1 HB2 CG HG1 HG2 SD CE HE1 HE2 HE3 C O N HN CA HA1 +HA2 C O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD HD1 HD2 NE HE CZ NH1 +HH11HH12NH2 HH21HH22C O N HN CA HA CB HB1 HB2 ND1 HD1 CG CE1 HE1 NE2 +CD2 HD2 C O N HN CA HA CB HB OG1 HG1 CG2 HG21HG22HG23C O N HN +CA HA CB HB1 HB2 CG CD1 HD1 NE1 HE1 CE2 CD2 CE3 HE3 CZ3 HZ3 CZ2 HZ2 CH2 HH2 +C O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD OE1 OE2 C O N HN CA +HA CB HB1 HB2 OG HG1 C O N HN CA HA CB HB CG2 HG21HG22HG23CG1 HG11 +HG12CD HD1 HD2 HD3 C O N HN CA HA1 HA2 C O N HN CA HA CB HB1 +HB2 CG HG1 HG2 CD HD1 HD2 NE HE CZ NH1 HH11HH12NH2 HH21HH22C O N CD +HD1 HD2 CA HA CB HB1 HB2 CG HG1 HG2 C O N HN CA HA CB HB1 HB2 CG +HG CD1 HD11HD12HD13CD2 HD21HD22HD23C O N CD HD1 HD2 CA HA CB HB1 HB2 +CG HG1 HG2 C O N HN CA HA1 HA2 C O N HN CA HA CB HB1 HB2 CG +HG1 HG2 CD HD1 HD2 NE HE CZ NH1 HH11HH12NH2 HH21HH22C O N HN CA HA +CB HB1 HB2 CG HG1 HG2 CD HD1 HD2 CE HE1 HE2 NZ HZ1 HZ2 HZ3 C O N HN +CA HA CB HB1 HB2 CG OD1 ND2 HD21HD22C O N HN CA HA CB HB CG2 HG21 +HG22HG23CG1 HG11HG12CD HD1 HD2 HD3 C O N HN CA HA CB HB CG2 HG21HG22 +HG23CG1 HG11HG12CD HD1 HD2 HD3 C O N HN CA HA CB HB1 HB2 CG HG CD1 +HD11HD12HD13CD2 HD21HD22HD23C O N HN CA HA CB HB1 HB2 OG HG1 C O +N HN CA HA CB HB1 HB2 OG HG1 C O N HN CA HA CB HB1 HB2 CG HG1 +HG2 CD OE1 NE2 HE21HE22C O N CD HD1 HD2 CA HA CB HB1 HB2 CG HG1 HG2 +C O N HN CA HA1 HA2 C O N HN CA HA CB HB OG1 HG1 CG2 HG21HG22 +HG23C O N HN CA HA CB HB1 HB2 CG OD1 OD2 C O N HN CA HA CB +HB1 HB2 CG OD1 OD2 C O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD HD1 HD2 +NE HE CZ NH1 HH11HH12NH2 HH21HH22C O N HN CA HA CB HB CG1 HG11HG12 +HG13CG2 HG21HG22HG23C O N HN CA HA CB HB OG1 HG1 CG2 HG21HG22HG23C +O N HN CA HA CB HB1 HB2 CG CD1 HD1 NE1 HE1 CE2 CD2 CE3 HE3 CZ3 HZ3 CZ2 +HZ2 CH2 HH2 C O N HN CA HA CB HB CG1 HG11HG12HG13CG2 HG21HG22HG23C +O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD HD1 HD2 CE HE1 HE2 NZ HZ1 HZ2 +HZ3 C O N HN CA HA CB HB1 HB2 OG HG1 C O N HN CA HA CB HB +CG1 HG11HG12HG13CG2 HG21HG22HG23C O N HN CA HA CB HB1 HB2 CG OD1 OD2 +C O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD OE1 OE2 C O N HN CA +HA CB HB1 HB2 HB3 C O N HN CA HA CB HB CG2 HG21HG22HG23CG1 HG11HG12 +CD HD1 HD2 HD3 C O N HN CA HA CB HB1 HB2 HB3 C O N HN CA HA +CB HB1 HB2 HB3 C O N HN CA HA CB HB1 HB2 SG HG1 C O N HN CA +HA1 HA2 C O N HN CA HA CB HB1 HB2 CG OD1 OD2 C O N HN CA HA +CB HB CG1 HG11HG12HG13CG2 HG21HG22HG23C O N CD HD1 HD2 CA HA CB HB1 +HB2 CG HG1 HG2 C O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD OE1 OE2 C +O N HN CA HA CB HB CG2 HG21HG22HG23CG1 HG11HG12CD HD1 HD2 HD3 C O +N HN CA HA CB HB1 HB2 CG HG1 HG2 SD CE HE1 HE2 HE3 C O N HN CA +HA CB HB CG1 HG11HG12HG13CG2 HG21HG22HG23C O N HN CA HA CB HB CG2 +HG21HG22HG23CG1 HG11HG12CD HD1 HD2 HD3 C O N HN CA HA1 HA2 C O N +HN CA HA1 HA2 C O N HN CA HA1 HA2 C O N HN CA HA CB HB1 HB2 +CG HG1 HG2 CD HD1 HD2 NE HE CZ NH1 HH11HH12NH2 HH21HH22C O N HN CA +HA CB HB CG1 HG11HG12HG13CG2 HG21HG22HG23C O N HN CA HA CB HB1 HB2 +CG CD1 HD1 CE1 HE1 CZ OH HH CD2 HD2 CE2 HE2 C O N HN CA HA CB HB1 +HB2 CG HG1 HG2 CD OE1 OE2 C O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD +OE1 NE2 HE21HE22C O N HN CA HA CB HB1 HB2 CG CD1 HD1 CE1 HE1 CZ HZ +CD2 HD2 CE2 HE2 C O N HN CA HA CB HB1 HB2 CG HG CD1 HD11HD12HD13CD2 +HD21HD22HD23C O N CD HD1 HD2 CA HA CB HB1 HB2 CG HG1 HG2 C O N +HN CA HA CB HB1 HB2 CG HG1 HG2 CD HD1 HD2 CE HE1 HE2 NZ HZ1 HZ2 HZ3 C +O N HN CA HA CB HB1 HB2 HB3 C O N HN CA HA CB HB1 HB2 CG HG1 +HG2 CD OE1 NE2 HE21HE22C O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD HD1 +HD2 CE HE1 HE2 NZ HZ1 HZ2 HZ3 C O N HN CA HA CB HB1 HB2 CG HG CD1 +HD11HD12HD13CD2 HD21HD22HD23C O N HN CA HA CB HB1 HB2 CG CD1 HD1 CE1 +HE1 CZ OH HH CD2 HD2 CE2 HE2 C O N HN CA HA CB HB1 HB2 CG HG CD1 +HD11HD12HD13CD2 HD21HD22HD23C O N HN CA HA CB HB OG1 HG1 CG2 HG21HG22 +HG23C O N HN CA HA CB HB1 HB2 ND1 HD1 CG CE1 HE1 NE2 CD2 HD2 C O +N HN CA HA CB HB CG2 HG21HG22HG23CG1 HG11HG12CD HD1 HD2 HD3 C O N +HN CA HA CB HB1 HB2 CG OD1 OD2 C O N HN CA HA CB HB1 HB2 HB3 C +O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD OE1 OE2 C O N HN CA HA +CB HB CG1 HG11HG12HG13CG2 HG21HG22HG23C O N HN CA HA CB HB1 HB2 CG +HG1 HG2 CD OE1 OE2 C O N HN CA HA1 HA2 C O N HN CA HA CB HB1 +HB2 CG OD1 OD2 C O N HN CA HA CB HB OG1 HG1 CG2 HG21HG22HG23C O +N HN CA HA CB HB1 HB2 ND1 HD1 CG CE1 HE1 NE2 CD2 HD2 C O N HN CA +HA CB HB1 HB2 CG CD1 HD1 CE1 HE1 CZ HZ CD2 HD2 CE2 HE2 C O N CD HD1 +HD2 CA HA CB HB1 HB2 CG HG1 HG2 C O N HN CA HA CB HB1 HB2 CG OD1 +OD2 C O N HN CA HA CB HB1 HB2 CG CD1 HD1 CE1 HE1 CZ OH HH CD2 HD2 +CE2 HE2 C O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD OE1 OE2 C O N +CD HD1 HD2 CA HA CB HB1 HB2 CG HG1 HG2 C O N HN CA HA CB HB1 HB2 +CG OD1 OD2 C O N HN CA HA CB HB1 HB2 CG OD1 OD2 C O N HN CA +HA CB HB1 HB2 CG CD1 HD1 NE1 HE1 CE2 CD2 CE3 HE3 CZ3 HZ3 CZ2 HZ2 CH2 HH2 C +O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD OE1 OE2 C O N HN CA HA +CB HB1 HB2 OG HG1 C O N HN CA HA CB HB CG1 HG11HG12HG13CG2 HG21HG22 +HG23C O N HN CA HA CB HB1 HB2 CG CD1 HD1 CE1 HE1 CZ HZ CD2 HD2 CE2 +HE2 C O N HN CA HA CB HB1 HB2 OG HG1 C O N HN CA HA CB HB1 +HB2 CG HG1 HG2 CD OE1 OE2 C O N HN CA HA CB HB1 HB2 CG CD1 HD1 CE1 +HE1 CZ HZ CD2 HD2 CE2 HE2 C O N HN CA HA CB HB1 HB2 ND1 HD1 CG CE1 +HE1 NE2 CD2 HD2 C O N HN CA HA CB HB1 HB2 CG OD1 OD2 C O N HN +CA HA CB HB1 HB2 HB3 C O N HN CA HA CB HB1 HB2 CG OD1 OD2 C O +N HN CA HA CB HB1 HB2 HB3 C O N HN CA HA CB HB1 HB2 CG HG1 HG2 +CD OE1 NE2 HE21HE22C O N HN CA HA CB HB1 HB2 CG OD1 ND2 HD21HD22C +O N HN CA HA CB HB1 HB2 OG HG1 C O N HN CA HA CB HB1 HB2 ND1 +HD1 CG CE1 HE1 NE2 CD2 HD2 C O N HN CA HA CB HB1 HB2 OG HG1 C O +N HN CA HA CB HB1 HB2 CG CD1 HD1 CE1 HE1 CZ OH HH CD2 HD2 CE2 HE2 C +O N HN CA HA CB HB1 HB2 SG HG1 C O N HN CA HA CB HB1 HB2 CG +CD1 HD1 CE1 HE1 CZ HZ CD2 HD2 CE2 HE2 C O N HN CA HA CB HB1 HB2 CG +HG1 HG2 CD OE1 OE2 C O N HN CA HA CB HB CG2 HG21HG22HG23CG1 HG11HG12 +CD HD1 HD2 HD3 C O N HN CA HA CB HB1 HB2 CG HG CD1 HD11HD12HD13CD2 +HD21HD22HD23C O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD OE1 OE2 C O +N HN CA HA CB HB1 HB2 CG HG1 HG2 CD HD1 HD2 NE HE CZ NH1 HH11HH12NH2 +HH21HH22C O N HN CA HA CB HB1 HB2 CG HG1 HG2 CD HD1 HD2 NE HE CZ +NH1 HH11HH12NH2 HH21HH22C OT1 OT2 +%FLAG CHARGE +%FORMAT(5e16.8) + -0.54668495E+01 0.60135345E+01 0.60135345E+01 0.60135345E+01 0.38267947E+01 + 0.18222832E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.25511965E+01 + 0.16400549E+01 0.16400549E+01 -0.16400549E+01 -0.40090230E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 0.91114159E+00 0.16400549E+01 0.16400549E+01 + -0.12027069E+02 0.78358177E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.16400549E+01 + 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.51023929E+01 0.16400549E+01 0.16400549E+01 0.11298156E+02 + -0.13849352E+02 -0.13849352E+02 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.36445664E+01 + 0.16400549E+01 0.16400549E+01 -0.12755982E+02 0.80180460E+01 0.11662612E+02 + -0.14578265E+02 0.83825026E+01 0.83825026E+01 -0.14578265E+02 0.83825026E+01 + 0.83825026E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + -0.36445664E+00 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 -0.25511965E+01 0.16400549E+01 0.16400549E+01 + -0.16400549E+01 -0.40090230E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.51023929E+01 + 0.16400549E+01 0.16400549E+01 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.10022558E+02 + -0.10022558E+02 -0.11298156E+02 0.58313062E+01 0.54668495E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.25511965E+01 0.16400549E+01 + 0.16400549E+01 -0.16400549E+01 -0.40090230E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.52846212E+01 0.00000000E+00 + 0.16400549E+01 0.16400549E+01 0.36445664E+00 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.54668495E+00 + 0.63779911E+00 0.20956257E+01 -0.11115927E+02 0.69246761E+01 0.23689681E+01 + -0.36445664E+00 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 + -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.10022558E+02 -0.10022558E+02 + -0.11298156E+02 0.58313062E+01 0.54668495E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.52846212E+01 + 0.00000000E+00 0.16400549E+01 0.16400549E+01 0.36445664E+00 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.51023929E+01 0.16400549E+01 0.16400549E+01 + 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.54668495E+00 0.63779911E+00 0.20956257E+01 -0.11115927E+02 + 0.69246761E+01 0.23689681E+01 -0.36445664E+00 -0.20956257E+01 0.20956257E+01 + -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 + 0.20956257E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + 0.00000000E+00 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 + -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 + 0.20956257E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 0.38267947E+01 0.91114159E+00 0.91114159E+00 -0.54668495E+01 + 0.60135345E+01 0.60135345E+01 0.60135345E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + 0.36445664E+01 0.16400549E+01 0.16400549E+01 -0.12755982E+02 0.80180460E+01 + 0.11662612E+02 -0.14578265E+02 0.83825026E+01 0.83825026E+01 -0.14578265E+02 + 0.83825026E+01 0.83825026E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 0.10022558E+02 -0.10022558E+02 -0.11298156E+02 0.58313062E+01 + 0.54668495E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 0.25511965E+01 0.16400549E+01 -0.12027069E+02 + 0.78358177E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.16400549E+01 + 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.51023929E+01 0.16400549E+01 0.16400549E+01 0.11298156E+02 -0.13849352E+02 + -0.13849352E+02 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 0.38267947E+01 0.91114159E+00 0.91114159E+00 -0.54668495E+01 + 0.60135345E+01 0.60135345E+01 0.60135345E+01 0.92936442E+01 -0.92936442E+01 + -0.52846212E+01 0.00000000E+00 0.16400549E+01 0.16400549E+01 0.36445664E+00 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.16400549E+01 + 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.25511965E+01 0.16400549E+01 0.16400549E+01 -0.16400549E+01 + -0.40090230E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 -0.36445664E+00 0.16400549E+01 + 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.36445664E+01 0.16400549E+01 + 0.16400549E+01 -0.12755982E+02 0.80180460E+01 0.11662612E+02 -0.14578265E+02 + 0.83825026E+01 0.83825026E+01 -0.14578265E+02 0.83825026E+01 0.83825026E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.65602195E+01 + 0.58313062E+01 -0.91114159E+00 0.45557080E+01 0.23689681E+01 -0.12755982E+02 + 0.40090230E+01 0.18222832E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 0.25511965E+01 0.16400549E+01 + -0.12027069E+02 0.78358177E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + -0.54668495E+00 0.63779911E+00 0.20956257E+01 -0.11115927E+02 0.69246761E+01 + 0.23689681E+01 -0.36445664E+00 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 + 0.20956257E+01 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.51023929E+01 + 0.16400549E+01 0.16400549E+01 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 0.91114159E+00 0.16400549E+01 0.16400549E+01 -0.12027069E+02 + 0.78358177E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 -0.36445664E+00 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.36445664E+01 + 0.16400549E+01 0.16400549E+01 -0.12755982E+02 0.80180460E+01 0.11662612E+02 + -0.14578265E+02 0.83825026E+01 0.83825026E+01 -0.14578265E+02 0.83825026E+01 + 0.83825026E+01 0.92936442E+01 -0.92936442E+01 -0.52846212E+01 0.00000000E+00 + 0.16400549E+01 0.16400549E+01 0.36445664E+00 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.16400549E+01 + 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.52846212E+01 0.00000000E+00 0.16400549E+01 0.16400549E+01 + 0.36445664E+00 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 -0.36445664E+00 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 0.36445664E+01 0.16400549E+01 0.16400549E+01 + -0.12755982E+02 0.80180460E+01 0.11662612E+02 -0.14578265E+02 0.83825026E+01 + 0.83825026E+01 -0.14578265E+02 0.83825026E+01 0.83825026E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.38267947E+01 + 0.91114159E+00 0.91114159E+00 -0.54668495E+01 0.60135345E+01 0.60135345E+01 + 0.60135345E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + 0.10022558E+02 -0.10022558E+02 -0.11298156E+02 0.58313062E+01 0.54668495E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 0.91114159E+00 0.16400549E+01 + 0.16400549E+01 -0.12027069E+02 0.78358177E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 0.91114159E+00 + 0.16400549E+01 0.16400549E+01 -0.12027069E+02 0.78358177E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 0.10022558E+02 -0.10022558E+02 -0.11298156E+02 0.58313062E+01 + 0.54668495E+01 0.92936442E+01 -0.92936442E+01 -0.52846212E+01 0.00000000E+00 + 0.16400549E+01 0.16400549E+01 0.36445664E+00 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 -0.36445664E+00 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 0.25511965E+01 0.16400549E+01 + -0.12027069E+02 0.78358177E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.51023929E+01 0.16400549E+01 0.16400549E+01 + 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.51023929E+01 + 0.16400549E+01 0.16400549E+01 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 0.36445664E+01 0.16400549E+01 0.16400549E+01 + -0.12755982E+02 0.80180460E+01 0.11662612E+02 -0.14578265E+02 0.83825026E+01 + 0.83825026E+01 -0.14578265E+02 0.83825026E+01 0.83825026E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 0.25511965E+01 0.16400549E+01 -0.12027069E+02 0.78358177E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.54668495E+00 0.63779911E+00 + 0.20956257E+01 -0.11115927E+02 0.69246761E+01 0.23689681E+01 -0.36445664E+00 + -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 + 0.20956257E+01 -0.20956257E+01 0.20956257E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.16400549E+01 + 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.38267947E+01 + 0.91114159E+00 0.91114159E+00 -0.54668495E+01 0.60135345E+01 0.60135345E+01 + 0.60135345E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 0.91114159E+00 0.16400549E+01 0.16400549E+01 + -0.12027069E+02 0.78358177E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.51023929E+01 + 0.16400549E+01 0.16400549E+01 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.51023929E+01 + 0.16400549E+01 0.16400549E+01 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.20045115E+01 0.16400549E+01 0.16400549E+01 -0.41912513E+01 0.29156531E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 -0.36445664E+00 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.51023929E+01 0.16400549E+01 + 0.16400549E+01 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.52846212E+01 0.00000000E+00 0.16400549E+01 + 0.16400549E+01 0.36445664E+00 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.51023929E+01 0.16400549E+01 + 0.16400549E+01 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 -0.25511965E+01 0.16400549E+01 0.16400549E+01 + -0.16400549E+01 -0.40090230E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 -0.36445664E+00 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 -0.36445664E+00 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 -0.36445664E+00 0.16400549E+01 + 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.36445664E+01 0.16400549E+01 + 0.16400549E+01 -0.12755982E+02 0.80180460E+01 0.11662612E+02 -0.14578265E+02 + 0.83825026E+01 0.83825026E+01 -0.14578265E+02 0.83825026E+01 0.83825026E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + 0.00000000E+00 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 + 0.20045115E+01 -0.98403292E+01 0.78358177E+01 -0.20956257E+01 0.20956257E+01 + -0.20956257E+01 0.20956257E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.51023929E+01 0.16400549E+01 0.16400549E+01 0.11298156E+02 + -0.13849352E+02 -0.13849352E+02 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.10022558E+02 + -0.10022558E+02 -0.11298156E+02 0.58313062E+01 0.54668495E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.00000000E+00 -0.20956257E+01 + 0.20956257E+01 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 + -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 + -0.52846212E+01 0.00000000E+00 0.16400549E+01 0.16400549E+01 0.36445664E+00 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 0.38267947E+01 0.91114159E+00 0.91114159E+00 + -0.54668495E+01 0.60135345E+01 0.60135345E+01 0.60135345E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 0.10022558E+02 -0.10022558E+02 -0.11298156E+02 0.58313062E+01 + 0.54668495E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 0.38267947E+01 0.91114159E+00 0.91114159E+00 -0.54668495E+01 + 0.60135345E+01 0.60135345E+01 0.60135345E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 0.00000000E+00 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 + 0.20956257E+01 0.20045115E+01 -0.98403292E+01 0.78358177E+01 -0.20956257E+01 + 0.20956257E+01 -0.20956257E+01 0.20956257E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 0.25511965E+01 0.16400549E+01 + -0.12027069E+02 0.78358177E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 0.16400549E+01 + -0.65602195E+01 0.58313062E+01 -0.91114159E+00 0.45557080E+01 0.23689681E+01 + -0.12755982E+02 0.40090230E+01 0.18222832E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.16400549E+01 + 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.51023929E+01 0.16400549E+01 + 0.16400549E+01 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.51023929E+01 0.16400549E+01 + 0.16400549E+01 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.51023929E+01 + 0.16400549E+01 0.16400549E+01 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 -0.36445664E+00 + 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.51023929E+01 0.16400549E+01 + 0.16400549E+01 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + 0.25511965E+01 0.16400549E+01 -0.12027069E+02 0.78358177E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.16400549E+01 + 0.16400549E+01 0.16400549E+01 -0.65602195E+01 0.58313062E+01 -0.91114159E+00 + 0.45557080E+01 0.23689681E+01 -0.12755982E+02 0.40090230E+01 0.18222832E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.00000000E+00 + -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 + 0.20956257E+01 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 + 0.92936442E+01 -0.92936442E+01 -0.52846212E+01 0.00000000E+00 0.16400549E+01 + 0.16400549E+01 0.36445664E+00 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.51023929E+01 0.16400549E+01 0.16400549E+01 0.11298156E+02 -0.13849352E+02 + -0.13849352E+02 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + 0.00000000E+00 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 + 0.20045115E+01 -0.98403292E+01 0.78358177E+01 -0.20956257E+01 0.20956257E+01 + -0.20956257E+01 0.20956257E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.51023929E+01 0.16400549E+01 0.16400549E+01 0.11298156E+02 + -0.13849352E+02 -0.13849352E+02 0.92936442E+01 -0.92936442E+01 -0.52846212E+01 + 0.00000000E+00 0.16400549E+01 0.16400549E+01 0.36445664E+00 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.51023929E+01 0.16400549E+01 0.16400549E+01 + 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.51023929E+01 + 0.16400549E+01 0.16400549E+01 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.54668495E+00 + 0.63779911E+00 0.20956257E+01 -0.11115927E+02 0.69246761E+01 0.23689681E+01 + -0.36445664E+00 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 + -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.51023929E+01 0.16400549E+01 + 0.16400549E+01 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + 0.91114159E+00 0.16400549E+01 0.16400549E+01 -0.12027069E+02 0.78358177E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + 0.00000000E+00 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 + -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 + 0.20956257E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 0.91114159E+00 0.16400549E+01 0.16400549E+01 + -0.12027069E+02 0.78358177E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.51023929E+01 0.16400549E+01 0.16400549E+01 0.11298156E+02 + -0.13849352E+02 -0.13849352E+02 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 0.00000000E+00 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 + 0.20956257E+01 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 + -0.20956257E+01 0.20956257E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 + 0.16400549E+01 -0.65602195E+01 0.58313062E+01 -0.91114159E+00 0.45557080E+01 + 0.23689681E+01 -0.12755982E+02 0.40090230E+01 0.18222832E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.51023929E+01 0.16400549E+01 0.16400549E+01 0.11298156E+02 -0.13849352E+02 + -0.13849352E+02 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 0.16400549E+01 + 0.16400549E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 + 0.12755982E+01 0.16400549E+01 -0.51023929E+01 0.16400549E+01 0.16400549E+01 + 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + 0.10022558E+02 -0.10022558E+02 -0.11298156E+02 0.58313062E+01 0.54668495E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.10022558E+02 + -0.10022558E+02 -0.11298156E+02 0.58313062E+01 0.54668495E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + 0.91114159E+00 0.16400549E+01 0.16400549E+01 -0.12027069E+02 0.78358177E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.65602195E+01 + 0.58313062E+01 -0.91114159E+00 0.45557080E+01 0.23689681E+01 -0.12755982E+02 + 0.40090230E+01 0.18222832E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 0.91114159E+00 0.16400549E+01 + 0.16400549E+01 -0.12027069E+02 0.78358177E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 0.00000000E+00 -0.20956257E+01 0.20956257E+01 + -0.20956257E+01 0.20956257E+01 0.20045115E+01 -0.98403292E+01 0.78358177E+01 + -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.20045115E+01 0.16400549E+01 0.16400549E+01 -0.41912513E+01 0.29156531E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.00000000E+00 + -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 + 0.20956257E+01 -0.20956257E+01 0.20956257E+01 -0.20956257E+01 0.20956257E+01 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.51023929E+01 + 0.16400549E+01 0.16400549E+01 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 + 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 + 0.16400549E+01 -0.16400549E+01 0.16400549E+01 -0.49201646E+01 0.16400549E+01 + 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 + -0.92936442E+01 -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 + -0.32801097E+01 0.16400549E+01 0.16400549E+01 -0.16400549E+01 0.16400549E+01 + -0.49201646E+01 0.16400549E+01 0.16400549E+01 0.16400549E+01 -0.49201646E+01 + 0.16400549E+01 0.16400549E+01 0.16400549E+01 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 -0.51023929E+01 0.16400549E+01 0.16400549E+01 + 0.11298156E+02 -0.13849352E+02 -0.13849352E+02 0.92936442E+01 -0.92936442E+01 + -0.85647310E+01 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 + 0.16400549E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 + 0.36445664E+01 0.16400549E+01 0.16400549E+01 -0.12755982E+02 0.80180460E+01 + 0.11662612E+02 -0.14578265E+02 0.83825026E+01 0.83825026E+01 -0.14578265E+02 + 0.83825026E+01 0.83825026E+01 0.92936442E+01 -0.92936442E+01 -0.85647310E+01 + 0.56490779E+01 0.12755982E+01 0.16400549E+01 -0.32801097E+01 0.16400549E+01 + 0.16400549E+01 -0.32801097E+01 0.16400549E+01 0.16400549E+01 0.36445664E+01 + 0.16400549E+01 0.16400549E+01 -0.12755982E+02 0.80180460E+01 0.11662612E+02 + -0.14578265E+02 0.83825026E+01 0.83825026E+01 -0.14578265E+02 0.83825026E+01 + 0.83825026E+01 0.61957628E+01 -0.12209297E+02 -0.12209297E+02 +%FLAG MASS +%FORMAT(5e16.8) + 0.14007000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.32060000E+02 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.15999000E+02 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.15999000E+02 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.14007000E+02 0.10080000E+01 0.10080000E+01 0.14007000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.32060000E+02 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.15999000E+02 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.32060000E+02 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.12011000E+02 0.10080000E+01 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.12011000E+02 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.15999000E+02 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.12011000E+02 0.10080000E+01 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.12011000E+02 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.14007000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.14007000E+02 0.10080000E+01 0.10080000E+01 0.14007000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.15999000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.15999000E+02 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.14007000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.32060000E+02 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.14007000E+02 + 0.10080000E+01 0.10080000E+01 0.14007000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.12011000E+02 0.10080000E+01 0.14007000E+02 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.15999000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.12011000E+02 0.10080000E+01 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.12011000E+02 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.15999000E+02 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.15999000E+02 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.14007000E+02 0.10080000E+01 0.10080000E+01 0.14007000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.14007000E+02 0.10080000E+01 + 0.10080000E+01 0.14007000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.14007000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.15999000E+02 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.15999000E+02 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.15999000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.15999000E+02 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.15999000E+02 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.14007000E+02 0.10080000E+01 + 0.10080000E+01 0.14007000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.15999000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.12011000E+02 + 0.10080000E+01 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.12011000E+02 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.14007000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.15999000E+02 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.15999000E+02 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.15999000E+02 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.32060000E+02 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.15999000E+02 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.15999000E+02 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.32060000E+02 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.14007000E+02 + 0.10080000E+01 0.10080000E+01 0.14007000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.15999000E+02 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.14007000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.14007000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.15999000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.12011000E+02 0.10080000E+01 + 0.14007000E+02 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.15999000E+02 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.15999000E+02 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.15999000E+02 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.15999000E+02 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.15999000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.12011000E+02 0.10080000E+01 0.14007000E+02 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.15999000E+02 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.15999000E+02 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.15999000E+02 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.15999000E+02 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.12011000E+02 0.10080000E+01 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.12011000E+02 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.15999000E+02 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.15999000E+02 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.15999000E+02 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.15999000E+02 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.12011000E+02 + 0.10080000E+01 0.14007000E+02 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.15999000E+02 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.15999000E+02 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.15999000E+02 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.12011000E+02 0.10080000E+01 0.14007000E+02 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.15999000E+02 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.32060000E+02 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.15999000E+02 + 0.12011000E+02 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.15999000E+02 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.15999000E+02 0.15999000E+02 0.12011000E+02 0.15999000E+02 + 0.14007000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 + 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.14007000E+02 0.10080000E+01 + 0.12011000E+02 0.14007000E+02 0.10080000E+01 0.10080000E+01 0.14007000E+02 + 0.10080000E+01 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.14007000E+02 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.12011000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.10080000E+01 0.10080000E+01 0.12011000E+02 + 0.10080000E+01 0.10080000E+01 0.14007000E+02 0.10080000E+01 0.12011000E+02 + 0.14007000E+02 0.10080000E+01 0.10080000E+01 0.14007000E+02 0.10080000E+01 + 0.10080000E+01 0.12011000E+02 0.15999000E+02 0.15999000E+02 +%FLAG ATOM_TYPE_INDEX +%FORMAT(10i8) + 27 2 2 2 11 5 12 3 3 12 + 3 3 33 13 3 3 3 9 30 25 + 1 11 5 11 3 13 3 3 3 12 + 3 3 13 3 3 3 9 30 25 1 + 11 5 12 3 3 32 1 9 30 25 + 1 11 5 12 3 3 11 3 13 3 + 3 3 13 3 3 3 9 30 25 1 + 11 5 11 3 13 3 3 3 12 3 + 3 13 3 3 3 9 30 25 1 11 + 5 13 3 3 3 9 30 25 1 11 + 5 13 3 3 3 9 30 25 1 11 + 5 12 3 3 11 3 13 3 3 3 + 13 3 3 3 9 30 25 1 11 5 + 13 3 3 3 9 30 25 1 11 5 + 11 3 13 3 3 3 13 3 3 3 + 9 30 25 1 11 5 12 3 3 21 + 31 31 9 30 25 1 11 5 12 3 + 3 12 3 3 12 3 3 28 2 9 + 28 2 2 28 2 2 9 30 25 1 + 11 5 11 3 13 3 3 3 13 3 + 3 3 9 30 25 1 11 5 11 3 + 13 3 3 3 12 3 3 13 3 3 + 3 9 30 25 1 12 5 5 9 30 + 25 1 11 5 12 3 3 12 3 3 + 33 13 3 3 3 9 30 25 1 11 + 5 12 3 3 12 3 3 21 31 31 + 9 30 25 1 11 5 12 3 3 21 + 30 26 1 1 9 30 25 1 11 5 + 13 3 3 3 9 30 25 1 11 5 + 12 3 3 12 3 3 33 13 3 3 + 3 9 30 22 20 3 3 18 5 19 + 3 3 19 3 3 9 30 25 1 11 + 5 12 3 3 17 10 4 29 1 16 + 16 10 4 10 4 10 4 10 4 9 + 30 25 1 11 5 12 3 3 21 30 + 26 1 1 9 30 25 1 11 5 12 + 3 3 11 3 13 3 3 3 13 3 + 3 3 9 30 22 20 3 3 18 5 + 19 3 3 19 3 3 9 30 25 1 + 11 5 13 3 3 3 9 30 25 1 + 11 5 12 3 3 21 31 31 9 30 + 25 1 11 5 12 3 3 11 3 13 + 3 3 3 13 3 3 3 9 30 25 + 1 11 5 13 3 3 3 9 30 25 + 1 11 5 12 3 3 17 10 4 29 + 1 16 16 10 4 10 4 10 4 10 + 4 9 30 25 1 11 5 12 3 3 + 10 10 4 10 4 10 4 10 4 10 + 4 9 30 25 1 11 5 12 3 3 + 12 3 3 12 3 3 12 3 3 27 + 2 2 2 9 30 25 1 11 5 12 + 3 3 12 3 3 12 3 3 28 2 + 9 28 2 2 28 2 2 9 30 25 + 1 11 5 12 3 3 21 30 26 1 + 1 9 30 25 1 11 5 11 3 32 + 1 13 3 3 3 9 30 25 1 11 + 5 12 3 3 11 3 13 3 3 3 + 13 3 3 3 9 30 25 1 11 5 + 12 3 3 21 31 31 9 30 25 1 + 11 5 12 3 3 12 3 3 12 3 + 3 12 3 3 27 2 2 2 9 30 + 22 20 3 3 18 5 19 3 3 19 + 3 3 9 30 25 1 11 5 11 3 + 13 3 3 3 13 3 3 3 9 30 + 25 1 11 5 11 3 13 3 3 3 + 12 3 3 13 3 3 3 9 30 25 + 1 11 5 12 3 3 12 3 3 33 + 13 3 3 3 9 30 25 1 12 5 + 5 9 30 25 1 11 5 12 3 3 + 12 3 3 12 3 3 28 2 9 28 + 2 2 28 2 2 9 30 25 1 11 + 5 12 3 3 23 1 14 15 6 24 + 14 7 9 30 25 1 11 5 11 3 + 32 1 13 3 3 3 9 30 25 1 + 11 5 12 3 3 17 10 4 29 1 + 16 16 10 4 10 4 10 4 10 4 + 9 30 25 1 11 5 12 3 3 12 + 3 3 21 31 31 9 30 25 1 11 + 5 12 3 3 32 1 9 30 25 1 + 11 5 11 3 13 3 3 3 12 3 + 3 13 3 3 3 9 30 25 1 12 + 5 5 9 30 25 1 11 5 12 3 + 3 12 3 3 12 3 3 28 2 9 + 28 2 2 28 2 2 9 30 22 20 + 3 3 18 5 19 3 3 19 3 3 + 9 30 25 1 11 5 12 3 3 11 + 3 13 3 3 3 13 3 3 3 9 + 30 22 20 3 3 18 5 19 3 3 + 19 3 3 9 30 25 1 12 5 5 + 9 30 25 1 11 5 12 3 3 12 + 3 3 12 3 3 28 2 9 28 2 + 2 28 2 2 9 30 25 1 11 5 + 12 3 3 12 3 3 12 3 3 12 + 3 3 27 2 2 2 9 30 25 1 + 11 5 12 3 3 21 30 26 1 1 + 9 30 25 1 11 5 11 3 13 3 + 3 3 12 3 3 13 3 3 3 9 + 30 25 1 11 5 11 3 13 3 3 + 3 12 3 3 13 3 3 3 9 30 + 25 1 11 5 12 3 3 11 3 13 + 3 3 3 13 3 3 3 9 30 25 + 1 11 5 12 3 3 32 1 9 30 + 25 1 11 5 12 3 3 32 1 9 + 30 25 1 11 5 12 3 3 12 3 + 3 21 30 26 1 1 9 30 22 20 + 3 3 18 5 19 3 3 19 3 3 + 9 30 25 1 12 5 5 9 30 25 + 1 11 5 11 3 32 1 13 3 3 + 3 9 30 25 1 11 5 12 3 3 + 21 31 31 9 30 25 1 11 5 12 + 3 3 21 31 31 9 30 25 1 11 + 5 12 3 3 12 3 3 12 3 3 + 28 2 9 28 2 2 28 2 2 9 + 30 25 1 11 5 11 3 13 3 3 + 3 13 3 3 3 9 30 25 1 11 + 5 11 3 32 1 13 3 3 3 9 + 30 25 1 11 5 12 3 3 17 10 + 4 29 1 16 16 10 4 10 4 10 + 4 10 4 9 30 25 1 11 5 11 + 3 13 3 3 3 13 3 3 3 9 + 30 25 1 11 5 12 3 3 12 3 + 3 12 3 3 12 3 3 27 2 2 + 2 9 30 25 1 11 5 12 3 3 + 32 1 9 30 25 1 11 5 11 3 + 13 3 3 3 13 3 3 3 9 30 + 25 1 11 5 12 3 3 21 31 31 + 9 30 25 1 11 5 12 3 3 12 + 3 3 21 31 31 9 30 25 1 11 + 5 13 3 3 3 9 30 25 1 11 + 5 11 3 13 3 3 3 12 3 3 + 13 3 3 3 9 30 25 1 11 5 + 13 3 3 3 9 30 25 1 11 5 + 13 3 3 3 9 30 25 1 11 5 + 12 3 3 33 8 9 30 25 1 12 + 5 5 9 30 25 1 11 5 12 3 + 3 21 31 31 9 30 25 1 11 5 + 11 3 13 3 3 3 13 3 3 3 + 9 30 22 20 3 3 18 5 19 3 + 3 19 3 3 9 30 25 1 11 5 + 12 3 3 12 3 3 21 31 31 9 + 30 25 1 11 5 11 3 13 3 3 + 3 12 3 3 13 3 3 3 9 30 + 25 1 11 5 12 3 3 12 3 3 + 33 13 3 3 3 9 30 25 1 11 + 5 11 3 13 3 3 3 13 3 3 + 3 9 30 25 1 11 5 11 3 13 + 3 3 3 12 3 3 13 3 3 3 + 9 30 25 1 12 5 5 9 30 25 + 1 12 5 5 9 30 25 1 12 5 + 5 9 30 25 1 11 5 12 3 3 + 12 3 3 12 3 3 28 2 9 28 + 2 2 28 2 2 9 30 25 1 11 + 5 11 3 13 3 3 3 13 3 3 + 3 9 30 25 1 11 5 12 3 3 + 10 10 4 10 4 10 32 1 10 4 + 10 4 9 30 25 1 11 5 12 3 + 3 12 3 3 21 31 31 9 30 25 + 1 11 5 12 3 3 12 3 3 21 + 30 26 1 1 9 30 25 1 11 5 + 12 3 3 10 10 4 10 4 10 4 + 10 4 10 4 9 30 25 1 11 5 + 12 3 3 11 3 13 3 3 3 13 + 3 3 3 9 30 22 20 3 3 18 + 5 19 3 3 19 3 3 9 30 25 + 1 11 5 12 3 3 12 3 3 12 + 3 3 12 3 3 27 2 2 2 9 + 30 25 1 11 5 13 3 3 3 9 + 30 25 1 11 5 12 3 3 12 3 + 3 21 30 26 1 1 9 30 25 1 + 11 5 12 3 3 12 3 3 12 3 + 3 12 3 3 27 2 2 2 9 30 + 25 1 11 5 12 3 3 11 3 13 + 3 3 3 13 3 3 3 9 30 25 + 1 11 5 12 3 3 10 10 4 10 + 4 10 32 1 10 4 10 4 9 30 + 25 1 11 5 12 3 3 11 3 13 + 3 3 3 13 3 3 3 9 30 25 + 1 11 5 11 3 32 1 13 3 3 + 3 9 30 25 1 11 5 12 3 3 + 23 1 14 15 6 24 14 7 9 30 + 25 1 11 5 11 3 13 3 3 3 + 12 3 3 13 3 3 3 9 30 25 + 1 11 5 12 3 3 21 31 31 9 + 30 25 1 11 5 13 3 3 3 9 + 30 25 1 11 5 12 3 3 12 3 + 3 21 31 31 9 30 25 1 11 5 + 11 3 13 3 3 3 13 3 3 3 + 9 30 25 1 11 5 12 3 3 12 + 3 3 21 31 31 9 30 25 1 12 + 5 5 9 30 25 1 11 5 12 3 + 3 21 31 31 9 30 25 1 11 5 + 11 3 32 1 13 3 3 3 9 30 + 25 1 11 5 12 3 3 23 1 14 + 15 6 24 14 7 9 30 25 1 11 + 5 12 3 3 10 10 4 10 4 10 + 4 10 4 10 4 9 30 22 20 3 + 3 18 5 19 3 3 19 3 3 9 + 30 25 1 11 5 12 3 3 21 31 + 31 9 30 25 1 11 5 12 3 3 + 10 10 4 10 4 10 32 1 10 4 + 10 4 9 30 25 1 11 5 12 3 + 3 12 3 3 21 31 31 9 30 22 + 20 3 3 18 5 19 3 3 19 3 + 3 9 30 25 1 11 5 12 3 3 + 21 31 31 9 30 25 1 11 5 12 + 3 3 21 31 31 9 30 25 1 11 + 5 12 3 3 17 10 4 29 1 16 + 16 10 4 10 4 10 4 10 4 9 + 30 25 1 11 5 12 3 3 12 3 + 3 21 31 31 9 30 25 1 11 5 + 12 3 3 32 1 9 30 25 1 11 + 5 11 3 13 3 3 3 13 3 3 + 3 9 30 25 1 11 5 12 3 3 + 10 10 4 10 4 10 4 10 4 10 + 4 9 30 25 1 11 5 12 3 3 + 32 1 9 30 25 1 11 5 12 3 + 3 12 3 3 21 31 31 9 30 25 + 1 11 5 12 3 3 10 10 4 10 + 4 10 4 10 4 10 4 9 30 25 + 1 11 5 12 3 3 23 1 14 15 + 6 24 14 7 9 30 25 1 11 5 + 12 3 3 21 31 31 9 30 25 1 + 11 5 13 3 3 3 9 30 25 1 + 11 5 12 3 3 21 31 31 9 30 + 25 1 11 5 13 3 3 3 9 30 + 25 1 11 5 12 3 3 12 3 3 + 21 30 26 1 1 9 30 25 1 11 + 5 12 3 3 21 30 26 1 1 9 + 30 25 1 11 5 12 3 3 32 1 + 9 30 25 1 11 5 12 3 3 23 + 1 14 15 6 24 14 7 9 30 25 + 1 11 5 12 3 3 32 1 9 30 + 25 1 11 5 12 3 3 10 10 4 + 10 4 10 32 1 10 4 10 4 9 + 30 25 1 11 5 12 3 3 33 8 + 9 30 25 1 11 5 12 3 3 10 + 10 4 10 4 10 4 10 4 10 4 + 9 30 25 1 11 5 12 3 3 12 + 3 3 21 31 31 9 30 25 1 11 + 5 11 3 13 3 3 3 12 3 3 + 13 3 3 3 9 30 25 1 11 5 + 12 3 3 11 3 13 3 3 3 13 + 3 3 3 9 30 25 1 11 5 12 + 3 3 12 3 3 21 31 31 9 30 + 25 1 11 5 12 3 3 12 3 3 + 12 3 3 28 2 9 28 2 2 28 + 2 2 9 30 25 1 11 5 12 3 + 3 12 3 3 12 3 3 28 2 9 + 28 2 2 28 2 2 21 31 31 +%FLAG NUMBER_EXCLUDED_ATOMS +%FORMAT(10i8) + 12 6 5 4 13 7 10 6 5 8 + 3 2 4 3 2 1 1 7 3 10 + 4 16 7 15 9 8 3 2 1 7 + 5 4 3 2 1 1 7 3 10 4 + 11 7 7 4 3 2 1 7 3 10 + 4 13 7 15 6 5 10 8 7 3 + 2 1 3 2 1 1 7 3 10 4 + 16 7 15 9 8 3 2 1 7 5 + 4 3 2 1 1 7 3 10 4 10 + 7 6 3 2 1 7 3 10 4 10 + 7 6 3 2 1 7 3 10 4 13 + 7 15 6 5 10 8 7 3 2 1 + 3 2 1 1 7 3 10 4 10 7 + 6 3 2 1 7 3 10 4 16 7 + 12 9 8 3 2 1 4 2 1 1 + 7 3 10 4 12 7 8 5 4 3 + 1 1 7 3 10 4 13 7 12 6 + 5 9 5 4 7 4 3 8 3 6 + 5 2 1 2 1 1 7 3 10 4 + 16 7 12 9 8 3 2 1 4 2 + 1 1 7 3 10 4 16 7 15 9 + 8 3 2 1 7 5 4 3 2 1 + 1 7 3 7 4 7 4 3 7 3 + 10 4 13 7 10 6 5 8 3 2 + 4 3 2 1 1 7 3 10 4 13 + 7 11 6 5 6 4 3 2 1 1 + 7 3 10 4 12 7 10 5 4 5 + 3 2 1 1 7 3 10 4 10 7 + 6 3 2 1 7 3 10 4 13 7 + 10 6 5 8 3 2 4 3 2 1 + 1 10 3 14 11 6 5 12 7 8 + 5 4 3 1 1 7 3 10 4 12 + 7 12 5 4 11 7 4 7 3 8 + 7 6 3 5 3 3 2 1 1 7 + 3 10 4 12 7 10 5 4 5 3 + 2 1 1 7 3 10 4 13 7 15 + 6 5 10 8 7 3 2 1 3 2 + 1 1 10 3 14 11 6 5 12 7 + 8 5 4 3 1 1 7 3 10 4 + 10 7 6 3 2 1 7 3 10 4 + 12 7 8 5 4 3 1 1 7 3 + 10 4 13 7 15 6 5 10 8 7 + 3 2 1 3 2 1 1 7 3 10 + 4 10 7 6 3 2 1 7 3 10 + 4 12 7 12 5 4 11 7 4 7 + 3 8 7 6 3 5 3 3 2 1 + 1 7 3 10 4 12 7 12 5 4 + 10 8 4 6 3 5 3 3 2 1 + 1 7 3 10 4 13 7 12 6 5 + 10 5 4 9 5 4 6 5 4 3 + 2 1 1 7 3 10 4 13 7 12 + 6 5 9 5 4 7 4 3 8 3 + 6 5 2 1 2 1 1 7 3 10 + 4 12 7 10 5 4 5 3 2 1 + 1 7 3 10 4 14 7 10 7 6 + 1 4 2 1 1 7 3 10 4 13 + 7 15 6 5 10 8 7 3 2 1 + 3 2 1 1 7 3 10 4 12 7 + 8 5 4 3 1 1 7 3 10 4 + 13 7 12 6 5 10 5 4 9 5 + 4 6 5 4 3 2 1 1 10 3 + 14 11 6 5 12 7 8 5 4 3 + 1 1 7 3 10 4 16 7 12 9 + 8 3 2 1 4 2 1 1 7 3 + 10 4 16 7 15 9 8 3 2 1 + 7 5 4 3 2 1 1 7 3 10 + 4 13 7 10 6 5 8 3 2 4 + 3 2 1 1 7 3 7 4 7 4 + 3 7 3 10 4 13 7 12 6 5 + 9 5 4 7 4 3 8 3 6 5 + 2 1 2 1 1 7 3 10 4 12 + 7 12 5 4 7 5 6 4 2 2 + 1 1 7 3 10 4 14 7 10 7 + 6 1 4 2 1 1 7 3 10 4 + 12 7 12 5 4 11 7 4 7 3 + 8 7 6 3 5 3 3 2 1 1 + 7 3 10 4 13 7 11 6 5 6 + 4 3 2 1 1 7 3 10 4 11 + 7 7 4 3 2 1 7 3 10 4 + 16 7 15 9 8 3 2 1 7 5 + 4 3 2 1 1 7 3 7 4 7 + 4 3 7 3 10 4 13 7 12 6 + 5 9 5 4 7 4 3 8 3 6 + 5 2 1 2 1 1 10 3 14 11 + 6 5 12 7 8 5 4 3 1 1 + 7 3 10 4 13 7 15 6 5 10 + 8 7 3 2 1 3 2 1 1 10 + 3 14 11 6 5 12 7 8 5 4 + 3 1 1 7 3 7 4 7 4 3 + 7 3 10 4 13 7 12 6 5 9 + 5 4 7 4 3 8 3 6 5 2 + 1 2 1 1 7 3 10 4 13 7 + 12 6 5 10 5 4 9 5 4 6 + 5 4 3 2 1 1 7 3 10 4 + 12 7 10 5 4 5 3 2 1 1 + 7 3 10 4 16 7 15 9 8 3 + 2 1 7 5 4 3 2 1 1 7 + 3 10 4 16 7 15 9 8 3 2 + 1 7 5 4 3 2 1 1 7 3 + 10 4 13 7 15 6 5 10 8 7 + 3 2 1 3 2 1 1 7 3 10 + 4 11 7 7 4 3 2 1 7 3 + 10 4 11 7 7 4 3 2 1 7 + 3 10 4 13 7 11 6 5 8 4 + 3 4 3 2 1 1 10 3 14 11 + 6 5 12 7 8 5 4 3 1 1 + 7 3 7 4 7 4 3 7 3 10 + 4 14 7 10 7 6 1 4 2 1 + 1 7 3 10 4 12 7 8 5 4 + 3 1 1 7 3 10 4 12 7 8 + 5 4 3 1 1 7 3 10 4 13 + 7 12 6 5 9 5 4 7 4 3 + 8 3 6 5 2 1 2 1 1 7 + 3 10 4 16 7 12 9 8 3 2 + 1 4 2 1 1 7 3 10 4 14 + 7 10 7 6 1 4 2 1 1 7 + 3 10 4 12 7 12 5 4 11 7 + 4 7 3 8 7 6 3 5 3 3 + 2 1 1 7 3 10 4 16 7 12 + 9 8 3 2 1 4 2 1 1 7 + 3 10 4 13 7 12 6 5 10 5 + 4 9 5 4 6 5 4 3 2 1 + 1 7 3 10 4 11 7 7 4 3 + 2 1 7 3 10 4 16 7 12 9 + 8 3 2 1 4 2 1 1 7 3 + 10 4 12 7 8 5 4 3 1 1 + 7 3 10 4 13 7 11 6 5 6 + 4 3 2 1 1 7 3 10 4 10 + 7 6 3 2 1 7 3 10 4 16 + 7 15 9 8 3 2 1 7 5 4 + 3 2 1 1 7 3 10 4 10 7 + 6 3 2 1 7 3 10 4 10 7 + 6 3 2 1 7 3 10 4 11 7 + 7 4 3 2 1 7 3 7 4 7 + 4 3 7 3 10 4 12 7 8 5 + 4 3 1 1 7 3 10 4 16 7 + 12 9 8 3 2 1 4 2 1 1 + 10 3 14 11 6 5 12 7 8 5 + 4 3 1 1 7 3 10 4 13 7 + 11 6 5 6 4 3 2 1 1 7 + 3 10 4 16 7 15 9 8 3 2 + 1 7 5 4 3 2 1 1 7 3 + 10 4 13 7 10 6 5 8 3 2 + 4 3 2 1 1 7 3 10 4 16 + 7 12 9 8 3 2 1 4 2 1 + 1 7 3 10 4 16 7 15 9 8 + 3 2 1 7 5 4 3 2 1 1 + 7 3 7 4 7 4 3 7 3 7 + 4 7 4 3 7 3 7 4 7 4 + 3 7 3 10 4 13 7 12 6 5 + 9 5 4 7 4 3 8 3 6 5 + 2 1 2 1 1 7 3 10 4 16 + 7 12 9 8 3 2 1 4 2 1 + 1 7 3 10 4 12 7 12 5 4 + 10 8 4 7 3 6 4 1 3 2 + 1 1 7 3 10 4 13 7 11 6 + 5 6 4 3 2 1 1 7 3 10 + 4 13 7 11 6 5 8 4 3 4 + 3 2 1 1 7 3 10 4 12 7 + 12 5 4 10 8 4 6 3 5 3 + 3 2 1 1 7 3 10 4 13 7 + 15 6 5 10 8 7 3 2 1 3 + 2 1 1 10 3 14 11 6 5 12 + 7 8 5 4 3 1 1 7 3 10 + 4 13 7 12 6 5 10 5 4 9 + 5 4 6 5 4 3 2 1 1 7 + 3 10 4 10 7 6 3 2 1 7 + 3 10 4 13 7 11 6 5 8 4 + 3 4 3 2 1 1 7 3 10 4 + 13 7 12 6 5 10 5 4 9 5 + 4 6 5 4 3 2 1 1 7 3 + 10 4 13 7 15 6 5 10 8 7 + 3 2 1 3 2 1 1 7 3 10 + 4 12 7 12 5 4 10 8 4 7 + 3 6 4 1 3 2 1 1 7 3 + 10 4 13 7 15 6 5 10 8 7 + 3 2 1 3 2 1 1 7 3 10 + 4 14 7 10 7 6 1 4 2 1 + 1 7 3 10 4 12 7 12 5 4 + 7 5 6 4 2 2 1 1 7 3 + 10 4 16 7 15 9 8 3 2 1 + 7 5 4 3 2 1 1 7 3 10 + 4 12 7 8 5 4 3 1 1 7 + 3 10 4 10 7 6 3 2 1 7 + 3 10 4 13 7 11 6 5 6 4 + 3 2 1 1 7 3 10 4 16 7 + 12 9 8 3 2 1 4 2 1 1 + 7 3 10 4 13 7 11 6 5 6 + 4 3 2 1 1 7 3 7 4 7 + 4 3 7 3 10 4 12 7 8 5 + 4 3 1 1 7 3 10 4 14 7 + 10 7 6 1 4 2 1 1 7 3 + 10 4 12 7 12 5 4 7 5 6 + 4 2 2 1 1 7 3 10 4 12 + 7 12 5 4 10 8 4 6 3 5 + 3 3 2 1 1 10 3 14 11 6 + 5 12 7 8 5 4 3 1 1 7 + 3 10 4 12 7 8 5 4 3 1 + 1 7 3 10 4 12 7 12 5 4 + 10 8 4 7 3 6 4 1 3 2 + 1 1 7 3 10 4 13 7 11 6 + 5 6 4 3 2 1 1 10 3 14 + 11 6 5 12 7 8 5 4 3 1 + 1 7 3 10 4 12 7 8 5 4 + 3 1 1 7 3 10 4 12 7 8 + 5 4 3 1 1 7 3 10 4 12 + 7 12 5 4 11 7 4 7 3 8 + 7 6 3 5 3 3 2 1 1 7 + 3 10 4 13 7 11 6 5 6 4 + 3 2 1 1 7 3 10 4 11 7 + 7 4 3 2 1 7 3 10 4 16 + 7 12 9 8 3 2 1 4 2 1 + 1 7 3 10 4 12 7 12 5 4 + 10 8 4 6 3 5 3 3 2 1 + 1 7 3 10 4 11 7 7 4 3 + 2 1 7 3 10 4 13 7 11 6 + 5 6 4 3 2 1 1 7 3 10 + 4 12 7 12 5 4 10 8 4 6 + 3 5 3 3 2 1 1 7 3 10 + 4 12 7 12 5 4 7 5 6 4 + 2 2 1 1 7 3 10 4 12 7 + 8 5 4 3 1 1 7 3 10 4 + 10 7 6 3 2 1 7 3 10 4 + 12 7 8 5 4 3 1 1 7 3 + 10 4 10 7 6 3 2 1 7 3 + 10 4 13 7 11 6 5 8 4 3 + 4 3 2 1 1 7 3 10 4 12 + 7 10 5 4 5 3 2 1 1 7 + 3 10 4 11 7 7 4 3 2 1 + 7 3 10 4 12 7 12 5 4 7 + 5 6 4 2 2 1 1 7 3 10 + 4 11 7 7 4 3 2 1 7 3 + 10 4 12 7 12 5 4 10 8 4 + 7 3 6 4 1 3 2 1 1 7 + 3 10 4 11 7 7 4 3 2 1 + 7 3 10 4 12 7 12 5 4 10 + 8 4 6 3 5 3 3 2 1 1 + 7 3 10 4 13 7 11 6 5 6 + 4 3 2 1 1 7 3 10 4 16 + 7 15 9 8 3 2 1 7 5 4 + 3 2 1 1 7 3 10 4 13 7 + 15 6 5 10 8 7 3 2 1 3 + 2 1 1 7 3 10 4 13 7 11 + 6 5 6 4 3 2 1 1 7 3 + 10 4 13 7 12 6 5 9 5 4 + 7 4 3 8 3 6 5 2 1 2 + 1 1 7 3 10 4 11 7 12 6 + 5 9 5 4 7 4 3 8 3 6 + 5 2 1 2 1 1 2 1 1 +%FLAG EXCLUDED_ATOMS_LIST +%FORMAT(10i8) + 2 3 4 5 6 7 8 9 10 18 + 19 20 3 4 5 6 7 18 4 5 + 6 7 18 5 6 7 18 6 7 8 + 9 10 11 12 13 18 19 20 21 22 + 7 8 9 10 18 19 20 8 9 10 + 11 12 13 14 18 19 20 9 10 11 + 12 13 18 10 11 12 13 18 11 12 + 13 14 15 16 17 18 12 13 14 13 + 14 14 15 16 17 15 16 17 16 17 + 17 0 19 20 21 22 23 24 37 20 + 21 22 21 22 23 24 25 26 30 37 + 38 39 22 23 24 37 23 24 25 26 + 27 28 29 30 31 32 33 37 38 39 + 40 41 24 25 26 30 37 38 39 25 + 26 27 28 29 30 31 32 33 34 35 + 36 37 38 39 26 27 28 29 30 31 + 32 33 37 27 28 29 30 31 32 33 + 37 28 29 30 29 30 30 31 32 33 + 34 35 36 37 32 33 34 35 36 33 + 34 35 36 34 35 36 35 36 36 0 + 38 39 40 41 42 43 48 39 40 41 + 40 41 42 43 44 45 46 48 49 50 + 41 42 43 48 42 43 44 45 46 47 + 48 49 50 51 52 43 44 45 46 48 + 49 50 44 45 46 47 48 49 50 45 + 46 47 48 46 47 48 47 48 0 49 + 50 51 52 53 54 67 50 51 52 51 + 52 53 54 55 56 57 67 68 69 52 + 53 54 67 53 54 55 56 57 58 59 + 63 67 68 69 70 71 54 55 56 57 + 67 68 69 55 56 57 58 59 60 61 + 62 63 64 65 66 67 68 69 56 57 + 58 59 63 67 57 58 59 63 67 58 + 59 60 61 62 63 64 65 66 67 59 + 60 61 62 63 64 65 66 60 61 62 + 63 64 65 66 61 62 63 62 63 63 + 64 65 66 65 66 66 0 68 69 70 + 71 72 73 86 69 70 71 70 71 72 + 73 74 75 79 86 87 88 71 72 73 + 86 72 73 74 75 76 77 78 79 80 + 81 82 86 87 88 89 90 73 74 75 + 79 86 87 88 74 75 76 77 78 79 + 80 81 82 83 84 85 86 87 88 75 + 76 77 78 79 80 81 82 86 76 77 + 78 79 80 81 82 86 77 78 79 78 + 79 79 80 81 82 83 84 85 86 81 + 82 83 84 85 82 83 84 85 83 84 + 85 84 85 85 0 87 88 89 90 91 + 92 96 88 89 90 89 90 91 92 93 + 94 95 96 97 98 90 91 92 96 91 + 92 93 94 95 96 97 98 99 100 92 + 93 94 95 96 97 98 93 94 95 96 + 97 98 94 95 96 95 96 96 97 98 + 99 100 101 102 106 98 99 100 99 100 + 101 102 103 104 105 106 107 108 100 101 + 102 106 101 102 103 104 105 106 107 108 + 109 110 102 103 104 105 106 107 108 103 + 104 105 106 107 108 104 105 106 105 106 + 106 107 108 109 110 111 112 125 108 109 + 110 109 110 111 112 113 114 115 125 126 + 127 110 111 112 125 111 112 113 114 115 + 116 117 121 125 126 127 128 129 112 113 + 114 115 125 126 127 113 114 115 116 117 + 118 119 120 121 122 123 124 125 126 127 + 114 115 116 117 121 125 115 116 117 121 + 125 116 117 118 119 120 121 122 123 124 + 125 117 118 119 120 121 122 123 124 118 + 119 120 121 122 123 124 119 120 121 120 + 121 121 122 123 124 123 124 124 0 126 + 127 128 129 130 131 135 127 128 129 128 + 129 130 131 132 133 134 135 136 137 129 + 130 131 135 130 131 132 133 134 135 136 + 137 138 139 131 132 133 134 135 136 137 + 132 133 134 135 136 137 133 134 135 134 + 135 135 136 137 138 139 140 141 151 137 + 138 139 138 139 140 141 142 143 147 151 + 152 153 139 140 141 151 140 141 142 143 + 144 145 146 147 148 149 150 151 152 153 + 154 155 141 142 143 147 151 152 153 142 + 143 144 145 146 147 148 149 150 151 152 + 153 143 144 145 146 147 148 149 150 151 + 144 145 146 147 148 149 150 151 145 146 + 147 146 147 147 148 149 150 151 149 150 + 150 0 152 153 154 155 156 157 163 153 + 154 155 154 155 156 157 158 159 160 163 + 164 165 155 156 157 163 156 157 158 159 + 160 161 162 163 164 165 166 167 157 158 + 159 160 163 164 165 158 159 160 161 162 + 163 164 165 159 160 161 162 163 160 161 + 162 163 161 162 163 162 0 164 165 166 + 167 168 169 187 165 166 167 166 167 168 + 169 170 171 172 187 188 189 167 168 169 + 187 168 169 170 171 172 173 174 175 187 + 188 189 190 191 169 170 171 172 187 188 + 189 170 171 172 173 174 175 176 177 178 + 187 188 189 171 172 173 174 175 187 172 + 173 174 175 187 173 174 175 176 177 178 + 179 180 187 174 175 176 177 178 175 176 + 177 178 176 177 178 179 180 181 184 177 + 178 179 180 178 179 180 179 180 181 182 + 183 184 185 186 180 181 184 181 182 183 + 184 185 186 182 183 184 185 186 183 184 + 184 185 186 186 0 188 189 190 191 192 + 193 203 189 190 191 190 191 192 193 194 + 195 199 203 204 205 191 192 193 203 192 + 193 194 195 196 197 198 199 200 201 202 + 203 204 205 206 207 193 194 195 199 203 + 204 205 194 195 196 197 198 199 200 201 + 202 203 204 205 195 196 197 198 199 200 + 201 202 203 196 197 198 199 200 201 202 + 203 197 198 199 198 199 199 200 201 202 + 203 201 202 202 0 204 205 206 207 208 + 209 222 205 206 207 206 207 208 209 210 + 211 215 222 223 224 207 208 209 222 208 + 209 210 211 212 213 214 215 216 217 218 + 222 223 224 225 226 209 210 211 215 222 + 223 224 210 211 212 213 214 215 216 217 + 218 219 220 221 222 223 224 211 212 213 + 214 215 216 217 218 222 212 213 214 215 + 216 217 218 222 213 214 215 214 215 215 + 216 217 218 219 220 221 222 217 218 219 + 220 221 218 219 220 221 219 220 221 220 + 221 221 0 223 224 225 226 227 228 229 + 224 225 226 225 226 227 228 229 230 231 + 226 227 228 229 227 228 229 230 231 232 + 233 228 229 230 231 229 230 231 230 231 + 232 233 234 235 246 231 232 233 232 233 + 234 235 236 237 238 246 247 248 233 234 + 235 246 234 235 236 237 238 239 240 241 + 246 247 248 249 250 235 236 237 238 246 + 247 248 236 237 238 239 240 241 242 246 + 247 248 237 238 239 240 241 246 238 239 + 240 241 246 239 240 241 242 243 244 245 + 246 240 241 242 241 242 242 243 244 245 + 243 244 245 244 245 245 0 247 248 249 + 250 251 252 261 248 249 250 249 250 251 + 252 253 254 255 261 262 263 250 251 252 + 261 251 252 253 254 255 256 257 258 261 + 262 263 264 265 252 253 254 255 261 262 + 263 253 254 255 256 257 258 259 260 261 + 262 263 254 255 256 257 258 261 255 256 + 257 258 261 256 257 258 259 260 261 257 + 258 259 260 258 259 260 259 260 260 0 + 262 263 264 265 266 267 275 263 264 265 + 264 265 266 267 268 269 270 275 276 277 + 265 266 267 275 266 267 268 269 270 271 + 272 275 276 277 278 279 267 268 269 270 + 275 276 277 268 269 270 271 272 273 274 + 275 276 277 269 270 271 272 275 270 271 + 272 275 271 272 273 274 275 272 273 274 + 273 274 274 0 276 277 278 279 280 281 + 285 277 278 279 278 279 280 281 282 283 + 284 285 286 287 279 280 281 285 280 281 + 282 283 284 285 286 287 288 289 281 282 + 283 284 285 286 287 282 283 284 285 286 + 287 283 284 285 284 285 285 286 287 288 + 289 290 291 302 287 288 289 288 289 290 + 291 292 293 294 302 303 304 289 290 291 + 302 290 291 292 293 294 295 296 297 302 + 303 304 305 308 291 292 293 294 302 303 + 304 292 293 294 295 296 297 298 302 303 + 304 293 294 295 296 297 302 294 295 296 + 297 302 295 296 297 298 299 300 301 302 + 296 297 298 297 298 298 299 300 301 299 + 300 301 300 301 301 0 303 304 305 306 + 307 308 309 310 313 316 304 305 308 305 + 306 307 308 309 310 311 312 313 314 315 + 316 317 318 306 307 308 309 310 311 312 + 313 314 315 316 307 308 310 313 314 315 + 308 310 313 314 315 309 310 311 312 313 + 314 315 316 317 318 319 320 310 311 312 + 313 316 317 318 311 312 313 314 315 316 + 317 318 312 313 314 315 316 313 314 315 + 316 314 315 316 315 0 317 318 319 320 + 321 322 340 318 319 320 319 320 321 322 + 323 324 325 340 341 342 320 321 322 340 + 321 322 323 324 325 326 331 340 341 342 + 343 344 322 323 324 325 340 341 342 323 + 324 325 326 327 328 330 331 332 340 341 + 342 324 325 326 331 340 325 326 331 340 + 326 327 328 329 330 331 332 333 334 336 + 340 327 328 329 330 331 332 336 328 329 + 330 331 329 330 331 332 336 337 338 330 + 331 336 331 332 333 334 336 337 338 339 + 332 333 334 335 336 337 338 333 334 335 + 336 338 339 334 335 338 335 336 337 338 + 339 336 338 339 337 338 339 338 339 339 + 0 341 342 343 344 345 346 354 342 343 + 344 343 344 345 346 347 348 349 354 355 + 356 344 345 346 354 345 346 347 348 349 + 350 351 354 355 356 357 358 346 347 348 + 349 354 355 356 347 348 349 350 351 352 + 353 354 355 356 348 349 350 351 354 349 + 350 351 354 350 351 352 353 354 351 352 + 353 352 353 353 0 355 356 357 358 359 + 360 373 356 357 358 357 358 359 360 361 + 362 363 373 374 375 358 359 360 373 359 + 360 361 362 363 364 365 369 373 374 375 + 376 379 360 361 362 363 373 374 375 361 + 362 363 364 365 366 367 368 369 370 371 + 372 373 374 375 362 363 364 365 369 373 + 363 364 365 369 373 364 365 366 367 368 + 369 370 371 372 373 365 366 367 368 369 + 370 371 372 366 367 368 369 370 371 372 + 367 368 369 368 369 369 370 371 372 371 + 372 372 0 374 375 376 377 378 379 380 + 381 384 387 375 376 379 376 377 378 379 + 380 381 382 383 384 385 386 387 388 389 + 377 378 379 380 381 382 383 384 385 386 + 387 378 379 381 384 385 386 379 381 384 + 385 386 380 381 382 383 384 385 386 387 + 388 389 390 391 381 382 383 384 387 388 + 389 382 383 384 385 386 387 388 389 383 + 384 385 386 387 384 385 386 387 385 386 + 387 386 0 388 389 390 391 392 393 397 + 389 390 391 390 391 392 393 394 395 396 + 397 398 399 391 392 393 397 392 393 394 + 395 396 397 398 399 400 401 393 394 395 + 396 397 398 399 394 395 396 397 398 399 + 395 396 397 396 397 397 398 399 400 401 + 402 403 409 399 400 401 400 401 402 403 + 404 405 406 409 410 411 401 402 403 409 + 402 403 404 405 406 407 408 409 410 411 + 412 413 403 404 405 406 409 410 411 404 + 405 406 407 408 409 410 411 405 406 407 + 408 409 406 407 408 409 407 408 409 408 + 0 410 411 412 413 414 415 428 411 412 + 413 412 413 414 415 416 417 418 428 429 + 430 413 414 415 428 414 415 416 417 418 + 419 420 424 428 429 430 431 432 415 416 + 417 418 428 429 430 416 417 418 419 420 + 421 422 423 424 425 426 427 428 429 430 + 417 418 419 420 424 428 418 419 420 424 + 428 419 420 421 422 423 424 425 426 427 + 428 420 421 422 423 424 425 426 427 421 + 422 423 424 425 426 427 422 423 424 423 + 424 424 425 426 427 426 427 427 0 429 + 430 431 432 433 434 438 430 431 432 431 + 432 433 434 435 436 437 438 439 440 432 + 433 434 438 433 434 435 436 437 438 439 + 440 441 442 434 435 436 437 438 439 440 + 435 436 437 438 439 440 436 437 438 437 + 438 438 439 440 441 442 443 444 462 440 + 441 442 441 442 443 444 445 446 447 462 + 463 464 442 443 444 462 443 444 445 446 + 447 448 453 462 463 464 465 466 444 445 + 446 447 462 463 464 445 446 447 448 449 + 450 452 453 454 462 463 464 446 447 448 + 453 462 447 448 453 462 448 449 450 451 + 452 453 454 455 456 458 462 449 450 451 + 452 453 454 458 450 451 452 453 451 452 + 453 454 458 459 460 452 453 458 453 454 + 455 456 458 459 460 461 454 455 456 457 + 458 459 460 455 456 457 458 460 461 456 + 457 460 457 458 459 460 461 458 460 461 + 459 460 461 460 461 461 0 463 464 465 + 466 467 468 482 464 465 466 465 466 467 + 468 469 470 471 482 483 484 466 467 468 + 482 467 468 469 470 471 472 478 482 483 + 484 485 486 468 469 470 471 482 483 484 + 469 470 471 472 473 474 478 479 480 482 + 483 484 470 471 472 478 482 471 472 478 + 482 472 473 474 475 476 478 479 480 481 + 482 473 474 475 476 477 478 479 480 474 + 475 476 478 475 476 477 478 480 481 476 + 477 480 477 478 479 480 481 478 480 481 + 479 480 481 480 481 481 0 483 484 485 + 486 487 488 504 484 485 486 485 486 487 + 488 489 490 491 504 505 506 486 487 488 + 504 487 488 489 490 491 492 493 494 504 + 505 506 507 508 488 489 490 491 504 505 + 506 489 490 491 492 493 494 495 496 497 + 504 505 506 490 491 492 493 494 504 491 + 492 493 494 504 492 493 494 495 496 497 + 498 499 500 504 493 494 495 496 497 494 + 495 496 497 495 496 497 498 499 500 501 + 502 503 496 497 498 499 500 497 498 499 + 500 498 499 500 501 502 503 499 500 501 + 502 503 500 501 502 503 501 502 503 502 + 503 503 0 505 506 507 508 509 510 528 + 506 507 508 507 508 509 510 511 512 513 + 528 529 530 508 509 510 528 509 510 511 + 512 513 514 515 516 528 529 530 531 532 + 510 511 512 513 528 529 530 511 512 513 + 514 515 516 517 518 519 528 529 530 512 + 513 514 515 516 528 513 514 515 516 528 + 514 515 516 517 518 519 520 521 528 515 + 516 517 518 519 516 517 518 519 517 518 + 519 520 521 522 525 518 519 520 521 519 + 520 521 520 521 522 523 524 525 526 527 + 521 522 525 522 523 524 525 526 527 523 + 524 525 526 527 524 525 525 526 527 527 + 0 529 530 531 532 533 534 542 530 531 + 532 531 532 533 534 535 536 537 542 543 + 544 532 533 534 542 533 534 535 536 537 + 538 539 542 543 544 545 546 534 535 536 + 537 542 543 544 535 536 537 538 539 540 + 541 542 543 544 536 537 538 539 542 537 + 538 539 542 538 539 540 541 542 539 540 + 541 540 541 541 0 543 544 545 546 547 + 548 556 544 545 546 545 546 547 548 549 + 550 552 556 557 558 546 547 548 556 547 + 548 549 550 551 552 553 554 555 556 557 + 558 559 560 548 549 550 552 556 557 558 + 549 550 551 552 553 554 555 556 557 558 + 550 551 552 553 554 555 556 551 552 553 + 554 555 556 552 553 554 555 556 554 555 + 555 0 557 558 559 560 561 562 575 558 + 559 560 559 560 561 562 563 564 565 575 + 576 577 560 561 562 575 561 562 563 564 + 565 566 567 571 575 576 577 578 579 562 + 563 564 565 575 576 577 563 564 565 566 + 567 568 569 570 571 572 573 574 575 576 + 577 564 565 566 567 571 575 565 566 567 + 571 575 566 567 568 569 570 571 572 573 + 574 575 567 568 569 570 571 572 573 574 + 568 569 570 571 572 573 574 569 570 571 + 570 571 571 572 573 574 573 574 574 0 + 576 577 578 579 580 581 587 577 578 579 + 578 579 580 581 582 583 584 587 588 589 + 579 580 581 587 580 581 582 583 584 585 + 586 587 588 589 590 591 581 582 583 584 + 587 588 589 582 583 584 585 586 587 588 + 589 583 584 585 586 587 584 585 586 587 + 585 586 587 586 0 588 589 590 591 592 + 593 609 589 590 591 590 591 592 593 594 + 595 596 609 610 611 591 592 593 609 592 + 593 594 595 596 597 598 599 609 610 611 + 612 615 593 594 595 596 609 610 611 594 + 595 596 597 598 599 600 601 602 609 610 + 611 595 596 597 598 599 609 596 597 598 + 599 609 597 598 599 600 601 602 603 604 + 605 609 598 599 600 601 602 599 600 601 + 602 600 601 602 603 604 605 606 607 608 + 601 602 603 604 605 602 603 604 605 603 + 604 605 606 607 608 604 605 606 607 608 + 605 606 607 608 606 607 608 607 608 608 + 0 610 611 612 613 614 615 616 617 620 + 623 611 612 615 612 613 614 615 616 617 + 618 619 620 621 622 623 624 625 613 614 + 615 616 617 618 619 620 621 622 623 614 + 615 617 620 621 622 615 617 620 621 622 + 616 617 618 619 620 621 622 623 624 625 + 626 627 617 618 619 620 623 624 625 618 + 619 620 621 622 623 624 625 619 620 621 + 622 623 620 621 622 623 621 622 623 622 + 0 624 625 626 627 628 629 639 625 626 + 627 626 627 628 629 630 631 635 639 640 + 641 627 628 629 639 628 629 630 631 632 + 633 634 635 636 637 638 639 640 641 642 + 643 629 630 631 635 639 640 641 630 631 + 632 633 634 635 636 637 638 639 640 641 + 631 632 633 634 635 636 637 638 639 632 + 633 634 635 636 637 638 639 633 634 635 + 634 635 635 636 637 638 639 637 638 638 + 0 640 641 642 643 644 645 658 641 642 + 643 642 643 644 645 646 647 651 658 659 + 660 643 644 645 658 644 645 646 647 648 + 649 650 651 652 653 654 658 659 660 661 + 662 645 646 647 651 658 659 660 646 647 + 648 649 650 651 652 653 654 655 656 657 + 658 659 660 647 648 649 650 651 652 653 + 654 658 648 649 650 651 652 653 654 658 + 649 650 651 650 651 651 652 653 654 655 + 656 657 658 653 654 655 656 657 654 655 + 656 657 655 656 657 656 657 657 0 659 + 660 661 662 663 664 675 660 661 662 661 + 662 663 664 665 666 667 675 676 677 662 + 663 664 675 663 664 665 666 667 668 669 + 670 675 676 677 678 679 664 665 666 667 + 675 676 677 665 666 667 668 669 670 671 + 675 676 677 666 667 668 669 670 675 667 + 668 669 670 675 668 669 670 671 672 673 + 674 675 669 670 671 670 671 671 672 673 + 674 672 673 674 673 674 674 0 676 677 + 678 679 680 681 682 677 678 679 678 679 + 680 681 682 683 684 679 680 681 682 680 + 681 682 683 684 685 686 681 682 683 684 + 682 683 684 683 684 685 686 687 688 706 + 684 685 686 685 686 687 688 689 690 691 + 706 707 708 686 687 688 706 687 688 689 + 690 691 692 693 694 706 707 708 709 710 + 688 689 690 691 706 707 708 689 690 691 + 692 693 694 695 696 697 706 707 708 690 + 691 692 693 694 706 691 692 693 694 706 + 692 693 694 695 696 697 698 699 706 693 + 694 695 696 697 694 695 696 697 695 696 + 697 698 699 700 703 696 697 698 699 697 + 698 699 698 699 700 701 702 703 704 705 + 699 700 703 700 701 702 703 704 705 701 + 702 703 704 705 702 703 703 704 705 705 + 0 707 708 709 710 711 712 723 708 709 + 710 709 710 711 712 713 714 717 723 724 + 725 710 711 712 723 711 712 713 714 715 + 717 721 723 724 725 726 727 712 713 714 + 717 723 724 725 713 714 715 716 717 718 + 720 721 722 723 724 725 714 715 717 721 + 723 715 717 721 723 716 717 718 719 720 + 721 722 717 718 719 720 721 718 719 720 + 721 722 723 719 720 721 722 720 721 721 + 722 722 0 724 725 726 727 728 729 737 + 725 726 727 726 727 728 729 730 731 733 + 737 738 739 727 728 729 737 728 729 730 + 731 732 733 734 735 736 737 738 739 740 + 741 729 730 731 733 737 738 739 730 731 + 732 733 734 735 736 737 738 739 731 732 + 733 734 735 736 737 732 733 734 735 736 + 737 733 734 735 736 737 735 736 736 0 + 738 739 740 741 742 743 761 739 740 741 + 740 741 742 743 744 745 746 761 762 763 + 741 742 743 761 742 743 744 745 746 747 + 752 761 762 763 764 765 743 744 745 746 + 761 762 763 744 745 746 747 748 749 751 + 752 753 761 762 763 745 746 747 752 761 + 746 747 752 761 747 748 749 750 751 752 + 753 754 755 757 761 748 749 750 751 752 + 753 757 749 750 751 752 750 751 752 753 + 757 758 759 751 752 757 752 753 754 755 + 757 758 759 760 753 754 755 756 757 758 + 759 754 755 756 757 759 760 755 756 759 + 756 757 758 759 760 757 759 760 758 759 + 760 759 760 760 0 762 763 764 765 766 + 767 776 763 764 765 764 765 766 767 768 + 769 770 776 777 778 765 766 767 776 766 + 767 768 769 770 771 772 773 776 777 778 + 779 780 767 768 769 770 776 777 778 768 + 769 770 771 772 773 774 775 776 777 778 + 769 770 771 772 773 776 770 771 772 773 + 776 771 772 773 774 775 776 772 773 774 + 775 773 774 775 774 775 775 0 777 778 + 779 780 781 782 787 778 779 780 779 780 + 781 782 783 784 785 787 788 789 780 781 + 782 787 781 782 783 784 785 786 787 788 + 789 790 791 782 783 784 785 787 788 789 + 783 784 785 786 787 788 789 784 785 786 + 787 785 786 787 786 787 0 788 789 790 + 791 792 793 806 789 790 791 790 791 792 + 793 794 795 799 806 807 808 791 792 793 + 806 792 793 794 795 796 797 798 799 800 + 801 802 806 807 808 809 810 793 794 795 + 799 806 807 808 794 795 796 797 798 799 + 800 801 802 803 804 805 806 807 808 795 + 796 797 798 799 800 801 802 806 796 797 + 798 799 800 801 802 806 797 798 799 798 + 799 799 800 801 802 803 804 805 806 801 + 802 803 804 805 802 803 804 805 803 804 + 805 804 805 805 0 807 808 809 810 811 + 812 813 808 809 810 809 810 811 812 813 + 814 815 810 811 812 813 811 812 813 814 + 815 816 817 812 813 814 815 813 814 815 + 814 815 816 817 818 819 837 815 816 817 + 816 817 818 819 820 821 822 837 838 839 + 817 818 819 837 818 819 820 821 822 823 + 824 825 837 838 839 840 843 819 820 821 + 822 837 838 839 820 821 822 823 824 825 + 826 827 828 837 838 839 821 822 823 824 + 825 837 822 823 824 825 837 823 824 825 + 826 827 828 829 830 837 824 825 826 827 + 828 825 826 827 828 826 827 828 829 830 + 831 834 827 828 829 830 828 829 830 829 + 830 831 832 833 834 835 836 830 831 834 + 831 832 833 834 835 836 832 833 834 835 + 836 833 834 834 835 836 836 0 838 839 + 840 841 842 843 844 845 848 851 839 840 + 843 840 841 842 843 844 845 846 847 848 + 849 850 851 852 853 841 842 843 844 845 + 846 847 848 849 850 851 842 843 845 848 + 849 850 843 845 848 849 850 844 845 846 + 847 848 849 850 851 852 853 854 855 845 + 846 847 848 851 852 853 846 847 848 849 + 850 851 852 853 847 848 849 850 851 848 + 849 850 851 849 850 851 850 0 852 853 + 854 855 856 857 870 853 854 855 854 855 + 856 857 858 859 860 870 871 872 855 856 + 857 870 856 857 858 859 860 861 862 866 + 870 871 872 873 876 857 858 859 860 870 + 871 872 858 859 860 861 862 863 864 865 + 866 867 868 869 870 871 872 859 860 861 + 862 866 870 860 861 862 866 870 861 862 + 863 864 865 866 867 868 869 870 862 863 + 864 865 866 867 868 869 863 864 865 866 + 867 868 869 864 865 866 865 866 866 867 + 868 869 868 869 869 0 871 872 873 874 + 875 876 877 878 881 884 872 873 876 873 + 874 875 876 877 878 879 880 881 882 883 + 884 885 886 874 875 876 877 878 879 880 + 881 882 883 884 875 876 878 881 882 883 + 876 878 881 882 883 877 878 879 880 881 + 882 883 884 885 886 887 888 878 879 880 + 881 884 885 886 879 880 881 882 883 884 + 885 886 880 881 882 883 884 881 882 883 + 884 882 883 884 883 0 885 886 887 888 + 889 890 891 886 887 888 887 888 889 890 + 891 892 893 888 889 890 891 889 890 891 + 892 893 894 895 890 891 892 893 891 892 + 893 892 893 894 895 896 897 915 893 894 + 895 894 895 896 897 898 899 900 915 916 + 917 895 896 897 915 896 897 898 899 900 + 901 902 903 915 916 917 918 919 897 898 + 899 900 915 916 917 898 899 900 901 902 + 903 904 905 906 915 916 917 899 900 901 + 902 903 915 900 901 902 903 915 901 902 + 903 904 905 906 907 908 915 902 903 904 + 905 906 903 904 905 906 904 905 906 907 + 908 909 912 905 906 907 908 906 907 908 + 907 908 909 910 911 912 913 914 908 909 + 912 909 910 911 912 913 914 910 911 912 + 913 914 911 912 912 913 914 914 0 916 + 917 918 919 920 921 937 917 918 919 918 + 919 920 921 922 923 924 937 938 939 919 + 920 921 937 920 921 922 923 924 925 926 + 927 937 938 939 940 941 921 922 923 924 + 937 938 939 922 923 924 925 926 927 928 + 929 930 937 938 939 923 924 925 926 927 + 937 924 925 926 927 937 925 926 927 928 + 929 930 931 932 933 937 926 927 928 929 + 930 927 928 929 930 928 929 930 931 932 + 933 934 935 936 929 930 931 932 933 930 + 931 932 933 931 932 933 934 935 936 932 + 933 934 935 936 933 934 935 936 934 935 + 936 935 936 936 0 938 939 940 941 942 + 943 951 939 940 941 940 941 942 943 944 + 945 946 951 952 953 941 942 943 951 942 + 943 944 945 946 947 948 951 952 953 954 + 955 943 944 945 946 951 952 953 944 945 + 946 947 948 949 950 951 952 953 945 946 + 947 948 951 946 947 948 951 947 948 949 + 950 951 948 949 950 949 950 950 0 952 + 953 954 955 956 957 970 953 954 955 954 + 955 956 957 958 959 963 970 971 972 955 + 956 957 970 956 957 958 959 960 961 962 + 963 964 965 966 970 971 972 973 974 957 + 958 959 963 970 971 972 958 959 960 961 + 962 963 964 965 966 967 968 969 970 971 + 972 959 960 961 962 963 964 965 966 970 + 960 961 962 963 964 965 966 970 961 962 + 963 962 963 963 964 965 966 967 968 969 + 970 965 966 967 968 969 966 967 968 969 + 967 968 969 968 969 969 0 971 972 973 + 974 975 976 989 972 973 974 973 974 975 + 976 977 978 982 989 990 991 974 975 976 + 989 975 976 977 978 979 980 981 982 983 + 984 985 989 990 991 992 993 976 977 978 + 982 989 990 991 977 978 979 980 981 982 + 983 984 985 986 987 988 989 990 991 978 + 979 980 981 982 983 984 985 989 979 980 + 981 982 983 984 985 989 980 981 982 981 + 982 982 983 984 985 986 987 988 989 984 + 985 986 987 988 985 986 987 988 986 987 + 988 987 988 988 0 990 991 992 993 994 + 995 1008 991 992 993 992 993 994 995 996 + 997 998 1008 1009 1010 993 994 995 1008 994 + 995 996 997 998 999 1000 1004 1008 1009 1010 + 1011 1012 995 996 997 998 1008 1009 1010 996 + 997 998 999 1000 1001 1002 1003 1004 1005 1006 + 1007 1008 1009 1010 997 998 999 1000 1004 1008 + 998 999 1000 1004 1008 999 1000 1001 1002 1003 + 1004 1005 1006 1007 1008 1000 1001 1002 1003 1004 + 1005 1006 1007 1001 1002 1003 1004 1005 1006 1007 + 1002 1003 1004 1003 1004 1004 1005 1006 1007 1006 + 1007 1007 0 1009 1010 1011 1012 1013 1014 1019 + 1010 1011 1012 1011 1012 1013 1014 1015 1016 1017 + 1019 1020 1021 1012 1013 1014 1019 1013 1014 1015 + 1016 1017 1018 1019 1020 1021 1022 1023 1014 1015 + 1016 1017 1019 1020 1021 1015 1016 1017 1018 1019 + 1020 1021 1016 1017 1018 1019 1017 1018 1019 1018 + 1019 0 1020 1021 1022 1023 1024 1025 1030 1021 + 1022 1023 1022 1023 1024 1025 1026 1027 1028 1030 + 1031 1032 1023 1024 1025 1030 1024 1025 1026 1027 + 1028 1029 1030 1031 1032 1033 1034 1025 1026 1027 + 1028 1030 1031 1032 1026 1027 1028 1029 1030 1031 + 1032 1027 1028 1029 1030 1028 1029 1030 1029 1030 + 0 1031 1032 1033 1034 1035 1036 1047 1032 1033 + 1034 1033 1034 1035 1036 1037 1038 1039 1047 1048 + 1049 1034 1035 1036 1047 1035 1036 1037 1038 1039 + 1040 1041 1042 1047 1048 1049 1050 1053 1036 1037 + 1038 1039 1047 1048 1049 1037 1038 1039 1040 1041 + 1042 1043 1044 1047 1048 1049 1038 1039 1040 1041 + 1042 1047 1039 1040 1041 1042 1047 1040 1041 1042 + 1043 1044 1045 1046 1047 1041 1042 1043 1044 1042 + 1043 1044 1043 1044 1045 1046 1044 1045 1046 1045 + 1046 1046 0 1048 1049 1050 1051 1052 1053 1054 + 1055 1058 1061 1049 1050 1053 1050 1051 1052 1053 + 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 + 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 + 1061 1052 1053 1055 1058 1059 1060 1053 1055 1058 + 1059 1060 1054 1055 1056 1057 1058 1059 1060 1061 + 1062 1063 1064 1065 1055 1056 1057 1058 1061 1062 + 1063 1056 1057 1058 1059 1060 1061 1062 1063 1057 + 1058 1059 1060 1061 1058 1059 1060 1061 1059 1060 + 1061 1060 0 1062 1063 1064 1065 1066 1067 1068 + 1063 1064 1065 1064 1065 1066 1067 1068 1069 1070 + 1065 1066 1067 1068 1066 1067 1068 1069 1070 1071 + 1072 1067 1068 1069 1070 1068 1069 1070 1069 1070 + 1071 1072 1073 1074 1082 1070 1071 1072 1071 1072 + 1073 1074 1075 1076 1078 1082 1083 1084 1072 1073 + 1074 1082 1073 1074 1075 1076 1077 1078 1079 1080 + 1081 1082 1083 1084 1085 1086 1074 1075 1076 1078 + 1082 1083 1084 1075 1076 1077 1078 1079 1080 1081 + 1082 1083 1084 1076 1077 1078 1079 1080 1081 1082 + 1077 1078 1079 1080 1081 1082 1078 1079 1080 1081 + 1082 1080 1081 1081 0 1083 1084 1085 1086 1087 + 1088 1094 1084 1085 1086 1085 1086 1087 1088 1089 + 1090 1091 1094 1095 1096 1086 1087 1088 1094 1087 + 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 + 1098 1088 1089 1090 1091 1094 1095 1096 1089 1090 + 1091 1092 1093 1094 1095 1096 1090 1091 1092 1093 + 1094 1091 1092 1093 1094 1092 1093 1094 1093 0 + 1095 1096 1097 1098 1099 1100 1106 1096 1097 1098 + 1097 1098 1099 1100 1101 1102 1103 1106 1107 1108 + 1098 1099 1100 1106 1099 1100 1101 1102 1103 1104 + 1105 1106 1107 1108 1109 1110 1100 1101 1102 1103 + 1106 1107 1108 1101 1102 1103 1104 1105 1106 1107 + 1108 1102 1103 1104 1105 1106 1103 1104 1105 1106 + 1104 1105 1106 1105 0 1107 1108 1109 1110 1111 + 1112 1130 1108 1109 1110 1109 1110 1111 1112 1113 + 1114 1115 1130 1131 1132 1110 1111 1112 1130 1111 + 1112 1113 1114 1115 1116 1117 1118 1130 1131 1132 + 1133 1134 1112 1113 1114 1115 1130 1131 1132 1113 + 1114 1115 1116 1117 1118 1119 1120 1121 1130 1131 + 1132 1114 1115 1116 1117 1118 1130 1115 1116 1117 + 1118 1130 1116 1117 1118 1119 1120 1121 1122 1123 + 1130 1117 1118 1119 1120 1121 1118 1119 1120 1121 + 1119 1120 1121 1122 1123 1124 1127 1120 1121 1122 + 1123 1121 1122 1123 1122 1123 1124 1125 1126 1127 + 1128 1129 1123 1124 1127 1124 1125 1126 1127 1128 + 1129 1125 1126 1127 1128 1129 1126 1127 1127 1128 + 1129 1129 0 1131 1132 1133 1134 1135 1136 1146 + 1132 1133 1134 1133 1134 1135 1136 1137 1138 1142 + 1146 1147 1148 1134 1135 1136 1146 1135 1136 1137 + 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 + 1148 1149 1150 1136 1137 1138 1142 1146 1147 1148 + 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 + 1147 1148 1138 1139 1140 1141 1142 1143 1144 1145 + 1146 1139 1140 1141 1142 1143 1144 1145 1146 1140 + 1141 1142 1141 1142 1142 1143 1144 1145 1146 1144 + 1145 1145 0 1147 1148 1149 1150 1151 1152 1160 + 1148 1149 1150 1149 1150 1151 1152 1153 1154 1156 + 1160 1161 1162 1150 1151 1152 1160 1151 1152 1153 + 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 + 1164 1152 1153 1154 1156 1160 1161 1162 1153 1154 + 1155 1156 1157 1158 1159 1160 1161 1162 1154 1155 + 1156 1157 1158 1159 1160 1155 1156 1157 1158 1159 + 1160 1156 1157 1158 1159 1160 1158 1159 1159 0 + 1161 1162 1163 1164 1165 1166 1184 1162 1163 1164 + 1163 1164 1165 1166 1167 1168 1169 1184 1185 1186 + 1164 1165 1166 1184 1165 1166 1167 1168 1169 1170 + 1175 1184 1185 1186 1187 1188 1166 1167 1168 1169 + 1184 1185 1186 1167 1168 1169 1170 1171 1172 1174 + 1175 1176 1184 1185 1186 1168 1169 1170 1175 1184 + 1169 1170 1175 1184 1170 1171 1172 1173 1174 1175 + 1176 1177 1178 1180 1184 1171 1172 1173 1174 1175 + 1176 1180 1172 1173 1174 1175 1173 1174 1175 1176 + 1180 1181 1182 1174 1175 1180 1175 1176 1177 1178 + 1180 1181 1182 1183 1176 1177 1178 1179 1180 1181 + 1182 1177 1178 1179 1180 1182 1183 1178 1179 1182 + 1179 1180 1181 1182 1183 1180 1182 1183 1181 1182 + 1183 1182 1183 1183 0 1185 1186 1187 1188 1189 + 1190 1200 1186 1187 1188 1187 1188 1189 1190 1191 + 1192 1196 1200 1201 1202 1188 1189 1190 1200 1189 + 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 + 1200 1201 1202 1203 1204 1190 1191 1192 1196 1200 + 1201 1202 1191 1192 1193 1194 1195 1196 1197 1198 + 1199 1200 1201 1202 1192 1193 1194 1195 1196 1197 + 1198 1199 1200 1193 1194 1195 1196 1197 1198 1199 + 1200 1194 1195 1196 1195 1196 1196 1197 1198 1199 + 1200 1198 1199 1199 0 1201 1202 1203 1204 1205 + 1206 1222 1202 1203 1204 1203 1204 1205 1206 1207 + 1208 1209 1222 1223 1224 1204 1205 1206 1222 1205 + 1206 1207 1208 1209 1210 1211 1212 1222 1223 1224 + 1225 1226 1206 1207 1208 1209 1222 1223 1224 1207 + 1208 1209 1210 1211 1212 1213 1214 1215 1222 1223 + 1224 1208 1209 1210 1211 1212 1222 1209 1210 1211 + 1212 1222 1210 1211 1212 1213 1214 1215 1216 1217 + 1218 1222 1211 1212 1213 1214 1215 1212 1213 1214 + 1215 1213 1214 1215 1216 1217 1218 1219 1220 1221 + 1214 1215 1216 1217 1218 1215 1216 1217 1218 1216 + 1217 1218 1219 1220 1221 1217 1218 1219 1220 1221 + 1218 1219 1220 1221 1219 1220 1221 1220 1221 1221 + 0 1223 1224 1225 1226 1227 1228 1233 1224 1225 + 1226 1225 1226 1227 1228 1229 1230 1231 1233 1234 + 1235 1226 1227 1228 1233 1227 1228 1229 1230 1231 + 1232 1233 1234 1235 1236 1237 1228 1229 1230 1231 + 1233 1234 1235 1229 1230 1231 1232 1233 1234 1235 + 1230 1231 1232 1233 1231 1232 1233 1232 1233 0 + 1234 1235 1236 1237 1238 1239 1249 1235 1236 1237 + 1236 1237 1238 1239 1240 1241 1245 1249 1250 1251 + 1237 1238 1239 1249 1238 1239 1240 1241 1242 1243 + 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 + 1239 1240 1241 1245 1249 1250 1251 1240 1241 1242 + 1243 1244 1245 1246 1247 1248 1249 1250 1251 1241 + 1242 1243 1244 1245 1246 1247 1248 1249 1242 1243 + 1244 1245 1246 1247 1248 1249 1243 1244 1245 1244 + 1245 1245 1246 1247 1248 1249 1247 1248 1248 0 + 1250 1251 1252 1253 1254 1255 1261 1251 1252 1253 + 1252 1253 1254 1255 1256 1257 1258 1261 1262 1263 + 1253 1254 1255 1261 1254 1255 1256 1257 1258 1259 + 1260 1261 1262 1263 1264 1265 1255 1256 1257 1258 + 1261 1262 1263 1256 1257 1258 1259 1260 1261 1262 + 1263 1257 1258 1259 1260 1261 1258 1259 1260 1261 + 1259 1260 1261 1260 0 1262 1263 1264 1265 1266 + 1267 1276 1263 1264 1265 1264 1265 1266 1267 1268 + 1269 1270 1276 1277 1278 1265 1266 1267 1276 1266 + 1267 1268 1269 1270 1271 1272 1273 1276 1277 1278 + 1279 1280 1267 1268 1269 1270 1276 1277 1278 1268 + 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 + 1269 1270 1271 1272 1273 1276 1270 1271 1272 1273 + 1276 1271 1272 1273 1274 1275 1276 1272 1273 1274 + 1275 1273 1274 1275 1274 1275 1275 0 1277 1278 + 1279 1280 1281 1282 1286 1278 1279 1280 1279 1280 + 1281 1282 1283 1284 1285 1286 1287 1288 1280 1281 + 1282 1286 1281 1282 1283 1284 1285 1286 1287 1288 + 1289 1290 1282 1283 1284 1285 1286 1287 1288 1283 + 1284 1285 1286 1287 1288 1284 1285 1286 1285 1286 + 1286 1287 1288 1289 1290 1291 1292 1305 1288 1289 + 1290 1289 1290 1291 1292 1293 1294 1298 1305 1306 + 1307 1290 1291 1292 1305 1291 1292 1293 1294 1295 + 1296 1297 1298 1299 1300 1301 1305 1306 1307 1308 + 1309 1292 1293 1294 1298 1305 1306 1307 1293 1294 + 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 + 1305 1306 1307 1294 1295 1296 1297 1298 1299 1300 + 1301 1305 1295 1296 1297 1298 1299 1300 1301 1305 + 1296 1297 1298 1297 1298 1298 1299 1300 1301 1302 + 1303 1304 1305 1300 1301 1302 1303 1304 1301 1302 + 1303 1304 1302 1303 1304 1303 1304 1304 0 1306 + 1307 1308 1309 1310 1311 1315 1307 1308 1309 1308 + 1309 1310 1311 1312 1313 1314 1315 1316 1317 1309 + 1310 1311 1315 1310 1311 1312 1313 1314 1315 1316 + 1317 1318 1319 1311 1312 1313 1314 1315 1316 1317 + 1312 1313 1314 1315 1316 1317 1313 1314 1315 1314 + 1315 1315 1316 1317 1318 1319 1320 1321 1325 1317 + 1318 1319 1318 1319 1320 1321 1322 1323 1324 1325 + 1326 1327 1319 1320 1321 1325 1320 1321 1322 1323 + 1324 1325 1326 1327 1328 1329 1321 1322 1323 1324 + 1325 1326 1327 1322 1323 1324 1325 1326 1327 1323 + 1324 1325 1324 1325 1325 1326 1327 1328 1329 1330 + 1331 1336 1327 1328 1329 1328 1329 1330 1331 1332 + 1333 1334 1336 1337 1338 1329 1330 1331 1336 1330 + 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 + 1331 1332 1333 1334 1336 1337 1338 1332 1333 1334 + 1335 1336 1337 1338 1333 1334 1335 1336 1334 1335 + 1336 1335 1336 0 1337 1338 1339 1340 1341 1342 + 1343 1338 1339 1340 1339 1340 1341 1342 1343 1344 + 1345 1340 1341 1342 1343 1341 1342 1343 1344 1345 + 1346 1347 1342 1343 1344 1345 1343 1344 1345 1344 + 1345 1346 1347 1348 1349 1355 1345 1346 1347 1346 + 1347 1348 1349 1350 1351 1352 1355 1356 1357 1347 + 1348 1349 1355 1348 1349 1350 1351 1352 1353 1354 + 1355 1356 1357 1358 1359 1349 1350 1351 1352 1355 + 1356 1357 1350 1351 1352 1353 1354 1355 1356 1357 + 1351 1352 1353 1354 1355 1352 1353 1354 1355 1353 + 1354 1355 1354 0 1356 1357 1358 1359 1360 1361 + 1371 1357 1358 1359 1358 1359 1360 1361 1362 1363 + 1367 1371 1372 1373 1359 1360 1361 1371 1360 1361 + 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 + 1372 1373 1374 1377 1361 1362 1363 1367 1371 1372 + 1373 1362 1363 1364 1365 1366 1367 1368 1369 1370 + 1371 1372 1373 1363 1364 1365 1366 1367 1368 1369 + 1370 1371 1364 1365 1366 1367 1368 1369 1370 1371 + 1365 1366 1367 1366 1367 1367 1368 1369 1370 1371 + 1369 1370 1370 0 1372 1373 1374 1375 1376 1377 + 1378 1379 1382 1385 1373 1374 1377 1374 1375 1376 + 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 + 1387 1375 1376 1377 1378 1379 1380 1381 1382 1383 + 1384 1385 1376 1377 1379 1382 1383 1384 1377 1379 + 1382 1383 1384 1378 1379 1380 1381 1382 1383 1384 + 1385 1386 1387 1388 1389 1379 1380 1381 1382 1385 + 1386 1387 1380 1381 1382 1383 1384 1385 1386 1387 + 1381 1382 1383 1384 1385 1382 1383 1384 1385 1383 + 1384 1385 1384 0 1386 1387 1388 1389 1390 1391 + 1400 1387 1388 1389 1388 1389 1390 1391 1392 1393 + 1394 1400 1401 1402 1389 1390 1391 1400 1390 1391 + 1392 1393 1394 1395 1396 1397 1400 1401 1402 1403 + 1404 1391 1392 1393 1394 1400 1401 1402 1392 1393 + 1394 1395 1396 1397 1398 1399 1400 1401 1402 1393 + 1394 1395 1396 1397 1400 1394 1395 1396 1397 1400 + 1395 1396 1397 1398 1399 1400 1396 1397 1398 1399 + 1397 1398 1399 1398 1399 1399 0 1401 1402 1403 + 1404 1405 1406 1419 1402 1403 1404 1403 1404 1405 + 1406 1407 1408 1412 1419 1420 1421 1404 1405 1406 + 1419 1405 1406 1407 1408 1409 1410 1411 1412 1413 + 1414 1415 1419 1420 1421 1422 1423 1406 1407 1408 + 1412 1419 1420 1421 1407 1408 1409 1410 1411 1412 + 1413 1414 1415 1416 1417 1418 1419 1420 1421 1408 + 1409 1410 1411 1412 1413 1414 1415 1419 1409 1410 + 1411 1412 1413 1414 1415 1419 1410 1411 1412 1411 + 1412 1412 1413 1414 1415 1416 1417 1418 1419 1414 + 1415 1416 1417 1418 1415 1416 1417 1418 1416 1417 + 1418 1417 1418 1418 0 1420 1421 1422 1423 1424 + 1425 1436 1421 1422 1423 1422 1423 1424 1425 1426 + 1427 1428 1436 1437 1438 1423 1424 1425 1436 1424 + 1425 1426 1427 1428 1429 1430 1431 1436 1437 1438 + 1439 1440 1425 1426 1427 1428 1436 1437 1438 1426 + 1427 1428 1429 1430 1431 1432 1436 1437 1438 1427 + 1428 1429 1430 1431 1436 1428 1429 1430 1431 1436 + 1429 1430 1431 1432 1433 1434 1435 1436 1430 1431 + 1432 1431 1432 1432 1433 1434 1435 1433 1434 1435 + 1434 1435 1435 0 1437 1438 1439 1440 1441 1442 + 1452 1438 1439 1440 1439 1440 1441 1442 1443 1444 + 1448 1452 1453 1454 1440 1441 1442 1452 1441 1442 + 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 + 1453 1454 1455 1456 1442 1443 1444 1448 1452 1453 + 1454 1443 1444 1445 1446 1447 1448 1449 1450 1451 + 1452 1453 1454 1444 1445 1446 1447 1448 1449 1450 + 1451 1452 1445 1446 1447 1448 1449 1450 1451 1452 + 1446 1447 1448 1447 1448 1448 1449 1450 1451 1452 + 1450 1451 1451 0 1453 1454 1455 1456 1457 1458 + 1471 1454 1455 1456 1455 1456 1457 1458 1459 1460 + 1464 1471 1472 1473 1456 1457 1458 1471 1457 1458 + 1459 1460 1461 1462 1463 1464 1465 1466 1467 1471 + 1472 1473 1474 1475 1458 1459 1460 1464 1471 1472 + 1473 1459 1460 1461 1462 1463 1464 1465 1466 1467 + 1468 1469 1470 1471 1472 1473 1460 1461 1462 1463 + 1464 1465 1466 1467 1471 1461 1462 1463 1464 1465 + 1466 1467 1471 1462 1463 1464 1463 1464 1464 1465 + 1466 1467 1468 1469 1470 1471 1466 1467 1468 1469 + 1470 1467 1468 1469 1470 1468 1469 1470 1469 1470 + 1470 0 1472 1473 1474 1475 1476 1477 1478 1473 + 1474 1475 1474 1475 1476 1477 1478 1479 1480 1475 + 1476 1477 1478 1476 1477 1478 1479 1480 1481 1482 + 1477 1478 1479 1480 1478 1479 1480 1479 1480 1481 + 1482 1483 1484 1485 1480 1481 1482 1481 1482 1483 + 1484 1485 1486 1487 1482 1483 1484 1485 1483 1484 + 1485 1486 1487 1488 1489 1484 1485 1486 1487 1485 + 1486 1487 1486 1487 1488 1489 1490 1491 1492 1487 + 1488 1489 1488 1489 1490 1491 1492 1493 1494 1489 + 1490 1491 1492 1490 1491 1492 1493 1494 1495 1496 + 1491 1492 1493 1494 1492 1493 1494 1493 1494 1495 + 1496 1497 1498 1516 1494 1495 1496 1495 1496 1497 + 1498 1499 1500 1501 1516 1517 1518 1496 1497 1498 + 1516 1497 1498 1499 1500 1501 1502 1503 1504 1516 + 1517 1518 1519 1520 1498 1499 1500 1501 1516 1517 + 1518 1499 1500 1501 1502 1503 1504 1505 1506 1507 + 1516 1517 1518 1500 1501 1502 1503 1504 1516 1501 + 1502 1503 1504 1516 1502 1503 1504 1505 1506 1507 + 1508 1509 1516 1503 1504 1505 1506 1507 1504 1505 + 1506 1507 1505 1506 1507 1508 1509 1510 1513 1506 + 1507 1508 1509 1507 1508 1509 1508 1509 1510 1511 + 1512 1513 1514 1515 1509 1510 1513 1510 1511 1512 + 1513 1514 1515 1511 1512 1513 1514 1515 1512 1513 + 1513 1514 1515 1515 0 1517 1518 1519 1520 1521 + 1522 1532 1518 1519 1520 1519 1520 1521 1522 1523 + 1524 1528 1532 1533 1534 1520 1521 1522 1532 1521 + 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 + 1532 1533 1534 1535 1536 1522 1523 1524 1528 1532 + 1533 1534 1523 1524 1525 1526 1527 1528 1529 1530 + 1531 1532 1533 1534 1524 1525 1526 1527 1528 1529 + 1530 1531 1532 1525 1526 1527 1528 1529 1530 1531 + 1532 1526 1527 1528 1527 1528 1528 1529 1530 1531 + 1532 1530 1531 1531 0 1533 1534 1535 1536 1537 + 1538 1553 1534 1535 1536 1535 1536 1537 1538 1539 + 1540 1541 1553 1554 1555 1536 1537 1538 1553 1537 + 1538 1539 1540 1541 1542 1549 1553 1554 1555 1556 + 1557 1538 1539 1540 1541 1553 1554 1555 1539 1540 + 1541 1542 1543 1544 1549 1550 1551 1553 1554 1555 + 1540 1541 1542 1549 1553 1541 1542 1549 1553 1542 + 1543 1544 1545 1546 1549 1550 1551 1552 1553 1543 + 1544 1545 1546 1547 1549 1550 1551 1544 1545 1546 + 1549 1545 1546 1547 1548 1549 1551 1552 1546 1547 + 1551 1547 1548 1549 1550 1551 1552 1548 1549 1551 + 1552 1551 1550 1551 1552 1551 1552 1552 0 1554 + 1555 1556 1557 1558 1559 1568 1555 1556 1557 1556 + 1557 1558 1559 1560 1561 1562 1568 1569 1570 1557 + 1558 1559 1568 1558 1559 1560 1561 1562 1563 1564 + 1565 1568 1569 1570 1571 1572 1559 1560 1561 1562 + 1568 1569 1570 1560 1561 1562 1563 1564 1565 1566 + 1567 1568 1569 1570 1561 1562 1563 1564 1565 1568 + 1562 1563 1564 1565 1568 1563 1564 1565 1566 1567 + 1568 1564 1565 1566 1567 1565 1566 1567 1566 1567 + 1567 0 1569 1570 1571 1572 1573 1574 1585 1570 + 1571 1572 1571 1572 1573 1574 1575 1576 1577 1585 + 1586 1587 1572 1573 1574 1585 1573 1574 1575 1576 + 1577 1578 1579 1580 1585 1586 1587 1588 1589 1574 + 1575 1576 1577 1585 1586 1587 1575 1576 1577 1578 + 1579 1580 1581 1582 1585 1586 1587 1576 1577 1578 + 1579 1580 1585 1577 1578 1579 1580 1585 1578 1579 + 1580 1581 1582 1583 1584 1585 1579 1580 1581 1582 + 1580 1581 1582 1581 1582 1583 1584 1582 1583 1584 + 1583 1584 1584 0 1586 1587 1588 1589 1590 1591 + 1605 1587 1588 1589 1588 1589 1590 1591 1592 1593 + 1594 1605 1606 1607 1589 1590 1591 1605 1590 1591 + 1592 1593 1594 1595 1601 1605 1606 1607 1608 1609 + 1591 1592 1593 1594 1605 1606 1607 1592 1593 1594 + 1595 1596 1597 1601 1602 1603 1605 1606 1607 1593 + 1594 1595 1601 1605 1594 1595 1601 1605 1595 1596 + 1597 1598 1599 1601 1602 1603 1604 1605 1596 1597 + 1598 1599 1600 1601 1602 1603 1597 1598 1599 1601 + 1598 1599 1600 1601 1603 1604 1599 1600 1603 1600 + 1601 1602 1603 1604 1601 1603 1604 1602 1603 1604 + 1603 1604 1604 0 1606 1607 1608 1609 1610 1611 + 1624 1607 1608 1609 1608 1609 1610 1611 1612 1613 + 1614 1624 1625 1626 1609 1610 1611 1624 1610 1611 + 1612 1613 1614 1615 1616 1620 1624 1625 1626 1627 + 1630 1611 1612 1613 1614 1624 1625 1626 1612 1613 + 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 + 1624 1625 1626 1613 1614 1615 1616 1620 1624 1614 + 1615 1616 1620 1624 1615 1616 1617 1618 1619 1620 + 1621 1622 1623 1624 1616 1617 1618 1619 1620 1621 + 1622 1623 1617 1618 1619 1620 1621 1622 1623 1618 + 1619 1620 1619 1620 1620 1621 1622 1623 1622 1623 + 1623 0 1625 1626 1627 1628 1629 1630 1631 1632 + 1635 1638 1626 1627 1630 1627 1628 1629 1630 1631 + 1632 1633 1634 1635 1636 1637 1638 1639 1640 1628 + 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 + 1629 1630 1632 1635 1636 1637 1630 1632 1635 1636 + 1637 1631 1632 1633 1634 1635 1636 1637 1638 1639 + 1640 1641 1642 1632 1633 1634 1635 1638 1639 1640 + 1633 1634 1635 1636 1637 1638 1639 1640 1634 1635 + 1636 1637 1638 1635 1636 1637 1638 1636 1637 1638 + 1637 0 1639 1640 1641 1642 1643 1644 1660 1640 + 1641 1642 1641 1642 1643 1644 1645 1646 1647 1660 + 1661 1662 1642 1643 1644 1660 1643 1644 1645 1646 + 1647 1648 1649 1650 1660 1661 1662 1663 1664 1644 + 1645 1646 1647 1660 1661 1662 1645 1646 1647 1648 + 1649 1650 1651 1652 1653 1660 1661 1662 1646 1647 + 1648 1649 1650 1660 1647 1648 1649 1650 1660 1648 + 1649 1650 1651 1652 1653 1654 1655 1656 1660 1649 + 1650 1651 1652 1653 1650 1651 1652 1653 1651 1652 + 1653 1654 1655 1656 1657 1658 1659 1652 1653 1654 + 1655 1656 1653 1654 1655 1656 1654 1655 1656 1657 + 1658 1659 1655 1656 1657 1658 1659 1656 1657 1658 + 1659 1657 1658 1659 1658 1659 1659 0 1661 1662 + 1663 1664 1665 1666 1670 1662 1663 1664 1663 1664 + 1665 1666 1667 1668 1669 1670 1671 1672 1664 1665 + 1666 1670 1665 1666 1667 1668 1669 1670 1671 1672 + 1673 1674 1666 1667 1668 1669 1670 1671 1672 1667 + 1668 1669 1670 1671 1672 1668 1669 1670 1669 1670 + 1670 1671 1672 1673 1674 1675 1676 1687 1672 1673 + 1674 1673 1674 1675 1676 1677 1678 1679 1687 1688 + 1689 1674 1675 1676 1687 1675 1676 1677 1678 1679 + 1680 1681 1682 1687 1688 1689 1690 1691 1676 1677 + 1678 1679 1687 1688 1689 1677 1678 1679 1680 1681 + 1682 1683 1684 1687 1688 1689 1678 1679 1680 1681 + 1682 1687 1679 1680 1681 1682 1687 1680 1681 1682 + 1683 1684 1685 1686 1687 1681 1682 1683 1684 1682 + 1683 1684 1683 1684 1685 1686 1684 1685 1686 1685 + 1686 1686 0 1688 1689 1690 1691 1692 1693 1709 + 1689 1690 1691 1690 1691 1692 1693 1694 1695 1696 + 1709 1710 1711 1691 1692 1693 1709 1692 1693 1694 + 1695 1696 1697 1698 1699 1709 1710 1711 1712 1713 + 1693 1694 1695 1696 1709 1710 1711 1694 1695 1696 + 1697 1698 1699 1700 1701 1702 1709 1710 1711 1695 + 1696 1697 1698 1699 1709 1696 1697 1698 1699 1709 + 1697 1698 1699 1700 1701 1702 1703 1704 1705 1709 + 1698 1699 1700 1701 1702 1699 1700 1701 1702 1700 + 1701 1702 1703 1704 1705 1706 1707 1708 1701 1702 + 1703 1704 1705 1702 1703 1704 1705 1703 1704 1705 + 1706 1707 1708 1704 1705 1706 1707 1708 1705 1706 + 1707 1708 1706 1707 1708 1707 1708 1708 0 1710 + 1711 1712 1713 1714 1715 1728 1711 1712 1713 1712 + 1713 1714 1715 1716 1717 1718 1728 1729 1730 1713 + 1714 1715 1728 1714 1715 1716 1717 1718 1719 1720 + 1724 1728 1729 1730 1731 1732 1715 1716 1717 1718 + 1728 1729 1730 1716 1717 1718 1719 1720 1721 1722 + 1723 1724 1725 1726 1727 1728 1729 1730 1717 1718 + 1719 1720 1724 1728 1718 1719 1720 1724 1728 1719 + 1720 1721 1722 1723 1724 1725 1726 1727 1728 1720 + 1721 1722 1723 1724 1725 1726 1727 1721 1722 1723 + 1724 1725 1726 1727 1722 1723 1724 1723 1724 1724 + 1725 1726 1727 1726 1727 1727 0 1729 1730 1731 + 1732 1733 1734 1749 1730 1731 1732 1731 1732 1733 + 1734 1735 1736 1737 1749 1750 1751 1732 1733 1734 + 1749 1733 1734 1735 1736 1737 1738 1745 1749 1750 + 1751 1752 1753 1734 1735 1736 1737 1749 1750 1751 + 1735 1736 1737 1738 1739 1740 1745 1746 1747 1749 + 1750 1751 1736 1737 1738 1745 1749 1737 1738 1745 + 1749 1738 1739 1740 1741 1742 1745 1746 1747 1748 + 1749 1739 1740 1741 1742 1743 1745 1746 1747 1740 + 1741 1742 1745 1741 1742 1743 1744 1745 1747 1748 + 1742 1743 1747 1743 1744 1745 1746 1747 1748 1744 + 1745 1747 1748 1747 1746 1747 1748 1747 1748 1748 + 0 1750 1751 1752 1753 1754 1755 1768 1751 1752 + 1753 1752 1753 1754 1755 1756 1757 1758 1768 1769 + 1770 1753 1754 1755 1768 1754 1755 1756 1757 1758 + 1759 1760 1764 1768 1769 1770 1771 1772 1755 1756 + 1757 1758 1768 1769 1770 1756 1757 1758 1759 1760 + 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 + 1757 1758 1759 1760 1764 1768 1758 1759 1760 1764 + 1768 1759 1760 1761 1762 1763 1764 1765 1766 1767 + 1768 1760 1761 1762 1763 1764 1765 1766 1767 1761 + 1762 1763 1764 1765 1766 1767 1762 1763 1764 1763 + 1764 1764 1765 1766 1767 1766 1767 1767 0 1769 + 1770 1771 1772 1773 1774 1782 1770 1771 1772 1771 + 1772 1773 1774 1775 1776 1778 1782 1783 1784 1772 + 1773 1774 1782 1773 1774 1775 1776 1777 1778 1779 + 1780 1781 1782 1783 1784 1785 1786 1774 1775 1776 + 1778 1782 1783 1784 1775 1776 1777 1778 1779 1780 + 1781 1782 1783 1784 1776 1777 1778 1779 1780 1781 + 1782 1777 1778 1779 1780 1781 1782 1778 1779 1780 + 1781 1782 1780 1781 1781 0 1783 1784 1785 1786 + 1787 1788 1799 1784 1785 1786 1785 1786 1787 1788 + 1789 1790 1793 1799 1800 1801 1786 1787 1788 1799 + 1787 1788 1789 1790 1791 1793 1797 1799 1800 1801 + 1802 1803 1788 1789 1790 1793 1799 1800 1801 1789 + 1790 1791 1792 1793 1794 1796 1797 1798 1799 1800 + 1801 1790 1791 1793 1797 1799 1791 1793 1797 1799 + 1792 1793 1794 1795 1796 1797 1798 1793 1794 1795 + 1796 1797 1794 1795 1796 1797 1798 1799 1795 1796 + 1797 1798 1796 1797 1797 1798 1798 0 1800 1801 + 1802 1803 1804 1805 1818 1801 1802 1803 1802 1803 + 1804 1805 1806 1807 1811 1818 1819 1820 1803 1804 + 1805 1818 1804 1805 1806 1807 1808 1809 1810 1811 + 1812 1813 1814 1818 1819 1820 1821 1822 1805 1806 + 1807 1811 1818 1819 1820 1806 1807 1808 1809 1810 + 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 + 1807 1808 1809 1810 1811 1812 1813 1814 1818 1808 + 1809 1810 1811 1812 1813 1814 1818 1809 1810 1811 + 1810 1811 1811 1812 1813 1814 1815 1816 1817 1818 + 1813 1814 1815 1816 1817 1814 1815 1816 1817 1815 + 1816 1817 1816 1817 1817 0 1819 1820 1821 1822 + 1823 1824 1830 1820 1821 1822 1821 1822 1823 1824 + 1825 1826 1827 1830 1831 1832 1822 1823 1824 1830 + 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 + 1833 1834 1824 1825 1826 1827 1830 1831 1832 1825 + 1826 1827 1828 1829 1830 1831 1832 1826 1827 1828 + 1829 1830 1827 1828 1829 1830 1828 1829 1830 1829 + 0 1831 1832 1833 1834 1835 1836 1840 1832 1833 + 1834 1833 1834 1835 1836 1837 1838 1839 1840 1841 + 1842 1834 1835 1836 1840 1835 1836 1837 1838 1839 + 1840 1841 1842 1843 1844 1836 1837 1838 1839 1840 + 1841 1842 1837 1838 1839 1840 1841 1842 1838 1839 + 1840 1839 1840 1840 1841 1842 1843 1844 1845 1846 + 1855 1842 1843 1844 1843 1844 1845 1846 1847 1848 + 1849 1855 1856 1857 1844 1845 1846 1855 1845 1846 + 1847 1848 1849 1850 1851 1852 1855 1856 1857 1858 + 1859 1846 1847 1848 1849 1855 1856 1857 1847 1848 + 1849 1850 1851 1852 1853 1854 1855 1856 1857 1848 + 1849 1850 1851 1852 1855 1849 1850 1851 1852 1855 + 1850 1851 1852 1853 1854 1855 1851 1852 1853 1854 + 1852 1853 1854 1853 1854 1854 0 1856 1857 1858 + 1859 1860 1861 1871 1857 1858 1859 1858 1859 1860 + 1861 1862 1863 1867 1871 1872 1873 1859 1860 1861 + 1871 1860 1861 1862 1863 1864 1865 1866 1867 1868 + 1869 1870 1871 1872 1873 1874 1875 1861 1862 1863 + 1867 1871 1872 1873 1862 1863 1864 1865 1866 1867 + 1868 1869 1870 1871 1872 1873 1863 1864 1865 1866 + 1867 1868 1869 1870 1871 1864 1865 1866 1867 1868 + 1869 1870 1871 1865 1866 1867 1866 1867 1867 1868 + 1869 1870 1871 1869 1870 1870 0 1872 1873 1874 + 1875 1876 1877 1886 1873 1874 1875 1874 1875 1876 + 1877 1878 1879 1880 1886 1887 1888 1875 1876 1877 + 1886 1876 1877 1878 1879 1880 1881 1882 1883 1886 + 1887 1888 1889 1890 1877 1878 1879 1880 1886 1887 + 1888 1878 1879 1880 1881 1882 1883 1884 1885 1886 + 1887 1888 1879 1880