Sub Exponential_Search (Word As String,Size As Int) As Boolean
Dim Bound As Int = 1
If Size=0 Then Return False
Do While (Bound < Size) And (Word.CompareTo(Dictionary.Get(Bound-1))>0)
Bound=Bound*2
Loop
Return Binary(Word,(Bound/2)-1,Min(Bound-1,Size-1))
End Sub
Sub Binary(SearchWord As String, Mn As Int, Mx As Int) As Boolean
Dim MD As Int = ((Mx+Mn)/2)
Dim PM As String = Dictionary.get(MD)
If Mx<Mn Then Return False
If PM=Parola Then
Return True
Else if PM.CompareTo(SearchWord)>0 Then
Return Binary(SearchWord,Mn,MD-1)
Else
Return Binary(SearchWord,MD+1,Mx)
End If
End Sub