#include <iostream>
#include <algorithm>
#include <stack>
int main(){
std::stack<int> balls;
int n, current_ball, extracted_ball;
bool stop;
std::cin >> n;
current_ball = 1;
while(n){
std::cin >> extracted_ball;
if(balls.empty()){
balls.push(current_ball);
current_ball++;
}
while(current_ball < n && balls.top() != extracted_ball){
balls.push(current_ball);
current_ball++;
}
if(balls.top() == extracted_ball) balls.pop();
n--; //Условие остановки - просмотрели всю последовательность
}
if(balls.empty())
std::cout << "Not a proof" << std::endl;
else
std::cout << "Cheater" << std::endl;
int pause;
std::cin >> pause;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8c3RhY2s+CgppbnQgbWFpbigpewoJc3RkOjpzdGFjazxpbnQ+IGJhbGxzOwoJaW50IG4sIGN1cnJlbnRfYmFsbCwgZXh0cmFjdGVkX2JhbGw7Cglib29sIHN0b3A7CgoJc3RkOjpjaW4gPj4gbjsKCgljdXJyZW50X2JhbGwgPSAxOwoJd2hpbGUobil7CgkJc3RkOjpjaW4gPj4gZXh0cmFjdGVkX2JhbGw7CgkJaWYoYmFsbHMuZW1wdHkoKSl7CgkJCWJhbGxzLnB1c2goY3VycmVudF9iYWxsKTsKCQkJY3VycmVudF9iYWxsKys7CgkJfQoJCXdoaWxlKGN1cnJlbnRfYmFsbCA8IG4gJiYgYmFsbHMudG9wKCkgIT0gZXh0cmFjdGVkX2JhbGwpewoJCQliYWxscy5wdXNoKGN1cnJlbnRfYmFsbCk7CgkJCWN1cnJlbnRfYmFsbCsrOwoJCX0KCQlpZihiYWxscy50b3AoKSA9PSBleHRyYWN0ZWRfYmFsbCkgYmFsbHMucG9wKCk7CgkJbi0tOwkvL9Cj0YHQu9C+0LLQuNC1INC+0YHRgtCw0L3QvtCy0LrQuCAtINC/0YDQvtGB0LzQvtGC0YDQtdC70Lgg0LLRgdGOINC/0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3QvtGB0YLRjAoJfQoJaWYoYmFsbHMuZW1wdHkoKSkKCQlzdGQ6OmNvdXQgPDwgIk5vdCBhIHByb29mIiA8PCBzdGQ6OmVuZGw7CgllbHNlCgkJc3RkOjpjb3V0IDw8ICJDaGVhdGVyIiA8PCBzdGQ6OmVuZGw7CgoJaW50IHBhdXNlOwoJc3RkOjpjaW4gPj4gcGF1c2U7Cn0=