#!/usr/bin/env python3

import sys

read = sys.stdin.buffer.read

readline = sys.stdin.buffer.readline

readlines = sys.stdin.buffer.readlines

n,k = list(map(int,input().split()))

r,s,p = list(map(int,input().split()))

point_dict = {"r":p,"s":r, "p":s}

t = eval(input())

# ゲームの問題

# ジャンケンをNかいする

# Kかい前の手と同じ手を出すことはできない

# 事前に相手が出す手がわかっている時の得点の最大化

# for i in range(k): に対してi+k*j 番目での手を前からgreedyにう考える

# bit を立ててk個前と同じ手だった時に勝てる手を出していいかを管理

ans = 0

for i in range(k):

    bit = 1 # 勝てる手を出していい

    j =0

    ans += point_dict[t[i+k*j]]

    j += 1

    while i+k*j <= n-1:

        if t[i+k*j] != t[i+k*j-k]:

            ans += point_dict[t[i+k*j]]

            bit = 1

        elif (t[i+k*j] == t[i+k*j-k] and bit == 0):

            ans += point_dict[t[i+k*j]]

            #print(t[i+k*j])

            bit = 1

        else:

            bit = 0

        j += 1

        #print(ans,i,j)

print(ans)
n, k = list(map(int, input().split()))

score = list(map(int, input().split()))

score = {"r": score[2], "s": score[0], "p": score[1]}

# ord(r) = 114

# r の時はp s -> r p -> s を出すことになる。

t = eval(input())

l = len(t)

ans = 0

for i in range(k):

    cnt = 0

    pre = ""

    while True:

        if k * cnt + i >= l:

            break

        if t[k * cnt + i] != pre:

            ans += score[t[k * cnt + i]]

            # print(k * cnt + i, t[k * cnt + i], ans)

            pre = t[k * cnt + i]

        else:

            pre = ""

        cnt += 1

print(ans)

#!/usr/bin/env python3
import sys

read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
n, k = list(map(int, input().split()))
r, s, p = list(map(int, input().split()))
point_dict = {"r": p, "s": r, "p": s}
t = eval(input())
# ゲームの問題
# ジャンケンをNかいする
# Kかい前の手と同じ手を出すことはできない
# 事前に相手が出す手がわかっている時の得点の最大化
# for i in range(k): に対してi+k*j 番目での手を前からgreedyにう考える
# bit を立ててk個前と同じ手だった時に勝てる手を出していいかを管理
ans = 0
for i in range(k):
    bit = 1  # 勝てる手を出していい
    j = 0
    ans += point_dict[t[i + k * j]]
    j += 1
    while i + k * j <= n - 1:
        if t[i + k * j] != t[i + k * j - k]:
            ans += point_dict[t[i + k * j]]
            bit = 1
        elif t[i + k * j] == t[i + k * j - k] and bit == 0:
            ans += point_dict[t[i + k * j]]
            # print(t[i+k*j])
            bit = 1
        else:
            bit = 0
        j += 1
        # print(ans,i,j)
print(ans)

n, k = list(map(int, input().split()))
score = list(map(int, input().split()))
score = {"r": score[2], "s": score[0], "p": score[1]}
# ord(r) = 114
# r の時はp s -> r p -> s を出すことになる。
t = eval(input())
l = len(t)
ans = 0
for i in range(k):
    cnt = 0
    pre = ""
    while True:
        if k * cnt + i >= l:
            break
        if t[k * cnt + i] != pre:
            ans += score[t[k * cnt + i]]
            # print(k * cnt + i, t[k * cnt + i], ans)
            pre = t[k * cnt + i]
        else:
            pre = ""
        cnt += 1
print(ans)

-#!/usr/bin/env python3 -import sys - -read = sys.stdin.buffer.read -readline = sys.stdin.buffer.readline -readlines = sys.stdin.buffer.readlines -r, s, p = list(map(int, input().split())) -point_dict = {"r": p, "s": r, "p": s} +score = list(map(int, input().split())) +score = {"r": score[2], "s": score[0], "p": score[1]} +# ord(r) = 114 +# r の時はp s -> r p -> s を出すことになる。 -# ゲームの問題 -# ジャンケンをNかいする -# Kかい前の手と同じ手を出すことはできない -# 事前に相手が出す手がわかっている時の得点の最大化 -# for i in range(k): に対してi+k*j 番目での手を前からgreedyにう考える -# bit を立ててk個前と同じ手だった時に勝てる手を出していいかを管理 +l = len(t) -    bit = 1  # 勝てる手を出していい -    j = 0 -    ans += point_dict[t[i + k * j]] -    j += 1 -    while i + k * j <= n - 1: -        if t[i + k * j] != t[i + k * j - k]: -            ans += point_dict[t[i + k * j]] -            bit = 1 -        elif t[i + k * j] == t[i + k * j - k] and bit == 0: -            ans += point_dict[t[i + k * j]] -            # print(t[i+k*j]) -            bit = 1 +    cnt = 0 +    pre = "" +    while True: +        if k * cnt + i >= l: +            break +        if t[k * cnt + i] != pre: +            ans += score[t[k * cnt + i]] +            # print(k * cnt + i, t[k * cnt + i], ans) +            pre = t[k * cnt + i] -            bit = 0 -        j += 1 -        # print(ans,i,j) +            pre = "" +        cnt += 1