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
```
friend class iterator;
    friend class Reader;
    template <typename, typename, typename, typename, typename, typename, size_t>
    friend class TwoLevelHashTable;
    template <typename, typename, size_t>
    friend class TwoLevelStringHashTable;
    template <typename SubMaps>
    friend class StringHashTable;
    using HashValue = size_t;
    using Self = HashTable;
    size_t m_size = 0;        
    Cell * buf;               
    Grower grower;
#ifdef DBMS_HASH_MAP_COUNT_COLLISIONS
    mutable size_t collisions = 0;
#endif
    
    size_t ALWAYS_INLINE findCell(const Key & x, size_t hash_value, size_t place_value) const
    {
        while (!buf[place_value].isZero(*this) && !buf[place_value].keyEquals(x, hash_value, *this))
        {
            place_value = grower.next(place_value);
#ifdef DBMS_HASH_MAP_COUNT_COLLISIONS
            ++collisions;
#endif
        }
        return place_value;
    }
    
    size_t ALWAYS_INLINE findEmptyCell(size_t place_value) const