#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <cstring>
#include <queue>
#include <functional>
#include <set>
#include <map>
#include <string>
#include <cmath>
#include <cassert>
#define SIZE 5005

using namespace std;
typedef long long int ll;
typedef pair <int,int> P;

char S[SIZE],T[SIZE];
vector <int> vx,vy;
int n;

ll score(int T)
{
	ll ret=0;
	for(int i=0;i<n;i++)
	{
		ret+=abs(vx[i]-vy[i]+2*T);
	}
	return ret;
}
int main()
{
	scanf("%d",&n);
	scanf("%s",&S);
	scanf("%s",&T);
	int now=0;
	for(int i=0;now<n;i++)
	{
		while(now<n&&S[now]-'0'==i%2) vx.push_back(i),now++;
	}
	now=0;
	for(int i=0;now<n;i++)
	{
		while(now<n&&T[now]-'0'==i%2) vy.push_back(i),now++;
	}
	int l=-n,r=n;
	while(r-l>1)
	{
		int d=(l+r+2*n)/2-n;
		if(score(d+1)-score(d)>=0) r=d;
		else l=d;
	}
	printf("%lld\n",min(score(l),score(r)));
	return 0;
}
