class Tree:
def __init__(self,val,lchild=None,rchild=None):
self.val=val
self.lchild = lchild
self.rchild = rchild
def Create_Tree(root, val):
if len(val) == 0:
return root
if val[0] == '#':
val.pop(0)
return None
else:
root = Tree(val[0])
val.pop(0)
root.lchild = Create_Tree(root.lchild,val)
root.rchild = Create_Tree(root.rchild,val)
return root
def Create_Tree(start, second, n):
if n == 0:
return None
root = Tree(0)
root.val = start[0]
k = 0
for i in second:
if start[0] == i:
break
k += 1
root.lchild = Create_Tree(start[1:], second[0:], k)
root.rchild = Create_Tree(start[k+1:], second[k+1:], n-k-1)
return root
def reverse(root):
if root == None:
return None
print(root.val, end=' ')
reverse(root.lchild)
reverse(root.rchild)
def len_tree(root):
if root == None:
return 0
m = len_tree(root.lchild)
n = len_tree(root.rchild)
return max(m,n)+1
if __name__ == "__main__":
n = int(input())
root = Tree(0)
k = input()
start = list(k)
k = input()
second = list(k)
root = Create_Tree(start, second, len(start))
print(len_tree(root))