Problem:
Score : 200 points

Problem Statement

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.

Sample Input 1

3
abc
cde

Sample Output 1

5

The shortest string is abcde.

Sample Input 2

1
a
z

Sample Output 2

2

The shortest string is az.

Sample Input 3

4
expr
expr

Sample Output 3

4

The shortest string is expr.

Solution in C# (Mono 4.6.2.0) (judge verdict: Runtime Error)

using System;
class Program
{
    static bool NGnum(int _x, int _n)
    {
        if (_n == _x) return true;
        if (_n == _x - 1) return true;
        if (_n == _x + 1) return true;
        if ((_x == 2) && (_n == 4)) return true;
        else if (_n == _x - 2) return true;
        return false;
    }
    static void Prt(int _x)
    {
        if (_x == 2)
        {
            Console.WriteLine(4);
            Console.WriteLine(1);
            Console.WriteLine(2);
            Console.WriteLine(3);
        }
        else
        {
            Console.WriteLine(_x - 2);
            Console.WriteLine(_x + 1);
            Console.WriteLine(_x);
            Console.WriteLine(_x - 1);
        }
    }
    static void Main()
    {
        string[] input = Console.ReadLine().Split(' ');
        int N = int.Parse(input[0]);
        int x = int.Parse(input[1]);
        if (N == 2)
        {
            if (x == 2)
            {
                Console.WriteLine("Yes");
                Console.WriteLine("1");
                Console.WriteLine("2");
                Console.WriteLine("3");
            }
            else Console.WriteLine("No");
        }
        else
        {
            if ((x == 1) || (x == 2 * N - 1)) Console.WriteLine("No");
            else
            {
                int j = 0;
                for (int i = 1; i <= 2 * N - 1; i++) 
                {
                    if (NGnum(x, i) == false)
                    {
                        Console.WriteLine(i);
                        j++;
                        if (j == N - 3) Prt(x);
                    }
                }
            }
        }
        Console.ReadKey();
    }
}