From 4c31fd7d4eee61ff9fd59533549a67ef1a25b449 Mon Sep 17 00:00:00 2001 From: zxv Date: Sat, 24 Oct 2026 09:21:59 -0400 Subject: [PATCH] Prove a moving-support barrier for native controls --- research/support-width-dichotomy/FIXTURE.json | 15257 ++++++++++++++++ research/support-width-dichotomy/OVERLAP.json | 160 + research/support-width-dichotomy/PROOF.md | 166 + research/support-width-dichotomy/README.md | 100 + research/support-width-dichotomy/RESULT.json | 206 + research/support-width-dichotomy/SOURCES.json | 54 + .../support-width-dichotomy/VALIDATION.json | 16 + research/support-width-dichotomy/verify.py | 334 + 8 files changed, 16293 insertions(+) create mode 100644 research/support-width-dichotomy/FIXTURE.json create mode 100644 research/support-width-dichotomy/OVERLAP.json create mode 100644 research/support-width-dichotomy/PROOF.md create mode 100644 research/support-width-dichotomy/README.md create mode 100644 research/support-width-dichotomy/RESULT.json create mode 100644 research/support-width-dichotomy/SOURCES.json create mode 100644 research/support-width-dichotomy/VALIDATION.json create mode 100644 research/support-width-dichotomy/verify.py diff --git a/research/support-width-dichotomy/FIXTURE.json b/research/support-width-dichotomy/FIXTURE.json new file mode 100644 index 0000000000..9cd2b20823 --- /dev/null +++ b/research/support-width-dichotomy/FIXTURE.json @@ -0,0 +1,15257 @@ +{ + "A": [ + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "0", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2" + ], + [ + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2" + ], + [ + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "1/2", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "1/2", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ] + ], + "mode_columns": [ + [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + 1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + 1, + 1, + 1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + -1, + 1, + -1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + 1, + -1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 1, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + -1, + 1, + 0, + 0, + -1, + 1, + 1, + 1, + 0, + -1, + -1, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + -1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 1, + 1, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + 0, + -1, + -1, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1, + -1, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + 0, + 1, + 0, + 1, + -1, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + -1, + -1, + -1, + 1, + 1, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1, + -1, + -1, + 0, + 0 + ], + [ + 0, + 1, + 1, + 0, + 1, + 1, + -1, + 0, + 0, + 1, + 0, + 0, + 0, + -1, + 0, + 0, + 1, + 0, + -1, + -1, + 1, + 1, + 0, + 0, + -1, + -1, + 0, + 0, + -1, + 0, + 0, + 0, + -1, + 0, + 0, + 1, + -1, + -1, + 0, + 1, + 1, + 0, + 0, + -1, + -1, + -1, + -1, + -1, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + -1, + 0, + 0, + 1, + 1, + 0, + 0, + -1, + -1, + 0, + 0, + -1, + 0, + 0, + -1, + 0, + 0, + 1, + -1, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + -1, + 1, + 0, + -1, + -1, + -1, + -1, + 0, + -1, + -1, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 1 + ], + [ + 0, + 1, + 0, + 1, + 0, + 0, + -1, + 0, + -1, + 0, + 1, + 1, + -1, + 0, + -1, + -1, + 0, + -1, + 0, + 0, + -1, + -1, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + -1, + -1, + 1, + 0, + 0, + -1, + -1, + 0, + 0, + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + -1, + 0, + 0, + 0, + -1, + -1, + 0, + 0, + 1, + -1, + 0, + 0, + -1, + -1, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + -1, + 0, + -1, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + -1, + 0, + -1, + 0, + 0, + -1, + 0, + -1, + 0, + 0, + -1, + 0, + 1, + 1, + -1, + 0, + 0, + -1, + -1 + ], + [ + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + -1, + 0, + 0, + 1, + 1, + -1, + -1, + 0, + -1, + -1, + 0, + 0, + -1, + -1, + -1, + 0, + -1, + -1, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + -1, + -1, + 0, + 1, + 1, + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 1, + -1, + -1, + 0, + 0, + -1, + 1, + -1, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + -1, + -1, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + -1, + -1, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 1, + 1, + -1, + -1 + ], + [ + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + -1, + 1, + 0, + 0, + 1, + -1, + 0, + 0, + -1, + 1, + 1, + -1, + -1, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 1, + -1, + 0, + -1, + 1, + 0, + 1, + -1, + -1, + 1, + 0, + 0, + 0, + 1, + -1, + 0, + -1, + 1, + 0, + -1, + 1, + -1, + 1, + 0, + 0, + 0, + -1, + 1, + 0, + 1, + -1, + -1, + 1, + 0, + 0, + -1, + 1, + -1, + 1, + 0, + -1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + 1, + 0, + 0, + 0, + 0, + 0, + -1, + 1, + 0, + 0, + 0, + 0, + -1, + 1, + 0, + 0, + 0, + -1, + 1, + 0, + 0, + -1, + 1, + 0, + -1, + 1, + 1, + -1 + ] + ], + "origin": "Literal excerpts of CODE.json and NORMALIZERS.json at the SOURCES.json base. Original coded producer/normalizer authors retain credit. No new geometry is claimed.", + "ports": [ + { + "G_rows": [ + 11, + 13, + 14, + 7, + 16, + 32, + 64, + 128, + 256 + ], + "q": 11 + }, + { + "G_rows": [ + 19, + 21, + 22, + 8, + 7, + 32, + 64, + 128, + 256 + ], + "q": 19 + }, + { + "G_rows": [ + 35, + 37, + 38, + 8, + 16, + 7, + 64, + 128, + 256 + ], + "q": 35 + }, + { + "G_rows": [ + 67, + 69, + 70, + 8, + 16, + 32, + 7, + 128, + 256 + ], + "q": 67 + }, + { + "G_rows": [ + 131, + 133, + 134, + 8, + 16, + 32, + 64, + 7, + 256 + ], + "q": 131 + }, + { + "G_rows": [ + 259, + 261, + 262, + 8, + 16, + 32, + 64, + 128, + 7 + ], + "q": 259 + }, + { + "G_rows": [ + 13, + 14, + 11, + 7, + 16, + 32, + 64, + 128, + 256 + ], + "q": 13 + }, + { + "G_rows": [ + 21, + 22, + 19, + 8, + 7, + 32, + 64, + 128, + 256 + ], + "q": 21 + }, + { + "G_rows": [ + 37, + 38, + 35, + 8, + 16, + 7, + 64, + 128, + 256 + ], + "q": 37 + }, + { + "G_rows": [ + 69, + 70, + 67, + 8, + 16, + 32, + 7, + 128, + 256 + ], + "q": 69 + }, + { + "G_rows": [ + 133, + 134, + 131, + 8, + 16, + 32, + 64, + 7, + 256 + ], + "q": 133 + }, + { + "G_rows": [ + 261, + 262, + 259, + 8, + 16, + 32, + 64, + 128, + 7 + ], + "q": 261 + }, + { + "G_rows": [ + 41, + 42, + 4, + 35, + 16, + 11, + 64, + 128, + 256 + ], + "q": 41 + }, + { + "G_rows": [ + 73, + 74, + 4, + 67, + 16, + 32, + 11, + 128, + 256 + ], + "q": 73 + }, + { + "G_rows": [ + 137, + 138, + 4, + 131, + 16, + 32, + 64, + 11, + 256 + ], + "q": 137 + }, + { + "G_rows": [ + 265, + 266, + 4, + 259, + 16, + 32, + 64, + 128, + 11 + ], + "q": 265 + }, + { + "G_rows": [ + 49, + 50, + 4, + 8, + 35, + 19, + 64, + 128, + 256 + ], + "q": 49 + }, + { + "G_rows": [ + 81, + 82, + 4, + 8, + 67, + 32, + 19, + 128, + 256 + ], + "q": 81 + }, + { + "G_rows": [ + 145, + 146, + 4, + 8, + 131, + 32, + 64, + 19, + 256 + ], + "q": 145 + }, + { + "G_rows": [ + 273, + 274, + 4, + 8, + 259, + 32, + 64, + 128, + 19 + ], + "q": 273 + }, + { + "G_rows": [ + 161, + 162, + 4, + 8, + 16, + 131, + 64, + 35, + 256 + ], + "q": 161 + }, + { + "G_rows": [ + 289, + 290, + 4, + 8, + 16, + 259, + 64, + 128, + 35 + ], + "q": 289 + }, + { + "G_rows": [ + 193, + 194, + 4, + 8, + 16, + 32, + 131, + 67, + 256 + ], + "q": 193 + }, + { + "G_rows": [ + 321, + 322, + 4, + 8, + 16, + 32, + 259, + 128, + 67 + ], + "q": 321 + }, + { + "G_rows": [ + 385, + 386, + 4, + 8, + 16, + 32, + 64, + 259, + 131 + ], + "q": 385 + }, + { + "G_rows": [ + 14, + 13, + 11, + 7, + 16, + 32, + 64, + 128, + 256 + ], + "q": 14 + }, + { + "G_rows": [ + 22, + 21, + 19, + 8, + 7, + 32, + 64, + 128, + 256 + ], + "q": 22 + }, + { + "G_rows": [ + 38, + 37, + 35, + 8, + 16, + 7, + 64, + 128, + 256 + ], + "q": 38 + }, + { + "G_rows": [ + 70, + 69, + 67, + 8, + 16, + 32, + 7, + 128, + 256 + ], + "q": 70 + }, + { + "G_rows": [ + 134, + 133, + 131, + 8, + 16, + 32, + 64, + 7, + 256 + ], + "q": 134 + }, + { + "G_rows": [ + 262, + 261, + 259, + 8, + 16, + 32, + 64, + 128, + 7 + ], + "q": 262 + }, + { + "G_rows": [ + 26, + 25, + 4, + 19, + 11, + 32, + 64, + 128, + 256 + ], + "q": 26 + }, + { + "G_rows": [ + 74, + 73, + 4, + 67, + 16, + 32, + 11, + 128, + 256 + ], + "q": 74 + }, + { + "G_rows": [ + 138, + 137, + 4, + 131, + 16, + 32, + 64, + 11, + 256 + ], + "q": 138 + }, + { + "G_rows": [ + 266, + 265, + 4, + 259, + 16, + 32, + 64, + 128, + 11 + ], + "q": 266 + }, + { + "G_rows": [ + 50, + 49, + 4, + 8, + 35, + 19, + 64, + 128, + 256 + ], + "q": 50 + }, + { + "G_rows": [ + 146, + 145, + 4, + 8, + 131, + 32, + 64, + 19, + 256 + ], + "q": 146 + }, + { + "G_rows": [ + 274, + 273, + 4, + 8, + 259, + 32, + 64, + 128, + 19 + ], + "q": 274 + }, + { + "G_rows": [ + 98, + 97, + 4, + 8, + 16, + 67, + 35, + 128, + 256 + ], + "q": 98 + }, + { + "G_rows": [ + 162, + 161, + 4, + 8, + 16, + 131, + 64, + 35, + 256 + ], + "q": 162 + }, + { + "G_rows": [ + 290, + 289, + 4, + 8, + 16, + 259, + 64, + 128, + 35 + ], + "q": 290 + }, + { + "G_rows": [ + 194, + 193, + 4, + 8, + 16, + 32, + 131, + 67, + 256 + ], + "q": 194 + }, + { + "G_rows": [ + 322, + 321, + 4, + 8, + 16, + 32, + 259, + 128, + 67 + ], + "q": 322 + }, + { + "G_rows": [ + 386, + 385, + 4, + 8, + 16, + 32, + 64, + 259, + 131 + ], + "q": 386 + }, + { + "G_rows": [ + 28, + 2, + 25, + 21, + 13, + 32, + 64, + 128, + 256 + ], + "q": 28 + }, + { + "G_rows": [ + 44, + 2, + 41, + 37, + 16, + 13, + 64, + 128, + 256 + ], + "q": 44 + }, + { + "G_rows": [ + 140, + 2, + 137, + 133, + 16, + 32, + 64, + 13, + 256 + ], + "q": 140 + }, + { + "G_rows": [ + 268, + 2, + 265, + 261, + 16, + 32, + 64, + 128, + 13 + ], + "q": 268 + }, + { + "G_rows": [ + 84, + 2, + 81, + 8, + 69, + 32, + 21, + 128, + 256 + ], + "q": 84 + }, + { + "G_rows": [ + 148, + 2, + 145, + 8, + 133, + 32, + 64, + 21, + 256 + ], + "q": 148 + }, + { + "G_rows": [ + 276, + 2, + 273, + 8, + 261, + 32, + 64, + 128, + 21 + ], + "q": 276 + }, + { + "G_rows": [ + 100, + 2, + 97, + 8, + 16, + 69, + 37, + 128, + 256 + ], + "q": 100 + }, + { + "G_rows": [ + 164, + 2, + 161, + 8, + 16, + 133, + 64, + 37, + 256 + ], + "q": 164 + }, + { + "G_rows": [ + 292, + 2, + 289, + 8, + 16, + 261, + 64, + 128, + 37 + ], + "q": 292 + }, + { + "G_rows": [ + 196, + 2, + 193, + 8, + 16, + 32, + 133, + 69, + 256 + ], + "q": 196 + }, + { + "G_rows": [ + 324, + 2, + 321, + 8, + 16, + 32, + 261, + 128, + 69 + ], + "q": 324 + }, + { + "G_rows": [ + 388, + 2, + 385, + 8, + 16, + 32, + 64, + 261, + 133 + ], + "q": 388 + }, + { + "G_rows": [ + 56, + 2, + 4, + 49, + 41, + 25, + 64, + 128, + 256 + ], + "q": 56 + }, + { + "G_rows": [ + 88, + 2, + 4, + 81, + 73, + 32, + 25, + 128, + 256 + ], + "q": 88 + }, + { + "G_rows": [ + 152, + 2, + 4, + 145, + 137, + 32, + 64, + 25, + 256 + ], + "q": 152 + }, + { + "G_rows": [ + 280, + 2, + 4, + 273, + 265, + 32, + 64, + 128, + 25 + ], + "q": 280 + }, + { + "G_rows": [ + 104, + 2, + 4, + 97, + 16, + 73, + 41, + 128, + 256 + ], + "q": 104 + }, + { + "G_rows": [ + 168, + 2, + 4, + 161, + 16, + 137, + 64, + 41, + 256 + ], + "q": 168 + }, + { + "G_rows": [ + 296, + 2, + 4, + 289, + 16, + 265, + 64, + 128, + 41 + ], + "q": 296 + }, + { + "G_rows": [ + 200, + 2, + 4, + 193, + 16, + 32, + 137, + 73, + 256 + ], + "q": 200 + }, + { + "G_rows": [ + 328, + 2, + 4, + 321, + 16, + 32, + 265, + 128, + 73 + ], + "q": 328 + }, + { + "G_rows": [ + 392, + 2, + 4, + 385, + 16, + 32, + 64, + 265, + 137 + ], + "q": 392 + }, + { + "G_rows": [ + 112, + 2, + 4, + 8, + 97, + 81, + 49, + 128, + 256 + ], + "q": 112 + }, + { + "G_rows": [ + 176, + 2, + 4, + 8, + 161, + 145, + 64, + 49, + 256 + ], + "q": 176 + }, + { + "G_rows": [ + 304, + 2, + 4, + 8, + 289, + 273, + 64, + 128, + 49 + ], + "q": 304 + }, + { + "G_rows": [ + 208, + 2, + 4, + 8, + 193, + 32, + 145, + 81, + 256 + ], + "q": 208 + }, + { + "G_rows": [ + 336, + 2, + 4, + 8, + 321, + 32, + 273, + 128, + 81 + ], + "q": 336 + }, + { + "G_rows": [ + 400, + 2, + 4, + 8, + 385, + 32, + 64, + 273, + 145 + ], + "q": 400 + }, + { + "G_rows": [ + 224, + 2, + 4, + 8, + 16, + 193, + 161, + 97, + 256 + ], + "q": 224 + }, + { + "G_rows": [ + 352, + 2, + 4, + 8, + 16, + 321, + 289, + 128, + 97 + ], + "q": 352 + }, + { + "G_rows": [ + 416, + 2, + 4, + 8, + 16, + 385, + 64, + 289, + 161 + ], + "q": 416 + }, + { + "G_rows": [ + 448, + 2, + 4, + 8, + 16, + 32, + 385, + 321, + 193 + ], + "q": 448 + }, + { + "G_rows": [ + 508, + 2, + 505, + 501, + 493, + 477, + 445, + 381, + 253 + ], + "q": 508 + }, + { + "G_rows": [ + 506, + 505, + 4, + 499, + 491, + 475, + 443, + 379, + 251 + ], + "q": 506 + }, + { + "G_rows": [ + 502, + 501, + 499, + 8, + 487, + 471, + 439, + 375, + 247 + ], + "q": 502 + }, + { + "G_rows": [ + 494, + 493, + 491, + 487, + 16, + 463, + 431, + 367, + 239 + ], + "q": 494 + }, + { + "G_rows": [ + 478, + 477, + 475, + 471, + 463, + 32, + 415, + 351, + 223 + ], + "q": 478 + }, + { + "G_rows": [ + 446, + 445, + 443, + 439, + 431, + 415, + 64, + 319, + 191 + ], + "q": 446 + }, + { + "G_rows": [ + 382, + 381, + 379, + 375, + 367, + 351, + 319, + 128, + 127 + ], + "q": 382 + }, + { + "G_rows": [ + 254, + 253, + 251, + 247, + 239, + 223, + 191, + 127, + 256 + ], + "q": 254 + }, + { + "G_rows": [ + 505, + 506, + 4, + 499, + 491, + 475, + 443, + 379, + 251 + ], + "q": 505 + }, + { + "G_rows": [ + 501, + 502, + 499, + 8, + 487, + 471, + 439, + 375, + 247 + ], + "q": 501 + }, + { + "G_rows": [ + 493, + 494, + 491, + 487, + 16, + 463, + 431, + 367, + 239 + ], + "q": 493 + }, + { + "G_rows": [ + 477, + 478, + 475, + 471, + 463, + 32, + 415, + 351, + 223 + ], + "q": 477 + }, + { + "G_rows": [ + 445, + 446, + 443, + 439, + 431, + 415, + 64, + 319, + 191 + ], + "q": 445 + }, + { + "G_rows": [ + 381, + 382, + 379, + 375, + 367, + 351, + 319, + 128, + 127 + ], + "q": 381 + }, + { + "G_rows": [ + 253, + 254, + 251, + 247, + 239, + 223, + 191, + 127, + 256 + ], + "q": 253 + }, + { + "G_rows": [ + 499, + 501, + 502, + 8, + 487, + 471, + 439, + 375, + 247 + ], + "q": 499 + }, + { + "G_rows": [ + 491, + 493, + 494, + 487, + 16, + 463, + 431, + 367, + 239 + ], + "q": 491 + }, + { + "G_rows": [ + 475, + 477, + 478, + 471, + 463, + 32, + 415, + 351, + 223 + ], + "q": 475 + }, + { + "G_rows": [ + 443, + 445, + 446, + 439, + 431, + 415, + 64, + 319, + 191 + ], + "q": 443 + }, + { + "G_rows": [ + 379, + 381, + 382, + 375, + 367, + 351, + 319, + 128, + 127 + ], + "q": 379 + }, + { + "G_rows": [ + 251, + 253, + 254, + 247, + 239, + 223, + 191, + 127, + 256 + ], + "q": 251 + }, + { + "G_rows": [ + 487, + 493, + 491, + 494, + 16, + 463, + 431, + 367, + 239 + ], + "q": 487 + }, + { + "G_rows": [ + 471, + 477, + 475, + 478, + 463, + 32, + 415, + 351, + 223 + ], + "q": 471 + }, + { + "G_rows": [ + 439, + 445, + 443, + 446, + 431, + 415, + 64, + 319, + 191 + ], + "q": 439 + }, + { + "G_rows": [ + 375, + 381, + 379, + 382, + 367, + 351, + 319, + 128, + 127 + ], + "q": 375 + }, + { + "G_rows": [ + 247, + 253, + 251, + 254, + 239, + 223, + 191, + 127, + 256 + ], + "q": 247 + }, + { + "G_rows": [ + 463, + 477, + 475, + 471, + 478, + 32, + 415, + 351, + 223 + ], + "q": 463 + }, + { + "G_rows": [ + 431, + 445, + 443, + 439, + 446, + 415, + 64, + 319, + 191 + ], + "q": 431 + }, + { + "G_rows": [ + 367, + 381, + 379, + 375, + 382, + 351, + 319, + 128, + 127 + ], + "q": 367 + }, + { + "G_rows": [ + 239, + 253, + 251, + 247, + 254, + 223, + 191, + 127, + 256 + ], + "q": 239 + }, + { + "G_rows": [ + 415, + 445, + 443, + 439, + 431, + 446, + 64, + 319, + 191 + ], + "q": 415 + }, + { + "G_rows": [ + 351, + 381, + 379, + 375, + 367, + 382, + 319, + 128, + 127 + ], + "q": 351 + }, + { + "G_rows": [ + 223, + 253, + 251, + 247, + 239, + 254, + 191, + 127, + 256 + ], + "q": 223 + }, + { + "G_rows": [ + 319, + 381, + 379, + 375, + 367, + 351, + 382, + 128, + 127 + ], + "q": 319 + }, + { + "G_rows": [ + 191, + 253, + 251, + 247, + 239, + 223, + 254, + 127, + 256 + ], + "q": 191 + } + ] +} diff --git a/research/support-width-dichotomy/OVERLAP.json b/research/support-width-dichotomy/OVERLAP.json new file mode 100644 index 0000000000..0825ee4b41 --- /dev/null +++ b/research/support-width-dichotomy/OVERLAP.json @@ -0,0 +1,160 @@ +{ + "coverage": { + "discussions": { + "complete_pagination": true, + "fetched_at": "2026-10-24T12:36:24.474838+00:00", + "records": 4710 + }, + "local": { + "complete_head_inventory": true, + "head": "a8e0467c60fc851f7a94b1ad5524fd562f5922bd", + "head_records": 7377, + "records": 7377, + "unsearched_head_paths": [] + }, + "open_prs": { + "complete_pagination": true, + "fetched_at": "2026-10-24T12:35:22.093384+00:00", + "records": 322 + } + }, + "limits": "Remote PR scope is open PRs including drafts. Closed work is searched through local READMEs, TASK metadata and ledger only. Local coverage compares searched working-tree notes with regular note paths at coverage.local.head; it does not certify HEAD contents or historical coverage. No code diffs or arbitrary package files are searched. Recheck relevant heads before submission.", + "local_records": 7377, + "matches_total": 9, + "reference_terms": [], + "searched_at": "2026-10-24T12:36:24.818394+00:00", + "status": "POSSIBLE_OVERLAP_NOT_A_NOVELTY_CERTIFICATE", + "terms": [ + "support-width", + "growing support", + "varying support", + "tensor separation" + ], + "warnings": [], + "submission_refresh": { + "upstream_checked_at": "2026-10-24T13:19:04Z", + "upstream_commit": "32890bc5de034ab8fc93ac88ead7279a6a416d04", + "priority_revision": 7, + "decision": "Continue with the pinned 1a3ced60 scientific baseline: guidance, selected result and all eight declared source files are unchanged.", + "searched_at": "2026-10-24T13:20:55.046419+00:00", + "coverage": { + "local": { + "head": "a8e0467c60fc851f7a94b1ad5524fd562f5922bd", + "records": 7377, + "head_records": 7377, + "complete_head_inventory": true, + "unsearched_head_paths": [] + }, + "open_prs": { + "fetched_at": "2026-10-24T13:19:49.189597+00:00", + "complete_pagination": true, + "records": 307 + }, + "discussions": { + "fetched_at": "2026-10-24T13:20:54.697405+00:00", + "complete_pagination": true, + "records": 4711 + } + }, + "terms": [ + "support-width", + "growing support", + "varying support", + "tensor separation" + ], + "matches_total": 9, + "warnings": [], + "matches": [ + { + "kind": "discussion", + "number": 2109, + "title": "FINDING: two-register cost bound through three scalar mixing blocks", + "url": "https://github.com/CrocSwap/integer-mult-bounds/discussions/2109", + "matched_terms": [ + "tensor separation" + ] + }, + { + "kind": "discussion-comment", + "number": 1166, + "title": "Handoffs and requests for independent checks", + "url": "https://github.com/CrocSwap/integer-mult-bounds/discussions/1166#discussioncomment-19135736", + "matched_terms": [ + "tensor separation" + ] + }, + { + "kind": "discussion-comment", + "number": 1166, + "title": "Handoffs and requests for independent checks", + "url": "https://github.com/CrocSwap/integer-mult-bounds/discussions/1166#discussioncomment-19138525", + "matched_terms": [ + "tensor separation" + ] + }, + { + "kind": "local-readme", + "title": "research/nonlinear-monomial-control-ceiling/README.md", + "path": "research/nonlinear-monomial-control-ceiling/README.md", + "matched_terms": [ + "tensor separation" + ] + }, + { + "kind": "local-readme", + "title": "research/released-operator-clifford-ceiling/README.md", + "path": "research/released-operator-clifford-ceiling/README.md", + "matched_terms": [ + "tensor separation" + ] + }, + { + "kind": "local-readme", + "title": "research/selected-complex-width-envelope/README.md", + "path": "research/selected-complex-width-envelope/README.md", + "matched_terms": [ + "support-width" + ] + }, + { + "kind": "local-readme", + "title": "research/two-full-retained-helper-ceiling/README.md", + "path": "research/two-full-retained-helper-ceiling/README.md", + "matched_terms": [ + "tensor separation" + ] + }, + { + "kind": "local-task", + "title": "research/two-full-retained-helper-ceiling/TASK.json", + "path": "research/two-full-retained-helper-ceiling/TASK.json", + "matched_terms": [ + "tensor separation" + ] + }, + { + "kind": "local-task", + "title": "research/two-register-three-mix/TASK.json", + "path": "research/two-register-three-mix/TASK.json", + "matched_terms": [ + "tensor separation" + ] + } + ], + "additional_live_query": "repo:CrocSwap/integer-mult-bounds is:pr \"support\" \"width\"; 15 most recently updated results inspected; bounded search, not an exhaustive historical audit.", + "pr_bodies_inspected": [ + 4928, + 4929, + 4933, + 4978, + 5111, + 5160, + 5210, + 5369, + 5425, + 5427, + 5433 + ], + "interpretation": "Matches retain predecessor and neighboring-contract credit. No replacement for the stated moving-support corollary was identified in this bounded search; global priority is unclaimed." + } +} diff --git a/research/support-width-dichotomy/PROOF.md b/research/support-width-dichotomy/PROOF.md new file mode 100644 index 0000000000..15533e0c9c --- /dev/null +++ b/research/support-width-dichotomy/PROOF.md @@ -0,0 +1,166 @@ +# A support–width dichotomy for native tensor programs + +**Status:** local written derivation with exact finite calibration; no independent human or formal-kernel review. No new κ or admitted supplier. The classical tensor-independence theorem is credited below. The proposed contribution is its pointwise, operator-coefficient use to remove a fixed-product-set hypothesis from a concrete native-control obstruction, with explicit support bounds and matching escape examples. + +## 1. Pointwise semantic completeness with moving support + +Let K be a field, V a finite-dimensional K-vector space, and f a positive integer. At this particular width choose nonzero, pairwise nonproportional vectors + +`v_1(f), …, v_m(f)`, spanning dimension `r(f)`. + +Both the vectors and their number may change at the next width. Let W_f be any K-vector space of coefficients, also allowed to change with f. If + +`f >= m(f) − r(f) + 1`, + +then + +`Σ_i B_i(f) ⊗ v_i(f)^⊗f = 0 => B_i(f) = 0 for every i`, + +for arbitrary coefficients B_i(f) in W_f. In particular, the dimension-free sufficient condition is `m(f) <= f+1` when m>=2; m=1 needs only f>=1. For native operators take V=Hom(X,Y), with the usual regrouping of Hom(X,Y)^⊗f as Hom(X^⊗f,Y^⊗f). + +**Proof and constructive certificate.** Fix an index i. Extend v_i to a basis of the span using r−1 other vectors from the list. A linear functional L_0 can be chosen to take value 1 on v_i and zero on those r−1 vectors. For each of the remaining m−r vectors v_j, pairwise nonproportionality gives a functional L_j taking value 1 on v_i and zero on v_j. The product of these m−r+1 functionals, evaluated on tensor factors, is 1 on v_i^⊗(m−r+1) and zero on every other listed tensor power. Pad with copies of L_0 to obtain f factors. Applying this functional to the V tensor factors in the displayed identity returns B_i=0. Repeat for every i. This works over every field and does not require an inner product. + +There is no compactness or limit argument: the proof works separately at each width. It therefore allows arbitrary width-dependent matrices, phases, scalar coefficients and auxiliary coefficient spaces. A fixed finite generating alphabet or a fixed set of complete products is unnecessary for this **exact** conclusion. What matters is the support/rank bound at that width. + +Proportional vectors must first be merged correctly. If A_i=λA_j then A_i^⊗f=λ^f A_j^⊗f; its contribution is combined using λ^f, not λ. Zero vectors disappear. Equality of two expansions is tested on their combined projective support, not on each side's support separately. + +**Classical attribution.** The scalar sufficient bound m<=f+r−1 and its optimality using only m,r are already in Anthony Chefles, [Unambiguous Discrimination Between Linearly Dependent States With Multiple Copies](https://arxiv.org/abs/quant-ph/0105016), Section II, especially Eq. (2.3). The repository's retained predecessor proof also gives the m−1 bound by separating functionals. Neither bound is claimed new. The coefficient-space extension follows directly by applying the same functionals. + +## 2. Why workspace and feedback do not by themselves defeat the test + +Consider a linear program whose endpoint has a declared expansion + +`P_f = Σ_i B_i(f) ⊗ A_i(f)^⊗f`. + +The coefficient B_i may be a rectangular register matrix or an operator on a separate auxiliary space. It need not commute with the other coefficients. Intermediate feedback and auxiliary register counts are unrestricted by the theorem; the final expansion and its support/rank are the hypotheses. Taking a subblock corresponding to an original input/output pair cannot increase its support count. Thus borrowed or owned auxiliary state cannot create an unrepresented native letter while the endpoint remains inside the separation bound. + +This is **not** a bound on how cheaply a program can generate a large expansion. Auxiliary computation may increase the number of terms, and cross-column address operations may fail to have the displayed form. A supplied nonfree observation changes the input operator being represented. These are changes to hypotheses, not contradictions of the theorem. No arbitrary independent input may be replaced by zero merely to obtain a smaller expansion. + +## 3. A general four-control obstruction without fixed operator sets + +We now give a complete algebraic statement for the released coded-source interface. All objects below are finite one-column matrices over C; `T_f` denotes T^⊗f for address matrices. Scalar owner coefficients remain outside tensor powers. + +The one-column address space has computational basis indexed by + +`F2 q ⊕ U ⊕ W`. + +Q is invertible, and both Q and Q^-1 have nonzero entries exactly inside complete q-coset blocks. D is invertible and has nonzero entries exactly inside complete W-coset blocks. In particular D and D^-1 act inside the join blocks q+W. + +There are n original owners. Let A be an invertible n-by-n scalar matrix with zero diagonal. Let K1_j and K3_i be invertible weighted monomial maps whose underlying permutations are linear. K1 acts only on q+U, K3 only on q+W. Write their binary maps as G1_j,G3_i, and suppose the n vectors `G1_j q` are pairwise distinct. + +Define two source code matrices by their owner blocks: + +`(C1_f)_{s,j} = A_{s,j}(K1_s^-1 K1_j)_f`, + +`(C3_f)_{i,r} = A_{i,r}(K3_i^-1 K3_r)_f`. + +Both are invertible: each is an address-block-diagonal conjugate of `A ⊗ I`. + +Let `T0_f` be an n-owner operator and set + +`T_f = (I⊗D_f) T0_f (I⊗D_f^-1)`, + +`E_f = (I⊗Q_f^-1) C3_f T_f C1_f (I⊗Q_f^-1)`. + +Suppose every owner block of each of the following four controls is a scalar sum of tensor powers of invertible one-column weighted monomial maps: + +1. T0_f, with at most s0 terms per block; +2. `(I⊗Q_f^-1) T0_f (I⊗Q_f)`, with at most sQ terms per block; +3. T_f, with at most sD terms per block; +4. E_f, with at most sE terms per block. + +The maps, nonlinear permutations, nonzero weights and coefficients may all depend arbitrarily on f. The supports need not come from a fixed alphabet. Counts may be taken before projective merging, giving conservative upper bounds. The coefficients can also be operators on a separate auxiliary space on which the displayed source address maps act as identity: Section 1 applies with that operator space as W_f, and the source multiplications below are scalar on coefficients. This does not permit cross-column entangling maps that lack the declared expansion. + +Put + +`R = max_i #{r : A_ir != 0}`, + +`C = max_j #{s : A_sj != 0}`, + +`M = max(s0+sQ, s0+sD, R C s0+sE)`. + +**Theorem.** If `f >= max(1,M−1)`, these four memberships force `T0_f=0`. Therefore there is no invertible control at any width satisfying that bound. More generally, each comparison can use its actual projective union size m and span rank r, replacing m−1 by m−r+1. + +**Proof, first reduction.** Apply Section 1 to each owner block of T0 and its Q conjugate, on the union of their expansions. Conjugation is projectively injective, so each surviving monomial letter h of T0 must itself satisfy `Q^-1 h Q` monomial. Do the same for its D conjugate. Every surviving h therefore has `k=D h D^-1` monomial as well. The relevant unions have sizes at most s0+sQ and s0+sD. This reduction is pointwise and holds even when the letters change with f. + +**Support-partition lemma.** If F is fully supported inside complete blocks of an equal-size partition, and h,k are invertible monomial maps with Fh=kF, then the permutations of h and k send partition blocks bijectively to blocks with the same induced map. Indeed, the support of Fh applied to a basis vector is one entire block; the support of kF is the image of an entire block. Monomial weights are nonzero, so neither side can cancel within that support. The same reasoning applies to `a F_in = F_out b`, with two different complete block partitions. + +Apply this lemma to `hQ=Q(Q^-1hQ)` and `Dh=kD`. It follows that h preserves q-cosets and W-cosets. It preserves their join, the q+W-cosets. Because D and D^-1 act inside join blocks, the monomial k also maps join blocks bijectively. In particular, k cannot send a pair from different join blocks to a pair in one join block. No assertion that k preserves q-cosets is needed. + +**Terminal source terms.** A term of owner block (i,j) of E has one-column address operator + +`Q^-1 a k b Q^-1`, + +where `a=K3_i^-1 K3_r`, `b=K1_s^-1 K1_j`, and its scalar coefficient contains `A_ir A_sj`. + +If this operator were monomial m, then `a k b Q^-1=Qm`. The two-sided support lemma makes a k b carry q-cosets to q-cosets. Hence k carries pairs in direction + +`v=G1_s^-1 G1_j q ∈ F2 q ⊕ U` + +to pairs in direction + +`w=G3_r^-1 G3_i q ∈ F2 q ⊕ W`. + +If v has a nonzero U component, its pair lies in different join blocks, whereas the w-pair lies in one join block. This contradicts the join permutation of k. Thus v=q. Distinctness of the G1_j q then gives s=j, making A_sj=0. Consequently **every terminal source term with nonzero scalar coefficient is nonmonomial**. + +There are at most R C s0 terminal terms in each owner block. Compare that expansion with its declared monomial E expansion, using Section 1 on a union of at most R C s0+sE projective classes. Nonmonomial classes cannot merge with monomial classes. Independence forces every coefficient on both classes to vanish, so E_f=0. Invertibility of Q,C3,C1,D gives T0_f=0. This completes the proof. + +## 4. Source consequence: a linear-support escape requirement + +The retained coded-source data have n=112 and exactly 52 nonzero entries in every row and column of A. The exact calibration checks all 12,544 entries against `A=I−MM^T/4`, checks `M^T M=56I`, verifies the zero diagonal and distinct normalized port directions, and hence verifies the scalar identity `A²+12A=13I` and invertibility. It does not replay the original native producer or its physical normalizer engine. + +With the explicitly stated coset/columnwise source contract above, R C=2704. If all four controls have at most s(f) terms per owner block, then + +`2705 s(f) <= f+1 => T0_f=0`. + +Thus any nonzero all-width control family in this exact interface must have + +`s(f) > (f+1)/2705` + +at every positive width. In particular **every sublinear-support family is excluded**, even with width-dependent nonlinear weighted monomial words of unbounded length, arbitrary changing coefficients, and arbitrarily many auxiliary registers whose extracted endpoints meet the stated support counts. + +The denominator 2705 is a sufficient expansion bound, not an optimal native lower bound. Actual projective unions, cancellations, owner sparsity and span ranks may improve it. The theorem is a support lower bound, not a lower bound on paid Gaussian calls, scalar instructions, physical running time or precision. Producing linearly many terms may be cheap in another ABI. Changed codes, observations, paid calls, noncolumnwise maps or productive endpoints remain outside this four-control conclusion. + +This extends the inspected predecessor's fixed finite complete-product-set theorem. Its support-partition argument and source credit are retained. The new quantifier is pointwise in f; a **cardinality bound** replaces a fixed set of operator values. The original m−1 tensor lemma was already strong enough for this step, so the underlying separation method is not new. + +## 5. The exact support threshold is sharp, including unitary monomials + +Let `α=(3+4i)/5` and `D=diag(1,α)`. This is a Gaussian-rational unitary monomial matrix. α has infinite multiplicative order: roots of unity in Q(i) are ±1 and ±i, and α is none of these. + +At width f, D_f has distinct eigenvalues `1,α,…,α^f`, according to Hamming weight. Therefore its minimal polynomial is + +`p_f(z)=∏_{k=0}^f (z−α^k)=Σ_{j=0}^{f+1} c_j(f) z^j`. + +It follows that + +`Σ_{j=0}^{f+1} c_j(f) (D^j)^⊗f = 0`. + +There are f+2 pairwise projectively distinct invertible unitary monomial letters, all powers of **one fixed generator**. Each coefficient is nonzero: a zero coefficient would give a dependence among at most f+1 projectively distinct tensor powers, contradicting Section 1. The one-column vectors span dimension two, so the identity sits exactly one term beyond the sharp universal bound. It proves that the support barrier cannot be extended merely by asserting that the alphabet, unitarity or one-column dimension is fixed. + +The coefficients have Gaussian-rational bit length O(f²). Put S=f(f+1)/2. Their real and imaginary denominators divide 5^S, while after scaling by 5^S each component numerator has absolute value at most `2^(f+1)5^S`: every elementary-symmetric summand has modulus one and there are at most 2^(f+1) summands. Sequential polynomial multiplication constructs the coefficient list with O(f²) exact arithmetic operations on polynomial-size rational integers. This is an algebraic construction, not a priced physical recoding or a useful supplier. + +The sharper r-dependent scalar bound is optimal as well: put f+2 distinct projective points in a two-dimensional subspace, then add r−2 independent coordinate directions. There are m=f+r points spanning rank r, with a dependence among their f-fold tensor powers. No theorem using only m,r,f can guarantee independence beyond the stated cutoff. + +## 6. Exact rigidity and approximate rigidity have different hypotheses + +For one-column unitaries U_i of size d, put + +`g_ij = tr(U_i* U_j)/d`, `ρ=max_{i!=j}|g_ij|`. + +For arbitrary n-by-n coefficient matrices B_i, the normalized Frobenius square of `Σ B_i⊗U_i^⊗f` equals the coefficient Gram form with entries g_ij^f. The Gram diagonal is one. Gershgorin therefore gives + +`||Σ B_i⊗U_i^⊗f||_op² >= [1−(m−1)ρ^f] Σ ||B_i||_F² / n` + +whenever the bracket is positive. This is an explicit sufficient robust bound, including moving alphabets when their actual ρ(f) is supplied. It can be checked with a small Gram matrix instead of constructing the tensor operator. A negative bracket makes the bound uninformative; it does not refute exact independence. + +Without separation control, even **two** changing unitary monomial terms can approach cancellation. Set t=f², `β_f=(t+i)/(t−i)`, and `U(f)=diag(1,β_f)`. Then U(f) is nontrivial, Gaussian-rational and unitary, but + +`0 < ||U(f)^⊗f−I||_op <= f|β_f−1| <= 2/f`. + +The telescoping tensor expansion proves the upper bound. Exact independence still holds. Consequently the exact obstruction does not automatically exclude approximate decoding or rounding-based recovery. Those routes require conditioning and precision bounds for the actual consumer. This is a productive limit of the theorem, not an admitted approximation algorithm. + +## 7. Credit and remaining obligations + +The classical scalar bound is Chefles' result. The repository's retained tensor-separation, phase-quotient and support-partition proofs retain [Chris R](https://github.com/Clear1nsight), [Ali Romman](https://github.com/aliromman), [Dillon Amburgey](https://github.com/dillona), [Dugongue](https://github.com/Dugongue), [Cinna Davis](https://github.com/1337isnot1337), [Cao Yifan](https://github.com/intqwq), [zxv](https://github.com/zxv), [Jacob Alan Sussman](https://github.com/Mister-Meeseeks) and their source-specific predecessor notices. Exact local sources and hashes are in SOURCES.json. The primary new result is the moving-support native corollary and explicit growth/escape boundary; no global literature priority is asserted. + +The proof needs independent mathematical review, especially the support-count quantifiers, extracted auxiliary-state semantics and source-interface application. The finite checker calibrates the algebra and source excerpts. It does not prove the universal theorem by testing, validate all 17-axis phases, or discharge the selected compiler/tape/recovery assumptions. New prose and checking code are Apache-2.0 with substantial OpenAI Codex assistance. diff --git a/research/support-width-dichotomy/README.md b/research/support-width-dichotomy/README.md new file mode 100644 index 0000000000..5c96228a77 --- /dev/null +++ b/research/support-width-dichotomy/README.md @@ -0,0 +1,100 @@ +# When width-dependent native controls must grow their operator support + +A local written theorem sharpens the existing nonlinear weighted-monomial control obstruction: **the complete operator set need not remain fixed as width grows**. A pointwise support/rank bound suffices, even when operators, weights, coefficients and auxiliary coefficient spaces change with width. In the declared 112-owner four-control interface, this excludes every sublinear-support exact control family. A matching general example shows why growing support can escape, while a two-term example shows why approximate recovery needs a separate precision argument. + +The complete statements and proofs are in [PROOF.md](PROOF.md). This is a local mathematical derivation with exact finite calibration, awaiting independent review. It establishes no new κ, paid-query minimum, unconditional multiplication theorem or change to the selected result. + +## The theorem in usable form + +At width f, consider an endpoint expansion + +`P_f = Σ_i B_i(f) ⊗ A_i(f)^⊗f`. + +After correctly combining proportional one-column maps, let m(f) be the number of nonzero projective classes and r(f) their linear span rank. If + +`f >= m(f) − r(f) + 1`, + +then the tensor terms are independent, including with matrix/operator coefficients B_i on a separate auxiliary space. Therefore P_f=0 forces every B_i=0. The simpler sufficient condition is **m(f)<=f+1** for m>=2. Equality of two implementations uses their **combined** support. A proportionality A_i=λA_j contributes λ^f to the coefficient. + +The scalar independence bound is classical: [Anthony Chefles, Section II](https://arxiv.org/abs/quant-ph/0105016). The repository's earlier tensor-separation proofs also contain the m−1 sufficient bound. The contribution here is a source-specific **moving-support obstruction and escape boundary**, with explicit expansion counts and executable certificates. Global literature priority is not asserted. + +There is no assumption that the complete products come from a fixed set, that their word lengths are bounded, or that their nonlinear monomial weights are Clifford phases. Formal word labels must still be interpreted as actual one-column maps before claiming distinct projective classes. A free-word exclusion does not automatically become a physical exclusion. + +## Concrete source consequence + +The released interface from [#4933](https://github.com/CrocSwap/integer-mult-bounds/pull/4933) uses four ostensibly free controls: T0, its central Q conjugate, its D conjugate T, and the terminal control `E=Q^-1 C3 T C1 Q^-1`. Its code A from [#4929](https://github.com/CrocSwap/integer-mult-bounds/pull/4929) is invertible with zero diagonal; the source's distinct normalized directions and the q/U/W coset geometry make every nonzero terminal source term nonmonomial. + +Let s0,sQ,sD,sE bound the number of monomial tensor terms in each respective owner block. If A has maximum row support R and column support C, the written theorem proves + +`f+1 >= max(s0+sQ, s0+sD, RC s0+sE) => T0_f=0`. + +The retained source has **112 owners and R=C=52**. These counts and its code factorization are freshly checked from authenticated excerpts. If every block in the four controls has at most s(f) terms, then + +**`2705 s(f) <= f+1 => T0_f=0`.** + +Thus a nonzero all-width family in this interface requires **s(f)>(f+1)/2705**. This excludes all sublinear-support families, including controls whose complete one-column words vary without bound with f. Auxiliary registers and feedback do not avoid the conclusion when their extracted endpoint blocks obey these counts. The factor 2705 is sufficient, not optimal. + +The result does not exclude linearly growing expansions, changed observations, extra paid calls, different productive endpoints or noncolumnwise routing. It is not a scalar-operation or paid-Gaussian-call lower bound. A compact circuit can generate a large expanded support, so support size must not be silently identified with execution cost. + +## Sharp escape and precision boundary + +Take the fixed Gaussian-rational unitary `D=diag(1,(3+4i)/5)`. At width f its spectrum has exactly f+1 distinct eigenvalues. Its minimal polynomial gives + +`Σ_{j=0}^{f+1} c_j(f) (D^j)^⊗f = 0`. + +All **f+2** coefficients are nonzero. The maps are powers of one fixed generator, yet they have a real tensor relation exactly one term beyond the universal support threshold. The coefficients have O(f²) bit length and can be constructed in O(f²) exact arithmetic operations. This is an explicit growing-support algebraic escape, not a useful physical supplier or a construction in the selected free alphabet. + +Exact rigidity also does not establish approximate rigidity. A changing two-dimensional unitary with angle O(1/f²) satisfies + +`0 < ||U(f)^⊗f−I||_op <= 2/f`. + +Two projectively distinct terms can therefore approach cancellation while remaining exactly independent. The proof supplies a quantitative Gram bound when the actual one-column overlaps are controlled. Conditioning, coefficient precision and exact recovery are necessary new obligations for an approximate route. + +## Significance for researchers + +The result answers a concrete unresolved scope question in the retained nonlinear-control proof: allowing the complete product set to change with width does not itself invalidate the exact obstruction. A sublinear number of endpoint terms is still insufficient. Researchers can stop searching that class, use a pointwise certificate to reflect sparse formal identities into physical semantics, or deliberately investigate the identified escapes: linear support growth, noncolumnwise maps, changed observations and controlled approximation. The source-specific coefficient and general sharp examples make those choices measurable. + +## Independent follow-up problems + +| Investigation | Useful outcome | First discriminating step / main obstacle | +|---|---|---| +| **Review moving-support reflection** | A reviewed theorem or a precise correction to its quantifiers. | Check projective merging, coefficient spaces and each support union in Proof Sections 1–3. The classical separation lemma is credited, not a new research target. | +| **Tighten the 2705 multiplier** | A stronger source-specific support lower bound. | Count actual terminal projective classes and their span ranks, preserving the full zero mask. Raw RC is conservative; a local cancellation is not a new caller. | +| **Extract certificates from emitted programs** | A reusable semantic checker for evolving native alphabets. | Produce a correct expansion for one actual control block, including phase powers, source versions and auxiliary returns. Unreduced word labels cannot stand in for physical operator classes. | +| **Price a growing-support escape** | A new admissible width-dependent contract or a complete-cost rejection. | Implement the f+2-term annihilator with all coefficient generation, precision and field passes charged. An identity alone computes no additional productive Gaussian job. | +| **Quantify approximate escape** | A robust obstruction or a recovery-safe approximate module. | Bound the actual Gram separation and consumer error together. Two-term near-cancellation defeats an unconditional approximation barrier. | +| **Change the columnwise interface** | A concrete mechanism outside the theorem with retained independent inputs. | Specify a cross-column or observation-carrying program and price its storage, transport and return. A new representation is not automatically a legal child ABI. | + +## Evidence and reproduction + +```sh +python3 -I -B research/support-width-dichotomy/verify.py +python3 -O -I -B research/support-width-dichotomy/verify.py +# Optional authentication against the pinned canonical checkout: +python3 -I -B research/support-width-dichotomy/verify.py --source-root . +``` + +Python standard library only. The checker verifies 60 rational vector sets, 330 explicit separating certificates and a separate compressed tensor-rank calculation; seven moving-support families; the sharp rank-refined example; a characteristic-two control; exact Gaussian-rational annihilators at f=1..8; and two-term approximate examples at f=1..12. Omitted annihilator terms, reuse at the next width and projective duplicates reject. Source calibration checks all 12,544 code entries, M^T M=56I, the zero diagonal, all row/column supports and 112 distinct binary port maps. These finite checks supplement the written proof. + +[RESULT.json](RESULT.json) records the output. [VALIDATION.json](VALIDATION.json) records the actual environment and read-only portable/optimized checks. [SOURCES.json](SOURCES.json) pins the exact canonical sources; [FIXTURE.json](FIXTURE.json) contains literal code/mode/port excerpts. The original producer, full 17-axis phase engine, native tape/compiler, selected cold replay, Lean and Docker were not run. The package is not registered with the generic replay workflow; these commands are the scoped local reproduction. + +## Predecessors and novelty boundary + +The canonical source checkpoint is [`1a3ced60b2f7a46bc70280a04f2eeb8ca027c700`](https://github.com/CrocSwap/integer-mult-bounds/commit/1a3ced60b2f7a46bc70280a04f2eeb8ca027c700), selected conditional κ=.003027288235. The nearest predecessor is [#5210](https://github.com/CrocSwap/integer-mult-bounds/pull/5210)'s [nonlinear weighted-monomial control ceiling](https://github.com/CrocSwap/integer-mult-bounds/blob/1a3ced60b2f7a46bc70280a04f2eeb8ca027c700/research/nonlinear-monomial-control-ceiling/README.md), which explicitly retains a fixed finite set of complete products and excludes unbounded width-dependent products. Its support-partition argument is preserved and restated, with a pointwise cardinality hypothesis replacing that fixed-set condition. + +Earlier finite-alphabet/projective tensor separation appears in [#4928](https://github.com/CrocSwap/integer-mult-bounds/pull/4928) and [#4978](https://github.com/CrocSwap/integer-mult-bounds/pull/4978); [#5160](https://github.com/CrocSwap/integer-mult-bounds/pull/5160) supplies the monomial-Clifford control predecessor. The [native tensor cutoff, #5369](https://github.com/CrocSwap/integer-mult-bounds/pull/5369), has a different fixed affine-quadratic language and constructive width bound. The robust terminal error floor in [#5111](https://github.com/CrocSwap/integer-mult-bounds/pull/5111) concerns a specified actual inverse-postdecoder target and permitted operations; the changing-operator near-cancellation here does not contradict it. Its source-specific analysis is a starting point for an approximate extension. + +The standalone 112-paid-call optimum in [#5425](https://github.com/CrocSwap/integer-mult-bounds/pull/5425) uses a fixed ordinary-only fanout grammar. The present expanded-support theorem establishes no paid-call minimum and does not extend that bound to an observation-carrying caller. + +Before submission, canonical [`32890bc5de034ab8fc93ac88ead7279a6a416d04`](https://github.com/CrocSwap/integer-mult-bounds/commit/32890bc5de034ab8fc93ac88ead7279a6a416d04) was checked on 2026-10-24 at 13:19 UTC. Priority revision 7, the selected result, applicable guidance and all eight pinned source files are unchanged. The existing scientific pins and calibrated result are retained; the [overlap snapshot](OVERLAP.json) records the submission refresh. + +The cached [overlap snapshot](OVERLAP.json) covered 322 open PRs, 4,710 discussion records and 7,377 local notes. Nearby source bodies and their mathematical reviews were read. Arbitrary historical diffs and unpublished work remain outside this search. The new [owned-helper exclusion](https://github.com/CrocSwap/integer-mult-bounds/pull/5433) and [observation audit](https://github.com/CrocSwap/integer-mult-bounds/pull/5427) concern different contracts; this theorem does not independently validate or generalize their claims without checking their actual operator expansions. + +Native/source credit remains with [Chris R](https://github.com/Clear1nsight), [Ali Romman](https://github.com/aliromman), [Dillon Amburgey](https://github.com/dillona), [David Ganz](https://github.com/Dugongue), [Cinna Davis](https://github.com/1337isnot1337), [Cao Yifan](https://github.com/intqwq), [zxv](https://github.com/zxv), [Jacob Alan Sussman](https://github.com/Mister-Meeseeks) and the full retained Clifford, geometry, compiler and verification lineage. New prose and code are Apache-2.0 with substantial OpenAI Codex assistance. No global literature-priority or independent human/formal acceptance claim is made. + +## Open next questions + +1. **Does the pointwise source corollary survive independent review?** Start with the three support inequalities and the q/U/W partition proof. The auxiliary coefficient-space interpretation and correspondence to actual four-control endpoints need particular scrutiny. +2. **How much can actual support geometry improve 2705?** Start with one terminal (i,j) block, merge actual projective products and compute span rank. Efficient representation of the moving operator set is the obstacle. +3. **Can the growing-support identity help a real caller?** Start with one paid consumer and its required output, then price coefficient generation and every pass. The present identity is an escape witness, not an implementation of that output. +4. **Can approximation evade the source obstruction while preserving recovery?** Start with the actual consumer norm and precision budget. Exact independence alone supplies no answer. diff --git a/research/support-width-dichotomy/RESULT.json b/research/support-width-dichotomy/RESULT.json new file mode 100644 index 0000000000..d4b7251e80 --- /dev/null +++ b/research/support-width-dichotomy/RESULT.json @@ -0,0 +1,206 @@ +{ + "operator_coefficients": { + "matrix_coefficient_orthogonal_Gram_cases": 4, + "projective_phase_powers_checked": [ + 1, + 2, + 3, + 4 + ], + "scope": "Finite matrix-coefficient and phase calibration; no auxiliary physical implementation." + }, + "python": "3.14.5", + "separators": { + "F2_trine_square_rank": 3, + "dual_certificates": 330, + "moving_supports": [ + { + "f": 1, + "rank": 2, + "terms": 2 + }, + { + "f": 2, + "rank": 3, + "terms": 3 + }, + { + "f": 3, + "rank": 4, + "terms": 4 + }, + { + "f": 4, + "rank": 5, + "terms": 5 + }, + { + "f": 5, + "rank": 6, + "terms": 6 + }, + { + "f": 6, + "rank": 7, + "terms": 7 + }, + { + "f": 7, + "rank": 8, + "terms": 8 + } + ], + "projective_duplicate_rejected": true, + "rank_refined_boundary": { + "m": 6, + "r": 4, + "rank_at_2": 5, + "rank_at_3": 6 + }, + "rational_sets": 60 + }, + "sharpness_and_approximation": { + "scope": "Exact diagonal-spectrum calibration only; no native recoding or precision admission.", + "sharp_exact_identities": [ + { + "coefficient_component_max_bits": 4, + "exact_zero": true, + "f": 1, + "fails_at_next_width": true, + "spectrum_points": 2, + "terms": 3 + }, + { + "coefficient_component_max_bits": 9, + "exact_zero": true, + "f": 2, + "fails_at_next_width": true, + "spectrum_points": 3, + "terms": 4 + }, + { + "coefficient_component_max_bits": 15, + "exact_zero": true, + "f": 3, + "fails_at_next_width": true, + "spectrum_points": 4, + "terms": 5 + }, + { + "coefficient_component_max_bits": 24, + "exact_zero": true, + "f": 4, + "fails_at_next_width": true, + "spectrum_points": 5, + "terms": 6 + }, + { + "coefficient_component_max_bits": 35, + "exact_zero": true, + "f": 5, + "fails_at_next_width": true, + "spectrum_points": 6, + "terms": 7 + }, + { + "coefficient_component_max_bits": 49, + "exact_zero": true, + "f": 6, + "fails_at_next_width": true, + "spectrum_points": 7, + "terms": 8 + }, + { + "coefficient_component_max_bits": 66, + "exact_zero": true, + "f": 7, + "fails_at_next_width": true, + "spectrum_points": 8, + "terms": 9 + }, + { + "coefficient_component_max_bits": 85, + "exact_zero": true, + "f": 8, + "fails_at_next_width": true, + "spectrum_points": 9, + "terms": 10 + } + ], + "single_fixed_generator": "diag(1,(3+4i)/5)", + "two_term_approximate_escape": [ + { + "error_squared": "2", + "f": 1, + "upper_squared": "4" + }, + { + "error_squared": "256/289", + "f": 2, + "upper_squared": "1" + }, + { + "error_squared": "29282/68921", + "f": 3, + "upper_squared": "4/9" + }, + { + "error_squared": "1065369600/4362470401", + "f": 4, + "upper_squared": "1/4" + }, + { + "error_squared": "473790769922/3004150512793", + "f": 5, + "upper_squared": "4/25" + }, + { + "error_squared": "523782658010716416/4760360649171455329", + "f": 6, + "upper_squared": "1/9" + }, + { + "error_squared": "292138518357685473602/3604135015356510248401", + "f": 7, + "upper_squared": "4/49" + }, + { + "error_squared": "4934853782780291434178150400/79383037310019841833085992961", + "f": 8, + "upper_squared": "1/16" + }, + { + "error_squared": "2166701807028753262413409843202/44061174895583026029278925059921", + "f": 9, + "upper_squared": "4/81" + }, + { + "error_squared": "399040777348516999084877759040004000000/10010004501200210025202100120004500100001", + "f": 10, + "upper_squared": "1/25" + }, + { + "error_squared": "106741338137555527441878596027471772754082/3237982337106930994440440916510972237032521", + "f": 11, + "upper_squared": "4/121" + }, + { + "error_squared": "175238350734696561237163158667624771122532057497600/6323406947472467706701716723506884798717771515284481", + "f": 12, + "upper_squared": "1/36" + } + ] + }, + "source_structure": { + "all_code_entries_checked": 12544, + "column_support": 52, + "distinct_binary_port_maps_checked": 112, + "equal_support_multiplier": 2705, + "nonzero_code_entries": 5824, + "owners": 112, + "row_support": 52, + "scope": "Exact scalar factor, support and one-column port excerpt checks. No original producer, full phase, native tape, compiler or admission replay.", + "terminal_multiplier": 2704 + }, + "status": "PASS_SUPPORT_WIDTH_FINITE_CALIBRATION_NO_NEW_KAPPA" +} diff --git a/research/support-width-dichotomy/SOURCES.json b/research/support-width-dichotomy/SOURCES.json new file mode 100644 index 0000000000..570b8a3b4e --- /dev/null +++ b/research/support-width-dichotomy/SOURCES.json @@ -0,0 +1,54 @@ +{ + "base_commit": "1a3ced60b2f7a46bc70280a04f2eeb8ca027c700", + "files": [ + { + "git_blob": "fc3d4ba105e1f097d0d7d051a308281e86ab1446", + "path": "certificates/selected-result.json", + "sha256": "66974efdced4083c00025f97d95d83909a226cdf801edb9301c195c6641f6903" + }, + { + "git_blob": "277a32368a8df3e63077c2783fe4eb89bec5ab64", + "path": "research/nonlinear-monomial-control-ceiling/evidence/proof-review/frozen/REVIEWED-PROOF.md", + "sha256": "76bea47531ed557c0c9cb210c4324d6000c74415bf13e5747b7036567853f6ef" + }, + { + "git_blob": "08b35b275ac258bac7cde0e289761011acd56d8e", + "path": "research/nonlinear-monomial-control-ceiling/evidence/proof-review/frozen/PREDECESSOR-PROOF.md", + "sha256": "c20b2f13e875d9e1fb6d0743693f9deccc4f7d68dcdc55ec241324ed3d7de7bc" + }, + { + "git_blob": "f6db55e8b1218d4902ecec3e41db681fd21c8a1f", + "path": "research/nonlinear-monomial-control-ceiling/evidence/proof-review/REVIEW.md", + "sha256": "0b0fe1c33eea85ccd92a3423a705fd086c6f2669f1a47f37fba9c1ca4ae91973" + }, + { + "git_blob": "2d92f17cd8e1064028656cd4ff06c1d38f14ebc0", + "path": "research/native-tensor-cutoff/PROOF.md", + "sha256": "b2d31ea52b652f43cc8576affde6092a884d2832820221a43933e7e27dc07041" + }, + { + "git_blob": "da8837ba67423ef08ef1afb8e8297a8032aafe9f", + "path": "research/coded-native-caller/PHYSICAL.md", + "sha256": "4321b159ff8d3fe705419adaaa1beef75606e869e34341bda553f17d598a6078" + }, + { + "git_blob": "03170f4a31f7a8a3db7228f1cd5a6fdcb32720ae", + "path": "research/coded-native-caller/CODE.json", + "sha256": "8be7f3f073b7981ec91c6af43edff0ac8a89f4824ef6026ae758c287dd6c03d0" + }, + { + "git_blob": "bca92c222c395d3d75c047fbb678f3cd0947c60f", + "path": "research/coded-native-caller/NORMALIZERS.json", + "sha256": "ae8aad06aa5d1811d725895b3ab5a4f4daa9dcdd88294aa0d5f723e78bb1e0da" + } + ], + "literature": [ + { + "author": "Anthony Chefles", + "title": "Unambiguous Discrimination Between Linearly Dependent States With Multiple Copies", + "url": "https://arxiv.org/abs/quant-ph/0105016", + "used": "Section II, sufficient bound N <= C+D-1 and its sharpness; classical tensor-independence input, not claimed new." + } + ], + "scope": "Local written proof and exact finite calibration. No new kappa or selected supplier. Source structure retained with predecessor attribution." +} diff --git a/research/support-width-dichotomy/VALIDATION.json b/research/support-width-dichotomy/VALIDATION.json new file mode 100644 index 0000000000..feb18194a0 --- /dev/null +++ b/research/support-width-dichotomy/VALIDATION.json @@ -0,0 +1,16 @@ +{ + "checks": [ + "portable_normal_matches", + "portable_optimized_matches", + "altered_code_rejected_optimized", + "altered_dual_certificate_rejected", + "source_bound_normal_matches", + "source_bound_optimized_matches", + "whitespace" + ], + "platform": "macOS-26.5.1-arm64-arm-64bit-Mach-O", + "python": "3.14.5 (main, May 10 2026, 10:21:34) [Clang 21.0.0 (clang-2100.0.123.102)]", + "result_sha256": "f3186219323be44da0dfa80f9dae6513ca6f0726dc14a5d0bb5bf4e9c9cf7ffc", + "scope": "Exact finite calibration and source excerpts only. Universal claims rest on PROOF.md. No independent mathematical review, formal proof, native admission or new kappa.", + "status": "PASS_LOCAL_SUPPORT_WIDTH_CALIBRATION" +} diff --git a/research/support-width-dichotomy/verify.py b/research/support-width-dichotomy/verify.py new file mode 100644 index 0000000000..9f5e6453f5 --- /dev/null +++ b/research/support-width-dichotomy/verify.py @@ -0,0 +1,334 @@ +#!/usr/bin/env python3 +"""Exact finite calibration for PROOF.md; no native or theorem admission. + +Apache-2.0. Substantial OpenAI Codex assistance. +""" +from fractions import Fraction as F +from pathlib import Path +import argparse +import hashlib +import json +import platform +import random + + +def need(ok, message): + if not ok: + raise ValueError(message) + + +def rank(rows): + if not rows: + return 0 + a = [[F(x) for x in row] for row in rows] + p = 0 + for j in range(len(a[0])): + k = next((i for i in range(p, len(a)) if a[i][j]), None) + if k is None: + continue + a[p], a[k] = a[k], a[p] + z = a[p][j] + a[p] = [x / z for x in a[p]] + for i in range(p + 1, len(a)): + z = a[i][j] + a[i] = [x - z * y for x, y in zip(a[i], a[p])] + p += 1 + if p == len(a): + break + return p + + +def functional(rows, values): + """Solve rows times ell = values, choosing zero for free coordinates.""" + a = [[F(x) for x in row] + [F(y)] for row, y in zip(rows, values)] + width = len(rows[0]); pivots = []; p = 0 + for j in range(width): + k = next((i for i in range(p, len(a)) if a[i][j]), None) + if k is None: + continue + a[p], a[k] = a[k], a[p] + z = a[p][j]; a[p] = [x / z for x in a[p]] + for i in range(len(a)): + if i != p: + z = a[i][j] + a[i] = [x - z * y for x, y in zip(a[i], a[p])] + pivots.append(j); p += 1 + if p == len(a): + break + need(all(any(row[:-1]) or not row[-1] for row in a), "Inconsistent separator") + answer = [F(0)] * width + for i, j in enumerate(pivots): + answer[j] = a[i][-1] + return answer + + +def dot(a, b): + return sum(x * y for x, y in zip(a, b)) + + +def separator(vectors, target, width): + m = len(vectors); r = rank(vectors) + need(width >= m - r + 1, "Below the guaranteed separation width") + for i in range(m): + need(any(vectors[i]), "Zero vector") + for j in range(i): + need(rank([vectors[i], vectors[j]]) == 2, "Projective duplicate") + chosen = []; basis = [vectors[target]] + for j, v in enumerate(vectors): + if j != target and rank(basis + [v]) > len(basis): + chosen.append(j); basis.append(v) + need(len(basis) == r, "Basis construction failed") + first = functional(basis, [1] + [0] * (r - 1)) + factors = [first] + for j, v in enumerate(vectors): + if j != target and j not in chosen: + factors.append(functional([vectors[target], v], [1, 0])) + factors.extend([first] * (width - len(factors))) + return factors + + +def check_separator(vectors, target, factors): + for j, v in enumerate(vectors): + value = F(1) + for ell in factors: + value *= dot(ell, v) + need(value == int(j == target), "Invalid isolating certificate") + + +def exponents(total, dimensions): + if dimensions == 1: + yield (total,) + else: + for a in range(total + 1): + for tail in exponents(total - a, dimensions - 1): + yield (a,) + tail + + +def symmetric_rank(vectors, width): + # Select one coordinate per orbit of equal tensor entries; no binomial + # coefficient is introduced, including in positive characteristic. + rows = [] + for powers in exponents(width, len(vectors[0])): + row = [] + for v in vectors: + z = F(1) + for a, k in zip(v, powers): + z *= a ** k + row.append(z) + rows.append(row) + return rank(rows) + + +def separator_checks(): + rng = random.Random(1163); cases = 0; certificates = 0 + for d in range(2, 6): + for extra in range(5): + for _ in range(3): + vectors = [tuple(F(int(i == j)) for j in range(d)) for i in range(d)] + while len(vectors) < d + extra: + v = tuple(F(rng.randrange(-2, 3)) for _ in range(d)) + if not any(v): + continue + scale = next(x for x in v if x) + v = tuple(x / scale for x in v) + if v not in vectors: + vectors.append(v) + width = len(vectors) - rank(vectors) + 1 + for i in range(len(vectors)): + check_separator(vectors, i, separator(vectors, i, width)) + certificates += 1 + need(symmetric_rank(vectors, width) == len(vectors), "Expanded rank mismatch") + cases += 1 + moving = [] + for f in range(1, 8): + v = [(F(1), F(j + 1, f + 2)) for j in range(f + 1)] + for i in range(len(v)): + check_separator(v, i, separator(v, i, f)) + moving.append({"f": f, "terms": len(v), "rank": symmetric_rank(v, f)}) + v = [(1, 0, 0, 0), (0, 1, 0, 0), (1, 1, 0, 0), + (1, 2, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1)] + need(rank(v) == 4 and symmetric_rank(v, 2) == 5 and symmetric_rank(v, 3) == 6, + "Sharp rank-refined boundary failed") + try: + separator([(1, 1), (-1, -1)], 0, 2) + except ValueError: + pass + else: + raise ValueError("Proportional-letter mutation accepted") + # Over F2, (1,1)=(1,0)+(0,1), but their tensor squares are independent. + square_rows = [[1, 0, 1], [0, 0, 1], [0, 1, 1]] + need(abs(determinant3(square_rows)) == 1, "F2 square-rank control") + return {"rational_sets": cases, "dual_certificates": certificates, + "moving_supports": moving, "rank_refined_boundary": {"m": 6, "r": 4, "rank_at_2": 5, "rank_at_3": 6}, + "projective_duplicate_rejected": True, "F2_trine_square_rank": 3} + + +def determinant3(a): + return (a[0][0] * (a[1][1] * a[2][2] - a[1][2] * a[2][1]) + - a[0][1] * (a[1][0] * a[2][2] - a[1][2] * a[2][0]) + + a[0][2] * (a[1][0] * a[2][1] - a[1][1] * a[2][0])) + + +def kron(a, b): + return [[x * y for x in row_a for y in row_b] for row_a in a for row_b in b] + + +def tensor_power(a, f): + out = [[1]] + for _ in range(f): + out = kron(out, a) + return out + + +def coefficient_checks(): + identity = [[1, 0], [0, 1]] + x = [[0, 1], [1, 0]]; z = [[1, 0], [0, -1]] + coefficients = [[[1, 2], [0, 1]], [[0, 1], [-1, 0]], [[2, 0], [1, 1]]] + coefficient_mass = sum(y*y for b in coefficients for row in b for y in row) + for f in range(1, 5): + terms = [kron(b, tensor_power(u, f)) for b, u in zip(coefficients, [identity, x, z])] + total = [[sum(t[i][j] for t in terms) for j in range(len(terms[0]))] + for i in range(len(terms[0]))] + need(sum(y*y for row in total for y in row) == 2**f * coefficient_mass, + "Operator-coefficient Gram identity failed") + negative_identity = [[-1, 0], [0, -1]] + for f in [1, 2, 3, 4]: + a, b = tensor_power(identity, f), tensor_power(negative_identity, f) + need(all(b[i][j] == (-1)**f*a[i][j] for i in range(len(a)) for j in range(len(a))), + "Projective phase power failed") + return {"matrix_coefficient_orthogonal_Gram_cases": 4, + "projective_phase_powers_checked": [1, 2, 3, 4], + "scope": "Finite matrix-coefficient and phase calibration; no auxiliary physical implementation."} + + +class G: + """Gaussian rationals, with no floating-point arithmetic.""" + def __init__(self, a=0, b=0): + if isinstance(a, G): + self.a, self.b = a.a, a.b + else: + self.a, self.b = F(a), F(b) + + def __add__(self, y): + y = G(y); return G(self.a + y.a, self.b + y.b) + __radd__ = __add__ + def __neg__(self): + return G(-self.a, -self.b) + def __sub__(self, y): + return self + -G(y) + def __mul__(self, y): + y = G(y); return G(self.a * y.a - self.b * y.b, self.a * y.b + self.b * y.a) + __rmul__ = __mul__ + def __pow__(self, k): + need(type(k) is int and k >= 0, "Nonnegative power required") + out = G(1); base = self + while k: + if k % 2: + out = out * base + base = base * base; k //= 2 + return out + def __bool__(self): + return bool(self.a or self.b) + def norm2(self): + return self.a * self.a + self.b * self.b + + +def evaluate(coeff, z): + answer = G(0) + for c in reversed(coeff): + answer = answer * z + c + return answer + + +def sharp_escape_checks(): + alpha = G(F(3, 5), F(4, 5)); out = [] + for f in range(1, 9): + coeff = [G(1)] + roots = [alpha ** k for k in range(f + 1)] + for root in roots: + new = [G(0)] * (len(coeff) + 1) + for j, c in enumerate(coeff): + new[j] = new[j] - root * c + new[j + 1] = new[j + 1] + c + coeff = new + need(len(coeff) == f + 2 and all(coeff), "Sharp escape lost a term") + need(all(not evaluate(coeff, z) for z in roots), "Annihilator failed") + need(bool(evaluate(coeff, alpha ** (f + 1))), "Width-increment mutation accepted") + need(bool(evaluate(coeff[:-1], G(1))), "Omitted-term mutation accepted") + need(all(bool(roots[j] - roots[i]) for i in range(len(roots)) for j in range(i)), + "Repeated eigenvalue") + scale = 5 ** (f * (f + 1) // 2) + for c in coeff: + for x in (c.a, c.b): + need(scale % x.denominator == 0, "Coefficient denominator bound failed") + need(abs(x * scale) <= 2 ** (f + 1) * scale, "Numerator bound failed") + out.append({"f": f, "terms": len(coeff), "spectrum_points": len(roots), + "coefficient_component_max_bits": max(max(abs(x.numerator).bit_length(), x.denominator.bit_length()) for c in coeff for x in (c.a, c.b)), + "exact_zero": True, "fails_at_next_width": True}) + near = [] + for f in range(1, 13): + t = f * f; beta = G(F(t * t - 1, t * t + 1), F(2 * t, t * t + 1)) + need(beta.norm2() == 1 and bool(beta - G(1)), "Moving-unitary fixture failed") + error2 = max((beta ** k - G(1)).norm2() for k in range(f + 1)) + need(0 < error2 <= F(4, f * f), "Approximate escape bound failed") + near.append({"f": f, "error_squared": str(error2), "upper_squared": str(F(4, f*f))}) + return {"single_fixed_generator": "diag(1,(3+4i)/5)", "sharp_exact_identities": out, + "two_term_approximate_escape": near, + "scope": "Exact diagonal-spectrum calibration only; no native recoding or precision admission."} + + +def source_check(package, root): + fixture = json.loads((package / "FIXTURE.json").read_text()) + if root: + manifest = json.loads((package / "SOURCES.json").read_text()) + for pin in manifest["files"]: + need(hashlib.sha256((root / pin["path"]).read_bytes()).hexdigest() == pin["sha256"], + "Changed source: " + pin["path"]) + code = json.loads((root / "research/coded-native-caller/CODE.json").read_text()) + normalizers = json.loads((root / "research/coded-native-caller/NORMALIZERS.json").read_text()) + need(fixture["A"] == code["A"] and fixture["mode_columns"] == normalizers["mode_columns"], + "Source excerpt mismatch") + need(fixture["ports"] == [{"q": x["q"], "G_rows": x["G_rows"]} for x in normalizers["ports"]], + "Port excerpt mismatch") + a = [[F(x) for x in row] for row in fixture["A"]]; n = len(a) + columns = fixture["mode_columns"] + need(n == 112 and len(columns) == 8 and all(len(x) == n for x in columns), "Fixture shape") + for i in range(8): + for j in range(8): + need(dot(columns[i], columns[j]) == 56 * int(i == j), "Mode Gram mismatch") + for i in range(n): + for j in range(n): + expected = int(i == j) - F(sum(columns[k][i] * columns[k][j] for k in range(8)), 4) + need(a[i][j] == expected, "Code factor mismatch") + need(a[i][i] == 0, "Zero-diagonal premise failed") + row = [sum(bool(x) for x in v) for v in a] + col = [sum(bool(a[i][j]) for i in range(n)) for j in range(n)] + need(set(row) == {52} and set(col) == {52}, "Code support mismatch") + ports = fixture["ports"]; need(len(ports) == n and len({x["q"] for x in ports}) == n, "Port distinctness") + for p in ports: + rows = p["G_rows"] + need(len(rows) == 9, "Binary map shape") + for i in range(9): + for j in range(9): + need((rows[i] & rows[j]).bit_count() % 2 == int(i == j), "Binary orthogonality") + need(sum((r & 1) << i for i, r in enumerate(rows)) == p["q"], "Gq convention mismatch") + return {"owners": n, "nonzero_code_entries": sum(row), "row_support": 52, "column_support": 52, + "terminal_multiplier": 2704, "equal_support_multiplier": 2705, + "all_code_entries_checked": n*n, "distinct_binary_port_maps_checked": n, + "scope": "Exact scalar factor, support and one-column port excerpt checks. No original producer, full phase, native tape, compiler or admission replay."} + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--source-root", type=Path) + args = parser.parse_args(); package = Path(__file__).resolve().parent + result = {"status": "PASS_SUPPORT_WIDTH_FINITE_CALIBRATION_NO_NEW_KAPPA", + "python": platform.python_version(), + "separators": separator_checks(), "sharpness_and_approximation": sharp_escape_checks(), + "operator_coefficients": coefficient_checks(), + "source_structure": source_check(package, args.source_root)} + print(json.dumps(result, indent=2, sort_keys=True)) + + +if __name__ == "__main__": + main()