#include <iostream>
using namespace std;
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*linkList;
void CreateList_R(linkList &L,int n)
{//后插法创建单链表
L=new LNode;
L->next=NULL;
linkList r=L;
for(int i=0;i<n;i++)
{
linkList p=new LNode;
cin>>p->data;
p->next=NULL;
r->next=p;
r=p;
}
}
int GetMax(linkList L)
{//递归求解单链表中的最大值
/**************begin************/
/**************end************/
}
int main()
{
int n;
while(cin>>n)
{
if(n==0) break;
linkList L;
CreateList_R(L,n);
L=L->next; //指向首元结点
cout<<GetMax(L)<<endl;
}
return 0;
}
using namespace std;
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*li
void CreateList_R(li
{//后插法创建单链表
L=new LNode;
L->next=NULL;
li
for(int i=0;i<n;i++)
{
li
cin>>p->data;
p->next=NULL;
r->next=p;
r=p;
}
}
int GetMax(li
{//递归求解单链表中的最大值
/**************begin************/
/**************end************/
}
int main()
{
int n;
while(cin>>n)
{
if(n==0) break;
li
CreateList_R(L,n);
L=L->next; //指向首元结点
cout<<GetMax(L)<<endl;
}
return 0;
}