loj#P6860. 「ICPC World Finals 2021」蛛网漫游

「ICPC World Finals 2021」蛛网漫游

Description

Charlotte the spider sits at the center of her spiderweb, which consists of a series of silken straight strands that go from the center to the outer boundary of the web. Charlotte's web also has bridges, each of which connects two adjacent strands. The two endpoints of a bridge always have the same distance to the center of the spiderweb.

When Charlotte has finished a late-night feasting in the center and wants to retreat to some corner, she walks to the edge on autopilot. To do this, she picks a starting strand, and walks along it until she meets the first bridge on that strand. She will cross the bridge and go to the other strand, and then keeps walking outwards until she meets another bridge. Then she will cross that bridge, and repeat this process, until there are no more bridges on the current strand, and then she will walk to the end of the current strand. Note that Charlotte must cross all the bridges that she meets. Figure I.1 illustrates one path Charlotte could take.

Charlotte's favorite corner to sleep in during the daytime is at the end of strand ss. For each possible starting strand, she wants to know the minimum number of bridges to add to the original web in order to end at ss. Charlotte can add a bridge at any point along the strand, as long as the added bridge does not touch any other bridge. The two endpoints of any added bridge must have the same distance to the center of the spiderweb, and the bridge must connect two adjacent strands.

I.png

Figure I.1 The path starting from strand 4 on the spiderweb in Sample Input 1.

Input

The first line of input has three integers nn, mm, and ss, where nn (3n200 0003 \le n \le 200\ 000) is the number of strands, mm (0m500 0000 \le m \le 500\ 000) is the number of bridges, and ss (1sn1 \le s \le n) is Charlotte's favorite strand. Strands are labeled from 11 to nn in counterclockwise order. Each of the remaining mm lines contains two integers dd and tt describing a bridge, where dd (1d1091 \le d \le 10^9) is the bridge's distance from the center of the spiderweb and tt (1tn1 \le t \le n) is the first strand of the bridge in counterclockwise order. Specifically, if 1t<n1 \le t < n, then the bridge connects strands tt and t+1t+1. If t=nt = n, then the bridge connects strands 11 and nn. All bridge distances dd are distinct.

Output

Output nn lines, where the ithi^\text{th} line is the minimum number of bridges Charlotte needs to add in order to end at strand ss after walking on autopilot from strand ii.

7 5 6
2 1
4 3
6 3
8 7
10 5

2
1
1
1
0
1
2

4 4 2
1 1
2 2
3 3
4 4

1
1
0
1