(* Content-type: application/mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 6.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 145, 7] NotebookDataLength[ 257959, 9586] NotebookOptionsPosition[ 195089, 8196] NotebookOutlinePosition[ 252510, 9435] CellTagsIndexPosition[ 251817, 9413] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["Making Change and Finding Repfigits: Balancing a Knapsack", "Title"], Cell["Daniel Lichtblau", "Author"], Cell["\<\ 100 Trade Center Dr Champaign IL 61820 USA danl@wolfram.com\ \>", "Address"], Cell["\<\ Abstract. We will discuss knapsack problems that arise in certain \ computational number theory settings. A common theme is that the search space \ for the standard real relaxation is large; in a sense this translates to a \ poor choice of variables. Lattice reduction methods have been developed in \ the past few years to improve handling of such problems. We show explicitly \ how they may be applied to computation of Frobenius instances, Keith numbers \ (also called \"repfigits\"), and as a first step in computation of Frobenius \ numbers. Key words. Frobenius instance solving, lattice reduction, integer linear \ programming, change-making problem, Frobenius numbers, Keith numbers, \ repfigits.\ \>", "Abstract"], Cell[TextData[{ "A shorter, differently formatted version of this article appeared in ", StyleBox["Proceedings of the Second International Congress on Mathematical \ Software (ICMS 2006)", FontSlant->"Italic"], ", A. Iglesias and N. Takayama, eds. Lecture Notes in Computer Science ", StyleBox["4151", FontWeight->"Bold"], ":182\[Hyphen]193. Springer\[Hyphen]Verlag.2006." }], "Text", CellChangeTimes->{{3.393543414678068*^9, 3.393543439026233*^9}, { 3.393543978255148*^9, 3.393543983156846*^9}, {3.463514632657452*^9, 3.463514637980454*^9}}], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ". Introduction" }], "Section"], Cell["\<\ Various problems in the realm of computational number theory have as key \ steps the solving of a linear equation or system over the integers, subject \ to some linear inequality constraints. The Frobenius instance problem (also \ known as the change\[Hyphen]making problem) is a well\[Hyphen]known example. \ The problem of finding what are called repfigits, to be described below, is \ another. These may be regarded as a class of knapsack problems wherein one is \ allowed to take only certain integer multiples of various items in forming a \ \"valid\" combination. As such these fall into the category of integer linear \ programming (ILP).\ \>", "Text"], Cell[TextData[{ "Classical methods for solving such problems include branch\[Hyphen]and\ \[Hyphen]bound and cutting plane methods [", CounterBox["Reference", "Dantzig"], "] [", CounterBox["Reference", "Schrijver"], "]. These approaches alone are often inadequate for certain classes of \ problems due to a phenomenon roughly described as \"unbalanced bases\". A \ method for dealing with this deficiency was developed in [", CounterBox["Reference", "Aardal Hurkens Lenstra"], "] [", CounterBox["Reference", "Aardal Lenstra"], "]. In essence it involves working with a basis that is reduced (in the \ sense of [", CounterBox["Reference", "Lenstra Lenstra Lovasz"], "]) and ordered by size, in conjunction with standard branch\[Hyphen]and\ \[Hyphen]bound. We will describe and illustrate this for the types of problem \ mentioned above . We remark that the handling of Frobenius instances is by no \ means new, having been discussed in the aforementioned references. We also \ show how the method is applied in a new algorithm for finding Frobenius \ numbers, a task that is substantially harder than solving Frobenius instances." }], "Text"], Cell[TextData[{ "The algorithms described in this paper have been implemented in ", StyleBox["Mathematica", FontSlant->"Italic"], " [", CounterBox["Reference", "Wolfram"], "]. Selected code is provided in the appendix." }], "Text"] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ". Frobenius Instances" }], "Section"], Cell[TextData[{ "Suppose we have a set of positive integers ", Cell[BoxData[ FormBox[ RowBox[{"A", "=", RowBox[{"(", RowBox[{ SubscriptBox["a", "1"], ",", "...", ",", SubscriptBox["a", "n"]}], ")"}]}], TraditionalForm]]], " and a target ", Cell[BoxData[ FormBox["M", TraditionalForm]]], ", a positive integer. We seek nonnegative integer multipliers ", Cell[BoxData[ FormBox[ RowBox[{"X", "=", RowBox[{"(", RowBox[{ SubscriptBox["x", "1"], ",", "...", ",", SubscriptBox["x", "n"]}], ")"}]}], TraditionalForm]]], " such that ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"X", "\[CenterDot]", "A"}], "=", "M"}], TraditionalForm]]], ". This is a standard problem in integer linear programming. A classical \ method [", CounterBox["Reference", "Schrijver"], "] for solving this would be to solve the relaxed problem wherein we enforce \ all inequality constraints but all variables to be real rather than integer \ valued. If in the solution we encounter a variable ", Cell[BoxData[ FormBox["a", TraditionalForm]]], " with value ", Cell[BoxData[ FormBox["s", TraditionalForm]]], " that is not an integer then we spawn two subproblems where we enforce \ respectively that ", Cell[BoxData[ FormBox[ RowBox[{"a", "\[LessEqual]", RowBox[{"\[LeftFloor]", "s", "\[RightFloor]"}]}], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ RowBox[{"a", "\[GreaterEqual]", RowBox[{"\[LeftCeiling]", "s", "\[RightCeiling]"}]}], TraditionalForm]]], ". We continue this process of solving relaxed subproblems, splitting when a \ variable has a noninteger value. It can be shown that eventually either we \ exhaust all possibilities or we obtain an integer valued solution [", CounterBox["Reference", "Schrijver"], "]; in either case clearly the algorithm terminates." }], "Text"], Cell["\<\ A drawback to this approach is that the search space for the relaxed \ subproblems might appear to be \"large\", in the sense of having many points \ with not all coordinates integer valued. In particular it may be the case \ that a standard LP solver will find real valued solutions to the restricted \ subproblems without making rapid progress to an (entirely) integer valued \ solution, because it might be possible to subdivide the (real valued) \ solution polytope in such a way that integer points do not readily appear at \ corners.\ \>", "Text"], Cell[TextData[{ "The method of [", CounterBox["Reference", "Aardal Hurkens Lenstra"], "], [", CounterBox["Reference", "Aardal Lenstra"], "] was developed as a way to improve on this situation. Roughly it proceeds \ as follows. First we find a description of a solution set to our equations \ that is a priori integer valued but possibly does not satisfy the required \ inequalities. We arrange that this solution set has \"good\" basis vectors, \ such that when we solve relaxed problems with these we more rapidly walk \ through our (real valued) solution polytope. More correctly, the polytope is \ likely to intersect fewer hyperplanes orthogonal to larger direction vectors \ and spaced by integral multiples of those vectors." }], "Text"], Cell[TextData[{ "With respect to the Frobenius instance problem it goes as follows. First we \ find a solution vector ", Cell[BoxData[ FormBox["X", TraditionalForm]]], " over ", Cell[BoxData[ FormBox[ SuperscriptBox["\[DoubleStruckCapitalZ]", "n"], TraditionalForm]]], " and a basis ", Cell[BoxData[ FormBox["V", TraditionalForm]]], " for the integer null space (that is, ", Cell[BoxData[ FormBox[ RowBox[{"n", "-", "1"}], TraditionalForm]]], " independent vectors ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["V", "j"], "\[Element]", SuperscriptBox["\[DoubleStruckCapitalZ]", "n"]}], TraditionalForm]]], " with ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["V", "j"], "\[CenterDot]", "A"}], "=", "0"}], TraditionalForm]]], "); for this we use a method based on the Hermite normal form [", CounterBox["Reference", "Blankenship"], "]. We use multiples of the basis vectors to find a \"small\" solution which \ we still call ", Cell[BoxData[ FormBox["X", TraditionalForm]]], ". The tactic utilized to do this is sometimes called the embedding method. \ It apparently has been independently discovered several times; variants \ appear in [", CounterBox["Reference", "Aardal Hurkens Lenstra"], "], [", CounterBox["Reference", "Lichtblau 2003"], "], [", CounterBox["Reference", "Matthews"], "], and [", CounterBox["Reference", "Nguyen"], "], with short code provided in the appendix of this paper. In starting with \ a solution over ", Cell[BoxData[ FormBox[ SuperscriptBox["\[DoubleStruckCapitalZ]", "n"], TraditionalForm]]], " rather than the nonnegatives ", Cell[BoxData[ FormBox[ SuperscriptBox["\[DoubleStruckCapitalN]", "n"], TraditionalForm]]], " we are working with what is called an integer relaxation of the \ nonnegativity constraint. We will later enforce nonnegativity via the more \ common LP relaxations wherein integrality is not enforced." }], "Text"], Cell[TextData[{ "We define variables ", Cell[BoxData[ FormBox[ RowBox[{"t", "=", RowBox[{"(", RowBox[{ SubscriptBox["t", "1"], ",", "\[Ellipsis]", ",", SubscriptBox["t", RowBox[{"n", "-", "1"}]]}], ")"}]}], TraditionalForm]]], " so that solution vectors are given by ", Cell[BoxData[ FormBox[ RowBox[{"X", "+", RowBox[{"t", " ", "V"}]}], TraditionalForm]]], ". For purposes of finding a valid solution to the problem at hand we need \ to impose two requirements. The first is that all components are nonnegative \ and the second is that all are integers. The first can be met by standard \ linear programming. For the second, as in the classical approach, we will use \ branching on subproblems. Specifically we find solutions to relaxed LP \ problems wherein we now work over nonnegative reals. We then branch on \ noninteger values in those solutions. For example, if a solution has, say, ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["t", "j"], "=", RowBox[{"5", "/", "4"}]}], TraditionalForm]]], ", we create two subproblems identical to the one we just solved, but with \ the new constraints ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["t", "j"], "\[LessEqual]", RowBox[{"\[LeftFloor]", RowBox[{"5", "/", "4"}], "\[RightFloor]"}]}], "=", "1"}], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["t", "j"], "\[GreaterEqual]", RowBox[{"\[LeftCeiling]", RowBox[{"5", "/", "4"}], "\[RightCeiling]"}]}], "=", "2"}], TraditionalForm]]], ", respectively (though note that if other variables also had noninteger \ solutions then we need not have chosen this particular one). As observed \ above, this branching process will terminate eventually, with either a valid \ solution or the information that no such solution exists." }], "Text"], Cell[TextData[{ "We explain again, in slightly different terms, why it is important to work \ with a small integer solution to the integer relaxation (that is, allowing \ negative values) and a lattice reduced basis for the null vectors. As our \ methodology is to take combinations of these null vectors, effectively they \ define directions in a solution polytope for the transformed problem. By \ working with a reduced basis we in effect change our coordinate system to one \ where the various search directions are roughly orthogonal. This helps us to \ avoid the possibility of taking many steps in similar directions in searching \ the polytope of nonnegative solutions for one that is integer valued. Thus we \ explore it far more efficiently. Moreover, in starting with a small solution \ we begin closer to the nonnegative orthant. Heuristically this seems to make \ the sought-for multipliers of the null vectors relatively small, and this is \ good for computational speed. This is discussed in section 2 of [", CounterBox["Reference", "Aardal Hurkens Lenstra"], "], with further explanation and illustrations found in [", CounterBox["Reference", "Aardal Weismantel Wolsey"], "]." }], "Text"], Cell[TextData[{ "A further efficiency, from [", CounterBox["Reference", "Aardal Lenstra"], "], is to choose carefully the variable on which to branch. We order by \ increasing size the reduced lattice of null vectors. Branching will be done \ on the noninteger multiplier variable corresponding to the largest of these \ basis vectors. This has the effect of exploring the solution polytope in \ directions in which it is relatively thin, thus more quickly finding integer \ lattice points therein or exhausting the space. This refinement is important \ for handling pathological examples of the sort presented in [", CounterBox["Reference", "Aardal Hurkens Lenstra"], "] and [", CounterBox["Reference", "Aardal Lenstra"], "]." }], "Text"], Cell[TextData[{ "As we have a constraint satisfaction problem we are also free to impose any \ linear integer objective function of our choosing. Thus an optimization is to \ obtain extremal values for linear forms with integer coefficients and use \ these results as simple cutting planes [", CounterBox["Reference", "Schrijver"], "]. For example we can minimize or maximize the various coordinate values ", Cell[BoxData[ FormBox[ SubscriptBox["t", "j"], TraditionalForm]]], ", selecting one either in some specific order or at random for each \ subproblem. This process amounts to finding the width of the polytope along \ the directions of our lattice basis vectors, and enforcing integrality of the \ optimized variable helps to further restrict the search space." }], "Text"], Cell[TextData[{ "As reported in [", CounterBox["Reference", "Aardal Lenstra"], "] this method is very effective in solving Frobenius instances. We \ illustrate with an example from [", CounterBox["Reference", "Wagon Einstein Lichtblau Strzebonski"], "]. " }], "Text"], Cell[TextData[Cell[BoxData[ FormBox[ RowBox[{"A", "=", RowBox[{"(", RowBox[{ "10000000000", ",", "10451674296", ",", "18543816066", ",", "27129592681", ",", "27275963647", ",", "29754323979", ",", "31437595145", ",", "34219677075", ",", "36727009883", ",", "43226644830", ",", "47122613303", ",", "57481379652", ",", "73514433751", ",", "74355454078", ",", "78522678316", ",", "86905143028", ",", "89114826334", ",", "91314621669", ",", "92498011383", ",", "93095723941"}], ")"}]}], TraditionalForm]]]], "Text"], Cell[TextData[{ "We let the target be ", Cell[BoxData[ FormBox["862323776", TraditionalForm]]], ". In several seconds the instance solver returns the empty set. This has \ implications for bounding the Frobenius number of ", Cell[BoxData[ FormBox["A", TraditionalForm]]], "; we will discuss that in a later section." }], "Text"] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ". Keith Numbers" }], "Section"], Cell[TextData[{ "Keith numbers, also known as repfigits, were introduced in 1987 by Michael \ Keith [", CounterBox["Reference", "Keith"], "] as a sort of computational novelty that relates a Fibonacci-like sequence \ to a linear equation involving its seed. They are defined as follows. Suppose \ we are given a number ", Cell[BoxData[ FormBox["s", TraditionalForm]]], " of ", Cell[BoxData[ FormBox["n", TraditionalForm]]], " digits (we work in base ", Cell[BoxData[ FormBox["10", TraditionalForm]]], ", but these can be defined with respect to arbitrary bases). We may form a \ sequence in Fibonacci style as follows. The first ", Cell[BoxData[ FormBox["n", TraditionalForm]]], " elements are the digits themselves. The ", Cell[BoxData[ FormBox[ SuperscriptBox[ RowBox[{"(", RowBox[{"n", "+", "1"}], ")"}], "th"], TraditionalForm]]], " element is the sum of the first ", Cell[BoxData[ FormBox["n", TraditionalForm]]], " digits. Subsequent elements are the sums of the preceding ", Cell[BoxData[ FormBox["n", TraditionalForm]]], " elements. Then ", Cell[BoxData[ FormBox["s", TraditionalForm]]], " is called a Keith number provided it appears in this sequence. As an \ example, the sequence for ", Cell[BoxData[ FormBox["197", TraditionalForm]]], " is ", Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{ "1", ",", "9", ",", "7", ",", "17", ",", "33", ",", "57", ",", "107", ",", "197", ",", "..."}], "}"}], TraditionalForm]]], " and so ", Cell[BoxData[ FormBox["197", TraditionalForm]]], " is a Keith number. Keith originally referred to these as repfigits, for \ \"replicating Fibonacci digits\"." }], "Text"], Cell[TextData[{ "Keith numbers tend to be quite rare (there are only ", Cell[BoxData[ FormBox["71", TraditionalForm]]], " of them below ", Cell[BoxData[ FormBox[ SuperscriptBox["10", "19"], TraditionalForm]]], "). Prior methods for finding them involved clever segmentation of an \ enumeration. While flawless (in the sense that they find all of them), these \ are limited in range due to algorithmic complexity and memory requirements. \ At the time the present work was begun the state of the art, from [", CounterBox["Reference", "Keith"], "], was that all such numbers up to ", Cell[BoxData[ FormBox["19", TraditionalForm]]], " digits had been found but no larger ones were known. We will take this \ substantially further." }], "Text"], Cell[TextData[{ "To begin we must find equations to describe these things. If the digits are \ ", Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{ SubscriptBox["d", "0"], ",", SubscriptBox["d", "1"], ",", "...", ",", SubscriptBox["d", RowBox[{"n", "-", "1"}]]}], "}"}], TraditionalForm]]], " then the number in question is ", Cell[BoxData[ FormBox[ RowBox[{ UnderoverscriptBox["\[Sum]", RowBox[{"j", "=", "0"}], RowBox[{"n", "-", "1"}]], RowBox[{ SubscriptBox["d", "j"], SuperscriptBox["10", RowBox[{"n", "-", "1", "-", "j"}]]}]}], TraditionalForm]]], ". We form the appropriate sequence using a Fibonacci matrix of dimension ", Cell[BoxData[ FormBox["n", TraditionalForm]]], ". This is simply a matrix that, when operating on a vector, replaces each \ element up to the last by its successor, and replaces the last by the sum of \ the elements. For example, for ", Cell[BoxData[ FormBox[ RowBox[{"n", "=", "3"}], TraditionalForm]]], " it is ", Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"0", "1", "0"}, {"0", "0", "1"}, {"1", "1", "1"} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "\[NoBreak]", ")"}], Function[BoxForm`e$, MatrixForm[BoxForm`e$]]]]], "." }], "Text"], Cell[TextData[{ "If we multiply this matrix by itself ", Cell[BoxData[ FormBox[ RowBox[{"k", "-", "1"}], TraditionalForm]]], " times then the dot product of the bottom row with the digit sequence will \ give the ", Cell[BoxData[ FormBox[ SuperscriptBox[ RowBox[{"(", RowBox[{"n", "+", "k"}], ")"}], "th"], TraditionalForm]]], " term in the sequence. Some simple inequality considerations will give \ fairly tight bounds on how many such multiples can possibly work for a given \ number of digits ", Cell[BoxData[ FormBox["n", TraditionalForm]]], ". We will use each possibility to form a homogeneous linear diophantine \ equation. In the actual code we take advantage of the structure of the matrix \ to avoid forming explicit matrix products." }], "Text"], Cell[TextData[{ "We demonstrate with a short example. We start by obtaining the set of \ candidate equation vectors for ", Cell[BoxData[ FormBox["5", TraditionalForm]]], " digit examples. One of them is ", Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{ RowBox[{"-", "8207"}], ",", "1705", ",", "3069", ",", "3395", ",", "3524"}], ")"}], TraditionalForm]]], ". That is, we will seek a solution to the system" }], "Text"], Cell[BoxData[ RowBox[{" ", FormBox[ RowBox[{ RowBox[{ RowBox[{ RowBox[{"-", "8207"}], SubscriptBox["x", "1"]}], "+", RowBox[{"1705", SubscriptBox["x", "2"]}], "+", RowBox[{"3069", SubscriptBox["x", "3"]}], "+", RowBox[{"3395", SubscriptBox["x", "4"]}], "+", RowBox[{"3524", SubscriptBox["x", "5"]}]}], "=", "0"}], TraditionalForm]}]], "DisplayFormula"], Cell[TextData[{ "with each ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["x", "j"], "\[Element]", RowBox[{"{", RowBox[{"0", ",", "1", ",", "\[Ellipsis]9"}], "}"}]}], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["x", "1"], "\[GreaterSlantEqual]", "1"}], TraditionalForm]]], "." }], "Text"], Cell[TextData[{ "As in the last section, the first step in the process of [", CounterBox["Reference", "Aardal Hurkens Lenstra"], "] and [", CounterBox["Reference", "Aardal Lenstra"], "] is to find a full set of integer solutions to such a system. Since these \ are homogeneous equations we require only the integer null space. This can be \ obtained readily from the Hermite normal form for the matrix comprised of the \ vector for the homogeneous equation, augmented by an identity matrix. Again \ we want to work with vectors that are small and close to orthogonal so we \ apply lattice reduction to get a \"good\" set of vectors spanning the same \ solution set. We obtain ", Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{ RowBox[{"-", "3"}], ",", RowBox[{"-", "1"}], ",", RowBox[{"-", "3"}], ",", RowBox[{"-", "3"}], ",", RowBox[{"-", "1"}]}], ")"}], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{ RowBox[{"-", "2"}], ",", RowBox[{"-", "4"}], ",", RowBox[{"-", "3"}], ",", "3", ",", RowBox[{"-", "3"}]}], ")"}], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{"1", ",", "6", ",", RowBox[{"-", "5"}], ",", "6", ",", RowBox[{"-", "2"}]}], ")"}], TraditionalForm]]], ", and ", Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{"7", ",", RowBox[{"-", "3"}], ",", RowBox[{"-", "15"}], ",", "5", ",", "26"}], ")"}], TraditionalForm]]], "." }], "Text"], Cell[TextData[{ "Notice that for any solution vector, its negative is also a solution \ vector. Looking at the first vector in our solution basis we thus see that ", Cell[BoxData[ FormBox["31331", TraditionalForm]]], " is a Keith number of five digits. That was too easy; there is no guarantee \ we will have a solution vector with all components in the desired range. We \ look at a slightly larger example to see this. For six digits one candidate \ equation\[Hyphen]defining vector is ", Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{ RowBox[{"-", "96160"}], ",", RowBox[{"-", "4224"}], ",", "5752", ",", "7144", ",", "7482", ",", "7616"}], ")"}], TraditionalForm]]], ". This time we get the following small null vectors: ", Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{"0", ",", "3", ",", RowBox[{"-", "3"}], ",", "0", ",", "4", ",", "0"}], ")"}], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{ RowBox[{"-", "1"}], ",", "1", ",", RowBox[{"-", "3"}], ",", RowBox[{"-", "2"}], ",", RowBox[{"-", "4"}], ",", RowBox[{"-", "4"}]}], ")"}], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{"0", ",", RowBox[{"-", "6"}], ",", RowBox[{"-", "3"}], ",", "1", ",", "0", ",", RowBox[{"-", "2"}]}], ")"}], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{"0", ",", RowBox[{"-", "1"}], ",", "1", ",", "5", ",", "0", ",", RowBox[{"-", "6"}]}], ")"}], TraditionalForm]]], ", and ", Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{"0", ",", "4", ",", RowBox[{"-", "12"}], ",", "15", ",", RowBox[{"-", "12"}], ",", "9"}], ")"}], TraditionalForm]]], ". So we have a generating set of small null vectors none of which have \ entirely nonnegative or entirely nonpositive values (with the first being \ nonzero, in order that they give a legitimate six digit number). We now need \ a way to recombine these so that the first component is positive and the rest \ are nonnegative." }], "Text"], Cell[TextData[{ "Again we have something we can tackle with standard branch-and-bound \ iterations [", CounterBox["Reference", "Dantzig"], "] [", CounterBox["Reference", "Schrijver"], "]. Let ", Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{ SubscriptBox["v", "1"], ",", "\[Ellipsis]", ",", SubscriptBox["v", "n"]}], "}"}], TraditionalForm]]], " be our null space basis (here ", Cell[BoxData[ FormBox[ RowBox[{"n", Cell[""]}], TraditionalForm]]], " is one less than the number of digits). We seek an integer vector of the \ form ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["a", "1"], SubscriptBox["v", "1"]}], "+", "\[Ellipsis]", "+", RowBox[{ SubscriptBox["a", "n"], SubscriptBox["v", "n"]}]}], TraditionalForm]]], " such that all components lie in the range ", Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{"0", ",", "1", ",", "\[Ellipsis]", ",", "9"}], "}"}], TraditionalForm]]], " with the first component strictly positive. For this we create variables \ ", Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{ SubscriptBox["a", "1"], ",", "\[Ellipsis]", ",", SubscriptBox["a", "n"]}], "}"}], TraditionalForm]]], " which will ultimately be required to take on integer values. In order to \ effect this we will solve relaxed linear programming problems with \ appropriate inequality constraints. As noted earlier, these are simply \ constraint satisfaction problems, so we can use arbitrary linear objective \ functions as a means of obtaining integer cuts cheaply. When some variables \ do not take on integer values in the solution we choose one such on which to \ branch and spawn a pair of subproblems. Our choice again is from [", CounterBox["Reference", "Aardal Lenstra"], "]; we branch on that variable of noninteger solution value whose \ corresponding basis vector is largest." }], "Text"], Cell["\<\ To summarize, we first find the appropriate sets of integer equations. For \ each we find spanning sets of solutions that do not in general satisfy the \ digit inequality constraints. We lattice reduce these. We use ILP methods to \ find all possible solutions subject to the usual inequality constraints on \ digits.\ \>", "Text"], Cell["\<\ Code that implements this is found in the appendix. We used this to find all \ Keith numbers up through 29 digits. We show all repfigits between 20 and 29 \ digits below.\ \>", "Text"], Cell[BoxData[{ RowBox[{"{", RowBox[{ "1", ",", "2", ",", "7", ",", "6", ",", "3", ",", "3", ",", "1", ",", "4", ",", "4", ",", "7", ",", "9", ",", "4", ",", "6", ",", "1", ",", "3", ",", "8", ",", "4", ",", "2", ",", "7", ",", "9"}], "}"}], "\n", RowBox[{"{", RowBox[{ "2", ",", "7", ",", "8", ",", "4", ",", "7", ",", "6", ",", "5", ",", "2", ",", "5", ",", "7", ",", "7", ",", "9", ",", "0", ",", "5", ",", "7", ",", "9", ",", "3", ",", "4", ",", "1", ",", "3"}], "}"}], "\n", RowBox[{"{", RowBox[{ "4", ",", "5", ",", "4", ",", "1", ",", "9", ",", "2", ",", "6", ",", "6", ",", "4", ",", "1", ",", "4", ",", "4", ",", "9", ",", "5", ",", "6", ",", "0", ",", "1", ",", "9", ",", "0", ",", "3"}], "}"}], "\n", RowBox[{"{", RowBox[{ "8", ",", "5", ",", "5", ",", "1", ",", "9", ",", "1", ",", "3", ",", "2", ",", "4", ",", "3", ",", "3", ",", "0", ",", "8", ",", "0", ",", "2", ",", "3", ",", "9", ",", "7", ",", "9", ",", "8", ",", "9"}], "}"}], "\n", RowBox[{"{", RowBox[{ "7", ",", "6", ",", "5", ",", "7", ",", "2", ",", "3", ",", "0", ",", "8", ",", "8", ",", "2", ",", "2", ",", "5", ",", "9", ",", "5", ",", "4", ",", "8", ",", "7", ",", "2", ",", "3", ",", "5", ",", "9", ",", "3"}], "}"}], "\n", RowBox[{"{", RowBox[{ "2", ",", "6", ",", "8", ",", "4", ",", "2", ",", "9", ",", "9", ",", "4", ",", "4", ",", "2", ",", "2", ",", "6", ",", "3", ",", "7", ",", "1", ",", "1", ",", "2", ",", "5", ",", "2", ",", "3", ",", "3", ",", "3", ",", "7"}], "}"}], "\n", RowBox[{"{", RowBox[{ "3", ",", "6", ",", "8", ",", "9", ",", "9", ",", "2", ",", "7", ",", "7", ",", "5", ",", "9", ",", "3", ",", "8", ",", "5", ",", "2", ",", "6", ",", "0", ",", "9", ",", "9", ",", "9", ",", "7", ",", "4", ",", "0", ",", "3"}], "}"}], "\n", RowBox[{"{", RowBox[{ "6", ",", "1", ",", "3", ",", "3", ",", "3", ",", "8", ",", "5", ",", "3", ",", "6", ",", "0", ",", "2", ",", "1", ",", "2", ",", "9", ",", "8", ",", "1", ",", "9", ",", "1", ",", "8", ",", "9", ",", "6", ",", "6", ",", "8"}], "}"}], "\n", RowBox[{"{", RowBox[{ "2", ",", "2", ",", "9", ",", "1", ",", "4", ",", "6", ",", "4", ",", "1", ",", "3", ",", "1", ",", "3", ",", "6", ",", "5", ",", "8", ",", "5", ",", "5", ",", "5", ",", "8", ",", "4", ",", "6", ",", "1", ",", "2", ",", "2", ",", "7"}], "}"}], "\n", RowBox[{"{", RowBox[{ "9", ",", "8", ",", "3", ",", "8", ",", "6", ",", "7", ",", "8", ",", "6", ",", "8", ",", "7", ",", "9", ",", "1", ",", "5", ",", "1", ",", "9", ",", "8", ",", "5", ",", "9", ",", "9", ",", "2", ",", "0", ",", "0", ",", "6", ",", "0", ",", "4"}], "}"}], "\n", RowBox[{"{", RowBox[{ "1", ",", "8", ",", "3", ",", "5", ",", "4", ",", "9", ",", "7", ",", "2", ",", "5", ",", "8", ",", "5", ",", "2", ",", "2", ",", "5", ",", "3", ",", "5", ",", "8", ",", "0", ",", "6", ",", "7", ",", "7", ",", "1", ",", "8", ",", "2", ",", "6", ",", "6"}], "}"}], "\n", RowBox[{"{", RowBox[{ "1", ",", "9", ",", "8", ",", "7", ",", "6", ",", "2", ",", "3", ",", "4", ",", "9", ",", "2", ",", "6", ",", "4", ",", "5", ",", "7", ",", "2", ",", "8", ",", "8", ",", "5", ",", "1", ",", "1", ",", "9", ",", "4", ",", "7", ",", "9", ",", "4", ",", "5"}], "}"}], "\n", RowBox[{"{", RowBox[{ "9", ",", "8", ",", "9", ",", "3", ",", "8", ",", "1", ",", "9", ",", "1", ",", "2", ",", "1", ",", "4", ",", "2", ",", "2", ",", "0", ",", "7", ",", "1", ",", "8", ",", "0", ",", "5", ",", "0", ",", "3", ",", "0", ",", "1", ",", "3", ",", "1", ",", "2"}], "}"}], "\n", RowBox[{"{", RowBox[{ "1", ",", "5", ",", "3", ",", "6", ",", "6", ",", "9", ",", "3", ",", "5", ",", "4", ",", "4", ",", "5", ",", "5", ",", "4", ",", "8", ",", "2", ",", "5", ",", "6", ",", "0", ",", "9", ",", "8", ",", "7", ",", "1", ",", "7", ",", "8", ",", "3", ",", "4", ",", "2"}], "}"}], "\n", RowBox[{"{", RowBox[{ "1", ",", "5", ",", "4", ",", "6", ",", "7", ",", "7", ",", "8", ",", "8", ",", "1", ",", "4", ",", "0", ",", "1", ",", "0", ",", "0", ",", "7", ",", "7", ",", "9", ",", "9", ",", "9", ",", "7", ",", "4", ",", "5", ",", "6", ",", "4", ",", "3", ",", "3", ",", "6"}], "}"}], "\n", RowBox[{"{", RowBox[{ "1", ",", "3", ",", "3", ",", "1", ",", "1", ",", "8", ",", "4", ",", "1", ",", "1", ",", "1", ",", "7", ",", "4", ",", "0", ",", "5", ",", "9", ",", "6", ",", "8", ",", "8", ",", "3", ",", "9", ",", "1", ",", "0", ",", "4", ",", "5", ",", "9", ",", "5", ",", "5"}], "}"}], "\n", RowBox[{"{", RowBox[{ "1", ",", "5", ",", "4", ",", "1", ",", "4", ",", "0", ",", "2", ",", "7", ",", "5", ",", "4", ",", "2", ",", "8", ",", "3", ",", "3", ",", "9", ",", "9", ",", "4", ",", "9", ",", "8", ",", "9", ",", "9", ",", "9", ",", "2", ",", "2", ",", "6", ",", "5", ",", "0"}], "}"}], "\n", RowBox[{"{", RowBox[{ "2", ",", "9", ",", "5", ",", "7", ",", "6", ",", "8", ",", "2", ",", "3", ",", "7", ",", "3", ",", "6", ",", "1", ",", "2", ",", "9", ",", "1", ",", "7", ",", "0", ",", "8", ",", "6", ",", "4", ",", "5", ",", "2", ",", "2", ",", "7", ",", "4", ",", "7", ",", "4"}], "}"}], "\n", RowBox[{"{", RowBox[{ "9", ",", "5", ",", "6", ",", "6", ",", "3", ",", "3", ",", "7", ",", "2", ",", "0", ",", "4", ",", "6", ",", "4", ",", "1", ",", "1", ",", "4", ",", "5", ",", "1", ",", "5", ",", "8", ",", "9", ",", "0", ",", "3", ",", "1", ",", "8", ",", "4", ",", "1", ",", "0"}], "}"}], "\n", RowBox[{"{", RowBox[{ "9", ",", "8", ",", "8", ",", "2", ",", "4", ",", "2", ",", "3", ",", "1", ",", "0", ",", "3", ",", "9", ",", "3", ",", "8", ",", "6", ",", "0", ",", "3", ",", "9", ",", "0", ",", "0", ",", "6", ",", "6", ",", "9", ",", "1", ",", "1", ",", "4", ",", "1", ",", "4"}], "}"}], "\n", RowBox[{"{", RowBox[{ "9", ",", "4", ",", "9", ",", "3", ",", "9", ",", "7", ",", "6", ",", "8", ",", "4", ",", "0", ",", "3", ",", "9", ",", "0", ",", "2", ",", "6", ",", "5", ",", "8", ",", "6", ",", "8", ",", "5", ",", "2", ",", "2", ",", "0", ",", "6", ",", "7", ",", "2", ",", "0", ",", "0"}], "}"}], "\n", RowBox[{"{", RowBox[{ "4", ",", "1", ",", "7", ",", "9", ",", "6", ",", "2", ",", "0", ",", "5", ",", "7", ",", "6", ",", "5", ",", "1", ",", "4", ",", "7", ",", "4", ",", "2", ",", "6", ",", "9", ",", "7", ",", "4", ",", "7", ",", "0", ",", "4", ",", "7", ",", "9", ",", "1", ",", "5", ",", "2", ",", "8"}], "}"}], "\n", RowBox[{"{", RowBox[{ "7", ",", "0", ",", "2", ",", "6", ",", "7", ",", "3", ",", "7", ",", "5", ",", "5", ",", "1", ",", "0", ",", "2", ",", "0", ",", "7", ",", "8", ",", "8", ",", "5", ",", "2", ",", "4", ",", "2", ",", "2", ",", "1", ",", "8", ",", "8", ",", "3", ",", "7", ",", "4", ",", "0", ",", "4"}], "}"}]}], "Output", FontSize->9], Cell[TextData[{ "We remark that lattice methods alone can find sporadic large Keith numbers. \ One approach, from [", CounterBox["Reference", "Schnorr Euchner"], "], improves the chances of getting a valid result from the lattice \ reduction step. The idea is to augment each null vector with a zero, and \ augment the lattice with a row consisting of some nonzero value (typically \ one) in the new column of zeros, and ", Cell[BoxData[ FormBox[ FractionBox["9", "2"], TraditionalForm]]], " everywhere else. Thus if there is a valid solution then this augmented \ lattice contains the vector consisting of that nonzero value (or its \ negative) and the remaining entries in the range ", Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{ RowBox[{"-", FractionBox["9", "2"]}], ",", FractionBox["9", "2"]}], "}"}], TraditionalForm]]], ". As this would be a fairly \"small\" vector, one can hope that it will \ appear in the reduced basis (this is essentially the idea used by Schnorr and \ Euchner, in a binary setting, to raise the density at which one can typically \ solve subset sum problems). In practice we get a few Keith numbers this way \ as well as several more near misses." }], "Text"], Cell["\<\ It might be effective to combine this different lattice formulation with the \ branch\[Hyphen]and\[Hyphen]bound regimen described above. This is not \ entirely trivial as that required that the vectors span a solution space for \ a homogeneous equation, whereas the vectors in this modified lattice need not \ satisfy that equation.\ \>", "Text"], Cell[TextData[{ "Observe that the Keith numbers beginning at 24 digits but smaller than ", Cell[BoxData[ FormBox["29", TraditionalForm]]], " digits all have leading digit in the set ", Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{"1", ",", "2", ",", "9"}], "}"}], TraditionalForm]]], ". One might well wonder if there is a deep reason for this, and whether the \ trend returns after ", Cell[BoxData[ FormBox["29", TraditionalForm]]], " digits. Also all known Keith numbers from 25 digits onward have a final \ digit that is either even or 5, and hence they cannot be prime. Again, one \ might wonder whether this trend continues, and, if so, whether there is an \ interesting reason behind it." }], "Text"], Cell[TextData[{ "We will say a bit about the practical complexity of the method we have \ described for solving ILPs. While in principle branching can have very bad \ performance, in practice we find that the complexity scales reasonably well \ with problem size. Although we cannot claim that the methods described in \ this paper are polynomial time even in fixed dimension, in practice they do \ seem to scale that way. The behavior with respect to dimension is of course \ not so nice. For Keith number computations we find that, on average, the time \ spent for handling ", Cell[BoxData[ FormBox[ RowBox[{"n", "+", "1"}], TraditionalForm]]], " digits is roughly twice the time needed for ", Cell[BoxData[ FormBox["n", TraditionalForm]]], " digits. Considering that each additional digit multiplies the search space \ by a factor of ", Cell[BoxData[ FormBox["10", TraditionalForm]]], " this is still not so bad. To give an indication of computational speed, \ the implementation in the appendix was able to handle ", Cell[BoxData[ FormBox["29", TraditionalForm]]], " digits in around three days on a 3.0 GHz machine. We emphasize that this \ is but a crude measure both of complexity and actual performance, as various \ sorts of optimizations could have a significant impact on each. For example, \ preliminary experiments with the software in [", CounterBox["Reference", "COIN"], "] indicate room for improvement in the handling of the ILP solving after \ the lattice reduction phase." }], "Text"] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ". Frobenius Numbers" }], "Section"], Cell[TextData[{ "We are given a set ", Cell[BoxData[ FormBox[ RowBox[{"A", "=", RowBox[{"(", RowBox[{ SubscriptBox["a", "1"], ",", "\[Ellipsis]", ",", SubscriptBox["a", "n"]}], ")"}]}], TraditionalForm]]], " of positive integers with ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"gcd", "(", "A", ")"}], "=", "1"}], TraditionalForm]]], ". For later purposes we assume that the set is in ascending order. It can \ be shown that there are at most finitely many numbers not representable as a \ nonnegative integer combination of elements in ", Cell[BoxData[ FormBox["A", TraditionalForm]]], ". The largest such nonrepresentable is called the Frobenius number of the \ set. The \"Frobenius number problem\" is to find it. Generally speaking this \ tends to be a different and usually harder problem than the Frobenius \ instance solving discussed earlier. We will give a much abbreviated \ discussion here in order to indicate how the sort of knapsack solving under \ discussion plays a role in computation of these numbers. References may be \ found in [", CounterBox["Reference", "Beihoffer Nijinhuis Hendry Wagon"], "] and [", CounterBox["Reference", "Wagon Einstein Lichtblau Strzebonski"], "]." }], "Text"], Cell[TextData[{ "It turns out that this is trivial for ", Cell[BoxData[ FormBox[ RowBox[{"n", "=", "2"}], TraditionalForm]]], " (this was shown by Sylvester in the late 1800's, even before the problem \ was popularized by Frobenius early in the twentieth century). Moreover in the \ 1980's some very good methods appeared for the case ", Cell[BoxData[ FormBox[ RowBox[{"n", "=", "3"}], TraditionalForm]]], ". For larger ", Cell[BoxData[ FormBox["n", TraditionalForm]]], ", if one orders the elements by increasing size and restricts ", Cell[BoxData[ FormBox[ SubscriptBox["a", "1"], TraditionalForm]]], " to be less than around ", Cell[BoxData[ FormBox[ SuperscriptBox["10", "7"], TraditionalForm]]], " then there are effective algorithms to find the Frobenius number for ", Cell[BoxData[ FormBox["A", TraditionalForm]]], ". This is roughly independent of the size of ", Cell[BoxData[ FormBox["n", TraditionalForm]]], "; they can handle ", Cell[BoxData[ FormBox[ RowBox[{"n", "=", "100"}], TraditionalForm]]], ", for example. Our interest is in handling the case where ", Cell[BoxData[ FormBox[ SubscriptBox["a", "1"], TraditionalForm]]], ", the smallest element in ", Cell[BoxData[ FormBox["A", TraditionalForm]]], ", is large (say, up to ", Cell[BoxData[ FormBox[ SuperscriptBox["10", "100"], TraditionalForm]]], "). As the problem is known to be intrinsically difficult we cannot hope to \ have both ", Cell[BoxData[ FormBox[ SubscriptBox["a", "1"], TraditionalForm]]], " and ", Cell[BoxData[ FormBox["n", TraditionalForm]]], " large. Hence we limit the latter to ", Cell[BoxData[ FormBox["10", TraditionalForm]]], " or so." }], "Text"], Cell[TextData[{ "In [", CounterBox["Reference", "Wagon Einstein Lichtblau Strzebonski"], "] one finds a definition of a \"fundamental domain\" which is a \ generalization that subsumes both lattice diagrams in earlier literature and \ a circulant graph description from [", CounterBox["Reference", "Beihoffer Nijinhuis Hendry Wagon"], "]. Similar ideas, expressed in the terminology of Minimal Distance \ Diagrams, appear in [", CounterBox["Reference", "Gomez Gutierrez Ibeas"], "]. The Frobenius number will be determined by the furthest corner from the \ origin, in a suitably weighted ", Cell[BoxData[ FormBox[ SubscriptBox["l", "1"], TraditionalForm]]], " norm. As we will see, an important domain feature is what we term \"elbows\ \". We give a quick idea of what is this fundamental domain for our set ", Cell[BoxData[ FormBox[ RowBox[{"A", "=", RowBox[{"(", RowBox[{ SubscriptBox["a", "1"], ",", "\[Ellipsis]", ",", SubscriptBox["a", "n"]}], ")"}]}], TraditionalForm]]], "." }], "Text"], Cell[TextData[{ "We start with the lattice of integer combinations of ", Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{ SubscriptBox["a", "2"], ",", "\[Ellipsis]", ",", SubscriptBox["a", "n"]}], "}"}], TraditionalForm]]], " that are zero modulo ", Cell[BoxData[ FormBox[ SubscriptBox["a", "1"], TraditionalForm]]], ". This is a full dimensional lattice in ", Cell[BoxData[ FormBox[ SuperscriptBox["\[DoubleStruckCapitalZ]", RowBox[{"n", "-", "1"}]], TraditionalForm]]], ". The set of residues of ", Cell[BoxData[ FormBox[ SuperscriptBox["\[DoubleStruckCapitalZ]", RowBox[{"n", "-", "1"}]], TraditionalForm]]], " modulo this lattice gives rise to the fundamental domain, which lives in a \ space of dimension one less than the size of our set. It is not hard to see \ that there are ", Cell[BoxData[ FormBox[ SubscriptBox["a", "1"], TraditionalForm]]], " distinct residue classes, so we know the cardinality of this domain. We \ now define the \"weight\" of a vector ", Cell[BoxData[ FormBox[ RowBox[{"v", "\[Element]", SuperscriptBox["\[DoubleStruckCapitalZ]", RowBox[{"n", "-", "1"}]]}], TraditionalForm]]], " as ", Cell[BoxData[ FormBox[ RowBox[{"v", ".", RowBox[{"(", RowBox[{ SubscriptBox["a", "2"], ",", "\[Ellipsis]", ",", SubscriptBox["a", "n"]}], ")"}]}], TraditionalForm]]], ". It can be shown that every residue class has at least one element with \ all nonnegative entries. From those we choose one of minimal weight. In case \ of a tie we choose the one that is lexicographically last. This uniquely \ defines the set of residues that we take to comprise the fundamental domain." }], "Text"], Cell[TextData[{ "This domain has several interesting properties. (1) It is a staircase: if \ it contains a lattice element then it contains all nonnegative vectors with \ any coordinate strictly smaller. (2) It tiles ", Cell[BoxData[ FormBox[ SuperscriptBox["\[DoubleStruckCapitalZ]", RowBox[{"n", "-", "1"}]], TraditionalForm]]], ". (3) It is a cyclic group ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"\[DoubleStruckCapitalZ]", "/", SubscriptBox["a", "1"]}], " ", "\[DoubleStruckCapitalZ]"}], TraditionalForm]]], ". (4) It can be given a circulant graph structure. It is this structure \ that was utilized in various shortest\[Hyphen]path graph methods. Old and new \ approaches using such methods are discussed at length in [", CounterBox["Reference", "Beihoffer Nijinhuis Hendry Wagon"], "]. In contrast, the method put forth in [", CounterBox["Reference", "Wagon Einstein Lichtblau Strzebonski"], "] primarily makes use of the staircase structure." }], "Text"], Cell[TextData[{ "From the staircase property the fundamental domain has turning points we \ refer to as elbows. It has extremal points called corners. Specifically, a \ corner is a point ", Cell[BoxData[ FormBox["c", TraditionalForm]]], " in the domain, such that ", Cell[BoxData[ FormBox[ RowBox[{"c", "+", SubscriptBox["e", "j"]}], TraditionalForm]]], " is not in the domain, where ", Cell[BoxData[ FormBox[ SubscriptBox["e", "j"], TraditionalForm]]], " is the ", Cell[BoxData[ FormBox[ SuperscriptBox[ FormBox["j", TraditionalForm], "th"], TraditionalForm]]], " coordinate vector. An elbow is a point ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " that is not in the domain, but is such that, for each ", Cell[BoxData[ FormBox["j", TraditionalForm]]], ", either ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["x", "j"], "=", "0"}], TraditionalForm]]], " or ", Cell[BoxData[ FormBox[ RowBox[{"x", "-", SubscriptBox["e", "j"]}], TraditionalForm]]], " is in the domain. An elbow with all but one coordinate zero is called an \ \"axial\" elbow. It indicates how far one can go along a given axis and still \ remain inside the domain. There are two other definitions that play a role in \ the algorithm. We will not descibe them too carefully but, roughly, there are \ as follows." }], "Text"], Cell["\<\ (1) Protoelbows. These have both positive and negative coordinates and \ correspond to certain \"minimal\" equivalences (that is, reducing relations) \ in the lattice.\ \>", "Text"], Cell["\<\ (2) Preelbows. These are the positive parts of the protoelbows. Elbows are \ minimal elements in the partially ordered (ascending by inclusion) set of \ preelbows.\ \>", "Text"], Cell[TextData[{ "With respect to these domains the Frobenius number corresponds to the \ farthest corner from the origin where distance is an ", Cell[BoxData[ FormBox[ SubscriptBox["l", "1"], TraditionalForm]]], " metric weighted by element sizes. In brief one sees this as follows. \ Recall that each element in the domain corresponds to a residue modulo ", Cell[BoxData[ FormBox[ SubscriptBox["a", "1"], TraditionalForm]]], " that satisfies a minimal nonnegativity property. Thus values in the same \ residue class but of smaller weight cannot be attained using nonnegative \ combinations of elements of ", Cell[BoxData[ FormBox["A", TraditionalForm]]], ", whereas values of equal or larger weight are attained as such \ combinations. We conclude that the largest nonattainable value for the \ residue class of the element ", Cell[BoxData[ FormBox[ RowBox[{"X", "=", RowBox[{"(", RowBox[{ SubscriptBox["x", "2"], ",", SubscriptBox["\[Ellipsis]x", "n"]}], ")"}]}], TraditionalForm]]], " is ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["a", "2"], SubscriptBox["x", "2"]}], "+", "\[Ellipsis]", "+", RowBox[{ SubscriptBox["a", "n"], SubscriptBox["x", "n"]}], "-", SubscriptBox["a", "1"]}], TraditionalForm]]], ". From this and the staircase property of the fundamental domain it is \ clear that the largest nonattainable value overall is ", Cell[BoxData[ FormBox[ SubscriptBox["a", "1"], TraditionalForm]]], " less than the largest weight of a corner element." }], "Text"], Cell[TextData[{ "Below are pictures (provided courtesy of Stan Wagon) of fundamental domains \ corresponding to ", Cell[BoxData[ FormBox[ RowBox[{"n", "=", "3"}], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ RowBox[{"n", "=", "4"}], TraditionalForm]]], " respectively (recall that the fundamental domain lives in a space of \ dimension one less than ", Cell[BoxData[ FormBox["n", TraditionalForm]]], "). In the planar diagram the elbows are the lattice points on the axes that \ bound the diagram, and the lattice point in the interior just outside the \ \"ell\". The corners are the two extremal points reached by intersecting \ vertical and horizontal lines through the elbows. This picture tells the \ entire story as regards the ", Cell[BoxData[ FormBox[ RowBox[{"n", "=", "3"}], TraditionalForm]]], " case because it can be shown that there is at most one interior elbow and \ two corners, and finding them is easy. The three elbows (two axial, one \ internal) are denoted by circles." }], "Text"], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .79487 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238095 0.0976801 0.0189255 0.0976801 [ [ 0 0 0 0 ] [ 1 .79487 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 .79487 L 0 .79487 L closepath clip newpath 1 0 0 r .02381 .01893 m .02381 .09219 L .09707 .09219 L .09707 .01893 L F .02381 .11661 m .02381 .18987 L .09707 .18987 L .09707 .11661 L F .02381 .21429 m .02381 .28755 L .09707 .28755 L .09707 .21429 L F .02381 .31197 m .02381 .38523 L .09707 .38523 L .09707 .31197 L F .02381 .40965 m .02381 .48291 L .09707 .48291 L .09707 .40965 L F .02381 .50733 m .02381 .58059 L .09707 .58059 L .09707 .50733 L F .02381 .60501 m .02381 .67827 L .09707 .67827 L .09707 .60501 L F .12149 .01893 m .12149 .09219 L .19475 .09219 L .19475 .01893 L F .12149 .11661 m .12149 .18987 L .19475 .18987 L .19475 .11661 L F .12149 .21429 m .12149 .28755 L .19475 .28755 L .19475 .21429 L F .12149 .31197 m .12149 .38523 L .19475 .38523 L .19475 .31197 L F .12149 .40965 m .12149 .48291 L .19475 .48291 L .19475 .40965 L F .12149 .50733 m .12149 .58059 L .19475 .58059 L .19475 .50733 L F .12149 .60501 m .12149 .67827 L .19475 .67827 L .19475 .60501 L F .21917 .01893 m .21917 .09219 L .29243 .09219 L .29243 .01893 L F .21917 .11661 m .21917 .18987 L .29243 .18987 L .29243 .11661 L F .21917 .21429 m .21917 .28755 L .29243 .28755 L .29243 .21429 L F .21917 .31197 m .21917 .38523 L .29243 .38523 L .29243 .31197 L F .21917 .40965 m .21917 .48291 L .29243 .48291 L .29243 .40965 L F .21917 .50733 m .21917 .58059 L .29243 .58059 L .29243 .50733 L F .21917 .60501 m .21917 .67827 L .29243 .67827 L .29243 .60501 L F .31685 .01893 m .31685 .09219 L .39011 .09219 L .39011 .01893 L F .31685 .11661 m .31685 .18987 L .39011 .18987 L .39011 .11661 L F .41453 .01893 m .41453 .09219 L .48779 .09219 L .48779 .01893 L F .41453 .11661 m .41453 .18987 L .48779 .18987 L .48779 .11661 L F .51221 .01893 m .51221 .09219 L .58547 .09219 L .58547 .01893 L F .51221 .11661 m .51221 .18987 L .58547 .18987 L .58547 .11661 L F .60989 .01893 m .60989 .09219 L .68315 .09219 L .68315 .01893 L F .60989 .11661 m .60989 .18987 L .68315 .18987 L .68315 .11661 L F .70757 .01893 m .70757 .09219 L .78083 .09219 L .78083 .01893 L F .70757 .11661 m .70757 .18987 L .78083 .18987 L .78083 .11661 L F .80525 .01893 m .80525 .09219 L .87851 .09219 L .87851 .01893 L F .80525 .11661 m .80525 .18987 L .87851 .18987 L .87851 .11661 L F 1 1 0 r .93956 .05556 m .93956 .05556 .03663 0 365.73 arc F 0 g .5 Mabswid [ ] 0 setdash newpath .93956 .05556 .03663 0 365.73 arc s 1 1 0 r .06044 .73932 m .06044 .73932 .03663 0 365.73 arc F 0 g newpath .06044 .73932 .03663 0 365.73 arc s 1 1 0 r .35348 .25092 m .35348 .25092 .03663 0 365.73 arc F 0 g newpath .35348 .25092 .03663 0 365.73 arc s 0 0 1 r .21917 .60501 m .21917 .67827 L .29243 .67827 L .29243 .60501 L F .80525 .11661 m .80525 .18987 L .87851 .18987 L .87851 .11661 L F % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{102.25, 81.125}, ImageMargins->{{80, 0}, {0, 13}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["CompressedBitmap", "\<\ eJzzTSzJSM1NLMlMTlRwL0osyMhMLlZwyy8CCjEzMjAwpAFxoAIDiP0fyIQS aQz///8HSYKpOBDFBJJggwgwgSgOBhiLHcRixstC04FTLwvcKpAsSAbsHiAT hJnpYj3cUgjG5hAmWjuEGYtDmAeLQ1iwOIRxxDhk0KQRVqwOYYC5kIY2s6EX CKjlBY0sBvqQb9SCUQuGjAXQ7KAMzy2OxFiMVgWCWfZEaySiYLIl2vtEFLc2 dDcMmzexVY0kGMaCYhhJgQ4uhJmRIjcNG4XfDM+RoGg0XEbDhfxwwV/eEjZ3 pCiCBhe4VAIXYvEQAWa4AKJSiUWSIqI8jUJyBhFlOSHlYCdEk2UmiS5GVKhQ VTAADQA2FOMgWmNRgpOBEQC0xxnF\ \>"], ImageRangeCache->{{{199, 301}, {644, 563}} -> {-20.2409, 56.3673, 0.100464, \ 0.100464}}], Cell["\<\ In the three dimensional diagram the elbows are again the axial bounding \ lattice points as well as bounding points where the staircase goes up in the \ coordinate planes and in the interior. They are demarcated by tetrahedra.\ \>", "Text"], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .90343 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics3D %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations -0.00510148 1.04977 1.66533e-16 1.04977 [ [ 0 0 0 0 ] [ 1 .90343 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 .90343 L 0 .90343 L closepath clip newpath .5 Mabswid [ ] 0 setdash 0 g .56599 .56259 m .58858 .57549 L .56488 .58809 L p F P s .56488 .58809 m .54229 .57549 L .56599 .56259 L p F P s .54256 .60317 m .54229 .57549 L .56488 .58809 L p F P s .56488 .58809 m .56543 .61558 L .54256 .60317 L p F P s .58942 .60317 m .56543 .61558 L .56488 .58809 L p F P s .56488 .58809 m .58858 .57549 L .58942 .60317 L p F P s .56657 .59045 m .58942 .60317 L .56543 .61558 L p F P s .56543 .61558 m .54256 .60317 L .56657 .59045 L p F P s .56657 .59045 m .56599 .56259 L .58858 .57549 L p F P s .58858 .57549 m .58942 .60317 L .56657 .59045 L p F P s .56657 .59045 m .54256 .60317 L .54229 .57549 L p F P s .54229 .57549 m .56599 .56259 L .56657 .59045 L p F P s 1 .1 .15 r .53275 .54359 m .55614 .55696 L .53243 .57 L p F P 0 g s 1 .1 .15 r .53243 .57 m .50903 .55696 L .53275 .54359 L p F P 0 g s 1 .1 .15 r .5089 .5849 m .50903 .55696 L .53243 .57 L p F P 0 g s 1 .1 .15 r .53243 .57 m .53259 .59776 L .5089 .5849 L p F P 0 g s 1 .1 .15 r .5566 .5849 m .53259 .59776 L .53243 .57 L p F P 0 g s 1 .1 .15 r .53243 .57 m .55614 .55696 L .5566 .5849 L p F P 0 g s 1 .1 .15 r .60089 .54359 m .62344 .55696 L .59891 .57 L p F P 0 g s 1 .1 .15 r .59891 .57 m .57633 .55696 L .60089 .54359 L p F P 0 g s 1 .1 .15 r .57704 .5849 m .57633 .55696 L .59891 .57 L p F P 0 g s 1 .1 .15 r .59891 .57 m .59989 .59776 L .57704 .5849 L p F P 0 g s 1 .1 .15 r .62474 .5849 m .59989 .59776 L .59891 .57 L p F P 0 g s 1 .1 .15 r .59891 .57 m .62344 .55696 L .62474 .5849 L p F P 0 g s 1 .1 .15 r .56682 .6026 m .58979 .61524 L .56567 .62757 L p F P 0 g s 1 .1 .15 r .56567 .62757 m .54268 .61524 L .56682 .6026 L p F P 0 g s 1 .1 .15 r .54297 .64391 m .54268 .61524 L .56567 .62757 L p F P 0 g s 1 .1 .15 r .56567 .62757 m .56624 .65604 L .54297 .64391 L p F P 0 g s 1 .1 .15 r .59067 .64391 m .56624 .65604 L .56567 .62757 L p F P 0 g s 1 .1 .15 r .56567 .62757 m .58979 .61524 L .59067 .64391 L p F P 0 g s 1 .1 .15 r .53291 .57172 m .5566 .5849 L .53259 .59776 L p F P 0 g s 1 .1 .15 r .53259 .59776 m .5089 .5849 L .53291 .57172 L p F P 0 g s 1 .1 .15 r .60192 .57172 m .62474 .5849 L .59989 .59776 L p F P 0 g s 1 .1 .15 r .59989 .59776 m .57704 .5849 L .60192 .57172 L p F P 0 g s 1 .1 .15 r .56742 .63148 m .56682 .6026 L .58979 .61524 L p F P 0 g s 1 .1 .15 r .58979 .61524 m .59067 .64391 L .56742 .63148 L p F P 0 g s 1 .1 .15 r .56742 .63148 m .54297 .64391 L .54268 .61524 L p F P 0 g s 1 .1 .15 r .54268 .61524 m .56682 .6026 L .56742 .63148 L p F P 0 g s 1 .1 .15 r .53291 .57172 m .53275 .54359 L .55614 .55696 L p F P 0 g s 1 .1 .15 r .55614 .55696 m .5566 .5849 L .53291 .57172 L p F P 0 g s 1 .1 .15 r .53291 .57172 m .5089 .5849 L .50903 .55696 L p F P 0 g s 1 .1 .15 r .50903 .55696 m .53275 .54359 L .53291 .57172 L p F P 0 g s 1 .1 .15 r .60192 .57172 m .60089 .54359 L .62344 .55696 L p F P 0 g s 1 .1 .15 r .62344 .55696 m .62474 .5849 L .60192 .57172 L p F P 0 g s 1 .1 .15 r .60192 .57172 m .57704 .5849 L .57633 .55696 L p F P 0 g s 1 .1 .15 r .57633 .55696 m .60089 .54359 L .60192 .57172 L p F P 0 g s 1 .1 .15 r .56742 .63148 m .59067 .64391 L .56624 .65604 L p F P 0 g s 1 .1 .15 r .56624 .65604 m .54297 .64391 L .56742 .63148 L p F P 0 g s 1 .1 .15 r .49829 .5239 m .52254 .53776 L .49883 .55127 L p F P 0 g s 1 .1 .15 r .49883 .55127 m .47459 .53776 L .49829 .5239 L p F P 0 g s 1 .1 .15 r .47401 .56596 m .47459 .53776 L .49883 .55127 L p F P 0 g s 1 .1 .15 r .49883 .55127 m .49856 .57929 L .47401 .56596 L p F P 0 g s 1 .1 .15 r .52258 .56596 m .49856 .57929 L .49883 .55127 L p F P 0 g s 1 .1 .15 r .49883 .55127 m .52254 .53776 L .52258 .56596 L p F P 0 g s 1 .1 .15 r .56768 .5239 m .59105 .53776 L .56649 .55127 L p F P 0 g s 1 .1 .15 r .56649 .55127 m .5431 .53776 L .56768 .5239 L p F P 0 g s 1 .1 .15 r .54339 .56596 m .5431 .53776 L .56649 .55127 L p F P 0 g s 1 .1 .15 r .56649 .55127 m .56707 .57929 L .54339 .56596 L p F P 0 g s 1 .1 .15 r .59196 .56596 m .56707 .57929 L .56649 .55127 L p F P 0 g s 1 .1 .15 r .56649 .55127 m .59105 .53776 L .59196 .56596 L p F P 0 g s 1 .1 .15 r .53299 .58399 m .5568 .59709 L .53266 .60986 L p F P 0 g s 1 .1 .15 r .53266 .60986 m .50884 .59709 L .53299 .58399 L p F P 0 g s 1 .1 .15 r .5087 .62605 m .50884 .59709 L .53266 .60986 L p F P 0 g s 1 .1 .15 r .53266 .60986 m .53282 .63862 L .5087 .62605 L p F P 0 g s 1 .1 .15 r .55727 .62605 m .53282 .63862 L .53266 .60986 L p F P 0 g s 1 .1 .15 r .53266 .60986 m .5568 .59709 L .55727 .62605 L p F P 0 g s 1 .1 .15 r .63706 .5239 m .65956 .53776 L .63414 .55127 L p F P 0 g s 1 .1 .15 r .63414 .55127 m .61161 .53776 L .63706 .5239 L p F P 0 g s 1 .1 .15 r .61278 .56596 m .61161 .53776 L .63414 .55127 L p F P 0 g s 1 .1 .15 r .63414 .55127 m .63558 .57929 L .61278 .56596 L p F P 0 g s 1 .1 .15 r .66135 .56596 m .63558 .57929 L .63414 .55127 L p F P 0 g s 1 .1 .15 r .63414 .55127 m .65956 .53776 L .66135 .56596 L p F P 0 g s 1 .1 .15 r .60237 .58399 m .62531 .59709 L .60032 .60986 L p F P 0 g s 1 .1 .15 r .60032 .60986 m .57735 .59709 L .60237 .58399 L p F P 0 g s 1 .1 .15 r .57809 .62605 m .57735 .59709 L .60032 .60986 L p F P 0 g s 1 .1 .15 r .60032 .60986 m .60133 .63862 L .57809 .62605 L p F P 0 g s 1 .1 .15 r .62665 .62605 m .60133 .63862 L .60032 .60986 L p F P 0 g s 1 .1 .15 r .60032 .60986 m .62531 .59709 L .62665 .62605 L p F P 0 g s 1 .1 .15 r .56768 .64408 m .59105 .65642 L .56649 .66846 L p F P 0 g s 1 .1 .15 r .56649 .66846 m .5431 .65642 L .56768 .64408 L p F P 0 g s 1 .1 .15 r .54339 .68614 m .5431 .65642 L .56649 .66846 L p F P 0 g s 1 .1 .15 r .56649 .66846 m .56707 .69795 L .54339 .68614 L p F P 0 g s 1 .1 .15 r .59196 .68614 m .56707 .69795 L .56649 .66846 L p F P 0 g s 1 .1 .15 r .56649 .66846 m .59105 .65642 L .59196 .68614 L p F P 0 g s 1 .1 .15 r .49802 .55229 m .52258 .56596 L .49856 .57929 L p F P 0 g s 1 .1 .15 r .49856 .57929 m .47401 .56596 L .49802 .55229 L p F P 0 g s 1 .1 .15 r .49802 .55229 m .49829 .5239 L .52254 .53776 L p F P 0 g s 1 .1 .15 r .52254 .53776 m .52258 .56596 L .49802 .55229 L p F P 0 g s 1 .1 .15 r .49802 .55229 m .47401 .56596 L .47459 .53776 L p F P 0 g s 1 .1 .15 r .47459 .53776 m .49829 .5239 L .49802 .55229 L p F P 0 g s 1 .1 .15 r .5683 .55229 m .59196 .56596 L .56707 .57929 L p F P 0 g s 1 .1 .15 r .56707 .57929 m .54339 .56596 L .5683 .55229 L p F P 0 g s 1 .1 .15 r .5683 .55229 m .56768 .5239 L .59105 .53776 L p F P 0 g s 1 .1 .15 r .59105 .53776 m .59196 .56596 L .5683 .55229 L p F P 0 g s 1 .1 .15 r .5683 .55229 m .54339 .56596 L .5431 .53776 L p F P 0 g s 1 .1 .15 r .5431 .53776 m .56768 .5239 L .5683 .55229 L p F P 0 g s 1 .1 .15 r .53316 .61316 m .55727 .62605 L .53282 .63862 L p F P 0 g s 1 .1 .15 r .53282 .63862 m .5087 .62605 L .53316 .61316 L p F P 0 g s 1 .1 .15 r .53316 .61316 m .53299 .58399 L .5568 .59709 L p F P 0 g s 1 .1 .15 r .5568 .59709 m .55727 .62605 L .53316 .61316 L p F P 0 g s 1 .1 .15 r .53316 .61316 m .5087 .62605 L .50884 .59709 L p F P 0 g s 1 .1 .15 r .50884 .59709 m .53299 .58399 L .53316 .61316 L p F P 0 g s 1 .1 .15 r .63858 .55229 m .66135 .56596 L .63558 .57929 L p F P 0 g s 1 .1 .15 r .63558 .57929 m .61278 .56596 L .63858 .55229 L p F P 0 g s 1 .1 .15 r .63858 .55229 m .63706 .5239 L .65956 .53776 L p F P 0 g s 1 .1 .15 r .65956 .53776 m .66135 .56596 L .63858 .55229 L p F P 0 g s 1 .1 .15 r .63858 .55229 m .61278 .56596 L .61161 .53776 L p F P 0 g s 1 .1 .15 r .61161 .53776 m .63706 .5239 L .63858 .55229 L p F P 0 g s 1 .1 .15 r .60344 .61316 m .62665 .62605 L .60133 .63862 L p F P 0 g s 1 .1 .15 r .60133 .63862 m .57809 .62605 L .60344 .61316 L p F P 0 g s 1 .1 .15 r .60344 .61316 m .60237 .58399 L .62531 .59709 L p F P 0 g s 1 .1 .15 r .62531 .59709 m .62665 .62605 L .60344 .61316 L p F P 0 g s 1 .1 .15 r .60344 .61316 m .57809 .62605 L .57735 .59709 L p F P 0 g s 1 .1 .15 r .57735 .59709 m .60237 .58399 L .60344 .61316 L p F P 0 g s 1 .1 .15 r .5683 .67402 m .59196 .68614 L .56707 .69795 L p F P 0 g s 1 .1 .15 r .56707 .69795 m .54339 .68614 L .5683 .67402 L p F P 0 g s 1 .1 .15 r .5683 .67402 m .56768 .64408 L .59105 .65642 L p F P 0 g s 1 .1 .15 r .59105 .65642 m .59196 .68614 L .5683 .67402 L p F P 0 g s 1 .1 .15 r .5683 .67402 m .54339 .68614 L .5431 .65642 L p F P 0 g s 1 .1 .15 r .5431 .65642 m .56768 .64408 L .5683 .67402 L p F P 0 g s 1 1 0 r .65571 .57587 m .61446 .58184 L .64218 .59781 L closepath p F P 0 g s 1 1 0 r .63895 .61423 m .64218 .59781 L .61446 .58184 L closepath p F P 0 g s 1 1 0 r .63895 .61423 m .65571 .57587 L .64218 .59781 L closepath p F P 0 g s 1 .1 .15 r .46256 .50348 m .48771 .51785 L .46401 .53186 L p F P 0 g s 1 .1 .15 r .46401 .53186 m .43888 .51785 L .46256 .50348 L p F P 0 g s 1 .1 .15 r .43783 .54632 m .43888 .51785 L .46401 .53186 L p F P 0 g s 1 .1 .15 r .46401 .53186 m .46329 .56015 L .43783 .54632 L p F P 0 g s 1 .1 .15 r .48729 .54632 m .46329 .56015 L .46401 .53186 L p F P 0 g s 1 .1 .15 r .46401 .53186 m .48771 .51785 L .48729 .54632 L p F P 0 g s 1 .1 .15 r .53323 .50348 m .55748 .51785 L .53289 .53186 L p F P 0 g s 1 .1 .15 r .53289 .53186 m .50864 .51785 L .53323 .50348 L p F P 0 g s 1 .1 .15 r .5085 .54632 m .50864 .51785 L .53289 .53186 L p F P 0 g s 1 .1 .15 r .53289 .53186 m .53306 .56015 L .5085 .54632 L p F P 0 g s 1 .1 .15 r .55797 .54632 m .53306 .56015 L .53289 .53186 L p F P 0 g s 1 .1 .15 r .53289 .53186 m .55748 .51785 L .55797 .54632 L p F P 0 g s 1 .1 .15 r .4979 .56468 m .52259 .57827 L .49845 .59151 L p F P 0 g s 1 .1 .15 r .49845 .59151 m .47376 .57827 L .4979 .56468 L p F P 0 g s 1 .1 .15 r .47316 .60753 m .47376 .57827 L .49845 .59151 L p F P 0 g s 1 .1 .15 r .49845 .59151 m .49818 .62056 L .47316 .60753 L p F P 0 g s 1 .1 .15 r .52263 .60753 m .49818 .62056 L .49845 .59151 L p F P 0 g s 1 .1 .15 r .49845 .59151 m .52259 .57827 L .52263 .60753 L p F P 0 g s 1 .1 .15 r .6039 .50348 m .62724 .51785 L .60177 .53186 L p F P 0 g s 1 .1 .15 r .60177 .53186 m .57841 .51785 L .6039 .50348 L p F P 0 g s 1 .1 .15 r .57917 .54632 m .57841 .51785 L .60177 .53186 L p F P 0 g s 1 .1 .15 r .60177 .53186 m .60282 .56015 L .57917 .54632 L p F P 0 g s 1 .1 .15 r .62864 .54632 m .60282 .56015 L .60177 .53186 L p F P 0 g s 1 .1 .15 r .60177 .53186 m .62724 .51785 L .62864 .54632 L p F P 0 g s 1 .1 .15 r .56857 .56468 m .59236 .57827 L .56733 .59151 L p F P 0 g s 1 .1 .15 r .56733 .59151 m .54352 .57827 L .56857 .56468 L p F P 0 g s 1 .1 .15 r .54383 .60753 m .54352 .57827 L .56733 .59151 L p F P 0 g s 1 .1 .15 r .56733 .59151 m .56794 .62056 L .54383 .60753 L p F P 0 g s 1 .1 .15 r .5933 .60753 m .56794 .62056 L .56733 .59151 L p F P 0 g s 1 .1 .15 r .56733 .59151 m .59236 .57827 L .5933 .60753 L p F P 0 g s 1 .1 .15 r .53323 .62589 m .55748 .63869 L .53289 .65117 L p F P 0 g s 1 .1 .15 r .53289 .65117 m .50864 .63869 L .53323 .62589 L p F P 0 g s 1 .1 .15 r .5085 .66873 m .50864 .63869 L .53289 .65117 L p F P 0 g s 1 .1 .15 r .53289 .65117 m .53306 .68098 L .5085 .66873 L p F P 0 g s 1 .1 .15 r .55797 .66873 m .53306 .68098 L .53289 .65117 L p F P 0 g s 1 .1 .15 r .53289 .65117 m .55748 .63869 L .55797 .66873 L p F P 0 g s 1 .1 .15 r .67457 .50348 m .69701 .51785 L .67065 .53186 L p F P 0 g s 1 .1 .15 r .67065 .53186 m .64817 .51785 L .67457 .50348 L p F P 0 g s 1 .1 .15 r .64984 .54632 m .64817 .51785 L .67065 .53186 L p F P 0 g s 1 .1 .15 r .67065 .53186 m .67259 .56015 L .64984 .54632 L p F P 0 g s 1 .1 .15 r .69931 .54632 m .67259 .56015 L .67065 .53186 L p F P 0 g s 1 .1 .15 r .67065 .53186 m .69701 .51785 L .69931 .54632 L p F P 0 g s 1 .1 .15 r .6039 .62589 m .62724 .63869 L .60177 .65117 L p F P 0 g s 1 .1 .15 r .60177 .65117 m .57841 .63869 L .6039 .62589 L p F P 0 g s 1 .1 .15 r .57917 .66873 m .57841 .63869 L .60177 .65117 L p F P 0 g s 1 .1 .15 r .60177 .65117 m .60282 .68098 L .57917 .66873 L p F P 0 g s 1 .1 .15 r .62864 .66873 m .60282 .68098 L .60177 .65117 L p F P 0 g s 1 .1 .15 r .60177 .65117 m .62724 .63869 L .62864 .66873 L p F P 0 g s 1 .1 .15 r .56857 .68709 m .59236 .69911 L .56733 .71082 L p F P 0 g s 1 .1 .15 r .56733 .71082 m .54352 .69911 L .56857 .68709 L p F P 0 g s 1 .1 .15 r .54383 .72993 m .54352 .69911 L .56733 .71082 L p F P 0 g s 1 .1 .15 r .56733 .71082 m .56794 .7414 L .54383 .72993 L p F P 0 g s 1 .1 .15 r .5933 .72993 m .56794 .7414 L .56733 .71082 L p F P 0 g s 1 .1 .15 r .56733 .71082 m .59236 .69911 L .5933 .72993 L p F P 0 g s 1 .1 .15 r .53341 .53214 m .55797 .54632 L .53306 .56015 L p F P 0 g s 1 .1 .15 r .53306 .56015 m .5085 .54632 L .53341 .53214 L p F P 0 g s 1 .1 .15 r .49761 .59415 m .4979 .56468 L .52259 .57827 L p F P 0 g s 1 .1 .15 r .52259 .57827 m .52263 .60753 L .49761 .59415 L p F P 0 g s 1 .1 .15 r .60501 .53214 m .62864 .54632 L .60282 .56015 L p F P 0 g s 1 .1 .15 r .60282 .56015 m .57917 .54632 L .60501 .53214 L p F P 0 g s 1 .1 .15 r .56921 .59415 m .54383 .60753 L .54352 .57827 L p F P 0 g s 1 .1 .15 r .54352 .57827 m .56857 .56468 L .56921 .59415 L p F P 0 g s 1 .1 .15 r .46181 .53214 m .48729 .54632 L .46329 .56015 L p F P 0 g s 1 .1 .15 r .46329 .56015 m .43783 .54632 L .46181 .53214 L p F P 0 g s 1 .1 .15 r .46181 .53214 m .46256 .50348 L .48771 .51785 L p F P 0 g s 1 .1 .15 r .48771 .51785 m .48729 .54632 L .46181 .53214 L p F P 0 g s 1 .1 .15 r .46181 .53214 m .43783 .54632 L .43888 .51785 L p F P 0 g s 1 .1 .15 r .43888 .51785 m .46256 .50348 L .46181 .53214 L p F P 0 g s 1 .1 .15 r .53341 .53214 m .53323 .50348 L .55748 .51785 L p F P 0 g s 1 .1 .15 r .55748 .51785 m .55797 .54632 L .53341 .53214 L p F P 0 g s 1 .1 .15 r .53341 .53214 m .5085 .54632 L .50864 .51785 L p F P 0 g s 1 .1 .15 r .50864 .51785 m .53323 .50348 L .53341 .53214 L p F P 0 g s 1 .1 .15 r .49761 .59415 m .52263 .60753 L .49818 .62056 L p F P 0 g s 1 .1 .15 r .49818 .62056 m .47316 .60753 L .49761 .59415 L p F P 0 g s 1 .1 .15 r .49761 .59415 m .47316 .60753 L .47376 .57827 L p F P 0 g s 1 .1 .15 r .47376 .57827 m .4979 .56468 L .49761 .59415 L p F P 0 g s 1 .1 .15 r .60501 .53214 m .6039 .50348 L .62724 .51785 L p F P 0 g s 1 .1 .15 r .62724 .51785 m .62864 .54632 L .60501 .53214 L p F P 0 g s 1 .1 .15 r .60501 .53214 m .57917 .54632 L .57841 .51785 L p F P 0 g s 1 .1 .15 r .57841 .51785 m .6039 .50348 L .60501 .53214 L p F P 0 g s 1 .1 .15 r .56921 .59415 m .5933 .60753 L .56794 .62056 L p F P 0 g s 1 .1 .15 r .56794 .62056 m .54383 .60753 L .56921 .59415 L p F P 0 g s 1 .1 .15 r .56921 .59415 m .56857 .56468 L .59236 .57827 L p F P 0 g s 1 .1 .15 r .59236 .57827 m .5933 .60753 L .56921 .59415 L p F P 0 g s 1 .1 .15 r .53341 .65615 m .55797 .66873 L .53306 .68098 L p F P 0 g s 1 .1 .15 r .53306 .68098 m .5085 .66873 L .53341 .65615 L p F P 0 g s 1 .1 .15 r .53341 .65615 m .53323 .62589 L .55748 .63869 L p F P 0 g s 1 .1 .15 r .55748 .63869 m .55797 .66873 L .53341 .65615 L p F P 0 g s 1 .1 .15 r .53341 .65615 m .5085 .66873 L .50864 .63869 L p F P 0 g s 1 .1 .15 r .50864 .63869 m .53323 .62589 L .53341 .65615 L p F P 0 g s 1 .1 .15 r .67661 .53214 m .69931 .54632 L .67259 .56015 L p F P 0 g s 1 .1 .15 r .67259 .56015 m .64984 .54632 L .67661 .53214 L p F P 0 g s 1 .1 .15 r .67661 .53214 m .67457 .50348 L .69701 .51785 L p F P 0 g s 1 .1 .15 r .69701 .51785 m .69931 .54632 L .67661 .53214 L p F P 0 g s 1 .1 .15 r .67661 .53214 m .64984 .54632 L .64817 .51785 L p F P 0 g s 1 .1 .15 r .64817 .51785 m .67457 .50348 L .67661 .53214 L p F P 0 g s 1 .1 .15 r .60501 .65615 m .62864 .66873 L .60282 .68098 L p F P 0 g s 1 .1 .15 r .60282 .68098 m .57917 .66873 L .60501 .65615 L p F P 0 g s 1 .1 .15 r .60501 .65615 m .6039 .62589 L .62724 .63869 L p F P 0 g s 1 .1 .15 r .62724 .63869 m .62864 .66873 L .60501 .65615 L p F P 0 g s 1 .1 .15 r .60501 .65615 m .57917 .66873 L .57841 .63869 L p F P 0 g s 1 .1 .15 r .57841 .63869 m .6039 .62589 L .60501 .65615 L p F P 0 g s 1 .1 .15 r .56921 .71816 m .5933 .72993 L .56794 .7414 L p F P 0 g s 1 .1 .15 r .56794 .7414 m .54383 .72993 L .56921 .71816 L p F P 0 g s 1 .1 .15 r .56921 .71816 m .56857 .68709 L .59236 .69911 L p F P 0 g s 1 .1 .15 r .59236 .69911 m .5933 .72993 L .56921 .71816 L p F P 0 g s 1 .1 .15 r .56921 .71816 m .54383 .72993 L .54352 .69911 L p F P 0 g s 1 .1 .15 r .54352 .69911 m .56857 .68709 L .56921 .71816 L p F P 0 g s 1 1 0 r .63895 .61423 m .61446 .58184 L .65571 .57587 L closepath p F P 0 g s 1 1 0 r .58671 .61814 m .54509 .62398 L .5744 .63959 L closepath p F P 0 g s 1 1 0 r .56937 .65739 m .5744 .63959 L .54509 .62398 L closepath p F P 0 g s 1 1 0 r .56937 .65739 m .58671 .61814 L .5744 .63959 L closepath p F P 0 g s 1 .1 .15 r .49748 .48229 m .52265 .49721 L .49806 .51174 L p F P 0 g s 1 .1 .15 r .49806 .51174 m .4729 .49721 L .49748 .48229 L p F P 0 g s 1 .1 .15 r .47228 .52594 m .4729 .49721 L .49806 .51174 L p F P 0 g s 1 .1 .15 r .49806 .51174 m .49777 .54029 L .47228 .52594 L p F P 0 g s 1 .1 .15 r .52268 .52594 m .49777 .54029 L .49806 .51174 L p F P 0 g s 1 .1 .15 r .49806 .51174 m .52265 .49721 L .52268 .52594 L p F P 0 g s 1 .1 .15 r .46148 .54465 m .48711 .55875 L .46298 .57249 L p F P 0 g s 1 .1 .15 r .46298 .57249 m .43737 .55875 L .46148 .54465 L p F P 0 g s 1 .1 .15 r .43628 .5883 m .43737 .55875 L .46298 .57249 L p F P 0 g s 1 .1 .15 r .46298 .57249 m .46224 .60183 L .43628 .5883 L p F P 0 g s 1 .1 .15 r .48668 .5883 m .46224 .60183 L .46298 .57249 L p F P 0 g s 1 .1 .15 r .46298 .57249 m .48711 .55875 L .48668 .5883 L p F P 0 g s 1 .1 .15 r .56949 .48229 m .59371 .49721 L .56821 .51174 L p F P 0 g s 1 .1 .15 r .56821 .51174 m .54397 .49721 L .56949 .48229 L p F P 0 g s 1 .1 .15 r .54429 .52594 m .54397 .49721 L .56821 .51174 L p F P 0 g s 1 .1 .15 r .56821 .51174 m .56884 .54029 L .54429 .52594 L p F P 0 g s 1 .1 .15 r .59469 .52594 m .56884 .54029 L .56821 .51174 L p F P 0 g s 1 .1 .15 r .56821 .51174 m .59371 .49721 L .59469 .52594 L p F P 0 g s 1 .1 .15 r .53349 .54465 m .55818 .55875 L .53313 .57249 L p F P 0 g s 1 .1 .15 r .53313 .57249 m .50843 .55875 L .53349 .54465 L p F P 0 g s 1 .1 .15 r .50828 .5883 m .50843 .55875 L .53313 .57249 L p F P 0 g s 1 .1 .15 r .53313 .57249 m .53331 .60183 L .50828 .5883 L p F P 0 g s 1 .1 .15 r .55869 .5883 m .53331 .60183 L .53313 .57249 L p F P 0 g s 1 .1 .15 r .53313 .57249 m .55818 .55875 L .55869 .5883 L p F P 0 g s 1 .1 .15 r .49748 .60701 m .52265 .6203 L .49806 .63324 L p F P 0 g s 1 .1 .15 r .49806 .63324 m .4729 .6203 L .49748 .60701 L p F P 0 g s 1 .1 .15 r .47228 .65066 m .4729 .6203 L .49806 .63324 L p F P 0 g s 1 .1 .15 r .49806 .63324 m .49777 .66338 L .47228 .65066 L p F P 0 g s 1 .1 .15 r .52268 .65066 m .49777 .66338 L .49806 .63324 L p F P 0 g s 1 .1 .15 r .49806 .63324 m .52265 .6203 L .52268 .65066 L p F P 0 g s 1 .1 .15 r .6415 .48229 m .66478 .49721 L .63836 .51174 L p F P 0 g s 1 .1 .15 r .63836 .51174 m .61503 .49721 L .6415 .48229 L p F P 0 g s 1 .1 .15 r .61629 .52594 m .61503 .49721 L .63836 .51174 L p F P 0 g s 1 .1 .15 r .63836 .51174 m .63991 .54029 L .61629 .52594 L p F P 0 g s 1 .1 .15 r .6667 .52594 m .63991 .54029 L .63836 .51174 L p F P 0 g s 1 .1 .15 r .63836 .51174 m .66478 .49721 L .6667 .52594 L p F P 0 g s 1 .1 .15 r .53349 .66937 m .55818 .68184 L .53313 .694 L p F P 0 g s 1 .1 .15 r .53313 .694 m .50843 .68184 L .53349 .66937 L p F P 0 g s 1 .1 .15 r .50828 .71302 m .50843 .68184 L .53313 .694 L p F P 0 g s 1 .1 .15 r .53313 .694 m .53331 .72493 L .50828 .71302 L p F P 0 g s 1 .1 .15 r .55869 .71302 m .53331 .72493 L .53313 .694 L p F P 0 g s 1 .1 .15 r .53313 .694 m .55818 .68184 L .55869 .71302 L p F P 0 g s 1 .1 .15 r .60549 .66937 m .62925 .68184 L .60328 .694 L p F P 0 g s 1 .1 .15 r .60328 .694 m .5795 .68184 L .60549 .66937 L p F P 0 g s 1 .1 .15 r .58029 .71302 m .5795 .68184 L .60328 .694 L p F P 0 g s 1 .1 .15 r .60328 .694 m .60437 .72493 L .58029 .71302 L p F P 0 g s 1 .1 .15 r .6307 .71302 m .60437 .72493 L .60328 .694 L p F P 0 g s 1 .1 .15 r .60328 .694 m .62925 .68184 L .6307 .71302 L p F P 0 g s 1 .1 .15 r .42547 .48229 m .45158 .49721 L .42791 .51174 L p F P 0 g s 1 .1 .15 r .42791 .51174 m .40183 .49721 L .42547 .48229 L p F P 0 g s 1 .1 .15 r .40027 .52594 m .40183 .49721 L .42791 .51174 L p F P 0 g s 1 .1 .15 r .42791 .51174 m .42671 .54029 L .40027 .52594 L p F P 0 g s 1 .1 .15 r .45068 .52594 m .42671 .54029 L .42791 .51174 L p F P 0 g s 1 .1 .15 r .42791 .51174 m .45158 .49721 L .45068 .52594 L p F P 0 g s 1 .1 .15 r .7135 .48229 m .73585 .49721 L .70851 .51174 L p F P 0 g s 1 .1 .15 r .70851 .51174 m .6861 .49721 L .7135 .48229 L p F P 0 g s 1 .1 .15 r .6883 .52594 m .6861 .49721 L .70851 .51174 L p F P 0 g s 1 .1 .15 r .70851 .51174 m .71097 .54029 L .6883 .52594 L p F P 0 g s 1 .1 .15 r .73871 .52594 m .71097 .54029 L .70851 .51174 L p F P 0 g s 1 .1 .15 r .70851 .51174 m .73585 .49721 L .73871 .52594 L p F P 0 g s 1 .1 .15 r .56949 .73173 m .59371 .74339 L .56821 .75475 L p F P 0 g s 1 .1 .15 r .56821 .75475 m .54397 .74339 L .56949 .73173 L p F P 0 g s 1 .1 .15 r .54429 .77538 m .54397 .74339 L .56821 .75475 L p F P 0 g s 1 .1 .15 r .56821 .75475 m .56884 .78647 L .54429 .77538 L p F P 0 g s 1 .1 .15 r .59469 .77538 m .56884 .78647 L .56821 .75475 L p F P 0 g s 1 .1 .15 r .56821 .75475 m .59371 .74339 L .59469 .77538 L p F P 0 g s 1 .1 .15 r .49718 .51121 m .52268 .52594 L .49777 .54029 L p F P 0 g s 1 .1 .15 r .49777 .54029 m .47228 .52594 L .49718 .51121 L p F P 0 g s 1 .1 .15 r .49718 .51121 m .47228 .52594 L .4729 .49721 L p F P 0 g s 1 .1 .15 r .4729 .49721 m .49748 .48229 L .49718 .51121 L p F P 0 g s 1 .1 .15 r .4607 .57441 m .46148 .54465 L .48711 .55875 L p F P 0 g s 1 .1 .15 r .48711 .55875 m .48668 .5883 L .4607 .57441 L p F P 0 g s 1 .1 .15 r .4607 .57441 m .43628 .5883 L .43737 .55875 L p F P 0 g s 1 .1 .15 r .43737 .55875 m .46148 .54465 L .4607 .57441 L p F P 0 g s 1 .1 .15 r .57016 .51121 m .59469 .52594 L .56884 .54029 L p F P 0 g s 1 .1 .15 r .56884 .54029 m .54429 .52594 L .57016 .51121 L p F P 0 g s 1 .1 .15 r .53367 .57441 m .55869 .5883 L .53331 .60183 L p F P 0 g s 1 .1 .15 r .53331 .60183 m .50828 .5883 L .53367 .57441 L p F P 0 g s 1 .1 .15 r .53367 .57441 m .53349 .54465 L .55818 .55875 L p F P 0 g s 1 .1 .15 r .55818 .55875 m .55869 .5883 L .53367 .57441 L p F P 0 g s 1 .1 .15 r .53367 .57441 m .50828 .5883 L .50843 .55875 L p F P 0 g s 1 .1 .15 r .50843 .55875 m .53349 .54465 L .53367 .57441 L p F P 0 g s 1 .1 .15 r .49718 .6376 m .49748 .60701 L .52265 .6203 L p F P 0 g s 1 .1 .15 r .52265 .6203 m .52268 .65066 L .49718 .6376 L p F P 0 g s 1 .1 .15 r .64313 .51121 m .6667 .52594 L .63991 .54029 L p F P 0 g s 1 .1 .15 r .63991 .54029 m .61629 .52594 L .64313 .51121 L p F P 0 g s 1 .1 .15 r .53367 .7008 m .53349 .66937 L .55818 .68184 L p F P 0 g s 1 .1 .15 r .55818 .68184 m .55869 .71302 L .53367 .7008 L p F P 0 g s 1 .1 .15 r .53367 .7008 m .50828 .71302 L .50843 .68184 L p F P 0 g s 1 .1 .15 r .50843 .68184 m .53349 .66937 L .53367 .7008 L p F P 0 g s 1 .1 .15 r .7161 .51121 m .7135 .48229 L .73585 .49721 L p F P 0 g s 1 .1 .15 r .73585 .49721 m .73871 .52594 L .7161 .51121 L p F P 0 g s 1 .1 .15 r .60664 .7008 m .60549 .66937 L .62925 .68184 L p F P 0 g s 1 .1 .15 r .62925 .68184 m .6307 .71302 L .60664 .7008 L p F P 0 g s 1 .1 .15 r .60664 .7008 m .58029 .71302 L .5795 .68184 L p F P 0 g s 1 .1 .15 r .5795 .68184 m .60549 .66937 L .60664 .7008 L p F P 0 g s 1 .1 .15 r .57016 .764 m .59469 .77538 L .56884 .78647 L p F P 0 g s 1 .1 .15 r .56884 .78647 m .54429 .77538 L .57016 .764 L p F P 0 g s 1 .1 .15 r .42421 .51121 m .45068 .52594 L .42671 .54029 L p F P 0 g s 1 .1 .15 r .42671 .54029 m .40027 .52594 L .42421 .51121 L p F P 0 g s 1 .1 .15 r .42421 .51121 m .42547 .48229 L .45158 .49721 L p F P 0 g s 1 .1 .15 r .45158 .49721 m .45068 .52594 L .42421 .51121 L p F P 0 g s 1 .1 .15 r .42421 .51121 m .40027 .52594 L .40183 .49721 L p F P 0 g s 1 .1 .15 r .40183 .49721 m .42547 .48229 L .42421 .51121 L p F P 0 g s 1 .1 .15 r .49718 .51121 m .49748 .48229 L .52265 .49721 L p F P 0 g s 1 .1 .15 r .52265 .49721 m .52268 .52594 L .49718 .51121 L p F P 0 g s 1 .1 .15 r .4607 .57441 m .48668 .5883 L .46224 .60183 L p F P 0 g s 1 .1 .15 r .46224 .60183 m .43628 .5883 L .4607 .57441 L p F P 0 g s 1 .1 .15 r .57016 .51121 m .56949 .48229 L .59371 .49721 L p F P 0 g s 1 .1 .15 r .59371 .49721 m .59469 .52594 L .57016 .51121 L p F P 0 g s 1 .1 .15 r .57016 .51121 m .54429 .52594 L .54397 .49721 L p F P 0 g s 1 .1 .15 r .54397 .49721 m .56949 .48229 L .57016 .51121 L p F P 0 g s 1 .1 .15 r .49718 .6376 m .52268 .65066 L .49777 .66338 L p F P 0 g s 1 .1 .15 r .49777 .66338 m .47228 .65066 L .49718 .6376 L p F P 0 g s 1 .1 .15 r .49718 .6376 m .47228 .65066 L .4729 .6203 L p F P 0 g s 1 .1 .15 r .4729 .6203 m .49748 .60701 L .49718 .6376 L p F P 0 g s 1 .1 .15 r .64313 .51121 m .6415 .48229 L .66478 .49721 L p F P 0 g s 1 .1 .15 r .66478 .49721 m .6667 .52594 L .64313 .51121 L p F P 0 g s 1 .1 .15 r .64313 .51121 m .61629 .52594 L .61503 .49721 L p F P 0 g s 1 .1 .15 r .61503 .49721 m .6415 .48229 L .64313 .51121 L p F P 0 g s 1 .1 .15 r .53367 .7008 m .55869 .71302 L .53331 .72493 L p F P 0 g s 1 .1 .15 r .53331 .72493 m .50828 .71302 L .53367 .7008 L p F P 0 g s 1 .1 .15 r .7161 .51121 m .73871 .52594 L .71097 .54029 L p F P 0 g s 1 .1 .15 r .71097 .54029 m .6883 .52594 L .7161 .51121 L p F P 0 g s 1 .1 .15 r .7161 .51121 m .6883 .52594 L .6861 .49721 L p F P 0 g s 1 .1 .15 r .6861 .49721 m .7135 .48229 L .7161 .51121 L p F P 0 g s 1 .1 .15 r .60664 .7008 m .6307 .71302 L .60437 .72493 L p F P 0 g s 1 .1 .15 r .60437 .72493 m .58029 .71302 L .60664 .7008 L p F P 0 g s 1 .1 .15 r .57016 .764 m .56949 .73173 L .59371 .74339 L p F P 0 g s 1 .1 .15 r .59371 .74339 m .59469 .77538 L .57016 .764 L p F P 0 g s 1 .1 .15 r .57016 .764 m .54429 .77538 L .54397 .74339 L p F P 0 g s 1 .1 .15 r .54397 .74339 m .56949 .73173 L .57016 .764 L p F P 0 g s 1 1 0 r .56937 .65739 m .54509 .62398 L .58671 .61814 L closepath p F P 0 g s 1 .1 .15 r .46035 .46028 m .48649 .47578 L .46192 .49086 L p F P 0 g s 1 .1 .15 r .46192 .49086 m .4358 .47578 L .46035 .46028 L p F P 0 g s 1 .1 .15 r .43467 .50478 m .4358 .47578 L .46192 .49086 L p F P 0 g s 1 .1 .15 r .46192 .49086 m .46115 .51968 L .43467 .50478 L p F P 0 g s 1 .1 .15 r .48604 .50478 m .46115 .51968 L .46192 .49086 L p F P 0 g s 1 .1 .15 r .46192 .49086 m .48649 .47578 L .48604 .50478 L p F P 0 g s 1 .1 .15 r .42366 .52384 m .45028 .53849 L .42618 .55275 L p F P 0 g s 1 .1 .15 r .42618 .55275 m .39959 .53849 L .42366 .52384 L p F P 0 g s 1 .1 .15 r .39797 .56834 m .39959 .53849 L .42618 .55275 L p F P 0 g s 1 .1 .15 r .42618 .55275 m .42494 .58239 L .39797 .56834 L p F P 0 g s 1 .1 .15 r .44935 .56834 m .42494 .58239 L .42618 .55275 L p F P 0 g s 1 .1 .15 r .42618 .55275 m .45028 .53849 L .44935 .56834 L p F P 0 g s 1 .1 .15 r .53375 .46028 m .55891 .47578 L .53338 .49086 L p F P 0 g s 1 .1 .15 r .53338 .49086 m .50822 .47578 L .53375 .46028 L p F P 0 g s 1 .1 .15 r .50806 .50478 m .50822 .47578 L .53338 .49086 L p F P 0 g s 1 .1 .15 r .53338 .49086 m .53356 .51968 L .50806 .50478 L p F P 0 g s 1 .1 .15 r .55944 .50478 m .53356 .51968 L .53338 .49086 L p F P 0 g s 1 .1 .15 r .53338 .49086 m .55891 .47578 L .55944 .50478 L p F P 0 g s 1 .1 .15 r .49705 .52384 m .5227 .53849 L .49765 .55275 L p F P 0 g s 1 .1 .15 r .49765 .55275 m .47201 .53849 L .49705 .52384 L p F P 0 g s 1 .1 .15 r .47136 .56834 m .47201 .53849 L .49765 .55275 L p F P 0 g s 1 .1 .15 r .49765 .55275 m .49735 .58239 L .47136 .56834 L p F P 0 g s 1 .1 .15 r .52274 .56834 m .49735 .58239 L .49765 .55275 L p F P 0 g s 1 .1 .15 r .49765 .55275 m .5227 .53849 L .52274 .56834 L p F P 0 g s 1 .1 .15 r .46035 .58741 m .48649 .60121 L .46192 .61465 L p F P 0 g s 1 .1 .15 r .46192 .61465 m .4358 .60121 L .46035 .58741 L p F P 0 g s 1 .1 .15 r .43467 .6319 m .4358 .60121 L .46192 .61465 L p F P 0 g s 1 .1 .15 r .46192 .61465 m .46115 .64511 L .43467 .6319 L p F P 0 g s 1 .1 .15 r .48604 .6319 m .46115 .64511 L .46192 .61465 L p F P 0 g s 1 .1 .15 r .46192 .61465 m .48649 .60121 L .48604 .6319 L p F P 0 g s 1 .1 .15 r .60714 .46028 m .63133 .47578 L .60485 .49086 L p F P 0 g s 1 .1 .15 r .60485 .49086 m .58064 .47578 L .60714 .46028 L p F P 0 g s 1 .1 .15 r .58146 .50478 m .58064 .47578 L .60485 .49086 L p F P 0 g s 1 .1 .15 r .60485 .49086 m .60598 .51968 L .58146 .50478 L p F P 0 g s 1 .1 .15 r .63283 .50478 m .60598 .51968 L .60485 .49086 L p F P 0 g s 1 .1 .15 r .60485 .49086 m .63133 .47578 L .63283 .50478 L p F P 0 g s 1 .1 .15 r .49705 .65097 m .5227 .66392 L .49765 .67654 L p F P 0 g s 1 .1 .15 r .49765 .67654 m .47201 .66392 L .49705 .65097 L p F P 0 g s 1 .1 .15 r .47136 .69546 m .47201 .66392 L .49765 .67654 L p F P 0 g s 1 .1 .15 r .49765 .67654 m .49735 .70782 L .47136 .69546 L p F P 0 g s 1 .1 .15 r .52274 .69546 m .49735 .70782 L .49765 .67654 L p F P 0 g s 1 .1 .15 r .49765 .67654 m .5227 .66392 L .52274 .69546 L p F P 0 g s 1 .1 .15 r .53375 .71453 m .55891 .72664 L .53338 .73843 L p F P 0 g s 1 .1 .15 r .53338 .73843 m .50822 .72664 L .53375 .71453 L p F P 0 g s 1 .1 .15 r .50806 .75902 m .50822 .72664 L .53338 .73843 L p F P 0 g s 1 .1 .15 r .53338 .73843 m .53356 .77054 L .50806 .75902 L p F P 0 g s 1 .1 .15 r .55944 .75902 m .53356 .77054 L .53338 .73843 L p F P 0 g s 1 .1 .15 r .53338 .73843 m .55891 .72664 L .55944 .75902 L p F P 0 g s 1 .1 .15 r .60714 .71453 m .63133 .72664 L .60485 .73843 L p F P 0 g s 1 .1 .15 r .60485 .73843 m .58064 .72664 L .60714 .71453 L p F P 0 g s 1 .1 .15 r .58146 .75902 m .58064 .72664 L .60485 .73843 L p F P 0 g s 1 .1 .15 r .60485 .73843 m .60598 .77054 L .58146 .75902 L p F P 0 g s 1 .1 .15 r .63283 .75902 m .60598 .77054 L .60485 .73843 L p F P 0 g s 1 .1 .15 r .60485 .73843 m .63133 .72664 L .63283 .75902 L p F P 0 g s 1 .1 .15 r .38696 .46028 m .41407 .47578 L .39045 .49086 L p F P 0 g s 1 .1 .15 r .39045 .49086 m .36338 .47578 L .38696 .46028 L p F P 0 g s 1 .1 .15 r .36127 .50478 m .36338 .47578 L .39045 .49086 L p F P 0 g s 1 .1 .15 r .39045 .49086 m .38873 .51968 L .36127 .50478 L p F P 0 g s 1 .1 .15 r .41265 .50478 m .38873 .51968 L .39045 .49086 L p F P 0 g s 1 .1 .15 r .39045 .49086 m .41407 .47578 L .41265 .50478 L p F P 0 g s 1 .1 .15 r .68054 .46028 m .70375 .47578 L .67632 .49086 L p F P 0 g s 1 .1 .15 r .67632 .49086 m .65305 .47578 L .68054 .46028 L p F P 0 g s 1 .1 .15 r .65485 .50478 m .65305 .47578 L .67632 .49086 L p F P 0 g s 1 .1 .15 r .67632 .49086 m .6784 .51968 L .65485 .50478 L p F P 0 g s 1 .1 .15 r .70623 .50478 m .6784 .51968 L .67632 .49086 L p F P 0 g s 1 .1 .15 r .67632 .49086 m .70375 .47578 L .70623 .50478 L p F P 0 g s 1 .1 .15 r .75393 .46028 m .77616 .47578 L .74778 .49086 L p F P 0 g s 1 .1 .15 r .74778 .49086 m .72547 .47578 L .75393 .46028 L p F P 0 g s 1 .1 .15 r .72825 .50478 m .72547 .47578 L .74778 .49086 L p F P 0 g s 1 .1 .15 r .74778 .49086 m .75082 .51968 L .72825 .50478 L p F P 0 g s 1 .1 .15 r .77962 .50478 m .75082 .51968 L .74778 .49086 L p F P 0 g s 1 .1 .15 r .74778 .49086 m .77616 .47578 L .77962 .50478 L p F P 0 g s 1 .1 .15 r .57045 .77809 m .59512 .78935 L .56912 .80032 L p F P 0 g s 1 .1 .15 r .56912 .80032 m .54443 .78935 L .57045 .77809 L p F P 0 g s 1 .1 .15 r .54476 .82258 m .54443 .78935 L .56912 .80032 L p F P 0 g s 1 .1 .15 r .56912 .80032 m .56977 .83326 L .54476 .82258 L p F P 0 g s 1 .1 .15 r .59613 .82258 m .56977 .83326 L .56912 .80032 L p F P 0 g s 1 .1 .15 r .56912 .80032 m .59512 .78935 L .59613 .82258 L p F P 0 g s 1 .1 .15 r .38514 .48947 m .41265 .50478 L .38873 .51968 L p F P 0 g s 1 .1 .15 r .38873 .51968 m .36127 .50478 L .38514 .48947 L p F P 0 g s 1 .1 .15 r .38514 .48947 m .38696 .46028 L .41407 .47578 L p F P 0 g s 1 .1 .15 r .41407 .47578 m .41265 .50478 L .38514 .48947 L p F P 0 g s 1 .1 .15 r .38514 .48947 m .36127 .50478 L .36338 .47578 L p F P 0 g s 1 .1 .15 r .36338 .47578 m .38696 .46028 L .38514 .48947 L p F P 0 g s 1 .1 .15 r .45954 .48947 m .48604 .50478 L .46115 .51968 L p F P 0 g s 1 .1 .15 r .46115 .51968 m .43467 .50478 L .45954 .48947 L p F P 0 g s 1 .1 .15 r .45954 .48947 m .46035 .46028 L .48649 .47578 L p F P 0 g s 1 .1 .15 r .48649 .47578 m .48604 .50478 L .45954 .48947 L p F P 0 g s 1 .1 .15 r .45954 .48947 m .43467 .50478 L .4358 .47578 L p F P 0 g s 1 .1 .15 r .4358 .47578 m .46035 .46028 L .45954 .48947 L p F P 0 g s 1 .1 .15 r .42234 .5539 m .44935 .56834 L .42494 .58239 L p F P 0 g s 1 .1 .15 r .42494 .58239 m .39797 .56834 L .42234 .5539 L p F P 0 g s 1 .1 .15 r .42234 .5539 m .42366 .52384 L .45028 .53849 L p F P 0 g s 1 .1 .15 r .45028 .53849 m .44935 .56834 L .42234 .5539 L p F P 0 g s 1 .1 .15 r .42234 .5539 m .39797 .56834 L .39959 .53849 L p F P 0 g s 1 .1 .15 r .39959 .53849 m .42366 .52384 L .42234 .5539 L p F P 0 g s 1 .1 .15 r .53394 .48947 m .55944 .50478 L .53356 .51968 L p F P 0 g s 1 .1 .15 r .53356 .51968 m .50806 .50478 L .53394 .48947 L p F P 0 g s 1 .1 .15 r .53394 .48947 m .53375 .46028 L .55891 .47578 L p F P 0 g s 1 .1 .15 r .55891 .47578 m .55944 .50478 L .53394 .48947 L p F P 0 g s 1 .1 .15 r .53394 .48947 m .50806 .50478 L .50822 .47578 L p F P 0 g s 1 .1 .15 r .50822 .47578 m .53375 .46028 L .53394 .48947 L p F P 0 g s 1 .1 .15 r .49674 .5539 m .52274 .56834 L .49735 .58239 L p F P 0 g s 1 .1 .15 r .49735 .58239 m .47136 .56834 L .49674 .5539 L p F P 0 g s 1 .1 .15 r .49674 .5539 m .49705 .52384 L .5227 .53849 L p F P 0 g s 1 .1 .15 r .5227 .53849 m .52274 .56834 L .49674 .5539 L p F P 0 g s 1 .1 .15 r .49674 .5539 m .47136 .56834 L .47201 .53849 L p F P 0 g s 1 .1 .15 r .47201 .53849 m .49705 .52384 L .49674 .5539 L p F P 0 g s 1 .1 .15 r .45954 .61833 m .48604 .6319 L .46115 .64511 L p F P 0 g s 1 .1 .15 r .46115 .64511 m .43467 .6319 L .45954 .61833 L p F P 0 g s 1 .1 .15 r .45954 .61833 m .46035 .58741 L .48649 .60121 L p F P 0 g s 1 .1 .15 r .48649 .60121 m .48604 .6319 L .45954 .61833 L p F P 0 g s 1 .1 .15 r .45954 .61833 m .43467 .6319 L .4358 .60121 L p F P 0 g s 1 .1 .15 r .4358 .60121 m .46035 .58741 L .45954 .61833 L p F P 0 g s 1 .1 .15 r .60834 .48947 m .63283 .50478 L .60598 .51968 L p F P 0 g s 1 .1 .15 r .60598 .51968 m .58146 .50478 L .60834 .48947 L p F P 0 g s 1 .1 .15 r .60834 .48947 m .60714 .46028 L .63133 .47578 L p F P 0 g s 1 .1 .15 r .63133 .47578 m .63283 .50478 L .60834 .48947 L p F P 0 g s 1 .1 .15 r .60834 .48947 m .58146 .50478 L .58064 .47578 L p F P 0 g s 1 .1 .15 r .58064 .47578 m .60714 .46028 L .60834 .48947 L p F P 0 g s 1 .1 .15 r .49674 .68276 m .52274 .69546 L .49735 .70782 L p F P 0 g s 1 .1 .15 r .49735 .70782 m .47136 .69546 L .49674 .68276 L p F P 0 g s 1 .1 .15 r .49674 .68276 m .49705 .65097 L .5227 .66392 L p F P 0 g s 1 .1 .15 r .5227 .66392 m .52274 .69546 L .49674 .68276 L p F P 0 g s 1 .1 .15 r .49674 .68276 m .47136 .69546 L .47201 .66392 L p F P 0 g s 1 .1 .15 r .47201 .66392 m .49705 .65097 L .49674 .68276 L p F P 0 g s 1 .1 .15 r .68274 .48947 m .70623 .50478 L .6784 .51968 L p F P 0 g s 1 .1 .15 r .6784 .51968 m .65485 .50478 L .68274 .48947 L p F P 0 g s 1 .1 .15 r .68274 .48947 m .68054 .46028 L .70375 .47578 L p F P 0 g s 1 .1 .15 r .70375 .47578 m .70623 .50478 L .68274 .48947 L p F P 0 g s 1 .1 .15 r .68274 .48947 m .65485 .50478 L .65305 .47578 L p F P 0 g s 1 .1 .15 r .65305 .47578 m .68054 .46028 L .68274 .48947 L p F P 0 g s 1 .1 .15 r .53394 .74719 m .55944 .75902 L .53356 .77054 L p F P 0 g s 1 .1 .15 r .53356 .77054 m .50806 .75902 L .53394 .74719 L p F P 0 g s 1 .1 .15 r .53394 .74719 m .53375 .71453 L .55891 .72664 L p F P 0 g s 1 .1 .15 r .55891 .72664 m .55944 .75902 L .53394 .74719 L p F P 0 g s 1 .1 .15 r .53394 .74719 m .50806 .75902 L .50822 .72664 L p F P 0 g s 1 .1 .15 r .50822 .72664 m .53375 .71453 L .53394 .74719 L p F P 0 g s 1 .1 .15 r .75714 .48947 m .77962 .50478 L .75082 .51968 L p F P 0 g s 1 .1 .15 r .75082 .51968 m .72825 .50478 L .75714 .48947 L p F P 0 g s 1 .1 .15 r .75714 .48947 m .75393 .46028 L .77616 .47578 L p F P 0 g s 1 .1 .15 r .77616 .47578 m .77962 .50478 L .75714 .48947 L p F P 0 g s 1 .1 .15 r .75714 .48947 m .72825 .50478 L .72547 .47578 L p F P 0 g s 1 .1 .15 r .72547 .47578 m .75393 .46028 L .75714 .48947 L p F P 0 g s 1 .1 .15 r .60834 .74719 m .63283 .75902 L .60598 .77054 L p F P 0 g s 1 .1 .15 r .60598 .77054 m .58146 .75902 L .60834 .74719 L p F P 0 g s 1 .1 .15 r .60834 .74719 m .60714 .71453 L .63133 .72664 L p F P 0 g s 1 .1 .15 r .63133 .72664 m .63283 .75902 L .60834 .74719 L p F P 0 g s 1 .1 .15 r .60834 .74719 m .58146 .75902 L .58064 .72664 L p F P 0 g s 1 .1 .15 r .58064 .72664 m .60714 .71453 L .60834 .74719 L p F P 0 g s 1 .1 .15 r .57114 .81162 m .59613 .82258 L .56977 .83326 L p F P 0 g s 1 .1 .15 r .56977 .83326 m .54476 .82258 L .57114 .81162 L p F P 0 g s 1 .1 .15 r .57114 .81162 m .57045 .77809 L .59512 .78935 L p F P 0 g s 1 .1 .15 r .59512 .78935 m .59613 .82258 L .57114 .81162 L p F P 0 g s 1 .1 .15 r .57114 .81162 m .54476 .82258 L .54443 .78935 L p F P 0 g s 1 .1 .15 r .54443 .78935 m .57045 .77809 L .57114 .81162 L p F P 0 g s 1 1 0 r .58932 .83641 m .54607 .84116 L .57649 .85385 L closepath p F P 0 g s 1 1 0 r .57131 .87807 m .57649 .85385 L .54607 .84116 L closepath p F P 0 g s 1 1 0 r .57131 .87807 m .58932 .83641 L .57649 .85385 L closepath p F P 0 g s .3 .8 .3 r .60886 .76138 m .63356 .77312 L .60647 .78455 L p F P 0 g s .3 .8 .3 r .60647 .78455 m .58174 .77312 L .60886 .76138 L p F P 0 g s .3 .8 .3 r .58259 .80688 m .58174 .77312 L .60647 .78455 L p F P 0 g s .3 .8 .3 r .60647 .78455 m .60765 .818 L .58259 .80688 L p F P 0 g s .3 .8 .3 r .63513 .80688 m .60765 .818 L .60647 .78455 L p F P 0 g s .3 .8 .3 r .60647 .78455 m .63356 .77312 L .63513 .80688 L p F P 0 g s 1 .1 .15 r .45919 .50222 m .48585 .51744 L .46081 .53226 L p F P 0 g s 1 .1 .15 r .46081 .53226 m .43417 .51744 L .45919 .50222 L p F P 0 g s 1 .1 .15 r .43299 .54759 m .43417 .51744 L .46081 .53226 L p F P 0 g s 1 .1 .15 r .46081 .53226 m .46001 .5622 L .43299 .54759 L p F P 0 g s 1 .1 .15 r .48538 .54759 m .46001 .5622 L .46081 .53226 L p F P 0 g s 1 .1 .15 r .46081 .53226 m .48585 .51744 L .48538 .54759 L p F P 0 g s 1 .1 .15 r .42177 .43741 m .44894 .45351 L .42439 .46919 L p F P 0 g s 1 .1 .15 r .42439 .46919 m .39726 .45351 L .42177 .43741 L p F P 0 g s 1 .1 .15 r .39558 .48278 m .39726 .45351 L .42439 .46919 L p F P 0 g s 1 .1 .15 r .42439 .46919 m .4231 .49827 L .39558 .48278 L p F P 0 g s 1 .1 .15 r .44796 .48278 m .4231 .49827 L .42439 .46919 L p F P 0 g s 1 .1 .15 r .42439 .46919 m .44894 .45351 L .44796 .48278 L p F P 0 g s 1 .1 .15 r .38435 .50222 m .41202 .51744 L .38798 .53226 L p F P 0 g s 1 .1 .15 r .38798 .53226 m .36035 .51744 L .38435 .50222 L p F P 0 g s 1 .1 .15 r .35816 .54759 m .36035 .51744 L .38798 .53226 L p F P 0 g s 1 .1 .15 r .38798 .53226 m .38619 .5622 L .35816 .54759 L p F P 0 g s 1 .1 .15 r .41054 .54759 m .38619 .5622 L .38798 .53226 L p F P 0 g s 1 .1 .15 r .38798 .53226 m .41202 .51744 L .41054 .54759 L p F P 0 g s 1 .1 .15 r .49661 .43741 m .52276 .45351 L .49723 .46919 L p F P 0 g s 1 .1 .15 r .49723 .46919 m .47108 .45351 L .49661 .43741 L p F P 0 g s 1 .1 .15 r .47041 .48278 m .47108 .45351 L .49723 .46919 L p F P 0 g s 1 .1 .15 r .49723 .46919 m .49692 .49827 L .47041 .48278 L p F P 0 g s 1 .1 .15 r .5228 .48278 m .49692 .49827 L .49723 .46919 L p F P 0 g s 1 .1 .15 r .49723 .46919 m .52276 .45351 L .5228 .48278 L p F P 0 g s 1 .1 .15 r .42177 .56703 m .44894 .58138 L .42439 .59534 L p F P 0 g s 1 .1 .15 r .42439 .59534 m .39726 .58138 L .42177 .56703 L p F P 0 g s 1 .1 .15 r .39558 .6124 m .39726 .58138 L .42439 .59534 L p F P 0 g s 1 .1 .15 r .42439 .59534 m .4231 .62613 L .39558 .6124 L p F P 0 g s 1 .1 .15 r .44796 .6124 m .4231 .62613 L .42439 .59534 L p F P 0 g s 1 .1 .15 r .42439 .59534 m .44894 .58138 L .44796 .6124 L p F P 0 g s 1 .1 .15 r .57144 .43741 m .59658 .45351 L .57006 .46919 L p F P 0 g s 1 .1 .15 r .57006 .46919 m .5449 .45351 L .57144 .43741 L p F P 0 g s 1 .1 .15 r .54525 .48278 m .5449 .45351 L .57006 .46919 L p F P 0 g s 1 .1 .15 r .57006 .46919 m .57074 .49827 L .54525 .48278 L p F P 0 g s 1 .1 .15 r .59764 .48278 m .57074 .49827 L .57006 .46919 L p F P 0 g s 1 .1 .15 r .57006 .46919 m .59658 .45351 L .59764 .48278 L p F P 0 g s 1 .1 .15 r .45919 .63184 m .48585 .64531 L .46081 .65841 L p F P 0 g s 1 .1 .15 r .46081 .65841 m .43417 .64531 L .45919 .63184 L p F P 0 g s 1 .1 .15 r .43299 .67721 m .43417 .64531 L .46081 .65841 L p F P 0 g s 1 .1 .15 r .46081 .65841 m .46001 .69006 L .43299 .67721 L p F P 0 g s 1 .1 .15 r .48538 .67721 m .46001 .69006 L .46081 .65841 L p F P 0 g s 1 .1 .15 r .46081 .65841 m .48585 .64531 L .48538 .67721 L p F P 0 g s 1 .1 .15 r .64628 .43741 m .6704 .45351 L .64289 .46919 L p F P 0 g s 1 .1 .15 r .64289 .46919 m .61873 .45351 L .64628 .43741 L p F P 0 g s 1 .1 .15 r .62009 .48278 m .61873 .45351 L .64289 .46919 L p F P 0 g s 1 .1 .15 r .64289 .46919 m .64456 .49827 L .62009 .48278 L p F P 0 g s 1 .1 .15 r .67247 .48278 m .64456 .49827 L .64289 .46919 L p F P 0 g s 1 .1 .15 r .64289 .46919 m .6704 .45351 L .67247 .48278 L p F P 0 g s 1 .1 .15 r .49661 .69665 m .52276 .70924 L .49723 .72149 L p F P 0 g s 1 .1 .15 r .49723 .72149 m .47108 .70924 L .49661 .69665 L p F P 0 g s 1 .1 .15 r .47041 .74202 m .47108 .70924 L .49723 .72149 L p F P 0 g s 1 .1 .15 r .49723 .72149 m .49692 .75399 L .47041 .74202 L p F P 0 g s 1 .1 .15 r .5228 .74202 m .49692 .75399 L .49723 .72149 L p F P 0 g s 1 .1 .15 r .49723 .72149 m .52276 .70924 L .5228 .74202 L p F P 0 g s 1 .1 .15 r .72112 .43741 m .74422 .45351 L .71573 .46919 L p F P 0 g s 1 .1 .15 r .71573 .46919 m .69255 .45351 L .72112 .43741 L p F P 0 g s 1 .1 .15 r .69492 .48278 m .69255 .45351 L .71573 .46919 L p F P 0 g s 1 .1 .15 r .71573 .46919 m .71838 .49827 L .69492 .48278 L p F P 0 g s 1 .1 .15 r .74731 .48278 m .71838 .49827 L .71573 .46919 L p F P 0 g s 1 .1 .15 r .71573 .46919 m .74422 .45351 L .74731 .48278 L p F P 0 g s 1 .1 .15 r .53402 .76146 m .55967 .77317 L .53364 .78456 L p F P 0 g s 1 .1 .15 r .53364 .78456 m .50799 .77317 L .53402 .76146 L p F P 0 g s 1 .1 .15 r .50783 .80683 m .50799 .77317 L .53364 .78456 L p F P 0 g s 1 .1 .15 r .53364 .78456 m .53383 .81792 L .50783 .80683 L p F P 0 g s 1 .1 .15 r .56022 .80683 m .53383 .81792 L .53364 .78456 L p F P 0 g s 1 .1 .15 r .53364 .78456 m .55967 .77317 L .56022 .80683 L p F P 0 g s 1 .1 .15 r .60886 .76146 m .63349 .77317 L .60648 .78456 L p F P 0 g s 1 .1 .15 r .60648 .78456 m .58181 .77317 L .60886 .76146 L p F P 0 g s 1 .1 .15 r .58267 .80683 m .58181 .77317 L .60648 .78456 L p F P 0 g s 1 .1 .15 r .60648 .78456 m .60765 .81792 L .58267 .80683 L p F P 0 g s 1 .1 .15 r .63505 .80683 m .60765 .81792 L .60648 .78456 L p F P 0 g s 1 .1 .15 r .60648 .78456 m .63349 .77317 L .63505 .80683 L p F P 0 g s 1 .1 .15 r .34693 .43741 m .37511 .45351 L .35156 .46919 L p F P 0 g s 1 .1 .15 r .35156 .46919 m .32344 .45351 L .34693 .43741 L p F P 0 g s 1 .1 .15 r .32074 .48278 m .32344 .45351 L .35156 .46919 L p F P 0 g s 1 .1 .15 r .35156 .46919 m .34928 .49827 L .32074 .48278 L p F P 0 g s 1 .1 .15 r .37312 .48278 m .34928 .49827 L .35156 .46919 L p F P 0 g s 1 .1 .15 r .35156 .46919 m .37511 .45351 L .37312 .48278 L p F P 0 g s 1 .1 .15 r .79595 .43741 m .81804 .45351 L .78856 .46919 L p F P 0 g s 1 .1 .15 r .78856 .46919 m .76637 .45351 L .79595 .43741 L p F P 0 g s 1 .1 .15 r .76976 .48278 m .76637 .45351 L .78856 .46919 L p F P 0 g s 1 .1 .15 r .78856 .46919 m .79221 .49827 L .76976 .48278 L p F P 0 g s 1 .1 .15 r .82215 .48278 m .79221 .49827 L .78856 .46919 L p F P 0 g s 1 .1 .15 r .78856 .46919 m .81804 .45351 L .82215 .48278 L p F P 0 g s 1 .1 .15 r .6101 .79543 m .63505 .80683 L .60765 .81792 L p F P 0 g s .3 .8 .3 r .61011 .79545 m .63513 .80688 L .60765 .818 L p F P 0 g s 1 .1 .15 r .60765 .81792 m .58267 .80683 L .6101 .79543 L p F P 0 g s .3 .8 .3 r .60765 .818 m .58259 .80688 L .61011 .79545 L p F P 0 g s 1 .1 .15 r .6101 .79543 m .60886 .76146 L .63349 .77317 L p F P 0 g s 1 .1 .15 r .63349 .77317 m .63505 .80683 L .6101 .79543 L p F P 0 g s .3 .8 .3 r .61011 .79545 m .60886 .76138 L .63356 .77312 L p F P 0 g s .3 .8 .3 r .63356 .77312 m .63513 .80688 L .61011 .79545 L p F P 0 g s 1 .1 .15 r .6101 .79543 m .58267 .80683 L .58181 .77317 L p F P 0 g s .3 .8 .3 r .61011 .79545 m .58259 .80688 L .58174 .77312 L p F P 0 g s 1 .1 .15 r .58181 .77317 m .60886 .76146 L .6101 .79543 L p F P 0 g s .3 .8 .3 r .58174 .77312 m .60886 .76138 L .61011 .79545 L p F P 0 g s 1 .1 .15 r .4204 .46686 m .39558 .48278 L .39726 .45351 L p F P 0 g s 1 .1 .15 r .39726 .45351 m .42177 .43741 L .4204 .46686 L p F P 0 g s 1 .1 .15 r .38246 .53257 m .35816 .54759 L .36035 .51744 L p F P 0 g s 1 .1 .15 r .36035 .51744 m .38435 .50222 L .38246 .53257 L p F P 0 g s 1 .1 .15 r .45834 .53257 m .43299 .54759 L .43417 .51744 L p F P 0 g s 1 .1 .15 r .43417 .51744 m .45919 .50222 L .45834 .53257 L p F P 0 g s 1 .1 .15 r .34452 .46686 m .32074 .48278 L .32344 .45351 L p F P 0 g s 1 .1 .15 r .32344 .45351 m .34693 .43741 L .34452 .46686 L p F P 0 g s 1 .1 .15 r .4204 .46686 m .44796 .48278 L .4231 .49827 L p F P 0 g s 1 .1 .15 r .4231 .49827 m .39558 .48278 L .4204 .46686 L p F P 0 g s 1 .1 .15 r .4204 .46686 m .42177 .43741 L .44894 .45351 L p F P 0 g s 1 .1 .15 r .44894 .45351 m .44796 .48278 L .4204 .46686 L p F P 0 g s 1 .1 .15 r .38246 .53257 m .38435 .50222 L .41202 .51744 L p F P 0 g s 1 .1 .15 r .41202 .51744 m .41054 .54759 L .38246 .53257 L p F P 0 g s 1 .1 .15 r .49628 .46686 m .5228 .48278 L .49692 .49827 L p F P 0 g s 1 .1 .15 r .49692 .49827 m .47041 .48278 L .49628 .46686 L p F P 0 g s 1 .1 .15 r .49628 .46686 m .49661 .43741 L .52276 .45351 L p F P 0 g s 1 .1 .15 r .52276 .45351 m .5228 .48278 L .49628 .46686 L p F P 0 g s 1 .1 .15 r .49628 .46686 m .47041 .48278 L .47108 .45351 L p F P 0 g s 1 .1 .15 r .47108 .45351 m .49661 .43741 L .49628 .46686 L p F P 0 g s 1 .1 .15 r .45834 .53257 m .48538 .54759 L .46001 .5622 L p F P 0 g s 1 .1 .15 r .46001 .5622 m .43299 .54759 L .45834 .53257 L p F P 0 g s 1 .1 .15 r .45834 .53257 m .45919 .50222 L .48585 .51744 L p F P 0 g s 1 .1 .15 r .48585 .51744 m .48538 .54759 L .45834 .53257 L p F P 0 g s 1 .1 .15 r .4204 .59829 m .42177 .56703 L .44894 .58138 L p F P 0 g s 1 .1 .15 r .44894 .58138 m .44796 .6124 L .4204 .59829 L p F P 0 g s 1 .1 .15 r .4204 .59829 m .39558 .6124 L .39726 .58138 L p F P 0 g s 1 .1 .15 r .39726 .58138 m .42177 .56703 L .4204 .59829 L p F P 0 g s 1 .1 .15 r .57216 .46686 m .59764 .48278 L .57074 .49827 L p F P 0 g s 1 .1 .15 r .57074 .49827 m .54525 .48278 L .57216 .46686 L p F P 0 g s 1 .1 .15 r .57216 .46686 m .57144 .43741 L .59658 .45351 L p F P 0 g s 1 .1 .15 r .59658 .45351 m .59764 .48278 L .57216 .46686 L p F P 0 g s 1 .1 .15 r .57216 .46686 m .54525 .48278 L .5449 .45351 L p F P 0 g s 1 .1 .15 r .5449 .45351 m .57144 .43741 L .57216 .46686 L p F P 0 g s 1 .1 .15 r .45834 .664 m .48538 .67721 L .46001 .69006 L p F P 0 g s 1 .1 .15 r .46001 .69006 m .43299 .67721 L .45834 .664 L p F P 0 g s 1 .1 .15 r .45834 .664 m .45919 .63184 L .48585 .64531 L p F P 0 g s 1 .1 .15 r .48585 .64531 m .48538 .67721 L .45834 .664 L p F P 0 g s 1 .1 .15 r .45834 .664 m .43299 .67721 L .43417 .64531 L p F P 0 g s 1 .1 .15 r .43417 .64531 m .45919 .63184 L .45834 .664 L p F P 0 g s 1 .1 .15 r .64804 .46686 m .67247 .48278 L .64456 .49827 L p F P 0 g s 1 .1 .15 r .64456 .49827 m .62009 .48278 L .64804 .46686 L p F P 0 g s 1 .1 .15 r .64804 .46686 m .64628 .43741 L .6704 .45351 L p F P 0 g s 1 .1 .15 r .6704 .45351 m .67247 .48278 L .64804 .46686 L p F P 0 g s 1 .1 .15 r .49628 .72971 m .5228 .74202 L .49692 .75399 L p F P 0 g s 1 .1 .15 r .49692 .75399 m .47041 .74202 L .49628 .72971 L p F P 0 g s 1 .1 .15 r .49628 .72971 m .49661 .69665 L .52276 .70924 L p F P 0 g s 1 .1 .15 r .52276 .70924 m .5228 .74202 L .49628 .72971 L p F P 0 g s 1 .1 .15 r .72392 .46686 m .74731 .48278 L .71838 .49827 L p F P 0 g s 1 .1 .15 r .71838 .49827 m .69492 .48278 L .72392 .46686 L p F P 0 g s 1 .1 .15 r .72392 .46686 m .72112 .43741 L .74422 .45351 L p F P 0 g s 1 .1 .15 r .74422 .45351 m .74731 .48278 L .72392 .46686 L p F P 0 g s 1 .1 .15 r .72392 .46686 m .69492 .48278 L .69255 .45351 L p F P 0 g s 1 .1 .15 r .69255 .45351 m .72112 .43741 L .72392 .46686 L p F P 0 g s 1 .1 .15 r .53422 .79543 m .56022 .80683 L .53383 .81792 L p F P 0 g s 1 .1 .15 r .53383 .81792 m .50783 .80683 L .53422 .79543 L p F P 0 g s 1 .1 .15 r .53422 .79543 m .53402 .76146 L .55967 .77317 L p F P 0 g s 1 .1 .15 r .55967 .77317 m .56022 .80683 L .53422 .79543 L p F P 0 g s 1 .1 .15 r .53422 .79543 m .50783 .80683 L .50799 .77317 L p F P 0 g s 1 .1 .15 r .50799 .77317 m .53402 .76146 L .53422 .79543 L p F P 0 g s 1 .1 .15 r .79981 .46686 m .79595 .43741 L .81804 .45351 L p F P 0 g s 1 .1 .15 r .81804 .45351 m .82215 .48278 L .79981 .46686 L p F P 0 g s 1 .1 .15 r .34452 .46686 m .37312 .48278 L .34928 .49827 L p F P 0 g s 1 .1 .15 r .34928 .49827 m .32074 .48278 L .34452 .46686 L p F P 0 g s 1 .1 .15 r .34452 .46686 m .34693 .43741 L .37511 .45351 L p F P 0 g s 1 .1 .15 r .37511 .45351 m .37312 .48278 L .34452 .46686 L p F P 0 g s 1 .1 .15 r .38246 .53257 m .41054 .54759 L .38619 .5622 L p F P 0 g s 1 .1 .15 r .38619 .5622 m .35816 .54759 L .38246 .53257 L p F P 0 g s 1 .1 .15 r .4204 .59829 m .44796 .6124 L .4231 .62613 L p F P 0 g s 1 .1 .15 r .4231 .62613 m .39558 .6124 L .4204 .59829 L p F P 0 g s 1 .1 .15 r .64804 .46686 m .62009 .48278 L .61873 .45351 L p F P 0 g s 1 .1 .15 r .61873 .45351 m .64628 .43741 L .64804 .46686 L p F P 0 g s 1 .1 .15 r .49628 .72971 m .47041 .74202 L .47108 .70924 L p F P 0 g s 1 .1 .15 r .47108 .70924 m .49661 .69665 L .49628 .72971 L p F P 0 g s 1 .1 .15 r .79981 .46686 m .82215 .48278 L .79221 .49827 L p F P 0 g s 1 .1 .15 r .79221 .49827 m .76976 .48278 L .79981 .46686 L p F P 0 g s 1 .1 .15 r .79981 .46686 m .76976 .48278 L .76637 .45351 L p F P 0 g s 1 .1 .15 r .76637 .45351 m .79595 .43741 L .79981 .46686 L p F P 0 g s 1 1 0 r .57131 .87807 m .54607 .84116 L .58932 .83641 L closepath p F P 0 g s 1 1 0 r .36321 .49237 m .3205 .49932 L .35523 .5179 L closepath p F P 0 g s 1 1 0 r .34393 .53346 m .35523 .5179 L .3205 .49932 L closepath p F P 0 g s 1 1 0 r .34393 .53346 m .36321 .49237 L .35523 .5179 L closepath p F P 0 g s .3 .8 .3 r .4198 .47964 m .44761 .49552 L .42254 .51097 L p F P 0 g s .3 .8 .3 r .42254 .51097 m .39477 .49552 L .4198 .47964 L p F P 0 g s .3 .8 .3 r .39301 .52605 m .39477 .49552 L .42254 .51097 L p F P 0 g s .3 .8 .3 r .42254 .51097 m .42119 .54129 L .39301 .52605 L p F P 0 g s .3 .8 .3 r .4466 .52605 m .42119 .54129 L .42254 .51097 L p F P 0 g s .3 .8 .3 r .42254 .51097 m .44761 .49552 L .4466 .52605 L p F P 0 g s 1 .1 .15 r .4198 .47973 m .44754 .49557 L .42253 .51097 L p F P 0 g s 1 .1 .15 r .42253 .51097 m .39484 .49557 L .4198 .47973 L p F P 0 g s 1 .1 .15 r .39309 .52601 m .39484 .49557 L .42253 .51097 L p F P 0 g s 1 .1 .15 r .42253 .51097 m .42119 .5412 L .39309 .52601 L p F P 0 g s 1 .1 .15 r .44652 .52601 m .42119 .5412 L .42253 .51097 L p F P 0 g s 1 .1 .15 r .42253 .51097 m .44754 .49557 L .44652 .52601 L p F P 0 g s 1 .1 .15 r .3053 .41362 m .33461 .43037 L .31115 .44667 L p F P 0 g s 1 .1 .15 r .31115 .44667 m .28192 .43037 L .3053 .41362 L p F P 0 g s 1 .1 .15 r .27858 .4599 m .28192 .43037 L .31115 .44667 L p F P 0 g s 1 .1 .15 r .31115 .44667 m .30827 .47601 L .27858 .4599 L p F P 0 g s 1 .1 .15 r .33202 .4599 m .30827 .47601 L .31115 .44667 L p F P 0 g s 1 .1 .15 r .31115 .44667 m .33461 .43037 L .33202 .4599 L p F P 0 g s 1 .1 .15 r .38163 .41362 m .40989 .43037 L .38541 .44667 L p F P 0 g s 1 .1 .15 r .38541 .44667 m .3572 .43037 L .38163 .41362 L p F P 0 g s 1 .1 .15 r .35492 .4599 m .3572 .43037 L .38541 .44667 L p F P 0 g s 1 .1 .15 r .38541 .44667 m .38355 .47601 L .35492 .4599 L p F P 0 g s 1 .1 .15 r .40835 .4599 m .38355 .47601 L .38541 .44667 L p F P 0 g s 1 .1 .15 r .38541 .44667 m .40989 .43037 L .40835 .4599 L p F P 0 g s 1 .1 .15 r .45797 .41362 m .48518 .43037 L .45966 .44667 L p F P 0 g s 1 .1 .15 r .45966 .44667 m .43248 .43037 L .45797 .41362 L p F P 0 g s 1 .1 .15 r .43125 .4599 m .43248 .43037 L .45966 .44667 L p F P 0 g s 1 .1 .15 r .45966 .44667 m .45883 .47601 L .43125 .4599 L p F P 0 g s 1 .1 .15 r .48469 .4599 m .45883 .47601 L .45966 .44667 L p F P 0 g s 1 .1 .15 r .45966 .44667 m .48518 .43037 L .48469 .4599 L p F P 0 g s 1 .1 .15 r .38163 .54584 m .40989 .56076 L .38541 .57528 L p F P 0 g s 1 .1 .15 r .38541 .57528 m .3572 .56076 L .38163 .54584 L p F P 0 g s 1 .1 .15 r .35492 .59212 m .3572 .56076 L .38541 .57528 L p F P 0 g s 1 .1 .15 r .38541 .57528 m .38355 .6064 L .35492 .59212 L p F P 0 g s 1 .1 .15 r .40835 .59212 m .38355 .6064 L .38541 .57528 L p F P 0 g s 1 .1 .15 r .38541 .57528 m .40989 .56076 L .40835 .59212 L p F P 0 g s 1 .1 .15 r .53431 .41362 m .56046 .43037 L .53391 .44667 L p F P 0 g s 1 .1 .15 r .53391 .44667 m .50776 .43037 L .53431 .41362 L p F P 0 g s 1 .1 .15 r .50759 .4599 m .50776 .43037 L .53391 .44667 L p F P 0 g s 1 .1 .15 r .53391 .44667 m .53411 .47601 L .50759 .4599 L p F P 0 g s 1 .1 .15 r .56103 .4599 m .53411 .47601 L .53391 .44667 L p F P 0 g s 1 .1 .15 r .53391 .44667 m .56046 .43037 L .56103 .4599 L p F P 0 g s 1 .1 .15 r .4198 .61195 m .44754 .62596 L .42253 .63958 L p F P 0 g s 1 .1 .15 r .42253 .63958 m .39484 .62596 L .4198 .61195 L p F P 0 g s 1 .1 .15 r .39309 .65823 m .39484 .62596 L .42253 .63958 L p F P 0 g s 1 .1 .15 r .42253 .63958 m .42119 .67159 L .39309 .65823 L p F P 0 g s 1 .1 .15 r .44652 .65823 m .42119 .67159 L .42253 .63958 L p F P 0 g s 1 .1 .15 r .42253 .63958 m .44754 .62596 L .44652 .65823 L p F P 0 g s 1 .1 .15 r .61065 .41362 m .63574 .43037 L .60817 .44667 L p F P 0 g s 1 .1 .15 r .60817 .44667 m .58304 .43037 L .61065 .41362 L p F P 0 g s 1 .1 .15 r .58393 .4599 m .58304 .43037 L .60817 .44667 L p F P 0 g s 1 .1 .15 r .60817 .44667 m .60939 .47601 L .58393 .4599 L p F P 0 g s 1 .1 .15 r .63736 .4599 m .60939 .47601 L .60817 .44667 L p F P 0 g s 1 .1 .15 r .60817 .44667 m .63574 .43037 L .63736 .4599 L p F P 0 g s 1 .1 .15 r .45797 .67806 m .48518 .69115 L .45966 .70389 L p F P 0 g s 1 .1 .15 r .45966 .70389 m .43248 .69115 L .45797 .67806 L p F P 0 g s 1 .1 .15 r .43125 .72434 m .43248 .69115 L .45966 .70389 L p F P 0 g s 1 .1 .15 r .45966 .70389 m .45883 .73679 L .43125 .72434 L p F P 0 g s 1 .1 .15 r .48469 .72434 m .45883 .73679 L .45966 .70389 L p F P 0 g s 1 .1 .15 r .45966 .70389 m .48518 .69115 L .48469 .72434 L p F P 0 g s 1 .1 .15 r .68698 .41362 m .71102 .43037 L .68242 .44667 L p F P 0 g s 1 .1 .15 r .68242 .44667 m .65832 .43037 L .68698 .41362 L p F P 0 g s 1 .1 .15 r .66027 .4599 m .65832 .43037 L .68242 .44667 L p F P 0 g s 1 .1 .15 r .68242 .44667 m .68467 .47601 L .66027 .4599 L p F P 0 g s 1 .1 .15 r .7137 .4599 m .68467 .47601 L .68242 .44667 L p F P 0 g s 1 .1 .15 r .68242 .44667 m .71102 .43037 L .7137 .4599 L p F P 0 g s 1 .1 .15 r .49614 .74417 m .52282 .75635 L .49679 .76819 L p F P 0 g s 1 .1 .15 r .49679 .76819 m .47012 .75635 L .49614 .74417 L p F P 0 g s 1 .1 .15 r .46942 .79045 m .47012 .75635 L .49679 .76819 L p F P 0 g s 1 .1 .15 r .49679 .76819 m .49647 .80198 L .46942 .79045 L p F P 0 g s 1 .1 .15 r .52286 .79045 m .49647 .80198 L .49679 .76819 L p F P 0 g s 1 .1 .15 r .49679 .76819 m .52282 .75635 L .52286 .79045 L p F P 0 g s 1 .1 .15 r .76332 .41362 m .7863 .43037 L .75667 .44667 L p F P 0 g s 1 .1 .15 r .75667 .44667 m .7336 .43037 L .76332 .41362 L p F P 0 g s 1 .1 .15 r .7366 .4599 m .7336 .43037 L .75667 .44667 L p F P 0 g s 1 .1 .15 r .75667 .44667 m .75995 .47601 L .7366 .4599 L p F P 0 g s 1 .1 .15 r .79004 .4599 m .75995 .47601 L .75667 .44667 L p F P 0 g s 1 .1 .15 r .75667 .44667 m .7863 .43037 L .79004 .4599 L p F P 0 g s 1 .1 .15 r .83966 .41362 m .86158 .43037 L .83093 .44667 L p F P 0 g s 1 .1 .15 r .83093 .44667 m .80888 .43037 L .83966 .41362 L p F P 0 g s 1 .1 .15 r .81294 .4599 m .80888 .43037 L .83093 .44667 L p F P 0 g s 1 .1 .15 r .83093 .44667 m .83523 .47601 L .81294 .4599 L p F P 0 g s 1 .1 .15 r .86638 .4599 m .83523 .47601 L .83093 .44667 L p F P 0 g s 1 .1 .15 r .83093 .44667 m .86158 .43037 L .86638 .4599 L p F P 0 g s 1 .1 .15 r .41838 .51038 m .39309 .52601 L .39484 .49557 L p F P 0 g s 1 .1 .15 r .41838 .51038 m .44652 .52601 L .42119 .5412 L p F P 0 g s 1 .1 .15 r .42119 .5412 m .39309 .52601 L .41838 .51038 L p F P 0 g s .3 .8 .3 r .41837 .51038 m .4466 .52605 L .42119 .54129 L p F P 0 g s .3 .8 .3 r .42119 .54129 m .39301 .52605 L .41837 .51038 L p F P 0 g s 1 .1 .15 r .39484 .49557 m .4198 .47973 L .41838 .51038 L p F P 0 g s 1 .1 .15 r .41838 .51038 m .4198 .47973 L .44754 .49557 L p F P 0 g s .3 .8 .3 r .41837 .51038 m .4198 .47964 L .44761 .49552 L p F P 0 g s 1 .1 .15 r .44754 .49557 m .44652 .52601 L .41838 .51038 L p F P 0 g s .3 .8 .3 r .44761 .49552 m .4466 .52605 L .41837 .51038 L p F P 0 g s .3 .8 .3 r .41837 .51038 m .39301 .52605 L .39477 .49552 L p F P 0 g s .3 .8 .3 r .39477 .49552 m .4198 .47964 L .41837 .51038 L p F P 0 g s 1 .1 .15 r .30225 .44333 m .33202 .4599 L .30827 .47601 L p F P 0 g s 1 .1 .15 r .30827 .47601 m .27858 .4599 L .30225 .44333 L p F P 0 g s 1 .1 .15 r .30225 .44333 m .3053 .41362 L .33461 .43037 L p F P 0 g s 1 .1 .15 r .33461 .43037 m .33202 .4599 L .30225 .44333 L p F P 0 g s 1 .1 .15 r .30225 .44333 m .27858 .4599 L .28192 .43037 L p F P 0 g s 1 .1 .15 r .28192 .43037 m .3053 .41362 L .30225 .44333 L p F P 0 g s 1 .1 .15 r .37967 .44333 m .40835 .4599 L .38355 .47601 L p F P 0 g s 1 .1 .15 r .38355 .47601 m .35492 .4599 L .37967 .44333 L p F P 0 g s 1 .1 .15 r .37967 .44333 m .38163 .41362 L .40989 .43037 L p F P 0 g s 1 .1 .15 r .40989 .43037 m .40835 .4599 L .37967 .44333 L p F P 0 g s 1 .1 .15 r .37967 .44333 m .35492 .4599 L .3572 .43037 L p F P 0 g s 1 .1 .15 r .3572 .43037 m .38163 .41362 L .37967 .44333 L p F P 0 g s 1 .1 .15 r .45709 .44333 m .48469 .4599 L .45883 .47601 L p F P 0 g s 1 .1 .15 r .45883 .47601 m .43125 .4599 L .45709 .44333 L p F P 0 g s 1 .1 .15 r .45709 .44333 m .45797 .41362 L .48518 .43037 L p F P 0 g s 1 .1 .15 r .48518 .43037 m .48469 .4599 L .45709 .44333 L p F P 0 g s 1 .1 .15 r .45709 .44333 m .43125 .4599 L .43248 .43037 L p F P 0 g s 1 .1 .15 r .43248 .43037 m .45797 .41362 L .45709 .44333 L p F P 0 g s 1 .1 .15 r .37967 .57743 m .40835 .59212 L .38355 .6064 L p F P 0 g s 1 .1 .15 r .38355 .6064 m .35492 .59212 L .37967 .57743 L p F P 0 g s 1 .1 .15 r .37967 .57743 m .38163 .54584 L .40989 .56076 L p F P 0 g s 1 .1 .15 r .40989 .56076 m .40835 .59212 L .37967 .57743 L p F P 0 g s 1 .1 .15 r .37967 .57743 m .35492 .59212 L .3572 .56076 L p F P 0 g s 1 .1 .15 r .3572 .56076 m .38163 .54584 L .37967 .57743 L p F P 0 g s 1 .1 .15 r .53452 .44333 m .56103 .4599 L .53411 .47601 L p F P 0 g s 1 .1 .15 r .53411 .47601 m .50759 .4599 L .53452 .44333 L p F P 0 g s 1 .1 .15 r .53452 .44333 m .53431 .41362 L .56046 .43037 L p F P 0 g s 1 .1 .15 r .56046 .43037 m .56103 .4599 L .53452 .44333 L p F P 0 g s 1 .1 .15 r .53452 .44333 m .50759 .4599 L .50776 .43037 L p F P 0 g s 1 .1 .15 r .50776 .43037 m .53431 .41362 L .53452 .44333 L p F P 0 g s 1 .1 .15 r .41838 .64448 m .44652 .65823 L .42119 .67159 L p F P 0 g s 1 .1 .15 r .42119 .67159 m .39309 .65823 L .41838 .64448 L p F P 0 g s 1 .1 .15 r .41838 .64448 m .4198 .61195 L .44754 .62596 L p F P 0 g s 1 .1 .15 r .44754 .62596 m .44652 .65823 L .41838 .64448 L p F P 0 g s 1 .1 .15 r .41838 .64448 m .39309 .65823 L .39484 .62596 L p F P 0 g s 1 .1 .15 r .39484 .62596 m .4198 .61195 L .41838 .64448 L p F P 0 g s 1 .1 .15 r .61194 .44333 m .63736 .4599 L .60939 .47601 L p F P 0 g s 1 .1 .15 r .60939 .47601 m .58393 .4599 L .61194 .44333 L p F P 0 g s 1 .1 .15 r .61194 .44333 m .61065 .41362 L .63574 .43037 L p F P 0 g s 1 .1 .15 r .63574 .43037 m .63736 .4599 L .61194 .44333 L p F P 0 g s 1 .1 .15 r .61194 .44333 m .58393 .4599 L .58304 .43037 L p F P 0 g s 1 .1 .15 r .58304 .43037 m .61065 .41362 L .61194 .44333 L p F P 0 g s 1 .1 .15 r .45709 .71153 m .48469 .72434 L .45883 .73679 L p F P 0 g s 1 .1 .15 r .45883 .73679 m .43125 .72434 L .45709 .71153 L p F P 0 g s 1 .1 .15 r .45709 .71153 m .45797 .67806 L .48518 .69115 L p F P 0 g s 1 .1 .15 r .48518 .69115 m .48469 .72434 L .45709 .71153 L p F P 0 g s 1 .1 .15 r .45709 .71153 m .43125 .72434 L .43248 .69115 L p F P 0 g s 1 .1 .15 r .43248 .69115 m .45797 .67806 L .45709 .71153 L p F P 0 g s 1 .1 .15 r .68936 .44333 m .7137 .4599 L .68467 .47601 L p F P 0 g s 1 .1 .15 r .68467 .47601 m .66027 .4599 L .68936 .44333 L p F P 0 g s 1 .1 .15 r .68936 .44333 m .68698 .41362 L .71102 .43037 L p F P 0 g s 1 .1 .15 r .71102 .43037 m .7137 .4599 L .68936 .44333 L p F P 0 g s 1 .1 .15 r .68936 .44333 m .66027 .4599 L .65832 .43037 L p F P 0 g s 1 .1 .15 r .65832 .43037 m .68698 .41362 L .68936 .44333 L p F P 0 g s 1 .1 .15 r .4958 .77858 m .52286 .79045 L .49647 .80198 L p F P 0 g s 1 .1 .15 r .49647 .80198 m .46942 .79045 L .4958 .77858 L p F P 0 g s 1 .1 .15 r .4958 .77858 m .49614 .74417 L .52282 .75635 L p F P 0 g s 1 .1 .15 r .52282 .75635 m .52286 .79045 L .4958 .77858 L p F P 0 g s 1 .1 .15 r .4958 .77858 m .46942 .79045 L .47012 .75635 L p F P 0 g s 1 .1 .15 r .47012 .75635 m .49614 .74417 L .4958 .77858 L p F P 0 g s 1 .1 .15 r .76679 .44333 m .79004 .4599 L .75995 .47601 L p F P 0 g s 1 .1 .15 r .75995 .47601 m .7366 .4599 L .76679 .44333 L p F P 0 g s 1 .1 .15 r .76679 .44333 m .76332 .41362 L .7863 .43037 L p F P 0 g s 1 .1 .15 r .7863 .43037 m .79004 .4599 L .76679 .44333 L p F P 0 g s 1 .1 .15 r .76679 .44333 m .7366 .4599 L .7336 .43037 L p F P 0 g s 1 .1 .15 r .7336 .43037 m .76332 .41362 L .76679 .44333 L p F P 0 g s 1 .1 .15 r .84421 .44333 m .86638 .4599 L .83523 .47601 L p F P 0 g s 1 .1 .15 r .83523 .47601 m .81294 .4599 L .84421 .44333 L p F P 0 g s 1 .1 .15 r .84421 .44333 m .83966 .41362 L .86158 .43037 L p F P 0 g s 1 .1 .15 r .86158 .43037 m .86638 .4599 L .84421 .44333 L p F P 0 g s 1 .1 .15 r .84421 .44333 m .81294 .4599 L .80888 .43037 L p F P 0 g s 1 .1 .15 r .80888 .43037 m .83966 .41362 L .84421 .44333 L p F P 0 g s 1 1 0 r .34393 .53346 m .3205 .49932 L .36321 .49237 L closepath p F P 0 g s 1 1 0 r .74689 .40237 m .7009 .41003 L .72992 .43048 L closepath p F P 0 g s 1 1 0 r .72879 .44392 m .72992 .43048 L .7009 .41003 L closepath p F P 0 g s 1 1 0 r .72879 .44392 m .74689 .40237 L .72992 .43048 L closepath p F P 0 g s 1 1 0 r .90163 .40237 m .85467 .41003 L .8811 .43048 L closepath p F P 0 g s 1 1 0 r .88418 .44392 m .8811 .43048 L .85467 .41003 L closepath p F P 0 g s 1 1 0 r .88418 .44392 m .90163 .40237 L .8811 .43048 L closepath p F P 0 g s .3 .8 .3 r .45671 .72608 m .48456 .7388 L .45847 .75116 L p F P 0 g s .3 .8 .3 r .45847 .75116 m .43064 .7388 L .45671 .72608 L p F P 0 g s .3 .8 .3 r .42936 .77344 m .43064 .7388 L .45847 .75116 L p F P 0 g s .3 .8 .3 r .45847 .75116 m .4576 .78548 L .42936 .77344 L p F P 0 g s .3 .8 .3 r .48405 .77344 m .4576 .78548 L .45847 .75116 L p F P 0 g s .3 .8 .3 r .45847 .75116 m .48456 .7388 L .48405 .77344 L p F P 0 g s .3 .8 .3 r .80726 .38876 m .83014 .40625 L .79923 .42325 L p F P 0 g s .3 .8 .3 r .79923 .42325 m .77623 .40625 L .80726 .38876 L p F P 0 g s .3 .8 .3 r .77991 .43612 m .77623 .40625 L .79923 .42325 L p F P 0 g s .3 .8 .3 r .79923 .42325 m .80319 .45294 L .77991 .43612 L p F P 0 g s .3 .8 .3 r .8346 .43612 m .80319 .45294 L .79923 .42325 L p F P 0 g s .3 .8 .3 r .79923 .42325 m .83014 .40625 L .8346 .43612 L p F P 0 g s 1 .1 .15 r .26196 .38886 m .29248 .40629 L .26914 .42325 L p F P 0 g s 1 .1 .15 r .26914 .42325 m .23872 .40629 L .26196 .38886 L p F P 0 g s 1 .1 .15 r .2347 .43608 m .23872 .40629 L .26914 .42325 L p F P 0 g s 1 .1 .15 r .26914 .42325 m .2656 .45285 L .2347 .43608 L p F P 0 g s 1 .1 .15 r .28923 .43608 m .2656 .45285 L .26914 .42325 L p F P 0 g s 1 .1 .15 r .26914 .42325 m .29248 .40629 L .28923 .43608 L p F P 0 g s 1 .1 .15 r .33986 .38886 m .36928 .40629 L .34487 .42325 L p F P 0 g s 1 .1 .15 r .34487 .42325 m .31552 .40629 L .33986 .38886 L p F P 0 g s 1 .1 .15 r .3126 .43608 m .31552 .40629 L .34487 .42325 L p F P 0 g s 1 .1 .15 r .34487 .42325 m .3424 .45285 L .3126 .43608 L p F P 0 g s 1 .1 .15 r .36712 .43608 m .3424 .45285 L .34487 .42325 L p F P 0 g s 1 .1 .15 r .34487 .42325 m .36928 .40629 L .36712 .43608 L p F P 0 g s 1 .1 .15 r .41776 .38886 m .44608 .40629 L .4206 .42325 L p F P 0 g s 1 .1 .15 r .4206 .42325 m .39232 .40629 L .41776 .38886 L p F P 0 g s 1 .1 .15 r .39049 .43608 m .39232 .40629 L .4206 .42325 L p F P 0 g s 1 .1 .15 r .4206 .42325 m .4192 .45285 L .39049 .43608 L p F P 0 g s 1 .1 .15 r .44502 .43608 m .4192 .45285 L .4206 .42325 L p F P 0 g s 1 .1 .15 r .4206 .42325 m .44608 .40629 L .44502 .43608 L p F P 0 g s 1 .1 .15 r .49566 .38886 m .52288 .40629 L .49633 .42325 L p F P 0 g s 1 .1 .15 r .49633 .42325 m .46912 .40629 L .49566 .38886 L p F P 0 g s 1 .1 .15 r .46839 .43608 m .46912 .40629 L .49633 .42325 L p F P 0 g s 1 .1 .15 r .49633 .42325 m .496 .45285 L .46839 .43608 L p F P 0 g s 1 .1 .15 r .52292 .43608 m .496 .45285 L .49633 .42325 L p F P 0 g s 1 .1 .15 r .49633 .42325 m .52288 .40629 L .52292 .43608 L p F P 0 g s 1 .1 .15 r .37881 .59124 m .40768 .60582 L .38273 .62 L p F P 0 g s 1 .1 .15 r .38273 .62 m .35392 .60582 L .37881 .59124 L p F P 0 g s 1 .1 .15 r .35154 .63847 m .35392 .60582 L .38273 .62 L p F P 0 g s 1 .1 .15 r .38273 .62 m .3808 .65238 L .35154 .63847 L p F P 0 g s 1 .1 .15 r .40607 .63847 m .3808 .65238 L .38273 .62 L p F P 0 g s 1 .1 .15 r .38273 .62 m .40768 .60582 L .40607 .63847 L p F P 0 g s 1 .1 .15 r .57356 .38886 m .59968 .40629 L .57206 .42325 L p F P 0 g s 1 .1 .15 r .57206 .42325 m .54592 .40629 L .57356 .38886 L p F P 0 g s 1 .1 .15 r .54629 .43608 m .54592 .40629 L .57206 .42325 L p F P 0 g s 1 .1 .15 r .57206 .42325 m .5728 .45285 L .54629 .43608 L p F P 0 g s 1 .1 .15 r .60082 .43608 m .5728 .45285 L .57206 .42325 L p F P 0 g s 1 .1 .15 r .57206 .42325 m .59968 .40629 L .60082 .43608 L p F P 0 g s 1 .1 .15 r .41776 .6587 m .44608 .67233 L .4206 .68558 L p F P 0 g s 1 .1 .15 r .4206 .68558 m .39232 .67233 L .41776 .6587 L p F P 0 g s 1 .1 .15 r .39049 .70593 m .39232 .67233 L .4206 .68558 L p F P 0 g s 1 .1 .15 r .4206 .68558 m .4192 .71889 L .39049 .70593 L p F P 0 g s 1 .1 .15 r .44502 .70593 m .4192 .71889 L .4206 .68558 L p F P 0 g s 1 .1 .15 r .4206 .68558 m .44608 .67233 L .44502 .70593 L p F P 0 g s 1 .1 .15 r .65145 .38886 m .67647 .40629 L .64779 .42325 L p F P 0 g s 1 .1 .15 r .64779 .42325 m .62272 .40629 L .65145 .38886 L p F P 0 g s 1 .1 .15 r .62419 .43608 m .62272 .40629 L .64779 .42325 L p F P 0 g s 1 .1 .15 r .64779 .42325 m .6496 .45285 L .62419 .43608 L p F P 0 g s 1 .1 .15 r .67872 .43608 m .6496 .45285 L .64779 .42325 L p F P 0 g s 1 .1 .15 r .64779 .42325 m .67647 .40629 L .67872 .43608 L p F P 0 g s 1 .1 .15 r .45671 .72617 m .48448 .73884 L .45846 .75117 L p F P 0 g s 1 .1 .15 r .45846 .75117 m .43072 .73884 L .45671 .72617 L p F P 0 g s 1 .1 .15 r .42944 .77339 m .43072 .73884 L .45846 .75117 L p F P 0 g s 1 .1 .15 r .45846 .75117 m .4576 .7854 L .42944 .77339 L p F P 0 g s 1 .1 .15 r .48397 .77339 m .4576 .7854 L .45846 .75117 L p F P 0 g s 1 .1 .15 r .45846 .75117 m .48448 .73884 L .48397 .77339 L p F P 0 g s 1 .1 .15 r .80725 .38886 m .83007 .40629 L .79925 .42325 L p F P 0 g s 1 .1 .15 r .79925 .42325 m .77631 .40629 L .80725 .38886 L p F P 0 g s 1 .1 .15 r .77999 .43608 m .77631 .40629 L .79925 .42325 L p F P 0 g s 1 .1 .15 r .79925 .42325 m .80319 .45285 L .77999 .43608 L p F P 0 g s 1 .1 .15 r .83452 .43608 m .80319 .45285 L .79925 .42325 L p F P 0 g s 1 .1 .15 r .79925 .42325 m .83007 .40629 L .83452 .43608 L p F P 0 g s 1 .1 .15 r .81143 .41882 m .83452 .43608 L .80319 .45285 L p F P 0 g s 1 .1 .15 r .83007 .40629 m .83452 .43608 L .81143 .41882 L p F P 0 g s .3 .8 .3 r .81144 .41881 m .8346 .43612 L .80319 .45294 L p F P 0 g s 1 .1 .15 r .80319 .45285 m .77999 .43608 L .81143 .41882 L p F P 0 g s .3 .8 .3 r .80319 .45294 m .77991 .43612 L .81144 .41881 L p F P 0 g s 1 .1 .15 r .45579 .76103 m .48397 .77339 L .4576 .7854 L p F P 0 g s 1 .1 .15 r .4576 .7854 m .42944 .77339 L .45579 .76103 L p F P 0 g s .3 .8 .3 r .45579 .76104 m .48405 .77344 L .4576 .78548 L p F P 0 g s .3 .8 .3 r .4576 .78548 m .42936 .77344 L .45579 .76104 L p F P 0 g s 1 .1 .15 r .45579 .76103 m .45671 .72617 L .48448 .73884 L p F P 0 g s 1 .1 .15 r .48448 .73884 m .48397 .77339 L .45579 .76103 L p F P 0 g s 1 .1 .15 r .45579 .76103 m .42944 .77339 L .43072 .73884 L p F P 0 g s 1 .1 .15 r .43072 .73884 m .45671 .72617 L .45579 .76103 L p F P 0 g s .3 .8 .3 r .45579 .76104 m .45671 .72608 L .48456 .7388 L p F P 0 g s .3 .8 .3 r .48456 .7388 m .48405 .77344 L .45579 .76104 L p F P 0 g s .3 .8 .3 r .45579 .76104 m .42936 .77344 L .43064 .7388 L p F P 0 g s .3 .8 .3 r .43064 .7388 m .45671 .72608 L .45579 .76104 L p F P 0 g s 1 .1 .15 r .81143 .41882 m .80725 .38886 L .83007 .40629 L p F P 0 g s .3 .8 .3 r .81144 .41881 m .80726 .38876 L .83014 .40625 L p F P 0 g s .3 .8 .3 r .83014 .40625 m .8346 .43612 L .81144 .41881 L p F P 0 g s 1 .1 .15 r .81143 .41882 m .77999 .43608 L .77631 .40629 L p F P 0 g s 1 .1 .15 r .77631 .40629 m .80725 .38886 L .81143 .41882 L p F P 0 g s .3 .8 .3 r .81144 .41881 m .77991 .43612 L .77623 .40625 L p F P 0 g s .3 .8 .3 r .77623 .40625 m .80726 .38876 L .81144 .41881 L p F P 0 g s 1 .1 .15 r .25822 .41882 m .28923 .43608 L .2656 .45285 L p F P 0 g s 1 .1 .15 r .2656 .45285 m .2347 .43608 L .25822 .41882 L p F P 0 g s 1 .1 .15 r .25822 .41882 m .26196 .38886 L .29248 .40629 L p F P 0 g s 1 .1 .15 r .29248 .40629 m .28923 .43608 L .25822 .41882 L p F P 0 g s 1 .1 .15 r .25822 .41882 m .2347 .43608 L .23872 .40629 L p F P 0 g s 1 .1 .15 r .23872 .40629 m .26196 .38886 L .25822 .41882 L p F P 0 g s 1 .1 .15 r .33725 .41882 m .36712 .43608 L .3424 .45285 L p F P 0 g s 1 .1 .15 r .3424 .45285 m .3126 .43608 L .33725 .41882 L p F P 0 g s 1 .1 .15 r .33725 .41882 m .33986 .38886 L .36928 .40629 L p F P 0 g s 1 .1 .15 r .36928 .40629 m .36712 .43608 L .33725 .41882 L p F P 0 g s 1 .1 .15 r .33725 .41882 m .3126 .43608 L .31552 .40629 L p F P 0 g s 1 .1 .15 r .31552 .40629 m .33986 .38886 L .33725 .41882 L p F P 0 g s 1 .1 .15 r .41628 .41882 m .44502 .43608 L .4192 .45285 L p F P 0 g s 1 .1 .15 r .4192 .45285 m .39049 .43608 L .41628 .41882 L p F P 0 g s 1 .1 .15 r .41628 .41882 m .39049 .43608 L .39232 .40629 L p F P 0 g s 1 .1 .15 r .39232 .40629 m .41776 .38886 L .41628 .41882 L p F P 0 g s 1 .1 .15 r .49531 .41882 m .52292 .43608 L .496 .45285 L p F P 0 g s 1 .1 .15 r .496 .45285 m .46839 .43608 L .49531 .41882 L p F P 0 g s 1 .1 .15 r .49531 .41882 m .46839 .43608 L .46912 .40629 L p F P 0 g s 1 .1 .15 r .46912 .40629 m .49566 .38886 L .49531 .41882 L p F P 0 g s 1 .1 .15 r .37676 .62415 m .37881 .59124 L .40768 .60582 L p F P 0 g s 1 .1 .15 r .40768 .60582 m .40607 .63847 L .37676 .62415 L p F P 0 g s 1 .1 .15 r .37676 .62415 m .35154 .63847 L .35392 .60582 L p F P 0 g s 1 .1 .15 r .35392 .60582 m .37881 .59124 L .37676 .62415 L p F P 0 g s 1 .1 .15 r .57434 .41882 m .60082 .43608 L .5728 .45285 L p F P 0 g s 1 .1 .15 r .5728 .45285 m .54629 .43608 L .57434 .41882 L p F P 0 g s 1 .1 .15 r .57434 .41882 m .57356 .38886 L .59968 .40629 L p F P 0 g s 1 .1 .15 r .59968 .40629 m .60082 .43608 L .57434 .41882 L p F P 0 g s 1 .1 .15 r .41628 .69259 m .44502 .70593 L .4192 .71889 L p F P 0 g s 1 .1 .15 r .4192 .71889 m .39049 .70593 L .41628 .69259 L p F P 0 g s 1 .1 .15 r .65337 .41882 m .67872 .43608 L .6496 .45285 L p F P 0 g s 1 .1 .15 r .6496 .45285 m .62419 .43608 L .65337 .41882 L p F P 0 g s 1 .1 .15 r .65337 .41882 m .65145 .38886 L .67647 .40629 L p F P 0 g s 1 .1 .15 r .67647 .40629 m .67872 .43608 L .65337 .41882 L p F P 0 g s 1 .1 .15 r .65337 .41882 m .62419 .43608 L .62272 .40629 L p F P 0 g s 1 .1 .15 r .62272 .40629 m .65145 .38886 L .65337 .41882 L p F P 0 g s 1 .1 .15 r .41628 .41882 m .41776 .38886 L .44608 .40629 L p F P 0 g s 1 .1 .15 r .44608 .40629 m .44502 .43608 L .41628 .41882 L p F P 0 g s 1 .1 .15 r .49531 .41882 m .49566 .38886 L .52288 .40629 L p F P 0 g s 1 .1 .15 r .52288 .40629 m .52292 .43608 L .49531 .41882 L p F P 0 g s 1 .1 .15 r .37676 .62415 m .40607 .63847 L .3808 .65238 L p F P 0 g s 1 .1 .15 r .3808 .65238 m .35154 .63847 L .37676 .62415 L p F P 0 g s 1 .1 .15 r .57434 .41882 m .54629 .43608 L .54592 .40629 L p F P 0 g s 1 .1 .15 r .54592 .40629 m .57356 .38886 L .57434 .41882 L p F P 0 g s 1 .1 .15 r .41628 .69259 m .41776 .6587 L .44608 .67233 L p F P 0 g s 1 .1 .15 r .44608 .67233 m .44502 .70593 L .41628 .69259 L p F P 0 g s 1 .1 .15 r .41628 .69259 m .39049 .70593 L .39232 .67233 L p F P 0 g s 1 .1 .15 r .39232 .67233 m .41776 .6587 L .41628 .69259 L p F P 0 g s 1 1 0 r .72879 .44392 m .7009 .41003 L .74689 .40237 L closepath p F P 0 g s 1 1 0 r .88418 .44392 m .85467 .41003 L .90163 .40237 L closepath p F P 0 g s 1 1 0 r .43569 .719 m .39075 .72479 L .42569 .74025 L closepath p F P 0 g s 1 1 0 r .41591 .76276 m .42569 .74025 L .39075 .72479 L closepath p F P 0 g s 1 1 0 r .41591 .76276 m .43569 .719 L .42569 .74025 L closepath p F P 0 g s .3 .8 .3 r .37586 .63845 m .40545 .65269 L .37996 .66653 L p F P 0 g s .3 .8 .3 r .37996 .66653 m .35043 .65269 L .37586 .63845 L p F P 0 g s .3 .8 .3 r .34795 .6868 m .35043 .65269 L .37996 .66653 L p F P 0 g s .3 .8 .3 r .37996 .66653 m .37794 .70034 L .34795 .6868 L p F P 0 g s .3 .8 .3 r .40378 .6868 m .37794 .70034 L .37996 .66653 L p F P 0 g s .3 .8 .3 r .37996 .66653 m .40545 .65269 L .40378 .6868 L p F P 0 g s 1 .1 .15 r .21682 .36306 m .24861 .38123 L .22542 .39888 L p F P 0 g s 1 .1 .15 r .22542 .39888 m .19375 .38123 L .21682 .36306 L p F P 0 g s 1 .1 .15 r .18898 .41127 m .19375 .38123 L .22542 .39888 L p F P 0 g s 1 .1 .15 r .22542 .39888 m .22118 .42874 L .18898 .41127 L p F P 0 g s 1 .1 .15 r .24465 .41127 m .22118 .42874 L .22542 .39888 L p F P 0 g s 1 .1 .15 r .22542 .39888 m .24861 .38123 L .24465 .41127 L p F P 0 g s 1 .1 .15 r .29634 .36306 m .32699 .38123 L .30269 .39888 L p F P 0 g s 1 .1 .15 r .30269 .39888 m .27213 .38123 L .29634 .36306 L p F P 0 g s 1 .1 .15 r .26851 .41127 m .27213 .38123 L .30269 .39888 L p F P 0 g s 1 .1 .15 r .30269 .39888 m .29956 .42874 L .26851 .41127 L p F P 0 g s 1 .1 .15 r .32417 .41127 m .29956 .42874 L .30269 .39888 L p F P 0 g s 1 .1 .15 r .30269 .39888 m .32699 .38123 L .32417 .41127 L p F P 0 g s 1 .1 .15 r .37587 .36306 m .40537 .38123 L .37995 .39888 L p F P 0 g s 1 .1 .15 r .37995 .39888 m .35051 .38123 L .37587 .36306 L p F P 0 g s 1 .1 .15 r .34803 .41127 m .35051 .38123 L .37995 .39888 L p F P 0 g s 1 .1 .15 r .37995 .39888 m .37794 .42874 L .34803 .41127 L p F P 0 g s 1 .1 .15 r .4037 .41127 m .37794 .42874 L .37995 .39888 L p F P 0 g s 1 .1 .15 r .37995 .39888 m .40537 .38123 L .4037 .41127 L p F P 0 g s 1 .1 .15 r .45539 .36306 m .48375 .38123 L .45722 .39888 L p F P 0 g s 1 .1 .15 r .45722 .39888 m .42889 .38123 L .45539 .36306 L p F P 0 g s 1 .1 .15 r .42756 .41127 m .42889 .38123 L .45722 .39888 L p F P 0 g s 1 .1 .15 r .45722 .39888 m .45632 .42874 L .42756 .41127 L p F P 0 g s 1 .1 .15 r .48322 .41127 m .45632 .42874 L .45722 .39888 L p F P 0 g s 1 .1 .15 r .45722 .39888 m .48375 .38123 L .48322 .41127 L p F P 0 g s 1 .1 .15 r .61444 .36306 m .64051 .38123 L .61175 .39888 L p F P 0 g s 1 .1 .15 r .61175 .39888 m .58564 .38123 L .61444 .36306 L p F P 0 g s 1 .1 .15 r .58661 .41127 m .58564 .38123 L .61175 .39888 L p F P 0 g s 1 .1 .15 r .61175 .39888 m .61308 .42874 L .58661 .41127 L p F P 0 g s 1 .1 .15 r .64227 .41127 m .61308 .42874 L .61175 .39888 L p F P 0 g s 1 .1 .15 r .61175 .39888 m .64051 .38123 L .64227 .41127 L p F P 0 g s 1 .1 .15 r .53492 .36306 m .56213 .38123 L .53449 .39888 L p F P 0 g s 1 .1 .15 r .53449 .39888 m .50726 .38123 L .53492 .36306 L p F P 0 g s 1 .1 .15 r .50708 .41127 m .50726 .38123 L .53449 .39888 L p F P 0 g s 1 .1 .15 r .53449 .39888 m .5347 .42874 L .50708 .41127 L p F P 0 g s 1 .1 .15 r .56275 .41127 m .5347 .42874 L .53449 .39888 L p F P 0 g s 1 .1 .15 r .53449 .39888 m .56213 .38123 L .56275 .41127 L p F P 0 g s 1 .1 .15 r .37587 .63854 m .40537 .65274 L .37995 .66654 L p F P 0 g s 1 .1 .15 r .37995 .66654 m .35051 .65274 L .37587 .63854 L p F P 0 g s 1 .1 .15 r .34803 .68675 m .35051 .65274 L .37995 .66654 L p F P 0 g s 1 .1 .15 r .37995 .66654 m .37794 .70026 L .34803 .68675 L p F P 0 g s 1 .1 .15 r .4037 .68675 m .37794 .70026 L .37995 .66654 L p F P 0 g s 1 .1 .15 r .37995 .66654 m .40537 .65274 L .4037 .68675 L p F P 0 g s 1 .1 .15 r .37373 .67284 m .4037 .68675 L .37794 .70026 L p F P 0 g s 1 .1 .15 r .37794 .70026 m .34803 .68675 L .37373 .67284 L p F P 0 g s .3 .8 .3 r .37372 .67285 m .40378 .6868 L .37794 .70034 L p F P 0 g s .3 .8 .3 r .37794 .70034 m .34795 .6868 L .37372 .67285 L p F P 0 g s 1 .1 .15 r .37373 .67284 m .37587 .63854 L .40537 .65274 L p F P 0 g s 1 .1 .15 r .40537 .65274 m .4037 .68675 L .37373 .67284 L p F P 0 g s 1 .1 .15 r .37373 .67284 m .34803 .68675 L .35051 .65274 L p F P 0 g s 1 .1 .15 r .35051 .65274 m .37587 .63854 L .37373 .67284 L p F P 0 g s .3 .8 .3 r .37372 .67285 m .37586 .63845 L .40545 .65269 L p F P 0 g s .3 .8 .3 r .40545 .65269 m .40378 .6868 L .37372 .67285 L p F P 0 g s .3 .8 .3 r .37372 .67285 m .34795 .6868 L .35043 .65269 L p F P 0 g s .3 .8 .3 r .35043 .65269 m .37586 .63845 L .37372 .67285 L p F P 0 g s 1 .1 .15 r .21232 .39327 m .24465 .41127 L .22118 .42874 L p F P 0 g s 1 .1 .15 r .22118 .42874 m .18898 .41127 L .21232 .39327 L p F P 0 g s 1 .1 .15 r .21232 .39327 m .21682 .36306 L .24861 .38123 L p F P 0 g s 1 .1 .15 r .24861 .38123 m .24465 .41127 L .21232 .39327 L p F P 0 g s 1 .1 .15 r .29303 .39327 m .32417 .41127 L .29956 .42874 L p F P 0 g s 1 .1 .15 r .29956 .42874 m .26851 .41127 L .29303 .39327 L p F P 0 g s 1 .1 .15 r .29303 .39327 m .26851 .41127 L .27213 .38123 L p F P 0 g s 1 .1 .15 r .27213 .38123 m .29634 .36306 L .29303 .39327 L p F P 0 g s 1 .1 .15 r .37373 .39327 m .4037 .41127 L .37794 .42874 L p F P 0 g s 1 .1 .15 r .37794 .42874 m .34803 .41127 L .37373 .39327 L p F P 0 g s 1 .1 .15 r .45444 .39327 m .48322 .41127 L .45632 .42874 L p F P 0 g s 1 .1 .15 r .45632 .42874 m .42756 .41127 L .45444 .39327 L p F P 0 g s 1 .1 .15 r .45444 .39327 m .42756 .41127 L .42889 .38123 L p F P 0 g s 1 .1 .15 r .42889 .38123 m .45539 .36306 L .45444 .39327 L p F P 0 g s 1 .1 .15 r .61584 .39327 m .64227 .41127 L .61308 .42874 L p F P 0 g s 1 .1 .15 r .61308 .42874 m .58661 .41127 L .61584 .39327 L p F P 0 g s 1 .1 .15 r .21232 .39327 m .18898 .41127 L .19375 .38123 L p F P 0 g s 1 .1 .15 r .19375 .38123 m .21682 .36306 L .21232 .39327 L p F P 0 g s 1 .1 .15 r .29303 .39327 m .29634 .36306 L .32699 .38123 L p F P 0 g s 1 .1 .15 r .32699 .38123 m .32417 .41127 L .29303 .39327 L p F P 0 g s 1 .1 .15 r .37373 .39327 m .37587 .36306 L .40537 .38123 L p F P 0 g s 1 .1 .15 r .40537 .38123 m .4037 .41127 L .37373 .39327 L p F P 0 g s 1 .1 .15 r .37373 .39327 m .34803 .41127 L .35051 .38123 L p F P 0 g s 1 .1 .15 r .35051 .38123 m .37587 .36306 L .37373 .39327 L p F P 0 g s 1 .1 .15 r .45444 .39327 m .45539 .36306 L .48375 .38123 L p F P 0 g s 1 .1 .15 r .48375 .38123 m .48322 .41127 L .45444 .39327 L p F P 0 g s 1 .1 .15 r .53514 .39327 m .56275 .41127 L .5347 .42874 L p F P 0 g s 1 .1 .15 r .5347 .42874 m .50708 .41127 L .53514 .39327 L p F P 0 g s 1 .1 .15 r .53514 .39327 m .53492 .36306 L .56213 .38123 L p F P 0 g s 1 .1 .15 r .56213 .38123 m .56275 .41127 L .53514 .39327 L p F P 0 g s 1 .1 .15 r .53514 .39327 m .50708 .41127 L .50726 .38123 L p F P 0 g s 1 .1 .15 r .50726 .38123 m .53492 .36306 L .53514 .39327 L p F P 0 g s 1 .1 .15 r .61584 .39327 m .61444 .36306 L .64051 .38123 L p F P 0 g s 1 .1 .15 r .64051 .38123 m .64227 .41127 L .61584 .39327 L p F P 0 g s 1 .1 .15 r .61584 .39327 m .58661 .41127 L .58564 .38123 L p F P 0 g s 1 .1 .15 r .58564 .38123 m .61444 .36306 L .61584 .39327 L p F P 0 g s 1 1 0 r .41591 .76276 m .39075 .72479 L .43569 .719 L closepath p F P 0 g s 1 .1 .15 r .25097 .33616 m .28293 .35511 L .25876 .37351 L p F P 0 g s 1 .1 .15 r .25876 .37351 m .22691 .35511 L .25097 .33616 L p F P 0 g s 1 .1 .15 r .22254 .3854 m .22691 .35511 L .25876 .37351 L p F P 0 g s 1 .1 .15 r .25876 .37351 m .25492 .40362 L .22254 .3854 L p F P 0 g s 1 .1 .15 r .27939 .3854 m .25492 .40362 L .25876 .37351 L p F P 0 g s 1 .1 .15 r .25876 .37351 m .28293 .35511 L .27939 .3854 L p F P 0 g s 1 .1 .15 r .41341 .33616 m .44298 .35511 L .41649 .37351 L p F P 0 g s 1 .1 .15 r .41649 .37351 m .38696 .35511 L .41341 .33616 L p F P 0 g s 1 .1 .15 r .38498 .3854 m .38696 .35511 L .41649 .37351 L p F P 0 g s 1 .1 .15 r .41649 .37351 m .41497 .40362 L .38498 .3854 L p F P 0 g s 1 .1 .15 r .44183 .3854 m .41497 .40362 L .41649 .37351 L p F P 0 g s 1 .1 .15 r .41649 .37351 m .44298 .35511 L .44183 .3854 L p F P 0 g s 1 .1 .15 r .16974 .33616 m .2029 .35511 L .17989 .37351 L p F P 0 g s 1 .1 .15 r .17989 .37351 m .14688 .35511 L .16974 .33616 L p F P 0 g s 1 .1 .15 r .14132 .3854 m .14688 .35511 L .17989 .37351 L p F P 0 g s 1 .1 .15 r .17989 .37351 m .17489 .40362 L .14132 .3854 L p F P 0 g s 1 .1 .15 r .19817 .3854 m .17489 .40362 L .17989 .37351 L p F P 0 g s 1 .1 .15 r .17989 .37351 m .2029 .35511 L .19817 .3854 L p F P 0 g s 1 .1 .15 r .33219 .33616 m .36295 .35511 L .33762 .37351 L p F P 0 g s 1 .1 .15 r .33762 .37351 m .30694 .35511 L .33219 .33616 L p F P 0 g s 1 .1 .15 r .30376 .3854 m .30694 .35511 L .33762 .37351 L p F P 0 g s 1 .1 .15 r .33762 .37351 m .33495 .40362 L .30376 .3854 L p F P 0 g s 1 .1 .15 r .36061 .3854 m .33495 .40362 L .33762 .37351 L p F P 0 g s 1 .1 .15 r .33762 .37351 m .36295 .35511 L .36061 .3854 L p F P 0 g s 1 .1 .15 r .49463 .33616 m .52301 .35511 L .49536 .37351 L p F P 0 g s 1 .1 .15 r .49536 .37351 m .46699 .35511 L .49463 .33616 L p F P 0 g s 1 .1 .15 r .4662 .3854 m .46699 .35511 L .49536 .37351 L p F P 0 g s 1 .1 .15 r .49536 .37351 m .495 .40362 L .4662 .3854 L p F P 0 g s 1 .1 .15 r .52306 .3854 m .495 .40362 L .49536 .37351 L p F P 0 g s 1 .1 .15 r .49536 .37351 m .52301 .35511 L .52306 .3854 L p F P 0 g s 1 .1 .15 r .57585 .33616 m .60303 .35511 L .57422 .37351 L p F P 0 g s 1 .1 .15 r .57422 .37351 m .54702 .35511 L .57585 .33616 L p F P 0 g s 1 .1 .15 r .54742 .3854 m .54702 .35511 L .57422 .37351 L p F P 0 g s 1 .1 .15 r .57422 .37351 m .57502 .40362 L .54742 .3854 L p F P 0 g s 1 .1 .15 r .60428 .3854 m .57502 .40362 L .57422 .37351 L p F P 0 g s 1 .1 .15 r .57422 .37351 m .60303 .35511 L .60428 .3854 L p F P 0 g s 1 .1 .15 r .24689 .36662 m .27939 .3854 L .25492 .40362 L p F P 0 g s 1 .1 .15 r .25492 .40362 m .22254 .3854 L .24689 .36662 L p F P 0 g s 1 .1 .15 r .41179 .36662 m .44183 .3854 L .41497 .40362 L p F P 0 g s 1 .1 .15 r .41497 .40362 m .38498 .3854 L .41179 .36662 L p F P 0 g s 1 .1 .15 r .16444 .36662 m .19817 .3854 L .17489 .40362 L p F P 0 g s 1 .1 .15 r .17489 .40362 m .14132 .3854 L .16444 .36662 L p F P 0 g s 1 .1 .15 r .16444 .36662 m .16974 .33616 L .2029 .35511 L p F P 0 g s 1 .1 .15 r .2029 .35511 m .19817 .3854 L .16444 .36662 L p F P 0 g s 1 .1 .15 r .16444 .36662 m .14132 .3854 L .14688 .35511 L p F P 0 g s 1 .1 .15 r .14688 .35511 m .16974 .33616 L .16444 .36662 L p F P 0 g s 1 .1 .15 r .24689 .36662 m .25097 .33616 L .28293 .35511 L p F P 0 g s 1 .1 .15 r .28293 .35511 m .27939 .3854 L .24689 .36662 L p F P 0 g s 1 .1 .15 r .24689 .36662 m .22254 .3854 L .22691 .35511 L p F P 0 g s 1 .1 .15 r .22691 .35511 m .25097 .33616 L .24689 .36662 L p F P 0 g s 1 .1 .15 r .32934 .36662 m .36061 .3854 L .33495 .40362 L p F P 0 g s 1 .1 .15 r .33495 .40362 m .30376 .3854 L .32934 .36662 L p F P 0 g s 1 .1 .15 r .32934 .36662 m .33219 .33616 L .36295 .35511 L p F P 0 g s 1 .1 .15 r .36295 .35511 m .36061 .3854 L .32934 .36662 L p F P 0 g s 1 .1 .15 r .32934 .36662 m .30376 .3854 L .30694 .35511 L p F P 0 g s 1 .1 .15 r .30694 .35511 m .33219 .33616 L .32934 .36662 L p F P 0 g s 1 .1 .15 r .41179 .36662 m .41341 .33616 L .44298 .35511 L p F P 0 g s 1 .1 .15 r .44298 .35511 m .44183 .3854 L .41179 .36662 L p F P 0 g s 1 .1 .15 r .41179 .36662 m .38498 .3854 L .38696 .35511 L p F P 0 g s 1 .1 .15 r .38696 .35511 m .41341 .33616 L .41179 .36662 L p F P 0 g s 1 .1 .15 r .49425 .36662 m .52306 .3854 L .495 .40362 L p F P 0 g s 1 .1 .15 r .495 .40362 m .4662 .3854 L .49425 .36662 L p F P 0 g s 1 .1 .15 r .49425 .36662 m .49463 .33616 L .52301 .35511 L p F P 0 g s 1 .1 .15 r .52301 .35511 m .52306 .3854 L .49425 .36662 L p F P 0 g s 1 .1 .15 r .49425 .36662 m .4662 .3854 L .46699 .35511 L p F P 0 g s 1 .1 .15 r .46699 .35511 m .49463 .33616 L .49425 .36662 L p F P 0 g s 1 .1 .15 r .5767 .36662 m .60428 .3854 L .57502 .40362 L p F P 0 g s 1 .1 .15 r .57502 .40362 m .54742 .3854 L .5767 .36662 L p F P 0 g s 1 .1 .15 r .5767 .36662 m .57585 .33616 L .60303 .35511 L p F P 0 g s 1 .1 .15 r .60303 .35511 m .60428 .3854 L .5767 .36662 L p F P 0 g s 1 .1 .15 r .5767 .36662 m .54742 .3854 L .54702 .35511 L p F P 0 g s 1 .1 .15 r .54702 .35511 m .57585 .33616 L .5767 .36662 L p F P 0 g s 1 1 0 r .47325 .32306 m .42613 .33175 L .46191 .35489 L closepath p F P 0 g s 1 1 0 r .45277 .36698 m .46191 .35489 L .42613 .33175 L closepath p F P 0 g s 1 1 0 r .45277 .36698 m .47325 .32306 L .46191 .35489 L closepath p F P 0 g s 1 1 0 r .14368 .32306 m .09876 .33175 L .1404 .35489 L closepath p F P 0 g s 1 1 0 r .12175 .36698 m .1404 .35489 L .09876 .33175 L closepath p F P 0 g s 1 1 0 r .12175 .36698 m .14368 .32306 L .1404 .35489 L closepath p F P 0 g s .3 .8 .3 r .53558 .30799 m .56403 .32782 L .53511 .34707 L p F P 0 g s .3 .8 .3 r .53511 .34707 m .50665 .32782 L .53558 .30799 L p F P 0 g s .3 .8 .3 r .50645 .35845 m .50665 .32782 L .53511 .34707 L p F P 0 g s .3 .8 .3 r .53511 .34707 m .53534 .37752 L .50645 .35845 L p F P 0 g s .3 .8 .3 r .56471 .35845 m .53534 .37752 L .53511 .34707 L p F P 0 g s .3 .8 .3 r .53511 .34707 m .56403 .32782 L .56471 .35845 L p F P 0 g s 1 .1 .15 r .20361 .30809 m .23697 .32787 L .21297 .34706 L p F P 0 g s 1 .1 .15 r .21297 .34706 m .17975 .32787 L .20361 .30809 L p F P 0 g s 1 .1 .15 r .17457 .3584 m .17975 .32787 L .21297 .34706 L p F P 0 g s 1 .1 .15 r .21297 .34706 m .20836 .37742 L .17457 .3584 L p F P 0 g s 1 .1 .15 r .23266 .3584 m .20836 .37742 L .21297 .34706 L p F P 0 g s 1 .1 .15 r .21297 .34706 m .23697 .32787 L .23266 .3584 L p F P 0 g s 1 .1 .15 r .2866 .30809 m .31872 .32787 L .29351 .34706 L p F P 0 g s 1 .1 .15 r .29351 .34706 m .2615 .32787 L .2866 .30809 L p F P 0 g s 1 .1 .15 r .25756 .3584 m .2615 .32787 L .29351 .34706 L p F P 0 g s 1 .1 .15 r .29351 .34706 m .29011 .37742 L .25756 .3584 L p F P 0 g s 1 .1 .15 r .31565 .3584 m .29011 .37742 L .29351 .34706 L p F P 0 g s 1 .1 .15 r .29351 .34706 m .31872 .32787 L .31565 .3584 L p F P 0 g s 1 .1 .15 r .36959 .30809 m .40046 .32787 L .37404 .34706 L p F P 0 g s 1 .1 .15 r .37404 .34706 m .34324 .32787 L .36959 .30809 L p F P 0 g s 1 .1 .15 r .34055 .3584 m .34324 .32787 L .37404 .34706 L p F P 0 g s 1 .1 .15 r .37404 .34706 m .37185 .37742 L .34055 .3584 L p F P 0 g s 1 .1 .15 r .39864 .3584 m .37185 .37742 L .37404 .34706 L p F P 0 g s 1 .1 .15 r .37404 .34706 m .40046 .32787 L .39864 .3584 L p F P 0 g s 1 .1 .15 r .53558 .30809 m .56395 .32787 L .53511 .34706 L p F P 0 g s 1 .1 .15 r .53511 .34706 m .50673 .32787 L .53558 .30809 L p F P 0 g s 1 .1 .15 r .50653 .3584 m .50673 .32787 L .53511 .34706 L p F P 0 g s 1 .1 .15 r .53511 .34706 m .53534 .37742 L .50653 .3584 L p F P 0 g s 1 .1 .15 r .56462 .3584 m .53534 .37742 L .53511 .34706 L p F P 0 g s 1 .1 .15 r .53511 .34706 m .56395 .32787 L .56462 .3584 L p F P 0 g s 1 .1 .15 r .53582 .33879 m .56462 .3584 L .53534 .37742 L p F P 0 g s 1 .1 .15 r .53582 .33879 m .53558 .30809 L .56395 .32787 L p F P 0 g s 1 .1 .15 r .56395 .32787 m .56462 .3584 L .53582 .33879 L p F P 0 g s .3 .8 .3 r .53582 .33878 m .56471 .35845 L .53534 .37752 L p F P 0 g s 1 .1 .15 r .53534 .37742 m .50653 .3584 L .53582 .33879 L p F P 0 g s 1 .1 .15 r .53582 .33879 m .50653 .3584 L .50673 .32787 L p F P 0 g s 1 .1 .15 r .50673 .32787 m .53558 .30809 L .53582 .33879 L p F P 0 g s .3 .8 .3 r .53534 .37752 m .50645 .35845 L .53582 .33878 L p F P 0 g s .3 .8 .3 r .53582 .33878 m .53558 .30799 L .56403 .32782 L p F P 0 g s .3 .8 .3 r .56403 .32782 m .56471 .35845 L .53582 .33878 L p F P 0 g s .3 .8 .3 r .53582 .33878 m .50645 .35845 L .50665 .32782 L p F P 0 g s .3 .8 .3 r .50665 .32782 m .53558 .30799 L .53582 .33878 L p F P 0 g s 1 .1 .15 r .19871 .33879 m .23266 .3584 L .20836 .37742 L p F P 0 g s 1 .1 .15 r .20836 .37742 m .17457 .3584 L .19871 .33879 L p F P 0 g s 1 .1 .15 r .19871 .33879 m .17457 .3584 L .17975 .32787 L p F P 0 g s 1 .1 .15 r .17975 .32787 m .20361 .30809 L .19871 .33879 L p F P 0 g s 1 .1 .15 r .28299 .33879 m .31565 .3584 L .29011 .37742 L p F P 0 g s 1 .1 .15 r .29011 .37742 m .25756 .3584 L .28299 .33879 L p F P 0 g s 1 .1 .15 r .28299 .33879 m .2866 .30809 L .31872 .32787 L p F P 0 g s 1 .1 .15 r .31872 .32787 m .31565 .3584 L .28299 .33879 L p F P 0 g s 1 .1 .15 r .36727 .33879 m .39864 .3584 L .37185 .37742 L p F P 0 g s 1 .1 .15 r .37185 .37742 m .34055 .3584 L .36727 .33879 L p F P 0 g s 1 .1 .15 r .36727 .33879 m .34055 .3584 L .34324 .32787 L p F P 0 g s 1 .1 .15 r .34324 .32787 m .36959 .30809 L .36727 .33879 L p F P 0 g s 1 .1 .15 r .19871 .33879 m .20361 .30809 L .23697 .32787 L p F P 0 g s 1 .1 .15 r .23697 .32787 m .23266 .3584 L .19871 .33879 L p F P 0 g s 1 .1 .15 r .28299 .33879 m .25756 .3584 L .2615 .32787 L p F P 0 g s 1 .1 .15 r .2615 .32787 m .2866 .30809 L .28299 .33879 L p F P 0 g s 1 .1 .15 r .36727 .33879 m .36959 .30809 L .40046 .32787 L p F P 0 g s 1 .1 .15 r .40046 .32787 m .39864 .3584 L .36727 .33879 L p F P 0 g s 1 1 0 r .12175 .36698 m .09876 .33175 L .14368 .32306 L closepath p F P 0 g s 1 1 0 r .45277 .36698 m .42613 .33175 L .47325 .32306 L closepath p F P 0 g s 1 .1 .15 r .32383 .27877 m .35607 .29943 L .32975 .31946 L p F P 0 g s 1 .1 .15 r .32975 .31946 m .2976 .29943 L .32383 .27877 L p F P 0 g s 1 .1 .15 r .29413 .3302 m .2976 .29943 L .32975 .31946 L p F P 0 g s 1 .1 .15 r .32975 .31946 m .32684 .35007 L .29413 .3302 L p F P 0 g s 1 .1 .15 r .35352 .3302 m .32684 .35007 L .32975 .31946 L p F P 0 g s 1 .1 .15 r .32975 .31946 m .35607 .29943 L .35352 .3302 L p F P 0 g s 1 .1 .15 r .23899 .27877 m .27254 .29943 L .24748 .31946 L p F P 0 g s 1 .1 .15 r .24748 .31946 m .21406 .29943 L .23899 .27877 L p F P 0 g s 1 .1 .15 r .20929 .3302 m .21406 .29943 L .24748 .31946 L p F P 0 g s 1 .1 .15 r .24748 .31946 m .2433 .35007 L .20929 .3302 L p F P 0 g s 1 .1 .15 r .26868 .3302 m .2433 .35007 L .24748 .31946 L p F P 0 g s 1 .1 .15 r .24748 .31946 m .27254 .29943 L .26868 .3302 L p F P 0 g s 1 .1 .15 r .32072 .3097 m .35352 .3302 L .32684 .35007 L p F P 0 g s 1 .1 .15 r .32684 .35007 m .29413 .3302 L .32072 .3097 L p F P 0 g s 1 .1 .15 r .23454 .3097 m .26868 .3302 L .2433 .35007 L p F P 0 g s 1 .1 .15 r .2433 .35007 m .20929 .3302 L .23454 .3097 L p F P 0 g s 1 .1 .15 r .23454 .3097 m .23899 .27877 L .27254 .29943 L p F P 0 g s 1 .1 .15 r .27254 .29943 m .26868 .3302 L .23454 .3097 L p F P 0 g s 1 .1 .15 r .23454 .3097 m .20929 .3302 L .21406 .29943 L p F P 0 g s 1 .1 .15 r .21406 .29943 m .23899 .27877 L .23454 .3097 L p F P 0 g s 1 .1 .15 r .32072 .3097 m .32383 .27877 L .35607 .29943 L p F P 0 g s 1 .1 .15 r .35607 .29943 m .35352 .3302 L .32072 .3097 L p F P 0 g s 1 .1 .15 r .32072 .3097 m .29413 .3302 L .2976 .29943 L p F P 0 g s 1 .1 .15 r .2976 .29943 m .32383 .27877 L .32072 .3097 L p F P 0 g s .2 .4 1 r .27597 .24801 m .30979 .26967 L .28353 .29067 L p F P 0 g s .2 .4 1 r .28353 .29067 m .24983 .26967 L .27597 .24801 L p F P 0 g s .2 .4 1 r .24551 .30076 m .24983 .26967 L .28353 .29067 L p F P 0 g s .2 .4 1 r .28353 .29067 m .27981 .3216 L .24551 .30076 L p F P 0 g s .2 .4 1 r .30643 .30076 m .27981 .3216 L .28353 .29067 L p F P 0 g s .2 .4 1 r .28353 .29067 m .30979 .26967 L .30643 .30076 L p F P 0 g s 1 .1 .15 r .27598 .24811 m .3097 .26972 L .28351 .29065 L p F P 0 g s 1 .1 .15 r .28351 .29065 m .24991 .26972 L .27598 .24811 L p F P 0 g s 1 .1 .15 r .24561 .30072 m .24991 .26972 L .28351 .29065 L p F P 0 g s 1 .1 .15 r .28351 .29065 m .2798 .3215 L .24561 .30072 L p F P 0 g s 1 .1 .15 r .30635 .30072 m .2798 .3215 L .28351 .29065 L p F P 0 g s 1 .1 .15 r .28351 .29065 m .3097 .26972 L .30635 .30072 L p F P 0 g s 1 .1 .15 r .27203 .27927 m .30635 .30072 L .2798 .3215 L p F P 0 g s 1 .1 .15 r .2798 .3215 m .24561 .30072 L .27203 .27927 L p F P 0 g s 1 .1 .15 r .27203 .27927 m .24561 .30072 L .24991 .26972 L p F P 0 g s 1 .1 .15 r .24991 .26972 m .27598 .24811 L .27203 .27927 L p F P 0 g s 1 .1 .15 r .27203 .27927 m .27598 .24811 L .3097 .26972 L p F P 0 g s 1 .1 .15 r .3097 .26972 m .30635 .30072 L .27203 .27927 L p F P 0 g s .2 .4 1 r .27201 .27925 m .30643 .30076 L .27981 .3216 L p F P 0 g s .2 .4 1 r .27981 .3216 m .24551 .30076 L .27201 .27925 L p F P 0 g s .2 .4 1 r .27201 .27925 m .27597 .24801 L .30979 .26967 L p F P 0 g s .2 .4 1 r .30979 .26967 m .30643 .30076 L .27201 .27925 L p F P 0 g s .2 .4 1 r .27201 .27925 m .24551 .30076 L .24983 .26967 L p F P 0 g s .2 .4 1 r .24983 .26967 m .27597 .24801 L .27201 .27925 L p F P 0 g s % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{134.562, 121.25}, ImageMargins->{{70, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["CompressedBitmap", "\<\ eJzdGluPVjWwnNv3rREwiAYRdb2iyGV3EVwQY4wRddU3E6OJMRtCAg9Gg7z4 B/h5/qXP03ZmOp0z09OzKzxwkrPtttPOfTqd8/14+PjB/T8OHz+8d7j9zaPD vx48vPf39t0/H41D7Qnn3JPx/Wfb+f5m7MKfJ26z2fjJ57t5LzStCzyPPf/+ Hqfe9U3nJ2DgHQa7ez+IyTW+1/jebxHo7dB0BASAXejkeH6NK7Z909BmDIF/ G7HQP7DwTd8MYaQlgmifQMIvEfINzuW57fAGjL2HbGELP4oQYfbnuPqCtXpN zHdhMGfvp7j6dcaeB+poH3g62kXQ0IpN/fOKoq87cfa8b1qXyGF4AuqIY8hE xeASjYHEM6T+z+P+L9FALwQSFyL9a6LAFOyKturCVn2YPvj3ILzYD6CfReQn iblxu40TEmjYLoLzkV/f0+dWXMIwJqVO5hwR99kEqqUNBOdsICu3I9Qp5hj+ f3hR6ol+2DIJNqcxCpHU2WdMYb/LFeq2Mghagaig7QJRHY3B2yQOO8lhmLvF OUQu0ksc9ok2hw8x0mbDTQl0dhiY7HBj4jMS4oRTtSBJ1BjyGAkZewFgP8Kf Ds2KNiQymN5aImel9Ey30GhraEXnKenEWv/c5IQl8U92CTgGS+LLJsgKmUXD 0zJcKDvNqa6zsCKMzpnBMonjWAApWjEAeIlVplBzL3QBCQBvIAQYfbkQpBqy kKkVG8MRV8/JybeLAIMKMLbSGflJocX2XcZFEl+SdDoH5RkEz+ycZtspkGkO k0gw4uAOF30eQzuL0UHX9WC5bl+cMBTeF8JWGE5yPh95OJvnEdpBn8X8Uqhs 8p6W2ywCmQTv2YlkoaeJrxjhHHvORdZfTSA9uSXjyWm4uiIlnS4daUtLkegb JmYTaE8pUKukQNnpM0lGcOXJKIzXFOtuLZpcZns5N6ZRlhaZftFZu/HhXJky xeJtJ1IsEjKeHvL09O+LLDV+dr6z3B2O6EAkdpngDHEcT6d4EnNJ45LOFtqF Z+Z1Ay1ai+Vz/sSVSHlDMiGe62JMTwmdtTiXBjjZW2UnW+4Tyoqlh84080ha 0o63gRuEYB0zuJhFxku5duuIpjURrcuO6sKlhK3Hh6+fmU7mZeVtep5kaqpN SXWfiQTFEtPTWNawLyq1Y1UXGmdYeO2cli4ZnleDXkSOFHjOuFQnEreWIMue ekstfoEjmDeqnngYuCuAakGtHxzRzJ/qdMmH2v8RIGbF7mKtaVsxvwbuuRkb JXY2yu0jKkmpWsMn7aIfZmqaBM9TnuOJwwZKi+5S5V0JfY6HB9PPO6unBQrI +j/2zVrsGOuCKSnGZLkUyNqj9TQrN2fPM+FNy5QUWRym9KuMepQh7tjMS6oc Cy8wEWK0ERU5vEQ0emGvJzpKJZTaYl5uPgWXKF8sYxLmLmcnDqa9mdxGAWvV vEzAurXm2+j+XGkfzLliPuWuMLEjBX3KylZqxM6InmqjbA4GfMAXT253VVTg AF7XJNGqqHhRfXeZSRjD70eCr5HbiVtEqTZ0TC2HlRcZfrNEYiU5sva0mZTT lir0w0jODi+paBGx6NJlRZEQCpf6ev1d4vLLL22Kq072SEHKuNJrJUVxhbzM ScgvFbRU0dQ0s+SzW7Q2TF6Zx1EZb4vlAL2m49DDmZuwSMNxZTz087IrVZm0 u3RZ1qqmYf4FGk3fE3oLzRXmBvh9eN6mSydC6aCiyEln67VKNpnlHjPyp512 5k2NfR1RZLA4iCuXmSiHClLUwLJWozFrtcNjrZA9PntHsXwhadsqexiFHGtP Z5hLa2q9I8BqKkHWoqls7AsKR2yU0jVMKvOyPiQkZZi8VpNJhF2dK3HL9EfK IKFQLNYMzzVE5YkvSs4uBcM+W0IVEb4ouQq0Wwoyl8WJuk8T0jAMnC3/ujCx ARbcB8k+9o1jN2j6OsONrlfKyZNX1IZrw8fKGm9I2rrUbP+fTTTK2EM4XIEg Zg1dU7fip4XUVhyKEI0/KdexTU2vxLQgfHqmAFo4C2+Q6BdmmgstP/7n6HP1 p76RaaLJpHHWh1V7TH7shp9/3sU+M4ey3W74YTgZ3mXCEzGXlKhUYGYNtQad /jseHjIwkpTziamTlrHfFMwSYx7VkCFmEWTFdsZ9q2qVyTOKiCvqNfNfJOBJ FThupOICjh+pGitGn/I9iLG3yLva9HVrLVWf7bGZXBxkIQgeoPE2c+BxVnoK P6k6ImR65MBud6gOwsqRpls28xt+URtfir/hmX5sh/D1pRZG1MoAih/o+ood ORhg0uEDQF/TRaUhINDst/n60IPfex2QDPcZbDDUaFDuO7VONr0v3WAbTlO7 /ZrZ74lO+DHgDxnuiAfIUn+I7E78B6bOhIs=\ \>"], ImageRangeCache->{{{189, 323}, {207, 87}} -> {-1.35481, 0.623936, \ 0.00717172, 0.00717172}}], Cell[TextData[{ "With this brief background we now say a bit about how knapsack solving can \ play a role in the computation of Frobenius numbers. First, it turns out that \ axial elbows are defined by an integer programming problem (see [", CounterBox["Reference", "Wagon Einstein Lichtblau Strzebonski"], "]) which, in complexity if not details of definition, is similar to the \ Frobenius instance problem. From the axial elbows we immediately get good \ lower and upper bounds on the Frobenius number (each elbow less one is in the \ domain, and the farthest corner is bounded by the vector with all components \ given by corresponding axial elbows less one). More importantly for our \ purposes is that they give a search space from which to find all elbows. They \ are particular integer points in a polyhedron that satisfy certain inequality \ conditions. Full details, including a method for finding them, are provided \ in [", CounterBox["Reference", "Wagon Einstein Lichtblau Strzebonski"], "]. From the elbows one can find all corners and in particular the one that \ gives the Frobenius number of the set." }], "Text"], Cell[TextData[{ "Another tactic presented in [", CounterBox["Reference", "Wagon Einstein Lichtblau Strzebonski"], "] makes direct use of Frobenius instance solving to find axial elbows. One \ uses a bisection approach, working down from an a priori bound on the axial \ elbow values. The goal is to find the smallest value for which a certain set \ of Frobenius instances have no solution." }], "Text"], Cell[TextData[{ "Still another point of overlap between Frobenius instances and numbers is \ the obvious fact that whenever a Frobenius instance solver returns an empty \ solution we automatically have a lower bound on the Frobenius number. One can \ test random values that are, say, an order of magnitude below the heuristic \ approximation for the Frobenius number presented in [", CounterBox["Reference", "Beihoffer Nijinhuis Hendry Wagon"], "]. If any such test gives no solution we thereby establish a lower bound \ that is often better than a priori bounds to be found in the literature." }], "Text"], Cell[TextData[{ "There is also a heuristic method in [", CounterBox["Reference", "Wagon Einstein Lichtblau Strzebonski"], "] for more efficiently \"guessing\" the likely Frobenius number from a \ restricted set of elbows. It gives an a priori upper bound, and a single \ Frobenius instance invocation can then verify whether it is in fact the \ actual value. In random examples this appears always to be the case." }], "Text"], Cell[TextData[{ "We sketched above how efficient ILP knapsack solving, of the sort used for \ Frobenius instances, also may be applied to the (generally much harder) \ problem of finding Frobenius numbers. From the fundamental domain pictures \ one realizes a possible alternative approach. Working an axis at a time, a \ branch\[Hyphen]and\[Hyphen]bound strategy might be directly applied to get to \ extremal vertices (corners) in the domain. Thus we could have a bilevel \ branching algorithm, with the outer level iterating over these extrema, and \ the inner one using relaxed LPs to solve the ILPs needed to move to new \ vertices. This might become an alternative to the algorithm described in [", CounterBox["Reference", "Wagon Einstein Lichtblau Strzebonski"], "]." }], "Text"], Cell[TextData[{ "We remark that there is a connection between another knapsack solving \ technique and the problem of computing Frobenius numbers. It is well known \ that integer programming e.g. for knapsack problems can be done with toric Gr\ \[ODoubleDot]bner bases [", CounterBox["Reference", "Conti Traverso"], "]. What is not so obvious is that they may also be used to deduce the \ stairway structure of the fundamental domain. An algorithm for this purpose \ is presented in [", CounterBox["Reference", "Wagon Einstein Lichtblau Strzebonski"], "]. The basic idea is to formulate a term ordering so that the staircase \ structure of the fundamental domain is captured by the staircase of the Gr\ \[ODoubleDot]bner basis lead monomials. This has the added virtue of finding \ all elbows at once, so no elaborate method is needed to search a bounding box \ defined by axial elbows. An implementation by the author has handled \ Frobenius number problems involving as many as ", Cell[BoxData[ FormBox["7", TraditionalForm]]], " numbers of ", Cell[BoxData[ FormBox["40", TraditionalForm]]], " digits. While it is not competitive with the main approach in [", CounterBox["Reference", "Wagon Einstein Lichtblau Strzebonski"], "] (which has handled sets of up to ", Cell[BoxData[ FormBox["11", TraditionalForm]]], " numbers), Frobenius number problems of this size are apparently larger \ than what can be handled by other methods from the published literature." }], "Text"], Cell[TextData[{ "Another link between Frobenius numbers and methods from ideal theory \ appears implicitly in [", CounterBox["Reference", "Gomez Gutierrez Ibeas"], "] as well as other literature concerning what are called \ \"multiple\[Hyphen]loop networks\". There, as in [", CounterBox["Reference", "Beihoffer Nijinhuis Hendry Wagon"], "], one works with a circulant directed graph based on residues modulo a \ positive integer. Now, however, the modulus is the largest rather than \ smallest element of the given set. While the authors did not explicitly \ consider the connection to Frobenius numbers, some of the ideas are quite \ similar. In particular the maximum diameter of this graph, which is similar \ to the Frobenius number (though using an unweighted metric), plays an \ important role in their work. They discuss several aspects of the related \ domain (actually family of domains, as they do not impose uniqueness \ conditions) in terms of monomial ideals. They define a generalized ell shape \ and prove their domains are always of such a shape; this corresponds to the \ uniqueness of the interior elbow as shown in [", CounterBox["Reference", "Wagon Einstein Lichtblau Strzebonski"], "]. It would be interesting to understand better how their ideas, in \ particular regarding use of monomial ideals, relate to the toric ideal \ construction of the fundamental domain given in [", CounterBox["Reference", "Wagon Einstein Lichtblau Strzebonski"], "]." }], "Text"] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ". Summary" }], "Section"], Cell["\<\ We have investigated several examples of integer linear programs with the \ common feature that a straightforward branch\[Hyphen]and\[Hyphen]bound \ approach, working with real relaxations, will tend to bog down in searching a \ large polytope. We utilize a method based on solving of an integer relaxation \ to the set of equality constraints. We reformulate the problem as one of \ adding combinations of null vectors to a specific solution. The vectors in \ question tend to be well suited to the problem at hand because we use lattice \ reduction to make them close to orthogonal. We then enforce inequality \ constraints via branch\[Hyphen]and\[Hyphen]bound on real relaxations of the \ new problem. We use a branching choice that tends to make the polytope thin \ in the search direction and thus helps to exhaust it efficiently.\ \>", "Text"], Cell[TextData[{ "We reviewed this approach as it was applied to the change\[Hyphen]making \ problem [", CounterBox["Reference", "Aardal Hurkens Lenstra"], "] [", CounterBox["Reference", "Aardal Lenstra"], "]. We then used it to find all Keith numbers through 29 digits; previous \ methods had gone only through 19 digits. This brought us to a range where we \ could observe curious patterns in leading and trailing digits, something not \ present in the smaller Keith numbers. We also gave a brief idea of how this \ method is used in a new algorithm to compute Frobenius numbers." }], "Text"], Cell[TextData[{ "A further direction would be to incorporate effective cutting planes. The \ code in the appendix only attempts a very naive sort of cut (by using random \ coordinate variables as objective function). Preliminary experiments with an \ external library [", CounterBox["Reference", "COIN"], "] indicate that more serious cutting plane efforts can give substantial \ speed improvement; we have seen ILP examples that improve by an order of \ magnitude. We emphasize that this still requires preprocessing with lattice \ reduction in the manner described in this paper." }], "Text"], Cell[CellGroupData[{ Cell[" Acknowledgements", "Subsubsection", CellDingbat->None], Cell[TextData[{ "I thank Stan Wagon for providing the diagrams of fundamental domains and \ for his careful reading and many suggestions that improved the exposition. I \ thank Victor Moll for inviting me to attend the 2005 Clifford Lectures \ conference at Tulane, where I presented an earlier version of this work. I \ thank the two anonymous referees for their several suggestions which improved \ readability, and the second referee moreover for pointing out the relevance \ of [", CounterBox["Reference", "Gomez Gutierrez Ibeas"], "] and related literature on multiple\[Hyphen]loop networks." }], "Text"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ". Appendix: ", StyleBox["Mathematica", FontSlant->"Italic"], " Implementation of Selected Algorithms" }], "Section"], Cell["\<\ We solve a system of integer equations over integers and extract a small \ solution by using combinations of null vectors to decrease the size of a \ specific solution. This is used as a first step in solving Frobenius \ instances, for example.\ \>", "Text"], Cell[BoxData[ RowBox[{ RowBox[{"systemSolve", "[", RowBox[{ RowBox[{ RowBox[{"(", "mat_", ")"}], "?", "MatrixQ"}], ",", RowBox[{ RowBox[{"(", "rhs_", ")"}], "?", "VectorQ"}]}], "]"}], ":=", RowBox[{ RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"newmat", ",", "modrows", ",", "hnf", ",", RowBox[{"j", "=", "1"}], ",", RowBox[{"len", "=", RowBox[{"Length", "[", "mat", "]"}]}], ",", "zeros", ",", "solvec", ",", "nullvecs"}], "}"}], ",", RowBox[{ RowBox[{"newmat", "=", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"Transpose", "[", "mat", "]"}], ",", "rhs"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"newmat", "=", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"Transpose", "[", "newmat", "]"}], ",", RowBox[{"IdentityMatrix", "[", RowBox[{"Length", "[", "newmat", "]"}], "]"}]}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"hnf", "=", RowBox[{ RowBox[{"HermiteDecomposition", "[", "newmat", "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"zeros", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", "len", "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"While", "[", RowBox[{ RowBox[{ RowBox[{"j", "\[LessEqual]", RowBox[{"Length", "[", "hnf", "]"}]}], "&&", RowBox[{ RowBox[{"Take", "[", RowBox[{ RowBox[{"hnf", "[", RowBox[{"[", "j", "]"}], "]"}], ",", "len"}], "]"}], "=!=", "zeros"}]}], ",", RowBox[{"j", "++"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"solvec", "=", RowBox[{ RowBox[{"Drop", "[", RowBox[{ RowBox[{"hnf", "[", RowBox[{"[", "j", "]"}], "]"}], ",", RowBox[{"len", "+", "1"}]}], "]"}], "/", RowBox[{"(", RowBox[{"-", RowBox[{"hnf", "[", RowBox[{"[", RowBox[{"j", ",", RowBox[{"len", "+", "1"}]}], "]"}], "]"}]}], ")"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"nullvecs", "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Drop", "[", RowBox[{"#1", ",", RowBox[{"len", "+", "1"}]}], "]"}], "&"}], ")"}], "/@", RowBox[{"Drop", "[", RowBox[{"hnf", ",", "j"}], "]"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"solvec", ",", RowBox[{"LatticeReduce", "[", "nullvecs", "]"}]}], "}"}]}]}], "\[IndentingNewLine]", "]"}], "/;", RowBox[{ RowBox[{"Length", "[", "rhs", "]"}], "\[Equal]", RowBox[{"Length", "[", "mat", "]"}]}]}]}]], "Input", CellChangeTimes->{{3.39879636680177*^9, 3.398796372024201*^9}}, CellLabel->"In[1]:="], Cell[BoxData[ RowBox[{ RowBox[{"smallSolution", "[", RowBox[{ RowBox[{ RowBox[{"(", "sol_", ")"}], "?", "VectorQ"}], ",", RowBox[{ RowBox[{"(", "nulls_", ")"}], "?", "MatrixQ"}]}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"max", ",", RowBox[{"dim", "=", RowBox[{ RowBox[{"Length", "[", "nulls", "]"}], "+", "1"}]}], ",", "weight", ",", "auglat", ",", "lat", ",", "k", ",", "soln"}], "}"}], ",", RowBox[{ RowBox[{"lat", "=", RowBox[{"Prepend", "[", RowBox[{"nulls", ",", "sol"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"max", "=", RowBox[{"Max", "[", RowBox[{"Flatten", "[", RowBox[{"Abs", "[", "lat", "]"}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"weight", "=", RowBox[{"dim", "*", RowBox[{"max", "^", "2"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"auglat", "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Prepend", "[", RowBox[{"#1", ",", "0"}], "]"}], "&"}], ")"}], "/@", "lat"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"auglat", "[", RowBox[{"[", RowBox[{"1", ",", "1"}], "]"}], "]"}], "=", "weight"}], ";", "\[IndentingNewLine]", RowBox[{"lat", "=", RowBox[{"LatticeReduce", "[", "auglat", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"k", "=", "1"}], ",", RowBox[{ RowBox[{"lat", "[", RowBox[{"[", RowBox[{"k", ",", "1"}], "]"}], "]"}], "\[Equal]", "0"}], ",", RowBox[{"k", "++"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"soln", "=", RowBox[{"lat", "[", RowBox[{"[", "k", "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"Which", "[", RowBox[{ RowBox[{ RowBox[{"soln", "[", RowBox[{"[", "1", "]"}], "]"}], "\[Equal]", "weight"}], ",", RowBox[{"Drop", "[", RowBox[{"soln", ",", "1"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"soln", "[", RowBox[{"[", "1", "]"}], "]"}], "\[Equal]", RowBox[{"-", "weight"}]}], ",", RowBox[{"-", RowBox[{"Drop", "[", RowBox[{"soln", ",", "1"}], "]"}]}], ",", "\[IndentingNewLine]", "True", ",", "sol"}], "]"}]}]}], "]"}]}]], "Input", CellLabel->"In[3]:="], Cell["\<\ The code below will find the set of Keith number linear equations for a given \ number of digits. Integer solutions to any of these equations, subject to the \ constraints that the first variable be positive and all variables lie between \ 0 and 9, will give Keith numbers.\ \>", "Text"], Cell[BoxData[ RowBox[{ RowBox[{"keithEquations", "[", RowBox[{"len_Integer", "/;", RowBox[{"len", ">", "0"}]}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"matrow", ",", "n", ",", "list", ",", "res", ",", "vecs"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"res", "=", RowBox[{"list", "[", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"Do", "[", RowBox[{ RowBox[{ RowBox[{"matrow", "[", "j", "]"}], "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"KroneckerDelta", "[", RowBox[{"k", ",", RowBox[{"j", "+", "1"}]}], "]"}], ",", RowBox[{"{", RowBox[{"k", ",", "len"}], "}"}]}], "]"}]}], ",", RowBox[{"{", RowBox[{"j", ",", RowBox[{"len", "-", "1"}]}], "}"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"matrow", "[", "len", "]"}], "=", RowBox[{"Table", "[", RowBox[{"1", ",", RowBox[{"{", "len", "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"n", "=", "len"}], ";", "\[IndentingNewLine]", RowBox[{"While", "[", RowBox[{ RowBox[{ RowBox[{"9", "*", RowBox[{"Apply", "[", RowBox[{"Plus", ",", RowBox[{"matrow", "[", "n", "]"}]}], "]"}]}], "<", RowBox[{"10", "^", RowBox[{"(", RowBox[{"len", "-", "1"}], ")"}]}]}], ",", RowBox[{ RowBox[{"n", "++"}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"matrow", "[", "n", "]"}], "=", RowBox[{"Sum", "[", RowBox[{ RowBox[{"matrow", "[", "k", "]"}], ",", RowBox[{"{", RowBox[{"k", ",", RowBox[{"n", "-", "len"}], ",", RowBox[{"n", "-", "1"}]}], "}"}]}], "]"}]}], ";"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"While", "[", RowBox[{ RowBox[{ RowBox[{"First", "[", RowBox[{"matrow", "[", "n", "]"}], "]"}], "\[LessEqual]", RowBox[{"10", "^", RowBox[{"(", RowBox[{"len", "-", "1"}], ")"}]}]}], ",", RowBox[{ RowBox[{"res", "=", RowBox[{"list", "[", RowBox[{"res", ",", RowBox[{"matrow", "[", "n", "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"n", "++"}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"matrow", "[", "n", "]"}], "=", RowBox[{"Sum", "[", RowBox[{ RowBox[{"matrow", "[", "k", "]"}], ",", RowBox[{"{", RowBox[{"k", ",", RowBox[{"n", "-", "len"}], ",", RowBox[{"n", "-", "1"}]}], "}"}]}], "]"}]}], ";"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"vecs", "=", RowBox[{"Apply", "[", RowBox[{"List", ",", RowBox[{"Flatten", "[", RowBox[{"res", ",", "Infinity", ",", "list"}], "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"#", "-", RowBox[{"10", "^", RowBox[{"Range", "[", RowBox[{ RowBox[{"len", "-", "1"}], ",", "0", ",", RowBox[{"-", "1"}]}], "]"}]}]}], ")"}], "&"}], ",", "vecs"}], "]"}]}]}], "]"}]}]], "Input", CellLabel->"In[5]:="], Cell["\<\ Here we give a fairly straightforward implementation of the Keith number \ solver. The input is a set of integer vectors spanning the solution space for \ a particular Keith number homogeneous linear equation. The program will find \ all possible combinations that have all components between 0 and 9 and the \ first one nonzero (so they correspond to digits with the leading one \ positive), or else terminate with an empty solution set.\ \>", "Text"], Cell[BoxData[ RowBox[{ RowBox[{"keithSolutions", "[", "onulls_", "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"nulls", ",", "vars", ",", "x", ",", RowBox[{"len", "=", RowBox[{"Length", "[", "onulls", "]"}]}], ",", "vecs", ",", "constraints", ",", "program", ",", "stack", ",", "soln", ",", RowBox[{"solns", "=", RowBox[{"{", "}"}]}], ",", "badvar", ",", "varvals", ",", "val", ",", RowBox[{"counter", "=", "1"}], ",", "var", ",", "extra", ",", "maxs", ",", "mins", ",", RowBox[{"ctmp", "=", RowBox[{"{", "}"}]}], ",", "octmp", ",", RowBox[{"bad", "=", "False"}], ",", "vnum", ",", "vval", ",", RowBox[{"eps", "=", FractionBox["1", SuperscriptBox["10", "5"]]}], ",", "rndvar"}], "}"}], ",", RowBox[{ RowBox[{"nulls", "=", RowBox[{"Reverse", "[", RowBox[{"onulls", "\[LeftDoubleBracket]", RowBox[{"Ordering", "[", RowBox[{"Norm", "/@", RowBox[{"N", "[", "onulls", "]"}]}], "]"}], "\[RightDoubleBracket]"}], "]"}]}], ";", RowBox[{"vars", "=", RowBox[{"Array", "[", RowBox[{"x", ",", "len"}], "]"}]}], ";", RowBox[{"vecs", "=", RowBox[{"vars", ".", "nulls"}]}], ";", RowBox[{"constraints", "=", RowBox[{"Join", "[", RowBox[{ RowBox[{"{", RowBox[{"1", "\[LessEqual]", RowBox[{"First", "[", "vecs", "]"}], "\[LessEqual]", "9"}], "}"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"0", "\[LessEqual]", "#1", "\[LessEqual]", "9"}], "&"}], ")"}], "/@", RowBox[{"Rest", "[", "vecs", "]"}]}]}], "]"}]}], ";", RowBox[{"While", "[", RowBox[{ RowBox[{"ctmp", "=!=", "octmp"}], ",", RowBox[{ RowBox[{"mins", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"Internal`DeactivateMessages", "[", RowBox[{ RowBox[{ RowBox[{"val", "=", RowBox[{"NMinimize", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ "vars", "\[LeftDoubleBracket]", "j", "\[RightDoubleBracket]"}], ",", RowBox[{"Join", "[", RowBox[{"constraints", ",", "ctmp"}], "]"}]}], "}"}], ",", "vars"}], "]"}]}], ";", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Head", "[", "val", "]"}], "===", "NMinimize"}], "||", RowBox[{"!", RowBox[{"FreeQ", "[", RowBox[{"val", ",", "Indeterminate"}], "]"}]}]}], ",", RowBox[{ RowBox[{"bad", "=", "True"}], ";", RowBox[{"Break", "[", "]"}]}]}], "]"}], ";", RowBox[{"val", "=", RowBox[{"First", "[", "val", "]"}]}]}], ",", RowBox[{"NMinimize", "::", "\"\\""}]}], "]"}], ",", RowBox[{"{", RowBox[{"j", ",", "len"}], "}"}]}], "]"}]}], ";", RowBox[{"maxs", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"Internal`DeactivateMessages", "[", RowBox[{ RowBox[{ RowBox[{"val", "=", RowBox[{"NMaximize", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ "vars", "\[LeftDoubleBracket]", "j", "\[RightDoubleBracket]"}], ",", RowBox[{"Join", "[", RowBox[{"constraints", ",", "ctmp"}], "]"}]}], "}"}], ",", "vars"}], "]"}]}], ";", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Head", "[", "val", "]"}], "===", "NMaximize"}], "||", RowBox[{"!", RowBox[{"FreeQ", "[", RowBox[{"val", ",", "Indeterminate"}], "]"}]}]}], ",", RowBox[{ RowBox[{"bad", "=", "True"}], ";", RowBox[{"Break", "[", "]"}]}]}], "]"}], ";", RowBox[{"val", "=", RowBox[{"First", "[", "val", "]"}]}]}], ",", RowBox[{"NMaximize", "::", "\"\\""}]}], "]"}], ",", RowBox[{"{", RowBox[{"j", ",", "len"}], "}"}]}], "]"}]}], ";", RowBox[{"octmp", "=", "ctmp"}], ";", RowBox[{"ctmp", "=", RowBox[{"Join", "[", RowBox[{ RowBox[{"Thread", "[", RowBox[{"vars", "\[LessEqual]", RowBox[{"Floor", "[", RowBox[{"maxs", "+", "eps"}], "]"}]}], "]"}], ",", RowBox[{"Thread", "[", RowBox[{"vars", "\[GreaterEqual]", RowBox[{"Ceiling", "[", RowBox[{"mins", "-", "eps"}], "]"}]}], "]"}]}], "]"}]}], ";"}]}], "]"}], ";", RowBox[{"If", "[", RowBox[{"bad", ",", RowBox[{"Return", "[", RowBox[{"{", RowBox[{"counter", ",", RowBox[{"{", "}"}]}], "}"}], "]"}]}], "]"}], ";", RowBox[{"constraints", "=", RowBox[{"Join", "[", RowBox[{"constraints", ",", "ctmp"}], "]"}]}], ";", RowBox[{"program", "=", "constraints"}], ";", RowBox[{"stack", "=", RowBox[{"{", RowBox[{"program", ",", RowBox[{"{", "}"}]}], "}"}]}], ";", RowBox[{"While", "[", RowBox[{ RowBox[{"stack", "=!=", RowBox[{"{", "}"}]}], ",", RowBox[{ RowBox[{"counter", "++"}], ";", RowBox[{"program", "=", RowBox[{ "stack", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ";", RowBox[{"stack", "=", RowBox[{ "stack", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], ";", RowBox[{"rndvar", "=", RowBox[{"vars", "\[LeftDoubleBracket]", RowBox[{"RandomInteger", "[", RowBox[{"{", RowBox[{"1", ",", "len"}], "}"}], "]"}], "\[RightDoubleBracket]"}]}], ";", RowBox[{"program", "=", RowBox[{"{", RowBox[{"rndvar", ",", "program"}], "}"}]}], ";", RowBox[{"Internal`DeactivateMessages", "[", RowBox[{ RowBox[{"vals", "=", RowBox[{"NMinimize", "[", RowBox[{"program", ",", "vars"}], "]"}]}], ",", RowBox[{"NMinimize", "::", "\"\\""}]}], "]"}], ";", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Head", "[", "vals", "]"}], "\[Equal]", "NMinimize"}], ",", RowBox[{"Continue", "[", "]"}]}], "]"}], ";", RowBox[{"vval", "=", RowBox[{"Ceiling", "[", RowBox[{ RowBox[{"First", "[", "vals", "]"}], "-", "eps"}], "]"}]}], ";", RowBox[{"vals", "=", RowBox[{"Chop", "[", RowBox[{ "vals", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "]"}]}], ";", RowBox[{"soln", "=", RowBox[{"Chop", "[", RowBox[{"vecs", "/.", "\[InvisibleSpace]", "vals"}], "]"}]}], ";", RowBox[{"If", "[", RowBox[{ RowBox[{"!", RowBox[{"FreeQ", "[", RowBox[{"soln", ",", "Indeterminate"}], "]"}]}], ",", RowBox[{"Continue", "[", "]"}]}], "]"}], ";", RowBox[{"constraints", "=", RowBox[{ "program", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], ";", RowBox[{"varvals", "=", RowBox[{"vars", "/.", "\[InvisibleSpace]", "vals"}]}], ";", RowBox[{"badvar", "=", RowBox[{"Position", "[", RowBox[{"varvals", ",", RowBox[{"a_", "/;", RowBox[{ RowBox[{"Chop", "[", RowBox[{"a", "-", RowBox[{"Round", "[", "a", "]"}]}], "]"}], "=!=", "0"}]}], ",", RowBox[{"{", "1", "}"}], ",", "1", ",", RowBox[{"Heads", "\[Rule]", "False"}]}], "]"}]}], ";", RowBox[{"If", "[", RowBox[{ RowBox[{"badvar", "\[Equal]", RowBox[{"{", "}"}]}], ",", RowBox[{ RowBox[{"soln", "=", RowBox[{"Round", "[", "soln", "]"}]}], ";", RowBox[{"solns", "=", RowBox[{"{", RowBox[{"soln", ",", "solns"}], "}"}]}], ";", RowBox[{"Do", "[", RowBox[{ RowBox[{ RowBox[{"extra", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{ "vecs", "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}], "\[Equal]", RowBox[{ "soln", "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]}], ",", RowBox[{"{", RowBox[{"k", ",", RowBox[{"j", "-", "1"}]}], "}"}]}], "]"}]}], ";", RowBox[{"stack", "=", RowBox[{"{", RowBox[{ RowBox[{"Join", "[", RowBox[{"constraints", ",", RowBox[{"Append", "[", RowBox[{"extra", ",", RowBox[{ RowBox[{ "vecs", "\[LeftDoubleBracket]", "j", "\[RightDoubleBracket]"}], "\[LessEqual]", RowBox[{ RowBox[{ "soln", "\[LeftDoubleBracket]", "j", "\[RightDoubleBracket]"}], "-", "1"}]}]}], "]"}]}], "]"}], ",", "stack"}], "}"}]}], ";", RowBox[{"stack", "=", RowBox[{"{", RowBox[{ RowBox[{"Join", "[", RowBox[{"constraints", ",", RowBox[{"Append", "[", RowBox[{"extra", ",", RowBox[{ RowBox[{ "vecs", "\[LeftDoubleBracket]", "j", "\[RightDoubleBracket]"}], "\[GreaterEqual]", RowBox[{ RowBox[{ "soln", "\[LeftDoubleBracket]", "j", "\[RightDoubleBracket]"}], "+", "1"}]}]}], "]"}]}], "]"}], ",", "stack"}], "}"}]}], ";"}], ",", RowBox[{"{", RowBox[{"j", ",", RowBox[{"Length", "[", "soln", "]"}]}], "}"}]}], "]"}], ";", RowBox[{"Continue", "[", "]"}]}]}], "]"}], ";", RowBox[{"badvar", "=", RowBox[{"badvar", "\[LeftDoubleBracket]", RowBox[{"1", ",", "1"}], "\[RightDoubleBracket]"}]}], ";", RowBox[{"var", "=", RowBox[{ "vars", "\[LeftDoubleBracket]", "badvar", "\[RightDoubleBracket]"}]}], ";", RowBox[{"val", "=", RowBox[{"var", "/.", "\[InvisibleSpace]", "vals"}]}], ";", RowBox[{"stack", "=", RowBox[{"{", RowBox[{ RowBox[{"Join", "[", RowBox[{"constraints", ",", RowBox[{"{", RowBox[{ RowBox[{"rndvar", "\[GreaterEqual]", "vval"}], ",", RowBox[{"var", "\[LessEqual]", RowBox[{"Floor", "[", "val", "]"}]}]}], "}"}]}], "]"}], ",", "stack"}], "}"}]}], ";", RowBox[{"stack", "=", RowBox[{"{", RowBox[{ RowBox[{"Join", "[", RowBox[{"constraints", ",", RowBox[{"{", RowBox[{ RowBox[{"rndvar", "\[GreaterEqual]", "vval"}], ",", RowBox[{"var", "\[GreaterEqual]", RowBox[{"Ceiling", "[", "val", "]"}]}]}], "}"}]}], "]"}], ",", "stack"}], "}"}]}], ";"}]}], "]"}], ";", RowBox[{"{", RowBox[{"counter", ",", RowBox[{"Partition", "[", RowBox[{ RowBox[{"Flatten", "[", "solns", "]"}], ",", RowBox[{"Length", "[", RowBox[{"First", "[", "nulls", "]"}], "]"}]}], "]"}]}], "}"}]}]}], "]"}]}]], "Input", CellChangeTimes->{{3.398796097739183*^9, 3.398796103437658*^9}}, CellLabel->"In[7]:="], Cell["\<\ Not surprisingly there are various ways to improve on this sort of solving \ once one begins with a good basis set. Some dedicated ILP solvers seem to do \ these perhaps an order of magnitude faster.\ \>", "Text"], Cell["\<\ The next snippets of code will generate all possible Keith number equations \ for 2 through 29 digits and call the solver above on each.\ \>", "Text"], Cell[BoxData[ RowBox[{ RowBox[{"integerNullSpace", "[", RowBox[{"vec", ":", RowBox[{"{", RowBox[{"_Integer", ".."}], "}"}]}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"mat", ",", "hnf"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"mat", "=", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"{", "vec", "}"}], ",", RowBox[{"IdentityMatrix", "[", RowBox[{"Length", "[", "vec", "]"}], "]"}]}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"hnf", "=", RowBox[{"Last", "[", RowBox[{"Developer`HermiteNormalForm", "[", "mat", "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"LatticeReduce", "[", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"Drop", "[", RowBox[{"#", ",", "1"}], "]"}], "&"}], ",", RowBox[{"Drop", "[", RowBox[{"hnf", ",", "1"}], "]"}]}], "]"}], "]"}]}]}], "]"}]}]], "Input", CellLabel->"In[12]:="], Cell[BoxData[ RowBox[{ RowBox[{"Do", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{"keqns", "[", "j", "]"}], "=", RowBox[{"keithEquations", "[", "j", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"Do", "[", RowBox[{ RowBox[{ RowBox[{"vecs", "=", RowBox[{"integerNullSpace", "[", RowBox[{ RowBox[{"keqns", "[", "j", "]"}], "[", RowBox[{"[", "k", "]"}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"nulls", "[", RowBox[{"j", ",", "k"}], "]"}], "=", RowBox[{"Reverse", "[", RowBox[{"vecs", "[", RowBox[{"[", RowBox[{"Ordering", "[", RowBox[{"Map", "[", RowBox[{"Norm", ",", RowBox[{"N", "[", "vecs", "]"}]}], "]"}], "]"}], "]"}], "]"}], "]"}]}]}], ",", RowBox[{"{", RowBox[{"k", ",", RowBox[{"Length", "[", RowBox[{"keqns", "[", "j", "]"}], "]"}]}], "}"}]}], "]"}]}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"j", ",", "2", ",", "29"}], "}"}]}], "]"}], ";"}]], "Input", CellLabel->"In[18]:="], Cell[BoxData[ RowBox[{"Table", "[", RowBox[{ RowBox[{"{", RowBox[{"keithSolutions", "[", RowBox[{"nulls", "[", RowBox[{"j", ",", "k"}], "]"}], "]"}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", "2", ",", "29"}], "}"}], ",", RowBox[{"{", RowBox[{"k", ",", RowBox[{"Length", "[", RowBox[{"keqns", "[", "j", "]"}], "]"}]}], "}"}]}], "]"}]], "Input", CellLabel->"In[23]:="], Cell["\<\ We can readily check whether a given sequence represents a Keith number.\ \>", "Text"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"KeithQ", "[", "n_", "]"}], ":=", RowBox[{ RowBox[{"Last", "[", RowBox[{"NestWhile", "[", RowBox[{ RowBox[{ RowBox[{"Append", "[", RowBox[{"#", ",", RowBox[{"Total", "[", RowBox[{"Take", "[", RowBox[{"#", ",", RowBox[{"-", RowBox[{"Length", "[", RowBox[{"IntegerDigits", "[", "n", "]"}], "]"}]}]}], "]"}], "]"}]}], "]"}], "&"}], ",", RowBox[{"IntegerDigits", "[", "n", "]"}], ",", RowBox[{ RowBox[{ RowBox[{"Last", "[", "#", "]"}], "<", "n"}], "&"}]}], "]"}], "]"}], "\[Equal]", "n"}]}], ";"}]], "Input", CellLabel->"In[48]:="], Cell[TextData[{ "The routine below is an adaptation of one in [", CounterBox["Reference", "Schnorr Euchner"], "] for solving low density binary knapsack problems. We modify in order to \ try for solutions with variables taking nonnegative single digit values." }], "Text"], Cell[BoxData[ RowBox[{ RowBox[{"integerNullSpace2", "[", RowBox[{"origvec", ":", RowBox[{"{", RowBox[{"_Integer", ".."}], "}"}]}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ "vec", ",", "mat", ",", "hnf", ",", "red", ",", "vecs", ",", "m"}], "}"}], ",", RowBox[{ RowBox[{"vec", "=", "origvec"}], ";", "\[IndentingNewLine]", RowBox[{"mat", "=", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"{", "vec", "}"}], ",", RowBox[{"IdentityMatrix", "[", RowBox[{"Length", "[", "vec", "]"}], "]"}]}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"hnf", "=", RowBox[{"Drop", "[", RowBox[{ RowBox[{"Last", "[", RowBox[{"Developer`HermiteNormalForm", "[", "mat", "]"}], "]"}], ",", "1"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"vec", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"-", "9"}], "/", "2"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Length", "[", "vec", "]"}], "+", "1"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"vec", "[", RowBox[{"[", "1", "]"}], "]"}], "=", "1"}], ";", "\[IndentingNewLine]", RowBox[{"hnf", "=", RowBox[{"LatticeReduce", "[", "hnf", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"hnf", "=", RowBox[{"Prepend", "[", RowBox[{"hnf", ",", "vec"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"red", "=", RowBox[{"LatticeReduce", "[", "hnf", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"vecs", "=", RowBox[{"Cases", "[", RowBox[{"red", ",", RowBox[{"{", RowBox[{ RowBox[{"1", "|", RowBox[{"-", "1"}]}], ",", "___"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"vecs", "=", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"Rest", "[", RowBox[{"#", "/", RowBox[{"Sign", "[", RowBox[{"First", "[", "#", "]"}], "]"}]}], "]"}], "&"}], ",", "vecs"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"vecs", "+", RowBox[{"9", "/", "2"}]}]}]}], "]"}]}]], "Input"] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ". References" }], "Section"], Cell[TextData[{ "K. Aardal, C. A. J. Hurkens, and A. K. Lenstra. Solving a system of linear \ diophantine equations with lower and upper bounds on the variables. ", StyleBox["Mathematics of Operations Research", FontSlant->"Italic"], " ", StyleBox["25", FontWeight->"Bold"], ":427\[Hyphen]442, 2000." }], "Reference", PageBreakAbove->Automatic, CellTags->"Aardal Hurkens Lenstra"], Cell[TextData[{ "K. Aardal and A. K. Lenstra. Hard equality constrained knapsacks. In ", StyleBox["Proceedings of the 9th Conference on Integer Programming and \ Combinatorial Optimization", FontSlant->"Italic"], " (IPCO 2002), W. J. Cook and A. S. Schulz, eds. Lecture Notes in Computer \ Science 2337, 350\[Hyphen]366. Springer\[Hyphen]Verlag, 2002." }], "Reference", PageBreakAbove->Automatic, CellTags->"Aardal Lenstra"], Cell[TextData[{ "K. Aardal, R. Weismantel, and L. A. Wolsey. Non\[Hyphen]standard approaches \ to integer programming. ", StyleBox["Discrete Applied Mathematics", FontSlant->"Italic"], " ", StyleBox["123", FontWeight->"Bold"], ":5\[Hyphen]74, 2002." }], "Reference", PageBreakAbove->Automatic, CellTags->"Aardal Weismantel Wolsey"], Cell[TextData[{ "D. Beihoffer, J. Hendry, A. Nijenhuis, and S. Wagon. Faster algorithms for \ Frobenius numbers. ", StyleBox["Elec. J. Combinatorics", FontSlant->"Italic"], " ", StyleBox["12", FontWeight->"Bold"], ", 2005." }], "Reference", CellTags->"Beihoffer Nijinhuis Hendry Wagon"], Cell[TextData[{ "W. A. Blankenship. Algorithm 288: Solution of simultaneous linear \ diophantine equations. ", StyleBox["Communications of the ACM", FontSlant->"Italic"], " ", StyleBox["9", FontWeight->"Bold"], "(7):514, 1966." }], "Reference", CellTags->"Blankenship"], Cell["\<\ COmputational INfrastructure for Operations Research (COIN-OR). Home page \ URL: http://www.coin-or.org/documentation.html\ \>", "Reference", CellTags->"COIN"], Cell[TextData[{ "P. Conti and C. Traverso. Gr\[ODoubleDot]bner bases and integer \ programming. ", StyleBox["Proceedings of the 9th International Symposium on ", FontSlant->"Italic"], " ", StyleBox[" Applied Algebra, Algebraic Algorithms and Error-Correcting Codes \ (AAECC-9). ", FontSlant->"Italic"], "H. F. Mattson, T. Mora, and T. R. N. Rao, eds.", Cell[BoxData[ FormBox[" ", TraditionalForm]]], "Lecture Notes in Computer Science 539, 130-139. Springer-Verlag, 1991" }], "Reference", CellChangeTimes->{{3.408388746893028*^9, 3.408388763124034*^9}}, CellTags->"Conti Traverso"], Cell[TextData[{ "G. Dantzig. ", StyleBox["Linear Programming and Extensions", FontSlant->"Italic"], ". Princeton Landmarks in Mathematics and Physics. Princeton University \ Press, 1963 (Reprinted 1998)." }], "Reference", PageBreakAbove->Automatic, CellTags->"Dantzig"], Cell[TextData[{ "D. G\[OAcute]mez-Perez, J. Gutierrez, and \[CapitalAAcute]. Ibeas. \ Circulant digraphs and monomial ideals. ", StyleBox["Proceedings of the 8th International Workshop on Computer Algebra \ in Scientific Computing (CASC 2005)", FontSlant->"Italic"], ", V. G. Ganzha, E. W. Mayr, and E. V. Vorozhtsov, eds. Lecture Notes in \ Computer Science 3718, 196-205. Springer-Verlag, 2005.\nExtended version \ available electronically at:\nhttp://personales.unican.es/ibeasaj/circula/" }], "Reference", PageBreakAbove->Automatic, CellTags->"Gomez Gutierrez Ibeas"], Cell[TextData[{ "M. Keith. Determination of all Keith Numbers up to ", Cell[BoxData[ FormBox[ SuperscriptBox["10", "19"], TraditionalForm]]], ". Electronic manuscript, 1998.\nAvailable electronically at:\n\ http://users.aol.com/s6sj7gt/keithnum.htm\nSee also:\n\ http://users.aol.com/s6sj7gt/mikekeit.htm" }], "Reference", PageBreakAbove->Automatic, CellTags->"Keith"], Cell[TextData[{ "A. Lenstra, H. Lenstra, and L. Lov\[AAcute]sz. Factoring polynomials with \ rational coefficients. ", StyleBox["Mathematische Annalen", FontSlant->"Italic"], " ", StyleBox["261", FontWeight->"Bold"], ":515\[Hyphen]534, 1982." }], "Reference", PageBreakAbove->Automatic, CellTags->"Lenstra Lenstra Lovasz"], Cell["\<\ D. Lichtblau. Revisiting strong Gr\[ODoubleDot]bner bases over Euclidean \ domains. Manuscript, 2003.\ \>", "Reference", PageBreakAbove->Automatic, CellTags->"Lichtblau 2003"], Cell["\<\ K. R. Matthews. Short solutions of A X=B using a LLL\[Hyphen]based Hermite \ normal form algorithm. Manuscript, 2001.\ \>", "Reference", PageBreakAbove->Automatic, CellTags->"Matthews"], Cell[TextData[{ "P. Nguyen. Cryptanalysis of the Goldreich\[Hyphen]Goldwasser\[Hyphen]Halevi \ cryptosystem from Crypto '97. Advances in Cryptology, ", StyleBox["Proceedings of CRYPTO 1999", FontSlant->"Italic"], ", Santa Barbara, CA, 1999. Lecture Notes in Computer Science 1666, 288-304. \ Springer-Verlag, 1999.\nAvailable electronically at:\n\ http://www.di.ens.fr/~pnguyen/pub.html#Ng99" }], "Reference", PageBreakAbove->Automatic, CellTags->"Nguyen"], Cell[TextData[{ "C. P. Schnorr and M. Euchner. Lattice basis reduction: improved practical \ algorithms and solving subset sum problems. In ", StyleBox["Proceedings of the 8th International Conference on Fundamentals of \ Computation Theory", FontSlant->"Italic"], ", 1991. L. Budach, ed. Lecture Notes in Computer Science 529, \ 68\[Hyphen]85. Springer\[Hyphen]Verlag, 1991." }], "Reference", PageBreakAbove->Automatic, CellTags->"Schnorr Euchner"], Cell[TextData[{ "A. Schrijver. ", StyleBox["Theory of Linear and Integer Programming", FontSlant->"Italic"], ". Wiley\[Hyphen]Interscience Series in Discrete Mathematics and \ Optimization, 1986." }], "Reference", PageBreakAbove->Automatic, CellTags->"Schrijver"], Cell["\<\ S. Wagon, D. Einstein, D. Lichtblau, and A. Strzebonski. Frobenius numbers by \ lattice enumeration. Submitted.\ \>", "Reference", PageBreakAbove->Automatic, CellTags->"Wagon Einstein Lichtblau Strzebonski"], Cell[TextData[{ "S. Wolfram. ", StyleBox["The Mathematica Book", FontSlant->"Italic"], " (5th edition). Wolfram Media, 2003." }], "Reference", PageBreakAbove->Automatic, CellTags->"Wolfram"] }, Open ]] }, Open ]] }, ScreenStyleEnvironment->"Working", WindowSize->{803, 604}, WindowMargins->{{Automatic, 57}, {Automatic, 0}}, PrintingPageRange->{Automatic, Automatic}, PageHeaders->{{Inherited, Inherited, Inherited}, {None, Inherited, None}}, PageFooters->{{Inherited, Inherited, Inherited}, {Inherited, Cell[ TextData[{ CounterBox["Page"]}], "PageNumber"], Inherited}}, PageHeaderLines->{Inherited, False}, PrintingOptions->{"FacingPages"->False, "Magnification"->1, "PaperOrientation"->"Portrait", "PaperSize"->{612, 792}, "PostScriptOutputFile":>FrontEnd`FileName[{$RootDirectory, "home", "usr2", "danl", "Notebooks"}, "lattice_ilp.ps", CharacterEncoding -> "iso8859-1"], "PrintCellBrackets"->False, "PrintMultipleHorizontalPages"->False, "PrintRegistrationMarks"->False, "PrintingMargins"->{{64.75, 64.75}, {64.75, 72}}}, FrontEndVersion->"7.0 for Linux x86 (64-bit) (February 25, 2009)", StyleDefinitions->Notebook[{ Cell[ CellGroupData[{ Cell["Style Definitions", "Title"], Cell[ "Modify the definitions below to change the default appearance of all \ cells in a given style. Make modifications to any definition using commands \ in the Format menu.", "Text"], Cell[ CellGroupData[{ Cell["Style Environment Names", "Section"], Cell[ StyleData[All, "Working"], ScriptMinSize -> 9], Cell[ StyleData[All, "Presentation"], ScriptMinSize -> 9], Cell[ StyleData[All, "SlideShow"], PageWidth -> WindowWidth, ScrollingOptions -> { "PagewiseDisplay" -> True, "VerticalScrollRange" -> Fit}, ShowCellBracket -> False, ScriptMinSize -> 9], Cell[ StyleData[All, "Printout"], PageWidth -> PaperWidth, ShowCellLabel -> False, ImageSize -> {200, 200}, PrivateFontOptions -> {"FontType" -> "Outline"}]}, Open]], Cell[ CellGroupData[{ Cell["Notebook Options", "Section"], Cell[ "The options defined for the style below will be used at the \ Notebook level.", "Text"], Cell[ CellGroupData[{ Cell[ StyleData["Notebook"], PageHeaders -> {{ Cell[ TextData[{ CounterBox["Page"]}], "PageNumber"], None, Cell[ TextData[{ ValueBox["FileName"]}], "Header"]}, { Cell[ TextData[{ ValueBox["FileName"]}], "Header"], None, Cell[ TextData[{ CounterBox["Page"]}], "PageNumber"]}}, PageHeaderLines -> {True, True}, PrintingOptions -> { "FacingPages" -> True, "FirstPageHeader" -> False}, CellLabelAutoDelete -> False, CellFrameLabelMargins -> 6, StyleMenuListing -> None], Cell[ StyleData["Notebook", "Presentation"], FontSize -> 12]}, Closed]]}, Open]], Cell[ CellGroupData[{ Cell["Styles for Headings", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["Title"], CellMargins -> {{18, 30}, {4, 20}}, CellGroupingRules -> {"TitleGrouping", 0}, PageBreakBelow -> False, CellFrameMargins -> 9, InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, TextAlignment -> Center, LineSpacing -> {0.95, 11}, CounterIncrements -> "Title", CounterAssignments -> {{"Section", 0}, {"Equation", 0}, { "Figure", 0}}, FontSize -> 30], Cell[ StyleData["Title", "Presentation"], CellMargins -> {{25, 30}, {40, 30}}, CellFrameMargins -> {{6, 10}, {10, 14}}, FontSize -> 54], Cell[ StyleData["Title", "Printout"], CellMargins -> {{20, 30}, {4, 0}}, CellFrameMargins -> 4, FontSize -> 16]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["Subtitle"], CellMargins -> {{18, 30}, {0, 10}}, CellGroupingRules -> {"TitleGrouping", 10}, PageBreakBelow -> False, InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, LineSpacing -> {1, 0}, CounterIncrements -> "Subtitle", CounterAssignments -> {{"Section", 0}, {"Equation", 0}, { "Figure", 0}}, FontSize -> 24, FontSlant -> "Italic"], Cell[ StyleData["Subtitle", "Presentation"], CellMargins -> {{25, 40}, {55, 10}}, FontSize -> 36], Cell[ StyleData["Subtitle", "Printout"], CellMargins -> {{18, 30}, {0, 10}}, FontSize -> 18]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["SectionFirst"], CellFrame -> {{0, 0}, {0, 3}}, CellMargins -> {{18, 30}, {4, 30}}, CellGroupingRules -> {"SectionGrouping", 40}, PageBreakBelow -> False, CellFrameMargins -> 3, InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, CounterIncrements -> "Section", CounterAssignments -> {{"Subsection", 0}, {"Subsubsection", 0}}, FontSize -> 18, FontWeight -> "Bold"], Cell[ StyleData["SectionFirst", "Presentation"], CellFrame -> {{0, 0}, {0, 8}}, CellMargins -> {{25, 30}, {65, 10}}, FontSize -> 27], Cell[ StyleData["SectionFirst", "Printout"], FontSize -> 14]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Section"], CellMargins -> {{14, 16}, {4, 10}}, CellGroupingRules -> {"SectionGrouping", 40}, PageBreakBelow -> False, InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, CounterIncrements -> "Section", CounterAssignments -> {{"Subsection", 0}, {"Subsubsection", 0}}, FontSize -> 18, FontWeight -> "Bold"], Cell[ StyleData["Section", "Presentation"], CellMargins -> {{25, 30}, {30, 15}}, FontSize -> 27], Cell[ StyleData["Section", "Printout"], FontSize -> 12]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["Subsection"], CellDingbat -> "\[FilledSquare]", CellMargins -> {{18, 30}, {4, 20}}, CellGroupingRules -> {"SectionGrouping", 50}, PageBreakBelow -> False, InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, CounterIncrements -> "Subsection", CounterAssignments -> {{"Subsubsection", 0}}, FontSize -> 14, FontWeight -> "Bold"], Cell[ StyleData["Subsection", "Presentation"], CellMargins -> {{25, 30}, {30, 20}}, FontSize -> 21], Cell[ StyleData["Subsection", "Printout"], FontSize -> 12]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Subsubsection"], CellDingbat -> "\[FilledSmallSquare]", CellMargins -> {{18, 30}, {4, 12}}, CellGroupingRules -> {"SectionGrouping", 60}, PageBreakBelow -> False, InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, CounterIncrements -> "Subsubsection", FontSize -> 12, FontWeight -> "Bold"], Cell[ StyleData["Subsubsection", "Presentation"], CellMargins -> {{25, 30}, {10, 10}}, FontSize -> 18], Cell[ StyleData["Subsubsection", "Printout"], FontSize -> 10]}, Closed]]}, Open]], Cell[ CellGroupData[{ Cell["Styles for Body Text", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["Text"], CellMargins -> {{18, 10}, {Inherited, 6}}, InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, TextJustification -> 1, LineSpacing -> {1, 2}, CounterIncrements -> "Text"], Cell[ StyleData["Text", "Presentation"], CellMargins -> {{25, 10}, {6, 20}}, FontSize -> 18], Cell[ StyleData["Text", "Printout"], CellMargins -> {{14, 16}, {Inherited, 4}}, Hyphenation -> True, LineSpacing -> {1, 3}, FontSize -> 10]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["Caption"], CellMargins -> {{55, 50}, {5, 5}}, PageBreakAbove -> False, FontSize -> 10], Cell[ StyleData["Caption", "Presentation"], CellMargins -> {{80, 50}, {8, 14}}, FontSize -> 15], Cell[ StyleData["Caption", "Printout"], CellMargins -> {{55, 55}, {5, 2}}, Hyphenation -> True, FontSize -> 8]}, Closed]]}, Open]], Cell[ CellGroupData[{ Cell["Inline Formatting", "Section"], Cell[ "These styles are for modifying individual words or letters in a \ cell exclusive of the cell tag.", "Text"], Cell[ StyleData["RM"], StyleMenuListing -> None, FontWeight -> "Plain", FontSlant -> "Plain"], Cell[ StyleData["BF"], StyleMenuListing -> None, FontWeight -> "Bold"], Cell[ StyleData["IT"], StyleMenuListing -> None, FontSlant -> "Italic"], Cell[ StyleData["TR"], StyleMenuListing -> None, FontFamily -> "Times", FontWeight -> "Plain", FontSlant -> "Plain"], Cell[ StyleData["TI"], StyleMenuListing -> None, FontFamily -> "Times", FontWeight -> "Plain", FontSlant -> "Italic"], Cell[ StyleData["TB"], StyleMenuListing -> None, FontFamily -> "Times", FontWeight -> "Bold", FontSlant -> "Plain"], Cell[ StyleData["TBI"], StyleMenuListing -> None, FontFamily -> "Times", FontWeight -> "Bold", FontSlant -> "Italic"], Cell[ StyleData["MR"], "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"}, StyleMenuListing -> None, FontFamily -> "Courier", FontWeight -> "Plain", FontSlant -> "Plain"], Cell[ StyleData["MO"], "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"}, StyleMenuListing -> None, FontFamily -> "Courier", FontWeight -> "Plain", FontSlant -> "Italic"], Cell[ StyleData["MB"], "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"}, StyleMenuListing -> None, FontFamily -> "Courier", FontWeight -> "Bold", FontSlant -> "Plain"], Cell[ StyleData["MBO"], "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"}, StyleMenuListing -> None, FontFamily -> "Courier", FontWeight -> "Bold", FontSlant -> "Italic"], Cell[ StyleData["SR"], StyleMenuListing -> None, FontFamily -> "Helvetica", FontWeight -> "Plain", FontSlant -> "Plain"], Cell[ StyleData["SO"], StyleMenuListing -> None, FontFamily -> "Helvetica", FontWeight -> "Plain", FontSlant -> "Italic"], Cell[ StyleData["SB"], StyleMenuListing -> None, FontFamily -> "Helvetica", FontWeight -> "Bold", FontSlant -> "Plain"], Cell[ StyleData["SBO"], StyleMenuListing -> None, FontFamily -> "Helvetica", FontWeight -> "Bold", FontSlant -> "Italic"], Cell[ CellGroupData[{ Cell[ StyleData["SO10"], StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 10, FontWeight -> "Plain", FontSlant -> "Italic"], Cell[ StyleData["SO10", "Printout"], StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 7, FontWeight -> "Plain", FontSlant -> "Italic"]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Inert"], StyleMenuListing -> None, Background -> RGBColor[0.870588, 0.905882, 0.972549]], Cell[ StyleData["Inert", "Printout"], StyleMenuListing -> None, Background -> GrayLevel[1]]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Input/Output", "Section"], Cell[ "The cells in this section define styles used for input and output \ to the kernel. Be careful when modifying, renaming, or removing these \ styles, because the front end associates special meanings with these style \ names.", "Text"], Cell[ CellGroupData[{ Cell[ StyleData["Input"], CellMargins -> {{55, 10}, {5, 8}}, Evaluatable -> True, CellGroupingRules -> "InputGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, CellLabelMargins -> {{26, Inherited}, {Inherited, Inherited}}, DefaultFormatType -> DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, AutoItalicWords -> {}, LanguageCategory -> "Formula", FormatType -> InputForm, ShowStringCharacters -> True, NumberMarks -> True, LinebreakAdjustments -> {0.85, 2, 10, 0, 1}, CounterIncrements -> "Input", FontSize -> 12, FontWeight -> "Bold"], Cell[ StyleData["Input", "Presentation"], CellMargins -> {{80, 10}, {8, 15}}, FontSize -> 18], Cell[ StyleData["Input", "Printout"], CellMargins -> {{20, 22}, {2, 2}}, ShowCellLabel -> False, LinebreakAdjustments -> {0.85, 2, 10, 1, 1}, FontSize -> 8]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["Output"], CellMargins -> {{55, 10}, {8, 5}}, CellEditDuplicate -> True, CellGroupingRules -> "OutputGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, GeneratedCell -> True, CellAutoOverwrite -> True, CellLabelPositioning -> Left, CellLabelMargins -> {{26, Inherited}, {Inherited, Inherited}}, DefaultFormatType -> DefaultOutputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, AutoItalicWords -> {}, LanguageCategory -> "Formula", FormatType -> InputForm, CounterIncrements -> "Output"], Cell[ StyleData["Output", "Presentation"], CellMargins -> {{80, 10}, {30, 12}}, FontSize -> 16], Cell[ StyleData["Output", "Printout"], CellMargins -> {{20, 22}, {2, 2}}, ShowCellLabel -> False, FontSize -> 9]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["Message"], CellDingbat -> "\[LongDash]", CellMargins -> {{55, Inherited}, {Inherited, Inherited}}, CellGroupingRules -> "OutputGrouping", PageBreakWithin -> False, GroupPageBreakWithin -> False, GeneratedCell -> True, CellAutoOverwrite -> True, ShowCellLabel -> False, CellLabelMargins -> {{26, Inherited}, {Inherited, Inherited}}, DefaultFormatType -> DefaultOutputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, AutoItalicWords -> {}, FormatType -> InputForm, CounterIncrements -> "Message", StyleMenuListing -> None, FontSize -> 10, FontSlant -> "Italic"], Cell[ StyleData["Message", "Presentation"], CellMargins -> {{80, 10}, {15, 8}}, FontSize -> 15], Cell[ StyleData["Message", "Printout"], CellMargins -> {{55, 55}, {0, 3}}, FontSize -> 8]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Print"], CellMargins -> {{55, Inherited}, {Inherited, Inherited}}, CellGroupingRules -> "OutputGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, GeneratedCell -> True, CellAutoOverwrite -> True, ShowCellLabel -> False, CellLabelMargins -> {{26, Inherited}, { Inherited, Inherited}}, DefaultFormatType -> DefaultOutputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, TextAlignment -> Left, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, AutoItalicWords -> {}, FormatType -> InputForm, CounterIncrements -> "Print", StyleMenuListing -> None], Cell[ StyleData["Print", "Presentation"], CellMargins -> {{80, 10}, {12, 8}}, FontSize -> 16], Cell[ StyleData["Print", "Printout"], CellMargins -> {{54, 72}, {2, 10}}, FontSize -> 8]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Graphics"], CellMargins -> {{55, Inherited}, {Inherited, Inherited}}, CellGroupingRules -> "GraphicsGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GeneratedCell -> True, CellAutoOverwrite -> True, ShowCellLabel -> False, DefaultFormatType -> DefaultOutputFormatType, FormatType -> InputForm, CounterIncrements -> "Graphics", StyleMenuListing -> None], Cell[ StyleData["Graphics", "Presentation"], CellMargins -> {{80, 10}, {10, 10}}, FontSize -> 16], Cell[ StyleData["Graphics", "Printout"], CellMargins -> {{55, 55}, {0, 15}}, ImageSize -> {0.0625, 0.0625}, ImageMargins -> {{35, Inherited}, {Inherited, 0}}, FontSize -> 8]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["CellLabel"], CellMargins -> {{9, Inherited}, {Inherited, Inherited}}, StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 9, FontSlant -> "Oblique"], Cell[ StyleData["CellLabel", "Presentation"], FontSize -> 14], Cell[ StyleData["CellLabel", "Printout"], CellMargins -> {{0, Inherited}, {Inherited, Inherited}}, FontSize -> 8]}, Closed]]}, Open]], Cell[ CellGroupData[{ Cell["Unique Styles", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["Author"], CellMargins -> {{-20, Inherited}, {2, 20}}, CellGroupingRules -> {"TitleGrouping", 20}, PageBreakBelow -> False, TextAlignment -> Center, CounterAssignments -> {{"Section", 0}, {"Equation", 0}, { "Figure", 0}}, FontSize -> 14, FontWeight -> "Bold"], Cell[ StyleData["Author", "Presentation"], CellMargins -> {{15, 30}, {4, 30}}, FontSize -> 21], Cell[ StyleData["Author", "Printout"], CellMargins -> {{-20, Inherited}, {2, 14}}, FontSize -> 12]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["Address"], CellMargins -> {{-20, Inherited}, {2, 2}}, CellGroupingRules -> {"TitleGrouping", 30}, PageBreakBelow -> False, TextAlignment -> Center, LineSpacing -> {1, 1}, CounterAssignments -> {{"Section", 0}, {"Equation", 0}, { "Figure", 0}}, FontSize -> 12, FontSlant -> "Italic"], Cell[ StyleData["Address", "Presentation"], CellMargins -> {{15, 30}, {40, 2}}, FontSize -> 18], Cell[ StyleData["Address", "Printout"], CellMargins -> {{-20, Inherited}, {2, 2}}, FontSize -> 10]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["Abstract"], CellMargins -> {{45, 75}, {Inherited, 30}}, LineSpacing -> {1, 0}], Cell[ StyleData["Abstract", "Presentation"], CellMargins -> {{65, 30}, {8, 25}}, FontSize -> 18], Cell[ StyleData["Abstract", "Printout"], CellMargins -> {{36, 67}, {Inherited, 20}}, Hyphenation -> True, FontSize -> 9.5]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["Reference"], CellMargins -> {{18, 40}, {2, 2}}, CellFrameLabels -> {{ Cell[ TextData[{"[", CounterBox["Reference"], "] "}], "Reference", CellBaseline -> Baseline], None}, {None, None}}, TextJustification -> 1, Hyphenation -> True, LineSpacing -> {1, 1}, CounterIncrements -> "Reference", CounterStyleMenuListing -> Automatic], Cell[ StyleData["Reference", "Presentation"], CellMargins -> {{25, 40}, {2, 2}}, FontSize -> 18], Cell[ StyleData["Reference", "Printout"], CellMargins -> {{14, 16}, {Inherited, 0}}, Hyphenation -> True, FontSize -> 9]}, Open]]}, Open]], Cell[ CellGroupData[{ Cell["Hyperlink Styles", "Section"], Cell[ "The cells below define styles useful for making hypertext \ ButtonBoxes. The \"Hyperlink\" style is for links within the same Notebook, \ or between Notebooks.", "Text"], Cell[ CellGroupData[{ Cell[ StyleData["Hyperlink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, Appearance -> {Automatic, None}, ButtonFunction :> (FrontEndExecute[{ FrontEnd`NotebookLocate[#2]}]& ), ButtonNote -> ButtonData}], Cell[ StyleData["Hyperlink", "Presentation"], FontSize -> 16], Cell[ StyleData["Hyperlink", "Condensed"], FontSize -> 11], Cell[ StyleData["Hyperlink", "SlideShow"]], Cell[ StyleData["Hyperlink", "Printout"], FontSize -> 10, FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ "The following styles are for linking automatically to the on-line \ help system.", "Text"], Cell[ CellGroupData[{ Cell[ StyleData["MainBookLink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, Appearance -> {Automatic, None}, ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["MainBook", #]}]& )}], Cell[ StyleData["MainBookLink", "Presentation"], FontSize -> 16], Cell[ StyleData["MainBookLink", "Condensed"], FontSize -> 11], Cell[ StyleData["MainBookLink", "SlideShow"]], Cell[ StyleData["MainBookLink", "Printout"], FontSize -> 10, FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["AddOnsLink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontFamily -> "Courier", FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, Appearance -> {Automatic, None}, ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["AddOns", #]}]& )}], Cell[ StyleData["AddOnsLink", "Presentation"], FontSize -> 16], Cell[ StyleData["AddOnsLink", "Condensed"], FontSize -> 11], Cell[ StyleData["AddOnsLink", "SlideShow"]], Cell[ StyleData["AddOnsLink", "Printout"], FontSize -> 10, FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["RefGuideLink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontFamily -> "Courier", FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, Appearance -> {Automatic, None}, ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["RefGuide", #]}]& )}], Cell[ StyleData["RefGuideLink", "Presentation"], FontSize -> 16], Cell[ StyleData["RefGuideLink", "Condensed"], FontSize -> 11], Cell[ StyleData["RefGuideLink", "SlideShow"]], Cell[ StyleData["RefGuideLink", "Printout"], FontSize -> 10, FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["RefGuideLinkText"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, Appearance -> {Automatic, None}, ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["RefGuide", #]}]& )}], Cell[ StyleData["RefGuideLinkText", "Presentation"], FontSize -> 16], Cell[ StyleData["RefGuideLinkText", "Condensed"], FontSize -> 11], Cell[ StyleData["RefGuideLinkText", "SlideShow"]], Cell[ StyleData["RefGuideLinkText", "Printout"], FontSize -> 10, FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["GettingStartedLink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, Appearance -> {Automatic, None}, ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["GettingStarted", #]}]& )}], Cell[ StyleData["GettingStartedLink", "Presentation"], FontSize -> 16], Cell[ StyleData["GettingStartedLink", "Condensed"], FontSize -> 11], Cell[ StyleData["GettingStartedLink", "SlideShow"]], Cell[ StyleData["GettingStartedLink", "Printout"], FontSize -> 10, FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["DemosLink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, Appearance -> {Automatic, None}, ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["Demos", #]}]& )}], Cell[ StyleData["DemosLink", "SlideShow"]], Cell[ StyleData["DemosLink", "Printout"], FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["TourLink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, Appearance -> {Automatic, None}, ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["Tour", #]}]& )}], Cell[ StyleData["TourLink", "SlideShow"]], Cell[ StyleData["TourLink", "Printout"], FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["OtherInformationLink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, Appearance -> {Automatic, None}, ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["OtherInformation", #]}]& )}], Cell[ StyleData["OtherInformationLink", "Presentation"], FontSize -> 16], Cell[ StyleData["OtherInformationLink", "Condensed"], FontSize -> 11], Cell[ StyleData["OtherInformationLink", "SlideShow"]], Cell[ StyleData["OtherInformationLink", "Printout"], FontSize -> 10, FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["MasterIndexLink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontColor -> RGBColor[0.269993, 0.308507, 0.6], ButtonBoxOptions -> { Active -> True, Appearance -> {Automatic, None}, ButtonFunction :> (FrontEndExecute[{ FrontEnd`HelpBrowserLookup["MasterIndex", #]}]& )}], Cell[ StyleData["MasterIndexLink", "SlideShow"]], Cell[ StyleData["MasterIndexLink", "Printout"], FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell["Palette Styles", "Section"], Cell[ "The cells below define styles that define standard ButtonFunctions, \ for use in palette buttons.", "Text"], Cell[ StyleData["Paste"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, ButtonBoxOptions -> {ButtonFunction :> (FrontEndExecute[{ FrontEnd`NotebookApply[ FrontEnd`InputNotebook[], #, After]}]& )}], Cell[ StyleData["Evaluate"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, ButtonBoxOptions -> {ButtonFunction :> (FrontEndExecute[{ FrontEnd`NotebookApply[ FrontEnd`InputNotebook[], #, All], FrontEnd`SelectionEvaluate[ FrontEnd`InputNotebook[], All]}]& )}], Cell[ StyleData["EvaluateCell"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, ButtonBoxOptions -> {ButtonFunction :> (FrontEndExecute[{ FrontEnd`NotebookApply[ FrontEnd`InputNotebook[], #, All], FrontEnd`SelectionMove[ FrontEnd`InputNotebook[], All, Cell, 1], FrontEnd`SelectionEvaluateCreateCell[ FrontEnd`InputNotebook[], All]}]& )}], Cell[ StyleData["CopyEvaluate"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, ButtonBoxOptions -> {ButtonFunction :> (FrontEndExecute[{ FrontEnd`SelectionCreateCell[ FrontEnd`InputNotebook[], All], FrontEnd`NotebookApply[ FrontEnd`InputNotebook[], #, All], FrontEnd`SelectionEvaluate[ FrontEnd`InputNotebook[], All]}]& )}], Cell[ StyleData["CopyEvaluateCell"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, ButtonBoxOptions -> {ButtonFunction :> (FrontEndExecute[{ FrontEnd`SelectionCreateCell[ FrontEnd`InputNotebook[], All], FrontEnd`NotebookApply[ FrontEnd`InputNotebook[], #, All], FrontEnd`SelectionEvaluateCreateCell[ FrontEnd`InputNotebook[], All]}]& )}]}, Closed]], Cell[ CellGroupData[{ Cell["Slide Show Styles", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["SlideShowNavigationBar"], Editable -> False, CellFrame -> True, CellMargins -> {{0, 0}, {3, 3}}, CellElementSpacings -> {"CellMinHeight" -> 0.8125}, CellGroupingRules -> {"SectionGrouping", 30}, CellFrameMargins -> False, CellFrameColor -> GrayLevel[1], CellFrameLabelMargins -> False, TextAlignment -> Center, CounterIncrements -> "SlideShowNavigationBar", StyleMenuListing -> None, FontSize -> 10, Magnification -> 1, Background -> GrayLevel[0.8], GridBoxOptions -> { BaselinePosition -> Center, GridBoxAlignment -> { "Columns" -> { Center, Center, Center, Center, Center, Center, Right, { Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxItemSize -> { "Columns" -> {3.5, 3.5, 3.5, 3.5, 13, 5, {4}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, "RowsIndexed" -> {}}, GridBoxSpacings -> {"Columns" -> { Offset[0.27999999999999997`], { Offset[0.]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.]}, Offset[0.2]}, "RowsIndexed" -> {}}}], Cell[ StyleData["SlideShowNavigationBar", "Presentation"]], Cell[ StyleData["SlideShowNavigationBar", "SlideShow"], Deletable -> False, ShowCellBracket -> False, CellMargins -> {{-1, -1}, {-1, -1}}, PageBreakAbove -> True, CellFrameMargins -> {{1, 1}, {0, 0}}], Cell[ StyleData["SlideShowNavigationBar", "Printout"], CellMargins -> {{18, 4}, {4, 4}}, LineSpacing -> {1, 3}, FontSize -> 10]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["SlideShowSection"], CellFrame -> {{0, 0}, {0, 0.5}}, CellMargins -> {{0, 0}, {10, 0}}, CellGroupingRules -> {"SectionGrouping", 40}, PageBreakBelow -> False, CellFrameMargins -> {{12, 4}, {6, 12}}, InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, CounterIncrements -> "Section", CounterAssignments -> {{"Subsection", 0}, {"Subsubsection", 0}}, StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 18, FontWeight -> "Plain", FontColor -> GrayLevel[1], Background -> RGBColor[0.408011, 0.440726, 0.8]], Cell[ StyleData["SlideShowSection", "Presentation"], CellFrameMargins -> {{18, 10}, {10, 18}}, FontSize -> 27], Cell[ StyleData["SlideShowSection", "SlideShow"], ShowCellBracket -> False, PageBreakAbove -> True], Cell[ StyleData["SlideShowSection", "Printout"], CellMargins -> {{18, 30}, {0, 30}}, CellFrameMargins -> 5, FontSize -> 14]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["SlideHyperlink"], StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontSize -> 26, FontColor -> GrayLevel[0.400015], ButtonBoxOptions -> { Active -> True, ButtonFunction :> (FrontEndExecute[{ FrontEnd`NotebookLocate[#2]}]& ), ButtonMargins -> 0.5, ButtonMinHeight -> 0.85, ButtonNote -> None}], Cell[ StyleData["SlideHyperlink", "Presentation"], CellMargins -> {{10, 10}, {10, 12}}, FontSize -> 36], Cell[ StyleData["SlideHyperlink", "SlideShow"], FontSize -> 26], Cell[ StyleData["SlideHyperlink", "Printout"], FontSize -> 10, FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["SlideTOCLink"], CellMargins -> {{24, Inherited}, {Inherited, Inherited}}, StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic, FontFamily -> "Helvetica", ButtonBoxOptions -> { Active -> True, ButtonFunction :> (FrontEndExecute[{ FrontEnd`NotebookLocate[#2]}]& ), ButtonMargins -> 1.5, ButtonNote -> ButtonData}], Cell[ StyleData["SlideTOCLink", "Presentation"], CellMargins -> {{35, 10}, {15, 12}}, FontSize -> 18], Cell[ StyleData["SlideTOCLink", "SlideShow"], FontSize -> 12], Cell[ StyleData["SlideTOCLink", "Printout"], FontVariations -> {"Underline" -> False}, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["SlideTOC"], CellDingbat -> "\[Bullet]", CellMargins -> {{18, Inherited}, {Inherited, Inherited}}, StyleMenuListing -> None, FontFamily -> "Helvetica"], Cell[ StyleData["SlideTOC", "Presentation"], CellMargins -> {{25, 10}, {10, 10}}, FontSize -> 18], Cell[ StyleData["SlideTOC", "SlideShow"], FontSize -> 14], Cell[ StyleData["SlideTOC", "Printout"], FontSize -> 10, FontColor -> GrayLevel[0]]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Automatic Numbering", "Section"], Cell[ "The following styles are useful for numbered equations, figures, \ etc. They automatically give the cell a FrameLabel containing a reference to \ a particular counter, and also increment that counter.", "Text"], Cell[ CellGroupData[{ Cell[ StyleData["NumberedEquation"], CellMargins -> {{55, 10}, {0, 10}}, CellFrameLabels -> {{None, Cell[ TextData[{"(", CounterBox["NumberedEquation"], ")"}]]}, {None, None}}, DefaultFormatType -> DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, CounterIncrements -> "NumberedEquation", FormatTypeAutoConvert -> False], Cell[ StyleData["NumberedEquation", "Presentation"], CellMargins -> {{80, 10}, {0, 20}}, FontSize -> 18], Cell[ StyleData["NumberedEquation", "Printout"], CellMargins -> {{55, 55}, {0, 10}}, FontSize -> 10]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["NumberedFigure"], CellMargins -> {{55, 145}, {2, 10}}, CellHorizontalScrolling -> True, CellFrameLabels -> {{None, None}, { Cell[ TextData[{"Figure ", CounterBox["NumberedFigure"]}], FontWeight -> "Bold"], None}}, CounterIncrements -> "NumberedFigure", FormatTypeAutoConvert -> False], Cell[ StyleData["NumberedFigure", "Presentation"], CellMargins -> {{80, 10}, {0, 20}}, FontSize -> 18], Cell[ StyleData["NumberedFigure", "Printout"], FontSize -> 10]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["NumberedTable"], CellMargins -> {{55, 145}, {2, 10}}, CellFrameLabels -> {{None, None}, { Cell[ TextData[{"Table ", CounterBox["NumberedTable"]}], FontWeight -> "Bold"], None}}, TextAlignment -> Center, CounterIncrements -> "NumberedTable", FormatTypeAutoConvert -> False], Cell[ StyleData["NumberedTable", "Presentation"], CellMargins -> {{80, 10}, {0, 20}}, FontSize -> 18], Cell[ StyleData["NumberedTable", "Printout"], CellMargins -> {{18, Inherited}, {Inherited, Inherited}}, FontSize -> 10]}, Closed]]}, Open]], Cell[ CellGroupData[{ Cell["Formulas and Programming", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["DisplayFormula"], CellMargins -> {{55, 10}, {2, 10}}, CellHorizontalScrolling -> True, DefaultFormatType -> DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, LanguageCategory -> "Formula", ScriptLevel -> 0, SingleLetterItalics -> True, UnderoverscriptBoxOptions -> {LimitsPositioning -> True}], Cell[ StyleData["DisplayFormula", "Presentation"], CellMargins -> {{80, 10}, {5, 25}}, FontSize -> 18], Cell[ StyleData["DisplayFormula", "Printout"], FontSize -> 10]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["ChemicalFormula"], CellMargins -> {{55, 10}, {2, 10}}, DefaultFormatType -> DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, LanguageCategory -> "Formula", AutoSpacing -> False, ScriptBaselineShifts -> {0.6, Automatic}, ScriptLevel -> 1, SingleLetterItalics -> False, ZeroWidthTimes -> True], Cell[ StyleData["ChemicalFormula", "Presentation"], CellMargins -> {{80, 10}, {5, 15}}, FontSize -> 18], Cell[ StyleData["ChemicalFormula", "Printout"], FontSize -> 10]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Program"], CellMargins -> {{18, 10}, {Inherited, 6}}, Hyphenation -> False, LanguageCategory -> "Formula", FontFamily -> "Courier"], Cell[ StyleData["Program", "Presentation"], CellMargins -> {{25, 10}, {8, 20}}, FontSize -> 16], Cell[ StyleData["Program", "Printout"], CellMargins -> {{18, 30}, {Inherited, 4}}, FontSize -> 9.5]}, Closed]]}, Closed]]}, Open]]}, Visible -> False, FrontEndVersion -> "7.0 for Linux x86 (64-bit) (February 25, 2009)", StyleDefinitions -> "Default.nb"] ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{ "Aardal Hurkens Lenstra"->{ Cell[188946, 7997, 392, 11, 39, "Reference", PageBreakAbove->Automatic, CellTags->"Aardal Hurkens Lenstra"]}, "Aardal Lenstra"->{ Cell[189341, 8010, 431, 9, 57, "Reference", PageBreakAbove->Automatic, CellTags->"Aardal Lenstra"]}, "Aardal Weismantel Wolsey"->{ Cell[189775, 8021, 342, 11, 39, "Reference", PageBreakAbove->Automatic, CellTags->"Aardal Weismantel Wolsey"]}, "Beihoffer Nijinhuis Hendry Wagon"->{ Cell[190120, 8034, 296, 10, 39, "Reference", CellTags->"Beihoffer Nijinhuis Hendry Wagon"]}, "Blankenship"->{ Cell[190419, 8046, 279, 10, 39, "Reference", CellTags->"Blankenship"]}, "COIN"->{ Cell[190701, 8058, 170, 5, 39, "Reference", CellTags->"COIN"]}, "Conti Traverso"->{ Cell[190874, 8065, 596, 15, 57, "Reference", CellTags->"Conti Traverso"]}, "Dantzig"->{ Cell[191473, 8082, 276, 8, 39, "Reference", PageBreakAbove->Automatic, CellTags->"Dantzig"]}, "Gomez Gutierrez Ibeas"->{ Cell[191752, 8092, 579, 11, 93, "Reference", PageBreakAbove->Automatic, CellTags->"Gomez Gutierrez Ibeas"]}, "Keith"->{ Cell[192334, 8105, 378, 10, 93, "Reference", PageBreakAbove->Automatic, CellTags->"Keith"]}, "Lenstra Lenstra Lovasz"->{ Cell[192715, 8117, 333, 11, 39, "Reference", PageBreakAbove->Automatic, CellTags->"Lenstra Lenstra Lovasz"]}, "Lichtblau 2003"->{ Cell[193051, 8130, 188, 5, 21, "Reference", PageBreakAbove->Automatic, CellTags->"Lichtblau 2003"]}, "Matthews"->{ Cell[193242, 8137, 197, 5, 21, "Reference", PageBreakAbove->Automatic, CellTags->"Matthews"]}, "Nguyen"->{ Cell[193442, 8144, 464, 10, 93, "Reference", PageBreakAbove->Automatic, CellTags->"Nguyen"]}, "Schnorr Euchner"->{ Cell[193909, 8156, 457, 10, 57, "Reference", PageBreakAbove->Automatic, CellTags->"Schnorr Euchner"]}, "Schrijver"->{ Cell[194369, 8168, 270, 8, 39, "Reference", PageBreakAbove->Automatic, CellTags->"Schrijver"]}, "Wagon Einstein Lichtblau Strzebonski"->{ Cell[194642, 8178, 219, 5, 21, "Reference", PageBreakAbove->Automatic, CellTags->"Wagon Einstein Lichtblau Strzebonski"]}, "Wolfram"->{ Cell[194864, 8185, 197, 7, 21, "Reference", PageBreakAbove->Automatic, CellTags->"Wolfram"]} } *) (*CellTagsIndex CellTagsIndex->{ {"Aardal Hurkens Lenstra", 249555, 9342}, {"Aardal Lenstra", 249694, 9346}, {"Aardal Weismantel Wolsey", 249834, 9350}, {"Beihoffer Nijinhuis Hendry Wagon", 249993, 9354}, {"Blankenship", 250109, 9357}, {"COIN", 250197, 9360}, {"Conti Traverso", 250287, 9363}, {"Dantzig", 250381, 9366}, {"Gomez Gutierrez Ibeas", 250511, 9370}, {"Keith", 250640, 9374}, {"Lenstra Lenstra Lovasz", 250770, 9378}, {"Lichtblau 2003", 250909, 9382}, {"Matthews", 251033, 9386}, {"Nguyen", 251149, 9390}, {"Schnorr Euchner", 251273, 9394}, {"Schrijver", 251400, 9398}, {"Wagon Einstein Lichtblau Strzebonski", 251547, 9402}, {"Wolfram", 251692, 9406} } *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[567, 22, 74, 0, 108, "Title"], Cell[644, 24, 34, 0, 41, "Author"], Cell[681, 26, 86, 5, 75, "Address"], Cell[770, 33, 734, 13, 187, "Abstract"], Cell[1507, 48, 557, 12, 65, "Text"], Cell[CellGroupData[{ Cell[2089, 64, 74, 4, 40, "Section"], Cell[2166, 70, 669, 10, 122, "Text"], Cell[2838, 82, 1161, 26, 29, "Text"], Cell[4002, 110, 240, 8, 29, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[4279, 123, 81, 4, 40, "Section"], Cell[4363, 129, 1876, 54, 164, "Text"], Cell[6242, 185, 563, 9, 103, "Text"], Cell[6808, 196, 752, 15, 105, "Text"], Cell[7563, 213, 1974, 62, 164, "Text"], Cell[9540, 277, 1917, 50, 179, "Text"], Cell[11460, 329, 1213, 20, 181, "Text"], Cell[12676, 351, 752, 17, 107, "Text"], Cell[13431, 370, 792, 15, 124, "Text"], Cell[14226, 387, 276, 9, 29, "Text"], Cell[14505, 398, 563, 11, 72, "Text"], Cell[15071, 411, 337, 9, 46, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[15445, 425, 75, 4, 40, "Section"], Cell[15523, 431, 1687, 51, 143, "Text"], Cell[17213, 484, 760, 19, 105, "Text"], Cell[17976, 505, 1677, 52, 113, "Text"], Cell[19656, 559, 785, 20, 103, "Text"], Cell[20444, 581, 445, 13, 46, "Text"], Cell[20892, 596, 436, 16, 28, "DisplayFormula"], Cell[21331, 614, 357, 15, 27, "Text"], Cell[21691, 631, 1520, 47, 124, "Text"], Cell[23214, 680, 2106, 60, 160, "Text"], Cell[25323, 742, 1923, 55, 183, "Text"], Cell[27249, 799, 341, 6, 58, "Text"], Cell[27593, 807, 194, 4, 42, "Text"], Cell[27790, 813, 6935, 137, 266, "Output"], Cell[34728, 952, 1232, 27, 134, "Text"], Cell[35963, 981, 356, 6, 58, "Text"], Cell[36322, 989, 726, 17, 74, "Text"], Cell[37051, 1008, 1527, 31, 170, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[38615, 1044, 79, 4, 40, "Section"], Cell[38697, 1050, 1260, 32, 106, "Text"], Cell[39960, 1084, 1720, 55, 141, "Text"], Cell[41683, 1141, 1044, 28, 109, "Text"], Cell[42730, 1171, 1712, 47, 141, "Text"], Cell[44445, 1220, 1006, 24, 105, "Text"], Cell[45454, 1246, 1368, 42, 122, "Text"], Cell[46825, 1290, 191, 4, 46, "Text"], Cell[47019, 1296, 187, 4, 46, "Text"], Cell[47209, 1302, 1582, 43, 160, "Text"], Cell[48794, 1347, 1035, 25, 122, "Text"], Cell[49832, 1374, 3916, 253, 103, 3275, 239, "GraphicsData", "PostScript", \ "Graphics"], Cell[53751, 1629, 251, 4, 46, "Text"], Cell[54005, 1635, 96267, 5342, 130, 93601, 5295, "GraphicsData", \ "PostScript", "Graphics"], Cell[150275, 6979, 1139, 19, 183, "Text"], Cell[151417, 7000, 407, 8, 67, "Text"], Cell[151827, 7010, 612, 10, 105, "Text"], Cell[152442, 7022, 431, 8, 67, "Text"], Cell[152876, 7032, 791, 13, 124, "Text"], Cell[153670, 7047, 1499, 31, 204, "Text"], Cell[155172, 7080, 1498, 28, 206, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[156707, 7113, 69, 4, 40, "Section"], Cell[156779, 7119, 859, 12, 141, "Text"], Cell[157641, 7133, 602, 13, 86, "Text"], Cell[158246, 7148, 599, 11, 105, "Text"], Cell[CellGroupData[{ Cell[158870, 7163, 62, 1, 33, "Subsubsection"], Cell[158935, 7166, 614, 11, 105, "Text"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[159598, 7183, 164, 7, 40, "Section"], Cell[159765, 7192, 268, 5, 46, "Text"], Cell[160036, 7199, 2989, 82, 251, "Input"], Cell[163028, 7283, 2466, 69, 295, "Input"], Cell[165497, 7354, 297, 5, 65, "Text"], Cell[165797, 7361, 3450, 98, 273, "Input"], Cell[169250, 7461, 462, 7, 84, "Text"], Cell[169715, 7470, 12514, 313, 814, "Input"], Cell[182232, 7785, 223, 4, 46, "Text"], Cell[182458, 7791, 160, 3, 46, "Text"], Cell[182621, 7796, 1076, 32, 97, "Input"], Cell[183700, 7830, 1226, 35, 141, "Input"], Cell[184929, 7867, 425, 13, 30, "Input"], Cell[185357, 7882, 96, 2, 27, "Text"], Cell[185456, 7886, 751, 23, 75, "Input"], Cell[186210, 7911, 277, 6, 48, "Text"], Cell[186490, 7919, 2344, 67, 273, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[188871, 7991, 72, 4, 40, "Section"], Cell[188946, 7997, 392, 11, 39, "Reference", PageBreakAbove->Automatic, CellTags->"Aardal Hurkens Lenstra"], Cell[189341, 8010, 431, 9, 57, "Reference", PageBreakAbove->Automatic, CellTags->"Aardal Lenstra"], Cell[189775, 8021, 342, 11, 39, "Reference", PageBreakAbove->Automatic, CellTags->"Aardal Weismantel Wolsey"], Cell[190120, 8034, 296, 10, 39, "Reference", CellTags->"Beihoffer Nijinhuis Hendry Wagon"], Cell[190419, 8046, 279, 10, 39, "Reference", CellTags->"Blankenship"], Cell[190701, 8058, 170, 5, 39, "Reference", CellTags->"COIN"], Cell[190874, 8065, 596, 15, 57, "Reference", CellTags->"Conti Traverso"], Cell[191473, 8082, 276, 8, 39, "Reference", PageBreakAbove->Automatic, CellTags->"Dantzig"], Cell[191752, 8092, 579, 11, 93, "Reference", PageBreakAbove->Automatic, CellTags->"Gomez Gutierrez Ibeas"], Cell[192334, 8105, 378, 10, 93, "Reference", PageBreakAbove->Automatic, CellTags->"Keith"], Cell[192715, 8117, 333, 11, 39, "Reference", PageBreakAbove->Automatic, CellTags->"Lenstra Lenstra Lovasz"], Cell[193051, 8130, 188, 5, 21, "Reference", PageBreakAbove->Automatic, CellTags->"Lichtblau 2003"], Cell[193242, 8137, 197, 5, 21, "Reference", PageBreakAbove->Automatic, CellTags->"Matthews"], Cell[193442, 8144, 464, 10, 93, "Reference", PageBreakAbove->Automatic, CellTags->"Nguyen"], Cell[193909, 8156, 457, 10, 57, "Reference", PageBreakAbove->Automatic, CellTags->"Schnorr Euchner"], Cell[194369, 8168, 270, 8, 39, "Reference", PageBreakAbove->Automatic, CellTags->"Schrijver"], Cell[194642, 8178, 219, 5, 21, "Reference", PageBreakAbove->Automatic, CellTags->"Wagon Einstein Lichtblau Strzebonski"], Cell[194864, 8185, 197, 7, 21, "Reference", PageBreakAbove->Automatic, CellTags->"Wolfram"] }, Open ]] }, Open ]] } ] *) (* End of internal cache information *)