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 (Clang 3.8.0) (judge verdict: Wrong Answer)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc,char *argv[]){
  int length;
  char preffix[255];
  char suffix[255];
  int ans=0;
  scanf("%d",&length);
  // preffix = malloc(length);
  // suffix = malloc(length);
  scanf("%s",preffix);
  scanf("%s",suffix);

  int i = 0;
  int j = 0;
  char brkflag = 0;
  char noteqflag = 0;
  while(1){
    if(brkflag){
      break;
    }
    
    if(preffix[i] == '\0'){
      brkflag = 1;
      continue;
    }
    
    while(preffix[i] == suffix[j]){
      if(!preffix[i]){
	brkflag++;
	while(suffix[j] != '\0'){
	  ans++;
	  j++;
	}
	
	//	break;
      }
      i++;
      j++;
      ans++;
    }
    if(((i+1) == length) && (j == 0)){
      ans = length*2;
      noteqflag = 1;
      break;
    }
    ans++;
    j=0;
    i++;
  }
  if(!noteqflag){
    ans--;
  }
  ans++;
  printf("%d\n",ans);
  //  free(preffix);
  // free(suffix);
  return 0;
}