#include "dna.h"
#include<bits/stdc++.h>
using namespace std;
int n;
string A;
string B;
void init(string a, string b){
n = (int)a.size();
A = a;
B = b;
}
int get_distance(int x, int y){
map<char, int> mp;
map<char, int> mp2;
string C = "";
string D = "";
for(int i = x; i <= y; i++){
mp[A[i]]++;
mp2[B[i]]++;
C += A[i];
D += B[i];
}
if(mp['A'] == mp2['A'] && mp['C'] == mp2['C'] && mp['T'] == mp2['T']){
map<pair<char, char>, int> mp;
int m = y - x + 1;
for(int i = 0; i < m; i++){
if(C[i] == D[i]){
continue;
}
else{
mp[make_pair(C[i], D[i])]++;
}
}
int val1 = min(mp[make_pair('A', 'C')], mp[make_pair('C', 'A')]);
int val2 = min(mp[make_pair('A', 'T')], mp[make_pair('T', 'A')]);
int val3 = min(mp[make_pair('T', 'C')], mp[make_pair('C', 'T')]);
mp[make_pair('A', 'C')] -= val1;
mp[make_pair('C', 'A')] -= val1;
mp[make_pair('A', 'T')] -= val2;
mp[make_pair('T', 'A')] -= val2;
mp[make_pair('T', 'C')] -= val3;
mp[make_pair('C', 'T')] -= val3;
int sum = mp[make_pair('A', 'C')] + mp[make_pair('C', 'A')] + mp[make_pair('A', 'T')] + mp[make_pair('T', 'A')] + mp[make_pair('T', 'C')] + mp[make_pair('C', 'T')];
sum *= 2/3;
return sum + val1 + val2 + val3;
}
else{
return -1;
}
}