Return to Problem Sets

Competition Programming:
Problem Set 7

Problem A: Coffee Machines

A university campus includes several buildings, some of which are connected by corridors; two buildings may have at most one corridor between them, which means that the corridors form a well-defined undirected graph. The university administration has decided to install new coffee machines throughout the campus, in such a way that students can always get coffee without going outside the buildings. Thus, if several buildings are connected by corridors, they need only one coffee machine; on the other hand, if two buildings are not connected by any chain of corridors, they require two different machines. Your task is to write a program that determines the minimal required number of machines.

Input

The first line contains a positive integer n between 1 and 100,000, which is the number of buildings; the other lines describe corridors between buildings, one corridor per line. The description of a corridor includes two distinct integers between 1 and n, separated by a single space, which represent the buildings connected by this corridor; for example, the line "2 4" describes a corridor between buildings 2 and 4. The total number of corridors is at most 1,000,000; the last line is "0 0", which does not represent a corridor.

Output

The output is a single integer number, which represents the minimal required number of coffee machines.

Sample input

6
1 2
2 3
4 5
0 0

Sample output

3

Problem B: Counterintelligence

The country of Big Endians is at war with the neighboring country of Little Endians, and the Big-Endian police has recently discovered a network of Little-Endian spies. Since the Big-Endian police intercepts phone and e-mail communications, the spies use pigeons to deliver sensitive information. This strategy helped them to remain undetected for a long time, but eventually the police has mapped all pigeon routes. Each route is a one-way communication channel between two spies, which means that these routes form a directed graph. The police believes that the network may include a spymaster, who collects information from all other spies and never sends anything back; that is, every spy has a direct pigeon route to the spymaster, whereas the spymaster does not send pigeons to anyone. Your task is to write a program that helps the police to identify the spymaster.

Input

The first line contains a positive integer n between 1 and 100,000, which is the number of spies; the other lines describe pigeon routes, one route per line. The description of a route includes two distinct integers between 1 and n, separated by a single space; the first integer is the spy sending a pigeon, and the second is the receiving spy. The total number of pigeon routes is at most 1,000,000; the last line is "0 0", which does not represent a route.

Output

If the network includes a spymaster, the output is a single integer number, which represents the spymaster; else, the output is the string "No spymaster."

Sample input

4
1 2
1 3
3 1
3 2
4 1
4 2
4 3
0 0

Sample output

2

Problem C: Odd Artwork

The modern art sometimes looks strange, and critics may disagree whether a specific abstract sculpture is a true piece of art, or just a pile of broken appliances. A famous abstract artist has recently presented a new controversial sculpture; it consists of small rubber balls, connected by wires, which form a complex undirected graph in three dimensions. The artist claims that this graph does not have cycles with odd number of edges, and that its main artistic value is the absence of such cycles. Since this structure includes a huge number of balls and wires, critics cannot verify the absence of odd-length cycles, and they are skeptical about the artist's claim. Your task is to write a program that checks whether the artist is right.

Input

The first line contains a positive integer n between 1 and 100,000, which is the number of rubber balls; the other lines describe wires, one wire per line. The description of a wire includes two distinct integers between 1 and n, separated by a single space, which represent the balls connected by this wire. The total number of balls is at most 1,000,000; the last line is "0 0", which does not represent a wire.

Output

If the sculpture has no cycles with an odd number of edges, the output is "The artist is right"; else, it is "The artist is wrong".

Example input

6
1 2
1 3
2 4
3 4
3 5
4 6
5 6
0 0

Example output

The artist is right