{VERSION 6 0 "IBM INTEL NT" "6.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 23 "Courier" 1 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE " " -1 256 "" 1 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times " 1 18 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 1 0 1 0 2 2 0 1 } {PSTYLE "Text Output" -1 6 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 2 1 3 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Out put" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT 256 88 "Cryptology Routines orginally developed by Neil Sigmon http://www. radford.edu/~npsigmon/" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart:" }}}{SECT 1 {PARA 3 "" 0 " " {TEXT -1 7 "nospace" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 197 "no space := proc(sentence)\n local i, nsent;\n nsent := \"\":\n for i fro m 1 to length(sentence) do\n if substring(sentence, i) <> \" \" then \n nsent := cat(nsent, substring(sentence, i));\n fi:\n od:\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "nospace(\"a b c d\");" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q%abcd6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 " " }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 25 "nos pace := proc(sentence)" }}{PARA 0 "" 0 "" {TEXT 23 18 " local i, nse nt;" }}{PARA 0 "" 0 "" {TEXT 23 15 " nsent := \"\":" }}{PARA 0 "" 0 "" {TEXT 23 38 " for i from 1 to length(sentence) do" }}{PARA 0 "" 0 "" {TEXT 23 43 " if substring(sentence, i) <> \" \" then" }} {PARA 0 "" 0 "" {TEXT 23 53 " nsent := cat(nsent, substring(se ntence, i));" }}{PARA 0 "" 0 "" {TEXT 23 9 " fi:" }}{PARA 0 "" 0 "" {TEXT 23 6 " od:" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 " " 0 "" {TEXT 23 0 "" }{TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 7 "inspace" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 275 "inspace := proc(sentence, bl)\n local i, j, nsent;\n nsent := \"\";\n for i from 1 to length(sentence) do\n if (i) mod bl <> 0 then\n nsent := cat( nsent, substring(sentence, i));\n else\n nsent := cat(nsent, substr ing(sentence, i));\n nsent := cat(nsent, \" \");\n fi:\n od:\nend: \n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "inspace(\"abcd\",1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q)a~b~c~d~6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 29 "inspace := proc(sentence, bl)" }}{PARA 0 "" 0 "" {TEXT 23 21 " l ocal i, j, nsent;" }}{PARA 0 "" 0 "" {TEXT 23 15 " nsent := \"\";" } }{PARA 0 "" 0 "" {TEXT 23 38 " for i from 1 to length(sentence) do" }}{PARA 0 "" 0 "" {TEXT 23 29 " if (i) mod bl <> 0 then" }}{PARA 0 "" 0 "" {TEXT 23 53 " nsent := cat(nsent, substring(sentence , i));" }}{PARA 0 "" 0 "" {TEXT 23 10 " else" }}{PARA 0 "" 0 "" {TEXT 23 53 " nsent := cat(nsent, substring(sentence, i));" }} {PARA 0 "" 0 "" {TEXT 23 34 " nsent := cat(nsent, \" \");" }} {PARA 0 "" 0 "" {TEXT 23 9 " fi:" }}{PARA 0 "" 0 "" {TEXT 23 6 " \+ od:" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }{TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 11 "shiftamount " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 182 "shiftamount := proc(fro mletter, toletter)\n local abet, shift;\n abet := \"ABCDEFGHIJKLMNOPQR STUVWXYZ\";\n shift := (SearchText(toletter, abet) - SearchText(fromle tter,abet)) mod 26;\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "shiftamount(\"A\",\"C \");" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "?S earchText" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 41 "shiftamount := pro c(fromletter, toletter)" }}{PARA 0 "" 0 "" {TEXT 23 21 " local abet, shift;" }}{PARA 0 "" 0 "" {TEXT 23 40 " abet := \"ABCDEFGHIJKLMNOPQ RSTUVWXYZ\";" }}{PARA 0 "" 0 "" {TEXT 23 78 " shift := (SearchText(t oletter, abet) - SearchText(fromletter,abet)) mod 26;" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 4 " " }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 8 "strgraph" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1223 "strgraph := proc(mess, sl, info)\nlocal i, j, k, st r1, ct, str2, strset, olist, dlist, pos, gcddlist,flist:\nstrset := \{ \}:\nflist := []:\nfor i from 1 to length(mess)-sl+1 do\nct := 1:\noli st := [i]: dlist := []:\npos := i: gcddlist := 0;\nstr1 := substring(m ess, i..i+sl-1):\nif not member(str1, strset) and searchtext(\" \", st r1) = 0 then\nfor j from i+sl to length(mess)-sl+1 do\nstr2 := substri ng(mess, j..j+sl-1):\nif str1=str2 then\nolist := [op(olist), j];\ndli st := [op(dlist), j-pos];\npos := j:\nct := ct + 1:\nfi:\nod:\nif ct > 1 then\ngcddlist := igcd(seq(dlist[k], k = 1..nops(dlist)));\nfi:\nfi :\nif ct >= 2 and not member(str1, strset) then\nif info = true then\n flist := [op(flist), [cat(convert(sl, string),\"-graph \", str1 ,\" oc curs \", \nconvert(ct, string) ,\" times at positions \",convert(olist , string), \n\" at distances \",convert(dlist, string),\". \" , \n\"Pr ime dlist = \",convert(map(ifactor, dlist), string), \". \",\n\"Gcd of distances = \", convert(gcddlist,string)), ct]];\nelse\nflist := [op( flist), [cat(convert(sl, string), \"-graph \",str1,\n\" occurs \", con vert(ct, string),\" times\"), ct]];\nfi:\nfi:\nstrset := strset union \+ \{str1\}:\nod:\nflist := sort(flist, (x,y) -> evalb(x[2] > y[2]));\nse q(lprint(flist[i][1]), i = 1..nops(flist));\nend:" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 73 "strgraph(\"ITTKVWCKPNWJGIJWIBKDDBWNIJZWJDSFJWIEDNIVGNKTDCKPNWJG\", 1,false);" }}{PARA 6 "" 1 "" {TEXT -1 26 "\"1-graph W occurs 7 times\" " }}{PARA 6 "" 1 "" {TEXT -1 26 "\"1-graph J occurs 6 times\"" }} {PARA 6 "" 1 "" {TEXT -1 26 "\"1-graph I occurs 6 times\"" }}{PARA 6 " " 1 "" {TEXT -1 26 "\"1-graph D occurs 5 times\"" }}{PARA 6 "" 1 "" {TEXT -1 26 "\"1-graph N occurs 5 times\"" }}{PARA 6 "" 1 "" {TEXT -1 26 "\"1-graph K occurs 5 times\"" }}{PARA 6 "" 1 "" {TEXT -1 26 "\"1-g raph G occurs 3 times\"" }}{PARA 6 "" 1 "" {TEXT -1 26 "\"1-graph T oc curs 3 times\"" }}{PARA 6 "" 1 "" {TEXT -1 26 "\"1-graph B occurs 2 ti mes\"" }}{PARA 6 "" 1 "" {TEXT -1 26 "\"1-graph P occurs 2 times\"" }} {PARA 6 "" 1 "" {TEXT -1 26 "\"1-graph C occurs 2 times\"" }}{PARA 6 " " 1 "" {TEXT -1 26 "\"1-graph V occurs 2 times\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 32 "strgraph := proc(mess, sl, info)" }}{PARA 0 "" 0 "" {TEXT 23 77 " local i, j, k, str1, ct, str2, strset, olist, dlist , pos, gcddlist, flist:" }}{PARA 0 "" 0 "" {TEXT 23 17 " strset := \+ \{\}: " }}{PARA 0 "" 0 "" {TEXT 23 15 " flist := []:" }}{PARA 0 "" 0 "" {TEXT 23 39 " for i from 1 to length(mess)-sl+1 do" }}{PARA 0 " " 0 "" {TEXT 23 14 " ct := 1:" }}{PARA 0 "" 0 "" {TEXT 23 33 " \+ olist := [i]: dlist := []: " }}{PARA 0 "" 0 "" {TEXT 23 31 " p os := i: gcddlist := 0; " }}{PARA 0 "" 0 "" {TEXT 23 42 " str1 := substring(mess, i..i+sl-1): " }}{PARA 0 "" 0 "" {TEXT 23 68 " if not member(str1, strset) and searchtext(\" \", str1) = 0 then" }} {PARA 0 "" 0 "" {TEXT 23 48 " for j from i+sl to length(mess)- sl+1 do" }}{PARA 0 "" 0 "" {TEXT 23 47 " str2 := substring( mess, j..j+sl-1):" }}{PARA 0 "" 0 "" {TEXT 23 30 " if str1= str2 then " }}{PARA 0 "" 0 "" {TEXT 23 39 " olist := [op (olist), j];" }}{PARA 0 "" 0 "" {TEXT 23 43 " dlist := [ op(dlist), j-pos];" }}{PARA 0 "" 0 "" {TEXT 23 24 " pos \+ := j:" }}{PARA 0 "" 0 "" {TEXT 23 28 " ct := ct + 1:" }} {PARA 0 "" 0 "" {TEXT 23 26 " fi: " }}{PARA 0 "" 0 "" {TEXT 23 12 " od:" }}{PARA 0 "" 0 "" {TEXT 23 23 " \+ if ct > 1 then" }}{PARA 0 "" 0 "" {TEXT 23 64 " gcddlist \+ := igcd(seq(dlist[k], k = 1..nops(dlist)));" }}{PARA 0 "" 0 "" {TEXT 23 12 " fi:" }}{PARA 0 "" 0 "" {TEXT 23 9 " fi:" }}{PARA 0 "" 0 "" {TEXT 23 50 " if ct >= 2 and not member(str1, strset) t hen" }}{PARA 0 "" 0 "" {TEXT 23 28 " if info = true then" }} {PARA 0 "" 0 "" {TEXT 23 87 " flist := [op(flist), [cat(con vert(sl, string),\" graph \", str1 ,\" occurs \", " }}{PARA 0 "" 0 "" {TEXT 23 80 " convert(ct, string) ,\" times at positions \" ,convert(olist, string), " }}{PARA 0 "" 0 "" {TEXT 23 59 " \+ \" at distances \",convert(dlist, string),\". \" , " }}{PARA 0 "" 0 " " {TEXT 23 73 " \"Prime dlist = \",convert(map(ifactor, dli st), string), \". \", " }}{PARA 0 "" 0 "" {TEXT 23 67 " \"G cd of distances = \", convert(gcddlist,string)), ct]];" }}{PARA 0 "" 0 "" {TEXT 23 13 " else" }}{PARA 0 "" 0 "" {TEXT 23 74 " \+ flist := [op(flist), [cat(convert(sl, string), \" graph \",str1, " }}{PARA 0 "" 0 "" {TEXT 23 69 " \" occurs \", co nvert(ct, string),\" times\"), ct]];" }}{PARA 0 "" 0 "" {TEXT 23 12 " \+ fi:" }}{PARA 0 "" 0 "" {TEXT 23 9 " fi:" }}{PARA 0 "" 0 " " {TEXT 23 37 " strset := strset union \{str1\}: " }}{PARA 0 "" 0 "" {TEXT 23 7 " od: " }}{PARA 0 "" 0 "" {TEXT 23 54 " flist := s ort(flist, (x,y) -> evalb(x[2] > y[2])); " }}{PARA 0 "" 0 "" {TEXT 23 48 " seq(lprint(flist[i][1]), i = 1..nops(flist));" }}{PARA 0 "" 0 " " {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }{TEXT -1 0 "" }} {SECT 1 {PARA 3 "" 0 "" {TEXT -1 11 "shiftcipher" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 696 "shiftcipher := proc(mess, shift, type)\nlocal letters, ltable, i, j, rmess, lmess;\nletters := array(0..25, [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\",\n\"J\", \"K\" , \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\" , \"V\", \n\"W\", \"X\", \"Y\", \"Z\"]):\nltable := table():\nfor i fr om 0 to 25 do\nltable[ letters[i] ] := i:\nod:\nrmess := \"\": \nlmess := convert(mess, list);\nif type = 'encipher' then\nfor i from 1 to l ength(mess) do\nrmess := cat(rmess, letters[ (ltable[ lmess[i] ] + shi ft) mod 26 ]);\nod:\nelif type = 'decipher' then\nfor i from 1 to leng th(mess) do\nrmess := cat(rmess, letters[ (ltable[ lmess[i] ] - shift) mod 26 ]);\nod:\nelse\nlprint(\"third parameter must be encipher or d ecipher\"):\nfi:\nrmess;\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "shiftcipher(nosp ace(\"HEY DUDE\"),9,decipher);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q(YV PULUV6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "for i from 0 to 25 do\nprint(shiftcipher(\"YVPULUV\",i,decipher),i);\nod;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(YVPULU V6\"\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(XUOTKTU6\"\"\"\"" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$Q(WTNSJST6\"\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(VSMRIRS6\"\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q( URLQHQR6\"\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(TQKPGPQ6\"\"\"&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(SPJOFOP6\"\"\"'" }}{PARA 11 "" 1 " " {XPPMATH 20 "6$Q(ROINENO6\"\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$ Q(QNHMDMN6\"\"\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(PMGLCLM6\"\"\"* " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(OLFKBKL6\"\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(NKEJAJK6\"\"#6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$ Q(MJDIZIJ6\"\"#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(LICHYHI6\"\"#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(KHBGXGH6\"\"#9" }}{PARA 11 "" 1 " " {XPPMATH 20 "6$Q(JGAFWFG6\"\"#:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q (IFZEVEF6\"\"#;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(HEYDUDE6\"\"#<" } }{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(GDXCTCD6\"\"#=" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(FCWBSBC6\"\"#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(E BVARAB6\"\"#?" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(DAUZQZA6\"\"#@" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$Q(CZTYPYZ6\"\"#A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(BYSXOXY6\"\"#B" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(A XRWNWX6\"\"#C" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$Q(ZWQVMVW6\"\"#D" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 38 "shiftcipher := proc(mess, shift , type)" }}{PARA 0 "" 0 "" {TEXT 23 45 " local letters, ltable, i, j , rmess, lmess;" }}{PARA 0 "" 0 "" {TEXT 23 72 " letters := array(0. .25, [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\"," }}{PARA 0 "" 0 "" {TEXT 23 68 " \"J\", \"K\", \"L\", \"M\", \"N\", \+ \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", " }}{PARA 0 " " 0 "" {TEXT 23 24 " \"W\", \"X\", \"Y\", \"Z\"]):" }}{PARA 0 "" 0 " " {TEXT 23 21 " ltable := table():" }}{PARA 0 "" 0 "" {TEXT 23 24 " \+ for i from 0 to 25 do" }}{PARA 0 "" 0 "" {TEXT 23 32 " ltable[ \+ letters[i] ] := i:" }}{PARA 0 "" 0 "" {TEXT 23 6 " od:" }}{PARA 0 " " 0 "" {TEXT 23 16 " rmess := \"\": " }}{PARA 0 "" 0 "" {TEXT 23 32 " lmess := convert(mess, list);" }}{PARA 0 "" 0 "" {TEXT 23 28 " i f type = 'encipher' then" }}{PARA 0 "" 0 "" {TEXT 23 37 " for i f rom 1 to length(mess) do" }}{PARA 0 "" 0 "" {TEXT 23 77 " rmes s := cat(rmess, letters[ (ltable[ lmess[i] ] + shift) mod 26 ]);" }} {PARA 0 "" 0 "" {TEXT 23 9 " od:" }}{PARA 0 "" 0 "" {TEXT 23 33 " elif type = 'decipher' then" }}{PARA 0 "" 0 "" {TEXT 23 41 " \+ for i from 1 to length(mess) do" }}{PARA 0 "" 0 "" {TEXT 23 81 " rmess := cat(rmess, letters[ (ltable[ lmess[i] ] - shift) mod 26 ]);" }}{PARA 0 "" 0 "" {TEXT 23 13 " od:" }}{PARA 0 " " 0 "" {TEXT 23 10 " else" }}{PARA 0 "" 0 "" {TEXT 23 65 " \+ lprint(\"third parameter must be encipher or decipher\"):" }}{PARA 0 "" 0 "" {TEXT 23 6 " fi:" }}{PARA 0 "" 0 "" {TEXT 23 9 " rmess; " }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 12 "affinecipher" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 865 "affineciph er := proc(mess, a, b, type)\nlocal letters, ltable, i, j, rmess, lmes s;\nletters := array(0..25, [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\",\n\"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\" , \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\",\n\"W\", \"X\", \"Y\", \"Z \"]):\nif gcd(a,26) <> 1 then\nRETURN(lprint(cat(\"gcd of multiplicati on parameter \", convert(a, string), \" and 26 = \", convert(gcd(a,26) , string),\". The gcd must be 1.\")));\nend:\nltable := table():\nfor \+ i from 0 to 25 do\nltable[ letters[i] ] := i:\nod:\nrmess := \"\":\nlm ess := convert(mess, list);\nif type = 'encipher' then\nfor i from 1 t o length(mess) do\nrmess := cat(rmess, letters[ (a*ltable[ lmess[i] ] \+ + b) mod 26 ]);\nod:\nelif type = 'decipher' then\nfor i from 1 to len gth(mess) do\nrmess := cat(rmess, letters[ a^(-1)*(ltable[ lmess[i] ] \+ - b) mod 26 ]);\nod:\nelse\nlprint(\"third parameter must be encipher \+ or decipher\"):\nfi:\nrmess;\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "affinec ipher(nospace(\"HEY DUDE\"),19,17,decipher);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q(UNZCHCN6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 150 "for i from 1 to 25 \+ do\nif gcd(i,26)=1 then\nfor j from 0 to 25 do\nprint(affinecipher(\"U NZCHCN\",i,j,decipher),`a = `,i,`b = `,j);\nod;\nprint(` `);\nfi;\nod; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(UNZCHCN6\"%%a~=~G\"\"\"%%b~=~G\" \"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(TMYBGBM6\"%%a~=~G\"\"\"%%b~=~ GF&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(SLXAFAL6\"%%a~=~G\"\"\"%%b~=~ G\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(RKWZEZK6\"%%a~=~G\"\"\"%%b ~=~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(QJVYDYJ6\"%%a~=~G\"\"\" %%b~=~G\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(PIUXCXI6\"%%a~=~G\" \"\"%%b~=~G\"\"&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(OHTWBWH6\"%%a~=~ G\"\"\"%%b~=~G\"\"'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(NGSVAVG6\"%%a ~=~G\"\"\"%%b~=~G\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(MFRUZUF6\" %%a~=~G\"\"\"%%b~=~G\"\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(LEQTYTE 6\"%%a~=~G\"\"\"%%b~=~G\"\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(KDPS XSD6\"%%a~=~G\"\"\"%%b~=~G\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(JC ORWRC6\"%%a~=~G\"\"\"%%b~=~G\"#6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q( IBNQVQB6\"%%a~=~G\"\"\"%%b~=~G\"#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6' Q(HAMPUPA6\"%%a~=~G\"\"\"%%b~=~G\"#8" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6'Q(GZLOTOZ6\"%%a~=~G\"\"\"%%b~=~G\"#9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(FYKNSNY6\"%%a~=~G\"\"\"%%b~=~G\"#:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(EXJMRMX6\"%%a~=~G\"\"\"%%b~=~G\"#;" }}{PARA 11 "" 1 " " {XPPMATH 20 "6'Q(DWILQLW6\"%%a~=~G\"\"\"%%b~=~G\"#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(CVHKPKV6\"%%a~=~G\"\"\"%%b~=~G\"#=" }}{PARA 11 " " 1 "" {XPPMATH 20 "6'Q(BUGJOJU6\"%%a~=~G\"\"\"%%b~=~G\"#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ATFINIT6\"%%a~=~G\"\"\"%%b~=~G\"#?" }} {PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ZSEHMHS6\"%%a~=~G\"\"\"%%b~=~G\"#@" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(YRDGLGR6\"%%a~=~G\"\"\"%%b~=~G\"#A " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(XQCFKFQ6\"%%a~=~G\"\"\"%%b~=~G\" #B" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(WPBEJEP6\"%%a~=~G\"\"\"%%b~=~G \"#C" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(VOADIDO6\"%%a~=~G\"\"\"%%b~= ~G\"#D" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(YNRSLSN6\"%%a~=~G\"\"$%%b~=~G\"\"!" }}{PARA 11 "" 1 " " {XPPMATH 20 "6'Q(PEIJCJE6\"%%a~=~G\"\"$%%b~=~G\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(GVZATAV6\"%%a~=~G\"\"$%%b~=~G\"\"#" }}{PARA 11 " " 1 "" {XPPMATH 20 "6'Q(XMQRKRM6\"%%a~=~G\"\"$%%b~=~GF&" }}{PARA 11 " " 1 "" {XPPMATH 20 "6'Q(ODHIBID6\"%%a~=~G\"\"$%%b~=~G\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(FUYZSZU6\"%%a~=~G\"\"$%%b~=~G\"\"&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6'Q(WLPQJQL6\"%%a~=~G\"\"$%%b~=~G\"\"'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(NCGHAHC6\"%%a~=~G\"\"$%%b~=~G\"\"( " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ETXYRYT6\"%%a~=~G\"\"$%%b~=~G\" \")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(VKOPIPK6\"%%a~=~G\"\"$%%b~=~G \"\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(MBFGZGB6\"%%a~=~G\"\"$%%b~= ~G\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(DSWXQXS6\"%%a~=~G\"\"$%%b~ =~G\"#6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(UJNOHOJ6\"%%a~=~G\"\"$%%b ~=~G\"#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(LAEFYFA6\"%%a~=~G\"\"$%% b~=~G\"#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(CRVWPWR6\"%%a~=~G\"\"$% %b~=~G\"#9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(TIMNGNI6\"%%a~=~G\"\"$ %%b~=~G\"#:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(KZDEXEZ6\"%%a~=~G\"\" $%%b~=~G\"#;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(BQUVOVQ6\"%%a~=~G\" \"$%%b~=~G\"#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(SHLMFMH6\"%%a~=~G \"\"$%%b~=~G\"#=" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(JYCDWDY6\"%%a~=~ G\"\"$%%b~=~G\"#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(APTUNUP6\"%%a~= ~G\"\"$%%b~=~G\"#?" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(RGKLELG6\"%%a~ =~G\"\"$%%b~=~G\"#@" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(IXBCVCX6\"%%a ~=~G\"\"$%%b~=~G\"#A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ZOSTMTO6\"%% a~=~G\"\"$%%b~=~G\"#B" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(QFJKDKF6\"% %a~=~G\"\"$%%b~=~G\"#C" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(HWABUBW6\" %%a~=~G\"\"$%%b~=~G\"#D" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ENFQRQN6\"%%a~=~G\"\"&%%b~=~G\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(JSKVWVS6\"%%a~=~G\"\"&%%b~=~G\"\" \"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(OXPABAX6\"%%a~=~G\"\"&%%b~=~G \"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(TCUFGFC6\"%%a~=~G\"\"&%%b~= ~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(YHZKLKH6\"%%a~=~G\"\"&%%b ~=~G\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(DMEPQPM6\"%%a~=~G\"\"&% %b~=~GF&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(IRJUVUR6\"%%a~=~G\"\"&%% b~=~G\"\"'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(NWOZAZW6\"%%a~=~G\"\"& %%b~=~G\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(SBTEFEB6\"%%a~=~G\" \"&%%b~=~G\"\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(XGYJKJG6\"%%a~=~G \"\"&%%b~=~G\"\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(CLDOPOL6\"%%a~= ~G\"\"&%%b~=~G\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(HQITUTQ6\"%%a~ =~G\"\"&%%b~=~G\"#6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(MVNYZYV6\"%%a ~=~G\"\"&%%b~=~G\"#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(RASDEDA6\"%% a~=~G\"\"&%%b~=~G\"#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(WFXIJIF6\"% %a~=~G\"\"&%%b~=~G\"#9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(BKCNONK6\" %%a~=~G\"\"&%%b~=~G\"#:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(GPHSTSP6 \"%%a~=~G\"\"&%%b~=~G\"#;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(LUMXYXU 6\"%%a~=~G\"\"&%%b~=~G\"#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(QZRCDC Z6\"%%a~=~G\"\"&%%b~=~G\"#=" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(VEWHI HE6\"%%a~=~G\"\"&%%b~=~G\"#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(AJBM NMJ6\"%%a~=~G\"\"&%%b~=~G\"#?" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(FOG RSRO6\"%%a~=~G\"\"&%%b~=~G\"#@" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(KT LWXWT6\"%%a~=~G\"\"&%%b~=~G\"#A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(P YQBCBY6\"%%a~=~G\"\"&%%b~=~G\"#B" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q( UDVGHGD6\"%%a~=~G\"\"&%%b~=~G\"#C" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q (ZIALMLI6\"%%a~=~G\"\"&%%b~=~G\"#D" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# %\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ONLEBEN6\"%%a~=~G\"\"(%%b~= ~G\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ZYWPMPY6\"%%a~=~G\"\"(%%b ~=~G\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(KJHAXAJ6\"%%a~=~G\"\"( %%b~=~G\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(VUSLILU6\"%%a~=~G\" \"(%%b~=~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(GFDWTWF6\"%%a~=~G \"\"(%%b~=~G\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(RQOHEHQ6\"%%a~= ~G\"\"(%%b~=~G\"\"&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(CBZSPSB6\"%%a ~=~G\"\"(%%b~=~G\"\"'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(NMKDADM6\"% %a~=~G\"\"(%%b~=~GF&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(YXVOLOX6\"%% a~=~G\"\"(%%b~=~G\"\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(JIGZWZI6\" %%a~=~G\"\"(%%b~=~G\"\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(UTRKHKT6 \"%%a~=~G\"\"(%%b~=~G\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(FECVSVE 6\"%%a~=~G\"\"(%%b~=~G\"#6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(QPNGDG P6\"%%a~=~G\"\"(%%b~=~G\"#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(BAYRO RA6\"%%a~=~G\"\"(%%b~=~G\"#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(MLJC ZCL6\"%%a~=~G\"\"(%%b~=~G\"#9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(XWU NKNW6\"%%a~=~G\"\"(%%b~=~G\"#:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(IH FYVYH6\"%%a~=~G\"\"(%%b~=~G\"#;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(T SQJGJS6\"%%a~=~G\"\"(%%b~=~G\"#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q( EDBURUD6\"%%a~=~G\"\"(%%b~=~G\"#=" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q (POMFCFO6\"%%a~=~G\"\"(%%b~=~G\"#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6' Q(AZXQNQZ6\"%%a~=~G\"\"(%%b~=~G\"#?" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 'Q(LKIBYBK6\"%%a~=~G\"\"(%%b~=~G\"#@" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6'Q(WVTMJMV6\"%%a~=~G\"\"(%%b~=~G\"#A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(HGEXUXG6\"%%a~=~G\"\"(%%b~=~G\"#B" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(SRPIFIR6\"%%a~=~G\"\"(%%b~=~G\"#C" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(DCATQTC6\"%%a~=~G\"\"(%%b~=~G\"#D" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(INXGVGN6\" %%a~=~G\"\"*%%b~=~G\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(FKUDSDK6 \"%%a~=~G\"\"*%%b~=~G\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(CHRAP AH6\"%%a~=~G\"\"*%%b~=~G\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ZEO XMXE6\"%%a~=~G\"\"*%%b~=~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(W BLUJUB6\"%%a~=~G\"\"*%%b~=~G\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q (TYIRGRY6\"%%a~=~G\"\"*%%b~=~G\"\"&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 'Q(QVFODOV6\"%%a~=~G\"\"*%%b~=~G\"\"'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(NSCLALS6\"%%a~=~G\"\"*%%b~=~G\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(KPZIXIP6\"%%a~=~G\"\"*%%b~=~G\"\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(HMWFUFM6\"%%a~=~G\"\"*%%b~=~GF&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(EJTCRCJ6\"%%a~=~G\"\"*%%b~=~G\"#5" }}{PARA 11 "" 1 " " {XPPMATH 20 "6'Q(BGQZOZG6\"%%a~=~G\"\"*%%b~=~G\"#6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(YDNWLWD6\"%%a~=~G\"\"*%%b~=~G\"#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(VAKTITA6\"%%a~=~G\"\"*%%b~=~G\"#8" }}{PARA 11 " " 1 "" {XPPMATH 20 "6'Q(SXHQFQX6\"%%a~=~G\"\"*%%b~=~G\"#9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(PUENCNU6\"%%a~=~G\"\"*%%b~=~G\"#:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(MRBKZKR6\"%%a~=~G\"\"*%%b~=~G\"#;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6'Q(JOYHWHO6\"%%a~=~G\"\"*%%b~=~G\"#<" } }{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(GLVETEL6\"%%a~=~G\"\"*%%b~=~G\"#=" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(DISBQBI6\"%%a~=~G\"\"*%%b~=~G\"#> " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(AFPYNYF6\"%%a~=~G\"\"*%%b~=~G\"# ?" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(XCMVKVC6\"%%a~=~G\"\"*%%b~=~G\" #@" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(UZJSHSZ6\"%%a~=~G\"\"*%%b~=~G \"#A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(RWGPEPW6\"%%a~=~G\"\"*%%b~=~ G\"#B" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(OTDMBMT6\"%%a~=~G\"\"*%%b~= ~G\"#C" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(LQAJYJQ6\"%%a~=~G\"\"*%%b~ =~G\"#D" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(QNHMDMN6\"%%a~=~G\"#6%%b~=~G\"\"!" }}{PARA 11 "" 1 " " {XPPMATH 20 "6'Q(XUOTKTU6\"%%a~=~G\"#6%%b~=~G\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(EBVARAB6\"%%a~=~G\"#6%%b~=~G\"\"#" }}{PARA 11 " " 1 "" {XPPMATH 20 "6'Q(LICHYHI6\"%%a~=~G\"#6%%b~=~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(SPJOFOP6\"%%a~=~G\"#6%%b~=~G\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ZWQVMVW6\"%%a~=~G\"#6%%b~=~G\"\"&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6'Q(GDXCTCD6\"%%a~=~G\"#6%%b~=~G\"\"'" } }{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(NKEJAJK6\"%%a~=~G\"#6%%b~=~G\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(URLQHQR6\"%%a~=~G\"#6%%b~=~G\"\") " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(BYSXOXY6\"%%a~=~G\"#6%%b~=~G\"\" *" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(IFZEVEF6\"%%a~=~G\"#6%%b~=~G\"# 5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(PMGLCLM6\"%%a~=~G\"#6%%b~=~GF& " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(WTNSJST6\"%%a~=~G\"#6%%b~=~G\"#7 " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(DAUZQZA6\"%%a~=~G\"#6%%b~=~G\"#8 " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(KHBGXGH6\"%%a~=~G\"#6%%b~=~G\"#9 " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ROINENO6\"%%a~=~G\"#6%%b~=~G\"#: " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(YVPULUV6\"%%a~=~G\"#6%%b~=~G\"#; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(FCWBSBC6\"%%a~=~G\"#6%%b~=~G\"#< " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(MJDIZIJ6\"%%a~=~G\"#6%%b~=~G\"#= " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(TQKPGPQ6\"%%a~=~G\"#6%%b~=~G\"#> " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(AXRWNWX6\"%%a~=~G\"#6%%b~=~G\"#? " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(HEYDUDE6\"%%a~=~G\"#6%%b~=~G\"#@ " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(OLFKBKL6\"%%a~=~G\"#6%%b~=~G\"#A " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(VSMRIRS6\"%%a~=~G\"#6%%b~=~G\"#B " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(CZTYPYZ6\"%%a~=~G\"#6%%b~=~G\"#C " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(JGAFWFG6\"%%a~=~G\"#6%%b~=~G\"#D " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(KNTOXON6\"%%a~=~G\"#:%%b~=~G\"\"!" }}{PARA 11 "" 1 " " {XPPMATH 20 "6'Q(DGMHQHG6\"%%a~=~G\"#:%%b~=~G\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(WZFAJAZ6\"%%a~=~G\"#:%%b~=~G\"\"#" }}{PARA 11 " " 1 "" {XPPMATH 20 "6'Q(PSYTCTS6\"%%a~=~G\"#:%%b~=~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ILRMVML6\"%%a~=~G\"#:%%b~=~G\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(BEKFOFE6\"%%a~=~G\"#:%%b~=~G\"\"&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6'Q(UXDYHYX6\"%%a~=~G\"#:%%b~=~G\"\"'" } }{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(NQWRARQ6\"%%a~=~G\"#:%%b~=~G\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(GJPKTKJ6\"%%a~=~G\"#:%%b~=~G\"\") " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ZCIDMDC6\"%%a~=~G\"#:%%b~=~G\"\" *" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(SVBWFWV6\"%%a~=~G\"#:%%b~=~G\"# 5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(LOUPYPO6\"%%a~=~G\"#:%%b~=~G\"# 6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(EHNIRIH6\"%%a~=~G\"#:%%b~=~G\"# 7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(XAGBKBA6\"%%a~=~G\"#:%%b~=~G\"# 8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(QTZUDUT6\"%%a~=~G\"#:%%b~=~G\"# 9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(JMSNWNM6\"%%a~=~G\"#:%%b~=~GF& " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(CFLGPGF6\"%%a~=~G\"#:%%b~=~G\"#; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(VYEZIZY6\"%%a~=~G\"#:%%b~=~G\"#< " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ORXSBSR6\"%%a~=~G\"#:%%b~=~G\"#= " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(HKQLULK6\"%%a~=~G\"#:%%b~=~G\"#> " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ADJENED6\"%%a~=~G\"#:%%b~=~G\"#? " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(TWCXGXW6\"%%a~=~G\"#:%%b~=~G\"#@ " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(MPVQZQP6\"%%a~=~G\"#:%%b~=~G\"#A " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(FIOJSJI6\"%%a~=~G\"#:%%b~=~G\"#B " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(YBHCLCB6\"%%a~=~G\"#:%%b~=~G\"#C " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(RUAVEVU6\"%%a~=~G\"#:%%b~=~G\"#D " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(SNDUFUN6\"%%a~=~G\"#<%%b~=~G\"\"!" }}{PARA 11 "" 1 " " {XPPMATH 20 "6'Q(VQGXIXQ6\"%%a~=~G\"#<%%b~=~G\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(YTJALAT6\"%%a~=~G\"#<%%b~=~G\"\"#" }}{PARA 11 " " 1 "" {XPPMATH 20 "6'Q(BWMDODW6\"%%a~=~G\"#<%%b~=~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(EZPGRGZ6\"%%a~=~G\"#<%%b~=~G\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(HCSJUJC6\"%%a~=~G\"#<%%b~=~G\"\"&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6'Q(KFVMXMF6\"%%a~=~G\"#<%%b~=~G\"\"'" } }{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(NIYPAPI6\"%%a~=~G\"#<%%b~=~G\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(QLBSDSL6\"%%a~=~G\"#<%%b~=~G\"\") " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(TOEVGVO6\"%%a~=~G\"#<%%b~=~G\"\" *" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(WRHYJYR6\"%%a~=~G\"#<%%b~=~G\"# 5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ZUKBMBU6\"%%a~=~G\"#<%%b~=~G\"# 6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(CXNEPEX6\"%%a~=~G\"#<%%b~=~G\"# 7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(FAQHSHA6\"%%a~=~G\"#<%%b~=~G\"# 8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(IDTKVKD6\"%%a~=~G\"#<%%b~=~G\"# 9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(LGWNYNG6\"%%a~=~G\"#<%%b~=~G\"# :" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(OJZQBQJ6\"%%a~=~G\"#<%%b~=~G\"# ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(RMCTETM6\"%%a~=~G\"#<%%b~=~GF& " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(UPFWHWP6\"%%a~=~G\"#<%%b~=~G\"#= " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(XSIZKZS6\"%%a~=~G\"#<%%b~=~G\"#> " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(AVLCNCV6\"%%a~=~G\"#<%%b~=~G\"#? " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(DYOFQFY6\"%%a~=~G\"#<%%b~=~G\"#@ " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(GBRITIB6\"%%a~=~G\"#<%%b~=~G\"#A " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(JEULWLE6\"%%a~=~G\"#<%%b~=~G\"#B " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(MHXOZOH6\"%%a~=~G\"#<%%b~=~G\"#C " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(PKARCRK6\"%%a~=~G\"#<%%b~=~G\"#D " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(MNPWZWN6\"%%a~=~G\"#>%%b~=~G\"\"!" }}{PARA 11 "" 1 " " {XPPMATH 20 "6'Q(BCELOLC6\"%%a~=~G\"#>%%b~=~G\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(QRTADAR6\"%%a~=~G\"#>%%b~=~G\"\"#" }}{PARA 11 " " 1 "" {XPPMATH 20 "6'Q(FGIPSPG6\"%%a~=~G\"#>%%b~=~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(UVXEHEV6\"%%a~=~G\"#>%%b~=~G\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(JKMTWTK6\"%%a~=~G\"#>%%b~=~G\"\"&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6'Q(YZBILIZ6\"%%a~=~G\"#>%%b~=~G\"\"'" } }{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(NOQXAXO6\"%%a~=~G\"#>%%b~=~G\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(CDFMPMD6\"%%a~=~G\"#>%%b~=~G\"\") " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(RSUBEBS6\"%%a~=~G\"#>%%b~=~G\"\" *" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(GHJQTQH6\"%%a~=~G\"#>%%b~=~G\"# 5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(VWYFIFW6\"%%a~=~G\"#>%%b~=~G\"# 6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(KLNUXUL6\"%%a~=~G\"#>%%b~=~G\"# 7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ZACJMJA6\"%%a~=~G\"#>%%b~=~G\"# 8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(OPRYBYP6\"%%a~=~G\"#>%%b~=~G\"# 9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(DEGNQNE6\"%%a~=~G\"#>%%b~=~G\"# :" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(STVCFCT6\"%%a~=~G\"#>%%b~=~G\"# ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(HIKRURI6\"%%a~=~G\"#>%%b~=~G\"# <" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(WXZGJGX6\"%%a~=~G\"#>%%b~=~G\"# =" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(LMOVYVM6\"%%a~=~G\"#>%%b~=~GF& " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ABDKNKB6\"%%a~=~G\"#>%%b~=~G\"#? " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(PQSZCZQ6\"%%a~=~G\"#>%%b~=~G\"#@ " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(EFHOROF6\"%%a~=~G\"#>%%b~=~G\"#A " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(TUWDGDU6\"%%a~=~G\"#>%%b~=~G\"#B " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(IJLSVSJ6\"%%a~=~G\"#>%%b~=~G\"#C " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(XYAHKHY6\"%%a~=~G\"#>%%b~=~G\"#D " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(WNVKJKN6\"%%a~=~G\"#@%%b~=~G\"\"!" }}{PARA 11 "" 1 " " {XPPMATH 20 "6'Q(RIQFEFI6\"%%a~=~G\"#@%%b~=~G\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(MDLAZAD6\"%%a~=~G\"#@%%b~=~G\"\"#" }}{PARA 11 " " 1 "" {XPPMATH 20 "6'Q(HYGVUVY6\"%%a~=~G\"#@%%b~=~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(CTBQPQT6\"%%a~=~G\"#@%%b~=~G\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(XOWLKLO6\"%%a~=~G\"#@%%b~=~G\"\"&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6'Q(SJRGFGJ6\"%%a~=~G\"#@%%b~=~G\"\"'" } }{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(NEMBABE6\"%%a~=~G\"#@%%b~=~G\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(IZHWVWZ6\"%%a~=~G\"#@%%b~=~G\"\") " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(DUCRQRU6\"%%a~=~G\"#@%%b~=~G\"\" *" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(YPXMLMP6\"%%a~=~G\"#@%%b~=~G\"# 5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(TKSHGHK6\"%%a~=~G\"#@%%b~=~G\"# 6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(OFNCBCF6\"%%a~=~G\"#@%%b~=~G\"# 7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(JAIXWXA6\"%%a~=~G\"#@%%b~=~G\"# 8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(EVDSRSV6\"%%a~=~G\"#@%%b~=~G\"# 9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ZQYNMNQ6\"%%a~=~G\"#@%%b~=~G\"# :" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ULTIHIL6\"%%a~=~G\"#@%%b~=~G\"# ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(PGODCDG6\"%%a~=~G\"#@%%b~=~G\"# <" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(KBJYXYB6\"%%a~=~G\"#@%%b~=~G\"# =" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(FWETSTW6\"%%a~=~G\"#@%%b~=~G\"# >" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ARZONOR6\"%%a~=~G\"#@%%b~=~G\"# ?" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(VMUJIJM6\"%%a~=~G\"#@%%b~=~GF& " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(QHPEDEH6\"%%a~=~G\"#@%%b~=~G\"#A " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(LCKZYZC6\"%%a~=~G\"#@%%b~=~G\"#B " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(GXFUTUX6\"%%a~=~G\"#@%%b~=~G\"#C " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(BSAPOPS6\"%%a~=~G\"#@%%b~=~G\"#D " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(CNJIPIN6\"%%a~=~G\"#B%%b~=~G\"\"!" }}{PARA 11 "" 1 " " {XPPMATH 20 "6'Q(LWSRYRW6\"%%a~=~G\"#B%%b~=~G\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(UFBAHAF6\"%%a~=~G\"#B%%b~=~G\"\"#" }}{PARA 11 " " 1 "" {XPPMATH 20 "6'Q(DOKJQJO6\"%%a~=~G\"#B%%b~=~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(MXTSZSX6\"%%a~=~G\"#B%%b~=~G\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(VGCBIBG6\"%%a~=~G\"#B%%b~=~G\"\"&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6'Q(EPLKRKP6\"%%a~=~G\"#B%%b~=~G\"\"'" } }{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(NYUTATY6\"%%a~=~G\"#B%%b~=~G\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(WHDCJCH6\"%%a~=~G\"#B%%b~=~G\"\") " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(FQMLSLQ6\"%%a~=~G\"#B%%b~=~G\"\" *" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(OZVUBUZ6\"%%a~=~G\"#B%%b~=~G\"# 5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(XIEDKDI6\"%%a~=~G\"#B%%b~=~G\"# 6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(GRNMTMR6\"%%a~=~G\"#B%%b~=~G\"# 7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(PAWVCVA6\"%%a~=~G\"#B%%b~=~G\"# 8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(YJFELEJ6\"%%a~=~G\"#B%%b~=~G\"# 9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(HSONUNS6\"%%a~=~G\"#B%%b~=~G\"# :" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(QBXWDWB6\"%%a~=~G\"#B%%b~=~G\"# ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ZKGFMFK6\"%%a~=~G\"#B%%b~=~G\"# <" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ITPOVOT6\"%%a~=~G\"#B%%b~=~G\"# =" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(RCYXEXC6\"%%a~=~G\"#B%%b~=~G\"# >" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ALHGNGL6\"%%a~=~G\"#B%%b~=~G\"# ?" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(JUQPWPU6\"%%a~=~G\"#B%%b~=~G\"# @" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(SDZYFYD6\"%%a~=~G\"#B%%b~=~G\"# A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(BMIHOHM6\"%%a~=~G\"#B%%b~=~GF& " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(KVRQXQV6\"%%a~=~G\"#B%%b~=~G\"#C " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(TEAZGZE6\"%%a~=~G\"#B%%b~=~G\"#D " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(GNBYTYN6\"%%a~=~G\"#D%%b~=~G\"\"!" }}{PARA 11 "" 1 " " {XPPMATH 20 "6'Q(HOCZUZO6\"%%a~=~G\"#D%%b~=~G\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(IPDAVAP6\"%%a~=~G\"#D%%b~=~G\"\"#" }}{PARA 11 " " 1 "" {XPPMATH 20 "6'Q(JQEBWBQ6\"%%a~=~G\"#D%%b~=~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(KRFCXCR6\"%%a~=~G\"#D%%b~=~G\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(LSGDYDS6\"%%a~=~G\"#D%%b~=~G\"\"&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6'Q(MTHEZET6\"%%a~=~G\"#D%%b~=~G\"\"'" } }{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(NUIFAFU6\"%%a~=~G\"#D%%b~=~G\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(OVJGBGV6\"%%a~=~G\"#D%%b~=~G\"\") " }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(PWKHCHW6\"%%a~=~G\"#D%%b~=~G\"\" *" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(QXLIDIX6\"%%a~=~G\"#D%%b~=~G\"# 5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(RYMJEJY6\"%%a~=~G\"#D%%b~=~G\"# 6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(SZNKFKZ6\"%%a~=~G\"#D%%b~=~G\"# 7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(TAOLGLA6\"%%a~=~G\"#D%%b~=~G\"# 8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(UBPMHMB6\"%%a~=~G\"#D%%b~=~G\"# 9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(VCQNINC6\"%%a~=~G\"#D%%b~=~G\"# :" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(WDROJOD6\"%%a~=~G\"#D%%b~=~G\"# ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(XESPKPE6\"%%a~=~G\"#D%%b~=~G\"# <" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(YFTQLQF6\"%%a~=~G\"#D%%b~=~G\"# =" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ZGURMRG6\"%%a~=~G\"#D%%b~=~G\"# >" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(AHVSNSH6\"%%a~=~G\"#D%%b~=~G\"# ?" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(BIWTOTI6\"%%a~=~G\"#D%%b~=~G\"# @" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(CJXUPUJ6\"%%a~=~G\"#D%%b~=~G\"# A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(DKYVQVK6\"%%a~=~G\"#D%%b~=~G\"# B" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(ELZWRWL6\"%%a~=~G\"#D%%b~=~G\"# C" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'Q(FMAXSXM6\"%%a~=~G\"#D%%b~=~GF& " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 " " {TEXT 23 38 "affinecipher := proc(mess, a, b, type)" }}{PARA 0 "" 0 "" {TEXT 23 45 " local letters, ltable, i, j, rmess, lmess;" }} {PARA 0 "" 0 "" {TEXT 23 72 " letters := array(0..25, [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\"," }}{PARA 0 "" 0 "" {TEXT 23 68 " \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\" , \"R\", \"S\", \"T\", \"U\", \"V\", " }}{PARA 0 "" 0 "" {TEXT 23 24 " \"W\", \"X\", \"Y\", \"Z\"]):" }}{PARA 0 "" 0 "" {TEXT 23 25 " if gcd(a,26) <> 1 then" }}{PARA 0 "" 0 "" {TEXT 23 122 " RETURN(lpr int(cat(\"gcd of multiplication parameter \", convert(a, string), \" a nd 26 = \", convert(gcd(a,26), string), " }}{PARA 0 "" 0 "" {TEXT 23 39 " \". The gcd must be 1.\")));" }}{PARA 0 "" 0 "" {TEXT 23 7 " end:" }}{PARA 0 "" 0 "" {TEXT 23 21 " ltable := table ():" }}{PARA 0 "" 0 "" {TEXT 23 24 " for i from 0 to 25 do" }}{PARA 0 "" 0 "" {TEXT 23 32 " ltable[ letters[i] ] := i:" }}{PARA 0 "" 0 "" {TEXT 23 6 " od:" }}{PARA 0 "" 0 "" {TEXT 23 16 " rmess := \" \": " }}{PARA 0 "" 0 "" {TEXT 23 32 " lmess := convert(mess, list); " }}{PARA 0 "" 0 "" {TEXT 23 28 " if type = 'encipher' then" }} {PARA 0 "" 0 "" {TEXT 23 37 " for i from 1 to length(mess) do" }} {PARA 0 "" 0 "" {TEXT 23 75 " rmess := cat(rmess, letters[ (a* ltable[ lmess[i] ] + b) mod 26 ]);" }}{PARA 0 "" 0 "" {TEXT 23 9 " \+ od:" }}{PARA 0 "" 0 "" {TEXT 23 33 " elif type = 'decipher' the n" }}{PARA 0 "" 0 "" {TEXT 23 41 " for i from 1 to length(mes s) do" }}{PARA 0 "" 0 "" {TEXT 23 84 " rmess := cat(rmess, letters[ a^(-1)*(ltable[ lmess[i] ] - b) mod 26 ]);" }}{PARA 0 "" 0 " " {TEXT 23 13 " od:" }}{PARA 0 "" 0 "" {TEXT 23 10 " els e" }}{PARA 0 "" 0 "" {TEXT 23 65 " lprint(\"third parameter m ust be encipher or decipher\"):" }}{PARA 0 "" 0 "" {TEXT 23 6 " fi: " }}{PARA 0 "" 0 "" {TEXT 23 9 " rmess;" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 4 "rdup" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 235 "rdup := proc(key) \nlocal i, nkey, skey;\nnkey := \"\";\nskey := convert(convert(key,list), set);\nfor i from 1 to l ength(key) do\nif member(key[i],skey) then\nnkey := cat(nkey, key[i]): \nskey := skey minus \{key[i]\};\nfi:\nod:\nRETURN(nkey):\nend:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 20 "rdup := p roc(key) " }}{PARA 0 "" 0 "" {TEXT 23 23 " local i, nkey, skey;" } }{PARA 0 "" 0 "" {TEXT 23 14 " nkey := \"\";" }}{PARA 0 "" 0 "" {TEXT 23 43 " skey := convert(convert(key,list), set);" }}{PARA 0 " " 0 "" {TEXT 23 33 " for i from 1 to length(key) do" }}{PARA 0 "" 0 "" {TEXT 23 33 " if member(key[i],skey) then" }}{PARA 0 "" 0 "" {TEXT 23 35 " nkey := cat(nkey, key[i]):" }}{PARA 0 "" 0 "" {TEXT 23 37 " skey := skey minus \{key[i]\};" }}{PARA 0 "" 0 " " {TEXT 23 9 " fi:" }}{PARA 0 "" 0 "" {TEXT 23 6 " od:" }} {PARA 0 "" 0 "" {TEXT 23 16 " RETURN(nkey):" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{SECT 1 {PARA 3 " " 0 "" {TEXT -1 15 "keywordcoltrans" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1511 "keywordcoltrans := proc(message, keyword, ctype)\nl ocal key, p, i, answer, mess, r, q, c, n, j, column, nmess;\nmess := m essage;\nc := length(keyword);\nn := length(message);\nr := n mod c;\n if r <> 0 then\nmess := cat(mess, seq(\"X\", i = 1..(c-r)));\nlprint( \"Message length is not a multiple of keyword length.\");\nlprint(\"X' s will be padded to end of message.\");\nfi:\nkey := rdup(cat(seq(sort (convert(keyword, list))[i],\n i = 1..c)));\np := [seq( Stri ngTools[SearchAll](key[i],keyword), i = 1..c ) ]; print(p);\nq := n/c; \n print(p); print(q);\n# answer := array(1..5);\n nmess := \"\";\n if ctype = 'encipher' then\n# for j from 1 to c do\n# \+ print( (q*(p(j)-1)+1) ); print(q*p(j)); \n# column := cat(se q(mess[((i-1) mod q)*c+iquo((i-1),q) + 1], i = (q*(p[j]-1)+1)..q*p[j]) );\n# answer := cat(answer, column);\n# od:\n elif ctyp e = 'decipher' then\n# for j from 1 to c do \n# print( (q *(p[j]-1)+1) ); print(q*p[j]); \n# column := cat(seq(mess[((i- 1) mod c)*q+iquo((i-1),c) + 1], i = (q*(p[j]-1)+1)..q*p[j]));\n# \+ print(column);\n# answer := cat(answer, column);\n# \+ answer[j] := column;\n# od:\n for j from 1 to c do\n \+ column := substring(mess, q*(p[j]-1)+1..q*p[j]); \n \+ nmess := cat(nmess, column);\n od:\n print(nmess);\n \+ answer := cat(seq(nmess[((i-1) mod c)*q+iquo((i-1),c) + 1], i = 1 ..n)) \n else\n lprint(\"third parameter must be encipher or de cipher\"):\n fi:\n print(answer);\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT 23 0 "" }{TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 161 " keywordcoltr ans := proc(message, keyword, ctype)\n local key, p , i, answer, mes s, r, q, c, n, j, column, nmess;\n mess := message;\n c := length( keyword);" }}{PARA 0 "" 0 "" {TEXT 23 24 " n := length(message);" }} {PARA 0 "" 0 "" {TEXT 23 16 " r := n mod c;" }}{PARA 0 "" 0 "" {TEXT 23 17 " if r <> 0 then" }}{PARA 0 "" 0 "" {TEXT 23 48 " m ess := cat(mess, seq(\"X\", i = 1..(c-r)));" }}{PARA 0 "" 0 "" {TEXT 23 68 " lprint(\"Message length is not a multiple of keyword leng th.\");" }}{PARA 0 "" 0 "" {TEXT 23 54 " lprint(\"X's will be pad ded to end of message.\");" }}{PARA 0 "" 0 "" {TEXT 23 6 " fi:" }} {PARA 0 "" 0 "" {TEXT 23 56 " key := rdup(cat(seq(sort(convert(keywo rd, list))[i], " }}{PARA 0 "" 0 "" {TEXT 23 27 " i = 1..c ))); " }}{PARA 0 "" 0 "" {TEXT 23 77 " p := [seq( StringTools[Search All](key[i],keyword), i = 1..c ) ]; print(p);" }}{PARA 0 "" 0 "" {TEXT 23 12 " q := n/c;" }}{PARA 0 "" 0 "" {TEXT 23 22 " print(p); print(q);" }}{PARA 0 "" 0 "" {TEXT 23 26 "# answer := array(1..5); " }}{PARA 0 "" 0 "" {TEXT 23 15 " nmess := \"\";" }}{PARA 0 "" 0 "" {TEXT 23 29 " if ctype = 'encipher' then" }}{PARA 0 "" 0 "" {TEXT 23 27 "# for j from 1 to c do" }}{PARA 0 "" 0 "" {TEXT 23 52 "# \+ print( (q*(p(j)-1)+1) ); print(q*p(j)); " }}{PARA 0 "" 0 "" {TEXT 23 98 "# column := cat(seq(mess[((i-1) mod q)*c+iquo((i- 1),q) + 1], i = (q*(p[j]-1)+1)..q*p[j]));" }}{PARA 0 "" 0 "" {TEXT 23 40 "# answer := cat(answer, column);" }}{PARA 0 "" 0 "" {TEXT 23 10 "# od:" }}{PARA 0 "" 0 "" {TEXT 23 31 " elif ctype = 'dec ipher' then" }}{PARA 0 "" 0 "" {TEXT 23 29 "# for j from 1 to c d o " }}{PARA 0 "" 0 "" {TEXT 23 49 "# print( (q*(p[j]-1)+1) ); \+ print(q*p[j]); " }}{PARA 0 "" 0 "" {TEXT 23 98 "# column := ca t(seq(mess[((i-1) mod c)*q+iquo((i-1),c) + 1], i = (q*(p[j]-1)+1)..q*p [j]));" }}{PARA 0 "" 0 "" {TEXT 23 24 "# print(column);" }} {PARA 0 "" 0 "" {TEXT 23 40 "# answer := cat(answer, column); " }}{PARA 0 "" 0 "" {TEXT 23 30 "# answer[j] := column;" }} {PARA 0 "" 0 "" {TEXT 23 10 "# od:" }}{PARA 0 "" 0 "" {TEXT 23 27 " for j from 1 to c do" }}{PARA 0 "" 0 "" {TEXT 23 58 " \+ column := substring(mess, q*(p[j]-1)+1..q*p[j]);" }}{PARA 0 "" 0 " " {TEXT 23 10 " " }}{PARA 0 "" 0 "" {TEXT 23 38 " nm ess := cat(nmess, column);" }}{PARA 0 "" 0 "" {TEXT 23 10 " od: " }}{PARA 0 "" 0 "" {TEXT 23 20 " print(nmess);" }}{PARA 0 "" 0 "" {TEXT 23 77 " answer := cat(seq(nmess[((i-1) mod c)*q+iquo((i -1),c) + 1], i = 1..n))" }}{PARA 0 "" 0 "" {TEXT 23 1 " " }}{PARA 0 " " 0 "" {TEXT 23 7 " else" }}{PARA 0 "" 0 "" {TEXT 23 61 " lprin t(\"third parameter must be encipher or decipher\"):" }}{PARA 0 "" 0 " " {TEXT 23 6 " fi:" }}{PARA 0 "" 0 "" {TEXT 23 17 " print(answer); " }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 8 " vigenere" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1540 "vigenere := pr oc(message, keyword, ctype)\n local i, j, otext, messct, keyct, lett ers, ltable, vtable;\n letters := array(0..25, [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \n \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \+ \"W\", \"X\", \"Y\", \"Z\"]):\n ltable := table():\n for i from 0 \+ to nops(convert(letters, list)) - 1 do\n ltable[ letters[i] ] := \+ i:\n od:\n vtable := table():\n for i from 0 to nops(convert(let ters, list)) - 1 do\n for j from 0 to nops(convert(letters, list) ) - 1 do\n vtable[ letters[i], letters[j] ] := letters[ (i+j) m od 26 ]:\n od:\n od:\n otext := \"\";\n if ctype = 'enciphe r' then\n messct := 0; \n while messct < length(message) do \n keyct := 0: \n while (keyct < length(keyword)) and \+ (messct < length(message)) do\n keyct := keyct + 1:\n \+ messct := messct + 1: \n otext := cat(otext, vtabl e[substring(keyword,keyct), substring(message, m essct)]);\n od:\n od:\n elif ctype = 'decipher' then\n \+ messct := 0;\n while messct < length(message) do\n \+ keyct := 0: \n while (keyct < length(keyword)) and (messct \+ < length(message)) do\n keyct := keyct + 1:\n \+ messct := messct + 1: \n otext := cat(otext, letters[ ( lt able[ substring(message, messct) ] - ltable[ substring(keyword, keyct) ]) mod 26 ]): \n od:\n od:\n else\n lprint(\" third parameter must be encipher or decipher\"):\n fi:\n RETURN( otext);\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT 23 41 "vigenere := proc(message, keyword, ctype)" }}{PARA 0 " " 0 "" {TEXT 23 61 " local i, j, otext, messct, keyct, letters, ltab le, vtable;" }}{PARA 0 "" 0 "" {TEXT 23 93 " letters := array(0..25, [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\" , \"K\", \"L\", \"M\", " }}{PARA 0 "" 0 "" {TEXT 23 69 " \"N\", \"O \", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y \", \"Z\"]):" }}{PARA 0 "" 0 "" {TEXT 23 21 " ltable := table():" }} {PARA 0 "" 0 "" {TEXT 23 54 " for i from 0 to nops(convert(letters, \+ list)) - 1 do" }}{PARA 0 "" 0 "" {TEXT 23 32 " ltable[ letters[i] ] := i:" }}{PARA 0 "" 0 "" {TEXT 23 6 " od:" }}{PARA 0 "" 0 "" {TEXT 23 21 " vtable := table():" }}{PARA 0 "" 0 "" {TEXT 23 54 " \+ for i from 0 to nops(convert(letters, list)) - 1 do" }}{PARA 0 "" 0 " " {TEXT 23 57 " for j from 0 to nops(convert(letters, list)) - 1 \+ do" }}{PARA 0 "" 0 "" {TEXT 23 69 " vtable[ letters[i], letter s[j] ] := letters[ (i+j) mod 26 ]:" }}{PARA 0 "" 0 "" {TEXT 23 9 " \+ od:" }}{PARA 0 "" 0 "" {TEXT 23 6 " od:" }}{PARA 0 "" 0 "" {TEXT 23 15 " otext := \"\";" }}{PARA 0 "" 0 "" {TEXT 23 29 " if ctype = 'encipher' then" }}{PARA 0 "" 0 "" {TEXT 23 19 " messct := 0; " }}{PARA 0 "" 0 "" {TEXT 23 39 " while messct < length(message) do " }}{PARA 0 "" 0 "" {TEXT 23 21 " keyct := 0: " }}{PARA 0 "" 0 "" {TEXT 23 74 " while (keyct < length(keyword)) and (messct < length(message)) do" }}{PARA 0 "" 0 "" {TEXT 23 32 " ke yct := keyct + 1:" }}{PARA 0 "" 0 "" {TEXT 23 35 " messct \+ := messct + 1: " }}{PARA 0 "" 0 "" {TEXT 23 95 " otext := \+ cat(otext, vtable[substring(keyword,keyct), substring(message, messct) ]);" }}{PARA 0 "" 0 "" {TEXT 23 12 " od:" }}{PARA 0 "" 0 "" {TEXT 23 9 " od:" }}{PARA 0 "" 0 "" {TEXT 23 31 " elif ctype = \+ 'decipher' then" }}{PARA 0 "" 0 "" {TEXT 23 19 " messct := 0;" } }{PARA 0 "" 0 "" {TEXT 23 40 " while messct < length(message) do " }}{PARA 0 "" 0 "" {TEXT 23 22 " keyct := 0: " }}{PARA 0 "" 0 "" {TEXT 23 75 " while (keyct < length(keyword)) and (messc t < length(message)) do" }}{PARA 0 "" 0 "" {TEXT 23 32 " k eyct := keyct + 1:" }}{PARA 0 "" 0 "" {TEXT 23 35 " messct := messct + 1: " }}{PARA 0 "" 0 "" {TEXT 23 131 " otext : = cat(otext, letters[ ( ltable[ substring(message, messct) ] - ltable[ substring(keyword, keyct) ]) mod 26 ]): " }}{PARA 0 "" 0 "" {TEXT 23 13 " od:" }}{PARA 0 "" 0 "" {TEXT 23 10 " od:" }}{PARA 0 "" 0 "" {TEXT 23 8 " else" }}{PARA 0 "" 0 "" {TEXT 23 62 " \+ lprint(\"third parameter must be encipher or decipher\"):" }}{PARA 0 " " 0 "" {TEXT 23 7 " fi:" }}{PARA 0 "" 0 "" {TEXT 23 18 " RETURN( otext);" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }{TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 8 "vigenkey " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 70 "vigenkey := proc(ptext, \+ ctext)\n vigenere(ctext,ptext,decipher);\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 " " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 30 "vigenkey := proc(ptext, c text)" }}{PARA 0 "" 0 "" {TEXT 23 34 " vigenere(ctext,ptext,decipher );" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 2 "ic" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 572 "ic := proc(mess) \+ \n local i, j, letterct, lsum, alphabet, nmess, ncoin , fl;\n alp habet := \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n ncoin := 0;\n nmess := \+ mess; \n for i from 1 to length(alphabet) do\n lsum := 0; fl := SearchText(substring(alphabet, i), nmess);\n while fl <> 0 do\n \+ lsum := lsum + 1;\n nmess := cat(substring(nmess, 1..f l-1), substring(nmess, fl+1..length(nmess)));\n fl := SearchTe xt(substring(alphabet, i), nmess);\n od:\n ncoin := ncoin + \+ lsum*(lsum-1);\n od:\n RETURN(ncoin/(length(mess)*(length(mess) - \+ 1)));\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 19 "ic := proc(mess) " }}{PARA 0 "" 0 "" {TEXT 23 59 " lo cal i, j, letterct, lsum, alphabet, nmess, ncoin , fl;" }}{PARA 0 "" 0 "" {TEXT 23 44 " alphabet := \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";" }} {PARA 0 "" 0 "" {TEXT 23 14 " ncoin := 0;" }}{PARA 0 "" 0 "" {TEXT 23 18 " nmess := mess; " }}{PARA 0 "" 0 "" {TEXT 23 38 " for i fro m 1 to length(alphabet) do" }}{PARA 0 "" 0 "" {TEXT 23 65 " lsum \+ := 0; fl := SearchText(substring(alphabet, i), nmess);" }}{PARA 0 "" 0 "" {TEXT 23 22 " while fl <> 0 do" }}{PARA 0 "" 0 "" {TEXT 23 26 " lsum := lsum + 1;" }}{PARA 0 "" 0 "" {TEXT 23 88 " \+ nmess := cat(substring(nmess, 1..fl-1), substring(nmess, fl+1..lengt h(nmess)));" }}{PARA 0 "" 0 "" {TEXT 23 57 " fl := SearchText( substring(alphabet, i), nmess);" }}{PARA 0 "" 0 "" {TEXT 23 9 " o d:" }}{PARA 0 "" 0 "" {TEXT 23 37 " ncoin := ncoin + lsum*(lsum-1 );" }}{PARA 0 "" 0 "" {TEXT 23 6 " od:" }}{PARA 0 "" 0 "" {TEXT 23 51 " RETURN(ncoin/(length(mess)*(length(mess) - 1)));" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }{TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 "vigencoset" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 339 "vigencoset := proc(kwl, mess)\n local i, m onolist, pos, bstr;\n monolist := []; \n for i from 1 to kwl do\n \+ pos := i: bstr := \"\"; \n while substring(mess, pos) <> \" \" do\n bstr := cat(bstr, substring(mess, pos));\n pos := pos + kwl;\n od:\n monolist := [op(monolist), bstr]:\n \+ od:\n RETURN(monolist);\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 29 "vigencoset := proc(kwl, mess)" }}{PARA 0 "" 0 "" {TEXT 23 32 " local i, monolist, pos, bstr;" }} {PARA 0 "" 0 "" {TEXT 23 19 " monolist := []; " }}{PARA 0 "" 0 "" {TEXT 23 25 " for i from 1 to kwl do" }}{PARA 0 "" 0 "" {TEXT 23 28 " pos := i: bstr := \"\"; " }}{PARA 0 "" 0 "" {TEXT 23 41 " \+ while substring(mess, pos) <> \"\" do" }}{PARA 0 "" 0 "" {TEXT 23 49 " bstr := cat(bstr, substring(mess, pos));" }}{PARA 0 "" 0 "" {TEXT 23 26 " pos := pos + kwl;" }}{PARA 0 "" 0 "" {TEXT 23 9 " od:" }}{PARA 0 "" 0 "" {TEXT 23 39 " monolist := [op(monol ist), bstr]:" }}{PARA 0 "" 0 "" {TEXT 23 6 " od:" }}{PARA 0 "" 0 "" {TEXT 23 20 " RETURN(monolist);" }}{PARA 0 "" 0 "" {TEXT 23 4 "end: " }}{PARA 0 "" 0 "" {TEXT 23 0 "" }{TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 "keyletters" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 207 "keyletters := proc(keylist)\n local i, keystring;\n keystring := convert(cat(seq(keylist[i], i = 1..nops(keylist))), list);\n lin alg[transpose](matrix(nops(keylist), length(keylist[1]), keystring)); \+ \nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 27 "keyletters := proc(keylist)" }}{PARA 0 "" 0 "" {TEXT 23 22 " loc al i, keystring;" }}{PARA 0 "" 0 "" {TEXT 23 74 " keystring := conve rt(cat(seq(keylist[i], i = 1..nops(keylist))), list);" }}{PARA 0 "" 0 "" {TEXT 23 76 " linalg[transpose](matrix(nops(keylist), length(keyl ist[1]), keystring)); " }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }{TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 "letterdist" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 728 "letter dist := proc(message)\n local i, j, r, s, t, freq, pa, alphabet, pt ;\n freq := length(message)*letterfreq(message);\n pa := array(1 ..nops(freq));\n alphabet := [A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S ,T,U,V,W,X,Y,Z];\n for i from 1 to nops(freq) do \n if freq[i ] <> 0 then\n pa[i] := plot([[i-0.5, r, r = 0..freq[i]], \n \+ [s, freq[i], s = i-0.5..i+0.5],\n [i+0.5 , t, t = 0..freq[i]]], color = black):\n else\n pa[i] : = plots[pointplot]([i,0]):\n fi: \n od:\n pt:= plots[textp lot]([ seq([i, -1, alphabet[i]], i = 1..nops(alphabet)) ]):\n plots [display]([seq(pa[i], i = 1..nops(freq)), pt], color = black, thicknes s = 2, \n xtickmarks=0);\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 27 "letterdist := proc(message)" }} {PARA 0 "" 0 "" {TEXT 23 48 " local i, j, r, s, t, freq, pa, alphab et, pt;" }}{PARA 0 "" 0 "" {TEXT 23 48 " freq := length(message)*le tterfreq(message);" }}{PARA 0 "" 0 "" {TEXT 23 31 " pa := array(1.. nops(freq));" }}{PARA 0 "" 0 "" {TEXT 23 70 " alphabet := [A,B,C,D, E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z];" }}{PARA 0 "" 0 "" {TEXT 23 34 " for i from 1 to nops(freq) do " }}{PARA 0 "" 0 "" {TEXT 23 27 " if freq[i] <> 0 then" }}{PARA 0 "" 0 "" {TEXT 23 53 " pa[i] := plot([[i-0.5, r, r = 0..freq[i]], " }}{PARA 0 " " 0 "" {TEXT 23 48 " [s, freq[i], s = i-0.5..i+0.5]," }}{PARA 0 "" 0 "" {TEXT 23 61 " [i+0.5, t, t = 0..freq [i]]], color = black):" }}{PARA 0 "" 0 "" {TEXT 23 11 " else" }} {PARA 0 "" 0 "" {TEXT 23 43 " pa[i] := plots[pointplot]([i,0] ):" }}{PARA 0 "" 0 "" {TEXT 23 11 " fi: " }}{PARA 0 "" 0 "" {TEXT 23 7 " od:" }}{PARA 0 "" 0 "" {TEXT 23 79 " pt:= plots[tex tplot]([ seq([i, -1, alphabet[i]], i = 1..nops(alphabet)) ]):" }} {PARA 0 "" 0 "" {TEXT 23 86 " plots[display]([seq(pa[i], i = 1..nop s(freq)), pt], color = black, thickness = 2, " }}{PARA 0 "" 0 "" {TEXT 23 24 " xtickmarks=0);" }}{PARA 0 "" 0 "" {TEXT 23 4 "e nd:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }{TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 9 "signature" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 161 "signature := proc(flist)\n local sflist, i; \n sflist := \+ sort(flist);\n plots[pointplot]([ seq([i, sflist[i]], i = 1..nops(sf list)) ], connect = true);\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 24 "signature := proc(flist)" }} {PARA 0 "" 0 "" {TEXT 23 22 " local sflist, i; " }}{PARA 0 "" 0 " " {TEXT 23 25 " sflist := sort(flist);" }}{PARA 0 "" 0 "" {TEXT 23 82 " plots[pointplot]([ seq([i, sflist[i]], i = 1..nops(sflist)) ], \+ connect = true);" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 " " {TEXT 23 0 "" }{TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 11 " shiftletter" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 132 "shiftletter \+ := proc(anumber)\n local alphabet;\n alphabet := \"ABCDEFGHIJKLMNO PQRSTUVWXYZ\";\n substring(alphabet, anumber+1);\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 28 "shiftlett er := proc(anumber)" }}{PARA 0 "" 0 "" {TEXT 23 18 " local alphabet; " }}{PARA 0 "" 0 "" {TEXT 23 44 " alphabet := \"ABCDEFGHIJKLMNOPQRST UVWXYZ\";" }}{PARA 0 "" 0 "" {TEXT 23 34 " substring(alphabet, anumb er+1);" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }{TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 6 "scrawl" } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 422 "scrawl := proc(flist)\n \+ local i, alphabet, p1, p2;\n alphabet := [A,B,C,D,E,F,G,H,I,J,K,L,M, N,O,P,Q,R,S,T,U,V,W,X,Y,Z];\n p1 := plots[pointplot]([ seq([i, flist [i]], i = 1..nops(flist)) ], connect = true, \n color = red, thickne ss = 3):\n p2:= plots[textplot]([ seq([i, -.003, alphabet[i]], i = 1 ..nops(alphabet)) ]):\n plots[display]([p1,p2], xtickmarks = 0, titl e = \"Scrawl for given frequency distribution\");\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 21 "scrawl := proc(flist)" }}{PARA 0 "" 0 "" {TEXT 23 29 " local i, alphabet, p1, p2;" }}{PARA 0 "" 0 "" {TEXT 23 69 " alphabet := [A,B,C,D,E,F,G,H,I ,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z];" }}{PARA 0 "" 0 "" {TEXT 23 86 " \+ p1 := plots[pointplot]([ seq([i, flist[i]], i = 1..nops(flist)) ], c onnect = true, " }}{PARA 0 "" 0 "" {TEXT 23 31 " color = red, thickn ess = 3):" }}{PARA 0 "" 0 "" {TEXT 23 81 " p2:= plots[textplot]([ se q([i, -.003, alphabet[i]], i = 1..nops(alphabet)) ]):" }}{PARA 0 "" 0 "" {TEXT 23 94 " plots[display]([p1,p2], xtickmarks = 0, title = \"S crawl for given frequency distribution\");" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 23 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 7 "fscrawl" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 495 "fscrawl := proc(flist, shift, clr, thickv) \n lo cal i, j, nlist, alphabet, p1, p2;\n alphabet := [A,B,C,D,E,F,G,H,I, J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z];\n nlist := [seq(flist[i], i = 1+ shift..nops(flist)), seq(flist[j], j = 1..shift) ]:\n p1 := plots[po intplot]([ seq([i, nlist[i]], i = 1..nops(nlist)) ], connect = true, \+ \n color = clr, thickness = thickv):\n p2:= plots[textplot]([ seq( [i, -.003, alphabet[i]], i = 1..nops(alphabet)) ]):\n plots[display] ([p1,p2], xtickmarks = 0):\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 45 "fscrawl := proc(flist, shift, c lr, thickv) " }}{PARA 0 "" 0 "" {TEXT 23 39 " local i, j, nlist, a lphabet, p1, p2;" }}{PARA 0 "" 0 "" {TEXT 23 69 " alphabet := [A,B,C ,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z];" }}{PARA 0 "" 0 "" {TEXT 23 84 " nlist := [seq(flist[i], i = 1+shift..nops(flist)), seq (flist[j], j = 1..shift) ]:" }}{PARA 0 "" 0 "" {TEXT 23 86 " p1 := p lots[pointplot]([ seq([i, nlist[i]], i = 1..nops(nlist)) ], connect = \+ true, " }}{PARA 0 "" 0 "" {TEXT 23 36 " color = clr, thickness = thi ckv):" }}{PARA 0 "" 0 "" {TEXT 23 81 " p2:= plots[textplot]([ seq([i , -.003, alphabet[i]], i = 1..nops(alphabet)) ]):" }}{PARA 0 "" 0 "" {TEXT 23 43 " plots[display]([p1,p2], xtickmarks = 0):" }}{PARA 0 " " 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }{TEXT -1 0 " " }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 7 "ascrawl" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 563 "ascrawl := proc(coset) \n local i, elist, flist:\n elist := [.08167, 0.01492, 0.02782, 0.04253, 0.12702, 0.02 228, 0.02015, 0.06094, \n 0.06966, 0.00153, 0.00772, 0.040 25, 0.02406, 0.06749, 0.07507, 0.01929, \n 0.00095, 0.0598 7, 0.06327, 0.09056, 0.02758, 0.00978, 0.02360, 0.00150, \n \+ 0.01974, 0.00074];\n flist := letterfreq(nospace(coset));\n plot s[display](seq(display([fscrawl(elist, 0, red, 3), \n fscrawl(flist, i, blue, 1)], title = cat(\"left shift = \", \n convert(i, string)) ), i = 0..25), insequence = true);\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 25 "ascrawl := proc(coset) " }}{PARA 0 "" 0 "" {TEXT 23 25 " local i, elist, flist:" }}{PARA 0 "" 0 "" {TEXT 23 84 " elist := [.08167, 0.01492, 0.02782, 0.04253, 0.12702, 0.02228, 0.02015, 0.06094, " }} {PARA 0 "" 0 "" {TEXT 23 85 " 0.06966, 0.00153, 0.00772, 0 .04025, 0.02406, 0.06749, 0.07507, 0.01929, " }}{PARA 0 "" 0 "" {TEXT 23 85 " 0.00095, 0.05987, 0.06327, 0.09056, 0.02758, 0.009 78, 0.02360, 0.00150, " }}{PARA 0 "" 0 "" {TEXT 23 31 " 0. 01974, 0.00074];" }}{PARA 0 "" 0 "" {TEXT 23 39 " flist := letterfre q(nospace(coset));" }}{PARA 0 "" 0 "" {TEXT 23 58 " plots[display](s eq(display([fscrawl(elist, 0, red, 3), " }}{PARA 0 "" 0 "" {TEXT 23 61 " fscrawl(flist, i, blue, 1)], title = cat(\"left shift = \", " } }{PARA 0 "" 0 "" {TEXT 23 56 " convert(i, string))), i = 0..25), ins equence = true);" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 " " {TEXT 23 0 "" }{TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 " letterfreq" }{MPLTEXT 1 0 0 "" }{TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 388 "letterfreq := proc(mess)\n local i, abet, flist , ct, j:\n flist := []:\n abet := \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"; \n for i from 1 to length(abet) do\n ct := 0:\n for j from 1 to length(mess) do\n if evalb(substring(abet,i) = substring (mess, j)) then\n ct := ct + 1\n fi:\n od:\n \+ flist := [op(flist), ct]:\n od:\n flist := flist/length(mess): \nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 24 "letterfreq := proc(mess)" }}{PARA 0 "" 0 "" {TEXT 23 31 " local \+ i, abet, flist, ct, j:" }}{PARA 0 "" 0 "" {TEXT 23 15 " flist := []: " }}{PARA 0 "" 0 "" {TEXT 23 40 " abet := \"ABCDEFGHIJKLMNOPQRSTUVWX YZ\";" }}{PARA 0 "" 0 "" {TEXT 23 34 " for i from 1 to length(abet) \+ do" }}{PARA 0 "" 0 "" {TEXT 23 14 " ct := 0:" }}{PARA 0 "" 0 "" {TEXT 23 37 " for j from 1 to length(mess) do" }}{PARA 0 "" 0 "" {TEXT 23 62 " if evalb(substring(abet,i) = substring(mess, j)) then" }}{PARA 0 "" 0 "" {TEXT 23 24 " ct := ct + 1" }} {PARA 0 "" 0 "" {TEXT 23 12 " fi:" }}{PARA 0 "" 0 "" {TEXT 23 9 " od:" }}{PARA 0 "" 0 "" {TEXT 23 31 " flist := [op(flist) , ct]:" }}{PARA 0 "" 0 "" {TEXT 23 6 " od:" }}{PARA 0 "" 0 "" {TEXT 23 31 " flist := flist/length(mess):" }}{PARA 0 "" 0 "" {TEXT 23 4 " end:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 15 "printletterfreq" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 298 "p rintletterfreq := proc(mess)\n local i, abet, alist;\n abet := \"A BCDEFGHIJKLMNOPQRSTUVWXYZ\";\n alist := length(mess)*letterfreq(mess );\n for i from 1 to length(abet) do\n lprint(cat(\"Letter \", \+ substring(abet,i), \" occurs \", \n convert(alist[i], stri ng), \" times.\"));\n od:\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 29 "printletterfreq := proc(mess)" }}{PARA 0 "" 0 "" {TEXT 23 24 " local i, abet, alist;" }}{PARA 0 "" 0 "" {TEXT 23 40 " abet := \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";" }}{PARA 0 "" 0 "" {TEXT 23 42 " alist := length(mess)*letterfreq(mess);" }} {PARA 0 "" 0 "" {TEXT 23 34 " for i from 1 to length(abet) do" }} {PARA 0 "" 0 "" {TEXT 23 59 " lprint(cat(\"Letter \", substring(a bet,i), \" occurs \", " }}{PARA 0 "" 0 "" {TEXT 23 52 " co nvert(alist[i], string), \" times.\"));" }}{PARA 0 "" 0 "" {TEXT 23 6 " od:" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }{TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 9 "cosetsign " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 679 "cosetsign := proc(ctext , cl)\n local fkey, p1, p2, elist;\n elist := sort([.08167, 0.0149 2, 0.02782, 0.04253, 0.12702, 0.02228, 0.02015, 0.06094, \n \+ 0.06966, 0.00153, 0.00772, 0.04025, 0.02406, 0.06749, 0.07507, 0.019 29, \n 0.00095, 0.05987, 0.06327, 0.09056, 0.02758, 0.0097 8, 0.02360, 0.00150, \n 0.01974, 0.00074]);\n fkey := vi gencoset(cl, ctext):\n p1 := plots[display]([seq(display(signature(l etterfreq(sort(fkey[i])))), i = 1..cl)], \n color = black, thi ckness = 1):\n p2 := display(signature(elist), color = red, thicknes s = 3):\n plots[display]([p1,p2], title = cat(\"Signature for coset \+ length \", convert(cl, string)));\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 28 "cosetsign := proc(ctext, cl)" } }{PARA 0 "" 0 "" {TEXT 23 29 " local fkey, p1, p2, elist;" }}{PARA 0 "" 0 "" {TEXT 23 89 " elist := sort([.08167, 0.01492, 0.02782, 0.0 4253, 0.12702, 0.02228, 0.02015, 0.06094, " }}{PARA 0 "" 0 "" {TEXT 23 85 " 0.06966, 0.00153, 0.00772, 0.04025, 0.02406, 0.067 49, 0.07507, 0.01929, " }}{PARA 0 "" 0 "" {TEXT 23 85 " 0. 00095, 0.05987, 0.06327, 0.09056, 0.02758, 0.00978, 0.02360, 0.00150, \+ " }}{PARA 0 "" 0 "" {TEXT 23 32 " 0.01974, 0.00074]);" }} {PARA 0 "" 0 "" {TEXT 23 33 " fkey := vigencoset(cl, ctext):" }} {PARA 0 "" 0 "" {TEXT 23 89 " p1 := plots[display]([seq(display(sign ature(letterfreq(sort(fkey[i])))), i = 1..cl)], " }}{PARA 0 "" 0 "" {TEXT 23 39 " color = black, thickness = 1):" }}{PARA 0 "" 0 " " {TEXT 23 63 " p2 := display(signature(elist), color = red, thickne ss = 3):" }}{PARA 0 "" 0 "" {TEXT 23 92 " plots[display]([p1,p2], ti tle = cat(\"Signature for coset length \", convert(cl, string)));" }} {PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }} {SECT 1 {PARA 3 "" 0 "" {TEXT -1 9 "cosetdata" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 401 "cosetdata := proc(mess, l)\n local i, j, k, V , A, coset, lfreq;\n coset := mlist(l, mess): \n for j from 1 to l do\n lfreq := evalf(sort(letterfreq(coset[j])));\n V[j] := \+ 1/2*add(k,k = [seq(lfreq[i] + lfreq[i-1], i = 14..26)]) \n \+ - add(k,k = [seq(lfreq[i] + lfreq[i-1], i = 2..14)]);\n od:\n A \+ := 0;\n for j from 1 to l do\n A := A + V[j];\n od:\n A := \+ evalf(A/l);\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT 23 26 "cosetdata := proc(mess, l)" }}{PARA 0 "" 0 "" {TEXT 23 37 " local i, j, k, V, A, coset, lfreq;" }}{PARA 0 "" 0 "" {TEXT 23 28 " coset := mlist(l, mess): " }}{PARA 0 "" 0 "" {TEXT 23 23 " fo r j from 1 to l do" }}{PARA 0 "" 0 "" {TEXT 23 49 " lfreq := eval f(sort(letterfreq(coset[j])));" }}{PARA 0 "" 0 "" {TEXT 23 70 " V [j] := 1/2*add(k,k = [seq(lfreq[i] + lfreq[i-1], i = 14..26)]) " }} {PARA 0 "" 0 "" {TEXT 23 67 " - add(k,k = [seq(lfreq[i] + lfreq[i-1], i = 2..14)]);" }}{PARA 0 "" 0 "" {TEXT 23 6 " od:" }} {PARA 0 "" 0 "" {TEXT 23 10 " A := 0;" }}{PARA 0 "" 0 "" {TEXT 23 23 " for j from 1 to l do" }}{PARA 0 "" 0 "" {TEXT 23 20 " A := A + V[j];" }}{PARA 0 "" 0 "" {TEXT 23 6 " od:" }}{PARA 0 "" 0 "" {TEXT 23 19 " A := evalf(A/l);" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 "scrawldata" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 973 "scrawldata : = proc(ctext, kwl) \n local i, j, k, sv, shiftl, efreq, flist, dl ist, coset, s;\n efreq := [.08167, 0.01492, 0.02782, 0.04253, 0.127 02, 0.02228, 0.02015, 0.06094, \+ 0.06966, 0.00153, 0.00772, 0.04025, 0.02406, 0.06749, 0.07507, 0.01929 , \n 0.00095, 0.05987, 0.06327, 0.09056, 0.02758, 0.00978, 0.02360, 0.00150, \n 0.01974, 0.00074];\n coset := mli st(kwl, ctext):\n for i from 1 to kwl do\n dlist := []: \n fl ist := evalf(letterfreq(coset[i]));\n for sv from 0 to 25 do \n \+ shiftl := [seq(flist[j], j = sv+1..26), seq(flist[j], j = 1..sv)]; \n dlist := [op(dlist), evalf(linalg[dotprod](efreq, shiftl),3) ]; \n od: \n member(evalf(max(seq(dlist[i], i = 1..nops(dlist)) ),3), dlist, 's');\n print(cat(\"Scrawl for shift for coset \", \+ convert(i,string), \" is \"), dlist, \n \"Max = \", evalf(max(seq(d list[i], i = 1..nops(dlist))),3), \"at shift value \", s-1); \n od: \nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 33 "scrawldata := proc(ctext, kwl) " }}{PARA 0 "" 0 "" {TEXT 23 61 " local i, j, k, sv, shiftl, efreq, flist, dlist, coset, s;" }} {PARA 0 "" 0 "" {TEXT 23 85 " efreq := [.08167, 0.01492, 0.02782, 0 .04253, 0.12702, 0.02228, 0.02015, 0.06094, " }}{PARA 0 "" 0 "" {TEXT 23 85 " 0.06966, 0.00153, 0.00772, 0.04025, 0.02406, 0.067 49, 0.07507, 0.01929, " }}{PARA 0 "" 0 "" {TEXT 23 85 " 0. 00095, 0.05987, 0.06327, 0.09056, 0.02758, 0.00978, 0.02360, 0.00150, \+ " }}{PARA 0 "" 0 "" {TEXT 23 31 " 0.01974, 0.00074];" }} {PARA 0 "" 0 "" {TEXT 23 31 " coset := mlist(kwl, ctext):" }}{PARA 0 "" 0 "" {TEXT 23 26 " for i from 1 to kwl do" }}{PARA 0 "" 0 "" {TEXT 23 17 " dlist := []: " }}{PARA 0 "" 0 "" {TEXT 23 41 " fli st := evalf(letterfreq(coset[i]));" }}{PARA 0 "" 0 "" {TEXT 23 28 " \+ for sv from 0 to 25 do " }}{PARA 0 "" 0 "" {TEXT 23 74 " shift l := [seq(flist[j], j = sv+1..26), seq(flist[j], j = 1..sv)]; " }} {PARA 0 "" 0 "" {TEXT 23 71 " dlist := [op(dlist), evalf(linalg[ dotprod](efreq, shiftl),3)]; " }}{PARA 0 "" 0 "" {TEXT 23 8 " od: \+ " }}{PARA 0 "" 0 "" {TEXT 23 72 " member(evalf(max(seq(dlist[i], i \+ = 1..nops(dlist))),3), dlist, 's');" }}{PARA 0 "" 0 "" {TEXT 23 83 " \+ print(cat(\"Scrawl for shift for coset \", convert(i,string), \" \+ is \"), dlist, " }}{PARA 0 "" 0 "" {TEXT 23 88 " \"Max = \", evalf( max(seq(dlist[i], i = 1..nops(dlist))),3), \"at shift value \", s-1); \+ " }}{PARA 0 "" 0 "" {TEXT 23 7 " od:" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }{TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 9 "csubsetup" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 554 "csubsetup := proc(message)\n local i, j, subc;\n subc := \+ linalg[matrix](2, length(message));\n for j from 1 to length(message ) do\n subc[1,j] := convert(substring(message, j), symbol); \n \+ subc[2,j] := convert(\" \", symbol);\n od: \n for i from 1 to l inalg[coldim](subc) by 26 do\n if (i + 26 - 1) > linalg[coldim](s ubc) then\n print(linalg[augment](linalg[col](subc,i..linalg[c oldim](subc))));\n else\n print(linalg[augment](linalg[co l](subc,i..i+26-1)));\n fi: \n print(\" \");\n od:\n RET URN(evalm(subc)):\nend:" }{TEXT 23 0 "" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 26 "csubsetup := proc(message)" }}{PARA 0 "" 0 "" {TEXT 23 20 " local i, j, subc; " }}{PARA 0 "" 0 "" {TEXT 23 46 " subc := linalg[matrix](2, length(m essage));" }}{PARA 0 "" 0 "" {TEXT 23 37 " for j from 1 to length(me ssage) do" }}{PARA 0 "" 0 "" {TEXT 23 59 " subc[1,j] := convert(s ubstring(message, j), symbol); " }}{PARA 0 "" 0 "" {TEXT 23 40 " \+ subc[2,j] := convert(\" \", symbol);" }}{PARA 0 "" 0 "" {TEXT 23 7 " \+ od: " }}{PARA 0 "" 0 "" {TEXT 23 48 " for i from 1 to linalg[coldim ](subc) by 26 do" }}{PARA 0 "" 0 "" {TEXT 23 49 " if (i + 26 - 1) > linalg[coldim](subc) then" }}{PARA 0 "" 0 "" {TEXT 23 75 " \+ print(linalg[augment](linalg[col](subc,i..linalg[coldim](subc))));" }} {PARA 0 "" 0 "" {TEXT 23 10 " else" }}{PARA 0 "" 0 "" {TEXT 23 61 " print(linalg[augment](linalg[col](subc,i..i+26-1)));" }} {PARA 0 "" 0 "" {TEXT 23 10 " fi: " }}{PARA 0 "" 0 "" {TEXT 23 17 " print(\" \");" }}{PARA 0 "" 0 "" {TEXT 23 6 " od:" }} {PARA 0 "" 0 "" {TEXT 23 23 " RETURN(evalm(subc)):" }}{PARA 0 "" 0 " " {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 9 "subcipher" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 563 "subcipher := proc(fromlette r, toletter, ctextm)\n local subc, j, i;\n subc := ctextm;\n for j from 1 to linalg[coldim](subc) do\n if convert(subc[1,j], stri ng) = fromletter then\n subc[2,j] := convert(toletter, symbol) :\n fi:\n od:\n for i from 1 to linalg[coldim](subc) by 25 do \n if (i + 25 - 1) > linalg[coldim](subc) then\n print(li nalg[augment](linalg[col](subc,i..linalg[coldim](subc))));\n else \n print(linalg[augment](linalg[col](subc,i..i+25-1)));\n \+ fi: \n print(\" \");\n od:\n RETURN(evalm(subc)):\nend:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 47 "subcipher := proc(fromletter, toletter, ctextm)" }}{PARA 0 "" 0 "" {TEXT 23 20 " local subc, j, i;" }}{PARA 0 "" 0 "" {TEXT 23 18 " subc := ctext m;" }}{PARA 0 "" 0 "" {TEXT 23 42 " for j from 1 to linalg[coldim](s ubc) do" }}{PARA 0 "" 0 "" {TEXT 23 53 " if convert(subc[1,j], st ring) = fromletter then" }}{PARA 0 "" 0 "" {TEXT 23 48 " subc[ 2,j] := convert(toletter, symbol):" }}{PARA 0 "" 0 "" {TEXT 23 9 " \+ fi:" }}{PARA 0 "" 0 "" {TEXT 23 6 " od:" }}{PARA 0 "" 0 "" {TEXT 23 48 " for i from 1 to linalg[coldim](subc) by 25 do" }}{PARA 0 "" 0 "" {TEXT 23 49 " if (i + 25 - 1) > linalg[coldim](subc) then" } }{PARA 0 "" 0 "" {TEXT 23 75 " print(linalg[augment](linalg[co l](subc,i..linalg[coldim](subc))));" }}{PARA 0 "" 0 "" {TEXT 23 10 " \+ else" }}{PARA 0 "" 0 "" {TEXT 23 61 " print(linalg[augment ](linalg[col](subc,i..i+25-1)));" }}{PARA 0 "" 0 "" {TEXT 23 10 " \+ fi: " }}{PARA 0 "" 0 "" {TEXT 23 17 " print(\" \");" }}{PARA 0 " " 0 "" {TEXT 23 6 " od:" }}{PARA 0 "" 0 "" {TEXT 23 23 " RETURN(ev alm(subc)):" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }{TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 9 "asu bsetup" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 562 "subcipher := proc (fromletter, toletter, ctextm)\n local subc, j, i;\n subc := ctext m;\n for j from 1 to linalg[coldim](subc) do\n if convert(subc[ 1,j], string) = fromletter then\n subc[2,j] := convert(tolette r, symbol):\n fi:\n od:\n for i from 1 to linalg[coldim](subc ) by 25 do\n if (i + 25 - 1) > linalg[coldim](subc) then\n \+ print(linalg[augment](linalg[col](subc,i..linalg[coldim](subc))));\n \+ else\n print(linalg[augment](linalg[col](subc,i..i+25-1)) );\n fi: \n print(\" \");\n od:\n RETURN(evalm(subc)):\n end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 23 " asubsetup := proc(abet)" }}{PARA 0 "" 0 "" {TEXT 23 20 " local i, j, suba;" }}{PARA 0 "" 0 "" {TEXT 23 43 " suba := linalg[matrix](2, le ngth(abet));" }}{PARA 0 "" 0 "" {TEXT 23 34 " for j from 1 to length (abet) do" }}{PARA 0 "" 0 "" {TEXT 23 56 " suba[2,j] := convert(s ubstring(abet, j), symbol); " }}{PARA 0 "" 0 "" {TEXT 23 40 " sub a[1,j] := convert(\" \", symbol);" }}{PARA 0 "" 0 "" {TEXT 23 7 " od : " }}{PARA 0 "" 0 "" {TEXT 23 22 " print(evalm(suba));" }}{PARA 0 " " 0 "" {TEXT 23 23 " RETURN(evalm(suba)):" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }{TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 7 "subabet" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 530 "subabet := proc(fromletter, toletter, abetm)\n loc al suba, j, i;\n suba :=abetm;\n if toletter <> \" \" then\n \+ for j from 1 to linalg[coldim](suba) do\n if convert(suba[2,j] , string) = toletter then\n suba[1,j] := convert(fromletter , symbol):\n fi: \n od:\n elif toletter = \" \" then \n for j from 1 to linalg[coldim](suba) do\n if convert(s uba[1,j], string) = fromletter then\n suba[1,j] := convert( \" \", symbol):\n fi: \n od:\n fi:\n RETURN(evalm(s uba));\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 44 "subabet := proc(fromletter, toletter, abetm)" }}{PARA 0 " " 0 "" {TEXT 23 20 " local suba, j, i;" }}{PARA 0 "" 0 "" {TEXT 23 16 " suba :=abetm;" }}{PARA 0 "" 0 "" {TEXT 23 26 " if toletter <> \" \" then" }}{PARA 0 "" 0 "" {TEXT 23 45 " for j from 1 to lina lg[coldim](suba) do" }}{PARA 0 "" 0 "" {TEXT 23 54 " if conver t(suba[2,j], string) = toletter then" }}{PARA 0 "" 0 "" {TEXT 23 53 " \+ suba[1,j] := convert(fromletter, symbol):" }}{PARA 0 "" 0 " " {TEXT 23 15 " fi: " }}{PARA 0 "" 0 "" {TEXT 23 9 " od :" }}{PARA 0 "" 0 "" {TEXT 23 27 " elif toletter = \" \" then" }} {PARA 0 "" 0 "" {TEXT 23 45 " for j from 1 to linalg[coldim](suba ) do" }}{PARA 0 "" 0 "" {TEXT 23 56 " if convert(suba[1,j], st ring) = fromletter then" }}{PARA 0 "" 0 "" {TEXT 23 46 " su ba[1,j] := convert(\" \", symbol):" }}{PARA 0 "" 0 "" {TEXT 23 15 " \+ fi: " }}{PARA 0 "" 0 "" {TEXT 23 9 " od:" }}{PARA 0 "" 0 "" {TEXT 23 6 " fi:" }}{PARA 0 "" 0 "" {TEXT 23 23 " RETURN(evalm( suba));" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }{TEXT -1 1 "\n" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 8 "tonumber" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 293 "tonumber := proc(mess)\n local sl, cn, sn, ii:\n \+ sl := length(mess);\n cn := 0;\n for ii from 1 to sl do\n sn := StringTools[Ord](substring(mess, ii..ii)):\n if sn >= 100 the n\n cn := 1000*cn + sn:\n else\n cn := 100*cn + s n:\n fi:\n od:\n RETURN(cn): \nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "to number(\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\");" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"U!**))yoe[QG=3)zyxwvutsrqponml" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "tonumber(\"BC\");" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# \"%nm" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "StringTools[Ord]( \"A\");" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#l" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT 23 22 "tonumber := proc(mess)" }}{PARA 0 "" 0 "" {TEXT 23 24 " local sl, cn, sn, ii:" }}{PARA 0 "" 0 "" {TEXT 23 22 " sl \+ := length(mess);" }}{PARA 0 "" 0 "" {TEXT 23 11 " cn := 0;" }}{PARA 0 "" 0 "" {TEXT 23 25 " for ii from 1 to sl do" }}{PARA 0 "" 0 "" {TEXT 23 54 " sn := StringTools[Ord](substring(mess, ii..ii)):" } }{PARA 0 "" 0 "" {TEXT 23 23 " if sn >= 100 then" }}{PARA 0 "" 0 "" {TEXT 23 28 " cn := 1000*cn + sn:" }}{PARA 0 "" 0 "" {TEXT 23 10 " else" }}{PARA 0 "" 0 "" {TEXT 23 27 " cn := 100*c n + sn:" }}{PARA 0 "" 0 "" {TEXT 23 9 " fi:" }}{PARA 0 "" 0 "" {TEXT 23 6 " od:" }}{PARA 0 "" 0 "" {TEXT 23 15 " RETURN(cn): " }} {PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" } {TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 8 "toletter" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 553 "toletter := proc(num) \n \+ local cs, cn, sl, ans, i, tst; \n cn := num;\n sl := floor(tru nc(evalf(log10(cn)))/2) + 1:\n ans := \"\";\n for i from 1 to sl d o\n tst := cn/1000:\n if (frac(tst)*1000 >= 100) and (frac(t st)*1000 <= 127) then\n cn := cn/1000;\n cs := StringT ools[Char](frac(cn)*1000);\n ans := cat(cs, ans);\n cn := trunc(cn);\n else\n cn := cn/100;\n cs := Str ingTools[Char](frac(cn)*100);\n ans := cat(cs, ans);\n \+ cn := trunc(cn);\n fi:\n od:\n RETURN(ans)\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "toletter(48);\ntoletter(65);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q\"06\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q\"A6\"" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 24 "toletter := proc(num) " }} {PARA 0 "" 0 "" {TEXT 23 36 " local cs, cn, sl, ans, i, tst; " }} {PARA 0 "" 0 "" {TEXT 23 13 " cn := num;" }}{PARA 0 "" 0 "" {TEXT 23 46 " sl := floor(trunc(evalf(log10(cn)))/2) + 1:" }}{PARA 0 "" 0 "" {TEXT 23 13 " ans := \"\";" }}{PARA 0 "" 0 "" {TEXT 23 24 " for i from 1 to sl do" }}{PARA 0 "" 0 "" {TEXT 23 21 " tst := cn/100 0:" }}{PARA 0 "" 0 "" {TEXT 23 65 " if (frac(tst)*1000 >= 100) an d (frac(tst)*1000 <= 127) then" }}{PARA 0 "" 0 "" {TEXT 23 23 " \+ cn := cn/1000;" }}{PARA 0 "" 0 "" {TEXT 23 48 " cs := String Tools[Char](frac(cn)*1000);" }}{PARA 0 "" 0 "" {TEXT 23 29 " a ns := cat(cs, ans);" }}{PARA 0 "" 0 "" {TEXT 23 25 " cn := tru nc(cn);" }}{PARA 0 "" 0 "" {TEXT 23 10 " else" }}{PARA 0 "" 0 "" {TEXT 23 22 " cn := cn/100;" }}{PARA 0 "" 0 "" {TEXT 23 47 " \+ cs := StringTools[Char](frac(cn)*100);" }}{PARA 0 "" 0 "" {TEXT 23 29 " ans := cat(cs, ans);" }}{PARA 0 "" 0 "" {TEXT 23 25 " cn := trunc(cn);" }}{PARA 0 "" 0 "" {TEXT 23 9 " \+ fi:" }}{PARA 0 "" 0 "" {TEXT 23 6 " od:" }}{PARA 0 "" 0 "" {TEXT 23 15 " RETURN(ans);" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }{TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 "captomod26" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 82 "captomod26 := proc(cap)\nlocal num;\nnum:=modp(tonumber(cap)-65,26);\nRETURN(num) \nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "captomod26(\"A\");\ncaptomod26(\"B\");\nc aptomod26(\"Z\");" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\" #D" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 "mod26tocap" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 75 "mod26tocap:= proc(num)\nlocal cap;\ncap:=toletter(num + 65);\nRETU RN(cap)\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 86 "mod26tocap(captomod26(\"A\") );\nmod26tocap(captomod26(\"B\"));\nmod26tocap(captomod26(\"Z\"));" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#Q\"A6\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q\"B6\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q\"Z6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 7 "mblocks" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 147 "mblocks := proc(message, bl)\n local messblocks;\n messblocks := [seq(substr ing(message,(i-1)*bl+1..i*bl),i=1..iquo(length(message),bl)+1)];\nend: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 26 "mblocks(\"ABCDDDDDDDDD\",2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7)Q#AB6\"Q#CDF%Q#DDF%F'F'F'Q!F%" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 28 "mblocks := proc(message, bl)" }}{PARA 0 "" 0 " " {TEXT 23 20 " local messblocks;" }}{PARA 0 "" 0 "" {TEXT 23 92 " \+ messblocks := [seq(substring(message,(i-1)*bl+1..i*bl),i=1..iquo(leng th(message),bl)+1)];" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 3 "rsa" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 122 "rsa := proc(messnum, expone nt, modulus)\n local z;\n z := map(messnum -> messnum &^ exponent \+ mod modulus, messnum);\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT 23 39 "rsa := proc(messnum, exponent, modulus)" }}{PARA 0 "" 0 "" {TEXT 23 11 " local z;" }}{PARA 0 "" 0 "" {TEXT 23 65 " z := map(messnum -> messnum &^ exponent mod modulus, messnum );" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 0 " " }{TEXT -1 0 "" }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 4 "lnum" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "lnum := proc(num)\n length(conver t(num, string));\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "lnum(235);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 17 " lnum := proc(num)" }}{PARA 0 "" 0 "" {TEXT 23 32 " length(convert(nu m, string));" }}{PARA 0 "" 0 "" {TEXT 23 4 "end:" }}{PARA 0 "" 0 "" {TEXT 23 1 " " }}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 0 " " }}{PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }} {PARA 0 "" 0 "" {TEXT 23 0 "" }}{PARA 0 "" 0 "" {TEXT 23 0 "" }}} {MARK "110" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }