#include<iostream>
using namespace std;
class node{
public:
int data;
node *next;
node(int d){
data = d;
next = NULL;
}
};
void insertAtTail(node *&head, int data){
if(head==NULL){
head= new node(data);
return;
}
node *tail = head;
while(tail->next!=NULL){
tail=tail->next;
}
tail->next=new node(data);
return;
}
void buildInput(node *&head){
int data;
cin>>data;
while(data!=-1){
insertAtTail(head,data);
cin>>data;
}
}
//racer technique
node *midPoint(node *head){
if(head==NULL || head->next==NULL){
return head;
}
node *slow =head;
node *fast = head->next;
while (fast!=NULL && fast->next==NULL){
fast=fast->next->next;
slow=slow->next;
}
return slow;
}
void print(node *head){
//node *temp=head;
while(head!=NULL){
cout<<head->data;
head=head->next;
}
}
int main(){
node *head=NULL;
buildInput(head);
node *m= midPoint(head);
cout<<m->data;
//print(head);
return 0;}
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNsYXNzIG5vZGV7CnB1YmxpYzoKICAgIGludCBkYXRhOwogICAgbm9kZSAqbmV4dDsKICAgIG5vZGUoaW50IGQpewogICAgZGF0YSA9IGQ7CiAgICBuZXh0ID0gTlVMTDsKICAgIH0KfTsKCnZvaWQgaW5zZXJ0QXRUYWlsKG5vZGUgKiZoZWFkLCBpbnQgZGF0YSl7CiAgICBpZihoZWFkPT1OVUxMKXsKICAgICAgICBoZWFkPSBuZXcgbm9kZShkYXRhKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBub2RlICp0YWlsID0gaGVhZDsKICAgIHdoaWxlKHRhaWwtPm5leHQhPU5VTEwpewogICAgICAgIHRhaWw9dGFpbC0+bmV4dDsKICAgIH0KICAgIHRhaWwtPm5leHQ9bmV3IG5vZGUoZGF0YSk7CiAgICByZXR1cm47Cn0Kdm9pZCBidWlsZElucHV0KG5vZGUgKiZoZWFkKXsKICAgIGludCBkYXRhOwogICAgY2luPj5kYXRhOwogICAgd2hpbGUoZGF0YSE9LTEpewogICAgICAgIGluc2VydEF0VGFpbChoZWFkLGRhdGEpOwogICAgICAgIGNpbj4+ZGF0YTsKICAgIH0KfQoKLy9yYWNlciB0ZWNobmlxdWUKbm9kZSAqbWlkUG9pbnQobm9kZSAqaGVhZCl7CiAgICBpZihoZWFkPT1OVUxMIHx8IGhlYWQtPm5leHQ9PU5VTEwpewogICAgICAgIHJldHVybiBoZWFkOwogICAgfQogICAgbm9kZSAqc2xvdyA9aGVhZDsKICAgIG5vZGUgKmZhc3QgPSBoZWFkLT5uZXh0OwogICAgd2hpbGUgKGZhc3QhPU5VTEwgJiYgZmFzdC0+bmV4dD09TlVMTCl7CgogICAgICAgIGZhc3Q9ZmFzdC0+bmV4dC0+bmV4dDsKICAgICAgICAgc2xvdz1zbG93LT5uZXh0OwogICAgfQogICAgcmV0dXJuIHNsb3c7Cn0KCnZvaWQgcHJpbnQobm9kZSAqaGVhZCl7CiAgICAvL25vZGUgKnRlbXA9aGVhZDsKICAgIHdoaWxlKGhlYWQhPU5VTEwpewogICAgICAgIGNvdXQ8PGhlYWQtPmRhdGE7CiAgICAgICAgaGVhZD1oZWFkLT5uZXh0OwogICAgfQp9CmludCBtYWluKCl7CiAgICBub2RlICpoZWFkPU5VTEw7CiAgICBidWlsZElucHV0KGhlYWQpOwogICAgbm9kZSAqbT0gbWlkUG9pbnQoaGVhZCk7CiAgICBjb3V0PDxtLT5kYXRhOwogICAgLy9wcmludChoZWFkKTsKcmV0dXJuIDA7fQo=