output_description: Print the maximum total score earned in the game.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N K
      R S P
      T
attempt: n, k = map(int, input().split())
  r_origin, s_origin, p_origin = map(int, input().split())
  t = "!" + str(input())
  
  
  def make_rsp(i):
      global t, r_origin, s_origin, p_origin
      r_temp = 0
      s_temp = 0
      p_temp = 0
      if t[i] == "r":
          p_temp = p_origin
      if t[i] == "s":
          r_temp = r_origin
      if t[i] == "p":
          s_temp = s_origin
      return r_temp, s_temp, p_temp
  
  
  rock = [0] * (n + 1)
  sissors = [0] * (n + 1)
  paper = [0] * (n + 1)
  best = [0] * (n + 1)
  for i in range(1, n + 1):
      best[i] = max(make_rsp(i))
  
  for i in range(1, k + 1):
      m = max(rock[i - 1], sissors[i - 1], paper[i - 1])
      r_temp, s_temp, p_temp = make_rsp(i)
      rock[i] = r_temp + m
      sissors[i] = s_temp + m
      paper[i] = p_temp + m
  
  if k > 1:
      cnt = sum(best[2 : k + 1])
  else:
      cnt = 0
  
  for i in range(k + 1, n + 1):
      r_temp, s_temp, p_temp = make_rsp(i)
      rb = rock[i - k]
      sb = sissors[i - k]
      pb = paper[i - k]
      rock[i] = r_temp + cnt + max(sb, pb)
      sissors[i] = s_temp + cnt + max(rb, pb)
      paper[i] = p_temp + cnt + max(rb, sb)
      cnt += best[i]
      cnt -= best[i - k + 1]
  
  print(max(rock[n], sissors[n], paper[n]))
  # print("r", rock)
  # print("s", sissors)
  # print("p", paper)
  # print(best)
  
problem_description: Statement
  
  At an arcade, Takahashi is playing a game called _RPS Battle_ , which is
  played as follows:
  
    * The player plays N rounds of Rock Paper Scissors against the machine. (See Notes for the description of Rock Paper Scissors. A draw also counts as a round.)
    * Each time the player wins a round, depending on which hand he/she uses, he/she earns the following score (no points for a draw or a loss):
      * R points for winning with Rock;
      * S points for winning with Scissors;
      * P points for winning with Paper.
    * However, in the i-th round, the player cannot use the hand he/she used in the (i-K)-th round. (In the first K rounds, the player can use any hand.)
  
  Before the start of the game, the machine decides the hand it will play in
  each round. With supernatural power, Takahashi managed to read all of those
  hands.
  
  The information Takahashi obtained is given as a string T. If the i-th
  character of T (1 \leq i \leq N) is `r`, the machine will play Rock in the
  i-th round. Similarly, `p` and `s` stand for Paper and Scissors, respectively.
  
  What is the maximum total score earned in the game by adequately choosing the
  hand to play in each round?
samples: [{"input": "5 2\n    8 7 6\n    rsrpr", "output": "27\n    \n\nThe machine will play {Rock, Scissors, Rock, Paper, Rock}.\n\nWe can, for example, play {Paper, Rock, Rock, Scissors, Paper} against it to\nearn 27 points. We cannot earn more points, so the answer is 27.\n\n* * *"}, {"input": "7 1\n    100 10 1\n    ssssppr", "output": "211\n    \n\n* * *"}, {"input": "30 5\n    325 234 123\n    rspsspspsrpspsppprpsprpssprpsr", "output": "4996"}]