<?xml version="1.0" encoding="UTF-8"?>
<Worksheet>
<Version major="2016" minor="2"/>
<Label-Scheme value="2" prefix=""/>
<View-Properties presentation="false" autoexpanding_sections="true" UserProfileName="Maple Default Profile" NumericFormat-ApplyInteger="true" NumericFormat-ApplyRational="true" NumericFormat-ApplyExponent="false">
</View-Properties>
<MapleNet-Properties prettyprint="3" warnlevel="3" preplot="" helpbrowser="standard" contextmenusize="automatic" displayprecision="-1" echo="1" unitattributes="&quot;fontweight&quot; = &quot;bold&quot;" imaginaryunit="I" longdelim="true" elisiontermsthreshold="10000" elisiondigitsafter="100" elisiondigitsbefore="100" plotdevice="inline" errorbreak="1" plotoptions="" plotdriver="opengl" quiet="false" elisiontermsbefore="100" elisiontermsafter="100" screenwidth="79" indentamount="4" plotoutput="terminal" screenpixelheight="1080" rtablesize="50" useclientjvm="true" labelwidth="20" postplot="" typesetting="standard" ansi="false" elisiondigitsthreshold="10000" showassumed="1" errorcursor="false" labelling="true" screenheight="25" prompt="&gt; " verboseproc="1" latexwidth="8.0" ShowLabels="true"/>
<Styles>
<Font name="Heading 1" background="[255,255,255]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="18" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Warning" background="[255,255,255]" bold="false" executable="false" family="Courier New" foreground="[0,0,255]" italic="false" opaque="false" readonly="true" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="2D Output" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,255]" italic="false" opaque="false" readonly="true" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Heading 4" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="true" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Line Printed Output" background="[255,255,255]" bold="false" executable="false" family="Courier New" foreground="[0,0,255]" italic="false" opaque="false" readonly="true" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Heading 2" background="[255,255,255]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="16" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Maple Output" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="2D Inert Output" background="[255,255,255]" bold="false" executable="true" family="Times New Roman" foreground="[144,144,144]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Heading 3" background="[255,255,255]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="true" opaque="false" readonly="false" size="14" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Diagnostic" background="[255,255,255]" bold="false" executable="false" family="Courier New" foreground="[40,120,40]" italic="false" opaque="false" readonly="true" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Ordered List 1" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Maple Input" background="[255,255,255]" bold="true" executable="true" family="Courier New" foreground="[120,0,14]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Text Output" background="[255,255,255]" bold="false" executable="false" family="Courier New" foreground="[0,0,255]" italic="false" opaque="false" readonly="true" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Ordered List 2" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Ordered List 3" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Ordered List 4" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Ordered List 5" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Annotation Title" background="[255,255,255]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="18" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Header and Footer" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="10" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="HyperlinkError" background="[255,255,255]" bold="false" executable="false" family="Courier New" foreground="[255,0,255]" italic="false" opaque="false" readonly="true" size="12" subscript="false" superscript="false" underline="true" placeholder="false"/>
<Font name="Atomic Variable" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[175,0,175]" italic="true" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="HyperlinkWarning" background="[255,255,255]" bold="false" executable="false" family="Courier New" foreground="[0,0,255]" italic="false" opaque="false" readonly="true" size="12" subscript="false" superscript="false" underline="true" placeholder="false"/>
<Font name="Dictionary Hyperlink" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[147,0,15]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="true" placeholder="false"/>
<Font name="2D Math" background="[255,255,255]" bold="false" executable="true" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Bullet Item" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Maple Plot" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Annotation Text" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="List Item" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Dash Item" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="2D Input" background="[255,255,255]" bold="false" executable="true" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Error" background="[255,255,255]" bold="false" executable="false" family="Courier New" foreground="[255,0,255]" italic="false" opaque="false" readonly="true" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Title" background="[255,255,255]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="18" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Text" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Normal" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Caption Reference" background="[255,255,255]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Code" background="[255,255,255]" bold="false" executable="false" family="Courier New" foreground="[255,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Maple Input Placeholder" background="[255,255,255]" bold="true" executable="true" family="Courier New" foreground="[200,0,200]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="true"/>
<Font name="Equation Label" background="[255,255,255]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Author" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Font name="Hyperlink" background="[255,255,255]" bold="false" executable="false" family="Times New Roman" foreground="[0,128,128]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="true" placeholder="false"/>
<Font name="Caption Text" background="[255,255,255]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" opaque="false" readonly="false" size="12" subscript="false" superscript="false" underline="false" placeholder="false"/>
<Layout name="Heading 1" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="8" spacebelow="4" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Warning" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Heading 4" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Line Printed Output" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="any" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Heading 2" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="8" spacebelow="2" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Maple Output" alignment="centred" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.3" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Heading 3" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Diagnostic" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="any" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Ordered List 1" alignment="left" bullet="numeric" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="3" spacebelow="3" linebreak="space" pagebreak-before="false" initial="-1" bulletsuffix="."/>
<Layout name="Text Output" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="newline" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Ordered List 2" alignment="left" bullet="alphabetic" firstindent="0" leftmargin="36" rightmargin="0" linespacing="0.0" spaceabove="3" spacebelow="3" linebreak="space" pagebreak-before="false" initial="-1" bulletsuffix="."/>
<Layout name="Ordered List 3" alignment="left" bullet="roman" firstindent="0" leftmargin="72" rightmargin="0" linespacing="0.0" spaceabove="3" spacebelow="3" linebreak="space" pagebreak-before="false" initial="-1" bulletsuffix="."/>
<Layout name="Ordered List 4" alignment="left" bullet="ALPHABETIC" firstindent="0" leftmargin="108" rightmargin="0" linespacing="0.0" spaceabove="3" spacebelow="3" linebreak="space" pagebreak-before="false" initial="-1" bulletsuffix="."/>
<Layout name="Ordered List 5" alignment="left" bullet="ROMAN" firstindent="0" leftmargin="144" rightmargin="0" linespacing="0.0" spaceabove="3" spacebelow="3" linebreak="space" pagebreak-before="false" initial="-1" bulletsuffix="."/>
<Layout name="Annotation Title" alignment="centred" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="12" spacebelow="12" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="HyperlinkError" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="HyperlinkWarning" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Bullet Item" alignment="left" bullet="dot" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="3" spacebelow="3" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Maple Plot" alignment="centred" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="List Item" alignment="left" bullet="indent" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="3" spacebelow="3" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Dash Item" alignment="left" bullet="dash" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="3" spacebelow="3" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Error" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Title" alignment="centred" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="12" spacebelow="12" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Normal" alignment="left" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="0" spacebelow="0" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Layout name="Author" alignment="centred" bullet="none" firstindent="0" leftmargin="0" rightmargin="0" linespacing="0.0" spaceabove="8" spacebelow="8" linebreak="space" pagebreak-before="false" initial="0" bulletsuffix=""/>
<Pencil-style name="Pencil 1" pen-color="[0,0,0]" pen-height="1.0" pen-width="1.0" pen-opacity="1.0"/>
<Pencil-style name="Pencil 2" pen-color="[0,0,255]" pen-height="1.0" pen-width="1.0" pen-opacity="1.0"/>
<Pencil-style name="Pencil 3" pen-color="[0,0,0]" pen-height="3.0" pen-width="3.0" pen-opacity="1.0"/>
<Pencil-style name="Pencil 4" pen-color="[0,0,255]" pen-height="3.0" pen-width="3.0" pen-opacity="1.0"/>
<Pencil-style name="Pencil 5" pen-color="[255,0,0]" pen-height="5.0" pen-width="5.0" pen-opacity="1.0"/>
<Highlighter-style name="Highlighter 5" pen-color="[255,255,0]" pen-height="48.0" pen-width="48.0" pen-opacity="0.8"/>
<Highlighter-style name="Highlighter 3" pen-color="[51,255,0]" pen-height="24.0" pen-width="24.0" pen-opacity="0.8"/>
<Highlighter-style name="Highlighter 4" pen-color="[0,255,255]" pen-height="32.0" pen-width="32.0" pen-opacity="0.8"/>
<Highlighter-style name="Highlighter 1" pen-color="[255,153,255]" pen-height="12.0" pen-width="8.0" pen-opacity="0.8"/>
<Highlighter-style name="Highlighter 2" pen-color="[255,204,0]" pen-height="14.0" pen-width="14.0" pen-opacity="0.8"/>
</Styles>
<Startup-Code startupcode=""/>
<Task-table>
    <Task-category name="&lt;default&gt;"/>
</Task-table>
<Task/>
<Group hide-input="false" hide-output="false" labelreference="L112" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">with(LinearAlgebra):
interface(rtablesize=50);</Text-field>
</Input>
<Output><Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output" display="LUkjbW5HNiMvSSttb2R1bGVuYW1lRzYiSSxUeXBlc2V0dGluZ0dJKF9zeXNsaWJHRic2JFEjNTBGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRic=">IiNd</Equation></Text-field>
</Output>
</Group>
<Group hide-input="false" hide-output="false" labelreference="L161" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">#This function calculates degree(f,x) except it returns 0 from degree(0,x) instead of -infinity
degree2 := proc(f,x)

local d;
d := degree(f,x);
if d = -infinity then return 0; fi;

return d;


end proc:</Text-field>
</Input>
</Group>
<Group hide-output="false" labelreference="L109" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">#Calculates M,S polynomials for Diophantine  Equations
#Verifies the initial n input polynomials are relatively prime
MultiEEA := proc(U::list,x::name,p::prime)
local n,M,sis,i,g,s,t,Mpolys,Spolys;

   #local variables
   n := nops(U);
   Mpolys := Array(2..n);
   Spolys := Array(1..n-1);
   M := 1;

   #Generate M
   for i from n by -1 to 2 do
      M := Expand(M*U[i]) mod p;
      Mpolys[i] := M;
   od;

   Mpolys := convert(Mpolys,list);
   sis := NULL;

   #Generate S, verify polynomials relatively prime
   for i from 1 to n-1 do
      g := Gcdex(Mpolys[i],U[i],x,'Spolys[i]') mod p;
      if g=1 then sis := sis,s; else return FAIL,FAIL,FAIL; fi;
   od;
   [sis],Mpolys,convert(Spolys,list);
end:</Text-field>
</Input>
</Group>
<Group hide-output="false" labelreference="L110" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">#Solves the polynomial Diophantine Equation
DiophantineN := proc(U,c,M,S,p,x)

local n,q,g,ck,i,s,t,Sigmas;

n := nops(U);
ck := c;
Sigmas := Array(1..n);
for i from 1 to n-1 do
   Sigmas[i] := Rem(ck*S[i],U[i],x) mod p;
   ck := Quo(ck-Sigmas[i]*M[i],U[i],x) mod p;
end do;
Sigmas[n] := ck;
return(convert(Sigmas,list));
end proc:</Text-field>
</Input>
</Group>
<Group hide-input="false" hide-output="false" labelreference="L1" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">#calculates coeff(f_1*f_2*...*f_n,(y-alpha)^k) and stores the results in G
coeffExtract := proc(p,alpha,k,F,G,n,dy)

   local i,j,H,Delta,d,D,MIN,MAX;

   H := G;
   Delta := 0;

   #if the number of factors
      MIN := max(0,k-degree2(F[2],y));
      MAX := min(k,degree2(F[1],y));
      for j from MIN to MAX do
         H[2,1+k] := H[2,1+k] + coeff(F[1],y-alpha,j)*coeff(F[2],y-alpha,k-j) mod p;
      od;
      d := degree2(F[1],y) + degree2(F[2],y);
      for i from 3 to n do
         D := d;
         d := d + degree2(F[i],y);
         if k &lt;= d then
            MIN := max(0,k-D);
            MAX := min(k,degree2(F[i],y));
            for j from MIN to MAX do
               H[i,1+k] := H[i,1+k] + H[i-1,k-j+1]*coeff(F[i],y-alpha,j) mod p;
            od;
         fi;
      od;
   

   return H[n,k+1],H;   


end proc:</Text-field>
</Input>
</Group>
<Group hide-input="false" hide-output="false" labelreference="L2" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">#Fills in missing values in G
coeffUpdate := proc(p,alpha,k,F,G,n,dy)

   local i,t,H;
   
   H := G;

   if n &gt; 2 then
      t := coeff(F[1],y-alpha,k);
      H[1,k+1] := t;
      for i from 2 to n do
         t := coeff(F[i],y-alpha,0)*t + coeff(F[i],y-alpha,k)*H[i-1,1] mod p;
         H[i,k+1] := H[i,k+1] + t mod p;
      od;
   fi;

   return H;   

end proc:</Text-field>
</Input>
</Group>
<Group hide-output="false" labelreference="L111" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">QuarticBivariateHensel := proc(A::polynom,F0::list,x::name,y::name,alpha::integer,p::prime)
#A(x,y) - polynomial to factor
#F0 - list of monic, relatively prime polynomials in x s.t. A - F0_1*F0_2*...*F0_n equiv 0 mod (y-alpha)
#x - variable 1 (usually x)
#y - variable 2 (usually y)
#alpha - integer to use for calculating the taylor coeff.
#p - prime

#local variables
local n,m,B,F,E,Evals,G,i,j,k,t,ck,sigmas,Delta,Coeffs,CoeffsMul,dx,dy,T,M,S;

n := nops(F0);
F := F0;
dx := degree(A,x);
dy := degree(A,y);


#get a taylor series around (y-alpha) (does NOT use Shaw and Traub's method)
B := taylor(A,y=alpha,dy+1);

#Solve for M polynomials to use for the Diophantine Equation (Optimization)
T,M,S := MultiEEA(F0,x,p); # Solve this once for re-use


#if the EEA failed
if (T,M) = (FAIL,FAIL) then
   return &quot;Initial Factors are not relatively prime&quot;;
fi;

#set up G (CoeffExtract matrix)
G := Matrix(n,dy+1);
G[1,1] := F0[1];
for i from 1 to n-1 do
   G[i+1,1] := Expand(G[i,1]*F0[i+1]) mod p;
od;

#main loop
for k from 1 to dy do

   #CoefficientExtraction
   Delta,G := coeffExtract(p,alpha,k,F,G,n,dy);
   
   ck := Expand(coeff(B,(y-alpha),k) - Delta) mod p;

  if add(degree(F[i],y),i=1..n) = dy and ck &lt;&gt; 0 then
     return (FAIL);
  fi;

   if ck &lt;&gt; 0 then

      #Solve Diophantine Equation for coefficients
      sigmas := DiophantineN(F0,ck,M,S,p,x);

      #print(sigmas);

      #Update the values of F
      for i from 1 to n do
         F[i] := F[i] + sigmas[i]*(y-alpha)^k;
      od;

      #Perform CoefficientUpdate
      #print(F); print(G);
      G := coeffUpdate(p,alpha,k,F,G,n,dy);
      

   fi;
od;

#return bivar polynomials or fail
if add(degree(F[i],y),i=1..n) = dy then
   return(F);
else
   return(FAIL);
fi;

end proc:</Text-field>
</Input>
</Group>
<Group hide-output="false" labelreference="L126" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal"></Text-field>
</Input>
</Group>
<Group hide-input="false" hide-output="false" labelreference="L174" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">`mod` := mods;</Text-field>
</Input>
<Output><Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEkbW9kRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEqfiYjODc4ODt+RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRkwtRiw2JVElbW9kc0YnRi9GMi8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJSlyZWFkb25seUdGPUY5">SSVtb2RzRyUqcHJvdGVjdGVkRw==</Equation></Text-field>
</Output>
</Group>
<Group hide-input="false" hide-output="false" labelreference="L170" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">p := 1009;</Text-field>
</Input>
<Output><Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEicEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RKn4mIzg3ODg7fkYnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZMLUkjbW5HRiQ2JFElMTAwOUYnRjkvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUpcmVhZG9ubHlHRj1GOQ==">IiU0NQ==</Equation></Text-field>
</Output>
</Group>
<Group hide-input="false" hide-output="false" labelreference="L179" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">alpha := 3;</Text-field>
</Input>
<Output><Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEnJiM5NDU7RicvJSdpdGFsaWNHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy1JI21vR0YkNi1RKn4mIzg3ODg7fkYnRjIvJSZmZW5jZUdGMS8lKnNlcGFyYXRvckdGMS8lKXN0cmV0Y2h5R0YxLyUqc3ltbWV0cmljR0YxLyUobGFyZ2VvcEdGMS8lLm1vdmFibGVsaW1pdHNHRjEvJSdhY2NlbnRHRjEvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZJLUkjbW5HRiQ2JFEiM0YnRjIvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUpcmVhZG9ubHlHRjFGMg==">IiIk</Equation></Text-field>
</Output>
</Group>
<Group hide-input="false" hide-output="false" labelreference="L172" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">f1 := x^4 + randpoly([x,y],dense,degree=3);
f2 := x^4 + randpoly([x,y],dense,degree=3);
f3 := x^4 + randpoly([x,y],dense,degree=3);
f4 := x^4 + randpoly([x,y],dense,degree=3);</Text-field>
</Input>
<Output><Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEjZjFGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUSp+JiM4Nzg4O35GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GIzY4LUYjNiQtSSVtc3VwR0YkNiUtRiw2JVEieEYnRi9GMi1JI21uR0YkNiRRIjRGJ0Y5LyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJ0Y5LUY2Ni1RKCZtaW51cztGJ0Y5RjtGPkZARkJGREZGRkgvRktRLDAuMjIyMjIyMmVtRicvRk5GXm8tRiM2Ji1GWjYkUSI4RidGOS1GNjYtUTEmSW52aXNpYmxlVGltZXM7RidGOUY7Rj5GQEZCRkRGRkZIRkpGTS1GVDYlRlYtRlo2JFEiM0YnRjlGZ25GOUZqbi1GIzYoLUZaNiRRIzI5RidGOUZlby1GVDYlRlYtRlo2JFEiMkYnRjlGZ25GZW8tRiw2JVEieUYnRi9GMkY5LUY2Ni1RIitGJ0Y5RjtGPkZARkJGREZGRkhGXW9GX28tRiM2KC1GWjYkUSMxMUYnRjlGZW9GVkZlby1GVDYlRmdwRmRwRmduRjlGanAtRiM2Ji1GWjYkUSM0MEYnRjlGZW8tRlQ2JUZncEZqb0ZnbkY5RmpwLUYjNiYtRlo2JFEjOTVGJ0Y5RmVvRmJwRjlGam4tRiM2KC1GWjYkUSM0OUYnRjlGZW9GVkZlb0ZncEY5RmpuLUYjNiYtRlo2JFEjODFGJ0Y5RmVvRmJxRjlGam4tRiM2Ji1GWjYkUSM0N0YnRjlGZW9GVkY5RmpwLUYjNiYtRlo2JFEjOTFGJ0Y5RmVvRmdwRjlGanAtRlo2JFEjNjhGJ0Y5RjkvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUpcmVhZG9ubHlHRj1GOQ==">LDgqJEkieEc2IiIiJSIiIiokRiQiIiQhIikqJkYkIiIjSSJ5R0YlRichI0gqJkYkRidGLUYsIiM2KiRGLUYpIiNTKiRGJEYsIiMmKiomRiRGJ0YtRichI1wqJEYtRiwhIyIpRiQhI1pGLSIjIioiI29GJw==</Equation></Text-field>
</Output>
<Output><Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEjZjJGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUSp+JiM4Nzg4O35GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GIzY4LUYjNiQtSSVtc3VwR0YkNiUtRiw2JVEieEYnRi9GMi1JI21uR0YkNiRRIjRGJ0Y5LyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJ0Y5LUY2Ni1RKCZtaW51cztGJ0Y5RjtGPkZARkJGREZGRkgvRktRLDAuMjIyMjIyMmVtRicvRk5GXm8tRiM2Ji1GWjYkUSMxMEYnRjktRjY2LVExJkludmlzaWJsZVRpbWVzO0YnRjlGO0Y+RkBGQkZERkZGSEZKRk0tRlQ2JUZWLUZaNiRRIjNGJ0Y5RmduRjktRjY2LVEiK0YnRjlGO0Y+RkBGQkZERkZGSEZdb0Zfby1GIzYoLUZaNiRRIzMxRidGOUZlby1GVDYlRlYtRlo2JFEiMkYnRjlGZ25GZW8tRiw2JVEieUYnRi9GMkY5Rl1wLUYjNigtRlo2JFEjNzdGJ0Y5RmVvRlZGZW8tRlQ2JUZqcEZncEZnbkY5Rl1wLUYjNiQtRlQ2JUZqcEZqb0ZnbkY5RmpuLUYjNiYtRlo2JFEjNTFGJ0Y5RmVvRmVwRjlGXXAtRiM2KC1GWjYkUSM5NUYnRjlGZW9GVkZlb0ZqcEY5Rl1wLUYjNiYtRlo2JFEjNTVGJ0Y5RmVvRmJxRjlGXXBGVkZqbi1GIzYmLUZaNiRRIzI4RidGOUZlb0ZqcEY5Rl1wLUZaNiRRIzE2RidGOUY5LyUrZm9yZWdyb3VuZEdRKFswLDAsMF1GJy8lKXJlYWRvbmx5R0Y9Rjk=">LDgqJEkieEc2IiIiJSIiIiokRiQiIiQhIzUqJkYkIiIjSSJ5R0YlRiciI0oqJkYkRidGLUYsIiN4KiRGLUYpRicqJEYkRiwhI14qJkYkRidGLUYnIiMmKiokRi1GLCIjYkYkRidGLSEjRyIjO0Yn</Equation></Text-field>
</Output>
<Output><Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEjZjNGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUSp+JiM4Nzg4O35GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GIzY4LUYjNiQtSSVtc3VwR0YkNiUtRiw2JVEieEYnRi9GMi1JI21uR0YkNiRRIjRGJ0Y5LyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJ0Y5LUY2Ni1RIitGJ0Y5RjtGPkZARkJGREZGRkgvRktRLDAuMjIyMjIyMmVtRicvRk5GXm8tRiM2Ji1GWjYkUSMzMEYnRjktRjY2LVExJkludmlzaWJsZVRpbWVzO0YnRjlGO0Y+RkBGQkZERkZGSEZKRk0tRlQ2JUZWLUZaNiRRIjNGJ0Y5RmduRjktRjY2LVEoJm1pbnVzO0YnRjlGO0Y+RkBGQkZERkZGSEZdb0Zfby1GIzYoLUZaNiRRIzI3RidGOUZlby1GVDYlRlYtRlo2JFEiMkYnRjlGZ25GZW8tRiw2JVEieUYnRi9GMkY5Rl1wLUYjNigtRlo2JFEjNTlGJ0Y5RmVvRlZGZW8tRlQ2JUZqcEZncEZnbkY5Rl1wLUYjNiYtRlo2JFEjODdGJ0Y5RmVvLUZUNiVGanBGam9GZ25GOUZdcC1GIzYmLUZaNiRRIzE1RidGOUZlb0ZlcEY5Rl1wLUYjNigtRlo2JFEjOTZGJ0Y5RmVvRlZGZW9GanBGOUZqbi1GIzYmLUZaNiRRIzQ3RidGOUZlb0ZicUY5RmpuLUYjNiYtRlo2JFEjNzJGJ0Y5RmVvRlZGOUZdcC1GIzYmLUZaNiRRIzkwRidGOUZlb0ZqcEY5RmpuLUZaNiRRIzQzRidGOUY5LyUrZm9yZWdyb3VuZEdRKFswLDAsMF1GJy8lKXJlYWRvbmx5R0Y9Rjk=">LDgqJEkieEc2IiIiJSIiIiokRiQiIiQiI0kqJkYkIiIjSSJ5R0YlRichI0YqJkYkRidGLUYsISNmKiRGLUYpISMoKSokRiRGLCEjOiomRiRGJ0YtRichIycqKiRGLUYsIiNaRiQiI3NGLSEjISoiI1ZGJw==</Equation></Text-field>
</Output>
<Output><Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEjZjRGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUSp+JiM4Nzg4O35GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GIzY4LUYjNiQtSSVtc3VwR0YkNiUtRiw2JVEieEYnRi9GMi1JI21uR0YkNiRRIjRGJ0Y5LyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJ0Y5LUY2Ni1RIitGJ0Y5RjtGPkZARkJGREZGRkgvRktRLDAuMjIyMjIyMmVtRicvRk5GXm8tRiM2Ji1GWjYkUSM5MkYnRjktRjY2LVExJkludmlzaWJsZVRpbWVzO0YnRjlGO0Y+RkBGQkZERkZGSEZKRk0tRlQ2JUZWLUZaNiRRIjNGJ0Y5RmduRjktRjY2LVEoJm1pbnVzO0YnRjlGO0Y+RkBGQkZERkZGSEZdb0Zfby1GIzYoLUZaNiRRIzkxRidGOUZlby1GVDYlRlYtRlo2JFEiMkYnRjlGZ25GZW8tRiw2JVEieUYnRi9GMkY5Rl1wLUYjNigtRlo2JFEjNDhGJ0Y5RmVvRlZGZW8tRlQ2JUZqcEZncEZnbkY5RmpuLUYjNiYtRlo2JFEiNUYnRjlGZW8tRlQ2JUZqcEZqb0ZnbkY5Rl1wLUYjNiYtRlo2JFEjODhGJ0Y5RmVvRmVwRjlGam4tRiM2KC1GWjYkUSM1M0YnRjlGZW9GVkZlb0ZqcEY5RmpuLUYjNiYtRlo2JFEjMTNGJ0Y5RmVvRmJxRjlGXXAtRiM2Ji1GWjYkUSMyOEYnRjlGZW9GVkY5Rl1wLUYjNiYtRlo2JFEjMTBGJ0Y5RmVvRmpwRjlGXXAtRlo2JFEjODJGJ0Y5RjkvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUpcmVhZG9ubHlHRj1GOQ==">LDgqJEkieEc2IiIiJSIiIiokRiQiIiQiIyMqKiZGJCIiI0kieUdGJUYnISMiKiomRiRGJ0YtRiwhI1sqJEYtRikiIiYqJEYkRiwhIykpKiZGJEYnRi1GJyIjYCokRi1GLCIjOEYkISNHRi0hIzUhIyMpRic=</Equation></Text-field>
</Output>
</Group>
<Group hide-input="false" hide-output="false" labelreference="L177" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">A := Expand(f1*f2*f3*f4) mod p;</Text-field>
</Input>
<Output><Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RKn4mIzg3ODg7fkYnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZMLUYjNl55LUYjNiQtSSVtc3VwR0YkNiUtRiw2JVEieEYnRi9GMi1JI21uR0YkNiRRIzE2RidGOS8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGOS1GNjYtUSIrRidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjIyMjIyMjJlbUYnL0ZORl5vLUYjNiYtRlo2JFEkMTA0RidGOS1GNjYtUTEmSW52aXNpYmxlVGltZXM7RidGOUY7Rj5GQEZCRkRGRkZIRkpGTS1GVDYlRlYtRlo2JFEjMTVGJ0Y5RmduRjktRjY2LVEoJm1pbnVzO0YnRjlGO0Y+RkBGQkZERkZGSEZdb0Zfby1GIzYoLUZaNiRRJDExNkYnRjlGZW8tRlQ2JUZWLUZaNiRRIzE0RidGOUZnbkZlby1GLDYlUSJ5RidGL0YyRjlGXXAtRiM2KC1GWjYkUSMxOUYnRjlGZW8tRlQ2JUZWLUZaNiRRIzEzRidGOUZnbkZlby1GVDYlRmpwLUZaNiRRIjJGJ0Y5RmduRjlGXXAtRiM2KC1GWjYkUSM0MUYnRjlGZW8tRlQ2JUZWLUZaNiRRIzEyRidGOUZnbkZlby1GVDYlRmpwLUZaNiRRIjNGJ0Y5RmduRjlGXXAtRiM2Ji1GWjYkUSQ0MjRGJ0Y5RmVvRmVwRjlGam4tRiM2KC1GWjYkUSQyMjZGJ0Y5RmVvRmJxRmVvRmpwRjlGam4tRiM2KC1GWjYkUSQzNzBGJ0Y5RmVvRmFyRmVvRmdxRjlGam4tRiM2KC1GWjYkUSQ0NjNGJ0Y5RmVvLUZUNiVGVi1GWjYkUSMxMUYnRjlGZ25GZW9GZnJGOUZqbi1GIzYoLUZaNiRRJDI3MkYnRjlGZW8tRlQ2JUZWLUZaNiRRIzEwRidGOUZnbkZlby1GVDYlRmpwLUZaNiRRIjRGJ0Y5RmduRjlGam4tRiM2KC1GWjYkUSQ0MTRGJ0Y5RmVvLUZUNiVGVi1GWjYkUSI5RidGOUZnbkZlby1GVDYlRmpwLUZaNiRRIjVGJ0Y5RmduRjlGam4tRiM2KC1GWjYkUSQyNzlGJ0Y5RmVvLUZUNiVGVi1GWjYkUSI4RidGOUZnbkZlby1GVDYlRmpwLUZaNiRRIjZGJ0Y5RmduRjlGam4tRiM2Ji1GWjYkUSM3MUYnRjlGZW9GYnFGOUZdcC1GIzYoLUZaNiRRJDIwNEYnRjlGZW9GYXJGZW9GanBGOUZqbi1GIzYoRlx0RmVvRl90RmVvRmdxRjlGam4tRiM2KC1GWjYkUSQzMzNGJ0Y5RmVvRml0RmVvRmZyRjlGam4tRiM2KC1GWjYkUSM0OEYnRjlGZW9GaHVGZW9GXnVGOUZdcC1GIzYoLUZaNiRRJDM0NkYnRjlGZW9GZ3ZGZW9GXXZGOUZdcC1GIzYoLUZaNiRRJDEzNEYnRjlGZW8tRlQ2JUZWLUZaNiRRIjdGJ0Y5RmduRmVvRlx3RjlGam4tRiM2KC1GWjYkUSQxOThGJ0Y5RmVvLUZUNiVGVkZed0ZnbkZlby1GVDYlRmpwRmN5RmduRjlGam4tRiM2KC1GWjYkUSQzMjNGJ0Y5RmVvLUZUNiVGVkZfdkZnbkZlby1GVDYlRmpwRml2RmduRjlGam4tRiM2KC1GWjYkUSM3NEYnRjlGZW8tRlQ2JUZWRmB1RmduRmVvLUZUNiVGanBGanVGZ25GOUZqbi1GIzYmLUZaNiRRJDEwNUYnRjlGZW9GYXJGOUZqbi1GIzYoLUZaNiRRJDI5NEYnRjlGZW9GX3RGZW9GanBGOUZqbi1GIzYoLUZaNiRRJDE2OUYnRjlGZW9GaXRGZW9GZ3FGOUZdcC1GIzYoLUZaNiRRJDQ2OUYnRjlGZW9GaHVGZW9GZnJGOUZdcC1GIzYoLUZaNiRRJDMzNUYnRjlGZW9GZ3ZGZW9GXnVGOUZqbi1GIzYoLUZaNiRRJDEyMkYnRjlGZW9GYXlGZW9GXXZGOUZqbi1GIzYoLUZaNiRRJDE3MkYnRjlGZW9GW3pGZW9GXHdGOUZqbi1GIzYoLUZaNiRRIzE4RidGOUZlb0ZkekZlb0ZdekY5RmpuLUYjNigtRlo2JFEkMzU0RidGOUZlb0ZdW2xGZW9GZnpGOUZdcC1GIzYoLUZaNiRRJDQ3MkYnRjlGZW8tRlQ2JUZWRmhyRmduRmVvRl9bbEY5Rl1wLUYjNigtRlo2JFEkMzA2RidGOUZlby1GVDYlRlZGaXFGZ25GZW8tRlQ2JUZqcEZbdUZnbkY5RmpuLUYjNigtRlo2JFEkMjY2RidGOUZlb0ZWRmVvLUZUNiVGanBGYXRGZ25GOUZdcC1GIzYmLUZaNiRRJDI0N0YnRjlGZW8tRlQ2JUZqcEZjckZnbkY5RmpuLUYjNiYtRlo2JFEkNDUwRidGOUZlb0ZfdEY5RmpuLUYjNihGXndGZW9GaXRGZW9GanBGOUZdcC1GIzYoLUZaNiRRJDE3M0YnRjlGZW9GaHVGZW9GZ3FGOUZqbi1GIzYoLUZaNiRRIzQzRidGOUZlb0ZndkZlb0ZmckY5Rl1wLUYjNigtRlo2JFEkMzc1RidGOUZlb0ZheUZlb0ZedUY5RmpuLUYjNigtRlo2JFEjNzdGJ0Y5RmVvRlt6RmVvRl12RjlGXXAtRiM2KC1GWjYkUSQyOTlGJ0Y5RmVvRmR6RmVvRlx3RjlGXXAtRiM2KEZoeUZlb0ZdW2xGZW9GXXpGOUZdcC1GIzYoLUZaNiRRJDExNUYnRjlGZW9GY15sRmVvRmZ6RjlGXXAtRiM2KC1GWjYkUSQyMDBGJ0Y5RmVvRmpebEZlb0ZfW2xGOUZdcC1GIzYoRmRhbEZlb0ZWRmVvRlxfbEY5Rl1wLUYjNiYtRlo2JFEjNjRGJ0Y5RmVvRmNfbEY5Rl1wLUYjNiYtRlo2JFEkMzIxRidGOUZlb0ZpdEY5Rl1wLUYjNigtRlo2JFEkMjA5RidGOUZlb0ZodUZlb0ZqcEY5Rl1wLUYjNihGX3ZGZW9GZ3ZGZW9GZ3FGOUZqbi1GIzYoLUZaNiRRJDM1MkYnRjlGZW9GYXlGZW9GZnJGOUZqbi1GIzYoLUZaNiRRJDM4OEYnRjlGZW9GW3pGZW9GXnVGOUZqbi1GIzYoRmF0RmVvRmR6RmVvRl12RjlGam4tRiM2KC1GWjYkUSQxNjdGJ0Y5RmVvRl1bbEZlb0Zcd0Y5RmpuLUYjNigtRlo2JFEkMzg3RidGOUZlb0ZjXmxGZW9GXXpGOUZdcC1GIzYoLUZaNiRRJDQ2MEYnRjlGZW9Gal5sRmVvRmZ6RjlGam4tRiM2KC1GWjYkUSMyMUYnRjlGZW9GVkZlb0ZfW2xGOUZqbi1GIzYmLUZaNiRRJDQ0OUYnRjlGZW9GXF9sRjlGam4tRiM2Ji1GWjYkUSM2N0YnRjlGZW9GaHVGOUZdcC1GIzYoLUZaNiRRJDQ4OUYnRjlGZW9GZ3ZGZW9GanBGOUZdcC1GIzYoLUZaNiRRJDMzOUYnRjlGZW9GYXlGZW9GZ3FGOUZqbi1GIzYoLUZaNiRRIzg1RidGOUZlb0ZbekZlb0ZmckY5Rl1wLUYjNigtRlo2JFEkMjI4RidGOUZlb0ZkekZlb0ZedUY5Rl1wLUYjNigtRlo2JFEkNDc3RidGOUZlb0ZdW2xGZW9GXXZGOUZdcC1GIzYoLUZaNiRRJDQ5MkYnRjlGZW9GY15sRmVvRlx3RjlGam4tRiM2KC1GWjYkUSM4N0YnRjlGZW9Gal5sRmVvRl16RjlGam4tRiM2KC1GWjYkUSQ0ODNGJ0Y5RmVvRlZGZW9GZnpGOUZdcC1GIzYmLUZaNiRRJDQxMUYnRjlGZW9GX1tsRjlGam4tRiM2JkZfcUZlb0ZndkY5Rl1wLUYjNigtRlo2JFEjMzdGJ0Y5RmVvRmF5RmVvRmpwRjlGXXAtRiM2KC1GWjYkUSQyMjNGJ0Y5RmVvRlt6RmVvRmdxRjlGXXAtRiM2KEZfdkZlb0ZkekZlb0ZmckY5RmpuLUYjNigtRlo2JFEkMzI0RidGOUZlb0ZdW2xGZW9GXnVGOUZqbi1GIzYoLUZaNiRRJDQwMEYnRjlGZW9GY15sRmVvRl12RjlGXXAtRiM2KEZhZ2xGZW9Gal5sRmVvRlx3RjlGXXAtRiM2KC1GWjYkUSQ0MjdGJ0Y5RmVvRlZGZW9GXXpGOUZdcC1GIzYmLUZaNiRRJDQxMEYnRjlGZW9GZnpGOUZdcC1GIzYmLUZaNiRRJDI2OEYnRjlGZW9GYXlGOUZdcC1GIzYoRmhyRmVvRlt6RmVvRmpwRjlGam4tRiM2KC1GWjYkUSMzNkYnRjlGZW9GZHpGZW9GZ3FGOUZdcC1GIzYoLUZaNiRRIzc2RidGOUZlb0ZdW2xGZW9GZnJGOUZdcC1GIzYoLUZaNiRRIzc1RidGOUZlb0ZjXmxGZW9GXnVGOUZdcC1GIzYoLUZaNiRRIzQ2RidGOUZlb0ZqXmxGZW9GXXZGOUZqbi1GIzYoLUZaNiRRJDExN0YnRjlGZW9GVkZlb0Zcd0Y5RmpuLUYjNiYtRlo2JFEkNDAxRidGOUZlb0ZdekY5Rl1wLUYjNiZGZ2psRmVvRlt6RjlGam4tRiM2KC1GWjYkUSQzNjBGJ0Y5RmVvRmR6RmVvRmpwRjlGam4tRiM2KC1GWjYkUSQyNjlGJ0Y5RmVvRl1bbEZlb0ZncUY5Rl1wLUYjNigtRlo2JFEkNDMwRidGOUZlb0ZjXmxGZW9GZnJGOUZdcC1GIzYoRml2RmVvRmpebEZlb0ZedUY5RmpuLUYjNigtRlo2JFEkMjIxRidGOUZlb0ZWRmVvRl12RjlGXXAtRiM2Ji1GWjYkUSQ0NTRGJ0Y5RmVvRlx3RjlGXXAtRiM2Ji1GWjYkUSQxMjNGJ0Y5RmVvRmR6RjlGam4tRiM2KC1GWjYkUSQyNTJGJ0Y5RmVvRl1bbEZlb0ZqcEY5Rl1wLUYjNigtRlo2JFEkMzUwRidGOUZlb0ZjXmxGZW9GZ3FGOUZqbi1GIzYoLUZaNiRRJDI0NkYnRjlGZW9Gal5sRmVvRmZyRjlGXXAtRiM2KC1GWjYkUSM4M0YnRjlGZW9GVkZlb0ZedUY5Rl1wLUYjNiYtRlo2JFEkMTQ2RidGOUZlb0ZddkY5RmpuLUYjNiYtRlo2JFEkMjYyRidGOUZlb0ZdW2xGOUZqbi1GIzYmRmNebEZlb0ZqcEY5Rl1wLUYjNihGaGVsRmVvRmpebEZlb0ZncUY5Rl1wLUYjNigtRlo2JFEkNDk5RidGOUZlb0ZWRmVvRmZyRjlGam4tRiM2Ji1GWjYkUSM2MUYnRjlGZW9GXnVGOUZqbi1GIzYmRmVobEZlb0ZjXmxGOUZqbi1GIzYoRmVgbEZlb0ZqXmxGZW9GanBGOUZdcC1GIzYoRlxdbEZlb0ZWRmVvRmdxRjlGam4tRiM2Ji1GWjYkUSMyOUYnRjlGZW9GZnJGOUZqbi1GIzYmRmJqbEZlb0ZqXmxGOUZqbi1GIzYoLUZaNiRRJDQwM0YnRjlGZW9GVkZlb0ZqcEY5RmpuLUYjNiYtRlo2JFEjODlGJ0Y5RmVvRmdxRjlGXXAtRiM2Ji1GWjYkUSQyNTRGJ0Y5RmVvRlZGOUZdcC1GIzYmLUZaNiRRJDI5MkYnRjlGZW9GanBGOUZdcC1GWjYkUSM3MEYnRjlGOS8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJSlyZWFkb25seUdGPUY5">LF55KiRJInhHNiIiIzsiIiIqJEYkIiM6IiQvIiomRiQiIzlJInlHRiVGJyEkOyIqJkYkIiM4Ri0iIiMhIz4qJkYkIiM3Ri0iIiQhI1QqJEYkRiwhJEMlKiZGJEYwRi1GJyIkRSMqJkYkRjRGLUYxIiRxJComRiQiIzZGLUY1IiRqJSomRiQiIzVGLSIiJSIkcyMqJkYkIiIqRi0iIiYiJDklKiZGJCIiKUYtIiInIiR6IyokRiRGMCIjciomRiRGNEYtRichJC8jKiZGJEY+Ri1GMUY/KiZGJEZBRi1GNSIkTCQqJkYkRkVGLUZCIiNbKiZGJEZJRi1GRiEkWSQqJkYkIiIoRi1GSiEkTSIqJkYkRkpGLUZYIiQpPiomRiRGRkYtRkkiJEIkKiZGJEZCRi1GRSIjdSokRiRGNCIkMCIqJkYkRj5GLUYnIiQlSComRiRGQUYtRjEiJHAiKiZGJEZFRi1GNSEkcCUqJkYkRklGLUZCISROJComRiRGWEYtRkYiJEEiKiZGJEZKRi1GSiIkcyIqJkYkRkZGLUZYIiM9KiZGJEZCRi1GSSIkYSQqJkYkRjVGLUZFISRzJSomRiRGMUYtRkEhJDEkKiZGJEYnRi1GPiIkbSMqJEYtRjQhJFojKiRGJEY+IiRdJSomRiRGQUYtRidGSiomRiRGRUYtRjEhJHQiKiZGJEZJRi1GNSIjViomRiRGWEYtRkIhJHYkKiZGJEZKRi1GRiIjeComRiRGRkYtRkohJCpIKiZGJEZCRi1GWCEkKT4qJkYkRjVGLUZJISQ6IiomRiRGMUYtRkUhJCsjKiZGJEYnRi1GQSEjeCokRi1GPiEjayokRiRGQSEkQCQqJkYkRkVGLUYnISQ0IyomRiRGSUYtRjEhIiYqJkYkRlhGLUY1IiRfJComRiRGSkYtRkIiJClRKiZGJEZGRi1GRkY+KiZGJEZCRi1GSiIkbiIqJkYkRjVGLUZYIiQoUSomRiRGMUYtRkkhJGclKiZGJEYnRi1GRSIjQCokRi1GQSIkXCUqJEYkRkUiI24qJkYkRklGLUYnISQqWyomRiRGWEYtRjEhJFIkKiZGJEZKRi1GNSIjJikqJkYkRkZGLUZCISRHIyomRiRGQkYtRkYhJHglKiZGJEY1Ri1GSiEkI1wqJkYkRjFGLUZYIiMoKSomRiRGJ0YtRkkiJCRbKiRGLUZFISQ2JSokRiRGSSIjPiomRiRGWEYtRichI1AqJkYkRkpGLUYxISRCIyomRiRGRkYtRjVGYHIqJkYkRkJGLUZCIiRDJComRiRGNUYtRkYiJCslKiZGJEYxRi1GSiEjJikqJkYkRidGLUZYISRGJSokRi1GSSEkNSUqJEYkRlghJG8jKiZGJEZKRi1GJyEiJComRiRGRkYtRjEiI08qJkYkRkJGLUY1ISN3KiZGJEY1Ri1GQiEjdiomRiRGMUYtRkYhI1kqJkYkRidGLUZKIiQ8IiokRi1GWCIkLCUqJEYkRkohJCslKiZGJEZGRi1GJyIkZyQqJkYkRkJGLUYxIiRwIyomRiRGNUYtRjUhJEklKiZGJEYxRi1GQiEiKSomRiRGJ0YtRkYiJEAjKiRGLUZKISRhJSokRiRGRiEkQiIqJkYkRkJGLUYnIiRfIyomRiRGNUYtRjEhJF0kKiZGJEYxRi1GNSIkWSMqJkYkRidGLUZCISMkKSokRi1GRiEkWSIqJEYkRkIiJGkjKiZGJEY1Ri1GJ0YnKiZGJEYxRi1GMSEjQComRiRGJ0YtRjUhJCpcKiRGLUZCIiNoKiRGJEY1Rl90KiZGJEYxRi1GJyIkdCIqJkYkRidGLUYxISRBIiokRi1GNSIjSCokRiRGMUZcdSomRiRGJ0YtRiciJC4lKiRGLUYxIiMqKUYkISRhI0YtISQjSCEjcUYn</Equation></Text-field>
</Output>
</Group>
<Group hide-input="false" hide-output="false" labelreference="L176" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">f10 := Eval(f1,y=alpha) mod p;
f20 := Eval(f2,y=alpha) mod p;
f30 := Eval(f3,y=alpha) mod p;
f40 := Eval(f4,y=alpha) mod p;</Text-field>
</Input>
<Output><Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEkZjEwRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEqfiYjODc4ODt+RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRkwtRiM2LC1GIzYkLUklbXN1cEdGJDYlLUYsNiVRInhGJ0YvRjItSSNtbkdGJDYkUSI0RidGOS8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGOS1GNjYtUSgmbWludXM7RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjIyMjIyMjJlbUYnL0ZORl5vLUYjNiYtRlo2JFEiOEYnRjktRjY2LVExJkludmlzaWJsZVRpbWVzO0YnRjlGO0Y+RkBGQkZERkZGSEZKRk0tRlQ2JUZWLUZaNiRRIjNGJ0Y5RmduRjktRjY2LVEiK0YnRjlGO0Y+RkBGQkZERkZGSEZdb0Zfby1GIzYmRmJvRmVvLUZUNiVGVi1GWjYkUSIyRidGOUZnbkY5RmpuLUYjNiYtRlo2JFEjOTVGJ0Y5RmVvRlZGOUZqbi1GWjYkUSQzMTdGJ0Y5RjkvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUpcmVhZG9ubHlHRj1GOQ==">LCwqJEkieEc2IiIiJSIiIiokRiQiIiQhIikqJEYkIiIjIiIpRiQhIyYqISQ8JEYn</Equation></Text-field>
</Output>
<Output><Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEkZjIwRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEqfiYjODc4ODt+RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRkwtRiM2LC1GIzYkLUklbXN1cEdGJDYlLUYsNiVRInhGJ0YvRjItSSNtbkdGJDYkUSI0RidGOS8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGOS1GNjYtUSgmbWludXM7RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjIyMjIyMjJlbUYnL0ZORl5vLUYjNiYtRlo2JFEjMTBGJ0Y5LUY2Ni1RMSZJbnZpc2libGVUaW1lcztGJ0Y5RjtGPkZARkJGREZGRkhGSkZNLUZUNiVGVi1GWjYkUSIzRidGOUZnbkY5LUY2Ni1RIitGJ0Y5RjtGPkZARkJGREZGRkhGXW9GX28tRiM2Ji1GWjYkUSM0MkYnRjlGZW8tRlQ2JUZWLUZaNiRRIjJGJ0Y5RmduRjlGam4tRiM2Ji1GWjYkUSMzMEYnRjlGZW9GVkY5Rl1wLUZaNiRRJDQ1NEYnRjlGOS8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJSlyZWFkb25seUdGPUY5">LCwqJEkieEc2IiIiJSIiIiokRiQiIiQhIzUqJEYkIiIjIiNVRiQhI0kiJGElRic=</Equation></Text-field>
</Output>
<Output><Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEkZjMwRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEqfiYjODc4ODt+RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRkwtRiM2LC1GIzYkLUklbXN1cEdGJDYlLUYsNiVRInhGJ0YvRjItSSNtbkdGJDYkUSI0RidGOS8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGOS1GNjYtUSIrRidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjIyMjIyMjJlbUYnL0ZORl5vLUYjNiYtRlo2JFEjMzBGJ0Y5LUY2Ni1RMSZJbnZpc2libGVUaW1lcztGJ0Y5RjtGPkZARkJGREZGRkhGSkZNLUZUNiVGVi1GWjYkUSIzRidGOUZnbkY5LUY2Ni1RKCZtaW51cztGJ0Y5RjtGPkZARkJGREZGRkhGXW9GX28tRiM2Ji1GWjYkUSM5NkYnRjlGZW8tRlQ2JUZWLUZaNiRRIjJGJ0Y5RmduRjlGam4tRiM2Ji1GWjYkUSQyNjJGJ0Y5RmVvRlZGOUZdcC1GWjYkUSQxMzVGJ0Y5RjkvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUpcmVhZG9ubHlHRj1GOQ==">LCwqJEkieEc2IiIiJSIiIiokRiQiIiQiI0kqJEYkIiIjISMnKkYkIiRpIyEkTiJGJw==</Equation></Text-field>
</Output>
<Output><Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEkZjQwRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEqfiYjODc4ODt+RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRkwtRiM2LC1GIzYkLUklbXN1cEdGJDYlLUYsNiVRInhGJ0YvRjItSSNtbkdGJDYkUSI0RidGOS8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGOS1GNjYtUSIrRidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjIyMjIyMjJlbUYnL0ZORl5vLUYjNiYtRlo2JFEjOTJGJ0Y5LUY2Ni1RMSZJbnZpc2libGVUaW1lcztGJ0Y5RjtGPkZARkJGREZGRkhGSkZNLUZUNiVGVi1GWjYkUSIzRidGOUZnbkY5LUY2Ni1RKCZtaW51cztGJ0Y5RjtGPkZARkJGREZGRkhGXW9GX28tRiM2Ji1GWjYkUSQzNjFGJ0Y5RmVvLUZUNiVGVi1GWjYkUSIyRidGOUZnbkY5Rl1wLUYjNiYtRlo2JFEkMzAxRidGOUZlb0ZWRjlGam4tRlo2JFEkMTQwRidGOUY5LyUrZm9yZWdyb3VuZEdRKFswLDAsMF1GJy8lKXJlYWRvbmx5R0Y9Rjk=">LCwqJEkieEc2IiIiJSIiIiokRiQiIiQiIyMqKiRGJCIiIyEkaCRGJCEkLCQiJFMiRic=</Equation></Text-field>
</Output>
</Group>
<Group hide-input="false" hide-output="false" labelreference="L169" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">F0 := [f10,f20,f30,f40];</Text-field>
</Input>
<Output><Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output" display="LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEjRjBGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUSp+JiM4Nzg4O35GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1JKG1mZW5jZWRHRiQ2Ji1GIzYsLUYjNiwtRiM2JC1JJW1zdXBHRiQ2JS1GLDYlUSJ4RidGL0YyLUkjbW5HRiQ2JFEiNEYnRjkvJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnRjktRjY2LVEoJm1pbnVzO0YnRjlGO0Y+RkBGQkZERkZGSC9GS1EsMC4yMjIyMjIyZW1GJy9GTkZjby1GIzYmLUZpbjYkUSI4RidGOS1GNjYtUTEmSW52aXNpYmxlVGltZXM7RidGOUY7Rj5GQEZCRkRGRkZIRkpGTS1GWTYlRmVuLUZpbjYkUSIzRidGOUZcb0Y5LUY2Ni1RIitGJ0Y5RjtGPkZARkJGREZGRkhGYm9GZG8tRiM2JkZnb0Zqby1GWTYlRmVuLUZpbjYkUSIyRidGOUZcb0Y5Rl9vLUYjNiYtRmluNiRRIzk1RidGOUZqb0ZlbkY5Rl9vLUZpbjYkUSQzMTdGJ0Y5RjktRjY2LVEiLEYnRjlGOy9GP0YxRkBGQkZERkZGSEZKL0ZOUSwwLjMzMzMzMzNlbUYnLUYjNixGVkZfby1GIzYmLUZpbjYkUSMxMEYnRjlGam9GXXBGOUZicC1GIzYmLUZpbjYkUSM0MkYnRjlGam9GZ3BGOUZfby1GIzYmLUZpbjYkUSMzMEYnRjlGam9GZW5GOUZicC1GaW42JFEkNDU0RidGOUY5RmRxLUYjNixGVkZicC1GIzYmRmhyRmpvRl1wRjlGX28tRiM2Ji1GaW42JFEjOTZGJ0Y5RmpvRmdwRjlGYnAtRiM2Ji1GaW42JFEkMjYyRidGOUZqb0ZlbkY5Rl9vLUZpbjYkUSQxMzVGJ0Y5RjlGZHEtRiM2LEZWRmJwLUYjNiYtRmluNiRRIzkyRidGOUZqb0ZdcEY5Rl9vLUYjNiYtRmluNiRRJDM2MUYnRjlGam9GZ3BGOUZfby1GIzYmLUZpbjYkUSQzMDFGJ0Y5RmpvRmVuRjlGYnAtRmluNiRRJDE0MEYnRjlGOS8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJSlyZWFkb25seUdGPUY5RjkvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGY3VGZnVGOQ==">NyYsLCokSSJ4RzYiIiIlIiIiKiRGJSIiJCEiKSokRiUiIiMiIilGJSEjJiohJDwkRigsLEYkRihGKSEjNUYsIiNVRiUhI0kiJGElRigsLEYkRihGKSIjSUYsISMnKkYlIiRpIyEkTiJGKCwsRiRGKEYpIiMjKkYsISRoJEYlISQsJCIkUyJGKA==</Equation></Text-field>
</Output>
</Group>
<Group hide-input="false" hide-output="false" labelreference="L171" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">Rem(Expand(A - mul(F0)) mod p,(y-3),y) mod p;</Text-field>
</Input>
<Output><Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output" display="LUkjbW5HNiMvSSttb2R1bGVuYW1lRzYiSSxUeXBlc2V0dGluZ0dJKF9zeXNsaWJHRic2JFEiMEYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJw==">IiIh</Equation></Text-field>
</Output>
</Group>
<Group hide-input="false" hide-output="false" labelreference="L175" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">F := QuarticBivariateHensel(A,F0,x,y,alpha,p):</Text-field>
</Input>
</Group>
<Group hide-input="false" hide-output="false" labelreference="L178" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal">Expand(A-mul(F)) mod p;</Text-field>
</Input>
<Output><Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output" display="LUkjbW5HNiMvSSttb2R1bGVuYW1lRzYiSSxUeXBlc2V0dGluZ0dJKF9zeXNsaWJHRic2JFEiMEYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJw==">IiIh</Equation></Text-field>
</Output>
</Group>
<Group labelreference="L183" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input><Text-field prompt="&gt; " style="Maple Input" layout="Normal"></Text-field>
</Input>
</Group>
</Worksheet>