def METHOD_NAME(n_columns):
    """Test that ReconcilerForecaster works without aggregated input, see #3980."""
    from sktime.datatypes._utilities import get_window
    from sktime.forecasting.reconcile import ReconcilerForecaster
    from sktime.forecasting.sarimax import SARIMAX
    y = _make_hierarchical(
        hierarchy_levels=(2, 3),
        n_columns=n_columns,
        min_timepoints=12,
        max_timepoints=12,
        index_type="period",
    )
    y_train = get_window(y, lag=2)
    y_test = get_window(y, window_length=2)
    X = _make_hierarchical(
        hierarchy_levels=(2, 3),
        n_columns=2,
        min_timepoints=12,
        max_timepoints=12,
        index_type="period",
    )
    X.columns = ["foo", "bar"]
    X_train = get_window(X, lag=2)
    X_test = get_window(X, window_length=2)
    forecaster = SARIMAX()
    estimator_instance = ReconcilerForecaster(forecaster, method="mint_shrink")
    fh = [1, 2]
    estimator_instance.fit(y=y_train, X=X_train, fh=fh)
    estimator_instance.predict(X=X_test)
    estimator_instance.update(y=y_test, X=X_test)