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 Go (1.6) (judge verdict: Accepted)

package main

// https://atcoder.jp/contests/agc006/tasks/agc006_a
//

import (
	"fmt"
)

func solve(n int, s, t string) {

	match := 0

	for i := 0; i < n; i++ {
		if s[i] == t[0] {
			for j := 1; ; j++ {
				if i+j >= n {
					match = j
					break
				}
				if s[i+j] != t[j] {
					match = 0
					break
				}
			}
			if match != 0 {
				break
			}
		}
	}

	fmt.Printf("%v\n", n*2-match)
}

func main() {
	var a int
	var s, t string

	n, err := fmt.Scanf("%d\n", &a)
	if err != nil || n != 1 {
		fmt.Println(n, err)
	}
	n, err = fmt.Scanf("%s\n", &s)
	if err != nil || n != 1 {
		fmt.Println(n, err)
	}
	n, err = fmt.Scanf("%s\n", &t)
	if err != nil || n != 1 {
		fmt.Println(n, err)
	}

	solve(a, s, t)
}