For [the rule in the list](https://github.com/ClickHouse/ClickHouse/blob/82fc7375dd3ac4faae6c3b0db9f3a28fb2802d05/tests/config/top_level_domains/public_suffix_list.dat#L6430) `*.sch.uk` 

and domain like `www.something.sheffield.sch.uk`  the correct / expected result is `sheffield.sch.uk`

Example with python (correct)

```
-- pip install publicsuffix2
-- python3
>>> from publicsuffix2 import get_public_suffix
>>> get_public_suffix('www.something.sheffield.sch.uk')
'something.sheffield.sch.uk'
```

Same from clickhouse:
```
SELECT cutToFirstSignificantSubdomain('www.something.sheffield.sch.uk')

Query id: 9661461f-a393-43ea-97a1-47c0a8850515

┌─cutToFirstSignificantSubdomain('www.something.sheffield.sch.uk')─┐
│ sch.uk                                                           │
└──────────────────────────────────────────────────────────────────┘
```

/cc @azat 
#pragma once
#include <Functions/FunctionFactory.h>
#include <Functions/URL/FunctionsURL.h>
#include <Functions/FunctionHelpers.h>
#include <DataTypes/DataTypeString.h>
#include <Columns/ColumnString.h>
#include <Columns/ColumnFixedString.h>
#include <Common/TLDListsHolder.h>
namespace DB
{
namespace ErrorCodes
{
    extern const int ILLEGAL_COLUMN;
    extern const int ILLEGAL_TYPE_OF_ARGUMENT;
}
struct FirstSignificantSubdomainCustomLookup
{
    const TLDList & tld_list;
    explicit FirstSignificantSubdomainCustomLookup(const std::string & tld_list_name)
        : tld_list(TLDListsHolder::getInstance().getTldList(tld_list_name))
    {
    }
    bool operator()(const char *pos, size_t len) const
    {
        return tld_list.has(StringRef{pos, len});
    }
};
template <typename Extractor, typename Name>
class FunctionCutToFirstSignificantSubdomainCustomImpl : public IFunction