#include <bits/stdc++.h>
const int maxn = 0x3f3f3f3f;
const double EI =
    2.71828182845904523536028747135266249775724709369995957496696762772407663035354594571382178525166427;
const double PI = 3.141592653589793238462643383279;
using namespace std;
char c[110], d[110];
int zz[110];
int main(void) {
  int n, m, i, j, ans;
  while (~scanf("%d %d", &n, &m)) {
    memset(zz, 0, sizeof(zz));
    scanf("%s %s", c, d);
    int l1 = strlen(c);
    int l2 = strlen(d);
    for (i = 0; i < l2; i++) {
      for (j = 0; j < l1; j++) {
        if (c[j] == d[(i + zz[i]) % l2]) {
          zz[i]++;
        }
      }
    }
    ans = 0;
    for (i = 0; i < n; i++) {
      ans = ans + zz[ans % l2];
    }
    printf("%d\n", ans / (m * l2));
  }
  return 0;
}
