编程题
### 问题描述
辉神去到某个圣地,那有 $N$ 座摩天楼,它们排列成一条直线,我们从左到右依次将它们编号为 $0$ 到 $N − 1$。
有 $M$ 只小猫在此圣地居住,它们的编号依次是 $0$ 到 $M − 1$。编号为 $i$ 的小猫最初居住于编号为 $B_i$ 的摩天楼。每只小猫都有一种神秘的力量,使它们能够在摩天楼之间跳跃,编号为 $i$ 的小猫的跳跃能力为 $P_i$。
在一次跳跃中,某小猫位于摩天楼 $b$ 而跳跃能力为 $p$。如果 $0 \leq b − p < N$,它可以跳跃到编号为 $b − p$ 的摩天楼;如果 $0 \leq b + p < N$,它可以跳跃到编号为 $b + p$ 的摩天楼。
编号为 $0$ 的小猫是所有小猫的老大,它有一条紧急的消息要尽快传送给编号为 $1$ 的小猫。任何一个收到消息的小猫有以下两个选择:
1. 跳跃到其他摩天楼上;
2. 将消息传递给它当前所在的摩天楼上的其他小猫。
辉神想要帮助小猫们计算将消息从 $0$ 号小猫传递到 $1$ 号小猫所需要的最少总跳跃步数,或者告诉它们消息永远不可能传递到 $1$ 号小猫。
### 输入格式
输入的第一行包含两个整数 $N$ 和 $M$。
接下来 $M$ 行,每行包含两个整数 $B_i$ 和 $P_i$。
### 输出格式
输出一行,表示所需要的最少步数。如果消息永远无法传递到 $1$ 号小猫,输出 $−1$。
### 样例输入
```
5 3
0 2
1 1
4 1
```
### 样例输出
```
5
```
### 评测数据规模
$1 \leq N \leq 10000$,$2 \leq M \leq 10000$,$1 \leq P_i \leq 10000$,$0 \leq B_i < N$。