人偶师爱丽丝正在布置一场人偶剧。她在舞台(屏幕)上划分了若干个矩形区域作为不同人偶的活动范围,并称之为“窗口”。
舞台是一个左上角坐标为
)
,右下角坐标为
)
的矩形区域。每个窗口具有唯一的名称、位置
)
、尺寸
)
以及层级

。
窗口之间的遮挡关系遵循以下优先级:
1.
层级优先:

较大的窗口位于

较小的窗口之上。
2.
时序次之:若两个窗口

相同,则后创建(操作序列中位置靠后)的窗口位于先创建的窗口之上。
一个窗口的
可见部分定义为:该窗口在舞台边界

之内,且未被任何优先级更高的窗口遮挡的区域。若一个窗口的可见部分面积大于

,则称该窗口是
可见的。
爱丽丝需要你实现一个系统,处理一系列对舞台和窗口的操作。
输入包含若干行,每行一个操作。操作总数不超过

个。
所有坐标、宽度、高度均为

位带符号整数。窗口名称仅包含英文字母且不含空格。
1. `init W H`:初始化舞台大小为

。若

或

,初始化失败返回 `false`;否则返回 `true`。若初始化失败,后续将无任何操作。
2. `createWindow name x y w h level` 或 `createWindow name x y size level`:创建一个窗口。
- 若参数为

个整数,则宽度为

,高度为

。
- 若参数为

个整数,则宽度和高度均为

。
- 若

或名称已存在,返回 `false`;否则返回 `true`。
3. `removeWindow name`:移除名称为 `name` 的窗口。若窗口不存在返回 `false`,否则返回 `true`。
4. `resize name newW newH`:将指定窗口的尺寸更改为

。若窗口不存在或

,返回 `false`,否则返回 `true`。
5. `move name newX newY`:将指定窗口的左上角移动至
)
。若窗口不存在返回 `false`,否则返回 `true`。
6. `queryVisibility name`:查询窗口 `name` 是否可见。可见返回 `true`,否则(或窗口不存在)返回 `false`。
7. `queryAllVisibleWindows x y w h`:在指定的矩形区域

内,按优先级从高到低列出所有可见面积大于

的窗口名称。
- 排序规则:首先按

降序排列,若

相同按名称的字典序升序排列。
- 输出格式:名称之间用分号 `;` 分隔。若区域内无可见窗口,输出 `NoVisibleWindow`。