蹦蹦炸弹
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

淘气的xnx轴上放置了n个正在移动的炸弹,第i个炸弹的初始位置为,速度为,当两颗炸弹相遇时会发生爆炸,导致这两颗炸弹消失。在经历了秒后,xn想知道最后还剩下几颗炸弹,以及它们的编号。(数据保证不会有三个及以上的炸弹同时相遇)

输入描述:

第一行一个整数表示炸弹的数量。

第二行n个整数表示第i颗炸弹的起始位置。

第三行n个整数表示第i颗炸弹的速度(大于0代表向x轴正方向移动,小于0向x轴负方向移动)

输出描述:

第一行一个整数k。表示剩下炸弹的数量。

接下来k行每行一个整数x表示剩下炸弹的编号。(你需要按照从小到大的顺序输出编号)
示例1

输入

复制
5
1 3 5 7 9
-1 -2 -4 2 4

输出

复制
3
1
4
5
示例2

输入

复制
2
3 -1
-2 1

输出

复制
0