#include <bits/stdc++.h>
using namespace std;
long long mod = 1.41 * 1e18, mod2 = 105716509;
long long mn = 53;
int main() {
  ios::sync_with_stdio(0);
  int n, a, b;
  cin >> n >> a >> b;
  string s;
  cin >> s;
  int dp[n];
  for (int i = 0; i < n; i++) dp[i] = 1e9;
  dp[0] = a;
  long long hashh[n][n];
  long long pow[n];
  pow[0] = 1;
  for (int i = 1; i < n; i++) pow[i] = (pow[i - 1] * mn);
  for (int i = 0; i < n; i++) {
    long long h = 0;
    for (int j = i; j < n; j++) {
      h = (h + pow[j - i] * (s[j] - 'a' + 1));
      hashh[i][j] = h;
    }
  }
  for (int i = 1; i < n; i++) {
    dp[i] = dp[i - 1] + a;
    int l = 0, r = i, mid;
    while (l < r) {
      mid = (l + r) / 2;
      int len = i - mid;
      bool o = false;
      long long now = hashh[mid][i];
      for (int j = 0; j + len < mid; j++)
        if (hashh[j][j + len] == now) o = true;
      if (o)
        r = mid;
      else
        l = mid + 1;
    }
    bool o = true;
    if (l == i) {
      for (int j = 0; j < i; j++)
        if (s[j] == s[i])
          break;
        else if (j == i - 1)
          o = false;
    }
    if (o) dp[i] = min(dp[i], dp[l - 1] + b);
  }
  cout << dp[n - 1] << "\n";
}
