using System;
using System.Collections.Generic;
using System.Linq;

namespace Algo
{
    class Program
    {
        static void Main()
        {
            var nk = Console.ReadLine()?.Split().Select(int.Parse).ToArray();
            var n = nk[0];
            var k = nk[1];
            var rsp = Console.ReadLine()?.Split().Select(int.Parse).ToArray();
            var t = Console.ReadLine();
            var s = new char[n];
            var ans = 0;
            for (var i = 0; i < k; i++)
            {
                for (var j = i; j < nk[0]; j += k)
                {
                    switch (t[j])
                    {
                        case 'r':
                            if (j < k)
                            {
                                s[j] = 'p';
                                ans += rsp[2];
                            }
                            else
                            {
                                if (s[j - k] == 'p')
                                {
                                    if (j + k < n)
                                    {
                                        s[j] = t[j + k];
                                    }
                                    else
                                    {
                                        s[j] = 'r';
                                    }
                                }
                                else
                                {
                                    s[j] = 'p';
                                    ans += rsp[2];
                                }
                            }
                            break;
                        case 's':
                            if (j < k)
                            {
                                s[j] = 'r';
                                ans += rsp[0];
                            }
                            else
                            {
                                if (s[j - k] == 'r')
                                {
                                    if (j + k < n)
                                    {
                                        s[j] = t[j + k];
                                    }
                                    else
                                    {
                                        s[j] = 's';
                                    }
                                }
                                else
                                {
                                    s[j] = 'r';
                                    ans += rsp[0];
                                }
                            }
                            break;
                        case 'p':
                            if (j < k)
                            {
                                s[j] = 's';
                                ans += rsp[1];
                            }
                            else
                            {
                                if (s[j - k] == 's')
                                {
                                    if (j + k < n)
                                    {
                                        s[j] = t[j + k];
                                    }
                                    else
                                    {
                                        s[j] = 'p';
                                    }
                                }
                                else
                                {
                                    s[j] = 's';
                                    ans += rsp[1];
                                }
                            }
                            break;
                    }
                }
            }
            Console.WriteLine(ans);
        }
    }
}

Measured memory_bytes: 28908