#include <bits/stdc++.h>
using namespace std;
const int N=5e5;

  int n,A;
  char s[N],t[N];
int che()
{
  for (int i=0;++i<=A;)
    if (t[i]^s[n-A+i])
      return 0;
  return 1;
}

int main()
{
  cin>>n;
  scanf("%s%s",s+1,t+1);
  A=n;
  while (!che()&&A) --A;
  cout<<n+n-A;
}
### Prompt

Please create a solution in cpp to the following problem:

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;
const int N=5e5;

  int n,A;
  char s[N],t[N];
int che()
{
  for (int i=0;++i<=A;)
    if (t[i]^s[n-A+i])
      return 0;
  return 1;
}

int main()
{
  cin>>n;
  scanf("%s%s",s+1,t+1);
  A=n;
  while (!che()&&A) --A;
  cout<<n+n-A;
}
```