#include <ql/patterns/lazyobject.hpp>#include <ql/math/interpolations/multicubicspline.hpp>#include <ql/methods/finitedifferences/finitedifferencemodel.hpp>#include <ql/methods/finitedifferences/meshers/fdmmesher.hpp>#include <ql/methods/finitedifferences/solvers/fdmsolverdesc.hpp>#include <ql/methods/finitedifferences/operators/fdmlinearoplayout.hpp>#include <ql/methods/finitedifferences/solvers/fdmbackwardsolver.hpp>#include <ql/methods/finitedifferences/stepconditions/fdmsnapshotcondition.hpp>#include <ql/methods/finitedifferences/utilities/fdminnervaluecalculator.hpp>#include <ql/methods/finitedifferences/stepconditions/fdmstepconditioncomposite.hpp>#include <numeric>