#include <bits/stdc++.h>
using namespace std;

#define all(v) v.begin(), v.end()
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define intll int long long
const int INF = 1e9;
const int MOD = 1e9 + 7;

int main() {
  int n ; 
  cin >> n ;
  string s , t  ;
  cin >> s >> t ;
  deque<char> S , T ;
  rep(i,n){
    S.push_back(s.at(i)) ;
    T.push_back(t.at(i));
  }
  if(s == t ) {
    cout << s.size() <<endl ; 
    return 0 ;
  }
  
  int ans = 2 * n ;
  
  rep(i,n){
    S.pop_front();
    T.pop_back();
    
    if( S == T){
      ans = S.size() + 2*(i+1) ;
      cout <<  ans <<endl ;
      return 0 ;
    }
  }
    
  
}

#include <bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	string s, t;
	cin >> n >> s >> t;

	int cnt = 0;
	for (int i = 0; i < n; i++)
	{
		string subs = s.substr(i, n - i); //後半を抽出
		string subt = t.substr(0, n - i); //前半を抽出
		if (subs == subt) //抽出した部分がもし重複したら
			cnt = max(cnt, n - i); //重複部分がながければ長いほど最小になるので、長いものをキープ
	}
	cout << 2 * n - cnt << endl; //最大のときは2n。2nから一番長い重複を引く
}