在C语言编程中,有两个常见的main函数声明方式,即`int main()`和`int main(void)`,它们看似相似,但实际使用上却存在一些微妙的区别🔍。
首先,让我们了解一下`int main()`。这种形式允许main函数接受命令行参数,这使得程序可以从外部接收输入信息,非常适用于需要处理外部数据的应用场景💻。例如,你可以编写一个程序来处理从命令行传递的文件路径或其他参数。
相比之下,`int main(void)`则明确表示这个main函数不接受任何参数 nullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptr