#include <bits/stdc++.h>
using namespace std;
int main(){
  int N;
  string s;
  string t;
  cin >> N >> s >> t;
  int i = 0,j = 0;
  int cnt = 0;
  while(j < t.size()){
    if(s[i] == t[j] || s[i] == '\0')j++;
    if(s[i] != '\0')i++;
    cnt++;
  }
  cout << cnt << endl;
  return 0;
}

### Prompt

Develop a solution in CPP to the problem described below:

Snuke is interested in strings that satisfy the following conditions:

* The length of the string is at least N.
* The first N characters equal to the string s.
* The last N characters equal to the string t.



Find the length of the shortest string that satisfies the conditions.

Constraints

* 1≤N≤100
* The lengths of s and t are both N.
* s and t consist of lowercase English letters.

Input

The input is given from Standard Input in the following format:


N
s
t


Output

Print the length of the shortest string that satisfies the conditions.

Examples

Input

3
abc
cde


Output

5


Input

1
a
z


Output

2


Input

4
expr
expr


Output

4

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
int main(){
  int N;
  string s;
  string t;
  cin >> N >> s >> t;
  int i = 0,j = 0;
  int cnt = 0;
  while(j < t.size()){
    if(s[i] == t[j] || s[i] == '\0')j++;
    if(s[i] != '\0')i++;
    cnt++;
  }
  cout << cnt << endl;
  return 0;
}

```