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 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
            {
                Console.WriteLine("Yes");
                if (x != 2 * N - 2)
                {
                    int j = 1;
                    if (j == x - 1) j = x + 3;
                    for (int i = 1; i <= N - 3; i++)
                    {
                        Console.WriteLine(j);
                        j++;
                        if (j == x - 1) j = x + 3;
                    }
                    Console.WriteLine(x + 1);
                    Console.WriteLine(x - 1);
                    Console.WriteLine(x);
                    Console.WriteLine(x + 2);
                    for (int i = N + 2; i <= 2 * N - 1; i++)
                    {
                        Console.WriteLine(j);
                        j++;
                        if (j == x - 1) j = x + 3;
                    }
                }
                else
                {
                    int j = 1;
                    if (j == x - 2) j = x + 2;
                    for (int i = 1; i <= N - 3; i++)
                    {
                        Console.WriteLine(j);
                        j++;
                        if (j == x - 2) j = x + 2;
                    }
                    Console.WriteLine(x - 1);
                    Console.WriteLine(x + 1);
                    Console.WriteLine(x);
                    Console.WriteLine(x - 2);
                    for (int i = N + 2; i <= 2 * N - 1; i++)
                    {
                        Console.WriteLine(j);
                        j++;
                        if (j == x - 2) j = x + 2;
                    }
                }
            }
        }
        Console.ReadKey();
    }
}