ADACLEAN - Ada and Spring Cleaning


Ada the Ladybug has decided to do some "Spring Cleaning". As you might know, she keeps a TODO list. She is very sparing so she keeps all her activities as one string. You might get very confused while reading the string but she has a system - every activity has length exactly K characters. Sadly, as new activities were added to the list many duplicities appeared. Now it is time to find out how many unique activities are in her TODO list.

Input

First line contains T, number of test-cases.

Each test-case begins with N, K, 1 ≤ K ≤ N ≤ 105, length of string and length of activities respectively.

Next line consists of string of length N, consisting of lowercase letters.

The sum of lengths of strings among all test-cases won't exceed 3*105

Output

For each test-case, print the number of unique substrings of length K

Example Input

5
3 2
aaa
5 1
abcba
4 2
abac
10 2
abbaaaabba
7 3
dogodog

Example Output

1
3
3
4
4

hide comments
codexter: 2018-02-25 14:07:58

Can you please check 21232915. It exceeds time limit. Maybe some problem with hash function. I self reviewed many times, cant find mistake.

Also have other fast solution 21241622, but still TLE

Last edit: 2018-02-28 17:10:28
snitesh24: 2018-01-03 00:04:46

@morass: I am getting WA , could you tell me where the code is failing id =20889399

lalit_nit: 2017-10-16 07:41:05

1 am getting TLE can anyone tell me expected TC

starbot: 2017-09-29 20:19:40

thanks morass...I was missing one memset statement....did it with sa....

morass: 2017-09-29 13:26:17

@starbot: Good day to you, try following test-case:

2
2 1
mm
1 1
m

Seems your program prints "0" for the second case (even though 0 is not possible). Also it seems it works properly if it is the only input (so perhaps some garbage remaining from previous test-cases).


Good Luck & Have Nice Day

starbot: 2017-09-28 22:27:55

@Morass could you tell me where I am failing
id = 20253140

morass: 2017-05-06 12:43:54

@jacastrorug97: Good day to you! SPOJ just works in such way, than it executes all test-cases even though it fails on some of them. So well. .. even though you see test-case 15, the WA is on test-case 1. Good Luck

jacastrorug97: 2017-05-06 01:20:51

Case 15 ?

Last edit: 2017-05-06 01:23:10
morass: 2017-04-17 00:38:17

@hodobox: Hello, well I guess it is Birthday Paradox's fault ^_^ Have nice day!

hodobox: 2017-04-15 16:50:23

I have no idea how you managed it, but I got false collisions with a random prime mod > 2*10^9. That's pretty good.


Added by:Morass
Date:2016-09-06
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64 GOSU