#include #define repr(i,a,b) for(int i=a;i=a;i--) // [a, b) #define reprev(i,n) reprrev(i,0,n) #define _GLIBCXX_DEBUG #define int long long using ll = long long; using ull = unsigned long long; template inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; } template inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; } const ll mod = 1e9+7; void chmod(ll &M){ if(M >= mod) M %= mod; else if(M < 0){ M += (abs(M)/mod + 1)*mod; M %= mod; } } int getl(int i, int N) { return i==0? N-1:i-1; }; int getr(int i, int N) { return i==N-1? 0:i+1; }; long long GCD(long long a, long long b) { if (b == 0) return a; else return GCD(b, a % b); } using namespace std; using Graph = vector>; /* encode: ランレングス圧縮を行う */ vector> encode(const string& str) { int n = (int)str.size(); vector> ret; for (int l = 0; l < n;) { int r = l + 1; for (; r < n && str[l] == str[r]; r++) {}; ret.push_back({str[l], r - l}); l = r; } return ret; } signed main() { int n; cin >> n; string S, T; cin >> S >> T; int diff = 0; rep(i, n) { if(S[i] != T[i]) diff++; } if(diff%2 != 0) reverse(S.begin(), S.end()); int ans = 0; rep(i, n) { if(S[i] != T[i]) ans++; } cout << ans << endl; }