P17042 [NWERC 2021] 平面国奥运会 / Flatland Olympics
题目背景
译自 [Northwestern Europe Regional Contest (NWERC) 2021](http://2021.nwerc.eu) Problem F。
原题许可协议为 CC BY-SA。
题目描述
奥运会结束后的第二天,作为组织者的你很高兴:在这些麻烦时期,**一切** 都运转良好。嗯,也不完全是。
从今天早上开始,你的邮箱被投诉邮件塞满了,内容都是关于最重要的比赛——$100$ 米短跑——观赛视线被遮挡。他们要求退款,或者威胁要在社交媒体上曝光你。更糟糕的是,观众并不只是投诉一次,而是每当某个人在比赛过程中挡住了他们的视线,就会单独给你发一封邮件!当同时有两人或更多人挡住视线时,他们甚至会写多封邮件。不仅如此,还有一些游客向主要赞助商 **Dy & Son** 投诉,而赞助商也敦促你改善情况。
由于你预计下一届奥运会将允许更多游客观赛,如果不解决这个问题,你认为投诉会更多。如果情况太糟,你甚至可能失去赞助商 **Dy & Son**。因此,你决定提前计算投诉数量。为此,你将跑道建模为一条直线线段,并根据观众座位计算你最多会收到多少投诉。根据预计投诉数,你将决定是重新安排座位,还是只重新配置垃圾邮件过滤器并尝试寻找新的赞助商。
输入格式
输入包含:
- 一行四个整数 $x_s,y_s,x_e$ 和 $y_e$($|x_s|,|y_s|,|x_e|,|y_e| \leq 10^9$),其中 $s=(x_s,y_s)$ 是跑道起点,$e=(x_e,y_e)$ 是跑道终点。$s$ 和 $e$ 都属于跑道。
- 一行一个整数 $n$($1 \leq n \leq 10^5$),表示游客数量。
- 接下来 $n$ 行,每行包含两个整数 $x$ 和 $y$($|x|,|y| \leq 10^9$),表示一名游客座位的位置。
保证跑道长度为正,即 $s\neq e$。此外,可以假设所有游客坐在不同的位置,且没有游客坐在跑道上。
输出格式
输出对于给定座位安排,你会收到的投诉总数。
说明/提示
【样例 $2$ 解释】
:::align{center}

:::
图示:样例输入 #2。跑道画成红线,游客座位用蓝色标出。第二名游客会投诉第一名游客,第四名游客会投诉第三名游客。
【数据规模与约定】
对于所有数据,$|x_s|,|y_s|,|x_e|,|y_e| \leq 10^9$;$s
eq e$;$1 \leq n \leq 10^5$;游客坐标满足 $|x|,|y| \leq 10^9$;所有游客位置互不相同,且没有游客坐在跑道上。