STPAR - Street Parade


For sure, the love mobiles will roll again on this summer's street parade. Each year, the organisers decide on a fixed order for the decorated trucks. Experience taught them to keep free a side street to be able to bring the trucks into order.

The side street is so narrow that no two cars can pass each other. Thus, the love mobile that enters the side street last must necessarily leave the side street first. Because the trucks and the ravers move up closely, a truck cannot drive back and re-enter the side street or the approach street.

You are given the order in which the love mobiles arrive. Write a program that decides if the love mobiles can be brought into the order that the organisers want them to be.

Input

There are several test cases. The first line of each test case contains a single number n, the number of love mobiles. The second line contains the numbers 1 to n in an arbitrary order. All the numbers are separated by single spaces. These numbers indicate the order in which the trucks arrive in the approach street. No more than 1000 love mobiles participate in the street parade. Input ends with number 0.

Output

For each test case your program has to output a line containing a single word "yes" if the love mobiles can be re-ordered with the help of the side street, and a single word "no" in the opposite case.

Example

Sample input:
5
5 1 2 4 3 
0

Sample output:
yes

Illustration

The sample input reflects the following situation:

The five trucks can be re-ordered in the following way:


hide comments
himansingh241: 2018-09-07 19:02:16

No use of any type of vector or array. Just one stack required nothing else.

jainarpit18: 2018-08-24 08:03:14

Sphere online judge just says wrong answer without any details. I tried it in ideone with and without any input and it worked fine every time. I am not sure how to proceed with this as there are no hints.

dhawal1248: 2018-08-23 10:49:45

Test cases are the key here :)
Thanks for the Test cases

atharva0111: 2018-08-22 07:18:43

Need some help here. Getting wrong answer ...
https://www.spoj.com/submit/STPAR/id=22196095

bartosz_panek: 2018-07-29 19:03:28

For people who have questions about order:
Wanted order is always 1,2,3,....n which means that there are only numbers from 1 to n.

Also if someone has a problem with NZEC runtime error in Java. Add try catch block and it will be accepted, no idea why. Costed me 30 minutes to figure it out :D

Last edit: 2018-07-29 19:07:25
jose31309: 2018-07-26 01:51:37

@yash_yadav_999 your test case save my day, after two attemps just testing you case I got AC. Thanks

akash131096: 2018-07-05 16:12:27

Guys help out here...How to take input?

int t,zero;
cin>>t;
while(t--){
int n;
int a[n];
for(int i=0;i<n;i++)
cin>>a[i];
}
cin>>zero;

swarm: 2018-06-26 09:45:48

Replying to akagra if the query still stands:

Final order must always start from 1 and will be in non decreasing order.

swarm: 2018-06-26 09:44:02

As pointed out by Dilpreet:
The output is "yes" and "no" and not "Yes" and "No" beware of that.

swarm: 2018-06-25 18:35:14

As pointed out by randomuser22: 2017-09-02 05:10:43
0 is the last input after all of the inputs, not the last input after each.

ex)
5
5 4 3 1 2
5
5 4 3 1 2
5
5 4 3 1 2
0

Not:
5
5 4 3 1 2
0
5
5 4 3 1 2
0


Added by:Patryk Pomykalski
Date:2004-07-01
Time limit:1s-2s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: NODEJS PERL6 VB.NET
Resource:Swiss Olympiad in Informatics 2004