eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Платні дороги

Платні дороги

Мер одного великого міста вирішив ввести плату за проїзд по шосе, яке проходить в районі міста, щоб знизити об'єм транзитного транспорту. У районі міста проходить \textbf{n} шосе. Але керівництво області, у якій розміщено місто, не схвалило плани мера. Дійсно - дальнобійники являють собою непогане джерело прибутків для великої кількості кафе та готелів у невеликих містах. В результате вирішили, что плата буде здійснюватись лише на шосе, які \textit{проходять через місто}. У місті використовується розвинута система метрополітену, усього у місті є \textbf{m} станцій метро. Було вирішено, що шосе проходить через місто, якщо або одна зі станцій метро розміщена безпосередньо на шосе, або є хоча б одна станція з кожної сторони від шосе. Допоможіть тепер меру визначити, які шосе проходять через місто. \InputFile Перший рядок вхідного файла містить два цілих числа: \textbf{n} та \textbf{m} - кількість шосе та кількість станцій метро, відповідно (\textbf{1} ≤ \textbf{n}, \textbf{m} ≤ \textbf{100000}). Наступні \textbf{n} рядків описують шосе. Кожне шосе описується трьома цілими числами \textbf{a}, \textbf{b} та \textbf{c} і являють собою пряму на площині, яка задається рівнянням \textbf{ax+by+c=0} (|\textbf{a}|, |\textbf{b}|, |\textbf{c}| ≤ \textbf{10^6}). Наступні \textbf{m} рядкі вхідного файлу описують станції метро. Кожна станція описується двома цілими числами \textbf{x} та \textbf{y} і являє собою точку на площині з координатами (\textbf{x}, \textbf{y}) (|\textbf{x}|, |\textbf{y}| ≤ \textbf{10^6}). \OutputFile Перший рядок вихідного файлу повинен містити одне ціле число - кількість шосе, які проходять через місто. Другий рядок повинен містити номери цих шосе у зростаючому порядку. Шосе нумеруються від \textbf{1} до \textbf{n} у порядку, у якому вони описані у вхідном файлі.
Ліміт часу 2 секунди
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
4 2
0 1 0
1 0 1
1 1 0
1 1 -1
0 0
2 0
Вихідні дані #1
3
1 3 4