**Describe what's wrong**
Inconsistent result for subselect having ORDER BY WITH FILL when select is also ordered.

**Does it reproduce on recent release?**
yes

**How to reproduce**
```
SELECT x, s FROM (
    SELECT 5 AS x, 'Hello' AS s ORDER BY x WITH FILL FROM 1 TO 10
);
┌─x─┬─s─────┐
│ 1 │       │
│ 2 │       │
│ 3 │       │
│ 4 │       │
│ 5 │ Hello │
└───┴───────┘
┌─x─┬─s─┐
│ 6 │   │
│ 7 │   │
│ 8 │   │
│ 9 │   │
└───┴───┘

SELECT x, s FROM (
    SELECT 5 AS x, 'Hello' AS s ORDER BY x WITH FILL FROM 1 TO 10
) ORDER BY s;
┌─x─┬─s─────┐
│ 5 │       │
│ 5 │       │
│ 5 │       │
│ 5 │       │
│ 5 │       │
│ 5 │       │
│ 5 │       │
│ 5 │       │
│ 5 │ Hello │
└───┴───────┘
```

**Expected behavior**
`x` column should preserve values.
{
    if (node.children.size() != 1)
        throw DB::Exception(DB::ErrorCodes::LOGICAL_ERROR, "Node \"{}\" is expected to have only one child.", node.step->getName());
    return node.children.front()->step->getOutputStream();
}
}
namespace DB::QueryPlanOptimizations
{
size_t tryExecuteFunctionsAfterSorting(QueryPlan::Node * parent_node, QueryPlan::Nodes & nodes)
{
    if (parent_node->children.size() != 1)
        return 0;
    QueryPlan::Node * child_node = parent_node->children.front();
    auto & parent_step = parent_node->step;
    auto & child_step = child_node->step;
    auto * sorting_step = typeid_cast<SortingStep *>(parent_step.get());