Недалёкие строки | 프로그래밍의 벗 PivotOJ
PivotOJ

Недалёкие строки

시간 제한: 1000ms메모리 제한: 1024MB출처: MOOI 2017-18 qualshortBOJ 30727

문제

Сегодня на уроке строковедения профессор Моррис рассказывал студентам различные способы вычисления расстояния между двумя строками. Один из способов был следующий, пусть имеются две строки ss и tt длины nn, состоящие только из десятичных цифр. Тогда цифровым расстоянием между двумя данными строками профессор Моррис считает сумму модулей разности цифр на одинаковых позициях, то есть i=1nsiti\sum_{i = 1}^{n} |s_i - t_i|, где sis_i означает цифру, записанную на позиции ii в строке ss, а tit_i означает цифру, записанную на позиции ii в строке tt.

В качестве домашнего задания профессор дал каждому студенту строку длины nn и поручил выписать все строки длины nn (а это целых 10n10^n строк) в порядке неубывания цифрового расстояния до данной строки. При равенстве расстояния до двух строк, их следует сравнивать лексикографически.

Поскольку у профессора мало времени, чтобы проконтролировать выполнение всего задания каждым из студентов, он дополнительно сообщил каждому из них число kk и просит лишь сказать ему строку, находящуюся на kk-м месте в выписанной последовательности. Студенты не горят желанием выполнять вручную столь объёмное и монотонное задание, поэтому попросили вас написать программу, которая будет выводить ответ по заданной строке и числу kk.

입력

В первой строке входных данных записаны два целых числа nn и kk (1n2000001 \leq n \leq 200\,000, 1kmin(10n,1018)1 \leq k \leq \min(10^{n}, 10^{18})) --- длина строки, выданной профессором, и интересующая профессора позиция в итоговой последовательности.

Во второй строке записана строка, состоящая из nn десятичных цифр.

출력

Выведите строку из nn десятичных цифр, которая будет записана на kk-м месте в интересующей профессора последовательности.

힌트

Во втором примере первые семь слов списка это <<00000>>, <<00001>>, <<00010>>, <<00100>>, <<01000>>, <<10000>> и <<00002>>.

Слово x1,x2,,xax_1, x_2, \ldots, x_a не превосходит слова y1,y2,,yby_1, y_2, \ldots, y_b в лексикографическом порядке если верно одно из двух условий:

  • либо aba \leq b и x1=y1,,xa=yax_1 = y_1, \ldots, x_a = y_a, то есть первое слово является префиксом второго;
  • либо есть такая позиция 1jmin(a,b)1 \leq j \leq \min(a, b), что x1=y1,,xj1=yj1x_1 = y_1, \ldots, x_{j-1} = y_{j-1} и xj<yjx_j < y_j, то есть, в первой позиции, в которой слова отличаются, в первом слове стоит меньшая буква.

예제

예제 1

입력
5 1
00000
출력
00000

예제 2

입력
5 7
00000
출력
00002

예제 3

입력
3 44
132
출력
212
이 문제는 채점 준비 중입니다. 테스트 데이터가 확보되면 제출이 가능합니다.