#include "dna.h"
#include<iostream>
#include<vector>
#include<set>
#include<map>
#include<numeric>
#include<string>
#include<stack>
#include<queue>
#include<string.h>
#include<array>
#include<climits>
#include<algorithm>
#include<cmath>
using namespace std;
#define ff first
#define ss second
#define endl '\n'
const int inf = 1e9;
string s, s1;
void init(string a, string b){
s = a;
s1 = b;
return;
}
int get_distance(int x, int y){
int res = 0;
map<char, int> M, M1;
for(int i = x; i <= y; i++){
M[s[i]] += 1;
M1[s1[i]] += 1;
}
bool is = 1;
for(auto t : M){
if(M[t.ff] != M[t.ss]){
is = 0;
}
}
if(is == 0){
return -1;
}
else{
map<pair<char, char>, int> mp, mp1;
for(int i = x; i <= y; i++){
if(s[i] != s1[i]){
mp[{s[i], s1[i]}] += 1;
}
}
int rem = 0;
for(auto t : mp){
int cnt = min(mp[{t.ff.ff, t.ff.ss}], mp[{t.ff.ss, t.ff.ff}]);
res += cnt;
mp[{t.ff.ff, t.ff.ss}] -= cnt;
mp[{t.ff.ss, t.ff.ff}] -= cnt;
}
for(auto t : mp){
rem += t.ss;
}
res += (rem / 3) * 2;
return res;
}
}
// signed main(){
// string a, b;
// cin >> a >> b;
// init(a, b);
// cout << get_distance(4, 5);
// }