#include <bits/stdc++.h>
using namespace std;
const int N = 303, M = 18;
mt19937 gen(time(NULL));
template <typename T = int>
inline T read() {
  T val = 0, sign = 1;
  char ch;
  for (ch = getchar(); ch < '0' || ch > '9'; ch = getchar())
    if (ch == '-') sign = -1;
  for (; ch >= '0' && ch <= '9'; ch = getchar()) val = val * 10 + ch - '0';
  return sign * val;
}
int n, m, k;
vector<int> zf(string s, string t) {
  s = t + '#' + s;
  vector<int> z(n + m + 1);
  int l = 0, r = 1;
  for (int i = 1; i <= n + m; i++) {
    if (i < r) z[i] = min(z[i - l], r - i);
    while (i + z[i] <= n + m && s[i + z[i]] == s[z[i]]) z[i]++;
    if (i + z[i] > r) tie(l, r) = make_pair(i, i + z[i]);
  }
  vector<int> ret_z(n);
  for (int i = 0; i < n; i++) ret_z[i] = z[i + m + 1];
  return ret_z;
}
vector<int> pos(string s, string t) {
  vector<int> pos(m + 1, -1);
  auto z = zf(s, t);
  vector<vector<int>> ord(m + 1);
  for (int i = 0; i < n; i++) ord[z[i]].push_back(i);
  set<int> st;
  for (int i = m; i > 0; i--) {
    for (const int v : ord[i]) st.insert(v);
    auto it = st.lower_bound(k - i);
    if (it == st.end()) continue;
    pos[i] = *it;
  }
  return pos;
}
void solve() {
  n = read(), m = read(), k = read();
  string s, t;
  cin >> s >> t;
  auto z = zf(s, t);
  for (int i = 0; i < n; i++)
    if (z[i] >= m) {
      puts("Yes");
      int L = min(i + 1, n - 2 * k + 1);
      int R = L + k;
      printf("%d %d\n", L, R);
      return;
    }
  auto lpos = pos(s, t);
  reverse((s).begin(), (s).end()), reverse((t).begin(), (t).end());
  auto rpos = pos(s, t);
  reverse((s).begin(), (s).end());
  for (int i = 1; i <= min(m - 1, k); i++) {
    if (m - i > k) continue;
    if (lpos[i] == -1 || rpos[m - i] == -1) continue;
    int L = lpos[i] + i - 1, R = rpos[m - i] + (m - i) - 1;
    if (L + R >= n - 1) continue;
    puts("Yes");
    printf("%d %d\n", lpos[i] + i - (k - 1), n - rpos[m - i] - ((m - i) - 1));
    return;
  }
  puts("No");
}
void precalc() {}
signed main() {
  int t = 1;
  precalc();
  while (t--) {
    clock_t z = clock();
    solve();
    fprintf(stderr, "Total Time: %.3f\n",
            (double)(clock() - z) / CLOCKS_PER_SEC),
        fflush(stderr);
  }
}
