#include <iostream>
#include <string>
#include <algorithm>
#include <unordered_set>
using namespace std;
int main()
{
string s = "AllPossibleSubstrings";
int l=0,index=0;
for(int i =0;i<s.length();i++)
{
for(int j=i+1;j<s.length();j++)
{
string sub = string(s.begin()+i,s.begin()+j);
unordered_set<char> v;
for(auto x:sub)
{
v.insert(x);
}
if(v.size()<=2) {
l=max(l,j-i+1);
if(l==j-i+1) {
index=i;
cout << "Found match " << i << " " << j << " " << l << " " << sub << endl;
}
}
}
}
cout<<l<<" "+s.substr(index,l)<<endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dW5vcmRlcmVkX3NldD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKICAgc3RyaW5nIHMgPSAiQWxsUG9zc2libGVTdWJzdHJpbmdzIjsKICAgaW50IGw9MCxpbmRleD0wOwogICBmb3IoaW50IGkgPTA7aTxzLmxlbmd0aCgpO2krKykKICAgewogICAgICAgZm9yKGludCBqPWkrMTtqPHMubGVuZ3RoKCk7aisrKQogICAgICAgewogICAgICAgICAgIHN0cmluZyBzdWIgPSBzdHJpbmcocy5iZWdpbigpK2kscy5iZWdpbigpK2opOwogICAgICAgICAgIHVub3JkZXJlZF9zZXQ8Y2hhcj4gdjsKICAgICAgICAgICBmb3IoYXV0byB4OnN1YikKICAgICAgICAgICB7CiAgICAgICAgICAgICAgIHYuaW5zZXJ0KHgpOwogICAgICAgICAgIH0KICAgICAgICAgICBpZih2LnNpemUoKTw9MikgewogICAgICAgICAgIAlsPW1heChsLGotaSsxKTsgCiAgICAgICAgICAgCWlmKGw9PWotaSsxKSB7CiAgICAgICAgICAgCQlpbmRleD1pOwogICAgICAgICAgIAkJY291dCA8PCAiRm91bmQgbWF0Y2ggIiA8PCBpIDw8ICIgIiA8PCBqIDw8ICIgIiA8PCBsIDw8ICIgIiA8PCBzdWIgPDwgZW5kbDsKICAgICAgICAgICAJfQogICAgICAgICAgIH0KICAgICAgIH0KICAgfQoKICAgY291dDw8bDw8IiAiK3Muc3Vic3RyKGluZGV4LGwpPDxlbmRsOwoKfQ==