changeset 372 | 78cc255e286f |
parent 371 | f65444d29e74 |
child 376 | 664322da08fe |
371:f65444d29e74 | 372:78cc255e286f |
---|---|
57 \isadelimdocument |
57 \isadelimdocument |
58 % |
58 % |
59 \endisadelimdocument |
59 \endisadelimdocument |
60 % |
60 % |
61 \begin{isamarkuptext}% |
61 \begin{isamarkuptext}% |
62 This works builds on previous work by Ausaf and Urban using |
62 This paper builds on previous work by Ausaf and Urban using |
63 regular expression'd bit-coded derivatives to do lexing that |
63 regular expression'd bit-coded derivatives to do lexing that |
64 is both fast and satisfied the POSIX specification. |
64 is both fast and satisfies the POSIX specification. |
65 In their work, a bit-coded algorithm introduced by Sulzmann and Lu |
65 In their work, a bit-coded algorithm introduced by Sulzmann and Lu |
66 was formally verified in Isabelle, by a very clever use of |
66 was formally verified in Isabelle, by a very clever use of |
67 flex function and retrieve to carefully mimic the way a value is |
67 flex function and retrieve to carefully mimic the way a value is |
68 built up by the injection funciton. |
68 built up by the injection funciton. |
69 |
69 |
79 \isa{lexer\mbox{$_b$}\ r\ s\ {\isacharequal}{\kern0pt}\ lexer\ r\ s} |
79 \isa{lexer\mbox{$_b$}\ r\ s\ {\isacharequal}{\kern0pt}\ lexer\ r\ s} |
80 \end{lemma} |
80 \end{lemma} |
81 |
81 |
82 However what is not certain is whether we can add simplification |
82 However what is not certain is whether we can add simplification |
83 to the bit-coded algorithm, without breaking the correct lexing output. |
83 to the bit-coded algorithm, without breaking the correct lexing output. |
84 This might sound trivial in the case of producing a YES/NO answer, |
84 |
85 but once we require a lexing output to be produced (which is required |
85 |
86 in applications like compiler front-end, malicious attack domain extraction, |
86 The reason that we do need to add a simplification phase |
87 etc.), it is not straightforward if we still extract what is needed according |
87 after each derivative step of $\textit{blexer}$ is |
88 to the POSIX standard. |
88 because it produces intermediate |
89 |
89 regular expressions that can grow exponentially. |
90 By simplification, we mean specifically the following rules: |
90 For example, the regular expression $(a+aa)^*$ after taking |
91 |
91 derivative against just 10 $a$s will have size 8192. |
92 \begin{center} |
92 %TODO: add figure for this? |
93 \begin{tabular}{lcl} |
|
94 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{ASEQ\ bs\ AZERO\ r\isactrlsub {\isadigit{2}}\ {\isasymleadsto}\ AZERO}}}\\ |
|
95 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{ASEQ\ bs\ r\isactrlsub {\isadigit{1}}\ AZERO\ {\isasymleadsto}\ AZERO}}}\\ |
|
96 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{ASEQ\ bs\ {\isacharparenleft}{\kern0pt}AONE\ bs\isactrlsub {\isadigit{1}}{\isacharparenright}{\kern0pt}\ r\isactrlsub {\isadigit{1}}\ {\isasymleadsto}\ fuse\ {\isacharparenleft}{\kern0pt}bs\ {\isacharat}{\kern0pt}\ bs\isactrlsub {\isadigit{1}}{\isacharparenright}{\kern0pt}\ r\isactrlsub {\isadigit{1}}}}}\\ |
|
97 \isa{\mbox{}\inferrule{\mbox{bs\ {\isasymleadsto}\ r\isactrlsub {\isadigit{1}}}}{\mbox{ASEQ\ bs\ bs\ r{\isadigit{3}}{\isachardot}{\kern0pt}{\isadigit{0}}\ {\isasymleadsto}\ ASEQ\ bs\ r\isactrlsub {\isadigit{1}}\ r{\isadigit{3}}{\isachardot}{\kern0pt}{\isadigit{0}}}}}\\ |
|
98 \isa{\mbox{}\inferrule{\mbox{bs\ {\isasymleadsto}\ r\isactrlsub {\isadigit{2}}}}{\mbox{ASEQ\ bs\ r{\isadigit{1}}{\isachardot}{\kern0pt}{\isadigit{0}}\ bs\ {\isasymleadsto}\ ASEQ\ bs\ r{\isadigit{1}}{\isachardot}{\kern0pt}{\isadigit{0}}\ r\isactrlsub {\isadigit{2}}}}}\\ |
|
99 \isa{\mbox{}\inferrule{\mbox{bs\ {\isasymleadsto}\ r\isactrlsub {\isadigit{1}}}}{\mbox{AALTs\ bs\ {\isacharparenleft}{\kern0pt}rs{\isadigit{1}}{\isachardot}{\kern0pt}{\isadigit{0}}\ {\isacharat}{\kern0pt}\ {\isacharbrackleft}{\kern0pt}bs{\isacharbrackright}{\kern0pt}\ {\isacharat}{\kern0pt}\ rs{\isadigit{2}}{\isachardot}{\kern0pt}{\isadigit{0}}{\isacharparenright}{\kern0pt}\ {\isasymleadsto}\ AALTs\ bs\ {\isacharparenleft}{\kern0pt}rs{\isadigit{1}}{\isachardot}{\kern0pt}{\isadigit{0}}\ {\isacharat}{\kern0pt}\ {\isacharbrackleft}{\kern0pt}r\isactrlsub {\isadigit{1}}{\isacharbrackright}{\kern0pt}\ {\isacharat}{\kern0pt}\ rs{\isadigit{2}}{\isachardot}{\kern0pt}{\isadigit{0}}{\isacharparenright}{\kern0pt}}}}\\ |
|
100 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{AALTs\ bs\ {\isacharparenleft}{\kern0pt}r\isactrlsub {\isadigit{2}}\ {\isacharat}{\kern0pt}\ AZERO\mbox{$\,$}{\isacharcolon}{\kern0pt}{\isacharcolon}{\kern0pt}\mbox{$\,$}rsb{\isacharparenright}{\kern0pt}\ {\isasymleadsto}\ AALTs\ bs\ {\isacharparenleft}{\kern0pt}r\isactrlsub {\isadigit{2}}\ {\isacharat}{\kern0pt}\ rsb{\isacharparenright}{\kern0pt}}}}\\ |
|
101 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{AALTs\ bs\ {\isacharparenleft}{\kern0pt}r\isactrlsub {\isadigit{1}}\ {\isacharat}{\kern0pt}\ AALTs\ bs{\isadigit{1}}{\isachardot}{\kern0pt}{\isadigit{0}}\ rs{\isadigit{1}}{\isachardot}{\kern0pt}{\isadigit{0}}\mbox{$\,$}{\isacharcolon}{\kern0pt}{\isacharcolon}{\kern0pt}\mbox{$\,$}rsb{\isacharparenright}{\kern0pt}\ {\isasymleadsto}\ AALTs\ bs\ {\isacharparenleft}{\kern0pt}r\isactrlsub {\isadigit{1}}\ {\isacharat}{\kern0pt}\ map\ {\isacharparenleft}{\kern0pt}fuse\ bs{\isadigit{1}}{\isachardot}{\kern0pt}{\isadigit{0}}{\isacharparenright}{\kern0pt}\ rs{\isadigit{1}}{\isachardot}{\kern0pt}{\isadigit{0}}\ {\isacharat}{\kern0pt}\ rsb{\isacharparenright}{\kern0pt}}}}\\ |
|
102 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{AALTs\ bs\ {\isacharparenleft}{\kern0pt}map\ {\isacharparenleft}{\kern0pt}fuse\ r\isactrlsub {\isadigit{2}}{\isacharparenright}{\kern0pt}\ rs{\isacharparenright}{\kern0pt}\ {\isasymleadsto}\ AALTs\ {\isacharparenleft}{\kern0pt}bs\ {\isacharat}{\kern0pt}\ r\isactrlsub {\isadigit{2}}{\isacharparenright}{\kern0pt}\ rs}}}\\ |
|
103 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{AALTs\ {\isacharparenleft}{\kern0pt}bs\ {\isacharat}{\kern0pt}\ r\isactrlsub {\isadigit{1}}{\isacharparenright}{\kern0pt}\ rs\ {\isasymleadsto}\ AALTs\ bs\ {\isacharparenleft}{\kern0pt}map\ {\isacharparenleft}{\kern0pt}fuse\ r\isactrlsub {\isadigit{1}}{\isacharparenright}{\kern0pt}\ rs{\isacharparenright}{\kern0pt}}}}\\ |
|
104 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{AALTs\ bs\ {\isacharbrackleft}{\kern0pt}{\isacharbrackright}{\kern0pt}\ {\isasymleadsto}\ AZERO}}}\\ |
|
105 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{AALTs\ bs\ {\isacharbrackleft}{\kern0pt}r\isactrlsub {\isadigit{1}}{\isacharbrackright}{\kern0pt}\ {\isasymleadsto}\ fuse\ bs\ r\isactrlsub {\isadigit{1}}}}}\\ |
|
106 \isa{\mbox{}\inferrule{\mbox{bs\mbox{$^\downarrow$}\ {\isacharequal}{\kern0pt}\ r\isactrlsub {\isadigit{2}}\mbox{$^\downarrow$}}}{\mbox{AALTs\ bs\ {\isacharparenleft}{\kern0pt}rsa\ {\isacharat}{\kern0pt}\ {\isacharbrackleft}{\kern0pt}bs{\isacharbrackright}{\kern0pt}\ {\isacharat}{\kern0pt}\ rsb\ {\isacharat}{\kern0pt}\ {\isacharbrackleft}{\kern0pt}r\isactrlsub {\isadigit{2}}{\isacharbrackright}{\kern0pt}\ {\isacharat}{\kern0pt}\ rsc{\isacharparenright}{\kern0pt}\ {\isasymleadsto}\ AALTs\ bs\ {\isacharparenleft}{\kern0pt}rsa\ {\isacharat}{\kern0pt}\ {\isacharbrackleft}{\kern0pt}bs{\isacharbrackright}{\kern0pt}\ {\isacharat}{\kern0pt}\ rsb\ {\isacharat}{\kern0pt}\ rsc{\isacharparenright}{\kern0pt}}}}\\ |
|
107 |
|
108 |
|
109 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{Empty\ {\isacharcolon}{\kern0pt}\ \isactrlbold {\isadigit{1}}}}} & |
|
110 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{Char\ c\ {\isacharcolon}{\kern0pt}\ c}}}\\[4mm] |
|
111 \isa{\mbox{}\inferrule{\mbox{v\isactrlsub {\isadigit{1}}\ {\isacharcolon}{\kern0pt}\ r\isactrlsub {\isadigit{1}}}}{\mbox{Left\ v\isactrlsub {\isadigit{1}}\ {\isacharcolon}{\kern0pt}\ r\isactrlsub {\isadigit{1}}\ {\isacharplus}{\kern0pt}\ r\isactrlsub {\isadigit{2}}}}} & |
|
112 \isa{\mbox{}\inferrule{\mbox{v\isactrlsub {\isadigit{2}}\ {\isacharcolon}{\kern0pt}\ r\isactrlsub {\isadigit{1}}}}{\mbox{Right\ v\isactrlsub {\isadigit{2}}\ {\isacharcolon}{\kern0pt}\ r\isactrlsub {\isadigit{2}}\ {\isacharplus}{\kern0pt}\ r\isactrlsub {\isadigit{1}}}}}\\[4mm] |
|
113 \isa{\mbox{}\inferrule{\mbox{v\isactrlsub {\isadigit{1}}\ {\isacharcolon}{\kern0pt}\ r\isactrlsub {\isadigit{1}}}\\\ \mbox{v\isactrlsub {\isadigit{2}}\ {\isacharcolon}{\kern0pt}\ r\isactrlsub {\isadigit{2}}}}{\mbox{Seq\ v\isactrlsub {\isadigit{1}}\ v\isactrlsub {\isadigit{2}}\ {\isacharcolon}{\kern0pt}\ r\isactrlsub {\isadigit{1}}\ {\isasymcdot}\ r\isactrlsub {\isadigit{2}}}}} & |
|
114 \isa{\mbox{}\inferrule{\mbox{{\isasymforall}v{\isasymin}vs{\isachardot}{\kern0pt}\ v\ {\isacharcolon}{\kern0pt}\ r\ {\isasymand}\ {\isacharbar}{\kern0pt}v{\isacharbar}{\kern0pt}\ {\isasymnoteq}\ {\isacharbrackleft}{\kern0pt}{\isacharbrackright}{\kern0pt}}}{\mbox{Stars\ vs\ {\isacharcolon}{\kern0pt}\ r\isactrlsup {\isasymstar}}}} |
|
115 |
|
116 |
|
117 \end{tabular} |
|
118 \end{center} |
|
119 |
|
120 |
|
121 And these can be made compact by the following simplification function: |
|
122 |
|
123 \begin{center} |
93 \begin{center} |
124 \begin{tabular}{lcl} |
94 \begin{tabular}{lcl} |
125 \isa{bsimp\ {\isacharparenleft}{\kern0pt}ASEQ\ bs\ r\isactrlsub {\isadigit{1}}\ r\isactrlsub {\isadigit{2}}{\isacharparenright}{\kern0pt}} & $\dn$ & \isa{bsimp{\isacharunderscore}{\kern0pt}ASEQ\ bs\ {\isacharparenleft}{\kern0pt}bsimp\ r\isactrlsub {\isadigit{1}}{\isacharparenright}{\kern0pt}\ {\isacharparenleft}{\kern0pt}bsimp\ r\isactrlsub {\isadigit{2}}{\isacharparenright}{\kern0pt}}\\ |
95 \isa{bsimp\ {\isacharparenleft}{\kern0pt}ASEQ\ bs\ r\isactrlsub {\isadigit{1}}\ r\isactrlsub {\isadigit{2}}{\isacharparenright}{\kern0pt}} & $\dn$ & \isa{bsimp{\isacharunderscore}{\kern0pt}ASEQ\ bs\ {\isacharparenleft}{\kern0pt}bsimp\ r\isactrlsub {\isadigit{1}}{\isacharparenright}{\kern0pt}\ {\isacharparenleft}{\kern0pt}bsimp\ r\isactrlsub {\isadigit{2}}{\isacharparenright}{\kern0pt}}\\ |
126 \isa{bsimp\ {\isacharparenleft}{\kern0pt}AALTs\ bs{\isadigit{1}}{\isachardot}{\kern0pt}{\isadigit{0}}\ rs{\isacharparenright}{\kern0pt}} & $\dn$ & \isa{bsimp{\isacharunderscore}{\kern0pt}AALTs\ bs{\isadigit{1}}{\isachardot}{\kern0pt}{\isadigit{0}}\ {\isacharparenleft}{\kern0pt}distinctBy\ {\isacharparenleft}{\kern0pt}flts\ {\isacharparenleft}{\kern0pt}map\ bsimp\ rs{\isacharparenright}{\kern0pt}{\isacharparenright}{\kern0pt}\ erase\ {\isasymemptyset}{\isacharparenright}{\kern0pt}}\\ |
96 \isa{bsimp\ {\isacharparenleft}{\kern0pt}AALTs\ bs{\isadigit{1}}{\isachardot}{\kern0pt}{\isadigit{0}}\ rs{\isacharparenright}{\kern0pt}} & $\dn$ & \isa{bsimp{\isacharunderscore}{\kern0pt}AALTs\ bs{\isadigit{1}}{\isachardot}{\kern0pt}{\isadigit{0}}\ {\isacharparenleft}{\kern0pt}distinctBy\ {\isacharparenleft}{\kern0pt}flts\ {\isacharparenleft}{\kern0pt}map\ bsimp\ rs{\isacharparenright}{\kern0pt}{\isacharparenright}{\kern0pt}\ erase\ {\isasymemptyset}{\isacharparenright}{\kern0pt}}\\ |
127 \isa{bsimp\ AZERO} & $\dn$ & \isa{AZERO}\\ |
97 \isa{bsimp\ AZERO} & $\dn$ & \isa{AZERO}\\ |
128 \isa{{\isacharparenleft}{\kern0pt}r\isactrlsub {\isadigit{1}}\ {\isacharplus}{\kern0pt}\ r\isactrlsub {\isadigit{2}}{\isacharparenright}{\kern0pt}\mbox{$^\uparrow$}} & $\dn$ & \isa{AALT\ {\isacharbrackleft}{\kern0pt}{\isacharbrackright}{\kern0pt}\ {\isacharparenleft}{\kern0pt}fuse\ {\isacharbrackleft}{\kern0pt}Z{\isacharbrackright}{\kern0pt}\ {\isacharparenleft}{\kern0pt}r\isactrlsub {\isadigit{1}}\mbox{$^\uparrow$}{\isacharparenright}{\kern0pt}{\isacharparenright}{\kern0pt}\ {\isacharparenleft}{\kern0pt}fuse\ {\isacharbrackleft}{\kern0pt}S{\isacharbrackright}{\kern0pt}\ {\isacharparenleft}{\kern0pt}r\isactrlsub {\isadigit{2}}\mbox{$^\uparrow$}{\isacharparenright}{\kern0pt}{\isacharparenright}{\kern0pt}}\\ |
98 \isa{{\isacharparenleft}{\kern0pt}r\isactrlsub {\isadigit{1}}\ {\isacharplus}{\kern0pt}\ r\isactrlsub {\isadigit{2}}{\isacharparenright}{\kern0pt}\mbox{$^\uparrow$}} & $\dn$ & \isa{AALT\ {\isacharbrackleft}{\kern0pt}{\isacharbrackright}{\kern0pt}\ {\isacharparenleft}{\kern0pt}fuse\ {\isacharbrackleft}{\kern0pt}Z{\isacharbrackright}{\kern0pt}\ {\isacharparenleft}{\kern0pt}r\isactrlsub {\isadigit{1}}\mbox{$^\uparrow$}{\isacharparenright}{\kern0pt}{\isacharparenright}{\kern0pt}\ {\isacharparenleft}{\kern0pt}fuse\ {\isacharbrackleft}{\kern0pt}S{\isacharbrackright}{\kern0pt}\ {\isacharparenleft}{\kern0pt}r\isactrlsub {\isadigit{2}}\mbox{$^\uparrow$}{\isacharparenright}{\kern0pt}{\isacharparenright}{\kern0pt}}\\ |
129 \end{tabular} |
99 \end{tabular} |
130 \end{center} |
100 \end{center} |
131 |
101 |
102 |
|
103 This might sound trivial in the case of producing a YES/NO answer, |
|
104 but once we require a lexing output to be produced (which is required |
|
105 in applications like compiler front-end, malicious attack domain extraction, |
|
106 etc.), it is not straightforward if we still extract what is needed according |
|
107 to the POSIX standard. |
|
108 |
|
109 |
|
110 |
|
111 |
|
112 |
|
113 By simplification, we mean specifically the following rules: |
|
114 |
|
115 \begin{center} |
|
116 \begin{tabular}{lcl} |
|
117 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{ASEQ\ bs\ AZERO\ r\isactrlsub {\isadigit{2}}\ {\isasymleadsto}\ AZERO}}}\\ |
|
118 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{ASEQ\ bs\ r\isactrlsub {\isadigit{1}}\ AZERO\ {\isasymleadsto}\ AZERO}}}\\ |
|
119 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{ASEQ\ bs\ {\isacharparenleft}{\kern0pt}AONE\ bs\isactrlsub {\isadigit{1}}{\isacharparenright}{\kern0pt}\ r\isactrlsub {\isadigit{1}}\ {\isasymleadsto}\ fuse\ {\isacharparenleft}{\kern0pt}bs\ {\isacharat}{\kern0pt}\ bs\isactrlsub {\isadigit{1}}{\isacharparenright}{\kern0pt}\ r\isactrlsub {\isadigit{1}}}}}\\ |
|
120 \isa{\mbox{}\inferrule{\mbox{r\isactrlsub {\isadigit{1}}\ {\isasymleadsto}\ r\isactrlsub {\isadigit{2}}}}{\mbox{ASEQ\ bs\ r\isactrlsub {\isadigit{1}}\ r\isactrlsub {\isadigit{3}}\ {\isasymleadsto}\ ASEQ\ bs\ r\isactrlsub {\isadigit{2}}\ r\isactrlsub {\isadigit{3}}}}}\\ |
|
121 \isa{\mbox{}\inferrule{\mbox{r\isactrlsub {\isadigit{3}}\ {\isasymleadsto}\ r\isactrlsub {\isadigit{4}}}}{\mbox{ASEQ\ bs\ r\isactrlsub {\isadigit{1}}\ r\isactrlsub {\isadigit{3}}\ {\isasymleadsto}\ ASEQ\ bs\ r\isactrlsub {\isadigit{1}}\ r\isactrlsub {\isadigit{4}}}}}\\ |
|
122 \isa{\mbox{}\inferrule{\mbox{r\ {\isasymleadsto}\ r{\isacharprime}{\kern0pt}}}{\mbox{AALTs\ bs\ {\isacharparenleft}{\kern0pt}rs\isactrlsub {\isadigit{1}}\ {\isacharat}{\kern0pt}\ {\isacharbrackleft}{\kern0pt}r{\isacharbrackright}{\kern0pt}\ {\isacharat}{\kern0pt}\ rs\isactrlsub {\isadigit{2}}{\isacharparenright}{\kern0pt}\ {\isasymleadsto}\ AALTs\ bs\ {\isacharparenleft}{\kern0pt}rs\isactrlsub {\isadigit{1}}\ {\isacharat}{\kern0pt}\ {\isacharbrackleft}{\kern0pt}r{\isacharprime}{\kern0pt}{\isacharbrackright}{\kern0pt}\ {\isacharat}{\kern0pt}\ rs\isactrlsub {\isadigit{2}}{\isacharparenright}{\kern0pt}}}}\\ |
|
123 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{AALTs\ bs\ {\isacharparenleft}{\kern0pt}rs\isactrlsub a\ {\isacharat}{\kern0pt}\ AZERO\mbox{$\,$}{\isacharcolon}{\kern0pt}{\isacharcolon}{\kern0pt}\mbox{$\,$}rs\isactrlsub b{\isacharparenright}{\kern0pt}\ {\isasymleadsto}\ AALTs\ bs\ {\isacharparenleft}{\kern0pt}rs\isactrlsub a\ {\isacharat}{\kern0pt}\ rs\isactrlsub b{\isacharparenright}{\kern0pt}}}}\\ |
|
124 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{AALTs\ bs\ {\isacharparenleft}{\kern0pt}rs\isactrlsub a\ {\isacharat}{\kern0pt}\ AALTs\ bs\isactrlsub {\isadigit{1}}\ rs\isactrlsub {\isadigit{1}}\mbox{$\,$}{\isacharcolon}{\kern0pt}{\isacharcolon}{\kern0pt}\mbox{$\,$}rs\isactrlsub b{\isacharparenright}{\kern0pt}\ {\isasymleadsto}\ AALTs\ bs\ {\isacharparenleft}{\kern0pt}rs\isactrlsub a\ {\isacharat}{\kern0pt}\ map\ {\isacharparenleft}{\kern0pt}fuse\ bs\isactrlsub {\isadigit{1}}{\isacharparenright}{\kern0pt}\ rs\isactrlsub {\isadigit{1}}\ {\isacharat}{\kern0pt}\ rs\isactrlsub b{\isacharparenright}{\kern0pt}}}}\\ |
|
125 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{AALTs\ bs\ {\isacharparenleft}{\kern0pt}map\ {\isacharparenleft}{\kern0pt}fuse\ r\isactrlsub {\isadigit{2}}{\isacharparenright}{\kern0pt}\ rs{\isacharparenright}{\kern0pt}\ {\isasymleadsto}\ AALTs\ {\isacharparenleft}{\kern0pt}bs\ {\isacharat}{\kern0pt}\ r\isactrlsub {\isadigit{2}}{\isacharparenright}{\kern0pt}\ rs}}}\\ |
|
126 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{AALTs\ {\isacharparenleft}{\kern0pt}bs\ {\isacharat}{\kern0pt}\ r\isactrlsub {\isadigit{1}}{\isacharparenright}{\kern0pt}\ rs\ {\isasymleadsto}\ AALTs\ bs\ {\isacharparenleft}{\kern0pt}map\ {\isacharparenleft}{\kern0pt}fuse\ r\isactrlsub {\isadigit{1}}{\isacharparenright}{\kern0pt}\ rs{\isacharparenright}{\kern0pt}}}}\\ |
|
127 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{AALTs\ bs\ {\isacharbrackleft}{\kern0pt}{\isacharbrackright}{\kern0pt}\ {\isasymleadsto}\ AZERO}}}\\ |
|
128 \isa{\mbox{}\inferrule{\mbox{}}{\mbox{AALTs\ bs\ {\isacharbrackleft}{\kern0pt}r\isactrlsub {\isadigit{1}}{\isacharbrackright}{\kern0pt}\ {\isasymleadsto}\ fuse\ bs\ r\isactrlsub {\isadigit{1}}}}}\\ |
|
129 \isa{\mbox{}\inferrule{\mbox{a\isactrlsub {\isadigit{1}}\mbox{$^\downarrow$}\ {\isacharequal}{\kern0pt}\ a\isactrlsub {\isadigit{2}}\mbox{$^\downarrow$}}}{\mbox{AALTs\ bs\ {\isacharparenleft}{\kern0pt}rs\isactrlsub a\ {\isacharat}{\kern0pt}\ {\isacharbrackleft}{\kern0pt}a\isactrlsub {\isadigit{1}}{\isacharbrackright}{\kern0pt}\ {\isacharat}{\kern0pt}\ rs\isactrlsub b\ {\isacharat}{\kern0pt}\ {\isacharbrackleft}{\kern0pt}a\isactrlsub {\isadigit{2}}{\isacharbrackright}{\kern0pt}\ {\isacharat}{\kern0pt}\ rs\isactrlsub c{\isacharparenright}{\kern0pt}\ {\isasymleadsto}\ AALTs\ bs\ {\isacharparenleft}{\kern0pt}rs\isactrlsub a\ {\isacharat}{\kern0pt}\ {\isacharbrackleft}{\kern0pt}a\isactrlsub {\isadigit{1}}{\isacharbrackright}{\kern0pt}\ {\isacharat}{\kern0pt}\ rs\isactrlsub b\ {\isacharat}{\kern0pt}\ rs\isactrlsub c{\isacharparenright}{\kern0pt}}}}\\ |
|
130 |
|
131 \end{tabular} |
|
132 \end{center} |
|
133 |
|
134 |
|
135 And these can be made compact by the following simplification function: |
|
136 |
|
137 where the function $\mathit{bsimp_AALTs}$ |
|
138 |
|
132 The core idea of the proof is that two regular expressions, |
139 The core idea of the proof is that two regular expressions, |
133 if "isomorphic" up to a finite number of rewrite steps, will |
140 if "isomorphic" up to a finite number of rewrite steps, will |
134 remain so when we take derivative on both of them. |
141 remain "isomorphic" when we take the same sequence of |
142 derivatives on both of them. |
|
135 This can be expressed by the following rewrite relation lemma: |
143 This can be expressed by the following rewrite relation lemma: |
136 \begin{lemma} |
144 \begin{lemma} |
137 \isa{{\isacharparenleft}{\kern0pt}r\mbox{$\bbslash$}s{\isacharparenright}{\kern0pt}\ {\isasymleadsto}{\isacharasterisk}{\kern0pt}\ bders{\isacharunderscore}{\kern0pt}simp\ r\ s} |
145 \isa{{\isacharparenleft}{\kern0pt}r\mbox{$\bbslash$}s{\isacharparenright}{\kern0pt}\ {\isasymleadsto}{\isacharasterisk}{\kern0pt}\ bders{\isacharunderscore}{\kern0pt}simp\ r\ s} |
146 \end{lemma} |
|
147 |
|
148 This isomorphic relation implies a property that leads to the |
|
149 correctness result: |
|
150 if two (nullable) regular expressions are "rewritable" in many steps |
|
151 from one another, |
|
152 then a call to function $\textit{bmkeps}$ gives the same |
|
153 bit-sequence : |
|
154 \begin{lemma} |
|
155 \isa{{\normalsize{}If\,}\ \mbox{r{\isadigit{1}}{\isachardot}{\kern0pt}{\isadigit{0}}\ {\isasymleadsto}{\isacharasterisk}{\kern0pt}\ r{\isadigit{2}}{\isachardot}{\kern0pt}{\isadigit{0}}}\ {\normalsize \,and\,}\ \mbox{nullable\mbox{$_b$}\ r{\isadigit{1}}{\isachardot}{\kern0pt}{\isadigit{0}}}\ {\normalsize \,then\,}\ mkeps\mbox{$_b$}\ r{\isadigit{1}}{\isachardot}{\kern0pt}{\isadigit{0}}\ {\isacharequal}{\kern0pt}\ mkeps\mbox{$_b$}\ r{\isadigit{2}}{\isachardot}{\kern0pt}{\isadigit{0}}{\isachardot}{\kern0pt}} |
|
156 \end{lemma} |
|
157 |
|
158 Given the same bit-sequence, the decode function |
|
159 will give out the same value, which is the output |
|
160 of both lexers: |
|
161 \begin{lemma} |
|
162 \isa{lexer\mbox{$_b$}\ r\ s\ {\isasymequiv}\ \textrm{if}\ nullable\mbox{$_b$}\ {\isacharparenleft}{\kern0pt}r\mbox{$^\uparrow$}\mbox{$\bbslash$}s{\isacharparenright}{\kern0pt}\ \textrm{then}\ decode\ {\isacharparenleft}{\kern0pt}mkeps\mbox{$_b$}\ {\isacharparenleft}{\kern0pt}r\mbox{$^\uparrow$}\mbox{$\bbslash$}s{\isacharparenright}{\kern0pt}{\isacharparenright}{\kern0pt}\ r\ \textrm{else}\ None} |
|
163 \end{lemma} |
|
164 |
|
165 \begin{lemma} |
|
166 \isa{blexer{\isacharunderscore}{\kern0pt}simp\ r\ s\ {\isasymequiv}\ \textrm{if}\ nullable\mbox{$_b$}\ {\isacharparenleft}{\kern0pt}bders{\isacharunderscore}{\kern0pt}simp\ {\isacharparenleft}{\kern0pt}r\mbox{$^\uparrow$}{\isacharparenright}{\kern0pt}\ s{\isacharparenright}{\kern0pt}\ \textrm{then}\ decode\ {\isacharparenleft}{\kern0pt}mkeps\mbox{$_b$}\ {\isacharparenleft}{\kern0pt}bders{\isacharunderscore}{\kern0pt}simp\ {\isacharparenleft}{\kern0pt}r\mbox{$^\uparrow$}{\isacharparenright}{\kern0pt}\ s{\isacharparenright}{\kern0pt}{\isacharparenright}{\kern0pt}\ r\ \textrm{else}\ None} |
|
167 \end{lemma} |
|
168 |
|
169 And that yields the correctness result: |
|
170 \begin{lemma} |
|
171 \isa{blexer{\isacharunderscore}{\kern0pt}simp\ r\ s\ {\isacharequal}{\kern0pt}\ lexer\ r\ s} |
|
138 \end{lemma}% |
172 \end{lemma}% |
139 \end{isamarkuptext}\isamarkuptrue% |
173 \end{isamarkuptext}\isamarkuptrue% |
140 % |
174 % |
141 \isadelimdocument |
175 \isadelimdocument |
142 % |
176 % |
1743 %:%134=208%:% |
1777 %:%134=208%:% |
1744 %:%135=209%:% |
1778 %:%135=209%:% |
1745 %:%136=210%:% |
1779 %:%136=210%:% |
1746 %:%137=211%:% |
1780 %:%137=211%:% |
1747 %:%138=212%:% |
1781 %:%138=212%:% |
1748 %:%147=217%:% |
1782 %:%139=213%:% |
1749 %:%159=223%:% |
1783 %:%140=214%:% |
1750 %:%160=224%:% |
1784 %:%141=215%:% |
1751 %:%161=225%:% |
1785 %:%142=216%:% |
1752 %:%162=226%:% |
1786 %:%143=217%:% |
1753 %:%162=227%:% |
1787 %:%144=218%:% |
1754 %:%163=228%:% |
1788 %:%145=219%:% |
1755 %:%164=229%:% |
1789 %:%146=220%:% |
1756 %:%165=230%:% |
1790 %:%147=221%:% |
1757 %:%166=231%:% |
1791 %:%148=222%:% |
1758 %:%167=232%:% |
1792 %:%149=223%:% |
1759 %:%168=233%:% |
1793 %:%150=224%:% |
1760 %:%169=234%:% |
1794 %:%151=225%:% |
1761 %:%170=235%:% |
1795 %:%152=226%:% |
1762 %:%171=236%:% |
1796 %:%153=227%:% |
1763 %:%172=237%:% |
1797 %:%154=228%:% |
1764 %:%173=238%:% |
1798 %:%155=229%:% |
1765 %:%174=239%:% |
1799 %:%156=230%:% |
1766 %:%175=240%:% |
1800 %:%157=231%:% |
1767 %:%176=241%:% |
1801 %:%158=232%:% |
1768 %:%177=242%:% |
1802 %:%159=233%:% |
1769 %:%178=243%:% |
1803 %:%160=234%:% |
1770 %:%179=244%:% |
1804 %:%161=235%:% |
1771 %:%180=245%:% |
1805 %:%162=236%:% |
1772 %:%181=246%:% |
1806 %:%163=237%:% |
1773 %:%182=247%:% |
1807 %:%164=238%:% |
1774 %:%183=248%:% |
1808 %:%165=239%:% |
1775 %:%184=249%:% |
1809 %:%166=240%:% |
1776 %:%185=250%:% |
1810 %:%167=241%:% |
1777 %:%186=251%:% |
1811 %:%168=242%:% |
1778 %:%187=252%:% |
1812 %:%169=243%:% |
1779 %:%188=253%:% |
1813 %:%170=244%:% |
1780 %:%189=254%:% |
1814 %:%171=245%:% |
1781 %:%190=255%:% |
1815 %:%172=246%:% |
1782 %:%191=256%:% |
1816 %:%181=251%:% |
1783 %:%192=257%:% |
1817 %:%193=257%:% |
1784 %:%193=258%:% |
1818 %:%194=258%:% |
1785 %:%194=259%:% |
1819 %:%195=259%:% |
1786 %:%195=260%:% |
1820 %:%196=260%:% |
1787 %:%196=261%:% |
1821 %:%196=261%:% |
1788 %:%197=262%:% |
1822 %:%197=262%:% |
1789 %:%198=263%:% |
1823 %:%198=263%:% |
1790 %:%199=264%:% |
1824 %:%199=264%:% |
1791 %:%200=265%:% |
1825 %:%200=265%:% |
1813 %:%222=287%:% |
1847 %:%222=287%:% |
1814 %:%223=288%:% |
1848 %:%223=288%:% |
1815 %:%224=289%:% |
1849 %:%224=289%:% |
1816 %:%225=290%:% |
1850 %:%225=290%:% |
1817 %:%226=291%:% |
1851 %:%226=291%:% |
1818 %:%226=292%:% |
1852 %:%227=292%:% |
1819 %:%227=293%:% |
1853 %:%228=293%:% |
1820 %:%228=294%:% |
1854 %:%229=294%:% |
1821 %:%229=295%:% |
1855 %:%230=295%:% |
1822 %:%230=296%:% |
1856 %:%231=296%:% |
1823 %:%231=297%:% |
1857 %:%232=297%:% |
1824 %:%232=298%:% |
1858 %:%233=298%:% |
1825 %:%233=299%:% |
1859 %:%234=299%:% |
1826 %:%234=300%:% |
1860 %:%235=300%:% |
1827 %:%235=301%:% |
1861 %:%236=301%:% |
1828 %:%236=302%:% |
1862 %:%237=302%:% |
1829 %:%237=303%:% |
1863 %:%238=303%:% |
1830 %:%238=304%:% |
1864 %:%239=304%:% |
1831 %:%239=305%:% |
1865 %:%240=305%:% |
1832 %:%240=306%:% |
1866 %:%241=306%:% |
1833 %:%241=307%:% |
1867 %:%242=307%:% |
1834 %:%242=308%:% |
1868 %:%243=308%:% |
1835 %:%243=309%:% |
1869 %:%244=309%:% |
1836 %:%244=310%:% |
1870 %:%245=310%:% |
1837 %:%245=311%:% |
1871 %:%246=311%:% |
1838 %:%246=312%:% |
1872 %:%247=312%:% |
1839 %:%247=313%:% |
1873 %:%248=313%:% |
1840 %:%248=314%:% |
1874 %:%249=314%:% |
1841 %:%249=315%:% |
1875 %:%250=315%:% |
1842 %:%250=316%:% |
1876 %:%251=316%:% |
1843 %:%251=317%:% |
1877 %:%252=317%:% |
1844 %:%252=318%:% |
1878 %:%253=318%:% |
1845 %:%253=319%:% |
1879 %:%254=319%:% |
1846 %:%254=320%:% |
1880 %:%255=320%:% |
1847 %:%255=321%:% |
1881 %:%256=321%:% |
1848 %:%256=322%:% |
1882 %:%257=322%:% |
1849 %:%257=323%:% |
1883 %:%258=323%:% |
1850 %:%258=324%:% |
1884 %:%259=324%:% |
1851 %:%259=325%:% |
1885 %:%260=325%:% |
1852 %:%260=326%:% |
1886 %:%260=326%:% |
1853 %:%261=327%:% |
1887 %:%261=327%:% |
1854 %:%262=328%:% |
1888 %:%262=328%:% |
1855 %:%263=329%:% |
1889 %:%263=329%:% |
1856 %:%264=330%:% |
1890 %:%264=330%:% |
1919 %:%327=393%:% |
1953 %:%327=393%:% |
1920 %:%328=394%:% |
1954 %:%328=394%:% |
1921 %:%329=395%:% |
1955 %:%329=395%:% |
1922 %:%330=396%:% |
1956 %:%330=396%:% |
1923 %:%331=397%:% |
1957 %:%331=397%:% |
1924 %:%340=404%:% |
1958 %:%332=398%:% |
1925 %:%352=406%:% |
1959 %:%333=399%:% |
1926 %:%353=407%:% |
1960 %:%334=400%:% |
1927 %:%353=408%:% |
1961 %:%335=401%:% |
1928 %:%354=409%:% |
1962 %:%336=402%:% |
1929 %:%355=410%:% |
1963 %:%337=403%:% |
1930 %:%356=411%:% |
1964 %:%338=404%:% |
1931 %:%357=412%:% |
1965 %:%339=405%:% |
1932 %:%358=413%:% |
1966 %:%340=406%:% |
1933 %:%359=414%:% |
1967 %:%341=407%:% |
1934 %:%360=415%:% |
1968 %:%342=408%:% |
1935 %:%361=416%:% |
1969 %:%343=409%:% |
1936 %:%362=417%:% |
1970 %:%344=410%:% |
1937 %:%363=418%:% |
1971 %:%345=411%:% |
1938 %:%364=419%:% |
1972 %:%346=412%:% |
1939 %:%365=420%:% |
1973 %:%347=413%:% |
1940 %:%366=421%:% |
1974 %:%348=414%:% |
1941 %:%367=422%:% |
1975 %:%349=415%:% |
1942 %:%368=423%:% |
1976 %:%350=416%:% |
1943 %:%369=424%:% |
1977 %:%351=417%:% |
1944 %:%370=425%:% |
1978 %:%352=418%:% |
1945 %:%371=426%:% |
1979 %:%353=419%:% |
1946 %:%372=427%:% |
1980 %:%354=420%:% |
1947 %:%373=428%:% |
1981 %:%355=421%:% |
1948 %:%374=429%:% |
1982 %:%356=422%:% |
1949 %:%375=430%:% |
1983 %:%357=423%:% |
1950 %:%376=431%:% |
1984 %:%358=424%:% |
1951 %:%377=432%:% |
1985 %:%359=425%:% |
1952 %:%378=433%:% |
1986 %:%360=426%:% |
1953 %:%379=434%:% |
1987 %:%361=427%:% |
1954 %:%380=435%:% |
1988 %:%362=428%:% |
1955 %:%381=436%:% |
1989 %:%363=429%:% |
1956 %:%382=437%:% |
1990 %:%364=430%:% |
1957 %:%383=438%:% |
1991 %:%365=431%:% |
1958 %:%384=439%:% |
1992 %:%374=438%:% |
1959 %:%385=440%:% |
1993 %:%386=440%:% |
1960 %:%386=441%:% |
1994 %:%387=441%:% |
1961 %:%387=442%:% |
1995 %:%387=442%:% |
1962 %:%388=443%:% |
1996 %:%388=443%:% |
1963 %:%389=444%:% |
1997 %:%389=444%:% |
1964 %:%390=445%:% |
1998 %:%390=445%:% |
1965 %:%391=446%:% |
1999 %:%391=446%:% |
1966 %:%392=447%:% |
2000 %:%392=447%:% |
1967 %:%392=448%:% |
2001 %:%393=448%:% |
1968 %:%393=449%:% |
2002 %:%394=449%:% |
1969 %:%394=450%:% |
2003 %:%395=450%:% |
1970 %:%395=451%:% |
2004 %:%396=451%:% |
1971 %:%396=452%:% |
2005 %:%397=452%:% |
1972 %:%397=453%:% |
2006 %:%398=453%:% |
1973 %:%397=454%:% |
2007 %:%399=454%:% |
1974 %:%398=455%:% |
2008 %:%400=455%:% |
1975 %:%399=456%:% |
2009 %:%401=456%:% |
1976 %:%400=457%:% |
2010 %:%402=457%:% |
1977 %:%401=458%:% |
2011 %:%403=458%:% |
1978 %:%402=459%:% |
2012 %:%404=459%:% |
1979 %:%403=460%:% |
2013 %:%405=460%:% |
1980 %:%404=461%:% |
2014 %:%406=461%:% |
1981 %:%405=462%:% |
2015 %:%407=462%:% |
1982 %:%406=463%:% |
2016 %:%408=463%:% |
1983 %:%407=464%:% |
2017 %:%409=464%:% |
1984 %:%408=465%:% |
2018 %:%410=465%:% |
1985 %:%409=466%:% |
2019 %:%411=466%:% |
1986 %:%410=467%:% |
2020 %:%412=467%:% |
1987 %:%411=468%:% |
2021 %:%413=468%:% |
1988 %:%412=469%:% |
2022 %:%414=469%:% |
1989 %:%413=470%:% |
2023 %:%415=470%:% |
1990 %:%414=471%:% |
2024 %:%416=471%:% |
1991 %:%415=472%:% |
2025 %:%417=472%:% |
1992 %:%416=473%:% |
2026 %:%418=473%:% |
1993 %:%417=474%:% |
2027 %:%419=474%:% |
1994 %:%418=475%:% |
2028 %:%420=475%:% |
1995 %:%419=476%:% |
2029 %:%421=476%:% |
1996 %:%420=477%:% |
2030 %:%422=477%:% |
1997 %:%421=478%:% |
2031 %:%423=478%:% |
1998 %:%422=479%:% |
2032 %:%424=479%:% |
1999 %:%423=480%:% |
2033 %:%425=480%:% |
2000 %:%424=481%:% |
2034 %:%426=481%:% |
2001 %:%425=482%:% |
2035 %:%426=482%:% |
2002 %:%426=483%:% |
2036 %:%427=483%:% |
2003 %:%427=484%:% |
2037 %:%428=484%:% |
2004 %:%428=485%:% |
2038 %:%429=485%:% |
2005 %:%429=486%:% |
2039 %:%430=486%:% |
2006 %:%430=487%:% |
2040 %:%431=487%:% |
2007 %:%431=488%:% |
2041 %:%431=488%:% |
2008 %:%432=489%:% |
2042 %:%432=489%:% |
2009 %:%433=490%:% |
2043 %:%433=490%:% |
2010 %:%434=491%:% |
2044 %:%434=491%:% |
2011 %:%435=492%:% |
2045 %:%435=492%:% |
2058 %:%482=539%:% |
2092 %:%482=539%:% |
2059 %:%483=540%:% |
2093 %:%483=540%:% |
2060 %:%484=541%:% |
2094 %:%484=541%:% |
2061 %:%485=542%:% |
2095 %:%485=542%:% |
2062 %:%486=543%:% |
2096 %:%486=543%:% |
2063 %:%495=547%:% |
2097 %:%487=544%:% |
2064 %:%507=551%:% |
2098 %:%488=545%:% |
2065 %:%508=552%:% |
2099 %:%489=546%:% |
2066 %:%509=553%:% |
2100 %:%490=547%:% |
2067 %:%510=554%:% |
2101 %:%491=548%:% |
2068 %:%511=555%:% |
2102 %:%492=549%:% |
2069 %:%512=556%:% |
2103 %:%493=550%:% |
2070 %:%513=557%:% |
2104 %:%494=551%:% |
2071 %:%514=558%:% |
2105 %:%495=552%:% |
2072 %:%515=559%:% |
2106 %:%496=553%:% |
2073 %:%516=560%:% |
2107 %:%497=554%:% |
2074 %:%517=561%:% |
2108 %:%498=555%:% |
2075 %:%518=562%:% |
2109 %:%499=556%:% |
2076 %:%519=563%:% |
2110 %:%500=557%:% |
2077 %:%520=564%:% |
2111 %:%501=558%:% |
2078 %:%521=565%:% |
2112 %:%502=559%:% |
2079 %:%522=566%:% |
2113 %:%503=560%:% |
2080 %:%523=567%:% |
2114 %:%504=561%:% |
2081 %:%524=568%:% |
2115 %:%505=562%:% |
2082 %:%525=569%:% |
2116 %:%506=563%:% |
2083 %:%526=570%:% |
2117 %:%507=564%:% |
2084 %:%527=571%:% |
2118 %:%508=565%:% |
2085 %:%528=572%:% |
2119 %:%509=566%:% |
2086 %:%529=573%:% |
2120 %:%510=567%:% |
2087 %:%530=574%:% |
2121 %:%511=568%:% |
2088 %:%531=575%:% |
2122 %:%512=569%:% |
2089 %:%532=576%:% |
2123 %:%513=570%:% |
2090 %:%533=577%:% |
2124 %:%514=571%:% |
2091 %:%534=578%:% |
2125 %:%515=572%:% |
2092 %:%535=579%:% |
2126 %:%516=573%:% |
2093 %:%536=580%:% |
2127 %:%517=574%:% |
2094 %:%537=581%:% |
2128 %:%518=575%:% |
2095 %:%538=582%:% |
2129 %:%519=576%:% |
2096 %:%539=583%:% |
2130 %:%520=577%:% |
2097 %:%540=584%:% |
2131 %:%529=581%:% |
2098 %:%541=585%:% |
2132 %:%541=585%:% |
2099 %:%542=586%:% |
2133 %:%542=586%:% |
2100 %:%543=587%:% |
2134 %:%543=587%:% |
2101 %:%544=588%:% |
2135 %:%544=588%:% |
2102 %:%545=589%:% |
2136 %:%545=589%:% |
2174 %:%617=661%:% |
2208 %:%617=661%:% |
2175 %:%618=662%:% |
2209 %:%618=662%:% |
2176 %:%619=663%:% |
2210 %:%619=663%:% |
2177 %:%620=664%:% |
2211 %:%620=664%:% |
2178 %:%621=665%:% |
2212 %:%621=665%:% |
2179 %:%621=666%:% |
2213 %:%622=666%:% |
2180 %:%622=667%:% |
2214 %:%623=667%:% |
2181 %:%622=668%:% |
2215 %:%624=668%:% |
2182 %:%623=669%:% |
2216 %:%625=669%:% |
2183 %:%624=670%:% |
2217 %:%626=670%:% |
2184 %:%624=671%:% |
2218 %:%627=671%:% |
2185 %:%625=672%:% |
2219 %:%628=672%:% |
2186 %:%626=673%:% |
2220 %:%629=673%:% |
2187 %:%627=674%:% |
2221 %:%630=674%:% |
2188 %:%628=675%:% |
2222 %:%631=675%:% |
2189 %:%629=676%:% |
2223 %:%632=676%:% |
2190 %:%630=677%:% |
2224 %:%633=677%:% |
2191 %:%631=678%:% |
2225 %:%634=678%:% |
2192 %:%632=679%:% |
2226 %:%635=679%:% |
2193 %:%633=680%:% |
2227 %:%636=680%:% |
2194 %:%634=681%:% |
2228 %:%637=681%:% |
2195 %:%635=682%:% |
2229 %:%638=682%:% |
2196 %:%636=683%:% |
2230 %:%639=683%:% |
2197 %:%637=684%:% |
2231 %:%640=684%:% |
2198 %:%638=685%:% |
2232 %:%641=685%:% |
2199 %:%639=686%:% |
2233 %:%642=686%:% |
2200 %:%640=687%:% |
2234 %:%643=687%:% |
2201 %:%641=688%:% |
2235 %:%644=688%:% |
2202 %:%642=689%:% |
2236 %:%645=689%:% |
2203 %:%643=690%:% |
2237 %:%646=690%:% |
2204 %:%644=691%:% |
2238 %:%647=691%:% |
2205 %:%645=692%:% |
2239 %:%648=692%:% |
2206 %:%646=693%:% |
2240 %:%649=693%:% |
2207 %:%647=694%:% |
2241 %:%650=694%:% |
2208 %:%648=695%:% |
2242 %:%651=695%:% |
2209 %:%649=696%:% |
2243 %:%652=696%:% |
2210 %:%650=697%:% |
2244 %:%653=697%:% |
2211 %:%651=698%:% |
2245 %:%654=698%:% |
2212 %:%652=699%:% |
2246 %:%655=699%:% |
2213 %:%653=700%:% |
2247 %:%655=700%:% |
2214 %:%654=701%:% |
2248 %:%656=701%:% |
2215 %:%655=702%:% |
2249 %:%656=702%:% |
2216 %:%656=703%:% |
2250 %:%657=703%:% |
2217 %:%657=704%:% |
2251 %:%658=704%:% |
2218 %:%658=705%:% |
2252 %:%658=705%:% |
2219 %:%659=706%:% |
2253 %:%659=706%:% |
2220 %:%660=707%:% |
2254 %:%660=707%:% |
2221 %:%661=708%:% |
2255 %:%661=708%:% |
2222 %:%662=709%:% |
2256 %:%662=709%:% |
2236 %:%676=723%:% |
2270 %:%676=723%:% |
2237 %:%677=724%:% |
2271 %:%677=724%:% |
2238 %:%678=725%:% |
2272 %:%678=725%:% |
2239 %:%679=726%:% |
2273 %:%679=726%:% |
2240 %:%680=727%:% |
2274 %:%680=727%:% |
2241 %:%680=728%:% |
2275 %:%681=728%:% |
2242 %:%680=729%:% |
2276 %:%682=729%:% |
2243 %:%681=730%:% |
2277 %:%683=730%:% |
2244 %:%682=731%:% |
2278 %:%684=731%:% |
2245 %:%683=732%:% |
2279 %:%685=732%:% |
2246 %:%684=733%:% |
2280 %:%686=733%:% |
2247 %:%685=734%:% |
2281 %:%687=734%:% |
2248 %:%686=735%:% |
2282 %:%688=735%:% |
2249 %:%687=736%:% |
2283 %:%689=736%:% |
2250 %:%688=737%:% |
2284 %:%690=737%:% |
2251 %:%689=738%:% |
2285 %:%691=738%:% |
2252 %:%689=739%:% |
2286 %:%692=739%:% |
2253 %:%690=740%:% |
2287 %:%693=740%:% |
2254 %:%691=741%:% |
2288 %:%694=741%:% |
2255 %:%692=742%:% |
2289 %:%695=742%:% |
2256 %:%693=743%:% |
2290 %:%696=743%:% |
2257 %:%694=744%:% |
2291 %:%697=744%:% |
2258 %:%695=745%:% |
2292 %:%698=745%:% |
2259 %:%696=746%:% |
2293 %:%699=746%:% |
2260 %:%697=747%:% |
2294 %:%700=747%:% |
2261 %:%698=748%:% |
2295 %:%701=748%:% |
2262 %:%699=749%:% |
2296 %:%702=749%:% |
2263 %:%700=750%:% |
2297 %:%703=750%:% |
2264 %:%701=751%:% |
2298 %:%704=751%:% |
2265 %:%702=752%:% |
2299 %:%705=752%:% |
2266 %:%703=753%:% |
2300 %:%706=753%:% |
2267 %:%704=754%:% |
2301 %:%707=754%:% |
2268 %:%705=755%:% |
2302 %:%708=755%:% |
2269 %:%706=756%:% |
2303 %:%709=756%:% |
2270 %:%707=757%:% |
2304 %:%710=757%:% |
2271 %:%708=758%:% |
2305 %:%711=758%:% |
2272 %:%709=759%:% |
2306 %:%712=759%:% |
2273 %:%710=760%:% |
2307 %:%713=760%:% |
2274 %:%711=761%:% |
2308 %:%714=761%:% |
2275 %:%712=762%:% |
2309 %:%714=762%:% |
2276 %:%713=763%:% |
2310 %:%714=763%:% |
2277 %:%714=764%:% |
2311 %:%715=764%:% |
2278 %:%715=765%:% |
2312 %:%716=765%:% |
2279 %:%716=766%:% |
2313 %:%717=766%:% |
2280 %:%717=767%:% |
2314 %:%718=767%:% |
2281 %:%718=768%:% |
2315 %:%719=768%:% |
2282 %:%719=769%:% |
2316 %:%720=769%:% |
2283 %:%720=770%:% |
2317 %:%721=770%:% |
2284 %:%721=771%:% |
2318 %:%722=771%:% |
2285 %:%722=772%:% |
2319 %:%723=772%:% |
2286 %:%723=773%:% |
2320 %:%723=773%:% |
2287 %:%724=774%:% |
2321 %:%724=774%:% |
2288 %:%724=775%:% |
2322 %:%725=775%:% |
2289 %:%725=776%:% |
2323 %:%726=776%:% |
2290 %:%726=777%:% |
2324 %:%727=777%:% |
2291 %:%727=778%:% |
2325 %:%728=778%:% |
2292 %:%728=779%:% |
2326 %:%729=779%:% |
2293 %:%729=780%:% |
2327 %:%730=780%:% |
2294 %:%730=781%:% |
2328 %:%731=781%:% |
2295 %:%731=782%:% |
2329 %:%732=782%:% |
2296 %:%731=783%:% |
2330 %:%733=783%:% |
2297 %:%732=784%:% |
2331 %:%734=784%:% |
2298 %:%733=785%:% |
2332 %:%735=785%:% |
2299 %:%734=786%:% |
2333 %:%736=786%:% |
2300 %:%734=787%:% |
2334 %:%737=787%:% |
2301 %:%735=788%:% |
2335 %:%738=788%:% |
2302 %:%736=789%:% |
2336 %:%739=789%:% |
2303 %:%737=790%:% |
2337 %:%740=790%:% |
2304 %:%738=791%:% |
2338 %:%741=791%:% |
2305 %:%739=792%:% |
2339 %:%742=792%:% |
2306 %:%740=793%:% |
2340 %:%743=793%:% |
2307 %:%741=794%:% |
2341 %:%744=794%:% |
2308 %:%742=795%:% |
2342 %:%745=795%:% |
2309 %:%743=796%:% |
2343 %:%746=796%:% |
2310 %:%744=797%:% |
2344 %:%747=797%:% |
2311 %:%745=798%:% |
2345 %:%748=798%:% |
2312 %:%745=799%:% |
2346 %:%749=799%:% |
2313 %:%746=800%:% |
2347 %:%750=800%:% |
2314 %:%747=801%:% |
2348 %:%751=801%:% |
2315 %:%748=802%:% |
2349 %:%752=802%:% |
2316 %:%749=803%:% |
2350 %:%753=803%:% |
2317 %:%749=804%:% |
2351 %:%754=804%:% |
2318 %:%750=805%:% |
2352 %:%755=805%:% |
2319 %:%751=806%:% |
2353 %:%756=806%:% |
2320 %:%752=807%:% |
2354 %:%757=807%:% |
2321 %:%753=808%:% |
2355 %:%758=808%:% |
2322 %:%754=809%:% |
2356 %:%758=809%:% |
2323 %:%755=810%:% |
2357 %:%759=810%:% |
2324 %:%756=811%:% |
2358 %:%760=811%:% |
2325 %:%757=812%:% |
2359 %:%761=812%:% |
2326 %:%758=813%:% |
2360 %:%762=813%:% |
2327 %:%759=814%:% |
2361 %:%763=814%:% |
2328 %:%760=815%:% |
2362 %:%764=815%:% |
2329 %:%761=816%:% |
2363 %:%765=816%:% |
2330 %:%762=817%:% |
2364 %:%765=817%:% |
2331 %:%763=818%:% |
2365 %:%766=818%:% |
2332 %:%764=819%:% |
2366 %:%767=819%:% |
2333 %:%765=820%:% |
2367 %:%768=820%:% |
2334 %:%766=821%:% |
2368 %:%768=821%:% |
2335 %:%767=822%:% |
2369 %:%769=822%:% |
2336 %:%768=823%:% |
2370 %:%770=823%:% |
2337 %:%769=824%:% |
2371 %:%771=824%:% |
2338 %:%770=825%:% |
2372 %:%772=825%:% |
2339 %:%771=826%:% |
2373 %:%773=826%:% |
2340 %:%772=827%:% |
2374 %:%774=827%:% |
2341 %:%773=828%:% |
2375 %:%775=828%:% |
2342 %:%774=829%:% |
2376 %:%776=829%:% |
2343 %:%775=830%:% |
2377 %:%777=830%:% |
2344 %:%776=831%:% |
2378 %:%778=831%:% |
2345 %:%777=832%:% |
2379 %:%779=832%:% |
2346 %:%778=833%:% |
2380 %:%779=833%:% |
2347 %:%779=834%:% |
2381 %:%780=834%:% |
2348 %:%780=835%:% |
2382 %:%781=835%:% |
2349 %:%781=836%:% |
2383 %:%782=836%:% |
2350 %:%782=837%:% |
2384 %:%783=837%:% |
2351 %:%783=838%:% |
2385 %:%783=838%:% |
2352 %:%784=839%:% |
2386 %:%784=839%:% |
2353 %:%785=840%:% |
2387 %:%785=840%:% |
2354 %:%786=841%:% |
2388 %:%786=841%:% |
2355 %:%787=842%:% |
2389 %:%787=842%:% |
2371 %:%803=858%:% |
2405 %:%803=858%:% |
2372 %:%804=859%:% |
2406 %:%804=859%:% |
2373 %:%805=860%:% |
2407 %:%805=860%:% |
2374 %:%806=861%:% |
2408 %:%806=861%:% |
2375 %:%807=862%:% |
2409 %:%807=862%:% |
2376 %:%807=863%:% |
2410 %:%808=863%:% |
2377 %:%808=864%:% |
2411 %:%809=864%:% |
2378 %:%809=865%:% |
2412 %:%810=865%:% |
2379 %:%810=866%:% |
2413 %:%811=866%:% |
2380 %:%811=867%:% |
2414 %:%812=867%:% |
2381 %:%812=868%:% |
2415 %:%813=868%:% |
2382 %:%813=869%:% |
2416 %:%814=869%:% |
2383 %:%814=870%:% |
2417 %:%815=870%:% |
2384 %:%815=871%:% |
2418 %:%816=871%:% |
2385 %:%816=872%:% |
2419 %:%817=872%:% |
2386 %:%817=873%:% |
2420 %:%818=873%:% |
2387 %:%818=874%:% |
2421 %:%819=874%:% |
2388 %:%819=875%:% |
2422 %:%820=875%:% |
2389 %:%820=876%:% |
2423 %:%821=876%:% |
2390 %:%821=877%:% |
2424 %:%822=877%:% |
2391 %:%822=878%:% |
2425 %:%823=878%:% |
2392 %:%823=879%:% |
2426 %:%824=879%:% |
2393 %:%824=880%:% |
2427 %:%825=880%:% |
2394 %:%825=881%:% |
2428 %:%826=881%:% |
2395 %:%826=882%:% |
2429 %:%827=882%:% |
2396 %:%827=883%:% |
2430 %:%828=883%:% |
2397 %:%828=884%:% |
2431 %:%829=884%:% |
2398 %:%829=885%:% |
2432 %:%830=885%:% |
2399 %:%830=886%:% |
2433 %:%831=886%:% |
2400 %:%831=887%:% |
2434 %:%832=887%:% |
2401 %:%832=888%:% |
2435 %:%833=888%:% |
2402 %:%833=889%:% |
2436 %:%834=889%:% |
2403 %:%834=890%:% |
2437 %:%835=890%:% |
2404 %:%835=891%:% |
2438 %:%836=891%:% |
2405 %:%836=892%:% |
2439 %:%837=892%:% |
2406 %:%837=893%:% |
2440 %:%838=893%:% |
2407 %:%838=894%:% |
2441 %:%839=894%:% |
2408 %:%839=895%:% |
2442 %:%840=895%:% |
2409 %:%840=896%:% |
2443 %:%841=896%:% |
2410 %:%840=897%:% |
2444 %:%841=897%:% |
2411 %:%841=898%:% |
2445 %:%842=898%:% |
2412 %:%842=899%:% |
2446 %:%843=899%:% |
2413 %:%843=900%:% |
2447 %:%844=900%:% |
2414 %:%844=901%:% |
2448 %:%845=901%:% |
2415 %:%845=902%:% |
2449 %:%846=902%:% |
2416 %:%846=903%:% |
2450 %:%847=903%:% |
2417 %:%847=904%:% |
2451 %:%848=904%:% |
2418 %:%848=905%:% |
2452 %:%849=905%:% |
2419 %:%849=906%:% |
2453 %:%850=906%:% |
2420 %:%850=907%:% |
2454 %:%851=907%:% |
2421 %:%851=908%:% |
2455 %:%852=908%:% |
2422 %:%852=909%:% |
2456 %:%853=909%:% |
2423 %:%853=910%:% |
2457 %:%854=910%:% |
2424 %:%854=911%:% |
2458 %:%855=911%:% |
2425 %:%855=912%:% |
2459 %:%856=912%:% |
2426 %:%856=913%:% |
2460 %:%857=913%:% |
2427 %:%857=914%:% |
2461 %:%858=914%:% |
2428 %:%858=915%:% |
2462 %:%859=915%:% |
2429 %:%859=916%:% |
2463 %:%860=916%:% |
2430 %:%860=917%:% |
2464 %:%861=917%:% |
2431 %:%861=918%:% |
2465 %:%862=918%:% |
2432 %:%862=919%:% |
2466 %:%863=919%:% |
2433 %:%863=920%:% |
2467 %:%864=920%:% |
2434 %:%864=921%:% |
2468 %:%865=921%:% |
2435 %:%865=922%:% |
2469 %:%866=922%:% |
2436 %:%866=923%:% |
2470 %:%867=923%:% |
2437 %:%867=924%:% |
2471 %:%868=924%:% |
2438 %:%868=925%:% |
2472 %:%869=925%:% |
2439 %:%869=926%:% |
2473 %:%870=926%:% |
2440 %:%870=927%:% |
2474 %:%871=927%:% |
2441 %:%870=928%:% |
2475 %:%872=928%:% |
2442 %:%871=929%:% |
2476 %:%873=929%:% |
2443 %:%872=930%:% |
2477 %:%874=930%:% |
2444 %:%873=931%:% |
2478 %:%874=931%:% |
2445 %:%874=932%:% |
2479 %:%875=932%:% |
2446 %:%875=933%:% |
2480 %:%876=933%:% |
2447 %:%876=934%:% |
2481 %:%877=934%:% |
2448 %:%877=935%:% |
2482 %:%878=935%:% |
2449 %:%878=936%:% |
2483 %:%879=936%:% |
2450 %:%878=937%:% |
2484 %:%880=937%:% |
2451 %:%879=938%:% |
2485 %:%881=938%:% |
2452 %:%880=939%:% |
2486 %:%882=939%:% |
2453 %:%881=940%:% |
2487 %:%883=940%:% |
2454 %:%882=941%:% |
2488 %:%884=941%:% |
2455 %:%883=942%:% |
2489 %:%885=942%:% |
2456 %:%884=943%:% |
2490 %:%886=943%:% |
2457 %:%885=944%:% |
2491 %:%887=944%:% |
2458 %:%886=945%:% |
2492 %:%888=945%:% |
2459 %:%887=946%:% |
2493 %:%889=946%:% |
2460 %:%888=947%:% |
2494 %:%890=947%:% |
2461 %:%889=948%:% |
2495 %:%891=948%:% |
2462 %:%890=949%:% |
2496 %:%892=949%:% |
2463 %:%891=950%:% |
2497 %:%893=950%:% |
2464 %:%892=951%:% |
2498 %:%894=951%:% |
2465 %:%893=952%:% |
2499 %:%895=952%:% |
2466 %:%894=953%:% |
2500 %:%896=953%:% |
2467 %:%895=954%:% |
2501 %:%897=954%:% |
2468 %:%896=955%:% |
2502 %:%898=955%:% |
2469 %:%897=956%:% |
2503 %:%899=956%:% |
2470 %:%898=957%:% |
2504 %:%900=957%:% |
2471 %:%899=958%:% |
2505 %:%901=958%:% |
2472 %:%900=959%:% |
2506 %:%902=959%:% |
2473 %:%901=960%:% |
2507 %:%903=960%:% |
2474 %:%902=961%:% |
2508 %:%904=961%:% |
2475 %:%903=962%:% |
2509 %:%904=962%:% |
2476 %:%904=963%:% |
2510 %:%905=963%:% |
2477 %:%905=964%:% |
2511 %:%906=964%:% |
2478 %:%906=965%:% |
2512 %:%907=965%:% |
2479 %:%907=966%:% |
2513 %:%908=966%:% |
2480 %:%908=967%:% |
2514 %:%909=967%:% |
2481 %:%909=968%:% |
2515 %:%910=968%:% |
2482 %:%910=969%:% |
2516 %:%911=969%:% |
2483 %:%911=970%:% |
2517 %:%912=970%:% |
2484 %:%912=971%:% |
2518 %:%912=971%:% |
2485 %:%913=972%:% |
2519 %:%913=972%:% |
2486 %:%914=973%:% |
2520 %:%914=973%:% |
2487 %:%915=974%:% |
2521 %:%915=974%:% |
2488 %:%915=975%:% |
2522 %:%916=975%:% |
2489 %:%915=976%:% |
2523 %:%917=976%:% |
2490 %:%916=977%:% |
2524 %:%918=977%:% |
2491 %:%916=978%:% |
2525 %:%919=978%:% |
2492 %:%916=979%:% |
2526 %:%920=979%:% |
2493 %:%917=980%:% |
2527 %:%921=980%:% |
2494 %:%918=981%:% |
2528 %:%922=981%:% |
2495 %:%918=982%:% |
2529 %:%923=982%:% |
2496 %:%919=983%:% |
2530 %:%924=983%:% |
2497 %:%920=984%:% |
2531 %:%925=984%:% |
2498 %:%921=985%:% |
2532 %:%926=985%:% |
2499 %:%922=986%:% |
2533 %:%927=986%:% |
2500 %:%923=987%:% |
2534 %:%928=987%:% |
2501 %:%924=988%:% |
2535 %:%929=988%:% |
2502 %:%925=989%:% |
2536 %:%930=989%:% |
2503 %:%926=990%:% |
2537 %:%931=990%:% |
2504 %:%927=991%:% |
2538 %:%932=991%:% |
2505 %:%928=992%:% |
2539 %:%933=992%:% |
2506 %:%929=993%:% |
2540 %:%934=993%:% |
2507 %:%930=994%:% |
2541 %:%935=994%:% |
2508 %:%931=995%:% |
2542 %:%936=995%:% |
2509 %:%932=996%:% |
2543 %:%937=996%:% |
2510 %:%933=997%:% |
2544 %:%938=997%:% |
2511 %:%934=998%:% |
2545 %:%939=998%:% |
2512 %:%935=999%:% |
2546 %:%940=999%:% |
2513 %:%936=1000%:% |
2547 %:%941=1000%:% |
2514 %:%937=1001%:% |
2548 %:%942=1001%:% |
2515 %:%938=1002%:% |
2549 %:%943=1002%:% |
2516 %:%939=1003%:% |
2550 %:%944=1003%:% |
2517 %:%940=1004%:% |
2551 %:%945=1004%:% |
2518 %:%941=1005%:% |
2552 %:%946=1005%:% |
2519 %:%942=1006%:% |
2553 %:%947=1006%:% |
2520 %:%943=1007%:% |
2554 %:%948=1007%:% |
2521 %:%944=1008%:% |
2555 %:%949=1008%:% |
2522 %:%945=1009%:% |
2556 %:%949=1009%:% |
2523 %:%946=1010%:% |
2557 %:%949=1010%:% |
2524 %:%947=1011%:% |
2558 %:%950=1011%:% |
2525 %:%948=1012%:% |
2559 %:%950=1012%:% |
2526 %:%949=1013%:% |
2560 %:%950=1013%:% |
2527 %:%950=1014%:% |
2561 %:%951=1014%:% |
2528 %:%951=1015%:% |
2562 %:%952=1015%:% |
2529 %:%952=1016%:% |
2563 %:%952=1016%:% |
2530 %:%952=1017%:% |
2564 %:%953=1017%:% |
2531 %:%953=1018%:% |
2565 %:%954=1018%:% |
2532 %:%954=1019%:% |
2566 %:%955=1019%:% |
2533 %:%955=1020%:% |
2567 %:%956=1020%:% |
2534 %:%955=1021%:% |
2568 %:%957=1021%:% |
2535 %:%955=1022%:% |
2569 %:%958=1022%:% |
2536 %:%955=1023%:% |
2570 %:%959=1023%:% |
2537 %:%956=1024%:% |
2571 %:%960=1024%:% |
2538 %:%957=1025%:% |
2572 %:%961=1025%:% |
2539 %:%958=1026%:% |
2573 %:%962=1026%:% |
2540 %:%959=1027%:% |
2574 %:%963=1027%:% |
2541 %:%960=1028%:% |
2575 %:%964=1028%:% |
2542 %:%961=1029%:% |
2576 %:%965=1029%:% |
2543 %:%962=1030%:% |
2577 %:%966=1030%:% |
2544 %:%963=1031%:% |
2578 %:%967=1031%:% |
2545 %:%964=1032%:% |
2579 %:%968=1032%:% |
2546 %:%965=1033%:% |
2580 %:%969=1033%:% |
2547 %:%966=1034%:% |
2581 %:%970=1034%:% |
2548 %:%967=1035%:% |
2582 %:%971=1035%:% |
2549 %:%968=1036%:% |
2583 %:%972=1036%:% |
2550 %:%969=1037%:% |
2584 %:%973=1037%:% |
2551 %:%970=1038%:% |
2585 %:%974=1038%:% |
2552 %:%971=1039%:% |
2586 %:%975=1039%:% |
2553 %:%972=1040%:% |
2587 %:%976=1040%:% |
2554 %:%973=1041%:% |
2588 %:%977=1041%:% |
2555 %:%974=1042%:% |
2589 %:%978=1042%:% |
2556 %:%975=1043%:% |
2590 %:%979=1043%:% |
2557 %:%976=1044%:% |
2591 %:%980=1044%:% |
2558 %:%977=1045%:% |
2592 %:%981=1045%:% |
2559 %:%978=1046%:% |
2593 %:%982=1046%:% |
2560 %:%979=1047%:% |
2594 %:%983=1047%:% |
2561 %:%980=1048%:% |
2595 %:%984=1048%:% |
2562 %:%981=1049%:% |
2596 %:%985=1049%:% |
2563 %:%982=1050%:% |
2597 %:%986=1050%:% |
2564 %:%983=1051%:% |
2598 %:%986=1051%:% |
2565 %:%984=1052%:% |
2599 %:%987=1052%:% |
2566 %:%985=1053%:% |
2600 %:%988=1053%:% |
2567 %:%986=1054%:% |
2601 %:%989=1054%:% |
2568 %:%987=1055%:% |
2602 %:%989=1055%:% |
2569 %:%988=1056%:% |
2603 %:%989=1056%:% |
2570 %:%989=1057%:% |
2604 %:%989=1057%:% |
2571 %:%990=1058%:% |
2605 %:%990=1058%:% |
2572 %:%991=1059%:% |
2606 %:%991=1059%:% |
2573 %:%992=1060%:% |
2607 %:%992=1060%:% |
2574 %:%1001=1064%:% |
2608 %:%993=1061%:% |
2575 %:%1013=1068%:% |
2609 %:%994=1062%:% |
2576 %:%1014=1069%:% |
2610 %:%995=1063%:% |
2577 %:%1015=1070%:% |
2611 %:%996=1064%:% |
2578 %:%1016=1071%:% |
2612 %:%997=1065%:% |
2579 %:%1017=1072%:% |
2613 %:%998=1066%:% |
2580 %:%1018=1073%:% |
2614 %:%999=1067%:% |
2581 %:%1019=1074%:% |
2615 %:%1000=1068%:% |
2582 %:%1020=1075%:% |
2616 %:%1001=1069%:% |
2583 %:%1021=1076%:% |
2617 %:%1002=1070%:% |
2584 %:%1022=1077%:% |
2618 %:%1003=1071%:% |
2585 %:%1023=1078%:% |
2619 %:%1004=1072%:% |
2586 %:%1024=1079%:% |
2620 %:%1005=1073%:% |
2587 %:%1025=1080%:% |
2621 %:%1006=1074%:% |
2588 %:%1026=1081%:% |
2622 %:%1007=1075%:% |
2589 %:%1027=1082%:% |
2623 %:%1008=1076%:% |
2590 %:%1028=1083%:% |
2624 %:%1009=1077%:% |
2591 %:%1029=1084%:% |
2625 %:%1010=1078%:% |
2592 %:%1030=1085%:% |
2626 %:%1011=1079%:% |
2593 %:%1031=1086%:% |
2627 %:%1012=1080%:% |
2594 %:%1032=1087%:% |
2628 %:%1013=1081%:% |
2595 %:%1033=1088%:% |
2629 %:%1014=1082%:% |
2596 %:%1034=1089%:% |
2630 %:%1015=1083%:% |
2597 %:%1035=1090%:% |
2631 %:%1016=1084%:% |
2598 %:%1036=1091%:% |
2632 %:%1017=1085%:% |
2599 %:%1037=1092%:% |
2633 %:%1018=1086%:% |
2600 %:%1038=1093%:% |
2634 %:%1019=1087%:% |
2601 %:%1039=1094%:% |
2635 %:%1020=1088%:% |
2602 %:%1040=1095%:% |
2636 %:%1021=1089%:% |
2603 %:%1041=1096%:% |
2637 %:%1022=1090%:% |
2604 %:%1042=1097%:% |
2638 %:%1023=1091%:% |
2605 %:%1043=1098%:% |
2639 %:%1024=1092%:% |
2606 %:%1044=1099%:% |
2640 %:%1025=1093%:% |
2607 %:%1045=1100%:% |
2641 %:%1026=1094%:% |
2608 %:%1046=1101%:% |
2642 %:%1035=1098%:% |
2609 %:%1047=1102%:% |
2643 %:%1047=1102%:% |
2610 %:%1048=1103%:% |
2644 %:%1048=1103%:% |
2611 %:%1049=1104%:% |
2645 %:%1049=1104%:% |
2612 %:%1050=1105%:% |
2646 %:%1050=1105%:% |
2613 %:%1051=1106%:% |
2647 %:%1051=1106%:% |
2686 %:%1124=1179%:% |
2720 %:%1124=1179%:% |
2687 %:%1125=1180%:% |
2721 %:%1125=1180%:% |
2688 %:%1126=1181%:% |
2722 %:%1126=1181%:% |
2689 %:%1127=1182%:% |
2723 %:%1127=1182%:% |
2690 %:%1128=1183%:% |
2724 %:%1128=1183%:% |
2691 %:%1128=1184%:% |
2725 %:%1129=1184%:% |
2692 %:%1129=1185%:% |
2726 %:%1130=1185%:% |
2693 %:%1130=1186%:% |
2727 %:%1131=1186%:% |
2694 %:%1131=1187%:% |
2728 %:%1132=1187%:% |
2695 %:%1132=1188%:% |
2729 %:%1133=1188%:% |
2696 %:%1133=1189%:% |
2730 %:%1134=1189%:% |
2697 %:%1134=1190%:% |
2731 %:%1135=1190%:% |
2698 %:%1135=1191%:% |
2732 %:%1136=1191%:% |
2699 %:%1136=1192%:% |
2733 %:%1137=1192%:% |
2700 %:%1137=1193%:% |
2734 %:%1138=1193%:% |
2701 %:%1138=1194%:% |
2735 %:%1139=1194%:% |
2702 %:%1139=1195%:% |
2736 %:%1140=1195%:% |
2703 %:%1139=1196%:% |
2737 %:%1141=1196%:% |
2704 %:%1140=1197%:% |
2738 %:%1142=1197%:% |
2705 %:%1141=1198%:% |
2739 %:%1143=1198%:% |
2706 %:%1142=1199%:% |
2740 %:%1144=1199%:% |
2707 %:%1143=1200%:% |
2741 %:%1145=1200%:% |
2708 %:%1144=1201%:% |
2742 %:%1146=1201%:% |
2709 %:%1145=1202%:% |
2743 %:%1147=1202%:% |
2710 %:%1146=1203%:% |
2744 %:%1148=1203%:% |
2711 %:%1147=1204%:% |
2745 %:%1149=1204%:% |
2712 %:%1148=1205%:% |
2746 %:%1150=1205%:% |
2713 %:%1149=1206%:% |
2747 %:%1151=1206%:% |
2714 %:%1150=1207%:% |
2748 %:%1152=1207%:% |
2715 %:%1151=1208%:% |
2749 %:%1153=1208%:% |
2716 %:%1152=1209%:% |
2750 %:%1154=1209%:% |
2717 %:%1153=1210%:% |
2751 %:%1155=1210%:% |
2718 %:%1154=1211%:% |
2752 %:%1156=1211%:% |
2719 %:%1155=1212%:% |
2753 %:%1157=1212%:% |
2720 %:%1156=1213%:% |
2754 %:%1158=1213%:% |
2721 %:%1157=1214%:% |
2755 %:%1159=1214%:% |
2722 %:%1158=1215%:% |
2756 %:%1160=1215%:% |
2723 %:%1159=1216%:% |
2757 %:%1161=1216%:% |
2724 %:%1160=1217%:% |
2758 %:%1162=1217%:% |
2725 %:%1161=1218%:% |
2759 %:%1162=1218%:% |
2726 %:%1162=1219%:% |
2760 %:%1163=1219%:% |
2727 %:%1163=1220%:% |
2761 %:%1164=1220%:% |
2728 %:%1164=1221%:% |
2762 %:%1165=1221%:% |
2729 %:%1165=1222%:% |
2763 %:%1166=1222%:% |
2730 %:%1166=1223%:% |
2764 %:%1167=1223%:% |
2731 %:%1167=1224%:% |
2765 %:%1168=1224%:% |
2732 %:%1168=1225%:% |
2766 %:%1169=1225%:% |
2733 %:%1169=1226%:% |
2767 %:%1170=1226%:% |
2734 %:%1170=1227%:% |
2768 %:%1171=1227%:% |
2735 %:%1171=1228%:% |
2769 %:%1172=1228%:% |
2736 %:%1172=1229%:% |
2770 %:%1173=1229%:% |
2737 %:%1173=1230%:% |
2771 %:%1173=1230%:% |
2738 %:%1174=1231%:% |
2772 %:%1174=1231%:% |
2739 %:%1175=1232%:% |
2773 %:%1175=1232%:% |
2740 %:%1176=1233%:% |
2774 %:%1176=1233%:% |
2741 %:%1177=1234%:% |
2775 %:%1177=1234%:% |
2753 %:%1189=1246%:% |
2787 %:%1189=1246%:% |
2754 %:%1190=1247%:% |
2788 %:%1190=1247%:% |
2755 %:%1191=1248%:% |
2789 %:%1191=1248%:% |
2756 %:%1192=1249%:% |
2790 %:%1192=1249%:% |
2757 %:%1193=1250%:% |
2791 %:%1193=1250%:% |
2758 %:%1193=1251%:% |
2792 %:%1194=1251%:% |
2759 %:%1193=1252%:% |
2793 %:%1195=1252%:% |
2760 %:%1194=1253%:% |
2794 %:%1196=1253%:% |
2761 %:%1195=1254%:% |
2795 %:%1197=1254%:% |
2762 %:%1195=1255%:% |
2796 %:%1198=1255%:% |
2763 %:%1195=1256%:% |
2797 %:%1199=1256%:% |
2764 %:%1195=1257%:% |
2798 %:%1200=1257%:% |
2765 %:%1196=1258%:% |
2799 %:%1201=1258%:% |
2766 %:%1197=1259%:% |
2800 %:%1202=1259%:% |
2767 %:%1198=1260%:% |
2801 %:%1203=1260%:% |
2768 %:%1199=1261%:% |
2802 %:%1204=1261%:% |
2769 %:%1200=1262%:% |
2803 %:%1205=1262%:% |
2770 %:%1200=1263%:% |
2804 %:%1206=1263%:% |
2771 %:%1201=1264%:% |
2805 %:%1207=1264%:% |
2772 %:%1202=1265%:% |
2806 %:%1208=1265%:% |
2773 %:%1203=1266%:% |
2807 %:%1209=1266%:% |
2774 %:%1204=1267%:% |
2808 %:%1210=1267%:% |
2775 %:%1205=1268%:% |
2809 %:%1211=1268%:% |
2776 %:%1206=1269%:% |
2810 %:%1212=1269%:% |
2777 %:%1207=1270%:% |
2811 %:%1213=1270%:% |
2778 %:%1208=1271%:% |
2812 %:%1214=1271%:% |
2779 %:%1209=1272%:% |
2813 %:%1215=1272%:% |
2780 %:%1210=1273%:% |
2814 %:%1216=1273%:% |
2781 %:%1211=1274%:% |
2815 %:%1217=1274%:% |
2782 %:%1212=1275%:% |
2816 %:%1218=1275%:% |
2783 %:%1213=1276%:% |
2817 %:%1219=1276%:% |
2784 %:%1214=1277%:% |
2818 %:%1220=1277%:% |
2785 %:%1215=1278%:% |
2819 %:%1221=1278%:% |
2786 %:%1216=1279%:% |
2820 %:%1222=1279%:% |
2787 %:%1217=1280%:% |
2821 %:%1223=1280%:% |
2788 %:%1218=1281%:% |
2822 %:%1224=1281%:% |
2789 %:%1219=1282%:% |
2823 %:%1225=1282%:% |
2790 %:%1220=1283%:% |
2824 %:%1226=1283%:% |
2791 %:%1221=1284%:% |
2825 %:%1227=1284%:% |
2792 %:%1222=1285%:% |
2826 %:%1227=1285%:% |
2793 %:%1223=1286%:% |
2827 %:%1227=1286%:% |
2794 %:%1224=1287%:% |
2828 %:%1228=1287%:% |
2795 %:%1225=1288%:% |
2829 %:%1229=1288%:% |
2796 %:%1226=1289%:% |
2830 %:%1229=1289%:% |
2797 %:%1227=1290%:% |
2831 %:%1229=1290%:% |
2798 %:%1228=1291%:% |
2832 %:%1229=1291%:% |
2799 %:%1229=1292%:% |
2833 %:%1230=1292%:% |
2800 %:%1230=1293%:% |
2834 %:%1231=1293%:% |
2801 %:%1231=1294%:% |
2835 %:%1232=1294%:% |
2802 %:%1232=1295%:% |
2836 %:%1233=1295%:% |
2803 %:%1233=1296%:% |
2837 %:%1234=1296%:% |
2804 %:%1234=1297%:% |
2838 %:%1234=1297%:% |
2805 %:%1235=1298%:% |
2839 %:%1235=1298%:% |
2806 %:%1236=1299%:% |
2840 %:%1236=1299%:% |
2807 %:%1237=1300%:% |
2841 %:%1237=1300%:% |
2808 %:%1238=1301%:% |
2842 %:%1238=1301%:% |
2814 %:%1244=1307%:% |
2848 %:%1244=1307%:% |
2815 %:%1245=1308%:% |
2849 %:%1245=1308%:% |
2816 %:%1246=1309%:% |
2850 %:%1246=1309%:% |
2817 %:%1247=1310%:% |
2851 %:%1247=1310%:% |
2818 %:%1248=1311%:% |
2852 %:%1248=1311%:% |
2819 %:%1248=1312%:% |
2853 %:%1249=1312%:% |
2820 %:%1249=1313%:% |
2854 %:%1250=1313%:% |
2821 %:%1249=1314%:% |
2855 %:%1251=1314%:% |
2822 %:%1250=1315%:% |
2856 %:%1252=1315%:% |
2823 %:%1250=1316%:% |
2857 %:%1253=1316%:% |
2824 %:%1251=1317%:% |
2858 %:%1254=1317%:% |
2825 %:%1252=1318%:% |
2859 %:%1255=1318%:% |
2826 %:%1253=1319%:% |
2860 %:%1256=1319%:% |
2827 %:%1254=1320%:% |
2861 %:%1257=1320%:% |
2828 %:%1255=1321%:% |
2862 %:%1258=1321%:% |
2829 %:%1256=1322%:% |
2863 %:%1259=1322%:% |
2830 %:%1257=1323%:% |
2864 %:%1260=1323%:% |
2831 %:%1257=1324%:% |
2865 %:%1261=1324%:% |
2832 %:%1258=1325%:% |
2866 %:%1262=1325%:% |
2833 %:%1258=1326%:% |
2867 %:%1263=1326%:% |
2834 %:%1259=1327%:% |
2868 %:%1264=1327%:% |
2835 %:%1259=1328%:% |
2869 %:%1265=1328%:% |
2836 %:%1260=1329%:% |
2870 %:%1266=1329%:% |
2837 %:%1261=1330%:% |
2871 %:%1267=1330%:% |
2838 %:%1262=1331%:% |
2872 %:%1268=1331%:% |
2839 %:%1263=1332%:% |
2873 %:%1269=1332%:% |
2840 %:%1264=1333%:% |
2874 %:%1270=1333%:% |
2841 %:%1265=1334%:% |
2875 %:%1271=1334%:% |
2842 %:%1266=1335%:% |
2876 %:%1272=1335%:% |
2843 %:%1267=1336%:% |
2877 %:%1273=1336%:% |
2844 %:%1268=1337%:% |
2878 %:%1274=1337%:% |
2845 %:%1269=1338%:% |
2879 %:%1275=1338%:% |
2846 %:%1270=1339%:% |
2880 %:%1276=1339%:% |
2847 %:%1271=1340%:% |
2881 %:%1277=1340%:% |
2848 %:%1272=1341%:% |
2882 %:%1278=1341%:% |
2849 %:%1273=1342%:% |
2883 %:%1279=1342%:% |
2850 %:%1274=1343%:% |
2884 %:%1280=1343%:% |
2851 %:%1275=1344%:% |
2885 %:%1281=1344%:% |
2852 %:%1276=1345%:% |
2886 %:%1282=1345%:% |
2853 %:%1277=1346%:% |
2887 %:%1282=1346%:% |
2854 %:%1278=1347%:% |
2888 %:%1283=1347%:% |
2855 %:%1279=1348%:% |
2889 %:%1283=1348%:% |
2856 %:%1280=1349%:% |
2890 %:%1284=1349%:% |
2857 %:%1281=1350%:% |
2891 %:%1284=1350%:% |
2858 %:%1282=1351%:% |
2892 %:%1285=1351%:% |
2859 %:%1283=1352%:% |
2893 %:%1286=1352%:% |
2860 %:%1284=1353%:% |
2894 %:%1287=1353%:% |
2861 %:%1285=1354%:% |
2895 %:%1288=1354%:% |
2862 %:%1286=1355%:% |
2896 %:%1289=1355%:% |
2863 %:%1287=1356%:% |
2897 %:%1290=1356%:% |
2864 %:%1288=1357%:% |
2898 %:%1291=1357%:% |
2865 %:%1289=1358%:% |
2899 %:%1291=1358%:% |
2866 %:%1290=1359%:% |
2900 %:%1292=1359%:% |
2867 %:%1290=1360%:% |
2901 %:%1292=1360%:% |
2868 %:%1291=1361%:% |
2902 %:%1293=1361%:% |
2869 %:%1292=1362%:% |
2903 %:%1293=1362%:% |
2870 %:%1293=1363%:% |
2904 %:%1294=1363%:% |
2871 %:%1294=1364%:% |
2905 %:%1295=1364%:% |
2872 %:%1295=1365%:% |
2906 %:%1296=1365%:% |
2873 %:%1296=1366%:% |
2907 %:%1297=1366%:% |
2874 %:%1297=1367%:% |
2908 %:%1298=1367%:% |
2875 %:%1297=1368%:% |
2909 %:%1299=1368%:% |
2876 %:%1298=1369%:% |
2910 %:%1300=1369%:% |
2877 %:%1299=1370%:% |
2911 %:%1301=1370%:% |
2878 %:%1300=1371%:% |
2912 %:%1302=1371%:% |
2879 %:%1300=1372%:% |
2913 %:%1303=1372%:% |
2880 %:%1301=1373%:% |
2914 %:%1304=1373%:% |
2881 %:%1302=1374%:% |
2915 %:%1305=1374%:% |
2882 %:%1303=1375%:% |
2916 %:%1306=1375%:% |
2883 %:%1303=1376%:% |
2917 %:%1307=1376%:% |
2884 %:%1304=1377%:% |
2918 %:%1308=1377%:% |
2885 %:%1304=1378%:% |
2919 %:%1309=1378%:% |
2886 %:%1305=1379%:% |
2920 %:%1310=1379%:% |
2887 %:%1305=1380%:% |
2921 %:%1311=1380%:% |
2888 %:%1306=1381%:% |
2922 %:%1312=1381%:% |
2889 %:%1307=1382%:% |
2923 %:%1313=1382%:% |
2890 %:%1308=1383%:% |
2924 %:%1314=1383%:% |
2891 %:%1308=1384%:% |
2925 %:%1315=1384%:% |
2892 %:%1309=1385%:% |
2926 %:%1316=1385%:% |
2893 %:%1309=1386%:% |
2927 %:%1317=1386%:% |
2894 %:%1310=1387%:% |
2928 %:%1318=1387%:% |
2895 %:%1310=1388%:% |
2929 %:%1319=1388%:% |
2896 %:%1310=1389%:% |
2930 %:%1320=1389%:% |
2897 %:%1310=1390%:% |
2931 %:%1321=1390%:% |
2898 %:%1311=1391%:% |
2932 %:%1322=1391%:% |
2899 %:%1311=1392%:% |
2933 %:%1323=1392%:% |
2900 %:%1312=1393%:% |
2934 %:%1324=1393%:% |
2901 %:%1313=1394%:% |
2935 %:%1324=1394%:% |
2902 %:%1313=1396%:% |
2936 %:%1325=1395%:% |
2903 %:%1313=1397%:% |
2937 %:%1326=1396%:% |
2904 %:%1313=1398%:% |
2938 %:%1327=1397%:% |
2905 %:%1313=1399%:% |
2939 %:%1328=1398%:% |
2906 %:%1313=1400%:% |
2940 %:%1329=1399%:% |
2907 %:%1314=1401%:% |
2941 %:%1330=1400%:% |
2908 %:%1314=1402%:% |
2942 %:%1331=1401%:% |
2909 %:%1315=1403%:% |
2943 %:%1331=1402%:% |
2910 %:%1315=1404%:% |
2944 %:%1332=1403%:% |
2911 %:%1316=1405%:% |
2945 %:%1333=1404%:% |
2912 %:%1316=1406%:% |
2946 %:%1334=1405%:% |
2913 %:%1317=1407%:% |
2947 %:%1334=1406%:% |
2914 %:%1318=1408%:% |
2948 %:%1335=1407%:% |
2915 %:%1319=1409%:% |
2949 %:%1336=1408%:% |
2916 %:%1320=1410%:% |
2950 %:%1337=1409%:% |
2917 %:%1320=1411%:% |
2951 %:%1337=1410%:% |
2918 %:%1321=1412%:% |
2952 %:%1338=1411%:% |
2919 %:%1321=1413%:% |
2953 %:%1338=1412%:% |
2920 %:%1322=1414%:% |
2954 %:%1339=1413%:% |
2921 %:%1323=1415%:% |
2955 %:%1339=1414%:% |
2922 %:%1323=1416%:% |
2956 %:%1340=1415%:% |
2923 %:%1324=1417%:% |
2957 %:%1341=1416%:% |
2924 %:%1325=1418%:% |
2958 %:%1342=1417%:% |
2925 %:%1326=1419%:% |
2959 %:%1342=1418%:% |
2926 %:%1327=1420%:% |
2960 %:%1343=1419%:% |
2927 %:%1328=1421%:% |
2961 %:%1343=1420%:% |
2928 %:%1329=1422%:% |
2962 %:%1344=1421%:% |
2929 %:%1330=1423%:% |
2963 %:%1344=1422%:% |
2930 %:%1331=1424%:% |
2964 %:%1344=1423%:% |
2931 %:%1332=1425%:% |
2965 %:%1344=1424%:% |
2932 %:%1333=1426%:% |
2966 %:%1345=1425%:% |
2933 %:%1334=1427%:% |
2967 %:%1345=1426%:% |
2934 %:%1335=1428%:% |
2968 %:%1346=1427%:% |
2935 %:%1336=1429%:% |
2969 %:%1347=1428%:% |
2936 %:%1337=1430%:% |
2970 %:%1347=1430%:% |
2937 %:%1338=1431%:% |
2971 %:%1347=1431%:% |
2938 %:%1339=1432%:% |
2972 %:%1347=1432%:% |
2939 %:%1340=1433%:% |
2973 %:%1347=1433%:% |
2940 %:%1341=1434%:% |
2974 %:%1347=1434%:% |
2941 %:%1342=1435%:% |
2975 %:%1348=1435%:% |
2942 %:%1343=1436%:% |
2976 %:%1348=1436%:% |
2943 %:%1344=1437%:% |
2977 %:%1349=1437%:% |
2944 %:%1345=1438%:% |
2978 %:%1349=1438%:% |
2945 %:%1346=1439%:% |
2979 %:%1350=1439%:% |
2946 %:%1347=1440%:% |
2980 %:%1350=1440%:% |
2947 %:%1348=1441%:% |
2981 %:%1351=1441%:% |
2948 %:%1349=1442%:% |
2982 %:%1352=1442%:% |
2949 %:%1350=1443%:% |
2983 %:%1353=1443%:% |
2950 %:%1351=1444%:% |
2984 %:%1354=1444%:% |
2951 %:%1352=1445%:% |
2985 %:%1354=1445%:% |
2952 %:%1353=1446%:% |
2986 %:%1355=1446%:% |
2953 %:%1354=1447%:% |
2987 %:%1355=1447%:% |
2954 %:%1355=1448%:% |
2988 %:%1356=1448%:% |
2955 %:%1356=1449%:% |
2989 %:%1357=1449%:% |
2956 %:%1357=1450%:% |
2990 %:%1357=1450%:% |
2957 %:%1358=1451%:% |
2991 %:%1358=1451%:% |
2958 %:%1359=1452%:% |
2992 %:%1359=1452%:% |
2959 %:%1360=1453%:% |
2993 %:%1360=1453%:% |
2960 %:%1361=1454%:% |
2994 %:%1361=1454%:% |
2969 %:%1370=1463%:% |
3003 %:%1370=1463%:% |
2970 %:%1371=1464%:% |
3004 %:%1371=1464%:% |
2971 %:%1372=1465%:% |
3005 %:%1372=1465%:% |
2972 %:%1373=1466%:% |
3006 %:%1373=1466%:% |
2973 %:%1374=1467%:% |
3007 %:%1374=1467%:% |
2974 %:%1383=1471%:% |
3008 %:%1375=1468%:% |
2975 %:%1395=1478%:% |
3009 %:%1376=1469%:% |
2976 %:%1396=1479%:% |
3010 %:%1377=1470%:% |
2977 %:%1397=1480%:% |
3011 %:%1378=1471%:% |
2978 %:%1398=1481%:% |
3012 %:%1379=1472%:% |
2979 %:%1399=1482%:% |
3013 %:%1380=1473%:% |
2980 %:%1400=1483%:% |
3014 %:%1381=1474%:% |
2981 %:%1401=1484%:% |
3015 %:%1382=1475%:% |
2982 %:%1410=1489%:% |
3016 %:%1383=1476%:% |
2983 %:%1422=1493%:% |
3017 %:%1384=1477%:% |
2984 %:%1423=1494%:% |
3018 %:%1385=1478%:% |
2985 %:%1424=1495%:% |
3019 %:%1386=1479%:% |
2986 %:%1425=1496%:% |
3020 %:%1387=1480%:% |
2987 %:%1426=1497%:% |
3021 %:%1388=1481%:% |
2988 %:%1427=1498%:% |
3022 %:%1389=1482%:% |
2989 %:%1428=1499%:% |
3023 %:%1390=1483%:% |
2990 %:%1429=1500%:% |
3024 %:%1391=1484%:% |
2991 %:%1430=1501%:% |
3025 %:%1392=1485%:% |
2992 %:%1431=1502%:% |
3026 %:%1393=1486%:% |
2993 %:%1432=1503%:% |
3027 %:%1394=1487%:% |
2994 %:%1433=1504%:% |
3028 %:%1395=1488%:% |
2995 %:%1434=1505%:% |
3029 %:%1396=1489%:% |
2996 %:%1435=1506%:% |
3030 %:%1397=1490%:% |
2997 %:%1436=1507%:% |
3031 %:%1398=1491%:% |
2998 %:%1437=1508%:% |
3032 %:%1399=1492%:% |
2999 %:%1438=1509%:% |
3033 %:%1400=1493%:% |
3000 %:%1439=1510%:% |
3034 %:%1401=1494%:% |
3001 %:%1440=1511%:% |
3035 %:%1402=1495%:% |
3002 %:%1441=1512%:% |
3036 %:%1403=1496%:% |
3003 %:%1442=1513%:% |
3037 %:%1404=1497%:% |
3004 %:%1443=1514%:% |
3038 %:%1405=1498%:% |
3005 %:%1444=1515%:% |
3039 %:%1406=1499%:% |
3006 %:%1445=1516%:% |
3040 %:%1407=1500%:% |
3007 %:%1446=1517%:% |
3041 %:%1408=1501%:% |
3008 %:%1447=1518%:% |
3042 %:%1417=1505%:% |
3009 %:%1448=1519%:% |
3043 %:%1429=1512%:% |
3010 %:%1449=1520%:% |
3044 %:%1430=1513%:% |
3011 %:%1450=1521%:% |
3045 %:%1431=1514%:% |
3012 %:%1451=1522%:% |
3046 %:%1432=1515%:% |
3013 %:%1452=1523%:% |
3047 %:%1433=1516%:% |
3014 %:%1453=1524%:% |
3048 %:%1434=1517%:% |
3015 %:%1454=1525%:% |
3049 %:%1435=1518%:% |
3016 %:%1455=1526%:% |
3050 %:%1444=1523%:% |
3017 %:%1456=1527%:% |
3051 %:%1456=1527%:% |
3018 %:%1457=1528%:% |
3052 %:%1457=1528%:% |
3019 %:%1458=1529%:% |
3053 %:%1458=1529%:% |
3020 %:%1459=1530%:% |
3054 %:%1459=1530%:% |
3021 %:%1460=1531%:% |
3055 %:%1460=1531%:% |
3068 %:%1507=1578%:% |
3102 %:%1507=1578%:% |
3069 %:%1508=1579%:% |
3103 %:%1508=1579%:% |
3070 %:%1509=1580%:% |
3104 %:%1509=1580%:% |
3071 %:%1510=1581%:% |
3105 %:%1510=1581%:% |
3072 %:%1511=1582%:% |
3106 %:%1511=1582%:% |
3073 %:%1511=1698%:% |
3107 %:%1512=1583%:% |
3074 %:%1512=1699%:% |
3108 %:%1513=1584%:% |
3075 %:%1513=1700%:% |
3109 %:%1514=1585%:% |
3076 %:%1514=1701%:% |
3110 %:%1515=1586%:% |
3077 %:%1515=1702%:% |
3111 %:%1516=1587%:% |
3078 %:%1515=1863%:% |
3112 %:%1517=1588%:% |
3079 %:%1516=1864%:% |
3113 %:%1518=1589%:% |
3080 %:%1517=1865%:% |
3114 %:%1519=1590%:% |
3081 %:%1518=1866%:% |
3115 %:%1520=1591%:% |
3082 %:%1519=1867%:% |
3116 %:%1521=1592%:% |
3083 %:%1520=1868%:% |
3117 %:%1522=1593%:% |
3084 %:%1521=1869%:% |
3118 %:%1523=1594%:% |
3085 %:%1522=1870%:% |
3119 %:%1524=1595%:% |
3086 %:%1523=1871%:% |
3120 %:%1525=1596%:% |
3087 %:%1524=1872%:% |
3121 %:%1526=1597%:% |
3088 %:%1525=1873%:% |
3122 %:%1527=1598%:% |
3089 %:%1526=1874%:% |
3123 %:%1528=1599%:% |
3090 %:%1527=1875%:% |
3124 %:%1529=1600%:% |
3091 %:%1528=1876%:% |
3125 %:%1530=1601%:% |
3092 %:%1529=1877%:% |
3126 %:%1531=1602%:% |
3093 %:%1530=1878%:% |
3127 %:%1532=1603%:% |
3094 %:%1531=1879%:% |
3128 %:%1533=1604%:% |
3095 %:%1532=1880%:% |
3129 %:%1534=1605%:% |
3096 %:%1533=1881%:% |
3130 %:%1535=1606%:% |
3097 %:%1534=1882%:% |
3131 %:%1536=1607%:% |
3098 %:%1534=1883%:% |
3132 %:%1537=1608%:% |
3099 %:%1535=1884%:% |
3133 %:%1538=1609%:% |
3100 %:%1535=1885%:% |
3134 %:%1539=1610%:% |
3101 %:%1535=1886%:% |
3135 %:%1540=1611%:% |
3102 %:%1536=1887%:% |
3136 %:%1541=1612%:% |
3103 %:%1536=1888%:% |
3137 %:%1542=1613%:% |
3104 %:%1537=1889%:% |
3138 %:%1543=1614%:% |
3105 %:%1538=1890%:% |
3139 %:%1544=1615%:% |
3106 %:%1539=1891%:% |
3140 %:%1545=1616%:% |
3107 %:%1540=1892%:% |
3141 %:%1545=1732%:% |
3108 %:%1541=1893%:% |
3142 %:%1546=1733%:% |
3109 %:%1542=1894%:% |
3143 %:%1547=1734%:% |
3110 %:%1543=1895%:% |
3144 %:%1548=1735%:% |
3111 %:%1544=1896%:% |
3145 %:%1549=1736%:% |
3112 %:%1545=1897%:% |
3146 %:%1549=1897%:% |
3113 %:%1546=1898%:% |
3147 %:%1550=1898%:% |
3114 %:%1547=1899%:% |
3148 %:%1551=1899%:% |
3115 %:%1548=1900%:% |
3149 %:%1552=1900%:% |
3116 %:%1549=1901%:% |
3150 %:%1553=1901%:% |
3117 %:%1550=1902%:% |
3151 %:%1554=1902%:% |
3118 %:%1551=1903%:% |
3152 %:%1555=1903%:% |
3119 %:%1552=1904%:% |
3153 %:%1556=1904%:% |
3120 %:%1553=1905%:% |
3154 %:%1557=1905%:% |
3121 %:%1553=1906%:% |
3155 %:%1558=1906%:% |
3122 %:%1554=1907%:% |
3156 %:%1559=1907%:% |
3123 %:%1555=1908%:% |
3157 %:%1560=1908%:% |
3124 %:%1556=1909%:% |
3158 %:%1561=1909%:% |
3125 %:%1556=1910%:% |
3159 %:%1562=1910%:% |
3126 %:%1556=1911%:% |
3160 %:%1563=1911%:% |
3127 %:%1557=1912%:% |
3161 %:%1564=1912%:% |
3128 %:%1558=1913%:% |
3162 %:%1565=1913%:% |
3129 %:%1559=1914%:% |
3163 %:%1566=1914%:% |
3130 %:%1559=1915%:% |
3164 %:%1567=1915%:% |
3131 %:%1560=1916%:% |
3165 %:%1568=1916%:% |
3132 %:%1560=1917%:% |
3166 %:%1568=1917%:% |
3133 %:%1561=1918%:% |
3167 %:%1569=1918%:% |
3134 %:%1562=1919%:% |
3168 %:%1569=1919%:% |
3135 %:%1563=1920%:% |
3169 %:%1569=1920%:% |
3136 %:%1564=1921%:% |
3170 %:%1570=1921%:% |
3137 %:%1565=1922%:% |
3171 %:%1570=1922%:% |
3138 %:%1566=1923%:% |
3172 %:%1571=1923%:% |
3139 %:%1567=1924%:% |
3173 %:%1572=1924%:% |
3140 %:%1568=1925%:% |
3174 %:%1573=1925%:% |
3141 %:%1569=1926%:% |
3175 %:%1574=1926%:% |
3142 %:%1570=1927%:% |
3176 %:%1575=1927%:% |
3143 %:%1571=1928%:% |
3177 %:%1576=1928%:% |
3144 %:%1572=1929%:% |
3178 %:%1577=1929%:% |
3145 %:%1573=1930%:% |
3179 %:%1578=1930%:% |
3146 %:%1574=1931%:% |
3180 %:%1579=1931%:% |
3147 %:%1575=1932%:% |
3181 %:%1580=1932%:% |
3148 %:%1576=1933%:% |
3182 %:%1581=1933%:% |
3149 %:%1577=1934%:% |
3183 %:%1582=1934%:% |
3150 %:%1586=1939%:% |
3184 %:%1583=1935%:% |
3151 %:%1598=1943%:% |
3185 %:%1584=1936%:% |
3152 %:%1599=1944%:% |
3186 %:%1585=1937%:% |
3153 %:%1600=1945%:% |
3187 %:%1586=1938%:% |
3154 %:%1601=1946%:% |
3188 %:%1587=1939%:% |
3155 %:%1602=1947%:% |
3189 %:%1587=1940%:% |
3156 %:%1603=1948%:% |
3190 %:%1588=1941%:% |
3157 %:%1604=1949%:% |
3191 %:%1589=1942%:% |
3158 %:%1605=1950%:% |
3192 %:%1590=1943%:% |
3159 %:%1606=1951%:% |
3193 %:%1590=1944%:% |
3160 %:%1607=1952%:% |
3194 %:%1590=1945%:% |
3161 %:%1608=1953%:% |
3195 %:%1591=1946%:% |
3162 %:%1609=1954%:% |
3196 %:%1592=1947%:% |
3163 %:%1610=1955%:% |
3197 %:%1593=1948%:% |
3164 %:%1611=1956%:% |
3198 %:%1593=1949%:% |
3165 %:%1612=1957%:% |
3199 %:%1594=1950%:% |
3166 %:%1613=1958%:% |
3200 %:%1594=1951%:% |
3167 %:%1614=1959%:% |
3201 %:%1595=1952%:% |
3168 %:%1615=1960%:% |
3202 %:%1596=1953%:% |
3169 %:%1616=1961%:% |
3203 %:%1597=1954%:% |
3170 %:%1617=1962%:% |
3204 %:%1598=1955%:% |
3171 %:%1618=1963%:% |
3205 %:%1599=1956%:% |
3172 %:%1619=1964%:% |
3206 %:%1600=1957%:% |
3173 %:%1620=1965%:% |
3207 %:%1601=1958%:% |
3174 %:%1621=1966%:% |
3208 %:%1602=1959%:% |
3175 %:%1622=1967%:% |
3209 %:%1603=1960%:% |
3176 %:%1623=1968%:% |
3210 %:%1604=1961%:% |
3177 %:%1624=1969%:% |
3211 %:%1605=1962%:% |
3178 %:%1625=1970%:% |
3212 %:%1606=1963%:% |
3179 %:%1626=1971%:% |
3213 %:%1607=1964%:% |
3180 %:%1627=1972%:% |
3214 %:%1608=1965%:% |
3181 %:%1628=1973%:% |
3215 %:%1609=1966%:% |
3182 %:%1629=1974%:% |
3216 %:%1610=1967%:% |
3183 %:%1630=1975%:% |
3217 %:%1611=1968%:% |
3184 %:%1631=1976%:% |
3218 %:%1620=1973%:% |
3185 %:%1632=1977%:% |
3219 %:%1632=1977%:% |
3186 %:%1633=1978%:% |
3220 %:%1633=1978%:% |
3187 %:%1634=1979%:% |
3221 %:%1634=1979%:% |
3188 %:%1635=1980%:% |
3222 %:%1635=1980%:% |
3189 %:%1636=1981%:% |
3223 %:%1636=1981%:% |
3199 %:%1646=1991%:% |
3233 %:%1646=1991%:% |
3200 %:%1647=1992%:% |
3234 %:%1647=1992%:% |
3201 %:%1648=1993%:% |
3235 %:%1648=1993%:% |
3202 %:%1649=1994%:% |
3236 %:%1649=1994%:% |
3203 %:%1650=1995%:% |
3237 %:%1650=1995%:% |
3204 %:%1663=2001%:% |
3238 %:%1651=1996%:% |
3239 %:%1652=1997%:% |
|
3240 %:%1653=1998%:% |
|
3241 %:%1654=1999%:% |
|
3242 %:%1655=2000%:% |
|
3243 %:%1656=2001%:% |
|
3244 %:%1657=2002%:% |
|
3245 %:%1658=2003%:% |
|
3246 %:%1659=2004%:% |
|
3247 %:%1660=2005%:% |
|
3248 %:%1661=2006%:% |
|
3249 %:%1662=2007%:% |
|
3250 %:%1663=2008%:% |
|
3251 %:%1664=2009%:% |
|
3252 %:%1665=2010%:% |
|
3253 %:%1666=2011%:% |
|
3254 %:%1667=2012%:% |
|
3255 %:%1668=2013%:% |
|
3256 %:%1669=2014%:% |
|
3257 %:%1670=2015%:% |
|
3258 %:%1671=2016%:% |
|
3259 %:%1672=2017%:% |
|
3260 %:%1673=2018%:% |
|
3261 %:%1674=2019%:% |
|
3262 %:%1675=2020%:% |
|
3263 %:%1676=2021%:% |
|
3264 %:%1677=2022%:% |
|
3265 %:%1678=2023%:% |
|
3266 %:%1679=2024%:% |
|
3267 %:%1680=2025%:% |
|
3268 %:%1681=2026%:% |
|
3269 %:%1682=2027%:% |
|
3270 %:%1683=2028%:% |
|
3271 %:%1684=2029%:% |
|
3272 %:%1697=2035%:% |