Problem:
Score : 400 points

Problem Statement

Given a string t, we will call it unbalanced if and only if the length of t is at least 2, and more than half of the letters in t are the same. For example, both voodoo and melee are unbalanced, while neither noon nor a is.

You are given a string s consisting of lowercase letters. Determine if there exists a (contiguous) substring of s that is unbalanced. If the answer is positive, show a position where such a substring occurs in s.

Constraints

2 ≦ |s| ≦ 10^5

s consists of lowercase letters.

Partial Score

200 points will be awarded for passing the test set satisfying 2 ≦ N ≦ 100.

Input

The input is given from Standard Input in the following format:

s

Output

If there exists no unbalanced substring of s, print -1 -1.

If there exists an unbalanced substring of s, let one such substring be s_a s_{a+1} ... s_{b} (1 ≦ a < b ≦ |s|), and print a b. If there exists more than one such substring, any of them will be accepted.

Sample Input 1

needed

Sample Output 1

2 5

The string s_2 s_3 s_4 s_5 = eede is unbalanced. There are also other unbalanced substrings. For example, the output 2 6 will also be accepted.

Sample Input 2

atcoder

Sample Output 2

-1 -1

The string atcoder contains no unbalanced substring.

Solution in PHP (5.6.30) (judge verdict: Wrong Answer)

<?php
function getArrayChar($string) 
{
	$array_char = array();
	$length = strlen($string);
	for ($i = 0; $i < $length; $i++) {
	    $array_char[] = $string[$i];
	}
	return $array_char;
}
function checkIsUnbalance($string, $string_check) 
{
	$result['value'] = false;
	$num_length = strlen($string_check);
	$array_char = getArrayChar($string_check);
	$array_char = array_unique($array_char);
	if (count($array_char) <= 1) {
		return $result;
	}

	for ($i = 0; $i < $num_length; $i++) {
		$char = $string_check[$i];
		if (substr_count($string_check, $char) > ($num_length/2)) {
			$result['value']    = true;
			$result['position_start'] = strpos($string, $char) + 1;
			$result['position_end'] = (strpos($string, $string_check) + 1) + ($num_length - 1);
			return $result;
		}
	}
	return $result;
}
function createAllSubStr($string, $array_char) 
{
	$array_sub_string = array();
	$count_letter     = count($array_char);
	unset($array_char[0]);
	for ($i = 2; $i < $count_letter; $i++) {
		for ($j = 1; $j < $count_letter; $j++) {
			$str_string = substr($string, $j, $i);
			if (strlen($str_string) > 1) {
				$array_sub_string[] = $str_string;
			}
		}
	}

	for ($i = 0; $i < $count_letter; $i++) {
		unset($array_char[$i]);
		if (count($array_char) >= 2) {
			$array_sub_string[] = implode("", $array_char);
		}
	}

	return $array_sub_string;
}


fscanf(STDIN, "%s", $string);
$array_char       = getArrayChar($string); 
$array_sub_string = createAllSubStr($string, $array_char);
$count_sub_string = count($array_sub_string);
$has_unbalance = false;
for ($i = 0; $i < $count_sub_string; $i++) {
	$result = checkIsUnbalance($string, $array_sub_string[$i]);
	if ($result['value']) {
		$has_unbalance = true;
		echo $result['position_start'] . " " . $result['position_end'];
		return;
	}
}

if (!$has_unbalance) {
	echo "-1 -1 ";
}

?>