using System;
public class Test
{
public static void Main()
{
// your code goes here
int outp = FindMin(new int[] {3, 0, 3, 3});
Console.WriteLine(outp);
}
public static int FindMin(int[] nums) {
int low = 0, high = nums.Length - 1;
while (low < high) {
int mid = low + (high - low)/2;
if (nums[low] <= nums[mid]) {
low = mid + 1;
}
else high = mid;
}
return nums[low];
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQlpbnQgb3V0cCA9IEZpbmRNaW4obmV3IGludFtdIHszLCAwLCAzLCAzfSk7CgkJQ29uc29sZS5Xcml0ZUxpbmUob3V0cCk7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgaW50IEZpbmRNaW4oaW50W10gbnVtcykgewogICAgICAgIGludCBsb3cgPSAwLCBoaWdoID0gbnVtcy5MZW5ndGggLSAxOwogICAgICAgIHdoaWxlIChsb3cgPCBoaWdoKSB7CiAgICAgICAgCQogICAgICAgICAgICBpbnQgbWlkID0gbG93ICsgKGhpZ2ggLSBsb3cpLzI7CiAgICAgICAgICAgIGlmIChudW1zW2xvd10gPD0gbnVtc1ttaWRdKSB7CiAgICAgICAgICAgICAgICBsb3cgPSBtaWQgKyAxOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaGlnaCA9IG1pZDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG51bXNbbG93XTsKICAgIH0KfQ==