s, p = map(int, input().split())
a = input()
D = []

for c in a : 
	D.append(c)

A, C, G, T = map(int, input().split())

cnt = 0

ac = 0
cc = 0
gc = 0
tc = 0

L = D[ : p]

for e in L : 
    
    if e == 'A' : 
        ac += 1
    elif e == 'C' : 
        cc += 1
    elif e == 'G' : 
        gc += 1
    else : 
        tc += 1

if ac >= A and cc >= C and gc >= G and tc >= T : 
    cnt += 1

for i in range(p, s) : 
	 
    if D[i-p] == 'A':
        ac -= 1
    elif D[i-p] == 'C':
        cc -= 1
    elif D[i-p] == 'G':
        gc -= 1
    else :
        tc -= 1

    if D[i] == 'A':
        ac += 1
    elif D[i] == 'C':
        cc += 1
    elif D[i] == 'G':
        gc += 1
    else :
        tc += 1
    
    if ac >= A and cc >= C and gc >= G and tc >= T :
    	cnt += 1

print(cnt)

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: