#include <bits/stdc++.h>
using namespace std;
int n, a, b, len[5005];
string s;
int z[5005];
int dp[5005];
void Zalgo(int id) {
  int L, R;
  L = R = 0;
  string str = s.substr(id, s.size() - id) + '$' + s.substr(0, id);
  int n = str.size(), flag = 0;
  for (int i = 1; i < str.size(); i++) {
    if (i > R) {
      L = R = i;
      while (R < n && str[R] == str[R - L]) R++;
      z[i] = R - L;
      R--;
    } else {
      int k = i - L;
      if (z[k] < R - i + 1)
        z[i] = z[k];
      else {
        L = i;
        while (R < n && str[R - L] == str[R]) R++;
        z[i] = R - L;
        R--;
      }
    }
    if (flag) len[id] = max(len[id], z[i]);
    if (str[i] == '$') flag = 1;
  }
}
int32_t main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> a >> b >> s;
  for (int i = 0; i < s.size(); i++) Zalgo(i), dp[i] = a * (i + 1);
  for (int i = 1; i < s.size(); i++) {
    for (int j = i; j < i + len[i]; j++) {
      dp[j] = min(dp[j], dp[i - 1] + b);
    }
    dp[i] = min(dp[i - 1] + a, dp[i]);
  }
  cout << dp[n - 1];
}
