#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int rotated_search(vector<int>arr,int target){
int n=arr.size();
int low=0;
int high=n-1;
while(low<=high){
int mid=(low+high)/2;
if(arr[mid]==target){
return mid;
}
else if(arr[low]<=arr[mid]){
if(arr[mid]>target && target>=arr[low]){
high=mid-1;
}
else{
low=mid+1;
}
}
else{
if(arr[mid]<target && target<=arr[high]){
low=mid+1;
}
else{
high=mid-1;
}
}
}
return -1;
}
int main(){
int n;
cin>>n;
vector<int>arr(n);
for(int i=0;i<n;i++){
cin>>arr[i];
}
int target;
cin>>target;
int ans=rotated_search(arr,target);
cout<<"The index of the given target element in the rotated array: "<<ans<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCByb3RhdGVkX3NlYXJjaCh2ZWN0b3I8aW50PmFycixpbnQgdGFyZ2V0KXsKICAgIGludCBuPWFyci5zaXplKCk7CiAgICBpbnQgbG93PTA7CiAgICBpbnQgaGlnaD1uLTE7CgogICAgd2hpbGUobG93PD1oaWdoKXsKICAgICAgICBpbnQgbWlkPShsb3craGlnaCkvMjsKICAgICAgICBpZihhcnJbbWlkXT09dGFyZ2V0KXsKICAgICAgICAgICByZXR1cm4gbWlkOwogICAgICAgIH0KCiAgICAgICAgZWxzZSBpZihhcnJbbG93XTw9YXJyW21pZF0pewogICAgICAgICAgICBpZihhcnJbbWlkXT50YXJnZXQgJiYgdGFyZ2V0Pj1hcnJbbG93XSl7CiAgICAgICAgICAgICAgICBoaWdoPW1pZC0xOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICBsb3c9bWlkKzE7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgaWYoYXJyW21pZF08dGFyZ2V0ICYmIHRhcmdldDw9YXJyW2hpZ2hdKXsKICAgICAgICAgICAgICAgIGxvdz1taWQrMTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgaGlnaD1taWQtMTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICB9CgogICByZXR1cm4gLTE7CgogICAgCn0KaW50IG1haW4oKXsKICAgIGludCBuOwogICAgY2luPj5uOwogICAgdmVjdG9yPGludD5hcnIobik7CiAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsKICAgICAgICBjaW4+PmFycltpXTsKICAgIH0KICAgIGludCB0YXJnZXQ7CiAgICBjaW4+PnRhcmdldDsKICAgIGludCBhbnM9cm90YXRlZF9zZWFyY2goYXJyLHRhcmdldCk7CiAgICBjb3V0PDwiVGhlIGluZGV4IG9mIHRoZSBnaXZlbiB0YXJnZXQgZWxlbWVudCBpbiB0aGUgcm90YXRlZCBhcnJheTogIjw8YW5zPDxlbmRsOwogICAgcmV0dXJuIDA7Cn0=