Постановка задачи: дан словарь, содержащий много (сотни тысяч) различных поисковых запросов с соответствующими им частотами. Нужно придумать структуру данных, способную по заданному префиксу быстро выдать top 10 подсказок, начинающихся с этого префикса, либо, если таких нет, top 10 подсказок, начинающихся с префикса, в котором исправлена опечатка. Исходные данные: словарь подсказок задан в следующем формате: текстовый файл, в каждой строчке которого находятся три поля, отделенных друг от друга символом табуляции (ASCII #9).  Первое поле – текст поискового запроса (UTF-8). Второе поле, если оно не пусто – текст запроса с исправленной опечаткой; если пусто – запрос правильный. Третье поле – частота поискового запроса (целое число).