/*
var a = new buckets.LinkedList();
a.add(1,0);
a.add(2,0)
console.log(a.toArray());


var d = new buckets.MultiDictionary();
d.set("a", "aseem");
d.set("a", "aakash");
console.log(d.get("a"));
*/

var hasTwoDistinctChars = function(st) {
  var unique = [];
  for(i=0; i<st.length;i++) {
    if(unique.indexOf(st[i]) == -1) {
      unique.push(st[i]);
    }
  }
  return unique.length == 2 ? true : false;
}

function checkString(st) {
  if(hasTwoDistinctChars(st)) {
     return st;
  } 
  else if(st.length ==2) {
    return false;
  }
  else {
    const stt1 = checkString(st.substring(0,st.length-1));
    const stt2 = checkString(st.substring(1,st.length));
    return stt1.length > stt2.length ? stt1 : stt2;
  }
}

console.log(checkString("ababcbcbaaabbdef"));