露营
题号:NC210359
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
Special Judge, 64bit IO Format: %lld

题目描述

志摩凛是一个在爷爷的影响下开始露营的独自露营者。

露营是一种体验自然的美好享受,但是也难免遭遇困难,特别在一些人工管理不是很充足的露营地更是如此。

为了收集露营地的一些信息,往往需要询问一些过来人。

已知露营地可以用一个  的矩阵表示,且地图上任意相邻的两个点高度差都恰好为 1 (若两个格点共有一条边则他们相邻),志摩凛想知道每一点的地形高度来保障露营生活的正常展开。

她收集了 k 条信息,第 i 条信息表示 (x_i,y_i) 处的高度为 h_i

请你帮她还原出一种符合所有已有信息的地图,或者告诉她已有的信息中一定有一些是错误的。

输入描述:

第一行输入两个整数 n, m (),表示露营地是一个  的场地。 

第二行输入一个整数 k (),表示收集到的信息。 

后面 k 行每行输入三个整数 x_i,y_i,h_i,(),表示坐标为 (x_i,y_i) 的地点高度为 h_i

输入数据保证对于 

输出描述:

如果不存在一种合法的方案,在一行输出 No 。

否则在一行输出 Yes。接下来输出一个的矩阵表示露营地各点的高度,并且每个点的高度

如果有多种方案,任意输出其中一种即可。
示例1

输入

复制
3 3
2
1 1 0
2 2 2

输出

复制
Yes
0 1 2
1 2 3
2 3 4
示例2

输入

复制
2 2
2
1 1 1
1 2 -1

输出

复制
No