https://clickhouse-test-reports.s3.yandex.net/17375/99073c26ee2692f8efe2ab14b2d8ae0fd813b80e/fuzzer/fuzzer.log

```
SELECT
    k,
    topK(v)
FROM 
(
    SELECT
        number % 7 AS k,
        arrayMap(x -> arrayMap(x -> if(x = 0, NULL, toString(x)), range(x)), range(intDiv(number, 1))) AS v
    FROM system.numbers
    LIMIT 257
)
GROUP BY k
ORDER BY k ASC
```
{
        counter->slot = counter_list.size();
        counter_list.push_back(counter);
        counter_map[counter->key] = counter;
        percolate(counter);
    }
    
    void percolate(Counter * counter)
    {
        while (counter->slot > 0)
        {
            auto next = counter_list[counter->slot - 1];
            if (*counter > *next)
            {
                std::swap(next->slot, counter->slot);
                std::swap(counter_list[next->slot], counter_list[counter->slot]);
            }
            else
                break;
        }
    }
private:
    void destroyElements()