@@ factory GF(q) table @@
61 2 v_1^2+60*v_1+2; 2 1 60 2
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
