constexpr_ppm_printer のサンプル
Language
C++
Compiler
gcc HEAD 14.0.0 20231220 (experimental)
Options
Warnings
Optimization
Don't Use Boost
C++2b(GNU)
no pedantic
constexpr_ppm_printer のサンプル
$ g++ prog.cc -Wall -Wextra -O2 -march=native -std=gnu++2b
P3
32 24
255
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
204
230
255
204
230
255
204
230
255
204
230
255
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
204
230
255
204
230
255
204
230
255
204
230
255
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
204
230
255
204
230
255
204
230
255
204
230
255
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
204
230
255
204
230
255
204
230
255
204
230
255
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
204
230
255
204
230
255
204
230
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
204
230
255
204
230
255
204
230
255
204
230
255
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
204
230
255
204
230
255
204
230
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
0
192
0
0
192
0
0
192
0
0
192
0
0
192
0
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
255
0
0
255
0
0
255
0
0
255
0
0
204
230
255
204
230
255
204
230
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
255
0
0
255
0
0
255
0
0
204
230
255
204
230
255
204
230
255
204
230
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
255
0
0
255
0
0
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
255
0
0
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
0
0
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
204
230
255
Exit Code:
0