{"raw_statement":[{"iden":"statement","content":"_And where the are the phone numbers?_\n\nYou are given a string _s_ consisting of lowercase English letters and an integer _k_. Find the lexicographically smallest string _t_ of length _k_, such that its set of letters is a subset of the set of letters of _s_ and _s_ is lexicographically smaller than _t_.\n\nIt's guaranteed that the answer exists.\n\nNote that the set of letters is a set, not a multiset. For example, the set of letters of _abadaba_ is {_a_, _b_, _d_}.\n\nString _p_ is lexicographically smaller than string _q_, if _p_ is a prefix of _q_, is not equal to _q_ or there exists _i_, such that _p__i_ < _q__i_ and for all _j_ < _i_ it is satisfied that _p__j_ = _q__j_. For example, _abc_ is lexicographically smaller than _abcd_ , _abd_ is lexicographically smaller than _abec_, _afa_ **is not** lexicographically smaller than _ab_ and _a_ **is not** lexicographically smaller than _a_."},{"iden":"input","content":"The first line of input contains two space separated integers _n_ and _k_ (1 ≤ _n_, _k_ ≤ 100 000) — the length of _s_ and the required length of _t_.\n\nThe second line of input contains the string _s_ consisting of _n_ lowercase English letters."},{"iden":"output","content":"Output the string _t_ conforming to the requirements above.\n\nIt's guaranteed that the answer exists."},{"iden":"examples","content":"Input\n\n3 3\nabc\n\nOutput\n\naca\n\nInput\n\n3 2\nabc\n\nOutput\n\nac\n\nInput\n\n3 3\nayy\n\nOutput\n\nyaa\n\nInput\n\n2 3\nba\n\nOutput\n\nbaa"},{"iden":"note","content":"In the first example the list of strings _t_ of length 3, such that the set of letters of _t_ is a subset of letters of _s_ is as follows: _aaa_, _aab_, _aac_, _aba_, _abb_, _abc_, _aca_, _acb_, .... Among them, those are lexicographically greater than _abc_: _aca_, _acb_, .... Out of those the lexicographically smallest is _aca_."}],"translated_statement":null,"sample_group":[],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}