如何才能穿过传送门
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
Special Judge, 64bit IO Format: %lld

题目描述

你走入了一条布满了传送门和墙的小巷。

小巷可以视为一条位于X 轴上的线段,从 0 点开始,到 n 点结束。你一次只能向左或者向右走一格。在小巷里面有若干对传送门,你不可以越过传送门而不进行传送。你从传送门的左侧一格进入,会从对应传送门出来并且下一次只能往右走;从传送门的右侧一格进入,会从对应传送门出来并且下一次只能往左走。同时中间现在有若干面墙,你不能走到墙上。保证所有的墙和传送门不会重合。你现在位于 0 点,请问你能否到达 n 点?

输入描述:

第一行包含三个整数  n, m, q   ,分别表示小巷的长度、传送门的对数和墙的数量。

接下来 m 行,第 i 行包含两个整数 x_i , y_i  表示一对传送门的坐标。

接下来一行包含  q 个整数 ,表示墙的坐标。

输出描述:

如果你能能穿过小巷(即到达n点),则在一行输出 "YES",否则输出 "NO"(不包含引号,不区分大小写)。

示例1

输入

复制
10 2 2
1 3
4 6
2 5

输出

复制
YES
示例2

输入

复制
100 0 1
50

输出

复制
NO