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
```
for (auto counter : boost::adaptors::reverse(rhs.counter_list))
        {
            size_t hash = counter_map.hash(counter->key);
            if (auto current = findCounter(counter->key, hash))
            {
                
                current->count += (counter->count - m2);
                current->error += (counter->error - m2);
            }
            else
            {
                
                counter_list.push_back(new Counter(arena.emplace(counter->key), counter->count + m1, counter->error + m1, hash));
            }
        }
        std::sort(counter_list.begin(), counter_list.end(), [](Counter * l, Counter * r) { return *l > *r; });
        if (counter_list.size() > m_capacity)
        {
            for (size_t i = m_capacity; i < counter_list.size(); ++i)
            {
                arena.free(counter_list[i]->key);
                delete counter_list[i];
            }
            counter_list.resize(m_capacity);
        }
        for (size_t i = 0; i < counter_list.size(); ++i)
            counter_list[i]->slot = i;
        rebuildCounterMap();
    }
    std::vector<Counter> topK(size_t k) const