Codeforces Round 530 (Div. 2) |
---|
Закончено |
Андрей получил открытку от Ирины. В ней были только слова «Привет, Андрей!» и странная строка, состоящая из строчных латинских букв, снежинок и леденцов. Андрей подумал, что эта строка — это зашифрованное сообщение, и решил его разгадать.
Андрей заметил, что снежинки и леденцы всегда стоят после букв, поэтому у него появилась гипотеза, что сообщение закодировано следующим образом. Леденец означает, что символ, идущий перед ним, можно удалить, а можно оставить. Снежинка же означает, что символ, идущий перед ней, можно удалить, оставить или повторить несколько раз.
Например, рассмотрим такую строку:
Эта строка может кодировать сообщение «happynewyear». Для этого леденцы и снежинки нужно использовать следующим образом:
Обратите внимание, что одна и та же строка может кодировать разные сообщения. Например, строка, приведенная выше, может кодировать сообщения «hayewyar», «happpppynewwwwwyear» и другие.
Андрей знает, что сообщения от Ирины обычно имеют длину $$$k$$$ символов. Помогите ему понять, может ли данная строка кодировать какое-то сообщение из $$$k$$$ символов, и если да, приведите пример такого сообщения.
В первой строке записана строка, полученная в открытке. Строка состоит только из строчных латинских букв, а также символов «*» и «?», обозначающих снежинку и леденец соответственно. Эти символы могут стоять только сразу после буквы. Длина строки не превосходит $$$200$$$.
Во второй строке находится целое число $$$k$$$ ($$$1 \leq k \leq 200$$$) — необходимая длина сообщения.
Выведите любое сообщение длины $$$k$$$, которое может кодировать данная строка, или «Impossible», если такого сообщения не существует.
hw?ap*yn?eww*ye*ar 12
happynewyear
ab?a 2
aa
ab?a 3
aba
ababb 5
ababb
ab?a 1
Impossible
Название |
---|