diff --git a/dumux/CMakeLists.txt b/dumux/CMakeLists.txt
index 87cb87d8609fb96482771c7c36cd522ef43d221c..90b1256e9af20639361ebbc0a7c0d66af5d9caeb 100644
--- a/dumux/CMakeLists.txt
+++ b/dumux/CMakeLists.txt
@@ -1,3 +1,4 @@
+add_subdirectory("adaptive")
 add_subdirectory("common")
 add_subdirectory("discretization")
 add_subdirectory("freeflow")
diff --git a/dumux/adaptive/CMakeLists.txt b/dumux/adaptive/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5f56a25371676e4a1b0700f6431e71e20e7e93e6
--- /dev/null
+++ b/dumux/adaptive/CMakeLists.txt
@@ -0,0 +1,7 @@
+#install sources
+install(FILES
+adapt.hh
+griddatatransfer.hh
+initializationindicator.hh
+markelements.hh
+DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/adaptive)
diff --git a/dumux/adaptive/adapt.hh b/dumux/adaptive/adapt.hh
new file mode 100644
index 0000000000000000000000000000000000000000..8d2a78b4bbc27d607ed620e329c6a1ae67bc7f8b
--- /dev/null
+++ b/dumux/adaptive/adapt.hh
@@ -0,0 +1,62 @@
+// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+// vi: set et ts=4 sw=4 sts=4:
+/*****************************************************************************
+ *   See the file COPYING for full copying permissions.                      *
+ *                                                                           *
+ *   This program is free software: you can redistribute it and/or modify    *
+ *   it under the terms of the GNU General Public License as published by    *
+ *   the Free Software Foundation, either version 2 of the License, or       *
+ *   (at your option) any later version.                                     *
+ *                                                                           *
+ *   This program is distributed in the hope that it will be useful,         *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
+ *   GNU General Public License for more details.                            *
+ *                                                                           *
+ *   You should have received a copy of the GNU General Public License       *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
+ *****************************************************************************/
+/*!
+ * \file
+ * \brief A free function for h-adaptivity.
+ */
+#ifndef DUMUX_ADAPTIVE_ADAPT_HH
+#define DUMUX_ADAPTIVE_ADAPT_HH
+
+#include "griddatatransfer.hh"
+
+namespace Dumux
+{
+
+/*!
+ * \brief Adapt the grid.
+ *
+ * \param grid The grid to adapt
+ * \param dataTransfer A class that performs the data
+ *                     transfer from the old to the new grid.
+ */
+template<class Grid>
+bool adapt(Grid& grid, GridDataTransfer& dataTransfer)
+{
+    //! Do pre-adaption step of the grid
+    const bool mightCoarsen = grid.preAdapt();
+
+    //! Let the helper do storage of variables
+    dataTransfer.store();
+
+    //! adapt the grid
+    const bool refine = grid.adapt();
+
+    //! (Re-)construct variables to new grid
+    dataTransfer.reconstruct();
+
+    // delete markers in grid
+    grid.postAdapt();
+
+    //! return boolean if grid has been changed
+    return mightCoarsen || refine;
+}
+
+} // end namespace Dumux
+
+#endif /* DUMUX_ADAPTIVE_ADAPT_HH */
diff --git a/dumux/adaptive/griddatatransfer.hh b/dumux/adaptive/griddatatransfer.hh
new file mode 100644
index 0000000000000000000000000000000000000000..e89f68391aaf8bee3938407d7972a70571b2b26b
--- /dev/null
+++ b/dumux/adaptive/griddatatransfer.hh
@@ -0,0 +1,39 @@
+// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+// vi: set et ts=4 sw=4 sts=4:
+/*****************************************************************************
+ *   See the file COPYING for full copying permissions.                      *
+ *                                                                           *
+ *   This program is free software: you can redistribute it and/or modify    *
+ *   it under the terms of the GNU General Public License as published by    *
+ *   the Free Software Foundation, either version 2 of the License, or       *
+ *   (at your option) any later version.                                     *
+ *                                                                           *
+ *   This program is distributed in the hope that it will be useful,         *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
+ *   GNU General Public License for more details.                            *
+ *                                                                           *
+ *   You should have received a copy of the GNU General Public License       *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
+ *****************************************************************************/
+#ifndef DUMUX_ADAPTIVE_GRIDDATATRANSFER_HH
+#define DUMUX_ADAPTIVE_GRIDDATATRANSFER_HH
+
+namespace Dumux {
+
+/*!
+ * \brief Interface to be used by classes transferring grid data.
+ */
+class GridDataTransfer
+{
+public:
+  virtual ~GridDataTransfer() = default;
+
+  virtual void store() = 0;
+
+  virtual void reconstruct() = 0;
+};
+
+} // end namespace Dumux
+
+#endif /* DUMUX_ADAPTIVE_GRIDDATATRANSFER_HH */
diff --git a/dumux/adaptive/initializationindicator.hh b/dumux/adaptive/initializationindicator.hh
new file mode 100644
index 0000000000000000000000000000000000000000..3571568892ef3f86f68a48099467ddaba622980b
--- /dev/null
+++ b/dumux/adaptive/initializationindicator.hh
@@ -0,0 +1,289 @@
+// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+// vi: set et ts=4 sw=4 sts=4:
+/*****************************************************************************
+ *   See the file COPYING for full copying permissions.                      *
+ *                                                                           *
+ *   This program is free software: you can redistribute it and/or modify    *
+ *   it under the terms of the GNU General Public License as published by    *
+ *   the Free Software Foundation, either version 2 of the License, or       *
+ *   (at your option) any later version.                                     *
+ *                                                                           *
+ *   This program is distributed in the hope that it will be useful,         *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
+ *   GNU General Public License for more details.                            *
+ *                                                                           *
+ *   You should have received a copy of the GNU General Public License       *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
+ *****************************************************************************/
+/**
+* \file
+* \brief Class defining an initialization indicator for grid adaption
+*/
+#ifndef DUMUX_GRIDADAPTINITIALIZATIONINDICATOR_HH
+#define DUMUX_GRIDADAPTINITIALIZATIONINDICATOR_HH
+
+#include <dune/geometry/type.hh>
+
+#include <dumux/discretization/methods.hh>
+
+namespace Dumux
+{
+
+/*!\ingroup GridAdapt
+ * \brief Class defining an initialization indicator for grid adaption.
+ *        Accounts for sources and boundaries. Only for grid initialization!
+ *
+ * \tparam TypeTag The problem TypeTag
+ */
+template<class TypeTag>
+class GridAdaptInitializationIndicator
+{
+    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
+    using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
+    using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
+    using Element = typename GridView::Traits::template Codim<0>::Entity;
+
+    using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables);
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
+    using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVElementGeometry);
+    using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables);
+    using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes);
+
+    static constexpr bool isBox = GET_PROP_VALUE(TypeTag, DiscretizationMethod) == DiscretizationMethods::Box;
+
+public:
+
+    /*! \brief Constructor
+     *
+     * \param problem The problem object
+     * \param fvGridGeometry The finite volume geometry of the grid
+     * \param gridVariables The secondary variables on the grid
+     */
+    GridAdaptInitializationIndicator(std::shared_ptr<const Problem> problem,
+                                     std::shared_ptr<const FVGridGeometry> fvGridGeometry,
+                                     std::shared_ptr<const GridVariables> gridVariables)
+    : problem_(problem)
+    , fvGridGeometry_(fvGridGeometry)
+    , gridVariables_(gridVariables)
+    , minLevel_(getParamFromGroup<int>(GET_PROP_VALUE(TypeTag, ModelParameterGroup), "Adaptive.MinLevel"))
+    , maxLevel_(getParamFromGroup<int>(GET_PROP_VALUE(TypeTag, ModelParameterGroup), "Adaptive.MaxLevel"))
+    , refineAtDirichletBC_(getParamFromGroup<bool>(GET_PROP_VALUE(TypeTag, ModelParameterGroup), "Adaptive.RefineAtDirichletBC", true))
+    , refineAtFluxBC_(getParamFromGroup<bool>(GET_PROP_VALUE(TypeTag, ModelParameterGroup), "Adaptive.RefineAtFluxBC", true))
+    , refineAtSource_(getParamFromGroup<bool>(GET_PROP_VALUE(TypeTag, ModelParameterGroup), "Adaptive.RefineAtSource", true))
+    , eps_(getParamFromGroup<Scalar>(GET_PROP_VALUE(TypeTag, ModelParameterGroup), "Adaptive.BCRefinementThreshold", 1e-10))
+    {}
+
+    /*!
+     * \brief Function to set the minimum allowed level.
+     *
+     */
+    void setMinLevel(std::size_t minLevel)
+    {
+        minLevel_ = minLevel;
+    }
+
+    /*!
+     * \brief Function to set the maximum allowed level.
+     *
+     */
+    void setMaxLevel(std::size_t maxLevel)
+    {
+        maxLevel_ = maxLevel;
+    }
+
+    /*!
+     * \brief Function to set the minumum/maximum allowed levels.
+     *
+     */
+    void setLevels(std::size_t minLevel, std::size_t maxLevel)
+    {
+        minLevel_ = minLevel;
+        maxLevel_ = maxLevel;
+    }
+
+    /*!
+     * \brief Function to set if refinement at Dirichlet boundaries is to be used.
+     *
+     */
+    void setRefinementAtDirichletBC(bool refine)
+    {
+        refineAtDirichletBC_ = refine;
+    }
+
+    /*!
+     * \brief Function to set if refinement at sources is to be used.
+     *
+     */
+    void setRefinementAtSources(bool refine)
+    {
+        refineAtSource_ = refine;
+    }
+
+    /*!
+     * \brief Function to set if refinement at sources is to be used.
+     *
+     */
+    void setRefinementAtFluxBoundaries(bool refine)
+    {
+        refineAtFluxBC_ = refine;
+    }
+
+    /*!
+     * \brief Calculates the indicator used for refinement/coarsening for each grid cell.
+     *
+     * \param sol The solution for which indicator is to be calculated
+     */
+    template<class SolutionVector>
+    void calculate(const SolutionVector& sol)
+    {
+        //! prepare an indicator for refinement
+        indicatorVector_.assign(fvGridGeometry_->gridView().size(0), false);
+
+        for (const auto& element : elements(fvGridGeometry_->gridView()))
+        {
+            const auto eIdx = fvGridGeometry_->elementMapper().index(element);
+
+            //! refine any element being below the minimum level
+            if (element.level() < minLevel_)
+            {
+                indicatorVector_[eIdx] = true;
+                continue; //! proceed to the next element
+            }
+
+            //! If refinement at sources/BCs etc is deactivated, skip the rest
+            if (!refineAtSource_ && !refineAtFluxBC_ && !refineAtDirichletBC_)
+                continue;
+
+            //! if the element is already on the maximum permissive level, skip rest
+            if (element.level() == maxLevel_)
+                continue;
+
+            //! get the fvGeometry and elementVolVars needed for the bc and source interfaces
+            auto fvGeometry = localView(*fvGridGeometry_);
+            fvGeometry.bindElement(element);
+
+            auto elemVolVars = localView(gridVariables_->curGridVolVars());
+            elemVolVars.bindElement(element, fvGeometry, sol);
+
+            //! Check if we have to refine around a source term
+            if (refineAtSource_)
+            {
+                for (const auto& scv : scvs(fvGeometry))
+                {
+                    auto source = problem_->source(element, fvGeometry, elemVolVars, scv);
+                    if (source.infinity_norm() > eps_)
+                    {
+                        indicatorVector_[eIdx] = true;
+                        break; //! element is marked, escape scv loop
+                    }
+                }
+            }
+
+            //! Check if we have to refine at the boundary
+            if (!indicatorVector_[eIdx]                       //! proceed if element is not already marked
+                && element.hasBoundaryIntersections()         //! proceed if element is on boundary
+                && (refineAtDirichletBC_ || refineAtFluxBC_)) //! proceed if boundary refinement is active
+            {
+                //! cell-centered schemes
+                if (!isBox)
+                {
+                    for (const auto& scvf : scvfs(fvGeometry))
+                    {
+                        //! skip non-boundary scvfs
+                        if (!scvf.boundary())
+                            continue;
+
+                        const auto bcTypes = problem_->boundaryTypes(element, scvf);
+                        //! We assume pure BCs, mixed boundary types are not allowed anyway!
+                        if(bcTypes.hasOnlyDirichlet() && refineAtDirichletBC_)
+                        {
+                            indicatorVector_[eIdx] = true;
+                            break; //! element is marked, escape scvf loop
+                        }
+
+                        //! we are on a pure Neumann boundary
+                        else if(refineAtFluxBC_)
+                        {
+                            const auto fluxes = problem_->neumann(element, fvGeometry, elemVolVars, scvf);
+                            if (fluxes.infinity_norm() > eps_)
+                            {
+                                indicatorVector_[eIdx] = true;
+                                break; //! element is marked, escape scvf loop
+                            }
+                        }
+                    }
+                }
+                //! box-scheme
+                else
+                {
+                    //! container to store bcTypes
+                    std::vector<BoundaryTypes> bcTypes(fvGeometry.numScv());
+
+                    //! Get bcTypes and maybe mark for refinement on Dirichlet boundaries
+                    for (const auto& scv : scvs(fvGeometry))
+                    {
+                        bcTypes[scv.indexInElement()] = problem_->boundaryTypes(element, scv);
+                        if (refineAtDirichletBC_ && bcTypes[scv.indexInElement()].hasDirichlet())
+                        {
+                            indicatorVector_[eIdx] = true;
+                            break; //! element is marked, escape scv loop
+                        }
+                    }
+
+                    //! If element hasn't been marked because of Dirichlet BCS, check Neumann BCs
+                    if (!indicatorVector_[eIdx] && refineAtFluxBC_)
+                    {
+                        for (const auto& scvf : scvfs(fvGeometry))
+                        {
+                            //! check if scvf is on Neumann boundary
+                            if (scvf.boundary() && bcTypes[scvf.insideScvIdx()].hasNeumann())
+                            {
+                                const auto fluxes = problem_->neumann(element, fvGeometry, elemVolVars, scvf);
+                                if (fluxes.infinity_norm() > eps_)
+                                {
+                                    indicatorVector_[eIdx] = true;
+                                    break; //! element is marked, escape scvf loop
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    /*! \brief function call operator to return mark
+     *
+     *  \return  1 if an element should be refined
+     *          -1 if an element should be coarsened
+     *           0 otherwise
+     *
+     *  \note In this initialization indicator implementation
+     *        element coarsening is not considered.
+     *
+     *  \param element A grid element
+     */
+    int operator() (const Element& element) const
+    {
+        if (indicatorVector_[fvGridGeometry_->elementMapper().index(element)])
+            return 1;
+        return 0;
+    }
+
+private:
+    std::shared_ptr<const Problem> problem_;               //! The problem to be solved
+    std::shared_ptr<const FVGridGeometry> fvGridGeometry_; //! The finite volume grid geometry
+    std::shared_ptr<const GridVariables> gridVariables_;   //! The secondary variables on the grid
+    std::vector<bool> indicatorVector_;                    //! Indicator for BCs/sources
+
+    int minLevel_;             //! The minimum allowed level
+    int maxLevel_;             //! The maximum allowed level
+    bool refineAtDirichletBC_; //! Specifies if it should be refined at Dirichlet BCs
+    bool refineAtFluxBC_;      //! Specifies if it should be refined at non-zero Neumann BCs
+    bool refineAtSource_;      //! Specifies if it should be refined at sources
+    Scalar eps_;               //! Threshold for refinement at sources/BCS
+};
+
+}
+#endif
diff --git a/dumux/adaptive/markelements.hh b/dumux/adaptive/markelements.hh
new file mode 100644
index 0000000000000000000000000000000000000000..cb8e28c8c165d75c3198f9fa0f50f4f215e6b563
--- /dev/null
+++ b/dumux/adaptive/markelements.hh
@@ -0,0 +1,64 @@
+// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+// vi: set et ts=4 sw=4 sts=4:
+/*****************************************************************************
+ *   See the file COPYING for full copying permissions.                      *
+ *                                                                           *
+ *   This program is free software: you can redistribute it and/or modify    *
+ *   it under the terms of the GNU General Public License as published by    *
+ *   the Free Software Foundation, either version 2 of the License, or       *
+ *   (at your option) any later version.                                     *
+ *                                                                           *
+ *   This program is distributed in the hope that it will be useful,         *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
+ *   GNU General Public License for more details.                            *
+ *                                                                           *
+ *   You should have received a copy of the GNU General Public License       *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
+ *****************************************************************************/
+/*!
+ * \file
+ * \brief A class for h-adaptivity when using finite volume schemes.
+ */
+#ifndef DUMUX_ADAPTIVE_MARKELEMENTS_HH
+#define DUMUX_ADAPTIVE_MARKELEMENTS_HH
+
+namespace Dumux
+{
+
+template<class Grid, class Indicator>
+bool markElements(Grid& grid, Indicator& indicator, bool verbose = true)
+{
+    //! mark elements according to indicator
+    std::size_t refine = 0;
+    std::size_t coarsen = 0;
+    for (const auto& element : elements(grid.leafGridView(), Dune::Partitions::interior))
+    {
+        const auto mark = indicator(element);
+        if (mark > 0)
+        {
+            grid.mark(1,  element);
+            ++refine;
+        }
+        else if (mark < 0)
+        {
+            grid.mark(-1, element);
+            ++coarsen;
+        }
+    }
+
+    //! abort if nothing in grid is marked
+    const std::size_t sumRefine = grid.comm().sum(refine);
+    const std::size_t sumCoarsen = grid.comm().sum(coarsen);
+
+    if (grid.comm().rank() == 0 && verbose)
+        std::cout << sumRefine << " cells have been marked to be refined, "
+                  << sumCoarsen << " to be coarsened." << std::endl;
+
+    //! return whether or not anything has been marked
+    return sumRefine != 0 || sumCoarsen != 0;
+}
+
+} //end namespace Dumux
+
+#endif /* DUMUX_ADAPTIVE_MARKELEMENTS_HH */
diff --git a/dumux/common/fvproblem.hh b/dumux/common/fvproblem.hh
index 4f9898ae54280cc58545869af74459254a2ed5f6..e31305bde91dadbb7572e209ab19f06c4f4910f8 100644
--- a/dumux/common/fvproblem.hh
+++ b/dumux/common/fvproblem.hh
@@ -34,7 +34,6 @@
 #include <dumux/discretization/methods.hh>
 
 //#include <dumux/io/restart.hh>
-//#include <dumux/implicit/adaptive/gridadapt.hh>
 
 namespace Dumux
 {
@@ -79,8 +78,6 @@ class FVProblem
 
     static constexpr bool isBox = GET_PROP_VALUE(TypeTag, DiscretizationMethod) == DiscretizationMethods::Box;
 
-    // using GridAdaptModel = ImplicitGridAdapt<TypeTag, adaptiveGrid>;
-
 public:
     /*!
      * \brief Constructor
@@ -93,14 +90,8 @@ public:
         // set a default name for the problem
         problemName_ = getParamFromGroup<std::string>(GET_PROP_VALUE(TypeTag, ModelParameterGroup), "Problem.Name");
 
-        // TODO this has to be moved to the main file most probably
-        // // if we are calculating on an adaptive grid get the grid adapt model
-        // if (adaptiveGrid)
-        //     gridAdapt_ = std::make_shared<GridAdaptModel>(asImp_());
-        //     gridAdapt().init();
-
         // compute which scvs contain point sources
-        computePointSourceMap(pointSourceMap_);
+        computePointSourceMap();
     }
 
     /*!
@@ -441,11 +432,10 @@ public:
     }
 
     //! Compute the point source map, i.e. which scvs have point source contributions
-    template<class PointSourceMap>
-    void computePointSourceMap(PointSourceMap& pointSourceMap)
+    void computePointSourceMap()
     {
         // clear the given point source maps in case it's not empty
-        pointSourceMap.clear();
+        pointSourceMap_.clear();
 
         // get and apply point sources if any given in the problem
         std::vector<PointSource> sources;
@@ -457,7 +447,7 @@ public:
             // calculate point source locations and save them in a map
             PointSourceHelper::computePointSourceMap(*fvGridGeometry_,
                                                      sources,
-                                                     pointSourceMap);
+                                                     pointSourceMap_);
         }
     }
 
@@ -539,27 +529,6 @@ public:
      */
     // \{
 
-    /*!
-     * \brief Called by the time manager before the time integration.
-     */
-    // TODO most likely move to the main file
-    // void preTimeStep()
-    // {
-    //     // If adaptivity is used, this method adapts the grid.
-    //     // Remeber to call the parent class function if this is overwritten
-    //     // on a lower problem level when using an adaptive grid
-    //     if (adaptiveGrid && timeManager().timeStepIndex() > 0)
-    //     {
-    //         this->gridAdapt().adaptGrid();
-
-    //         // if the grid changed recompute the source map and the bounding box tree
-    //         if (asImp_().gridChanged())
-    //         {
-    //             computePointSourceMap();
-    //         }
-    //     }
-    // }
-
     /*!
      * \brief TODO serialization
      */
diff --git a/dumux/discretization/cellcentered/mpfa/elementfluxvariablescache.hh b/dumux/discretization/cellcentered/mpfa/elementfluxvariablescache.hh
index 6a1aedeb318bfd967484b7e87ed6f00d4f514fac..5aadd98bb9744109771f9ee32fae699bcbe9112d 100644
--- a/dumux/discretization/cellcentered/mpfa/elementfluxvariablescache.hh
+++ b/dumux/discretization/cellcentered/mpfa/elementfluxvariablescache.hh
@@ -165,13 +165,14 @@ public:
             for (auto scvfIdx : dataJ.scvfsJ)
                 globalScvfIndices_[i++] = scvfIdx;
 
-        // reserve memory estimate for interaction volumes and corresponding data
+        // Reserve memory (over-) estimate for interaction volumes and corresponding data.
+        // The overestimate doesn't hurt as we are not in a memory-limited configuration.
+        // We need to avoid reallocation because in the caches we store pointers to the data handles.
         const auto numIvEstimate = getNoInteractionVolumesEstimate_(element, assemblyMapI);
-        const auto maxBoundaryIv = element.subEntities(dim);
         primaryInteractionVolumes_.reserve(numIvEstimate);
-        secondaryInteractionVolumes_.reserve(maxBoundaryIv);
+        secondaryInteractionVolumes_.reserve(numIvEstimate);
         primaryIvDataHandles_.reserve(numIvEstimate);
-        secondaryIvDataHandles_.reserve(maxBoundaryIv);
+        secondaryIvDataHandles_.reserve(numIvEstimate);
 
         // helper class to fill flux variables caches
         FluxVariablesCacheFiller filler(problem);
@@ -285,12 +286,19 @@ private:
     template<class AssemblyMap>
     std::size_t getNoInteractionVolumesEstimate_(const Element& element, const AssemblyMap& assemblyMap)
     {
-        //! Get the mpfa method only once per simulation
-        static const MpfaMethods method = GET_PROP_VALUE(TypeTag, MpfaMethod);
-
         // TODO: uncomment as soon as methods are re-implemented
-        if (method == MpfaMethods::oMethod /*|| method == MpfaMethods::oMethodFps*/)
-            return element.subEntities(dim);
+        // if statements are optimized away by the compiler
+        if (GET_PROP_VALUE(TypeTag, MpfaMethod) == MpfaMethods::oMethod /*|| method == MpfaMethods::oMethodFps*/)
+        {
+            //! Reserve memory for the case of each facet having neighbors being 4 levels higher. Memory limitations
+            //! do not play an important role here as global caching is disabled. In the unlikely case you want
+            //! to use higher local differences in element levels set a higher value for the parameter below
+            //! in your input file (note that some grids might only support levels differences of one anyway)
+            static const unsigned int maxDiff = getParamFromGroup<unsigned int>(GET_PROP_VALUE(TypeTag, ModelParameterGroup),
+                                                                                "Grid.MaxLocalElementLevelDifference",
+                                                                                4);
+            return element.subEntities(dim)*maxDiff;
+        }
       /*  else if (method == MpfaMethods::lMethod)
         {
             std::size_t numInsideScvfs = MpfaHelper::getNumLocalScvfs(element.geometry().type());
diff --git a/dumux/discretization/cellcentered/tpfa/darcyslaw.hh b/dumux/discretization/cellcentered/tpfa/darcyslaw.hh
index e6701098eb99497a5107f3aeb8f5950497c19474..1dcb394f668242aeec8996cc5ec48aaeb6901da4 100644
--- a/dumux/discretization/cellcentered/tpfa/darcyslaw.hh
+++ b/dumux/discretization/cellcentered/tpfa/darcyslaw.hh
@@ -170,7 +170,7 @@ class CCTpfaDarcysLaw<TypeTag, /*isNetwork*/ false>
             const auto& g = problem.gravityAtPos(scvf.ipGlobal());
 
             //! compute alpha := n^T*K*g
-            const auto alpha_inside = vtmv(scvf.unitOuterNormal(), insideVolVars.permeability(), g);
+            const auto alpha_inside = vtmv(scvf.unitOuterNormal(), insideVolVars.permeability(), g)*insideVolVars.extrusionFactor();
 
             Scalar flux = tij*(pInside - pOutside) + rho*scvf.area()*alpha_inside;
 
@@ -180,7 +180,7 @@ class CCTpfaDarcysLaw<TypeTag, /*isNetwork*/ false>
                 const auto& outsideScv = fvGeometry.scv(scvf.outsideScvIdx());
                 const auto outsideK = outsideVolVars.permeability();
                 const auto outsideTi = computeTpfaTransmissibility(scvf, outsideScv, outsideK, outsideVolVars.extrusionFactor());
-                const auto alpha_outside = vtmv(scvf.unitOuterNormal(), outsideK, g);
+                const auto alpha_outside = vtmv(scvf.unitOuterNormal(), outsideK, g)*outsideVolVars.extrusionFactor();
 
                 flux += rho*tij/outsideTi*(alpha_inside - alpha_outside);
             }
@@ -353,7 +353,9 @@ public:
                     Scalar sumPTi(tij*pInside);
 
                     // add inside gravitational contribution
-                    sumPTi += rho*scvf.area()*vtmv(scvf.unitOuterNormal(), insideVolVars.permeability(), g);
+                    sumPTi += rho*scvf.area()
+                              *insideVolVars.extrusionFactor()
+                              *vtmv(scvf.unitOuterNormal(), insideVolVars.permeability(), g);
 
                     for (unsigned int i = 0; i < scvf.numOutsideScvs(); ++i)
                     {
@@ -365,14 +367,16 @@ public:
                         sumPTi += outsideFluxVarsCache.advectionTij()*outsideVolVars.pressure(phaseIdx);
 
                         // add outside gravitational contribution
-                        sumPTi += rho*scvf.area()*vtmv(flippedScvf.unitOuterNormal(), outsideVolVars.permeability(), g);
+                        sumPTi += rho*scvf.area()
+                                  *outsideVolVars.extrusionFactor()
+                                  *vtmv(flippedScvf.unitOuterNormal(), outsideVolVars.permeability(), g);
                     }
                     return sumPTi/sumTi;
                 }
             }();
 
             //! precompute alpha := n^T*K*g
-            const auto alpha_inside = vtmv(scvf.unitOuterNormal(), insideVolVars.permeability(), g);
+            const auto alpha_inside = vtmv(scvf.unitOuterNormal(), insideVolVars.permeability(), g)*insideVolVars.extrusionFactor();
 
             Scalar flux = tij*(pInside - pOutside) + scvf.area()*rho*alpha_inside;
 
@@ -383,7 +387,7 @@ public:
                 const auto& outsideScvf = fvGeometry.flipScvf(scvf.index());
                 const auto outsideK = outsideVolVars.permeability();
                 const auto outsideTi = computeTpfaTransmissibility(outsideScvf, outsideScv, outsideK, outsideVolVars.extrusionFactor());
-                const auto alpha_outside = vtmv(outsideScvf.unitOuterNormal(), outsideK, g);
+                const auto alpha_outside = vtmv(outsideScvf.unitOuterNormal(), outsideK, g)*outsideVolVars.extrusionFactor();
 
                 flux -= rho*tij/outsideTi*(alpha_inside + alpha_outside);
             }
diff --git a/dumux/implicit/CMakeLists.txt b/dumux/implicit/CMakeLists.txt
index 967a666c7516adc91dbd792b1f9ca86c63605406..f5a4ee2b68d5ccd8f0edd84adcbfece39089d5fe 100644
--- a/dumux/implicit/CMakeLists.txt
+++ b/dumux/implicit/CMakeLists.txt
@@ -1,4 +1,3 @@
-add_subdirectory(adaptive)
 add_subdirectory(box)
 add_subdirectory(cellcentered)
 
diff --git a/dumux/implicit/adaptive/CMakeLists.txt b/dumux/implicit/adaptive/CMakeLists.txt
deleted file mode 100644
index e3d267f263834c76a2561494782bb246cb46be0e..0000000000000000000000000000000000000000
--- a/dumux/implicit/adaptive/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-install(FILES
-  adaptionhelper.hh
-  gridadapt.hh
-  gridadaptindicatordefault.hh
-  gridadaptinitializationindicator.hh
-  gridadaptproperties.hh
-  gridadaptpropertydefaults.hh
-  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/implicit/adaptive)
diff --git a/dumux/implicit/adaptive/adaptionhelper.hh b/dumux/implicit/adaptive/adaptionhelper.hh
deleted file mode 100644
index 36ddbb7eec79deb3f05c5bb718fdd4b24df7f679..0000000000000000000000000000000000000000
--- a/dumux/implicit/adaptive/adaptionhelper.hh
+++ /dev/null
@@ -1,135 +0,0 @@
-// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-// vi: set et ts=4 sw=4 sts=4:
-/*****************************************************************************
- *   See the file COPYING for full copying permissions.                      *
- *                                                                           *
- *   This program is free software: you can redistribute it and/or modify    *
- *   it under the terms of the GNU General Public License as published by    *
- *   the Free Software Foundation, either version 2 of the License, or       *
- *   (at your option) any later version.                                     *
- *                                                                           *
- *   This program is distributed in the hope that it will be useful,         *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
- *   GNU General Public License for more details.                            *
- *                                                                           *
- *   You should have received a copy of the GNU General Public License       *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
- *****************************************************************************/
-#ifndef DUMUX_IMPLICIT_ADAPTIONHELPER_HH
-#define DUMUX_IMPLICIT_ADAPTIONHELPER_HH
-
-#include <dune/grid/common/gridenums.hh>
-#include <dune/grid/common/rangegenerators.hh>
-#include <dune/grid/utility/persistentcontainer.hh>
-#include <dune/localfunctions/lagrange/pqkfactory.hh>
-
-#include <dumux/common/propertysystem.hh>
-
-/**
- * @file
- * @brief  Base class holding the variables for implicit models.
- */
-
-namespace Dumux
-{
-namespace Properties
-{
-NEW_PROP_TAG(GridView);
-NEW_PROP_TAG(ImplicitIsBox);
-NEW_PROP_TAG(Problem);
-}
-
-/*!
- * \brief Base class holding the variables for implicit models.
- */
-template<class TypeTag>
-class ImplicitAdaptionHelper
-{
-private:
-    typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem;
-    typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
-    typedef typename GridView::Grid Grid;
-
-    enum {
-        // Grid and world dimension
-        dim = GridView::dimension,
-        dimWorld = GridView::dimensionworld,
-    };
-
-    enum { isBox = GET_PROP_VALUE(TypeTag, ImplicitIsBox) };
-    enum { dofCodim = isBox ? dim : 0 };
-
-    typedef typename GridView::Traits::template Codim<0>::Entity Element;
-    typedef typename GridView::Traits::template Codim<dofCodim>::Entity DofEntity;
-
-public:
-    //! Constructs an adaptive helper object
-    /**
-     * In addition to providing a storage object for cell-centered Methods, this class provides
-     * mapping functionality to adapt the grid.
-     *
-     *  @param gridView a DUNE gridview object corresponding to diffusion and transport equation
-     */
-    ImplicitAdaptionHelper(Problem& problem)
-    {}
-
-    /*!
-     * Store primary variables
-     *
-     * To reconstruct the solution in father elements, problem properties might
-     * need to be accessed.
-     * From upper level on downwards, the old solution is stored into an container
-     * object, before the grid is adapted. Father elements hold averaged information
-     * from the son cells for the case of the sons being coarsened.
-     *
-     * @param problem The current problem
-     */
-    void storePrimVars(Problem& problem)
-    {
-        DUNE_THROW(Dune::InvalidStateException,
-                   "The problem does not provide "
-                   "a storePrimVars method.");
-    }
-
-
-    /*!
-     * Reconstruct missing primary variables (where elements are created/deleted)
-     *
-     * To reconstruct the solution in father elements, problem properties might
-     * need to be accessed.
-     * Starting from the lowest level, the old solution is mapped on the new grid:
-     * Where coarsened, new cells get information from old father element.
-     * Where refined, a new solution is reconstructed from the old father cell,
-     * and then a new son is created. That is then stored into the general data
-     * structure (CellData).
-     *
-     * @param problem The current problem
-     */
-    void reconstructPrimVars(Problem& problem)
-    {
-        DUNE_THROW(Dune::InvalidStateException,
-                   "The problem does not provide "
-                   "a reconstructPrimVars method.");
-    }
-
-protected:
-
-    int dofIndex(const Problem& problem, const DofEntity& entity) const
-    {
-                return problem.model().dofMapper().index(entity);
-    }
-
-    int dofIndex(const Problem& problem, const Element& element, const int scvIdx) const
-    {
-                return problem.model().dofMapper().subIndex(element, scvIdx, dofCodim);
-    }
-
-    int elementIndex(const Problem& problem, const Element& element) const
-    {
-                return problem.elementMapper().index(element);
-    }
-
-};
-}
-#endif
diff --git a/dumux/implicit/adaptive/gridadapt.hh b/dumux/implicit/adaptive/gridadapt.hh
deleted file mode 100644
index 015369d71731d6ed1a5ecda031f4fb5942c6d83b..0000000000000000000000000000000000000000
--- a/dumux/implicit/adaptive/gridadapt.hh
+++ /dev/null
@@ -1,447 +0,0 @@
-// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-// vi: set et ts=4 sw=4 sts=4:
-/*****************************************************************************
- *   See the file COPYING for full copying permissions.                      *
- *                                                                           *
- *   This program is free software: you can redistribute it and/or modify    *
- *   it under the terms of the GNU General Public License as published by    *
- *   the Free Software Foundation, either version 2 of the License, or       *
- *   (at your option) any later version.                                     *
- *                                                                           *
- *   This program is distributed in the hope that it will be useful,         *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
- *   GNU General Public License for more details.                            *
- *                                                                           *
- *   You should have received a copy of the GNU General Public License       *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
- *****************************************************************************/
-/*!
- * \file
- * \brief Base class for h-adaptive implicit models.
- */
-#ifndef DUMUX_IMPLICIT_GRIDADAPT_HH
-#define DUMUX_IMPLICIT_GRIDADAPT_HH
-
-#include "gridadaptproperties.hh"
-#include <unordered_map>
-
-#include <dune/common/exceptions.hh>
-
-#include <dumux/common/propertysystem.hh>
-
-namespace Dumux
-{
-
-namespace Properties
-{
-NEW_PROP_TAG(SolutionVector);
-}
-
-/*!\ingroup ImplicitGridAdapt
- * @brief Standard Module for h-adaptive simulations
- *
- * This class is created by the problem class with the template
- * parameters <TypeTag, true> and provides basic functionality
- * for adaptive methods:
- *
- * A standard implementation adaptGrid() will prepare everything
- * to calculate the next primary variables vector on the new grid.
- */
-template<class TypeTag, bool adaptive>
-class ImplicitGridAdapt
-{
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar)   Scalar;
-    typedef typename GET_PROP_TYPE(TypeTag, Problem)  Problem;
-    typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
-
-    typedef typename GridView::Grid Grid;
-    typedef typename Grid::LeafGridView LeafGridView;
-    typedef typename Grid::template Codim<0>::Entity Element;
-
-    typedef typename GET_PROP_TYPE(TypeTag, AdaptionIndicator) AdaptionIndicator;
-    typedef typename GET_PROP_TYPE(TypeTag, AdaptionInitializationIndicator) AdaptionInitializationIndicator;
-    typedef typename GET_PROP_TYPE(TypeTag, AdaptionHelper) AdaptionHelper;
-
-    enum { isBox = GET_PROP_VALUE(TypeTag, ImplicitIsBox) };
-
-public:
-    /*!
-     * Constructor for h-adaptive simulations (adaptive grids)
-     * @param problem The problem
-     */
-    ImplicitGridAdapt (Problem& problem)
-        : problem_(problem),
-          adaptionHelper_(problem),
-          adaptionIndicator_(problem),
-          marked_(0),
-          coarsened_(0)
-    {
-            levelMin_ = GET_PARAM_FROM_GROUP(TypeTag, int, GridAdapt, MinLevel);
-            levelMax_ = GET_PARAM_FROM_GROUP(TypeTag, int, GridAdapt, MaxLevel);
-            adaptionInterval_ = GET_PARAM_FROM_GROUP(TypeTag, int, GridAdapt, AdaptionInterval);
-
-            if (levelMin_ < 0)
-            {
-                DUNE_THROW(Dune::InvalidStateException, "Coarsening the level 0 entities is not possible! Choose MinLevel >= 0");
-            }
-    }
-
-    /*!
-     * @brief Initalization method of the h-adaptive module
-     *
-     * Prepares the grid for simulation after the initialization of the
-     * problem. The applied indicator is selectable via the property
-     * AdaptionInitializationIndicator
-     */
-    void init()
-    {
-        adaptionIndicator_.init();
-
-        if (!GET_PARAM_FROM_GROUP(TypeTag, bool, GridAdapt, EnableInitializationIndicator))
-            return;
-
-        AdaptionInitializationIndicator adaptionInitIndicator(problem_, adaptionIndicator_);
-
-        int maxIter = 2*levelMax_;
-        int iter = 0;
-        while (iter <= maxIter)
-        {
-            adaptGrid(adaptionInitIndicator);
-
-            if (!wasAdapted())
-            {
-                break;
-            }
-
-            int shouldInitialize = adaptionInitIndicator.initializeModel();
-            if (problem_.grid().comm().max(shouldInitialize))
-            {
-                problem_.model().init(problem_);
-            }
-
-            ++iter;
-        }
-    }
-
-    /*!
-     * @brief Standard method to adapt the grid
-     *
-     * This method is called from IMPETProblem::preTimeStep() if
-     * adaptive grids are used in the simulation. It uses the standard
-     * indicator (selected by the property AdaptionIndicator) and forwards to
-     * with it to the ultimate method adaptGrid(indicator), which
-     * uses a standard procedure for adaptivity:
-     * 1) Determine the refinement indicator
-     * 2) Mark the elements
-     * 3) Store primary variables in a map
-     * 4) Adapt the grid, adapt variables sizes, update mappers
-     * 5) Reconstruct primary variables, regain secondary variables
-     */
-    void adaptGrid()
-    {
-        if(levelMax_ > levelMin_)
-            adaptGrid(adaptionIndicator_) ;
-    }
-
-    /*!
-     * @brief Returns true if grid cells have been marked for adaption
-     */
-    bool wasAdapted() const
-    {
-        int sumMarked = problem_.grid().comm().sum(marked_);
-        int sumCoarsened = problem_.grid().comm().sum(coarsened_);
-
-        return (sumMarked != 0 || sumCoarsened != 0);
-    }
-
-    /*!
-     * Sets minimum and maximum refinement levels
-     *
-     * @param levMin minimum level for coarsening
-     * @param levMax maximum level for refinement
-     */
-    void setLevels(int levMin, int levMax)
-    {
-        if (levMin < 0)
-            DUNE_THROW(Dune::InvalidStateException, "Coarsening the level 0 entities is not possible!");
-        levelMin_ = levMin;
-        levelMax_ = levMax;
-    }
-
-    /*!
-     * @brief Returns maximum refinement level
-     *
-     * The value is the assign maximum possible level,
-     * not the actual maximum level of the grid.
-     * @return levelMax_ maximum level for refinement
-     */
-    int getMaxLevel() const
-    {
-        return levelMax_;
-    }
-    /*!
-     * @brief Returns minimum refinement level
-     *
-     * The value is the assign minimum possible level,
-     * not the actual minimum level of the grid.
-     * @return levelMin_ minimum level for coarsening
-     */
-    int getMinLevel() const
-    {
-        return levelMin_;
-    }
-
-    AdaptionIndicator& adaptionIndicator()
-    {
-        return adaptionIndicator_;
-    }
-
-    AdaptionIndicator& adaptionIndicator() const
-    {
-        return adaptionIndicator_;
-    }
-
-private:
-    /*!
-     * @brief Method to adapt the grid with individual indicator vector
-     *
-     * @param indicator The refinement indicator that is applied
-     *
-     * This method is called by an user-defined preTimeStep() of
-     * the applied problem and takes a given vector with indicator
-     * values.
-     *
-     * It uses a standard procedure for adaptivity:
-     * 1) Determine the refinement indicator
-     * 2) Mark the elements
-     * 3) Store primary variables in a map
-     * 4) Adapt the grid, adapt variables sizes, update mappers
-     * 5) Reconstruct primary variables, regain secondary variables
-     */
-    template<class Indicator>
-    void adaptGrid(Indicator& indicator)
-    {
-        // reset internal counter for marked elements
-        marked_ = coarsened_ = 0;
-
-        // check for adaption interval: Adapt only at certain time step indices
-        if (problem_.timeManager().timeStepIndex() % adaptionInterval_ != 0)
-            return;
-
-        /**** 1) determine refining parameter if standard is used ***/
-        // if not, the indicatorVector and refinement Bounds have to
-        // specified by the problem through setIndicator()
-        indicator.calculateIndicator();
-
-        /**** 2) mark elements according to indicator     *********/
-        markElements(indicator);
-
-        // abort if nothing in grid is marked
-        int sumMarked = problem_.grid().comm().sum(marked_);
-        int sumCoarsened = problem_.grid().comm().sum(coarsened_);
-        if (sumMarked == 0 && sumCoarsened == 0)
-            return;
-        else
-            Dune::dinfo << marked_ << " cells have been marked_ to be refined, "
-                        << coarsened_ << " to be coarsened." << std::endl;
-
-        /****  2b) Do pre-adaption step    *****/
-        problem_.grid().preAdapt();
-        problem_.preAdapt();
-
-        /****  3) Put primary variables in a map         *********/
-        adaptionHelper_.storePrimVars(problem_);
-
-        /****  4) Adapt Grid and size of variable vectors    *****/
-        problem_.grid().adapt();
-
-        // update mapper to new cell indices
-        problem_.elementMapper().update();
-        problem_.vertexMapper().update();
-
-        // adapt size of vectors
-        problem_.model().adaptVariableSize();
-
-        /****  5) (Re-)construct primary variables to new grid **/
-        adaptionHelper_.reconstructPrimVars(problem_);
-
-        // delete markers in grid
-        problem_.grid().postAdapt();
-
-        // call method in problem for potential output etc.
-        problem_.postAdapt();
-
-        return;
-    }
-
-    /*!
-     * Mark Elements for grid refinement according to applied Indicator
-     * @param indicator The refinement indicator that is applied
-     */
-    template<class Indicator>
-    void markElements(Indicator& indicator)
-    {
-        typedef std::unordered_map<int, int> CoarsenMarkerType;
-        CoarsenMarkerType coarsenMarker;
-
-        for (const auto& element : elements(problem_.gridView()))
-        {
-            // only mark non-ghost elements
-            if (element.partitionType() != Dune::GhostEntity)
-            {
-                // refine?
-                if (indicator.refine(element) && element.level() < levelMax_)
-                {
-                    problem_.grid().mark( 1,  element);
-                    ++marked_;
-
-                    // this also refines the neighbor elements
-                    checkNeighborsRefine_(element);
-                }
-                if (indicator.coarsen(element) && element.hasFather())
-                {
-                    problem_.grid().mark( -1, element );
-                    ++coarsened_;
-                }
-            }
-        }
-    }
-
-    /*!
-     * @brief Method ensuring the refinement ratio of 2:1
-     *
-     * For any given element, a loop over the neighbors checks weather the
-     * entities refinement would require that any of the neighbors has
-     * to be refined, too.
-     * This is done recursively over all levels of the grid.
-     *
-     * @param element Element of interest that is to be refined
-     * @param level level of the refined element: it is at least 1
-     * @return true if everything was successful
-     */
-    bool checkNeighborsRefine_(const Element &element, int level = 1)
-    {
-        // this also refines the neighbor elements
-        for(const auto& intersection : intersections(problem_.gridView(), element))
-        {
-            if(!intersection.neighbor())
-                continue;
-
-            auto outside = intersection.outside();
-
-            // only mark non-ghost elements
-            if (outside.partitionType() == Dune::GhostEntity)
-                continue;
-
-            if ((outside.level() < levelMax_)
-                && (outside.level() < element.level()))
-            {
-                problem_.grid().mark(1, outside);
-                ++marked_;
-
-                if(level != levelMax_)
-                    checkNeighborsRefine_(outside, ++level);
-            }
-        }
-        return true;
-    }
-
-
-    /*!
-     * \brief Enforces a given refine ratio after grid was adapted
-     *
-     * If the refine ratio is not taken into consideration during
-     * marking, then this method ensures a certain ratio.
-     *
-     * @param maxLevelDelta The maximum level difference (refine ratio)
-     *             between neighbors.
-     */
-    void forceRefineRatio(int maxLevelDelta = 1)
-    {
-        LeafGridView leafGridView = problem_.gridView();
-        // delete all existing marks
-        problem_.grid().postAdapt();
-        bool done;
-        do
-        {
-            // run through all cells
-            done=true;
-            for (const auto& element : elements(leafGridView))
-            {
-                // only mark non-ghost elements
-                if (element.partitionType() == Dune::GhostEntity)
-                    continue;
-
-                // run through all neighbor-cells (intersections)
-                for (const auto& intersection : intersections(leafGridView, element))
-                {
-                    if(!intersection.neighbor())
-                        continue;
-
-                    if (element.level() + maxLevelDelta < intersection.outside().level())
-                    {
-                        problem_.grid().mark(1, element);
-                        done=false;
-                    }
-                }
-            }
-            if (done==false)
-            {
-                // adapt the grid
-                problem_.grid().adapt();
-                // delete marks
-                problem_.grid().postAdapt();
-            }
-        }
-        while (done!=true);
-    }
-
-    // private Variables
-    Problem& problem_;
-    AdaptionHelper adaptionHelper_;
-    AdaptionIndicator adaptionIndicator_;
-
-    int marked_;
-    int coarsened_;
-
-    int levelMin_;
-    int levelMax_;
-
-    int adaptionInterval_;
-};
-
-/*!
- * @brief Class for non-adaptive simulations
- *
- * This class provides empty methods for non-adaptive simulations
- * for compilation reasons. If adaptivity is desired, create the
- * class with template arguments <TypeTag, true> instead.
- */
-template<class TypeTag>
-class ImplicitGridAdapt<TypeTag, false>
-{
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar)   Scalar;
-    typedef typename GET_PROP_TYPE(TypeTag, Problem)     Problem;
-    typedef typename GET_PROP(TypeTag, SolutionVector) SolutionVector;
-
-public:
-    void init()
-    {}
-    void adaptGrid()
-    {}
-    bool wasAdapted() const
-    { return false; }
-    void setLevels(int, int)
-    {}
-    void setTolerance(int, int)
-    {}
-    void setIndicator(const SolutionVector&,
-                            const Scalar&, const Scalar&)
-    {}
-    ImplicitGridAdapt (Problem& problem)
-    {}
-};
-
-}
-#endif /* DUMUX_IMPLICIT_GRIDADAPT_HH */
\ No newline at end of file
diff --git a/dumux/implicit/adaptive/gridadaptindicatordefault.hh b/dumux/implicit/adaptive/gridadaptindicatordefault.hh
deleted file mode 100644
index 77c261e9ca848ef62e5702e35bc187912b6a0dae..0000000000000000000000000000000000000000
--- a/dumux/implicit/adaptive/gridadaptindicatordefault.hh
+++ /dev/null
@@ -1,96 +0,0 @@
-// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-// vi: set et ts=4 sw=4 sts=4:
-/*****************************************************************************
- *   See the file COPYING for full copying permissions.                      *
- *                                                                           *
- *   This program is free software: you can redistribute it and/or modify    *
- *   it under the terms of the GNU General Public License as published by    *
- *   the Free Software Foundation, either version 2 of the License, or       *
- *   (at your option) any later version.                                     *
- *                                                                           *
- *   This program is distributed in the hope that it will be useful,         *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
- *   GNU General Public License for more details.                            *
- *                                                                           *
- *   You should have received a copy of the GNU General Public License       *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
- *****************************************************************************/
-#ifndef DUMUX_IMPLICIT_GRIDADAPTINDICATORDEFAULT_HH
-#define DUMUX_IMPLICIT_GRIDADAPTINDICATORDEFAULT_HH
-
-#include <dumux/common/propertysystem.hh>
-
-/**
- * @file
- * @brief  Class defining a default indicator for grid adaption
- */
-namespace Dumux
-{
-
-namespace Properties
-{
-NEW_PROP_TAG(GridView);
-NEW_PROP_TAG(Problem);
-}
-
-/*!\ingroup ImplicitGridAdaptIndicator
- * @brief  Class defining a default indicator for grid adaption
- *
- *Default implementation
- *
- * \tparam TypeTag The problem TypeTag
- */
-template<class TypeTag>
-class ImplicitGridAdaptIndicatorDefault
-{
-private:
-    typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
-    typedef typename GridView::Traits::template Codim<0>::Entity Element;
-    typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem;
-
-public:
-    /*! \brief Calculates the indicator used for refinement/coarsening for each grid cell.
-     *
-     */
-    void calculateIndicator()
-    {}
-
-    /*! \brief Indicator function for marking of grid cells for refinement
-     *
-     * Returns true if an element should be refined.
-     *
-     *  \param element A grid element
-     */
-    bool refine(const Element& element)
-    {
-        return false;
-    }
-
-    /*! \brief Indicator function for marking of grid cells for coarsening
-     *
-     * Returns true if an element should be coarsened.
-     *
-     *  \param element A grid element
-     */
-    bool coarsen(const Element& element)
-    {
-        return false;
-    }
-
-    /*! \brief Initializes the adaption indicator class*/
-    void init()
-    {};
-
-    /*! \brief Constructs a GridAdaptionIndicator for initialization of an adaptive grid
-     *
-     * Default implementation
-     *
-     * \param problem The problem object
-     */
-    ImplicitGridAdaptIndicatorDefault(Problem& problem)
-    {}
-};
-}
-
-#endif
diff --git a/dumux/implicit/adaptive/gridadaptinitializationindicator.hh b/dumux/implicit/adaptive/gridadaptinitializationindicator.hh
deleted file mode 100644
index b106447be6b16703bc81d256bcdbc208fb543e24..0000000000000000000000000000000000000000
--- a/dumux/implicit/adaptive/gridadaptinitializationindicator.hh
+++ /dev/null
@@ -1,428 +0,0 @@
-// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-// vi: set et ts=4 sw=4 sts=4:
-/*****************************************************************************
- *   See the file COPYING for full copying permissions.                      *
- *                                                                           *
- *   This program is free software: you can redistribute it and/or modify    *
- *   it under the terms of the GNU General Public License as published by    *
- *   the Free Software Foundation, either version 2 of the License, or       *
- *   (at your option) any later version.                                     *
- *                                                                           *
- *   This program is distributed in the hope that it will be useful,         *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
- *   GNU General Public License for more details.                            *
- *                                                                           *
- *   You should have received a copy of the GNU General Public License       *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
- *****************************************************************************/
-#ifndef DUMUX_IMPLICIT_GRIDADAPTINITIALIZATIONINDICATOR_HH
-#define DUMUX_IMPLICIT_GRIDADAPTINITIALIZATIONINDICATOR_HH
-
-#include <dune/geometry/type.hh>
-#include <dune/common/dynvector.hh>
-#include "gridadaptproperties.hh"
-
-/**
- * @file
- * @brief  Class defining an initialization indicator for grid adaption
- */
-namespace Dumux
-{
-
-namespace Properties
-{
-NEW_PROP_TAG(BoundaryTypes);
-NEW_PROP_TAG(ElementBoundaryTypes);
-NEW_PROP_TAG(ElementVolumeVariables);
-NEW_PROP_TAG(FVElementGeometry);
-NEW_PROP_TAG(ImplicitIsBox);
-NEW_PROP_TAG(PrimaryVariables);
-NEW_PROP_TAG(NumEq);
-}
-
-/*!\ingroup ImplicitGridAdaptInitializationIndicator
- * @brief  Class defining an initialization indicator for grid adaption
- *
- *  Uses the defined grid adaption indicator and further accounts for sources and boundaries.
- *  Only for grid initialization!
- *
- * \tparam TypeTag The problem TypeTag
- */
-template<class TypeTag>
-class ImplicitGridAdaptInitializationIndicator
-{
-private:
-    typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem;
-    typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-
-    enum
-    {
-        dim = GridView::dimension,
-        dimWorld = GridView::dimensionworld,
-        numEq = GET_PROP_VALUE(TypeTag, NumEq),
-    };
-
-    typedef typename GridView::Traits::template Codim<0>::Entity Element;
-    typedef typename GridView::Traits::template Codim<dim>::Entity Vertex;
-    typedef typename GridView::Intersection Intersection;
-    typedef typename GridView::Grid::ctype CoordScalar;
-    typedef typename Dune::ReferenceElement<CoordScalar, dim> ReferenceElement;
-    typedef typename Dune::ReferenceElements<CoordScalar, dim> ReferenceElements;
-
-    typedef typename GET_PROP_TYPE(TypeTag, AdaptionIndicator) AdaptionIndicator;
-
-    typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables;
-    typedef typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables) ElementVolumeVariables;
-    typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry;
-    typedef typename GET_PROP_TYPE(TypeTag, ElementBoundaryTypes) ElementBoundaryTypes;
-    typedef typename GET_PROP_TYPE(TypeTag, BoundaryTypes) BoundaryTypes;
-
-    enum { isBox = GET_PROP_VALUE(TypeTag, ImplicitIsBox) };
-
-    enum { refineCell = 1 };
-
-
-
-
-    /*! \brief Search for a source term
-     *
-     *  For every element we check if the element center or the element corners
-     *  are inside a source zone with source value > 0.
-     *
-     *  \param element A grid element
-     */
-    bool hasSource_(const Element& element,
-                    const FVElementGeometry& fvGeometry,
-                    const ElementVolumeVariables& elemVolVars)
-    {
-        PrimaryVariables source(0.0);
-        for (int scvIdx = 0; scvIdx < fvGeometry.numScv; scvIdx++)
-        {
-            problem_.solDependentSource(source, element, fvGeometry, scvIdx, elemVolVars);
-            if (source.infinity_norm() > eps_)
-                return true;
-        }
-        return false;
-    }
-
-    /*! \brief Hierarchical search for the value of Neumann boundary condition
-     *
-     *  For every intersection we do virtual refinement until maxAllowedLevel
-     *  and check which boundary condition is defined on the intersection center. This
-     *  is necessary as an element can partly have Neumann boundary conditions.
-     *
-     *  \param bcTypes The boundary condition types
-     *  \param values The value of the boundary condition. Returns the Neumann flux values
-     *  \param element A grid element
-     *  \param intersection The boundary intersection
-     */
-    bool hasRefineBC_(ElementBoundaryTypes &elemBcTypes,
-                      const Element& element,
-                      const Intersection& intersection,
-                      const FVElementGeometry& fvGeometry,
-                      const ElementVolumeVariables& elemVolVars)
-    {
-        // Check for boundary conditions
-        if(isBox)
-        {
-            Dune::GeometryType geoType = element.geometry().type();
-            const ReferenceElement &refElement = ReferenceElements::general(geoType);
-            int fIdx = intersection.indexInInside();
-            int numFaceVerts = refElement.size(fIdx, 1, dim);
-            for (int faceVertexIdx = 0; faceVertexIdx < numFaceVerts; ++faceVertexIdx)
-            {
-                int scvIdx = refElement.subEntity(fIdx, 1, faceVertexIdx, dim);
-                BoundaryTypes bcTypes = elemBcTypes[scvIdx];
-                problemBoundaryTypes_(bcTypes, element.template subEntity<dim>(scvIdx));
-                int bfIdx = fvGeometry.boundaryFaceIndex(fIdx, faceVertexIdx);
-                for (int i = 0; i < numEq; i++)
-                {
-                    if(bcTypes.isDirichlet(i) && refineAtDirichletBC_)
-                        return true;
-                    if(bcTypes.isNeumann(i) && refineAtFluxBC_)
-                    {
-                        PrimaryVariables fluxes(0.0);
-                        problem_.solDependentNeumann(fluxes, element, fvGeometry,
-                                                 intersection, scvIdx, bfIdx,
-                                                 elemVolVars);
-                        if (fluxes.infinity_norm() > eps_)
-                            return true;
-                    }
-                }
-            }
-
-        }
-        else
-        {
-            BoundaryTypes bcTypes = elemBcTypes[0];
-            problem_.boundaryTypes(bcTypes, intersection);
-            int bfIdx = intersection.indexInInside();
-            for (int i = 0; i < numEq; i++)
-            {
-                if(bcTypes.isDirichlet(i) && refineAtDirichletBC_)
-                    return true;
-                if(bcTypes.isNeumann(i) && refineAtFluxBC_)
-                {
-                    PrimaryVariables fluxes(0.0);
-                    problem_.solDependentNeumann(fluxes, element, fvGeometry,
-                                                 intersection, 0, bfIdx,
-                                                 elemVolVars);
-                    if (fluxes.infinity_norm() > eps_)
-                        return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    // only actually call the problem method when it exists
-    template <class T = TypeTag>
-    void problemBoundaryTypes_(BoundaryTypes& bcTypes,
-                              const typename std::enable_if<GET_PROP_VALUE(T, ImplicitIsBox), Vertex>::type& v) const
-    {
-        problem_.boundaryTypes(bcTypes, v);
-    }
-    template <class T = TypeTag>
-    void problemBoundaryTypes_(BoundaryTypes& bcTypes,
-                              const typename std::enable_if<!GET_PROP_VALUE(T, ImplicitIsBox), Vertex>::type& v) const
-    {}
-
-
-public:
-    /*! \brief Calculates the indicator used for refinement/coarsening for each grid cell.
-     *
-     */
-    void calculateIndicator()
-    {
-        if (!enableInitializationIndicator_)
-            return;
-
-        //First adapt for boundary conditions and sources to get a good initial solution
-        if (nextMaxLevel_ == maxAllowedLevel_)
-            adaptionIndicator_.calculateIndicator();
-
-        // prepare an indicator for refinement
-        indicatorVector_.resize(problem_.gridView().size(0));
-        indicatorVector_ = 0;
-
-        // 1) calculate Indicator -> min, maxvalues
-        // loop over all leaf elements
-        for (const auto& element : elements(problem_.gridView()))
-        {
-
-            int globalIdxI = problem_.elementMapper().index(element);
-            int level = element.level();
-            using std::max;
-            using std::min;
-            maxLevel_ = max(level, maxLevel_);
-
-            if (level < minAllowedLevel_)
-            {
-                nextMaxLevel_ = min(max(level + 1, nextMaxLevel_), maxAllowedLevel_);
-                indicatorVector_[globalIdxI] = refineCell;
-                continue;
-            }
-
-            if (!(refineAtSource_ || refineAtFluxBC_ || refineAtDirichletBC_))
-                continue;
-
-            // get the fvGeometry and elementVolVars needed for the bc and source interfaces
-            FVElementGeometry fvGeometry;
-            ElementVolumeVariables elemVolVars;
-            fvGeometry.update(problem_.gridView(), element);
-            elemVolVars.update(problem_, element, fvGeometry, false /* oldSol? */);
-
-            // Check if we have to refine around a source term
-            if (indicatorVector_[globalIdxI] != refineCell && refineAtSource_)
-            {
-                if(hasSource_(element, fvGeometry, elemVolVars))
-                {
-                    nextMaxLevel_ = min(max(level + 1, nextMaxLevel_), maxAllowedLevel_);
-                    indicatorVector_[globalIdxI] = refineCell;
-                    continue;
-                }
-            }
-
-            // get the element boundary types
-            ElementBoundaryTypes bcTypes;
-            bcTypes.update(problem_, element, fvGeometry);
-
-            // Check if we have to refine at the boundary
-            if (indicatorVector_[globalIdxI] != refineCell && (refineAtDirichletBC_ || refineAtFluxBC_))
-            {
-                // Calculate the boundary indicator for all boundary intersections
-                for (const auto& intersection : intersections(problem_.gridView(), element))
-                {
-                    if (intersection.boundary())
-                    {
-                        if(hasRefineBC_(bcTypes, element, intersection, fvGeometry, elemVolVars))
-                        {
-                            nextMaxLevel_ = min(max(level + 1, nextMaxLevel_), maxAllowedLevel_);
-                            indicatorVector_[globalIdxI] = refineCell;
-                            break;
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    /*! \brief Indicator function for marking of grid cells for refinement
-     *
-     * Returns true if an element should be refined.
-     *
-     *  \param element A grid element
-     */
-    bool refine(const Element& element)
-    {
-        int idx = problem_.elementMapper().index(element);
-
-        if (indicatorVector_[idx] == refineCell)
-            return true;
-        else if (maxLevel_ == maxAllowedLevel_)
-            return adaptionIndicator_.refine(element);
-        else
-            return false;
-    }
-
-    /*! \brief Indicator function for marking of grid cells for coarsening
-     *
-     * Returns true if an element should be coarsened.
-     *
-     *  \param element A grid element
-     */
-    bool coarsen(const Element& element)
-    {
-        return false;
-    }
-
-    int maxLevel()
-    {
-        return maxLevel_;
-    }
-
-    /*! \brief Initializes the adaption indicator class */
-    void init()
-    {};
-
-    /*! \brief If the model needs to be initialized after adaption.
-     *         We always need to initialize since the hasRefineBC_ method needs information from
-               an up-to-date model.
-     */
-    bool initializeModel()
-    {
-        return true;
-    }
-
-    /*! \brief Constructs a GridAdaptionIndicator instance
-     *
-     * This standard indicator is based on the saturation gradient. It checks the local gradient
-     * compared to the maximum global gradient. The indicator is compared locally to a
-     * refinement/coarsening threshold to decide whether a cell should be marked for refinement
-     * or coarsening or should not be adapted.
-     *
-     * \param problem The problem object
-     * \param adaptionIndicator Indicator whether a be adapted
-     */
-    ImplicitGridAdaptInitializationIndicator(Problem& problem, AdaptionIndicator& adaptionIndicator):
-        problem_(problem), adaptionIndicator_(adaptionIndicator), maxLevel_(0), nextMaxLevel_(0), eps_(1e-30)
-    {
-        minAllowedLevel_ = GET_PARAM_FROM_GROUP(TypeTag, int, GridAdapt, MinLevel);
-        maxAllowedLevel_ = GET_PARAM_FROM_GROUP(TypeTag, int, GridAdapt, MaxLevel);
-        enableInitializationIndicator_ = GET_PARAM_FROM_GROUP(TypeTag, bool, GridAdapt, EnableInitializationIndicator);
-        refineAtDirichletBC_ = GET_PARAM_FROM_GROUP(TypeTag, bool, GridAdapt, RefineAtDirichletBC);
-        refineAtFluxBC_ = GET_PARAM_FROM_GROUP(TypeTag, bool, GridAdapt, RefineAtFluxBC);
-        refineAtSource_ = GET_PARAM_FROM_GROUP(TypeTag, bool, GridAdapt, RefineAtSource);
-
-        if (!refineAtDirichletBC_ && !refineAtFluxBC_ && !refineAtSource_)
-        {
-            nextMaxLevel_ = maxAllowedLevel_;
-            maxLevel_ = maxAllowedLevel_;
-        }
-    }
-
-private:
-    Problem& problem_;
-    AdaptionIndicator& adaptionIndicator_;
-    Dune::DynamicVector<int> indicatorVector_;
-    int maxLevel_;
-    int nextMaxLevel_;
-    int minAllowedLevel_;
-    int maxAllowedLevel_;
-    bool enableInitializationIndicator_;
-    bool refineAtDirichletBC_;
-    bool refineAtFluxBC_;
-    bool refineAtSource_;
-    Scalar eps_;
-};
-
-
-/*!\ingroup IMPES
- * @brief  Class defining a start indicator for grid adaption
- *
- *Default implementation
- *
- * \tparam TypeTag The problem TypeTag
- */
-template<class TypeTag>
-class ImplicitGridAdaptInitializationIndicatorDefault
-{
-private:
-    typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
-    typedef typename GridView::Traits::template Codim<0>::Entity Element;
-    typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem;
-    typedef typename GET_PROP_TYPE(TypeTag, AdaptionIndicator) AdaptionIndicator;
-
-public:
-    /*! \brief Calculates the indicator used for refinement/coarsening for each grid cell.
-     *
-     */
-    void calculateIndicator()
-    {}
-
-    /*! \brief Indicator function for marking of grid cells for refinement
-     *
-     * Returns true if an element should be refined.
-     *
-     *  \param element A grid element
-     */
-    bool refine(const Element& element)
-    {
-        return false;
-    }
-
-    /*! \brief Indicator function for marking of grid cells for coarsening
-     *
-     * Returns true if an element should be coarsened.
-     *
-     *  \param element A grid element
-     */
-    bool coarsen(const Element& element)
-    {
-        return false;
-    }
-
-    bool initializeModel()
-    {
-        return false;
-    }
-
-    /*! \brief Initializes the adaption indicator class*/
-    void init()
-    {};
-
-    /*! \brief Constructs a GridAdaptionIndicator for initialization of an adaptive grid
-     *
-     * Default implementation
-     *
-     * \param problem The problem object
-     * \param adaptionIndicator Indicator whether a be adapted
-     */
-    ImplicitGridAdaptInitializationIndicatorDefault(Problem& problem, AdaptionIndicator& adaptionIndicator)
-    {}
-};
-
-}
-#endif
diff --git a/dumux/implicit/adaptive/gridadaptproperties.hh b/dumux/implicit/adaptive/gridadaptproperties.hh
deleted file mode 100644
index dfa71287d0a1856bf77e8c25c1993202de116ebe..0000000000000000000000000000000000000000
--- a/dumux/implicit/adaptive/gridadaptproperties.hh
+++ /dev/null
@@ -1,87 +0,0 @@
-// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-// vi: set et ts=4 sw=4 sts=4:
-/*****************************************************************************
- *   See the file COPYING for full copying permissions.                      *
- *                                                                           *
- *   This program is free software: you can redistribute it and/or modify    *
- *   it under the terms of the GNU General Public License as published by    *
- *   the Free Software Foundation, either version 2 of the License, or       *
- *   (at your option) any later version.                                     *
- *                                                                           *
- *   This program is distributed in the hope that it will be useful,         *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
- *   GNU General Public License for more details.                            *
- *                                                                           *
- *   You should have received a copy of the GNU General Public License       *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
- *****************************************************************************/
-/*!
- * \ingroup ImplicitGridAdaptProperties
- * \ingroup ImplicitGridAdapt
- * \file
- *
- * \brief Defines a type tag and some fundamental properties for
- *        linear solvers
- */
-#ifndef DUMUX_IMPLICIT_GRIDADAPT_PROPERTIES_HH
-#define DUMUX_IMPLICIT_GRIDADAPT_PROPERTIES_HH
-
-#include <dumux/common/basicproperties.hh>
-
-namespace Dumux
-{
-namespace Properties
-{
-//! Grid adaption type tag for all sequential models.
-NEW_TYPE_TAG(GridAdapt);
-
-//! Defines if the grid is h-adaptive
-NEW_PROP_TAG(AdaptiveGrid);
-
-//! Class which stores data and reconstructs primary variables for adapted grid
-NEW_PROP_TAG(AdaptionHelper);
-
-//! Class defining the refinement/coarsening indicator
-NEW_PROP_TAG(AdaptionIndicator);
-
-//! Class defining the refinement/coarsening indicator for grid initialization
-NEW_PROP_TAG(AdaptionInitializationIndicator);
-
-//! Switch the use of initial grid adaption on/off
-NEW_PROP_TAG(GridAdaptEnableInitializationIndicator);
-
-//! Mimimum allowed level
-NEW_PROP_TAG(GridAdaptMinLevel);
-
-//! Maximum allowed level
-NEW_PROP_TAG(GridAdaptMaxLevel);
-
-//! Tolerance for refinement
-NEW_PROP_TAG(GridAdaptRefineTolerance);
-
-//! Tolerance for coarsening
-NEW_PROP_TAG(GridAdaptCoarsenTolerance);
-
-//! Tolerance for refinement
-NEW_PROP_TAG(GridAdaptRefineThreshold);
-
-//! Tolerance for coarsening
-NEW_PROP_TAG(GridAdaptCoarsenThreshold);
-
-//! Time step interval for adaption
-NEW_PROP_TAG(GridAdaptAdaptionInterval);
-
-//! Switch for refinement at Dirichlet BC's -> not used by all indicators!
-NEW_PROP_TAG(GridAdaptRefineAtDirichletBC);
-
-//! Switch for refinement at Neumann BC's -> not used by all indicators!
-NEW_PROP_TAG(GridAdaptRefineAtFluxBC);
-
-//! Switch for refinement at sources -> not used by all indicators!
-NEW_PROP_TAG(GridAdaptRefineAtSource);
-
-} // namespace Properties
-} // namespace Dumux
-
-#endif
diff --git a/dumux/implicit/adaptive/gridadaptpropertydefaults.hh b/dumux/implicit/adaptive/gridadaptpropertydefaults.hh
deleted file mode 100644
index 20f52eb7fe2efb25d5804276c9a9dbddff8c077c..0000000000000000000000000000000000000000
--- a/dumux/implicit/adaptive/gridadaptpropertydefaults.hh
+++ /dev/null
@@ -1,70 +0,0 @@
-// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-// vi: set et ts=4 sw=4 sts=4:
-/*****************************************************************************
- *   See the file COPYING for full copying permissions.                      *
- *                                                                           *
- *   This program is free software: you can redistribute it and/or modify    *
- *   it under the terms of the GNU General Public License as published by    *
- *   the Free Software Foundation, either version 2 of the License, or       *
- *   (at your option) any later version.                                     *
- *                                                                           *
- *   This program is distributed in the hope that it will be useful,         *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
- *   GNU General Public License for more details.                            *
- *                                                                           *
- *   You should have received a copy of the GNU General Public License       *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
- *****************************************************************************/
-/*!
- * \ingroup ImplicitGridAdaptPropertyDefaults
- * \ingroup ImplicitGridAdapt
- * \file
- *
- * \brief Defines a type tag and some fundamental properties for
- *        linear solvers
- */
-#ifndef DUMUX_IMPLICIT_GRIDADAPT_PROPERTY_DEFAULTS_HH
-#define DUMUX_IMPLICIT_GRIDADAPT_PROPERTY_DEFAULTS_HH
-
-#include <dumux/common/basicproperties.hh>
-#include "gridadaptproperties.hh"
-#include "gridadaptindicatordefault.hh"
-#include "gridadaptinitializationindicator.hh"
-#include "adaptionhelper.hh"
-
-namespace Dumux
-{
-namespace Properties
-{
-
-//no adaptive grid
-SET_BOOL_PROP(GridAdapt, AdaptiveGrid, false);
-
-//standard setting
-SET_INT_PROP(GridAdapt, GridAdaptMinLevel, 0);
-SET_INT_PROP(GridAdapt, GridAdaptMaxLevel, 1);
-SET_SCALAR_PROP(GridAdapt, GridAdaptRefineTolerance, 0.05);
-SET_SCALAR_PROP(GridAdapt, GridAdaptCoarsenTolerance, 0.001);
-SET_SCALAR_PROP(GridAdapt, GridAdaptRefineThreshold, 0.0);
-SET_SCALAR_PROP(GridAdapt, GridAdaptCoarsenThreshold, 0.0);
-SET_INT_PROP(GridAdapt, GridAdaptAdaptionInterval, 1);
-//Switch initial grid adaption off per default
-SET_BOOL_PROP(GridAdapt, GridAdaptEnableInitializationIndicator, false);
-
-// Switch of extra refinement strategy at boundaries/sources
-SET_BOOL_PROP(GridAdapt, GridAdaptRefineAtDirichletBC, false);
-SET_BOOL_PROP(GridAdapt, GridAdaptRefineAtFluxBC, false);
-SET_BOOL_PROP(GridAdapt, GridAdaptRefineAtSource, false);
-
-//! Set the default indicator class models for adaption or coarsening
-SET_TYPE_PROP(GridAdapt, AdaptionIndicator, ImplicitGridAdaptIndicatorDefault<TypeTag>);
-//!Set default class for adaption initialization indicator
-SET_TYPE_PROP(GridAdapt,  AdaptionInitializationIndicator, ImplicitGridAdaptInitializationIndicatorDefault<TypeTag>);
-//!Set default class for adaption helper
-SET_TYPE_PROP(GridAdapt, AdaptionHelper, ImplicitAdaptionHelper<TypeTag>);
-
-} // namespace Properties
-} // namespace Dumux
-
-#endif
diff --git a/dumux/porousmediumflow/2p/implicit/adaptionhelper.hh b/dumux/porousmediumflow/2p/implicit/adaptionhelper.hh
deleted file mode 100644
index 9f21d22dcd4673d4fe9f29cacd4d3333f9bb4833..0000000000000000000000000000000000000000
--- a/dumux/porousmediumflow/2p/implicit/adaptionhelper.hh
+++ /dev/null
@@ -1,495 +0,0 @@
-// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-// vi: set et ts=4 sw=4 sts=4:
-/*****************************************************************************
- *   See the file COPYING for full copying permissions.                      *
- *                                                                           *
- *   This program is free software: you can redistribute it and/or modify    *
- *   it under the terms of the GNU General Public License as published by    *
- *   the Free Software Foundation, either version 2 of the License, or       *
- *   (at your option) any later version.                                     *
- *                                                                           *
- *   This program is distributed in the hope that it will be useful,         *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
- *   GNU General Public License for more details.                            *
- *                                                                           *
- *   You should have received a copy of the GNU General Public License       *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
- *****************************************************************************/
-#ifndef DUMUX_TWOP_ADAPTIONHELPER_HH
-#define DUMUX_TWOP_ADAPTIONHELPER_HH
-
-#include <dumux/common/properties.hh>
-#include <dumux/implicit/adaptive/adaptionhelper.hh>
-
-namespace Dumux {
-
-/*!
- * \brief Base class holding the variables for implicit models.
- */
-template<class TypeTag>
-class TwoPAdaptionHelper : public ImplicitAdaptionHelper<TypeTag>
-{
-private:
-    typedef ImplicitAdaptionHelper<TypeTag> ParentType;
-    typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem;
-    typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
-    typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
-    typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables;
-    typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) VolumeVariables;
-    typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry;
-    typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem;
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-
-    enum {
-        // Grid and world dimension
-        dim = GridView::dimension,
-        dimWorld = GridView::dimensionworld,
-
-        //indices
-        pressureIdx = Indices::pressureIdx,
-        saturationIdx = Indices::saturationIdx,
-        pwsn = Indices::pwsn,
-        pnsw = Indices::pnsw,
-        formulation = GET_PROP_VALUE(TypeTag, Formulation),
-        wPhaseIdx = Indices::wPhaseIdx,
-        nPhaseIdx = Indices::nPhaseIdx
-    };
-
-    enum { isBox = GET_PROP_VALUE(TypeTag, ImplicitIsBox) };
-    enum { dofCodim = isBox ? dim : 0 };
-
-    typedef typename GridView::Grid Grid;
-    typedef typename Grid::LevelGridView LevelGridView;
-    typedef typename GridView::Traits::template Codim<0>::Entity Element;
-
-    typedef Dune::FieldVector<Scalar, dimWorld> GlobalPosition;
-    typedef typename GridView::ctype CoordScalar;
-    typedef Dune::FieldVector<CoordScalar, dim> LocalPosition;
-
-    typedef Dune::PQkLocalFiniteElementCache<CoordScalar, Scalar, dim, 1> LocalFiniteElementCache;
-    typedef typename LocalFiniteElementCache::FiniteElementType LocalFiniteElement;
-
-    struct AdaptedValues
-    {
-        std::vector<PrimaryVariables> u;
-        int count;
-        PrimaryVariables associatedMass;
-        AdaptedValues(): associatedMass(0)
-        {
-            count = 0;
-        }
-    };
-
-    typedef Dune::PersistentContainer<Grid, AdaptedValues> PersistentContainer;
-    PersistentContainer adaptionMap_;
-
-public:
-    //! Constructs an adaption helper object
-    /**
-     *  @param gridView a DUNE gridview object
-     */
-    TwoPAdaptionHelper(Problem& problem) : ParentType(problem), adaptionMap_(problem.grid(), 0)
-    {
-        if(FluidSystem::isCompressible(wPhaseIdx) || FluidSystem::isCompressible(nPhaseIdx))
-            DUNE_THROW(Dune::InvalidStateException, "Adaptionhelper is only for incompressible fluids mass-conservative!");
-    }
-
-    /*!
-     * Store primary variables
-     *
-     * To reconstruct the solution in father elements, problem properties might
-     * need to be accessed.
-     * From upper level on downwards, the old solution is stored into an container
-     * object, before the grid is adapted. Father elements hold averaged information
-     * from the son cells for the case of the sons being coarsened.
-     *
-     * @param problem The current problem
-     */
-    void storePrimVars(Problem& problem)
-    {
-        adaptionMap_.resize();
-
-        // loop over all levels of the grid
-        for (int level = problem.grid().maxLevel(); level >= 0; level--)
-        {
-            //get grid view on level grid
-            LevelGridView levelView = problem.grid().levelGridView(level);
-
-            for (const auto& element : elements(levelView))
-            {
-                //get your map entry
-                AdaptedValues &adaptedValues = adaptionMap_[element];
-
-                // put values in the map
-                if (element.isLeaf())
-                {
-                    FVElementGeometry fvGeometry;
-                    fvGeometry.update(problem.gridView(), element);
-
-                    for (int scvIdx = 0; scvIdx < fvGeometry.numScv; ++scvIdx)
-                    {
-                        // get index
-                        int dofIdx = this->dofIndex(problem, element, scvIdx);
-
-                        adaptedValues.u.push_back(problem.model().curSol()[dofIdx]);
-
-                        VolumeVariables volVars;
-                        volVars.update(adaptedValues.u[scvIdx],
-                                      problem,
-                                      element,
-                                      fvGeometry,
-                                      scvIdx,
-                                      false);
-
-                        Scalar volume = fvGeometry.subContVol[scvIdx].volume;
-
-                        adaptedValues.associatedMass[nPhaseIdx] += volume*volVars.density(nPhaseIdx)
-                                            * volVars.porosity() * volVars.saturation(nPhaseIdx);
-                        adaptedValues.associatedMass[wPhaseIdx] += volume*volVars.density(wPhaseIdx)
-                                            * volVars.porosity() * volVars.saturation(wPhaseIdx);
-                    }
-                    adaptedValues.count = 1;
-                }
-                //Average in father
-                if (element.level() > 0)
-                {
-                    if(!element.hasFather())
-                        DUNE_THROW(Dune::InvalidStateException, "Element on level > 0 has no father element!");
-
-                    AdaptedValues& adaptedValuesFather = adaptionMap_[element.father()];
-                    //For some grids the father element is identical to the son element.
-                    //For that case averaging is not necessary.
-                    if(&adaptedValues != &adaptedValuesFather)
-                    {
-                        adaptedValuesFather.count += 1;
-                        storeAdaptionValues(adaptedValues, adaptedValuesFather);
-                    }
-                }
-
-                if(isBox && !element.isLeaf())
-                {
-                    FVElementGeometry fvGeometry;
-                    fvGeometry.update(problem.gridView(), element);
-
-                    for (int scvIdx = 0; scvIdx < fvGeometry.numScv; ++scvIdx)
-                    {
-                        int dofIdx = this->dofIndex(problem, element, scvIdx);
-
-                        adaptedValues.u.push_back(problem.model().curSol()[dofIdx]);
-                    }
-                }
-
-            }
-        }
-    }
-
-    /*!
-     * Reconstruct missing primary variables (where elements are created/deleted)
-     *
-     * To reconstruct the solution in father elements, problem properties might
-     * need to be accessed.
-     * Starting from the lowest level, the old solution is mapped on the new grid:
-     * Where coarsened, new cells get information from old father element.
-     * Where refined, a new solution is reconstructed from the old father cell,
-     * and then a new son is created. That is then stored into the general data
-     * structure (CellData).
-     *
-     * @param problem The current problem
-     */
-    void reconstructPrimVars(Problem& problem)
-    {
-        adaptionMap_.resize();
-        //vectors storing the mass associated with each vertex, when using the box method
-        std::vector<Scalar> massCoeff;
-        std::vector<Scalar> associatedMass;
-
-        if(isBox)
-        {
-            massCoeff.resize(problem.model().numDofs(),0.0);
-            associatedMass.resize(problem.model().numDofs(),0.0);
-        }
-
-        for (int level = 0; level <= problem.grid().maxLevel(); level++)
-        {
-            LevelGridView levelView = problem.grid().levelGridView(level);
-
-            for (const auto& element : elements(levelView))
-            {
-                // only treat non-ghosts, ghost data is communicated afterwards
-                if (element.partitionType() == Dune::GhostEntity)
-                    continue;
-
-                if (!element.isNew() || element.level() == 0)
-                {
-                    //entry is in map, write in leaf
-                    if (element.isLeaf())
-                    {
-                        AdaptedValues &adaptedValues = adaptionMap_[element];
-
-                        FVElementGeometry fvGeometry;
-                        fvGeometry.update(problem.gridView(), element);
-
-                        for (int scvIdx = 0; scvIdx < fvGeometry.numScv; ++scvIdx)
-                        {
-                            // get index
-                            int dofIdx = this->dofIndex(problem, element, scvIdx);
-
-                            VolumeVariables volVars;
-                            volVars.update(adaptedValues.u[scvIdx],
-                                          problem,
-                                          element,
-                                          fvGeometry,
-                                          scvIdx,
-                                          false);
-
-                            Scalar volumeElement = fvGeometry.elementVolume;
-
-                            this->setAdaptionValues(adaptedValues, problem.model().curSol()[dofIdx],scvIdx);
-
-                            if (int(formulation) == pwsn)
-                            {
-                                problem.model().curSol()[dofIdx][saturationIdx] = adaptedValues.associatedMass[nPhaseIdx];
-                                problem.model().curSol()[dofIdx][saturationIdx] /= volumeElement * volVars.density(nPhaseIdx) * volVars.porosity();
-                            }
-                            else if (int(formulation) == pnsw)
-                            {
-                                problem.model().curSol()[dofIdx][saturationIdx] = adaptedValues.associatedMass[wPhaseIdx];
-                                problem.model().curSol()[dofIdx][saturationIdx] /= volumeElement * volVars.density(wPhaseIdx) * volVars.porosity();
-                            }
-
-                            if(isBox)
-                            {
-                                Scalar volume = fvGeometry.subContVol[scvIdx].volume;
-                                if (int(formulation) == pwsn)
-                                {
-                                    massCoeff[dofIdx] += volume * volVars.density(nPhaseIdx) * volVars.porosity();
-                                    associatedMass[dofIdx] += volume/volumeElement*adaptedValues.associatedMass[nPhaseIdx];
-                                }
-                                else if (int(formulation) == pnsw)
-                                {
-                                    massCoeff[dofIdx] += volume * volVars.density(wPhaseIdx) * volVars.porosity();
-                                    associatedMass[dofIdx] += volume/volumeElement*adaptedValues.associatedMass[wPhaseIdx];
-                                }
-                            }
-
-                        }
-
-                    }
-                }
-                else
-                {
-                    // value is not in map, interpolate from father element
-                    if (element.hasFather())
-                    {
-                        auto eFather = element.father();
-                        while(eFather.isNew() && eFather.level() > 0)
-                            eFather = eFather.father();
-
-                        Scalar massFather = 0.0;
-
-                        if(!isBox)
-                        {
-                            AdaptedValues& adaptedValuesFather = adaptionMap_[eFather];
-
-                            if (int(formulation) == pwsn)
-                            {
-                                massFather = adaptedValuesFather.associatedMass[nPhaseIdx];
-                            }
-                            else if (int(formulation) == pnsw)
-                            {
-                                massFather = adaptedValuesFather.associatedMass[wPhaseIdx];
-                            }
-
-                            // access new son
-                            AdaptedValues& adaptedValues = adaptionMap_[element];
-                            adaptedValues.count = 1;
-
-                            FVElementGeometry fvGeometry;
-                            fvGeometry.update(problem.gridView(), element);
-
-                            adaptedValues.u.push_back(adaptedValuesFather.u[0]);
-
-                            VolumeVariables volVars;
-                            volVars.update(adaptedValues.u[0],
-                                          problem,
-                                          element,
-                                          fvGeometry,
-                                          /*scvIdx=*/0,
-                                          false);
-
-                            Scalar volume = fvGeometry.subContVol[0].volume;
-                            Scalar massCoeffSon = 0.0;
-                            if (int(formulation) == pwsn)
-                            {
-                                massCoeffSon = volume * volVars.density(nPhaseIdx) * volVars.porosity();
-                            }
-                            else if (int(formulation) == pnsw)
-                            {
-                                massCoeffSon = volume * volVars.density(wPhaseIdx) * volVars.porosity();
-                            }
-                            Scalar volumeFather = eFather.geometry().volume();
-                            adaptedValues.u[0][saturationIdx] = (volume/volumeFather*massFather)/massCoeffSon;
-
-                            // if we are on leaf, store reconstructed values of son in CellData object
-                            if (element.isLeaf())
-                            {
-                                // access new CellData object
-                                int newIdxI = this->elementIndex(problem, element);
-
-                                this->setAdaptionValues(adaptedValues, problem.model().curSol()[newIdxI],0);
-                            }
-                        }
-                        else
-                        {
-                            AdaptedValues& adaptedValuesFather = adaptionMap_[eFather];
-                            // access new son
-                            AdaptedValues& adaptedValues = adaptionMap_[element];
-                            adaptedValues.u.clear();
-                            adaptedValues.count = 1;
-
-                            const auto geometryI = element.geometry();
-
-                            FVElementGeometry fvGeometry;
-                            fvGeometry.update(problem.gridView(), element);
-
-                            for (int scvIdx = 0; scvIdx < fvGeometry.numScv; ++scvIdx)
-                            {
-                                auto subEntity = element.template subEntity <dofCodim>(scvIdx);
-
-                                LocalPosition dofCenterPos = geometryI.local(subEntity.geometry().center());
-                                const LocalFiniteElementCache feCache;
-                                Dune::GeometryType geomType = eFather.geometry().type();
-
-                                // Interpolate values from father element by using ansatz functions
-                                const LocalFiniteElement &localFiniteElement = feCache.get(geomType);
-                                std::vector<Dune::FieldVector<Scalar, 1> > shapeVal;
-                                localFiniteElement.localBasis().evaluateFunction(dofCenterPos, shapeVal);
-                                PrimaryVariables u(0);
-                                for (int j = 0; j < shapeVal.size(); ++j)
-                                {
-                                    u.axpy(shapeVal[j], adaptedValuesFather.u[j]);
-                                }
-
-                                adaptedValues.u.push_back(u);
-                                adaptedValues.count = 1;
-
-                                if (element.isLeaf())
-                                {
-                                    VolumeVariables volVars;
-                                    volVars.update(adaptedValues.u[scvIdx],
-                                                  problem,
-                                                  element,
-                                                  fvGeometry,
-                                                  scvIdx,
-                                                  false);
-
-                                    Scalar volume = fvGeometry.subContVol[scvIdx].volume;
-                                    Scalar volumeFather = eFather.geometry().volume();
-
-                                    int dofIdx = this->dofIndex(problem, element, scvIdx);
-                                    if (int(formulation) == pwsn)
-                                    {
-                                        massCoeff[dofIdx] += volume * volVars.density(nPhaseIdx) * volVars.porosity();
-                                        associatedMass[dofIdx] += volume/volumeFather*adaptedValuesFather.associatedMass[nPhaseIdx];
-                                    }
-                                    else if (int(formulation) == pnsw)
-                                    {
-                                        massCoeff[dofIdx] += volume * volVars.density(wPhaseIdx) * volVars.porosity();
-                                        associatedMass[dofIdx] += volume/volumeFather*adaptedValuesFather.associatedMass[wPhaseIdx];
-                                    }
-
-                                    this->setAdaptionValues(adaptedValues, problem.model().curSol()[dofIdx],scvIdx);
-                                }
-
-                            }
-                        }
-                    }
-                    else
-                    {
-                        DUNE_THROW(Dune::InvalidStateException, "Element is new but has no father element!");
-                    }
-
-                }
-            }
-
-        }
-
-        if(isBox)
-        {
-            for(int dofIdx = 0; dofIdx < problem.model().numDofs(); dofIdx++)
-            {
-                problem.model().curSol()[dofIdx][saturationIdx] = associatedMass[dofIdx]/massCoeff[dofIdx];
-            }
-        }
-
-        // reset entries in restrictionmap
-        adaptionMap_.resize( typename PersistentContainer::Value() );
-        adaptionMap_.shrinkToFit();
-        adaptionMap_.fill( typename PersistentContainer::Value() );
-
-//#if HAVE_MPI
-//        // communicate ghost data
-//        typedef typename GET_PROP(TypeTag, SolutionTypes) SolutionTypes;
-//        typedef typename SolutionTypes::ElementMapper ElementMapper;
-//        typedef VectorExchange<ElementMapper, std::vector<CellData> > DataHandle;
-//        DataHandle dataHandle(problem.elementMapper(), this->cellDataGlobal());
-//        problem.gridView().template communicate<DataHandle>(dataHandle,
-//                                                            Dune::InteriorBorder_All_Interface,
-//                                                            Dune::ForwardCommunication);
-//#endif
-    }
-
-    //! Stores sons entries into father element for averaging
-    /**
-     * Sum up the adaptedValues (sons values) into father element. We store from leaf
-     * upwards, so sons are stored first, then cells on the next leaf (=fathers)
-     * can be averaged.
-     *
-     * \param adaptedValues Container for model-specific values to be adapted
-     * \param adaptedValuesFather Values to be adapted of father cell
-     */
-    static void storeAdaptionValues(AdaptedValues& adaptedValues,
-                                    AdaptedValues& adaptedValuesFather)
-    {
-        if(!isBox)
-        {
-            if(adaptedValuesFather.u.size() == 0)
-                adaptedValuesFather.u.resize(1);
-
-            adaptedValuesFather.u[0] += adaptedValues.u[0];
-            adaptedValuesFather.u[0] /= adaptedValues.count;
-            adaptedValuesFather.associatedMass += adaptedValues.associatedMass;
-        }
-        else
-        {
-            adaptedValuesFather.associatedMass += adaptedValues.associatedMass;
-        }
-    }
-    //! Set adapted values in CellData
-    /**
-     * This methods stores reconstructed values into the cellData object, by
-     * this setting a newly mapped solution to the storage container of the
-     * sequential models.
-     *
-     * \param adaptedValues Container for model-specific values to be adapted
-     * \param u The variables to be stored
-     */
-    static void setAdaptionValues(AdaptedValues& adaptedValues, PrimaryVariables& u, int scvIdx)
-    {
-        PrimaryVariables uNew(0);
-        if(!isBox)
-        {
-            uNew = adaptedValues.u[scvIdx];
-            uNew /= adaptedValues.count;
-        }
-        else
-        {
-            uNew = adaptedValues.u[scvIdx];
-        }
-
-        u = uNew;
-    }
-};
-}
-#endif
diff --git a/dumux/porousmediumflow/2p/implicit/gridadaptindicator.hh b/dumux/porousmediumflow/2p/implicit/gridadaptindicator.hh
index 5d7ac8b70328698053239f8a9959d7e43553f8d8..bb2f8f945f83b19dce51385fd83b51166d810235 100644
--- a/dumux/porousmediumflow/2p/implicit/gridadaptindicator.hh
+++ b/dumux/porousmediumflow/2p/implicit/gridadaptindicator.hh
@@ -16,170 +16,165 @@
  *   You should have received a copy of the GNU General Public License       *
  *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
  *****************************************************************************/
-#ifndef DUMUX_IMPLICIT_GRIDADAPTINDICATOR2P_HH
-#define DUMUX_IMPLICIT_GRIDADAPTINDICATOR2P_HH
+#ifndef DUMUX_TWOP_ADAPTION_INDICATOR_HH
+#define DUMUX_TWOP_ADAPTION_INDICATOR_HH
+
+#include <dune/common/exceptions.hh>
 
 #include <dumux/common/properties.hh>
-#include <dune/localfunctions/lagrange/pqkfactory.hh>
-//#include <dumux/linear/vectorexchange.hh>
+#include <dumux/discretization/evalsolution.hh>
 
 /**
- * @file
- * @brief  Class defining a standard, saturation dependent indicator for grid adaptation
+ * \file
+ * \brief Class defining a standard, saturation dependent indicator for grid adaptation
  */
 namespace Dumux
 {
-/*!\ingroup IMPES
- * @brief  Class defining a standard, saturation dependent indicator for grid adaptation
- *
- * \tparam TypeTag The problem TypeTag
+
+/*!\ingroup TwoPModel
+ * \brief  Class defining a standard, saturation dependent indicator for grid adaptation
  */
 template<class TypeTag>
-class TwoPImplicitGridAdaptIndicator
+class TwoPGridAdaptIndicator
 {
-private:
-    typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem;
-    typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-    typedef typename GridView::Traits::template Codim<0>::Entity Element;
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
+    using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
+    using Element = typename GridView::template Codim<0>::Entity;
+    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
+    using Indices = typename GET_PROP_TYPE(TypeTag, Indices);
+    using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector);
+    using ElementSolution = typename GET_PROP_TYPE(TypeTag, ElementSolutionVector);
 
-    typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
+    enum { saturationIdx = Indices::saturationIdx };
 
-    enum
-    {
-        saturationIdx = Indices::saturationIdx,
-        pressureIdx = Indices::pressureIdx
-    };
-    enum
+public:
+    /*! \brief The Constructor
+     *
+     *  \param fvGridGeometry The finite volume grid geometry
+     *
+     *  Note: refineBound_, coarsenBound_ & maxSaturationDelta_ are chosen
+     *        in a way such that the indicator returns false for all elements
+     *        before having been calculated.
+     */
+    TwoPGridAdaptIndicator(std::shared_ptr<const FVGridGeometry> fvGridGeometry)
+    : fvGridGeometry_(fvGridGeometry)
+    , refineBound_(std::numeric_limits<Scalar>::max())
+    , coarsenBound_(std::numeric_limits<Scalar>::lowest())
+    , maxSaturationDelta_(fvGridGeometry_->gridView().size(0), 0.0)
+    , minLevel_(getParamFromGroup<std::size_t>(GET_PROP_VALUE(TypeTag, ModelParameterGroup), "Adaptive.MinLevel", 0))
+    , maxLevel_(getParamFromGroup<std::size_t>(GET_PROP_VALUE(TypeTag, ModelParameterGroup), "Adaptive.MaxLevel", 0))
+    {}
+
+    /*!
+     * \brief Function to set the minimum allowed level.
+     *
+     */
+    void setMinLevel(std::size_t minLevel)
     {
-        wPhaseIdx = Indices::wPhaseIdx,
-        nPhaseIdx = Indices::nPhaseIdx
-    };
-
-    enum {
-        // Grid and world dimension
-        dim = GridView::dimension,
-        dimWorld = GridView::dimensionworld
-    };
-
-    enum { isBox = GET_PROP_VALUE(TypeTag, ImplicitIsBox) };
-    enum { dofCodim = isBox ? dim : 0 };
+        minLevel_ = minLevel;
+    }
 
-    typedef Dune::FieldVector<Scalar, dimWorld> GlobalPosition;
-    typedef typename GridView::ctype CoordScalar;
+    /*!
+     * \brief Function to set the maximum allowed level.
+     *
+     */
+    void setMaxLevel(std::size_t maxLevel)
+    {
+        maxLevel_ = maxLevel;
+    }
 
-    typedef Dune::PQkLocalFiniteElementCache<CoordScalar, Scalar, dim, 1> LocalFiniteElementCache;
-    typedef typename LocalFiniteElementCache::FiniteElementType LocalFiniteElement;
+    /*!
+     * \brief Function to set the minumum/maximum allowed levels.
+     *
+     */
+    void setLevels(std::size_t minLevel, std::size_t maxLevel)
+    {
+        minLevel_ = minLevel;
+        maxLevel_ = maxLevel;
+    }
 
-public:
-    /*! \brief Calculates the indicator used for refinement/coarsening for each grid cell.
+    /*!
+     * \brief Calculates the indicator used for refinement/coarsening for each grid cell.
      *
-     * This standard indicator is based on the saturation gradient.
+     *  This standard two-phase indicator is based on the saturation gradient.
      */
-    void calculateIndicator()
+    void calculate(const SolutionVector& sol,
+                   Scalar refineTol = 0.05,
+                   Scalar coarsenTol = 0.001)
     {
-        // prepare an indicator for refinement
-        if(indicatorVector_.size() != problem_.gridView().size(0))
-        {
-            indicatorVector_.resize(problem_.gridView().size(0));
-        }
-        indicatorVector_ = -1e100;
+        //! reset the indicator to a state that returns false for all elements
+        refineBound_ = std::numeric_limits<Scalar>::max();
+        coarsenBound_ = std::numeric_limits<Scalar>::lowest();
+        maxSaturationDelta_.assign(fvGridGeometry_->gridView().size(0), 0.0);
 
-        Scalar globalMax = -1e100;
-        Scalar globalMin = 1e100;
+        //! maxLevel_ must be higher than minLevel_ to allow for refinement
+        if (minLevel_ >= maxLevel_)
+            return;
 
-        // 1) calculate Indicator -> min, maxvalues
-        // loop over all leaf-elements
-        for (const auto& element : elements(problem_.gridView()))
-        {
-            // calculate minimum and maximum saturation
-            // index of the current leaf-elements
-            int globalIdxI = problem_.elementMapper().index(element);
+        //! check for inadmissible tolerance combination
+        if (coarsenTol > refineTol)
+            DUNE_THROW(Dune::InvalidStateException, "Refine tolerance must be higher than coarsen tolerance");
 
-            Scalar satI = 0.0;
+        //! variables to hold the max/mon saturation values on the leaf
+        Scalar globalMax = std::numeric_limits<Scalar>::lowest();
+        Scalar globalMin = std::numeric_limits<Scalar>::max();
 
-            if(!isBox)
-                satI = problem_.model().curSol()[globalIdxI][saturationIdx];
-            else
-            {
-                const LocalFiniteElementCache feCache;
-                const auto geometryI = element.geometry();
-                Dune::GeometryType geomType = geometryI.type();
-
-                GlobalPosition centerI = geometryI.local(geometryI.center());
-                const LocalFiniteElement &localFiniteElement = feCache.get(geomType);
-                std::vector<Dune::FieldVector<Scalar, 1> > shapeVal;
-                localFiniteElement.localBasis().evaluateFunction(centerI, shapeVal);
-
-                for (int i = 0; i < shapeVal.size(); ++i)
-                  {
-                     int dofIdxGlobal = problem_.model().dofMapper().subIndex(element, i, dofCodim);
-                      satI += shapeVal[i]*problem_.model().curSol()[dofIdxGlobal][saturationIdx];
-                  }
-            }
+        //! Calculate minimum and maximum saturation
+        for (const auto& element : elements(fvGridGeometry_->gridView()))
+        {
+            //! index of the current leaf-element
+            const auto globalIdxI = fvGridGeometry_->elementMapper().index(element);
 
+            //! obtain the saturation at the center of the element
+            const auto geometry = element.geometry();
+            const ElementSolution elemSol(element, sol, *fvGridGeometry_);
+            const Scalar satI = evalSolution(element, geometry, *fvGridGeometry_, elemSol, geometry.center())[saturationIdx];
+
+            //! maybe update the global minimum/maximum
             using std::min;
             using std::max;
             globalMin = min(satI, globalMin);
             globalMax = max(satI, globalMax);
 
-            // calculate refinement indicator in all cells
-            for (const auto& intersection : intersections(problem_.gridView(), element))
+            //! calculate maximum delta in saturation for this cell
+            for (const auto& intersection : intersections(fvGridGeometry_->gridView(), element))
             {
-                // Only consider internal intersections
+                //! Only consider internal intersections
                 if (intersection.neighbor())
                 {
-                    // Access neighbor
-                    auto outside = intersection.outside();
-                    int globalIdxJ = problem_.elementMapper().index(outside);
+                    //! Access neighbor
+                    const auto outside = intersection.outside();
+                    const auto globalIdxJ = fvGridGeometry_->elementMapper().index(outside);
 
-                    // Visit intersection only once
+                    //! Visit intersection only once
                     if (element.level() > outside.level() || (element.level() == outside.level() && globalIdxI < globalIdxJ))
                     {
-                        Scalar satJ = 0.0;
-
-                        if(!isBox)
-                            satJ = problem_.model().curSol()[globalIdxJ][saturationIdx];
-                        else
-                        {
-                            const LocalFiniteElementCache feCache;
-                            const auto geometryJ = outside.geometry();
-                            Dune::GeometryType geomType = geometryJ.type();
-
-                            GlobalPosition centerJ = geometryJ.local(geometryJ.center());
-                            const LocalFiniteElement &localFiniteElement = feCache.get(geomType);
-                            std::vector<Dune::FieldVector<Scalar, 1> > shapeVal;
-                            localFiniteElement.localBasis().evaluateFunction(centerJ, shapeVal);
-
-                            for (int i = 0; i < shapeVal.size(); ++i)
-                              {
-                                  int dofIdxGlobal = problem_.model().dofMapper().subIndex(outside, i, dofCodim);
-
-                                  satJ += shapeVal[i]*problem_.model().curSol()[dofIdxGlobal][saturationIdx];
-                              }
-                        }
-
-
+                        //! obtain saturation in the neighbor
+                        const auto outsideGeometry = outside.geometry();
+                        const ElementSolution elemSolJ(outside, sol, *fvGridGeometry_);
+                        const Scalar satJ = evalSolution(outside, outsideGeometry, *fvGridGeometry_, elemSolJ, outsideGeometry.center())[saturationIdx];
 
                         using std::abs;
                         Scalar localdelta = abs(satI - satJ);
-                        using std::max;
-                        indicatorVector_[globalIdxI][0] = max(indicatorVector_[globalIdxI][0], localdelta);
-                        indicatorVector_[globalIdxJ][0] = max(indicatorVector_[globalIdxJ][0], localdelta);
+                        maxSaturationDelta_[globalIdxI] = max(maxSaturationDelta_[globalIdxI], localdelta);
+                        maxSaturationDelta_[globalIdxJ] = max(maxSaturationDelta_[globalIdxJ], localdelta);
                     }
                 }
             }
         }
 
-        Scalar globaldelta = globalMax - globalMin;
+        //! compute the maximum delta in saturation
+        const auto globalDelta = globalMax - globalMin;
 
-        refineBound_ = refinetol_*globaldelta;
-        coarsenBound_ = coarsentol_*globaldelta;
+        //! compute the refinement/coarsening bounds
+        refineBound_ = refineTol*globalDelta;
+        coarsenBound_ = coarsenTol*globalDelta;
 
+// TODO: fix adaptive simulations in parallel
 //#if HAVE_MPI
 //    // communicate updated values
 //    typedef VectorExchange<ElementMapper, ScalarSolutionType> DataHandle;
-//    DataHandle dataHandle(problem_.elementMapper(), indicatorVector_);
+//    DataHandle dataHandle(problem_.elementMapper(), maxSaturationDelta_);
 //    problem_.gridView().template communicate<DataHandle>(dataHandle,
 //                                                         Dune::InteriorBorder_All_Interface,
 //                                                         Dune::ForwardCommunication);
@@ -189,62 +184,84 @@ public:
 //    coarsenBound_ = problem_.gridView().comm().max(coarsenBound_);
 //
 //#endif
+
+        //! check if neighbors have to be refined too
+        for (const auto& element : elements(fvGridGeometry_->gridView(), Dune::Partitions::interior))
+            if (this->operator()(element) > 0)
+                checkNeighborsRefine_(element);
     }
 
-    /*! \brief Indicator function for marking of grid cells for refinement
+    /*! \brief function call operator to return mark
      *
-     * Returns true if an element should be refined.
+     *  \return  1 if an element should be refined
+     *          -1 if an element should be coarsened
+     *           0 otherwise
      *
      *  \param element A grid element
      */
-    bool refine(const Element& element)
+    int operator() (const Element& element) const
     {
-        return (indicatorVector_[problem_.elementMapper().index(element)] > refineBound_);
+        if (element.hasFather()
+            && maxSaturationDelta_[fvGridGeometry_->elementMapper().index(element)] < coarsenBound_)
+        {
+            return -1;
+        }
+        else if (element.level() < maxLevel_
+                 && maxSaturationDelta_[fvGridGeometry_->elementMapper().index(element)] > refineBound_)
+        {
+            return 1;
+        }
+        else
+            return 0;
     }
 
-    /*! \brief Indicator function for marking of grid cells for coarsening
+private:
+    /*!
+     * \brief Method ensuring the refinement ratio of 2:1
      *
-     * Returns true if an element should be coarsened.
+     *  For any given element, a loop over the neighbors checks if the
+     *  entities refinement would require that any of the neighbors has
+     *  to be refined, too. This is done recursively over all levels of the grid.
      *
-     *  \param element A grid element
+     * \param element Element of interest that is to be refined
+     * \param level level of the refined element: it is at least 1
+     * \return true if everything was successful
      */
-    bool coarsen(const Element& element)
+    bool checkNeighborsRefine_(const Element &element, std::size_t level = 1)
     {
-        return (indicatorVector_[problem_.elementMapper().index(element)] < coarsenBound_);
-    }
+        for(const auto& intersection : intersections(fvGridGeometry_->gridView(), element))
+        {
+            if(!intersection.neighbor())
+                continue;
 
-    /*! \brief Initializes the adaptation indicator class*/
-    void init()
-    {
-        refineBound_ = 0.;
-        coarsenBound_ = 0.;
-        indicatorVector_.resize(problem_.gridView().size(0));
-    };
+            // obtain outside element
+            const auto outside = intersection.outside();
 
-    /*! @brief Constructs a GridAdaptIndicator instance
-     *
-     *  This standard indicator is based on the saturation gradient.
-     *  It checks the local gradient compared to the maximum global gradient.
-     *  The indicator is compared locally to a refinement/coarsening threshold to decide whether
-     *  a cell should be marked for refinement or coarsening or should not be adapted.
-     *
-     * \param problem The problem object
-     */
-    TwoPImplicitGridAdaptIndicator(Problem& problem):
-        problem_(problem)
-    {
-        refinetol_ = GET_PARAM_FROM_GROUP(TypeTag, Scalar, GridAdapt, RefineTolerance);
-        coarsentol_ = GET_PARAM_FROM_GROUP(TypeTag, Scalar, GridAdapt, CoarsenTolerance);
+            // only mark non-ghost elements
+            if (outside.partitionType() == Dune::GhostEntity)
+                continue;
+
+            if (outside.level() < maxLevel_ && outside.level() < element.level())
+            {
+                // ensure refinement for outside element
+                maxSaturationDelta_[fvGridGeometry_->elementMapper().index(outside)] = std::numeric_limits<Scalar>::max();
+                if(level < maxLevel_)
+                    checkNeighborsRefine_(outside, ++level);
+            }
+        }
+
+        return true;
     }
 
-protected:
-    Problem& problem_;
-    Scalar refinetol_;
-    Scalar coarsentol_;
+    std::shared_ptr<const FVGridGeometry> fvGridGeometry_;
+
     Scalar refineBound_;
     Scalar coarsenBound_;
-    Dune::BlockVector<Dune::FieldVector<Scalar, 1> > indicatorVector_;
+    std::vector< Scalar > maxSaturationDelta_;
+    std::size_t minLevel_;
+    std::size_t maxLevel_;
 };
-}
 
-#endif
+} // end namespace Dumux
+
+#endif /* DUMUX_TWOP_ADAPTION_INDICATOR_HH */
diff --git a/dumux/porousmediumflow/2p/implicit/griddatatransfer.hh b/dumux/porousmediumflow/2p/implicit/griddatatransfer.hh
new file mode 100644
index 0000000000000000000000000000000000000000..ada149cb09b6722755a6033c83dc4fc71eb48e50
--- /dev/null
+++ b/dumux/porousmediumflow/2p/implicit/griddatatransfer.hh
@@ -0,0 +1,422 @@
+// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+// vi: set et ts=4 sw=4 sts=4:
+/*****************************************************************************
+ *   See the file COPYING for full copying permissions.                      *
+ *                                                                           *
+ *   This program is free software: you can redistribute it and/or modify    *
+ *   it under the terms of the GNU General Public License as published by    *
+ *   the Free Software Foundation, either version 2 of the License, or       *
+ *   (at your option) any later version.                                     *
+ *                                                                           *
+ *   This program is distributed in the hope that it will be useful,         *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
+ *   GNU General Public License for more details.                            *
+ *                                                                           *
+ *   You should have received a copy of the GNU General Public License       *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
+ *****************************************************************************/
+#ifndef DUMUX_TWOP_GRIDDATA_TRANSFER_HH
+#define DUMUX_TWOP_GRIDDATA_TRANSFER_HH
+
+#include <dune/grid/utility/persistentcontainer.hh>
+#include <dumux/common/properties.hh>
+#include <dumux/discretization/methods.hh>
+#include <dumux/adaptive/griddatatransfer.hh>
+
+namespace Dumux {
+
+/*!
+ * \brief Class performing the transfer of data on a grid from before to after adaptation.
+ */
+template<class TypeTag>
+class TwoPGridDataTransfer : public GridDataTransfer
+{
+    using Grid = typename GET_PROP_TYPE(TypeTag, Grid);
+    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
+    using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
+    using Indices = typename GET_PROP_TYPE(TypeTag, Indices);
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
+    using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume);
+    using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables);
+    using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables);
+    using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables);
+    using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector);
+    using ElementSolution = typename GET_PROP_TYPE(TypeTag, ElementSolutionVector);
+    using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem);
+
+    struct AdaptedValues
+    {
+        AdaptedValues() : associatedMass(0.0) {}
+        ElementSolution u;
+        int count = 0;
+        PrimaryVariables associatedMass;
+        bool wasLeaf = false;
+    };
+
+    using PersistentContainer = Dune::PersistentContainer<Grid, AdaptedValues>;
+
+    static constexpr int dim = Grid::dimension;
+    static constexpr int dimWorld = Grid::dimensionworld;
+    static constexpr bool isBox = GET_PROP_VALUE(TypeTag, DiscretizationMethod) == DiscretizationMethods::Box;
+
+    //! export some indices
+    enum {
+        // index of saturation in primary variables
+        saturationIdx = Indices::saturationIdx,
+
+        // phase indices
+        wPhaseIdx = Indices::wPhaseIdx,
+        nPhaseIdx = Indices::nPhaseIdx,
+
+        // formulations
+        pwsn = Indices::pwsn,
+        pnsw = Indices::pnsw,
+
+        // the formulation that is actually used
+        formulation = GET_PROP_VALUE(TypeTag, Formulation)
+    };
+
+    //! This won't work (mass conservative) for compressible fluids
+    static_assert(!FluidSystem::isCompressible(wPhaseIdx)
+                  && !FluidSystem::isCompressible(nPhaseIdx),
+                  "This adaption helper is only mass conservative for incompressible fluids!");
+
+    //! check if the used formulation is implemented here
+    static_assert(formulation == pwsn || formulation == pnsw, "Chosen formulation not known to the TwoPGridDataTransfer");
+
+public:
+    /*! \brief Constructor
+     *
+     *  \param problem The DuMuX problem to be solved
+     *  \param fvGridGeometry The finite volume grid geometry
+     *  \param gridVariables The secondary variables on the grid
+     *  \param sol The solution (primary variables) on the grid
+     */
+    TwoPGridDataTransfer(std::shared_ptr<const Problem> problem,
+                         std::shared_ptr<FVGridGeometry> fvGridGeometry,
+                         std::shared_ptr<const GridVariables> gridVariables,
+                         SolutionVector& sol)
+    : GridDataTransfer()
+    , problem_(problem)
+    , fvGridGeometry_(fvGridGeometry)
+    , gridVariables_(gridVariables)
+    , sol_(sol)
+    , adaptionMap_(fvGridGeometry->gridView().grid(), 0)
+    {}
+
+    /*! \brief Stores primary variables and additional data
+     *
+     *  To reconstruct the solution in father elements, problem properties might
+     *  need to be accessed. From upper level on downwards, the old solution is stored
+     *  into a container object, before the grid is adapted. Father elements hold averaged
+     *  information from the son cells for the case of the sons being coarsened.
+     */
+    void store() override
+    {
+        adaptionMap_.resize();
+
+        const auto& grid = fvGridGeometry_->gridView().grid();
+        for (auto level = grid.maxLevel(); level >= 0; level--)
+        {
+            for (const auto& element : elements(grid.levelGridView(level)))
+            {
+                //! get map entry
+                auto& adaptedValues = adaptionMap_[element];
+
+                //! put values in the map for leaf elements
+                if (element.isLeaf())
+                {
+                    auto fvGeometry = localView(*fvGridGeometry_);
+                    fvGeometry.bindElement(element);
+
+                    //! store current element solution
+                    adaptedValues.u = ElementSolution(element, sol_, *fvGridGeometry_);
+
+                    //! compute mass in the scvs
+                    for (const auto& scv : scvs(fvGeometry))
+                    {
+                        VolumeVariables volVars;
+                        volVars.update(adaptedValues.u, *problem_, element, scv);
+
+                        const auto poreVolume = scv.volume()*volVars.porosity();
+                        adaptedValues.associatedMass[nPhaseIdx] += poreVolume * volVars.density(nPhaseIdx) * volVars.saturation(nPhaseIdx);
+                        adaptedValues.associatedMass[wPhaseIdx] += poreVolume * volVars.density(wPhaseIdx) * volVars.saturation(wPhaseIdx);
+                    }
+
+                    //! leaf elements always start with count = 1
+                    adaptedValues.count = 1;
+                    adaptedValues.wasLeaf = true;
+                }
+                //! Average in father elements
+                if (element.level() > 0)
+                {
+                    auto& adaptedValuesFather = adaptionMap_[element.father()];
+                    // For some grids the father element is identical to the son element.
+                    // In that case averaging is not necessary.
+                    if(&adaptedValues != &adaptedValuesFather)
+                        storeAdaptionValues(adaptedValues, adaptedValuesFather);
+                }
+
+                //! The vertices of the non-leaf elements exist on the leaf as well
+                //! This element solution constructor uses the vertex mapper to obtain
+                //! the privars at the vertices, thus, this works for non-leaf elements!
+                if(isBox && !element.isLeaf())
+                    adaptedValues.u = ElementSolution(element, sol_, *fvGridGeometry_);
+            }
+        }
+    }
+
+    /*! \brief Reconstruct missing primary variables (where elements are created/deleted)
+     *
+     *  To reconstruct the solution in father elements, problem properties might
+     *  need to be accessed.
+     *  Starting from the lowest level, the old solution is mapped on the new grid:
+     *  Where coarsened, new cells get information from old father element.
+     *  Where refined, a new solution is reconstructed from the old father cell,
+     *  and then a new son is created. That is then stored into the general data
+     *  structure (AdaptedValues).
+     */
+    void reconstruct() override
+    {
+        //! resize stuff (grid might have changed)
+        adaptionMap_.resize();
+        fvGridGeometry_->update();
+        sol_.resize(fvGridGeometry_->numDofs());
+
+        //! vectors storing the mass associated with each vertex, when using the box method
+        std::vector<Scalar> massCoeff;
+        std::vector<Scalar> associatedMass;
+
+        if(isBox)
+        {
+            massCoeff.resize(fvGridGeometry_->numDofs(), 0.0);
+            associatedMass.resize(fvGridGeometry_->numDofs(), 0.0);
+        }
+
+        //! iterate over leaf and reconstruct the solution
+        for (const auto& element : elements(fvGridGeometry_->gridView().grid().leafGridView(), Dune::Partitions::interior))
+        {
+            if (!element.isNew())
+            {
+                const auto& adaptedValues = adaptionMap_[element];
+
+                auto fvGeometry = localView(*fvGridGeometry_);
+                fvGeometry.bindElement(element);
+
+                //! obtain element solution from map (divide by count!)
+                auto elemSol = adaptedValues.u;
+                if (!isBox)
+                    elemSol[0] /= adaptedValues.count;
+
+                const auto elementVolume = element.geometry().volume();
+                for (const auto& scv : scvs(fvGeometry))
+                {
+                    VolumeVariables volVars;
+                    volVars.update(elemSol, *problem_, element, scv);
+
+                    //! write solution at dof in current solution vector
+                    sol_[scv.dofIndex()] = elemSol[scv.indexInElement()];
+
+                    const auto dofIdxGlobal = scv.dofIndex();
+                    //! For cc schemes, overwrite the saturation by a mass conservative one here
+                    if (!isBox)
+                    {
+                        //! only recalculate the saturations if element hasn't been leaf before adaptation
+                        if (!adaptedValues.wasLeaf)
+                        {
+                            if (formulation == pwsn)
+                            {
+                                sol_[dofIdxGlobal][saturationIdx] = adaptedValues.associatedMass[nPhaseIdx];
+                                sol_[dofIdxGlobal][saturationIdx] /= elementVolume * volVars.density(nPhaseIdx) * volVars.porosity();
+                            }
+                            else if (formulation == pnsw)
+                            {
+                                sol_[dofIdxGlobal][saturationIdx] = adaptedValues.associatedMass[wPhaseIdx];
+                                sol_[dofIdxGlobal][saturationIdx] /= elementVolume * volVars.density(wPhaseIdx) * volVars.porosity();
+                            }
+                        }
+                    }
+
+                    //! For the box scheme, add mass & mass coefficient to container (saturations are recalculated at the end)
+                    else
+                    {
+                        const auto scvVolume = scv.volume();
+                        if (formulation == pwsn)
+                        {
+                            massCoeff[dofIdxGlobal] += scvVolume * volVars.density(nPhaseIdx) * volVars.porosity();
+                            associatedMass[dofIdxGlobal] += scvVolume / elementVolume * adaptedValues.associatedMass[nPhaseIdx];
+                        }
+                        else if (formulation == pnsw)
+                        {
+                            massCoeff[dofIdxGlobal] += scvVolume * volVars.density(wPhaseIdx) * volVars.porosity();
+                            associatedMass[dofIdxGlobal] += scvVolume / elementVolume * adaptedValues.associatedMass[wPhaseIdx];
+                        }
+                    }
+                }
+            }
+            else
+            {
+                //! value is not in map, interpolate from father element
+                assert(element.hasFather() && "new element does not have a father element!");
+
+                //! find the ancestor element that existed on the old grid already
+                auto fatherElement = element.father();
+                while(fatherElement.isNew() && fatherElement.level() > 0)
+                    fatherElement = fatherElement.father();
+
+                if(!isBox)
+                {
+                    const auto& adaptedValuesFather = adaptionMap_[fatherElement];
+
+                    //! obtain the mass contained in father
+                    Scalar massFather = 0.0;
+                    if (formulation == pwsn)
+                        massFather = adaptedValuesFather.associatedMass[nPhaseIdx];
+                    else if (formulation == pnsw)
+                        massFather = adaptedValuesFather.associatedMass[wPhaseIdx];
+
+                    // obtain the element solution through the father
+                    auto elemSolSon = adaptedValuesFather.u;
+                    elemSolSon[0] /= adaptedValuesFather.count;
+
+                    auto fvGeometry = localView(*fvGridGeometry_);
+                    fvGeometry.bindElement(element);
+
+                    for (const auto& scv : scvs(fvGeometry))
+                    {
+                        VolumeVariables volVars;
+                        volVars.update(elemSolSon, *problem_, element, scv);
+
+                        //! store constructed values of son in the current solution
+                        sol_[scv.dofIndex()] = elemSolSon[0];
+
+                        //! overwrite the saturation by a mass conservative one here
+                        Scalar massCoeffSon = 0.0;
+                        if (formulation == pwsn)
+                            massCoeffSon = scv.volume() * volVars.density(nPhaseIdx) * volVars.porosity();
+                        else if (formulation == pnsw)
+                            massCoeffSon = scv.volume() * volVars.density(wPhaseIdx) * volVars.porosity();
+                        sol_[scv.dofIndex()][saturationIdx] = (scv.volume() / fatherElement.geometry().volume() * massFather)/massCoeffSon;
+                    }
+                }
+                else
+                {
+                    auto& adaptedValuesFather = adaptionMap_[fatherElement];
+
+                    auto fvGeometry = localView(*fvGridGeometry_);
+                    fvGeometry.bindElement(element);
+
+                    //! interpolate solution in the father to the vertices of the new son
+                    ElementSolution elemSolSon(element, sol_, *fvGridGeometry_);
+                    const auto fatherGeometry = fatherElement.geometry();
+                    for (const auto& scv : scvs(fvGeometry))
+                        elemSolSon[scv.indexInElement()] = evalSolution(fatherElement,
+                                                                        fatherGeometry,
+                                                                        adaptedValuesFather.u,
+                                                                        scv.dofPosition());
+
+                    //! compute mass & mass coeffients for the scvs (saturations are recalculated at the end)
+                    const auto fatherElementVolume = fatherGeometry.volume();
+                    for (const auto& scv : scvs(fvGeometry))
+                    {
+                        VolumeVariables volVars;
+                        volVars.update(elemSolSon, *problem_, element, scv);
+
+                        const auto dofIdxGlobal = scv.dofIndex();
+                        const auto scvVolume = scv.volume();
+                        if (int(formulation) == pwsn)
+                        {
+                            massCoeff[dofIdxGlobal] += scvVolume * volVars.density(nPhaseIdx) * volVars.porosity();
+                            associatedMass[dofIdxGlobal] += scvVolume / fatherElementVolume * adaptedValuesFather.associatedMass[nPhaseIdx];
+                        }
+                        else if (int(formulation) == pnsw)
+                        {
+                            massCoeff[dofIdxGlobal] += scvVolume * volVars.density(wPhaseIdx) * volVars.porosity();
+                            associatedMass[dofIdxGlobal] += scvVolume / fatherElementVolume * adaptedValuesFather.associatedMass[wPhaseIdx];
+                        }
+
+                        //! store constructed (pressure) values of son in the current solution (saturation comes later)
+                        sol_[dofIdxGlobal] = elemSolSon[scv.indexInElement()];
+                    }
+                }
+            }
+        }
+
+        if(isBox)
+        {
+            for(std::size_t dofIdxGlobal = 0; dofIdxGlobal < fvGridGeometry_->numDofs(); dofIdxGlobal++)
+                sol_[dofIdxGlobal][saturationIdx] = associatedMass[dofIdxGlobal] / massCoeff[dofIdxGlobal];
+        }
+
+        //! reset entries in adaptation map
+        adaptionMap_.resize( typename PersistentContainer::Value() );
+        adaptionMap_.shrinkToFit();
+        adaptionMap_.fill( typename PersistentContainer::Value() );
+
+//! TODO: fix adaptive simulations in parallel
+//#if HAVE_MPI
+//        // communicate ghost data
+//        typedef typename GET_PROP(TypeTag, SolutionTypes) SolutionTypes;
+//        typedef typename SolutionTypes::ElementMapper ElementMapper;
+//        typedef VectorExchange<ElementMapper, std::vector<CellData> > DataHandle;
+//        DataHandle dataHandle(problem.elementMapper(), this->cellDataGlobal());
+//        problem.gridView().template communicate<DataHandle>(dataHandle,
+//                                                            Dune::InteriorBorder_All_Interface,
+//                                                            Dune::ForwardCommunication);
+//#endif
+    }
+
+  private:
+
+    /*! \brief Stores sons entries into father element for averaging
+     *
+     *  Sum up the adaptedValues (sons values) into father element. We store from leaf
+     *  upwards, so sons are stored first, then cells on the next leaf (=fathers)
+     *  can be averaged.
+     *
+     *  \param adaptedValues Container for model-specific values to be adapted
+     *  \param adaptedValuesFather Values to be adapted of father cell
+     */
+    static void storeAdaptionValues(AdaptedValues& adaptedValues,
+                                    AdaptedValues& adaptedValuesFather)
+    {
+        //! Add associated mass of the child to the one of the father
+        adaptedValuesFather.associatedMass += adaptedValues.associatedMass;
+
+        if(!isBox)
+        {
+            //! add the child's primary variables to the ones of father
+            //! we have to divide the child's ones in case it was composed
+            //! of several children as well!
+            auto values = adaptedValues.u[0];
+            values /= adaptedValues.count;
+            adaptedValuesFather.u[0] += values;
+
+            //! keep track of the number of children that composed this father
+            adaptedValuesFather.count += 1;
+
+            //! A father element is never leaf
+            adaptedValuesFather.wasLeaf = false;
+        }
+        else
+        {
+            //! For the box scheme, scaling of primary variables by count is obsolete
+            //! Thus, we always want count = 1
+            adaptedValuesFather.count = 1;
+
+            //! A father element is never leaf
+            adaptedValuesFather.wasLeaf = false;
+        }
+    }
+
+    std::shared_ptr<const Problem> problem_;
+    std::shared_ptr<FVGridGeometry> fvGridGeometry_;
+    std::shared_ptr<const GridVariables> gridVariables_;
+    SolutionVector& sol_;
+    PersistentContainer adaptionMap_;
+};
+
+} // end namespace Dumux
+
+#endif /* DUMUX_TWOP_GRIDDATA_TRANSFER_HH */
diff --git a/test/porousmediumflow/2p/implicit/CMakeLists.txt b/test/porousmediumflow/2p/implicit/CMakeLists.txt
index 1bb24dedd40b5563940ec5a50bd29117359e35f1..b32b5495d7ee09e1249a4e8ea2b90094cd204445 100644
--- a/test/porousmediumflow/2p/implicit/CMakeLists.txt
+++ b/test/porousmediumflow/2p/implicit/CMakeLists.txt
@@ -1,42 +1,4 @@
-#add_subdirectory(pointsources)
+add_subdirectory(adaptive)
 add_subdirectory(fracture)
 add_subdirectory(incompressible)
 add_subdirectory(nonisothermal)
-add_input_file_links()
-dune_symlink_to_source_files(FILES grids)
-
-# # isothermal tests
-# add_dumux_test(test_ccadaptive2p test_ccadaptive2p test_ccadaptive2p.cc
-#                python ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py
-#                  --script fuzzy
-#                  --files ${CMAKE_SOURCE_DIR}/test/references/lensccadaptive-reference.vtu
-#                          ${CMAKE_CURRENT_BINARY_DIR}/lensccadaptive-00017.vtu
-#                  --command "${CMAKE_CURRENT_BINARY_DIR}/test_ccadaptive2p")
-#
-# add_dumux_test(test_boxadaptive2p test_boxadaptive2p test_boxadaptive2p.cc
-#                python ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py
-#                  --script fuzzy
-#                  --files ${CMAKE_SOURCE_DIR}/test/references/lensboxadaptive-reference.vtu
-#                          ${CMAKE_CURRENT_BINARY_DIR}/lensboxadaptive-00014.vtu
-#                  --command "${CMAKE_CURRENT_BINARY_DIR}/test_boxadaptive2p")
-#
-# if(HAVE_OPM_GRID)
-# add_dumux_test(test_cc2pcornerpoint test_cc2pcornerpoint test_cc2pcornerpoint.cc
-#                python ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py
-#                  --script fuzzy
-#                  --files ${CMAKE_SOURCE_DIR}/test/references/cc2pcornerpoint-reference.vtu
-#                          ${CMAKE_CURRENT_BINARY_DIR}/cc2pcornerpoint-00005.vtu
-#                  --command "${CMAKE_CURRENT_BINARY_DIR}/test_cc2pcornerpoint")
-# endif()
-
-#install sources
-install(FILES
-cc2pcornerpointproblem.hh
-cc2pcornerpointspatialparams.hh
-generalizeddirichletproblem.hh
-generalizeddirichletspatialparams.hh
-test_boxadaptive2p.cc
-test_cc2pcornerpoint.cc
-test_ccadaptive2p.cc
-test_generalizeddirichlet.cc
-DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/test/implicit/2p)
diff --git a/test/porousmediumflow/2p/implicit/adaptive/CMakeLists.txt b/test/porousmediumflow/2p/implicit/adaptive/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c245d2b72f7603bdf966dc4afe7dc8406f7b5f7d
--- /dev/null
+++ b/test/porousmediumflow/2p/implicit/adaptive/CMakeLists.txt
@@ -0,0 +1,47 @@
+dune_symlink_to_source_files(FILES "test_2p_adaptive.input")
+
+# using tpfa
+dune_add_test(NAME test_2p_adaptive_tpfa
+              SOURCES test_2p_adaptive_fv.cc
+              COMPILE_DEFINITIONS TYPETAG=TwoPIncompressibleAdaptiveTpfa
+              CMAKE_GUARD dune-alugrid_FOUND
+              COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py
+              CMD_ARGS --script fuzzy
+                       --files ${CMAKE_SOURCE_DIR}/test/references/lensccadaptive-reference.vtu
+                               ${CMAKE_CURRENT_BINARY_DIR}/2p_adaptive_tpfa-00016.vtu
+                       --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p_adaptive_tpfa test_2p_adaptive.input -Problem.Name 2p_adaptive_tpfa")
+
+# using tpfa and point source
+dune_add_test(NAME test_2p_adaptive_ps_tpfa
+              SOURCES test_2p_adaptive_fv.cc
+              COMPILE_DEFINITIONS TYPETAG=TwoPAdaptivePointSource
+              CMAKE_GUARD dune-alugrid_FOUND
+              COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py
+              CMD_ARGS --script fuzzy
+                       --files ${CMAKE_SOURCE_DIR}/test/references/lensccadaptivepointsource-reference.vtu
+                               ${CMAKE_CURRENT_BINARY_DIR}/2p_adaptive_ps_tpfa-00018.vtu
+                       --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p_adaptive_ps_tpfa test_2p_adaptive.input -Problem.Name 2p_adaptive_ps_tpfa")
+
+# using mpfa
+dune_add_test(NAME test_2p_adaptive_mpfa
+             SOURCES test_2p_adaptive_fv.cc
+             COMPILE_DEFINITIONS TYPETAG=TwoPIncompressibleAdaptiveMpfa
+             CMAKE_GUARD dune-alugrid_FOUND
+             COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py
+             CMD_ARGS --script fuzzy
+                      --files ${CMAKE_SOURCE_DIR}/test/references/lensccadaptive-reference.vtu
+                              ${CMAKE_CURRENT_BINARY_DIR}/2p_adaptive_mpfa-00008.vtu
+                      --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p_adaptive_mpfa test_2p_adaptive.input -Problem.Name 2p_adaptive_mpfa")
+
+# using box
+dune_add_test(NAME test_2p_adaptive_box
+              SOURCES test_2p_adaptive_fv.cc
+              COMPILE_DEFINITIONS TYPETAG=TwoPIncompressibleAdaptiveBox
+              CMAKE_GUARD dune-uggrid_FOUND
+              COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py
+              CMD_ARGS --script fuzzy
+                       --files ${CMAKE_SOURCE_DIR}/test/references/lensboxadaptive-reference.vtu
+                               ${CMAKE_CURRENT_BINARY_DIR}/2p_adaptive_box-00011.vtu
+                       --command "${CMAKE_CURRENT_BINARY_DIR}/test_2p_adaptive_box test_2p_adaptive.input -Problem.Name 2p_adaptive_box")
+
+set(CMAKE_BUILD_TYPE Release)
diff --git a/test/porousmediumflow/2p/implicit/adaptive/pointsourceproblem.hh b/test/porousmediumflow/2p/implicit/adaptive/pointsourceproblem.hh
new file mode 100644
index 0000000000000000000000000000000000000000..ac9b723fd29ca7a2e5a9a7d961ca64c5a23139c7
--- /dev/null
+++ b/test/porousmediumflow/2p/implicit/adaptive/pointsourceproblem.hh
@@ -0,0 +1,65 @@
+// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+// vi: set et ts=4 sw=4 sts=4:
+/*****************************************************************************
+ *   See the file COPYING for full copying permissions.                      *
+ *                                                                           *
+ *   This program is free software: you can redistribute it and/or modify    *
+ *   it under the terms of the GNU General Public License as published by    *
+ *   the Free Software Foundation, either version 2 of the License, or       *
+ *   (at your option) any later version.                                     *
+ *                                                                           *
+ *   This program is distributed in the hope that it will be useful,         *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
+ *   GNU General Public License for more details.                            *
+ *                                                                           *
+ *   You should have received a copy of the GNU General Public License       *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
+ *****************************************************************************/
+/*!
+ * \file
+ *
+ * \brief Soil contamination problem where DNAPL infiltrates a fully
+ *        water saturated medium.
+ */
+
+#ifndef DUMUX_LENSPROBLEM_POINTSOURCE_HH
+#define DUMUX_LENSPROBLEM_POINTSOURCE_HH
+
+#include "../incompressible/problem.hh"
+
+namespace Dumux
+{
+
+template <class TypeTag >
+class PointSourceTestProblem : public TwoPTestProblem<TypeTag>
+{
+    using ParentType = TwoPTestProblem<TypeTag>;
+    using PointSource =  typename GET_PROP_TYPE(TypeTag, PointSource);
+
+public:
+    //! Use parent's constructor
+    using ParentType::ParentType;
+
+    /*!
+     * \brief Applies a vector of point sources. The point sources
+     *        are possibly solution dependent.
+     *
+     * \param pointSources A vector of PointSource s that contain
+              source values for all phases and space positions.
+     *
+     * For this method, the \a values method of the point source
+     * has to return the absolute mass rate in untis
+     * \f$ [ \textnormal{unit of conserved quantity} / s ] \f$.
+     * Positive values mean that mass is created, negative ones mean that it vanishes.
+     */
+    void addPointSources(std::vector<PointSource>& pointSources) const
+    {
+        // inject 2 kg/s of non-wetting phase at position (1, 1);
+        pointSources.push_back(PointSource({0.502, 3.02}, {0, 0.1}));
+    }
+};
+
+} //end namespace
+
+#endif
diff --git a/test/porousmediumflow/2p/implicit/adaptive/test_2p_adaptive.input b/test/porousmediumflow/2p/implicit/adaptive/test_2p_adaptive.input
new file mode 100644
index 0000000000000000000000000000000000000000..296ed5b9e4448153454202e517be99e11879c8e2
--- /dev/null
+++ b/test/porousmediumflow/2p/implicit/adaptive/test_2p_adaptive.input
@@ -0,0 +1,24 @@
+[TimeLoop]
+DtInitial = 250 # [s]
+TEnd = 3000 # [s]
+
+[Grid]
+UpperRight = 6 4
+Cells = 48 32
+CellType = Cube
+ClosureType = Green
+
+[SpatialParams]
+LensLowerLeft = 1.0 2.0 # [m] coordinates of the lower left lens corner
+LensUpperRight = 4.0 3.0 # [m] coordinates of the upper right lens corner
+
+[Problem]
+Name = 2padaptive # name passed to the output routines
+
+[Adaptive]
+RefineAtDirichletBC = 0
+RefineAtFluxBC = 1
+MinLevel = 0
+MaxLevel = 2
+CoarsenTolerance = 1e-4
+RefineTolerance = 1e-4
diff --git a/test/porousmediumflow/2p/implicit/adaptive/test_2p_adaptive_fv.cc b/test/porousmediumflow/2p/implicit/adaptive/test_2p_adaptive_fv.cc
new file mode 100644
index 0000000000000000000000000000000000000000..c4cdb0d485f1c71ae304ae5f31c5d9c1ebf46f12
--- /dev/null
+++ b/test/porousmediumflow/2p/implicit/adaptive/test_2p_adaptive_fv.cc
@@ -0,0 +1,310 @@
+// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+// vi: set et ts=4 sw=4 sts=4:
+/*****************************************************************************
+ *   See the file COPYING for full copying permissions.                      *
+ *                                                                           *
+ *   This program is free software: you can redistribute it and/or modify    *
+ *   it under the terms of the GNU General Public License as published by    *
+ *   the Free Software Foundation, either version 2 of the License, or       *
+ *   (at your option) any later version.                                     *
+ *                                                                           *
+ *   This program is distributed in the hope that it will be useful,         *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
+ *   GNU General Public License for more details.                            *
+ *                                                                           *
+ *   You should have received a copy of the GNU General Public License       *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
+ *****************************************************************************/
+/*!
+ * \file
+ *
+ * \brief test for the two-phase porousmedium flow model
+ */
+#include <config.h>
+
+#include <ctime>
+#include <iostream>
+
+#include <dune/common/parallel/mpihelper.hh>
+#include <dune/common/timer.hh>
+#include <dune/grid/io/file/dgfparser/dgfexception.hh>
+#include <dune/grid/io/file/vtk.hh>
+#include <dune/istl/io.hh>
+
+#include <dumux/common/properties.hh>
+#include <dumux/common/parameters.hh>
+#include <dumux/common/dumuxmessage.hh>
+#include <dumux/common/defaultusagemessage.hh>
+
+#include <dumux/linear/amgbackend.hh>
+#include <dumux/nonlinear/newtonmethod.hh>
+#include <dumux/nonlinear/newtoncontroller.hh>
+
+#include <dumux/assembly/fvassembler.hh>
+#include <dumux/assembly/diffmethod.hh>
+
+#include <dumux/discretization/methods.hh>
+
+#include <dumux/io/vtkoutputmodule.hh>
+
+#include <dumux/adaptive/adapt.hh>
+#include <dumux/adaptive/markelements.hh>
+#include <dumux/adaptive/initializationindicator.hh>
+#include <dumux/porousmediumflow/2p/implicit/griddatatransfer.hh>
+#include <dumux/porousmediumflow/2p/implicit/gridadaptindicator.hh>
+
+//! Use the incompressible or point source problem for this adaptive test
+#include <test/porousmediumflow/2p/implicit/incompressible/problem.hh>
+#include "pointsourceproblem.hh"
+
+//! type tags for the adaptive versions of the two-phase incompressible problem
+namespace Dumux {
+namespace Properties {
+//! Type Tags for the adaptive tests
+NEW_TYPE_TAG(TwoPIncompressibleAdaptiveTpfa, INHERITS_FROM(TwoPIncompressibleTpfa));
+NEW_TYPE_TAG(TwoPIncompressibleAdaptiveMpfa, INHERITS_FROM(TwoPIncompressibleMpfa));
+NEW_TYPE_TAG(TwoPIncompressibleAdaptiveBox, INHERITS_FROM(TwoPIncompressibleBox));
+NEW_TYPE_TAG(TwoPAdaptivePointSource, INHERITS_FROM(TwoPIncompressibleAdaptiveTpfa));
+
+//! Use non-conforming refinement in the cell-centered tests, conforming for box
+SET_TYPE_PROP(TwoPIncompressibleAdaptiveTpfa, Grid, Dune::ALUGrid<2, 2, Dune::cube, Dune::nonconforming>);
+SET_TYPE_PROP(TwoPIncompressibleAdaptiveMpfa, Grid, Dune::ALUGrid<2, 2, Dune::cube, Dune::nonconforming>);
+SET_TYPE_PROP(TwoPIncompressibleAdaptiveBox, Grid, Dune::UGGrid<2>);
+SET_TYPE_PROP(TwoPAdaptivePointSource, Problem, PointSourceTestProblem<TypeTag>);
+} // end namespace Properties
+} // end namespace Dumux
+
+int main(int argc, char** argv) try
+{
+    using namespace Dumux;
+
+    // define the type tag for this problem
+    using TypeTag = TTAG(TYPETAG);
+
+    // initialize MPI, finalize is done automatically on exit
+    const auto& mpiHelper = Dune::MPIHelper::instance(argc, argv);
+
+    // print dumux start message
+    if (mpiHelper.rank() == 0)
+        DumuxMessage::print(/*firstCall=*/true);
+
+    // parse command line arguments and input file
+    Parameters::init(argc, argv);
+
+    // try to create a grid (from the given grid file or the input file)
+    using GridCreator = typename GET_PROP_TYPE(TypeTag, GridCreator);
+    GridCreator::makeGrid();
+    GridCreator::loadBalance();
+
+    ////////////////////////////////////////////////////////////
+    // run instationary non-linear problem on this grid
+    ////////////////////////////////////////////////////////////
+
+    // we compute on the leaf grid view
+    const auto& leafGridView = GridCreator::grid().leafGridView();
+
+    // create the finite volume grid geometry
+    using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry);
+    auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView);
+    fvGridGeometry->update();
+
+    // the problem (initial and boundary conditions)
+    using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
+    auto problem = std::make_shared<Problem>(fvGridGeometry);
+
+    // the solution vector
+    using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector);
+    SolutionVector x(fvGridGeometry->numDofs());
+    problem->applyInitialSolution(x);
+    auto xOld = x;
+
+    // the grid variables
+    using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables);
+    auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry);
+    gridVariables->init(x, xOld);
+
+    // instantiate indicator & data transfer, read parameters for indicator
+    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
+    const Scalar refineTol = getParam<Scalar>("Adaptive.RefineTolerance");
+    const Scalar coarsenTol = getParam<Scalar>("Adaptive.CoarsenTolerance");
+    TwoPGridAdaptIndicator<TypeTag> indicator(fvGridGeometry);
+    TwoPGridDataTransfer<TypeTag> dataTransfer(problem, fvGridGeometry, gridVariables, x);
+
+    // Do initial refinement around sources/BCs
+    GridAdaptInitializationIndicator<TypeTag> initIndicator(problem, fvGridGeometry, gridVariables);
+
+    // refine up to the maximum level
+    const auto maxLevel = getParam<std::size_t>("Adaptive.MaxLevel", 0);
+    for (std::size_t i = 0; i < maxLevel; ++i)
+    {
+        initIndicator.calculate(x);
+
+        bool wasAdapted = false;
+        if (markElements(GridCreator::grid(), initIndicator))
+            wasAdapted = adapt(GridCreator::grid(), dataTransfer);
+
+        // update grid data after adaption
+        if (wasAdapted)
+        {
+            xOld = x;                         //! Overwrite the old solution with the new (resized & interpolated) one
+            gridVariables->init(x, xOld);     //! Initialize the secondary variables to the new (and "new old") solution
+            problem->computePointSourceMap(); //! Update the point source map
+        }
+    }
+
+    // Do refinement for the initial conditions using our indicator
+    // we set coarsen tolerance to 0.0 because we do not want any coarsening to be done here
+    indicator.calculate(x, refineTol, /*coarsenTol*/0.0);
+
+    bool wasAdapted = false;
+    if (markElements(GridCreator::grid(), indicator))
+        wasAdapted = adapt(GridCreator::grid(), dataTransfer);
+
+    // update grid data after adaption
+    if (wasAdapted)
+    {
+        xOld = x;                         //! Overwrite the old solution with the new (resized & interpolated) one
+        gridVariables->init(x, xOld);     //! Initialize the secondary variables to the new (and "new old") solution
+        problem->computePointSourceMap(); //! Update the point source map
+    }
+
+    // get some time loop parameters
+    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
+    const auto tEnd = getParam<Scalar>("TimeLoop.TEnd");
+    const auto maxDivisions = getParam<int>("TimeLoop.MaxTimeStepDivisions");
+    const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize");
+    auto dt = getParam<Scalar>("TimeLoop.DtInitial");
+
+    // check if we are about to restart a previously interrupted simulation
+    Scalar restartTime = 0;
+    if (haveParam("Restart") || haveParam("TimeLoop.Restart"))
+        restartTime = getParam<Scalar>("TimeLoop.Restart");
+
+    // intialize the vtk output module
+    using VtkOutputFields = typename GET_PROP_TYPE(TypeTag, VtkOutputFields);
+    VtkOutputModule<TypeTag> vtkWriter(*problem, *fvGridGeometry, *gridVariables, x, problem->name());
+    VtkOutputFields::init(vtkWriter); //! Add model specific output fields
+    vtkWriter.write(0.0);
+
+    // instantiate time loop
+    auto timeLoop = std::make_shared<TimeLoop<Scalar>>(restartTime, dt, tEnd);
+    timeLoop->setMaxTimeStepSize(maxDt);
+
+    // the assembler with time loop for instationary problem
+    using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>;
+    auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop);
+
+    // the linear solver
+    using LinearSolver = AMGBackend<TypeTag>;
+    auto linearSolver = std::make_shared<LinearSolver>(leafGridView, fvGridGeometry->dofMapper());
+
+    // the non-linear solver
+    using NewtonController = Dumux::NewtonController<TypeTag>;
+    using NewtonMethod = Dumux::NewtonMethod<NewtonController, Assembler, LinearSolver>;
+    auto newtonController = std::make_shared<NewtonController>(leafGridView.comm(), timeLoop);
+    NewtonMethod nonLinearSolver(newtonController, assembler, linearSolver);
+
+    // time loop
+    timeLoop->start(); do
+    {
+        // refine/coarsen only after first time step
+        if (timeLoop->time() > restartTime)
+        {
+            // compute refinement indicator
+            indicator.calculate(x, refineTol, coarsenTol);
+
+            // mark elements and maybe adapt grid
+            bool wasAdapted = false;
+            if (markElements(GridCreator::grid(), indicator))
+                wasAdapted = adapt(GridCreator::grid(), dataTransfer);
+
+            if (wasAdapted)
+            {
+                // Note that if we were using point sources, we would have to update the map here as well
+                xOld = x;                         //! Overwrite the old solution with the new (resized & interpolated) one
+                assembler->setJacobianPattern();  //! Tell the assembler to resize the matrix and set pattern
+                assembler->setResidualSize();     //! Tell the assembler to resize the residual
+                gridVariables->init(x, xOld);     //! Initialize the secondary variables to the new (and "new old") solution
+                problem->computePointSourceMap(); //! Update the point source map
+            }
+        }
+
+        // set previous solution for storage evaluations
+        assembler->setPreviousSolution(xOld);
+
+        for (int i = 0; i < maxDivisions; ++i)
+        {
+            // linearize & solve
+            auto converged = nonLinearSolver.solve(x);
+
+            if (converged)
+                break;
+
+            if (!converged && i == maxDivisions-1)
+                DUNE_THROW(Dune::MathError,
+                           "Newton solver didn't converge after "
+                           << maxDivisions
+                           << " time-step divisions. dt="
+                           << timeLoop->timeStepSize()
+                           << ".\nThe solutions of the current and the previous time steps "
+                           << "have been saved to restart files.");
+        }
+
+        // make the new solution the old solution
+        xOld = x;
+        gridVariables->advanceTimeStep();
+
+        // advance to the time loop to the next step
+        timeLoop->advanceTimeStep();
+
+        // write vtk output
+        vtkWriter.write(timeLoop->time());
+
+        // report statistics of this time step
+        timeLoop->reportTimeStep();
+
+        // set new dt as suggested by newton controller
+        timeLoop->setTimeStepSize(newtonController->suggestTimeStepSize(timeLoop->timeStepSize()));
+
+    } while (!timeLoop->finished());
+
+    timeLoop->finalize(leafGridView.comm());
+
+    ////////////////////////////////////////////////////////////
+    // finalize, print dumux message to say goodbye
+    ////////////////////////////////////////////////////////////
+
+    // print dumux end message
+    if (mpiHelper.rank() == 0)
+    {
+        Parameters::print();
+        DumuxMessage::print(/*firstCall=*/false);
+    }
+
+    return 0;
+} // end main
+catch (Dumux::ParameterException &e)
+{
+    std::cerr << std::endl << e << " ---> Abort!" << std::endl;
+    return 1;
+}
+catch (Dune::DGFException & e)
+{
+    std::cerr << "DGF exception thrown (" << e <<
+                 "). Most likely, the DGF file name is wrong "
+                 "or the DGF file is corrupted, "
+                 "e.g. missing hash at end of file or wrong number (dimensions) of entries."
+                 << " ---> Abort!" << std::endl;
+    return 2;
+}
+catch (Dune::Exception &e)
+{
+    std::cerr << "Dune reported error: " << e << " ---> Abort!" << std::endl;
+    return 3;
+}
+catch (...)
+{
+    std::cerr << "Unknown exception thrown! ---> Abort!" << std::endl;
+    return 4;
+}
diff --git a/test/porousmediumflow/2p/implicit/cc2pcornerpointproblem.hh b/test/porousmediumflow/2p/implicit/cc2pcornerpointproblem.hh
deleted file mode 100644
index 58bfb24dab91cc52ad842e35f676dcb75787a3ac..0000000000000000000000000000000000000000
--- a/test/porousmediumflow/2p/implicit/cc2pcornerpointproblem.hh
+++ /dev/null
@@ -1,327 +0,0 @@
-// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-// vi: set et ts=4 sw=4 sts=4:
-/*****************************************************************************
- *   See the file COPYING for full copying permissions.                      *
- *                                                                           *
- *   This program is free software: you can redistribute it and/or modify    *
- *   it under the terms of the GNU General Public License as published by    *
- *   the Free Software Foundation, either version 2 of the License, or       *
- *   (at your option) any later version.                                     *
- *                                                                           *
- *   This program is distributed in the hope that it will be useful,         *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
- *   GNU General Public License for more details.                            *
- *                                                                           *
- *   You should have received a copy of the GNU General Public License       *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
- *****************************************************************************/
-#ifndef DUMUX_CC2P_CORNERPOINT_PROBLEM_HH
-#define DUMUX_CC2P_CORNERPOINT_PROBLEM_HH
-
-#if HAVE_OPM_GRID
-#include <dumux/material/components/simpleh2o.hh>
-#include <dumux/material/components/dnapl.hh>
-#include <dumux/porousmediumflow/2p/implicit/model.hh>
-#include <dumux/porousmediumflow/implicit/problem.hh>
-#include <dumux/implicit/cellcentered/tpfa/properties.hh>
-#include <dumux/linear/amgbackend.hh>
-
-#include <dumux/io/cpgridcreator.hh>
-
-#include "cc2pcornerpointspatialparams.hh"
-
-namespace Dumux
-{
-
-template <class TypeTag>
-class CC2PCornerPointProblem;
-
-namespace Properties
-{
-NEW_TYPE_TAG(CC2PCornerPointProblem, INHERITS_FROM(CCTpfaModel, TwoP, CC2PCornerPointSpatialParams));
-
-// Set the grid type
-SET_TYPE_PROP(CC2PCornerPointProblem, Grid, Dune::CpGrid);
-
-// Set the problem property
-SET_TYPE_PROP(CC2PCornerPointProblem, Problem, CC2PCornerPointProblem<TypeTag>);
-
-// Set the grid creator
-SET_TYPE_PROP(CC2PCornerPointProblem, GridCreator, CpGridCreator<TypeTag>);
-
-// Set the fluid system
-SET_PROP(CC2PCornerPointProblem, FluidSystem)
-{
-    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-    using WettingPhase = FluidSystems::LiquidPhase<Scalar, SimpleH2O<Scalar> >;
-    using NonwettingPhase = FluidSystems::LiquidPhase<Scalar, DNAPL<Scalar> >;
-    using type = FluidSystems::TwoPImmiscible<Scalar, WettingPhase, NonwettingPhase>;
-};
-} // end namespace Properties
-
-template <class TypeTag >
-class CC2PCornerPointProblem : public ImplicitPorousMediaProblem<TypeTag>
-{
-    using ParentType = ImplicitPorousMediaProblem<TypeTag>;
-    using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
-    using GridCreator = typename GET_PROP_TYPE(TypeTag, GridCreator);
-    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-    using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables);
-    using ElementSolutionVector = typename GET_PROP_TYPE(TypeTag, ElementSolutionVector);
-
-    // Grid and world dimension
-    static const int dim = GridView::dimension;
-    static const int dimWorld = GridView::dimensionworld;
-
-    using Indices = typename GET_PROP_TYPE(TypeTag, Indices);
-
-    enum {
-        // primary variable indices
-        pwIdx = Indices::pwIdx,
-        snIdx = Indices::snIdx,
-
-        // equation indices
-        contiNEqIdx = Indices::contiNEqIdx,
-    };
-
-    using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables);
-    using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes);
-    using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager);
-    using Element = typename GridView::template Codim<0>::Entity;
-    using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVElementGeometry);
-    using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume);
-    using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace);
-    using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>;
-
-public:
-    /*!
-     * \brief The constructor
-     *
-     * \param timeManager The time manager
-     * \param gridView The grid view
-     */
-    CC2PCornerPointProblem(TimeManager &timeManager,
-                const GridView &gridView)
-    : ParentType(timeManager, gridView), gravity_(0)
-    {
-        gravity_[dimWorld-1] = 9.81;
-        temperature_ = 273.15 + 20; // -> 20°C
-
-        name_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, std::string, Problem, Name);
-
-        injectionElement_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, int, Problem, InjectionElement);
-        injectionRate_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, Scalar, Problem, InjectionRate);
-    }
-
-    /*!
-     * \name Problem parameters
-     */
-    // \{
-
-    /*!
-     * \brief Returns the problem name
-     *
-     * This is used as a prefix for files generated by the simulation.
-     */
-    const std::string& name() const
-    {
-        return name_;
-    }
-
-    /*!
-     * \brief User defined output after the time integration
-     *
-     * Will be called diretly after the time integration.
-     */
-    void postTimeStep()
-    {
-        // Calculate storage terms
-        PrimaryVariables storage;
-        this->model().globalStorage(storage);
-
-        // Write mass balance information for rank 0
-        if (this->gridView().comm().rank() == 0) {
-            std::cout<<"Storage: " << storage << std::endl;
-        }
-    }
-
-    const GlobalPosition& gravity() const
-    {
-        return gravity_;
-    }
-
-    /*!
-     * \brief Returns the temperature \f$ K \f$
-     *
-     * This problem assumes a uniform temperature of 20 degrees Celsius.
-     */
-    Scalar temperature() const
-    { return temperature_; }
-
-    /*!
-     * \brief Evaluate the source term for all phases within a given
-     *        sub-control-volume.
-     *
-     * This is the method for the case where the source term is
-     * potentially solution dependent and requires some quantities that
-     * are specific to the fully-implicit method.
-     *
-     * \param element The finite element
-     * \param fvGeometry The finite-volume geometry
-     * \param elemVolVars All volume variables for the element
-     * \param scv The sub control volume
-     *
-     * For this method, the \a values parameter stores the conserved quantity rate
-     * generated or annihilate per volume unit. Positive values mean
-     * that the conserved quantity is created, negative ones mean that it vanishes.
-     * E.g. for the mass balance that would be a mass rate in \f$ [ kg / (m^3 \cdot s)] \f$.
-     */
-    PrimaryVariables source(const Element &element,
-                            const FVElementGeometry& fvGeometry,
-                            const ElementVolumeVariables& elemVolVars,
-                            const SubControlVolume &scv) const
-    {
-        PrimaryVariables values(0.0);
-
-        int eIdx = GridCreator::grid().leafGridView().indexSet().index(element);
-        if (eIdx == injectionElement_)
-            values[contiNEqIdx] = injectionRate_/element.geometry().volume();
-
-        return values;
-    }
-
-    // \}
-
-    /*!
-     * \name Boundary conditions
-     */
-    // \{
-
-    /*!
-     * \brief Specifies which kind of boundary condition should be
-     *        used for which equation on a given boundary control volume.
-     */
-    BoundaryTypes boundaryTypes(const Element& element, const SubControlVolumeFace& scvf) const
-    {
-        BoundaryTypes values;
-
-        // set no-flux on top and bottom, hydrostatic on the rest
-        // use the intersection normal to decide
-        const GlobalPosition normal = scvf.unitOuterNormal();
-        using std::abs;
-        if (abs(normal[dimWorld-1]) > 0.5 - eps_)
-            values.setAllNeumann();
-        else
-            values.setAllDirichlet();
-
-        return values;
-    }
-
-    /*!
-     * \brief Evaluates the boundary conditions for a Dirichlet
-     *        boundary segment
-     *
-     * \param values Stores the Dirichlet values for the conservation equations in
-     *               \f$ [ \textnormal{unit of primary variable} ] \f$
-     * \param globalPos The global position
-     */
-    PrimaryVariables dirichletAtPos(const GlobalPosition &globalPos) const
-    {
-        PrimaryVariables values(0);
-
-        // hydrostatic pressure
-        Scalar densityW = 1000;
-        values[pwIdx] = 1e5 + densityW*(this->gravity()*globalPos);
-        values[snIdx] = 0.0;
-
-        return values;
-    }
-
-    /*!
-     * \brief Evaluate the boundary conditions for a neumann
-     *        boundary segment.
-     *
-     * \param values Stores the Neumann values for the conservation equations in
-     *               \f$ [ \textnormal{unit of conserved quantity} / (m^(dim-1) \cdot s )] \f$
-     * \param globalPos The position of the integration point of the boundary segment.
-     *
-     * For this method, the \a values parameter stores the mass flux
-     * in normal direction of each phase. Negative values mean influx.
-     */
-    PrimaryVariables neumannAtPos(const GlobalPosition &globalPos) const
-    {
-        PrimaryVariables values(0.0);
-
-        return values;
-    }
-    // \}
-
-    /*!
-     * \name Volume terms
-     */
-    // \{
-
-
-    /*!
-     * \brief Evaluates the initial values for a control volume
-     *
-     * \param values Stores the initial values for the conservation equations in
-     *               \f$ [ \textnormal{unit of primary variables} ] \f$
-     * \param globalPos The global position
-     */
-    PrimaryVariables initialAtPos(const GlobalPosition &globalPos) const
-    {
-        PrimaryVariables values;
-
-        // hydrostatic pressure
-        Scalar densityW = 1000;
-        values[pwIdx] = 1e5 + densityW*(this->gravity()*globalPos);
-        values[snIdx] = 0.0;
-
-        return values;
-    }
-    // \}
-
-
-    /*!
-     * \brief Adds additional VTK output data to the VTKWriter. Function is called by the output module on every write.
-     */
-    template<class VtkOutputModule>
-    void addVtkOutputFields(VtkOutputModule& outputModule) const
-    {
-        auto& permX = outputModule.createScalarField("PERMX [mD]", 0);
-        auto& permZ = outputModule.createScalarField("PERMZ [mD]", 0);
-
-        for (const auto& element : elements(this->gridView()))
-        {
-            int eIdx = this->elementMapper().index(element);
-            auto fvGeometry = localView(this->model().fvGridGeometry());
-            fvGeometry.bindElement(element);
-
-            for (auto&& scv : scvs(fvGeometry))
-            {
-                auto K = this->spatialParams().permeability(element, scv,
-                        this->model().elementSolution(element, this->model().curSol()));
-
-                // transfer output to mD = 9.86923e-16 m^2
-                permX[eIdx] = K[0][0]/9.86923e-16;
-                permZ[eIdx] = K[dimWorld-1][dimWorld-1]/9.86923e-16;
-            }
-        }
-    }
-
-
-private:
-    Scalar temperature_;
-    static constexpr Scalar eps_ = 3e-6;
-    std::string name_;
-    GlobalPosition gravity_;
-    int injectionElement_;
-    Scalar injectionRate_;
-};
-} //end namespace
-
-#endif // HAVE_OPM_GRID
-
-#endif
diff --git a/test/porousmediumflow/2p/implicit/cc2pcornerpointspatialparams.hh b/test/porousmediumflow/2p/implicit/cc2pcornerpointspatialparams.hh
deleted file mode 100644
index 59bffe59ccf06fd1521768f780759cc7689ed56a..0000000000000000000000000000000000000000
--- a/test/porousmediumflow/2p/implicit/cc2pcornerpointspatialparams.hh
+++ /dev/null
@@ -1,202 +0,0 @@
-// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-// vi: set et ts=4 sw=4 sts=4:
-/*****************************************************************************
- *   See the file COPYING for full copying permissions.                      *
- *                                                                           *
- *   This program is free software: you can redistribute it and/or modify    *
- *   it under the terms of the GNU General Public License as published by    *
- *   the Free Software Foundation, either version 2 of the License, or       *
- *   (at your option) any later version.                                     *
- *                                                                           *
- *   This program is distributed in the hope that it will be useful,         *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
- *   GNU General Public License for more details.                            *
- *                                                                           *
- *   You should have received a copy of the GNU General Public License       *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
- *****************************************************************************/
-#ifndef DUMUX_CC2P_CORNERPOINT_SPATIAL_PARAMS_HH
-#define DUMUX_CC2P_CORNERPOINT_SPATIAL_PARAMS_HH
-
-#include <dumux/material/spatialparams/implicit.hh>
-#include <dumux/material/fluidmatrixinteractions/2p/regularizedvangenuchten.hh>
-#include <dumux/material/fluidmatrixinteractions/2p/linearmaterial.hh>
-#include <dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh>
-#include <dumux/porousmediumflow/2p/implicit/model.hh>
-
-namespace Dumux
-{
-
-//forward declaration
-template<class TypeTag>
-class CC2PCornerPointSpatialParams;
-
-namespace Properties
-{
-// The spatial parameters TypeTag
-NEW_TYPE_TAG(CC2PCornerPointSpatialParams);
-
-// Set the spatial parameters
-SET_TYPE_PROP(CC2PCornerPointSpatialParams, SpatialParams, CC2PCornerPointSpatialParams<TypeTag>);
-
-// Set the material Law
-SET_PROP(CC2PCornerPointSpatialParams, MaterialLaw)
-{
-private:
-    // define the material law which is parameterized by effective
-    // saturations
-    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-    using EffectiveLaw = RegularizedVanGenuchten<Scalar>;
-public:
-    // define the material law parameterized by absolute saturations
-    using type = EffToAbsLaw<EffectiveLaw>;
-};
-}
-
-template<class TypeTag>
-class CC2PCornerPointSpatialParams : public ImplicitSpatialParams<TypeTag>
-{
-    using ParentType = ImplicitSpatialParams<TypeTag>;
-    using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
-    using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
-    using ElementSolutionVector = typename GET_PROP_TYPE(TypeTag, ElementSolutionVector);
-    using GridCreator = typename GET_PROP_TYPE(TypeTag, GridCreator);
-    using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
-
-    enum {
-        dim = GridView::dimension,
-        dimWorld = GridView::dimensionworld
-    };
-
-    using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>;
-    using Tensor = Dune::FieldMatrix<Scalar, dimWorld, dimWorld>;
-
-    using Element = typename GridView::template Codim<0>::Entity;
-    using SubControlVolume = typename GET_PROP_TYPE(TypeTag, SubControlVolume);
-    typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry;
-
-public:
-    // export permeability type
-    using PermeabilityType = Tensor;
-
-    //get the material law from the property system
-    using MaterialLaw = typename GET_PROP_TYPE(TypeTag, MaterialLaw);
-    using MaterialLawParams = typename MaterialLaw::Params;
-    /*!
-     * \brief The constructor
-     *
-     * \param gridView The grid view
-     */
-    CC2PCornerPointSpatialParams(const Problem& problem, const GridView& gridView)
-    : ParentType(problem, gridView)
-    {
-        homogeneous_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, bool, Problem, Homogeneous);
-
-        const std::vector<int>& globalCell = GridCreator::grid().globalCell();
-
-        if (GridCreator::deck().hasKeyword("PORO")) {
-            std::cout << "Found PORO..." << std::endl;
-            std::vector<double> eclVector = GridCreator::deck().getKeyword("PORO").getRawDoubleData();
-            porosity_.resize(globalCell.size());
-
-            for (size_t i = 0; i < globalCell.size(); ++i) {
-                if (homogeneous_)
-                    porosity_[i] = 0.2;
-                else
-                    porosity_[i] = eclVector[globalCell[i]];
-            }
-        }
-
-        if (GridCreator::deck().hasKeyword("PERMX")) {
-            std::cout << "Found PERMX..." << std::endl;
-            std::vector<double> eclVector = GridCreator::deck().getKeyword("PERMX").getRawDoubleData();
-            permX_.resize(globalCell.size());
-
-            for (size_t i = 0; i < globalCell.size(); ++i) {
-                // assume that values are given in mD = 9.86923e-16 m^2
-                if (homogeneous_)
-                    permX_[i] = 9.86923e-16;
-                else
-                    permX_[i] = 9.86923e-16*eclVector[globalCell[i]];
-            }
-        }
-
-        if (GridCreator::deck().hasKeyword("PERMZ")) {
-            std::cout << "Found PERMZ..." << std::endl;
-            std::vector<double> eclVector = GridCreator::deck().getKeyword("PERMZ").getRawDoubleData();
-            permZ_.resize(globalCell.size());
-
-            for (size_t i = 0; i < globalCell.size(); ++i) {
-                // assume that values are given in mD = 9.86923e-16 m^2
-                if (homogeneous_)
-                    permZ_[i] = 9.86923e-16;
-                else
-                    permZ_[i] = 9.86923e-16*eclVector[globalCell[i]];
-            }
-        }
-        else {
-            std::cout << "PERMZ not found, set equal to PERMX..." << std::endl;
-            permZ_ = permX_;
-        }
-
-        // parameters for the Van Genuchten law
-        materialParams_.setVgAlpha(0.00045);
-        materialParams_.setVgn(7.3);
-    }
-
-    PermeabilityType permeability(const Element& element,
-                                      const SubControlVolume& scv,
-                                      const ElementSolutionVector& elemSol) const
-    {
-        int eIdx = GridCreator::grid().leafGridView().indexSet().index(element);
-
-        Tensor K(0);
-        K[0][0] = K[1][1] = permX_[eIdx];
-        K[2][2] = permZ_[eIdx];
-
-        return K;
-    }
-
-    /*!
-     * \brief Returns the porosity \f$[-]\f$
-     *
-     * \param element The finite element
-     * \param fvGeometry The finite volume geometry of the element
-     * \param scvIdx The local index of the sub-control volume
-     */
-    Scalar porosity(const Element& element,
-                        const SubControlVolume& scv,
-                        const ElementSolutionVector& elemSol) const
-    {
-        int eIdx = GridCreator::grid().leafGridView().indexSet().index(element);
-
-        return porosity_[eIdx];
-    }
-
-    /*!
-     * \brief Function for defining the parameters needed by constitutive relationships (kr-sw, pc-sw, etc.).
-     *
-     * \param element The current element
-     * \param scv The sub-control volume inside the element.
-     * \param elemSol The solution at the dofs connected to the element.
-     * \return the material parameters object
-     */
-    const MaterialLawParams& materialLawParams(const Element& element,
-                                                const SubControlVolume& scv,
-                                                const ElementSolutionVector& elemSol) const
-    {
-        return materialParams_;
-    }
-
-private:
-    MaterialLawParams materialParams_;
-    std::vector<Scalar> porosity_;
-    std::vector<Scalar> permX_;
-    std::vector<Scalar> permZ_;
-    bool homogeneous_;
-};
-
-} // end namespace
-#endif
-
diff --git a/test/porousmediumflow/2p/implicit/grids/hardsmall.grdecl b/test/porousmediumflow/2p/implicit/grids/hardsmall.grdecl
deleted file mode 100644
index 5ac8ca6029c0449f3b5330dea05feba185ba0f28..0000000000000000000000000000000000000000
--- a/test/porousmediumflow/2p/implicit/grids/hardsmall.grdecl
+++ /dev/null
@@ -1,38 +0,0 @@
-MAPUNITS
-'METRES'
-/
-
-SPECGRID
-2  1  2  1  F
-/
-
-COORD
-0 0 0   0 0 2
-1 0 0   1 0 2
-2 0 0   2 0 2
-0 1 0   0 1 2
-1 1 0   1 1 2
-2 1 0   2 1 2
-/
-
-ZCORN
-0 0 0 0 0 0 0 0
-1 1 0.8 1.2 1 1 1.2 1.2
-1 1 0.8 1.2 1 1 1.2 1.2
-2 2 2.2 2 2 2 1.9 2
-/
-
-ACTNUM
-1 1
-1 1
-/
-
-PORO
-0.1 0.1
-0.3 0.3
-/
-
-PERMX
-100 100
-500 500
-/
diff --git a/test/porousmediumflow/2p/implicit/grids/rectangle-domain.geo b/test/porousmediumflow/2p/implicit/grids/rectangle-domain.geo
deleted file mode 100644
index 08298879b6390ed593b4c83a6af832b9ec6d0d7b..0000000000000000000000000000000000000000
--- a/test/porousmediumflow/2p/implicit/grids/rectangle-domain.geo
+++ /dev/null
@@ -1,18 +0,0 @@
-// Rectangular structured cube grid
-// compile with gmsh -2 rectangle-domain.geo
-
-Point(1) = {0, 0, 0, 1.0};
-Point(2) = {6, 0, 0, 1.0};
-Point(3) = {6, 4, 0, 1.0};
-Point(4) = {0, 4, 0, 1.0};
-Line(1) = {4, 3};
-Line(2) = {3, 2};
-Line(3) = {2, 1};
-Line(4) = {1, 4};
-Line Loop(6) = {1, 2, 3, 4};
-Plane Surface(7) = {6};
-
-Transfinite Line{1, 3} = 49; // 48 cells
-Transfinite Line{2, 4} = 33; // 33 cells
-Transfinite Surface{7}; // structured surface
-Recombine Surface{7}; // make quarilateral
diff --git a/test/porousmediumflow/2p/implicit/grids/rectangle-domain.msh b/test/porousmediumflow/2p/implicit/grids/rectangle-domain.msh
deleted file mode 100644
index dbc6063059e7ff4e89a21019fd577f30f0be0b23..0000000000000000000000000000000000000000
--- a/test/porousmediumflow/2p/implicit/grids/rectangle-domain.msh
+++ /dev/null
@@ -1,3326 +0,0 @@
-$MeshFormat
-2.2 0 8
-$EndMeshFormat
-$Nodes
-1617
-1 0 0 0
-2 6 0 0
-3 6 4 0
-4 0 4 0
-5 0.1249999999994456 4 0
-6 0.2499999999988841 4 0
-7 0.3749999999983335 4 0
-8 0.4999999999978768 4 0
-9 0.6249999999974307 4 0
-10 0.7499999999969633 4 0
-11 0.8749999999963076 4 0
-12 0.999999999995645 4 0
-13 1.124999999995171 4 0
-14 1.249999999994725 4 0
-15 1.374999999994279 4 0
-16 1.499999999993833 4 0
-17 1.624999999993388 4 0
-18 1.749999999992942 4 0
-19 1.874999999992496 4 0
-20 1.99999999999205 4 0
-21 2.124999999991605 4 0
-22 2.249999999991159 4 0
-23 2.374999999990713 4 0
-24 2.499999999990267 4 0
-25 2.624999999989822 4 0
-26 2.749999999989376 4 0
-27 2.874999999988931 4 0
-28 2.999999999988572 4 0
-29 3.124999999988965 4 0
-30 3.249999999989445 4 0
-31 3.374999999989924 4 0
-32 3.499999999990404 4 0
-33 3.624999999990884 4 0
-34 3.749999999991363 4 0
-35 3.874999999991843 4 0
-36 3.999999999992323 4 0
-37 4.124999999992803 4 0
-38 4.249999999993283 4 0
-39 4.374999999993763 4 0
-40 4.499999999994243 4 0
-41 4.624999999994722 4 0
-42 4.749999999995202 4 0
-43 4.874999999995682 4 0
-44 4.999999999996161 4 0
-45 5.124999999996641 4 0
-46 5.249999999997121 4 0
-47 5.374999999997601 4 0
-48 5.499999999998081 4 0
-49 5.62499999999856 4 0
-50 5.749999999999041 4 0
-51 5.87499999999952 4 0
-52 6 3.87499999999948 0
-53 6 3.749999999998959 0
-54 6 3.624999999998439 0
-55 6 3.499999999998005 0
-56 6 3.374999999998785 0
-57 6 3.249999999999653 0
-58 6 3.12500000000052 0
-59 6 3.000000000001388 0
-60 6 2.875000000002255 0
-61 6 2.750000000003122 0
-62 6 2.625000000003989 0
-63 6 2.500000000004856 0
-64 6 2.375000000005723 0
-65 6 2.25000000000659 0
-66 6 2.125000000007457 0
-67 6 2.000000000008238 0
-68 6 1.875000000007804 0
-69 6 1.750000000007284 0
-70 6 1.625000000006763 0
-71 6 1.500000000006243 0
-72 6 1.375000000005723 0
-73 6 1.250000000005203 0
-74 6 1.125000000004682 0
-75 6 1.000000000004162 0
-76 6 0.875000000003642 0
-77 6 0.7500000000031215 0
-78 6 0.6250000000026015 0
-79 6 0.500000000002081 0
-80 6 0.375000000001561 0
-81 6 0.2500000000010405 0
-82 6 0.1250000000005205 0
-83 5.8750000000015 0 0
-84 5.750000000002999 0 0
-85 5.625000000004325 0 0
-86 5.500000000004149 0 0
-87 5.375000000003798 0 0
-88 5.250000000003621 0 0
-89 5.125000000004947 0 0
-90 5.000000000006331 0 0
-91 4.875000000006212 0 0
-92 4.750000000005862 0 0
-93 4.625000000005511 0 0
-94 4.50000000000516 0 0
-95 4.37500000000481 0 0
-96 4.25000000000446 0 0
-97 4.12500000000411 0 0
-98 4.000000000003875 0 0
-99 3.875000000004391 0 0
-100 3.750000000004965 0 0
-101 3.62500000000554 0 0
-102 3.500000000006114 0 0
-103 3.375000000006688 0 0
-104 3.250000000007262 0 0
-105 3.125000000007836 0 0
-106 3.000000000008324 0 0
-107 2.875000000008061 0 0
-108 2.750000000007709 0 0
-109 2.625000000007359 0 0
-110 2.50000000000701 0 0
-111 2.375000000006658 0 0
-112 2.250000000006308 0 0
-113 2.125000000005958 0 0
-114 2.000000000005607 0 0
-115 1.875000000005257 0 0
-116 1.750000000004906 0 0
-117 1.625000000004556 0 0
-118 1.500000000004206 0 0
-119 1.375000000003856 0 0
-120 1.250000000003505 0 0
-121 1.125000000003154 0 0
-122 1.000000000002804 0 0
-123 0.8750000000024531 0 0
-124 0.7500000000021032 0 0
-125 0.6250000000017533 0 0
-126 0.5000000000014024 0 0
-127 0.3750000000010516 0 0
-128 0.2500000000007017 0 0
-129 0.1250000000003508 0 0
-130 0 0.1249999999997618 0
-131 0 0.2499999999994917 0
-132 0 0.3749999999992948 0
-133 0 0.4999999999990926 0
-134 0 0.6249999999987385 0
-135 0 0.7499999999983736 0
-136 0 0.8749999999980087 0
-137 0 0.9999999999976438 0
-138 0 1.124999999997279 0
-139 0 1.249999999996914 0
-140 0 1.374999999996549 0
-141 0 1.499999999996184 0
-142 0 1.62499999999582 0
-143 0 1.749999999995455 0
-144 0 1.87499999999509 0
-145 0 1.999999999994768 0
-146 0 2.124999999995055 0
-147 0 2.249999999995384 0
-148 0 2.374999999995714 0
-149 0 2.499999999996044 0
-150 0 2.624999999996374 0
-151 0 2.749999999996703 0
-152 0 2.874999999997033 0
-153 0 2.999999999997363 0
-154 0 3.124999999997692 0
-155 0 3.249999999998022 0
-156 0 3.374999999998352 0
-157 0 3.499999999998681 0
-158 0 3.624999999999011 0
-159 0 3.749999999999341 0
-160 0 3.87499999999967 0
-161 0.1249999999994739 3.874999999999666 0
-162 0.1249999999995022 3.749999999999333 0
-163 0.1249999999995305 3.624999999998999 0
-164 0.1249999999995588 3.499999999998667 0
-165 0.1249999999995871 3.37499999999836 0
-166 0.1249999999996153 3.249999999998056 0
-167 0.1249999999996436 3.124999999997751 0
-168 0.1249999999996719 2.999999999997446 0
-169 0.1249999999997002 2.874999999997141 0
-170 0.1249999999997285 2.749999999996837 0
-171 0.1249999999997568 2.624999999996533 0
-172 0.124999999999785 2.499999999996227 0
-173 0.1249999999998134 2.374999999995923 0
-174 0.1249999999998417 2.249999999995618 0
-175 0.12499999999987 2.124999999995313 0
-176 0.1249999999998982 1.999999999995049 0
-177 0.1249999999999265 1.874999999995354 0
-178 0.1249999999999548 1.749999999995701 0
-179 0.1249999999999831 1.624999999996048 0
-180 0.1250000000000114 1.499999999996394 0
-181 0.1250000000000397 1.37499999999674 0
-182 0.125000000000068 1.249999999997087 0
-183 0.1250000000000963 1.124999999997433 0
-184 0.1250000000001245 0.9999999999977796 0
-185 0.1250000000001528 0.8749999999981261 0
-186 0.1250000000001811 0.7499999999984727 0
-187 0.1250000000002094 0.6249999999988188 0
-188 0.1250000000002377 0.4999999999991549 0
-189 0.125000000000266 0.374999999999342 0
-190 0.1250000000002943 0.2499999999995239 0
-191 0.1250000000003225 0.1249999999997776 0
-192 0.2499999999989408 3.874999999999662 0
-193 0.2499999999989977 3.749999999999325 0
-194 0.2499999999990545 3.624999999998987 0
-195 0.2499999999991113 3.499999999998653 0
-196 0.2499999999991681 3.374999999998369 0
-197 0.2499999999992249 3.24999999999809 0
-198 0.2499999999992817 3.12499999999781 0
-199 0.2499999999993385 2.99999999999753 0
-200 0.2499999999993952 2.87499999999725 0
-201 0.2499999999994521 2.74999999999697 0
-202 0.2499999999995089 2.624999999996691 0
-203 0.2499999999995657 2.49999999999641 0
-204 0.2499999999996224 2.374999999996131 0
-205 0.2499999999996792 2.24999999999585 0
-206 0.2499999999997361 2.124999999995572 0
-207 0.2499999999997929 1.99999999999533 0
-208 0.2499999999998497 1.87499999999562 0
-209 0.2499999999999064 1.749999999995947 0
-210 0.2499999999999633 1.624999999996275 0
-211 0.2500000000000201 1.499999999996603 0
-212 0.2500000000000769 1.374999999996932 0
-213 0.2500000000001337 1.24999999999726 0
-214 0.2500000000001904 1.124999999997587 0
-215 0.2500000000002472 0.9999999999979154 0
-216 0.2500000000003041 0.8749999999982436 0
-217 0.2500000000003608 0.7499999999985714 0
-218 0.2500000000004177 0.6249999999988995 0
-219 0.2500000000004745 0.4999999999992171 0
-220 0.2500000000005312 0.3749999999993893 0
-221 0.2500000000005881 0.2499999999995562 0
-222 0.2500000000006448 0.1249999999997934 0
-223 0.3749999999984184 3.874999999999659 0
-224 0.3749999999985033 3.749999999999316 0
-225 0.3749999999985882 3.624999999998975 0
-226 0.3749999999986732 3.499999999998639 0
-227 0.3749999999987583 3.374999999998379 0
-228 0.3749999999988431 3.249999999998123 0
-229 0.374999999998928 3.124999999997868 0
-230 0.3749999999990131 2.999999999997614 0
-231 0.374999999999098 2.874999999997359 0
-232 0.3749999999991829 2.749999999997104 0
-233 0.3749999999992679 2.624999999996849 0
-234 0.3749999999993527 2.499999999996595 0
-235 0.3749999999994377 2.37499999999634 0
-236 0.3749999999995227 2.249999999996085 0
-237 0.3749999999996076 2.124999999995829 0
-238 0.3749999999996925 1.999999999995611 0
-239 0.3749999999997775 1.874999999995885 0
-240 0.3749999999998624 1.749999999996194 0
-241 0.3749999999999475 1.624999999996504 0
-242 0.3750000000000323 1.499999999996813 0
-243 0.3750000000001171 1.374999999997123 0
-244 0.3750000000002021 1.249999999997432 0
-245 0.3750000000002872 1.124999999997741 0
-246 0.3750000000003721 0.9999999999980513 0
-247 0.3750000000004571 0.8749999999983609 0
-248 0.375000000000542 0.7499999999986704 0
-249 0.3750000000006269 0.6249999999989799 0
-250 0.3750000000007118 0.4999999999992792 0
-251 0.3750000000007967 0.3749999999994365 0
-252 0.3750000000008818 0.2499999999995886 0
-253 0.3750000000009666 0.1249999999998093 0
-254 0.4999999999979869 3.874999999999655 0
-255 0.4999999999980971 3.749999999999309 0
-256 0.4999999999982072 3.624999999998963 0
-257 0.4999999999983175 3.499999999998625 0
-258 0.4999999999984276 3.374999999998388 0
-259 0.4999999999985378 3.249999999998158 0
-260 0.4999999999986479 3.124999999997928 0
-261 0.4999999999987582 2.999999999997699 0
-262 0.4999999999988685 2.874999999997468 0
-263 0.4999999999989784 2.749999999997239 0
-264 0.4999999999990887 2.624999999997008 0
-265 0.499999999999199 2.499999999996778 0
-266 0.4999999999993091 2.374999999996549 0
-267 0.4999999999994192 2.249999999996318 0
-268 0.4999999999995294 2.124999999996088 0
-269 0.4999999999996396 1.99999999999589 0
-270 0.4999999999997498 1.874999999996149 0
-271 0.4999999999998599 1.74999999999644 0
-272 0.49999999999997 1.624999999996732 0
-273 0.5000000000000802 1.499999999997023 0
-274 0.5000000000001905 1.374999999997314 0
-275 0.5000000000003006 1.249999999997605 0
-276 0.5000000000004108 1.124999999997896 0
-277 0.5000000000005209 0.9999999999981872 0
-278 0.5000000000006311 0.8749999999984781 0
-279 0.5000000000007414 0.7499999999987692 0
-280 0.5000000000008514 0.6249999999990603 0
-281 0.5000000000009617 0.4999999999993416 0
-282 0.5000000000010718 0.3749999999994837 0
-283 0.5000000000011822 0.2499999999996207 0
-284 0.5000000000012923 0.124999999999825 0
-285 0.6249999999975659 3.87499999999965 0
-286 0.6249999999977007 3.749999999999301 0
-287 0.624999999997836 3.624999999998952 0
-288 0.6249999999979711 3.499999999998611 0
-289 0.6249999999981062 3.374999999998397 0
-290 0.6249999999982411 3.249999999998193 0
-291 0.6249999999983764 3.124999999997986 0
-292 0.6249999999985114 2.999999999997782 0
-293 0.6249999999986463 2.874999999997576 0
-294 0.6249999999987816 2.749999999997372 0
-295 0.6249999999989166 2.624999999997167 0
-296 0.6249999999990516 2.499999999996962 0
-297 0.6249999999991867 2.374999999996756 0
-298 0.6249999999993219 2.249999999996551 0
-299 0.6249999999994569 2.124999999996347 0
-300 0.6249999999995919 1.999999999996171 0
-301 0.6249999999997271 1.874999999996414 0
-302 0.6249999999998621 1.749999999996687 0
-303 0.6249999999999973 1.62499999999696 0
-304 0.6250000000001321 1.499999999997232 0
-305 0.6250000000002673 1.374999999997505 0
-306 0.6250000000004022 1.249999999997778 0
-307 0.6250000000005376 1.12499999999805 0
-308 0.6250000000006726 0.9999999999983227 0
-309 0.6250000000008076 0.8749999999985956 0
-310 0.6250000000009428 0.7499999999988682 0
-311 0.6250000000010778 0.6249999999991408 0
-312 0.625000000001213 0.4999999999994038 0
-313 0.625000000001348 0.3749999999995309 0
-314 0.625000000001483 0.2499999999996531 0
-315 0.625000000001618 0.1249999999998408 0
-316 0.7499999999971241 3.874999999999647 0
-317 0.7499999999972846 3.749999999999293 0
-318 0.749999999997445 3.62499999999894 0
-319 0.7499999999976056 3.499999999998597 0
-320 0.7499999999977667 3.374999999998406 0
-321 0.749999999997927 3.249999999998226 0
-322 0.7499999999980876 3.124999999998046 0
-323 0.7499999999982483 2.999999999997865 0
-324 0.7499999999984087 2.874999999997685 0
-325 0.7499999999985696 2.749999999997505 0
-326 0.7499999999987301 2.624999999997325 0
-327 0.7499999999988907 2.499999999997145 0
-328 0.7499999999990514 2.374999999996965 0
-329 0.749999999999212 2.249999999996785 0
-330 0.7499999999993727 2.124999999996605 0
-331 0.7499999999995333 1.999999999996452 0
-332 0.7499999999996938 1.874999999996679 0
-333 0.7499999999998546 1.749999999996933 0
-334 0.750000000000015 1.624999999997188 0
-335 0.7500000000001759 1.499999999997441 0
-336 0.7500000000003364 1.374999999997696 0
-337 0.7500000000004969 1.24999999999795 0
-338 0.7500000000006577 1.124999999998204 0
-339 0.7500000000008182 0.9999999999984586 0
-340 0.7500000000009788 0.8749999999987129 0
-341 0.7500000000011395 0.749999999998967 0
-342 0.7500000000013001 0.6249999999992215 0
-343 0.7500000000014606 0.4999999999994662 0
-344 0.7500000000016214 0.3749999999995781 0
-345 0.7500000000017821 0.2499999999996854 0
-346 0.7500000000019424 0.1249999999998567 0
-347 0.8749999999964997 3.874999999999643 0
-348 0.8749999999966918 3.749999999999285 0
-349 0.8749999999968836 3.624999999998927 0
-350 0.8749999999970759 3.499999999998583 0
-351 0.874999999997268 3.374999999998415 0
-352 0.87499999999746 3.24999999999826 0
-353 0.8749999999976519 3.124999999998105 0
-354 0.8749999999978439 2.999999999997949 0
-355 0.8749999999980359 2.874999999997795 0
-356 0.8749999999982281 2.749999999997639 0
-357 0.8749999999984202 2.624999999997484 0
-358 0.8749999999986122 2.499999999997329 0
-359 0.8749999999988043 2.374999999997174 0
-360 0.8749999999989964 2.249999999997018 0
-361 0.8749999999991882 2.124999999996863 0
-362 0.8749999999993802 1.999999999996732 0
-363 0.8749999999995723 1.874999999996944 0
-364 0.8749999999997643 1.74999999999718 0
-365 0.8749999999999563 1.624999999997415 0
-366 0.8750000000001484 1.499999999997651 0
-367 0.8750000000003405 1.374999999997887 0
-368 0.8750000000005327 1.249999999998123 0
-369 0.8750000000007245 1.124999999998359 0
-370 0.8750000000009167 0.9999999999985945 0
-371 0.8750000000011086 0.8749999999988303 0
-372 0.875000000001301 0.7499999999990661 0
-373 0.875000000001493 0.6249999999993019 0
-374 0.875000000001685 0.4999999999995284 0
-375 0.8750000000018769 0.3749999999996254 0
-376 0.8750000000020692 0.2499999999997176 0
-377 0.8750000000022611 0.1249999999998724 0
-378 0.9999999999958689 3.874999999999639 0
-379 0.9999999999960925 3.749999999999277 0
-380 0.9999999999963161 3.624999999998916 0
-381 0.9999999999965398 3.499999999998569 0
-382 0.9999999999967637 3.374999999998424 0
-383 0.9999999999969872 3.249999999998294 0
-384 0.9999999999972109 3.124999999998163 0
-385 0.9999999999974347 2.999999999998034 0
-386 0.9999999999976585 2.874999999997903 0
-387 0.9999999999978821 2.749999999997773 0
-388 0.999999999998106 2.624999999997643 0
-389 0.9999999999983296 2.499999999997512 0
-390 0.9999999999985534 2.374999999997383 0
-391 0.999999999998777 2.249999999997252 0
-392 0.9999999999990008 2.124999999997121 0
-393 0.9999999999992246 1.999999999997013 0
-394 0.9999999999994482 1.874999999997209 0
-395 0.9999999999996718 1.749999999997426 0
-396 0.9999999999998955 1.624999999997644 0
-397 1.000000000000119 1.499999999997861 0
-398 1.000000000000343 1.374999999998078 0
-399 1.000000000000567 1.249999999998296 0
-400 1.00000000000079 1.124999999998513 0
-401 1.000000000001014 0.9999999999987299 0
-402 1.000000000001238 0.8749999999989475 0
-403 1.000000000001462 0.7499999999991649 0
-404 1.000000000001686 0.6249999999993823 0
-405 1.000000000001909 0.4999999999995905 0
-406 1.000000000002133 0.3749999999996725 0
-407 1.000000000002357 0.2499999999997499 0
-408 1.00000000000258 0.1249999999998883 0
-409 1.12499999999542 3.874999999999635 0
-410 1.124999999995669 3.749999999999269 0
-411 1.124999999995919 3.624999999998904 0
-412 1.124999999996168 3.499999999998554 0
-413 1.124999999996418 3.374999999998433 0
-414 1.124999999996668 3.249999999998328 0
-415 1.124999999996917 3.124999999998222 0
-416 1.124999999997166 2.999999999998117 0
-417 1.124999999997416 2.874999999998011 0
-418 1.124999999997665 2.749999999997907 0
-419 1.124999999997915 2.624999999997801 0
-420 1.124999999998164 2.499999999997697 0
-421 1.124999999998414 2.374999999997591 0
-422 1.124999999998663 2.249999999997485 0
-423 1.124999999998913 2.12499999999738 0
-424 1.124999999999162 1.999999999997294 0
-425 1.124999999999412 1.874999999997474 0
-426 1.124999999999661 1.749999999997673 0
-427 1.124999999999911 1.624999999997871 0
-428 1.12500000000016 1.49999999999807 0
-429 1.125000000000409 1.374999999998269 0
-430 1.125000000000659 1.249999999998468 0
-431 1.125000000000909 1.124999999998667 0
-432 1.125000000001158 0.9999999999988658 0
-433 1.125000000001407 0.874999999999065 0
-434 1.125000000001657 0.7499999999992637 0
-435 1.125000000001906 0.6249999999994627 0
-436 1.125000000002156 0.4999999999996529 0
-437 1.125000000002406 0.3749999999997198 0
-438 1.125000000002655 0.2499999999997822 0
-439 1.125000000002905 0.1249999999999041 0
-440 1.249999999994999 3.874999999999631 0
-441 1.249999999995274 3.749999999999261 0
-442 1.249999999995548 3.624999999998892 0
-443 1.249999999995823 3.49999999999854 0
-444 1.249999999996097 3.374999999998442 0
-445 1.249999999996371 3.249999999998361 0
-446 1.249999999996645 3.124999999998281 0
-447 1.249999999996919 2.999999999998201 0
-448 1.249999999997194 2.874999999998121 0
-449 1.249999999997468 2.74999999999804 0
-450 1.249999999997743 2.62499999999796 0
-451 1.249999999998017 2.499999999997879 0
-452 1.249999999998292 2.374999999997799 0
-453 1.249999999998566 2.249999999997719 0
-454 1.24999999999884 2.124999999997638 0
-455 1.249999999999114 1.999999999997574 0
-456 1.249999999999389 1.874999999997738 0
-457 1.249999999999663 1.749999999997919 0
-458 1.249999999999938 1.624999999998099 0
-459 1.250000000000212 1.49999999999828 0
-460 1.250000000000487 1.37499999999846 0
-461 1.250000000000761 1.249999999998641 0
-462 1.250000000001035 1.124999999998821 0
-463 1.25000000000131 0.9999999999990017 0
-464 1.250000000001584 0.8749999999991824 0
-465 1.250000000001859 0.7499999999993627 0
-466 1.250000000002133 0.6249999999995433 0
-467 1.250000000002408 0.4999999999997151 0
-468 1.250000000002682 0.374999999999767 0
-469 1.250000000002956 0.2499999999998144 0
-470 1.25000000000323 0.1249999999999198 0
-471 1.374999999994578 3.874999999999627 0
-472 1.374999999994877 3.749999999999253 0
-473 1.374999999995177 3.62499999999888 0
-474 1.374999999995476 3.499999999998526 0
-475 1.374999999995776 3.374999999998451 0
-476 1.374999999996075 3.249999999998395 0
-477 1.374999999996374 3.12499999999834 0
-478 1.374999999996673 2.999999999998285 0
-479 1.374999999996972 2.87499999999823 0
-480 1.374999999997272 2.749999999998174 0
-481 1.374999999997571 2.62499999999812 0
-482 1.37499999999787 2.499999999998062 0
-483 1.37499999999817 2.374999999998008 0
-484 1.374999999998468 2.249999999997952 0
-485 1.374999999998768 2.124999999997897 0
-486 1.374999999999068 1.999999999997855 0
-487 1.374999999999367 1.874999999998003 0
-488 1.374999999999666 1.749999999998165 0
-489 1.374999999999964 1.624999999998328 0
-490 1.375000000000264 1.49999999999849 0
-491 1.375000000000564 1.374999999998651 0
-492 1.375000000000863 1.249999999998813 0
-493 1.375000000001162 1.124999999998975 0
-494 1.375000000001461 0.9999999999991376 0
-495 1.375000000001761 0.8749999999992997 0
-496 1.37500000000206 0.7499999999994618 0
-497 1.375000000002359 0.6249999999996239 0
-498 1.375000000002659 0.4999999999997775 0
-499 1.375000000002958 0.3749999999998141 0
-500 1.375000000003257 0.2499999999998467 0
-501 1.375000000003556 0.1249999999999357 0
-502 1.499999999994157 3.874999999999623 0
-503 1.499999999994482 3.749999999999245 0
-504 1.499999999994806 3.624999999998868 0
-505 1.49999999999513 3.499999999998512 0
-506 1.499999999995454 3.37499999999846 0
-507 1.499999999995778 3.24999999999843 0
-508 1.499999999996102 3.1249999999984 0
-509 1.499999999996426 2.999999999998368 0
-510 1.499999999996751 2.874999999998338 0
-511 1.499999999997075 2.749999999998308 0
-512 1.499999999997399 2.624999999998277 0
-513 1.499999999997723 2.499999999998247 0
-514 1.499999999998047 2.374999999998217 0
-515 1.499999999998371 2.249999999998185 0
-516 1.499999999998695 2.124999999998155 0
-517 1.499999999999019 1.999999999998136 0
-518 1.499999999999344 1.874999999998268 0
-519 1.499999999999668 1.749999999998412 0
-520 1.499999999999992 1.624999999998555 0
-521 1.500000000000316 1.499999999998699 0
-522 1.50000000000064 1.374999999998842 0
-523 1.500000000000964 1.249999999998986 0
-524 1.500000000001288 1.12499999999913 0
-525 1.500000000001612 0.9999999999992735 0
-526 1.500000000001937 0.8749999999994169 0
-527 1.50000000000226 0.7499999999995606 0
-528 1.500000000002585 0.6249999999997042 0
-529 1.500000000002909 0.4999999999998397 0
-530 1.500000000003233 0.3749999999998613 0
-531 1.500000000003557 0.2499999999998789 0
-532 1.500000000003881 0.1249999999999515 0
-533 1.624999999993737 3.874999999999619 0
-534 1.624999999994086 3.749999999999237 0
-535 1.624999999994434 3.624999999998856 0
-536 1.624999999994784 3.499999999998498 0
-537 1.624999999995133 3.374999999998469 0
-538 1.624999999995482 3.249999999998463 0
-539 1.624999999995831 3.124999999998458 0
-540 1.62499999999618 2.999999999998453 0
-541 1.624999999996529 2.874999999998447 0
-542 1.624999999996878 2.749999999998441 0
-543 1.624999999997227 2.624999999998435 0
-544 1.624999999997576 2.49999999999843 0
-545 1.624999999997925 2.374999999998424 0
-546 1.624999999998274 2.249999999998419 0
-547 1.624999999998623 2.124999999998414 0
-548 1.624999999998972 1.999999999998416 0
-549 1.624999999999321 1.874999999998533 0
-550 1.62499999999967 1.749999999998658 0
-551 1.625000000000019 1.624999999998784 0
-552 1.625000000000368 1.499999999998909 0
-553 1.625000000000717 1.374999999999034 0
-554 1.625000000001066 1.249999999999159 0
-555 1.625000000001415 1.124999999999284 0
-556 1.625000000001764 0.9999999999994094 0
-557 1.625000000002113 0.8749999999995344 0
-558 1.625000000002462 0.7499999999996594 0
-559 1.625000000002811 0.6249999999997846 0
-560 1.62500000000316 0.4999999999999019 0
-561 1.625000000003509 0.3749999999999085 0
-562 1.625000000003858 0.2499999999999112 0
-563 1.625000000004207 0.1249999999999672 0
-564 1.749999999993316 3.874999999999615 0
-565 1.749999999993689 3.749999999999229 0
-566 1.749999999994063 3.624999999998844 0
-567 1.749999999994437 3.499999999998483 0
-568 1.749999999994811 3.374999999998477 0
-569 1.749999999995185 3.249999999998498 0
-570 1.749999999995559 3.124999999998517 0
-571 1.749999999995933 2.999999999998537 0
-572 1.749999999996307 2.874999999998556 0
-573 1.74999999999668 2.749999999998575 0
-574 1.749999999997055 2.624999999998596 0
-575 1.749999999997428 2.499999999998613 0
-576 1.749999999997802 2.374999999998633 0
-577 1.749999999998176 2.249999999998653 0
-578 1.74999999999855 2.124999999998672 0
-579 1.749999999998923 1.999999999998697 0
-580 1.749999999999298 1.874999999998798 0
-581 1.749999999999671 1.749999999998905 0
-582 1.750000000000045 1.624999999999011 0
-583 1.750000000000419 1.499999999999118 0
-584 1.750000000000793 1.374999999999225 0
-585 1.750000000001167 1.249999999999332 0
-586 1.750000000001541 1.124999999999438 0
-587 1.750000000001915 0.9999999999995448 0
-588 1.750000000002289 0.8749999999996519 0
-589 1.750000000002663 0.7499999999997584 0
-590 1.750000000003036 0.624999999999865 0
-591 1.75000000000341 0.499999999999964 0
-592 1.750000000003785 0.3749999999999558 0
-593 1.750000000004158 0.2499999999999434 0
-594 1.750000000004532 0.1249999999999831 0
-595 1.874999999992895 3.874999999999611 0
-596 1.874999999993294 3.749999999999221 0
-597 1.874999999993692 3.624999999998832 0
-598 1.874999999994091 3.499999999998469 0
-599 1.87499999999449 3.374999999998487 0
-600 1.874999999994888 3.249999999998532 0
-601 1.874999999995287 3.124999999998576 0
-602 1.874999999995686 2.999999999998621 0
-603 1.874999999996085 2.874999999998665 0
-604 1.874999999996484 2.749999999998709 0
-605 1.874999999996882 2.624999999998753 0
-606 1.874999999997282 2.499999999998798 0
-607 1.87499999999768 2.374999999998842 0
-608 1.874999999998079 2.249999999998886 0
-609 1.874999999998478 2.124999999998931 0
-610 1.874999999998877 1.999999999998978 0
-611 1.874999999999275 1.874999999999063 0
-612 1.874999999999674 1.749999999999151 0
-613 1.875000000000073 1.62499999999924 0
-614 1.875000000000471 1.499999999999328 0
-615 1.87500000000087 1.374999999999416 0
-616 1.875000000001269 1.249999999999504 0
-617 1.875000000001668 1.124999999999592 0
-618 1.875000000002066 0.9999999999996807 0
-619 1.875000000002465 0.8749999999997691 0
-620 1.875000000002864 0.7499999999998574 0
-621 1.875000000003263 0.6249999999999456 0
-622 1.875000000003662 0.5000000000000264 0
-623 1.875000000004061 0.375000000000003 0
-624 1.875000000004459 0.2499999999999757 0
-625 1.875000000004858 0.1249999999999989 0
-626 1.999999999992475 3.874999999999607 0
-627 1.999999999992898 3.749999999999214 0
-628 1.999999999993321 3.62499999999882 0
-629 1.999999999993745 3.499999999998455 0
-630 1.999999999994169 3.374999999998496 0
-631 1.999999999994593 3.249999999998566 0
-632 1.999999999995016 3.124999999998635 0
-633 1.99999999999544 2.999999999998704 0
-634 1.999999999995863 2.874999999998773 0
-635 1.999999999996287 2.749999999998843 0
-636 1.999999999996711 2.624999999998911 0
-637 1.999999999997134 2.499999999998981 0
-638 1.999999999997558 2.374999999999051 0
-639 1.999999999997982 2.24999999999912 0
-640 1.999999999998405 2.124999999999189 0
-641 1.999999999998829 1.999999999999258 0
-642 1.999999999999252 1.874999999999328 0
-643 1.999999999999676 1.749999999999398 0
-644 2.0000000000001 1.624999999999468 0
-645 2.000000000000524 1.499999999999538 0
-646 2.000000000000947 1.374999999999607 0
-647 2.000000000001371 1.249999999999677 0
-648 2.000000000001794 1.124999999999747 0
-649 2.000000000002218 0.9999999999998166 0
-650 2.000000000002642 0.8749999999998865 0
-651 2.000000000003065 0.7499999999999563 0
-652 2.000000000003489 0.6250000000000262 0
-653 2.000000000003912 0.5000000000000888 0
-654 2.000000000004337 0.3750000000000502 0
-655 2.000000000004761 0.250000000000008 0
-656 2.000000000005184 0.1250000000000147 0
-657 2.124999999992053 3.874999999999603 0
-658 2.124999999992502 3.749999999999206 0
-659 2.124999999992951 3.624999999998808 0
-660 2.124999999993399 3.499999999998441 0
-661 2.124999999993848 3.374999999998505 0
-662 2.124999999994296 3.249999999998599 0
-663 2.124999999994745 3.124999999998694 0
-664 2.124999999995193 2.999999999998789 0
-665 2.124999999995642 2.874999999998883 0
-666 2.12499999999609 2.749999999998977 0
-667 2.124999999996539 2.624999999999071 0
-668 2.124999999996987 2.499999999999165 0
-669 2.124999999997436 2.374999999999259 0
-670 2.124999999997884 2.249999999999353 0
-671 2.124999999998333 2.124999999999448 0
-672 2.124999999998781 1.999999999999539 0
-673 2.12499999999923 1.874999999999593 0
-674 2.124999999999678 1.749999999999644 0
-675 2.125000000000127 1.624999999999696 0
-676 2.125000000000576 1.499999999999747 0
-677 2.125000000001024 1.374999999999798 0
-678 2.125000000001473 1.24999999999985 0
-679 2.125000000001921 1.124999999999901 0
-680 2.12500000000237 0.999999999999952 0
-681 2.125000000002818 0.875000000000004 0
-682 2.125000000003267 0.7500000000000551 0
-683 2.125000000003716 0.6250000000001066 0
-684 2.125000000004164 0.500000000000151 0
-685 2.125000000004612 0.3750000000000975 0
-686 2.125000000005061 0.2500000000000402 0
-687 2.125000000005509 0.1250000000000305 0
-688 2.249999999991633 3.874999999999599 0
-689 2.249999999992106 3.749999999999197 0
-690 2.249999999992579 3.624999999998797 0
-691 2.249999999993053 3.499999999998427 0
-692 2.249999999993526 3.374999999998515 0
-693 2.249999999993999 3.249999999998634 0
-694 2.249999999994473 3.124999999998753 0
-695 2.249999999994946 2.999999999998872 0
-696 2.24999999999542 2.874999999998991 0
-697 2.249999999995893 2.74999999999911 0
-698 2.249999999996366 2.62499999999923 0
-699 2.24999999999684 2.499999999999349 0
-700 2.249999999997313 2.374999999999467 0
-701 2.249999999997787 2.249999999999586 0
-702 2.249999999998261 2.124999999999705 0
-703 2.249999999998733 1.99999999999982 0
-704 2.249999999999207 1.874999999999857 0
-705 2.24999999999968 1.749999999999891 0
-706 2.250000000000154 1.624999999999924 0
-707 2.250000000000627 1.499999999999956 0
-708 2.250000000001101 1.374999999999989 0
-709 2.250000000001574 1.250000000000022 0
-710 2.250000000002048 1.125000000000055 0
-711 2.250000000002521 1.000000000000088 0
-712 2.250000000002994 0.8750000000001212 0
-713 2.250000000003467 0.7500000000001541 0
-714 2.250000000003941 0.625000000000187 0
-715 2.250000000004414 0.5000000000002132 0
-716 2.250000000004889 0.3750000000001447 0
-717 2.250000000005361 0.2500000000000725 0
-718 2.250000000005835 0.1250000000000463 0
-719 2.374999999991211 3.874999999999595 0
-720 2.374999999991709 3.749999999999189 0
-721 2.374999999992208 3.624999999998784 0
-722 2.374999999992706 3.499999999998413 0
-723 2.374999999993205 3.374999999998524 0
-724 2.374999999993703 3.249999999998667 0
-725 2.374999999994201 3.124999999998812 0
-726 2.374999999994699 2.999999999998956 0
-727 2.374999999995198 2.874999999999099 0
-728 2.374999999995696 2.749999999999244 0
-729 2.374999999996194 2.624999999999388 0
-730 2.374999999996692 2.499999999999531 0
-731 2.374999999997191 2.374999999999676 0
-732 2.374999999997689 2.24999999999982 0
-733 2.374999999998187 2.124999999999964 0
-734 2.374999999998685 2.0000000000001 0
-735 2.374999999999185 1.875000000000122 0
-736 2.374999999999682 1.750000000000137 0
-737 2.37500000000018 1.625000000000151 0
-738 2.375000000000679 1.500000000000166 0
-739 2.375000000001177 1.37500000000018 0
-740 2.375000000001675 1.250000000000195 0
-741 2.375000000002173 1.12500000000021 0
-742 2.375000000002671 1.000000000000224 0
-743 2.375000000003171 0.8750000000002385 0
-744 2.375000000003668 0.7500000000002529 0
-745 2.375000000004167 0.6250000000002676 0
-746 2.375000000004665 0.5000000000002753 0
-747 2.375000000005163 0.3750000000001918 0
-748 2.375000000005661 0.2500000000001048 0
-749 2.37500000000616 0.1250000000000621 0
-750 2.49999999999079 3.874999999999591 0
-751 2.499999999991314 3.749999999999182 0
-752 2.499999999991837 3.624999999998773 0
-753 2.499999999992361 3.4999999999984 0
-754 2.499999999992884 3.374999999998532 0
-755 2.499999999993407 3.249999999998701 0
-756 2.499999999993929 3.124999999998871 0
-757 2.499999999994452 2.99999999999904 0
-758 2.499999999994977 2.874999999999209 0
-759 2.499999999995499 2.749999999999377 0
-760 2.499999999996023 2.624999999999547 0
-761 2.499999999996545 2.499999999999716 0
-762 2.499999999997069 2.374999999999885 0
-763 2.499999999997592 2.250000000000053 0
-764 2.499999999998115 2.125000000000222 0
-765 2.499999999998638 2.000000000000381 0
-766 2.499999999999162 1.875000000000387 0
-767 2.499999999999685 1.750000000000384 0
-768 2.500000000000208 1.62500000000038 0
-769 2.500000000000731 1.500000000000376 0
-770 2.500000000001254 1.375000000000372 0
-771 2.500000000001778 1.250000000000368 0
-772 2.5000000000023 1.125000000000364 0
-773 2.500000000002824 1.00000000000036 0
-774 2.500000000003348 0.8750000000003559 0
-775 2.500000000003871 0.7500000000003519 0
-776 2.500000000004393 0.6250000000003482 0
-777 2.500000000004917 0.5000000000003377 0
-778 2.50000000000544 0.3750000000002391 0
-779 2.500000000005963 0.250000000000137 0
-780 2.500000000006486 0.1250000000000779 0
-781 2.62499999999037 3.874999999999587 0
-782 2.624999999990918 3.749999999999174 0
-783 2.624999999991466 3.624999999998761 0
-784 2.624999999992013 3.499999999998385 0
-785 2.624999999992562 3.374999999998541 0
-786 2.62499999999311 3.249999999998736 0
-787 2.624999999993658 3.12499999999893 0
-788 2.624999999994207 2.999999999999124 0
-789 2.624999999994754 2.874999999999318 0
-790 2.624999999995303 2.749999999999512 0
-791 2.624999999995851 2.624999999999705 0
-792 2.624999999996398 2.499999999999899 0
-793 2.624999999996946 2.375000000000093 0
-794 2.624999999997495 2.250000000000287 0
-795 2.624999999998042 2.125000000000481 0
-796 2.624999999998591 2.000000000000662 0
-797 2.624999999999139 1.875000000000652 0
-798 2.624999999999687 1.75000000000063 0
-799 2.625000000000235 1.625000000000608 0
-800 2.625000000000783 1.500000000000585 0
-801 2.625000000001331 1.375000000000563 0
-802 2.625000000001879 1.25000000000054 0
-803 2.625000000002427 1.125000000000518 0
-804 2.625000000002975 1.000000000000496 0
-805 2.625000000003523 0.8750000000004734 0
-806 2.625000000004071 0.7500000000004508 0
-807 2.625000000004619 0.6250000000004285 0
-808 2.625000000005167 0.5000000000004001 0
-809 2.625000000005716 0.3750000000002863 0
-810 2.625000000006263 0.2500000000001693 0
-811 2.625000000006812 0.1250000000000937 0
-812 2.749999999989949 3.874999999999583 0
-813 2.749999999990522 3.749999999999165 0
-814 2.749999999991095 3.624999999998749 0
-815 2.749999999991668 3.499999999998372 0
-816 2.74999999999224 3.37499999999855 0
-817 2.749999999992813 3.24999999999877 0
-818 2.749999999993386 3.124999999998988 0
-819 2.749999999993959 2.999999999999208 0
-820 2.749999999994533 2.874999999999426 0
-821 2.749999999995106 2.749999999999645 0
-822 2.749999999995679 2.624999999999864 0
-823 2.749999999996251 2.500000000000082 0
-824 2.749999999996823 2.375000000000302 0
-825 2.749999999997397 2.25000000000052 0
-826 2.749999999997969 2.125000000000739 0
-827 2.749999999998543 2.000000000000942 0
-828 2.749999999999115 1.875000000000917 0
-829 2.749999999999689 1.750000000000877 0
-830 2.750000000000262 1.625000000000835 0
-831 2.750000000000834 1.500000000000795 0
-832 2.750000000001408 1.375000000000754 0
-833 2.75000000000198 1.250000000000713 0
-834 2.750000000002553 1.125000000000672 0
-835 2.750000000003126 1.000000000000631 0
-836 2.750000000003699 0.8750000000005906 0
-837 2.750000000004272 0.7500000000005498 0
-838 2.750000000004844 0.6250000000005089 0
-839 2.750000000005417 0.5000000000004623 0
-840 2.750000000005991 0.3750000000003335 0
-841 2.750000000006563 0.2500000000002016 0
-842 2.750000000007137 0.1250000000001095 0
-843 2.874999999989529 3.874999999999579 0
-844 2.874999999990126 3.749999999999158 0
-845 2.874999999990724 3.624999999998737 0
-846 2.874999999991322 3.499999999998357 0
-847 2.874999999991919 3.374999999998559 0
-848 2.874999999992518 3.249999999998804 0
-849 2.874999999993116 3.124999999999048 0
-850 2.874999999993713 2.999999999999292 0
-851 2.874999999994311 2.874999999999535 0
-852 2.874999999994909 2.749999999999779 0
-853 2.874999999995506 2.625000000000023 0
-854 2.874999999996105 2.500000000000267 0
-855 2.874999999996702 2.37500000000051 0
-856 2.874999999997301 2.250000000000753 0
-857 2.874999999997898 2.125000000000997 0
-858 2.874999999998495 2.000000000001223 0
-859 2.874999999999093 1.875000000001182 0
-860 2.874999999999692 1.750000000001123 0
-861 2.875000000000289 1.625000000001064 0
-862 2.875000000000887 1.500000000001004 0
-863 2.875000000001484 1.375000000000945 0
-864 2.875000000002083 1.250000000000886 0
-865 2.875000000002681 1.125000000000826 0
-866 2.875000000003278 1.000000000000767 0
-867 2.875000000003876 0.8750000000007079 0
-868 2.875000000004474 0.7500000000006486 0
-869 2.875000000005071 0.6250000000005895 0
-870 2.875000000005669 0.5000000000005245 0
-871 2.875000000006268 0.3750000000003807 0
-872 2.875000000006865 0.2500000000002338 0
-873 2.875000000007463 0.1250000000001253 0
-874 2.999999999989188 3.874999999999575 0
-875 2.999999999989806 3.74999999999915 0
-876 2.999999999990424 3.624999999998725 0
-877 2.999999999991041 3.499999999998343 0
-878 2.999999999991658 3.374999999998568 0
-879 2.999999999992276 3.249999999998837 0
-880 2.999999999992893 3.124999999999106 0
-881 2.99999999999351 2.999999999999376 0
-882 2.999999999994127 2.874999999999644 0
-883 2.999999999994745 2.749999999999912 0
-884 2.999999999995362 2.625000000000182 0
-885 2.999999999995979 2.50000000000045 0
-886 2.999999999996596 2.375000000000719 0
-887 2.999999999997213 2.250000000000987 0
-888 2.99999999999783 2.125000000001256 0
-889 2.999999999998448 2.000000000001503 0
-890 2.999999999999066 1.875000000001447 0
-891 2.999999999999682 1.750000000001369 0
-892 3.000000000000299 1.625000000001291 0
-893 3.000000000000917 1.500000000001214 0
-894 3.000000000001534 1.375000000001136 0
-895 3.000000000002151 1.250000000001059 0
-896 3.000000000002768 1.125000000000981 0
-897 3.000000000003387 1.000000000000903 0
-898 3.000000000004003 0.8750000000008253 0
-899 3.00000000000462 0.7500000000007476 0
-900 3.000000000005238 0.6250000000006699 0
-901 3.000000000005855 0.5000000000005866 0
-902 3.000000000006472 0.3750000000004279 0
-903 3.000000000007089 0.2500000000002661 0
-904 3.000000000007707 0.1250000000001411 0
-905 3.124999999989555 3.874999999999571 0
-906 3.124999999990145 3.749999999999142 0
-907 3.124999999990736 3.624999999998713 0
-908 3.124999999991324 3.499999999998329 0
-909 3.124999999991914 3.374999999998577 0
-910 3.124999999992504 3.249999999998871 0
-911 3.124999999993094 3.124999999999165 0
-912 3.124999999993683 2.999999999999459 0
-913 3.124999999994273 2.874999999999752 0
-914 3.124999999994862 2.750000000000046 0
-915 3.124999999995453 2.62500000000034 0
-916 3.124999999996041 2.500000000000633 0
-917 3.124999999996632 2.375000000000927 0
-918 3.124999999997221 2.25000000000122 0
-919 3.124999999997812 2.125000000001514 0
-920 3.124999999998401 2.000000000001784 0
-921 3.124999999998991 1.875000000001712 0
-922 3.124999999999581 1.750000000001616 0
-923 3.125000000000171 1.62500000000152 0
-924 3.12500000000076 1.500000000001423 0
-925 3.125000000001349 1.375000000001327 0
-926 3.125000000001939 1.250000000001231 0
-927 3.125000000002529 1.125000000001135 0
-928 3.125000000003119 1.000000000001039 0
-929 3.125000000003709 0.8750000000009428 0
-930 3.125000000004298 0.7500000000008464 0
-931 3.125000000004888 0.6250000000007505 0
-932 3.125000000005477 0.500000000000649 0
-933 3.125000000006068 0.3750000000004752 0
-934 3.125000000006657 0.2500000000002984 0
-935 3.125000000007247 0.1250000000001569 0
-936 3.249999999990003 3.874999999999567 0
-937 3.249999999990558 3.749999999999134 0
-938 3.249999999991116 3.624999999998701 0
-939 3.249999999991671 3.499999999998315 0
-940 3.249999999992229 3.374999999998586 0
-941 3.249999999992785 3.249999999998905 0
-942 3.249999999993342 3.124999999999224 0
-943 3.249999999993899 2.999999999999543 0
-944 3.249999999994457 2.874999999999861 0
-945 3.249999999995013 2.75000000000018 0
-946 3.249999999995569 2.625000000000499 0
-947 3.249999999996127 2.500000000000818 0
-948 3.249999999996684 2.375000000001136 0
-949 3.24999999999724 2.250000000001454 0
-950 3.249999999997796 2.125000000001773 0
-951 3.249999999998353 2.000000000002064 0
-952 3.24999999999891 1.875000000001977 0
-953 3.249999999999467 1.750000000001862 0
-954 3.250000000000023 1.625000000001747 0
-955 3.250000000000581 1.500000000001633 0
-956 3.250000000001137 1.375000000001518 0
-957 3.250000000001695 1.250000000001404 0
-958 3.250000000002251 1.125000000001289 0
-959 3.250000000002808 1.000000000001175 0
-960 3.250000000003364 0.87500000000106 0
-961 3.250000000003921 0.7500000000009455 0
-962 3.250000000004478 0.6250000000008309 0
-963 3.250000000005034 0.5000000000007114 0
-964 3.250000000005592 0.3750000000005224 0
-965 3.250000000006148 0.2500000000003306 0
-966 3.250000000006706 0.1250000000001728 0
-967 3.374999999990449 3.874999999999563 0
-968 3.374999999990971 3.749999999999126 0
-969 3.374999999991496 3.624999999998689 0
-970 3.37499999999202 3.4999999999983 0
-971 3.374999999992544 3.374999999998596 0
-972 3.374999999993067 3.24999999999894 0
-973 3.374999999993591 3.124999999999283 0
-974 3.374999999994115 2.999999999999627 0
-975 3.374999999994639 2.874999999999971 0
-976 3.374999999995163 2.750000000000314 0
-977 3.374999999995687 2.625000000000658 0
-978 3.37499999999621 2.500000000001001 0
-979 3.374999999996735 2.375000000001345 0
-980 3.374999999997259 2.250000000001688 0
-981 3.374999999997782 2.125000000002031 0
-982 3.374999999998306 2.000000000002345 0
-983 3.37499999999883 1.875000000002241 0
-984 3.374999999999354 1.750000000002109 0
-985 3.374999999999878 1.625000000001975 0
-986 3.375000000000401 1.500000000001843 0
-987 3.375000000000925 1.375000000001709 0
-988 3.375000000001449 1.250000000001577 0
-989 3.375000000001973 1.125000000001443 0
-990 3.375000000002496 1.00000000000131 0
-991 3.375000000003021 0.8750000000011773 0
-992 3.375000000003545 0.7500000000010443 0
-993 3.375000000004068 0.6250000000009113 0
-994 3.375000000004592 0.5000000000007736 0
-995 3.375000000005116 0.3750000000005695 0
-996 3.37500000000564 0.2500000000003629 0
-997 3.375000000006165 0.1250000000001886 0
-998 3.499999999990896 3.874999999999559 0
-999 3.499999999991387 3.749999999999118 0
-1000 3.499999999991876 3.624999999998678 0
-1001 3.499999999992369 3.499999999998287 0
-1002 3.499999999992859 3.374999999998605 0
-1003 3.49999999999335 3.249999999998973 0
-1004 3.49999999999384 3.124999999999342 0
-1005 3.499999999994332 2.99999999999971 0
-1006 3.499999999994822 2.875000000000079 0
-1007 3.499999999995314 2.750000000000448 0
-1008 3.499999999995804 2.625000000000816 0
-1009 3.499999999996296 2.500000000001184 0
-1010 3.499999999996787 2.375000000001553 0
-1011 3.499999999997277 2.250000000001921 0
-1012 3.499999999997768 2.12500000000229 0
-1013 3.49999999999826 2.000000000002625 0
-1014 3.49999999999875 1.875000000002506 0
-1015 3.499999999999241 1.750000000002355 0
-1016 3.499999999999732 1.625000000002204 0
-1017 3.500000000000222 1.500000000002052 0
-1018 3.500000000000714 1.375000000001901 0
-1019 3.500000000001206 1.250000000001749 0
-1020 3.500000000001696 1.125000000001598 0
-1021 3.500000000002187 1.000000000001446 0
-1022 3.500000000002677 0.8750000000012947 0
-1023 3.500000000003168 0.7500000000011431 0
-1024 3.500000000003659 0.6250000000009919 0
-1025 3.500000000004151 0.5000000000008358 0
-1026 3.500000000004642 0.3750000000006167 0
-1027 3.500000000005132 0.2500000000003952 0
-1028 3.500000000005624 0.1250000000002044 0
-1029 3.624999999991342 3.874999999999555 0
-1030 3.6249999999918 3.74999999999911 0
-1031 3.624999999992258 3.624999999998665 0
-1032 3.624999999992715 3.499999999998272 0
-1033 3.624999999993173 3.374999999998614 0
-1034 3.624999999993632 3.249999999999007 0
-1035 3.624999999994089 3.124999999999401 0
-1036 3.624999999994547 2.999999999999795 0
-1037 3.624999999995006 2.875000000000187 0
-1038 3.624999999995463 2.750000000000582 0
-1039 3.624999999995921 2.625000000000974 0
-1040 3.62499999999638 2.500000000001368 0
-1041 3.624999999996838 2.375000000001761 0
-1042 3.624999999997295 2.250000000002155 0
-1043 3.624999999997754 2.125000000002547 0
-1044 3.624999999998212 2.000000000002906 0
-1045 3.62499999999867 1.875000000002771 0
-1046 3.624999999999128 1.750000000002601 0
-1047 3.624999999999585 1.625000000002431 0
-1048 3.625000000000044 1.500000000002262 0
-1049 3.625000000000501 1.375000000002092 0
-1050 3.625000000000959 1.250000000001922 0
-1051 3.625000000001418 1.125000000001752 0
-1052 3.625000000001876 1.000000000001582 0
-1053 3.625000000002334 0.8750000000014122 0
-1054 3.625000000002791 0.7500000000012421 0
-1055 3.62500000000325 0.6250000000010725 0
-1056 3.625000000003707 0.5000000000008979 0
-1057 3.625000000004166 0.3750000000006639 0
-1058 3.625000000004624 0.2500000000004274 0
-1059 3.625000000005082 0.1250000000002202 0
-1060 3.749999999991787 3.874999999999551 0
-1061 3.749999999992213 3.749999999999102 0
-1062 3.749999999992638 3.624999999998654 0
-1063 3.749999999993064 3.499999999998257 0
-1064 3.74999999999349 3.374999999998623 0
-1065 3.749999999993913 3.249999999999042 0
-1066 3.749999999994339 3.12499999999946 0
-1067 3.749999999994763 2.999999999999878 0
-1068 3.749999999995189 2.875000000000297 0
-1069 3.749999999995614 2.750000000000715 0
-1070 3.74999999999604 2.625000000001134 0
-1071 3.749999999996464 2.500000000001551 0
-1072 3.749999999996889 2.37500000000197 0
-1073 3.749999999997314 2.250000000002387 0
-1074 3.749999999997739 2.125000000002807 0
-1075 3.749999999998164 2.000000000003187 0
-1076 3.74999999999859 1.875000000003036 0
-1077 3.749999999999014 1.750000000002848 0
-1078 3.74999999999944 1.625000000002659 0
-1079 3.749999999999865 1.500000000002471 0
-1080 3.75000000000029 1.375000000002283 0
-1081 3.750000000000714 1.250000000002094 0
-1082 3.75000000000114 1.125000000001906 0
-1083 3.750000000001565 1.000000000001718 0
-1084 3.75000000000199 0.8750000000015294 0
-1085 3.750000000002415 0.7500000000013411 0
-1086 3.750000000002839 0.6250000000011529 0
-1087 3.750000000003265 0.5000000000009603 0
-1088 3.750000000003689 0.3750000000007112 0
-1089 3.750000000004115 0.2500000000004596 0
-1090 3.75000000000454 0.125000000000236 0
-1091 3.874999999992236 3.874999999999547 0
-1092 3.874999999992628 3.749999999999094 0
-1093 3.874999999993021 3.624999999998641 0
-1094 3.874999999993411 3.499999999998244 0
-1095 3.874999999993804 3.374999999998632 0
-1096 3.874999999994196 3.249999999999075 0
-1097 3.874999999994589 3.124999999999519 0
-1098 3.87499999999498 2.999999999999963 0
-1099 3.874999999995373 2.875000000000406 0
-1100 3.874999999995765 2.750000000000848 0
-1101 3.874999999996156 2.625000000001292 0
-1102 3.874999999996549 2.500000000001735 0
-1103 3.874999999996941 2.375000000002178 0
-1104 3.874999999997333 2.250000000002622 0
-1105 3.874999999997726 2.125000000003064 0
-1106 3.874999999998118 2.000000000003467 0
-1107 3.874999999998509 1.875000000003301 0
-1108 3.874999999998902 1.750000000003094 0
-1109 3.874999999999295 1.625000000002887 0
-1110 3.874999999999685 1.500000000002681 0
-1111 3.875000000000078 1.375000000002474 0
-1112 3.87500000000047 1.250000000002268 0
-1113 3.875000000000862 1.125000000002061 0
-1114 3.875000000001253 1.000000000001854 0
-1115 3.875000000001646 0.8750000000016469 0
-1116 3.875000000002039 0.75000000000144 0
-1117 3.875000000002431 0.6250000000012332 0
-1118 3.875000000002822 0.5000000000010227 0
-1119 3.875000000003215 0.3750000000007584 0
-1120 3.875000000003607 0.2500000000004919 0
-1121 3.875000000003999 0.1250000000002518 0
-1122 3.999999999992684 3.874999999999543 0
-1123 3.999999999993046 3.749999999999086 0
-1124 3.999999999993406 3.62499999999863 0
-1125 3.999999999993768 3.49999999999823 0
-1126 3.999999999994128 3.374999999998641 0
-1127 3.99999999999449 3.249999999999109 0
-1128 3.999999999994849 3.124999999999578 0
-1129 3.999999999995212 3.000000000000046 0
-1130 3.999999999995573 2.875000000000514 0
-1131 3.999999999995933 2.750000000000982 0
-1132 3.999999999996294 2.625000000001451 0
-1133 3.999999999996654 2.500000000001919 0
-1134 3.999999999997017 2.375000000002387 0
-1135 3.999999999997379 2.250000000002855 0
-1136 3.999999999997739 2.125000000003323 0
-1137 3.999999999998099 2.000000000003748 0
-1138 3.999999999998461 1.875000000003566 0
-1139 3.999999999998822 1.750000000003341 0
-1140 3.999999999999182 1.625000000003115 0
-1141 3.999999999999543 1.500000000002891 0
-1142 3.999999999999905 1.375000000002665 0
-1143 4.000000000000266 1.25000000000244 0
-1144 4.000000000000626 1.125000000002215 0
-1145 4.000000000000987 1.00000000000199 0
-1146 4.000000000001348 0.8750000000017641 0
-1147 4.00000000000171 0.7500000000015388 0
-1148 4.000000000002071 0.6250000000013138 0
-1149 4.000000000002432 0.5000000000010849 0
-1150 4.000000000002792 0.3750000000008056 0
-1151 4.000000000003153 0.2500000000005242 0
-1152 4.000000000003515 0.1250000000002676 0
-1153 4.124999999993157 3.874999999999539 0
-1154 4.12499999999351 3.749999999999078 0
-1155 4.124999999993862 3.624999999998618 0
-1156 4.124999999994217 3.499999999998217 0
-1157 4.124999999994571 3.37499999999865 0
-1158 4.124999999994922 3.249999999999143 0
-1159 4.124999999995276 3.124999999999637 0
-1160 4.124999999995629 3.000000000000131 0
-1161 4.124999999995985 2.875000000000623 0
-1162 4.124999999996336 2.750000000001116 0
-1163 4.12499999999669 2.62500000000161 0
-1164 4.124999999997043 2.500000000002102 0
-1165 4.124999999997397 2.375000000002595 0
-1166 4.12499999999775 2.250000000003088 0
-1167 4.124999999998102 2.125000000003581 0
-1168 4.124999999998455 2.000000000004029 0
-1169 4.124999999998809 1.875000000003831 0
-1170 4.124999999999162 1.750000000003587 0
-1171 4.124999999999516 1.625000000003344 0
-1172 4.124999999999869 1.5000000000031 0
-1173 4.125000000000223 1.375000000002856 0
-1174 4.125000000000576 1.250000000002613 0
-1175 4.12500000000093 1.125000000002369 0
-1176 4.125000000001283 1.000000000002125 0
-1177 4.125000000001637 0.8750000000018816 0
-1178 4.125000000001989 0.7500000000016378 0
-1179 4.125000000002341 0.6250000000013942 0
-1180 4.125000000002696 0.5000000000011471 0
-1181 4.125000000003051 0.3750000000008528 0
-1182 4.125000000003403 0.2500000000005564 0
-1183 4.125000000003756 0.1250000000002834 0
-1184 4.249999999993633 3.874999999999535 0
-1185 4.249999999993983 3.74999999999907 0
-1186 4.249999999994331 3.624999999998606 0
-1187 4.249999999994678 3.499999999998202 0
-1188 4.249999999995029 3.374999999998658 0
-1189 4.249999999995378 3.249999999999177 0
-1190 4.249999999995726 3.124999999999696 0
-1191 4.249999999996078 3.000000000000214 0
-1192 4.249999999996427 2.875000000000732 0
-1193 4.249999999996774 2.75000000000125 0
-1194 4.249999999997125 2.625000000001768 0
-1195 4.249999999997475 2.500000000002286 0
-1196 4.249999999997823 2.375000000002804 0
-1197 4.249999999998173 2.250000000003322 0
-1198 4.249999999998523 2.12500000000384 0
-1199 4.249999999998871 2.000000000004309 0
-1200 4.249999999999221 1.875000000004096 0
-1201 4.249999999999571 1.750000000003833 0
-1202 4.249999999999921 1.625000000003571 0
-1203 4.250000000000269 1.50000000000331 0
-1204 4.250000000000618 1.375000000003047 0
-1205 4.250000000000967 1.250000000002785 0
-1206 4.250000000001317 1.125000000002523 0
-1207 4.250000000001665 1.000000000002261 0
-1208 4.250000000002015 0.8750000000019988 0
-1209 4.250000000002365 0.7500000000017368 0
-1210 4.250000000002713 0.6250000000014748 0
-1211 4.250000000003063 0.5000000000012093 0
-1212 4.250000000003413 0.3750000000009001 0
-1213 4.250000000003761 0.2500000000005888 0
-1214 4.25000000000411 0.1250000000002992 0
-1215 4.37499999999411 3.874999999999531 0
-1216 4.374999999994452 3.749999999999062 0
-1217 4.374999999994799 3.624999999998593 0
-1218 4.374999999995143 3.499999999998188 0
-1219 4.37499999999549 3.374999999998667 0
-1220 4.374999999995834 3.24999999999921 0
-1221 4.374999999996179 3.124999999999755 0
-1222 4.374999999996525 3.000000000000298 0
-1223 4.37499999999687 2.875000000000841 0
-1224 4.374999999997216 2.750000000001383 0
-1225 4.374999999997561 2.625000000001926 0
-1226 4.374999999997906 2.50000000000247 0
-1227 4.37499999999825 2.375000000003013 0
-1228 4.374999999998597 2.250000000003555 0
-1229 4.374999999998941 2.125000000004098 0
-1230 4.374999999999288 2.00000000000459 0
-1231 4.374999999999632 1.875000000004361 0
-1232 4.374999999999977 1.75000000000408 0
-1233 4.375000000000322 1.6250000000038 0
-1234 4.375000000000668 1.500000000003519 0
-1235 4.375000000001013 1.375000000003239 0
-1236 4.375000000001359 1.250000000002958 0
-1237 4.375000000001704 1.125000000002677 0
-1238 4.375000000002047 1.000000000002397 0
-1239 4.375000000002395 0.8750000000021163 0
-1240 4.375000000002739 0.7500000000018354 0
-1241 4.375000000003084 0.6250000000015552 0
-1242 4.37500000000343 0.5000000000012716 0
-1243 4.375000000003775 0.3750000000009472 0
-1244 4.375000000004119 0.2500000000006211 0
-1245 4.375000000004466 0.125000000000315 0
-1246 4.499999999994584 3.874999999999527 0
-1247 4.499999999994928 3.749999999999054 0
-1248 4.499999999995266 3.624999999998582 0
-1249 4.499999999995609 3.499999999998174 0
-1250 4.499999999995948 3.374999999998676 0
-1251 4.499999999996291 3.249999999999245 0
-1252 4.49999999999663 3.124999999999813 0
-1253 4.499999999996971 3.000000000000382 0
-1254 4.499999999997314 2.875000000000949 0
-1255 4.499999999997655 2.750000000001517 0
-1256 4.499999999997996 2.625000000002086 0
-1257 4.499999999998337 2.500000000002653 0
-1258 4.499999999998678 2.375000000003221 0
-1259 4.499999999999019 2.250000000003789 0
-1260 4.499999999999361 2.125000000004357 0
-1261 4.499999999999702 2.00000000000487 0
-1262 4.500000000000043 1.875000000004625 0
-1263 4.500000000000384 1.750000000004326 0
-1264 4.500000000000727 1.625000000004028 0
-1265 4.500000000001068 1.500000000003729 0
-1266 4.500000000001409 1.37500000000343 0
-1267 4.500000000001748 1.250000000003131 0
-1268 4.500000000002091 1.125000000002832 0
-1269 4.50000000000243 1.000000000002532 0
-1270 4.500000000002773 0.8750000000022335 0
-1271 4.500000000003114 0.7500000000019345 0
-1272 4.500000000003455 0.6250000000016356 0
-1273 4.500000000003796 0.5000000000013338 0
-1274 4.500000000004137 0.3750000000009944 0
-1275 4.500000000004478 0.2500000000006533 0
-1276 4.500000000004819 0.1250000000003308 0
-1277 4.62499999999506 3.874999999999524 0
-1278 4.624999999995396 3.749999999999046 0
-1279 4.624999999995732 3.62499999999857 0
-1280 4.62499999999607 3.49999999999816 0
-1281 4.624999999996408 3.374999999998686 0
-1282 4.624999999996746 3.24999999999928 0
-1283 4.624999999997083 3.124999999999872 0
-1284 4.624999999997419 3.000000000000466 0
-1285 4.624999999997756 2.875000000001059 0
-1286 4.624999999998094 2.750000000001651 0
-1287 4.624999999998431 2.625000000002244 0
-1288 4.624999999998769 2.500000000002836 0
-1289 4.624999999999106 2.375000000003429 0
-1290 4.624999999999442 2.250000000004022 0
-1291 4.62499999999978 2.125000000004615 0
-1292 4.625000000000117 2.000000000005151 0
-1293 4.625000000000453 1.87500000000489 0
-1294 4.62500000000079 1.750000000004573 0
-1295 4.625000000001128 1.625000000004255 0
-1296 4.625000000001465 1.500000000003938 0
-1297 4.625000000001803 1.375000000003621 0
-1298 4.625000000002139 1.250000000003303 0
-1299 4.625000000002476 1.125000000002986 0
-1300 4.625000000002814 1.000000000002668 0
-1301 4.625000000003151 0.875000000002351 0
-1302 4.625000000003489 0.7500000000020335 0
-1303 4.625000000003824 0.6250000000017162 0
-1304 4.625000000004162 0.5000000000013962 0
-1305 4.6250000000045 0.3750000000010416 0
-1306 4.625000000004838 0.2500000000006856 0
-1307 4.625000000005175 0.1250000000003466 0
-1308 4.749999999995533 3.874999999999519 0
-1309 4.749999999995868 3.749999999999039 0
-1310 4.749999999996202 3.624999999998558 0
-1311 4.749999999996534 3.499999999998146 0
-1312 4.749999999996868 3.374999999998696 0
-1313 4.7499999999972 3.249999999999313 0
-1314 4.749999999997534 3.124999999999932 0
-1315 4.749999999997867 3.00000000000055 0
-1316 4.7499999999982 2.875000000001167 0
-1317 4.749999999998533 2.750000000001784 0
-1318 4.749999999998865 2.625000000002402 0
-1319 4.749999999999199 2.50000000000302 0
-1320 4.749999999999533 2.375000000003638 0
-1321 4.749999999999865 2.250000000004256 0
-1322 4.750000000000199 2.125000000004873 0
-1323 4.750000000000531 2.000000000005431 0
-1324 4.750000000000865 1.875000000005155 0
-1325 4.750000000001199 1.750000000004819 0
-1326 4.750000000001531 1.625000000004484 0
-1327 4.750000000001865 1.500000000004148 0
-1328 4.750000000002197 1.375000000003812 0
-1329 4.750000000002531 1.250000000003476 0
-1330 4.750000000002863 1.12500000000314 0
-1331 4.750000000003197 1.000000000002804 0
-1332 4.75000000000353 0.8750000000024682 0
-1333 4.750000000003863 0.7500000000021325 0
-1334 4.750000000004198 0.6250000000017968 0
-1335 4.75000000000453 0.5000000000014584 0
-1336 4.750000000004861 0.3750000000010889 0
-1337 4.750000000005195 0.2500000000007179 0
-1338 4.750000000005529 0.1250000000003624 0
-1339 4.874999999996011 3.874999999999515 0
-1340 4.874999999996341 3.74999999999903 0
-1341 4.874999999996668 3.624999999998546 0
-1342 4.874999999996998 3.499999999998132 0
-1343 4.874999999997327 3.374999999998705 0
-1344 4.874999999997657 3.249999999999347 0
-1345 4.874999999997986 3.12499999999999 0
-1346 4.874999999998314 3.000000000000633 0
-1347 4.874999999998643 2.875000000001276 0
-1348 4.874999999998973 2.750000000001918 0
-1349 4.874999999999302 2.625000000002561 0
-1350 4.874999999999631 2.500000000003203 0
-1351 4.874999999999959 2.375000000003847 0
-1352 4.875000000000288 2.250000000004489 0
-1353 4.875000000000618 2.125000000005132 0
-1354 4.875000000000947 2.000000000005712 0
-1355 4.875000000001277 1.87500000000542 0
-1356 4.875000000001604 1.750000000005066 0
-1357 4.875000000001934 1.625000000004711 0
-1358 4.875000000002263 1.500000000004357 0
-1359 4.875000000002592 1.375000000004003 0
-1360 4.875000000002922 1.250000000003649 0
-1361 4.875000000003251 1.125000000003294 0
-1362 4.875000000003579 1.00000000000294 0
-1363 4.875000000003908 0.8750000000025857 0
-1364 4.875000000004238 0.7500000000022313 0
-1365 4.875000000004567 0.6250000000018772 0
-1366 4.875000000004896 0.5000000000015206 0
-1367 4.875000000005224 0.3750000000011361 0
-1368 4.875000000005555 0.2500000000007501 0
-1369 4.875000000005882 0.1250000000003783 0
-1370 4.999999999996482 3.874999999999512 0
-1371 4.999999999996795 3.749999999999023 0
-1372 4.999999999997115 3.624999999998534 0
-1373 4.999999999997433 3.499999999998118 0
-1374 4.999999999997751 3.374999999998713 0
-1375 4.999999999998069 3.249999999999381 0
-1376 4.999999999998385 3.125000000000049 0
-1377 4.999999999998703 3.000000000000717 0
-1378 4.999999999999021 2.875000000001385 0
-1379 4.999999999999339 2.750000000002053 0
-1380 4.999999999999657 2.62500000000272 0
-1381 4.999999999999975 2.500000000003388 0
-1382 5.000000000000293 2.375000000004055 0
-1383 5.000000000000611 2.250000000004722 0
-1384 5.000000000000929 2.125000000005389 0
-1385 5.000000000001245 2.000000000005993 0
-1386 5.000000000001563 1.875000000005685 0
-1387 5.000000000001881 1.750000000005312 0
-1388 5.000000000002199 1.62500000000494 0
-1389 5.000000000002517 1.500000000004567 0
-1390 5.000000000002835 1.375000000004194 0
-1391 5.000000000003153 1.250000000003822 0
-1392 5.000000000003469 1.125000000003449 0
-1393 5.000000000003789 1.000000000003076 0
-1394 5.000000000004105 0.8750000000027032 0
-1395 5.000000000004425 0.7500000000023301 0
-1396 5.000000000004741 0.6250000000019575 0
-1397 5.000000000005059 0.500000000001583 0
-1398 5.000000000005377 0.3750000000011833 0
-1399 5.000000000005695 0.2500000000007824 0
-1400 5.000000000006014 0.125000000000394 0
-1401 5.124999999996899 3.874999999999508 0
-1402 5.124999999997161 3.749999999999015 0
-1403 5.124999999997419 3.624999999998522 0
-1404 5.124999999997677 3.499999999998103 0
-1405 5.124999999997939 3.374999999998722 0
-1406 5.124999999998199 3.249999999999415 0
-1407 5.124999999998458 3.125000000000108 0
-1408 5.124999999998717 3.000000000000801 0
-1409 5.124999999998977 2.875000000001493 0
-1410 5.124999999999238 2.750000000002186 0
-1411 5.124999999999497 2.625000000002878 0
-1412 5.124999999999757 2.500000000003571 0
-1413 5.125000000000014 2.375000000004263 0
-1414 5.125000000000275 2.250000000004956 0
-1415 5.125000000000535 2.125000000005649 0
-1416 5.125000000000794 2.000000000006273 0
-1417 5.125000000001053 1.875000000005949 0
-1418 5.125000000001313 1.750000000005559 0
-1419 5.125000000001572 1.625000000005167 0
-1420 5.125000000001831 1.500000000004777 0
-1421 5.125000000002093 1.375000000004385 0
-1422 5.125000000002351 1.250000000003994 0
-1423 5.125000000002611 1.125000000003603 0
-1424 5.125000000002871 1.000000000003212 0
-1425 5.12500000000313 0.8750000000028204 0
-1426 5.12500000000339 0.7500000000024292 0
-1427 5.12500000000365 0.6250000000020381 0
-1428 5.12500000000391 0.5000000000016451 0
-1429 5.125000000004169 0.3750000000012305 0
-1430 5.125000000004428 0.2500000000008147 0
-1431 5.125000000004687 0.1250000000004098 0
-1432 5.249999999997323 3.874999999999504 0
-1433 5.249999999997527 3.749999999999007 0
-1434 5.249999999997731 3.62499999999851 0
-1435 5.249999999997933 3.499999999998089 0
-1436 5.249999999998137 3.374999999998731 0
-1437 5.249999999998342 3.249999999999448 0
-1438 5.249999999998542 3.125000000000167 0
-1439 5.249999999998746 3.000000000000886 0
-1440 5.249999999998948 2.875000000001602 0
-1441 5.249999999999151 2.750000000002319 0
-1442 5.249999999999355 2.625000000003037 0
-1443 5.249999999999558 2.500000000003754 0
-1444 5.249999999999762 2.375000000004472 0
-1445 5.249999999999963 2.25000000000519 0
-1446 5.250000000000169 2.125000000005906 0
-1447 5.250000000000371 2.000000000006554 0
-1448 5.250000000000574 1.875000000006215 0
-1449 5.250000000000778 1.750000000005805 0
-1450 5.250000000000981 1.625000000005396 0
-1451 5.250000000001183 1.500000000004986 0
-1452 5.250000000001387 1.375000000004576 0
-1453 5.25000000000159 1.250000000004167 0
-1454 5.250000000001792 1.125000000003757 0
-1455 5.250000000001997 1.000000000003347 0
-1456 5.250000000002199 0.8750000000029379 0
-1457 5.250000000002403 0.750000000002528 0
-1458 5.250000000002606 0.6250000000021185 0
-1459 5.250000000002808 0.5000000000017075 0
-1460 5.250000000003011 0.3750000000012776 0
-1461 5.250000000003215 0.2500000000008469 0
-1462 5.250000000003418 0.1250000000004257 0
-1463 5.374999999997796 3.874999999999499 0
-1464 5.374999999997988 3.749999999998999 0
-1465 5.374999999998182 3.624999999998498 0
-1466 5.374999999998376 3.499999999998075 0
-1467 5.37499999999857 3.37499999999874 0
-1468 5.374999999998765 3.249999999999483 0
-1469 5.374999999998957 3.125000000000226 0
-1470 5.374999999999151 3.000000000000969 0
-1471 5.374999999999345 2.875000000001712 0
-1472 5.37499999999954 2.750000000002453 0
-1473 5.374999999999731 2.625000000003196 0
-1474 5.374999999999925 2.500000000003938 0
-1475 5.375000000000119 2.375000000004681 0
-1476 5.375000000000312 2.250000000005423 0
-1477 5.375000000000505 2.125000000006166 0
-1478 5.3750000000007 2.000000000006835 0
-1479 5.375000000000894 1.87500000000648 0
-1480 5.375000000001087 1.750000000006052 0
-1481 5.375000000001281 1.625000000005624 0
-1482 5.375000000001473 1.500000000005195 0
-1483 5.375000000001667 1.375000000004767 0
-1484 5.375000000001861 1.25000000000434 0
-1485 5.375000000002055 1.125000000003911 0
-1486 5.375000000002249 1.000000000003483 0
-1487 5.375000000002442 0.8750000000030553 0
-1488 5.375000000002637 0.7500000000026268 0
-1489 5.375000000002829 0.6250000000021991 0
-1490 5.375000000003024 0.5000000000017697 0
-1491 5.375000000003217 0.3750000000013249 0
-1492 5.375000000003411 0.2500000000008792 0
-1493 5.375000000003603 0.1250000000004414 0
-1494 5.499999999998271 3.874999999999496 0
-1495 5.499999999998462 3.749999999998991 0
-1496 5.499999999998651 3.624999999998487 0
-1497 5.499999999998839 3.499999999998061 0
-1498 5.499999999999029 3.374999999998749 0
-1499 5.49999999999922 3.249999999999517 0
-1500 5.499999999999407 3.125000000000284 0
-1501 5.499999999999599 3.000000000001052 0
-1502 5.499999999999786 2.87500000000182 0
-1503 5.499999999999976 2.750000000002587 0
-1504 5.500000000000165 2.625000000003354 0
-1505 5.500000000000356 2.500000000004122 0
-1506 5.500000000000544 2.375000000004889 0
-1507 5.500000000000736 2.250000000005657 0
-1508 5.500000000000925 2.125000000006423 0
-1509 5.500000000001115 2.000000000007115 0
-1510 5.500000000001305 1.875000000006744 0
-1511 5.500000000001493 1.750000000006298 0
-1512 5.500000000001685 1.625000000005851 0
-1513 5.500000000001873 1.500000000005405 0
-1514 5.500000000002063 1.375000000004958 0
-1515 5.500000000002252 1.250000000004512 0
-1516 5.500000000002442 1.125000000004066 0
-1517 5.500000000002632 1.000000000003619 0
-1518 5.500000000002821 0.8750000000031726 0
-1519 5.50000000000301 0.7500000000027258 0
-1520 5.500000000003202 0.6250000000022795 0
-1521 5.500000000003389 0.5000000000018319 0
-1522 5.50000000000358 0.3750000000013721 0
-1523 5.50000000000377 0.2500000000009115 0
-1524 5.500000000003959 0.1250000000004572 0
-1525 5.62499999999874 3.874999999999492 0
-1526 5.62499999999892 3.749999999998983 0
-1527 5.6249999999991 3.624999999998474 0
-1528 5.624999999999279 3.499999999998046 0
-1529 5.62499999999946 3.374999999998758 0
-1530 5.624999999999642 3.249999999999551 0
-1531 5.624999999999821 3.125000000000343 0
-1532 5.625000000000001 3.000000000001137 0
-1533 5.625000000000183 2.875000000001928 0
-1534 5.625000000000362 2.75000000000272 0
-1535 5.625000000000544 2.625000000003513 0
-1536 5.625000000000721 2.500000000004305 0
-1537 5.625000000000902 2.375000000005098 0
-1538 5.625000000001082 2.25000000000589 0
-1539 5.625000000001261 2.125000000006682 0
-1540 5.625000000001442 2.000000000007396 0
-1541 5.625000000001624 1.875000000007009 0
-1542 5.625000000001801 1.750000000006545 0
-1543 5.625000000001983 1.62500000000608 0
-1544 5.625000000002162 1.500000000005615 0
-1545 5.625000000002344 1.375000000005149 0
-1546 5.625000000002522 1.250000000004685 0
-1547 5.625000000002704 1.12500000000422 0
-1548 5.625000000002885 1.000000000003754 0
-1549 5.625000000003063 0.8750000000032898 0
-1550 5.625000000003244 0.7500000000028249 0
-1551 5.625000000003425 0.6250000000023599 0
-1552 5.625000000003603 0.5000000000018943 0
-1553 5.625000000003784 0.3750000000014193 0
-1554 5.625000000003965 0.2500000000009437 0
-1555 5.625000000004145 0.1250000000004731 0
-1556 5.749999999999165 3.874999999999487 0
-1557 5.749999999999289 3.749999999998975 0
-1558 5.749999999999412 3.624999999998462 0
-1559 5.749999999999536 3.499999999998033 0
-1560 5.749999999999661 3.374999999998767 0
-1561 5.749999999999783 3.249999999999585 0
-1562 5.749999999999908 3.125000000000403 0
-1563 5.75000000000003 3.00000000000122 0
-1564 5.750000000000155 2.875000000002037 0
-1565 5.750000000000276 2.750000000002855 0
-1566 5.750000000000401 2.625000000003672 0
-1567 5.750000000000526 2.500000000004489 0
-1568 5.750000000000648 2.375000000005306 0
-1569 5.750000000000771 2.250000000006123 0
-1570 5.750000000000897 2.12500000000694 0
-1571 5.75000000000102 2.000000000007677 0
-1572 5.750000000001144 1.875000000007274 0
-1573 5.750000000001267 1.750000000006791 0
-1574 5.750000000001391 1.625000000006308 0
-1575 5.750000000001515 1.500000000005824 0
-1576 5.750000000001638 1.375000000005341 0
-1577 5.750000000001762 1.250000000004857 0
-1578 5.750000000001886 1.125000000004374 0
-1579 5.750000000002011 1.00000000000389 0
-1580 5.750000000002133 0.8750000000034073 0
-1581 5.750000000002257 0.7500000000029237 0
-1582 5.75000000000238 0.6250000000024407 0
-1583 5.750000000002505 0.5000000000019564 0
-1584 5.750000000002629 0.3750000000014666 0
-1585 5.750000000002751 0.2500000000009759 0
-1586 5.750000000002876 0.1250000000004888 0
-1587 5.874999999999583 3.874999999999483 0
-1588 5.874999999999643 3.749999999998967 0
-1589 5.874999999999705 3.624999999998451 0
-1590 5.874999999999767 3.499999999998019 0
-1591 5.874999999999829 3.374999999998776 0
-1592 5.874999999999894 3.249999999999619 0
-1593 5.874999999999955 3.125000000000462 0
-1594 5.875000000000016 3.000000000001305 0
-1595 5.875000000000076 2.875000000002147 0
-1596 5.87500000000014 2.750000000002989 0
-1597 5.875000000000201 2.62500000000383 0
-1598 5.875000000000263 2.500000000004672 0
-1599 5.875000000000325 2.375000000005515 0
-1600 5.875000000000387 2.250000000006358 0
-1601 5.875000000000448 2.125000000007199 0
-1602 5.87500000000051 2.000000000007957 0
-1603 5.875000000000572 1.875000000007539 0
-1604 5.875000000000632 1.750000000007037 0
-1605 5.875000000000695 1.625000000006535 0
-1606 5.875000000000757 1.500000000006034 0
-1607 5.875000000000819 1.375000000005532 0
-1608 5.875000000000881 1.25000000000503 0
-1609 5.875000000000944 1.125000000004528 0
-1610 5.875000000001005 1.000000000004026 0
-1611 5.875000000001066 0.8750000000035247 0
-1612 5.87500000000113 0.7500000000030225 0
-1613 5.87500000000119 0.6250000000025211 0
-1614 5.875000000001254 0.5000000000020188 0
-1615 5.875000000001315 0.3750000000015138 0
-1616 5.875000000001377 0.2500000000010083 0
-1617 5.875000000001439 0.1250000000005047 0
-$EndNodes
-$Elements
-1700
-1 15 2 0 1 1
-2 15 2 0 2 2
-3 15 2 0 3 3
-4 15 2 0 4 4
-5 1 2 0 1 4 5
-6 1 2 0 1 5 6
-7 1 2 0 1 6 7
-8 1 2 0 1 7 8
-9 1 2 0 1 8 9
-10 1 2 0 1 9 10
-11 1 2 0 1 10 11
-12 1 2 0 1 11 12
-13 1 2 0 1 12 13
-14 1 2 0 1 13 14
-15 1 2 0 1 14 15
-16 1 2 0 1 15 16
-17 1 2 0 1 16 17
-18 1 2 0 1 17 18
-19 1 2 0 1 18 19
-20 1 2 0 1 19 20
-21 1 2 0 1 20 21
-22 1 2 0 1 21 22
-23 1 2 0 1 22 23
-24 1 2 0 1 23 24
-25 1 2 0 1 24 25
-26 1 2 0 1 25 26
-27 1 2 0 1 26 27
-28 1 2 0 1 27 28
-29 1 2 0 1 28 29
-30 1 2 0 1 29 30
-31 1 2 0 1 30 31
-32 1 2 0 1 31 32
-33 1 2 0 1 32 33
-34 1 2 0 1 33 34
-35 1 2 0 1 34 35
-36 1 2 0 1 35 36
-37 1 2 0 1 36 37
-38 1 2 0 1 37 38
-39 1 2 0 1 38 39
-40 1 2 0 1 39 40
-41 1 2 0 1 40 41
-42 1 2 0 1 41 42
-43 1 2 0 1 42 43
-44 1 2 0 1 43 44
-45 1 2 0 1 44 45
-46 1 2 0 1 45 46
-47 1 2 0 1 46 47
-48 1 2 0 1 47 48
-49 1 2 0 1 48 49
-50 1 2 0 1 49 50
-51 1 2 0 1 50 51
-52 1 2 0 1 51 3
-53 1 2 0 2 3 52
-54 1 2 0 2 52 53
-55 1 2 0 2 53 54
-56 1 2 0 2 54 55
-57 1 2 0 2 55 56
-58 1 2 0 2 56 57
-59 1 2 0 2 57 58
-60 1 2 0 2 58 59
-61 1 2 0 2 59 60
-62 1 2 0 2 60 61
-63 1 2 0 2 61 62
-64 1 2 0 2 62 63
-65 1 2 0 2 63 64
-66 1 2 0 2 64 65
-67 1 2 0 2 65 66
-68 1 2 0 2 66 67
-69 1 2 0 2 67 68
-70 1 2 0 2 68 69
-71 1 2 0 2 69 70
-72 1 2 0 2 70 71
-73 1 2 0 2 71 72
-74 1 2 0 2 72 73
-75 1 2 0 2 73 74
-76 1 2 0 2 74 75
-77 1 2 0 2 75 76
-78 1 2 0 2 76 77
-79 1 2 0 2 77 78
-80 1 2 0 2 78 79
-81 1 2 0 2 79 80
-82 1 2 0 2 80 81
-83 1 2 0 2 81 82
-84 1 2 0 2 82 2
-85 1 2 0 3 2 83
-86 1 2 0 3 83 84
-87 1 2 0 3 84 85
-88 1 2 0 3 85 86
-89 1 2 0 3 86 87
-90 1 2 0 3 87 88
-91 1 2 0 3 88 89
-92 1 2 0 3 89 90
-93 1 2 0 3 90 91
-94 1 2 0 3 91 92
-95 1 2 0 3 92 93
-96 1 2 0 3 93 94
-97 1 2 0 3 94 95
-98 1 2 0 3 95 96
-99 1 2 0 3 96 97
-100 1 2 0 3 97 98
-101 1 2 0 3 98 99
-102 1 2 0 3 99 100
-103 1 2 0 3 100 101
-104 1 2 0 3 101 102
-105 1 2 0 3 102 103
-106 1 2 0 3 103 104
-107 1 2 0 3 104 105
-108 1 2 0 3 105 106
-109 1 2 0 3 106 107
-110 1 2 0 3 107 108
-111 1 2 0 3 108 109
-112 1 2 0 3 109 110
-113 1 2 0 3 110 111
-114 1 2 0 3 111 112
-115 1 2 0 3 112 113
-116 1 2 0 3 113 114
-117 1 2 0 3 114 115
-118 1 2 0 3 115 116
-119 1 2 0 3 116 117
-120 1 2 0 3 117 118
-121 1 2 0 3 118 119
-122 1 2 0 3 119 120
-123 1 2 0 3 120 121
-124 1 2 0 3 121 122
-125 1 2 0 3 122 123
-126 1 2 0 3 123 124
-127 1 2 0 3 124 125
-128 1 2 0 3 125 126
-129 1 2 0 3 126 127
-130 1 2 0 3 127 128
-131 1 2 0 3 128 129
-132 1 2 0 3 129 1
-133 1 2 0 4 1 130
-134 1 2 0 4 130 131
-135 1 2 0 4 131 132
-136 1 2 0 4 132 133
-137 1 2 0 4 133 134
-138 1 2 0 4 134 135
-139 1 2 0 4 135 136
-140 1 2 0 4 136 137
-141 1 2 0 4 137 138
-142 1 2 0 4 138 139
-143 1 2 0 4 139 140
-144 1 2 0 4 140 141
-145 1 2 0 4 141 142
-146 1 2 0 4 142 143
-147 1 2 0 4 143 144
-148 1 2 0 4 144 145
-149 1 2 0 4 145 146
-150 1 2 0 4 146 147
-151 1 2 0 4 147 148
-152 1 2 0 4 148 149
-153 1 2 0 4 149 150
-154 1 2 0 4 150 151
-155 1 2 0 4 151 152
-156 1 2 0 4 152 153
-157 1 2 0 4 153 154
-158 1 2 0 4 154 155
-159 1 2 0 4 155 156
-160 1 2 0 4 156 157
-161 1 2 0 4 157 158
-162 1 2 0 4 158 159
-163 1 2 0 4 159 160
-164 1 2 0 4 160 4
-165 3 2 0 7 4 5 161 160
-166 3 2 0 7 160 161 162 159
-167 3 2 0 7 159 162 163 158
-168 3 2 0 7 158 163 164 157
-169 3 2 0 7 157 164 165 156
-170 3 2 0 7 156 165 166 155
-171 3 2 0 7 155 166 167 154
-172 3 2 0 7 154 167 168 153
-173 3 2 0 7 153 168 169 152
-174 3 2 0 7 152 169 170 151
-175 3 2 0 7 151 170 171 150
-176 3 2 0 7 150 171 172 149
-177 3 2 0 7 149 172 173 148
-178 3 2 0 7 148 173 174 147
-179 3 2 0 7 147 174 175 146
-180 3 2 0 7 146 175 176 145
-181 3 2 0 7 145 176 177 144
-182 3 2 0 7 144 177 178 143
-183 3 2 0 7 143 178 179 142
-184 3 2 0 7 142 179 180 141
-185 3 2 0 7 141 180 181 140
-186 3 2 0 7 140 181 182 139
-187 3 2 0 7 139 182 183 138
-188 3 2 0 7 138 183 184 137
-189 3 2 0 7 137 184 185 136
-190 3 2 0 7 136 185 186 135
-191 3 2 0 7 135 186 187 134
-192 3 2 0 7 134 187 188 133
-193 3 2 0 7 133 188 189 132
-194 3 2 0 7 132 189 190 131
-195 3 2 0 7 131 190 191 130
-196 3 2 0 7 130 191 129 1
-197 3 2 0 7 5 6 192 161
-198 3 2 0 7 161 192 193 162
-199 3 2 0 7 162 193 194 163
-200 3 2 0 7 163 194 195 164
-201 3 2 0 7 164 195 196 165
-202 3 2 0 7 165 196 197 166
-203 3 2 0 7 166 197 198 167
-204 3 2 0 7 167 198 199 168
-205 3 2 0 7 168 199 200 169
-206 3 2 0 7 169 200 201 170
-207 3 2 0 7 170 201 202 171
-208 3 2 0 7 171 202 203 172
-209 3 2 0 7 172 203 204 173
-210 3 2 0 7 173 204 205 174
-211 3 2 0 7 174 205 206 175
-212 3 2 0 7 175 206 207 176
-213 3 2 0 7 176 207 208 177
-214 3 2 0 7 177 208 209 178
-215 3 2 0 7 178 209 210 179
-216 3 2 0 7 179 210 211 180
-217 3 2 0 7 180 211 212 181
-218 3 2 0 7 181 212 213 182
-219 3 2 0 7 182 213 214 183
-220 3 2 0 7 183 214 215 184
-221 3 2 0 7 184 215 216 185
-222 3 2 0 7 185 216 217 186
-223 3 2 0 7 186 217 218 187
-224 3 2 0 7 187 218 219 188
-225 3 2 0 7 188 219 220 189
-226 3 2 0 7 189 220 221 190
-227 3 2 0 7 190 221 222 191
-228 3 2 0 7 191 222 128 129
-229 3 2 0 7 6 7 223 192
-230 3 2 0 7 192 223 224 193
-231 3 2 0 7 193 224 225 194
-232 3 2 0 7 194 225 226 195
-233 3 2 0 7 195 226 227 196
-234 3 2 0 7 196 227 228 197
-235 3 2 0 7 197 228 229 198
-236 3 2 0 7 198 229 230 199
-237 3 2 0 7 199 230 231 200
-238 3 2 0 7 200 231 232 201
-239 3 2 0 7 201 232 233 202
-240 3 2 0 7 202 233 234 203
-241 3 2 0 7 203 234 235 204
-242 3 2 0 7 204 235 236 205
-243 3 2 0 7 205 236 237 206
-244 3 2 0 7 206 237 238 207
-245 3 2 0 7 207 238 239 208
-246 3 2 0 7 208 239 240 209
-247 3 2 0 7 209 240 241 210
-248 3 2 0 7 210 241 242 211
-249 3 2 0 7 211 242 243 212
-250 3 2 0 7 212 243 244 213
-251 3 2 0 7 213 244 245 214
-252 3 2 0 7 214 245 246 215
-253 3 2 0 7 215 246 247 216
-254 3 2 0 7 216 247 248 217
-255 3 2 0 7 217 248 249 218
-256 3 2 0 7 218 249 250 219
-257 3 2 0 7 219 250 251 220
-258 3 2 0 7 220 251 252 221
-259 3 2 0 7 221 252 253 222
-260 3 2 0 7 222 253 127 128
-261 3 2 0 7 7 8 254 223
-262 3 2 0 7 223 254 255 224
-263 3 2 0 7 224 255 256 225
-264 3 2 0 7 225 256 257 226
-265 3 2 0 7 226 257 258 227
-266 3 2 0 7 227 258 259 228
-267 3 2 0 7 228 259 260 229
-268 3 2 0 7 229 260 261 230
-269 3 2 0 7 230 261 262 231
-270 3 2 0 7 231 262 263 232
-271 3 2 0 7 232 263 264 233
-272 3 2 0 7 233 264 265 234
-273 3 2 0 7 234 265 266 235
-274 3 2 0 7 235 266 267 236
-275 3 2 0 7 236 267 268 237
-276 3 2 0 7 237 268 269 238
-277 3 2 0 7 238 269 270 239
-278 3 2 0 7 239 270 271 240
-279 3 2 0 7 240 271 272 241
-280 3 2 0 7 241 272 273 242
-281 3 2 0 7 242 273 274 243
-282 3 2 0 7 243 274 275 244
-283 3 2 0 7 244 275 276 245
-284 3 2 0 7 245 276 277 246
-285 3 2 0 7 246 277 278 247
-286 3 2 0 7 247 278 279 248
-287 3 2 0 7 248 279 280 249
-288 3 2 0 7 249 280 281 250
-289 3 2 0 7 250 281 282 251
-290 3 2 0 7 251 282 283 252
-291 3 2 0 7 252 283 284 253
-292 3 2 0 7 253 284 126 127
-293 3 2 0 7 8 9 285 254
-294 3 2 0 7 254 285 286 255
-295 3 2 0 7 255 286 287 256
-296 3 2 0 7 256 287 288 257
-297 3 2 0 7 257 288 289 258
-298 3 2 0 7 258 289 290 259
-299 3 2 0 7 259 290 291 260
-300 3 2 0 7 260 291 292 261
-301 3 2 0 7 261 292 293 262
-302 3 2 0 7 262 293 294 263
-303 3 2 0 7 263 294 295 264
-304 3 2 0 7 264 295 296 265
-305 3 2 0 7 265 296 297 266
-306 3 2 0 7 266 297 298 267
-307 3 2 0 7 267 298 299 268
-308 3 2 0 7 268 299 300 269
-309 3 2 0 7 269 300 301 270
-310 3 2 0 7 270 301 302 271
-311 3 2 0 7 271 302 303 272
-312 3 2 0 7 272 303 304 273
-313 3 2 0 7 273 304 305 274
-314 3 2 0 7 274 305 306 275
-315 3 2 0 7 275 306 307 276
-316 3 2 0 7 276 307 308 277
-317 3 2 0 7 277 308 309 278
-318 3 2 0 7 278 309 310 279
-319 3 2 0 7 279 310 311 280
-320 3 2 0 7 280 311 312 281
-321 3 2 0 7 281 312 313 282
-322 3 2 0 7 282 313 314 283
-323 3 2 0 7 283 314 315 284
-324 3 2 0 7 284 315 125 126
-325 3 2 0 7 9 10 316 285
-326 3 2 0 7 285 316 317 286
-327 3 2 0 7 286 317 318 287
-328 3 2 0 7 287 318 319 288
-329 3 2 0 7 288 319 320 289
-330 3 2 0 7 289 320 321 290
-331 3 2 0 7 290 321 322 291
-332 3 2 0 7 291 322 323 292
-333 3 2 0 7 292 323 324 293
-334 3 2 0 7 293 324 325 294
-335 3 2 0 7 294 325 326 295
-336 3 2 0 7 295 326 327 296
-337 3 2 0 7 296 327 328 297
-338 3 2 0 7 297 328 329 298
-339 3 2 0 7 298 329 330 299
-340 3 2 0 7 299 330 331 300
-341 3 2 0 7 300 331 332 301
-342 3 2 0 7 301 332 333 302
-343 3 2 0 7 302 333 334 303
-344 3 2 0 7 303 334 335 304
-345 3 2 0 7 304 335 336 305
-346 3 2 0 7 305 336 337 306
-347 3 2 0 7 306 337 338 307
-348 3 2 0 7 307 338 339 308
-349 3 2 0 7 308 339 340 309
-350 3 2 0 7 309 340 341 310
-351 3 2 0 7 310 341 342 311
-352 3 2 0 7 311 342 343 312
-353 3 2 0 7 312 343 344 313
-354 3 2 0 7 313 344 345 314
-355 3 2 0 7 314 345 346 315
-356 3 2 0 7 315 346 124 125
-357 3 2 0 7 10 11 347 316
-358 3 2 0 7 316 347 348 317
-359 3 2 0 7 317 348 349 318
-360 3 2 0 7 318 349 350 319
-361 3 2 0 7 319 350 351 320
-362 3 2 0 7 320 351 352 321
-363 3 2 0 7 321 352 353 322
-364 3 2 0 7 322 353 354 323
-365 3 2 0 7 323 354 355 324
-366 3 2 0 7 324 355 356 325
-367 3 2 0 7 325 356 357 326
-368 3 2 0 7 326 357 358 327
-369 3 2 0 7 327 358 359 328
-370 3 2 0 7 328 359 360 329
-371 3 2 0 7 329 360 361 330
-372 3 2 0 7 330 361 362 331
-373 3 2 0 7 331 362 363 332
-374 3 2 0 7 332 363 364 333
-375 3 2 0 7 333 364 365 334
-376 3 2 0 7 334 365 366 335
-377 3 2 0 7 335 366 367 336
-378 3 2 0 7 336 367 368 337
-379 3 2 0 7 337 368 369 338
-380 3 2 0 7 338 369 370 339
-381 3 2 0 7 339 370 371 340
-382 3 2 0 7 340 371 372 341
-383 3 2 0 7 341 372 373 342
-384 3 2 0 7 342 373 374 343
-385 3 2 0 7 343 374 375 344
-386 3 2 0 7 344 375 376 345
-387 3 2 0 7 345 376 377 346
-388 3 2 0 7 346 377 123 124
-389 3 2 0 7 11 12 378 347
-390 3 2 0 7 347 378 379 348
-391 3 2 0 7 348 379 380 349
-392 3 2 0 7 349 380 381 350
-393 3 2 0 7 350 381 382 351
-394 3 2 0 7 351 382 383 352
-395 3 2 0 7 352 383 384 353
-396 3 2 0 7 353 384 385 354
-397 3 2 0 7 354 385 386 355
-398 3 2 0 7 355 386 387 356
-399 3 2 0 7 356 387 388 357
-400 3 2 0 7 357 388 389 358
-401 3 2 0 7 358 389 390 359
-402 3 2 0 7 359 390 391 360
-403 3 2 0 7 360 391 392 361
-404 3 2 0 7 361 392 393 362
-405 3 2 0 7 362 393 394 363
-406 3 2 0 7 363 394 395 364
-407 3 2 0 7 364 395 396 365
-408 3 2 0 7 365 396 397 366
-409 3 2 0 7 366 397 398 367
-410 3 2 0 7 367 398 399 368
-411 3 2 0 7 368 399 400 369
-412 3 2 0 7 369 400 401 370
-413 3 2 0 7 370 401 402 371
-414 3 2 0 7 371 402 403 372
-415 3 2 0 7 372 403 404 373
-416 3 2 0 7 373 404 405 374
-417 3 2 0 7 374 405 406 375
-418 3 2 0 7 375 406 407 376
-419 3 2 0 7 376 407 408 377
-420 3 2 0 7 377 408 122 123
-421 3 2 0 7 12 13 409 378
-422 3 2 0 7 378 409 410 379
-423 3 2 0 7 379 410 411 380
-424 3 2 0 7 380 411 412 381
-425 3 2 0 7 381 412 413 382
-426 3 2 0 7 382 413 414 383
-427 3 2 0 7 383 414 415 384
-428 3 2 0 7 384 415 416 385
-429 3 2 0 7 385 416 417 386
-430 3 2 0 7 386 417 418 387
-431 3 2 0 7 387 418 419 388
-432 3 2 0 7 388 419 420 389
-433 3 2 0 7 389 420 421 390
-434 3 2 0 7 390 421 422 391
-435 3 2 0 7 391 422 423 392
-436 3 2 0 7 392 423 424 393
-437 3 2 0 7 393 424 425 394
-438 3 2 0 7 394 425 426 395
-439 3 2 0 7 395 426 427 396
-440 3 2 0 7 396 427 428 397
-441 3 2 0 7 397 428 429 398
-442 3 2 0 7 398 429 430 399
-443 3 2 0 7 399 430 431 400
-444 3 2 0 7 400 431 432 401
-445 3 2 0 7 401 432 433 402
-446 3 2 0 7 402 433 434 403
-447 3 2 0 7 403 434 435 404
-448 3 2 0 7 404 435 436 405
-449 3 2 0 7 405 436 437 406
-450 3 2 0 7 406 437 438 407
-451 3 2 0 7 407 438 439 408
-452 3 2 0 7 408 439 121 122
-453 3 2 0 7 13 14 440 409
-454 3 2 0 7 409 440 441 410
-455 3 2 0 7 410 441 442 411
-456 3 2 0 7 411 442 443 412
-457 3 2 0 7 412 443 444 413
-458 3 2 0 7 413 444 445 414
-459 3 2 0 7 414 445 446 415
-460 3 2 0 7 415 446 447 416
-461 3 2 0 7 416 447 448 417
-462 3 2 0 7 417 448 449 418
-463 3 2 0 7 418 449 450 419
-464 3 2 0 7 419 450 451 420
-465 3 2 0 7 420 451 452 421
-466 3 2 0 7 421 452 453 422
-467 3 2 0 7 422 453 454 423
-468 3 2 0 7 423 454 455 424
-469 3 2 0 7 424 455 456 425
-470 3 2 0 7 425 456 457 426
-471 3 2 0 7 426 457 458 427
-472 3 2 0 7 427 458 459 428
-473 3 2 0 7 428 459 460 429
-474 3 2 0 7 429 460 461 430
-475 3 2 0 7 430 461 462 431
-476 3 2 0 7 431 462 463 432
-477 3 2 0 7 432 463 464 433
-478 3 2 0 7 433 464 465 434
-479 3 2 0 7 434 465 466 435
-480 3 2 0 7 435 466 467 436
-481 3 2 0 7 436 467 468 437
-482 3 2 0 7 437 468 469 438
-483 3 2 0 7 438 469 470 439
-484 3 2 0 7 439 470 120 121
-485 3 2 0 7 14 15 471 440
-486 3 2 0 7 440 471 472 441
-487 3 2 0 7 441 472 473 442
-488 3 2 0 7 442 473 474 443
-489 3 2 0 7 443 474 475 444
-490 3 2 0 7 444 475 476 445
-491 3 2 0 7 445 476 477 446
-492 3 2 0 7 446 477 478 447
-493 3 2 0 7 447 478 479 448
-494 3 2 0 7 448 479 480 449
-495 3 2 0 7 449 480 481 450
-496 3 2 0 7 450 481 482 451
-497 3 2 0 7 451 482 483 452
-498 3 2 0 7 452 483 484 453
-499 3 2 0 7 453 484 485 454
-500 3 2 0 7 454 485 486 455
-501 3 2 0 7 455 486 487 456
-502 3 2 0 7 456 487 488 457
-503 3 2 0 7 457 488 489 458
-504 3 2 0 7 458 489 490 459
-505 3 2 0 7 459 490 491 460
-506 3 2 0 7 460 491 492 461
-507 3 2 0 7 461 492 493 462
-508 3 2 0 7 462 493 494 463
-509 3 2 0 7 463 494 495 464
-510 3 2 0 7 464 495 496 465
-511 3 2 0 7 465 496 497 466
-512 3 2 0 7 466 497 498 467
-513 3 2 0 7 467 498 499 468
-514 3 2 0 7 468 499 500 469
-515 3 2 0 7 469 500 501 470
-516 3 2 0 7 470 501 119 120
-517 3 2 0 7 15 16 502 471
-518 3 2 0 7 471 502 503 472
-519 3 2 0 7 472 503 504 473
-520 3 2 0 7 473 504 505 474
-521 3 2 0 7 474 505 506 475
-522 3 2 0 7 475 506 507 476
-523 3 2 0 7 476 507 508 477
-524 3 2 0 7 477 508 509 478
-525 3 2 0 7 478 509 510 479
-526 3 2 0 7 479 510 511 480
-527 3 2 0 7 480 511 512 481
-528 3 2 0 7 481 512 513 482
-529 3 2 0 7 482 513 514 483
-530 3 2 0 7 483 514 515 484
-531 3 2 0 7 484 515 516 485
-532 3 2 0 7 485 516 517 486
-533 3 2 0 7 486 517 518 487
-534 3 2 0 7 487 518 519 488
-535 3 2 0 7 488 519 520 489
-536 3 2 0 7 489 520 521 490
-537 3 2 0 7 490 521 522 491
-538 3 2 0 7 491 522 523 492
-539 3 2 0 7 492 523 524 493
-540 3 2 0 7 493 524 525 494
-541 3 2 0 7 494 525 526 495
-542 3 2 0 7 495 526 527 496
-543 3 2 0 7 496 527 528 497
-544 3 2 0 7 497 528 529 498
-545 3 2 0 7 498 529 530 499
-546 3 2 0 7 499 530 531 500
-547 3 2 0 7 500 531 532 501
-548 3 2 0 7 501 532 118 119
-549 3 2 0 7 16 17 533 502
-550 3 2 0 7 502 533 534 503
-551 3 2 0 7 503 534 535 504
-552 3 2 0 7 504 535 536 505
-553 3 2 0 7 505 536 537 506
-554 3 2 0 7 506 537 538 507
-555 3 2 0 7 507 538 539 508
-556 3 2 0 7 508 539 540 509
-557 3 2 0 7 509 540 541 510
-558 3 2 0 7 510 541 542 511
-559 3 2 0 7 511 542 543 512
-560 3 2 0 7 512 543 544 513
-561 3 2 0 7 513 544 545 514
-562 3 2 0 7 514 545 546 515
-563 3 2 0 7 515 546 547 516
-564 3 2 0 7 516 547 548 517
-565 3 2 0 7 517 548 549 518
-566 3 2 0 7 518 549 550 519
-567 3 2 0 7 519 550 551 520
-568 3 2 0 7 520 551 552 521
-569 3 2 0 7 521 552 553 522
-570 3 2 0 7 522 553 554 523
-571 3 2 0 7 523 554 555 524
-572 3 2 0 7 524 555 556 525
-573 3 2 0 7 525 556 557 526
-574 3 2 0 7 526 557 558 527
-575 3 2 0 7 527 558 559 528
-576 3 2 0 7 528 559 560 529
-577 3 2 0 7 529 560 561 530
-578 3 2 0 7 530 561 562 531
-579 3 2 0 7 531 562 563 532
-580 3 2 0 7 532 563 117 118
-581 3 2 0 7 17 18 564 533
-582 3 2 0 7 533 564 565 534
-583 3 2 0 7 534 565 566 535
-584 3 2 0 7 535 566 567 536
-585 3 2 0 7 536 567 568 537
-586 3 2 0 7 537 568 569 538
-587 3 2 0 7 538 569 570 539
-588 3 2 0 7 539 570 571 540
-589 3 2 0 7 540 571 572 541
-590 3 2 0 7 541 572 573 542
-591 3 2 0 7 542 573 574 543
-592 3 2 0 7 543 574 575 544
-593 3 2 0 7 544 575 576 545
-594 3 2 0 7 545 576 577 546
-595 3 2 0 7 546 577 578 547
-596 3 2 0 7 547 578 579 548
-597 3 2 0 7 548 579 580 549
-598 3 2 0 7 549 580 581 550
-599 3 2 0 7 550 581 582 551
-600 3 2 0 7 551 582 583 552
-601 3 2 0 7 552 583 584 553
-602 3 2 0 7 553 584 585 554
-603 3 2 0 7 554 585 586 555
-604 3 2 0 7 555 586 587 556
-605 3 2 0 7 556 587 588 557
-606 3 2 0 7 557 588 589 558
-607 3 2 0 7 558 589 590 559
-608 3 2 0 7 559 590 591 560
-609 3 2 0 7 560 591 592 561
-610 3 2 0 7 561 592 593 562
-611 3 2 0 7 562 593 594 563
-612 3 2 0 7 563 594 116 117
-613 3 2 0 7 18 19 595 564
-614 3 2 0 7 564 595 596 565
-615 3 2 0 7 565 596 597 566
-616 3 2 0 7 566 597 598 567
-617 3 2 0 7 567 598 599 568
-618 3 2 0 7 568 599 600 569
-619 3 2 0 7 569 600 601 570
-620 3 2 0 7 570 601 602 571
-621 3 2 0 7 571 602 603 572
-622 3 2 0 7 572 603 604 573
-623 3 2 0 7 573 604 605 574
-624 3 2 0 7 574 605 606 575
-625 3 2 0 7 575 606 607 576
-626 3 2 0 7 576 607 608 577
-627 3 2 0 7 577 608 609 578
-628 3 2 0 7 578 609 610 579
-629 3 2 0 7 579 610 611 580
-630 3 2 0 7 580 611 612 581
-631 3 2 0 7 581 612 613 582
-632 3 2 0 7 582 613 614 583
-633 3 2 0 7 583 614 615 584
-634 3 2 0 7 584 615 616 585
-635 3 2 0 7 585 616 617 586
-636 3 2 0 7 586 617 618 587
-637 3 2 0 7 587 618 619 588
-638 3 2 0 7 588 619 620 589
-639 3 2 0 7 589 620 621 590
-640 3 2 0 7 590 621 622 591
-641 3 2 0 7 591 622 623 592
-642 3 2 0 7 592 623 624 593
-643 3 2 0 7 593 624 625 594
-644 3 2 0 7 594 625 115 116
-645 3 2 0 7 19 20 626 595
-646 3 2 0 7 595 626 627 596
-647 3 2 0 7 596 627 628 597
-648 3 2 0 7 597 628 629 598
-649 3 2 0 7 598 629 630 599
-650 3 2 0 7 599 630 631 600
-651 3 2 0 7 600 631 632 601
-652 3 2 0 7 601 632 633 602
-653 3 2 0 7 602 633 634 603
-654 3 2 0 7 603 634 635 604
-655 3 2 0 7 604 635 636 605
-656 3 2 0 7 605 636 637 606
-657 3 2 0 7 606 637 638 607
-658 3 2 0 7 607 638 639 608
-659 3 2 0 7 608 639 640 609
-660 3 2 0 7 609 640 641 610
-661 3 2 0 7 610 641 642 611
-662 3 2 0 7 611 642 643 612
-663 3 2 0 7 612 643 644 613
-664 3 2 0 7 613 644 645 614
-665 3 2 0 7 614 645 646 615
-666 3 2 0 7 615 646 647 616
-667 3 2 0 7 616 647 648 617
-668 3 2 0 7 617 648 649 618
-669 3 2 0 7 618 649 650 619
-670 3 2 0 7 619 650 651 620
-671 3 2 0 7 620 651 652 621
-672 3 2 0 7 621 652 653 622
-673 3 2 0 7 622 653 654 623
-674 3 2 0 7 623 654 655 624
-675 3 2 0 7 624 655 656 625
-676 3 2 0 7 625 656 114 115
-677 3 2 0 7 20 21 657 626
-678 3 2 0 7 626 657 658 627
-679 3 2 0 7 627 658 659 628
-680 3 2 0 7 628 659 660 629
-681 3 2 0 7 629 660 661 630
-682 3 2 0 7 630 661 662 631
-683 3 2 0 7 631 662 663 632
-684 3 2 0 7 632 663 664 633
-685 3 2 0 7 633 664 665 634
-686 3 2 0 7 634 665 666 635
-687 3 2 0 7 635 666 667 636
-688 3 2 0 7 636 667 668 637
-689 3 2 0 7 637 668 669 638
-690 3 2 0 7 638 669 670 639
-691 3 2 0 7 639 670 671 640
-692 3 2 0 7 640 671 672 641
-693 3 2 0 7 641 672 673 642
-694 3 2 0 7 642 673 674 643
-695 3 2 0 7 643 674 675 644
-696 3 2 0 7 644 675 676 645
-697 3 2 0 7 645 676 677 646
-698 3 2 0 7 646 677 678 647
-699 3 2 0 7 647 678 679 648
-700 3 2 0 7 648 679 680 649
-701 3 2 0 7 649 680 681 650
-702 3 2 0 7 650 681 682 651
-703 3 2 0 7 651 682 683 652
-704 3 2 0 7 652 683 684 653
-705 3 2 0 7 653 684 685 654
-706 3 2 0 7 654 685 686 655
-707 3 2 0 7 655 686 687 656
-708 3 2 0 7 656 687 113 114
-709 3 2 0 7 21 22 688 657
-710 3 2 0 7 657 688 689 658
-711 3 2 0 7 658 689 690 659
-712 3 2 0 7 659 690 691 660
-713 3 2 0 7 660 691 692 661
-714 3 2 0 7 661 692 693 662
-715 3 2 0 7 662 693 694 663
-716 3 2 0 7 663 694 695 664
-717 3 2 0 7 664 695 696 665
-718 3 2 0 7 665 696 697 666
-719 3 2 0 7 666 697 698 667
-720 3 2 0 7 667 698 699 668
-721 3 2 0 7 668 699 700 669
-722 3 2 0 7 669 700 701 670
-723 3 2 0 7 670 701 702 671
-724 3 2 0 7 671 702 703 672
-725 3 2 0 7 672 703 704 673
-726 3 2 0 7 673 704 705 674
-727 3 2 0 7 674 705 706 675
-728 3 2 0 7 675 706 707 676
-729 3 2 0 7 676 707 708 677
-730 3 2 0 7 677 708 709 678
-731 3 2 0 7 678 709 710 679
-732 3 2 0 7 679 710 711 680
-733 3 2 0 7 680 711 712 681
-734 3 2 0 7 681 712 713 682
-735 3 2 0 7 682 713 714 683
-736 3 2 0 7 683 714 715 684
-737 3 2 0 7 684 715 716 685
-738 3 2 0 7 685 716 717 686
-739 3 2 0 7 686 717 718 687
-740 3 2 0 7 687 718 112 113
-741 3 2 0 7 22 23 719 688
-742 3 2 0 7 688 719 720 689
-743 3 2 0 7 689 720 721 690
-744 3 2 0 7 690 721 722 691
-745 3 2 0 7 691 722 723 692
-746 3 2 0 7 692 723 724 693
-747 3 2 0 7 693 724 725 694
-748 3 2 0 7 694 725 726 695
-749 3 2 0 7 695 726 727 696
-750 3 2 0 7 696 727 728 697
-751 3 2 0 7 697 728 729 698
-752 3 2 0 7 698 729 730 699
-753 3 2 0 7 699 730 731 700
-754 3 2 0 7 700 731 732 701
-755 3 2 0 7 701 732 733 702
-756 3 2 0 7 702 733 734 703
-757 3 2 0 7 703 734 735 704
-758 3 2 0 7 704 735 736 705
-759 3 2 0 7 705 736 737 706
-760 3 2 0 7 706 737 738 707
-761 3 2 0 7 707 738 739 708
-762 3 2 0 7 708 739 740 709
-763 3 2 0 7 709 740 741 710
-764 3 2 0 7 710 741 742 711
-765 3 2 0 7 711 742 743 712
-766 3 2 0 7 712 743 744 713
-767 3 2 0 7 713 744 745 714
-768 3 2 0 7 714 745 746 715
-769 3 2 0 7 715 746 747 716
-770 3 2 0 7 716 747 748 717
-771 3 2 0 7 717 748 749 718
-772 3 2 0 7 718 749 111 112
-773 3 2 0 7 23 24 750 719
-774 3 2 0 7 719 750 751 720
-775 3 2 0 7 720 751 752 721
-776 3 2 0 7 721 752 753 722
-777 3 2 0 7 722 753 754 723
-778 3 2 0 7 723 754 755 724
-779 3 2 0 7 724 755 756 725
-780 3 2 0 7 725 756 757 726
-781 3 2 0 7 726 757 758 727
-782 3 2 0 7 727 758 759 728
-783 3 2 0 7 728 759 760 729
-784 3 2 0 7 729 760 761 730
-785 3 2 0 7 730 761 762 731
-786 3 2 0 7 731 762 763 732
-787 3 2 0 7 732 763 764 733
-788 3 2 0 7 733 764 765 734
-789 3 2 0 7 734 765 766 735
-790 3 2 0 7 735 766 767 736
-791 3 2 0 7 736 767 768 737
-792 3 2 0 7 737 768 769 738
-793 3 2 0 7 738 769 770 739
-794 3 2 0 7 739 770 771 740
-795 3 2 0 7 740 771 772 741
-796 3 2 0 7 741 772 773 742
-797 3 2 0 7 742 773 774 743
-798 3 2 0 7 743 774 775 744
-799 3 2 0 7 744 775 776 745
-800 3 2 0 7 745 776 777 746
-801 3 2 0 7 746 777 778 747
-802 3 2 0 7 747 778 779 748
-803 3 2 0 7 748 779 780 749
-804 3 2 0 7 749 780 110 111
-805 3 2 0 7 24 25 781 750
-806 3 2 0 7 750 781 782 751
-807 3 2 0 7 751 782 783 752
-808 3 2 0 7 752 783 784 753
-809 3 2 0 7 753 784 785 754
-810 3 2 0 7 754 785 786 755
-811 3 2 0 7 755 786 787 756
-812 3 2 0 7 756 787 788 757
-813 3 2 0 7 757 788 789 758
-814 3 2 0 7 758 789 790 759
-815 3 2 0 7 759 790 791 760
-816 3 2 0 7 760 791 792 761
-817 3 2 0 7 761 792 793 762
-818 3 2 0 7 762 793 794 763
-819 3 2 0 7 763 794 795 764
-820 3 2 0 7 764 795 796 765
-821 3 2 0 7 765 796 797 766
-822 3 2 0 7 766 797 798 767
-823 3 2 0 7 767 798 799 768
-824 3 2 0 7 768 799 800 769
-825 3 2 0 7 769 800 801 770
-826 3 2 0 7 770 801 802 771
-827 3 2 0 7 771 802 803 772
-828 3 2 0 7 772 803 804 773
-829 3 2 0 7 773 804 805 774
-830 3 2 0 7 774 805 806 775
-831 3 2 0 7 775 806 807 776
-832 3 2 0 7 776 807 808 777
-833 3 2 0 7 777 808 809 778
-834 3 2 0 7 778 809 810 779
-835 3 2 0 7 779 810 811 780
-836 3 2 0 7 780 811 109 110
-837 3 2 0 7 25 26 812 781
-838 3 2 0 7 781 812 813 782
-839 3 2 0 7 782 813 814 783
-840 3 2 0 7 783 814 815 784
-841 3 2 0 7 784 815 816 785
-842 3 2 0 7 785 816 817 786
-843 3 2 0 7 786 817 818 787
-844 3 2 0 7 787 818 819 788
-845 3 2 0 7 788 819 820 789
-846 3 2 0 7 789 820 821 790
-847 3 2 0 7 790 821 822 791
-848 3 2 0 7 791 822 823 792
-849 3 2 0 7 792 823 824 793
-850 3 2 0 7 793 824 825 794
-851 3 2 0 7 794 825 826 795
-852 3 2 0 7 795 826 827 796
-853 3 2 0 7 796 827 828 797
-854 3 2 0 7 797 828 829 798
-855 3 2 0 7 798 829 830 799
-856 3 2 0 7 799 830 831 800
-857 3 2 0 7 800 831 832 801
-858 3 2 0 7 801 832 833 802
-859 3 2 0 7 802 833 834 803
-860 3 2 0 7 803 834 835 804
-861 3 2 0 7 804 835 836 805
-862 3 2 0 7 805 836 837 806
-863 3 2 0 7 806 837 838 807
-864 3 2 0 7 807 838 839 808
-865 3 2 0 7 808 839 840 809
-866 3 2 0 7 809 840 841 810
-867 3 2 0 7 810 841 842 811
-868 3 2 0 7 811 842 108 109
-869 3 2 0 7 26 27 843 812
-870 3 2 0 7 812 843 844 813
-871 3 2 0 7 813 844 845 814
-872 3 2 0 7 814 845 846 815
-873 3 2 0 7 815 846 847 816
-874 3 2 0 7 816 847 848 817
-875 3 2 0 7 817 848 849 818
-876 3 2 0 7 818 849 850 819
-877 3 2 0 7 819 850 851 820
-878 3 2 0 7 820 851 852 821
-879 3 2 0 7 821 852 853 822
-880 3 2 0 7 822 853 854 823
-881 3 2 0 7 823 854 855 824
-882 3 2 0 7 824 855 856 825
-883 3 2 0 7 825 856 857 826
-884 3 2 0 7 826 857 858 827
-885 3 2 0 7 827 858 859 828
-886 3 2 0 7 828 859 860 829
-887 3 2 0 7 829 860 861 830
-888 3 2 0 7 830 861 862 831
-889 3 2 0 7 831 862 863 832
-890 3 2 0 7 832 863 864 833
-891 3 2 0 7 833 864 865 834
-892 3 2 0 7 834 865 866 835
-893 3 2 0 7 835 866 867 836
-894 3 2 0 7 836 867 868 837
-895 3 2 0 7 837 868 869 838
-896 3 2 0 7 838 869 870 839
-897 3 2 0 7 839 870 871 840
-898 3 2 0 7 840 871 872 841
-899 3 2 0 7 841 872 873 842
-900 3 2 0 7 842 873 107 108
-901 3 2 0 7 27 28 874 843
-902 3 2 0 7 843 874 875 844
-903 3 2 0 7 844 875 876 845
-904 3 2 0 7 845 876 877 846
-905 3 2 0 7 846 877 878 847
-906 3 2 0 7 847 878 879 848
-907 3 2 0 7 848 879 880 849
-908 3 2 0 7 849 880 881 850
-909 3 2 0 7 850 881 882 851
-910 3 2 0 7 851 882 883 852
-911 3 2 0 7 852 883 884 853
-912 3 2 0 7 853 884 885 854
-913 3 2 0 7 854 885 886 855
-914 3 2 0 7 855 886 887 856
-915 3 2 0 7 856 887 888 857
-916 3 2 0 7 857 888 889 858
-917 3 2 0 7 858 889 890 859
-918 3 2 0 7 859 890 891 860
-919 3 2 0 7 860 891 892 861
-920 3 2 0 7 861 892 893 862
-921 3 2 0 7 862 893 894 863
-922 3 2 0 7 863 894 895 864
-923 3 2 0 7 864 895 896 865
-924 3 2 0 7 865 896 897 866
-925 3 2 0 7 866 897 898 867
-926 3 2 0 7 867 898 899 868
-927 3 2 0 7 868 899 900 869
-928 3 2 0 7 869 900 901 870
-929 3 2 0 7 870 901 902 871
-930 3 2 0 7 871 902 903 872
-931 3 2 0 7 872 903 904 873
-932 3 2 0 7 873 904 106 107
-933 3 2 0 7 28 29 905 874
-934 3 2 0 7 874 905 906 875
-935 3 2 0 7 875 906 907 876
-936 3 2 0 7 876 907 908 877
-937 3 2 0 7 877 908 909 878
-938 3 2 0 7 878 909 910 879
-939 3 2 0 7 879 910 911 880
-940 3 2 0 7 880 911 912 881
-941 3 2 0 7 881 912 913 882
-942 3 2 0 7 882 913 914 883
-943 3 2 0 7 883 914 915 884
-944 3 2 0 7 884 915 916 885
-945 3 2 0 7 885 916 917 886
-946 3 2 0 7 886 917 918 887
-947 3 2 0 7 887 918 919 888
-948 3 2 0 7 888 919 920 889
-949 3 2 0 7 889 920 921 890
-950 3 2 0 7 890 921 922 891
-951 3 2 0 7 891 922 923 892
-952 3 2 0 7 892 923 924 893
-953 3 2 0 7 893 924 925 894
-954 3 2 0 7 894 925 926 895
-955 3 2 0 7 895 926 927 896
-956 3 2 0 7 896 927 928 897
-957 3 2 0 7 897 928 929 898
-958 3 2 0 7 898 929 930 899
-959 3 2 0 7 899 930 931 900
-960 3 2 0 7 900 931 932 901
-961 3 2 0 7 901 932 933 902
-962 3 2 0 7 902 933 934 903
-963 3 2 0 7 903 934 935 904
-964 3 2 0 7 904 935 105 106
-965 3 2 0 7 29 30 936 905
-966 3 2 0 7 905 936 937 906
-967 3 2 0 7 906 937 938 907
-968 3 2 0 7 907 938 939 908
-969 3 2 0 7 908 939 940 909
-970 3 2 0 7 909 940 941 910
-971 3 2 0 7 910 941 942 911
-972 3 2 0 7 911 942 943 912
-973 3 2 0 7 912 943 944 913
-974 3 2 0 7 913 944 945 914
-975 3 2 0 7 914 945 946 915
-976 3 2 0 7 915 946 947 916
-977 3 2 0 7 916 947 948 917
-978 3 2 0 7 917 948 949 918
-979 3 2 0 7 918 949 950 919
-980 3 2 0 7 919 950 951 920
-981 3 2 0 7 920 951 952 921
-982 3 2 0 7 921 952 953 922
-983 3 2 0 7 922 953 954 923
-984 3 2 0 7 923 954 955 924
-985 3 2 0 7 924 955 956 925
-986 3 2 0 7 925 956 957 926
-987 3 2 0 7 926 957 958 927
-988 3 2 0 7 927 958 959 928
-989 3 2 0 7 928 959 960 929
-990 3 2 0 7 929 960 961 930
-991 3 2 0 7 930 961 962 931
-992 3 2 0 7 931 962 963 932
-993 3 2 0 7 932 963 964 933
-994 3 2 0 7 933 964 965 934
-995 3 2 0 7 934 965 966 935
-996 3 2 0 7 935 966 104 105
-997 3 2 0 7 30 31 967 936
-998 3 2 0 7 936 967 968 937
-999 3 2 0 7 937 968 969 938
-1000 3 2 0 7 938 969 970 939
-1001 3 2 0 7 939 970 971 940
-1002 3 2 0 7 940 971 972 941
-1003 3 2 0 7 941 972 973 942
-1004 3 2 0 7 942 973 974 943
-1005 3 2 0 7 943 974 975 944
-1006 3 2 0 7 944 975 976 945
-1007 3 2 0 7 945 976 977 946
-1008 3 2 0 7 946 977 978 947
-1009 3 2 0 7 947 978 979 948
-1010 3 2 0 7 948 979 980 949
-1011 3 2 0 7 949 980 981 950
-1012 3 2 0 7 950 981 982 951
-1013 3 2 0 7 951 982 983 952
-1014 3 2 0 7 952 983 984 953
-1015 3 2 0 7 953 984 985 954
-1016 3 2 0 7 954 985 986 955
-1017 3 2 0 7 955 986 987 956
-1018 3 2 0 7 956 987 988 957
-1019 3 2 0 7 957 988 989 958
-1020 3 2 0 7 958 989 990 959
-1021 3 2 0 7 959 990 991 960
-1022 3 2 0 7 960 991 992 961
-1023 3 2 0 7 961 992 993 962
-1024 3 2 0 7 962 993 994 963
-1025 3 2 0 7 963 994 995 964
-1026 3 2 0 7 964 995 996 965
-1027 3 2 0 7 965 996 997 966
-1028 3 2 0 7 966 997 103 104
-1029 3 2 0 7 31 32 998 967
-1030 3 2 0 7 967 998 999 968
-1031 3 2 0 7 968 999 1000 969
-1032 3 2 0 7 969 1000 1001 970
-1033 3 2 0 7 970 1001 1002 971
-1034 3 2 0 7 971 1002 1003 972
-1035 3 2 0 7 972 1003 1004 973
-1036 3 2 0 7 973 1004 1005 974
-1037 3 2 0 7 974 1005 1006 975
-1038 3 2 0 7 975 1006 1007 976
-1039 3 2 0 7 976 1007 1008 977
-1040 3 2 0 7 977 1008 1009 978
-1041 3 2 0 7 978 1009 1010 979
-1042 3 2 0 7 979 1010 1011 980
-1043 3 2 0 7 980 1011 1012 981
-1044 3 2 0 7 981 1012 1013 982
-1045 3 2 0 7 982 1013 1014 983
-1046 3 2 0 7 983 1014 1015 984
-1047 3 2 0 7 984 1015 1016 985
-1048 3 2 0 7 985 1016 1017 986
-1049 3 2 0 7 986 1017 1018 987
-1050 3 2 0 7 987 1018 1019 988
-1051 3 2 0 7 988 1019 1020 989
-1052 3 2 0 7 989 1020 1021 990
-1053 3 2 0 7 990 1021 1022 991
-1054 3 2 0 7 991 1022 1023 992
-1055 3 2 0 7 992 1023 1024 993
-1056 3 2 0 7 993 1024 1025 994
-1057 3 2 0 7 994 1025 1026 995
-1058 3 2 0 7 995 1026 1027 996
-1059 3 2 0 7 996 1027 1028 997
-1060 3 2 0 7 997 1028 102 103
-1061 3 2 0 7 32 33 1029 998
-1062 3 2 0 7 998 1029 1030 999
-1063 3 2 0 7 999 1030 1031 1000
-1064 3 2 0 7 1000 1031 1032 1001
-1065 3 2 0 7 1001 1032 1033 1002
-1066 3 2 0 7 1002 1033 1034 1003
-1067 3 2 0 7 1003 1034 1035 1004
-1068 3 2 0 7 1004 1035 1036 1005
-1069 3 2 0 7 1005 1036 1037 1006
-1070 3 2 0 7 1006 1037 1038 1007
-1071 3 2 0 7 1007 1038 1039 1008
-1072 3 2 0 7 1008 1039 1040 1009
-1073 3 2 0 7 1009 1040 1041 1010
-1074 3 2 0 7 1010 1041 1042 1011
-1075 3 2 0 7 1011 1042 1043 1012
-1076 3 2 0 7 1012 1043 1044 1013
-1077 3 2 0 7 1013 1044 1045 1014
-1078 3 2 0 7 1014 1045 1046 1015
-1079 3 2 0 7 1015 1046 1047 1016
-1080 3 2 0 7 1016 1047 1048 1017
-1081 3 2 0 7 1017 1048 1049 1018
-1082 3 2 0 7 1018 1049 1050 1019
-1083 3 2 0 7 1019 1050 1051 1020
-1084 3 2 0 7 1020 1051 1052 1021
-1085 3 2 0 7 1021 1052 1053 1022
-1086 3 2 0 7 1022 1053 1054 1023
-1087 3 2 0 7 1023 1054 1055 1024
-1088 3 2 0 7 1024 1055 1056 1025
-1089 3 2 0 7 1025 1056 1057 1026
-1090 3 2 0 7 1026 1057 1058 1027
-1091 3 2 0 7 1027 1058 1059 1028
-1092 3 2 0 7 1028 1059 101 102
-1093 3 2 0 7 33 34 1060 1029
-1094 3 2 0 7 1029 1060 1061 1030
-1095 3 2 0 7 1030 1061 1062 1031
-1096 3 2 0 7 1031 1062 1063 1032
-1097 3 2 0 7 1032 1063 1064 1033
-1098 3 2 0 7 1033 1064 1065 1034
-1099 3 2 0 7 1034 1065 1066 1035
-1100 3 2 0 7 1035 1066 1067 1036
-1101 3 2 0 7 1036 1067 1068 1037
-1102 3 2 0 7 1037 1068 1069 1038
-1103 3 2 0 7 1038 1069 1070 1039
-1104 3 2 0 7 1039 1070 1071 1040
-1105 3 2 0 7 1040 1071 1072 1041
-1106 3 2 0 7 1041 1072 1073 1042
-1107 3 2 0 7 1042 1073 1074 1043
-1108 3 2 0 7 1043 1074 1075 1044
-1109 3 2 0 7 1044 1075 1076 1045
-1110 3 2 0 7 1045 1076 1077 1046
-1111 3 2 0 7 1046 1077 1078 1047
-1112 3 2 0 7 1047 1078 1079 1048
-1113 3 2 0 7 1048 1079 1080 1049
-1114 3 2 0 7 1049 1080 1081 1050
-1115 3 2 0 7 1050 1081 1082 1051
-1116 3 2 0 7 1051 1082 1083 1052
-1117 3 2 0 7 1052 1083 1084 1053
-1118 3 2 0 7 1053 1084 1085 1054
-1119 3 2 0 7 1054 1085 1086 1055
-1120 3 2 0 7 1055 1086 1087 1056
-1121 3 2 0 7 1056 1087 1088 1057
-1122 3 2 0 7 1057 1088 1089 1058
-1123 3 2 0 7 1058 1089 1090 1059
-1124 3 2 0 7 1059 1090 100 101
-1125 3 2 0 7 34 35 1091 1060
-1126 3 2 0 7 1060 1091 1092 1061
-1127 3 2 0 7 1061 1092 1093 1062
-1128 3 2 0 7 1062 1093 1094 1063
-1129 3 2 0 7 1063 1094 1095 1064
-1130 3 2 0 7 1064 1095 1096 1065
-1131 3 2 0 7 1065 1096 1097 1066
-1132 3 2 0 7 1066 1097 1098 1067
-1133 3 2 0 7 1067 1098 1099 1068
-1134 3 2 0 7 1068 1099 1100 1069
-1135 3 2 0 7 1069 1100 1101 1070
-1136 3 2 0 7 1070 1101 1102 1071
-1137 3 2 0 7 1071 1102 1103 1072
-1138 3 2 0 7 1072 1103 1104 1073
-1139 3 2 0 7 1073 1104 1105 1074
-1140 3 2 0 7 1074 1105 1106 1075
-1141 3 2 0 7 1075 1106 1107 1076
-1142 3 2 0 7 1076 1107 1108 1077
-1143 3 2 0 7 1077 1108 1109 1078
-1144 3 2 0 7 1078 1109 1110 1079
-1145 3 2 0 7 1079 1110 1111 1080
-1146 3 2 0 7 1080 1111 1112 1081
-1147 3 2 0 7 1081 1112 1113 1082
-1148 3 2 0 7 1082 1113 1114 1083
-1149 3 2 0 7 1083 1114 1115 1084
-1150 3 2 0 7 1084 1115 1116 1085
-1151 3 2 0 7 1085 1116 1117 1086
-1152 3 2 0 7 1086 1117 1118 1087
-1153 3 2 0 7 1087 1118 1119 1088
-1154 3 2 0 7 1088 1119 1120 1089
-1155 3 2 0 7 1089 1120 1121 1090
-1156 3 2 0 7 1090 1121 99 100
-1157 3 2 0 7 35 36 1122 1091
-1158 3 2 0 7 1091 1122 1123 1092
-1159 3 2 0 7 1092 1123 1124 1093
-1160 3 2 0 7 1093 1124 1125 1094
-1161 3 2 0 7 1094 1125 1126 1095
-1162 3 2 0 7 1095 1126 1127 1096
-1163 3 2 0 7 1096 1127 1128 1097
-1164 3 2 0 7 1097 1128 1129 1098
-1165 3 2 0 7 1098 1129 1130 1099
-1166 3 2 0 7 1099 1130 1131 1100
-1167 3 2 0 7 1100 1131 1132 1101
-1168 3 2 0 7 1101 1132 1133 1102
-1169 3 2 0 7 1102 1133 1134 1103
-1170 3 2 0 7 1103 1134 1135 1104
-1171 3 2 0 7 1104 1135 1136 1105
-1172 3 2 0 7 1105 1136 1137 1106
-1173 3 2 0 7 1106 1137 1138 1107
-1174 3 2 0 7 1107 1138 1139 1108
-1175 3 2 0 7 1108 1139 1140 1109
-1176 3 2 0 7 1109 1140 1141 1110
-1177 3 2 0 7 1110 1141 1142 1111
-1178 3 2 0 7 1111 1142 1143 1112
-1179 3 2 0 7 1112 1143 1144 1113
-1180 3 2 0 7 1113 1144 1145 1114
-1181 3 2 0 7 1114 1145 1146 1115
-1182 3 2 0 7 1115 1146 1147 1116
-1183 3 2 0 7 1116 1147 1148 1117
-1184 3 2 0 7 1117 1148 1149 1118
-1185 3 2 0 7 1118 1149 1150 1119
-1186 3 2 0 7 1119 1150 1151 1120
-1187 3 2 0 7 1120 1151 1152 1121
-1188 3 2 0 7 1121 1152 98 99
-1189 3 2 0 7 36 37 1153 1122
-1190 3 2 0 7 1122 1153 1154 1123
-1191 3 2 0 7 1123 1154 1155 1124
-1192 3 2 0 7 1124 1155 1156 1125
-1193 3 2 0 7 1125 1156 1157 1126
-1194 3 2 0 7 1126 1157 1158 1127
-1195 3 2 0 7 1127 1158 1159 1128
-1196 3 2 0 7 1128 1159 1160 1129
-1197 3 2 0 7 1129 1160 1161 1130
-1198 3 2 0 7 1130 1161 1162 1131
-1199 3 2 0 7 1131 1162 1163 1132
-1200 3 2 0 7 1132 1163 1164 1133
-1201 3 2 0 7 1133 1164 1165 1134
-1202 3 2 0 7 1134 1165 1166 1135
-1203 3 2 0 7 1135 1166 1167 1136
-1204 3 2 0 7 1136 1167 1168 1137
-1205 3 2 0 7 1137 1168 1169 1138
-1206 3 2 0 7 1138 1169 1170 1139
-1207 3 2 0 7 1139 1170 1171 1140
-1208 3 2 0 7 1140 1171 1172 1141
-1209 3 2 0 7 1141 1172 1173 1142
-1210 3 2 0 7 1142 1173 1174 1143
-1211 3 2 0 7 1143 1174 1175 1144
-1212 3 2 0 7 1144 1175 1176 1145
-1213 3 2 0 7 1145 1176 1177 1146
-1214 3 2 0 7 1146 1177 1178 1147
-1215 3 2 0 7 1147 1178 1179 1148
-1216 3 2 0 7 1148 1179 1180 1149
-1217 3 2 0 7 1149 1180 1181 1150
-1218 3 2 0 7 1150 1181 1182 1151
-1219 3 2 0 7 1151 1182 1183 1152
-1220 3 2 0 7 1152 1183 97 98
-1221 3 2 0 7 37 38 1184 1153
-1222 3 2 0 7 1153 1184 1185 1154
-1223 3 2 0 7 1154 1185 1186 1155
-1224 3 2 0 7 1155 1186 1187 1156
-1225 3 2 0 7 1156 1187 1188 1157
-1226 3 2 0 7 1157 1188 1189 1158
-1227 3 2 0 7 1158 1189 1190 1159
-1228 3 2 0 7 1159 1190 1191 1160
-1229 3 2 0 7 1160 1191 1192 1161
-1230 3 2 0 7 1161 1192 1193 1162
-1231 3 2 0 7 1162 1193 1194 1163
-1232 3 2 0 7 1163 1194 1195 1164
-1233 3 2 0 7 1164 1195 1196 1165
-1234 3 2 0 7 1165 1196 1197 1166
-1235 3 2 0 7 1166 1197 1198 1167
-1236 3 2 0 7 1167 1198 1199 1168
-1237 3 2 0 7 1168 1199 1200 1169
-1238 3 2 0 7 1169 1200 1201 1170
-1239 3 2 0 7 1170 1201 1202 1171
-1240 3 2 0 7 1171 1202 1203 1172
-1241 3 2 0 7 1172 1203 1204 1173
-1242 3 2 0 7 1173 1204 1205 1174
-1243 3 2 0 7 1174 1205 1206 1175
-1244 3 2 0 7 1175 1206 1207 1176
-1245 3 2 0 7 1176 1207 1208 1177
-1246 3 2 0 7 1177 1208 1209 1178
-1247 3 2 0 7 1178 1209 1210 1179
-1248 3 2 0 7 1179 1210 1211 1180
-1249 3 2 0 7 1180 1211 1212 1181
-1250 3 2 0 7 1181 1212 1213 1182
-1251 3 2 0 7 1182 1213 1214 1183
-1252 3 2 0 7 1183 1214 96 97
-1253 3 2 0 7 38 39 1215 1184
-1254 3 2 0 7 1184 1215 1216 1185
-1255 3 2 0 7 1185 1216 1217 1186
-1256 3 2 0 7 1186 1217 1218 1187
-1257 3 2 0 7 1187 1218 1219 1188
-1258 3 2 0 7 1188 1219 1220 1189
-1259 3 2 0 7 1189 1220 1221 1190
-1260 3 2 0 7 1190 1221 1222 1191
-1261 3 2 0 7 1191 1222 1223 1192
-1262 3 2 0 7 1192 1223 1224 1193
-1263 3 2 0 7 1193 1224 1225 1194
-1264 3 2 0 7 1194 1225 1226 1195
-1265 3 2 0 7 1195 1226 1227 1196
-1266 3 2 0 7 1196 1227 1228 1197
-1267 3 2 0 7 1197 1228 1229 1198
-1268 3 2 0 7 1198 1229 1230 1199
-1269 3 2 0 7 1199 1230 1231 1200
-1270 3 2 0 7 1200 1231 1232 1201
-1271 3 2 0 7 1201 1232 1233 1202
-1272 3 2 0 7 1202 1233 1234 1203
-1273 3 2 0 7 1203 1234 1235 1204
-1274 3 2 0 7 1204 1235 1236 1205
-1275 3 2 0 7 1205 1236 1237 1206
-1276 3 2 0 7 1206 1237 1238 1207
-1277 3 2 0 7 1207 1238 1239 1208
-1278 3 2 0 7 1208 1239 1240 1209
-1279 3 2 0 7 1209 1240 1241 1210
-1280 3 2 0 7 1210 1241 1242 1211
-1281 3 2 0 7 1211 1242 1243 1212
-1282 3 2 0 7 1212 1243 1244 1213
-1283 3 2 0 7 1213 1244 1245 1214
-1284 3 2 0 7 1214 1245 95 96
-1285 3 2 0 7 39 40 1246 1215
-1286 3 2 0 7 1215 1246 1247 1216
-1287 3 2 0 7 1216 1247 1248 1217
-1288 3 2 0 7 1217 1248 1249 1218
-1289 3 2 0 7 1218 1249 1250 1219
-1290 3 2 0 7 1219 1250 1251 1220
-1291 3 2 0 7 1220 1251 1252 1221
-1292 3 2 0 7 1221 1252 1253 1222
-1293 3 2 0 7 1222 1253 1254 1223
-1294 3 2 0 7 1223 1254 1255 1224
-1295 3 2 0 7 1224 1255 1256 1225
-1296 3 2 0 7 1225 1256 1257 1226
-1297 3 2 0 7 1226 1257 1258 1227
-1298 3 2 0 7 1227 1258 1259 1228
-1299 3 2 0 7 1228 1259 1260 1229
-1300 3 2 0 7 1229 1260 1261 1230
-1301 3 2 0 7 1230 1261 1262 1231
-1302 3 2 0 7 1231 1262 1263 1232
-1303 3 2 0 7 1232 1263 1264 1233
-1304 3 2 0 7 1233 1264 1265 1234
-1305 3 2 0 7 1234 1265 1266 1235
-1306 3 2 0 7 1235 1266 1267 1236
-1307 3 2 0 7 1236 1267 1268 1237
-1308 3 2 0 7 1237 1268 1269 1238
-1309 3 2 0 7 1238 1269 1270 1239
-1310 3 2 0 7 1239 1270 1271 1240
-1311 3 2 0 7 1240 1271 1272 1241
-1312 3 2 0 7 1241 1272 1273 1242
-1313 3 2 0 7 1242 1273 1274 1243
-1314 3 2 0 7 1243 1274 1275 1244
-1315 3 2 0 7 1244 1275 1276 1245
-1316 3 2 0 7 1245 1276 94 95
-1317 3 2 0 7 40 41 1277 1246
-1318 3 2 0 7 1246 1277 1278 1247
-1319 3 2 0 7 1247 1278 1279 1248
-1320 3 2 0 7 1248 1279 1280 1249
-1321 3 2 0 7 1249 1280 1281 1250
-1322 3 2 0 7 1250 1281 1282 1251
-1323 3 2 0 7 1251 1282 1283 1252
-1324 3 2 0 7 1252 1283 1284 1253
-1325 3 2 0 7 1253 1284 1285 1254
-1326 3 2 0 7 1254 1285 1286 1255
-1327 3 2 0 7 1255 1286 1287 1256
-1328 3 2 0 7 1256 1287 1288 1257
-1329 3 2 0 7 1257 1288 1289 1258
-1330 3 2 0 7 1258 1289 1290 1259
-1331 3 2 0 7 1259 1290 1291 1260
-1332 3 2 0 7 1260 1291 1292 1261
-1333 3 2 0 7 1261 1292 1293 1262
-1334 3 2 0 7 1262 1293 1294 1263
-1335 3 2 0 7 1263 1294 1295 1264
-1336 3 2 0 7 1264 1295 1296 1265
-1337 3 2 0 7 1265 1296 1297 1266
-1338 3 2 0 7 1266 1297 1298 1267
-1339 3 2 0 7 1267 1298 1299 1268
-1340 3 2 0 7 1268 1299 1300 1269
-1341 3 2 0 7 1269 1300 1301 1270
-1342 3 2 0 7 1270 1301 1302 1271
-1343 3 2 0 7 1271 1302 1303 1272
-1344 3 2 0 7 1272 1303 1304 1273
-1345 3 2 0 7 1273 1304 1305 1274
-1346 3 2 0 7 1274 1305 1306 1275
-1347 3 2 0 7 1275 1306 1307 1276
-1348 3 2 0 7 1276 1307 93 94
-1349 3 2 0 7 41 42 1308 1277
-1350 3 2 0 7 1277 1308 1309 1278
-1351 3 2 0 7 1278 1309 1310 1279
-1352 3 2 0 7 1279 1310 1311 1280
-1353 3 2 0 7 1280 1311 1312 1281
-1354 3 2 0 7 1281 1312 1313 1282
-1355 3 2 0 7 1282 1313 1314 1283
-1356 3 2 0 7 1283 1314 1315 1284
-1357 3 2 0 7 1284 1315 1316 1285
-1358 3 2 0 7 1285 1316 1317 1286
-1359 3 2 0 7 1286 1317 1318 1287
-1360 3 2 0 7 1287 1318 1319 1288
-1361 3 2 0 7 1288 1319 1320 1289
-1362 3 2 0 7 1289 1320 1321 1290
-1363 3 2 0 7 1290 1321 1322 1291
-1364 3 2 0 7 1291 1322 1323 1292
-1365 3 2 0 7 1292 1323 1324 1293
-1366 3 2 0 7 1293 1324 1325 1294
-1367 3 2 0 7 1294 1325 1326 1295
-1368 3 2 0 7 1295 1326 1327 1296
-1369 3 2 0 7 1296 1327 1328 1297
-1370 3 2 0 7 1297 1328 1329 1298
-1371 3 2 0 7 1298 1329 1330 1299
-1372 3 2 0 7 1299 1330 1331 1300
-1373 3 2 0 7 1300 1331 1332 1301
-1374 3 2 0 7 1301 1332 1333 1302
-1375 3 2 0 7 1302 1333 1334 1303
-1376 3 2 0 7 1303 1334 1335 1304
-1377 3 2 0 7 1304 1335 1336 1305
-1378 3 2 0 7 1305 1336 1337 1306
-1379 3 2 0 7 1306 1337 1338 1307
-1380 3 2 0 7 1307 1338 92 93
-1381 3 2 0 7 42 43 1339 1308
-1382 3 2 0 7 1308 1339 1340 1309
-1383 3 2 0 7 1309 1340 1341 1310
-1384 3 2 0 7 1310 1341 1342 1311
-1385 3 2 0 7 1311 1342 1343 1312
-1386 3 2 0 7 1312 1343 1344 1313
-1387 3 2 0 7 1313 1344 1345 1314
-1388 3 2 0 7 1314 1345 1346 1315
-1389 3 2 0 7 1315 1346 1347 1316
-1390 3 2 0 7 1316 1347 1348 1317
-1391 3 2 0 7 1317 1348 1349 1318
-1392 3 2 0 7 1318 1349 1350 1319
-1393 3 2 0 7 1319 1350 1351 1320
-1394 3 2 0 7 1320 1351 1352 1321
-1395 3 2 0 7 1321 1352 1353 1322
-1396 3 2 0 7 1322 1353 1354 1323
-1397 3 2 0 7 1323 1354 1355 1324
-1398 3 2 0 7 1324 1355 1356 1325
-1399 3 2 0 7 1325 1356 1357 1326
-1400 3 2 0 7 1326 1357 1358 1327
-1401 3 2 0 7 1327 1358 1359 1328
-1402 3 2 0 7 1328 1359 1360 1329
-1403 3 2 0 7 1329 1360 1361 1330
-1404 3 2 0 7 1330 1361 1362 1331
-1405 3 2 0 7 1331 1362 1363 1332
-1406 3 2 0 7 1332 1363 1364 1333
-1407 3 2 0 7 1333 1364 1365 1334
-1408 3 2 0 7 1334 1365 1366 1335
-1409 3 2 0 7 1335 1366 1367 1336
-1410 3 2 0 7 1336 1367 1368 1337
-1411 3 2 0 7 1337 1368 1369 1338
-1412 3 2 0 7 1338 1369 91 92
-1413 3 2 0 7 43 44 1370 1339
-1414 3 2 0 7 1339 1370 1371 1340
-1415 3 2 0 7 1340 1371 1372 1341
-1416 3 2 0 7 1341 1372 1373 1342
-1417 3 2 0 7 1342 1373 1374 1343
-1418 3 2 0 7 1343 1374 1375 1344
-1419 3 2 0 7 1344 1375 1376 1345
-1420 3 2 0 7 1345 1376 1377 1346
-1421 3 2 0 7 1346 1377 1378 1347
-1422 3 2 0 7 1347 1378 1379 1348
-1423 3 2 0 7 1348 1379 1380 1349
-1424 3 2 0 7 1349 1380 1381 1350
-1425 3 2 0 7 1350 1381 1382 1351
-1426 3 2 0 7 1351 1382 1383 1352
-1427 3 2 0 7 1352 1383 1384 1353
-1428 3 2 0 7 1353 1384 1385 1354
-1429 3 2 0 7 1354 1385 1386 1355
-1430 3 2 0 7 1355 1386 1387 1356
-1431 3 2 0 7 1356 1387 1388 1357
-1432 3 2 0 7 1357 1388 1389 1358
-1433 3 2 0 7 1358 1389 1390 1359
-1434 3 2 0 7 1359 1390 1391 1360
-1435 3 2 0 7 1360 1391 1392 1361
-1436 3 2 0 7 1361 1392 1393 1362
-1437 3 2 0 7 1362 1393 1394 1363
-1438 3 2 0 7 1363 1394 1395 1364
-1439 3 2 0 7 1364 1395 1396 1365
-1440 3 2 0 7 1365 1396 1397 1366
-1441 3 2 0 7 1366 1397 1398 1367
-1442 3 2 0 7 1367 1398 1399 1368
-1443 3 2 0 7 1368 1399 1400 1369
-1444 3 2 0 7 1369 1400 90 91
-1445 3 2 0 7 44 45 1401 1370
-1446 3 2 0 7 1370 1401 1402 1371
-1447 3 2 0 7 1371 1402 1403 1372
-1448 3 2 0 7 1372 1403 1404 1373
-1449 3 2 0 7 1373 1404 1405 1374
-1450 3 2 0 7 1374 1405 1406 1375
-1451 3 2 0 7 1375 1406 1407 1376
-1452 3 2 0 7 1376 1407 1408 1377
-1453 3 2 0 7 1377 1408 1409 1378
-1454 3 2 0 7 1378 1409 1410 1379
-1455 3 2 0 7 1379 1410 1411 1380
-1456 3 2 0 7 1380 1411 1412 1381
-1457 3 2 0 7 1381 1412 1413 1382
-1458 3 2 0 7 1382 1413 1414 1383
-1459 3 2 0 7 1383 1414 1415 1384
-1460 3 2 0 7 1384 1415 1416 1385
-1461 3 2 0 7 1385 1416 1417 1386
-1462 3 2 0 7 1386 1417 1418 1387
-1463 3 2 0 7 1387 1418 1419 1388
-1464 3 2 0 7 1388 1419 1420 1389
-1465 3 2 0 7 1389 1420 1421 1390
-1466 3 2 0 7 1390 1421 1422 1391
-1467 3 2 0 7 1391 1422 1423 1392
-1468 3 2 0 7 1392 1423 1424 1393
-1469 3 2 0 7 1393 1424 1425 1394
-1470 3 2 0 7 1394 1425 1426 1395
-1471 3 2 0 7 1395 1426 1427 1396
-1472 3 2 0 7 1396 1427 1428 1397
-1473 3 2 0 7 1397 1428 1429 1398
-1474 3 2 0 7 1398 1429 1430 1399
-1475 3 2 0 7 1399 1430 1431 1400
-1476 3 2 0 7 1400 1431 89 90
-1477 3 2 0 7 45 46 1432 1401
-1478 3 2 0 7 1401 1432 1433 1402
-1479 3 2 0 7 1402 1433 1434 1403
-1480 3 2 0 7 1403 1434 1435 1404
-1481 3 2 0 7 1404 1435 1436 1405
-1482 3 2 0 7 1405 1436 1437 1406
-1483 3 2 0 7 1406 1437 1438 1407
-1484 3 2 0 7 1407 1438 1439 1408
-1485 3 2 0 7 1408 1439 1440 1409
-1486 3 2 0 7 1409 1440 1441 1410
-1487 3 2 0 7 1410 1441 1442 1411
-1488 3 2 0 7 1411 1442 1443 1412
-1489 3 2 0 7 1412 1443 1444 1413
-1490 3 2 0 7 1413 1444 1445 1414
-1491 3 2 0 7 1414 1445 1446 1415
-1492 3 2 0 7 1415 1446 1447 1416
-1493 3 2 0 7 1416 1447 1448 1417
-1494 3 2 0 7 1417 1448 1449 1418
-1495 3 2 0 7 1418 1449 1450 1419
-1496 3 2 0 7 1419 1450 1451 1420
-1497 3 2 0 7 1420 1451 1452 1421
-1498 3 2 0 7 1421 1452 1453 1422
-1499 3 2 0 7 1422 1453 1454 1423
-1500 3 2 0 7 1423 1454 1455 1424
-1501 3 2 0 7 1424 1455 1456 1425
-1502 3 2 0 7 1425 1456 1457 1426
-1503 3 2 0 7 1426 1457 1458 1427
-1504 3 2 0 7 1427 1458 1459 1428
-1505 3 2 0 7 1428 1459 1460 1429
-1506 3 2 0 7 1429 1460 1461 1430
-1507 3 2 0 7 1430 1461 1462 1431
-1508 3 2 0 7 1431 1462 88 89
-1509 3 2 0 7 46 47 1463 1432
-1510 3 2 0 7 1432 1463 1464 1433
-1511 3 2 0 7 1433 1464 1465 1434
-1512 3 2 0 7 1434 1465 1466 1435
-1513 3 2 0 7 1435 1466 1467 1436
-1514 3 2 0 7 1436 1467 1468 1437
-1515 3 2 0 7 1437 1468 1469 1438
-1516 3 2 0 7 1438 1469 1470 1439
-1517 3 2 0 7 1439 1470 1471 1440
-1518 3 2 0 7 1440 1471 1472 1441
-1519 3 2 0 7 1441 1472 1473 1442
-1520 3 2 0 7 1442 1473 1474 1443
-1521 3 2 0 7 1443 1474 1475 1444
-1522 3 2 0 7 1444 1475 1476 1445
-1523 3 2 0 7 1445 1476 1477 1446
-1524 3 2 0 7 1446 1477 1478 1447
-1525 3 2 0 7 1447 1478 1479 1448
-1526 3 2 0 7 1448 1479 1480 1449
-1527 3 2 0 7 1449 1480 1481 1450
-1528 3 2 0 7 1450 1481 1482 1451
-1529 3 2 0 7 1451 1482 1483 1452
-1530 3 2 0 7 1452 1483 1484 1453
-1531 3 2 0 7 1453 1484 1485 1454
-1532 3 2 0 7 1454 1485 1486 1455
-1533 3 2 0 7 1455 1486 1487 1456
-1534 3 2 0 7 1456 1487 1488 1457
-1535 3 2 0 7 1457 1488 1489 1458
-1536 3 2 0 7 1458 1489 1490 1459
-1537 3 2 0 7 1459 1490 1491 1460
-1538 3 2 0 7 1460 1491 1492 1461
-1539 3 2 0 7 1461 1492 1493 1462
-1540 3 2 0 7 1462 1493 87 88
-1541 3 2 0 7 47 48 1494 1463
-1542 3 2 0 7 1463 1494 1495 1464
-1543 3 2 0 7 1464 1495 1496 1465
-1544 3 2 0 7 1465 1496 1497 1466
-1545 3 2 0 7 1466 1497 1498 1467
-1546 3 2 0 7 1467 1498 1499 1468
-1547 3 2 0 7 1468 1499 1500 1469
-1548 3 2 0 7 1469 1500 1501 1470
-1549 3 2 0 7 1470 1501 1502 1471
-1550 3 2 0 7 1471 1502 1503 1472
-1551 3 2 0 7 1472 1503 1504 1473
-1552 3 2 0 7 1473 1504 1505 1474
-1553 3 2 0 7 1474 1505 1506 1475
-1554 3 2 0 7 1475 1506 1507 1476
-1555 3 2 0 7 1476 1507 1508 1477
-1556 3 2 0 7 1477 1508 1509 1478
-1557 3 2 0 7 1478 1509 1510 1479
-1558 3 2 0 7 1479 1510 1511 1480
-1559 3 2 0 7 1480 1511 1512 1481
-1560 3 2 0 7 1481 1512 1513 1482
-1561 3 2 0 7 1482 1513 1514 1483
-1562 3 2 0 7 1483 1514 1515 1484
-1563 3 2 0 7 1484 1515 1516 1485
-1564 3 2 0 7 1485 1516 1517 1486
-1565 3 2 0 7 1486 1517 1518 1487
-1566 3 2 0 7 1487 1518 1519 1488
-1567 3 2 0 7 1488 1519 1520 1489
-1568 3 2 0 7 1489 1520 1521 1490
-1569 3 2 0 7 1490 1521 1522 1491
-1570 3 2 0 7 1491 1522 1523 1492
-1571 3 2 0 7 1492 1523 1524 1493
-1572 3 2 0 7 1493 1524 86 87
-1573 3 2 0 7 48 49 1525 1494
-1574 3 2 0 7 1494 1525 1526 1495
-1575 3 2 0 7 1495 1526 1527 1496
-1576 3 2 0 7 1496 1527 1528 1497
-1577 3 2 0 7 1497 1528 1529 1498
-1578 3 2 0 7 1498 1529 1530 1499
-1579 3 2 0 7 1499 1530 1531 1500
-1580 3 2 0 7 1500 1531 1532 1501
-1581 3 2 0 7 1501 1532 1533 1502
-1582 3 2 0 7 1502 1533 1534 1503
-1583 3 2 0 7 1503 1534 1535 1504
-1584 3 2 0 7 1504 1535 1536 1505
-1585 3 2 0 7 1505 1536 1537 1506
-1586 3 2 0 7 1506 1537 1538 1507
-1587 3 2 0 7 1507 1538 1539 1508
-1588 3 2 0 7 1508 1539 1540 1509
-1589 3 2 0 7 1509 1540 1541 1510
-1590 3 2 0 7 1510 1541 1542 1511
-1591 3 2 0 7 1511 1542 1543 1512
-1592 3 2 0 7 1512 1543 1544 1513
-1593 3 2 0 7 1513 1544 1545 1514
-1594 3 2 0 7 1514 1545 1546 1515
-1595 3 2 0 7 1515 1546 1547 1516
-1596 3 2 0 7 1516 1547 1548 1517
-1597 3 2 0 7 1517 1548 1549 1518
-1598 3 2 0 7 1518 1549 1550 1519
-1599 3 2 0 7 1519 1550 1551 1520
-1600 3 2 0 7 1520 1551 1552 1521
-1601 3 2 0 7 1521 1552 1553 1522
-1602 3 2 0 7 1522 1553 1554 1523
-1603 3 2 0 7 1523 1554 1555 1524
-1604 3 2 0 7 1524 1555 85 86
-1605 3 2 0 7 49 50 1556 1525
-1606 3 2 0 7 1525 1556 1557 1526
-1607 3 2 0 7 1526 1557 1558 1527
-1608 3 2 0 7 1527 1558 1559 1528
-1609 3 2 0 7 1528 1559 1560 1529
-1610 3 2 0 7 1529 1560 1561 1530
-1611 3 2 0 7 1530 1561 1562 1531
-1612 3 2 0 7 1531 1562 1563 1532
-1613 3 2 0 7 1532 1563 1564 1533
-1614 3 2 0 7 1533 1564 1565 1534
-1615 3 2 0 7 1534 1565 1566 1535
-1616 3 2 0 7 1535 1566 1567 1536
-1617 3 2 0 7 1536 1567 1568 1537
-1618 3 2 0 7 1537 1568 1569 1538
-1619 3 2 0 7 1538 1569 1570 1539
-1620 3 2 0 7 1539 1570 1571 1540
-1621 3 2 0 7 1540 1571 1572 1541
-1622 3 2 0 7 1541 1572 1573 1542
-1623 3 2 0 7 1542 1573 1574 1543
-1624 3 2 0 7 1543 1574 1575 1544
-1625 3 2 0 7 1544 1575 1576 1545
-1626 3 2 0 7 1545 1576 1577 1546
-1627 3 2 0 7 1546 1577 1578 1547
-1628 3 2 0 7 1547 1578 1579 1548
-1629 3 2 0 7 1548 1579 1580 1549
-1630 3 2 0 7 1549 1580 1581 1550
-1631 3 2 0 7 1550 1581 1582 1551
-1632 3 2 0 7 1551 1582 1583 1552
-1633 3 2 0 7 1552 1583 1584 1553
-1634 3 2 0 7 1553 1584 1585 1554
-1635 3 2 0 7 1554 1585 1586 1555
-1636 3 2 0 7 1555 1586 84 85
-1637 3 2 0 7 50 51 1587 1556
-1638 3 2 0 7 1556 1587 1588 1557
-1639 3 2 0 7 1557 1588 1589 1558
-1640 3 2 0 7 1558 1589 1590 1559
-1641 3 2 0 7 1559 1590 1591 1560
-1642 3 2 0 7 1560 1591 1592 1561
-1643 3 2 0 7 1561 1592 1593 1562
-1644 3 2 0 7 1562 1593 1594 1563
-1645 3 2 0 7 1563 1594 1595 1564
-1646 3 2 0 7 1564 1595 1596 1565
-1647 3 2 0 7 1565 1596 1597 1566
-1648 3 2 0 7 1566 1597 1598 1567
-1649 3 2 0 7 1567 1598 1599 1568
-1650 3 2 0 7 1568 1599 1600 1569
-1651 3 2 0 7 1569 1600 1601 1570
-1652 3 2 0 7 1570 1601 1602 1571
-1653 3 2 0 7 1571 1602 1603 1572
-1654 3 2 0 7 1572 1603 1604 1573
-1655 3 2 0 7 1573 1604 1605 1574
-1656 3 2 0 7 1574 1605 1606 1575
-1657 3 2 0 7 1575 1606 1607 1576
-1658 3 2 0 7 1576 1607 1608 1577
-1659 3 2 0 7 1577 1608 1609 1578
-1660 3 2 0 7 1578 1609 1610 1579
-1661 3 2 0 7 1579 1610 1611 1580
-1662 3 2 0 7 1580 1611 1612 1581
-1663 3 2 0 7 1581 1612 1613 1582
-1664 3 2 0 7 1582 1613 1614 1583
-1665 3 2 0 7 1583 1614 1615 1584
-1666 3 2 0 7 1584 1615 1616 1585
-1667 3 2 0 7 1585 1616 1617 1586
-1668 3 2 0 7 1586 1617 83 84
-1669 3 2 0 7 51 3 52 1587
-1670 3 2 0 7 1587 52 53 1588
-1671 3 2 0 7 1588 53 54 1589
-1672 3 2 0 7 1589 54 55 1590
-1673 3 2 0 7 1590 55 56 1591
-1674 3 2 0 7 1591 56 57 1592
-1675 3 2 0 7 1592 57 58 1593
-1676 3 2 0 7 1593 58 59 1594
-1677 3 2 0 7 1594 59 60 1595
-1678 3 2 0 7 1595 60 61 1596
-1679 3 2 0 7 1596 61 62 1597
-1680 3 2 0 7 1597 62 63 1598
-1681 3 2 0 7 1598 63 64 1599
-1682 3 2 0 7 1599 64 65 1600
-1683 3 2 0 7 1600 65 66 1601
-1684 3 2 0 7 1601 66 67 1602
-1685 3 2 0 7 1602 67 68 1603
-1686 3 2 0 7 1603 68 69 1604
-1687 3 2 0 7 1604 69 70 1605
-1688 3 2 0 7 1605 70 71 1606
-1689 3 2 0 7 1606 71 72 1607
-1690 3 2 0 7 1607 72 73 1608
-1691 3 2 0 7 1608 73 74 1609
-1692 3 2 0 7 1609 74 75 1610
-1693 3 2 0 7 1610 75 76 1611
-1694 3 2 0 7 1611 76 77 1612
-1695 3 2 0 7 1612 77 78 1613
-1696 3 2 0 7 1613 78 79 1614
-1697 3 2 0 7 1614 79 80 1615
-1698 3 2 0 7 1615 80 81 1616
-1699 3 2 0 7 1616 81 82 1617
-1700 3 2 0 7 1617 82 2 83
-$EndElements
diff --git a/test/porousmediumflow/2p/implicit/incompressible/problem.hh b/test/porousmediumflow/2p/implicit/incompressible/problem.hh
index 25030f51616406645395da2ee8f4bccd20fe7fc3..5acd0b3f31ffef9bcaf7ab55b1cc8cb560f90821 100644
--- a/test/porousmediumflow/2p/implicit/incompressible/problem.hh
+++ b/test/porousmediumflow/2p/implicit/incompressible/problem.hh
@@ -20,8 +20,8 @@
  * \file
  * \brief The properties for the incompressible test
  */
-#ifndef DUMUX_INCOMPRESSIBLE_ONEP_TEST_PROBLEM_HH
-#define DUMUX_INCOMPRESSIBLE_ONEP_TEST_PROBLEM_HH
+#ifndef DUMUX_INCOMPRESSIBLE_TWOP_TEST_PROBLEM_HH
+#define DUMUX_INCOMPRESSIBLE_TWOP_TEST_PROBLEM_HH
 
 #include <dumux/discretization/box/properties.hh>
 #include <dumux/discretization/cellcentered/tpfa/properties.hh>
@@ -29,6 +29,8 @@
 
 #include <dumux/material/components/dnapl.hh>
 #include <dumux/material/components/simpleh2o.hh>
+#include <dumux/material/fluidsystems/liquidphase.hh>
+#include <dumux/material/fluidsystems/2pimmiscible.hh>
 
 #include <dumux/porousmediumflow/problem.hh>
 #include <dumux/porousmediumflow/2p/implicit/model.hh>
diff --git a/test/porousmediumflow/2p/implicit/incompressible/spatialparams.hh b/test/porousmediumflow/2p/implicit/incompressible/spatialparams.hh
index 4867db01ce86ab5cf5448cb0f3adedfa477b7f59..6ce0becd8a63f920a5c6cc0d22853d7b8aea19c5 100644
--- a/test/porousmediumflow/2p/implicit/incompressible/spatialparams.hh
+++ b/test/porousmediumflow/2p/implicit/incompressible/spatialparams.hh
@@ -100,13 +100,19 @@ public:
     }
 
     /*!
-     * \brief Returns the scalar intrinsic permeability \f$[m^2]\f$
+     * \brief Function for defining the (intrinsic) permeability \f$[m^2]\f$.
+     *        In this test, we use element-wise distributed permeabilities.
      *
-     * \param globalPos The global position
+     * \param element The current element
+     * \param scv The sub-control volume inside the element.
+     * \param elemSol The solution at the dofs connected to the element.
+     * \return permeability
      */
-    Scalar permeabilityAtPos(const GlobalPosition& globalPos) const
+    PermeabilityType permeability(const Element& element,
+                                  const SubControlVolume& scv,
+                                  const ElementSolutionVector& elemSol) const
     {
-        if (isInLens_(globalPos))
+        if (isInLens_(element.geometry().center()))
             return lensK_;
         return outerK_;
     }
@@ -120,13 +126,19 @@ public:
     { return 0.4; }
 
     /*!
-     * \brief Returns the parameter object for the Brooks-Corey material law
+     * \brief Returns the parameter object for the Brooks-Corey material law.
+     *        In this test, we use element-wise distributed material parameters.
      *
-     * \param globalPos The global position
+     * \param element The current element
+     * \param scv The sub-control volume inside the element.
+     * \param elemSol The solution at the dofs connected to the element.
+     * \return the material parameters object
      */
-    const MaterialLawParams& materialLawParamsAtPos(const GlobalPosition& globalPos) const
+    const MaterialLawParams& materialLawParams(const Element& element,
+                                               const SubControlVolume& scv,
+                                               const ElementSolutionVector& elemSol) const
     {
-        if (isInLens_(globalPos))
+        if (isInLens_(element.geometry().center()))
             return lensMaterialParams_;
         return outerMaterialParams_;
     }
diff --git a/test/porousmediumflow/2p/implicit/pointsources/CMakeLists.txt b/test/porousmediumflow/2p/implicit/pointsources/CMakeLists.txt
deleted file mode 100644
index 5124037a1f1229b477346f372b954971260a59f0..0000000000000000000000000000000000000000
--- a/test/porousmediumflow/2p/implicit/pointsources/CMakeLists.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-add_dumux_test(test_ccadaptive2ppointsource test_ccadaptive2ppointsource test_ccadaptive2ppointsource.cc
-               python ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py
-                 --script fuzzy
-                 --files ${CMAKE_SOURCE_DIR}/test/references/lensccadaptivepointsource-reference.vtu
-                         ${CMAKE_CURRENT_BINARY_DIR}/lensccadaptive-00010.vtu
-                 --command "${CMAKE_CURRENT_BINARY_DIR}/test_ccadaptive2ppointsource")
-
-#install sources
-install(FILES
-lensproblem.hh
-test_ccadaptive2ppointsource.cc
-DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/test/implicit/2p/pointsources)
diff --git a/test/porousmediumflow/2p/implicit/pointsources/lensproblem.hh b/test/porousmediumflow/2p/implicit/pointsources/lensproblem.hh
deleted file mode 100644
index 69c1178fa56425ee2e2c29e41c54de742135bd4d..0000000000000000000000000000000000000000
--- a/test/porousmediumflow/2p/implicit/pointsources/lensproblem.hh
+++ /dev/null
@@ -1,132 +0,0 @@
-// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-// vi: set et ts=4 sw=4 sts=4:
-/*****************************************************************************
- *   See the file COPYING for full copying permissions.                      *
- *                                                                           *
- *   This program is free software: you can redistribute it and/or modify    *
- *   it under the terms of the GNU General Public License as published by    *
- *   the Free Software Foundation, either version 2 of the License, or       *
- *   (at your option) any later version.                                     *
- *                                                                           *
- *   This program is distributed in the hope that it will be useful,         *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
- *   GNU General Public License for more details.                            *
- *                                                                           *
- *   You should have received a copy of the GNU General Public License       *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
- *****************************************************************************/
-/*!
- * \file
- *
- * \brief Soil contamination problem where DNAPL infiltrates a fully
- *        water saturated medium.
- */
-
-#ifndef DUMUX_LENSPROBLEM_POINTSOURCE_HH
-#define DUMUX_LENSPROBLEM_POINTSOURCE_HH
-
-#include "../lensproblem.hh"
-
-#if HAVE_UG
-namespace Dumux
-{
-template <class TypeTag>
-class LensProblemPointSource;
-
-//////////
-// Specify the properties for the lens problem
-//////////
-namespace Properties
-{
-NEW_TYPE_TAG(LensProblemPointSource, INHERITS_FROM(LensCCAdaptiveProblem));
-NEW_PROP_TAG(BaseProblem);
-SET_TYPE_PROP(LensProblemPointSource, BaseProblem, ImplicitPorousMediaProblem<TypeTag>);
-SET_BOOL_PROP(LensProblemPointSource, AdaptiveGrid, true);
-SET_TYPE_PROP(LensProblemPointSource, AdaptionIndicator, TwoPImplicitGridAdaptIndicator<TypeTag>);
-SET_TYPE_PROP(LensProblemPointSource, AdaptionInitializationIndicator, ImplicitGridAdaptInitializationIndicator<TypeTag>);
-SET_TYPE_PROP(LensProblemPointSource, Grid, Dune::UGGrid<2>);
-SET_TYPE_PROP(LensProblemPointSource, Problem, LensProblemPointSource<TypeTag>);
-}
-
-/*!
- * \ingroup TwoPModel
- * \ingroup ImplicitTestProblems
- * \brief Soil contamination problem where DNAPL infiltrates a fully
- *        water saturated medium.
- *
- * The domain is sized 6m times 4m and features a rectangular lens
- * with low permeablility which spans from (1 m , 2 m) to (4 m, 3 m)
- * and is surrounded by a medium with higher permability. Note that
- * this problem is discretized using only two dimensions, so from the
- * point of view of the two-phase model, the depth of the domain
- * implicitly is 1 m everywhere.
- *
- * On the top and the bottom of the domain neumann boundary conditions
- * are used, while dirichlet conditions apply on the left and right
- * boundaries.
- *
- * DNAPL is injected at the top boundary from 3m to 4m at a rate of
- * 0.04 kg/(s m^2), the remaining neumann boundaries are no-flow
- * boundaries.
- *
- * The dirichlet boundaries on the left boundary is the hydrostatic
- * pressure scaled by a factor of 1.125, while on the right side it is
- * just the hydrostatic pressure. The DNAPL saturation on both sides
- * is zero.
- *
- * This problem uses the \ref TwoPModel.
- *
- * This problem should typically be simulated until \f$t_{\text{end}}
- * \approx 20\,000\;s\f$ is reached. A good choice for the initial time step
- * size is \f$t_{\text{inital}} = 250\;s\f$.
- *
- * To run the simulation execute the following line in shell:
- * <tt>./test_box2p -parameterFile test_box2p.input</tt> or
- * <tt>./test_cc2p -parameterFile test_cc2p.input</tt>
- */
-template <class TypeTag >
-class LensProblemPointSource : public LensProblem<TypeTag>
-{
-    typedef LensProblem<TypeTag> ParentType;
-    typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
-    typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-    typedef typename GET_PROP_TYPE(TypeTag, PointSource) PointSource;
-    typedef typename GET_PROP_TYPE(TypeTag, TimeManager) TimeManager;
-
-public:
-    /*!
-     * \brief The constructor
-     *
-     * \param timeManager The time manager
-     * \param gridView The grid view
-     */
-    LensProblemPointSource(TimeManager &timeManager, const GridView &gridView)
-    : ParentType(timeManager, gridView)
-    {}
-
-    /*!
-     * \brief Applies a vector of point sources. The point sources
-     *        are possibly solution dependent.
-     *
-     * \param pointSources A vector of PointSource s that contain
-              source values for all phases and space positions.
-     *
-     * For this method, the \a values method of the point source
-     * has to return the absolute mass rate in untis
-     * \f$ [ \textnormal{unit of conserved quantity} / s ] \f$.
-     * Positive values mean that mass is created, negative ones mean that it vanishes.
-     */
-    void addPointSources(std::vector<PointSource>& pointSources) const
-    {
-        // inject 2 kg/s of non-wetting phase at position (1, 1);
-        pointSources.push_back(PointSource({0.502, 3.02}, {0, 0.1}));
-    }
-};
-
-} //end namespace
-
-#endif // HAVE_UG
-
-#endif
diff --git a/test/porousmediumflow/2p/implicit/pointsources/test_ccadaptive2ppointsource.cc b/test/porousmediumflow/2p/implicit/pointsources/test_ccadaptive2ppointsource.cc
deleted file mode 100644
index 36c0cd2c97865af6474e8ec70428c49e1004a563..0000000000000000000000000000000000000000
--- a/test/porousmediumflow/2p/implicit/pointsources/test_ccadaptive2ppointsource.cc
+++ /dev/null
@@ -1,74 +0,0 @@
-// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-// vi: set et ts=4 sw=4 sts=4:
-/*****************************************************************************
- *   See the file COPYING for full copying permissions.                      *
- *                                                                           *
- *   This program is free software: you can redistribute it and/or modify    *
- *   it under the terms of the GNU General Public License as published by    *
- *   the Free Software Foundation, either version 2 of the License, or       *
- *   (at your option) any later version.                                     *
- *                                                                           *
- *   This program is distributed in the hope that it will be useful,         *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
- *   GNU General Public License for more details.                            *
- *                                                                           *
- *   You should have received a copy of the GNU General Public License       *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
- *****************************************************************************/
-/*!
- * \file
- *
- * \brief Test for the two-phase CC model with point source
- */
-#include <config.h>
-#if HAVE_UG
-#include "lensproblem.hh"
-#endif
-#include <dumux/common/start.hh>
-
-/*!
- * \brief Provides an interface for customizing error messages associated with
- *        reading in parameters.
- *
- * \param progName  The name of the program, that was tried to be started.
- * \param errorMsg  The error message that was issued by the start function.
- *                  Comprises the thing that went wrong and a general help message.
- */
-void usage(const char *progName, const std::string &errorMsg)
-{
-    if (errorMsg.size() > 0) {
-        std::string errorMessageOut = "\nUsage: ";
-        errorMessageOut += progName;
-        errorMessageOut += " [options]\n";
-        errorMessageOut += errorMsg;
-        errorMessageOut += "\n\nThe list of mandatory options for this program is:\n"
-                           "\t-TimeManager.TEnd              End of the simulation [s] \n"
-                           "\t-TimeManager.DtInitial         Initial timestep size [s] \n"
-                           "\t-Grid.File                     Name of the file containing the grid \n"
-                           "\t                               definition in DGF format\n"
-                           "\t-SpatialParams.LensLowerLeft   coordinates of the lower left corner of the lens [m] \n"
-                           "\t-SpatialParams.LensUpperRight  coordinates of the upper right corner of the lens [m] \n"
-                           "\t-Problem.Name                  String for naming of the output files \n"
-                           "\n";
-
-        std::cout << errorMessageOut << std::endl;
-    }
-}
-
-////////////////////////
-// the main function
-////////////////////////
-int main(int argc, char** argv)
-{
-
-#if HAVE_UG
-    typedef TTAG(LensProblemPointSource) TypeTag;
-    return Dumux::start<TypeTag>(argc, argv, usage);
-#else
-#warning You need UGGrid to run this test.
-    std::cerr << "You need UGGrid to run this test." << std::endl;
-    return 77;
-#endif
-
-}
diff --git a/test/porousmediumflow/2p/implicit/pointsources/test_ccadaptive2ppointsource.input b/test/porousmediumflow/2p/implicit/pointsources/test_ccadaptive2ppointsource.input
deleted file mode 100644
index 1047a2871e3b617b29ba6cb62fdd42c8d77b70cf..0000000000000000000000000000000000000000
--- a/test/porousmediumflow/2p/implicit/pointsources/test_ccadaptive2ppointsource.input
+++ /dev/null
@@ -1,28 +0,0 @@
-[TimeManager]
-DtInitial = 25 # [s]
-TEnd = 500 # [s]
-
-[Grid]
-LowerLeft = 0 0
-UpperRight = 6 4
-Cells = 48 32
-
-[SpatialParams]
-LensLowerLeft = 1.0 2.0 # [m] coordinates of the lower left lens corner
-LensUpperRight = 4.0 3.0 # [m] coordinate of the upper right lens corner
-
-[Problem]
-Name = lensccadaptive # name passed to the output routines
-
-[Implicit]
-EnablePartialReassemble = 1 # enable partial reassembly of the jacobian matrix?
-EnableJacobianRecycling = 1 # Enable reuse of jacobian matrices?
-
-[GridAdapt]
-EnableInitializationIndicator = 1
-RefineAtDirichletBC = 1
-RefineAtFluxBC = 1
-MinLevel = 0
-MaxLevel = 2
-CoarsenTolerance = 1.0e-4
-RefineTolerance = 1.0e-4
diff --git a/test/porousmediumflow/2p/implicit/test_boxadaptive2p.cc b/test/porousmediumflow/2p/implicit/test_boxadaptive2p.cc
deleted file mode 100644
index f560ef63065654a602e76d729e23319ebc13c110..0000000000000000000000000000000000000000
--- a/test/porousmediumflow/2p/implicit/test_boxadaptive2p.cc
+++ /dev/null
@@ -1,70 +0,0 @@
-// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-// vi: set et ts=4 sw=4 sts=4:
-/*****************************************************************************
- *   See the file COPYING for full copying permissions.                      *
- *                                                                           *
- *   This program is free software: you can redistribute it and/or modify    *
- *   it under the terms of the GNU General Public License as published by    *
- *   the Free Software Foundation, either version 2 of the License, or       *
- *   (at your option) any later version.                                     *
- *                                                                           *
- *   This program is distributed in the hope that it will be useful,         *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
- *   GNU General Public License for more details.                            *
- *                                                                           *
- *   You should have received a copy of the GNU General Public License       *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
- *****************************************************************************/
-/*!
- * \file
- *
- * \brief Test for the two-phase box model
- */
-#include <config.h>
-#include "lensproblem.hh"
-#include <dumux/common/start.hh>
-
-/*!
- * \brief Provides an interface for customizing error messages associated with
- *        reading in parameters.
- *
- * \param progName  The name of the program, that was tried to be started.
- * \param errorMsg  The error message that was issued by the start function.
- *                  Comprises the thing that went wrong and a general help message.
- */
-void usage(const char *progName, const std::string &errorMsg)
-{
-    if (errorMsg.size() > 0) {
-        std::string errorMessageOut = "\nUsage: ";
-        errorMessageOut += progName;
-        errorMessageOut += " [options]\n";
-        errorMessageOut += errorMsg;
-        errorMessageOut += "\n\nThe list of mandatory options for this program is:\n"
-                           "\t-TimeManager.TEnd              End of the simulation [s] \n"
-                           "\t-TimeManager.DtInitial         Initial timestep size [s] \n"
-                           "\t-Grid.File                     Name of the file containing the grid \n"
-                           "\t                               definition in DGF format\n"
-                           "\t-SpatialParams.LensLowerLeft   coordinates of the lower left corner of the lens [m] \n"
-                           "\t-SpatialParams.LensUpperRight  coordinates of the upper right corner of the lens [m] \n"
-                           "\t-Problem.Name                  String for naming of the output files \n"
-                           "\n";
-
-        std::cout << errorMessageOut << std::endl;
-    }
-}
-
-////////////////////////
-// the main function
-////////////////////////
-int main(int argc, char** argv)
-{
-#if HAVE_UG
-    typedef TTAG(LensBoxAdaptiveProblem) TypeTag;
-    return Dumux::start<TypeTag>(argc, argv, usage);
-#else
-#warning You need UGGrid to run this test.
-    std::cerr << "You need UGGrid to run this test." << std::endl;
-    return 77;
-#endif
-}
diff --git a/test/porousmediumflow/2p/implicit/test_boxadaptive2p.input b/test/porousmediumflow/2p/implicit/test_boxadaptive2p.input
deleted file mode 100644
index ff185bdc7ca3c38f1df59a5a962291f21ba25e57..0000000000000000000000000000000000000000
--- a/test/porousmediumflow/2p/implicit/test_boxadaptive2p.input
+++ /dev/null
@@ -1,31 +0,0 @@
-[TimeManager]
-DtInitial = 250 # [s]
-TEnd = 3000 # [s]
-
-[Grid]
-LowerLeft = 0 0
-UpperRight = 6 4
-Cells = 48 32
-Refinement = 0
-CellType = Cube
-ClosureType = Green
-
-[SpatialParams]
-LensLowerLeft = 1.0 2.0 # [m] coordinates of the lower left lens corner
-LensUpperRight = 4.0 3.0 # [m] coordinates of the upper right lens corner
-
-[Problem]
-Name = lensboxadaptive # name passed to the output routines
-
-[Implicit]
-EnablePartialReassemble = 1 # enable partial reassembly of the jacobian matrix?
-EnableJacobianRecycling = 1 # Enable reuse of jacobian matrices?
-
-[GridAdapt]
-EnableInitializationIndicator = 1
-RefineAtDirichletBC = 1
-RefineAtFluxBC = 1
-MinLevel = 0
-MaxLevel = 2
-CoarsenTolerance = 1.0e-4
-RefineTolerance = 1.0e-4
\ No newline at end of file
diff --git a/test/porousmediumflow/2p/implicit/test_cc2pcornerpoint.cc b/test/porousmediumflow/2p/implicit/test_cc2pcornerpoint.cc
deleted file mode 100644
index ba154429ce438c6b799f28f7a753848790ee6580..0000000000000000000000000000000000000000
--- a/test/porousmediumflow/2p/implicit/test_cc2pcornerpoint.cc
+++ /dev/null
@@ -1,75 +0,0 @@
-// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-// vi: set et ts=4 sw=4 sts=4:
-/*****************************************************************************
- *   See the file COPYING for full copying permissions.                      *
- *                                                                           *
- *   This program is free software: you can redistribute it and/or modify    *
- *   it under the terms of the GNU General Public License as published by    *
- *   the Free Software Foundation, either version 2 of the License, or       *
- *   (at your option) any later version.                                     *
- *                                                                           *
- *   This program is distributed in the hope that it will be useful,         *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
- *   GNU General Public License for more details.                            *
- *                                                                           *
- *   You should have received a copy of the GNU General Public License       *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
- *****************************************************************************/
-/*!
- * \file
- *
- * \brief Test for the fully-implicit two-phase cell-centered model that uses
- * a cornerpoint grid.
- */
-#include <config.h>
-
-#if HAVE_OPM_GRID
-
-#include "cc2pcornerpointproblem.hh"
-#include <dumux/common/start.hh>
-
-/*!
- * \brief Provides an interface for customizing error messages associated with
- *        reading in parameters.
- *
- * \param progName  The name of the program, that was tried to be started.
- * \param errorMsg  The error message that was issued by the start function.
- *                  Comprises the thing that went wrong and a general help message.
- */
-void usage(const char *progName, const std::string &errorMsg)
-{
-    if (errorMsg.size() > 0) {
-        std::string errorMessageOut = "\nUsage: ";
-        errorMessageOut += progName;
-        errorMessageOut += " [options]\n";
-        errorMessageOut += errorMsg;
-        errorMessageOut += "\n\nThe list of mandatory options for this program is:\n"
-                           "\t-TimeManager.TEnd              End of the simulation [s] \n"
-                           "\t-TimeManager.DtInitial         Initial timestep size [s] \n"
-                           "\t-Grid.File                     Name of the file containing the grid \n"
-                           "\t                               definition in Petrel/Eclipse format\n"
-                           "\t-Problem.Name                  String for naming of the output files \n"
-                           "\n";
-
-        std::cout << errorMessageOut << std::endl;
-    }
-}
-
-////////////////////////
-// the main function
-////////////////////////
-int main(int argc, char** argv)
-{
-    typedef TTAG(CC2PCornerPointProblem) TypeTag;
-    return Dumux::start<TypeTag>(argc, argv, usage);
-}
-#else
-#include<iostream>
-int main(int argc, char** argv)
-{
-#warning You need to have opm-grid installed to run this test
-    std::cerr << "You need to have opm-grid installed to run this test\n";
-    return 77;
-}
-#endif
diff --git a/test/porousmediumflow/2p/implicit/test_cc2pcornerpoint.input b/test/porousmediumflow/2p/implicit/test_cc2pcornerpoint.input
deleted file mode 100644
index 19f0f5f6bd479f5ba1d4bd242ed17a420bb38ffb..0000000000000000000000000000000000000000
--- a/test/porousmediumflow/2p/implicit/test_cc2pcornerpoint.input
+++ /dev/null
@@ -1,12 +0,0 @@
-[TimeManager]
-DtInitial = 1e3 # [s]
-TEnd = 1e4 # [s]
-
-[Grid]
-File = ./grids/hardsmall.grdecl
-
-[Problem]
-Name = cc2pcornerpoint # name passed to the output routines
-Homogeneous = 0 # use a homogeneous permeablity/porosity distribution
-InjectionElement = 0 # index of the element where injection should take place
-InjectionRate = 0.1 # injection rate in kg/s
diff --git a/test/porousmediumflow/2p/implicit/test_ccadaptive2p.cc b/test/porousmediumflow/2p/implicit/test_ccadaptive2p.cc
deleted file mode 100644
index 06912047125e6203dcd05fee13e665cb6a16a95c..0000000000000000000000000000000000000000
--- a/test/porousmediumflow/2p/implicit/test_ccadaptive2p.cc
+++ /dev/null
@@ -1,72 +0,0 @@
-// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-// vi: set et ts=4 sw=4 sts=4:
-/*****************************************************************************
- *   See the file COPYING for full copying permissions.                      *
- *                                                                           *
- *   This program is free software: you can redistribute it and/or modify    *
- *   it under the terms of the GNU General Public License as published by    *
- *   the Free Software Foundation, either version 2 of the License, or       *
- *   (at your option) any later version.                                     *
- *                                                                           *
- *   This program is distributed in the hope that it will be useful,         *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
- *   GNU General Public License for more details.                            *
- *                                                                           *
- *   You should have received a copy of the GNU General Public License       *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
- *****************************************************************************/
-/*!
- * \file
- *
- * \brief Test for the two-phase CC model
- */
-#include <config.h>
-#include "lensproblem.hh"
-#include <dumux/common/start.hh>
-
-/*!
- * \brief Provides an interface for customizing error messages associated with
- *        reading in parameters.
- *
- * \param progName  The name of the program, that was tried to be started.
- * \param errorMsg  The error message that was issued by the start function.
- *                  Comprises the thing that went wrong and a general help message.
- */
-void usage(const char *progName, const std::string &errorMsg)
-{
-    if (errorMsg.size() > 0) {
-        std::string errorMessageOut = "\nUsage: ";
-        errorMessageOut += progName;
-        errorMessageOut += " [options]\n";
-        errorMessageOut += errorMsg;
-        errorMessageOut += "\n\nThe list of mandatory options for this program is:\n"
-                           "\t-TimeManager.TEnd              End of the simulation [s] \n"
-                           "\t-TimeManager.DtInitial         Initial timestep size [s] \n"
-                           "\t-Grid.File                     Name of the file containing the grid \n"
-                           "\t                               definition in DGF format\n"
-                           "\t-SpatialParams.LensLowerLeft   coordinates of the lower left corner of the lens [m] \n"
-                           "\t-SpatialParams.LensUpperRight  coordinates of the upper right corner of the lens [m] \n"
-                           "\t-Problem.Name                  String for naming of the output files \n"
-                           "\n";
-
-        std::cout << errorMessageOut << std::endl;
-    }
-}
-
-////////////////////////
-// the main function
-////////////////////////
-int main(int argc, char** argv)
-{
-
-#if HAVE_DUNE_ALUGRID
-    typedef TTAG(LensCCAdaptiveProblem) TypeTag;
-    return Dumux::start<TypeTag>(argc, argv, usage);
-#else
-#warning You need dune-ALUGrid to run this test.
-    std::cerr << "You need dune-ALUGrid to run this test." << std::endl;
-    return 77;
-#endif
-
-}
diff --git a/test/porousmediumflow/2p/implicit/test_ccadaptive2p.input b/test/porousmediumflow/2p/implicit/test_ccadaptive2p.input
deleted file mode 100644
index 4a3dff50e752ee0faef529cf7dc89079357c2136..0000000000000000000000000000000000000000
--- a/test/porousmediumflow/2p/implicit/test_ccadaptive2p.input
+++ /dev/null
@@ -1,26 +0,0 @@
-[TimeManager]
-DtInitial = 250 # [s]
-TEnd = 3000 # [s]
-
-[Grid]
-File = ./grids/rectangle-domain.msh
-
-[SpatialParams]
-LensLowerLeft = 1.0 2.0 # [m] coordinates of the lower left lens corner
-LensUpperRight = 4.0 3.0 # [m] coordinates of the upper right lens corner
-
-[Problem]
-Name = lensccadaptive # name passed to the output routines
-
-[Implicit]
-EnablePartialReassemble = 1 # enable partial reassembly of the jacobian matrix?
-EnableJacobianRecycling = 1 # Enable reuse of jacobian matrices?
-
-[GridAdapt]
-EnableInitializationIndicator = 1
-RefineAtDirichletBC = 1
-RefineAtFluxBC = 1
-MinLevel = 0
-MaxLevel = 2
-CoarsenTolerance = 1.0e-4
-RefineTolerance = 1.0e-4
diff --git a/test/references/lensboxadaptive-reference.vtu b/test/references/lensboxadaptive-reference.vtu
index 192343b08581d4bddbc6110c159c7be6b66a171d..162c0578c37ee50a0200a67591e99d2e7d3c536b 100644
--- a/test/references/lensboxadaptive-reference.vtu
+++ b/test/references/lensboxadaptive-reference.vtu
@@ -3033,309 +3033,6 @@
           0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
           0.4 0.4 0.4 0.4 0.4 0.4 0.4
         </DataArray>
-        <DataArray type="Float32" Name="temperature" NumberOfComponents="1" format="ascii">
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15
-        </DataArray>
       </PointData>
       <CellData Scalars="process rank">
         <DataArray type="Float32" Name="process rank" NumberOfComponents="1" format="ascii">
diff --git a/test/references/lensccadaptive-reference.vtu b/test/references/lensccadaptive-reference.vtu
index 034df4ddcc67e0317f5bc9cb22ffe6866ea07cff..05264d541e2e2f4e9d5f00b00a6f3dd36cc50a39 100644
--- a/test/references/lensccadaptive-reference.vtu
+++ b/test/references/lensccadaptive-reference.vtu
@@ -4053,411 +4053,6 @@
           0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
           0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
         </DataArray>
-        <DataArray type="Float32" Name="temperature" NumberOfComponents="1" format="ascii">
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-        </DataArray>
         <DataArray type="Float32" Name="process rank" NumberOfComponents="1" format="ascii">
           0 0 0 0 0 0 0 0 0 0 0 0
           0 0 0 0 0 0 0 0 0 0 0 0
diff --git a/test/references/lensccadaptivepointsource-reference.vtu b/test/references/lensccadaptivepointsource-reference.vtu
index a0e673a553bb82114320b04a2237d1c5571ac23e..048aa6d7b43134c07091ad95dcca633fe69ecab2 100644
--- a/test/references/lensccadaptivepointsource-reference.vtu
+++ b/test/references/lensccadaptivepointsource-reference.vtu
@@ -2183,224 +2183,6 @@
           0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
           0.4 0.4 0.4 0.4
         </DataArray>
-        <DataArray type="Float32" Name="temperature" NumberOfComponents="1" format="ascii">
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15 293.15
-          293.15 293.15 293.15 293.15
-        </DataArray>
         <DataArray type="Float32" Name="process rank" NumberOfComponents="1" format="ascii">
           0 0 0 0 0 0 0 0 0 0 0 0
           0 0 0 0 0 0 0 0 0 0 0 0