CF62B.Tyndex.Brome

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Tyndex is again well ahead of the rivals! The reaction to the release of Zoozle Chrome browser was the release of a new browser Tyndex.Brome!

The popularity of the new browser is growing daily. And the secret is not even the Tyndex.Bar installed (the Tyndex.Bar automatically fills the glass with the finest 1664 cognac after you buy Tyndex.Bottles and insert in into a USB port). It is highly popular due to the well-thought interaction with the user.

Let us take, for example, the system of automatic address correction. Have you entered codehorses instead of codeforces? The gloomy Zoozle Chrome will sadly say that the address does not exist. Tyndex.Brome at the same time will automatically find the closest address and sent you there. That's brilliant!

How does this splendid function work? That's simple! For each potential address a function of the FF error is calculated by the following rules:

  • for every letter cic_{i} from the potential address cc the closest position jj of the letter cic_{i} in the address ( ss ) entered by the user is found. The absolute difference ij|i-j| of these positions is added to FF . So for every ii ( 1<=i<=c1<=i<=|c| ) the position jj is chosen such, that ci=sjc_{i}=s_{j} , and ij|i-j| is minimal possible.
  • if no such letter cic_{i} exists in the address entered by the user, then the length of the potential address c|c| is added to FF .

After the values of the error function have been calculated for all the potential addresses the most suitable one is found.

To understand the special features of the above described method better, it is recommended to realize the algorithm of calculating the FF function for an address given by the user and some set of potential addresses. Good luck!

输入格式

The first line contains two integers nn and kk ( 1<=n<=105,1<=k<=1051<=n<=10^{5},1<=k<=10^{5} ). They are the number of potential addresses and the length of the address entered by the user. The next line contains kk lowercase Latin letters. They are the address entered by the user ( ss ). Each next ii -th ( 1<=i<=n1<=i<=n ) line contains a non-empty sequence of lowercase Latin letters. They are the potential address. It is guaranteed that the total length of all the lines does not exceed 21052·10^{5} .

输出格式

On each nn line of the output file print a single number: the value of the error function when the current potential address is chosen.

Please, do not use %lld specificator to read or write 64-bit integers in C++. It is preffered to use cout (also you may use %I64d).

输入输出样例

  • 输入#1

    2 10
    codeforces
    codeforces
    codehorses
    

    输出#1

    0
    12
    
  • 输入#2

    9 9
    vkontakte
    vcontacte
    vkontrakte
    vkollapse
    vkrokodile
    vtopke
    vkapuste
    vpechke
    vk
    vcodeforcese
    

    输出#2

    18
    14
    36
    47
    14
    29
    30
    0
    84
    
首页