diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
index 2c7723ab5dd19f9816968c9a4d28145ed1d67092..de184b347bad5e56b587c89c3c11e74adbd51d16 100644
--- a/cmake/CMakeLists.txt
+++ b/cmake/CMakeLists.txt
@@ -178,7 +178,7 @@ set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR
   USER-MEAMC USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF
   USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REAXC USER-SCAFACOS
   USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK
-  USER-QUIP USER-QMMM)
+  USER-QUIP USER-QMMM USER-YAFF)
 set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU)
 set(OTHER_PACKAGES CORESHELL QEQ)
 foreach(PKG ${DEFAULT_PACKAGES})
diff --git a/doc/src/Commands_bond.txt b/doc/src/Commands_bond.txt
index fbf292aab2798dbeeb5623f3f43dc8a169e3f367..3b79612e766c5649b93b8138e889c37bb5afb73e 100644
--- a/doc/src/Commands_bond.txt
+++ b/doc/src/Commands_bond.txt
@@ -37,6 +37,7 @@ OPT.
 "harmonic (iko)"_bond_harmonic.html,
 "harmonic/shift (o)"_bond_harmonic_shift.html,
 "harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html,
+"mm3"_bond_mm3.html,
 "morse (o)"_bond_morse.html,
 "nonlinear (o)"_bond_nonlinear.html,
 "oxdna/fene"_bond_oxdna.html,
@@ -67,10 +68,12 @@ OPT.
 "cosine/shift (o)"_angle_cosine_shift.html,
 "cosine/shift/exp (o)"_angle_cosine_shift_exp.html,
 "cosine/squared (o)"_angle_cosine_squared.html,
+"cross"_angle_cross.html,
 "dipole (o)"_angle_dipole.html,
 "fourier (o)"_angle_fourier.html,
 "fourier/simple (o)"_angle_fourier_simple.html,
 "harmonic (iko)"_angle_harmonic.html,
+"mm3"_angle_mm3.html,
 "quartic (o)"_angle_quartic.html,
 "sdk (o)"_angle_sdk.html,
 "table (o)"_angle_table.html :tb(c=4,ea=c)
@@ -120,8 +123,10 @@ OPT.
 "cossq (o)"_improper_cossq.html,
 "cvff (io)"_improper_cvff.html,
 "distance"_improper_distance.html,
+"distharm"_improper_distharm.html,
 "fourier (o)"_improper_fourier.html,
 "harmonic (iko)"_improper_harmonic.html,
 "inversion/harmonic"_improper_inversion_harmonic.html,
 "ring (o)"_improper_ring.html,
+"sqdistharm"_improper_sqdistharm.html,
 "umbrella (o)"_improper_umbrella.html :tb(c=4,ea=c)
diff --git a/doc/src/Commands_pair.txt b/doc/src/Commands_pair.txt
index 46f4950ad78fb60db7555b50810b318a56cd4147..b498e6bfdadc348034e849839c505d866af1639c 100644
--- a/doc/src/Commands_pair.txt
+++ b/doc/src/Commands_pair.txt
@@ -154,6 +154,7 @@ OPT.
 "lj/sf/dipole/sf (go)"_pair_dipole.html,
 "lj/smooth (o)"_pair_lj_smooth.html,
 "lj/smooth/linear (o)"_pair_lj_smooth_linear.html,
+"lj/switch3/coulgauss/long"_pair_lj_switch3_coulgauss.html,
 "lj96/cut (go)"_pair_lj96.html,
 "lubricate (o)"_pair_lubricate.html,
 "lubricate/poly (o)"_pair_lubricate.html,
diff --git a/doc/src/Eqs/angle_cross.jpg b/doc/src/Eqs/angle_cross.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b0f3fcf83ac2621807c7ae58772bfbddd1d94824
Binary files /dev/null and b/doc/src/Eqs/angle_cross.jpg differ
diff --git a/doc/src/Eqs/angle_cross.tex b/doc/src/Eqs/angle_cross.tex
new file mode 100644
index 0000000000000000000000000000000000000000..9d1fdcb7f8e53e19e61b596e0e313d3050a46c4a
--- /dev/null
+++ b/doc/src/Eqs/angle_cross.tex
@@ -0,0 +1,9 @@
+\documentclass[12pt]{article}
+
+\begin{document}
+\thispagestyle{empty}
+$$
+  E = K_{SS} \left(r_{12}-r_{12,0}\right)\left(r_{32}-r_{32,0}\right) + K_{BS0}\left(r_{12}-r_{12,0}\right)\left(\theta-\theta_0\right) + K_{BS1}\left(r_{32}-r_{32,0}\right)\left(\theta-\theta_0\right)
+$$
+
+\end{document}
diff --git a/doc/src/Eqs/angle_mm3.jpg b/doc/src/Eqs/angle_mm3.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5b9f3e34f091f5a2d439294e9c5a1802a2885fb4
Binary files /dev/null and b/doc/src/Eqs/angle_mm3.jpg differ
diff --git a/doc/src/Eqs/angle_mm3.tex b/doc/src/Eqs/angle_mm3.tex
new file mode 100644
index 0000000000000000000000000000000000000000..e2d96f2d6939db2c6eb3e0ad3cbdf6dd4e4c9321
--- /dev/null
+++ b/doc/src/Eqs/angle_mm3.tex
@@ -0,0 +1,9 @@
+\documentclass[12pt]{article}
+
+\begin{document}
+\thispagestyle{empty}
+$$
+  E = K (\theta - \theta_0)^2 \left[ 1 - 0.014(\theta - \theta_0) + 5.6(10)^{-5} (\theta - \theta_0)^2 - 7.0(10)^{-7} (\theta - \theta_0)^3 + 9(10)^{-10} (\theta - \theta_0)^4 \right]
+$$
+
+\end{document}
diff --git a/doc/src/Eqs/bond_mm3.jpg b/doc/src/Eqs/bond_mm3.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..2c17739db57e8d147166ab0a4cc768cf80f534af
Binary files /dev/null and b/doc/src/Eqs/bond_mm3.jpg differ
diff --git a/doc/src/Eqs/bond_mm3.tex b/doc/src/Eqs/bond_mm3.tex
new file mode 100644
index 0000000000000000000000000000000000000000..549500ebacc714b7106a864d4ba0b3d0d3f6bf7e
--- /dev/null
+++ b/doc/src/Eqs/bond_mm3.tex
@@ -0,0 +1,9 @@
+\documentclass[12pt]{article}
+
+\begin{document}
+\thispagestyle{empty}
+$$
+  E = K (r - r_0)^2 \left[ 1 - 2.55(r-r_0) + (7/12) 2.55^2(r-r_0)^2 \right]
+$$
+
+\end{document}
diff --git a/doc/src/Eqs/improper_distharm.jpg b/doc/src/Eqs/improper_distharm.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e55036b5bf092c1b35b8ba42427b78f562238947
Binary files /dev/null and b/doc/src/Eqs/improper_distharm.jpg differ
diff --git a/doc/src/Eqs/improper_distharm.tex b/doc/src/Eqs/improper_distharm.tex
new file mode 100644
index 0000000000000000000000000000000000000000..218de6a0ddc40ecd9021dd430647bc678c6e3fa0
--- /dev/null
+++ b/doc/src/Eqs/improper_distharm.tex
@@ -0,0 +1,9 @@
+\documentclass[12pt]{article}
+
+\begin{document}
+\thispagestyle{empty}
+$$
+  E = K (d - d_0)^2
+$$
+
+\end{document}
diff --git a/doc/src/Eqs/improper_sqdistharm.jpg b/doc/src/Eqs/improper_sqdistharm.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b1a84e995e655ca32d6529122fa971bc1ef1e574
Binary files /dev/null and b/doc/src/Eqs/improper_sqdistharm.jpg differ
diff --git a/doc/src/Eqs/improper_sqdistharm.tex b/doc/src/Eqs/improper_sqdistharm.tex
new file mode 100644
index 0000000000000000000000000000000000000000..1b50a309a046a0b4fe4a32ce6b728f5666dfda10
--- /dev/null
+++ b/doc/src/Eqs/improper_sqdistharm.tex
@@ -0,0 +1,9 @@
+\documentclass[12pt]{article}
+
+\begin{document}
+\thispagestyle{empty}
+$$
+  E = K (d^2 - d_0^2)^2
+$$
+
+\end{document}
diff --git a/doc/src/Eqs/pair_coulgauss.jpg b/doc/src/Eqs/pair_coulgauss.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..bf84d90c4a1b4a7774e3933bfef6e949c9603cf7
Binary files /dev/null and b/doc/src/Eqs/pair_coulgauss.jpg differ
diff --git a/doc/src/Eqs/pair_coulgauss.tex b/doc/src/Eqs/pair_coulgauss.tex
new file mode 100644
index 0000000000000000000000000000000000000000..216d3b3360a791efb8ac8f29fe9dc887e87a97b5
--- /dev/null
+++ b/doc/src/Eqs/pair_coulgauss.tex
@@ -0,0 +1,9 @@
+\documentclass[12pt]{article}
+
+\begin{document}
+  \thispagestyle{empty}
+\begin{eqnarray*}
+  E &=& \frac{q_i q_j \mathrm{erf}\left( r/\sqrt{\gamma_1^2+\gamma_2^2} \right) }{\epsilon r_{ij}}
+\end{eqnarray*}
+
+\end{document}
diff --git a/doc/src/Eqs/pair_lj_switch3.jpg b/doc/src/Eqs/pair_lj_switch3.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a1f98ea2c24bcac86871e1476901791edc83dc62
Binary files /dev/null and b/doc/src/Eqs/pair_lj_switch3.jpg differ
diff --git a/doc/src/Eqs/pair_lj_switch3.tex b/doc/src/Eqs/pair_lj_switch3.tex
new file mode 100644
index 0000000000000000000000000000000000000000..29161fb2ef679f9d2186dcf31335b5daacc5540b
--- /dev/null
+++ b/doc/src/Eqs/pair_lj_switch3.tex
@@ -0,0 +1,11 @@
+\documentclass[12pt]{article}
+
+\begin{document}
+  \thispagestyle{empty}
+
+\begin{eqnarray*}
+  E = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12}-\left(\frac{\sigma}{r}\right)^{6} \right]
+% \qquad r < r_c \\
+\end{eqnarray*}
+
+\end{document}
diff --git a/doc/src/Eqs/pair_mm3_switch3.jpg b/doc/src/Eqs/pair_mm3_switch3.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5d662584a7d1fec8d273c87ce3bf0b16a904f6d4
Binary files /dev/null and b/doc/src/Eqs/pair_mm3_switch3.jpg differ
diff --git a/doc/src/Eqs/pair_mm3_switch3.tex b/doc/src/Eqs/pair_mm3_switch3.tex
new file mode 100644
index 0000000000000000000000000000000000000000..a80278cce2236c6f7ba4951cadb8fe781abc60d2
--- /dev/null
+++ b/doc/src/Eqs/pair_mm3_switch3.tex
@@ -0,0 +1,11 @@
+\documentclass[12pt]{article}
+
+\begin{document}
+  \thispagestyle{empty}
+\begin{eqnarray*}
+  E &=& \epsilon_{ij} \left[ -2.25 \left(\frac{r_{v,ij}}{r_{ij}}\right)^6 + 1.84(10)^5 \exp\left[-12.0 r_{ij}/r_{v,ij}\right] \right] S_3(r_{ij}) \\
+  r_{v,ij} &=& r_{v,i} + r_{v,j} \\ 
+  \epsilon_{ij} &=& \sqrt{\epsilon_i \epsilon_j}
+\end{eqnarray*}
+
+\end{document}
diff --git a/doc/src/Eqs/pair_switch3.jpg b/doc/src/Eqs/pair_switch3.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e6327ee5ff1d2b6e586e4d0fdfc879a4b9977a56
Binary files /dev/null and b/doc/src/Eqs/pair_switch3.jpg differ
diff --git a/doc/src/Eqs/pair_switch3.tex b/doc/src/Eqs/pair_switch3.tex
new file mode 100644
index 0000000000000000000000000000000000000000..7ae67a5e6548ed1b342a596ec3fbfbbec023891c
--- /dev/null
+++ b/doc/src/Eqs/pair_switch3.tex
@@ -0,0 +1,14 @@
+\documentclass[12pt]{article}
+
+\begin{document}
+\thispagestyle{empty}
+
+\begin{eqnarray*}
+ S_3(r) = \left\lbrace \begin{array}{ll}
+                     1 & \quad\mathrm{if}\quad r < r_\mathrm{c} - w \\
+                     3x^2 - 2x^3 & \quad\mathrm{if}\quad r < r_\mathrm{c} \quad\mathrm{with\quad} x=\frac{r_\mathrm{c} - r}{w} \\
+                     0 & \quad\mathrm{if}\quad r >= r_\mathrm{c}
+                 \end{array} \right.
+\end{eqnarray*}
+
+\end{document}
diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt
index 4768c50ca47d8ad2d9f8ec0634e4bf43f5ac2031..ebfe01d8a73a2cfbda9057cd761131313b3d0041 100644
--- a/doc/src/Packages_details.txt
+++ b/doc/src/Packages_details.txt
@@ -100,7 +100,8 @@ as contained in the file name.
 "USER-SPH"_#PKG-USER-SPH,
 "USER-TALLY"_#PKG-USER-TALLY,
 "USER-UEF"_#PKG-USER-UEF,
-"USER-VTK"_#PKG-USER-VTK :tb(c=6,ea=c)
+"USER-VTK"_#PKG-USER-VTK,
+"USER-YAFF"_#PKG-USER-YAFF, :tb(c=6,ea=c)
 
 :line
 
@@ -2067,3 +2068,39 @@ lib/vtk/README
 "dump vtk"_dump_vtk.html :ul
 
 
+:line
+
+USER-YAFF package :link(PKG-USER-YAFF),h4
+
+[Contents:]
+
+Some potentials that are also implemented in the Yet Another Force Field ("YAFF"_yaff) code.
+The expressions and their use are discussed in the following papers
+
+Vanduyfhuys et al., J. Comput. Chem., 36 (13), 1015-1027 (2015) "link"_vanduyfhuys2015
+Vanduyfhuys et al., J. Comput. Chem., 39 (16), 999-1011 (2018) "link"_vanduyfhuys2018 :ul
+
+which discuss the "QuickFF"_quickff methodology.
+
+
+:link(vanduyfhuys2015,http://dx.doi.org/10.1002/jcc.23877)
+:link(vanduyfhuys2018,http://dx.doi.org/10.1002/jcc.25173)
+:link(quickff,http://molmod.github.io/QuickFF)
+:link(yaff,https://github.com/molmod/yaff)
+
+
+[Author:] Steven Vandenbrande.
+
+[Supporting info:]
+
+src/USER-YAFF/README
+"angle_style cross"_angle_cross.html
+"angle_style mm3"_angle_mm3.html
+"bond_style mm3"_bond_mm3.html
+"improper_style distharm"_improper_distharm.html
+"improper_style sqdistharm"_improper_sqdistharm.html
+"pair_style mm3/switch3/coulgauss/long"_pair_mm3_switch3_coulgauss.html
+"pair_style lj/switch3/coulgauss/long"_pair_lj_switch3_coulgauss.html
+examples/USER/yaff :ul
+
+
diff --git a/doc/src/Packages_user.txt b/doc/src/Packages_user.txt
index cea3db4377411c05272bae170c09625678e46cf0..4a702e971fe526c00298996da98776d2f0224f28 100644
--- a/doc/src/Packages_user.txt
+++ b/doc/src/Packages_user.txt
@@ -75,7 +75,8 @@ Package, Description, Doc page, Example, Library
 "USER-SPH"_Packages_details.html#PKG-USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, no
 "USER-TALLY"_Packages_details.html#PKG-USER-TALLY, pairwise tally computes,"compute XXX/tally"_compute_tally.html, USER/tally, no
 "USER-UEF"_Packages_details.html#PKG-USER-UEF, extensional flow,"fix nvt/uef"_fix_nh_uef.html, USER/uef, no
-"USER-VTK"_Packages_details.html#PKG-USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, n/a, ext :tb(ea=c,ca1=l)
+"USER-VTK"_Packages_details.html#PKG-USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, n/a, ext
+"USER-YAFF"_Packages_details.html#PKG-USER-YAFF, additional styles implemented in YAFF, "angle_style cross"_angle_cross.html, USER/yaff, no :tb(ea=c,ca1=l)
 
 :link(MOFplus,https://www.mofplus.org/content/show/MOF-FF)
 :link(PLUMED,http://www.plumed.org)
diff --git a/doc/src/angle_cross.txt b/doc/src/angle_cross.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d9d83ed4b69eef64c269f264382c1073259c0f5f
--- /dev/null
+++ b/doc/src/angle_cross.txt
@@ -0,0 +1,62 @@
+"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands_all.html)
+
+:line
+
+angle_style cross command :h3
+
+[Syntax:]
+
+angle_style cross :pre
+
+[Examples:]
+
+angle_style cross
+angle_coeff 1 200.0 100.0 100.0 1.25 1.25 107.0 :pre
+
+[Description:]
+
+The {cross} angle style uses a potential that couples the bond stretches of
+a bend with the angle stretch of that bend:
+
+:c,image(Eqs/angle_cross.jpg)
+
+where r12,0 is the rest value of the bond length between atom 1 and 2,
+r32,0 is the rest value of the bond length between atom 2 and 2,
+and theta0 is the rest value of the angle. KSS is the force constant of
+the bond stretch-bond stretch term and KBS0 and KBS1 are the force constants
+of the bond stretch-angle stretch terms.
+
+The following coefficients must be defined for each angle type via the
+"angle_coeff"_angle_coeff.html command as in the example above, or in
+the data file or restart files read by the "read_data"_read_data.html
+or "read_restart"_read_restart.html commands:
+
+KSS (energy/distance^2)
+KBS0 (energy/distance/rad)
+KBS1 (energy/distance/rad)
+r12,0 (distance)
+r32,0 (distance)
+theta0 (degrees) :ul
+
+Theta0 is specified in degrees, but LAMMPS converts it to radians
+internally; hence the units of KBS0 and KBS1 are in energy/distance/radian.
+
+[Restrictions:]
+
+This angle style can only be used if LAMMPS was built with the
+USER_YAFF package.  See the "Build package"_Build_package.html doc
+page for more info.
+
+[Related commands:]
+
+"angle_coeff"_angle_coeff.html
+
+[Default:] none
+
+:line
+
+
diff --git a/doc/src/angle_mm3.txt b/doc/src/angle_mm3.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9ae032c4ff5344f78267b50c1d4f81914c15d6f6
--- /dev/null
+++ b/doc/src/angle_mm3.txt
@@ -0,0 +1,55 @@
+"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands_all.html)
+
+:line
+
+angle_style mm3 command :h3
+
+[Syntax:]
+
+angle_style mm3 :pre
+
+[Examples:]
+
+angle_style mm3
+angle_coeff 1 100.0 107.0 :pre
+
+[Description:]
+
+The {mm3} angle style uses the potential that is anharmonic in the angle
+as defined in "(Allinger)"_#mm3-allinger1989
+
+:c,image(Eqs/angle_mm3.jpg)
+
+where theta0 is the equilibrium value of the angle, and K is a
+prefactor. The anharmonic prefactors have units deg^(-n), for example
+-0.014 deg^(-1), 5.6(10)^(-5) deg^(-2), ...
+
+The following coefficients must be defined for each angle type via the
+"angle_coeff"_angle_coeff.html command as in the example above, or in
+the data file or restart files read by the "read_data"_read_data.html
+or "read_restart"_read_restart.html commands:
+
+K (energy/radian^2)
+theta0 (degrees) :ul
+
+Theta0 is specified in degrees, but LAMMPS converts it to radians
+internally; hence the units of K are in energy/radian^2.
+
+[Restrictions:]
+
+This angle style can only be used if LAMMPS was built with the
+USER_YAFF package.  See the "Build package"_Build_package.html doc
+page for more info.
+
+[Related commands:]
+
+"angle_coeff"_angle_coeff.html
+
+[Default:] none
+
+:line
+
diff --git a/doc/src/angle_style.txt b/doc/src/angle_style.txt
index 2c3c1f2bd1ff81aeb8a057b42148488cd096c6be..2f2da678d86ab7a2e254e318d0b713a87381add0 100644
--- a/doc/src/angle_style.txt
+++ b/doc/src/angle_style.txt
@@ -81,10 +81,12 @@ of (g,i,k,o,t) to indicate which accelerated styles exist.
 "cosine/shift"_angle_cosine_shift.html - angle cosine with a shift
 "cosine/shift/exp"_angle_cosine_shift_exp.html - cosine with shift and exponential term in spring constant
 "cosine/squared"_angle_cosine_squared.html - angle with cosine squared term
+"cross"_angle_cross.html - cross term coupling angle and bond lengths
 "dipole"_angle_dipole.html - angle that controls orientation of a point dipole
 "fourier"_angle_fourier.html - angle with multiple cosine terms
 "fourier/simple"_angle_fourier_simple.html - angle with a single cosine term
 "harmonic"_angle_harmonic.html - harmonic angle
+"mm3"_angle_mm3.html - anharmonic angle
 "quartic"_angle_quartic.html - angle with cubic and quartic terms
 "sdk"_angle_sdk.html - harmonic angle with repulsive SDK pair style between 1-3 atoms
 "table"_angle_table.html - tabulated by angle :ul
diff --git a/doc/src/angles.txt b/doc/src/angles.txt
index 3e91ba9917176bf02c5e06ba403aa18b2b2cd9d6..3d8a47b2ebceb834ca91aec44d81dd42f5b4c9e2 100644
--- a/doc/src/angles.txt
+++ b/doc/src/angles.txt
@@ -14,11 +14,13 @@ Angle Styles :h1
    angle_cosine_shift
    angle_cosine_shift_exp
    angle_cosine_squared
+   angle_cross
    angle_dipole
    angle_fourier
    angle_fourier_simple
    angle_harmonic
    angle_hybrid
+   angle_mm3
    angle_none
    angle_quartic
    angle_sdk
diff --git a/doc/src/bond_mm3.txt b/doc/src/bond_mm3.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c3d0e39f52cf4885a7bd271cc00b8f60413b6163
--- /dev/null
+++ b/doc/src/bond_mm3.txt
@@ -0,0 +1,58 @@
+"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands_all.html)
+
+:line
+
+bond_style mm3 command :h3
+
+[Syntax:]
+
+bond_style mm3 :pre
+
+[Examples:]
+
+bond_style mm3
+bond_coeff 1 100.0 107.0 :pre
+
+[Description:]
+
+The {mm3} bond style uses the potential that is anharmonic in the bond
+as defined in "(Allinger)"_#mm3-allinger1989
+
+:c,image(Eqs/bond_mm3.jpg)
+
+where r0 is the equilibrium value of the bond, and K is a
+prefactor. The anharmonic prefactors have units angstrom^(-n):
+-2.55 angstrom^(-1) and (7/12)2.55^2 angstrom^(-2). The code takes
+care of the necessary unit conversion for these factors internally.
+Note that the MM3 papers contains an error in Eq (1):
+(7/12)2.55 should be replaced with (7/12)2.55^2
+
+The following coefficients must be defined for each bond type via the
+"bond_coeff"_bond_coeff.html command as in the example above, or in
+the data file or restart files read by the "read_data"_read_data.html
+or "read_restart"_read_restart.html commands:
+
+K (energy/distance^2)
+r0 (distance) :ul
+
+[Restrictions:]
+
+This bond style can only be used if LAMMPS was built with the
+USER_YAFF package.  See the "Build package"_Build_package.html doc
+page for more info.
+
+[Related commands:]
+
+"bond_coeff"_bond_coeff.html
+
+[Default:] none
+
+:line
+
+:link(mm3-allinger1989)
+[(Allinger)] Allinger, Yuh, Lii, JACS, 111(23), 8551-8566
+(1989),
diff --git a/doc/src/bond_style.txt b/doc/src/bond_style.txt
index ae19f2369d83c476ea9cad4740efbb5c55968d07..aba6d3a7781fe952c7977361536ae758983654ba 100644
--- a/doc/src/bond_style.txt
+++ b/doc/src/bond_style.txt
@@ -86,6 +86,7 @@ accelerated styles exist.
 "harmonic"_bond_harmonic.html - harmonic bond
 "harmonic/shift"_bond_harmonic_shift.html - shifted harmonic bond
 "harmonic/shift/cut"_bond_harmonic_shift_cut.html - shifted harmonic bond with a cutoff
+"mm3"_bond_mm3.html - MM3 anharmonic bond
 "morse"_bond_morse.html - Morse bond
 "nonlinear"_bond_nonlinear.html - nonlinear bond
 "oxdna/fene"_bond_oxdna.html - modified FENE bond suitable for DNA modeling
diff --git a/doc/src/bonds.txt b/doc/src/bonds.txt
index d33515eb88e36c3aca1525e5426a6cc80cbdeae8..48896e711c3bcdc57dd637c00ec0d285a6914f61 100644
--- a/doc/src/bonds.txt
+++ b/doc/src/bonds.txt
@@ -13,6 +13,7 @@ Bond Styles :h1
    bond_harmonic_shift
    bond_harmonic_shift_cut
    bond_hybrid
+   bond_mm3
    bond_morse
    bond_none
    bond_nonlinear
diff --git a/doc/src/improper_distharm.txt b/doc/src/improper_distharm.txt
new file mode 100644
index 0000000000000000000000000000000000000000..52815e76aaaab5226076876c2bc118e3bf9e67f4
--- /dev/null
+++ b/doc/src/improper_distharm.txt
@@ -0,0 +1,53 @@
+"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands_all.html)
+
+:line
+
+improper_style distharm command :h3
+
+[Syntax:]
+
+improper_style distharm
+
+[Examples:]
+
+improper_style distharm
+improper_coeff 1 25.0 0.5 :pre
+
+[Description:]
+
+The {distharm} improper style uses the potential
+
+:c,image(Eqs/improper_distharm.jpg)
+
+where d is the oriented distance between the central atom and the plane formed
+by the other three atoms.  If the 4 atoms in an improper quadruplet
+(listed in the data file read by the "read_data"_read_data.html
+command) are ordered I,J,K,L then the L-atom is assumed to be the
+central atom. Note that this is different from the convention used
+in the improper_style distance. The distance d is oriented and can take
+on negative values. This may lead to unwanted behavior if d0 is not equal to zero.
+
+The following coefficients must be defined for each improper type via
+the improper_coeff command as in the example above, or in the data
+file or restart files read by the read_data or read_restart commands:
+
+K (energy/distance^2)
+d0 (distance) :ul
+
+:line
+
+[Restrictions:]
+
+This improper style can only be used if LAMMPS was built with the
+USER-YAFF package.  See the "Build package"_Build_package.html doc
+page for more info.
+
+[Related commands:]
+
+"improper_coeff"_improper_coeff.html
+
+[Default:] none
diff --git a/doc/src/improper_sqdistharm.txt b/doc/src/improper_sqdistharm.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7473fd8c5d87ed15c26ecfe9fba0dec3d92c0642
--- /dev/null
+++ b/doc/src/improper_sqdistharm.txt
@@ -0,0 +1,54 @@
+"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands_all.html)
+
+:line
+
+improper_style sqdistharm command :h3
+
+[Syntax:]
+
+improper_style sqdistharm
+
+[Examples:]
+
+improper_style sqdistharm
+improper_coeff 1 50.0 0.1 :pre
+
+[Description:]
+
+The {sqdistharm} improper style uses the potential
+
+:c,image(Eqs/improper_sqdistharm.jpg)
+
+where d is the distance between the central atom and the plane formed
+by the other three atoms.  If the 4 atoms in an improper quadruplet
+(listed in the data file read by the "read_data"_read_data.html
+command) are ordered I,J,K,L then the L-atom is assumed to be the
+central atom. Note that this is different from the convention used
+in the improper_style distance.
+
+The following coefficients must be defined for each improper type via
+the improper_coeff command as in the example above, or in the data
+file or restart files read by the read_data or read_restart commands:
+
+K (energy/distance^4)
+d0^2 (distance^2) :ul
+
+Note that d0^2 (in units distance^2) has be provided and not d0.
+
+:line
+
+[Restrictions:]
+
+This improper style can only be used if LAMMPS was built with the
+USER-MISC package.  See the "Build package"_Build_package.html doc
+page for more info.
+
+[Related commands:]
+
+"improper_coeff"_improper_coeff.html
+
+[Default:] none
diff --git a/doc/src/improper_style.txt b/doc/src/improper_style.txt
index c5e0be8a819aac165d61952af8abee28b908a22c..cd72da4d073d700aef9d310a1f2aa362334b651f 100644
--- a/doc/src/improper_style.txt
+++ b/doc/src/improper_style.txt
@@ -78,11 +78,13 @@ more of (g,i,k,o,t) to indicate which accelerated styles exist.
 "cossq"_improper_cossq.html - improper with a cosine squared term
 "cvff"_improper_cvff.html - CVFF improper
 "distance"_improper_distance.html - improper based on distance between atom planes
+"distharm"_improper_distharm.html - improper that is harmonic in the out-of-plane distance
 "fourier"_improper_fourier.html - improper with multiple cosine terms
 "harmonic"_improper_harmonic.html - harmonic improper
 "inversion/harmonic"_improper_inversion_harmonic.html - harmonic improper with Wilson-Decius out-of-plane definition
 "ring"_improper_ring.html - improper which prevents planar conformations
 "umbrella"_improper_umbrella.html - DREIDING improper :ul
+"sqdistharm"_improper_sqdistharm.html - improper that is harmonic in the square of the out-of-plane distance
 
 :line
 
diff --git a/doc/src/impropers.txt b/doc/src/impropers.txt
index ca6c839c95a03fc934d8811d8e4ab0284f4b2d94..ce829197fe8d5970a6c13752d116145db281ae03 100644
--- a/doc/src/impropers.txt
+++ b/doc/src/impropers.txt
@@ -9,6 +9,7 @@ Improper Styles :h1
    improper_cossq
    improper_cvff
    improper_distance
+   improper_distharm
    improper_fourier
    improper_harmonic
    improper_hybrid
@@ -16,6 +17,7 @@ Improper Styles :h1
    improper_none
    improper_ring
    improper_umbrella
+   improper_sqdistharm
    improper_zero
 
 END_RST -->
diff --git a/doc/src/lammps.book b/doc/src/lammps.book
index a1bbaf896ed48258a7d75f6257acc8d941f82f4e..5ae3456ad4be214edce5fc66e0d55b4e6418db26 100644
--- a/doc/src/lammps.book
+++ b/doc/src/lammps.book
@@ -596,6 +596,7 @@ pair_lj_long.html
 pair_lj_smooth.html
 pair_lj_smooth_linear.html
 pair_lj_soft.html
+pair_lj_switch3_coulgauss.html
 pair_lubricate.html
 pair_lubricateU.html
 pair_mdf.html
@@ -605,6 +606,7 @@ pair_meam_sw_spline.html
 pair_meso.html
 pair_mgpt.html
 pair_mie.html
+pair_mm3_switch3_coulgauss.html
 pair_momb.html
 pair_morse.html
 pair_multi_lucy.html
@@ -668,6 +670,7 @@ bond_harmonic_shift.html
 bond_harmonic_shift_cut.html
 bond_hybrid.html
 bond_morse.html
+bond_mm3.html
 bond_none.html
 bond_nonlinear.html
 bond_oxdna.html
@@ -687,11 +690,13 @@ angle_cosine_periodic.html
 angle_cosine_shift.html
 angle_cosine_shift_exp.html
 angle_cosine_squared.html
+angle_cross.html
 angle_dipole.html
 angle_fourier.html
 angle_fourier_simple.html
 angle_harmonic.html
 angle_hybrid.html
+angle_mm3.html
 angle_none.html
 angle_quartic.html
 angle_sdk.html
@@ -725,6 +730,7 @@ improper_class2.html
 improper_cossq.html
 improper_cvff.html
 improper_distance.html
+improper_distharm.html
 improper_fourier.html
 improper_harmonic.html
 improper_hybrid.html
@@ -732,6 +738,7 @@ improper_inversion_harmonic.html
 improper_none.html
 improper_ring.html
 improper_umbrella.html
+improper_sqdistharm.html
 improper_zero.html
 
 lammps_commands_kspace.html
diff --git a/doc/src/pair_lj_switch3_coulgauss.txt b/doc/src/pair_lj_switch3_coulgauss.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1277cff9aa995ed3663050dd966729ac42db6a17
--- /dev/null
+++ b/doc/src/pair_lj_switch3_coulgauss.txt
@@ -0,0 +1,86 @@
+"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands_all.html)
+
+:line
+
+pair_style lj/switch3/coulgauss/long command :h3
+
+[Syntax:]
+
+pair_style style args :pre
+
+style = {lj/switch3/coulgauss/long}
+args = list of arguments for a particular style :ul
+  {lj/switch3/coulgauss/long} args = cutoff (cutoff2) width
+    cutoff  = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
+    cutoff2 = global cutoff for Coulombic (optional) (distance units)
+    width  = width parameter of the smoothing function (distance units) :pre
+
+[Examples:]
+
+pair_style lj/switch3/coulgauss/long    12.0 3.0
+pair_coeff 1  0.2 2.5 1.2 :pre
+
+pair_style lj/switch3/coulgauss/long   12.0 10.0 3.0
+pair_coeff 1  0.2 2.5 1.2 :pre
+
+[Description:]
+
+The {lj/switch3/coulgauss} style evaluates the LJ
+vdW potential
+
+:c,image(Eqs/pair_lj_switch3.jpg)
+
+, which goes smoothly to zero at the cutoff r_c as defined
+by the switching function
+
+:c,image(Eqs/pair_switch3.jpg)
+
+where w is the width defined in the arguments. This potential
+is combined with Coulomb interaction between Gaussian charge densities:
+
+:c,image(Eqs/pair_coulgauss.jpg)
+
+where qi and qj are the
+charges on the 2 atoms, epsilon is the dielectric constant which
+can be set by the "dielectric"_dielectric.html command, gamma_i and gamma_j
+are the widths of the Gaussian charge distribution and erf() is the error-function.
+This style has to be used in conjunction with the "kspace_style"_kspace_style.html command
+
+If one cutoff is specified it is used for both the vdW and Coulomb
+terms.  If two cutoffs are specified, the first is used as the cutoff
+for the vdW terms, and the second is the cutoff for the Coulombic term.
+
+The following coefficients must be defined for each pair of atoms
+types via the "pair_coeff"_pair_coeff.html command as in the examples
+above, or in the data file or restart files read by the
+"read_data"_read_data.html or "read_restart"_read_restart.html
+commands:
+
+epsilon (energy)
+sigma (distance)
+gamma (distance) :ul
+
+:line
+
+[Mixing, shift, table, tail correction, restart, rRESPA info]:
+
+Shifting the potential energy is not necessary because the switching
+function ensures that the potential is zero at the cut-off.
+
+
+[Restrictions:]
+
+These styles are part of the USER-YAFF package.  They are only
+enabled if LAMMPS was built with that package.  See the "Build
+package"_Build_package.html doc page for more info.
+
+[Related commands:]
+
+"pair_coeff"_pair_coeff.html
+
+[Default:] none
+
diff --git a/doc/src/pair_mm3_switch3_coulgauss.txt b/doc/src/pair_mm3_switch3_coulgauss.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3e0e24150e2c1e2a8f11ee8eb085599797ebfc1c
--- /dev/null
+++ b/doc/src/pair_mm3_switch3_coulgauss.txt
@@ -0,0 +1,88 @@
+"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands_all.html)
+
+:line
+
+pair_style mm3/switch3/coulgauss/long command :h3
+
+[Syntax:]
+
+pair_style style args :pre
+
+style = {mm3/switch3/coulgauss/long}
+args = list of arguments for a particular style :ul
+  {mm3/switch3/coulgauss/long} args = cutoff (cutoff2) width
+    cutoff  = global cutoff for MM3 (and Coulombic if only 1 arg) (distance units)
+    cutoff2 = global cutoff for Coulombic (optional) (distance units)
+    width  = width parameter of the smoothing function (distance units) :pre
+
+[Examples:]
+
+pair_style mm3/switch3/coulgauss/long    12.0 3.0
+pair_coeff 1  0.2 2.5 1.2 :pre
+
+pair_style mm3/switch3/coulgauss/long   12.0 10.0 3.0
+pair_coeff 1  0.2 2.5 1.2 :pre
+
+[Description:]
+
+The {mm3/switch3/coulgauss} style evaluates the MM3
+vdW potential "(Allinger)"_#mm3-allinger1989
+
+:c,image(Eqs/pair_mm3_switch3.jpg)
+
+, which goes smoothly to zero at the cutoff r_c as defined
+by the switching function
+
+:c,image(Eqs/pair_switch3.jpg)
+
+where w is the width defined in the arguments. This potential
+is combined with Coulomb interaction between Gaussian charge densities:
+
+:c,image(Eqs/pair_coulgauss.jpg)
+
+where qi and qj are the
+charges on the 2 atoms, epsilon is the dielectric constant which
+can be set by the "dielectric"_dielectric.html command, gamma_i and gamma_j
+are the widths of the Gaussian charge distribution and erf() is the error-function.
+This style has to be used in conjunction with the "kspace_style"_kspace_style.html command
+
+If one cutoff is specified it is used for both the vdW and Coulomb
+terms.  If two cutoffs are specified, the first is used as the cutoff
+for the vdW terms, and the second is the cutoff for the Coulombic term.
+
+The following coefficients must be defined for each pair of atoms
+types via the "pair_coeff"_pair_coeff.html command as in the examples
+above, or in the data file or restart files read by the
+"read_data"_read_data.html or "read_restart"_read_restart.html
+commands:
+
+epsilon (energy)
+r_v (distance)
+gamma (distance) :ul
+
+:line
+
+[Mixing, shift, table, tail correction, restart, rRESPA info]:
+
+Mixing rules are fixed for this style as defined above. 
+
+Shifting the potential energy is not necessary because the switching
+function ensures that the potential is zero at the cut-off.
+
+
+[Restrictions:]
+
+These styles are part of the USER-YAFF package.  They are only
+enabled if LAMMPS was built with that package.  See the "Build
+package"_Build_package.html doc page for more info.
+
+[Related commands:]
+
+"pair_coeff"_pair_coeff.html
+
+[Default:] none
+
diff --git a/doc/src/pair_style.txt b/doc/src/pair_style.txt
index 714ec55d2e115a9affe382f2a6aca1e8b44b2a0b..978277245607446d9a1abb3214dfbc6949035276 100644
--- a/doc/src/pair_style.txt
+++ b/doc/src/pair_style.txt
@@ -220,6 +220,7 @@ accelerated styles exist.
 "lj/sf/dipole/sf"_pair_dipole.html - LJ with dipole interaction with shifted forces
 "lj/smooth"_pair_lj_smooth.html - smoothed Lennard-Jones potential
 "lj/smooth/linear"_pair_lj_smooth_linear.html - linear smoothed LJ potential
+"lj/switch3/coulgauss"_pair_lj_switch3_coulgauss - smoothed LJ vdW potential with Gaussian electrostatics
 "lj96/cut"_pair_lj96.html - Lennard-Jones 9/6 potential
 "lubricate"_pair_lubricate.html - hydrodynamic lubrication forces
 "lubricate/poly"_pair_lubricate.html - hydrodynamic lubrication forces with polydispersity
@@ -232,6 +233,7 @@ accelerated styles exist.
 "meam/sw/spline"_pair_meam_sw_spline.html - splined version of MEAM with a Stillinger-Weber term
 "mgpt"_pair_mgpt.html - simplified model generalized pseudopotential theory (MGPT) potential
 "mie/cut"_pair_mie.html - Mie potential
+"mm3/switch3/coulgauss"_pair_mm3_switch3_coulgauss - smoothed MM3 vdW potential with Gaussian electrostatics
 "momb"_pair_momb.html - Many-Body Metal-Organic (MOMB) force field
 "morse"_pair_morse.html - Morse potential
 "morse/smooth/linear"_pair_morse.html - linear smoothed Morse potential
diff --git a/doc/src/pairs.txt b/doc/src/pairs.txt
index 281025240246728ab73f4f244dbefa5e63e1d1aa..62cbb7f56d018662c260feae935e7343994b1453 100644
--- a/doc/src/pairs.txt
+++ b/doc/src/pairs.txt
@@ -61,6 +61,7 @@ Pair Styles :h1
    pair_lj_smooth
    pair_lj_smooth_linear
    pair_lj_soft
+   pair_lj_switch3_coulgauss
    pair_lubricate
    pair_lubricateU
    pair_mdf
@@ -70,6 +71,7 @@ Pair Styles :h1
    pair_meso
    pair_mgpt
    pair_mie
+   pair_mm3_switch3_coulgauss
    pair_momb
    pair_morse
    pair_multi_lucy
diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt
index 5c44bf8afacabf5f89be643111740ec4f2a7279f..8807b2d680766839db90849a37662f5f53d02b6d 100644
--- a/doc/utils/sphinx-config/false_positives.txt
+++ b/doc/utils/sphinx-config/false_positives.txt
@@ -60,6 +60,7 @@ Alejandre
 alessandro
 Alessandro
 aliceblue
+Allinger
 allocaters
 allosws
 AlO
@@ -410,6 +411,7 @@ cossq
 costheta
 Couette
 coul
+coulgauss
 coulombic
 Coulombic
 Coulombics
@@ -566,6 +568,7 @@ discretized
 disp
 dissipative
 Dissipative
+distharm
 dl
 dlambda
 DLAMMPS
@@ -2493,6 +2496,7 @@ Springer
 springgreen
 spx
 spz
+sqdistharm
 sqrt
 src
 srd
@@ -2801,6 +2805,8 @@ Valone
 valuev
 Valuev
 Vanden
+Vandenbrande
+Vanduyfhuys
 varavg
 Varshalovich
 Varshney
@@ -2958,6 +2964,8 @@ xy
 xyz
 xz
 xzhou
+YAFF
+yaff
 Yamada
 Yazdani
 Ybar
@@ -2976,6 +2984,7 @@ ys
 ysu
 yu
 Yu
+Yuh
 yukawa
 Yukawa
 Yusof
diff --git a/examples/USER/yaff/README b/examples/USER/yaff/README
new file mode 100644
index 0000000000000000000000000000000000000000..af43a61e0842c6e80369daab2d997ad1f54677dc
--- /dev/null
+++ b/examples/USER/yaff/README
@@ -0,0 +1,7 @@
+mof5:
+    NPT simulation of MOF5 using a QuickFF force field
+
+mil53al:
+    NPT simulation of MIL-53(Al) using a QuickFF force field.
+    If the pressure is high enough (for instance 2000 atm),
+    a phase transition from large pore to narrow pore is observed
diff --git a/examples/USER/yaff/mil53al/lammps.data b/examples/USER/yaff/mil53al/lammps.data
new file mode 100644
index 0000000000000000000000000000000000000000..7b73c99357e3caa3472acc08ebf4d33a324e935b
--- /dev/null
+++ b/examples/USER/yaff/mil53al/lammps.data
@@ -0,0 +1,1545 @@
+Generated by yaff2lammps
+
+                 152 atoms
+                 184 bonds
+                 736 angles 
+                 288 dihedrals
+                  64 impropers
+
+                   8 atom types
+                   8 bond types
+                  34 angle types
+                   9 dihedral types
+                   3 improper types
+
+    0.0000000000000000000000000000000000    13.3259954452999984653160936431959271 xlo xhi
+    0.0000000000000000000000000000000000    17.0769005354000000806991010904312134 ylo yhi
+    0.0000000000000000000000000000000000    12.5451650575000002163505996577441692 zlo zhi
+    0.2406519637999999794431005284423009    -0.0003290864999999999263892436207612     0.0000597691999999999968857904153463 xy xz yz
+
+Masses
+
+    1     15.99940000 #            O_HY
+    2     15.99940000 #            O_CA
+    3      1.00794000 #            H_HY
+    4      1.00794000 #            H_PH
+    5     26.98153860 #              AL
+    6     12.01070000 #            C_PH
+    7     12.01070000 #            C_PC
+    8     12.01070000 #            C_CA
+
+Bond Coeffs
+
+       1    567.89714613      0.99006574
+       2    149.93642745      1.86984652
+       3    111.04240192      1.91161348
+       4    389.90538840      1.09141352
+       5    491.67603879      1.38895490
+       6    451.37211172      1.40304450
+       7    668.04674737      1.27972749
+       8    320.55756064      1.49110450
+
+Angle Coeffs
+
+       1     cosine/periodic     2.83639133     1     4
+       2               cross      6.00819953     13.51503788     20.21646410      1.85789452      0.98840688    111.64709450
+       3               cross      6.00819953     20.21646410     13.51503788      0.98840688      1.85789452    111.64709450
+       4               cross     44.73850113     10.65965583     10.65965583      1.85789452      1.85789452    128.05371526
+       5               cross     79.26686011     18.67531488     42.84377495      1.90495331      1.27905582    132.82471928
+       6               cross     79.26686011     42.84377495     18.67531488      1.27905582      1.90495331    132.82471928
+       7               cross     -6.85938357      0.00000000      0.00000000      1.85789452      1.85789452      0.00000000
+       8               cross     20.15880651     47.33122583     34.90884408      1.90495331      1.85789452     89.96038503
+       9               cross     20.15880651     34.90884408     47.33122583      1.85789452      1.90495331     89.96038503
+      10               cross     26.34746514      0.00000000      0.00000000      1.90495331      1.90495331      0.00000000
+      11               cross     29.49811022     32.88373608     17.10597622      1.09150478      1.40308083    119.48992692
+      12               cross     29.49811022     17.10597622     32.88373608      1.40308083      1.09150478    119.48992692
+      13               cross    130.12394367      9.80817840     18.96121618      1.40308083      1.38855980    120.04435536
+      14               cross    130.12394367     18.96121618      9.80817840      1.38855980      1.40308083    120.04435536
+      15               cross     26.93982909     21.36148219     26.91818347      1.38855980      1.09150478    120.51713090
+      16               cross     26.93982909     26.91818347     21.36148219      1.09150478      1.38855980    120.51713090
+      17               cross     69.39565871     31.02625485     12.91121121      1.49380304      1.40308083    120.04236743
+      18               cross     69.39565871     12.91121121     31.02625485      1.40308083      1.49380304    120.04236743
+      19               cross    132.39591455      8.36520076      8.36520076      1.40308083      1.40308083    119.90683966
+      20               cross    101.87765421    105.70691653     47.75221042      1.27905582      1.49380304    117.59476167
+      21               cross    101.87765421     47.75221042    105.70691653      1.49380304      1.27905582    117.59476167
+      22               cross    183.45287073     91.94550669     91.94550669      1.27905582      1.27905582    124.82435184
+      23            harmonic     16.58040240    109.62517017
+      24            harmonic     17.35339453    114.44875517
+      25            harmonic     17.77569321    132.30806010
+      26            harmonic     31.05808424     89.91290461
+      27            harmonic     35.90327756    119.61990442
+      28            harmonic     65.78425626    120.00645318
+      29            harmonic     31.59874504    120.45871258
+      30            harmonic     43.33676649    120.04493381
+      31            harmonic     62.87326877    119.94842490
+      32            harmonic     75.47920221    117.59298491
+      33            harmonic     76.76979213    124.86144100
+      34      cosine/squared  1689.15160421    180.00000000
+
+Dihedral Coeffs
+
+       1    1      3.73165017     2   -180.00000000
+       2    1      2.24530337     2   -180.00000000
+       3    1      4.66917332     2   -180.00000000
+       4    1      3.98899930     2   -180.00000000
+       5    1      3.29635668     2   -180.00000000
+       6    1      1.54619053     2   -180.00000000
+       7    1      3.86252462     2   -180.00000000
+       8    1      2.05124797     2   -180.00000000
+       9    1      2.35456853     2   -180.00000000
+
+Improper Coeffs
+
+       1      9.10278571      0.00000000
+       2    167.11786187      0.00000000
+       3     18.17859622      0.00000000
+
+Pair Coeffs
+
+    1       0.059000000000       1.820000000000       1.132500000000 #            O_HY
+    2       0.059000000000       1.820000000000       1.132500000000 #            O_CA
+    3       0.016000000000       1.600000000000       0.730800000000 #            H_HY
+    4       0.020000000000       1.620000000000       0.730800000000 #            H_PH
+    5       0.116000000000       2.360000000000       1.674200000000 #              AL
+    6       0.056000000000       1.940000000000       1.170300000000 #            C_PH
+    7       0.056000000000       1.940000000000       1.170300000000 #            C_PC
+    8       0.056000000000       1.940000000000       1.170300000000 #            C_CA
+
+Atoms
+
+    1   1   1    -1.2098756939999999460155777342151850     6.7153870720493431534237060986924917     4.2828041318282634719594170746859163     8.5866133816897338704166031675413251
+    2   1   1    -1.2098756939999999460155777342151850    13.3783843949194771738575582276098430     4.2828041318282634719594170746859163     8.5866133816897338704166031675413251
+    3   1   1    -1.2098756939999999460155777342151850     3.5035237129981489090368995675817132    12.8223120918310673488349493709392846     2.3141018836642901490563417610246688
+    4   1   1    -1.2098756939999999460155777342151850    10.1665216355380785273609944852069020    12.8223120918310673488349493709392846     2.3141018836642901490563417610246688
+    5   1   1    -1.2098756939999999460155777342151850     6.8349996196255871083735655702184886    12.8213427865959719298416530364193022     3.9586200971404887916094139654887840
+    6   1   1    -1.2098756939999999460155777342151850    13.4979977420554568823263252852484584    12.8213427865959701534848136361688375     3.9586200971404887916094139654887840
+    7   1   1    -1.2098756939999999460155777342151850     3.3839079367670850118088310409802943     4.2840038831740319125174210057593882    10.2311117738051464698401105124503374
+    8   1   1    -1.2098756939999999460155777342151850    10.0469052596372208085995225701481104     4.2840038831740310243390013056341559    10.2311117738051464698401105124503374
+    9   1   2    -0.7445643530000000120949721349461470     1.2589905770693332609511116970679723    14.0689460511913626561408818815834820     1.8089686548556627165851296012988314
+   10   1   2    -0.7445643530000000120949721349461470     7.9219883930013077488752060162369162    14.0689460511913626561408818815834820     1.8089686548556627165851296012988314
+   11   1   2    -0.7445643530000000120949721349461470     4.4707674159202488439746048243250698     5.5288543253806796684557411936111748     8.0795827217564895050827544764615595
+   12   1   2    -0.7445643530000000120949721349461470    11.1337651385702471884542319457978010     5.5288543253806796684557411936111748     8.0795827217564895050827544764615595
+   13   1   2    -0.7445643530000000120949721349461470     1.2229986327132931211991717646014877     2.7734064633669284205552685307338834    10.4955229434339933902720076730474830
+   14   1   2    -0.7445643530000000120949721349461470     7.8859965552532269583707602578215301     2.7734064633669279764660586806712672    10.4955229434339933902720076730474830
+   15   1   2    -0.7445643530000000120949721349461470     4.6742044121247552368458855198696256    11.3101997821180297876253462163731456     4.2205434978126090683758775412570685
+   16   1   2    -0.7445643530000000120949721349461470    11.3372021347747544695039323414675891    11.3101997821180297876253462163731456     4.2205434978126090683758775412570685
+   17   1   2    -0.7445643530000000120949721349461470     5.5525225224355230224659862869884819     5.7375722500320405217166808142792434    10.5597464481615510578649264061823487
+   18   1   2    -0.7445643530000000120949721349461470    12.2155206315393947136271890485659242     5.7375722500320396335382611141540110    10.5597464481615510578649264061823487
+   19   1   2    -0.7445643530000000120949721349461470     2.3407580474861306996103849087376148    14.2746180205582611222325795097276568     4.2891813575851065465371902973856777
+   20   1   2    -0.7445643530000000120949721349461470     9.0037557701361325968036908307112753    14.2746180205582593458757401094771922     4.2891813575851065465371902973856777
+   21   1   2    -0.7445643530000000120949721349461470     5.7700538186296190801272132375743240    11.5405550825335865283705061301589012     1.8195962287082991792885877657681704
+   22   1   2    -0.7445643530000000120949721349461470    12.4330511414997584296315835672430694    11.5405550825335865283705061301589012     1.8195962287082991792885877657681704
+   23   1   2    -0.7445643530000000120949721349461470     2.3187182063798501552298603201052174     3.0004106930250986629005183203844354     8.0941017932647998378570264321751893
+   24   1   2    -0.7445643530000000120949721349461470     8.9817157424659139763889470486901700     3.0004106930250982188113084703218192     8.0941017932647998378570264321751893
+   25   1   2    -0.7445643530000000120949721349461470     5.6502316143841939677372465666849166     3.0020828644755410685718288732459769    10.7252833635608215701040535350330174
+   26   1   2    -0.7445643530000000120949721349461470    12.3132293370342029703579100896604359     3.0020828644755406244826190231833607    10.7252833635608215701040535350330174
+   27   1   2    -0.7445643530000000120949721349461470     2.4385834497316842828240623930469155    11.5390906922377300958260093466378748     4.4515765998441914064187585609033704
+   28   1   2    -0.7445643530000000120949721349461470     9.1015815721615513922415630077011883    11.5390906922377300958260093466378748     4.4515765998441914064187585609033704
+   29   1   2    -0.7445643530000000120949721349461470     5.6722249356407399289992099511437118    14.2759679355859336880030241445638239     1.9851114660623476737555392901413143
+   30   1   2    -0.7445643530000000120949721349461470    12.3352230580706052620598711655475199    14.2759679355859336880030241445638239     1.9851114660623476737555392901413143
+   31   1   2    -0.7445643530000000120949721349461470     2.2210375988136932257077660324284807     5.7360095476548309534337022341787815     8.2560278212604032432864187285304070
+   32   1   2    -0.7445643530000000120949721349461470     8.8840349216838294665876674116589129     5.7360095476548309534337022341787815     8.2560278212604032432864187285304070
+   33   1   2    -0.7445643530000000120949721349461470     1.3426929459297589630750735523179173    11.3116032563078015016344579635187984     2.0503536005570812683629355888115242
+   34   1   2    -0.7445643530000000120949721349461470     8.0056903754078607704514070064760745    11.3116032563078015016344579635187984     2.0503536005570812683629355888115242
+   35   1   2    -0.7445643530000000120949721349461470     4.5544349664199854643698017753195018     2.7717800127098115581247839145362377     8.3243804039794877525082483771257102
+   36   1   2    -0.7445643530000000120949721349461470    11.2174326890699891379199470975436270     2.7717800127098111140355740644736215     8.3243804039794877525082483771257102
+   37   1   2    -0.7445643530000000120949721349461470     1.1392762498379640501156018217443489     5.5307225590439976770085195312276483    10.7363410985781104756142667611129582
+   38   1   2    -0.7445643530000000120949721349461470     7.8022735727081062861998361768200994     5.5307225590439967888300998311024159    10.7363410985781104756142667611129582
+   39   1   2    -0.7445643530000000120949721349461470     4.5904838756409240829725604271516204    14.0673016329479629860088607529178262     4.4653546409977158404558394977357239
+   40   1   2    -0.7445643530000000120949721349461470    11.2534815982909286447011254495009780    14.0673016329479629860088607529178262     4.4653546409977158404558394977357239
+   41   1   3     0.5185263799999999534406924794893712     6.7033022636923433879019285086542368     4.6749920341423978342731970769818872     7.7032864563136307367585686733946204
+   42   1   3     0.5185263799999999534406924794893712    13.3662995865624836255847185384482145     4.6749920341423969460947773768566549     7.7032864563136307367585686733946204
+   43   1   3     0.5185263799999999534406924794893712     3.4911946343224471434041333850473166    13.2152028467359965446803471422754228     1.4310936932968010282252180331852287
+   44   1   3     0.5185263799999999534406924794893712    10.1541925435363875607208683504723012    13.2152028467359947683235077420249581     1.4310936932968010282252180331852287
+   45   1   3     0.5185263799999999534406924794893712     6.8226445109087379137235984671860933    13.2137951050594022461837084847502410     4.8418266265675384829592076130211353
+   46   1   3     0.5185263799999999534406924794893712    13.4856422335587406990953240892849863    13.2137951050594004698268690844997764     4.8418266265675384829592076130211353
+   47   1   3     0.5185263799999999534406924794893712     3.3718390257973132051461107039358467     4.6776567735304457329448268865235150    11.1137888972667671083627283223904669
+   48   1   3     0.5185263799999999534406924794893712    10.0348367484473133259825772256590426     4.6776567735304457329448268865235150    11.1137888972667671083627283223904669
+   49   1   4     0.1519691589999999925542084611151950     2.3150111389406484718733736372087151    15.7561391408537811997803146368823946     0.3851155792041089376276374878216302
+   50   1   4     0.1519691589999999925542084611151950     8.9780090614805825310895670554600656    15.7561391408537811997803146368823946     0.3851155792041089376276374878216302
+   51   1   4     0.1519691589999999925542084611151950     5.5251997890205615249215043149888515     7.2122227707358952386584860505536199     6.6487285031154712555689911823719740
+   52   1   4     0.1519691589999999925542084611151950    12.1881975116705607575795511365868151     7.2122227707358943504800663504283875     6.6487285031154712555689911823719740
+   53   1   4     0.1519691589999999925542084611151950     2.1513768927132632668985934287775308     0.7793385220131339163884831577888690    11.5512885193109173798120536957867444
+   54   1   4     0.1519691589999999925542084611151950     8.8143748152531955497579474467784166     0.7793385220131333612769708452105988    11.5512885193109173798120536957867444
+   55   1   4     0.1519691589999999925542084611151950     5.6018395825408164867553750809747726     9.3122840258958383685694570885971189     5.2698941286277101170298919896595180
+   56   1   4     0.1519691589999999925542084611151950    12.2648377049706844843512953957542777     9.3122840258958365922126176883466542     5.2698941286277101170298919896595180
+   57   1   4     0.1519691589999999925542084611151950     4.6402743945654769675002171425148845     7.7570678771031307263683629571460187    11.5742489313024528030382498400285840
+   58   1   4     0.1519691589999999925542084611151950    11.3032725036693442177693214034661651     7.7570678771031298381899432570207864    11.5742489313024528030382498400285840
+   59   1   4     0.1519691589999999925542084611151950     1.4289916763510370767420454285456799    16.2937782613533990172527410322800279     5.3045340265619520536688469292130321
+   60   1   4     0.1519691589999999925542084611151950     8.0919889992211722073989221826195717    16.2937782613533954645390622317790985     5.3045340265619520536688469292130321
+   61   1   4     0.1519691589999999925542084611151950     4.7188867445007129930445444188080728     9.8576336883462030158398192725144327     0.4106092614660375450519325113418745
+   62   1   4     0.1519691589999999925542084611151950    11.3818848669305765497483662329614162     9.8576336883462012394829798722639680     0.4106092614660375450519325113418745
+   63   1   4     0.1519691589999999925542084611151950     1.2672446555857233008168805099558085     1.3174924965356069606059463694691658     6.6860210385656291265377149102278054
+   64   1   4     0.1519691589999999925542084611151950     7.9302420850638259963716336642391980     1.3174924965356062944721315943752415     6.6860210385656291265377149102278054
+   65   1   4     0.1519691589999999925542084611151950     4.5976454677133533621713468164671212     1.3167699335050779829714429070008919    12.1295236794261001023187418468296528
+   66   1   4     0.1519691589999999925542084611151950    11.2606431903633534830078133381903172     1.3167699335050770947930232068756595    12.1295236794261001023187418468296528
+   67   1   4     0.1519691589999999925542084611151950     1.3874618992261169569957246494595893     9.8559985125562405983146163634955883     5.8599964503548598315774142974987626
+   68   1   4     0.1519691589999999925542084611151950     8.0504595152681570624508822220377624     9.8559985125562370456009375629946589     5.8599964503548598315774142974987626
+   69   1   4     0.1519691589999999925542084611151950     4.7594768289705067232375768071506172    16.2928537268444415531121194362640381     0.9657755315474335633396663070016075
+   70   1   4     0.1519691589999999925542084611151950    11.4224745516205032913603645283728838    16.2928537268444380003984406357631087     0.9657755315474335633396663070016075
+   71   1   4     0.1519691589999999925542084611151950     1.3090438015508472080483670652029105     7.7552807308893543236649747996125370     7.2413518635770861564537881349679083
+   72   1   4     0.1519691589999999925542084611151950     7.9720419239807123190644233545754105     7.7552807308893543236649747996125370     7.2413518635770861564537881349679083
+   73   1   4     0.1519691589999999925542084611151950     2.2705998288829158937573993171099573     9.3150495706767486581156845204532146     0.9992716491478911278178998145449441
+   74   1   4     0.1519691589999999925542084611151950     8.9335973516429838525709783425554633     9.3150495706767468817588451202027500     0.9992716491478911278178998145449441
+   75   1   4     0.1519691589999999925542084611151950     5.4818417666741723337509029079228640     0.7738074986951422040704073879169300     7.2745362714613577281852485612034798
+   76   1   4     0.1519691589999999925542084611151950    12.1448398891040394431684035225771368     0.7738074986951416489588950753386598     7.2745362714613577281852485612034798
+   77   1   4     0.1519691589999999925542084611151950     2.1937673007028561933395849337102845     7.2151514782616867904607715900056064    12.1654336247804373272174416342750192
+   78   1   4     0.1519691589999999925542084611151950     8.8567648234629228198855344089679420     7.2151514782616867904607715900056064    12.1654336247804373272174416342750192
+   79   1   4     0.1519691589999999925542084611151950     5.6453609802319695276651145832147449    15.7507340863305405065375452977605164     5.8955942218219092865183483809232712
+   80   1   4     0.1519691589999999925542084611151950    12.3083583031021088771694849128834903    15.7507340863305387301807058975100517     5.8955942218219092865183483809232712
+   81   1   5     2.0909989460000000249806362262461334     1.7220884276321977157664377955370583     4.2577041896622827010787659673951566     9.3989182512193298890679216128773987
+   82   1   5     2.0909989460000000249806362262461334     8.3850859503922716697843497968278825     4.2577041896622818129003462672699243     9.3989182512193298890679216128773987
+   83   1   5     2.0909989460000000249806362262461334     5.1732895332567778723387164063751698    12.7961141377704930022218832164071500     3.1261246626124026271043021552031860
+   84   1   5     2.0909989460000000249806362262461334    11.8362872559067771049967632279731333    12.7961141377704930022218832164071500     3.1261246626124026271043021552031860
+   85   1   5     2.0909989460000000249806362262461334     1.8417926657907308651829225709661841    12.7961386721601790839031309587880969     3.1465567471285815770443150540813804
+   86   1   5     2.0909989460000000249806362262461334     8.5047905883306658125775356893427670    12.7961386721601773075462915585376322     3.1465567471285815770443150540813804
+   87   1   5     2.0909989460000000249806362262461334     5.0535778772553525683974839921575040     4.2576796083468551046280481386929750     9.4188173794883720546522454242222011
+   88   1   5     2.0909989460000000249806362262461334    11.7165752001254901415450149215757847     4.2576796083468533282712087384425104     9.4188173794883720546522454242222011
+   89   1   6    -0.1065741179999999954652878386696102     1.4141707527268658761698816306306981    16.3400809537558444617388886399567127     0.2022529879698692911738078237249283
+   90   1   6    -0.1065741179999999954652878386696102     8.0771686752667974928954208735376596    16.3400809537558444617388886399567127     0.2022529879698692911738078237249283
+   91   1   6    -0.1065741179999999954652878386696102     4.6246955781035241628273979586083442     7.7975351373134911270312841224949807     6.4685670866407551926613450632430613
+   92   1   6    -0.1065741179999999954652878386696102    11.2876933007535207309501856798306108     7.7975351373134911270312841224949807     6.4685670866407551926613450632430613
+   93   1   6    -0.1065741179999999954652878386696102     1.2180418815135878318756113003473729     0.4262156085319599996275030662218342    11.9882078772904936414533949573524296
+   94   1   6    -0.1065741179999999954652878386696102     7.8810392976656951091740666015539318     0.4262156085319593334936882911279099    11.9882078772904936414533949573524296
+   95   1   6    -0.1065741179999999954652878386696102     4.6691704987195228326868345902767032     8.9605484349032789026523460051976144     5.7093670549547432813142222585156560
+   96   1   6    -0.1065741179999999954652878386696102    11.3321682213695300589506587130017579     8.9605484349032771262955066049471498     5.7093670549547432813142222585156560
+   97   1   6    -0.1065741179999999954652878386696102     5.5731262922007358540099630772601813     8.1037524473176567596510722069069743    12.0169282136407069572214822983369231
+   98   1   6    -0.1065741179999999954652878386696102    12.2361240148507377512032689992338419     8.1037524473176549832942328066565096    12.0169282136407069572214822983369231
+   99   1   6    -0.1065741179999999954652878386696102     2.3619457998798174536148053448414430    16.6401915820548325086747354362159967     5.7472080650212156172074173809960485
+  100   1   6    -0.1065741179999999954652878386696102     9.0249439223096850071215158095583320    16.6401915820548325086747354362159967     5.7472080650212156172074173809960485
+  101   1   6    -0.1065741179999999954652878386696102     5.6164918446169611598861592938192189     9.2670862695492175475919793825596571     0.2304860073834236744438896948850015
+  102   1   6    -0.1065741179999999954652878386696102    12.2794899670468264929468205082230270     9.2670862695492157712351399823091924     0.2304860073834236744438896948850015
+  103   1   6    -0.1065741179999999954652878386696102     2.1646735340058396168672061321558431     0.7266775681237089834496600815327838     6.5059044961463232681353474617935717
+  104   1   6    -0.1065741179999999954652878386696102     8.8276710567659080197699950076639652     0.7266775681237084283381477689545136     6.5059044961463232681353474617935717
+  105   1   6    -0.1065741179999999954652878386696102     5.4954840105190072563345893286168575     0.7272885255903810408639742490777280    12.3119305800847929077690423582680523
+  106   1   6    -0.1065741179999999954652878386696102    12.1584817331690135944199937512166798     0.7272885255903803747301594739838038    12.3119305800847929077690423582680523
+  107   1   6    -0.1065741179999999954652878386696102     2.2849532575684836643858943716622889     9.2651606566280424459591813501901925     6.0397320212017060470088836154900491
+  108   1   6    -0.1065741179999999954652878386696102     8.9479509802184900024712987942621112     9.2651606566280424459591813501901925     6.0397320212017060470088836154900491
+  109   1   6    -0.1065741179999999954652878386696102     5.6929776458884013834449433488771319    16.6407061629956416481945780105888844     0.5254053499251585268581266063847579
+  110   1   6    -0.1065741179999999954652878386696102    12.3559757549922686337140476098284125    16.6407061629956380954808992100879550     0.5254053499251585268581266063847579
+  111   1   6    -0.1065741179999999954652878386696102     2.2418392805257347788483457406982780     8.1017188456549362740588549058884382     6.7983615238712307160540149197913706
+  112   1   6    -0.1065741179999999954652878386696102     8.9048370031757357878632319625467062     8.1017188456549362740588549058884382     6.7983615238712307160540149197913706
+  113   1   6    -0.1065741179999999954652878386696102     1.3378988445639905524586765750427730     8.9631021552237744032254340709187090     0.5600409072322938275334536228911020
+  114   1   6    -0.1065741179999999954652878386696102     8.0008963673240636182981688762083650     8.9631021552237744032254340709187090     0.5600409072322938275334536228911020
+  115   1   6    -0.1065741179999999954652878386696102     4.5490129888977781646985931729432195     0.4220911682453661883940299048845191     6.8353863705893926905332591559272259
+  116   1   6    -0.1065741179999999954652878386696102    11.2120103117679210669166423031128943     0.4220911682453655777713663610484218     6.8353863705893926905332591559272259
+  117   1   6    -0.1065741179999999954652878386696102     1.2931697223744265112799212147365324     7.8002126371303779350796503422316164    12.3459248034638537916407585726119578
+  118   1   6    -0.1065741179999999954652878386696102     7.9561673517424651436158455908298492     7.8002126371303779350796503422316164    12.3459248034638537916407585726119578
+  119   1   6    -0.1065741179999999954652878386696102     4.7449200366800932116007061267737299    16.3360242466580523057473328663036227     6.0761321312451688214650857844389975
+  120   1   6    -0.1065741179999999954652878386696102    11.4079181457839649027619088883511722    16.3360242466580523057473328663036227     6.0761321312451688214650857844389975
+  121   1   7    -0.1475182609999999838734652257699054     6.8625612135502791488761431537568569    15.8993490470899345723410078790038824     0.7462376897096898442640622306498699
+  122   1   7    -0.1475182609999999838734652257699054    13.5255589362002837106047081761062145    15.8993490470899345723410078790038824     0.7462376897096898442640622306498699
+  123   1   7    -0.1475182609999999838734652257699054     3.4109618177191207699650021822890267     7.3586684715520229715934874548111111     7.0160031640105362527037868858315051
+  124   1   7    -0.1475182609999999838734652257699054    10.0739595403691204467122588539496064     7.3586684715520220834150677546858788     7.0160031640105362527037868858315051
+  125   1   7    -0.1475182609999999838734652257699054     0.0473415571287404482458960330859554     1.1642431334386127428359714031103067    11.7662756401595451904995570657774806
+  126   1   7    -0.1475182609999999838734652257699054     6.7103393197567315908713680983055383     1.1642431334386122987467615530476905    11.7662756401595451904995570657774806
+  127   1   7    -0.1475182609999999838734652257699054     3.4989796446374041849480818200390786     9.7004408763167386808845549239777029     5.4908995164190423921013461949769408
+  128   1   7    -0.1475182609999999838734652257699054    10.1619773672874043057845483417622745     9.7004408763167351281708761234767735     5.4908995164190423921013461949769408
+  129   1   7    -0.1475182609999999838734652257699054     6.7423569930703077801581457606516778     7.3609697445742119370493128371890634    11.7989650409209776427132965181954205
+  130   1   7    -0.1475182609999999838734652257699054    13.4053547157203087891730319825001061     7.3609697445742101606924734369385988    11.7989650409209776427132965181954205
+  131   1   7    -0.1475182609999999838734652257699054     3.5309961971541143910258142568636686    15.8971691701905903926217433763667941     5.5291046875368072832657162507530302
+  132   1   7    -0.1475182609999999838734652257699054    10.1939941196940502265988470753654838    15.8971691701905903926217433763667941     5.5291046875368072832657162507530302
+  133   1   7    -0.1475182609999999838734652257699054     0.1675527733465424773395824331601034     9.7025773236021279899432556703686714     0.7790777077228052682755787827773020
+  134   1   7    -0.1475182609999999838734652257699054     6.8305507092124733148352788703050464     9.7025773236021279899432556703686714     0.7790777077228052682755787827773020
+  135   1   7    -0.1475182609999999838734652257699054     3.3788922890951527122638253786135465     1.1619455116749999312730778910918161     7.0543290948871408829745632829144597
+  136   1   7    -0.1475182609999999838734652257699054    10.0418900117451528331002919003367424     1.1619455116749990430946581909665838     7.0543290948871408829745632829144597
+  137   1   8     0.8460320690000000531938439962686971     6.8158435147629843342542699247132987    14.6566180822766263247558526927605271     1.5740911748083665777642181637929752
+  138   1   8     0.8460320690000000531938439962686971    13.4788412374129844550907364464364946    14.6566180822766263247558526927605271     1.5740911748083665777642181637929752
+  139   1   8     0.8460320690000000531938439962686971     3.3645677309728028170354718895396218     6.1163711265005069606104370905086398     7.8445080317144935122541937744244933
+  140   1   8     0.8460320690000000531938439962686971    10.0275656535127346558056160574778914     6.1163711265005060724320173903834075     7.8445080317144935122541937744244933
+  141   1   8     0.8460320690000000531938439962686971     0.0895185086047598360670107808800822     2.4034399294411441516672311990987509    10.9344634655011496704446471994742751
+  142   1   8     0.8460320690000000531938439962686971     6.7525164044927041828714209259487689     2.4034399294411437075780213490361348    10.9344634655011496704446471994742751
+  143   1   8     0.8460320690000000531938439962686971     3.5408813332418129782297455676598474    10.9401060095762083790305041475221515     4.6597715425177188564020980265922844
+  144   1   8     0.8460320690000000531938439962686971    10.2038790558918126549770022393204272    10.9401060095762083790305041475221515     4.6597715425177188564020980265922844
+  145   1   8     0.8460320690000000531938439962686971     6.6960210710517644727701735973823816     6.1182853663466376659130219195503742    10.9710262110644158894956490257754922
+  146   1   8     0.8460320690000000531938439962686971    13.3590187937017663699634795193560421     6.1182853663466376659130219195503742    10.9710262110644158894956490257754922
+  147   1   8     0.8460320690000000531938439962686971     3.4843639165565232218568780808709562    14.6549005775032945564362307777628303     4.7005710286790414187407805002294481
+  148   1   8     0.8460320690000000531938439962686971    10.1473614393165885161351980059407651    14.6549005775032945564362307777628303     4.7005710286790414187407805002294481
+  149   1   8     0.8460320690000000531938439962686971     0.2093718873377909683863862255748245    10.9417709628228116969239636091515422     1.6109077843317383127441644319333136
+  150   1   8     0.8460320690000000531938439962686971     6.8723694634018412941145470540504903    10.9417709628228116969239636091515422     1.6109077843317383127441644319333136
+  151   1   8     0.8460320690000000531938439962686971     3.4210085616731804591950094618368894     2.4015655238668487392317274498054758     7.8855124055115330961029940226580948
+  152   1   8     0.8460320690000000531938439962686971    10.0840062843231805800314759835600853     2.4015655238668482951425175997428596     7.8855124055115330961029940226580948
+
+Bonds
+
+    1     1    41     1
+    2     1    42     2
+    3     1    43     3
+    4     1    44     4
+    5     1    45     5
+    6     1    46     6
+    7     1    47     7
+    8     1    48     8
+    9     2    81     2
+   10     2    81     7
+   11     3    81    13
+   12     3    81    23
+   13     3    81    31
+   14     3    81    37
+   15     2    82     1
+   16     2    82     8
+   17     3    82    14
+   18     3    82    24
+   19     3    82    32
+   20     3    82    38
+   21     2    83     3
+   22     2    83     5
+   23     3    83    15
+   24     3    83    21
+   25     3    83    29
+   26     3    83    39
+   27     2    84     4
+   28     2    84     6
+   29     3    84    16
+   30     3    84    22
+   31     3    84    30
+   32     3    84    40
+   33     2    85     3
+   34     2    85     6
+   35     3    85     9
+   36     3    85    19
+   37     3    85    27
+   38     3    85    33
+   39     2    86     4
+   40     2    86     5
+   41     3    86    10
+   42     3    86    20
+   43     3    86    28
+   44     3    86    34
+   45     2    87     1
+   46     2    87     7
+   47     3    87    11
+   48     3    87    17
+   49     3    87    25
+   50     3    87    35
+   51     2    88     2
+   52     2    88     8
+   53     3    88    12
+   54     3    88    18
+   55     3    88    26
+   56     3    88    36
+   57     4    89    49
+   58     4    90    50
+   59     4    91    51
+   60     4    92    52
+   61     4    93    53
+   62     5    93    89
+   63     4    94    54
+   64     5    94    90
+   65     4    95    55
+   66     5    95    91
+   67     4    96    56
+   68     5    96    92
+   69     4    97    57
+   70     4    98    58
+   71     4    99    59
+   72     4   100    60
+   73     4   101    61
+   74     5   101    97
+   75     4   102    62
+   76     5   102    98
+   77     4   103    63
+   78     5   103    99
+   79     4   104    64
+   80     5   104   100
+   81     4   105    65
+   82     4   106    66
+   83     4   107    67
+   84     4   108    68
+   85     4   109    69
+   86     5   109   105
+   87     4   110    70
+   88     5   110   106
+   89     4   111    71
+   90     5   111   107
+   91     4   112    72
+   92     5   112   108
+   93     4   113    73
+   94     4   114    74
+   95     4   115    75
+   96     4   116    76
+   97     4   117    77
+   98     5   117   113
+   99     4   118    78
+  100     5   118   114
+  101     4   119    79
+  102     5   119   115
+  103     4   120    80
+  104     5   120   116
+  105     6   121    90
+  106     6   121   109
+  107     6   122    89
+  108     6   122   110
+  109     6   123    91
+  110     6   123   111
+  111     6   124    92
+  112     6   124   112
+  113     6   125    93
+  114     6   125   106
+  115     6   126    94
+  116     6   126   105
+  117     6   127    95
+  118     6   127   107
+  119     6   128    96
+  120     6   128   108
+  121     6   129    97
+  122     6   129   118
+  123     6   130    98
+  124     6   130   117
+  125     6   131    99
+  126     6   131   119
+  127     6   132   100
+  128     6   132   120
+  129     6   133   102
+  130     6   133   113
+  131     6   134   101
+  132     6   134   114
+  133     6   135   103
+  134     6   135   115
+  135     6   136   104
+  136     6   136   116
+  137     7   137    10
+  138     7   137    29
+  139     8   137   121
+  140     7   138     9
+  141     7   138    30
+  142     8   138   122
+  143     7   139    11
+  144     7   139    31
+  145     8   139   123
+  146     7   140    12
+  147     7   140    32
+  148     8   140   124
+  149     7   141    13
+  150     7   141    26
+  151     8   141   125
+  152     7   142    14
+  153     7   142    25
+  154     8   142   126
+  155     7   143    15
+  156     7   143    27
+  157     8   143   127
+  158     7   144    16
+  159     7   144    28
+  160     8   144   128
+  161     7   145    17
+  162     7   145    38
+  163     8   145   129
+  164     7   146    18
+  165     7   146    37
+  166     8   146   130
+  167     7   147    19
+  168     7   147    39
+  169     8   147   131
+  170     7   148    20
+  171     7   148    40
+  172     8   148   132
+  173     7   149    22
+  174     7   149    33
+  175     8   149   133
+  176     7   150    21
+  177     7   150    34
+  178     8   150   134
+  179     7   151    23
+  180     7   151    35
+  181     8   151   135
+  182     7   152    24
+  183     7   152    36
+  184     8   152   136
+
+Angles
+
+    1     1    37    81    13
+    2     1    37    81    23
+    3     1    37    81    31
+    4     1    23    81    13
+    5     1    31    81    13
+    6     1    31    81    23
+    7     1    38    82    14
+    8     1    38    82    24
+    9     1    38    82    32
+   10     1    24    82    14
+   11     1    32    82    14
+   12     1    32    82    24
+   13     1    39    83    15
+   14     1    39    83    21
+   15     1    39    83    29
+   16     1    21    83    15
+   17     1    29    83    15
+   18     1    29    83    21
+   19     1    40    84    16
+   20     1    40    84    22
+   21     1    40    84    30
+   22     1    22    84    16
+   23     1    30    84    16
+   24     1    30    84    22
+   25     1    33    85     9
+   26     1    33    85    19
+   27     1    33    85    27
+   28     1    19    85     9
+   29     1    27    85     9
+   30     1    27    85    19
+   31     1    34    86    10
+   32     1    34    86    20
+   33     1    34    86    28
+   34     1    20    86    10
+   35     1    28    86    10
+   36     1    28    86    20
+   37     1    35    87    11
+   38     1    35    87    17
+   39     1    35    87    25
+   40     1    17    87    11
+   41     1    25    87    11
+   42     1    25    87    17
+   43     1    36    88    12
+   44     1    36    88    18
+   45     1    36    88    26
+   46     1    18    88    12
+   47     1    26    88    12
+   48     1    26    88    18
+   49     2    82     1    41
+   50     2    87     1    41
+   51     4    87     1    82
+   52     2    81     2    42
+   53     4    88     2    81
+   54     2    88     2    42
+   55     2    85     3    43
+   56     4    85     3    83
+   57     2    83     3    43
+   58     2    84     4    44
+   59     4    86     4    84
+   60     2    86     4    44
+   61     2    83     5    45
+   62     4    86     5    83
+   63     2    86     5    45
+   64     2    84     6    46
+   65     4    85     6    84
+   66     2    85     6    46
+   67     2    81     7    47
+   68     4    87     7    81
+   69     2    87     7    47
+   70     2    82     8    48
+   71     4    88     8    82
+   72     2    88     8    48
+   73     6   138     9    85
+   74     6   137    10    86
+   75     6   139    11    87
+   76     6   140    12    88
+   77     6   141    13    81
+   78     6   142    14    82
+   79     6   143    15    83
+   80     6   144    16    84
+   81     6   145    17    87
+   82     6   146    18    88
+   83     6   147    19    85
+   84     6   148    20    86
+   85     6   150    21    83
+   86     6   149    22    84
+   87     6   151    23    81
+   88     6   152    24    82
+   89     6   142    25    87
+   90     6   141    26    88
+   91     6   143    27    85
+   92     6   144    28    86
+   93     6   137    29    83
+   94     6   138    30    84
+   95     6   139    31    81
+   96     6   140    32    82
+   97     6   149    33    85
+   98     6   150    34    86
+   99     6   151    35    87
+  100     6   152    36    88
+  101     6   146    37    81
+  102     6   145    38    82
+  103     6   147    39    83
+  104     6   148    40    84
+  105     8    37    81     2
+  106     8    37    81     7
+  107    10    37    81    13
+  108    10    37    81    23
+  109    10    37    81    31
+  110     7     7    81     2
+  111     8    13    81     2
+  112     8    13    81     7
+  113     8    23    81     2
+  114     8    23    81     7
+  115    10    23    81    13
+  116     8    31    81     2
+  117     8    31    81     7
+  118    10    31    81    13
+  119    10    31    81    23
+  120     8    38    82     1
+  121     8    38    82     8
+  122    10    38    82    14
+  123    10    38    82    24
+  124    10    38    82    32
+  125     7     8    82     1
+  126     8    14    82     1
+  127     8    14    82     8
+  128     8    24    82     1
+  129     8    24    82     8
+  130    10    24    82    14
+  131     8    32    82     1
+  132     8    32    82     8
+  133    10    32    82    14
+  134    10    32    82    24
+  135     7     5    83     3
+  136     8    39    83     3
+  137     8    39    83     5
+  138    10    39    83    15
+  139    10    39    83    21
+  140    10    39    83    29
+  141     8    15    83     3
+  142     8    15    83     5
+  143     8    21    83     3
+  144     8    21    83     5
+  145    10    21    83    15
+  146     8    29    83     3
+  147     8    29    83     5
+  148    10    29    83    15
+  149    10    29    83    21
+  150     7     6    84     4
+  151     8    40    84     4
+  152     8    40    84     6
+  153    10    40    84    16
+  154    10    40    84    22
+  155    10    40    84    30
+  156     8    16    84     4
+  157     8    16    84     6
+  158     8    22    84     4
+  159     8    22    84     6
+  160    10    22    84    16
+  161     8    30    84     4
+  162     8    30    84     6
+  163    10    30    84    16
+  164    10    30    84    22
+  165     8    33    85     3
+  166     8    33    85     6
+  167    10    33    85     9
+  168    10    33    85    19
+  169    10    33    85    27
+  170     7     6    85     3
+  171     8     9    85     3
+  172     8     9    85     6
+  173     8    19    85     3
+  174     8    19    85     6
+  175    10    19    85     9
+  176     8    27    85     3
+  177     8    27    85     6
+  178    10    27    85     9
+  179    10    27    85    19
+  180     8    34    86     4
+  181     8    34    86     5
+  182    10    34    86    10
+  183    10    34    86    20
+  184    10    34    86    28
+  185     7     5    86     4
+  186     8    10    86     4
+  187     8    10    86     5
+  188     8    20    86     4
+  189     8    20    86     5
+  190    10    20    86    10
+  191     8    28    86     4
+  192     8    28    86     5
+  193    10    28    86    10
+  194    10    28    86    20
+  195     8    35    87     1
+  196     8    35    87     7
+  197    10    35    87    11
+  198    10    35    87    17
+  199    10    35    87    25
+  200     7     7    87     1
+  201     8    11    87     1
+  202     8    11    87     7
+  203     8    17    87     1
+  204     8    17    87     7
+  205    10    17    87    11
+  206     8    25    87     1
+  207     8    25    87     7
+  208    10    25    87    11
+  209    10    25    87    17
+  210     8    36    88     2
+  211     8    36    88     8
+  212    10    36    88    12
+  213    10    36    88    18
+  214    10    36    88    26
+  215     7     8    88     2
+  216     8    12    88     2
+  217     8    12    88     8
+  218     8    18    88     2
+  219     8    18    88     8
+  220    10    18    88    12
+  221     8    26    88     2
+  222     8    26    88     8
+  223    10    26    88    12
+  224    10    26    88    18
+  225    12   122    89    49
+  226    13   122    89    93
+  227    15    93    89    49
+  228    12   121    90    50
+  229    13   121    90    94
+  230    15    94    90    50
+  231    12   123    91    51
+  232    13   123    91    95
+  233    15    95    91    51
+  234    12   124    92    52
+  235    13   124    92    96
+  236    15    96    92    52
+  237    15    89    93    53
+  238    13   125    93    89
+  239    12   125    93    53
+  240    15    90    94    54
+  241    13   126    94    90
+  242    12   126    94    54
+  243    15    91    95    55
+  244    13   127    95    91
+  245    12   127    95    55
+  246    13   128    96    92
+  247    12   128    96    56
+  248    15    92    96    56
+  249    12   129    97    57
+  250    13   129    97   101
+  251    15   101    97    57
+  252    15   102    98    58
+  253    12   130    98    58
+  254    13   130    98   102
+  255    12   131    99    59
+  256    13   131    99   103
+  257    15   103    99    59
+  258    12   132   100    60
+  259    13   132   100   104
+  260    15   104   100    60
+  261    15    97   101    61
+  262    13   134   101    97
+  263    12   134   101    61
+  264    15    98   102    62
+  265    13   133   102    98
+  266    12   133   102    62
+  267    15    99   103    63
+  268    13   135   103    99
+  269    12   135   103    63
+  270    15   100   104    64
+  271    13   136   104   100
+  272    12   136   104    64
+  273    15   109   105    65
+  274    12   126   105    65
+  275    13   126   105   109
+  276    12   125   106    66
+  277    13   125   106   110
+  278    15   110   106    66
+  279    12   127   107    67
+  280    13   127   107   111
+  281    15   111   107    67
+  282    12   128   108    68
+  283    13   128   108   112
+  284    15   112   108    68
+  285    15   105   109    69
+  286    13   121   109   105
+  287    12   121   109    69
+  288    15   106   110    70
+  289    13   122   110   106
+  290    12   122   110    70
+  291    15   107   111    71
+  292    13   123   111   107
+  293    12   123   111    71
+  294    13   124   112   108
+  295    12   124   112    72
+  296    15   108   112    72
+  297    12   133   113    73
+  298    13   133   113   117
+  299    15   117   113    73
+  300    15   118   114    74
+  301    12   134   114    74
+  302    13   134   114   118
+  303    12   135   115    75
+  304    13   135   115   119
+  305    15   119   115    75
+  306    12   136   116    76
+  307    13   136   116   120
+  308    15   120   116    76
+  309    15   113   117    77
+  310    13   130   117   113
+  311    12   130   117    77
+  312    13   129   118   114
+  313    12   129   118    78
+  314    15   114   118    78
+  315    15   115   119    79
+  316    13   131   119   115
+  317    12   131   119    79
+  318    15   116   120    80
+  319    13   132   120   116
+  320    12   132   120    80
+  321    17   137   121    90
+  322    17   137   121   109
+  323    19   109   121    90
+  324    17   138   122    89
+  325    17   138   122   110
+  326    19   110   122    89
+  327    17   139   123    91
+  328    17   139   123   111
+  329    19   111   123    91
+  330    17   140   124    92
+  331    17   140   124   112
+  332    19   112   124    92
+  333    19   106   125    93
+  334    17   141   125   106
+  335    17   141   125    93
+  336    19   105   126    94
+  337    17   142   126   105
+  338    17   142   126    94
+  339    19   107   127    95
+  340    17   143   127   107
+  341    17   143   127    95
+  342    19   108   128    96
+  343    17   144   128   108
+  344    17   144   128    96
+  345    17   145   129    97
+  346    17   145   129   118
+  347    19   118   129    97
+  348    19   117   130    98
+  349    17   146   130    98
+  350    17   146   130   117
+  351    17   147   131    99
+  352    17   147   131   119
+  353    19   119   131    99
+  354    17   148   132   100
+  355    17   148   132   120
+  356    19   120   132   100
+  357    19   113   133   102
+  358    17   149   133   113
+  359    17   149   133   102
+  360    19   114   134   101
+  361    17   150   134   114
+  362    17   150   134   101
+  363    19   115   135   103
+  364    17   151   135   115
+  365    17   151   135   103
+  366    19   116   136   104
+  367    17   152   136   116
+  368    17   152   136   104
+  369    21   121   137    10
+  370    21   121   137    29
+  371    22    29   137    10
+  372    21   122   138     9
+  373    21   122   138    30
+  374    22    30   138     9
+  375    21   123   139    11
+  376    21   123   139    31
+  377    22    31   139    11
+  378    21   124   140    12
+  379    21   124   140    32
+  380    22    32   140    12
+  381    22    26   141    13
+  382    21   125   141    26
+  383    21   125   141    13
+  384    22    25   142    14
+  385    21   126   142    25
+  386    21   126   142    14
+  387    22    27   143    15
+  388    21   127   143    27
+  389    21   127   143    15
+  390    21   128   144    28
+  391    21   128   144    16
+  392    22    28   144    16
+  393    21   129   145    17
+  394    21   129   145    38
+  395    22    38   145    17
+  396    22    37   146    18
+  397    21   130   146    18
+  398    21   130   146    37
+  399    21   131   147    19
+  400    21   131   147    39
+  401    22    39   147    19
+  402    21   132   148    20
+  403    21   132   148    40
+  404    22    40   148    20
+  405    22    33   149    22
+  406    21   133   149    33
+  407    21   133   149    22
+  408    22    34   150    21
+  409    21   134   150    34
+  410    21   134   150    21
+  411    22    35   151    23
+  412    21   135   151    35
+  413    21   135   151    23
+  414    22    36   152    24
+  415    21   136   152    36
+  416    21   136   152    24
+  417    23    82     1    41
+  418    23    87     1    41
+  419    24    87     1    82
+  420    23    81     2    42
+  421    24    88     2    81
+  422    23    88     2    42
+  423    23    85     3    43
+  424    24    85     3    83
+  425    23    83     3    43
+  426    23    84     4    44
+  427    24    86     4    84
+  428    23    86     4    44
+  429    23    83     5    45
+  430    24    86     5    83
+  431    23    86     5    45
+  432    23    84     6    46
+  433    24    85     6    84
+  434    23    85     6    46
+  435    23    81     7    47
+  436    24    87     7    81
+  437    23    87     7    47
+  438    23    82     8    48
+  439    24    88     8    82
+  440    23    88     8    48
+  441    25   138     9    85
+  442    25   137    10    86
+  443    25   139    11    87
+  444    25   140    12    88
+  445    25   141    13    81
+  446    25   142    14    82
+  447    25   143    15    83
+  448    25   144    16    84
+  449    25   145    17    87
+  450    25   146    18    88
+  451    25   147    19    85
+  452    25   148    20    86
+  453    25   150    21    83
+  454    25   149    22    84
+  455    25   151    23    81
+  456    25   152    24    82
+  457    25   142    25    87
+  458    25   141    26    88
+  459    25   143    27    85
+  460    25   144    28    86
+  461    25   137    29    83
+  462    25   138    30    84
+  463    25   139    31    81
+  464    25   140    32    82
+  465    25   149    33    85
+  466    25   150    34    86
+  467    25   151    35    87
+  468    25   152    36    88
+  469    25   146    37    81
+  470    25   145    38    82
+  471    25   147    39    83
+  472    25   148    40    84
+  473    26    37    81     2
+  474    26    37    81     7
+  475    26    13    81     2
+  476    26    13    81     7
+  477    26    23    81     2
+  478    26    23    81     7
+  479    26    31    81     2
+  480    26    31    81     7
+  481    26    38    82     1
+  482    26    38    82     8
+  483    26    14    82     1
+  484    26    14    82     8
+  485    26    24    82     1
+  486    26    24    82     8
+  487    26    32    82     1
+  488    26    32    82     8
+  489    26    39    83     3
+  490    26    39    83     5
+  491    26    15    83     3
+  492    26    15    83     5
+  493    26    21    83     3
+  494    26    21    83     5
+  495    26    29    83     3
+  496    26    29    83     5
+  497    26    40    84     4
+  498    26    40    84     6
+  499    26    16    84     4
+  500    26    16    84     6
+  501    26    22    84     4
+  502    26    22    84     6
+  503    26    30    84     4
+  504    26    30    84     6
+  505    26    33    85     3
+  506    26    33    85     6
+  507    26     9    85     3
+  508    26     9    85     6
+  509    26    19    85     3
+  510    26    19    85     6
+  511    26    27    85     3
+  512    26    27    85     6
+  513    26    34    86     4
+  514    26    34    86     5
+  515    26    10    86     4
+  516    26    10    86     5
+  517    26    20    86     4
+  518    26    20    86     5
+  519    26    28    86     4
+  520    26    28    86     5
+  521    26    35    87     1
+  522    26    35    87     7
+  523    26    11    87     1
+  524    26    11    87     7
+  525    26    17    87     1
+  526    26    17    87     7
+  527    26    25    87     1
+  528    26    25    87     7
+  529    26    36    88     2
+  530    26    36    88     8
+  531    26    12    88     2
+  532    26    12    88     8
+  533    26    18    88     2
+  534    26    18    88     8
+  535    26    26    88     2
+  536    26    26    88     8
+  537    27   122    89    49
+  538    28   122    89    93
+  539    29    93    89    49
+  540    27   121    90    50
+  541    28   121    90    94
+  542    29    94    90    50
+  543    27   123    91    51
+  544    28   123    91    95
+  545    29    95    91    51
+  546    27   124    92    52
+  547    28   124    92    96
+  548    29    96    92    52
+  549    29    89    93    53
+  550    28   125    93    89
+  551    27   125    93    53
+  552    29    90    94    54
+  553    28   126    94    90
+  554    27   126    94    54
+  555    29    91    95    55
+  556    28   127    95    91
+  557    27   127    95    55
+  558    28   128    96    92
+  559    27   128    96    56
+  560    29    92    96    56
+  561    27   129    97    57
+  562    28   129    97   101
+  563    29   101    97    57
+  564    29   102    98    58
+  565    27   130    98    58
+  566    28   130    98   102
+  567    27   131    99    59
+  568    28   131    99   103
+  569    29   103    99    59
+  570    27   132   100    60
+  571    28   132   100   104
+  572    29   104   100    60
+  573    29    97   101    61
+  574    28   134   101    97
+  575    27   134   101    61
+  576    29    98   102    62
+  577    28   133   102    98
+  578    27   133   102    62
+  579    29    99   103    63
+  580    28   135   103    99
+  581    27   135   103    63
+  582    29   100   104    64
+  583    28   136   104   100
+  584    27   136   104    64
+  585    29   109   105    65
+  586    27   126   105    65
+  587    28   126   105   109
+  588    27   125   106    66
+  589    28   125   106   110
+  590    29   110   106    66
+  591    27   127   107    67
+  592    28   127   107   111
+  593    29   111   107    67
+  594    27   128   108    68
+  595    28   128   108   112
+  596    29   112   108    68
+  597    29   105   109    69
+  598    28   121   109   105
+  599    27   121   109    69
+  600    29   106   110    70
+  601    28   122   110   106
+  602    27   122   110    70
+  603    29   107   111    71
+  604    28   123   111   107
+  605    27   123   111    71
+  606    28   124   112   108
+  607    27   124   112    72
+  608    29   108   112    72
+  609    27   133   113    73
+  610    28   133   113   117
+  611    29   117   113    73
+  612    29   118   114    74
+  613    27   134   114    74
+  614    28   134   114   118
+  615    27   135   115    75
+  616    28   135   115   119
+  617    29   119   115    75
+  618    27   136   116    76
+  619    28   136   116   120
+  620    29   120   116    76
+  621    29   113   117    77
+  622    28   130   117   113
+  623    27   130   117    77
+  624    28   129   118   114
+  625    27   129   118    78
+  626    29   114   118    78
+  627    29   115   119    79
+  628    28   131   119   115
+  629    27   131   119    79
+  630    29   116   120    80
+  631    28   132   120   116
+  632    27   132   120    80
+  633    30   137   121    90
+  634    30   137   121   109
+  635    31   109   121    90
+  636    30   138   122    89
+  637    30   138   122   110
+  638    31   110   122    89
+  639    30   139   123    91
+  640    30   139   123   111
+  641    31   111   123    91
+  642    30   140   124    92
+  643    30   140   124   112
+  644    31   112   124    92
+  645    31   106   125    93
+  646    30   141   125   106
+  647    30   141   125    93
+  648    31   105   126    94
+  649    30   142   126   105
+  650    30   142   126    94
+  651    31   107   127    95
+  652    30   143   127   107
+  653    30   143   127    95
+  654    31   108   128    96
+  655    30   144   128   108
+  656    30   144   128    96
+  657    30   145   129    97
+  658    30   145   129   118
+  659    31   118   129    97
+  660    31   117   130    98
+  661    30   146   130    98
+  662    30   146   130   117
+  663    30   147   131    99
+  664    30   147   131   119
+  665    31   119   131    99
+  666    30   148   132   100
+  667    30   148   132   120
+  668    31   120   132   100
+  669    31   113   133   102
+  670    30   149   133   113
+  671    30   149   133   102
+  672    31   114   134   101
+  673    30   150   134   114
+  674    30   150   134   101
+  675    31   115   135   103
+  676    30   151   135   115
+  677    30   151   135   103
+  678    31   116   136   104
+  679    30   152   136   116
+  680    30   152   136   104
+  681    32   121   137    10
+  682    32   121   137    29
+  683    33    29   137    10
+  684    32   122   138     9
+  685    32   122   138    30
+  686    33    30   138     9
+  687    32   123   139    11
+  688    32   123   139    31
+  689    33    31   139    11
+  690    32   124   140    12
+  691    32   124   140    32
+  692    33    32   140    12
+  693    33    26   141    13
+  694    32   125   141    26
+  695    32   125   141    13
+  696    33    25   142    14
+  697    32   126   142    25
+  698    32   126   142    14
+  699    33    27   143    15
+  700    32   127   143    27
+  701    32   127   143    15
+  702    32   128   144    28
+  703    32   128   144    16
+  704    33    28   144    16
+  705    32   129   145    17
+  706    32   129   145    38
+  707    33    38   145    17
+  708    33    37   146    18
+  709    32   130   146    18
+  710    32   130   146    37
+  711    32   131   147    19
+  712    32   131   147    39
+  713    33    39   147    19
+  714    32   132   148    20
+  715    32   132   148    40
+  716    33    40   148    20
+  717    33    33   149    22
+  718    32   133   149    33
+  719    32   133   149    22
+  720    33    34   150    21
+  721    32   134   150    34
+  722    32   134   150    21
+  723    33    35   151    23
+  724    32   135   151    35
+  725    32   135   151    23
+  726    33    36   152    24
+  727    32   136   152    36
+  728    32   136   152    24
+  729    34     7    81     2
+  730    34     8    82     1
+  731    34     5    83     3
+  732    34     6    84     4
+  733    34     6    85     3
+  734    34     5    86     4
+  735    34     7    87     1
+  736    34     8    88     2
+
+Dihedrals
+
+    1     4   125    93    89    49
+    2     7   125    93    89   122
+    3     8    53    93    89    49
+    4     4    53    93    89   122
+    5     4    54    94    90   121
+    6     8    54    94    90    50
+    7     7   126    94    90   121
+    8     4   126    94    90    50
+    9     4   127    95    91    51
+   10     7   127    95    91   123
+   11     8    55    95    91    51
+   12     4    55    95    91   123
+   13     7   128    96    92   124
+   14     4   128    96    92    52
+   15     4    56    96    92   124
+   16     8    56    96    92    52
+   17     8    61   101    97    57
+   18     4    61   101    97   129
+   19     4   134   101    97    57
+   20     7   134   101    97   129
+   21     4   133   102    98    58
+   22     7   133   102    98   130
+   23     8    62   102    98    58
+   24     4    62   102    98   130
+   25     4   135   103    99    59
+   26     7   135   103    99   131
+   27     8    63   103    99    59
+   28     4    63   103    99   131
+   29     4   136   104   100    60
+   30     7   136   104   100   132
+   31     8    64   104   100    60
+   32     4    64   104   100   132
+   33     4   121   109   105    65
+   34     7   121   109   105   126
+   35     8    69   109   105    65
+   36     4    69   109   105   126
+   37     8    70   110   106    66
+   38     4    70   110   106   125
+   39     4   122   110   106    66
+   40     7   122   110   106   125
+   41     4   123   111   107    67
+   42     7   123   111   107   127
+   43     8    71   111   107    67
+   44     4    71   111   107   127
+   45     7   124   112   108   128
+   46     4   124   112   108    68
+   47     4    72   112   108   128
+   48     8    72   112   108    68
+   49     4   130   117   113    73
+   50     7   130   117   113   133
+   51     8    77   117   113    73
+   52     4    77   117   113   133
+   53     4   129   118   114    74
+   54     7   129   118   114   134
+   55     8    78   118   114    74
+   56     4    78   118   114   134
+   57     4   131   119   115    75
+   58     7   131   119   115   135
+   59     8    79   119   115    75
+   60     4    79   119   115   135
+   61     4   132   120   116    76
+   62     7   132   120   116   136
+   63     8    80   120   116    76
+   64     4    80   120   116   136
+   65     2   137   121    90    50
+   66     3   137   121    90    94
+   67     5   109   121    90    50
+   68     1   109   121    90    94
+   69     3   137   121   109   105
+   70     2   137   121   109    69
+   71     1    90   121   109   105
+   72     5    90   121   109    69
+   73     2   138   122    89    49
+   74     3   138   122    89    93
+   75     5   110   122    89    49
+   76     1   110   122    89    93
+   77     1    89   122   110   106
+   78     5    89   122   110    70
+   79     3   138   122   110   106
+   80     2   138   122   110    70
+   81     2   139   123    91    51
+   82     3   139   123    91    95
+   83     5   111   123    91    51
+   84     1   111   123    91    95
+   85     1    91   123   111   107
+   86     5    91   123   111    71
+   87     3   139   123   111   107
+   88     2   139   123   111    71
+   89     2   140   124    92    52
+   90     3   140   124    92    96
+   91     5   112   124    92    52
+   92     1   112   124    92    96
+   93     1    92   124   112   108
+   94     5    92   124   112    72
+   95     3   140   124   112   108
+   96     2   140   124   112    72
+   97     1   106   125    93    89
+   98     5   106   125    93    53
+   99     3   141   125    93    89
+  100     2   141   125    93    53
+  101     2   141   125   106    66
+  102     3   141   125   106   110
+  103     5    93   125   106    66
+  104     1    93   125   106   110
+  105     1   105   126    94    90
+  106     5   105   126    94    54
+  107     3   142   126    94    90
+  108     2   142   126    94    54
+  109     5    94   126   105    65
+  110     1    94   126   105   109
+  111     2   142   126   105    65
+  112     3   142   126   105   109
+  113     1   107   127    95    91
+  114     5   107   127    95    55
+  115     3   143   127    95    91
+  116     2   143   127    95    55
+  117     2   143   127   107    67
+  118     3   143   127   107   111
+  119     5    95   127   107    67
+  120     1    95   127   107   111
+  121     1   108   128    96    92
+  122     5   108   128    96    56
+  123     3   144   128    96    92
+  124     2   144   128    96    56
+  125     2   144   128   108    68
+  126     3   144   128   108   112
+  127     5    96   128   108    68
+  128     1    96   128   108   112
+  129     2   145   129    97    57
+  130     3   145   129    97   101
+  131     5   118   129    97    57
+  132     1   118   129    97   101
+  133     1    97   129   118   114
+  134     5    97   129   118    78
+  135     3   145   129   118   114
+  136     2   145   129   118    78
+  137     5   117   130    98    58
+  138     1   117   130    98   102
+  139     2   146   130    98    58
+  140     3   146   130    98   102
+  141     1    98   130   117   113
+  142     5    98   130   117    77
+  143     3   146   130   117   113
+  144     2   146   130   117    77
+  145     2   147   131    99    59
+  146     3   147   131    99   103
+  147     5   119   131    99    59
+  148     1   119   131    99   103
+  149     1    99   131   119   115
+  150     5    99   131   119    79
+  151     3   147   131   119   115
+  152     2   147   131   119    79
+  153     2   148   132   100    60
+  154     3   148   132   100   104
+  155     5   120   132   100    60
+  156     1   120   132   100   104
+  157     1   100   132   120   116
+  158     5   100   132   120    80
+  159     3   148   132   120   116
+  160     2   148   132   120    80
+  161     1   113   133   102    98
+  162     5   113   133   102    62
+  163     3   149   133   102    98
+  164     2   149   133   102    62
+  165     2   149   133   113    73
+  166     3   149   133   113   117
+  167     5   102   133   113    73
+  168     1   102   133   113   117
+  169     1   114   134   101    97
+  170     5   114   134   101    61
+  171     3   150   134   101    97
+  172     2   150   134   101    61
+  173     5   101   134   114    74
+  174     1   101   134   114   118
+  175     2   150   134   114    74
+  176     3   150   134   114   118
+  177     1   115   135   103    99
+  178     5   115   135   103    63
+  179     3   151   135   103    99
+  180     2   151   135   103    63
+  181     2   151   135   115    75
+  182     3   151   135   115   119
+  183     5   103   135   115    75
+  184     1   103   135   115   119
+  185     1   116   136   104   100
+  186     5   116   136   104    64
+  187     3   152   136   104   100
+  188     2   152   136   104    64
+  189     2   152   136   116    76
+  190     3   152   136   116   120
+  191     5   104   136   116    76
+  192     1   104   136   116   120
+  193     9   121   137    10    86
+  194     9   121   137    29    83
+  195     6    10   137   121    90
+  196     6    10   137   121   109
+  197     6    29   137   121    90
+  198     6    29   137   121   109
+  199     9   122   138     9    85
+  200     9   122   138    30    84
+  201     6     9   138   122    89
+  202     6     9   138   122   110
+  203     6    30   138   122    89
+  204     6    30   138   122   110
+  205     9   123   139    11    87
+  206     9   123   139    31    81
+  207     6    11   139   123    91
+  208     6    11   139   123   111
+  209     6    31   139   123    91
+  210     6    31   139   123   111
+  211     9   124   140    12    88
+  212     9   124   140    32    82
+  213     6    12   140   124    92
+  214     6    12   140   124   112
+  215     6    32   140   124    92
+  216     6    32   140   124   112
+  217     9   125   141    13    81
+  218     9   125   141    26    88
+  219     6    26   141   125   106
+  220     6    26   141   125    93
+  221     6    13   141   125   106
+  222     6    13   141   125    93
+  223     9   126   142    14    82
+  224     9   126   142    25    87
+  225     6    25   142   126   105
+  226     6    25   142   126    94
+  227     6    14   142   126   105
+  228     6    14   142   126    94
+  229     9   127   143    15    83
+  230     9   127   143    27    85
+  231     6    27   143   127   107
+  232     6    27   143   127    95
+  233     6    15   143   127   107
+  234     6    15   143   127    95
+  235     9   128   144    16    84
+  236     9   128   144    28    86
+  237     6    28   144   128   108
+  238     6    28   144   128    96
+  239     6    16   144   128   108
+  240     6    16   144   128    96
+  241     9   129   145    17    87
+  242     9   129   145    38    82
+  243     6    17   145   129    97
+  244     6    17   145   129   118
+  245     6    38   145   129    97
+  246     6    38   145   129   118
+  247     9   130   146    18    88
+  248     9   130   146    37    81
+  249     6    18   146   130    98
+  250     6    18   146   130   117
+  251     6    37   146   130    98
+  252     6    37   146   130   117
+  253     9   131   147    19    85
+  254     9   131   147    39    83
+  255     6    19   147   131    99
+  256     6    19   147   131   119
+  257     6    39   147   131    99
+  258     6    39   147   131   119
+  259     9   132   148    20    86
+  260     9   132   148    40    84
+  261     6    20   148   132   100
+  262     6    20   148   132   120
+  263     6    40   148   132   100
+  264     6    40   148   132   120
+  265     9   133   149    22    84
+  266     9   133   149    33    85
+  267     6    33   149   133   113
+  268     6    33   149   133   102
+  269     6    22   149   133   113
+  270     6    22   149   133   102
+  271     9   134   150    21    83
+  272     9   134   150    34    86
+  273     6    34   150   134   114
+  274     6    34   150   134   101
+  275     6    21   150   134   114
+  276     6    21   150   134   101
+  277     9   135   151    23    81
+  278     9   135   151    35    87
+  279     6    35   151   135   115
+  280     6    35   151   135   103
+  281     6    23   151   135   115
+  282     6    23   151   135   103
+  283     9   136   152    24    82
+  284     9   136   152    36    88
+  285     6    36   152   136   116
+  286     6    36   152   136   104
+  287     6    24   152   136   116
+  288     6    24   152   136   104
+
+Impropers
+
+    1     3    89    49   122    93
+    2     3    90   121    50    94
+    3     3    91    51   123    95
+    4     3    92   124    52    96
+    5     3    93    89   125    53
+    6     3    94    90    54   126
+    7     3    95    91   127    55
+    8     3    96   128    92    56
+    9     3    97    57   129   101
+   10     3    98    58   102   130
+   11     3    99    59   131   103
+   12     3   100    60   132   104
+   13     3   101    97    61   134
+   14     3   102    98   133    62
+   15     3   103    99   135    63
+   16     3   104   100   136    64
+   17     3   105    65   109   126
+   18     3   106    66   125   110
+   19     3   107    67   127   111
+   20     3   108   128    68   112
+   21     3   109   105   121    69
+   22     3   110   106    70   122
+   23     3   111   107   123    71
+   24     3   112   124   108    72
+   25     3   113    73   133   117
+   26     3   114    74   118   134
+   27     3   115    75   135   119
+   28     3   116    76   136   120
+   29     3   117   113   130    77
+   30     3   118   129   114    78
+   31     3   119   115   131    79
+   32     3   120   116   132    80
+   33     1   121   137    90   109
+   34     1   122    89   138   110
+   35     1   123    91   139   111
+   36     1   124    92   140   112
+   37     1   125   106   141    93
+   38     1   126   105    94   142
+   39     1   127   107   143    95
+   40     1   128   108   144    96
+   41     1   129    97   145   118
+   42     1   130    98   117   146
+   43     1   131    99   147   119
+   44     1   132   100   148   120
+   45     1   133   113   149   102
+   46     1   134   114   101   150
+   47     1   135   115   151   103
+   48     1   136   116   152   104
+   49     2   137   121    10    29
+   50     2   138     9   122    30
+   51     2   139    11   123    31
+   52     2   140   124    12    32
+   53     2   141    26    13   125
+   54     2   142    25    14   126
+   55     2   143    27   127    15
+   56     2   144   128    28    16
+   57     2   145    17   129    38
+   58     2   146    18    37   130
+   59     2   147    19   131    39
+   60     2   148    20   132    40
+   61     2   149    33   133    22
+   62     2   150    34    21   134
+   63     2   151    35   135    23
+   64     2   152    36   136    24
diff --git a/examples/USER/yaff/mil53al/lammps.in b/examples/USER/yaff/mil53al/lammps.in
new file mode 100644
index 0000000000000000000000000000000000000000..a2b6329bbdfe433d858a1e29591e1f8f4d45447e
--- /dev/null
+++ b/examples/USER/yaff/mil53al/lammps.in
@@ -0,0 +1,42 @@
+#########################################
+#General settings
+#########################################
+units           real
+atom_style      full
+boundary        p p p
+dielectric      1
+
+#########################################
+#Force field and system specification
+#########################################
+special_bonds   lj 0.000000 0.000000 1.000000 coul 1.000000 1.000000 1.000000
+pair_style      mm3/switch3/coulgauss/long  12.0000  4.0000
+pair_modify     table 16 # Accuracy of the table used for real space electrostatics
+pair_modify     mix arithmetic
+pair_modify     tail no
+bond_style      harmonic
+angle_style     hybrid cosine/periodic cross harmonic cosine/squared
+dihedral_style  fourier
+improper_style  distharm
+box tilt large
+
+read_data       lammps.data       # Data file location
+kspace_style    pppm 0.0000001      # Ewald accuracy
+neighbor        2.0 multi
+neigh_modify    every 2 delay 4 check yes
+
+#########################################
+#Output settings
+#########################################
+thermo 100       # Provide output every n steps
+thermo_style 	custom step time etotal ke temp pe emol evdwl ecoul elong etail vol press
+thermo_modify	line multi format float %20.12f
+
+#########################################
+#Sampling options
+#########################################
+timestep 0.5 # in femtosecond
+velocity all create 0.0 5 # initial temperature in Kelvin and random seed
+fix 1 all npt temp 300.0 300.0 100.0 tri 2000.0 2000.0 1000.0 tchain 3 mtk yes nreset 1000
+fix_modify 1 energy yes # Add thermo/barostat contributions to energy
+run 10000
diff --git a/examples/USER/yaff/mof5/lammps.data b/examples/USER/yaff/mof5/lammps.data
new file mode 100644
index 0000000000000000000000000000000000000000..acc6f7d3d22392d1a958101adb3f65dd2811888f
--- /dev/null
+++ b/examples/USER/yaff/mof5/lammps.data
@@ -0,0 +1,4315 @@
+Generated by yaff2lammps
+
+                 424 atoms
+                 512 bonds
+                1824 angles 
+                1248 dihedrals
+                 192 impropers
+
+                   7 atom types
+                   7 bond types
+                  29 angle types
+                  11 dihedral types
+                   3 improper types
+
+    0.0000000000000000000000000000000000    26.4070248643267468935391661943867803 xlo xhi
+    0.0000000000000000000000000000000000    26.4070252891212220447414438240230083 ylo yhi
+    0.0000000000000000000000000000000000    26.4070257154843517355402582325041294 zlo zhi
+   -0.0000000007111492372846892652846758    -0.0000000000659408828932501509572980    -0.0000000000464737531820980317620204 xy xz yz
+
+Masses
+
+    1     65.40900000 #              Zn
+    2     15.99940000 #            O_CE
+    3     15.99940000 #            O_CA
+    4     12.01070000 #            C_CA
+    5     12.01070000 #            C_PH
+    6     12.01070000 #            C_PC
+    7      1.00794000 #            H_PH
+
+Bond Coeffs
+
+       1    682.36094515      1.27102391
+       2    499.48089314      1.38650552
+       3    328.64606795      1.49449724
+       4    465.15110963      1.39880394
+       5    406.68075027      1.08330871
+       6    107.02127303      2.03268653
+       7    113.67644184      1.98848069
+
+Angle Coeffs
+
+       1               cross    193.48062339    101.27328163    101.27328163      1.27218805      1.27218805    123.91120600
+       2               cross     90.86010618    104.60333096     43.56504880      1.27186911      1.49086906    118.21448172
+       3               cross     90.86010618     43.56504880    104.60333096      1.49086906      1.27186911    118.21448172
+       4               cross    130.81104940     12.67739461     16.17645862      1.39837427      1.38759779    120.07946149
+       5               cross    130.81104940     16.17645862     12.67739461      1.38759779      1.39837427    120.07946149
+       6               cross     11.41676921     30.63883886     25.17734414      1.08331485      1.39837427    119.52155527
+       7               cross     11.41676921     25.17734414     30.63883886      1.39837427      1.08331485    119.52155527
+       8               cross     12.44667401     28.35704887     28.27577085      1.38759779      1.08331485    120.41324047
+       9               cross     12.44667401     28.27577085     28.35704887      1.08331485      1.38759779    120.41324047
+      10               cross     75.95522848     37.17414513     10.05189907      1.49086906      1.39837427    119.94754556
+      11               cross     75.95522848     10.05189907     37.17414513      1.39837427      1.49086906    119.94754556
+      12               cross    144.65705708     -7.34407121     -7.34407121      1.39837427      1.39837427    119.90241395
+      13               cross     20.17000841      2.28355442     -7.92322284      1.98727825      2.03828701    109.42277782
+      14               cross     20.17000841     -7.92322284      2.28355442      2.03828701      1.98727825    109.42277782
+      15               cross     22.09014578     27.25520258     27.25520258      1.98727825      1.98727825    108.41474547
+      16               cross     35.09855972     13.51120456     13.51120456      2.03828701      2.03828701    110.23699695
+      17               cross     60.09401332      6.52883112      6.33031133      1.27250698      1.98727825    133.24307044
+      18               cross     60.09401332      6.33031133      6.52883112      1.98727825      1.27250698    133.24307044
+      19                 mm3     89.55892156    124.04066786
+      20                 mm3     66.99975548    120.08429731
+      21                 mm3     36.80738383    120.34964823
+      22                 mm3     78.98317285    118.11635047
+      23                 mm3     45.56202376    120.27481067
+      24                 mm3     38.05295940    119.66571944
+      25                 mm3     69.51816469    119.99726194
+      26                 mm3     10.37923783    135.02173615
+      27                 mm3      7.08946285    108.92035063
+      28                 mm3      9.10447143    107.51166462
+      29                 mm3     29.71892770    109.45766072
+
+Dihedral Coeffs
+
+       1    1      3.64767899     2   -180.00000000
+       2    1      2.35495004     2   -180.00000000
+       3    1      0.77392291     2   -180.00000000
+       4    1      4.23729765     2   -180.00000000
+       5    1      3.96491674     2   -180.00000000
+       6    1      3.27183804     2   -180.00000000
+       7    1      2.21748040     2   -180.00000000
+       8    1      5.15273943     2   -180.00000000
+       9    1      0.07197799     2   -180.00000000
+      10    1      1.18073306     2   -180.00000000
+      11    1      0.13801067     3   -180.00000000
+
+Improper Coeffs
+
+       1     27.54315214      0.30000000
+       2    196.72513766      0.20000000
+       3     21.31242806      0.10000000
+
+Pair Coeffs
+
+    1       0.276000000000       2.290000000000       2.073000000000 #              Zn
+    2       0.059000000000       1.820000000000       1.132500000000 #            O_CE
+    3       0.059000000000       1.820000000000       1.132500000000 #            O_CA
+    4       0.056000000000       1.940000000000       1.164600000000 #            C_CA
+    5       0.056000000000       1.960000000000       1.164600000000 #            C_PH
+    6       0.056000000000       1.960000000000       1.164600000000 #            C_PC
+    7       0.020000000000       1.620000000000       0.730900000000 #            H_PH
+
+Atoms
+
+    1   1   1     1.1385908011000001049950469678151421     7.7681655356393379818769062694627792     5.4353470464458997213341717724688351     5.4353481400207055429518732125870883
+    2   1   1     1.1385908011000001049950469678151421    18.6388604818900276427484641317278147    20.9716793824397242929080675821751356    20.9716786980636094028795923804864287
+    3   1   1     1.1385908011000001049950469678151421    18.6388604828091395404499053256586194    20.9716793882223804246223153313621879     5.4353481469762670030831941403448582
+    4   1   1     1.1385908011000001049950469678151421     7.7681655364778690042726339015644044     5.4353470521724522868112217111047357    20.9716787050184301222088834038004279
+    5   1   1     1.1385908011000001049950469678151421    18.6388604820358487756948306923732162     5.4353470549395410671422723680734634    20.9716787022728006206762074725702405
+    6   1   1     1.1385908011000001049950469678151421     7.7681655348670091143503668718039989    20.9716793909088075054114597151055932     5.4353481442725533057114262192044407
+    7   1   1     1.1385908011000001049950469678151421     7.7681655357115895199626720568630844    20.9716793851271745552367065101861954    20.9716787007712568424722121562808752
+    8   1   1     1.1385908011000001049950469678151421    18.6388604829732216217053064610809088     5.4353470492259390312028699554502964     5.4353481427881851217875919246580452
+    9   1   1     1.1385908011000001049950469678151421     5.4353480335349191321370199148077518     7.7681659778904474933369783684611320     5.4353473910968492788242656388320029
+   10   1   1     1.1385908011000001049950469678151421    20.9716779882094357390087679959833622    18.6388604499221948174181306967511773    20.9716794503401686711185902822762728
+   11   1   1     1.1385908011000001049950469678151421     5.4353480418414452657316360273398459    18.6388604476287227385000733193010092    20.9716794526507896989642176777124405
+   12   1   1     1.1385908011000001049950469678151421    20.9716779971001834326216339832171798     7.7681659755144787382619142590556294     5.4353473934498337527543299074750394
+   13   1   1     1.1385908011000001049950469678151421    20.9716779939941133648062532301992178    18.6388604508393349590278376126661897     5.4353473947126449417055482626892626
+   14   1   1     1.1385908011000001049950469678151421     5.4353480392393134223993911291472614     7.7681659787512575832124639418907464    20.9716794539569519884025794453918934
+   15   1   1     1.1385908011000001049950469678151421    20.9716779912964526033647416625171900     7.7681659763617938452284761297050864    20.9716794515814761723504489054903388
+   16   1   1     1.1385908011000001049950469678151421     5.4353480361288601940827902581077069    18.6388604485427613610681873979046941     5.4353473923970669900995744683314115
+   17   1   1     1.1385908011000001049950469678151421     5.4353473615433571808353008236736059     5.4353484119468289392784754454623908     7.7681665390863825493283911782782525
+   18   1   1     1.1385908011000001049950469678151421    20.9716786635264433868997002718970180    20.9716780214450366770506661850959063    18.6388602999156418604798091109842062
+   19   1   1     1.1385908011000001049950469678151421    20.9716786678593969384110096143558621     5.4353484156213465183782318490557373    18.6388602987394449428393272683024406
+   20   1   1     1.1385908011000001049950469678151421     5.4353473649551853341677087882999331    20.9716780252386136851328046759590507     7.7681665379556230632829283422324806
+   21   1   1     1.1385908011000001049950469678151421     5.4353473663194220577565829444210976    20.9716780238284776771706674480810761    18.6388602975496908698005427140742540
+   22   1   1     1.1385908011000001049950469678151421    20.9716786692716929962898575467988849     5.4353484142481827134929517342243344     7.7681665367625623019876002217642963
+   23   1   1     1.1385908011000001049950469678151421    20.9716786649501152339780674083158374    20.9716780228583630218963662628084421     7.7681665355948394946494772739242762
+   24   1   1     1.1385908011000001049950469678151421     5.4353473629214468232362378330435604     5.4353484133301899206003326980862767    18.6388602964345366785892110783606768
+   25   1   1     1.1385908011000001049950469678151421     7.7681661448906043077045069367159158    18.6388603674339208282617619261145592    18.6388609743165929444330686237663031
+   26   1   1     1.1385908011000001049950469678151421    18.6388598649385599514971545431762934     7.7681660573387638635267649078741670     7.7681658552096362058136946870945394
+   27   1   1     1.1385908011000001049950469678151421    18.6388598693962634911258646752685308     7.7681660528421563327583498903550208    18.6388609736337329536581819411367178
+   28   1   1     1.1385908011000001049950469678151421     7.7681661493951921215739275794476271    18.6388603629757554358548077289015055     7.7681658545225156231595065037254244
+   29   1   1     1.1385908011000001049950469678151421    18.6388598684865343102501356042921543    18.6388603657511033873106498504057527     7.7681658517638823013840010389685631
+   30   1   1     1.1385908011000001049950469678151421     7.7681661489359852268421491316985339     7.7681660555329976602934038965031505    18.6388609709207209164105734089389443
+   31   1   1     1.1385908011000001049950469678151421     7.7681661534287194115222519030794501     7.7681660600201682953525050834286958     7.7681658579038215250989196647424251
+   32   1   1     1.1385908011000001049950469678151421    18.6388598729334624692910438170656562    18.6388603702083806012979039223864675    18.6388609770715056868084502639248967
+   33   1   2    -1.1996262903999999060999925859505311     6.6017567794254068402892698941286653     6.6017568805824877742338685493450612     6.6017569851852506701561651425436139
+   34   1   2    -1.1996262903999999060999925859505311    19.8052692450136689217288221698254347    19.8052695509050984412624529795721173    19.8052698542058642772190069081261754
+   35   1   2    -1.1996262903999999060999925859505311    19.8052692451266771911377873038873076    19.8052695509947689345153776230290532     6.6017569850626030003581945493351668
+   36   1   2    -1.1996262903999999060999925859505311     6.6017567794610032549940115131903440     6.6017568806120694446804009203333408    19.8052698540833276297234988305717707
+   37   1   2    -1.1996262903999999060999925859505311    19.8052692455747880728722520871087909     6.6017568806341531129078248341102153    19.8052698541859548697630089009180665
+   38   1   2    -1.1996262903999999060999925859505311     6.6017567792593823128299845848232508    19.8052695509999701073411415563896298     6.6017569849619262001283459539990872
+   39   1   2    -1.1996262903999999060999925859505311     6.6017567793064513281819927215110511    19.8052695509013538810449972515925765    19.8052698543089888971735490486025810
+   40   1   2    -1.1996262903999999060999925859505311    19.8052692456725587533128418726846576     6.6017568805577271362494684581179172     6.6017569850833739408813016780186445
+   41   1   3    -0.6614125480999999417974777315976098     7.3942181733283014466451277257874608     5.8092937865263580832220213778782636     3.5019658020624895300443313317373395
+   42   1   3    -0.6614125480999999417974777315976098    19.0128078425525721684152813395485282    20.5977326425952682598108367528766394    22.9050610423764169354399200528860092
+   43   1   3    -0.6614125480999999417974777315976098    19.0128078411376932876919454429298639    20.5977326418579700373356899945065379     3.5019658064874317204839826445095241
+   44   1   3    -0.6614125480999999417974777315976098     7.3942181718381911892379321216139942     5.8092937857008299928907035791780800    22.9050610467861481822637870209291577
+   45   1   3    -0.6614125480999999417974777315976098    19.0128078564215385881652764510363340     5.8092937813638991784159770759288222    22.9050610450410161433865141589194536
+   46   1   3    -0.6614125480999999417974777315976098     7.3942181862512610379667421511840075    20.5977326373507381163108220789581537     3.5019658046746764412660013476852328
+   47   1   3    -0.6614125480999999417974777315976098     7.3942181846366104025491949869319797    20.5977326379863434624439832987263799    22.9050610442565165669748239452019334
+   48   1   3    -0.6614125480999999417974777315976098    19.0128078545243539565490209497511387     5.8092937816891616620296190376393497     3.5019658041565966399844000989105552
+   49   1   3    -0.6614125480999999417974777315976098     3.5019657909495807146527113218326122     7.3942187212764647341600721119903028     5.8092944677925419938446793821640313
+   50   1   3    -0.6614125480999999417974777315976098    22.9050602369784179757061792770400643    19.0128076948782052113529061898589134    20.5977323618679157846145244548097253
+   51   1   3    -0.6614125480999999417974777315976098     3.5019657972852078486880600394215435    19.0128076933941407844486093381419778    20.5977323633455640106149076018482447
+   52   1   3    -0.6614125480999999417974777315976098    22.9050602427862557419757649768143892     7.3942187215476389283708158473018557     5.8092944675320916658733949589077383
+   53   1   3    -0.6614125480999999417974777315976098    22.9050602407389938264259399147704244    19.0128077137566151577630080282688141     5.8092944665556016659024862747173756
+   54   1   3    -0.6614125480999999417974777315976098     3.5019657945506681429037598718423396     7.3942187399778358525281873880885541    20.5977323605050735011445794953033328
+   55   1   3    -0.6614125480999999417974777315976098    22.9050602387797610504094336647540331     7.3942187407221728889794576389249414    20.5977323612425990972951694857329130
+   56   1   3    -0.6614125480999999417974777315976098     3.5019657935145551697075916308676824    19.0128077123963770134196238359436393     5.8092944652027505014757480239495635
+   57   1   3    -0.6614125480999999417974777315976098     5.8092942248463375065625768911559135     3.5019659445057245150678681966383010     7.3942200042889165700898956856690347
+   58   1   3    -0.6614125480999999417974777315976098    20.5977317920127909189886850072070956    22.9050604931258803276250546332448721    19.0128068387566280250666750362142920
+   59   1   3    -0.6614125480999999417974777315976098    20.5977317911533504002363770268857479     3.5019659473096780288869922515004873    19.0128068375803138678747927770018578
+   60   1   3    -0.6614125480999999417974777315976098     5.8092942247353196449921597377397120    22.9050604972263194269999075913801789     7.3942200013357615162590263935271651
+   61   1   3    -0.6614125480999999417974777315976098     5.8092942250240371393488203466404229    22.9050604954516501265970873646438122    19.0128068461052670556910015875473619
+   62   1   3    -0.6614125480999999417974777315976098    20.5977317913448167985279724234715104     3.5019659454737896986387113429373130     7.3942200097043766504611994605511427
+   63   1   3    -0.6614125480999999417974777315976098    20.5977317923231417751139815663918853    22.9050604949299945189977734116837382     7.3942200086482570142720760486554354
+   64   1   3    -0.6614125480999999417974777315976098     5.8092942249925405562294145056512207     3.5019659463469063886975618515862152    19.0128068430089136597871402045711875
+   65   1   3    -0.6614125480999999417974777315976098     5.8092960785327898420860037731472403     7.3942182075750313430262394831515849    22.9050614002890959852720698108896613
+   66   1   3    -0.6614125480999999417974777315976098    20.5977299401312841098388162208721042    19.0128082239953606347171444213017821     3.5019654517842653262960084248334169
+   67   1   3    -0.6614125480999999417974777315976098    20.5977299405712770408172218594700098    19.0128082257082873240960907423868775    22.9050613972744407931259047472849488
+   68   1   3    -0.6614125480999999417974777315976098     5.8092960790514895919045557093340904     7.3942182093726591673998882470186800     3.5019654487820419674903860141057521
+   69   1   3    -0.6614125480999999417974777315976098     5.8092960762463938806376972934231162    19.0128082304078702691185753792524338     3.5019654501479484665082964056637138
+   70   1   3    -0.6614125480999999417974777315976098    20.5977299386054824026359710842370987     7.3942182142183732196372147882357240    22.9050613984380468934887176146730781
+   71   1   3    -0.6614125480999999417974777315976098    20.5977299376820504051011084811761975     7.3942182155180562475038641423452646     3.5019654502855197542032783530885354
+   72   1   3    -0.6614125480999999417974777315976098     5.8092960756012583800611537299118936    19.0128082320136755356543289963155985    22.9050613988376525753665191587060690
+   73   1   3    -0.6614125480999999417974777315976098     7.3942172056483563835627137450501323     3.5019653161967823074007810646435246    20.5977303905757622715100296773016453
+   74   1   3    -0.6614125480999999417974777315976098    19.0128088409146194237564486684277654    22.9050611265415646755627676611766219     5.8092964336224230947891555842943490
+   75   1   3    -0.6614125480999999417974777315976098    19.0128088404674606692879024194553494     3.5019653150334657532027904380811378     5.8092964323469908904939984495285898
+   76   1   3    -0.6614125480999999417974777315976098     7.3942172062134545740264002233743668    22.9050611238859431750825024209916592    20.5977303913429352633102098479866982
+   77   1   3    -0.6614125480999999417974777315976098    19.0128088218691964073059352813288569    22.9050611226776190676446276484057307    20.5977303949553345319145591929554939
+   78   1   3    -0.6614125480999999417974777315976098     7.3942171867826607112306191993411630     3.5019653124559817491956437152111903     5.8092964378953917403691775689367205
+   79   1   3    -0.6614125480999999417974777315976098     7.3942171872283024569583176344167441    22.9050611277551752209546975791454315     5.8092964372482214230331010185182095
+   80   1   3    -0.6614125480999999417974777315976098    19.0128088215761614776511123636737466     3.5019653187266461813464957231190056    20.5977303960754589695625327294692397
+   81   1   3    -0.6614125480999999417974777315976098     3.5019654779337230365854338742792606     5.8092967237013635184439408476464450    19.0128078412212566661310120252892375
+   82   1   3    -0.6614125480999999417974777315976098    22.9050605550011709965474437922239304    20.5977296963806075780212268000468612     7.3942190175944446650646568741649389
+   83   1   3    -0.6614125480999999417974777315976098     3.5019654778984468102009941503638402    20.5977296959421032340742385713383555     7.3942190171633228601422160863876343
+   84   1   3    -0.6614125480999999417974777315976098    22.9050605571640275570644007530063391     5.8092967253534926186375741963274777    19.0128078428666391630486032227054238
+   85   1   3    -0.6614125480999999417974777315976098    22.9050605588242035537405172362923622     5.8092967248778739630665768345352262     7.3942190047566755950469996605534106
+   86   1   3    -0.6614125480999999417974777315976098     3.5019654796467700741402495623333380    20.5977296956396678240253095282241702    19.0128078302438510149841022212058306
+   87   1   3    -0.6614125480999999417974777315976098    22.9050605531062210218351538060232997    20.5977296962075158148763875942677259    19.0128078296824511994600470643490553
+   88   1   3    -0.6614125480999999417974777315976098     3.5019654760072134180859393381979316     5.8092967236924213381143999868072569     7.3942190059313750438718670920934528
+   89   1   3    -0.6614125480999999417974777315976098     7.3942189816897174736709530407097191    19.0128074720672763930906512541696429    16.7054786480276398208388854982331395
+   90   1   3    -0.6614125480999999417974777315976098    19.0128070348148447976655006641522050     7.3942189561113034201866867078933865     9.7015481798496168153178587090224028
+   91   1   3    -0.6614125480999999417974777315976098    19.0128070398263808726824208861216903     7.3942189510663363094522537721786648    16.7054786479772090501683123875409365
+   92   1   3    -0.6614125480999999417974777315976098     7.3942189868229606375393814232666045    19.0128074669634301585574576165527105     9.7015481797389462315095443045720458
+   93   1   3    -0.6614125480999999417974777315976098    19.0128070404677238514068449148908257    19.0128074623046927627001423388719559     9.7015481777709826616273858235217631
+   94   1   3    -0.6614125480999999417974777315976098     7.3942189879737281188454289804212749     7.3942189463278769068210749537684023    16.7054786460043480644799274159595370
+   95   1   3    -0.6614125480999999417974777315976098     7.3942189934460786915337848768103868     7.3942189517942757959190203109756112     9.7015481815281976452070011873729527
+   96   1   3    -0.6614125480999999417974777315976098    19.0128070456709394875360885635018349    19.0128074675123386327868502121418715    16.7054786499265404131620016414672136
+   97   1   3    -0.6614125480999999417974777315976098     5.8092958879240672587229710188694298    16.7054783005063463008355029160156846    20.5977324335008376010591746307909489
+   98   1   3    -0.6614125480999999417974777315976098    20.5977301425774470544638461433351040     9.7015481188062686612738616531714797     5.8092944042885532596187658782582730
+   99   1   3    -0.6614125480999999417974777315976098    20.5977301400728656233241053996607661    16.7054783015092667142198479268699884     5.8092943997067569839032330492045730
+  100   1   3    -0.6614125480999999417974777315976098     5.8092958876427820413823610579129308     9.7015481210446257165358474594540894    20.5977324270892765412099834065884352
+  101   1   3    -0.6614125480999999417974777315976098     5.8092958752098597940971558273304254     9.7015481211045688780814089113846421     5.8092944116117468666971035418100655
+  102   1   3    -0.6614125480999999417974777315976098    20.5977301274566038102875609183683991    16.7054783014434455878927110461518168    20.5977324388839591051691968459635973
+  103   1   3    -0.6614125480999999417974777315976098    20.5977301301355062435050058411434293     9.7015481186871035390595352509990335    20.5977324344775460929213295457884669
+  104   1   3    -0.6614125480999999417974777315976098     5.8092958754208696703358327795285732    16.7054783005406477514043217524886131     5.8092944051289316931274697708431631
+  105   1   3    -0.6614125480999999417974777315976098     5.8092949017410688838936039246618748    20.5977298991426849283925548661500216     9.7015485084123813663836699561215937
+  106   1   3    -0.6614125480999999417974777315976098    20.5977311254701582754478295100852847     5.8092965212149643150496558519080281    16.7054783203509877864689769921824336
+  107   1   3    -0.6614125480999999417974777315976098    20.5977311213527762845387769630178809     5.8092965253640072020857587631326169     9.7015485077352501264158490812405944
+  108   1   3    -0.6614125480999999417974777315976098     5.8092948975013145584966878232080489    20.5977299033513006065732042770832777    16.7054783197338672096066147787496448
+  109   1   3    -0.6614125480999999417974777315976098     5.8092948913148871881162449426483363     5.8092965273910293078074573713820428    16.7054783188796989179536467418074608
+  110   1   3    -0.6614125480999999417974777315976098    20.5977311144287682509457226842641830    20.5977299054634386266116052865982056     9.7015485067859241752330490271560848
+  111   1   3    -0.6614125480999999417974777315976098    20.5977311187387677193783019902184606    20.5977299097761239465853577712550759    16.7054783214311690642261964967474341
+  112   1   3    -0.6614125480999999417974777315976098     5.8092948958969143902208998042624444     5.8092965319653133704491665412206203     9.7015485095041622543021730962209404
+  113   1   3    -0.6614125480999999417974777315976098     7.3942187611208280983987606305163354    16.7054782673867414644064410822466016     7.3942180412462903404957614839076996
+  114   1   3    -0.6614125480999999417974777315976098    19.0128072665808041108448378508910537     9.7015481487976540364570610108785331    19.0128087749036005504876811755821109
+  115   1   3    -0.6614125480999999417974777315976098    19.0128072637524319077328982530161738    16.7054782725891541872442758176475763    19.0128087808776520262199483113363385
+  116   1   3    -0.6614125480999999417974777315976098     7.3942187607602267718220900860615075     9.7015481525794484696234576404094696     7.3942180492968132554665317002218217
+  117   1   3    -0.6614125480999999417974777315976098    19.0128072681088831075157941086217761     9.7015481513881791642006646725349128     7.3942180528998298072451689222361892
+  118   1   3    -0.6614125480999999417974777315976098     7.3942187627146598316585368593223393    16.7054782700166448705658694962039590    19.0128087864319539335156150627881289
+  119   1   3    -0.6614125480999999417974777315976098     7.3942187622570276772648867336101830     9.7015481499845694912664839648641646    19.0128087784795489767475373810157180
+  120   1   3    -0.6614125480999999417974777315976098    19.0128072654169599786655453499406576    16.7054782699551758184952632291242480     7.3942180467881630789861446828581393
+  121   1   3    -0.6614125480999999417974777315976098    16.7054779462080809082635823870077729     7.3942181373565327717756190395448357    19.0128089291277326822182658361271024
+  122   1   3    -0.6614125480999999417974777315976098     9.7015480683850832122061547124758363    19.0128083000016694370515324408188462     7.3942179110456356383451748115476221
+  123   1   3    -0.6614125480999999417974777315976098    16.7054779464473988070949417306110263    19.0128082993325300265041732927784324     7.3942179117071376026615325827151537
+  124   1   3    -0.6614125480999999417974777315976098     9.7015480679456729262710723560303450     7.3942181384685099487796833273023367    19.0128089280246150849507102975621819
+  125   1   3    -0.6614125480999999417974777315976098     9.7015480657450723356305388733744621    19.0128082984084976203575934050604701    19.0128089166837881407445820514112711
+  126   1   3    -0.6614125480999999417974777315976098    16.7054779434552109762535110348835588     7.3942181355549658761106002202723175     7.3942178983506563483274476311635226
+  127   1   3    -0.6614125480999999417974777315976098     9.7015480704414240875621544546447694     7.3942181371201511907997883099596947     7.3942178999110481640855141449719667
+  128   1   3    -0.6614125480999999417974777315976098    16.7054779489779363643719989340752363    19.0128082978158339244600938400253654    19.0128089161001945228690601652488112
+  129   1   3    -0.6614125480999999417974777315976098    16.7054782227603837441165524069219828     5.8092939274234378643768650363199413     5.8092955786821107722062151879072189
+  130   1   3    -0.6614125480999999417974777315976098     9.7015477910991965160292238579131663    20.5977324837256219325354322791099548    20.5977312604598665757293929345905781
+  131   1   3    -0.6614125480999999417974777315976098    16.7054782222166835481402813456952572    20.5977324824371059719396725995466113    20.5977312591786052564657438779249787
+  132   1   3    -0.6614125480999999417974777315976098     9.7015477929291300540626252768561244     5.8092939282851405735641492356080562     5.8092955795372036575940910552162677
+  133   1   3    -0.6614125480999999417974777315976098     9.7015477927467053120835771551355720     5.8092939405732488822309278475586325    20.5977312593216446146016096463426948
+  134   1   3    -0.6614125480999999417974777315976098    16.7054782221912674344821425620466471    20.5977324948995530462525493931025267     5.8092955795570091481749841477721930
+  135   1   3    -0.6614125480999999417974777315976098     9.7015477911436871494288425310514867    20.5977324962684740228269220096990466     5.8092955781939252801748807542026043
+  136   1   3    -0.6614125480999999417974777315976098    16.7054782225499032222160167293623090     5.8092939401670777854747029778081924    20.5977312597170971741888934047892690
+  137   1   4     0.8023877470999999372835986832797062     6.6017571969835175949015138030517846     6.6017559437386283960336186282802373     2.9116401488184662227354237984400243
+  138   1   4     0.8023877470999999372835986832797062    19.8052688195818298311223770724609494    19.8052704863584274619370262371376157    23.4953866980199528313733026152476668
+  139   1   4     0.8023877470999999372835986832797062    19.8052688183239204988694837084040046    19.8052704856782035847118095261976123     2.9116401520553725212892004492459819
+  140   1   4     0.8023877470999999372835986832797062     6.6017571955836666930395040253642946     6.6017559430250853935717714193742722    23.4953867012559136639993084827437997
+  141   1   4     0.8023877470999999372835986832797062    19.8052688258025213485780113842338324     6.6017559439238882035283495497424155    23.4953866997633120661248540272936225
+  142   1   4     0.8023877470999999372835986832797062     6.6017572028717568244360336393583566    19.8052704869948463795026327716186643     2.9116401505074249733695523900678381
+  143   1   4     0.8023877470999999372835986832797062     6.6017572017339434253813124087173492    19.8052704878974275004566152347251773    23.4953866995706448506098240613937378
+  144   1   4     0.8023877470999999372835986832797062    19.8052688255519200311027816496789455     6.6017559456832000108761349110864103     2.9116401503125768357449487666599452
+  145   1   4     0.8023877470999999372835986832797062     2.9116401612969129431007786479312927     6.6017578088235699951269452867563814     6.6017567029365027408971400291193277
+  146   1   4     0.8023877470999999372835986832797062    23.4953858693740684771000815089792013    19.8052686062430218782992596970871091    19.8052701278573941578997619217261672
+  147   1   4     0.8023877470999999372835986832797062     2.9116401653847452379864080285187811    19.8052686083734208466466952813789248    19.8052701257283985114554525353014469
+  148   1   4     0.8023877470999999372835986832797062    23.4953858742513190804857003968209028     6.6017578073222944468056994082871825     6.6017567044375065066219576692674309
+  149   1   4     0.8023877470999999372835986832797062    23.4953858717166710334822710137814283    19.8052686176479504354119853815063834     6.6017567090324922318700373580213636
+  150   1   4     0.8023877470999999372835986832797062     2.9116401635720716711830391432158649     6.6017578204409961273313456331379712    19.8052701342124066741234855726361275
+  151   1   4     0.8023877470999999372835986832797062    23.4953858719134451860099943587556481     6.6017578179544464944683568319305778    19.8052701317253472268475888995453715
+  152   1   4     0.8023877470999999372835986832797062     2.9116401631070232269848929718136787    19.8052686195107732203268824378028512     6.6017567108934578357093414524570107
+  153   1   4     0.8023877470999999372835986832797062     6.6017556091303815080095773737411946     2.9116401529908246814670746971387416     6.6017583561851527207409162656404078
+  154   1   4     0.8023877470999999372835986832797062    19.8052704016008718213015526998788118    23.4953862854585153741027170326560736    19.8052684797876885625100840115919709
+  155   1   4     0.8023877470999999372835986832797062    19.8052704036894162697990395827218890     2.9116401567873730904523199569666758    19.8052684772410430014133453369140625
+  156   1   4     0.8023877470999999372835986832797062     6.6017556064066349463814731279853731    23.4953862892921669924817251740023494     6.6017583573405733687877727788873017
+  157   1   4     0.8023877470999999372835986832797062     6.6017556174052440809418840217404068    23.4953862869670899726770585402846336    19.8052684791960373900110425893217325
+  158   1   4     0.8023877470999999372835986832797062    19.8052704150917406877852044999599457     2.9116401544995409444993583747418597     6.6017583596334485918077916721813381
+  159   1   4     0.8023877470999999372835986832797062    19.8052704127173413439777505118399858    23.4953862877626882266213215189054608     6.6017583568007758287876640679314733
+  160   1   4     0.8023877470999999372835986832797062     6.6017556204024048227552157186437398     2.9116401552464652446872150903800502    19.8052684806248606719236704520881176
+  161   1   4     0.8023877470999999372835986832797062     6.6017569871427506100758364482317120    19.8052686155319364047500130254775286    16.1151530027094409547316899988800287
+  162   1   4     0.8023877470999999372835986832797062    19.8052690279446146348618640331551433     6.6017578126316776021553778264205903    10.2918738240178040399541714577935636
+  163   1   4     0.8023877470999999372835986832797062    19.8052690337015597776826325571164489     6.6017578068506432842355025059077889    16.1151530029257905596296041039749980
+  164   1   4     0.8023877470999999372835986832797062     6.6017569927509436311652279982808977    19.8052686099487900150961650069802999    10.2918738242353455802913231309503317
+  165   1   4     0.8023877470999999372835986832797062    19.8052690286696808641409006668254733    19.8052686115258715915388165740296245    10.2918738227387400741008605109527707
+  166   1   4     0.8023877470999999372835986832797062     6.6017569886354863228916656225919724     6.6017578086619037591731284919660538    16.1151530013772017468909325543791056
+  167   1   4     0.8023877470999999372835986832797062     6.6017569935325024488292910973541439     6.6017578135548173889901590882800519    10.2918738255669737213793268892914057
+  168   1   4     0.8023877470999999372835986832797062    19.8052690340270665103616920532658696    19.8052686168877833949863997986540198    16.1151530042017192556613736087456346
+  169   1   4     0.8023877470999999372835986832797062     6.6017573607993993434206458914559335    16.1151528052077495090088632423430681    19.8052706494171779638691077707335353
+  170   1   4     0.8023877470999999372835986832797062    19.8052686681010499114563572220504284    10.2918736136625295074509267578832805     6.6017561876353383354398829396814108
+  171   1   4     0.8023877470999999372835986832797062    19.8052686692267663204347627470269799    16.1151528056969297608702618163079023     6.6017561797337460660628494224511087
+  172   1   4     0.8023877470999999372835986832797062     6.6017573584041384648912753618787974    10.2918736141181028642677119933068752    19.8052706453486599968982773134484887
+  173   1   4     0.8023877470999999372835986832797062     6.6017573516964329627398910815827549    10.2918736152040821707487339153885841     6.6017561870587400107979192398488522
+  174   1   4     0.8023877470999999372835986832797062    19.8052686626823195581437175860628486    16.1151528067376936803611897630617023    19.8052706529029336479652556590735912
+  175   1   4     0.8023877470999999372835986832797062    19.8052686612313095793069805949926376    10.2918736126082421833416447043418884    19.8052706446759039238258992554619908
+  176   1   4     0.8023877470999999372835986832797062     6.6017573542667236097258864901959896    16.1151528041889378073392435908317566     6.6017561831653850390466686803847551
+  177   1   4     0.8023877470999999372835986832797062    16.1151526067618817705806577578186989     6.6017559759992918699822439521085471    19.8052701376361355301014555152505636
+  178   1   4     0.8023877470999999372835986832797062    10.2918734059065446473368865554220974    19.8052704597004378683777758851647377     6.6017567011958844247487832035403699
+  179   1   4     0.8023877470999999372835986832797062    16.1151526067073120884742820635437965    19.8052704618172157324806903488934040     6.6017566990795506498557188024278730
+  180   1   4     0.8023877470999999372835986832797062    10.2918734065027450697016320191323757     6.6017559744341305361103877658024430    19.8052701392002177271933760493993759
+  181   1   4     0.8023877470999999372835986832797062    10.2918734048056492724754207301884890    19.8052704530323850917739036958664656    19.8052701313082444301016948884353042
+  182   1   4     0.8023877470999999372835986832797062    16.1151526057216081255774042801931500     6.6017559699027463793186143448110670     6.6017566953932256268444689339958131
+  183   1   4     0.8023877470999999372835986832797062    10.2918734076050899517440484487451613     6.6017559673846424317389391944743693     6.6017566928753890209691235213540494
+  184   1   4     0.8023877470999999372835986832797062    16.1151526077415532256509322905912995    19.8052704549817875090411689598113298    19.8052701332566059022610716056078672
+  185   1   5    -0.1059498145999999973998484392723185     7.4580708971362907888646986975800246     5.7454397499282556793787080096080899     0.6950441809839732476561380281054880
+  186   1   5    -0.1059498145999999973998484392723185    18.9489551150479549335159390466287732    20.6615866757037238699012959841638803    25.7119826716055186466292070690542459
+  187   1   5    -0.1059498145999999973998484392723185    18.9489551141377923215713963145390153    20.6615866760237167909508571028709412     0.6950441813029240023524835123680532
+  188   1   5    -0.1059498145999999973998484392723185     7.4580708960956281217136165651027113     5.7454397501657616942338790977373719    25.7119826719217101640424516517668962
+  189   1   5    -0.1059498145999999973998484392723185    18.9489552061429051832419645506888628     5.7454396712088087184611140401102602    25.7119826717282329298086551716551185
+  190   1   5    -0.1059498145999999973998484392723185     7.4580709874804735903808250441215932    20.6615865971249483834526472492143512     0.6950441811858094620646397743257694
+  191   1   5    -0.1059498145999999973998484392723185     7.4580709864703598199753287190105766    20.6615865968299345922787324525415897    25.7119826717274975180771434679627419
+  192   1   5    -0.1059498145999999973998484392723185    18.9489552053725631708402943331748247     5.7454396711167001754461125528905541     0.6950441811556488103107653842016589
+  193   1   5    -0.1059498145999999973998484392723185     0.6950442013570656829557492528692819     7.4580714055883348123643372673541307     5.7454404384383632731214675004594028
+  194   1   5    -0.1059498145999999973998484392723185    25.7119818361682952456703787902370095    18.9489550041569643212824303191155195    20.6615863853566459340527217136695981
+  195   1   5    -0.1059498145999999973998484392723185     0.6950442013678133079679355432745069    18.9489550038616485494458174798637629    20.6615863856523027664024994010105729
+  196   1   5    -0.1059498145999999973998484392723185    25.7119818370475208268999267602339387     7.4580714047603722249846214253921062     5.7454404392666607037654102896340191
+  197   1   5    -0.1059498145999999973998484392723185    25.7119818364503593954850657610222697    18.9489551023581306310461513930931687     5.7454403654191388284289132570847869
+  198   1   5    -0.1059498145999999973998484392723185     0.6950442015629493264228244697733317     7.4580715037794869104459394293371588    20.6615863123799385903112124651670456
+  199   1   5    -0.1059498145999999973998484392723185    25.7119818367882828624715330079197884     7.4580715028148123479923015111126006    20.6615863114149362900207052007317543
+  200   1   5    -0.1059498145999999973998484392723185     0.6950442011640962647334163193590939    18.9489551020285560412048653233796358     5.7454403650892471588917942426633090
+  201   1   5    -0.1059498145999999973998484392723185     5.7454408619173022998438682407140732     0.6950441931181976507048148050671443     7.4580736949951553782511837198399007
+  202   1   5    -0.1059498145999999973998484392723185    20.6615851428490451269226468866690993    25.7119822508355113654943124856799841    18.9489531389739340738742612302303314
+  203   1   5    -0.1059498145999999973998484392723185    20.6615851440200444244510435964912176     0.6950441935380002878019922718522139    18.9489531381121594222349813207983971
+  204   1   5    -0.1059498145999999973998484392723185     5.7454408611923186711578637186903507    25.7119822511307773993394221179187298     7.4580736946819214949755405541509390
+  205   1   5    -0.1059498145999999973998484392723185     5.7454407944009684428010586998425424    25.7119822508835156327222648542374372    18.9489532224887504696653195424005389
+  206   1   5    -0.1059498145999999973998484392723185    20.6615850773308729060318000847473741     0.6950441933570803421105210873065516     7.4580737791033016037545166909694672
+  207   1   5    -0.1059498145999999973998484392723185    20.6615850761211738984002295183017850    25.7119822510679902904939808649942279     7.4580737782028174720494462235365063
+  208   1   5    -0.1059498145999999973998484392723185     5.7454407951667132437023610691539943     0.6950441933110265146922301937593147    18.9489532222162786467833939241245389
+  209   1   5    -0.1059498145999999973998484392723185     5.7454437639006101790073444135487080     7.4580719652853399992409322294406593    25.7119826765996606354747200384736061
+  210   1   5    -0.1059498145999999973998484392723185    20.6615822465654090933639963623136282    18.9489544609573954403458628803491592     0.6950441766027186663023940127459355
+  211   1   5    -0.1059498145999999973998484392723185    20.6615822463033431688472774112597108    18.9489544618096878991764242528006434    25.7119826763005541181428270647302270
+  212   1   5    -0.1059498145999999973998484392723185     5.7454437637728386079061237978748977     7.4580719662163321714842822984792292     0.6950441762923532662554748640104663
+  213   1   5    -0.1059498145999999973998484392723185     5.7454436914262831948008170002140105    18.9489545447594629479226568946614861     0.6950441764820020074111539543082472
+  214   1   5    -0.1059498145999999973998484392723185    20.6615821745183616542362869950011373     7.4580720490207008666061483381781727    25.7119826764425347676024102838709950
+  215   1   5    -0.1059498145999999973998484392723185    20.6615821749186423517130606342107058     7.4580720500992896404568455182015896     0.6950441764837008706834353688464034
+  216   1   5    -0.1059498145999999973998484392723185     5.7454436915829996124216449970845133    18.9489545456313450699781242292374372    25.7119826764082297643199126468971372
+  217   1   5    -0.1059498145999999973998484392723185     7.4580701279839782813496640301309526     0.6950441826629887298594212552416138    20.6615832383025335161619295831769705
+  218   1   5    -0.1059498145999999973998484392723185    18.9489560729071442324311647098511457    25.7119822631230405818314466159790754     5.7454434339951694354908795503433794
+  219   1   5    -0.1059498145999999973998484392723185    18.9489560731493433820560312597081065     0.6950441825116903116210664848040324     5.7454434338960593819933819759171456
+  220   1   5    -0.1059498145999999973998484392723185     7.4580701262156781083945134014356881    25.7119822631029819604009389877319336    20.6615832375403520870804641162976623
+  221   1   5    -0.1059498145999999973998484392723185    18.9489559747363998098990123253315687    25.7119822628628753591328859329223633    20.6615833167373317280635092174634337
+  222   1   5    -0.1059498145999999973998484392723185     7.4580700298500319789241075341124088     0.6950441824498451159897172146884259     5.7454435124676823676281856023706496
+  223   1   5    -0.1059498145999999973998484392723185     7.4580700281226466330508628743700683    25.7119822633614525386747118318453431     5.7454435131889471932709057000465691
+  224   1   5    -0.1059498145999999973998484392723185    18.9489559749332450167003116803243756     0.6950441827270334993471578854951076    20.6615833168818028298119315877556801
+  225   1   5    -0.1059498145999999973998484392723185     0.6950441927525650154251479762024246     5.7454444429621238654704029613640159    18.9489540248361194585413613822311163
+  226   1   5    -0.1059498145999999973998484392723185    25.7119818452198529712404706515371799    20.6615818308195287045236909762024879     7.4580729829961649457459316181484610
+  227   1   5    -0.1059498145999999973998484392723185     0.6950441924748893551821993241901509    20.6615818317253463476390606956556439     7.4580729839017072535511942987795919
+  228   1   5    -0.1059498145999999973998484392723185    25.7119818454976538646405970212072134     5.7454444431846685148457254399545491    18.9489540250583878844281571218743920
+  229   1   5    -0.1059498145999999973998484392723185    25.7119818457634998765115597052499652     5.7454445100197322204849115223623812     7.4580728920647079149830460664816201
+  230   1   5    -0.1059498145999999973998484392723185     0.6950441926439864248621347542211879    20.6615818984543473391113366233184934    18.9489539332869867394038010388612747
+  231   1   5    -0.1059498145999999973998484392723185    25.7119818449816754935000062687322497    20.6615818975234937227014597738161683    18.9489539342175454805783374467864633
+  232   1   5    -0.1059498145999999973998484392723185     0.6950441925743315874086647454532795     5.7454445096577941853865922894328833     7.4580728924263581802733824588358402
+  233   1   5    -0.1059498145999999973998484392723185     7.4580729302309380912561209697742015    18.9489547151559953874766506487503648    13.8985570305491759057758827111683786
+  234   1   5    -0.1059498145999999973998484392723185    18.9489532010598011879665136802941561     7.4580718211063397049542800232302397    12.5084697972563194667827701778151095
+  235   1   5    -0.1059498145999999973998484392723185    18.9489532033959946488721470814198256     7.4580718187641892313877178821712732    13.8985570305666872314986903802491724
+  236   1   5    -0.1059498145999999973998484392723185     7.4580729325472310264899533649440855    18.9489547128455839697380724828690290    12.5084697972855973802097651059739292
+  237   1   5    -0.1059498145999999973998484392723185    18.9489531691363914944759017089381814    18.9489546339782002348783862544223666    12.5084697971020268880693038227036595
+  238   1   5    -0.1059498145999999973998484392723185     7.4580728989384033056353473511990160     7.4580717399356037944357922242488712    13.8985570304538210706368772662244737
+  239   1   5    -0.1059498145999999973998484392723185     7.4580729011568465125492366496473551     7.4580717421530522415196173824369907    12.5084697974000942366501476499252021
+  240   1   5    -0.1059498145999999973998484392723185    18.9489531714208681023592362180352211    18.9489546362637106824422517092898488    13.8985570307178303295359000912867486
+  241   1   5    -0.1059498145999999973998484392723185     5.7454428646167983174564142245799303    13.8985568174475098146558593725785613    20.6615858710343189841296407394111156
+  242   1   5    -0.1059498145999999973998484392723185    20.6615830426312960810264485189691186    12.5084695981625877436727023450657725     5.7454408383688111428000411251559854
+  243   1   5    -0.1059498145999999973998484392723185    20.6615830429396645229189743986353278    13.8985568176175284804685361450538039     5.7454408362793127906797963078133762
+  244   1   5    -0.1059498145999999973998484392723185     5.7454428644178960894350893795490265    12.5084695981115139318262663437053561    20.6615858695269452027787338010966778
+  245   1   5    -0.1059498145999999973998484392723185     5.7454428953876659491584177885670215    12.5084695982135318814698621281422675     5.7454409218753008659064107632730156
+  246   1   5    -0.1059498145999999973998484392723185    20.6615830738697674462400755146518350    13.8985568176802480877540801884606481    20.6615859551577614183770492672920227
+  247   1   5    -0.1059498145999999973998484392723185    20.6615830735143930496633402071893215    12.5084695980550915095363961881957948    20.6615859530212446770747192203998566
+  248   1   5    -0.1059498145999999973998484392723185     5.7454428956132863604011618008371443    13.8985568173849394213448249502107501     5.7454409203946585904532184940762818
+  249   1   5    -0.1059498145999999973998484392723185     5.7454411757135526173101425229106098    20.6615822998266018828417145414277911    12.5084698058763432726436803932301700
+  250   1   5    -0.1059498145999999973998484392723185    20.6615847275626762780120770912617445     5.7454440012910703572401871497277170    13.8985570156510167549868128844536841
+  251   1   5    -0.1059498145999999973998484392723185    20.6615847262415677221270016161724925     5.7454440026181039513630821602419019    12.5084698058594128156073566060513258
+  252   1   5    -0.1059498145999999973998484392723185     5.7454411744114439741792921267915517    20.6615823011227952576973621034994721    13.8985570156290538790244681877084076
+  253   1   5    -0.1059498145999999973998484392723185     5.7454412111429027376630074286367744     5.7454440851618375774023661506362259    13.8985570155367987865702161798253655
+  254   1   5    -0.1059498145999999973998484392723185    20.6615847621490651420117501402273774    20.6615823836508631927699752850458026    12.5084698056968157686696940800175071
+  255   1   5    -0.1059498145999999973998484392723185    20.6615847634246385666756395949050784    20.6615823849274420354049652814865112    13.8985570158108124871887412155047059
+  256   1   5    -0.1059498145999999973998484392723185     5.7454412123454199345928827824536711     5.7454440863633191582948711584322155    12.5084698059560448513138908310793340
+  257   1   5    -0.1059498145999999973998484392723185     7.4580719115339624281091346347238868    13.8985568228728926243320529465563595     7.4580712427149853382957189751323313
+  258   1   5    -0.1059498145999999973998484392723185    18.9489541459341523932380368933081627    12.5084695956380489434422997874207795    18.9489555442818513597558194305747747
+  259   1   5    -0.1059498145999999973998484392723185    18.9489541462100135049695381894707680    13.8985568230439433534684212645515800    18.9489555463615104713426262605935335
+  260   1   5    -0.1059498145999999973998484392723185     7.4580719112295534856116319133434445    12.5084695960381839796582426060922444     7.4580712441395098366569982317741960
+  261   1   5    -0.1059498145999999973998484392723185    18.9489541905043772374028776539489627    12.5084695958021132611293069203384221     7.4580713233278546070437187154311687
+  262   1   5    -0.1059498145999999973998484392723185     7.4580719560075552365674411703366786    13.8985568229809732798685217858292162    18.9489556249339727855840465053915977
+  263   1   5    -0.1059498145999999973998484392723185     7.4580719557308325917688307526987046    12.5084695958879006383313026162795722    18.9489556234817513313828385435044765
+  264   1   5    -0.1059498145999999973998484392723185    18.9489541907326355385521310381591320    13.8985568229323952493814431363716722     7.4580713212957965296823203971143812
+  265   1   5    -0.1059498145999999973998484392723185    13.8985566159234270600109084625728428     7.4580718594840762492026442487258464    18.9489565485389412913264095550402999
+  266   1   5    -0.1059498145999999973998484392723185    12.5084693947678626813058144762180746    18.9489546986920451843161572469398379     7.4580704108624340520350415317807347
+  267   1   5    -0.1059498145999999973998484392723185    13.8985566155832493961952422978356481    18.9489546989794241937943297671154141     7.4580704105749866528185521019622684
+  268   1   5    -0.1059498145999999973998484392723185    12.5084693951526784161387695348821580     7.4580718592240327069475824828259647    18.9489565487989040093452786095440388
+  269   1   5    -0.1059498145999999973998484392723185    12.5084693945937761583309111301787198    18.9489546541589071182443149155005813    18.9489564567750505830190377309918404
+  270   1   5    -0.1059498145999999973998484392723185    13.8985566158405600134528867783956230     7.4580718150593412474336219020187855     7.4580703191665032036894444900099188
+  271   1   5    -0.1059498145999999973998484392723185    12.5084693953141758981928433058783412     7.4580718146667299706109588441904634     7.4580703187739700865677150432020426
+  272   1   5    -0.1059498145999999973998484392723185    13.8985566156998032738556503318250179    18.9489546544273181893913715612143278    18.9489564570435646828627795912325382
+  273   1   5    -0.1059498145999999973998484392723185    13.8985566194613703316917963093146682     5.7454398949302953880646782636176795     5.7454429050832018788241839502006769
+  274   1   5    -0.1059498145999999973998484392723185    12.5084693910432065422355663031339645    20.6615864785719303142741409828886390    20.6615839648224124402986490167677402
+  275   1   5    -0.1059498145999999973998484392723185    13.8985566193143501578788345796056092    20.6615864788959946451996074756607413    20.6615839651465549309250491205602884
+  276   1   5    -0.1059498145999999973998484392723185    12.5084693915699141086861345684155822     5.7454398945650346774982608621940017     5.7454429047180015643903061572927982
+  277   1   5    -0.1059498145999999973998484392723185    12.5084693914548790161234137485735118     5.7454398636567773905881040263921022    20.6615838866345065127916313940659165
+  278   1   5    -0.1059498145999999973998484392723185    13.8985566192695042531113358563743532    20.6615864479913255991050391457974911     5.7454428262548882244686865305993706
+  279   1   5    -0.1059498145999999973998484392723185    12.5084693911513404884772171499207616    20.6615864476536295057940151309594512     5.7454428265926145158459803496953100
+  280   1   5    -0.1059498145999999973998484392723185    13.8985566195294705238438837113790214     5.7454398638876575944323121802881360    20.6615838864036760469389264471828938
+  281   1   6    -0.1322994435000000024160726752597839     6.6017573175543917685104133852291852     6.6017558544204808512745330517645925     1.4058275047511632482866161808487959
+  282   1   6    -0.1322994435000000024160726752597839    19.8052686946648925925273942993953824    19.8052705736806338165933993877843022    25.0011993450795593219027068698778749
+  283   1   6    -0.1322994435000000024160726752597839    19.8052686940967994644324789987877011    19.8052705729717573035486566368490458     1.4058275063938752147407740267226472
+  284   1   6    -0.1322994435000000024160726752597839     6.6017573168733187927159633545670658     6.6017558536237483934883130132220685    25.0011993467347437558601086493581533
+  285   1   6    -0.1322994435000000024160726752597839    19.8052687039226142928782792296260595     6.6017558559186682032304815948009491    25.0011993459617194446309440536424518
+  286   1   6    -0.1322994435000000024160726752597839     6.6017573260327626627486097277142107    19.8052705751936350964115263195708394     1.4058275055949498444363143789814785
+  287   1   6    -0.1322994435000000024160726752597839     6.6017573252913637205097074911464006    19.8052705758471532249131996650248766    25.0011993458844692383991059614345431
+  288   1   6    -0.1322994435000000024160726752597839    19.8052687031588767752054991433396935     6.6017558565150649130259807861875743     1.4058275055127387176412412372883409
+  289   1   6    -0.1322994435000000024160726752597839     1.4058275221485234673934883176116273     6.6017579463754652024931601772550493     6.6017566583158551196675034589134157
+  290   1   6    -0.1322994435000000024160726752597839    25.0011985121456312697318935533985496    19.8052684635848095240362454205751419    19.8052701681534024658049020217731595
+  291   1   6    -0.1322994435000000024160726752597839     1.4058275241037234692953461490105838    19.8052684632012230281361553352326155    19.8052701685373335749318357557058334
+  292   1   6    -0.1322994435000000024160726752597839    25.0011985148417004154453024966642261     6.6017579466357920736641062831040472     6.6017566580564679412646000855602324
+  293   1   6    -0.1322994435000000024160726752597839    25.0011985133830023642076412215828896    19.8052684784341188617418083595111966     6.6017566665979003914799250196665525
+  294   1   6    -0.1322994435000000024160726752597839     1.4058275233275152604761615293682553     6.6017579611291949959195335395634174    19.8052701763863190365100308554247022
+  295   1   6    -0.1322994435000000024160726752597839    25.0011985136042547139823000179603696     6.6017579615792678637831158994231373    19.8052701768356378408952878089621663
+  296   1   6    -0.1322994435000000024160726752597839     1.4058275229200425382458661260898225    19.8052684781102321665002818917855620     6.6017566662737454663556491141207516
+  297   1   6    -0.1322994435000000024160726752597839     6.6017554472336872350979319890029728     1.4058275131037145655454878578893840     6.6017585859901428690932334575336426
+  298   1   6    -0.1322994435000000024160726752597839    19.8052705590306814542600477579981089    25.0011989284290727653115027351304889    19.8052682465632727826232439838349819
+  299   1   6    -0.1322994435000000024160726752597839    19.8052705586119621727902995189651847     1.4058275150752024273970164358615875    19.8052682469281648991454858332872391
+  300   1   6    -0.1322994435000000024160726752597839     6.6017554461989043090852646855637431    25.0011989304518777998964651487767696     6.6017585857008196370543373632244766
+  301   1   6    -0.1322994435000000024160726752597839     6.6017554610600033271339270868338645    25.0011989292222516212405025726184249    19.8052682491153184685117594199255109
+  302   1   6    -0.1322994435000000024160726752597839    19.8052705734770455592297366820275784     1.4058275138837339479636057149036787     6.6017585878259819054392210091464221
+  303   1   6    -0.1322994435000000024160726752597839    19.8052705739498335901771497447043657    25.0011989296662200388254859717562795     6.6017585882449978385011490900069475
+  304   1   6    -0.1322994435000000024160726752597839     6.6017554620446778912423724250402302     1.4058275142965284132401393435429782    19.8052682487758815454981231596320868
+  305   1   6    -0.1322994435000000024160726752597839     6.6017570540865415651410330610815436    19.8052685071528102866977860685437918    14.6093403541877062679077425855211914
+  306   1   6    -0.1322994435000000024160726752597839    19.8052689611235734901129035279154778     6.6017579152870942138520149455871433    11.7976864712139608570851123658940196
+  307   1   6    -0.1322994435000000024160726752597839    19.8052689645113488836614124011248350     6.6017579118871658749867492588236928    14.6093403543113797837804668233729899
+  308   1   6    -0.1322994435000000024160726752597839     6.6017570575187463077782012987881899    19.8052685037325524319840042153373361    11.7976864713313140953232505125924945
+  309   1   6    -0.1322994435000000024160726752597839    19.8052689624988467187449714401736856    19.8052685058938955364737921627238393    11.7976864705712731762332623475231230
+  310   1   6    -0.1322994435000000024160726752597839     6.6017570561619747238069066952448338     6.6017579140072291110641344857867807    14.6093403535029207063189460313878953
+  311   1   6    -0.1322994435000000024160726752597839     6.6017570597341110882894099631812423     6.6017579175772374000530362536665052    11.7976864720094543059758507297374308
+  312   1   6    -0.1322994435000000024160726752597839    19.8052689659718019754564011236652732    19.8052685093688829454094957327470183    14.6093403549617697478879563277587295
+  313   1   6    -0.1322994435000000024160726752597839     6.6017574053606518091896759869996458    14.6093401542632186362880020169541240    19.8052707352231784909690759377554059
+  314   1   6    -0.1322994435000000024160726752597839    19.8052686221762392904111038660630584    11.7976862640312685215349119971506298     6.6017560960608232534241324174217880
+  315   1   6    -0.1322994435000000024160726752597839    19.8052686217338376195584714878350496    14.6093401544842080852504295762628317     6.6017560928600182990066969068720937
+  316   1   6    -0.1322994435000000024160726752597839     6.6017574057480166160871704050805420    11.7976862641974857837112722336314619    19.8052707313446134662626718636602163
+  317   1   6    -0.1322994435000000024160726752597839     6.6017573986869475533012519008480012    11.7976862648172424741233044187538326     6.6017560986098740016814190312288702
+  318   1   6    -0.1322994435000000024160726752597839    19.8052686145630616465496132150292397    14.6093401550498427354796149302273989    19.8052707370506801964893384138122201
+  319   1   6    -0.1322994435000000024160726752597839    19.8052686150676784393453999655321240    11.7976862634185888367710504098795354    19.8052707339121276675086846807971597
+  320   1   6    -0.1322994435000000024160726752597839     6.6017573982674679911042403546161950    14.6093401536980831423306881333701313     6.6017560946991507009329325228463858
+  321   1   6    -0.1322994435000000024160726752597839    14.6093399536505863522961590206250548     6.6017558691514413027334740036167204    19.8052702109229663562928180908784270
+  322   1   6    -0.1322994435000000024160726752597839    11.7976860582093170393136460916139185    19.8052705662532773089878901373594999     6.6017566256458914963900497241411358
+  323   1   6    -0.1322994435000000024160726752597839    14.6093399534383561189088140963576734    19.8052705658612886452374368673190475     6.6017566260375746267641261511016637
+  324   1   6    -0.1322994435000000024160726752597839    11.7976860586379057593831021222285926     6.6017558694113231965161503467243165    19.8052702106633340406460774829611182
+  325   1   6    -0.1322994435000000024160726752597839    11.7976860575862900759602780453860760    19.8052705591102977678019669838249683    19.8052702042829906758925062604248524
+  326   1   6    -0.1322994435000000024160726752597839    14.6093399530987824164185440167784691     6.6017558619617942028412471699994057     6.6017566189127236953027022536844015
+  327   1   6    -0.1322994435000000024160726752597839    11.7976860592617303069573608809150755     6.6017558624057777194593654712662101     6.6017566193566379340040839451830834
+  328   1   6    -0.1322994435000000024160726752597839    14.6093399539863870728595429682172835    19.8052705587580994972540793241932988    19.8052702039311974147040018578991294
+  329   1   7     0.1527568014000000029550818680945667     8.1234662164874187340046773897483945     5.0800424375191806092288970830850303     1.2305547890469650251787925299140625
+  330   1   7     0.1527568014000000029550818680945667    18.2835597943903565010259626433253288    21.3269839897042778886770975077524781    25.1764720648117439338875556131824851
+  331   1   7     0.1527568014000000029550818680945667    18.2835597944790855251540051540359855    21.3269839884136942487202759366482496     1.2305547891325354648017764702672139
+  332   1   7     0.1527568014000000029550818680945667     8.1234662164589153121596609707921743     5.0800424361419915797455360007006675    25.1764720648963944427123351488262415
+  333   1   7     0.1527568014000000029550818680945667    18.2835599509758424119354458525776863     5.0800422920921723957121685089077801    25.1764720649007145425457565579563379
+  334   1   7     0.1527568014000000029550818680945667     8.1234663721610136377648814232088625    21.3269838443247117254486511228606105     1.2305547891069947841202747440547682
+  335   1   7     0.1527568014000000029550818680945667     8.1234663721306521466658523422665894    21.3269838456157394546153227565810084    25.1764720648352771092959301313385367
+  336   1   7     0.1527568014000000029550818680945667    18.2835599510212958307420194614678621     5.0800422934237152716718810552265495     1.2305547890707619895778179852641188
+  337   1   7     0.1527568014000000029550818680945667     1.2305548093251283958693420572672039     8.1234666201886813752253146958537400     5.0800430232485380699358756828587502
+  338   1   7     0.1527568014000000029550818680945667    25.1764712297716108935219381237402558    18.2835597877724005400068563176319003    21.3269838016725756801861280109733343
+  339   1   7     0.1527568014000000029550818680945667     1.2305548091296751866963177235447802    18.2835597883457232626369659556075931    21.3269838010998995514455600641667843
+  340   1   7     0.1527568014000000029550818680945667    25.1764712300543322953672031871974468     8.1234666209768970901450302335433662     5.0800430224609334217689138313289732
+  341   1   7     0.1527568014000000029550818680945667    25.1764712298965704917463881429284811    18.2835599523264420440682442858815193     5.0800428829041432976509895524941385
+  342   1   7     0.1527568014000000029550818680945667     1.2305548093595208847261801565764472     8.1234667846695103321508213412016630    21.3269836613121519519609137205407023
+  343   1   7     0.1527568014000000029550818680945667    25.1764712299123694094760139705613256     8.1234667855004651926265069050714374    21.3269836621424495604060211917385459
+  344   1   7     0.1527568014000000029550818680945667     1.2305548090829721008532260384527035    18.2835599529054704248665075283497572     5.0800428834825011037423792004119605
+  345   1   7     0.1527568014000000029550818680945667     5.0800447501318544141213351394981146     1.2305548158821781878913270702469163     8.1234702051540548239927375107072294
+  346   1   7     0.1527568014000000029550818680945667    21.3269812561375502468763443175703287    25.1764716303616218340266641462221742    18.2835566289172781750949070556089282
+  347   1   7     0.1527568014000000029550818680945667    21.3269812561999891897812631214037538     1.2305548156421328709342333240783773    18.2835566288200723761292465496808290
+  348   1   7     0.1527568014000000029550818680945667     5.0800447491239753006198043294716626    25.1764716303083702086951234377920628     8.1234702048374369809380368678830564
+  349   1   7     0.1527568014000000029550818680945667     5.0800446164042396546278723690193146    25.1764716304291695792016980703920126    18.2835567781084975536032288800925016
+  350   1   7     0.1527568014000000029550818680945667    21.3269811235125388293454307131469250     1.2305548157849168777744353064917959     8.1234703541073915999959353939630091
+  351   1   7     0.1527568014000000029550818680945667    21.3269811234640300767750886734575033    25.1764716302444888640366116305813193     8.1234703540241088859374940511770546
+  352   1   7     0.1527568014000000029550818680945667     5.0800446173962248153088694380130619     1.2305548157365484573944058865890838    18.2835567777759742114085383946076035
+  353   1   7     0.1527568014000000029550818680945667     5.0800484434481720796838999376632273     8.1234693038446419421916289138607681    25.1764721038813696907254779944196343
+  354   1   7     0.1527568014000000029550818680945667    21.3269775654580087120848475024104118    18.2835571230022146949067973764613271     1.2305547499882476536470221617491916
+  355   1   7     0.1527568014000000029550818680945667    21.3269775667131327168135612737387419    18.2835571229490980726950510870665312    25.1764721039650112288654781877994537
+  356   1   7     0.1527568014000000029550818680945667     5.0800484448162794848258272395469248     8.1234693038824037358835994382388890     1.2305547500776741198791341957985424
+  357   1   7     0.1527568014000000029550818680945667     5.0800483074245814663072451367042959    18.2835572720775658694947196636348963     1.2305547499989717419310863988357596
+  358   1   7     0.1527568014000000029550818680945667    21.3269774298730361294929025461897254     8.1234694529309372512670961441472173    25.1764721038875443070992332650348544
+  359   1   7     0.1527568014000000029550818680945667    21.3269774285756028575633536092936993     8.1234694529197408741083563654683530     1.2305547500393503312920984171796590
+  360   1   7     0.1527568014000000029550818680945667     5.0800483060541701263446157099679112    18.2835572720287125036975339753553271    25.1764721039599486118731874739751220
+  361   1   7     0.1527568014000000029550818680945667     8.1234663260082982105814153328537941     1.2305547460118095859371578626451083    21.3269797029151391143386717885732651
+  362   1   7     0.1527568014000000029550818680945667    18.2835600047053787875483976677060127    25.1764717001975633081656269496306777     5.0800468361130022287852625595405698
+  363   1   7     0.1527568014000000029550818680945667    18.2835600060640111053089640336111188     1.2305547460594801201239079091465101     5.0800468374513076952325718593783677
+  364   1   7     0.1527568014000000029550818680945667     8.1234663263394395471550524234771729    25.1764717000100652910532517125830054    21.3269797045156757064887642627581954
+  365   1   7     0.1527568014000000029550818680945667    18.2835598401287739989129477180540562    25.1764717000774496113990608137100935    21.3269798484736092802904749987646937
+  366   1   7     0.1527568014000000029550818680945667     8.1234661615275598478547181002795696     1.2305547459579990743350208504125476     5.0800469816567543901442149945069104
+  367   1   7     0.1527568014000000029550818680945667     8.1234661618438899211014359025284648    25.1764717001308504507051111431792378     5.0800469800710317258563009090721607
+  368   1   7     0.1527568014000000029550818680945667    18.2835598415031270747022063005715609     1.2305547461128862885004764393670484    21.3269798471195883848849916830658913
+  369   1   7     0.1527568014000000029550818680945667     1.2305547746802600883597733627539128     5.0800491445769422327316533483099192    18.2835566718044582046331925084814429
+  370   1   7     0.1527568014000000029550818680945667    25.1764712643219716881048952927812934    21.3269769983760397735750302672386169     8.1234704693002210973418186767958105
+  371   1   7     0.1527568014000000029550818680945667     1.2305547743122786652492095527122729    21.3269769975588978638825210509821773     8.1234704684825231879585771821439266
+  372   1   7     0.1527568014000000029550818680945667    25.1764712649626147822345956228673458     5.0800491440310393542745259765069932    18.2835566712580224191242450615391135
+  373   1   7     0.1527568014000000029550818680945667    25.1764712648394421989905822556465864     5.0800492767299694207849825033918023     8.1234703117067788014082907466217875
+  374   1   7     0.1527568014000000029550818680945667     1.2305547741593705346474507678067312    21.3269771302500146248348755761981010    18.2835565144543181759217986837029457
+  375   1   7     0.1527568014000000029550818680945667    25.1764712644278390030194714199751616    21.3269771310660516405732778366655111    18.2835565136377447004178975475952029
+  376   1   7     0.1527568014000000029550818680945667     1.2305547748244056727173756371485069     5.0800492773214962483052659081295133     8.1234703111147688048276904737576842
+  377   1   7     0.1527568014000000029550818680945667     8.1234700791120957319435547105967999    18.2835592280439982459938619285821915    14.4340676331327095738288335269317031
+  378   1   7     0.1527568014000000029550818680945667    18.2835561449390553434568573720753193     8.1234674003718154722264443989843130    11.9729591969889987979058787459507585
+  379   1   7     0.1527568014000000029550818680945667    18.2835561469672960299703845521435142     8.1234673983330001334479675278998911    14.4340676330866450882695062318816781
+  380   1   7     0.1527568014000000029550818680945667     8.1234700811642444051585698616690934    18.2835592260022181676504260394722223    11.9729591969345126045709548634476960
+  381   1   7     0.1527568014000000029550818680945667    18.2835560856033865206882182974368334    18.2835590819295070730277075199410319    11.9729591969257391781411570264026523
+  382   1   7     0.1527568014000000029550818680945667     8.1234700203008607388710515806451440     8.1234672542258863359165843576192856    14.4340676330501924695681736920960248
+  383   1   7     0.1527568014000000029550818680945667     8.1234700223832394527789801941253245     8.1234672563065881689681191346608102    11.9729591969975377452328757499344647
+  384   1   7     0.1527568014000000029550818680945667    18.2835560876409388697538815904408693    18.2835590839690240727577474899590015    14.4340676331463075854344424442388117
+  385   1   7     0.1527568014000000029550818680945667     5.0800467587774100763908791122958064    14.4340674105820863104554518940858543    21.3269824103176013352367590414360166
+  386   1   7     0.1527568014000000029550818680945667    21.3269790526968279209540924057364464    11.9729590021614349382161890389397740     5.0800442046448948119063970807474107
+  387   1   7     0.1527568014000000029550818680945667    21.3269790526054734414174163248389959    14.4340674106636779328027841984294355     5.0800442015968716447105180122889578
+  388   1   7     0.1527568014000000029550818680945667     5.0800467590507274451283592497929931    11.9729590023444210089564876398071647    21.3269824070374340863054385408759117
+  389   1   7     0.1527568014000000029550818680945667     5.0800468206247586522295023314654827    11.9729590022308638452841478283517063     5.0800443538371116147800421458669007
+  390   1   7     0.1527568014000000029550818680945667    21.3269791140840681009649415500462055    14.4340674104829957968831877224147320    21.3269825592633637256767542567104101
+  391   1   7     0.1527568014000000029550818680945667    21.3269791141909195175685454159975052    11.9729590022756013922844431363046169    21.3269825562308312782988650724291801
+  392   1   7     0.1527568014000000029550818680945667     5.0800468203397723954140019486658275    14.4340674107620561272824488696642220     5.0800443505452790304843802005052567
+  393   1   7     0.1527568014000000029550818680945667     5.0800440305369587434825007221661508    21.3269778095012050300738337682560086    11.9729592262242476863320916891098022
+  394   1   7     0.1527568014000000029550818680945667    21.3269817817583877683773607714101672     5.0800483969396159622533559740986675    14.4340675911214173510188629734329879
+  395   1   7     0.1527568014000000029550818680945667    21.3269817786478057541899033822119236     5.0800484000606571655112020380329341    11.9729592261769060002052356139756739
+  396   1   7     0.1527568014000000029550818680945667     5.0800440274041411825578506977763027    21.3269778126235358683970844140276313    14.4340675910804172588086657924577594
+  397   1   7     0.1527568014000000029550818680945667     5.0800440917554050557214395666960627     5.0800485460013824479119648458436131    14.4340675911393816477357177063822746
+  398   1   7     0.1527568014000000029550818680945667    21.3269818421154617738011438632383943    21.3269779585643668440297915367409587    11.9729592262467061658526290557347238
+  399   1   7     0.1527568014000000029550818680945667    21.3269818452339769976333627710118890    21.3269779616847436898297019070014358    14.4340675910554825378540044766850770
+  400   1   7     0.1527568014000000029550818680945667     5.0800440949178700122956797713413835     5.0800485491620497313647319970186800    11.9729592261832049615577489021234214
+  401   1   7     0.1527568014000000029550818680945667     8.1234679678826786641820945078507066    14.4340674098193613161811299505643547     8.1234678319500961407584327389486134
+  402   1   7     0.1527568014000000029550818680945667    18.2835581248168743684345827205106616    11.9729590092902942188857196015305817    18.2835589194050704975325061241164804
+  403   1   7     0.1527568014000000029550818680945667    18.2835581239965421218585106544196606    14.4340674100557286863022454781457782    18.2835589217760912106314208358526230
+  404   1   7     0.1527568014000000029550818680945667     8.1234679674536902638237734208814800    11.9729590093856668175931190489791334     8.1234678345799178345032487413845956
+  405   1   7     0.1527568014000000029550818680945667    18.2835581997841885026900854427367449    11.9729590094502089669958877493627369     8.1234679785396597395674689323641360
+  406   1   7     0.1527568014000000029550818680945667     8.1234680428147196806776264565996826    14.4340674099542010111463241628371179    18.2835590659791691336977237369865179
+  407   1   7     0.1527568014000000029550818680945667     8.1234680423760341483330194023437798    11.9729590092205189222340777632780373    18.2835590633590214793002814985811710
+  408   1   7     0.1527568014000000029550818680945667    18.2835581989807067770925641525536776    14.4340674099197290303209229023195803     8.1234679761517902818468428449705243
+  409   1   7     0.1527568014000000029550818680945667    14.4340671937266300517421768745407462     8.1234691122903122106890805298462510    18.2835611475922235058533260598778725
+  410   1   7     0.1527568014000000029550818680945667    11.9729588157896067457386379828676581    18.2835575448122682473695022054016590     8.1234659099391173242565855616703629
+  411   1   7     0.1527568014000000029550818680945667    14.4340671935036741757585332379676402    18.2835575443324422906243853503838181     8.1234659104187514344630471896380186
+  412   1   7     0.1527568014000000029550818680945667    11.9729588159131683511304800049401820     8.1234691120287649823694664519280195    18.2835611478535540186385333072394133
+  413   1   7     0.1527568014000000029550818680945667    11.9729588156179893587705009849742055    18.2835574698449541131139994831755757    18.2835609879965765856013604206964374
+  414   1   7     0.1527568014000000029550818680945667    14.4340671935872855158322636270895600     8.1234690373326721157809515716508031     8.1234657503173810511043484439142048
+  415   1   7     0.1527568014000000029550818680945667    11.9729588160773694482941209571436048     8.1234690371126259123002455453388393     8.1234657500975000488097066408954561
+  416   1   7     0.1527568014000000029550818680945667    14.4340671936249371754001913359388709    18.2835574693658848843824671348556876    18.2835609875176743344127316959202290
+  417   1   7     0.1527568014000000029550818680945667    14.4340672248044246117615330149419606     5.0800426926251791570621207938529551     5.0800474724727893161002612032461911
+  418   1   7     0.1527568014000000029550818680945667    11.9729587849237368857302499236539006    21.3269836429592629656326607801020145    21.3269794346884857816348812775686383
+  419   1   7     0.1527568014000000029550818680945667    14.4340672239817529032279708189889789    21.3269836432067130260747944703325629    21.3269794349360530816284153843298554
+  420   1   7     0.1527568014000000029550818680945667    11.9729587852454653074119050870649517     5.0800426931468978253292334557045251     5.0800474729946198948482560808770359
+  421   1   7     0.1527568014000000029550818680945667    11.9729587853397987373682553879916668     5.0800426315729367843232466839253902    21.3269792878931276902676472673192620
+  422   1   7     0.1527568014000000029550818680945667    14.4340672241701959421789069892838597    21.3269835817097721530899434583261609     5.0800473259318437158071901649236679
+  423   1   7     0.1527568014000000029550818680945667    11.9729587848212428724536948720924556    21.3269835814587374045459000626578927     5.0800473261830250137904840812552720
+  424   1   7     0.1527568014000000029550818680945667    14.4340672246009731338745041284710169     5.0800426310946580343852474470622838    21.3269792883715645359643531264737248
+
+Bonds
+
+    1     2   229   232
+    2     1   145    49
+    3     1   145    88
+    4     3   289   145
+    5     4   289   193
+    6     4   289   232
+    7     7    49     9
+    8     7    17    88
+    9     3   183   327
+   10     2   270   271
+   11     2   273   276
+   12     4   326   270
+   13     4   273   326
+   14     4   271   327
+   15     4   276   327
+   16     5   414   270
+   17     5   271   415
+   18     3   326   182
+   19     5   339   195
+   20     5   216   360
+   21     6     5    37
+   22     6    37    15
+   23     6    19    37
+   24     6    27    37
+   25     7    91    27
+   26     7    15   103
+   27     7   106    19
+   28     7   114    27
+   29     7   121    27
+   30     7     5   136
+   31     1   163    91
+   32     1   106   163
+   33     1   103   175
+   34     1   114   175
+   35     1   177   121
+   36     1   177   136
+   37     7     7    47
+   38     7    11    72
+   39     2   190   191
+   40     2   213   216
+   41     1    47   143
+   42     1   143    72
+   43     3   143   287
+   44     4   191   287
+   45     4   287   216
+   46     7    50    10
+   47     7    18    87
+   48     1   146    50
+   49     1   146    87
+   50     3   290   146
+   51     4   290   194
+   52     4   290   231
+   53     2   230   231
+   54     5   422   278
+   55     5   279   423
+   56     1   153    57
+   57     1   153    78
+   58     3   297   153
+   59     4   297   201
+   60     4   297   222
+   61     7    57    17
+   62     7     1    78
+   63     3   324   180
+   64     2   265   268
+   65     2   277   280
+   66     4   321   265
+   67     4   321   280
+   68     4   268   324
+   69     4   324   277
+   70     5   409   265
+   71     5   268   412
+   72     3   321   177
+   73     5   398   254
+   74     5   255   399
+   75     5   366   222
+   76     5   329   185
+   77     7    42     2
+   78     7    10    67
+   79     2   210   211
+   80     1   138    42
+   81     1   138    67
+   82     3   282   138
+   83     4   282   186
+   84     4   282   211
+   85     7     5    45
+   86     7    70    15
+   87     1    45   141
+   88     1   141    70
+   89     3   141   285
+   90     4   189   285
+   91     4   285   214
+   92     3   181   325
+   93     2   269   272
+   94     2   274   275
+   95     4   269   325
+   96     4   274   325
+   97     4   272   328
+   98     4   275   328
+   99     5   269   413
+  100     5   272   416
+  101     3   184   328
+  102     3   175   319
+  103     2   246   247
+  104     2   258   259
+  105     4   318   246
+  106     4   259   318
+  107     4   247   319
+  108     4   258   319
+  109     5   402   258
+  110     5   403   259
+  111     3   318   174
+  112     3   167   311
+  113     3   310   166
+  114     2   238   239
+  115     2   253   256
+  116     4   310   238
+  117     4   253   310
+  118     4   239   311
+  119     4   311   256
+  120     5   382   238
+  121     5   239   383
+  122     5   245   389
+  123     5   248   392
+  124     5   354   210
+  125     5   197   341
+  126     6     4    36
+  127     6    36    14
+  128     6    36    24
+  129     6    36    30
+  130     7    94    30
+  131     7   100    14
+  132     7   109    24
+  133     7    30   119
+  134     7   124    30
+  135     7     4   133
+  136     1   166    94
+  137     1   109   166
+  138     1   100   172
+  139     1   172   119
+  140     1   124   180
+  141     1   180   133
+  142     5   191   335
+  143     5   364   220
+  144     5   369   225
+  145     5   208   352
+  146     5   390   246
+  147     5   247   391
+  148     5   394   250
+  149     5   395   251
+  150     5   350   206
+  151     5   229   373
+  152     7    15    55
+  153     7    19    84
+  154     1    55   151
+  155     1    84   151
+  156     3   151   295
+  157     4   199   295
+  158     4   228   295
+  159     2   198   199
+  160     2   225   228
+  161     2   194   195
+  162     1   147    51
+  163     1   147    86
+  164     3   291   147
+  165     4   291   195
+  166     4   291   230
+  167     7    51    11
+  168     7    21    86
+  169     5   417   273
+  170     5   276   420
+  171     6     7    39
+  172     6    11    39
+  173     6    21    39
+  174     6    25    39
+  175     7    89    25
+  176     7    97    11
+  177     7   108    21
+  178     7    25   118
+  179     7    25   125
+  180     7   130     7
+  181     1   161    89
+  182     1   161   108
+  183     1   169    97
+  184     1   169   118
+  185     1   125   181
+  186     1   130   181
+  187     2   218   219
+  188     1   158    62
+  189     1    75   158
+  190     3   302   158
+  191     4   302   206
+  192     4   219   302
+  193     7    62    22
+  194     7    75     8
+  195     5   371   227
+  196     5   348   204
+  197     5   393   249
+  198     5   396   252
+  199     5   342   198
+  200     5   353   209
+  201     5   363   219
+  202     5   192   336
+  203     5   347   203
+  204     5   372   228
+  205     3   316   172
+  206     2   241   244
+  207     2   262   263
+  208     4   313   241
+  209     4   313   262
+  210     4   316   244
+  211     4   316   263
+  212     5   406   262
+  213     5   263   407
+  214     3   313   169
+  215     7    23    63
+  216     7    74     3
+  217     1    63   159
+  218     1    74   159
+  219     3   159   303
+  220     4   207   303
+  221     4   218   303
+  222     2   206   207
+  223     5   207   351
+  224     5   370   226
+  225     7    20    60
+  226     7     6    79
+  227     1    60   156
+  228     1   156    79
+  229     3   300   156
+  230     4   300   204
+  231     4   300   223
+  232     2   201   204
+  233     2   222   223
+  234     5   346   202
+  235     5   231   375
+  236     3   173   317
+  237     2   245   248
+  238     2   257   260
+  239     4   245   317
+  240     4   260   317
+  241     4   248   320
+  242     4   257   320
+  243     5   401   257
+  244     5   260   404
+  245     3   176   320
+  246     7    21    61
+  247     7    76     7
+  248     1    61   157
+  249     1    76   157
+  250     3   157   301
+  251     4   205   301
+  252     4   220   301
+  253     2   217   220
+  254     5   224   368
+  255     5   189   333
+  256     5   355   211
+  257     5   338   194
+  258     5   253   397
+  259     5   256   400
+  260     3   165   309
+  261     3   168   312
+  262     2   237   240
+  263     2   254   255
+  264     4   237   309
+  265     4   309   254
+  266     4   240   312
+  267     4   255   312
+  268     5   237   381
+  269     5   240   384
+  270     5   361   217
+  271     5   332   188
+  272     2   202   203
+  273     2   221   224
+  274     1   155    59
+  275     1   155    80
+  276     3   299   155
+  277     4   299   203
+  278     4   299   224
+  279     7    59    19
+  280     7     5    80
+  281     5   232   376
+  282     5   345   201
+  283     2   197   200
+  284     2   226   227
+  285     1    56   152
+  286     1    83   152
+  287     3   152   296
+  288     4   200   296
+  289     4   227   296
+  290     7    16    56
+  291     7    83    20
+  292     3   306   162
+  293     3   307   163
+  294     2   234   235
+  295     2   250   251
+  296     4   306   234
+  297     4   306   251
+  298     4   307   235
+  299     4   250   307
+  300     5   378   234
+  301     5   379   235
+  302     7     4    44
+  303     7    65    14
+  304     2   185   188
+  305     1    44   140
+  306     1    65   140
+  307     3   284   140
+  308     4   284   188
+  309     4   209   284
+  310     5   200   344
+  311     5   213   357
+  312     5   331   187
+  313     5   362   218
+  314     3   322   178
+  315     2   266   267
+  316     2   278   279
+  317     4   322   266
+  318     4   322   279
+  319     4   323   267
+  320     4   323   278
+  321     5   410   266
+  322     5   411   267
+  323     3   323   179
+  324     6    33     1
+  325     6    33     9
+  326     6    33    17
+  327     6    33    31
+  328     7    31    95
+  329     7     9   101
+  330     7    17   112
+  331     7   116    31
+  332     7    31   127
+  333     7     1   132
+  334     1    95   167
+  335     1   167   112
+  336     1   101   173
+  337     1   116   173
+  338     1   127   183
+  339     1   132   183
+  340     5   418   274
+  341     5   419   275
+  342     5   277   421
+  343     5   280   424
+  344     5   374   230
+  345     5   205   349
+  346     2   189   192
+  347     2   214   215
+  348     7     8    48
+  349     7    12    71
+  350     1    48   144
+  351     1    71   144
+  352     3   144   288
+  353     4   192   288
+  354     4   215   288
+  355     2   209   212
+  356     7    41     1
+  357     7     9    68
+  358     1   137    41
+  359     1   137    68
+  360     3   281   137
+  361     4   281   185
+  362     4   281   212
+  363     5   358   214
+  364     5   199   343
+  365     5   385   241
+  366     5   388   244
+  367     3   314   170
+  368     2   242   243
+  369     2   261   264
+  370     4   314   242
+  371     4   314   261
+  372     4   315   243
+  373     4   315   264
+  374     5   261   405
+  375     5   264   408
+  376     3   315   171
+  377     6     8    40
+  378     6    12    40
+  379     6    22    40
+  380     6    26    40
+  381     7    90    26
+  382     7    98    12
+  383     7   107    22
+  384     7    26   117
+  385     7    26   126
+  386     7   129     8
+  387     1   162    90
+  388     1   162   107
+  389     1   170    98
+  390     1   170   117
+  391     1   182   126
+  392     1   129   182
+  393     6    35     3
+  394     6    35    13
+  395     6    35    23
+  396     6    35    29
+  397     7    29    93
+  398     7    99    13
+  399     7   110    23
+  400     7    29   120
+  401     7   123    29
+  402     7     3   134
+  403     1    93   165
+  404     1   165   110
+  405     1   171    99
+  406     1   171   120
+  407     1   179   123
+  408     1   179   134
+  409     3   308   164
+  410     3   305   161
+  411     2   233   236
+  412     2   249   252
+  413     4   305   233
+  414     4   305   252
+  415     4   308   236
+  416     4   249   308
+  417     5   377   233
+  418     5   380   236
+  419     7    12    52
+  420     7    85    22
+  421     1    52   148
+  422     1   148    85
+  423     3   292   148
+  424     4   292   196
+  425     4   292   229
+  426     2   193   196
+  427     2   205   208
+  428     1    64   160
+  429     1    73   160
+  430     3   160   304
+  431     4   208   304
+  432     4   217   304
+  433     7    24    64
+  434     7    73     4
+  435     7    46     6
+  436     7    69    16
+  437     1   142    46
+  438     1    69   142
+  439     3   286   142
+  440     4   286   190
+  441     4   213   286
+  442     2   186   187
+  443     7    43     3
+  444     7    66    13
+  445     1   139    43
+  446     1    66   139
+  447     3   283   139
+  448     4   283   187
+  449     4   210   283
+  450     5   330   186
+  451     5   221   365
+  452     7    13    53
+  453     7    82    23
+  454     1    53   149
+  455     1    82   149
+  456     3   149   293
+  457     4   197   293
+  458     4   226   293
+  459     6    38     6
+  460     6    38    16
+  461     6    20    38
+  462     6    28    38
+  463     7    28    92
+  464     7    16   104
+  465     7   105    20
+  466     7   113    28
+  467     7   122    28
+  468     7     6   135
+  469     1    92   164
+  470     1   105   164
+  471     1   104   176
+  472     1   113   176
+  473     1   178   122
+  474     1   178   135
+  475     5   215   359
+  476     5   340   196
+  477     5   334   190
+  478     5   223   367
+  479     5   337   193
+  480     5   356   212
+  481     5   386   242
+  482     5   387   243
+  483     1   150    54
+  484     1    81   150
+  485     3   294   150
+  486     4   294   198
+  487     4   225   294
+  488     7    54    14
+  489     7    81    24
+  490     7    58    18
+  491     7     2    77
+  492     1   154    58
+  493     1   154    77
+  494     3   298   154
+  495     4   298   202
+  496     4   298   221
+  497     6    34     2
+  498     6    34    10
+  499     6    34    18
+  500     6    34    32
+  501     7    32    96
+  502     7    10   102
+  503     7    18   111
+  504     7   115    32
+  505     7    32   128
+  506     7     2   131
+  507     1    96   168
+  508     1   111   168
+  509     1   174   102
+  510     1   115   174
+  511     1   128   184
+  512     1   131   184
+
+Angles
+
+    1    13    41     1    33
+    2    13   132     1    33
+    3    15   132     1    41
+    4    15   132     1    78
+    5    13    78     1    33
+    6    15    78     1    41
+    7    13    42     2    34
+    8    15   131     2    42
+    9    15   131     2    77
+   10    13   131     2    34
+   11    15    77     2    42
+   12    13    77     2    34
+   13    13    74     3    35
+   14    15    74     3    43
+   15    13    43     3    35
+   16    15   134     3    74
+   17    13   134     3    35
+   18    15   134     3    43
+   19    15    73     4    44
+   20    13    73     4    36
+   21    13    44     4    36
+   22    15   133     4    73
+   23    15   133     4    44
+   24    13   133     4    36
+   25    13    45     5    37
+   26    15    80     5    45
+   27    13    80     5    37
+   28    15   136     5    45
+   29    15   136     5    80
+   30    13   136     5    37
+   31    15   135     6    46
+   32    15   135     6    79
+   33    13   135     6    38
+   34    13    46     6    38
+   35    15    79     6    46
+   36    13    79     6    38
+   37    15   130     7    76
+   38    13   130     7    39
+   39    15   130     7    47
+   40    13    76     7    39
+   41    15    76     7    47
+   42    13    47     7    39
+   43    15   129     8    75
+   44    13   129     8    40
+   45    15   129     8    48
+   46    13    75     8    40
+   47    15    75     8    48
+   48    13    48     8    40
+   49    13    49     9    33
+   50    15    68     9    49
+   51    13    68     9    33
+   52    15   101     9    49
+   53    13   101     9    33
+   54    15   101     9    68
+   55    13    50    10    34
+   56    15    67    10    50
+   57    13    67    10    34
+   58    15   102    10    50
+   59    15   102    10    67
+   60    13   102    10    34
+   61    15    97    11    51
+   62    13    97    11    39
+   63    15    97    11    72
+   64    13    51    11    39
+   65    15    72    11    51
+   66    13    72    11    39
+   67    15    98    12    52
+   68    15    98    12    71
+   69    13    98    12    40
+   70    13    52    12    40
+   71    15    71    12    52
+   72    13    71    12    40
+   73    13    66    13    35
+   74    15    66    13    53
+   75    13    53    13    35
+   76    15    99    13    66
+   77    13    99    13    35
+   78    15    99    13    53
+   79    15   100    14    65
+   80    13   100    14    36
+   81    15   100    14    54
+   82    13    65    14    36
+   83    15    65    14    54
+   84    13    54    14    36
+   85    13    55    15    37
+   86    15    70    15    55
+   87    13    70    15    37
+   88    15   103    15    55
+   89    13   103    15    37
+   90    15   103    15    70
+   91    15   104    16    69
+   92    13   104    16    38
+   93    15   104    16    56
+   94    13    69    16    38
+   95    15    69    16    56
+   96    13    56    16    38
+   97    13    57    17    33
+   98    15   112    17    57
+   99    13   112    17    33
+  100    15   112    17    88
+  101    15    88    17    57
+  102    13    88    17    33
+  103    13    58    18    34
+  104    15   111    18    58
+  105    15   111    18    87
+  106    13   111    18    34
+  107    15    87    18    58
+  108    13    87    18    34
+  109    15   106    19    59
+  110    15   106    19    84
+  111    13   106    19    37
+  112    13    59    19    37
+  113    15    84    19    59
+  114    13    84    19    37
+  115    15   105    20    83
+  116    15   105    20    60
+  117    13   105    20    38
+  118    15    83    20    60
+  119    13    83    20    38
+  120    13    60    20    38
+  121    15   108    21    61
+  122    15   108    21    86
+  123    13   108    21    39
+  124    13    61    21    39
+  125    15    86    21    61
+  126    13    86    21    39
+  127    15   107    22    85
+  128    15   107    22    62
+  129    13   107    22    40
+  130    15    85    22    62
+  131    13    85    22    40
+  132    13    62    22    40
+  133    13    82    23    35
+  134    15    82    23    63
+  135    15   110    23    82
+  136    13   110    23    35
+  137    15   110    23    63
+  138    13    63    23    35
+  139    13    81    24    36
+  140    15    81    24    64
+  141    15   109    24    81
+  142    13   109    24    36
+  143    15   109    24    64
+  144    13    64    24    36
+  145    13    89    25    39
+  146    15   125    25    89
+  147    15   125    25   118
+  148    13   125    25    39
+  149    15   118    25    89
+  150    13   118    25    39
+  151    13    90    26    40
+  152    15   117    26    90
+  153    13   117    26    40
+  154    15   126    26    90
+  155    15   126    26   117
+  156    13   126    26    40
+  157    15   121    27   114
+  158    15   121    27    91
+  159    13   121    27    37
+  160    15   114    27    91
+  161    13   114    27    37
+  162    13    91    27    37
+  163    15   113    28    92
+  164    13   113    28    38
+  165    15   122    28   113
+  166    15   122    28    92
+  167    13   122    28    38
+  168    13    92    28    38
+  169    13    93    29    35
+  170    13   123    29    35
+  171    15   123    29    93
+  172    15   123    29   120
+  173    13   120    29    35
+  174    15   120    29    93
+  175    13   124    30    36
+  176    15   124    30    94
+  177    15   124    30   119
+  178    13    94    30    36
+  179    13   119    30    36
+  180    15   119    30    94
+  181    13   116    31    33
+  182    15   116    31    95
+  183    13   127    31    33
+  184    15   127    31   116
+  185    15   127    31    95
+  186    13    95    31    33
+  187    13   115    32    34
+  188    15   115    32    96
+  189    13   128    32    34
+  190    15   128    32   115
+  191    15   128    32    96
+  192    13    96    32    34
+  193    16     9    33     1
+  194    16    31    33     1
+  195    16    31    33     9
+  196    16    31    33    17
+  197    16    17    33     1
+  198    16    17    33     9
+  199    16    32    34     2
+  200    16    32    34    18
+  201    16    32    34    10
+  202    16    18    34     2
+  203    16    18    34    10
+  204    16    10    34     2
+  205    16    29    35     3
+  206    16    29    35    13
+  207    16    29    35    23
+  208    16    13    35     3
+  209    16    23    35     3
+  210    16    23    35    13
+  211    16    30    36     4
+  212    16    30    36    14
+  213    16    30    36    24
+  214    16    14    36     4
+  215    16    24    36     4
+  216    16    24    36    14
+  217    16    19    37     5
+  218    16    19    37    15
+  219    16    27    37    19
+  220    16    27    37     5
+  221    16    27    37    15
+  222    16    15    37     5
+  223    16    28    38    20
+  224    16    28    38     6
+  225    16    28    38    16
+  226    16    20    38     6
+  227    16    20    38    16
+  228    16    16    38     6
+  229    16    25    39    11
+  230    16    25    39    21
+  231    16    25    39     7
+  232    16    11    39     7
+  233    16    21    39    11
+  234    16    21    39     7
+  235    16    26    40    12
+  236    16    26    40    22
+  237    16    26    40     8
+  238    16    12    40     8
+  239    16    22    40    12
+  240    16    22    40     8
+  241    17   137    41     1
+  242    17   138    42     2
+  243    17   139    43     3
+  244    17   140    44     4
+  245    17   141    45     5
+  246    17   142    46     6
+  247    17   143    47     7
+  248    17   144    48     8
+  249    17   145    49     9
+  250    17   146    50    10
+  251    17   147    51    11
+  252    17   148    52    12
+  253    17   149    53    13
+  254    17   150    54    14
+  255    17   151    55    15
+  256    17   152    56    16
+  257    17   153    57    17
+  258    17   154    58    18
+  259    17   155    59    19
+  260    17   156    60    20
+  261    17   157    61    21
+  262    17   158    62    22
+  263    17   159    63    23
+  264    17   160    64    24
+  265    17   140    65    14
+  266    17   139    66    13
+  267    17   138    67    10
+  268    17   137    68     9
+  269    17   142    69    16
+  270    17   141    70    15
+  271    17   144    71    12
+  272    17   143    72    11
+  273    17   160    73     4
+  274    17   159    74     3
+  275    17   158    75     8
+  276    17   157    76     7
+  277    17   154    77     2
+  278    17   153    78     1
+  279    17   156    79     6
+  280    17   155    80     5
+  281    17   150    81    24
+  282    17   149    82    23
+  283    17   152    83    20
+  284    17   151    84    19
+  285    17   148    85    22
+  286    17   147    86    21
+  287    17   146    87    18
+  288    17   145    88    17
+  289    17   161    89    25
+  290    17   162    90    26
+  291    17   163    91    27
+  292    17   164    92    28
+  293    17   165    93    29
+  294    17   166    94    30
+  295    17   167    95    31
+  296    17   168    96    32
+  297    17   169    97    11
+  298    17   170    98    12
+  299    17   171    99    13
+  300    17   172   100    14
+  301    17   173   101     9
+  302    17   174   102    10
+  303    17   175   103    15
+  304    17   176   104    16
+  305    17   164   105    20
+  306    17   163   106    19
+  307    17   162   107    22
+  308    17   161   108    21
+  309    17   166   109    24
+  310    17   165   110    23
+  311    17   168   111    18
+  312    17   167   112    17
+  313    17   176   113    28
+  314    17   175   114    27
+  315    17   174   115    32
+  316    17   173   116    31
+  317    17   170   117    26
+  318    17   169   118    25
+  319    17   172   119    30
+  320    17   171   120    29
+  321    17   177   121    27
+  322    17   178   122    28
+  323    17   179   123    29
+  324    17   180   124    30
+  325    17   181   125    25
+  326    17   182   126    26
+  327    17   183   127    31
+  328    17   184   128    32
+  329    17   182   129     8
+  330    17   181   130     7
+  331    17   184   131     2
+  332    17   183   132     1
+  333    17   180   133     4
+  334    17   179   134     3
+  335    17   178   135     6
+  336    17   177   136     5
+  337     3   281   137    41
+  338     3   281   137    68
+  339     1    68   137    41
+  340     1    67   138    42
+  341     3   282   138    42
+  342     3   282   138    67
+  343     1    66   139    43
+  344     3   283   139    66
+  345     3   283   139    43
+  346     1    65   140    44
+  347     3   284   140    65
+  348     3   284   140    44
+  349     3   285   141    45
+  350     3   285   141    70
+  351     1    70   141    45
+  352     1    69   142    46
+  353     3   286   142    69
+  354     3   286   142    46
+  355     3   287   143    47
+  356     3   287   143    72
+  357     1    72   143    47
+  358     3   288   144    71
+  359     3   288   144    48
+  360     1    71   144    48
+  361     3   289   145    49
+  362     3   289   145    88
+  363     1    88   145    49
+  364     1    87   146    50
+  365     3   290   146    50
+  366     3   290   146    87
+  367     3   291   147    51
+  368     3   291   147    86
+  369     1    86   147    51
+  370     3   292   148    52
+  371     3   292   148    85
+  372     1    85   148    52
+  373     1    82   149    53
+  374     3   293   149    82
+  375     3   293   149    53
+  376     1    81   150    54
+  377     3   294   150    81
+  378     3   294   150    54
+  379     1    84   151    55
+  380     3   295   151    84
+  381     3   295   151    55
+  382     1    83   152    56
+  383     3   296   152    83
+  384     3   296   152    56
+  385     3   297   153    57
+  386     3   297   153    78
+  387     1    78   153    57
+  388     1    77   154    58
+  389     3   298   154    58
+  390     3   298   154    77
+  391     3   299   155    59
+  392     3   299   155    80
+  393     1    80   155    59
+  394     3   300   156    60
+  395     3   300   156    79
+  396     1    79   156    60
+  397     3   301   157    76
+  398     3   301   157    61
+  399     1    76   157    61
+  400     1    75   158    62
+  401     3   302   158    75
+  402     3   302   158    62
+  403     1    74   159    63
+  404     3   303   159    74
+  405     3   303   159    63
+  406     1    73   160    64
+  407     3   304   160    73
+  408     3   304   160    64
+  409     3   305   161    89
+  410     3   305   161   108
+  411     1   108   161    89
+  412     3   306   162   107
+  413     3   306   162    90
+  414     1   107   162    90
+  415     1   106   163    91
+  416     3   307   163   106
+  417     3   307   163    91
+  418     1   105   164    92
+  419     3   308   164   105
+  420     3   308   164    92
+  421     3   309   165    93
+  422     3   309   165   110
+  423     1   110   165    93
+  424     1   109   166    94
+  425     3   310   166   109
+  426     3   310   166    94
+  427     3   311   167    95
+  428     3   311   167   112
+  429     1   112   167    95
+  430     1   111   168    96
+  431     3   312   168    96
+  432     3   312   168   111
+  433     3   313   169    97
+  434     3   313   169   118
+  435     1   118   169    97
+  436     3   314   170   117
+  437     3   314   170    98
+  438     1   117   170    98
+  439     3   315   171    99
+  440     3   315   171   120
+  441     1   120   171    99
+  442     3   316   172   100
+  443     3   316   172   119
+  444     1   119   172   100
+  445     1   116   173   101
+  446     3   317   173   101
+  447     3   317   173   116
+  448     1   115   174   102
+  449     3   318   174   115
+  450     3   318   174   102
+  451     1   114   175   103
+  452     3   319   175   114
+  453     3   319   175   103
+  454     1   113   176   104
+  455     3   320   176   113
+  456     3   320   176   104
+  457     3   321   177   121
+  458     3   321   177   136
+  459     1   136   177   121
+  460     3   322   178   135
+  461     3   322   178   122
+  462     1   135   178   122
+  463     3   323   179   123
+  464     3   323   179   134
+  465     1   134   179   123
+  466     3   324   180   124
+  467     3   324   180   133
+  468     1   133   180   124
+  469     3   325   181   125
+  470     3   325   181   130
+  471     1   130   181   125
+  472     1   129   182   126
+  473     3   326   182   129
+  474     3   326   182   126
+  475     1   132   183   127
+  476     3   327   183   132
+  477     3   327   183   127
+  478     1   131   184   128
+  479     3   328   184   131
+  480     3   328   184   128
+  481     6   329   185   281
+  482     9   329   185   188
+  483     4   281   185   188
+  484     4   282   186   187
+  485     6   330   186   282
+  486     9   330   186   187
+  487     9   331   187   186
+  488     6   331   187   283
+  489     4   283   187   186
+  490     4   284   188   185
+  491     9   332   188   185
+  492     6   332   188   284
+  493     6   333   189   285
+  494     9   333   189   192
+  495     4   285   189   192
+  496     4   286   190   191
+  497     6   334   190   286
+  498     9   334   190   191
+  499     9   335   191   190
+  500     6   335   191   287
+  501     4   287   191   190
+  502     4   288   192   189
+  503     6   336   192   288
+  504     9   336   192   189
+  505     4   289   193   196
+  506     6   337   193   289
+  507     9   337   193   196
+  508     4   290   194   195
+  509     6   338   194   290
+  510     9   338   194   195
+  511     9   339   195   194
+  512     6   339   195   291
+  513     4   291   195   194
+  514     9   340   196   193
+  515     6   340   196   292
+  516     4   292   196   193
+  517     4   293   197   200
+  518     6   341   197   293
+  519     9   341   197   200
+  520     9   342   198   199
+  521     6   342   198   294
+  522     4   294   198   199
+  523     9   343   199   198
+  524     6   343   199   295
+  525     4   295   199   198
+  526     9   344   200   197
+  527     6   344   200   296
+  528     4   296   200   197
+  529     4   297   201   204
+  530     6   345   201   297
+  531     9   345   201   204
+  532     9   346   202   203
+  533     6   346   202   298
+  534     4   298   202   203
+  535     9   347   203   202
+  536     6   347   203   299
+  537     4   299   203   202
+  538     4   300   204   201
+  539     9   348   204   201
+  540     6   348   204   300
+  541     6   349   205   301
+  542     9   349   205   208
+  543     4   301   205   208
+  544     9   350   206   207
+  545     6   350   206   302
+  546     4   302   206   207
+  547     9   351   207   206
+  548     6   351   207   303
+  549     4   303   207   206
+  550     4   304   208   205
+  551     6   352   208   304
+  552     9   352   208   205
+  553     6   353   209   284
+  554     9   353   209   212
+  555     4   284   209   212
+  556     9   354   210   211
+  557     6   354   210   283
+  558     4   283   210   211
+  559     9   355   211   210
+  560     6   355   211   282
+  561     4   282   211   210
+  562     4   281   212   209
+  563     9   356   212   209
+  564     6   356   212   281
+  565     6   357   213   286
+  566     9   357   213   216
+  567     4   286   213   216
+  568     4   285   214   215
+  569     6   358   214   285
+  570     9   358   214   215
+  571     9   359   215   214
+  572     6   359   215   288
+  573     4   288   215   214
+  574     4   287   216   213
+  575     9   360   216   213
+  576     6   360   216   287
+  577     9   361   217   220
+  578     6   361   217   304
+  579     4   304   217   220
+  580     9   362   218   219
+  581     6   362   218   303
+  582     4   303   218   219
+  583     9   363   219   218
+  584     6   363   219   302
+  585     4   302   219   218
+  586     9   364   220   217
+  587     6   364   220   301
+  588     4   301   220   217
+  589     4   298   221   224
+  590     6   365   221   298
+  591     9   365   221   224
+  592     4   297   222   223
+  593     6   366   222   297
+  594     9   366   222   223
+  595     4   300   223   222
+  596     6   367   223   300
+  597     9   367   223   222
+  598     4   299   224   221
+  599     6   368   224   299
+  600     9   368   224   221
+  601     9   369   225   228
+  602     6   369   225   294
+  603     4   294   225   228
+  604     9   370   226   227
+  605     6   370   226   293
+  606     4   293   226   227
+  607     9   371   227   226
+  608     6   371   227   296
+  609     4   296   227   226
+  610     9   372   228   225
+  611     6   372   228   295
+  612     4   295   228   225
+  613     4   292   229   232
+  614     6   373   229   292
+  615     9   373   229   232
+  616     4   291   230   231
+  617     6   374   230   291
+  618     9   374   230   231
+  619     4   290   231   230
+  620     6   375   231   290
+  621     9   375   231   230
+  622     4   289   232   229
+  623     6   376   232   289
+  624     9   376   232   229
+  625     4   305   233   236
+  626     6   377   233   305
+  627     9   377   233   236
+  628     4   306   234   235
+  629     6   378   234   306
+  630     9   378   234   235
+  631     4   307   235   234
+  632     9   379   235   234
+  633     6   379   235   307
+  634     9   380   236   233
+  635     6   380   236   308
+  636     4   308   236   233
+  637     6   381   237   309
+  638     9   381   237   240
+  639     4   309   237   240
+  640     4   310   238   239
+  641     6   382   238   310
+  642     9   382   238   239
+  643     9   383   239   238
+  644     6   383   239   311
+  645     4   311   239   238
+  646     9   384   240   237
+  647     6   384   240   312
+  648     4   312   240   237
+  649     4   313   241   244
+  650     6   385   241   313
+  651     9   385   241   244
+  652     4   314   242   243
+  653     6   386   242   314
+  654     9   386   242   243
+  655     4   315   243   242
+  656     9   387   243   242
+  657     6   387   243   315
+  658     4   316   244   241
+  659     9   388   244   241
+  660     6   388   244   316
+  661     4   317   245   248
+  662     6   389   245   317
+  663     9   389   245   248
+  664     4   318   246   247
+  665     6   390   246   318
+  666     9   390   246   247
+  667     4   319   247   246
+  668     9   391   247   246
+  669     6   391   247   319
+  670     4   320   248   245
+  671     6   392   248   320
+  672     9   392   248   245
+  673     6   393   249   308
+  674     9   393   249   252
+  675     4   308   249   252
+  676     9   394   250   251
+  677     6   394   250   307
+  678     4   307   250   251
+  679     9   395   251   250
+  680     6   395   251   306
+  681     4   306   251   250
+  682     4   305   252   249
+  683     9   396   252   249
+  684     6   396   252   305
+  685     6   397   253   310
+  686     9   397   253   256
+  687     4   310   253   256
+  688     4   309   254   255
+  689     6   398   254   309
+  690     9   398   254   255
+  691     9   399   255   254
+  692     6   399   255   312
+  693     4   312   255   254
+  694     4   311   256   253
+  695     9   400   256   253
+  696     6   400   256   311
+  697     9   401   257   260
+  698     6   401   257   320
+  699     4   320   257   260
+  700     9   402   258   259
+  701     6   402   258   319
+  702     4   319   258   259
+  703     9   403   259   258
+  704     6   403   259   318
+  705     4   318   259   258
+  706     9   404   260   257
+  707     6   404   260   317
+  708     4   317   260   257
+  709     4   314   261   264
+  710     6   405   261   314
+  711     9   405   261   264
+  712     4   313   262   263
+  713     6   406   262   313
+  714     9   406   262   263
+  715     4   316   263   262
+  716     6   407   263   316
+  717     9   407   263   262
+  718     4   315   264   261
+  719     6   408   264   315
+  720     9   408   264   261
+  721     4   321   265   268
+  722     6   409   265   321
+  723     9   409   265   268
+  724     4   322   266   267
+  725     6   410   266   322
+  726     9   410   266   267
+  727     4   323   267   266
+  728     9   411   267   266
+  729     6   411   267   323
+  730     4   324   268   265
+  731     9   412   268   265
+  732     6   412   268   324
+  733     6   413   269   325
+  734     9   413   269   272
+  735     4   325   269   272
+  736     4   326   270   271
+  737     6   414   270   326
+  738     9   414   270   271
+  739     4   327   271   270
+  740     9   415   271   270
+  741     6   415   271   327
+  742     9   416   272   269
+  743     6   416   272   328
+  744     4   328   272   269
+  745     9   417   273   276
+  746     6   417   273   326
+  747     4   326   273   276
+  748     9   418   274   275
+  749     6   418   274   325
+  750     4   325   274   275
+  751     9   419   275   274
+  752     6   419   275   328
+  753     4   328   275   274
+  754     9   420   276   273
+  755     6   420   276   327
+  756     4   327   276   273
+  757     4   324   277   280
+  758     6   421   277   324
+  759     9   421   277   280
+  760     4   323   278   279
+  761     6   422   278   323
+  762     9   422   278   279
+  763     4   322   279   278
+  764     6   423   279   322
+  765     9   423   279   278
+  766     4   321   280   277
+  767     6   424   280   321
+  768     9   424   280   277
+  769    11   185   281   137
+  770    11   212   281   137
+  771    12   212   281   185
+  772    11   211   282   138
+  773    12   211   282   186
+  774    11   186   282   138
+  775    11   210   283   139
+  776    12   210   283   187
+  777    11   187   283   139
+  778    11   209   284   140
+  779    12   209   284   188
+  780    11   188   284   140
+  781    11   189   285   141
+  782    12   214   285   189
+  783    11   214   285   141
+  784    11   213   286   142
+  785    12   213   286   190
+  786    11   190   286   142
+  787    11   191   287   143
+  788    12   216   287   191
+  789    11   216   287   143
+  790    11   192   288   144
+  791    12   215   288   192
+  792    11   215   288   144
+  793    11   193   289   145
+  794    11   232   289   145
+  795    12   232   289   193
+  796    11   231   290   146
+  797    12   231   290   194
+  798    11   194   290   146
+  799    11   195   291   147
+  800    11   230   291   147
+  801    12   230   291   195
+  802    11   229   292   148
+  803    12   229   292   196
+  804    11   196   292   148
+  805    11   197   293   149
+  806    12   226   293   197
+  807    11   226   293   149
+  808    11   225   294   150
+  809    12   225   294   198
+  810    11   198   294   150
+  811    12   228   295   199
+  812    11   228   295   151
+  813    11   199   295   151
+  814    12   227   296   200
+  815    11   227   296   152
+  816    11   200   296   152
+  817    11   201   297   153
+  818    11   222   297   153
+  819    12   222   297   201
+  820    11   221   298   154
+  821    12   221   298   202
+  822    11   202   298   154
+  823    11   203   299   155
+  824    11   224   299   155
+  825    12   224   299   203
+  826    11   223   300   156
+  827    12   223   300   204
+  828    11   204   300   156
+  829    11   205   301   157
+  830    12   220   301   205
+  831    11   220   301   157
+  832    11   219   302   158
+  833    12   219   302   206
+  834    11   206   302   158
+  835    12   218   303   207
+  836    11   218   303   159
+  837    11   207   303   159
+  838    12   217   304   208
+  839    11   217   304   160
+  840    11   208   304   160
+  841    11   233   305   161
+  842    11   252   305   161
+  843    12   252   305   233
+  844    11   251   306   162
+  845    12   251   306   234
+  846    11   234   306   162
+  847    11   250   307   163
+  848    12   250   307   235
+  849    11   235   307   163
+  850    11   249   308   164
+  851    12   249   308   236
+  852    11   236   308   164
+  853    11   237   309   165
+  854    12   254   309   237
+  855    11   254   309   165
+  856    11   253   310   166
+  857    12   253   310   238
+  858    11   238   310   166
+  859    11   239   311   167
+  860    12   256   311   239
+  861    11   256   311   167
+  862    11   240   312   168
+  863    12   255   312   240
+  864    11   255   312   168
+  865    11   241   313   169
+  866    12   262   313   241
+  867    11   262   313   169
+  868    11   261   314   170
+  869    12   261   314   242
+  870    11   242   314   170
+  871    11   243   315   171
+  872    12   264   315   243
+  873    11   264   315   171
+  874    11   263   316   172
+  875    12   263   316   244
+  876    11   244   316   172
+  877    11   245   317   173
+  878    12   260   317   245
+  879    11   260   317   173
+  880    12   259   318   246
+  881    11   259   318   174
+  882    11   246   318   174
+  883    12   258   319   247
+  884    11   258   319   175
+  885    11   247   319   175
+  886    11   257   320   176
+  887    12   257   320   248
+  888    11   248   320   176
+  889    11   265   321   177
+  890    12   280   321   265
+  891    11   280   321   177
+  892    11   279   322   178
+  893    12   279   322   266
+  894    11   266   322   178
+  895    11   267   323   179
+  896    12   278   323   267
+  897    11   278   323   179
+  898    11   268   324   180
+  899    12   277   324   268
+  900    11   277   324   180
+  901    11   269   325   181
+  902    12   274   325   269
+  903    11   274   325   181
+  904    12   273   326   270
+  905    11   273   326   182
+  906    11   270   326   182
+  907    12   276   327   271
+  908    11   276   327   183
+  909    11   271   327   183
+  910    11   275   328   184
+  911    12   275   328   272
+  912    11   272   328   184
+  913    27    41     1    33
+  914    27   132     1    33
+  915    28   132     1    41
+  916    28   132     1    78
+  917    27    78     1    33
+  918    28    78     1    41
+  919    27    42     2    34
+  920    28   131     2    42
+  921    28   131     2    77
+  922    27   131     2    34
+  923    28    77     2    42
+  924    27    77     2    34
+  925    27    74     3    35
+  926    28    74     3    43
+  927    27    43     3    35
+  928    28   134     3    74
+  929    27   134     3    35
+  930    28   134     3    43
+  931    28    73     4    44
+  932    27    73     4    36
+  933    27    44     4    36
+  934    28   133     4    73
+  935    28   133     4    44
+  936    27   133     4    36
+  937    27    45     5    37
+  938    28    80     5    45
+  939    27    80     5    37
+  940    28   136     5    45
+  941    28   136     5    80
+  942    27   136     5    37
+  943    28   135     6    46
+  944    28   135     6    79
+  945    27   135     6    38
+  946    27    46     6    38
+  947    28    79     6    46
+  948    27    79     6    38
+  949    28   130     7    76
+  950    27   130     7    39
+  951    28   130     7    47
+  952    27    76     7    39
+  953    28    76     7    47
+  954    27    47     7    39
+  955    28   129     8    75
+  956    27   129     8    40
+  957    28   129     8    48
+  958    27    75     8    40
+  959    28    75     8    48
+  960    27    48     8    40
+  961    27    49     9    33
+  962    28    68     9    49
+  963    27    68     9    33
+  964    28   101     9    49
+  965    27   101     9    33
+  966    28   101     9    68
+  967    27    50    10    34
+  968    28    67    10    50
+  969    27    67    10    34
+  970    28   102    10    50
+  971    28   102    10    67
+  972    27   102    10    34
+  973    28    97    11    51
+  974    27    97    11    39
+  975    28    97    11    72
+  976    27    51    11    39
+  977    28    72    11    51
+  978    27    72    11    39
+  979    28    98    12    52
+  980    28    98    12    71
+  981    27    98    12    40
+  982    27    52    12    40
+  983    28    71    12    52
+  984    27    71    12    40
+  985    27    66    13    35
+  986    28    66    13    53
+  987    27    53    13    35
+  988    28    99    13    66
+  989    27    99    13    35
+  990    28    99    13    53
+  991    28   100    14    65
+  992    27   100    14    36
+  993    28   100    14    54
+  994    27    65    14    36
+  995    28    65    14    54
+  996    27    54    14    36
+  997    27    55    15    37
+  998    28    70    15    55
+  999    27    70    15    37
+ 1000    28   103    15    55
+ 1001    27   103    15    37
+ 1002    28   103    15    70
+ 1003    28   104    16    69
+ 1004    27   104    16    38
+ 1005    28   104    16    56
+ 1006    27    69    16    38
+ 1007    28    69    16    56
+ 1008    27    56    16    38
+ 1009    27    57    17    33
+ 1010    28   112    17    57
+ 1011    27   112    17    33
+ 1012    28   112    17    88
+ 1013    28    88    17    57
+ 1014    27    88    17    33
+ 1015    27    58    18    34
+ 1016    28   111    18    58
+ 1017    28   111    18    87
+ 1018    27   111    18    34
+ 1019    28    87    18    58
+ 1020    27    87    18    34
+ 1021    28   106    19    59
+ 1022    28   106    19    84
+ 1023    27   106    19    37
+ 1024    27    59    19    37
+ 1025    28    84    19    59
+ 1026    27    84    19    37
+ 1027    28   105    20    83
+ 1028    28   105    20    60
+ 1029    27   105    20    38
+ 1030    28    83    20    60
+ 1031    27    83    20    38
+ 1032    27    60    20    38
+ 1033    28   108    21    61
+ 1034    28   108    21    86
+ 1035    27   108    21    39
+ 1036    27    61    21    39
+ 1037    28    86    21    61
+ 1038    27    86    21    39
+ 1039    28   107    22    85
+ 1040    28   107    22    62
+ 1041    27   107    22    40
+ 1042    28    85    22    62
+ 1043    27    85    22    40
+ 1044    27    62    22    40
+ 1045    27    82    23    35
+ 1046    28    82    23    63
+ 1047    28   110    23    82
+ 1048    27   110    23    35
+ 1049    28   110    23    63
+ 1050    27    63    23    35
+ 1051    27    81    24    36
+ 1052    28    81    24    64
+ 1053    28   109    24    81
+ 1054    27   109    24    36
+ 1055    28   109    24    64
+ 1056    27    64    24    36
+ 1057    27    89    25    39
+ 1058    28   125    25    89
+ 1059    28   125    25   118
+ 1060    27   125    25    39
+ 1061    28   118    25    89
+ 1062    27   118    25    39
+ 1063    27    90    26    40
+ 1064    28   117    26    90
+ 1065    27   117    26    40
+ 1066    28   126    26    90
+ 1067    28   126    26   117
+ 1068    27   126    26    40
+ 1069    28   121    27   114
+ 1070    28   121    27    91
+ 1071    27   121    27    37
+ 1072    28   114    27    91
+ 1073    27   114    27    37
+ 1074    27    91    27    37
+ 1075    28   113    28    92
+ 1076    27   113    28    38
+ 1077    28   122    28   113
+ 1078    28   122    28    92
+ 1079    27   122    28    38
+ 1080    27    92    28    38
+ 1081    27    93    29    35
+ 1082    27   123    29    35
+ 1083    28   123    29    93
+ 1084    28   123    29   120
+ 1085    27   120    29    35
+ 1086    28   120    29    93
+ 1087    27   124    30    36
+ 1088    28   124    30    94
+ 1089    28   124    30   119
+ 1090    27    94    30    36
+ 1091    27   119    30    36
+ 1092    28   119    30    94
+ 1093    27   116    31    33
+ 1094    28   116    31    95
+ 1095    27   127    31    33
+ 1096    28   127    31   116
+ 1097    28   127    31    95
+ 1098    27    95    31    33
+ 1099    27   115    32    34
+ 1100    28   115    32    96
+ 1101    27   128    32    34
+ 1102    28   128    32   115
+ 1103    28   128    32    96
+ 1104    27    96    32    34
+ 1105    29     9    33     1
+ 1106    29    31    33     1
+ 1107    29    31    33     9
+ 1108    29    31    33    17
+ 1109    29    17    33     1
+ 1110    29    17    33     9
+ 1111    29    32    34     2
+ 1112    29    32    34    18
+ 1113    29    32    34    10
+ 1114    29    18    34     2
+ 1115    29    18    34    10
+ 1116    29    10    34     2
+ 1117    29    29    35     3
+ 1118    29    29    35    13
+ 1119    29    29    35    23
+ 1120    29    13    35     3
+ 1121    29    23    35     3
+ 1122    29    23    35    13
+ 1123    29    30    36     4
+ 1124    29    30    36    14
+ 1125    29    30    36    24
+ 1126    29    14    36     4
+ 1127    29    24    36     4
+ 1128    29    24    36    14
+ 1129    29    19    37     5
+ 1130    29    19    37    15
+ 1131    29    27    37    19
+ 1132    29    27    37     5
+ 1133    29    27    37    15
+ 1134    29    15    37     5
+ 1135    29    28    38    20
+ 1136    29    28    38     6
+ 1137    29    28    38    16
+ 1138    29    20    38     6
+ 1139    29    20    38    16
+ 1140    29    16    38     6
+ 1141    29    25    39    11
+ 1142    29    25    39    21
+ 1143    29    25    39     7
+ 1144    29    11    39     7
+ 1145    29    21    39    11
+ 1146    29    21    39     7
+ 1147    29    26    40    12
+ 1148    29    26    40    22
+ 1149    29    26    40     8
+ 1150    29    12    40     8
+ 1151    29    22    40    12
+ 1152    29    22    40     8
+ 1153    26   137    41     1
+ 1154    26   138    42     2
+ 1155    26   139    43     3
+ 1156    26   140    44     4
+ 1157    26   141    45     5
+ 1158    26   142    46     6
+ 1159    26   143    47     7
+ 1160    26   144    48     8
+ 1161    26   145    49     9
+ 1162    26   146    50    10
+ 1163    26   147    51    11
+ 1164    26   148    52    12
+ 1165    26   149    53    13
+ 1166    26   150    54    14
+ 1167    26   151    55    15
+ 1168    26   152    56    16
+ 1169    26   153    57    17
+ 1170    26   154    58    18
+ 1171    26   155    59    19
+ 1172    26   156    60    20
+ 1173    26   157    61    21
+ 1174    26   158    62    22
+ 1175    26   159    63    23
+ 1176    26   160    64    24
+ 1177    26   140    65    14
+ 1178    26   139    66    13
+ 1179    26   138    67    10
+ 1180    26   137    68     9
+ 1181    26   142    69    16
+ 1182    26   141    70    15
+ 1183    26   144    71    12
+ 1184    26   143    72    11
+ 1185    26   160    73     4
+ 1186    26   159    74     3
+ 1187    26   158    75     8
+ 1188    26   157    76     7
+ 1189    26   154    77     2
+ 1190    26   153    78     1
+ 1191    26   156    79     6
+ 1192    26   155    80     5
+ 1193    26   150    81    24
+ 1194    26   149    82    23
+ 1195    26   152    83    20
+ 1196    26   151    84    19
+ 1197    26   148    85    22
+ 1198    26   147    86    21
+ 1199    26   146    87    18
+ 1200    26   145    88    17
+ 1201    26   161    89    25
+ 1202    26   162    90    26
+ 1203    26   163    91    27
+ 1204    26   164    92    28
+ 1205    26   165    93    29
+ 1206    26   166    94    30
+ 1207    26   167    95    31
+ 1208    26   168    96    32
+ 1209    26   169    97    11
+ 1210    26   170    98    12
+ 1211    26   171    99    13
+ 1212    26   172   100    14
+ 1213    26   173   101     9
+ 1214    26   174   102    10
+ 1215    26   175   103    15
+ 1216    26   176   104    16
+ 1217    26   164   105    20
+ 1218    26   163   106    19
+ 1219    26   162   107    22
+ 1220    26   161   108    21
+ 1221    26   166   109    24
+ 1222    26   165   110    23
+ 1223    26   168   111    18
+ 1224    26   167   112    17
+ 1225    26   176   113    28
+ 1226    26   175   114    27
+ 1227    26   174   115    32
+ 1228    26   173   116    31
+ 1229    26   170   117    26
+ 1230    26   169   118    25
+ 1231    26   172   119    30
+ 1232    26   171   120    29
+ 1233    26   177   121    27
+ 1234    26   178   122    28
+ 1235    26   179   123    29
+ 1236    26   180   124    30
+ 1237    26   181   125    25
+ 1238    26   182   126    26
+ 1239    26   183   127    31
+ 1240    26   184   128    32
+ 1241    26   182   129     8
+ 1242    26   181   130     7
+ 1243    26   184   131     2
+ 1244    26   183   132     1
+ 1245    26   180   133     4
+ 1246    26   179   134     3
+ 1247    26   178   135     6
+ 1248    26   177   136     5
+ 1249    22   281   137    41
+ 1250    22   281   137    68
+ 1251    19    68   137    41
+ 1252    19    67   138    42
+ 1253    22   282   138    42
+ 1254    22   282   138    67
+ 1255    19    66   139    43
+ 1256    22   283   139    66
+ 1257    22   283   139    43
+ 1258    19    65   140    44
+ 1259    22   284   140    65
+ 1260    22   284   140    44
+ 1261    22   285   141    45
+ 1262    22   285   141    70
+ 1263    19    70   141    45
+ 1264    19    69   142    46
+ 1265    22   286   142    69
+ 1266    22   286   142    46
+ 1267    22   287   143    47
+ 1268    22   287   143    72
+ 1269    19    72   143    47
+ 1270    22   288   144    71
+ 1271    22   288   144    48
+ 1272    19    71   144    48
+ 1273    22   289   145    49
+ 1274    22   289   145    88
+ 1275    19    88   145    49
+ 1276    19    87   146    50
+ 1277    22   290   146    50
+ 1278    22   290   146    87
+ 1279    22   291   147    51
+ 1280    22   291   147    86
+ 1281    19    86   147    51
+ 1282    22   292   148    52
+ 1283    22   292   148    85
+ 1284    19    85   148    52
+ 1285    19    82   149    53
+ 1286    22   293   149    82
+ 1287    22   293   149    53
+ 1288    19    81   150    54
+ 1289    22   294   150    81
+ 1290    22   294   150    54
+ 1291    19    84   151    55
+ 1292    22   295   151    84
+ 1293    22   295   151    55
+ 1294    19    83   152    56
+ 1295    22   296   152    83
+ 1296    22   296   152    56
+ 1297    22   297   153    57
+ 1298    22   297   153    78
+ 1299    19    78   153    57
+ 1300    19    77   154    58
+ 1301    22   298   154    58
+ 1302    22   298   154    77
+ 1303    22   299   155    59
+ 1304    22   299   155    80
+ 1305    19    80   155    59
+ 1306    22   300   156    60
+ 1307    22   300   156    79
+ 1308    19    79   156    60
+ 1309    22   301   157    76
+ 1310    22   301   157    61
+ 1311    19    76   157    61
+ 1312    19    75   158    62
+ 1313    22   302   158    75
+ 1314    22   302   158    62
+ 1315    19    74   159    63
+ 1316    22   303   159    74
+ 1317    22   303   159    63
+ 1318    19    73   160    64
+ 1319    22   304   160    73
+ 1320    22   304   160    64
+ 1321    22   305   161    89
+ 1322    22   305   161   108
+ 1323    19   108   161    89
+ 1324    22   306   162   107
+ 1325    22   306   162    90
+ 1326    19   107   162    90
+ 1327    19   106   163    91
+ 1328    22   307   163   106
+ 1329    22   307   163    91
+ 1330    19   105   164    92
+ 1331    22   308   164   105
+ 1332    22   308   164    92
+ 1333    22   309   165    93
+ 1334    22   309   165   110
+ 1335    19   110   165    93
+ 1336    19   109   166    94
+ 1337    22   310   166   109
+ 1338    22   310   166    94
+ 1339    22   311   167    95
+ 1340    22   311   167   112
+ 1341    19   112   167    95
+ 1342    19   111   168    96
+ 1343    22   312   168    96
+ 1344    22   312   168   111
+ 1345    22   313   169    97
+ 1346    22   313   169   118
+ 1347    19   118   169    97
+ 1348    22   314   170   117
+ 1349    22   314   170    98
+ 1350    19   117   170    98
+ 1351    22   315   171    99
+ 1352    22   315   171   120
+ 1353    19   120   171    99
+ 1354    22   316   172   100
+ 1355    22   316   172   119
+ 1356    19   119   172   100
+ 1357    19   116   173   101
+ 1358    22   317   173   101
+ 1359    22   317   173   116
+ 1360    19   115   174   102
+ 1361    22   318   174   115
+ 1362    22   318   174   102
+ 1363    19   114   175   103
+ 1364    22   319   175   114
+ 1365    22   319   175   103
+ 1366    19   113   176   104
+ 1367    22   320   176   113
+ 1368    22   320   176   104
+ 1369    22   321   177   121
+ 1370    22   321   177   136
+ 1371    19   136   177   121
+ 1372    22   322   178   135
+ 1373    22   322   178   122
+ 1374    19   135   178   122
+ 1375    22   323   179   123
+ 1376    22   323   179   134
+ 1377    19   134   179   123
+ 1378    22   324   180   124
+ 1379    22   324   180   133
+ 1380    19   133   180   124
+ 1381    22   325   181   125
+ 1382    22   325   181   130
+ 1383    19   130   181   125
+ 1384    19   129   182   126
+ 1385    22   326   182   129
+ 1386    22   326   182   126
+ 1387    19   132   183   127
+ 1388    22   327   183   132
+ 1389    22   327   183   127
+ 1390    19   131   184   128
+ 1391    22   328   184   131
+ 1392    22   328   184   128
+ 1393    24   329   185   281
+ 1394    21   329   185   188
+ 1395    25   281   185   188
+ 1396    25   282   186   187
+ 1397    24   330   186   282
+ 1398    21   330   186   187
+ 1399    21   331   187   186
+ 1400    24   331   187   283
+ 1401    25   283   187   186
+ 1402    25   284   188   185
+ 1403    21   332   188   185
+ 1404    24   332   188   284
+ 1405    24   333   189   285
+ 1406    21   333   189   192
+ 1407    25   285   189   192
+ 1408    25   286   190   191
+ 1409    24   334   190   286
+ 1410    21   334   190   191
+ 1411    21   335   191   190
+ 1412    24   335   191   287
+ 1413    25   287   191   190
+ 1414    25   288   192   189
+ 1415    24   336   192   288
+ 1416    21   336   192   189
+ 1417    25   289   193   196
+ 1418    24   337   193   289
+ 1419    21   337   193   196
+ 1420    25   290   194   195
+ 1421    24   338   194   290
+ 1422    21   338   194   195
+ 1423    21   339   195   194
+ 1424    24   339   195   291
+ 1425    25   291   195   194
+ 1426    21   340   196   193
+ 1427    24   340   196   292
+ 1428    25   292   196   193
+ 1429    25   293   197   200
+ 1430    24   341   197   293
+ 1431    21   341   197   200
+ 1432    21   342   198   199
+ 1433    24   342   198   294
+ 1434    25   294   198   199
+ 1435    21   343   199   198
+ 1436    24   343   199   295
+ 1437    25   295   199   198
+ 1438    21   344   200   197
+ 1439    24   344   200   296
+ 1440    25   296   200   197
+ 1441    25   297   201   204
+ 1442    24   345   201   297
+ 1443    21   345   201   204
+ 1444    21   346   202   203
+ 1445    24   346   202   298
+ 1446    25   298   202   203
+ 1447    21   347   203   202
+ 1448    24   347   203   299
+ 1449    25   299   203   202
+ 1450    25   300   204   201
+ 1451    21   348   204   201
+ 1452    24   348   204   300
+ 1453    24   349   205   301
+ 1454    21   349   205   208
+ 1455    25   301   205   208
+ 1456    21   350   206   207
+ 1457    24   350   206   302
+ 1458    25   302   206   207
+ 1459    21   351   207   206
+ 1460    24   351   207   303
+ 1461    25   303   207   206
+ 1462    25   304   208   205
+ 1463    24   352   208   304
+ 1464    21   352   208   205
+ 1465    24   353   209   284
+ 1466    21   353   209   212
+ 1467    25   284   209   212
+ 1468    21   354   210   211
+ 1469    24   354   210   283
+ 1470    25   283   210   211
+ 1471    21   355   211   210
+ 1472    24   355   211   282
+ 1473    25   282   211   210
+ 1474    25   281   212   209
+ 1475    21   356   212   209
+ 1476    24   356   212   281
+ 1477    24   357   213   286
+ 1478    21   357   213   216
+ 1479    25   286   213   216
+ 1480    25   285   214   215
+ 1481    24   358   214   285
+ 1482    21   358   214   215
+ 1483    21   359   215   214
+ 1484    24   359   215   288
+ 1485    25   288   215   214
+ 1486    25   287   216   213
+ 1487    21   360   216   213
+ 1488    24   360   216   287
+ 1489    21   361   217   220
+ 1490    24   361   217   304
+ 1491    25   304   217   220
+ 1492    21   362   218   219
+ 1493    24   362   218   303
+ 1494    25   303   218   219
+ 1495    21   363   219   218
+ 1496    24   363   219   302
+ 1497    25   302   219   218
+ 1498    21   364   220   217
+ 1499    24   364   220   301
+ 1500    25   301   220   217
+ 1501    25   298   221   224
+ 1502    24   365   221   298
+ 1503    21   365   221   224
+ 1504    25   297   222   223
+ 1505    24   366   222   297
+ 1506    21   366   222   223
+ 1507    25   300   223   222
+ 1508    24   367   223   300
+ 1509    21   367   223   222
+ 1510    25   299   224   221
+ 1511    24   368   224   299
+ 1512    21   368   224   221
+ 1513    21   369   225   228
+ 1514    24   369   225   294
+ 1515    25   294   225   228
+ 1516    21   370   226   227
+ 1517    24   370   226   293
+ 1518    25   293   226   227
+ 1519    21   371   227   226
+ 1520    24   371   227   296
+ 1521    25   296   227   226
+ 1522    21   372   228   225
+ 1523    24   372   228   295
+ 1524    25   295   228   225
+ 1525    25   292   229   232
+ 1526    24   373   229   292
+ 1527    21   373   229   232
+ 1528    25   291   230   231
+ 1529    24   374   230   291
+ 1530    21   374   230   231
+ 1531    25   290   231   230
+ 1532    24   375   231   290
+ 1533    21   375   231   230
+ 1534    25   289   232   229
+ 1535    24   376   232   289
+ 1536    21   376   232   229
+ 1537    25   305   233   236
+ 1538    24   377   233   305
+ 1539    21   377   233   236
+ 1540    25   306   234   235
+ 1541    24   378   234   306
+ 1542    21   378   234   235
+ 1543    25   307   235   234
+ 1544    21   379   235   234
+ 1545    24   379   235   307
+ 1546    21   380   236   233
+ 1547    24   380   236   308
+ 1548    25   308   236   233
+ 1549    24   381   237   309
+ 1550    21   381   237   240
+ 1551    25   309   237   240
+ 1552    25   310   238   239
+ 1553    24   382   238   310
+ 1554    21   382   238   239
+ 1555    21   383   239   238
+ 1556    24   383   239   311
+ 1557    25   311   239   238
+ 1558    21   384   240   237
+ 1559    24   384   240   312
+ 1560    25   312   240   237
+ 1561    25   313   241   244
+ 1562    24   385   241   313
+ 1563    21   385   241   244
+ 1564    25   314   242   243
+ 1565    24   386   242   314
+ 1566    21   386   242   243
+ 1567    25   315   243   242
+ 1568    21   387   243   242
+ 1569    24   387   243   315
+ 1570    25   316   244   241
+ 1571    21   388   244   241
+ 1572    24   388   244   316
+ 1573    25   317   245   248
+ 1574    24   389   245   317
+ 1575    21   389   245   248
+ 1576    25   318   246   247
+ 1577    24   390   246   318
+ 1578    21   390   246   247
+ 1579    25   319   247   246
+ 1580    21   391   247   246
+ 1581    24   391   247   319
+ 1582    25   320   248   245
+ 1583    24   392   248   320
+ 1584    21   392   248   245
+ 1585    24   393   249   308
+ 1586    21   393   249   252
+ 1587    25   308   249   252
+ 1588    21   394   250   251
+ 1589    24   394   250   307
+ 1590    25   307   250   251
+ 1591    21   395   251   250
+ 1592    24   395   251   306
+ 1593    25   306   251   250
+ 1594    25   305   252   249
+ 1595    21   396   252   249
+ 1596    24   396   252   305
+ 1597    24   397   253   310
+ 1598    21   397   253   256
+ 1599    25   310   253   256
+ 1600    25   309   254   255
+ 1601    24   398   254   309
+ 1602    21   398   254   255
+ 1603    21   399   255   254
+ 1604    24   399   255   312
+ 1605    25   312   255   254
+ 1606    25   311   256   253
+ 1607    21   400   256   253
+ 1608    24   400   256   311
+ 1609    21   401   257   260
+ 1610    24   401   257   320
+ 1611    25   320   257   260
+ 1612    21   402   258   259
+ 1613    24   402   258   319
+ 1614    25   319   258   259
+ 1615    21   403   259   258
+ 1616    24   403   259   318
+ 1617    25   318   259   258
+ 1618    21   404   260   257
+ 1619    24   404   260   317
+ 1620    25   317   260   257
+ 1621    25   314   261   264
+ 1622    24   405   261   314
+ 1623    21   405   261   264
+ 1624    25   313   262   263
+ 1625    24   406   262   313
+ 1626    21   406   262   263
+ 1627    25   316   263   262
+ 1628    24   407   263   316
+ 1629    21   407   263   262
+ 1630    25   315   264   261
+ 1631    24   408   264   315
+ 1632    21   408   264   261
+ 1633    25   321   265   268
+ 1634    24   409   265   321
+ 1635    21   409   265   268
+ 1636    25   322   266   267
+ 1637    24   410   266   322
+ 1638    21   410   266   267
+ 1639    25   323   267   266
+ 1640    21   411   267   266
+ 1641    24   411   267   323
+ 1642    25   324   268   265
+ 1643    21   412   268   265
+ 1644    24   412   268   324
+ 1645    24   413   269   325
+ 1646    21   413   269   272
+ 1647    25   325   269   272
+ 1648    25   326   270   271
+ 1649    24   414   270   326
+ 1650    21   414   270   271
+ 1651    25   327   271   270
+ 1652    21   415   271   270
+ 1653    24   415   271   327
+ 1654    21   416   272   269
+ 1655    24   416   272   328
+ 1656    25   328   272   269
+ 1657    21   417   273   276
+ 1658    24   417   273   326
+ 1659    25   326   273   276
+ 1660    21   418   274   275
+ 1661    24   418   274   325
+ 1662    25   325   274   275
+ 1663    21   419   275   274
+ 1664    24   419   275   328
+ 1665    25   328   275   274
+ 1666    21   420   276   273
+ 1667    24   420   276   327
+ 1668    25   327   276   273
+ 1669    25   324   277   280
+ 1670    24   421   277   324
+ 1671    21   421   277   280
+ 1672    25   323   278   279
+ 1673    24   422   278   323
+ 1674    21   422   278   279
+ 1675    25   322   279   278
+ 1676    24   423   279   322
+ 1677    21   423   279   278
+ 1678    25   321   280   277
+ 1679    24   424   280   321
+ 1680    21   424   280   277
+ 1681    23   185   281   137
+ 1682    23   212   281   137
+ 1683    20   212   281   185
+ 1684    23   211   282   138
+ 1685    20   211   282   186
+ 1686    23   186   282   138
+ 1687    23   210   283   139
+ 1688    20   210   283   187
+ 1689    23   187   283   139
+ 1690    23   209   284   140
+ 1691    20   209   284   188
+ 1692    23   188   284   140
+ 1693    23   189   285   141
+ 1694    20   214   285   189
+ 1695    23   214   285   141
+ 1696    23   213   286   142
+ 1697    20   213   286   190
+ 1698    23   190   286   142
+ 1699    23   191   287   143
+ 1700    20   216   287   191
+ 1701    23   216   287   143
+ 1702    23   192   288   144
+ 1703    20   215   288   192
+ 1704    23   215   288   144
+ 1705    23   193   289   145
+ 1706    23   232   289   145
+ 1707    20   232   289   193
+ 1708    23   231   290   146
+ 1709    20   231   290   194
+ 1710    23   194   290   146
+ 1711    23   195   291   147
+ 1712    23   230   291   147
+ 1713    20   230   291   195
+ 1714    23   229   292   148
+ 1715    20   229   292   196
+ 1716    23   196   292   148
+ 1717    23   197   293   149
+ 1718    20   226   293   197
+ 1719    23   226   293   149
+ 1720    23   225   294   150
+ 1721    20   225   294   198
+ 1722    23   198   294   150
+ 1723    20   228   295   199
+ 1724    23   228   295   151
+ 1725    23   199   295   151
+ 1726    20   227   296   200
+ 1727    23   227   296   152
+ 1728    23   200   296   152
+ 1729    23   201   297   153
+ 1730    23   222   297   153
+ 1731    20   222   297   201
+ 1732    23   221   298   154
+ 1733    20   221   298   202
+ 1734    23   202   298   154
+ 1735    23   203   299   155
+ 1736    23   224   299   155
+ 1737    20   224   299   203
+ 1738    23   223   300   156
+ 1739    20   223   300   204
+ 1740    23   204   300   156
+ 1741    23   205   301   157
+ 1742    20   220   301   205
+ 1743    23   220   301   157
+ 1744    23   219   302   158
+ 1745    20   219   302   206
+ 1746    23   206   302   158
+ 1747    20   218   303   207
+ 1748    23   218   303   159
+ 1749    23   207   303   159
+ 1750    20   217   304   208
+ 1751    23   217   304   160
+ 1752    23   208   304   160
+ 1753    23   233   305   161
+ 1754    23   252   305   161
+ 1755    20   252   305   233
+ 1756    23   251   306   162
+ 1757    20   251   306   234
+ 1758    23   234   306   162
+ 1759    23   250   307   163
+ 1760    20   250   307   235
+ 1761    23   235   307   163
+ 1762    23   249   308   164
+ 1763    20   249   308   236
+ 1764    23   236   308   164
+ 1765    23   237   309   165
+ 1766    20   254   309   237
+ 1767    23   254   309   165
+ 1768    23   253   310   166
+ 1769    20   253   310   238
+ 1770    23   238   310   166
+ 1771    23   239   311   167
+ 1772    20   256   311   239
+ 1773    23   256   311   167
+ 1774    23   240   312   168
+ 1775    20   255   312   240
+ 1776    23   255   312   168
+ 1777    23   241   313   169
+ 1778    20   262   313   241
+ 1779    23   262   313   169
+ 1780    23   261   314   170
+ 1781    20   261   314   242
+ 1782    23   242   314   170
+ 1783    23   243   315   171
+ 1784    20   264   315   243
+ 1785    23   264   315   171
+ 1786    23   263   316   172
+ 1787    20   263   316   244
+ 1788    23   244   316   172
+ 1789    23   245   317   173
+ 1790    20   260   317   245
+ 1791    23   260   317   173
+ 1792    20   259   318   246
+ 1793    23   259   318   174
+ 1794    23   246   318   174
+ 1795    20   258   319   247
+ 1796    23   258   319   175
+ 1797    23   247   319   175
+ 1798    23   257   320   176
+ 1799    20   257   320   248
+ 1800    23   248   320   176
+ 1801    23   265   321   177
+ 1802    20   280   321   265
+ 1803    23   280   321   177
+ 1804    23   279   322   178
+ 1805    20   279   322   266
+ 1806    23   266   322   178
+ 1807    23   267   323   179
+ 1808    20   278   323   267
+ 1809    23   278   323   179
+ 1810    23   268   324   180
+ 1811    20   277   324   268
+ 1812    23   277   324   180
+ 1813    23   269   325   181
+ 1814    20   274   325   269
+ 1815    23   274   325   181
+ 1816    20   273   326   270
+ 1817    23   273   326   182
+ 1818    23   270   326   182
+ 1819    20   276   327   271
+ 1820    23   276   327   183
+ 1821    23   271   327   183
+ 1822    23   275   328   184
+ 1823    20   275   328   272
+ 1824    23   272   328   184
+
+Dihedrals
+
+    1     4   292   229   232   289
+    2     5   292   229   232   376
+    3     5   373   229   232   289
+    4     7   373   229   232   376
+    5    10   289   145    49     9
+    6     9    88   145    49     9
+    7     9    49   145    88    17
+    8    10   289   145    88    17
+    9     3   193   289   145    49
+   10     3   193   289   145    88
+   11     3   232   289   145    49
+   12     3   232   289   145    88
+   13     2   145   289   193   337
+   14     8   145   289   193   196
+   15     6   232   289   193   337
+   16     1   232   289   193   196
+   17     8   145   289   232   229
+   18     2   145   289   232   376
+   19     1   193   289   232   229
+   20     6   193   289   232   376
+   21     3   132   183   327   276
+   22     3   132   183   327   271
+   23     3   127   183   327   276
+   24     3   127   183   327   271
+   25     4   326   270   271   327
+   26     5   326   270   271   415
+   27     5   414   270   271   327
+   28     7   414   270   271   415
+   29     7   417   273   276   420
+   30     5   417   273   276   327
+   31     5   326   273   276   420
+   32     4   326   273   276   327
+   33     1   273   326   270   271
+   34     6   273   326   270   414
+   35     8   182   326   270   271
+   36     2   182   326   270   414
+   37     6   417   273   326   270
+   38     2   417   273   326   182
+   39     1   276   273   326   270
+   40     8   276   273   326   182
+   41     1   270   271   327   276
+   42     8   270   271   327   183
+   43     6   415   271   327   276
+   44     2   415   271   327   183
+   45     1   273   276   327   271
+   46     8   273   276   327   183
+   47     6   420   276   327   271
+   48     2   420   276   327   183
+   49     3   273   326   182   129
+   50     3   273   326   182   126
+   51     3   270   326   182   129
+   52     3   270   326   182   126
+   53    11    45     5    37    19
+   54    11    45     5    37    27
+   55    11    45     5    37    15
+   56    11    80     5    37    19
+   57    11    80     5    37    27
+   58    11    80     5    37    15
+   59    11   136     5    37    19
+   60    11   136     5    37    27
+   61    11   136     5    37    15
+   62    11    19    37    15    55
+   63    11    19    37    15    70
+   64    11    19    37    15   103
+   65    11     5    37    15    55
+   66    11     5    37    15    70
+   67    11     5    37    15   103
+   68    11    27    37    15    55
+   69    11    27    37    15    70
+   70    11    27    37    15   103
+   71    11   106    19    37     5
+   72    11   106    19    37    27
+   73    11   106    19    37    15
+   74    11    59    19    37     5
+   75    11    59    19    37    27
+   76    11    59    19    37    15
+   77    11    84    19    37     5
+   78    11    84    19    37    27
+   79    11    84    19    37    15
+   80    11   121    27    37    19
+   81    11   121    27    37     5
+   82    11   121    27    37    15
+   83    11   114    27    37    19
+   84    11   114    27    37     5
+   85    11   114    27    37    15
+   86    11    91    27    37    19
+   87    11    91    27    37     5
+   88    11    91    27    37    15
+   89     9   106   163    91    27
+   90    10   307   163    91    27
+   91     9    19   106   163    91
+   92    10    19   106   163   307
+   93     9    15   103   175   114
+   94    10    15   103   175   319
+   95    10    27   114   175   319
+   96     9    27   114   175   103
+   97    10   321   177   121    27
+   98     9   136   177   121    27
+   99     9   121   177   136     5
+  100    10   321   177   136     5
+  101     5   286   190   191   335
+  102     4   286   190   191   287
+  103     7   334   190   191   335
+  104     5   334   190   191   287
+  105     5   357   213   216   287
+  106     7   357   213   216   360
+  107     4   286   213   216   287
+  108     5   286   213   216   360
+  109    10     7    47   143   287
+  110     9     7    47   143    72
+  111    10   287   143    72    11
+  112     9    47   143    72    11
+  113     3    47   143   287   191
+  114     3    47   143   287   216
+  115     3    72   143   287   191
+  116     3    72   143   287   216
+  117     2   335   191   287   143
+  118     6   335   191   287   216
+  119     8   190   191   287   143
+  120     1   190   191   287   216
+  121     1   191   287   216   213
+  122     6   191   287   216   360
+  123     8   143   287   216   213
+  124     2   143   287   216   360
+  125     9    87   146    50    10
+  126    10   290   146    50    10
+  127     9    50   146    87    18
+  128    10   290   146    87    18
+  129     3   231   290   146    50
+  130     3   231   290   146    87
+  131     3   194   290   146    50
+  132     3   194   290   146    87
+  133     8   146   290   194   195
+  134     2   146   290   194   338
+  135     1   231   290   194   195
+  136     6   231   290   194   338
+  137     8   146   290   231   230
+  138     2   146   290   231   375
+  139     1   194   290   231   230
+  140     6   194   290   231   375
+  141     4   291   230   231   290
+  142     5   291   230   231   375
+  143     5   374   230   231   290
+  144     7   374   230   231   375
+  145    10   297   153    57    17
+  146     9    78   153    57    17
+  147     9    57   153    78     1
+  148    10   297   153    78     1
+  149     3   201   297   153    57
+  150     3   201   297   153    78
+  151     3   222   297   153    57
+  152     3   222   297   153    78
+  153     2   153   297   201   345
+  154     8   153   297   201   204
+  155     6   222   297   201   345
+  156     1   222   297   201   204
+  157     2   153   297   222   366
+  158     8   153   297   222   223
+  159     6   201   297   222   366
+  160     1   201   297   222   223
+  161     3   268   324   180   124
+  162     3   268   324   180   133
+  163     3   277   324   180   124
+  164     3   277   324   180   133
+  165     4   321   265   268   324
+  166     5   321   265   268   412
+  167     5   409   265   268   324
+  168     7   409   265   268   412
+  169     4   324   277   280   321
+  170     5   324   277   280   424
+  171     5   421   277   280   321
+  172     7   421   277   280   424
+  173     2   177   321   265   409
+  174     8   177   321   265   268
+  175     6   280   321   265   409
+  176     1   280   321   265   268
+  177     1   265   321   280   277
+  178     6   265   321   280   424
+  179     8   177   321   280   277
+  180     2   177   321   280   424
+  181     8   265   268   324   180
+  182     1   265   268   324   277
+  183     2   412   268   324   180
+  184     6   412   268   324   277
+  185     6   268   324   277   421
+  186     1   268   324   277   280
+  187     2   180   324   277   421
+  188     8   180   324   277   280
+  189     3   265   321   177   121
+  190     3   265   321   177   136
+  191     3   280   321   177   121
+  192     3   280   321   177   136
+  193     7   354   210   211   355
+  194     5   354   210   211   282
+  195     5   283   210   211   355
+  196     4   283   210   211   282
+  197     9    67   138    42     2
+  198    10   282   138    42     2
+  199     9    42   138    67    10
+  200    10   282   138    67    10
+  201     3   211   282   138    42
+  202     3   211   282   138    67
+  203     3   186   282   138    42
+  204     3   186   282   138    67
+  205     8   138   282   186   187
+  206     2   138   282   186   330
+  207     1   211   282   186   187
+  208     6   211   282   186   330
+  209     8   138   282   211   210
+  210     2   138   282   211   355
+  211     1   186   282   211   210
+  212     6   186   282   211   355
+  213    10     5    45   141   285
+  214     9     5    45   141    70
+  215    10   285   141    70    15
+  216     9    45   141    70    15
+  217     3    45   141   285   189
+  218     3    45   141   285   214
+  219     3    70   141   285   189
+  220     3    70   141   285   214
+  221     2   333   189   285   141
+  222     6   333   189   285   214
+  223     8   192   189   285   141
+  224     1   192   189   285   214
+  225     6   189   285   214   358
+  226     1   189   285   214   215
+  227     2   141   285   214   358
+  228     8   141   285   214   215
+  229     3   125   181   325   269
+  230     3   125   181   325   274
+  231     3   130   181   325   269
+  232     3   130   181   325   274
+  233     7   413   269   272   416
+  234     5   413   269   272   328
+  235     5   325   269   272   416
+  236     4   325   269   272   328
+  237     7   418   274   275   419
+  238     5   418   274   275   328
+  239     5   325   274   275   419
+  240     4   325   274   275   328
+  241     2   413   269   325   181
+  242     6   413   269   325   274
+  243     8   272   269   325   181
+  244     1   272   269   325   274
+  245     6   418   274   325   269
+  246     2   418   274   325   181
+  247     1   275   274   325   269
+  248     8   275   274   325   181
+  249     6   416   272   328   275
+  250     2   416   272   328   184
+  251     1   269   272   328   275
+  252     8   269   272   328   184
+  253     8   274   275   328   184
+  254     1   274   275   328   272
+  255     2   419   275   328   184
+  256     6   419   275   328   272
+  257     3   131   184   328   275
+  258     3   131   184   328   272
+  259     3   128   184   328   275
+  260     3   128   184   328   272
+  261     3   114   175   319   258
+  262     3   114   175   319   247
+  263     3   103   175   319   258
+  264     3   103   175   319   247
+  265     4   318   246   247   319
+  266     5   318   246   247   391
+  267     5   390   246   247   319
+  268     7   390   246   247   391
+  269     7   402   258   259   403
+  270     5   402   258   259   318
+  271     5   319   258   259   403
+  272     4   319   258   259   318
+  273     1   259   318   246   247
+  274     6   259   318   246   390
+  275     8   174   318   246   247
+  276     2   174   318   246   390
+  277     1   258   259   318   246
+  278     8   258   259   318   174
+  279     6   403   259   318   246
+  280     2   403   259   318   174
+  281     1   246   247   319   258
+  282     8   246   247   319   175
+  283     6   391   247   319   258
+  284     2   391   247   319   175
+  285     6   402   258   319   247
+  286     2   402   258   319   175
+  287     1   259   258   319   247
+  288     8   259   258   319   175
+  289     3   259   318   174   115
+  290     3   259   318   174   102
+  291     3   246   318   174   115
+  292     3   246   318   174   102
+  293     3    95   167   311   239
+  294     3    95   167   311   256
+  295     3   112   167   311   239
+  296     3   112   167   311   256
+  297     3   253   310   166   109
+  298     3   253   310   166    94
+  299     3   238   310   166   109
+  300     3   238   310   166    94
+  301     5   310   238   239   383
+  302     4   310   238   239   311
+  303     7   382   238   239   383
+  304     5   382   238   239   311
+  305     5   397   253   256   311
+  306     7   397   253   256   400
+  307     4   310   253   256   311
+  308     5   310   253   256   400
+  309     1   253   310   238   239
+  310     6   253   310   238   382
+  311     8   166   310   238   239
+  312     2   166   310   238   382
+  313     2   397   253   310   166
+  314     6   397   253   310   238
+  315     8   256   253   310   166
+  316     1   256   253   310   238
+  317     2   383   239   311   167
+  318     6   383   239   311   256
+  319     8   238   239   311   167
+  320     1   238   239   311   256
+  321     1   239   311   256   253
+  322     6   239   311   256   400
+  323     8   167   311   256   253
+  324     2   167   311   256   400
+  325    11    73     4    36    30
+  326    11    73     4    36    14
+  327    11    73     4    36    24
+  328    11    44     4    36    30
+  329    11    44     4    36    14
+  330    11    44     4    36    24
+  331    11   133     4    36    30
+  332    11   133     4    36    14
+  333    11   133     4    36    24
+  334    11     4    36    14   100
+  335    11     4    36    14    65
+  336    11     4    36    14    54
+  337    11    30    36    14   100
+  338    11    30    36    14    65
+  339    11    30    36    14    54
+  340    11    24    36    14   100
+  341    11    24    36    14    65
+  342    11    24    36    14    54
+  343    11     4    36    24    81
+  344    11     4    36    24   109
+  345    11     4    36    24    64
+  346    11    30    36    24    81
+  347    11    30    36    24   109
+  348    11    30    36    24    64
+  349    11    14    36    24    81
+  350    11    14    36    24   109
+  351    11    14    36    24    64
+  352    11     4    36    30   124
+  353    11     4    36    30    94
+  354    11     4    36    30   119
+  355    11    14    36    30   124
+  356    11    14    36    30    94
+  357    11    14    36    30   119
+  358    11    24    36    30   124
+  359    11    24    36    30    94
+  360    11    24    36    30   119
+  361     9   109   166    94    30
+  362    10   310   166    94    30
+  363    10    24   109   166   310
+  364     9    24   109   166    94
+  365    10    14   100   172   316
+  366     9    14   100   172   119
+  367    10   316   172   119    30
+  368     9   100   172   119    30
+  369    10    30   124   180   324
+  370     9    30   124   180   133
+  371     9   124   180   133     4
+  372    10   324   180   133     4
+  373     9    15    55   151    84
+  374    10    15    55   151   295
+  375    10    19    84   151   295
+  376     9    19    84   151    55
+  377     3    84   151   295   228
+  378     3    84   151   295   199
+  379     3    55   151   295   228
+  380     3    55   151   295   199
+  381     6   343   199   295   228
+  382     2   343   199   295   151
+  383     1   198   199   295   228
+  384     8   198   199   295   151
+  385     1   225   228   295   199
+  386     8   225   228   295   151
+  387     6   372   228   295   199
+  388     2   372   228   295   151
+  389     7   342   198   199   343
+  390     5   342   198   199   295
+  391     5   294   198   199   343
+  392     4   294   198   199   295
+  393     7   369   225   228   372
+  394     5   369   225   228   295
+  395     5   294   225   228   372
+  396     4   294   225   228   295
+  397     5   290   194   195   339
+  398     4   290   194   195   291
+  399     7   338   194   195   339
+  400     5   338   194   195   291
+  401    10   291   147    51    11
+  402     9    86   147    51    11
+  403     9    51   147    86    21
+  404    10   291   147    86    21
+  405     3   195   291   147    51
+  406     3   195   291   147    86
+  407     3   230   291   147    51
+  408     3   230   291   147    86
+  409     8   147   291   195   194
+  410     2   147   291   195   339
+  411     1   230   291   195   194
+  412     6   230   291   195   339
+  413     2   147   291   230   374
+  414     8   147   291   230   231
+  415     6   195   291   230   374
+  416     1   195   291   230   231
+  417    11   130     7    39    25
+  418    11   130     7    39    11
+  419    11   130     7    39    21
+  420    11    76     7    39    25
+  421    11    76     7    39    11
+  422    11    76     7    39    21
+  423    11    47     7    39    25
+  424    11    47     7    39    11
+  425    11    47     7    39    21
+  426    11    97    11    39    25
+  427    11    97    11    39    21
+  428    11    97    11    39     7
+  429    11    51    11    39    25
+  430    11    51    11    39    21
+  431    11    51    11    39     7
+  432    11    72    11    39    25
+  433    11    72    11    39    21
+  434    11    72    11    39     7
+  435    11   108    21    39    25
+  436    11   108    21    39    11
+  437    11   108    21    39     7
+  438    11    61    21    39    25
+  439    11    61    21    39    11
+  440    11    61    21    39     7
+  441    11    86    21    39    25
+  442    11    86    21    39    11
+  443    11    86    21    39     7
+  444    11    89    25    39    11
+  445    11    89    25    39    21
+  446    11    89    25    39     7
+  447    11   125    25    39    11
+  448    11   125    25    39    21
+  449    11   125    25    39     7
+  450    11   118    25    39    11
+  451    11   118    25    39    21
+  452    11   118    25    39     7
+  453    10   305   161    89    25
+  454     9   108   161    89    25
+  455     9    89   161   108    21
+  456    10   305   161   108    21
+  457    10   313   169    97    11
+  458     9   118   169    97    11
+  459     9    97   169   118    25
+  460    10   313   169   118    25
+  461    10    25   125   181   325
+  462     9    25   125   181   130
+  463     9     7   130   181   125
+  464    10     7   130   181   325
+  465     7   362   218   219   363
+  466     5   362   218   219   302
+  467     5   303   218   219   363
+  468     4   303   218   219   302
+  469     9    75   158    62    22
+  470    10   302   158    62    22
+  471     9     8    75   158    62
+  472    10     8    75   158   302
+  473     3   219   302   158    75
+  474     3   219   302   158    62
+  475     3   206   302   158    75
+  476     3   206   302   158    62
+  477     6   219   302   206   350
+  478     1   219   302   206   207
+  479     2   158   302   206   350
+  480     8   158   302   206   207
+  481     8   218   219   302   158
+  482     1   218   219   302   206
+  483     2   363   219   302   158
+  484     6   363   219   302   206
+  485     3   263   316   172   100
+  486     3   263   316   172   119
+  487     3   244   316   172   100
+  488     3   244   316   172   119
+  489     4   313   241   244   316
+  490     5   313   241   244   388
+  491     5   385   241   244   316
+  492     7   385   241   244   388
+  493     4   313   262   263   316
+  494     5   313   262   263   407
+  495     5   406   262   263   316
+  496     7   406   262   263   407
+  497     2   169   313   241   385
+  498     8   169   313   241   244
+  499     6   262   313   241   385
+  500     1   262   313   241   244
+  501     6   241   313   262   406
+  502     1   241   313   262   263
+  503     2   169   313   262   406
+  504     8   169   313   262   263
+  505     8   172   316   244   241
+  506     2   172   316   244   388
+  507     1   263   316   244   241
+  508     6   263   316   244   388
+  509     8   172   316   263   262
+  510     2   172   316   263   407
+  511     1   244   316   263   262
+  512     6   244   316   263   407
+  513     3   241   313   169    97
+  514     3   241   313   169   118
+  515     3   262   313   169    97
+  516     3   262   313   169   118
+  517     9    23    63   159    74
+  518    10    23    63   159   303
+  519    10     3    74   159   303
+  520     9     3    74   159    63
+  521     3    74   159   303   218
+  522     3    74   159   303   207
+  523     3    63   159   303   218
+  524     3    63   159   303   207
+  525     6   351   207   303   218
+  526     2   351   207   303   159
+  527     1   206   207   303   218
+  528     8   206   207   303   159
+  529     6   362   218   303   207
+  530     2   362   218   303   159
+  531     1   219   218   303   207
+  532     8   219   218   303   159
+  533     7   350   206   207   351
+  534     5   350   206   207   303
+  535     5   302   206   207   351
+  536     4   302   206   207   303
+  537    10    20    60   156   300
+  538     9    20    60   156    79
+  539    10   300   156    79     6
+  540     9    60   156    79     6
+  541     3   223   300   156    60
+  542     3   223   300   156    79
+  543     3   204   300   156    60
+  544     3   204   300   156    79
+  545     8   156   300   204   201
+  546     2   156   300   204   348
+  547     1   223   300   204   201
+  548     6   223   300   204   348
+  549     8   156   300   223   222
+  550     2   156   300   223   367
+  551     1   204   300   223   222
+  552     6   204   300   223   367
+  553     4   297   201   204   300
+  554     5   297   201   204   348
+  555     5   345   201   204   300
+  556     7   345   201   204   348
+  557     4   297   222   223   300
+  558     5   297   222   223   367
+  559     5   366   222   223   300
+  560     7   366   222   223   367
+  561     3   101   173   317   245
+  562     3   101   173   317   260
+  563     3   116   173   317   245
+  564     3   116   173   317   260
+  565     4   317   245   248   320
+  566     5   317   245   248   392
+  567     5   389   245   248   320
+  568     7   389   245   248   392
+  569     7   401   257   260   404
+  570     5   401   257   260   317
+  571     5   320   257   260   404
+  572     4   320   257   260   317
+  573     6   389   245   317   260
+  574     2   389   245   317   173
+  575     1   248   245   317   260
+  576     8   248   245   317   173
+  577     1   257   260   317   245
+  578     8   257   260   317   173
+  579     6   404   260   317   245
+  580     2   404   260   317   173
+  581     1   245   248   320   257
+  582     8   245   248   320   176
+  583     6   392   248   320   257
+  584     2   392   248   320   176
+  585     2   401   257   320   176
+  586     6   401   257   320   248
+  587     8   260   257   320   176
+  588     1   260   257   320   248
+  589     3   113   176   320   257
+  590     3   113   176   320   248
+  591     3   104   176   320   257
+  592     3   104   176   320   248
+  593    10    21    61   157   301
+  594     9    21    61   157    76
+  595    10     7    76   157   301
+  596     9     7    76   157    61
+  597     3    76   157   301   205
+  598     3    76   157   301   220
+  599     3    61   157   301   205
+  600     3    61   157   301   220
+  601     6   349   205   301   220
+  602     2   349   205   301   157
+  603     1   208   205   301   220
+  604     8   208   205   301   157
+  605     1   217   220   301   205
+  606     8   217   220   301   157
+  607     6   364   220   301   205
+  608     2   364   220   301   157
+  609     7   361   217   220   364
+  610     5   361   217   220   301
+  611     5   304   217   220   364
+  612     4   304   217   220   301
+  613     3    93   165   309   237
+  614     3    93   165   309   254
+  615     3   110   165   309   237
+  616     3   110   165   309   254
+  617     3    96   168   312   240
+  618     3    96   168   312   255
+  619     3   111   168   312   240
+  620     3   111   168   312   255
+  621     7   381   237   240   384
+  622     5   381   237   240   312
+  623     5   309   237   240   384
+  624     4   309   237   240   312
+  625     5   309   254   255   399
+  626     4   309   254   255   312
+  627     7   398   254   255   399
+  628     5   398   254   255   312
+  629     2   381   237   309   165
+  630     6   381   237   309   254
+  631     8   240   237   309   165
+  632     1   240   237   309   254
+  633     6   237   309   254   398
+  634     1   237   309   254   255
+  635     2   165   309   254   398
+  636     8   165   309   254   255
+  637     6   384   240   312   255
+  638     2   384   240   312   168
+  639     1   237   240   312   255
+  640     8   237   240   312   168
+  641     1   254   255   312   240
+  642     8   254   255   312   168
+  643     6   399   255   312   240
+  644     2   399   255   312   168
+  645     7   346   202   203   347
+  646     5   346   202   203   299
+  647     5   298   202   203   347
+  648     4   298   202   203   299
+  649     4   298   221   224   299
+  650     5   298   221   224   368
+  651     5   365   221   224   299
+  652     7   365   221   224   368
+  653    10   299   155    59    19
+  654     9    80   155    59    19
+  655     9    59   155    80     5
+  656    10   299   155    80     5
+  657     3   203   299   155    59
+  658     3   203   299   155    80
+  659     3   224   299   155    59
+  660     3   224   299   155    80
+  661     8   155   299   203   202
+  662     2   155   299   203   347
+  663     1   224   299   203   202
+  664     6   224   299   203   347
+  665     8   155   299   224   221
+  666     2   155   299   224   368
+  667     1   203   299   224   221
+  668     6   203   299   224   368
+  669     5   293   197   200   344
+  670     4   293   197   200   296
+  671     7   341   197   200   344
+  672     5   341   197   200   296
+  673     7   370   226   227   371
+  674     5   370   226   227   296
+  675     5   293   226   227   371
+  676     4   293   226   227   296
+  677     9    16    56   152    83
+  678    10    16    56   152   296
+  679    10    20    83   152   296
+  680     9    20    83   152    56
+  681     3    83   152   296   227
+  682     3    83   152   296   200
+  683     3    56   152   296   227
+  684     3    56   152   296   200
+  685     6   344   200   296   227
+  686     2   344   200   296   152
+  687     1   197   200   296   227
+  688     8   197   200   296   152
+  689     1   226   227   296   200
+  690     8   226   227   296   152
+  691     6   371   227   296   200
+  692     2   371   227   296   152
+  693     3   251   306   162   107
+  694     3   251   306   162    90
+  695     3   234   306   162   107
+  696     3   234   306   162    90
+  697     3   250   307   163   106
+  698     3   250   307   163    91
+  699     3   235   307   163   106
+  700     3   235   307   163    91
+  701     4   306   234   235   307
+  702     5   306   234   235   379
+  703     5   378   234   235   307
+  704     7   378   234   235   379
+  705     7   394   250   251   395
+  706     5   394   250   251   306
+  707     5   307   250   251   395
+  708     4   307   250   251   306
+  709     8   162   306   234   235
+  710     2   162   306   234   378
+  711     1   251   306   234   235
+  712     6   251   306   234   378
+  713     8   162   306   251   250
+  714     2   162   306   251   395
+  715     1   234   306   251   250
+  716     6   234   306   251   395
+  717     1   250   307   235   234
+  718     6   250   307   235   379
+  719     8   163   307   235   234
+  720     2   163   307   235   379
+  721     2   394   250   307   163
+  722     6   394   250   307   235
+  723     8   251   250   307   163
+  724     1   251   250   307   235
+  725     5   329   185   188   284
+  726     7   329   185   188   332
+  727     4   281   185   188   284
+  728     5   281   185   188   332
+  729     9     4    44   140    65
+  730    10     4    44   140   284
+  731    10    14    65   140   284
+  732     9    14    65   140    44
+  733     3   209   284   140    65
+  734     3   209   284   140    44
+  735     3   188   284   140    65
+  736     3   188   284   140    44
+  737     1   209   284   188   185
+  738     6   209   284   188   332
+  739     8   140   284   188   185
+  740     2   140   284   188   332
+  741     2   353   209   284   140
+  742     6   353   209   284   188
+  743     8   212   209   284   140
+  744     1   212   209   284   188
+  745     3   279   322   178   135
+  746     3   279   322   178   122
+  747     3   266   322   178   135
+  748     3   266   322   178   122
+  749     4   322   266   267   323
+  750     5   322   266   267   411
+  751     5   410   266   267   323
+  752     7   410   266   267   411
+  753     4   323   278   279   322
+  754     5   323   278   279   423
+  755     5   422   278   279   322
+  756     7   422   278   279   423
+  757     8   178   322   266   267
+  758     2   178   322   266   410
+  759     1   279   322   266   267
+  760     6   279   322   266   410
+  761     8   178   322   279   278
+  762     2   178   322   279   423
+  763     1   266   322   279   278
+  764     6   266   322   279   423
+  765     1   278   323   267   266
+  766     6   278   323   267   411
+  767     8   179   323   267   266
+  768     2   179   323   267   411
+  769     6   267   323   278   422
+  770     1   267   323   278   279
+  771     2   179   323   278   422
+  772     8   179   323   278   279
+  773     3   267   323   179   123
+  774     3   267   323   179   134
+  775     3   278   323   179   123
+  776     3   278   323   179   134
+  777    11     9    33     1    41
+  778    11     9    33     1   132
+  779    11     9    33     1    78
+  780    11    31    33     1    41
+  781    11    31    33     1   132
+  782    11    31    33     1    78
+  783    11    17    33     1    41
+  784    11    17    33     1   132
+  785    11    17    33     1    78
+  786    11     1    33     9    49
+  787    11     1    33     9    68
+  788    11     1    33     9   101
+  789    11    31    33     9    49
+  790    11    31    33     9    68
+  791    11    31    33     9   101
+  792    11    17    33     9    49
+  793    11    17    33     9    68
+  794    11    17    33     9   101
+  795    11     1    33    17    57
+  796    11     1    33    17   112
+  797    11     1    33    17    88
+  798    11     9    33    17    57
+  799    11     9    33    17   112
+  800    11     9    33    17    88
+  801    11    31    33    17    57
+  802    11    31    33    17   112
+  803    11    31    33    17    88
+  804    11     1    33    31   116
+  805    11     1    33    31   127
+  806    11     1    33    31    95
+  807    11     9    33    31   116
+  808    11     9    33    31   127
+  809    11     9    33    31    95
+  810    11    17    33    31   116
+  811    11    17    33    31   127
+  812    11    17    33    31    95
+  813    10    31    95   167   311
+  814     9    31    95   167   112
+  815     9    95   167   112    17
+  816    10   311   167   112    17
+  817     9     9   101   173   116
+  818    10     9   101   173   317
+  819     9    31   116   173   101
+  820    10    31   116   173   317
+  821     9    31   127   183   132
+  822    10    31   127   183   327
+  823     9     1   132   183   127
+  824    10     1   132   183   327
+  825     5   333   189   192   288
+  826     7   333   189   192   336
+  827     4   285   189   192   288
+  828     5   285   189   192   336
+  829     5   285   214   215   359
+  830     4   285   214   215   288
+  831     7   358   214   215   359
+  832     5   358   214   215   288
+  833    10     8    48   144   288
+  834     9     8    48   144    71
+  835    10    12    71   144   288
+  836     9    12    71   144    48
+  837     3    71   144   288   192
+  838     3    71   144   288   215
+  839     3    48   144   288   192
+  840     3    48   144   288   215
+  841     1   189   192   288   215
+  842     8   189   192   288   144
+  843     6   336   192   288   215
+  844     2   336   192   288   144
+  845     1   214   215   288   192
+  846     8   214   215   288   144
+  847     6   359   215   288   192
+  848     2   359   215   288   144
+  849     5   353   209   212   281
+  850     7   353   209   212   356
+  851     4   284   209   212   281
+  852     5   284   209   212   356
+  853    10   281   137    41     1
+  854     9    68   137    41     1
+  855     9    41   137    68     9
+  856    10   281   137    68     9
+  857     3   185   281   137    41
+  858     3   185   281   137    68
+  859     3   212   281   137    41
+  860     3   212   281   137    68
+  861     2   137   281   185   329
+  862     8   137   281   185   188
+  863     6   212   281   185   329
+  864     1   212   281   185   188
+  865     8   137   281   212   209
+  866     2   137   281   212   356
+  867     1   185   281   212   209
+  868     6   185   281   212   356
+  869     3   261   314   170   117
+  870     3   261   314   170    98
+  871     3   242   314   170   117
+  872     3   242   314   170    98
+  873     4   314   242   243   315
+  874     5   314   242   243   387
+  875     5   386   242   243   315
+  876     7   386   242   243   387
+  877     4   314   261   264   315
+  878     5   314   261   264   408
+  879     5   405   261   264   315
+  880     7   405   261   264   408
+  881     8   170   314   242   243
+  882     2   170   314   242   386
+  883     1   261   314   242   243
+  884     6   261   314   242   386
+  885     2   170   314   261   405
+  886     8   170   314   261   264
+  887     6   242   314   261   405
+  888     1   242   314   261   264
+  889     8   171   315   243   242
+  890     2   171   315   243   387
+  891     1   264   315   243   242
+  892     6   264   315   243   387
+  893     1   243   315   264   261
+  894     6   243   315   264   408
+  895     8   171   315   264   261
+  896     2   171   315   264   408
+  897     3   243   315   171    99
+  898     3   243   315   171   120
+  899     3   264   315   171    99
+  900     3   264   315   171   120
+  901    11   129     8    40    26
+  902    11   129     8    40    12
+  903    11   129     8    40    22
+  904    11    75     8    40    26
+  905    11    75     8    40    12
+  906    11    75     8    40    22
+  907    11    48     8    40    26
+  908    11    48     8    40    12
+  909    11    48     8    40    22
+  910    11    98    12    40    26
+  911    11    98    12    40    22
+  912    11    98    12    40     8
+  913    11    52    12    40    26
+  914    11    52    12    40    22
+  915    11    52    12    40     8
+  916    11    71    12    40    26
+  917    11    71    12    40    22
+  918    11    71    12    40     8
+  919    11   107    22    40    26
+  920    11   107    22    40    12
+  921    11   107    22    40     8
+  922    11    85    22    40    26
+  923    11    85    22    40    12
+  924    11    85    22    40     8
+  925    11    62    22    40    26
+  926    11    62    22    40    12
+  927    11    62    22    40     8
+  928    11    90    26    40    12
+  929    11    90    26    40    22
+  930    11    90    26    40     8
+  931    11   117    26    40    12
+  932    11   117    26    40    22
+  933    11   117    26    40     8
+  934    11   126    26    40    12
+  935    11   126    26    40    22
+  936    11   126    26    40     8
+  937    10   306   162    90    26
+  938     9   107   162    90    26
+  939    10   306   162   107    22
+  940     9    90   162   107    22
+  941    10   314   170    98    12
+  942     9   117   170    98    12
+  943    10   314   170   117    26
+  944     9    98   170   117    26
+  945     9   129   182   126    26
+  946    10   326   182   126    26
+  947    10     8   129   182   326
+  948     9     8   129   182   126
+  949    11    29    35     3    74
+  950    11    29    35     3    43
+  951    11    29    35     3   134
+  952    11    13    35     3    74
+  953    11    13    35     3    43
+  954    11    13    35     3   134
+  955    11    23    35     3    74
+  956    11    23    35     3    43
+  957    11    23    35     3   134
+  958    11    29    35    13    66
+  959    11    29    35    13    53
+  960    11    29    35    13    99
+  961    11     3    35    13    66
+  962    11     3    35    13    53
+  963    11     3    35    13    99
+  964    11    23    35    13    66
+  965    11    23    35    13    53
+  966    11    23    35    13    99
+  967    11    29    35    23    82
+  968    11    29    35    23   110
+  969    11    29    35    23    63
+  970    11     3    35    23    82
+  971    11     3    35    23   110
+  972    11     3    35    23    63
+  973    11    13    35    23    82
+  974    11    13    35    23   110
+  975    11    13    35    23    63
+  976    11     3    35    29    93
+  977    11     3    35    29   123
+  978    11     3    35    29   120
+  979    11    13    35    29    93
+  980    11    13    35    29   123
+  981    11    13    35    29   120
+  982    11    23    35    29    93
+  983    11    23    35    29   123
+  984    11    23    35    29   120
+  985    10    29    93   165   309
+  986     9    29    93   165   110
+  987     9    93   165   110    23
+  988    10   309   165   110    23
+  989    10   315   171    99    13
+  990     9   120   171    99    13
+  991    10   315   171   120    29
+  992     9    99   171   120    29
+  993    10   323   179   123    29
+  994     9   134   179   123    29
+  995    10   323   179   134     3
+  996     9   123   179   134     3
+  997     3   249   308   164   105
+  998     3   249   308   164    92
+  999     3   236   308   164   105
+ 1000     3   236   308   164    92
+ 1001     3   233   305   161    89
+ 1002     3   233   305   161   108
+ 1003     3   252   305   161    89
+ 1004     3   252   305   161   108
+ 1005     5   305   233   236   380
+ 1006     4   305   233   236   308
+ 1007     7   377   233   236   380
+ 1008     5   377   233   236   308
+ 1009     5   393   249   252   305
+ 1010     7   393   249   252   396
+ 1011     4   308   249   252   305
+ 1012     5   308   249   252   396
+ 1013     2   161   305   233   377
+ 1014     8   161   305   233   236
+ 1015     6   252   305   233   377
+ 1016     1   252   305   233   236
+ 1017     8   161   305   252   249
+ 1018     2   161   305   252   396
+ 1019     1   233   305   252   249
+ 1020     6   233   305   252   396
+ 1021     1   249   308   236   233
+ 1022     6   249   308   236   380
+ 1023     8   164   308   236   233
+ 1024     2   164   308   236   380
+ 1025     2   393   249   308   164
+ 1026     6   393   249   308   236
+ 1027     8   252   249   308   164
+ 1028     1   252   249   308   236
+ 1029    10    12    52   148   292
+ 1030     9    12    52   148    85
+ 1031    10   292   148    85    22
+ 1032     9    52   148    85    22
+ 1033     3   229   292   148    52
+ 1034     3   229   292   148    85
+ 1035     3   196   292   148    52
+ 1036     3   196   292   148    85
+ 1037     8   148   292   196   193
+ 1038     2   148   292   196   340
+ 1039     1   229   292   196   193
+ 1040     6   229   292   196   340
+ 1041     2   148   292   229   373
+ 1042     8   148   292   229   232
+ 1043     6   196   292   229   373
+ 1044     1   196   292   229   232
+ 1045     5   289   193   196   340
+ 1046     4   289   193   196   292
+ 1047     7   337   193   196   340
+ 1048     5   337   193   196   292
+ 1049     5   349   205   208   304
+ 1050     7   349   205   208   352
+ 1051     4   301   205   208   304
+ 1052     5   301   205   208   352
+ 1053     9    24    64   160    73
+ 1054    10    24    64   160   304
+ 1055    10     4    73   160   304
+ 1056     9     4    73   160    64
+ 1057     3    73   160   304   217
+ 1058     3    73   160   304   208
+ 1059     3    64   160   304   217
+ 1060     3    64   160   304   208
+ 1061     1   205   208   304   217
+ 1062     8   205   208   304   160
+ 1063     6   352   208   304   217
+ 1064     2   352   208   304   160
+ 1065     6   361   217   304   208
+ 1066     2   361   217   304   160
+ 1067     1   220   217   304   208
+ 1068     8   220   217   304   160
+ 1069     9    69   142    46     6
+ 1070    10   286   142    46     6
+ 1071     9    16    69   142    46
+ 1072    10    16    69   142   286
+ 1073     3   213   286   142    69
+ 1074     3   213   286   142    46
+ 1075     3   190   286   142    69
+ 1076     3   190   286   142    46
+ 1077     1   213   286   190   191
+ 1078     6   213   286   190   334
+ 1079     8   142   286   190   191
+ 1080     2   142   286   190   334
+ 1081     2   357   213   286   142
+ 1082     6   357   213   286   190
+ 1083     8   216   213   286   142
+ 1084     1   216   213   286   190
+ 1085     5   282   186   187   331
+ 1086     4   282   186   187   283
+ 1087     7   330   186   187   331
+ 1088     5   330   186   187   283
+ 1089     9    66   139    43     3
+ 1090    10   283   139    43     3
+ 1091     9    13    66   139    43
+ 1092    10    13    66   139   283
+ 1093     3   210   283   139    66
+ 1094     3   210   283   139    43
+ 1095     3   187   283   139    66
+ 1096     3   187   283   139    43
+ 1097     1   210   283   187   186
+ 1098     6   210   283   187   331
+ 1099     8   139   283   187   186
+ 1100     2   139   283   187   331
+ 1101     2   354   210   283   139
+ 1102     6   354   210   283   187
+ 1103     8   211   210   283   139
+ 1104     1   211   210   283   187
+ 1105     9    13    53   149    82
+ 1106    10    13    53   149   293
+ 1107     9    23    82   149    53
+ 1108    10    23    82   149   293
+ 1109     3    82   149   293   197
+ 1110     3    82   149   293   226
+ 1111     3    53   149   293   197
+ 1112     3    53   149   293   226
+ 1113     2   341   197   293   149
+ 1114     6   341   197   293   226
+ 1115     8   200   197   293   149
+ 1116     1   200   197   293   226
+ 1117     6   370   226   293   197
+ 1118     2   370   226   293   149
+ 1119     1   227   226   293   197
+ 1120     8   227   226   293   149
+ 1121    11    28    38     6   135
+ 1122    11    28    38     6    46
+ 1123    11    28    38     6    79
+ 1124    11    20    38     6   135
+ 1125    11    20    38     6    46
+ 1126    11    20    38     6    79
+ 1127    11    16    38     6   135
+ 1128    11    16    38     6    46
+ 1129    11    16    38     6    79
+ 1130    11    28    38    16   104
+ 1131    11    28    38    16    69
+ 1132    11    28    38    16    56
+ 1133    11    20    38    16   104
+ 1134    11    20    38    16    69
+ 1135    11    20    38    16    56
+ 1136    11     6    38    16   104
+ 1137    11     6    38    16    69
+ 1138    11     6    38    16    56
+ 1139    11   105    20    38    28
+ 1140    11   105    20    38     6
+ 1141    11   105    20    38    16
+ 1142    11    83    20    38    28
+ 1143    11    83    20    38     6
+ 1144    11    83    20    38    16
+ 1145    11    60    20    38    28
+ 1146    11    60    20    38     6
+ 1147    11    60    20    38    16
+ 1148    11   113    28    38    20
+ 1149    11   113    28    38     6
+ 1150    11   113    28    38    16
+ 1151    11   122    28    38    20
+ 1152    11   122    28    38     6
+ 1153    11   122    28    38    16
+ 1154    11    92    28    38    20
+ 1155    11    92    28    38     6
+ 1156    11    92    28    38    16
+ 1157     9    28    92   164   105
+ 1158    10    28    92   164   308
+ 1159     9    20   105   164    92
+ 1160    10    20   105   164   308
+ 1161     9    16   104   176   113
+ 1162    10    16   104   176   320
+ 1163     9    28   113   176   104
+ 1164    10    28   113   176   320
+ 1165    10   322   178   122    28
+ 1166     9   135   178   122    28
+ 1167    10   322   178   135     6
+ 1168     9   122   178   135     6
+ 1169     9    81   150    54    14
+ 1170    10   294   150    54    14
+ 1171     9    24    81   150    54
+ 1172    10    24    81   150   294
+ 1173     3   225   294   150    81
+ 1174     3   225   294   150    54
+ 1175     3   198   294   150    81
+ 1176     3   198   294   150    54
+ 1177     6   225   294   198   342
+ 1178     1   225   294   198   199
+ 1179     2   150   294   198   342
+ 1180     8   150   294   198   199
+ 1181     2   369   225   294   150
+ 1182     6   369   225   294   198
+ 1183     8   228   225   294   150
+ 1184     1   228   225   294   198
+ 1185     9    77   154    58    18
+ 1186    10   298   154    58    18
+ 1187     9    58   154    77     2
+ 1188    10   298   154    77     2
+ 1189     3   221   298   154    58
+ 1190     3   221   298   154    77
+ 1191     3   202   298   154    58
+ 1192     3   202   298   154    77
+ 1193     2   154   298   202   346
+ 1194     8   154   298   202   203
+ 1195     6   221   298   202   346
+ 1196     1   221   298   202   203
+ 1197     2   154   298   221   365
+ 1198     8   154   298   221   224
+ 1199     6   202   298   221   365
+ 1200     1   202   298   221   224
+ 1201    11    32    34     2    42
+ 1202    11    32    34     2   131
+ 1203    11    32    34     2    77
+ 1204    11    18    34     2    42
+ 1205    11    18    34     2   131
+ 1206    11    18    34     2    77
+ 1207    11    10    34     2    42
+ 1208    11    10    34     2   131
+ 1209    11    10    34     2    77
+ 1210    11     2    34    10    50
+ 1211    11     2    34    10    67
+ 1212    11     2    34    10   102
+ 1213    11    32    34    10    50
+ 1214    11    32    34    10    67
+ 1215    11    32    34    10   102
+ 1216    11    18    34    10    50
+ 1217    11    18    34    10    67
+ 1218    11    18    34    10   102
+ 1219    11     2    34    18    58
+ 1220    11     2    34    18   111
+ 1221    11     2    34    18    87
+ 1222    11    32    34    18    58
+ 1223    11    32    34    18   111
+ 1224    11    32    34    18    87
+ 1225    11    10    34    18    58
+ 1226    11    10    34    18   111
+ 1227    11    10    34    18    87
+ 1228    11     2    34    32   115
+ 1229    11     2    34    32   128
+ 1230    11     2    34    32    96
+ 1231    11    18    34    32   115
+ 1232    11    18    34    32   128
+ 1233    11    18    34    32    96
+ 1234    11    10    34    32   115
+ 1235    11    10    34    32   128
+ 1236    11    10    34    32    96
+ 1237     9    32    96   168   111
+ 1238    10    32    96   168   312
+ 1239     9    18   111   168    96
+ 1240    10    18   111   168   312
+ 1241     9   115   174   102    10
+ 1242    10   318   174   102    10
+ 1243    10    32   115   174   318
+ 1244     9    32   115   174   102
+ 1245     9    32   128   184   131
+ 1246    10    32   128   184   328
+ 1247     9     2   131   184   128
+ 1248    10     2   131   184   328
+
+Impropers
+
+    1     2   137    41   281    68
+    2     2   138    42    67   282
+    3     2   139    66    43   283
+    4     2   140    65   284    44
+    5     2   141   285    45    70
+    6     2   142    69    46   286
+    7     2   143   287    47    72
+    8     2   144   288    71    48
+    9     2   145    49   289    88
+   10     2   146    50    87   290
+   11     2   147    51   291    86
+   12     2   148   292    52    85
+   13     2   149    82    53   293
+   14     2   150    81    54   294
+   15     2   151    84   295    55
+   16     2   152    83   296    56
+   17     2   153    57   297    78
+   18     2   154    58    77   298
+   19     2   155    59   299    80
+   20     2   156   300    60    79
+   21     2   157   301    76    61
+   22     2   158    75    62   302
+   23     2   159    74   303    63
+   24     2   160    73   304    64
+   25     2   161    89   305   108
+   26     2   162   306   107    90
+   27     2   163   106    91   307
+   28     2   164   105    92   308
+   29     2   165    93   309   110
+   30     2   166   109   310    94
+   31     2   167    95   311   112
+   32     2   168    96   111   312
+   33     2   169    97   313   118
+   34     2   170   314   117    98
+   35     2   171   315    99   120
+   36     2   172   316   100   119
+   37     2   173   101   116   317
+   38     2   174   115   318   102
+   39     2   175   114   319   103
+   40     2   176   113   104   320
+   41     2   177   121   321   136
+   42     2   178   322   135   122
+   43     2   179   323   123   134
+   44     2   180   124   324   133
+   45     2   181   125   325   130
+   46     2   182   129   326   126
+   47     2   183   132   127   327
+   48     2   184   131   128   328
+   49     3   185   329   281   188
+   50     3   186   282   187   330
+   51     3   187   186   331   283
+   52     3   188   185   284   332
+   53     3   189   333   285   192
+   54     3   190   286   191   334
+   55     3   191   335   190   287
+   56     3   192   288   189   336
+   57     3   193   289   337   196
+   58     3   194   290   195   338
+   59     3   195   194   339   291
+   60     3   196   193   340   292
+   61     3   197   293   341   200
+   62     3   198   342   199   294
+   63     3   199   343   198   295
+   64     3   200   344   197   296
+   65     3   201   297   345   204
+   66     3   202   346   203   298
+   67     3   203   202   347   299
+   68     3   204   201   300   348
+   69     3   205   349   301   208
+   70     3   206   350   207   302
+   71     3   207   351   206   303
+   72     3   208   304   205   352
+   73     3   209   353   284   212
+   74     3   210   354   211   283
+   75     3   211   210   355   282
+   76     3   212   209   281   356
+   77     3   213   357   286   216
+   78     3   214   285   358   215
+   79     3   215   214   359   288
+   80     3   216   213   287   360
+   81     3   217   361   220   304
+   82     3   218   362   219   303
+   83     3   219   218   363   302
+   84     3   220   217   364   301
+   85     3   221   298   365   224
+   86     3   222   297   366   223
+   87     3   223   300   222   367
+   88     3   224   299   221   368
+   89     3   225   369   228   294
+   90     3   226   370   227   293
+   91     3   227   226   371   296
+   92     3   228   225   372   295
+   93     3   229   292   373   232
+   94     3   230   291   374   231
+   95     3   231   290   230   375
+   96     3   232   289   229   376
+   97     3   233   305   377   236
+   98     3   234   306   235   378
+   99     3   235   234   307   379
+  100     3   236   233   380   308
+  101     3   237   381   309   240
+  102     3   238   310   239   382
+  103     3   239   383   238   311
+  104     3   240   384   237   312
+  105     3   241   313   385   244
+  106     3   242   314   243   386
+  107     3   243   242   315   387
+  108     3   244   241   316   388
+  109     3   245   317   389   248
+  110     3   246   318   247   390
+  111     3   247   246   319   391
+  112     3   248   320   245   392
+  113     3   249   393   308   252
+  114     3   250   394   251   307
+  115     3   251   250   395   306
+  116     3   252   249   305   396
+  117     3   253   397   310   256
+  118     3   254   309   398   255
+  119     3   255   254   399   312
+  120     3   256   253   311   400
+  121     3   257   401   260   320
+  122     3   258   402   259   319
+  123     3   259   258   403   318
+  124     3   260   257   404   317
+  125     3   261   314   405   264
+  126     3   262   313   406   263
+  127     3   263   316   262   407
+  128     3   264   315   261   408
+  129     3   265   321   409   268
+  130     3   266   322   267   410
+  131     3   267   266   323   411
+  132     3   268   265   324   412
+  133     3   269   413   325   272
+  134     3   270   326   271   414
+  135     3   271   270   327   415
+  136     3   272   416   269   328
+  137     3   273   417   276   326
+  138     3   274   418   275   325
+  139     3   275   274   419   328
+  140     3   276   273   420   327
+  141     3   277   324   421   280
+  142     3   278   323   422   279
+  143     3   279   322   278   423
+  144     3   280   321   277   424
+  145     1   281   137   185   212
+  146     1   282   138   211   186
+  147     1   283   210   139   187
+  148     1   284   209   140   188
+  149     1   285   189   141   214
+  150     1   286   213   142   190
+  151     1   287   191   143   216
+  152     1   288   192   215   144
+  153     1   289   145   193   232
+  154     1   290   146   231   194
+  155     1   291   147   195   230
+  156     1   292   148   229   196
+  157     1   293   197   149   226
+  158     1   294   225   150   198
+  159     1   295   228   199   151
+  160     1   296   227   200   152
+  161     1   297   153   201   222
+  162     1   298   154   221   202
+  163     1   299   155   203   224
+  164     1   300   156   223   204
+  165     1   301   205   220   157
+  166     1   302   219   158   206
+  167     1   303   218   207   159
+  168     1   304   217   208   160
+  169     1   305   161   233   252
+  170     1   306   162   251   234
+  171     1   307   250   163   235
+  172     1   308   249   164   236
+  173     1   309   237   165   254
+  174     1   310   253   166   238
+  175     1   311   239   167   256
+  176     1   312   240   255   168
+  177     1   313   241   169   262
+  178     1   314   170   261   242
+  179     1   315   243   171   264
+  180     1   316   172   263   244
+  181     1   317   245   260   173
+  182     1   318   259   246   174
+  183     1   319   258   247   175
+  184     1   320   257   176   248
+  185     1   321   265   177   280
+  186     1   322   178   279   266
+  187     1   323   267   278   179
+  188     1   324   268   180   277
+  189     1   325   269   181   274
+  190     1   326   273   270   182
+  191     1   327   276   271   183
+  192     1   328   275   184   272
diff --git a/examples/USER/yaff/mof5/lammps.in b/examples/USER/yaff/mof5/lammps.in
new file mode 100644
index 0000000000000000000000000000000000000000..1decfd77e4d67fea6a4b3ff9019ecf0a8641425e
--- /dev/null
+++ b/examples/USER/yaff/mof5/lammps.in
@@ -0,0 +1,42 @@
+#########################################
+#General settings
+#########################################
+units           real
+atom_style      full
+boundary        p p p
+dielectric      1
+
+#########################################
+#Force field and system specification
+#########################################
+special_bonds   lj 0.000000 0.000000 1.000000 coul 1.000000 1.000000 1.000000
+pair_style      mm3/switch3/coulgauss/long  12.0000  4.0000
+pair_modify     table 16 # Accuracy of the table used for real space electrostatics
+pair_modify     mix arithmetic
+pair_modify     tail no
+bond_style      mm3
+angle_style     hybrid cross mm3
+dihedral_style  fourier
+improper_style  distharm
+box tilt large
+
+read_data       lammps.data       # Data file location
+kspace_style    pppm 0.0000001      # Ewald accuracy
+neighbor        2.0 multi
+neigh_modify    every 2 delay 4 check yes
+
+#########################################
+#Output settings
+#########################################
+thermo 10       # Provide output every n steps
+thermo_style 	custom step time etotal ke temp pe emol evdwl ecoul elong etail vol press
+thermo_modify	line multi format float %20.12f
+
+#########################################
+#Sampling options
+#########################################
+timestep 0.5 # in femtosecond
+velocity all create 0.0 5 # initial temperature in Kelvin and random seed
+fix 1 all npt temp 300.0 300.0 100.0 tri 1.0 1.0 1000.0 tchain 3 mtk yes nreset 1000
+fix_modify 1 energy yes # Add thermo/barostat contributions to energy
+run 100
diff --git a/src/Makefile b/src/Makefile
index c58d5bd9eb0be6ccae0339d65bb602cf4b6468fe..ee3159b588bf2775b969f3ec2fe2bd2aff9ead61 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -63,7 +63,7 @@ PACKUSER = user-atc user-awpmd user-bocs user-cgdna user-cgsdk user-colvars \
 	   user-mgpt user-misc user-mofff user-molfile \
 	   user-netcdf user-omp user-phonon user-plumed user-ptm user-qmmm \
 	   user-qtb user-quip user-reaxc user-scafacos user-smd user-smtbq \
-	   user-sdpd user-sph user-tally user-uef user-vtk
+	   user-sdpd user-sph user-tally user-uef user-vtk user-yaff
 
 PACKLIB = compress gpu kim kokkos latte message mpiio mscg poems \
 	  python voronoi \
diff --git a/src/USER-YAFF/README b/src/USER-YAFF/README
new file mode 100644
index 0000000000000000000000000000000000000000..4fabe6739066591b0cbc1de0cf0bfbed9afd16f8
--- /dev/null
+++ b/src/USER-YAFF/README
@@ -0,0 +1,8 @@
+This package implements the styles that are needed to use typical force fields
+generated by QuickFF for the simulation of metal-organic frameworks. The
+QuickFF methodology is detailed in following papers:
+    Vanduyfhuys et al., J. Comput. Chem., 36 (13), 1015-1027 (2015) http://dx.doi.org/10.1002/jcc.23877
+    Vanduyfhuys et al., J. Comput. Chem., 39 (16), 999-1011 (2018) http://dx.doi.org/10.1002/jcc.25173
+The corresponding software package can be found on http://molmod.github.io/QuickFF
+
+
diff --git a/src/USER-YAFF/angle_cross.cpp b/src/USER-YAFF/angle_cross.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..a31931a23b429078628b01ba4c9af3d0a0875667
--- /dev/null
+++ b/src/USER-YAFF/angle_cross.cpp
@@ -0,0 +1,344 @@
+/* ----------------------------------------------------------------------
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   Copyright (2003) Sandia Corporation.  Under the terms of Contract
+   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+   certain rights in this software.  This software is distributed under
+   the GNU General Public License.
+
+   See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+/* ----------------------------------------------------------------------
+   Contributing author: Steven Vandenbrande
+------------------------------------------------------------------------- */
+
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include "angle_cross.h"
+#include "atom.h"
+#include "neighbor.h"
+#include "domain.h"
+#include "comm.h"
+#include "force.h"
+#include "math_const.h"
+#include "memory.h"
+#include "error.h"
+
+using namespace LAMMPS_NS;
+using namespace MathConst;
+
+#define SMALL 0.001
+
+/* ---------------------------------------------------------------------- */
+
+AngleCross::AngleCross(LAMMPS *lmp) : Angle(lmp) {}
+
+/* ---------------------------------------------------------------------- */
+
+AngleCross::~AngleCross()
+{
+  if (copymode) return;
+
+  if (allocated) {
+    memory->destroy(setflag);
+    memory->destroy(kss);
+    memory->destroy(kbs0);
+    memory->destroy(kbs1);
+    memory->destroy(r00);
+    memory->destroy(r01);
+    memory->destroy(theta0);
+  }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void AngleCross::compute(int eflag, int vflag)
+{
+  int i1,i2,i3,n,type;
+  double delx1,dely1,delz1,delx2,dely2,delz2;
+  double eangle,f1[3],f3[3];
+  double dtheta,dtheta2,dtheta3,dtheta4,de_angle;
+  double dr1,dr2,tk1,tk2,aa1,aa2,aa11,aa12,aa21,aa22;
+  double rsq1,rsq2,r1,r2,c,s,a,a11,a12,a22,b1,b2;
+  double vx11,vx12,vy11,vy12,vz11,vz12,vx21,vx22,vy21,vy22,vz21,vz22;
+
+  eangle = 0.0;
+  if (eflag || vflag) ev_setup(eflag,vflag);
+  else evflag = 0;
+
+  double **x = atom->x;
+  double **f = atom->f;
+  int **anglelist = neighbor->anglelist;
+  int nanglelist = neighbor->nanglelist;
+  int nlocal = atom->nlocal;
+  int newton_bond = force->newton_bond;
+
+  for (n = 0; n < nanglelist; n++) {
+    i1 = anglelist[n][0];
+    i2 = anglelist[n][1];
+    i3 = anglelist[n][2];
+    type = anglelist[n][3];
+
+    // 1st bond
+
+    delx1 = x[i1][0] - x[i2][0];
+    dely1 = x[i1][1] - x[i2][1];
+    delz1 = x[i1][2] - x[i2][2];
+
+    rsq1 = delx1*delx1 + dely1*dely1 + delz1*delz1;
+    r1 = sqrt(rsq1);
+
+    // 2nd bond
+
+    delx2 = x[i3][0] - x[i2][0];
+    dely2 = x[i3][1] - x[i2][1];
+    delz2 = x[i3][2] - x[i2][2];
+
+    rsq2 = delx2*delx2 + dely2*dely2 + delz2*delz2;
+    r2 = sqrt(rsq2);
+
+    // angle (cos and sin)
+
+    c = delx1*delx2 + dely1*dely2 + delz1*delz2;
+    c /= r1*r2;
+
+    if (c > 1.0) c = 1.0;
+    if (c < -1.0) c = -1.0;
+
+    s = sqrt(1.0 - c*c);
+    if (s < SMALL) s = SMALL;
+    s = 1.0/s;
+
+    // force & energy for bond-bond term
+    dr1 = r1 - r00[type];
+    dr2 = r2 - r01[type];
+    tk1 = kss[type] * dr1;
+    tk2 = kss[type] * dr2;
+
+    f1[0] = -delx1*tk2/r1;
+    f1[1] = -dely1*tk2/r1;
+    f1[2] = -delz1*tk2/r1;
+
+    f3[0] = -delx2*tk1/r2;
+    f3[1] = -dely2*tk1/r2;
+    f3[2] = -delz2*tk1/r2;
+
+    if (eflag) eangle = kss[type]*dr1*dr2;
+
+    // force & energy for bond-angle term
+    dtheta = acos(c) - theta0[type];
+
+    aa1 = s * dr1 * kbs0[type];
+    aa2 = s * dr2 * kbs1[type];
+
+    aa11 = aa1 * c / rsq1;
+    aa12 = -aa1 / (r1 * r2);
+    aa21 = aa2 * c / rsq1;
+    aa22 = -aa2 / (r1 * r2);
+
+    vx11 = (aa11 * delx1) + (aa12 * delx2);
+    vx12 = (aa21 * delx1) + (aa22 * delx2);
+    vy11 = (aa11 * dely1) + (aa12 * dely2);
+    vy12 = (aa21 * dely1) + (aa22 * dely2);
+    vz11 = (aa11 * delz1) + (aa12 * delz2);
+    vz12 = (aa21 * delz1) + (aa22 * delz2);
+
+    aa11 = aa1 * c / rsq2;
+    aa21 = aa2 * c / rsq2;
+
+    vx21 = (aa11 * delx2) + (aa12 * delx1);
+    vx22 = (aa21 * delx2) + (aa22 * delx1);
+    vy21 = (aa11 * dely2) + (aa12 * dely1);
+    vy22 = (aa21 * dely2) + (aa22 * dely1);
+    vz21 = (aa11 * delz2) + (aa12 * delz1);
+    vz22 = (aa21 * delz2) + (aa22 * delz1);
+
+    b1 = kbs0[type] * dtheta / r1;
+    b2 = kbs1[type] * dtheta / r2;
+
+    f1[0] -= vx11 + b1*delx1 + vx12;
+    f1[1] -= vy11 + b1*dely1 + vy12;
+    f1[2] -= vz11 + b1*delz1 + vz12;
+
+    f3[0] -= vx21 + b2*delx2 + vx22;
+    f3[1] -= vy21 + b2*dely2 + vy22;
+    f3[2] -= vz21 + b2*delz2 + vz22;
+
+    if (eflag) eangle += kbs0[type]*dr1*dtheta + kbs1[type]*dr2*dtheta;
+
+    // apply force to each of 3 atoms
+
+    if (newton_bond || i1 < nlocal) {
+      f[i1][0] += f1[0];
+      f[i1][1] += f1[1];
+      f[i1][2] += f1[2];
+    }
+
+    if (newton_bond || i2 < nlocal) {
+      f[i2][0] -= f1[0] + f3[0];
+      f[i2][1] -= f1[1] + f3[1];
+      f[i2][2] -= f1[2] + f3[2];
+    }
+
+    if (newton_bond || i3 < nlocal) {
+      f[i3][0] += f3[0];
+      f[i3][1] += f3[1];
+      f[i3][2] += f3[2];
+    }
+
+    if (evflag) ev_tally(i1,i2,i3,nlocal,newton_bond,eangle,f1,f3,
+                         delx1,dely1,delz1,delx2,dely2,delz2);
+  }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void AngleCross::allocate()
+{
+  allocated = 1;
+  int n = atom->nangletypes;
+
+  memory->create(kss,n+1,"angle:kss");
+  memory->create(kbs0,n+1,"angle:kbs0");
+  memory->create(kbs1,n+1,"angle:kbs1");
+  memory->create(r00,n+1,"angle:r00");
+  memory->create(r01,n+1,"angle:r01");
+  memory->create(theta0,n+1,"angle:theta0");
+  memory->create(setflag,n+1,"angle:setflag");
+
+  for (int i = 1; i <= n; i++)
+    setflag[i] = 0;
+}
+
+/* ----------------------------------------------------------------------
+   set coeffs
+------------------------------------------------------------------------- */
+
+void AngleCross::coeff(int narg, char **arg)
+{
+  if (narg != 7) error->all(FLERR,"Incorrect args for angle coefficients");
+  if (!allocated) allocate();
+
+  int ilo,ihi;
+  force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi);
+
+  int count = 0;
+
+    double kss_one = force->numeric(FLERR,arg[1]);
+    double kbs0_one = force->numeric(FLERR,arg[2]);
+    double kbs1_one = force->numeric(FLERR,arg[3]);
+    double r0_one = force->numeric(FLERR,arg[4]);
+    double r1_one = force->numeric(FLERR,arg[5]);
+    double theta0_one = force->numeric(FLERR,arg[6]);
+
+    for (int i = ilo; i <= ihi; i++) {
+      kss[i] = kss_one;
+      kbs0[i] = kbs0_one;
+      kbs1[i] = kbs1_one;
+      r00[i] = r0_one;
+      r01[i] = r1_one;
+      // Convert theta0 from degrees to radians
+      theta0[i] = theta0_one*MY_PI/180.0;
+      setflag[i] = 1;
+      count++;
+    }
+
+  if (count == 0) error->all(FLERR,"Incorrect args for angle coefficients");
+}
+
+/* ---------------------------------------------------------------------- */
+
+double AngleCross::equilibrium_angle(int i)
+{
+  return theta0[i];
+}
+
+/* ----------------------------------------------------------------------
+   proc 0 writes out coeffs to restart file
+------------------------------------------------------------------------- */
+
+void AngleCross::write_restart(FILE *fp)
+{
+  fwrite(&kss[1],sizeof(double),atom->nangletypes,fp);
+  fwrite(&kbs0[1],sizeof(double),atom->nangletypes,fp);
+  fwrite(&kbs1[1],sizeof(double),atom->nangletypes,fp);
+  fwrite(&r00[1],sizeof(double),atom->nangletypes,fp);
+  fwrite(&r01[1],sizeof(double),atom->nangletypes,fp);
+  fwrite(&theta0[1],sizeof(double),atom->nangletypes,fp);
+}
+
+/* ----------------------------------------------------------------------
+   proc 0 reads coeffs from restart file, bcasts them
+------------------------------------------------------------------------- */
+
+void AngleCross::read_restart(FILE *fp)
+{
+  allocate();
+
+  if (comm->me == 0) {
+    fread(&kss[1],sizeof(double),atom->nangletypes,fp);
+    fread(&kbs0[1],sizeof(double),atom->nangletypes,fp);
+    fread(&kbs1[1],sizeof(double),atom->nangletypes,fp);
+    fread(&r00[1],sizeof(double),atom->nangletypes,fp);
+    fread(&r01[1],sizeof(double),atom->nangletypes,fp);
+    fread(&theta0[1],sizeof(double),atom->nangletypes,fp);
+  }
+
+  MPI_Bcast(&kss[1],atom->nangletypes,MPI_DOUBLE,0,world);
+  MPI_Bcast(&kbs0[1],atom->nangletypes,MPI_DOUBLE,0,world);
+  MPI_Bcast(&kbs1[1],atom->nangletypes,MPI_DOUBLE,0,world);
+  MPI_Bcast(&r00[1],atom->nangletypes,MPI_DOUBLE,0,world);
+  MPI_Bcast(&r01[1],atom->nangletypes,MPI_DOUBLE,0,world);
+  MPI_Bcast(&theta0[1],atom->nangletypes,MPI_DOUBLE,0,world);
+
+  for (int i = 1; i <= atom->nangletypes; i++) setflag[i] = 1;
+}
+
+/* ----------------------------------------------------------------------
+   proc 0 writes to data file
+------------------------------------------------------------------------- */
+
+void AngleCross::write_data(FILE *fp)
+{
+  for (int i = 1; i <= atom->nangletypes; i++)
+    fprintf(fp,"%d %g %g %g %g\n",
+            i,kss[i],kbs0[i],kbs1[i],r00[i],r01[i],theta0[i]/MY_PI*180.0);
+}
+
+/* ---------------------------------------------------------------------- */
+
+double AngleCross::single(int type, int i1, int i2, int i3)
+{
+  double **x = atom->x;
+
+  double delx1 = x[i1][0] - x[i2][0];
+  double dely1 = x[i1][1] - x[i2][1];
+  double delz1 = x[i1][2] - x[i2][2];
+  domain->minimum_image(delx1,dely1,delz1);
+  double r1 = sqrt(delx1*delx1 + dely1*dely1 + delz1*delz1);
+
+  double delx2 = x[i3][0] - x[i2][0];
+  double dely2 = x[i3][1] - x[i2][1];
+  double delz2 = x[i3][2] - x[i2][2];
+  domain->minimum_image(delx2,dely2,delz2);
+  double r2 = sqrt(delx2*delx2 + dely2*dely2 + delz2*delz2);
+
+  double c = delx1*delx2 + dely1*dely2 + delz1*delz2;
+  c /= r1*r2;
+  if (c > 1.0) c = 1.0;
+  if (c < -1.0) c = -1.0;
+
+  double s = sqrt(1.0 - c*c);
+  if (s < SMALL) s = SMALL;
+  s = 1.0/s;
+
+  double dtheta = acos(c) - theta0[type];
+  double dr1 = r1 - r00[type];
+  double dr2 = r2 - r01[type];
+  double energy = kss[type]*dr1*dr2+kbs0[type]*dr1*dtheta + kbs1[type]*dr2*dtheta;
+  return energy;
+}
diff --git a/src/USER-YAFF/angle_cross.h b/src/USER-YAFF/angle_cross.h
new file mode 100644
index 0000000000000000000000000000000000000000..7709c104145a4ebad853814dcadf792e9e0f5c3e
--- /dev/null
+++ b/src/USER-YAFF/angle_cross.h
@@ -0,0 +1,57 @@
+/* -*- c++ -*- ----------------------------------------------------------
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   Copyright (2003) Sandia Corporation.  Under the terms of Contract
+   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+   certain rights in this software.  This software is distributed under
+   the GNU General Public License.
+
+   See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#ifdef ANGLE_CLASS
+
+AngleStyle(cross,AngleCross)
+
+#else
+
+#ifndef LMP_ANGLE_CROSS_H
+#define LMP_ANGLE_CROSS_H
+
+#include <stdio.h>
+#include "angle.h"
+
+namespace LAMMPS_NS {
+
+class AngleCross : public Angle {
+ public:
+  AngleCross(class LAMMPS *);
+  virtual ~AngleCross();
+  virtual void compute(int, int);
+  void coeff(int, char **);
+  double equilibrium_angle(int);
+  void write_restart(FILE *);
+  void read_restart(FILE *);
+  void write_data(FILE *);
+  double single(int, int, int, int);
+
+ protected:
+  double *kss,*kbs0,*kbs1,*r00,*r01,*theta0;
+
+  void allocate();
+};
+
+}
+
+#endif
+#endif
+
+/* ERROR/WARNING messages:
+
+E: Incorrect args for angle coefficients
+
+Self-explanatory.  Check the input script or data file.
+
+*/
diff --git a/src/USER-YAFF/angle_mm3.cpp b/src/USER-YAFF/angle_mm3.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..ccd9b2e20ead2ec13815f3a06270805d6b316013
--- /dev/null
+++ b/src/USER-YAFF/angle_mm3.cpp
@@ -0,0 +1,288 @@
+/* ----------------------------------------------------------------------
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   Copyright (2003) Sandia Corporation.  Under the terms of Contract
+   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+   certain rights in this software.  This software is distributed under
+   the GNU General Public License.
+
+   See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+/* ----------------------------------------------------------------------
+   Contributing author: Steven Vandenbrande
+------------------------------------------------------------------------- */
+
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include "angle_mm3.h"
+#include "atom.h"
+#include "neighbor.h"
+#include "domain.h"
+#include "comm.h"
+#include "force.h"
+#include "math_const.h"
+#include "memory.h"
+#include "error.h"
+
+using namespace LAMMPS_NS;
+using namespace MathConst;
+
+#define SMALL 0.001
+
+/* ---------------------------------------------------------------------- */
+
+AngleMM3::AngleMM3(LAMMPS *lmp) : Angle(lmp) {}
+
+/* ---------------------------------------------------------------------- */
+
+AngleMM3::~AngleMM3()
+{
+  if (copymode) return;
+
+  if (allocated) {
+    memory->destroy(setflag);
+    memory->destroy(theta0);
+    memory->destroy(k2);
+  }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void AngleMM3::compute(int eflag, int vflag)
+{
+  int i1,i2,i3,n,type;
+  double delx1,dely1,delz1,delx2,dely2,delz2;
+  double eangle,f1[3],f3[3];
+  double dtheta,dtheta2,dtheta3,dtheta4,de_angle;
+  double dr1,dr2,tk1,tk2,aa1,aa2,aa11,aa12,aa21,aa22;
+  double rsq1,rsq2,r1,r2,c,s,a,a11,a12,a22,b1,b2;
+  double vx11,vx12,vy11,vy12,vz11,vz12,vx21,vx22,vy21,vy22,vz21,vz22;
+
+  eangle = 0.0;
+  if (eflag || vflag) ev_setup(eflag,vflag);
+  else evflag = 0;
+
+  double **x = atom->x;
+  double **f = atom->f;
+  int **anglelist = neighbor->anglelist;
+  int nanglelist = neighbor->nanglelist;
+  int nlocal = atom->nlocal;
+  int newton_bond = force->newton_bond;
+
+  for (n = 0; n < nanglelist; n++) {
+    i1 = anglelist[n][0];
+    i2 = anglelist[n][1];
+    i3 = anglelist[n][2];
+    type = anglelist[n][3];
+
+    // 1st bond
+
+    delx1 = x[i1][0] - x[i2][0];
+    dely1 = x[i1][1] - x[i2][1];
+    delz1 = x[i1][2] - x[i2][2];
+
+    rsq1 = delx1*delx1 + dely1*dely1 + delz1*delz1;
+    r1 = sqrt(rsq1);
+
+    // 2nd bond
+
+    delx2 = x[i3][0] - x[i2][0];
+    dely2 = x[i3][1] - x[i2][1];
+    delz2 = x[i3][2] - x[i2][2];
+
+    rsq2 = delx2*delx2 + dely2*dely2 + delz2*delz2;
+    r2 = sqrt(rsq2);
+
+    // angle (cos and sin)
+
+    c = delx1*delx2 + dely1*dely2 + delz1*delz2;
+    c /= r1*r2;
+
+    if (c > 1.0) c = 1.0;
+    if (c < -1.0) c = -1.0;
+
+    s = sqrt(1.0 - c*c);
+    if (s < SMALL) s = SMALL;
+    s = 1.0/s;
+
+    // force & energy for angle term
+
+    dtheta = acos(c) - theta0[type];
+    dtheta2 = dtheta*dtheta;
+    dtheta3 = dtheta2*dtheta;
+    dtheta4 = dtheta3*dtheta;
+    // MM3 angle term, taking into account that dtheta is expressed in rad
+    de_angle = 2.0*k2[type]*dtheta*(1.0-1.203211*dtheta+0.367674*dtheta2-0.3239159*dtheta3+0.711270*dtheta4);
+
+    a = -de_angle*s;
+    a11 = a*c / rsq1;
+    a12 = -a / (r1*r2);
+    a22 = a*c / rsq2;
+
+    f1[0] = a11*delx1 + a12*delx2;
+    f1[1] = a11*dely1 + a12*dely2;
+    f1[2] = a11*delz1 + a12*delz2;
+
+    f3[0] = a22*delx2 + a12*delx1;
+    f3[1] = a22*dely2 + a12*dely1;
+    f3[2] = a22*delz2 + a12*delz1;
+    // MM3 angle term, taking into account that dtheta is expressed in rad
+    if (eflag) eangle = k2[type]*dtheta2*(1.0-0.802141*dtheta+0.183837*dtheta2-0.131664*dtheta3+0.237090*dtheta4);
+
+    // apply force to each of 3 atoms
+
+    if (newton_bond || i1 < nlocal) {
+      f[i1][0] += f1[0];
+      f[i1][1] += f1[1];
+      f[i1][2] += f1[2];
+    }
+
+    if (newton_bond || i2 < nlocal) {
+      f[i2][0] -= f1[0] + f3[0];
+      f[i2][1] -= f1[1] + f3[1];
+      f[i2][2] -= f1[2] + f3[2];
+    }
+
+    if (newton_bond || i3 < nlocal) {
+      f[i3][0] += f3[0];
+      f[i3][1] += f3[1];
+      f[i3][2] += f3[2];
+    }
+
+    if (evflag) ev_tally(i1,i2,i3,nlocal,newton_bond,eangle,f1,f3,
+                         delx1,dely1,delz1,delx2,dely2,delz2);
+  }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void AngleMM3::allocate()
+{
+  allocated = 1;
+  int n = atom->nangletypes;
+
+  memory->create(setflag,n+1,"angle:setflag");
+  memory->create(k2,n+1,"angle:k2");
+  memory->create(theta0,n+1,"angle:theta0");
+  for (int i = 1; i <= n; i++)
+    setflag[i] = 0;
+}
+
+/* ----------------------------------------------------------------------
+   set coeffs
+   else -> Angle coeffs
+------------------------------------------------------------------------- */
+
+void AngleMM3::coeff(int narg, char **arg)
+{
+  if (narg != 3) error->all(FLERR,"Incorrect args for angle coefficients");
+  if (!allocated) allocate();
+
+  int ilo,ihi;
+  force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi);
+
+  int count = 0;
+
+  double k2_one = force->numeric(FLERR,arg[1]);
+  double theta0_one = force->numeric(FLERR,arg[2]);
+
+  // convert theta0 from degrees to radians
+
+  for (int i = ilo; i <= ihi; i++) {
+    k2[i] = k2_one;
+    theta0[i] = theta0_one/180.0 * MY_PI;
+    setflag[i] = 1;
+    count++;
+  }
+
+  if (count == 0) error->all(FLERR,"Incorrect args for angle coefficients");
+
+}
+
+/* ---------------------------------------------------------------------- */
+
+double AngleMM3::equilibrium_angle(int i)
+{
+  return theta0[i];
+}
+
+/* ----------------------------------------------------------------------
+   proc 0 writes out coeffs to restart file
+------------------------------------------------------------------------- */
+
+void AngleMM3::write_restart(FILE *fp)
+{
+  fwrite(&k2[1],sizeof(double),atom->nangletypes,fp);
+  fwrite(&theta0[1],sizeof(double),atom->nangletypes,fp);
+}
+
+/* ----------------------------------------------------------------------
+   proc 0 reads coeffs from restart file, bcasts them
+------------------------------------------------------------------------- */
+
+void AngleMM3::read_restart(FILE *fp)
+{
+  allocate();
+
+  if (comm->me == 0) {
+    fread(&k2[1],sizeof(double),atom->nangletypes,fp);
+    fread(&theta0[1],sizeof(double),atom->nangletypes,fp);
+  }
+
+  MPI_Bcast(&k2[1],atom->nangletypes,MPI_DOUBLE,0,world);
+  MPI_Bcast(&theta0[1],atom->nangletypes,MPI_DOUBLE,0,world);
+
+  for (int i = 1; i <= atom->nangletypes; i++) setflag[i] = 1;
+}
+
+/* ----------------------------------------------------------------------
+   proc 0 writes to data file
+------------------------------------------------------------------------- */
+
+void AngleMM3::write_data(FILE *fp)
+{
+  for (int i = 1; i <= atom->nangletypes; i++)
+    fprintf(fp,"%d %g %g\n",
+            i,k2[i],theta0[i]/MY_PI*180.0);
+}
+
+/* ---------------------------------------------------------------------- */
+
+double AngleMM3::single(int type, int i1, int i2, int i3)
+{
+  double **x = atom->x;
+
+  double delx1 = x[i1][0] - x[i2][0];
+  double dely1 = x[i1][1] - x[i2][1];
+  double delz1 = x[i1][2] - x[i2][2];
+  domain->minimum_image(delx1,dely1,delz1);
+  double r1 = sqrt(delx1*delx1 + dely1*dely1 + delz1*delz1);
+
+  double delx2 = x[i3][0] - x[i2][0];
+  double dely2 = x[i3][1] - x[i2][1];
+  double delz2 = x[i3][2] - x[i2][2];
+  domain->minimum_image(delx2,dely2,delz2);
+  double r2 = sqrt(delx2*delx2 + dely2*dely2 + delz2*delz2);
+
+  double c = delx1*delx2 + dely1*dely2 + delz1*delz2;
+  c /= r1*r2;
+  if (c > 1.0) c = 1.0;
+  if (c < -1.0) c = -1.0;
+
+  double s = sqrt(1.0 - c*c);
+  if (s < SMALL) s = SMALL;
+  s = 1.0/s;
+
+  double dtheta = acos(c) - theta0[type];
+  double dtheta2 = dtheta*dtheta;
+  double dtheta3 = dtheta2*dtheta;
+  double dtheta4 = dtheta3*dtheta;
+
+  double energy = k2[type]*dtheta2*(1.0-0.802141*dtheta+0.183837*dtheta2-0.131664*dtheta3+0.237090*dtheta4);
+
+  return energy;
+}
diff --git a/src/USER-YAFF/angle_mm3.h b/src/USER-YAFF/angle_mm3.h
new file mode 100644
index 0000000000000000000000000000000000000000..2d19b4d1b464e6e534dcfa9e0a0acafc0b563581
--- /dev/null
+++ b/src/USER-YAFF/angle_mm3.h
@@ -0,0 +1,57 @@
+/* -*- c++ -*- ----------------------------------------------------------
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   Copyright (2003) Sandia Corporation.  Under the terms of Contract
+   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+   certain rights in this software.  This software is distributed under
+   the GNU General Public License.
+
+   See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#ifdef ANGLE_CLASS
+
+AngleStyle(mm3,AngleMM3)
+
+#else
+
+#ifndef LMP_ANGLE_MM3_H
+#define LMP_ANGLE_MM3_H
+
+#include <stdio.h>
+#include "angle.h"
+
+namespace LAMMPS_NS {
+
+class AngleMM3 : public Angle {
+ public:
+  AngleMM3(class LAMMPS *);
+  virtual ~AngleMM3();
+  virtual void compute(int, int);
+  void coeff(int, char **);
+  double equilibrium_angle(int);
+  void write_restart(FILE *);
+  void read_restart(FILE *);
+  void write_data(FILE *);
+  double single(int, int, int, int);
+
+ protected:
+  double *theta0,*k2;
+
+  void allocate();
+};
+
+}
+
+#endif
+#endif
+
+/* ERROR/WARNING messages:
+
+E: Incorrect args for angle coefficients
+
+Self-explanatory.  Check the input script or data file.
+
+*/
diff --git a/src/USER-YAFF/bond_mm3.cpp b/src/USER-YAFF/bond_mm3.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..f0e4197c6bd6029c12d2e1c63b61412b60956333
--- /dev/null
+++ b/src/USER-YAFF/bond_mm3.cpp
@@ -0,0 +1,220 @@
+/* ----------------------------------------------------------------------
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   Copyright (2003) Sandia Corporation.  Under the terms of Contract
+   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+   certain rights in this software.  This software is distributed under
+   the GNU General Public License.
+
+   See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+/* ----------------------------------------------------------------------
+   Contributing author: Steven Vandenbrande
+------------------------------------------------------------------------- */
+
+#include <math.h>
+#include <stdlib.h>
+#include "bond_mm3.h"
+#include "atom.h"
+#include "neighbor.h"
+#include "domain.h"
+#include "comm.h"
+#include "force.h"
+#include "memory.h"
+#include "error.h"
+
+using namespace LAMMPS_NS;
+
+/* ---------------------------------------------------------------------- */
+
+BondMM3::BondMM3(LAMMPS *lmp) : Bond(lmp) {}
+
+/* ---------------------------------------------------------------------- */
+
+BondMM3::~BondMM3()
+{
+  if (copymode) return;
+
+  if (allocated) {
+    memory->destroy(setflag);
+    memory->destroy(r0);
+    memory->destroy(k2);
+  }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void BondMM3::compute(int eflag, int vflag)
+{
+  int i1,i2,n,type;
+  double delx,dely,delz,ebond,fbond;
+  double rsq,r,dr,dr2,de_bond,K3,K4;
+
+  ebond = 0.0;
+  if (eflag || vflag) ev_setup(eflag,vflag);
+  else evflag = 0;
+
+  double **x = atom->x;
+  double **f = atom->f;
+  int **bondlist = neighbor->bondlist;
+  int nbondlist = neighbor->nbondlist;
+  int nlocal = atom->nlocal;
+  int newton_bond = force->newton_bond;
+
+  /*
+  E = K(r-r0)^2 [1-2.55*(r-r0)+(7/12)*2.55^(2)*(r-r0)^2]
+  with -2.55 in angstrom^(-1) and (7/12)*2.55^(2) in angstrom^(-2)
+  These prefactors are converted here to the correct units
+  */
+  K3 = -2.55/force->angstrom;
+  K4 = 7.0/12.0*2.55*2.55/force->angstrom/force->angstrom;
+
+  for (n = 0; n < nbondlist; n++) {
+    i1 = bondlist[n][0];
+    i2 = bondlist[n][1];
+    type = bondlist[n][2];
+
+    delx = x[i1][0] - x[i2][0];
+    dely = x[i1][1] - x[i2][1];
+    delz = x[i1][2] - x[i2][2];
+
+    rsq = delx*delx + dely*dely + delz*delz;
+    r = sqrt(rsq);
+    dr = r - r0[type];
+    dr2 = dr*dr;
+
+    // force & energy
+
+    de_bond = 2.0*k2[type]*dr*(1.0 + 1.5*K3*dr + 2.0*K4*dr2);
+    if (r > 0.0) fbond = -de_bond/r;
+    else fbond = 0.0;
+
+    if (eflag) ebond = k2[type]*dr2*(1.0+K3*dr+K4*dr2);
+
+    // apply force to each of 2 atoms
+
+    if (newton_bond || i1 < nlocal) {
+      f[i1][0] += delx*fbond;
+      f[i1][1] += dely*fbond;
+      f[i1][2] += delz*fbond;
+    }
+
+    if (newton_bond || i2 < nlocal) {
+      f[i2][0] -= delx*fbond;
+      f[i2][1] -= dely*fbond;
+      f[i2][2] -= delz*fbond;
+    }
+
+    if (evflag) ev_tally(i1,i2,nlocal,newton_bond,ebond,fbond,delx,dely,delz);
+  }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void BondMM3::allocate()
+{
+  allocated = 1;
+  int n = atom->nbondtypes;
+
+  memory->create(r0,n+1,"bond:r0");
+  memory->create(k2,n+1,"bond:k2");
+
+  memory->create(setflag,n+1,"bond:setflag");
+  for (int i = 1; i <= n; i++) setflag[i] = 0;
+}
+
+/* ----------------------------------------------------------------------
+   set coeffs from one line in input script or data file
+------------------------------------------------------------------------- */
+
+void BondMM3::coeff(int narg, char **arg)
+{
+  if (narg != 3) error->all(FLERR,"Incorrect args for bond coefficients");
+  if (!allocated) allocate();
+
+  int ilo,ihi;
+  force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi);
+
+  double k2_one = force->numeric(FLERR,arg[1]);
+  double r0_one = force->numeric(FLERR,arg[2]);
+
+  int count = 0;
+  for (int i = ilo; i <= ihi; i++) {
+    k2[i] = k2_one;
+    r0[i] = r0_one;
+    setflag[i] = 1;
+    count++;
+  }
+
+  if (count == 0) error->all(FLERR,"Incorrect args for bond coefficients");
+}
+
+/* ----------------------------------------------------------------------
+   return an equilbrium bond length
+------------------------------------------------------------------------- */
+
+double BondMM3::equilibrium_distance(int i)
+{
+  return r0[i];
+}
+
+/* ----------------------------------------------------------------------
+   proc 0 writes out coeffs to restart file
+------------------------------------------------------------------------- */
+
+void BondMM3::write_restart(FILE *fp)
+{
+  fwrite(&k2[1],sizeof(double),atom->nbondtypes,fp);
+  fwrite(&r0[1],sizeof(double),atom->nbondtypes,fp);
+}
+
+/* ----------------------------------------------------------------------
+   proc 0 reads coeffs from restart file, bcasts them
+------------------------------------------------------------------------- */
+
+void BondMM3::read_restart(FILE *fp)
+{
+  allocate();
+
+  if (comm->me == 0) {
+    fread(&k2[1],sizeof(double),atom->nbondtypes,fp);
+    fread(&r0[1],sizeof(double),atom->nbondtypes,fp);
+  }
+  MPI_Bcast(&k2[1],atom->nbondtypes,MPI_DOUBLE,0,world);
+  MPI_Bcast(&r0[1],atom->nbondtypes,MPI_DOUBLE,0,world);
+
+  for (int i = 1; i <= atom->nbondtypes; i++) setflag[i] = 1;
+}
+
+/* ----------------------------------------------------------------------
+   proc 0 writes to data file
+------------------------------------------------------------------------- */
+
+void BondMM3::write_data(FILE *fp)
+{
+  for (int i = 1; i <= atom->nbondtypes; i++)
+    fprintf(fp,"%d %g %g\n",i,k2[i],r0[i]);
+}
+
+/* ---------------------------------------------------------------------- */
+
+double BondMM3::single(int type, double rsq, int i, int j, double &fforce)
+{
+  /*
+  E = K(r-r0)^2 [1-2.55*(r-r0)+(7/12)*2.55^(2)*(r-r0)^2]
+  with -2.55 in angstrom^(-1) and (7/12)*2.55^(2) in angstrom^(-2)
+  These prefactors are converted here to the correct units
+  */
+  double K3 = -2.55/force->angstrom;
+  double K4 = 7.0/12.0*2.55*2.55/force->angstrom/force->angstrom;
+  double r = sqrt(rsq);
+  double dr = r - r0[type];
+  double dr2 = dr*dr;
+  double de_bond = 2.0*k2[type]*dr*(1.0 + 1.5*K3*dr + 2.0*K4*dr2);
+  if (r > 0.0) fforce = -de_bond/r;
+  else fforce = 0.0;
+  return k2[type]*dr2*(1.0+K3*dr+K4*dr2);
+}
diff --git a/src/USER-YAFF/bond_mm3.h b/src/USER-YAFF/bond_mm3.h
new file mode 100644
index 0000000000000000000000000000000000000000..9711d895290e18aa40a4cfb6e35695673e176f44
--- /dev/null
+++ b/src/USER-YAFF/bond_mm3.h
@@ -0,0 +1,57 @@
+/* -*- c++ -*- ----------------------------------------------------------
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   Copyright (2003) Sandia Corporation.  Under the terms of Contract
+   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+   certain rights in this software.  This software is distributed under
+   the GNU General Public License.
+
+   See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#ifdef BOND_CLASS
+
+BondStyle(mm3,BondMM3)
+
+#else
+
+#ifndef LMP_BOND_MM3_H
+#define LMP_BOND_MM3_H
+
+#include <stdio.h>
+#include "bond.h"
+
+namespace LAMMPS_NS {
+
+class BondMM3 : public Bond {
+ public:
+  BondMM3(class LAMMPS *);
+  virtual ~BondMM3();
+  virtual void compute(int, int);
+  void coeff(int, char **);
+  double equilibrium_distance(int);
+  void write_restart(FILE *);
+  void read_restart(FILE *);
+  void write_data(FILE *);
+  double single(int, double, int, int, double &);
+
+ protected:
+  double *r0,*k2;
+
+  void allocate();
+};
+
+}
+
+#endif
+#endif
+
+/* ERROR/WARNING messages:
+
+E: Incorrect args for bond coefficients
+
+Self-explanatory.  Check the input script or data file.
+
+*/
diff --git a/src/USER-YAFF/improper_distharm.cpp b/src/USER-YAFF/improper_distharm.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..9a54afed9a473c0740693bb13cbe311b846215af
--- /dev/null
+++ b/src/USER-YAFF/improper_distharm.cpp
@@ -0,0 +1,269 @@
+/* ----------------------------------------------------------------------
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   Copyright (2003) Sandia Corporation.  Under the terms of Contract
+   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+   certain rights in this software.  This software is distributed under
+   the GNU General Public License.
+
+   See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+/* ----------------------------------------------------------------------
+   Contributing author: Steven Vandenbrande, heavily based on the
+   improper_distance code by Paolo Raiteri (Curtin University)
+------------------------------------------------------------------------- */
+
+#include <mpi.h>
+#include <math.h>
+#include <stdlib.h>
+#include "improper_distharm.h"
+#include "atom.h"
+#include "comm.h"
+#include "neighbor.h"
+#include "domain.h"
+#include "force.h"
+#include "update.h"
+#include "memory.h"
+#include "error.h"
+
+using namespace LAMMPS_NS;
+
+#define TOLERANCE 0.05
+#define SMALL     0.001
+
+/* ---------------------------------------------------------------------- */
+
+ImproperDistHarm::ImproperDistHarm(LAMMPS *lmp) : Improper(lmp) {}
+
+/* ---------------------------------------------------------------------- */
+
+ImproperDistHarm::~ImproperDistHarm()
+{
+  if (allocated) {
+    memory->destroy(setflag);
+    memory->destroy(k);
+    memory->destroy(chi);
+  }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void ImproperDistHarm::compute(int eflag, int vflag)
+{
+  int i1,i2,i3,i4,n,type;
+  double xab, yab, zab; // bond 1-2
+  double xac, yac, zac; // bond 1-3
+  double xad, yad, zad; // bond 1-4
+  double xbc, ybc, zbc; // bond 2-3
+  double xbd, ybd, zbd; // bond 2-4
+  double xcd, ycd, zcd; // bond 3-4
+  double xna, yna, zna, rna; // normal
+  double da;
+
+  double eimproper,f1[3],f2[3],f3[3],f4[3];
+  double domega,a;
+
+  eimproper = 0.0;
+  if (eflag || vflag) ev_setup(eflag,vflag);
+  else evflag = 0;
+
+  double **x = atom->x;
+  double **f = atom->f;
+  int **improperlist = neighbor->improperlist;
+  int nimproperlist = neighbor->nimproperlist;
+  int nlocal = atom->nlocal;
+  int newton_bond = force->newton_bond;
+
+  for (n = 0; n < nimproperlist; n++) {
+    i1 = improperlist[n][0];
+    i2 = improperlist[n][1];
+    i3 = improperlist[n][2];
+    i4 = improperlist[n][3];
+    type = improperlist[n][4];
+
+    // geometry of 4-body
+    // 4 is the central atom
+    // 1-2-3 are ment to be equivalent
+    // I need the bonds between 2-3 and 3-4 to get the plane normal
+    // Then I need the bond 1-4 to project it onto the normal to the plane
+
+    // bond 1->2
+    xab = x[i2][0] - x[i1][0];
+    yab = x[i2][1] - x[i1][1];
+    zab = x[i2][2] - x[i1][2];
+    domain->minimum_image(xab,yab,zab);
+
+    // bond 1->3
+    xac = x[i3][0] - x[i1][0];
+    yac = x[i3][1] - x[i1][1];
+    zac = x[i3][2] - x[i1][2];
+    domain->minimum_image(xac,yac,zac);
+
+    // bond 1->4
+    xad = x[i4][0] - x[i1][0];
+    yad = x[i4][1] - x[i1][1];
+    zad = x[i4][2] - x[i1][2];
+    domain->minimum_image(xad,yad,zad);
+
+    // bond 2-3
+    xbc = x[i3][0] - x[i2][0];
+    ybc = x[i3][1] - x[i2][1];
+    zbc = x[i3][2] - x[i2][2];
+    domain->minimum_image(xbc,ybc,zbc);
+
+    // bond 2-4
+    xbd = x[i4][0] - x[i2][0];
+    ybd = x[i4][1] - x[i2][1];
+    zbd = x[i4][2] - x[i2][2];
+    domain->minimum_image(xbd,ybd,zbd);
+
+    // bond 3-4
+    xcd = x[i4][0] - x[i3][0];
+    ycd = x[i4][1] - x[i3][1];
+    zcd = x[i4][2] - x[i3][2];
+    domain->minimum_image(xcd,ycd,zcd);
+
+    xna =   ybc*zcd - zbc*ycd;
+    yna = -(xbc*zcd - zbc*xcd);
+    zna =   xbc*ycd - ybc*xcd;
+    rna = 1.0 / sqrt(xna*xna+yna*yna+zna*zna);
+    xna *= rna;
+    yna *= rna;
+    zna *= rna;
+
+    da = -(xna*xad + yna*yad + zna*zad);
+
+
+    domega = k[type]*(da - chi[type])*(da - chi[type]);
+    a =  2.0* k[type]*(da - chi[type]);
+
+    if (eflag) eimproper = domega;
+
+    f1[0] = a*( -xna);
+    f1[1] = a*( -yna);
+    f1[2] = a*( -zna);
+    f4[0] = a*(  xna);
+    f4[1] = a*(  yna);
+    f4[2] = a*(  zna);
+
+    f2[0] =  a*( yad*zcd - zad*ycd )*rna + a*da*rna*( yna*zcd - zna*ycd);
+    f2[1] =  a*( zad*xcd - xad*zcd )*rna + a*da*rna*( zna*xcd - xna*zcd);
+    f2[2] =  a*( xad*ycd - yad*xcd )*rna + a*da*rna*( xna*ycd - yna*xcd);
+
+    f3[0] = - a*( yad*zcd - zad*ycd )*rna - a*da*rna*( yna*zcd - zna*ycd);
+    f3[1] = - a*( zad*xcd - xad*zcd )*rna - a*da*rna*( zna*xcd - xna*zcd);
+    f3[2] = - a*( xad*ycd - yad*xcd )*rna - a*da*rna*( xna*ycd - yna*xcd);
+
+    f3[0] +=  -a*( yad*zbc - zad*ybc )*rna - a*da*rna*( yna*zbc - zna*ybc);
+    f3[1] +=  -a*( zad*xbc - xad*zbc )*rna - a*da*rna*( zna*xbc - xna*zbc);
+    f3[2] +=  -a*( xad*ybc - yad*xbc )*rna - a*da*rna*( xna*ybc - yna*xbc);
+    f4[0] += a*( yad*zbc - zad*ybc )*rna + a*da*rna*( yna*zbc - zna*ybc);
+    f4[1] += a*( zad*xbc - xad*zbc )*rna + a*da*rna*( zna*xbc - xna*zbc);
+    f4[2] += a*( xad*ybc - yad*xbc )*rna + a*da*rna*( xna*ybc - yna*xbc);
+
+    // apply force to each of 4 atoms
+
+    if (newton_bond || i1 < nlocal) {
+      f[i1][0] += f1[0];
+      f[i1][1] += f1[1];
+      f[i1][2] += f1[2];
+    }
+
+    if (newton_bond || i2 < nlocal) {
+      f[i2][0] += f2[0];
+      f[i2][1] += f2[1];
+      f[i2][2] += f2[2];
+    }
+
+    if (newton_bond || i3 < nlocal) {
+      f[i3][0] += f3[0];
+      f[i3][1] += f3[1];
+      f[i3][2] += f3[2];
+    }
+
+    if (newton_bond || i4 < nlocal) {
+      f[i4][0] += f4[0];
+      f[i4][1] += f4[1];
+      f[i4][2] += f4[2];
+    }
+
+    if (evflag)
+      ev_tally(i1,i2,i3,i4,nlocal,newton_bond,eimproper,f2,f3,f4,
+       xab,yab,zab,xac,yac,zac,xad-xac,yad-yac,zad-zac);
+  }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void ImproperDistHarm::allocate()
+{
+  allocated = 1;
+  int n = atom->nimpropertypes;
+
+  memory->create(k,n+1,"improper:k");
+  memory->create(chi,n+1,"improper:chi");
+
+  memory->create(setflag,n+1,"improper:setflag");
+  for (int i = 1; i <= n; i++) setflag[i] = 0;
+}
+
+/* ----------------------------------------------------------------------
+   set coeffs for one type
+------------------------------------------------------------------------- */
+
+void ImproperDistHarm::coeff(int narg, char **arg)
+{
+//  if (which > 0) return;
+  if (narg != 3) error->all(FLERR,"Incorrect args for improper coefficients");
+  if (!allocated) allocate();
+
+  int ilo,ihi;
+  force->bounds(FLERR,arg[0],atom->nimpropertypes,ilo,ihi);
+
+  double k_one = force->numeric(FLERR,arg[1]);
+  double chi_one = force->numeric(FLERR,arg[2]);
+
+  // convert chi from degrees to radians
+
+  int count = 0;
+  for (int i = ilo; i <= ihi; i++) {
+    k[i] = k_one;
+    //chi[i] = chi_one/180.0 * PI;
+    chi[i] = chi_one;
+    setflag[i] = 1;
+    count++;
+  }
+
+  if (count == 0) error->all(FLERR,"Incorrect args for improper coefficients");
+}
+
+/* ----------------------------------------------------------------------
+   proc 0 writes out coeffs to restart file
+------------------------------------------------------------------------- */
+
+void ImproperDistHarm::write_restart(FILE *fp)
+{
+  fwrite(&k[1],sizeof(double),atom->nimpropertypes,fp);
+  fwrite(&chi[1],sizeof(double),atom->nimpropertypes,fp);
+}
+
+/* ----------------------------------------------------------------------
+   proc 0 reads coeffs from restart file, bcasts them
+------------------------------------------------------------------------- */
+
+void ImproperDistHarm::read_restart(FILE *fp)
+{
+  allocate();
+
+  if (comm->me == 0) {
+    fread(&k[1],sizeof(double),atom->nimpropertypes,fp);
+    fread(&chi[1],sizeof(double),atom->nimpropertypes,fp);
+  }
+  MPI_Bcast(&k[1],atom->nimpropertypes,MPI_DOUBLE,0,world);
+  MPI_Bcast(&chi[1],atom->nimpropertypes,MPI_DOUBLE,0,world);
+
+  for (int i = 1; i <= atom->nimpropertypes; i++) setflag[i] = 1;
+}
diff --git a/src/USER-YAFF/improper_distharm.h b/src/USER-YAFF/improper_distharm.h
new file mode 100644
index 0000000000000000000000000000000000000000..b8b9ae780e06d592f10a0e7b27926b4ce916a5b6
--- /dev/null
+++ b/src/USER-YAFF/improper_distharm.h
@@ -0,0 +1,47 @@
+/* -*- c++ -*- ----------------------------------------------------------
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   Copyright (2003) Sandia Corporation.  Under the terms of Contract
+   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+   certain rights in this software.  This software is distributed under
+   the GNU General Public License.
+
+   See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#ifdef IMPROPER_CLASS
+
+ImproperStyle(distharm,ImproperDistHarm)
+
+#else
+
+#ifndef LMP_IMPROPER_DISTHARM_H
+#define LMP_IMPROPER_DISTHARM_H
+
+#include <stdio.h>
+#include "improper.h"
+
+namespace LAMMPS_NS {
+
+class ImproperDistHarm : public Improper {
+ public:
+  ImproperDistHarm(class LAMMPS *);
+  ~ImproperDistHarm();
+  void compute(int, int);
+  void coeff(int, char **);
+  void write_restart(FILE *);
+  void read_restart(FILE *);
+
+ private:
+  double *k,*chi;
+
+  void allocate();
+};
+
+}
+
+#endif
+#endif
+
diff --git a/src/USER-YAFF/improper_sqdistharm.cpp b/src/USER-YAFF/improper_sqdistharm.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..763d82f1c55faa5f84f50b4cf4755ab5eb2bb08f
--- /dev/null
+++ b/src/USER-YAFF/improper_sqdistharm.cpp
@@ -0,0 +1,269 @@
+/* ----------------------------------------------------------------------
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   Copyright (2003) Sandia Corporation.  Under the terms of Contract
+   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+   certain rights in this software.  This software is distributed under
+   the GNU General Public License.
+
+   See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+/* ----------------------------------------------------------------------
+   Contributing author: Steven Vandenbrande, heavily based on the
+   improper_distance code by Paolo Raiteri (Curtin University)
+------------------------------------------------------------------------- */
+
+#include <mpi.h>
+#include <math.h>
+#include <stdlib.h>
+#include "improper_sqdistharm.h"
+#include "atom.h"
+#include "comm.h"
+#include "neighbor.h"
+#include "domain.h"
+#include "force.h"
+#include "update.h"
+#include "memory.h"
+#include "error.h"
+
+using namespace LAMMPS_NS;
+
+#define TOLERANCE 0.05
+#define SMALL     0.001
+
+/* ---------------------------------------------------------------------- */
+
+ImproperSQDistHarm::ImproperSQDistHarm(LAMMPS *lmp) : Improper(lmp) {}
+
+/* ---------------------------------------------------------------------- */
+
+ImproperSQDistHarm::~ImproperSQDistHarm()
+{
+  if (allocated) {
+    memory->destroy(setflag);
+    memory->destroy(k);
+    memory->destroy(chi);
+  }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void ImproperSQDistHarm::compute(int eflag, int vflag)
+{
+  int i1,i2,i3,i4,n,type;
+  double xab, yab, zab; // bond 1-2
+  double xac, yac, zac; // bond 1-3
+  double xad, yad, zad; // bond 1-4
+  double xbc, ybc, zbc; // bond 2-3
+  double xbd, ybd, zbd; // bond 2-4
+  double xcd, ycd, zcd; // bond 3-4
+  double xna, yna, zna, rna; // normal
+  double da;
+
+  double eimproper,f1[3],f2[3],f3[3],f4[3];
+  double domega,a;
+
+  eimproper = 0.0;
+  if (eflag || vflag) ev_setup(eflag,vflag);
+  else evflag = 0;
+
+  double **x = atom->x;
+  double **f = atom->f;
+  int **improperlist = neighbor->improperlist;
+  int nimproperlist = neighbor->nimproperlist;
+  int nlocal = atom->nlocal;
+  int newton_bond = force->newton_bond;
+
+  for (n = 0; n < nimproperlist; n++) {
+    i1 = improperlist[n][0];
+    i2 = improperlist[n][1];
+    i3 = improperlist[n][2];
+    i4 = improperlist[n][3];
+    type = improperlist[n][4];
+
+    // geometry of 4-body
+    // 4 is the central atom
+    // 1-2-3 are ment to be equivalent
+    // I need the bonds between 2-3 and 3-4 to get the plane normal
+    // Then I need the bond 1-4 to project it onto the normal to the plane
+
+    // bond 1->2
+    xab = x[i2][0] - x[i1][0];
+    yab = x[i2][1] - x[i1][1];
+    zab = x[i2][2] - x[i1][2];
+    domain->minimum_image(xab,yab,zab);
+
+    // bond 1->3
+    xac = x[i3][0] - x[i1][0];
+    yac = x[i3][1] - x[i1][1];
+    zac = x[i3][2] - x[i1][2];
+    domain->minimum_image(xac,yac,zac);
+
+    // bond 1->4
+    xad = x[i4][0] - x[i1][0];
+    yad = x[i4][1] - x[i1][1];
+    zad = x[i4][2] - x[i1][2];
+    domain->minimum_image(xad,yad,zad);
+
+    // bond 2-3
+    xbc = x[i3][0] - x[i2][0];
+    ybc = x[i3][1] - x[i2][1];
+    zbc = x[i3][2] - x[i2][2];
+    domain->minimum_image(xbc,ybc,zbc);
+
+    // bond 2-4
+    xbd = x[i4][0] - x[i2][0];
+    ybd = x[i4][1] - x[i2][1];
+    zbd = x[i4][2] - x[i2][2];
+    domain->minimum_image(xbd,ybd,zbd);
+
+    // bond 3-4
+    xcd = x[i4][0] - x[i3][0];
+    ycd = x[i4][1] - x[i3][1];
+    zcd = x[i4][2] - x[i3][2];
+    domain->minimum_image(xcd,ycd,zcd);
+
+    xna =   ybc*zcd - zbc*ycd;
+    yna = -(xbc*zcd - zbc*xcd);
+    zna =   xbc*ycd - ybc*xcd;
+    rna = 1.0 / sqrt(xna*xna+yna*yna+zna*zna);
+    xna *= rna;
+    yna *= rna;
+    zna *= rna;
+
+    da = -(xna*xad + yna*yad + zna*zad);
+
+    domega = k[type]*(da*da - chi[type])*(da*da - chi[type]);
+    a =  4.0 * da* k[type]*(da*da - chi[type]);
+
+    if (eflag) eimproper = domega;
+
+    f1[0] = a*( -xna);
+    f1[1] = a*( -yna);
+    f1[2] = a*( -zna);
+    f4[0] = a*(  xna);
+    f4[1] = a*(  yna);
+    f4[2] = a*(  zna);
+
+    f2[0] =  a*( yad*zcd - zad*ycd )*rna + a*da*rna*( yna*zcd - zna*ycd);
+    f2[1] =  a*( zad*xcd - xad*zcd )*rna + a*da*rna*( zna*xcd - xna*zcd);
+    f2[2] =  a*( xad*ycd - yad*xcd )*rna + a*da*rna*( xna*ycd - yna*xcd);
+
+    f3[0] = - a*( yad*zcd - zad*ycd )*rna - a*da*rna*( yna*zcd - zna*ycd);
+    f3[1] = - a*( zad*xcd - xad*zcd )*rna - a*da*rna*( zna*xcd - xna*zcd);
+    f3[2] = - a*( xad*ycd - yad*xcd )*rna - a*da*rna*( xna*ycd - yna*xcd);
+
+    f3[0] +=  -a*( yad*zbc - zad*ybc )*rna - a*da*rna*( yna*zbc - zna*ybc);
+    f3[1] +=  -a*( zad*xbc - xad*zbc )*rna - a*da*rna*( zna*xbc - xna*zbc);
+    f3[2] +=  -a*( xad*ybc - yad*xbc )*rna - a*da*rna*( xna*ybc - yna*xbc);
+    f4[0] += a*( yad*zbc - zad*ybc )*rna + a*da*rna*( yna*zbc - zna*ybc);
+    f4[1] += a*( zad*xbc - xad*zbc )*rna + a*da*rna*( zna*xbc - xna*zbc);
+    f4[2] += a*( xad*ybc - yad*xbc )*rna + a*da*rna*( xna*ybc - yna*xbc);
+
+
+    // apply force to each of 4 atoms
+
+    if (newton_bond || i1 < nlocal) {
+      f[i1][0] += f1[0];
+      f[i1][1] += f1[1];
+      f[i1][2] += f1[2];
+    }
+
+    if (newton_bond || i2 < nlocal) {
+      f[i2][0] += f2[0];
+      f[i2][1] += f2[1];
+      f[i2][2] += f2[2];
+    }
+
+    if (newton_bond || i3 < nlocal) {
+      f[i3][0] += f3[0];
+      f[i3][1] += f3[1];
+      f[i3][2] += f3[2];
+    }
+
+    if (newton_bond || i4 < nlocal) {
+      f[i4][0] += f4[0];
+      f[i4][1] += f4[1];
+      f[i4][2] += f4[2];
+    }
+
+    if (evflag)
+      ev_tally(i1,i2,i3,i4,nlocal,newton_bond,eimproper,f2,f3,f4,
+       xab,yab,zab,xac,yac,zac,xad-xac,yad-yac,zad-zac);
+  }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void ImproperSQDistHarm::allocate()
+{
+  allocated = 1;
+  int n = atom->nimpropertypes;
+
+  memory->create(k,n+1,"improper:k");
+  memory->create(chi,n+1,"improper:chi");
+
+  memory->create(setflag,n+1,"improper:setflag");
+  for (int i = 1; i <= n; i++) setflag[i] = 0;
+}
+
+/* ----------------------------------------------------------------------
+   set coeffs for one type
+------------------------------------------------------------------------- */
+
+void ImproperSQDistHarm::coeff(int narg, char **arg)
+{
+//  if (which > 0) return;
+  if (narg != 3) error->all(FLERR,"Incorrect args for improper coefficients");
+  if (!allocated) allocate();
+
+  int ilo,ihi;
+  force->bounds(FLERR,arg[0],atom->nimpropertypes,ilo,ihi);
+
+  double k_one = force->numeric(FLERR,arg[1]);
+  double chi_one = force->numeric(FLERR,arg[2]);
+
+  // convert chi from degrees to radians
+
+  int count = 0;
+  for (int i = ilo; i <= ihi; i++) {
+    k[i] = k_one;
+    //chi[i] = chi_one/180.0 * PI;
+    chi[i] = chi_one;
+    setflag[i] = 1;
+    count++;
+  }
+
+  if (count == 0) error->all(FLERR,"Incorrect args for improper coefficients");
+}
+
+/* ----------------------------------------------------------------------
+   proc 0 writes out coeffs to restart file
+------------------------------------------------------------------------- */
+
+void ImproperSQDistHarm::write_restart(FILE *fp)
+{
+  fwrite(&k[1],sizeof(double),atom->nimpropertypes,fp);
+  fwrite(&chi[1],sizeof(double),atom->nimpropertypes,fp);
+}
+
+/* ----------------------------------------------------------------------
+   proc 0 reads coeffs from restart file, bcasts them
+------------------------------------------------------------------------- */
+
+void ImproperSQDistHarm::read_restart(FILE *fp)
+{
+  allocate();
+
+  if (comm->me == 0) {
+    fread(&k[1],sizeof(double),atom->nimpropertypes,fp);
+    fread(&chi[1],sizeof(double),atom->nimpropertypes,fp);
+  }
+  MPI_Bcast(&k[1],atom->nimpropertypes,MPI_DOUBLE,0,world);
+  MPI_Bcast(&chi[1],atom->nimpropertypes,MPI_DOUBLE,0,world);
+
+  for (int i = 1; i <= atom->nimpropertypes; i++) setflag[i] = 1;
+}
diff --git a/src/USER-YAFF/improper_sqdistharm.h b/src/USER-YAFF/improper_sqdistharm.h
new file mode 100644
index 0000000000000000000000000000000000000000..301b5066cbabc4d8a877dd0b56caf603634ac450
--- /dev/null
+++ b/src/USER-YAFF/improper_sqdistharm.h
@@ -0,0 +1,47 @@
+/* -*- c++ -*- ----------------------------------------------------------
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   Copyright (2003) Sandia Corporation.  Under the terms of Contract
+   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+   certain rights in this software.  This software is distributed under
+   the GNU General Public License.
+
+   See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#ifdef IMPROPER_CLASS
+
+ImproperStyle(sqdistharm,ImproperSQDistHarm)
+
+#else
+
+#ifndef LMP_IMPROPER_SQDISTHARM_H
+#define LMP_IMPROPER_SQDISTHARM_H
+
+#include <stdio.h>
+#include "improper.h"
+
+namespace LAMMPS_NS {
+
+class ImproperSQDistHarm : public Improper {
+ public:
+  ImproperSQDistHarm(class LAMMPS *);
+  ~ImproperSQDistHarm();
+  void compute(int, int);
+  void coeff(int, char **);
+  void write_restart(FILE *);
+  void read_restart(FILE *);
+
+ private:
+  double *k,*chi;
+
+  void allocate();
+};
+
+}
+
+#endif
+#endif
+
diff --git a/src/USER-YAFF/pair_lj_switch3_coulgauss_long.cpp b/src/USER-YAFF/pair_lj_switch3_coulgauss_long.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..b3a267807dbc9c1465ce3ebd726377ce62fc18c0
--- /dev/null
+++ b/src/USER-YAFF/pair_lj_switch3_coulgauss_long.cpp
@@ -0,0 +1,714 @@
+/* ----------------------------------------------------------------------
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   Copyright (2003) Sandia Corporation.  Under the terms of Contract
+   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+   certain rights in this software.  This software is distributed under
+   the GNU General Public License.
+
+   See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+/* ----------------------------------------------------------------------
+   Contributing author: Steven Vandenbrande
+------------------------------------------------------------------------- */
+
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "pair_lj_switch3_coulgauss_long.h"
+#include "atom.h"
+#include "comm.h"
+#include "force.h"
+#include "kspace.h"
+#include "update.h"
+#include "integrate.h"
+#include "respa.h"
+#include "neighbor.h"
+#include "neigh_list.h"
+#include "neigh_request.h"
+#include "math_const.h"
+#include "memory.h"
+#include "error.h"
+
+using namespace LAMMPS_NS;
+using namespace MathConst;
+
+#define EWALD_F   1.12837917
+#define EWALD_P   0.3275911
+#define A1        0.254829592
+#define A2       -0.284496736
+#define A3        1.421413741
+#define A4       -1.453152027
+#define A5        1.061405429
+
+/* ---------------------------------------------------------------------- */
+
+PairLJSwitch3CoulGaussLong::PairLJSwitch3CoulGaussLong(LAMMPS *lmp) : Pair(lmp)
+{
+  ewaldflag = pppmflag = 1;
+  respa_enable = 1;
+  writedata = 1;
+  ftable = NULL;
+  qdist = 0.0;
+}
+
+/* ---------------------------------------------------------------------- */
+
+PairLJSwitch3CoulGaussLong::~PairLJSwitch3CoulGaussLong()
+{
+  if (allocated) {
+    memory->destroy(setflag);
+    memory->destroy(cutsq);
+
+    memory->destroy(cut_lj);
+    memory->destroy(cut_ljsq);
+    memory->destroy(epsilon);
+    memory->destroy(sigma);
+    memory->destroy(gamma);
+    memory->destroy(lj1);
+    memory->destroy(lj2);
+    memory->destroy(lj3);
+    memory->destroy(lj4);
+    memory->destroy(offset);
+  }
+  if (ftable) free_tables();
+}
+
+/* ---------------------------------------------------------------------- */
+
+void PairLJSwitch3CoulGaussLong::compute(int eflag, int vflag)
+{
+  int i,ii,j,jj,inum,jnum,itype,jtype,itable,jtable,ktable;
+  double qtmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul,ecoul2,fpair;
+  double fraction,fraction2,table;
+  double r,r2inv,r6inv,forcecoul,forcecoul2,forcelj,factor_coul,factor_lj,tr,ftr,trx;
+  double grij,expm2,prefactor,prefactor2,t,erfc1,erfc2,rrij,expn2,expb,g_ewald2i,g_ewaldi;
+  int *ilist,*jlist,*numneigh,**firstneigh;
+  double rsq, lookup_corr;
+
+  evdwl = ecoul = 0.0;
+  if (eflag || vflag) ev_setup(eflag,vflag);
+  else evflag = vflag_fdotr = 0;
+
+  double **x = atom->x;
+  double **f = atom->f;
+  double *q = atom->q;
+  int *type = atom->type;
+  int nlocal = atom->nlocal;
+  double *special_coul = force->special_coul;
+  double *special_lj = force->special_lj;
+  int newton_pair = force->newton_pair;
+  double qqrd2e = force->qqrd2e;
+  union_int_float_t rsq_lookup;
+
+  inum = list->inum;
+  ilist = list->ilist;
+  numneigh = list->numneigh;
+  firstneigh = list->firstneigh;
+  g_ewaldi = 1.0/g_ewald;
+  g_ewald2i = g_ewaldi*g_ewaldi;
+  lookup_corr = 0.0;
+
+  // loop over neighbors of my atoms
+  for (ii = 0; ii < inum; ii++) {
+    i = ilist[ii];
+    qtmp = q[i];
+    xtmp = x[i][0];
+    ytmp = x[i][1];
+    ztmp = x[i][2];
+    itype = type[i];
+    jlist = firstneigh[i];
+    jnum = numneigh[i];
+
+    for (jj = 0; jj < jnum; jj++) {
+      j = jlist[jj];
+      factor_lj = special_lj[sbmask(j)];
+      factor_coul = special_coul[sbmask(j)];
+      j &= NEIGHMASK;
+
+      delx = xtmp - x[j][0];
+      dely = ytmp - x[j][1];
+      delz = ztmp - x[j][2];
+      rsq = delx*delx + dely*dely + delz*delz;
+      jtype = type[j];
+
+      if (rsq < cutsq[itype][jtype]) {
+        r2inv = 1.0/rsq;
+ 
+        if (rsq < cut_coulsq) {
+          if (!ncoultablebits || rsq <= tabinnersq) {
+            r = sqrt(rsq);
+            grij = g_ewald * r;
+            expm2 = exp(-grij*grij);
+            t = 1.0 / (1.0 + EWALD_P*grij);
+            erfc1 = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2;
+            prefactor = qqrd2e * qtmp*q[j]/r;
+            forcecoul = prefactor * (erfc1 + EWALD_F*grij*expm2);
+            if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor;
+          } else {
+            rsq_lookup.f = rsq;
+            itable = rsq_lookup.i & ncoulmask;
+            itable >>= ncoulshiftbits;
+            fraction = (rsq_lookup.f - rtable[itable]) * drtable[itable];
+            table = ftable[itable] + fraction*dftable[itable];
+            forcecoul = qtmp*q[j] * table;
+            if (factor_coul < 1.0) {
+              table = ctable[itable] + fraction*dctable[itable];
+              prefactor = qtmp*q[j] * table;
+              forcecoul -= (1.0-factor_coul)*prefactor;
+            }
+          }
+        } else forcecoul = 0.0;
+
+        if (rsq < cut_ljsq[itype][jtype]) {
+          // Lennard-Jones potential
+          r = sqrt(rsq);
+          r6inv = r2inv*r2inv*r2inv;
+          forcelj = r6inv*(12.0*lj3[itype][jtype]*r6inv - 6.0*lj4[itype][jtype]);
+          // Correction for Gaussian radii
+          if (lj2[itype][jtype]==0.0) {
+            // This means a point charge is considerd, so the correction is zero
+            expn2 = 0.0;
+            erfc2 = 0.0;
+            forcecoul2 = 0.0;
+          }
+          else {
+            rrij = lj2[itype][jtype]*r;
+            expn2 = exp(-rrij*rrij);
+            erfc2 = erfc(rrij);
+            prefactor2 = -qqrd2e*qtmp*q[j]/r;
+            forcecoul2 = prefactor2*(erfc2+EWALD_F*rrij*expn2);
+          }
+        } else forcelj = 0.0;
+
+        if (rsq < cut_coulsq) {
+          if (!ncoultablebits || rsq <= tabinnersq)
+            ecoul = prefactor*erfc1;
+          else {
+            table = etable[itable] + fraction*detable[itable];
+            ecoul = qtmp*q[j] * table;
+          }
+          if (factor_coul < 1.0) ecoul -= (1.0-factor_coul)*prefactor;
+        } else ecoul = 0.0;
+
+        if (rsq < cut_ljsq[itype][jtype]) {
+          ecoul += prefactor2*erfc2*factor_coul;
+          evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) -
+              offset[itype][jtype];
+        } else evdwl = 0.0;
+
+        // Truncation, see Yaff Switch33
+        if (truncw>0) {
+          if (rsq < cut_ljsq[itype][jtype]) {
+            if (r>cut_lj[itype][jtype]-truncw) {
+              trx = (cut_lj[itype][jtype]-r)*truncwi;
+              tr = trx*trx*(3.0-2.0*trx);
+              ftr = 6.0*trx*(1.0-trx)*r*truncwi;    
+              forcelj = forcelj*tr + evdwl*ftr;
+              evdwl *= tr;
+            }
+          }
+        }
+
+        fpair = (forcecoul + factor_coul*forcecoul2 + factor_lj*forcelj) * r2inv;
+        evdwl *= factor_lj;
+
+        f[i][0] += delx*fpair;
+        f[i][1] += dely*fpair;
+        f[i][2] += delz*fpair;
+        if (newton_pair || j < nlocal) {
+          f[j][0] -= delx*fpair;
+          f[j][1] -= dely*fpair;
+          f[j][2] -= delz*fpair;
+        }
+
+        if (evflag) ev_tally(i,j,nlocal,newton_pair,
+                             evdwl,ecoul,fpair,delx,dely,delz);
+      }
+    }
+  }
+
+  if (vflag_fdotr) virial_fdotr_compute();
+}
+
+
+/* ----------------------------------------------------------------------
+   allocate all arrays
+------------------------------------------------------------------------- */
+
+void PairLJSwitch3CoulGaussLong::allocate()
+{
+  allocated = 1;
+  int n = atom->ntypes;
+
+  memory->create(setflag,n+1,n+1,"pair:setflag");
+  for (int i = 1; i <= n; i++)
+    for (int j = i; j <= n; j++)
+      setflag[i][j] = 0;
+
+  memory->create(cutsq,n+1,n+1,"pair:cutsq");
+
+  memory->create(cut_lj,n+1,n+1,"pair:cut_lj");
+  memory->create(cut_ljsq,n+1,n+1,"pair:cut_ljsq");
+  memory->create(epsilon,n+1,n+1,"pair:epsilon");
+  memory->create(sigma,n+1,n+1,"pair:sigma");
+  memory->create(gamma,n+1,n+1,"pair:gamma");
+  memory->create(lj1,n+1,n+1,"pair:lj1");
+  memory->create(lj2,n+1,n+1,"pair:lj2");
+  memory->create(lj3,n+1,n+1,"pair:lj3");
+  memory->create(lj4,n+1,n+1,"pair:lj4");
+  memory->create(offset,n+1,n+1,"pair:offset");
+}
+
+/* ----------------------------------------------------------------------
+   global settings
+------------------------------------------------------------------------- */
+
+void PairLJSwitch3CoulGaussLong::settings(int narg, char **arg)
+{
+ if (narg < 2 || narg > 3) error->all(FLERR,"Illegal pair_style command");
+
+  cut_lj_global = force->numeric(FLERR,arg[0]);
+  if (narg == 2) {
+    cut_coul = cut_lj_global;
+    truncw = force->numeric(FLERR,arg[1]);
+  }
+  else {
+    cut_coul = force->numeric(FLERR,arg[1]);
+    truncw = force->numeric(FLERR,arg[2]);
+  }
+  if (truncw>0.0) truncwi = 1.0/truncw;
+  else truncwi = 0.0;
+  // reset cutoffs that have been explicitly set
+
+  if (allocated) {
+    int i,j;
+    for (i = 1; i <= atom->ntypes; i++)
+      for (j = i; j <= atom->ntypes; j++)
+        if (setflag[i][j]) cut_lj[i][j] = cut_lj_global;
+  }
+}
+
+/* ----------------------------------------------------------------------
+   set coeffs for one or more type pairs
+------------------------------------------------------------------------- */
+
+void PairLJSwitch3CoulGaussLong::coeff(int narg, char **arg)
+{
+  if (narg < 5 || narg > 6)
+    error->all(FLERR,"Incorrect args for pair coefficients");
+  if (!allocated) allocate();
+
+  int ilo,ihi,jlo,jhi;
+  force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi);
+  force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi);
+
+  double epsilon_one = force->numeric(FLERR,arg[2]);
+  double sigma_one = force->numeric(FLERR,arg[3]);
+  double gamma_one = force->numeric(FLERR,arg[4]);
+
+  double cut_lj_one = cut_lj_global;
+  if (narg == 6) cut_lj_one = force->numeric(FLERR,arg[5]);
+
+  int count = 0;
+  for (int i = ilo; i <= ihi; i++) {
+    for (int j = MAX(jlo,i); j <= jhi; j++) {
+      epsilon[i][j] = epsilon_one;
+      sigma[i][j] = sigma_one;
+      gamma[i][j] = gamma_one;
+      cut_lj[i][j] = cut_lj_one;
+      setflag[i][j] = 1;
+      count++;
+    }
+  }
+
+  if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients");
+}
+
+/* ----------------------------------------------------------------------
+   init specific to this pair style
+------------------------------------------------------------------------- */
+
+void PairLJSwitch3CoulGaussLong::init_style()
+{
+  if (!atom->q_flag)
+    error->all(FLERR,"Pair style lj/switch3/coulgauss/long requires atom attribute q");
+
+  // request regular or rRESPA neighbor list
+
+  int irequest;
+  int respa = 0;
+
+  if (update->whichflag == 1 && strstr(update->integrate_style,"respa")) {
+    if (((Respa *) update->integrate)->level_inner >= 0) respa = 1;
+    if (((Respa *) update->integrate)->level_middle >= 0) respa = 2;
+  }
+
+  irequest = neighbor->request(this,instance_me);
+
+  if (respa >= 1) {
+    neighbor->requests[irequest]->respaouter = 1;
+    neighbor->requests[irequest]->respainner = 1;
+  }
+  if (respa == 2) neighbor->requests[irequest]->respamiddle = 1;
+
+  cut_coulsq = cut_coul * cut_coul;
+
+  // set rRESPA cutoffs
+
+  if (strstr(update->integrate_style,"respa") &&
+      ((Respa *) update->integrate)->level_inner >= 0)
+    cut_respa = ((Respa *) update->integrate)->cutoff;
+  else cut_respa = NULL;
+
+  // insure use of KSpace long-range solver, set g_ewald
+
+  if (force->kspace == NULL)
+    error->all(FLERR,"Pair style requires a KSpace style");
+  g_ewald = force->kspace->g_ewald;
+
+  // setup force tables
+
+  if (ncoultablebits) init_tables(cut_coul,cut_respa);
+}
+
+/* ----------------------------------------------------------------------
+   init for one type pair i,j and corresponding j,i
+------------------------------------------------------------------------- */
+
+double PairLJSwitch3CoulGaussLong::init_one(int i, int j)
+{
+  if (setflag[i][j] == 0) {
+    epsilon[i][j] = mix_energy(epsilon[i][i],epsilon[j][j],
+                               sigma[i][i],sigma[j][j]);
+    sigma[i][j] = mix_distance(sigma[i][i],sigma[j][j]);
+    gamma[i][j] = 1.0/sqrt(gamma[i][i]*gamma[i][i]+gamma[j][j]*gamma[j][j]);
+    cut_lj[i][j] = mix_distance(cut_lj[i][i],cut_lj[j][j]);
+  }
+
+  double cut = MAX(cut_lj[i][j],cut_coul+2.0*qdist);
+  cut_ljsq[i][j] = cut_lj[i][j] * cut_lj[i][j];
+  lj1[i][j] = 48.0 * epsilon[i][j] * pow(sigma[i][j],12.0);
+  if (gamma[i][i]==0.0 && gamma[j][j]==0.0) lj2[i][j] = 0.0;
+  else lj2[i][j] = 1.0/sqrt(gamma[i][i]*gamma[i][i]+gamma[j][j]*gamma[j][j]);
+  lj3[i][j] = 4.0 * epsilon[i][j] * pow(sigma[i][j],12.0);
+  lj4[i][j] = 4.0 * epsilon[i][j] * pow(sigma[i][j],6.0);
+
+  if (offset_flag && (cut_lj[i][j] > 0.0)) {
+    // Truncation is active, so offset is zero, except if truncw==0.0
+    if (truncw==0.0) {
+      double r = cut_lj[i][j];
+      double r2inv = 1.0/(r*r);
+      double r6inv = r2inv*r2inv*r2inv;
+      double r12inv = r6inv*r6inv;
+      offset[i][j] = lj3[i][j]*r12inv-lj4[i][j]*r6inv;
+    }
+    else {offset[i][j] = 0.0;}
+  } else offset[i][j] = 0.0;
+
+  cut_ljsq[j][i] = cut_ljsq[i][j];
+  cut_lj[j][i] = cut_lj[i][j];
+  lj1[j][i] = lj1[i][j];
+  lj2[j][i] = lj2[i][j];
+  lj3[j][i] = lj3[i][j];
+  lj4[j][i] = lj4[i][j];
+  offset[j][i] = offset[i][j];
+
+  // check interior rRESPA cutoff
+
+  if (cut_respa && MIN(cut_lj[i][j],cut_coul) < cut_respa[3])
+    error->all(FLERR,"Pair cutoff < Respa interior cutoff");
+
+  // compute I,J contribution to long-range tail correction
+  // count total # of atoms of type I and J via Allreduce
+
+  if (tail_flag) {
+    int *type = atom->type;
+    int nlocal = atom->nlocal;
+
+    double count[2],all[2];
+    count[0] = count[1] = 0.0;
+    for (int k = 0; k < nlocal; k++) {
+      if (type[k] == i) count[0] += 1.0;
+      if (type[k] == j) count[1] += 1.0;
+    }
+    MPI_Allreduce(count,all,2,MPI_DOUBLE,MPI_SUM,world);
+
+    double cg = epsilon[i][j];
+    double cg1 = cut_lj[i][j];
+    double cg3 = sigma[i][j];
+    if (truncw > 0.0) {
+      double cg5 = truncw;
+      double t1 = pow(cg1, 0.2e1);
+      double t2 = t1 * cg1;
+      double t3 = t1 * t1;
+      double t4 = t3 * t2;
+      double t5 = -cg1 + cg5;
+      double t6 = t5 * t5;
+      double t8 = t6 * t6;
+      double t9 = t8 * t6 * t5;
+      double t10 = t4 * t9;
+      double t11 = log(-t5);
+      double t14 = log(cg1);
+      double t19 = pow(cg5, 0.2e1);
+      double t20 = t19 * t19;
+      double t21 = t20 * t19;
+      double t24 = pow(cg3, 0.2e1);
+      double t25 = t24 * t24;
+      double t26 = t25 * t24;
+      double t29 = t20 * cg5;
+      double t35 = t3 * t3;
+      double t41 = t19 * cg5;
+      double t58 = t21 * t3 * t1 - t21 * t26 / 0.84e2 - 0.6e1 * t29 * t4 + t29 * cg1 * t26 / 0.18e2 + 0.15e2 * t20 * t35 - t20 * t1 * t26 / 0.9e1 - 0.20e2 * t41 * t35 * cg1 + t41 * t2 * t26 / 0.9e1 + 0.15e2 * t19 * t35 * t1 - t19 * t3 * t26 / 0.18e2 - 0.6e1 * t35 * t2 * cg5 + t35 * t3;
+      double t71 = -0.4e1 * cg * (0.2e1 * t10 * t11 - 0.2e1 * t10 * t14 + (cg5 - 0.2e1 * cg1) * t58 * cg5) * t26 / t4 / t41 / t9;
+      etail_ij = 2.0*MY_PI*all[0]*all[1]*t71;
+      ptail_ij = 2.0*MY_PI*all[0]*all[1]*t71;
+    }
+    else {
+      double t1 = pow(cg3, 0.2e1);
+      double t2 = t1 * t1;
+      double t3 = t2 * t1;
+      double t5 = pow(cg1, 0.2e1);
+      double t6 = t5 * t5;
+      double t10 = t6 * t6;
+      double t16 = -0.4e1 / 0.9e1 * t3 * cg * (0.3e1 * t6 * t5 - t3) / t10 / cg1;
+      t1 = pow(cg3, 0.2e1);
+      t2 = t1 * t1;
+      t3 = t2 * t1;
+      t5 = pow(cg1, 0.2e1);
+      t6 = t5 * t5;
+      double t11 = t6 * t6;
+      double t17 = 0.8e1 / 0.3e1 * t3 * cg * (0.3e1 * t6 * t5 - 0.2e1 * t3) / t11 / cg1;
+      etail_ij = 2.0*MY_PI*all[0]*all[1]*t16;
+      ptail_ij = -2.0/3.0*MY_PI*all[0]*all[1]*t17;
+    }
+  }
+
+  return cut;
+}
+
+/* ----------------------------------------------------------------------
+  proc 0 writes to restart file
+------------------------------------------------------------------------- */
+
+void PairLJSwitch3CoulGaussLong::write_restart(FILE *fp)
+{
+  write_restart_settings(fp);
+
+  int i,j;
+  for (i = 1; i <= atom->ntypes; i++)
+    for (j = i; j <= atom->ntypes; j++) {
+      fwrite(&setflag[i][j],sizeof(int),1,fp);
+      if (setflag[i][j]) {
+        fwrite(&epsilon[i][j],sizeof(double),1,fp);
+        fwrite(&sigma[i][j],sizeof(double),1,fp);
+        fwrite(&gamma[i][j],sizeof(double),1,fp);
+        fwrite(&cut_lj[i][j],sizeof(double),1,fp);
+      }
+    }
+}
+
+/* ----------------------------------------------------------------------
+  proc 0 reads from restart file, bcasts
+------------------------------------------------------------------------- */
+
+void PairLJSwitch3CoulGaussLong::read_restart(FILE *fp)
+{
+  read_restart_settings(fp);
+
+  allocate();
+
+  int i,j;
+  int me = comm->me;
+  for (i = 1; i <= atom->ntypes; i++)
+    for (j = i; j <= atom->ntypes; j++) {
+      if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp);
+      MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world);
+      if (setflag[i][j]) {
+        if (me == 0) {
+          fread(&epsilon[i][j],sizeof(double),1,fp);
+          fread(&sigma[i][j],sizeof(double),1,fp);
+          fread(&gamma[i][j],sizeof(double),1,fp);
+          fread(&cut_lj[i][j],sizeof(double),1,fp);
+        }
+        MPI_Bcast(&epsilon[i][j],1,MPI_DOUBLE,0,world);
+        MPI_Bcast(&sigma[i][j],1,MPI_DOUBLE,0,world);
+        MPI_Bcast(&gamma[i][j],1,MPI_DOUBLE,0,world);
+        MPI_Bcast(&cut_lj[i][j],1,MPI_DOUBLE,0,world);
+      }
+    }
+}
+
+/* ----------------------------------------------------------------------
+  proc 0 writes to restart file
+------------------------------------------------------------------------- */
+
+void PairLJSwitch3CoulGaussLong::write_restart_settings(FILE *fp)
+{
+  fwrite(&cut_lj_global,sizeof(double),1,fp);
+  fwrite(&cut_coul,sizeof(double),1,fp);
+  fwrite(&truncw,sizeof(double),1,fp);
+  fwrite(&offset_flag,sizeof(int),1,fp);
+  fwrite(&mix_flag,sizeof(int),1,fp);
+  fwrite(&tail_flag,sizeof(int),1,fp);
+  fwrite(&ncoultablebits,sizeof(int),1,fp);
+  fwrite(&tabinner,sizeof(double),1,fp);
+}
+
+/* ----------------------------------------------------------------------
+  proc 0 reads from restart file, bcasts
+------------------------------------------------------------------------- */
+
+void PairLJSwitch3CoulGaussLong::read_restart_settings(FILE *fp)
+{
+  if (comm->me == 0) {
+    fread(&cut_lj_global,sizeof(double),1,fp);
+    fread(&cut_coul,sizeof(double),1,fp);
+    fread(&truncw,sizeof(double),1,fp);
+    fread(&offset_flag,sizeof(int),1,fp);
+    fread(&mix_flag,sizeof(int),1,fp);
+    fread(&tail_flag,sizeof(int),1,fp);
+    fread(&ncoultablebits,sizeof(int),1,fp);
+    fread(&tabinner,sizeof(double),1,fp);
+  }
+  MPI_Bcast(&cut_lj_global,1,MPI_DOUBLE,0,world);
+  MPI_Bcast(&cut_coul,1,MPI_DOUBLE,0,world);
+  MPI_Bcast(&truncw,1,MPI_DOUBLE,0,world);
+  MPI_Bcast(&offset_flag,1,MPI_INT,0,world);
+  MPI_Bcast(&mix_flag,1,MPI_INT,0,world);
+  MPI_Bcast(&tail_flag,1,MPI_INT,0,world);
+  MPI_Bcast(&ncoultablebits,1,MPI_INT,0,world);
+  MPI_Bcast(&tabinner,1,MPI_DOUBLE,0,world);
+}
+
+
+/* ----------------------------------------------------------------------
+   proc 0 writes to data file
+------------------------------------------------------------------------- */
+
+void PairLJSwitch3CoulGaussLong::write_data(FILE *fp)
+{
+  for (int i = 1; i <= atom->ntypes; i++)
+    fprintf(fp,"%d %g %g %g\n",i,epsilon[i][i],sigma[i][i],gamma[i][i]);
+}
+
+/* ----------------------------------------------------------------------
+   proc 0 writes all pairs to data file
+------------------------------------------------------------------------- */
+
+void PairLJSwitch3CoulGaussLong::write_data_all(FILE *fp)
+{
+  for (int i = 1; i <= atom->ntypes; i++)
+    for (int j = i; j <= atom->ntypes; j++)
+      fprintf(fp,"%d %d %g %g %g %g\n",i,j,epsilon[i][j],sigma[i][j],gamma[i][j],cut_lj[i][j]);
+}
+
+/* ---------------------------------------------------------------------- */
+
+double PairLJSwitch3CoulGaussLong::single(int i, int j, int itype, int jtype,
+                                 double rsq,
+                                 double factor_coul, double factor_lj,
+                                 double &fforce)
+{
+  double r2inv,r6inv,r,grij,expm2,t,erfc1,prefactor,prefactor2,rrij,expn2,erfc2;
+  double fraction,table,forcecoul,forcecoul2,forcelj,phicoul,phicoul2,philj;
+  double expb, ecoul, evdwl, trx, tr, ftr;
+
+  int itable;
+
+  r2inv = 1.0/rsq;
+  if (rsq < cut_coulsq) {
+    if (!ncoultablebits || rsq <= tabinnersq) {
+      r = sqrt(rsq);
+      grij = g_ewald * r;
+      expm2 = exp(-grij*grij);
+      t = 1.0 / (1.0 + EWALD_P*grij);
+      erfc1 = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2;
+      prefactor = force->qqrd2e * atom->q[i]*atom->q[j]/r;
+      forcecoul = prefactor * (erfc1 + EWALD_F*grij*expm2);
+      if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor;
+    } else {
+      union_int_float_t rsq_lookup_single;
+      rsq_lookup_single.f = rsq;
+      itable = rsq_lookup_single.i & ncoulmask;
+      itable >>= ncoulshiftbits;
+      fraction = (rsq_lookup_single.f - rtable[itable]) * drtable[itable];
+      table = ftable[itable] + fraction*dftable[itable];
+      forcecoul = atom->q[i]*atom->q[j] * table;
+      if (factor_coul < 1.0) {
+        table = ctable[itable] + fraction*dctable[itable];
+        prefactor = atom->q[i]*atom->q[j] * table;
+        forcecoul -= (1.0-factor_coul)*prefactor;
+      }
+    }
+  } else forcecoul = 0.0;
+
+  if (rsq < cut_ljsq[itype][jtype]) {
+    r = sqrt(rsq);
+    r6inv = r2inv*r2inv*r2inv;
+    rrij = lj2[itype][jtype] * r;
+    if (rrij==0.0) {
+      expn2 = 0.0;
+      erfc2 = 0.0;
+    }
+    else {
+      expn2 = exp(-rrij*rrij);
+      erfc2 = erfc(rrij);
+    }
+    prefactor2 = -force->qqrd2e * atom->q[i]*atom->q[j]/r;
+    forcecoul2 = prefactor2 * (erfc2 + EWALD_F*rrij*expn2);
+    forcelj = expb*lj1[itype][jtype]*r-6.0*lj4[itype][jtype]*r6inv;
+  } else forcelj = 0.0;
+
+  double eng = 0.0;
+  if (rsq < cut_coulsq) {
+    if (!ncoultablebits || rsq <= tabinnersq)
+      phicoul = prefactor*erfc1;
+    else {
+      table = etable[itable] + fraction*detable[itable];
+      phicoul = atom->q[i]*atom->q[j] * table;
+    }
+    if (factor_coul < 1.0) phicoul -= (1.0-factor_coul)*prefactor;
+    eng += phicoul;
+  }
+
+  if (rsq < cut_ljsq[itype][jtype]) {
+    ecoul += prefactor2*erfc2*factor_coul;
+    evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]) -
+        offset[itype][jtype];
+  } else evdwl = 0.0;
+
+  // Truncation, see Yaff Switch3
+  if (truncw>0) {
+    if (rsq < cut_ljsq[itype][jtype]) {
+      if (r>cut_lj[itype][jtype]-truncw) {
+        trx = (cut_lj[itype][jtype]-r)*truncwi;
+        tr = trx*trx*(3.0-2.0*trx);
+        ftr = 6.0*trx*(1.0-trx)*r*truncwi;    
+        forcelj = forcelj*tr + evdwl*ftr;
+        evdwl *= tr;
+      }
+    }
+  }
+  eng += evdwl*factor_lj;
+  fforce = (forcecoul + factor_coul*forcecoul2 + factor_lj*forcelj) * r2inv;
+
+  return eng;
+}
+
+/* ---------------------------------------------------------------------- */
+
+void *PairLJSwitch3CoulGaussLong::extract(const char *str, int &dim)
+{
+  dim = 0;
+  if (strcmp(str,"cut_coul") == 0) return (void *) &cut_coul;
+  dim = 2;
+  if (strcmp(str,"epsilon") == 0) return (void *) epsilon;
+  if (strcmp(str,"sigma") == 0) return (void *) sigma;
+  if (strcmp(str,"gamma") == 0) return (void *) gamma;
+  return NULL;
+}
diff --git a/src/USER-YAFF/pair_lj_switch3_coulgauss_long.h b/src/USER-YAFF/pair_lj_switch3_coulgauss_long.h
new file mode 100644
index 0000000000000000000000000000000000000000..75686d55a2cb1932874eb65014ff4d2af4ff2287
--- /dev/null
+++ b/src/USER-YAFF/pair_lj_switch3_coulgauss_long.h
@@ -0,0 +1,91 @@
+/* -*- c++ -*- ----------------------------------------------------------
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   Copyright (2003) Sandia Corporation.  Under the terms of Contract
+   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+   certain rights in this software.  This software is distributed under
+   the GNU General Public License.
+
+   See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#ifdef PAIR_CLASS
+
+PairStyle(lj/switch3/coulgauss/long,PairLJSwitch3CoulGaussLong)
+
+#else
+
+#ifndef LMP_PAIR_LJ_SWITCH3_COULGAUSS_LONG_H
+#define LMP_PAIR_LJ_SWITCH3_COULGAUSS_LONG_H
+
+#include "pair.h"
+
+namespace LAMMPS_NS {
+
+class PairLJSwitch3CoulGaussLong : public Pair {
+
+ public:
+  PairLJSwitch3CoulGaussLong(class LAMMPS *);
+  virtual ~PairLJSwitch3CoulGaussLong();
+  virtual void compute(int, int);
+  virtual void settings(int, char **);
+  void coeff(int, char **);
+  virtual void init_style();
+  virtual double init_one(int, int);
+  void write_restart(FILE *);
+  void read_restart(FILE *);
+  virtual void write_restart_settings(FILE *);
+  virtual void read_restart_settings(FILE *);
+  void write_data(FILE *);
+  void write_data_all(FILE *);
+  virtual double single(int, int, int, int, double, double, double, double &);
+
+  virtual void *extract(const char *, int &);
+
+ protected:
+  double cut_lj_global;
+  double truncw, truncwi;
+  double **cut_lj,**cut_ljsq;
+  double cut_coul,cut_coulsq;
+  double **epsilon,**sigma,**gamma;
+  double **lj1,**lj2,**lj3,**lj4,**offset;
+  double *cut_respa;
+  double qdist;             // TIP4P distance from O site to negative charge
+  double g_ewald;
+
+  virtual void allocate();
+};
+
+}
+
+#endif
+#endif
+
+/* ERROR/WARNING messages:
+
+E: Illegal ... command
+
+Self-explanatory.  Check the input script syntax and compare to the
+documentation for the command.  You can use -echo screen as a
+command-line option when running LAMMPS to see the offending line.
+
+E: Incorrect args for pair coefficients
+
+Self-explanatory.  Check the input script or data file.
+
+E: Pair style lj/switch3/coulgauss/long requires atom attribute q
+
+The atom style defined does not have this attribute.
+
+E: Pair style requires a KSpace style
+
+No kspace style is defined.
+
+E: Pair cutoff < Respa interior cutoff
+
+One or more pairwise cutoffs are too short to use with the specified
+rRESPA cutoffs.
+
+*/
diff --git a/src/USER-YAFF/pair_mm3_switch3_coulgauss_long.cpp b/src/USER-YAFF/pair_mm3_switch3_coulgauss_long.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..0d0e43a0ea00533ff09b02f0f5b7d91fc8dc84e8
--- /dev/null
+++ b/src/USER-YAFF/pair_mm3_switch3_coulgauss_long.cpp
@@ -0,0 +1,715 @@
+/* ----------------------------------------------------------------------
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   Copyright (2003) Sandia Corporation.  Under the terms of Contract
+   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+   certain rights in this software.  This software is distributed under
+   the GNU General Public License.
+
+   See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+/* ----------------------------------------------------------------------
+   Contributing author: Steven Vandenbrande
+------------------------------------------------------------------------- */
+
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "pair_mm3_switch3_coulgauss_long.h"
+#include "atom.h"
+#include "comm.h"
+#include "force.h"
+#include "kspace.h"
+#include "update.h"
+#include "integrate.h"
+#include "respa.h"
+#include "neighbor.h"
+#include "neigh_list.h"
+#include "neigh_request.h"
+#include "math_const.h"
+#include "memory.h"
+#include "error.h"
+
+using namespace LAMMPS_NS;
+using namespace MathConst;
+
+#define EWALD_F   1.12837917
+#define EWALD_P   0.3275911
+#define A1        0.254829592
+#define A2       -0.284496736
+#define A3        1.421413741
+#define A4       -1.453152027
+#define A5        1.061405429
+
+/* ---------------------------------------------------------------------- */
+
+PairMM3Switch3CoulGaussLong::PairMM3Switch3CoulGaussLong(LAMMPS *lmp) : Pair(lmp)
+{
+  ewaldflag = pppmflag = 1;
+  respa_enable = 1;
+  writedata = 1;
+  ftable = NULL;
+  qdist = 0.0;
+}
+
+/* ---------------------------------------------------------------------- */
+
+PairMM3Switch3CoulGaussLong::~PairMM3Switch3CoulGaussLong()
+{
+  if (allocated) {
+    memory->destroy(setflag);
+    memory->destroy(cutsq);
+
+    memory->destroy(cut_lj);
+    memory->destroy(cut_ljsq);
+    memory->destroy(epsilon);
+    memory->destroy(sigma);
+    memory->destroy(gamma);
+    memory->destroy(lj1);
+    memory->destroy(lj2);
+    memory->destroy(lj3);
+    memory->destroy(lj4);
+    memory->destroy(offset);
+  }
+  if (ftable) free_tables();
+}
+
+/* ---------------------------------------------------------------------- */
+
+void PairMM3Switch3CoulGaussLong::compute(int eflag, int vflag)
+{
+  int i,ii,j,jj,inum,jnum,itype,jtype,itable,jtable,ktable;
+  double qtmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul,ecoul2,fpair;
+  double fraction,fraction2,table;
+  double r,r2inv,r6inv,forcecoul,forcecoul2,forcelj,factor_coul,factor_lj,tr,ftr,trx;
+  double grij,expm2,prefactor,prefactor2,t,erfc1,erfc2,rrij,expn2,expb,g_ewald2i,g_ewaldi;
+  int *ilist,*jlist,*numneigh,**firstneigh;
+  double rsq, lookup_corr;
+
+  evdwl = ecoul = 0.0;
+  if (eflag || vflag) ev_setup(eflag,vflag);
+  else evflag = vflag_fdotr = 0;
+
+  double **x = atom->x;
+  double **f = atom->f;
+  double *q = atom->q;
+  int *type = atom->type;
+  int nlocal = atom->nlocal;
+  double *special_coul = force->special_coul;
+  double *special_lj = force->special_lj;
+  int newton_pair = force->newton_pair;
+  double qqrd2e = force->qqrd2e;
+  union_int_float_t rsq_lookup;
+
+  inum = list->inum;
+  ilist = list->ilist;
+  numneigh = list->numneigh;
+  firstneigh = list->firstneigh;
+  g_ewaldi = 1.0/g_ewald;
+  g_ewald2i = g_ewaldi*g_ewaldi;
+  lookup_corr = 0.0;
+
+  // loop over neighbors of my atoms
+  for (ii = 0; ii < inum; ii++) {
+    i = ilist[ii];
+    qtmp = q[i];
+    xtmp = x[i][0];
+    ytmp = x[i][1];
+    ztmp = x[i][2];
+    itype = type[i];
+    jlist = firstneigh[i];
+    jnum = numneigh[i];
+
+    for (jj = 0; jj < jnum; jj++) {
+      j = jlist[jj];
+      factor_lj = special_lj[sbmask(j)];
+      factor_coul = special_coul[sbmask(j)];
+      j &= NEIGHMASK;
+
+      delx = xtmp - x[j][0];
+      dely = ytmp - x[j][1];
+      delz = ztmp - x[j][2];
+      rsq = delx*delx + dely*dely + delz*delz;
+      jtype = type[j];
+
+      if (rsq < cutsq[itype][jtype]) {
+        r2inv = 1.0/rsq;
+ 
+        if (rsq < cut_coulsq) {
+          if (!ncoultablebits || rsq <= tabinnersq) {
+            r = sqrt(rsq);
+            grij = g_ewald * r;
+            expm2 = exp(-grij*grij);
+            t = 1.0 / (1.0 + EWALD_P*grij);
+            erfc1 = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2;
+            prefactor = qqrd2e * qtmp*q[j]/r;
+            forcecoul = prefactor * (erfc1 + EWALD_F*grij*expm2);
+            if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor;
+          } else {
+            rsq_lookup.f = rsq;
+            itable = rsq_lookup.i & ncoulmask;
+            itable >>= ncoulshiftbits;
+            fraction = (rsq_lookup.f - rtable[itable]) * drtable[itable];
+            table = ftable[itable] + fraction*dftable[itable];
+            forcecoul = qtmp*q[j] * table;
+            if (factor_coul < 1.0) {
+              table = ctable[itable] + fraction*dctable[itable];
+              prefactor = qtmp*q[j] * table;
+              forcecoul -= (1.0-factor_coul)*prefactor;
+            }
+          }
+        } else forcecoul = 0.0;
+
+        if (rsq < cut_ljsq[itype][jtype]) {
+          // Repulsive exponential part
+          r = sqrt(rsq);
+          expb = lj3[itype][jtype]*exp(-lj1[itype][jtype]*r);
+          forcelj = expb*lj1[itype][jtype]*r;
+          // Attractive r^-6 part
+          r6inv = r2inv*r2inv*r2inv;
+          forcelj -= 6.0*lj4[itype][jtype]*r6inv;
+          // Correction for Gaussian radii
+          if (lj2[itype][jtype]==0.0) {
+            // This means a point charge is considered, so the correction is zero
+            expn2 = 0.0;
+            erfc2 = 0.0;
+            forcecoul2 = 0.0;
+          }
+          else {
+            rrij = lj2[itype][jtype]*r;
+            expn2 = exp(-rrij*rrij);
+            erfc2 = erfc(rrij);
+            prefactor2 = -qqrd2e*qtmp*q[j]/r;
+            forcecoul2 = prefactor2*(erfc2+EWALD_F*rrij*expn2);
+          }
+        } else forcelj = 0.0;
+
+        if (rsq < cut_coulsq) {
+          if (!ncoultablebits || rsq <= tabinnersq)
+            ecoul = prefactor*erfc1;
+          else {
+            table = etable[itable] + fraction*detable[itable];
+            ecoul = qtmp*q[j] * table;
+          }
+          if (factor_coul < 1.0) ecoul -= (1.0-factor_coul)*prefactor;
+        } else ecoul = 0.0;
+
+        if (rsq < cut_ljsq[itype][jtype]) {
+          ecoul += prefactor2*erfc2*factor_coul;
+          evdwl = expb-lj4[itype][jtype]*r6inv-offset[itype][jtype];
+        } else evdwl = 0.0;
+
+        // Truncation, see Yaff Switch3
+        if (truncw>0) {
+          if (rsq < cut_ljsq[itype][jtype]) {
+            if (r>cut_lj[itype][jtype]-truncw) {
+              trx = (cut_lj[itype][jtype]-r)*truncwi;
+              tr = trx*trx*(3.0-2.0*trx);
+              ftr = 6.0*trx*(1.0-trx)*r*truncwi;    
+              forcelj = forcelj*tr + evdwl*ftr;
+              evdwl *= tr;
+            }
+          }
+        }
+
+        fpair = (forcecoul + factor_coul*forcecoul2 + factor_lj*forcelj) * r2inv;
+        evdwl *= factor_lj;
+
+        f[i][0] += delx*fpair;
+        f[i][1] += dely*fpair;
+        f[i][2] += delz*fpair;
+        if (newton_pair || j < nlocal) {
+          f[j][0] -= delx*fpair;
+          f[j][1] -= dely*fpair;
+          f[j][2] -= delz*fpair;
+        }
+
+        if (evflag) ev_tally(i,j,nlocal,newton_pair,
+                             evdwl,ecoul,fpair,delx,dely,delz);
+      }
+    }
+  }
+
+  if (vflag_fdotr) virial_fdotr_compute();
+}
+
+
+/* ----------------------------------------------------------------------
+   allocate all arrays
+------------------------------------------------------------------------- */
+
+void PairMM3Switch3CoulGaussLong::allocate()
+{
+  allocated = 1;
+  int n = atom->ntypes;
+
+  memory->create(setflag,n+1,n+1,"pair:setflag");
+  for (int i = 1; i <= n; i++)
+    for (int j = i; j <= n; j++)
+      setflag[i][j] = 0;
+
+  memory->create(cutsq,n+1,n+1,"pair:cutsq");
+
+  memory->create(cut_lj,n+1,n+1,"pair:cut_lj");
+  memory->create(cut_ljsq,n+1,n+1,"pair:cut_ljsq");
+  memory->create(epsilon,n+1,n+1,"pair:epsilon");
+  memory->create(sigma,n+1,n+1,"pair:sigma");
+  memory->create(gamma,n+1,n+1,"pair:gamma");
+  memory->create(lj1,n+1,n+1,"pair:lj1");
+  memory->create(lj2,n+1,n+1,"pair:lj2");
+  memory->create(lj3,n+1,n+1,"pair:lj3");
+  memory->create(lj4,n+1,n+1,"pair:lj4");
+  memory->create(offset,n+1,n+1,"pair:offset");
+}
+
+/* ----------------------------------------------------------------------
+   global settings
+------------------------------------------------------------------------- */
+
+void PairMM3Switch3CoulGaussLong::settings(int narg, char **arg)
+{
+ if (narg < 2 || narg > 3) error->all(FLERR,"Illegal pair_style command");
+
+  cut_lj_global = force->numeric(FLERR,arg[0]);
+  if (narg == 2) {
+    cut_coul = cut_lj_global;
+    truncw = force->numeric(FLERR,arg[1]);
+  }
+  else {
+    cut_coul = force->numeric(FLERR,arg[1]);
+    truncw = force->numeric(FLERR,arg[2]);
+  }
+  if (truncw>0.0) truncwi = 1.0/truncw;
+  else truncwi = 0.0;
+  // reset cutoffs that have been explicitly set
+
+  if (allocated) {
+    int i,j;
+    for (i = 1; i <= atom->ntypes; i++)
+      for (j = i; j <= atom->ntypes; j++)
+        if (setflag[i][j]) cut_lj[i][j] = cut_lj_global;
+  }
+}
+
+/* ----------------------------------------------------------------------
+   set coeffs for one or more type pairs
+------------------------------------------------------------------------- */
+
+void PairMM3Switch3CoulGaussLong::coeff(int narg, char **arg)
+{
+  if (narg < 5 || narg > 6)
+    error->all(FLERR,"Incorrect args for pair coefficients");
+  if (!allocated) allocate();
+
+  int ilo,ihi,jlo,jhi;
+  force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi);
+  force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi);
+
+  double epsilon_one = force->numeric(FLERR,arg[2]);
+  double sigma_one = force->numeric(FLERR,arg[3]);
+  double gamma_one = force->numeric(FLERR,arg[4]);
+
+  double cut_lj_one = cut_lj_global;
+  if (narg == 6) cut_lj_one = force->numeric(FLERR,arg[5]);
+
+  int count = 0;
+  for (int i = ilo; i <= ihi; i++) {
+    for (int j = MAX(jlo,i); j <= jhi; j++) {
+      epsilon[i][j] = epsilon_one;
+      sigma[i][j] = sigma_one;
+      gamma[i][j] = gamma_one;
+      cut_lj[i][j] = cut_lj_one;
+      setflag[i][j] = 1;
+      count++;
+    }
+  }
+
+  if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients");
+}
+
+/* ----------------------------------------------------------------------
+   init specific to this pair style
+------------------------------------------------------------------------- */
+
+void PairMM3Switch3CoulGaussLong::init_style()
+{
+  if (!atom->q_flag)
+    error->all(FLERR,"Pair style mm3/switch3/coulgauss/long requires atom attribute q");
+
+  // request regular or rRESPA neighbor list
+
+  int irequest;
+  int respa = 0;
+
+  if (update->whichflag == 1 && strstr(update->integrate_style,"respa")) {
+    if (((Respa *) update->integrate)->level_inner >= 0) respa = 1;
+    if (((Respa *) update->integrate)->level_middle >= 0) respa = 2;
+  }
+
+  irequest = neighbor->request(this,instance_me);
+
+  if (respa >= 1) {
+    neighbor->requests[irequest]->respaouter = 1;
+    neighbor->requests[irequest]->respainner = 1;
+  }
+  if (respa == 2) neighbor->requests[irequest]->respamiddle = 1;
+
+  cut_coulsq = cut_coul * cut_coul;
+
+  // set rRESPA cutoffs
+
+  if (strstr(update->integrate_style,"respa") &&
+      ((Respa *) update->integrate)->level_inner >= 0)
+    cut_respa = ((Respa *) update->integrate)->cutoff;
+  else cut_respa = NULL;
+
+  // insure use of KSpace long-range solver, set g_ewald
+
+  if (force->kspace == NULL)
+    error->all(FLERR,"Pair style requires a KSpace style");
+  g_ewald = force->kspace->g_ewald;
+
+  // setup force tables
+
+  if (ncoultablebits) init_tables(cut_coul,cut_respa);
+}
+
+/* ----------------------------------------------------------------------
+   init for one type pair i,j and corresponding j,i
+------------------------------------------------------------------------- */
+
+double PairMM3Switch3CoulGaussLong::init_one(int i, int j)
+{
+  if (setflag[i][j] == 0) {
+    epsilon[i][j] = sqrt(epsilon[i][i]*epsilon[j][j]);
+    sigma[i][j] = sigma[i][i] + sigma[j][j];
+    gamma[i][j] = 1.0/sqrt(gamma[i][i]*gamma[i][i]+gamma[j][j]*gamma[j][j]);
+    cut_lj[i][j] = mix_distance(cut_lj[i][i],cut_lj[j][j]);
+  }
+
+  double cut = MAX(cut_lj[i][j],cut_coul+2.0*qdist);
+  cut_ljsq[i][j] = cut_lj[i][j] * cut_lj[i][j];
+  lj1[i][j] = 12.0 / (sigma[i][j]);
+  if (gamma[i][i]==0.0 && gamma[j][j]==0.0) lj2[i][j] = 0.0;
+  else lj2[i][j] = 1.0/sqrt(gamma[i][i]*gamma[i][i]+gamma[j][j]*gamma[j][j]);
+  lj3[i][j] = 1.84e5 * epsilon[i][j];
+  lj4[i][j] = 2.25 * epsilon[i][j] * pow(sigma[i][j],6.0);
+
+  if (offset_flag && (cut_lj[i][j] > 0.0)) {
+    // Truncation is active, so offset is zero, except if truncw==0.0
+    if (truncw==0.0) {
+      double r = cut_lj[i][j];
+      double r2inv = 1.0/(r*r);
+      double r6inv = r2inv*r2inv*r2inv;
+      double expb = lj3[i][j]*exp(-lj1[i][j]*r);
+      offset[i][j] = expb-lj4[i][j]*r6inv;
+    }
+    else {offset[i][j] = 0.0;}
+  } else offset[i][j] = 0.0;
+
+  cut_ljsq[j][i] = cut_ljsq[i][j];
+  cut_lj[j][i] = cut_lj[i][j];
+  lj1[j][i] = lj1[i][j];
+  lj2[j][i] = lj2[i][j];
+  lj3[j][i] = lj3[i][j];
+  lj4[j][i] = lj4[i][j];
+  offset[j][i] = offset[i][j];
+
+  // check interior rRESPA cutoff
+
+  if (cut_respa && MIN(cut_lj[i][j],cut_coul) < cut_respa[3])
+    error->all(FLERR,"Pair cutoff < Respa interior cutoff");
+
+  // compute I,J contribution to long-range tail correction
+  // count total # of atoms of type I and J via Allreduce
+
+  if (tail_flag) {
+    int *type = atom->type;
+    int nlocal = atom->nlocal;
+
+    double count[2],all[2];
+    count[0] = count[1] = 0.0;
+    for (int k = 0; k < nlocal; k++) {
+      if (type[k] == i) count[0] += 1.0;
+      if (type[k] == j) count[1] += 1.0;
+    }
+    MPI_Allreduce(count,all,2,MPI_DOUBLE,MPI_SUM,world);
+
+    double cg = epsilon[i][j];
+    double cg1 = cut_lj[i][j];
+    double cg3 = 2.0*sigma[i][j];//Mind the factor 2 here!!!
+    if (truncw > 0.0) {
+        double cg5 = truncw;
+        double t1 = pow(cg3, 0.2e1);
+        double t2 = t1 * cg3;
+        double t3 = 0.5e1 / 0.216e3 * t2;
+        double t5 = cg1 / 0.9e1;
+        double t8 = -cg1 + cg5;
+        double t14 = t8 * t8;
+        double t17 = 0.1e1 / cg3;
+        double t20 = exp(0.12e2 * t17 * cg5);
+        double t30 = pow(cg1, 0.2e1);
+        double t36 = exp(-0.12e2 * t17 * cg1);
+        double t37 = pow(cg5, 0.2e1);
+        double t39 = 0.1e1 / t37 / cg5;
+        double t43 = cg1 * t8;
+        double t44 = log(-t8);
+        double t47 = log(cg1);
+        double t54 = t1 * t1;
+        double t64 = cg * (0.6388888889e3 * ((-t3 + (0.7e1 / 0.36e2 * cg5 - t5) * t1 - 0.2e1 / 0.3e1 * t8 * (cg5 - cg1 / 0.4e1) * cg3 + cg5 * t14) * t20 + t3 + (cg5 / 0.12e2 + t5) * t1 + (cg5 + cg1 / 0.3e1) * cg1 * cg3 / 0.2e1 + t30 * cg5) * t2 * t36 * t39 - 0.225e1 * (0.2e1 * t43 * t44 - 0.2e1 * t43 * t47 + cg5 * (cg5 - 0.2e1 * cg1)) * t54 * t1 / cg1 / t8 * t39);
+        etail_ij = 2.0*MY_PI*all[0]*all[1]*t64;
+        ptail_ij = 2.0*MY_PI*all[0]*all[1]*t64;
+    }
+    else {
+        double t2 = pow(cg3, 0.2e1);
+        double t3 = t2 * t2;
+        double t7 = 0.12e2 / cg3 * cg1;
+        double t8 = exp(t7);
+        double t11 = pow(cg1, 0.2e1);
+        double t12 = t11 * t11;
+        double t17 = t11 * cg1;
+        double t21 = exp(-t7);
+        double t27 = -0.9259259259e-2 * cg3 * cg * (0.81e2 * t3 * cg3 * t8 - 0.1656000e7 * t12 * cg1 - 0.276000e6 * cg3 * t12 - 0.23000e5 * t2 * t17) * t21 / t17;
+        double t1 = pow(cg3, 0.2e1);
+        t2 = t1 * t1;
+        double t6 = 0.12e2 / cg3 * cg1;
+        t7 = exp(t6);
+        double t10 = pow(cg1, 0.2e1);
+        t11 = t10 * t10;
+        double t19 = t10 * cg1;
+        double t25 = exp(-t6);
+        double t29 = 0.5555555556e-1 * cg * (0.81e2 * t2 * t1 * t7 - 0.3312000e7 * t11 * t10 - 0.828000e6 * cg3 * t11 * cg1 - 0.138000e6 * t1 * t11 - 0.11500e5 * t19 * t1 * cg3) * t25 / t19;
+        etail_ij = 2.0*MY_PI*all[0]*all[1]*t27;
+        ptail_ij = -2.0/3.0*MY_PI*all[0]*all[1]*t29;
+    }
+  }
+
+  return cut;
+}
+
+/* ----------------------------------------------------------------------
+  proc 0 writes to restart file
+------------------------------------------------------------------------- */
+
+void PairMM3Switch3CoulGaussLong::write_restart(FILE *fp)
+{
+  write_restart_settings(fp);
+
+  int i,j;
+  for (i = 1; i <= atom->ntypes; i++)
+    for (j = i; j <= atom->ntypes; j++) {
+      fwrite(&setflag[i][j],sizeof(int),1,fp);
+      if (setflag[i][j]) {
+        fwrite(&epsilon[i][j],sizeof(double),1,fp);
+        fwrite(&sigma[i][j],sizeof(double),1,fp);
+        fwrite(&gamma[i][j],sizeof(double),1,fp);
+        fwrite(&cut_lj[i][j],sizeof(double),1,fp);
+      }
+    }
+}
+
+/* ----------------------------------------------------------------------
+  proc 0 reads from restart file, bcasts
+------------------------------------------------------------------------- */
+
+void PairMM3Switch3CoulGaussLong::read_restart(FILE *fp)
+{
+  read_restart_settings(fp);
+
+  allocate();
+
+  int i,j;
+  int me = comm->me;
+  for (i = 1; i <= atom->ntypes; i++)
+    for (j = i; j <= atom->ntypes; j++) {
+      if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp);
+      MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world);
+      if (setflag[i][j]) {
+        if (me == 0) {
+          fread(&epsilon[i][j],sizeof(double),1,fp);
+          fread(&sigma[i][j],sizeof(double),1,fp);
+          fread(&gamma[i][j],sizeof(double),1,fp);
+          fread(&cut_lj[i][j],sizeof(double),1,fp);
+        }
+        MPI_Bcast(&epsilon[i][j],1,MPI_DOUBLE,0,world);
+        MPI_Bcast(&sigma[i][j],1,MPI_DOUBLE,0,world);
+        MPI_Bcast(&gamma[i][j],1,MPI_DOUBLE,0,world);
+        MPI_Bcast(&cut_lj[i][j],1,MPI_DOUBLE,0,world);
+      }
+    }
+}
+
+/* ----------------------------------------------------------------------
+  proc 0 writes to restart file
+------------------------------------------------------------------------- */
+
+void PairMM3Switch3CoulGaussLong::write_restart_settings(FILE *fp)
+{
+  fwrite(&cut_lj_global,sizeof(double),1,fp);
+  fwrite(&cut_coul,sizeof(double),1,fp);
+  fwrite(&truncw,sizeof(double),1,fp);
+  fwrite(&offset_flag,sizeof(int),1,fp);
+  fwrite(&mix_flag,sizeof(int),1,fp);
+  fwrite(&tail_flag,sizeof(int),1,fp);
+  fwrite(&ncoultablebits,sizeof(int),1,fp);
+  fwrite(&tabinner,sizeof(double),1,fp);
+}
+
+/* ----------------------------------------------------------------------
+  proc 0 reads from restart file, bcasts
+------------------------------------------------------------------------- */
+
+void PairMM3Switch3CoulGaussLong::read_restart_settings(FILE *fp)
+{
+  if (comm->me == 0) {
+    fread(&cut_lj_global,sizeof(double),1,fp);
+    fread(&cut_coul,sizeof(double),1,fp);
+    fread(&truncw,sizeof(double),1,fp);
+    fread(&offset_flag,sizeof(int),1,fp);
+    fread(&mix_flag,sizeof(int),1,fp);
+    fread(&tail_flag,sizeof(int),1,fp);
+    fread(&ncoultablebits,sizeof(int),1,fp);
+    fread(&tabinner,sizeof(double),1,fp);
+  }
+  printf("Reading from restart, trunc = %f\n",truncw);
+  MPI_Bcast(&cut_lj_global,1,MPI_DOUBLE,0,world);
+  MPI_Bcast(&cut_coul,1,MPI_DOUBLE,0,world);
+  MPI_Bcast(&truncw,1,MPI_DOUBLE,0,world);
+  MPI_Bcast(&offset_flag,1,MPI_INT,0,world);
+  MPI_Bcast(&mix_flag,1,MPI_INT,0,world);
+  MPI_Bcast(&tail_flag,1,MPI_INT,0,world);
+  MPI_Bcast(&ncoultablebits,1,MPI_INT,0,world);
+  MPI_Bcast(&tabinner,1,MPI_DOUBLE,0,world);
+}
+
+
+/* ----------------------------------------------------------------------
+   proc 0 writes to data file
+------------------------------------------------------------------------- */
+
+void PairMM3Switch3CoulGaussLong::write_data(FILE *fp)
+{
+  for (int i = 1; i <= atom->ntypes; i++)
+    fprintf(fp,"%d %g %g %g\n",i,epsilon[i][i],sigma[i][i],gamma[i][i]);
+}
+
+/* ----------------------------------------------------------------------
+   proc 0 writes all pairs to data file
+------------------------------------------------------------------------- */
+
+void PairMM3Switch3CoulGaussLong::write_data_all(FILE *fp)
+{
+  for (int i = 1; i <= atom->ntypes; i++)
+    for (int j = i; j <= atom->ntypes; j++)
+      fprintf(fp,"%d %d %g %g %g %g\n",i,j,epsilon[i][j],sigma[i][j],gamma[i][j],cut_lj[i][j]);
+}
+
+/* ---------------------------------------------------------------------- */
+
+double PairMM3Switch3CoulGaussLong::single(int i, int j, int itype, int jtype,
+                                 double rsq,
+                                 double factor_coul, double factor_lj,
+                                 double &fforce)
+{
+  double r2inv,r6inv,r,grij,expm2,t,erfc1,prefactor,prefactor2,rrij,expn2,erfc2;
+  double fraction,table,forcecoul,forcecoul2,forcelj,phicoul,phicoul2,philj;
+  double expb, ecoul, evdwl, trx, tr, ftr;
+
+  int itable;
+
+  r2inv = 1.0/rsq;
+  if (rsq < cut_coulsq) {
+    if (!ncoultablebits || rsq <= tabinnersq) {
+      r = sqrt(rsq);
+      grij = g_ewald * r;
+      expm2 = exp(-grij*grij);
+      t = 1.0 / (1.0 + EWALD_P*grij);
+      erfc1 = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2;
+      prefactor = force->qqrd2e * atom->q[i]*atom->q[j]/r;
+      forcecoul = prefactor * (erfc1 + EWALD_F*grij*expm2);
+      if (factor_coul < 1.0) forcecoul -= (1.0-factor_coul)*prefactor;
+    } else {
+      union_int_float_t rsq_lookup_single;
+      rsq_lookup_single.f = rsq;
+      itable = rsq_lookup_single.i & ncoulmask;
+      itable >>= ncoulshiftbits;
+      fraction = (rsq_lookup_single.f - rtable[itable]) * drtable[itable];
+      table = ftable[itable] + fraction*dftable[itable];
+      forcecoul = atom->q[i]*atom->q[j] * table;
+      if (factor_coul < 1.0) {
+        table = ctable[itable] + fraction*dctable[itable];
+        prefactor = atom->q[i]*atom->q[j] * table;
+        forcecoul -= (1.0-factor_coul)*prefactor;
+      }
+    }
+  } else forcecoul = 0.0;
+
+  if (rsq < cut_ljsq[itype][jtype]) {
+    r = sqrt(rsq);
+    r6inv = r2inv*r2inv*r2inv;
+    expb = lj3[itype][jtype]*exp(-lj1[itype][jtype]*r);
+    rrij = lj2[itype][jtype] * r;
+    if (rrij==0.0) {
+      expn2 = 0.0;
+      erfc2 = 0.0;
+    }
+    else {
+      expn2 = exp(-rrij*rrij);
+      erfc2 = erfc(rrij);
+    }
+    prefactor2 = -force->qqrd2e * atom->q[i]*atom->q[j]/r;
+    forcecoul2 = prefactor2 * (erfc2 + EWALD_F*rrij*expn2);
+    forcelj = expb*lj1[itype][jtype]*r-6.0*lj4[itype][jtype]*r6inv;
+  } else forcelj = 0.0;
+
+  double eng = 0.0;
+  if (rsq < cut_coulsq) {
+    if (!ncoultablebits || rsq <= tabinnersq)
+      phicoul = prefactor*erfc1;
+    else {
+      table = etable[itable] + fraction*detable[itable];
+      phicoul = atom->q[i]*atom->q[j] * table;
+    }
+    if (factor_coul < 1.0) phicoul -= (1.0-factor_coul)*prefactor;
+    eng += phicoul;
+  }
+
+  if (rsq < cut_ljsq[itype][jtype]) {
+    ecoul += prefactor2*erfc2*factor_coul;
+    evdwl = expb-lj4[itype][jtype]*r6inv-offset[itype][jtype];
+  } else evdwl = 0.0;
+
+  // Truncation, see Yaff Switch3
+  if (truncw>0) {
+    if (rsq < cut_ljsq[itype][jtype]) {
+      if (r>cut_lj[itype][jtype]-truncw) {
+        trx = (cut_lj[itype][jtype]-r)*truncwi;
+        tr = trx*trx*(3.0-2.0*trx);
+        ftr = 6.0*trx*(1.0-trx)*r*truncwi;    
+        forcelj = forcelj*tr + evdwl*ftr;
+        evdwl *= tr;
+      }
+    }
+  }
+  eng += evdwl*factor_lj;
+  fforce = (forcecoul + factor_coul*forcecoul2 + factor_lj*forcelj) * r2inv;
+
+  return eng;
+}
+
+/* ---------------------------------------------------------------------- */
+
+void *PairMM3Switch3CoulGaussLong::extract(const char *str, int &dim)
+{
+  dim = 0;
+  if (strcmp(str,"cut_coul") == 0) return (void *) &cut_coul;
+  dim = 2;
+  if (strcmp(str,"epsilon") == 0) return (void *) epsilon;
+  if (strcmp(str,"sigma") == 0) return (void *) sigma;
+  if (strcmp(str,"gamma") == 0) return (void *) gamma;
+  return NULL;
+}
diff --git a/src/USER-YAFF/pair_mm3_switch3_coulgauss_long.h b/src/USER-YAFF/pair_mm3_switch3_coulgauss_long.h
new file mode 100644
index 0000000000000000000000000000000000000000..35ae6c7995c927a4dd540efb063f5af0ebb3e053
--- /dev/null
+++ b/src/USER-YAFF/pair_mm3_switch3_coulgauss_long.h
@@ -0,0 +1,91 @@
+/* -*- c++ -*- ----------------------------------------------------------
+   LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+   http://lammps.sandia.gov, Sandia National Laboratories
+   Steve Plimpton, sjplimp@sandia.gov
+
+   Copyright (2003) Sandia Corporation.  Under the terms of Contract
+   DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+   certain rights in this software.  This software is distributed under
+   the GNU General Public License.
+
+   See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#ifdef PAIR_CLASS
+
+PairStyle(mm3/switch3/coulgauss/long,PairMM3Switch3CoulGaussLong)
+
+#else
+
+#ifndef LMP_PAIR_MM3_SWITCH3_COULGAUSS_LONG_H
+#define LMP_PAIR_MM3_SWITCH3_COULGAUSS_LONG_H
+
+#include "pair.h"
+
+namespace LAMMPS_NS {
+
+class PairMM3Switch3CoulGaussLong : public Pair {
+
+ public:
+  PairMM3Switch3CoulGaussLong(class LAMMPS *);
+  virtual ~PairMM3Switch3CoulGaussLong();
+  virtual void compute(int, int);
+  virtual void settings(int, char **);
+  void coeff(int, char **);
+  virtual void init_style();
+  virtual double init_one(int, int);
+  void write_restart(FILE *);
+  void read_restart(FILE *);
+  virtual void write_restart_settings(FILE *);
+  virtual void read_restart_settings(FILE *);
+  void write_data(FILE *);
+  void write_data_all(FILE *);
+  virtual double single(int, int, int, int, double, double, double, double &);
+
+  virtual void *extract(const char *, int &);
+
+ protected:
+  double cut_lj_global;
+  double truncw, truncwi;
+  double **cut_lj,**cut_ljsq;
+  double cut_coul,cut_coulsq;
+  double **epsilon,**sigma,**gamma;
+  double **lj1,**lj2,**lj3,**lj4,**offset;
+  double *cut_respa;
+  double qdist;             // TIP4P distance from O site to negative charge
+  double g_ewald;
+
+  virtual void allocate();
+};
+
+}
+
+#endif
+#endif
+
+/* ERROR/WARNING messages:
+
+E: Illegal ... command
+
+Self-explanatory.  Check the input script syntax and compare to the
+documentation for the command.  You can use -echo screen as a
+command-line option when running LAMMPS to see the offending line.
+
+E: Incorrect args for pair coefficients
+
+Self-explanatory.  Check the input script or data file.
+
+E: Pair style mm3/switch3/coulgauss/long requires atom attribute q
+
+The atom style defined does not have this attribute.
+
+E: Pair style requires a KSpace style
+
+No kspace style is defined.
+
+E: Pair cutoff < Respa interior cutoff
+
+One or more pairwise cutoffs are too short to use with the specified
+rRESPA cutoffs.
+
+*/