quine golf: optimise font, make 6 more different from b, 4140B

This commit is contained in:
Crispy 2024-08-13 17:48:29 +02:00
parent 33e97fc07b
commit 94cc758b28
4 changed files with 6 additions and 6 deletions

View file

@ -1784,7 +1784,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
type: 3 type: 3
objectId: 9fee86b2-a9bd-46a3-a364-5f94506c4253 objectId: 9fee86b2-a9bd-46a3-a364-5f94506c4253
randomNum: 50966792 randomNum: 75621475
unityVersion: 2021.3.41f1 unityVersion: 2021.3.41f1
cckVersion: 3.10:132 cckVersion: 3.10:132
--- !u!114 &2046637845 --- !u!114 &2046637845

View file

@ -1,4 +1,4 @@
Shader"S"{SubShader{Pass{CGPROGRAM#pragma vertex a Shader"S"{SubShader{Pass{CGPROGRAM#pragma vertex a
#pragma fragment f #pragma fragment f
#include"UnityCG.cginc" #include"UnityCG.cginc"
struct A{float4 v:POSITION;float2 u:TEXCOORD0;UNITY_VERTEX_INPUT_INSTANCE_ID};struct V{float2 u:TEXCOORD0;float4 v:SV_POSITION;UNITY_VERTEX_OUTPUT_STEREO};V a(A v){V o;UNITY_SETUP_INSTANCE_ID(v);UNITY_INITIALIZE_OUTPUT(V,o);UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);o.v=UnityObjectToClipPos(v.v);o.u=v.u;return o;}float3 f(V U):SV_Target{const uint t[]={0x2f00576f,0x33f2c1f7,0x2f1fb204,0x1b49dda7,0x3d618237,0x42c83a2e,0x4541a121,0x53a72e14,0x1adea1c5,0x5d3cd90b,0x603c289b,0x568d5310,0x339e664f,0x62d0e527,0x51d53c3a,0x3b06de0b,0x62ec13db,0x45bce019,0x620fc24a,0x5d6c6c36,0x00f4742a,0x70a7a790,0x5bc6aa73,0x76b38992,0x7d04286b,0x5cdd77af,0x793c758e,0x4a25d683,0x6a865f87,0x8a7a6d41,0x80979732,0x3e5dcab0,0x7aab42e2,0x4386c736,0x8f2b05f5,0x3b014639,0x38a8286b,0x5cdd77af,0x793c758e,0x4a25d683,0x285ca196,0x0c38abc3,0x8ce0fa73,0x76b38992,0x7dd7e131,0x8802215d,0x793c7e9e,0x6a7c4ea1,0x8951495d,0x7fe41a29,0x005bbcb0,0x5c2c10d0,0x71e0b2d0,0x79542e24,0x78f372b0,0x7aab42e2,0x4386c736,0x9131fc1b,0x7b8dda68,0x76bb5f80,0x4d905394,0x89a6a269,0x6a7fa4e2,0x7227c8a2,0x76b440b0,0x7b8dd81f,0x966a1e78,0x8cc22484,0x831d7ba1,0x3e5dca93,0x793a255e,0x91784c1e,0x6f044498,0x6546356c,0x9cb68111,0x712516f2,0x3e72fc95,0x6f03fc1e,0x6e9eb2bd,0x3c2881d6,0x3b3ff82e,0x7e49bd4e,0x1c044410,0x91c85dac,0x735912b1,0x1b827fd6,0x38911a9a,0x5cc864f8,0x5cc9ca92,0x9a8869fd,0x718915e0,0x3bdc43e0,0x48cf55c7,0x02fdec45,0x114e19a7,0x16307b32,0x076b20e2,0x0ef5e343,0x1600e954,0x2c214599,0x2c30e687,0x027939a2,0x02b83338,0x18f6ec44,0x111f52a8,0x113e4349,0x07e05131,0x02bfd142,0x076ad596,0x09ecd345,0x0288d9a7,0x0528a0a9,0x114e474a,0x02fe5131,0x052149a2,0x0c4d2181,0x13b0d341,0x04fa0892,0x0501c2a2,0x0c73b523,0x0a13e2a1,0x1640315a,0x2c28fba1,0x2c11a68a,0x075c9393,0x112f6cd1,0x2c212dd7,0x2c313093,0x0509aba2,0x09e38ce1,0x2c2948d8,0x115e04a2,0x0c73cd35,0x0c6d7487,0x0c4ced5a,0x2c0236f6,0x0eaeb342,0x076b3857,0x18aa42a9,0x13a78cea,0x0a50d2a6,0x04fa51a1,0x2c11a4a3,0x1155e9a2,0x07a16c42,0x13b0d2a2,0x189949a6,0x0799a0a8,0x079249a2,0x16305fa5,0x13b0d485,0x1147a2a1,0x0c83d044,0x2c11a6d3,0x11a49c85,0x0518cb42,0x0edd7993,0x11a3d2f9,0x2c098b32,0x052a12a4,0x04f98962,0x0509f1a6,0x0a0302a4,0x078a2da2,0x0ede72a9,0x0c739b81,0x0f32d342,0x075b52a2,0x0ee531d7,0x077402a9,0x0511ab21,0x0f330542,0x18729b32,0x0528b724,0x076a8ea4,0x056ed4d5,0x027968d1,0x2c09bc91,0x113e60a5,0x0789e526,0x11a41e97,0x0c833962,0x04eab1f5,0x0512a2a6,0x18b8a026,0x18f71eea,0x075aeea5,0x053102e7,0x11a404a8,0x189977f2,0x09dba344,0x13d7e344,0x075bcc42,0x0509a7e4,0x11a468a7,0x1685ebf4,0x11465f42,0x13a06be6,0x05303ea5,0x0789cc24,0x07e09be8,0x02a0db02,0x077a8ee9,0x0c5ca702,0x078a6041,0x1070202a,0x70a7a6f0,0x54f27128,0xa3ca5608,0x6555360d,0x2d342342,0x83549021,0x7e36e1cd,0x6cfe84e5,0xa7d1a0d5,0x88224d36,0x7dc4f299,0xab0d8f77,0xae9e5944,0x02b5633d,0x9ba00695,0x0c7972d2,0x0671c8bd,0xafe6bc7d,0xb1fb1004,0x065288ef,0x04f10aa9,0x748fba8b,0x66348e98,0x94c622e2,0xad0eb578,0xaa47b755,0x092eb1bc,0x94880007,0x0516d142,0x7e49a43a,0x2556c6cf,0x91522795,0x15634bf9,0x1123cf4f,0x5ec5e876,0xa2b20e75,0x915284b6,0x7dca59c3,0x6632f6cd,0xb9081183,0x21fd79d1,0x7e4d92eb,0x5465f1c7,0x94882f25,0x9b9f5021,0xaa1900f7,0x7d2892f8,0x347d8951,0x21c78c1b,0x837db3f6,0x94a6f72b,0x839828f3,0x8f3532fb,0x4626dc20,};const uint R[]={0,234663,68679,2265159,3280003,5348,7376003,1088679,233604,7641382,6600966,2234534,34023,6182,8665390,6601774,4267074,301257,134,14719239,1088809,6210,337920,4262980,5286,7642145,133250,6587686,14726446,7642409,15255086,2270697,18732593,11512810,3312673,12923174,11953,5282,72774,8661474,7465,1049633,33826,9741606,567426,128,206118,131200,14815374,32641156,18470705,131204,15768623,18157905,3319079,18393220,31,18400580,2240642,4261956,4464900,1082415,15994959,459200,4198566,3179555,3213379,332096,145536,7168,2236546,72955190,4260932,9570592,244584452,266305};float2 p=U.u*65;uint c,i,Y,X=p.x;Y=p.y;i=X+(64-Y)*65;if(i>446&&i<3307){c=(i-447)%11;c=c<2?(c<<4)+1:c==10?18:(t[(i-447)/11]>>((7-((c-2)&7))*4)&15)+1;}else{i-=(i>447)*2860;c=t[i/5];for(i%=5;i<4;i++)c/=80;c%=80;}Y=(p.y-Y)*6;X=(p.x-X)*6;return R[c]>>(X+Y*5)&1*(X<5);}ENDCG}}} struct A{float4 v:POSITION;float2 u:TEXCOORD0;UNITY_VERTEX_INPUT_INSTANCE_ID};struct V{float2 u:TEXCOORD0;float4 v:SV_POSITION;UNITY_VERTEX_OUTPUT_STEREO};V a(A v){V o;UNITY_SETUP_INSTANCE_ID(v);UNITY_INITIALIZE_OUTPUT(V,o);UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);o.v=UnityObjectToClipPos(v.v);o.u=v.u;return o;}float3 f(V U):SV_Target{const uint t[]={0x2f00576f,0x33f2c1f7,0x2f1fb204,0x1b49dda7,0x3d618237,0x42c83a2e,0x4541a121,0x53a72e14,0x1adea1c5,0x5d3cd90b,0x603c289b,0x568d5310,0x339e664f,0x62d0e527,0x51d53c3a,0x3b06de0b,0x62ec13db,0x45bce019,0x620fc24a,0x5d6c6c36,0x00f4742a,0x70a7a790,0x5bc6aa73,0x76b38992,0x7d04286b,0x5cdd77af,0x793c758e,0x4a25d683,0x6a865f87,0x8a7a6d41,0x80979732,0x3e5dcab0,0x7aab42e2,0x4386c736,0x8f2b05f5,0x3b014639,0x38a8286b,0x5cdd77af,0x793c758e,0x4a25d683,0x285ca196,0x0c38abc3,0x8ce0fa73,0x76b38992,0x7dd7e131,0x8802215d,0x793c7e9e,0x6a7c4ea1,0x8951495d,0x7fe41a29,0x005bbcb0,0x5c2c10d0,0x71e0b2d0,0x79542e24,0x78f372b0,0x7aab42e2,0x4386c736,0x9131fc1b,0x7b8dda68,0x76bb5f80,0x4d905394,0x89a6a269,0x6a7fa4e2,0x7227c8a2,0x76b440b0,0x7b8dd81f,0x966a1e78,0x8cc22484,0x831d7ba1,0x3e5dca93,0x793a255e,0x91784c1e,0x6f044498,0x6546356c,0x9cb68111,0x712516f2,0x3e72fc95,0x6f03fc1e,0x6e9eb2bd,0x3c2881d6,0x3b3ff82e,0x7e49bd4e,0x1c044410,0x91c85dac,0x735912b1,0x1b827fd6,0x38911a9a,0x5cc864f8,0x5cc9ca92,0x9a8869fd,0x718915e0,0x3bdc43e0,0x48cf55c7,0x02fdec45,0x114e19a7,0x16307b32,0x076b20e2,0x0ef5e343,0x1600e954,0x2c214599,0x2c30e687,0x027939a4,0x0528e8d4,0x056eec44,0x111f52a7,0x0ef46dd1,0x11a45131,0x02bfd142,0x076ad596,0x09ecd345,0x0288d9a7,0x0528a0a9,0x114e474a,0x02fe5131,0x052149a2,0x0c4d2181,0x13b0d341,0x04fa0892,0x0501c2a2,0x0c73b523,0x0a13e2a1,0x1640315a,0x2c28fba1,0x2c11a68a,0x075c9393,0x112f6cd1,0x2c212dd7,0x2c313093,0x0509aba2,0x09e38ce1,0x2c2948d8,0x115e04a7,0x09e40ad4,0x16866a35,0x077a2c32,0x05112ce6,0x02b804a3,0x07919b3a,0x1414d4d8,0x09dc0924,0x2c01d3e2,0x07998262,0x09e372f7,0x13a902a3,0x1881d4a8,0x0cc1d2aa,0x0ec703e3,0x16123483,0x13c702a9,0x114de398,0x0cc26997,0x0f32d255,0x18a11552,0x09e421f7,0x2c115a95,0x076c33e7,0x13af5d42,0x04fa56a3,0x02a7e2a9,0x2c0204a3,0x027a9485,0x02b031d8,0x2c118d35,0x04f23842,0x0528cf81,0x13906ba2,0x09d3eb55,0x2c30e686,0x1879d7a2,0x1609388a,0x02a1a344,0x05303b8a,0x2c219185,0x079b1342,0x2c21a998,0x164112f3,0x0c3d8093,0x2c09a341,0x18a966a2,0x04f24ff3,0x0f32d259,0x077a43f2,0x0511dd25,0x1899dfa5,0x0ef46b51,0x2c194529,0x0edd64a4,0x05217be6,0x0f3304f2,0x09e40b32,0x09e38b5a,0x11a3d396,0x0ec5f4a8,0x051996a3,0x0772f0e5,0x11a468fa,0x0ed51521,0x2c195d31,0x188990aa,0x0ee49aea,0x07dfeba2,0x02905953,0x02fded37,0x09cc7853,0x285ca196,0x075665db,0x6e9f0d36,0x7d428da6,0x00675ee2,0x86d8e0d2,0x6e66dc6f,0x5465ec19,0x9b73c677,0x0e558203,0x114ae7e0,0x91522795,0x1348ac18,0x09dc6c6c,0x3892c999,0xa89c8fbc,0xb248e1fd,0x9a3b993a,0x9077ae85,0x948f80bd,0x9bbb629a,0x052cf996,0xa0820695,0x0c797372,0x06ec8c1b,0x90504fab,0x21d86e07,0x1562b0f5,0x94a6e41c,0xa618ad2f,0x67569e59,0xaa670016,0x0c5ceb03,0x0799d053,0x21acfa79,0xb7506200,0x70f7e019,0x9a02e818,0x0dc78684,0x92e8f6b9,0x0400cc0f,0x1605dd57,0x9b9f503c,0xaa28a0f7,0x7e274992,0x6e689dcc,0xa3ceb19f,0x5d839980,0x48ca29e6,0xacb83277,0xa3c7d232,0xa5653386,0x94102a72,0x84abbe5a,0x8d9a0000,};const uint R[]={0,234663,68679,2265159,3280003,5348,7376003,3185831,233604,6592806,6600966,2234534,34023,6182,8665390,6601774,4267074,301257,134,14719239,1088809,6210,337920,4262980,5286,7642145,133250,6587686,6337838,7642409,15255086,2270697,18732593,11512810,3312673,12923174,11953,5282,72774,8661474,7465,1049633,33826,304422,567426,128,206118,131200,7407687,32641156,18470705,131204,7375911,18157905,3319079,567428,31,574788,2240642,2130978,1116225,1082415,15994959,459200,4198566,3179555,3213379,332096,145536,7168,2236546,72955190,4260932,9570592,211030020,266305};float2 p=U.u*65;uint c,i,Y,X=p.x;Y=p.y;i=X+(64-Y)*65;if(i>446&&i<3296){c=(i-447)%11;c=c<2?(c<<4)+1:c==10?18:(t[(i-447)/11]>>((7-((c-2)&7))*4)&15)+1;}else{i-=(i>447)*2849;c=t[i/5];for(i%=5;i<4;i++)c/=80;c%=80;}Y=(p.y-Y)*6;X=(p.x-X)*6;return R[c]>>(X+Y*5)&1*(X<5);}ENDCG}}}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8 KiB

View file

@ -1,5 +1,5 @@
const uint t[]={0x2f00576f,0x33f2c1f7,0x2f1fb204,0x1b49dda7,0x3d618237,0x42c83a2e,0x4541a121,0x53a72e14,0x1adea1c5,0x5d3cd90b,0x603c289b,0x568d5310,0x339e664f,0x62d0e527,0x51d53c3a,0x3b06de0b,0x62ec13db,0x45bce019,0x620fc24a,0x5d6c6c36,0x00f4742a,0x70a7a790,0x5bc6aa73,0x76b38992,0x7d04286b,0x5cdd77af,0x793c758e,0x4a25d683,0x6a865f87,0x8a7a6d41,0x80979732,0x3e5dcab0,0x7aab42e2,0x4386c736,0x8f2b05f5,0x3b014639,0x38a8286b,0x5cdd77af,0x793c758e,0x4a25d683,0x285ca196,0x0c38abc3,0x8ce0fa73,0x76b38992,0x7dd7e131,0x8802215d,0x793c7e9e,0x6a7c4ea1,0x8951495d,0x7fe41a29,0x005bbcb0,0x5c2c10d0,0x71e0b2d0,0x79542e24,0x78f372b0,0x7aab42e2,0x4386c736,0x9131fc1b,0x7b8dda68,0x76bb5f80,0x4d905394,0x89a6a269,0x6a7fa4e2,0x7227c8a2,0x76b440b0,0x7b8dd81f,0x966a1e78,0x8cc22484,0x831d7ba1,0x3e5dca93,0x793a255e,0x91784c1e,0x6f044498,0x6546356c,0x9cb68111,0x712516f2,0x3e72fc95,0x6f03fc1e,0x6e9eb2bd,0x3c2881d6,0x3b3ff82e,0x7e49bd4e,0x1c044410,0x91c85dac,0x735912b1,0x1b827fd6,0x38911a9a,0x5cc864f8,0x5cc9ca92,0x9a8869fd,0x718915e0,0x3bdc43e0,0x48cf55c7,0x02fdec45,0x114e19a7,0x16307b32,0x076b20e2,0x0ef5e343,0x1600e954,0x2c214599,0x2c30e687,0x027939a2,0x02b83338,0x18f6ec44,0x111f52a8,0x113e4349,0x07e05131,0x02bfd142,0x076ad596,0x09ecd345,0x0288d9a7,0x0528a0a9,0x114e474a,0x02fe5131,0x052149a2,0x0c4d2181,0x13b0d341,0x04fa0892,0x0501c2a2,0x0c73b523,0x0a13e2a1,0x1640315a,0x2c28fba1,0x2c11a68a,0x075c9393,0x112f6cd1,0x2c212dd7,0x2c313093,0x0509aba2,0x09e38ce1,0x2c2948d8,0x115e04a2,0x0c73cd35,0x0c6d7487,0x0c4ced5a,0x2c0236f6,0x0eaeb342,0x076b3857,0x18aa42a9,0x13a78cea,0x0a50d2a6,0x04fa51a1,0x2c11a4a3,0x1155e9a2,0x07a16c42,0x13b0d2a2,0x189949a6,0x0799a0a8,0x079249a2,0x16305fa5,0x13b0d485,0x1147a2a1,0x0c83d044,0x2c11a6d3,0x11a49c85,0x0518cb42,0x0edd7993,0x11a3d2f9,0x2c098b32,0x052a12a4,0x04f98962,0x0509f1a6,0x0a0302a4,0x078a2da2,0x0ede72a9,0x0c739b81,0x0f32d342,0x075b52a2,0x0ee531d7,0x077402a9,0x0511ab21,0x0f330542,0x18729b32,0x0528b724,0x076a8ea4,0x056ed4d5,0x027968d1,0x2c09bc91,0x113e60a5,0x0789e526,0x11a41e97,0x0c833962,0x04eab1f5,0x0512a2a6,0x18b8a026,0x18f71eea,0x075aeea5,0x053102e7,0x11a404a8,0x189977f2,0x09dba344,0x13d7e344,0x075bcc42,0x0509a7e4,0x11a468a7,0x1685ebf4,0x11465f42,0x13a06be6,0x05303ea5,0x0789cc24,0x07e09be8,0x02a0db02,0x077a8ee9,0x0c5ca702,0x078a6041,0x1070202a,0x70a7a6f0,0x54f27128,0xa3ca5608,0x6555360d,0x2d342342,0x83549021,0x7e36e1cd,0x6cfe84e5,0xa7d1a0d5,0x88224d36,0x7dc4f299,0xab0d8f77,0xae9e5944,0x02b5633d,0x9ba00695,0x0c7972d2,0x0671c8bd,0xafe6bc7d,0xb1fb1004,0x065288ef,0x04f10aa9,0x748fba8b,0x66348e98,0x94c622e2,0xad0eb578,0xaa47b755,0x092eb1bc,0x94880007,0x0516d142,0x7e49a43a,0x2556c6cf,0x91522795,0x15634bf9,0x1123cf4f,0x5ec5e876,0xa2b20e75,0x915284b6,0x7dca59c3,0x6632f6cd,0xb9081183,0x21fd79d1,0x7e4d92eb,0x5465f1c7,0x94882f25,0x9b9f5021,0xaa1900f7,0x7d2892f8,0x347d8951,0x21c78c1b,0x837db3f6,0x94a6f72b,0x839828f3,0x8f3532fb,0x4626dc20,}; const uint t[]={0x2f00576f,0x33f2c1f7,0x2f1fb204,0x1b49dda7,0x3d618237,0x42c83a2e,0x4541a121,0x53a72e14,0x1adea1c5,0x5d3cd90b,0x603c289b,0x568d5310,0x339e664f,0x62d0e527,0x51d53c3a,0x3b06de0b,0x62ec13db,0x45bce019,0x620fc24a,0x5d6c6c36,0x00f4742a,0x70a7a790,0x5bc6aa73,0x76b38992,0x7d04286b,0x5cdd77af,0x793c758e,0x4a25d683,0x6a865f87,0x8a7a6d41,0x80979732,0x3e5dcab0,0x7aab42e2,0x4386c736,0x8f2b05f5,0x3b014639,0x38a8286b,0x5cdd77af,0x793c758e,0x4a25d683,0x285ca196,0x0c38abc3,0x8ce0fa73,0x76b38992,0x7dd7e131,0x8802215d,0x793c7e9e,0x6a7c4ea1,0x8951495d,0x7fe41a29,0x005bbcb0,0x5c2c10d0,0x71e0b2d0,0x79542e24,0x78f372b0,0x7aab42e2,0x4386c736,0x9131fc1b,0x7b8dda68,0x76bb5f80,0x4d905394,0x89a6a269,0x6a7fa4e2,0x7227c8a2,0x76b440b0,0x7b8dd81f,0x966a1e78,0x8cc22484,0x831d7ba1,0x3e5dca93,0x793a255e,0x91784c1e,0x6f044498,0x6546356c,0x9cb68111,0x712516f2,0x3e72fc95,0x6f03fc1e,0x6e9eb2bd,0x3c2881d6,0x3b3ff82e,0x7e49bd4e,0x1c044410,0x91c85dac,0x735912b1,0x1b827fd6,0x38911a9a,0x5cc864f8,0x5cc9ca92,0x9a8869fd,0x718915e0,0x3bdc43e0,0x48cf55c7,0x02fdec45,0x114e19a7,0x16307b32,0x076b20e2,0x0ef5e343,0x1600e954,0x2c214599,0x2c30e687,0x027939a4,0x0528e8d4,0x056eec44,0x111f52a7,0x0ef46dd1,0x11a45131,0x02bfd142,0x076ad596,0x09ecd345,0x0288d9a7,0x0528a0a9,0x114e474a,0x02fe5131,0x052149a2,0x0c4d2181,0x13b0d341,0x04fa0892,0x0501c2a2,0x0c73b523,0x0a13e2a1,0x1640315a,0x2c28fba1,0x2c11a68a,0x075c9393,0x112f6cd1,0x2c212dd7,0x2c313093,0x0509aba2,0x09e38ce1,0x2c2948d8,0x115e04a7,0x09e40ad4,0x16866a35,0x077a2c32,0x05112ce6,0x02b804a3,0x07919b3a,0x1414d4d8,0x09dc0924,0x2c01d3e2,0x07998262,0x09e372f7,0x13a902a3,0x1881d4a8,0x0cc1d2aa,0x0ec703e3,0x16123483,0x13c702a9,0x114de398,0x0cc26997,0x0f32d255,0x18a11552,0x09e421f7,0x2c115a95,0x076c33e7,0x13af5d42,0x04fa56a3,0x02a7e2a9,0x2c0204a3,0x027a9485,0x02b031d8,0x2c118d35,0x04f23842,0x0528cf81,0x13906ba2,0x09d3eb55,0x2c30e686,0x1879d7a2,0x1609388a,0x02a1a344,0x05303b8a,0x2c219185,0x079b1342,0x2c21a998,0x164112f3,0x0c3d8093,0x2c09a341,0x18a966a2,0x04f24ff3,0x0f32d259,0x077a43f2,0x0511dd25,0x1899dfa5,0x0ef46b51,0x2c194529,0x0edd64a4,0x05217be6,0x0f3304f2,0x09e40b32,0x09e38b5a,0x11a3d396,0x0ec5f4a8,0x051996a3,0x0772f0e5,0x11a468fa,0x0ed51521,0x2c195d31,0x188990aa,0x0ee49aea,0x07dfeba2,0x02905953,0x02fded37,0x09cc7853,0x285ca196,0x075665db,0x6e9f0d36,0x7d428da6,0x00675ee2,0x86d8e0d2,0x6e66dc6f,0x5465ec19,0x9b73c677,0x0e558203,0x114ae7e0,0x91522795,0x1348ac18,0x09dc6c6c,0x3892c999,0xa89c8fbc,0xb248e1fd,0x9a3b993a,0x9077ae85,0x948f80bd,0x9bbb629a,0x052cf996,0xa0820695,0x0c797372,0x06ec8c1b,0x90504fab,0x21d86e07,0x1562b0f5,0x94a6e41c,0xa618ad2f,0x67569e59,0xaa670016,0x0c5ceb03,0x0799d053,0x21acfa79,0xb7506200,0x70f7e019,0x9a02e818,0x0dc78684,0x92e8f6b9,0x0400cc0f,0x1605dd57,0x9b9f503c,0xaa28a0f7,0x7e274992,0x6e689dcc,0xa3ceb19f,0x5d839980,0x48ca29e6,0xacb83277,0xa3c7d232,0xa5653386,0x94102a72,0x84abbe5a,0x8d9a0000,};
b=447; b=447;
uint magic_number_L_plus_b= 3307; uint magic_number_L_plus_b= 3296;
uint magic_number_L= 2860; uint magic_number_L= 2849;
const uint R[]={0,234663,68679,2265159,3280003,5348,7376003,1088679,233604,7641382,6600966,2234534,34023,6182,8665390,6601774,4267074,301257,134,14719239,1088809,6210,337920,4262980,5286,7642145,133250,6587686,14726446,7642409,15255086,2270697,18732593,11512810,3312673,12923174,11953,5282,72774,8661474,7465,1049633,33826,9741606,567426,128,206118,131200,14815374,32641156,18470705,131204,15768623,18157905,3319079,18393220,31,18400580,2240642,4261956,4464900,1082415,15994959,459200,4198566,3179555,3213379,332096,145536,7168,2236546,72955190,4260932,9570592,244584452,266305}; const uint R[]={0,234663,68679,2265159,3280003,5348,7376003,3185831,233604,6592806,6600966,2234534,34023,6182,8665390,6601774,4267074,301257,134,14719239,1088809,6210,337920,4262980,5286,7642145,133250,6587686,6337838,7642409,15255086,2270697,18732593,11512810,3312673,12923174,11953,5282,72774,8661474,7465,1049633,33826,304422,567426,128,206118,131200,7407687,32641156,18470705,131204,7375911,18157905,3319079,567428,31,574788,2240642,2130978,1116225,1082415,15994959,459200,4198566,3179555,3213379,332096,145536,7168,2236546,72955190,4260932,9570592,211030020,266305};