P17001 [NWERC 2019] 晾画绳 / Canvas Line

题目背景

译自 [Northwestern Europe Regional Contest (NWERC) 2019](http://2019.nwerc.eu)。

题目描述

你的朋友 Charmion 请你帮她把一些画布挂在一根笔直的晾绳上晾干,这是她正在进行的艺术项目的一部分。 这些画布被巧妙地排列,使得它们彼此不重叠,不过它们可以在边界处相接。为了稳定,每张画布必须由两个夹子固定;但由于画布非常坚硬,夹子可以夹在画布上的任意位置。 每张画布的宽度都是整数厘米,并且至少为 $10$ 厘米。每个夹子的宽度略小于 $1$ 厘米。画布和夹子都放在晾绳上的整数厘米位置。 任何不必要的物体接触画布都有弄脏画布的风险,因此每张画布必须恰好被两个夹子夹住,不多也不少。给定晾绳上已经存在的所有夹子,请你放置尽可能少的额外夹子,使得所有画布都被正确固定。 :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/pkfo9eef.png) ::: 上图展示了样例 $2$ 的一种解法。已有夹子用白色标出。

输入格式

输入包含: - 第一行包含一个整数 $n$ ($1 \le n \le 10^3$),表示晾绳上的画布数量。 - 接下来 $n$ 行,第 $i$ 行包含两个整数 $\ell_i$ 和 $r_i$ ($0 \le \ell_i < r_i \le 10^9$ 且 $\ell_i+10\le r_i$),表示第 $i$ 张画布左右端点的位置,单位为厘米。 - 接下来一行包含一个整数 $p$ ($0 \le p \le 2\cdot 10^3$),表示已经使用的夹子数量。 - 接下来一行包含 $p$ 个整数 $x_1,\ldots,x_p$ ($0\le x_i

输出格式

如果可以固定所有画布,先输出需要额外添加的夹子的最小数量。下一行输出所有新夹子的整数位置。 否则,输出 `impossible`。 若存在多个最优解,输出任意一个即可。

说明/提示

【数据规模与约定】 - $1 \le n \le 10^3$。 - $0 \le \ell_i < r_i \le 10^9$,且 $\ell_i+10\le r_i$。 - 画布按从左到右顺序给出,并满足 $r_i\le \ell_{i+1}$。 - 已有夹子数 $0 \le p \le 2\cdot 10^3$。 - 已有夹子位置满足 $0\le x_i < x_{i+1}\le 10^9$。 - 若存在多个最优解,输出任意一个即可。