#include <bits/stdc++.h>
using namespace std;
string s, ss;
long long ar[5005][5005];
long long dp(int i, int j) {
  if (i >= s.size() || j >= ss.size()) return 0;
  if (ar[i][j] != -1) return ar[i][j];
  long long ans = 0;
  if (s[i] == ss[j])
    ans = max(ans, 2 + dp(i + 1, j + 1));
  else {
    ans = max(ans, dp(i + 1, j) - 1);
    ans = max(ans, dp(i, j + 1) - 1);
  }
  ar[i][j] = ans;
  return ar[i][j];
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  long long a, b, c, d, e, f, i, j, k, m, n, o, x, y;
  cin >> n >> m;
  cin >> s >> ss;
  memset(ar, -1, sizeof(ar));
  long long ans = 0;
  for (i = 0; i < n; i++) {
    for (j = 0; j < m; j++) ans = max(ans, dp(i, j));
  }
  cout << ans << "\n";
}
