Clustering Techniques for Databases of CAD Models
Transcript of Clustering Techniques for Databases of CAD Models
������������ ���� ��������� ���������������� !�" $#� %���&�'��)(*� + �-,�����
.0/21436587:9;9=<>7�?A@CBEDEF-?AG8D-HI/;9J9;/K?MLONQPSRT7:U�9;/
V�7:3658G8/;3W?A9XRY7WZCB�[\1T]�^`_a.�N`bc_edgf:_edgf]h7WZi?A[a14L�7WGj1YBAk".l?M1m587WLn?M14/J3WoY?AGgD�NpB�L�Z8qg1m7W[rbE3:/;7WGg3W7
]h[m7tsE7:9X^rG8/2u�7W[\om/21eF<v58/;9;?AD87:9;Z858/;?gwE<yxzf|{gf|dM}
~Aq8G87%�Ad�dEf
Clustering Techniques for Databases of CAD Models
October 15, 2001
Abstract
Computer-Aided Design data and Solid Models are of immense importance across the full spectrumof engineering disciplines. Current industrial estimates point to the existence of over 30 billion CADmodels in the world, with increasing numbers of them including 3D solid models. While the databaseand data mining communities have made great strides in management of image, audio and video media,little work exists on how to perform engineering, content-based mining of CAD data and solid models.
CAD data, and the engineering consumers of CAD data, have greatly different needs and require-ments from traditional database multimedia: large, individual database elements; multi-disciplinarycomponents (mechanical, electrical, etc.) with unique access critera; and the lack of an accepted setof readily identifiable features that can be used for model indexing and clustering.
This paper presents our approach to perform similarity-based clustering on large databases of solidmodels of mechanical CAD designs. A publicly available source of solid models is the National DesignRepository (http://www.designrepository.org), which contains over 55,000 publicly avail-able solid models from many different engineering disciplines. It is this repository which we test ourtechniques against. We create a mapping of a solid model’s boundary representation and engineeringattributes into Model Signature Graphs (MSG). From the MSG’s, we create an Invariant Topology Vec-tor (ITV) which captures shape and engineering properties of the CAD models. We use a �-clusteringalgorithm to group the models and provide some of our empirical results to illustrate the approach. Webelieve that our methodology can form the basis for adapting data mining technquies to large engineeringdatabases and building tools for handling 3D solid models as database media.
1 Introduction
Computer-Aided Design (CAD) data and Solid Models play an important role in the engineering disciplines.There are an estimated 30 billion cad models existing in the world with ever increasing numbers of thembeing 3D solid models. The database and data mining communities have made great strides in the manage-ment of image, audio and video media, but precious little work has been done on how to store, retrieve, andcompare CAD data and solid models.
Storing CAD data and solid models in multimedia databases have vastly different requirements fromthe traditional audio/visual media. The database will contain large individual elements, components from avariety of disciplines each with unique access criteria, and a general lack of consensus on what features canbe used for indexing and clustering of these models.
In this paper, we present our approach to performing clustering on large databases of solid models andmechanical CAD designs. A publicly available source of solid models is the National Design Repository(http://www.designrepository.org), which contains over 55,000 publicly available solid mod-els from many different engineering disciplines. It is this repository which we test our techniques against.
1
Several models from the repository are depicted in figure 1. We describe the process by which we encodethe models into Model Signature Graphs (MSG) from which we create Invariant Topology Vectors (ITV).Finally, we show how a simple �-clustering technique can be used to group the models and provide empir-ical results to illustrate the approach. We believe our approach can form the basis for adapting data miningtechniques to large engineering databases and building tools for handling 3d solid models as database media.
This paper is organized as follows: Section 2 provides a brief overview of the relevant backgroundliterature from engineering design, modeling and databases communities. Section 3 introduces our technicalapproach to mapping solid models to MSGs, transforming the MSGs to ITVs, and �-clustering the ITVs.Section 4 presents some of our experimental results with the National Design Repository. Lastly, Section 5gives our conclusions and discusses our research contributions and areas for future work.
(a) Machined Part (83KB) (b) ANC101 BenchmarkPart (75KB)
(c) Sheet Metal Part(44KB)
(d) Cast CompressorHousing (637KB)
Figure 1: A few example 3D solid models from the Design Repository; (a), (b), and (c) are wireframerepresentations while (d) is a rendered representation.
2 Background and Related Work
The scope of our work draws together several areas of study, solid modeling and CAD, engineering databases,metric spaces, graph theory, and data clustering. Section 2.1 begins with a discussion of the types of tech-niques used to represent CAD data and solid models. In section 2.2 we describe various techniques in usefor retrieval of CAD data from databases. We define what a metric space is in Section 3.3, and finally discussdatabase clustering in Section 2.3.
2.1 Solid Modeling and Computer-Aided Design
There are three broad schemes for representation of solid models [?, ?]:
1. Decomposition approaches model a solid as collections of connected primitive objects. Data struc-tures used in this type of representation include quad-trees and oct-trees [?].
2. Constructive approaches model a solid as a combination of primitive solid objects. A commonapproach is constructive solid geometry (CSG), which represents a solid as a boolean expression on a
2
BODY SHELL FACE COEDGE VERTEX
LUMP SUBSHELL LOOP EDGE WIRE
CURVE SURFACE
POINT PCURVE TRANSFORM
ELLIPSE SPHERE CONE SPLINE
STRAIGHT INTCURVE PLANE TORUS
ENTITY
Topology Geometry
Figure 2: The distinction between geometric and topological information within BRep used by the ACISSolid Modeler [?].
set of primitive solids.
3. Boundary-based approaches model a solid using a data structure that represents the geometry andtopology of its bounding faces. Recently, the boundary-representation (BRep) approach has becomethe representation of choice in solid modeling in large part due to the flexibility and power madeavailable to developers.
A BRep solid model creates a unique and unambiguous representation of the exact shape of an object.BReps have become the dominant representation schema for modern solid modelers used in mechanicaldesign. They are used for engineering analysis, simulation, collision detection, animation and manufactur-ing planning. Data formats used by other CAD industries, such as Architecture/Engineering/Construction(AEC) industries, are often surface or wireframe models—similar to BRep, but they are not required tostore a topologically bounded solid entity, and in the case of a wireframe model only the edges and theirconnectivity are stored.
On the other hand, a BRep usually consists of a graphical structure that models an entity’s topology.Connections between nodes in the BRep graph represent connections between topological components ofthe entity’s boundary. These topology nodes contain references to their underlying geometric entities; forexample, a face of a solid is a topological entity (represented as a collection of bounding edges) that has asurface associated with it. Figure 2 shows the distinction between geometric and topological informationfrom the ACIS Solid Modeling Kernel.
One of the most popular BRep structure is the winged-edge representation [?]. For more information onboundary representation data structures, interested readers are referred to [?, ?, ?, ?].
BReps and other CAD representations are distinctly different from shape models developed by the com-puter vision community in several important ways. Vision-based representations, such as super quadricsand deformable shape models, are not designed for exact modeling of shapes—rather they are employed toreconstruct shapes based on approximate data taken from sensors and cameras. These approxmiated shapescan be used for a basis of comparison among 3D objects, however such comparisons are limited to analysisof geometric moments and gross shape properties. Hence, they are not directly suitable for use in answeringthe kinds of interrogations that design and manufacturing engineers wish to pose about CAD models.
3
2.2 Engineering Databases
In the 2D shape matching and image retrieval literature, the indexing and query process follows one of fourcommon approaches:
1. A Textual query based on keywords stored for each image in a database.
2. A query by example uses similarity measures derived off a set of query images provided as input.
3. Query by sketch looks for image segments matching the sketched profile.
4. Iconic queries use templates representing important aspects of the desired image to identify imageswith similar features.
Methods (2-4) employ image processing and computer vision techniques to identify relevant features(e.g., sunrises, people, trees, etc) in 2D images (i.e., GIF, JPEG, etc).
Techniques from computer vision and 2D image retrieval do not directly apply to 3D solid models forseveral reasons of which we will address the three main ones. First, when we are using solid models, weare dealing with an explicit and exact representation of the 3D objects in CAD databases, rather than anapproximate representation generated from sensor data. Shape matching approaches, for example, have hadto develop highly refined model recovery algorithms and techniques to compensate for noisy data.
Second, given a solid model �, minor perturbations in �, creating ��, model can make �� indistinguish-able from �. For example, transformations such as scaling or rotatation can introduce roundoff errors thatexacerbate the problems posed by the inexact nature of floating point arithmetic. Even a simple translationof a model in 3D space by a fixed vector can make models computationally costly to compare—requiring agraph isomorphism check to see if the BRep of � is the same as the BRep of �� with the exception of thelocation and orientation.
Finally, there is no universally acceptable set of features on which model comparisons can be based.Evaluation metrics for solid models depend on the application intent of the engineers using the database.Process engineers may need to query based on manufacturing process features but an industrial designermay need to consider shape aspects of an object. The ill-defined sematics of the engineering design andmanufacturing domain require us create a more flexible methodology for model comparisons which can becustomized to consider the criteria of required by different end users.
2.3 Database Clustering
Agrawal et al. [?] describe clustering as ”...task that seeks to identify homogeneous groups of objects basedon the values of their attributes (dimensions)...”. More formally, Given a set � of data entities, a cluster isroughly defined as a a subset, � , of � such that each of the data entities in � is “similar” or “close to” tothe other data entities in � . In a clustering, � � ���� ��� ��� ���� ���, the elements in �� are more similar toeach other than the elements in ��.
Algorithms that perform these clusterings have been studied extensively in a variety of fields such asbiology, chemistry, and sociology. There is a large taxonomy of clustering techniques that are all suited fordifferent purposes. Two of the most widely used techniques are hierarchical and partitional.
Fasulo [?] describes a popular method of partition clustering called k-clustering. �-clustering takesa set of objects, �, and an integer � and outputs a partition of � into subsets ��, ��, . . . , �� such thatobjects in a cluster are more similar to each other than to objects in different clusters. According to Jain
4
et al [?], the general problem is known to be NP-Hard. Some heuristics in use are the k-means algorithmby MacQueen [?], k-medioid by Kaufman et al [?], and one algorithm by Gonzalez [?] which instead ofminimizing the sum of the partitions, minimizes the maximum inter-cluster distance.
There are a few weaknesses in these methods. They favor spherical clusters, not general shapes anddon’t deal with noise. These weaknesses have been addressed by Agrawal et al [?] and Ester et al [?]. Theseall belong to a class of clustering methods that rely on iterative partitional clustering. It is from this familyof clustering algorithms that our research will be continued and for which a general outline of the steps isdetailed below:
1. Start with initial partition of � clusters: Since � is supplied as a parameter to the algorithm, wecan set up an arbitrary partition of the data into clusters. Generally, better results can be obtained ifthe initial partition is closer to the optimal partition.
2. Updating the Partition: A method for doing this is to find a random cluster with an outlying point,and attempt to swap it into a new cluster if the criterion function is moved closer to the optimalpartition.
3. Compute the new representative objects for each of the clusters: A popular method is to computethe centroid, or mean vector, of the cluster.
4. Repeat 2 and 3 until the optimum value for the criterion function is found.
5. Merge small clusters and split large clusters and remove small, outlying clusters: This is doneto take care of excessively large clusters, empty clusters, and bad data points that may influence theclustering in a negative fashion.
3 Technical Approach
Our goal is to develop techniques to store solid models in a database and perform efficient search andretrieval of these models. In clustering the models, we accomplish two things. We show that the topologicalcharacteristics of solid models can be used as a basis for inexact similarity measures. In addition, wedemonstrate the feasibility of incorporating these techniques in a traditional database setting.
3.1 Problem Formulation
One of the main challenges in comparing solid models is finding a representation of the model in a computerusable data structure. Ideally, we would want this datastructure to approximate the overall structure of themodel as closely as possible while allowing the application of well researched and developed algorithmsto perform similarity comparison. We would further like to encode domain specific features within thisdatastructure to exploit any additional information available.
To this end, we have developed a data structure called a Model Signature Graph (MSG), the generation ofwhich is described in Section 3.2. Using the MSG allows us to view the topology of a model in abstract termsand to encode information about the model itself. It also allows the use of graph properties in clusteringthe models together. We do this by generating a fixed length vector, called an Invariant Topology Vector(ITV), containing the properties we wish to exploit, which allows us to define a metric space for the models.Finally, we cluster the MSGs based on this metric space using a simple �-clustering strategy. The overallstrategy is illustrated in Figure 3.
5
Solid Model Model Signature
Graph
Invariant
Topology
Vector Clustering
Figure 3: An overall view of the transformation from solid model to an Invariant Topology Vector to be usedfor database clustering.
3.2 Model Signature Graphs
We make use of a specialized graph structure, a complex example of which is illustrated in Figure 4, inorder to represent solid models so that we can perform similarity comparisons. This structure, called aModel Signature Graph (MSG), is constructed from the BRep of a solid model in a manner similar to that byWysk et al. [?] and the Attributed Adjacency Graph (AAG) structures used to perform Feature Recognitionfrom solid models [?].
The BRep [?] essentially consists of a set of edges and a set of faces used by the solid modeler to describethe shape of the model in 3-dimensional space. A MSG for a solid model � is defined as a labeled graph, � ����, where each face � � � is represented as a vertex � , with attributes that further describethe qualities of the face in the model. For instance, we record the type of the surface (e.g., flat or curved),the relative size, and other physical attributes of the face with the vertex, including:
1. topological identifier for the face (planar, conical, etc.);
2. underlying geometric representation of the surface, i.e. the type of function describing the surface;
3. surface area, �����, for the face;
4. set of surface normals or aspects for � .
An MSG edge � ��� �� �� � exists whenever two faces ��� �� � � adjacent—i.e., when �� and ��meet at a topological edge � in the BRep. The MSG edge � ��� �� � is attributed with features representingthe type of BRep edge, �, connection that is being used, including:
1. topological identifier for the edge � in the model � ;
2. concavity/convexity of �;
3. underlying geometric representation of the curve of �, i.e. the type of function describing the curve;
4. the length of the curve of �.
A simple example of the encoding of a solid model into a model signature graph is shown in Figure 5.As can be seen by Figure 4 and Figure 5, our representation can be used on a variety of models, regardlessof complexity. In addition, the MSG is unambiguous with respect to a model’s rotation and scale; it is onlydependent on the connection of the faces of the model.
6
(a) Wireframe (b) Hidden Lines Removed
0
1
2
3
4
5
6
7
8
910
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
4849
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
9596
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146147
148
149
150151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203204
205
206
207
208
209
210
211
212
213
214
215216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276 277
278279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399400
401 402
(c) Model Signature Graph
Figure 4: Representations of a Torpedo Motor (768KB) as both a wire solid model and MSG.
3.3 Metric Spaces of Solid Models
Once the the solid models have been transformed into MSGs, we construct a metric space over the dataset.A metric space is a collection of objects with a distance function, ��� ��, known as the metric, whichcomputes the distance between any two elements in the set. The distance function ��� �� must satisfy thefollowing conditions:
��� �� � � �� � � � � Identity��� �� � � � Positivity
��� �� � ��� �� � Symmetry��� �� � ��� �� � ��� �� � Triangle Equality
Clustering techniques such as �-means or �-medioid make use of use of metric distance functions toorganize and examine statistical distributions of data. Metric or near-metric distance functions for solid
7
(a) Wireframe (b) Hidden Lines Removed
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1516
17
18
19
20
21
2223
24
25
2627
28
29
30
31
32
33
343536
37
38
39
40
41
42
43
4445
46
47
48
49
50 51
52
5354
55
56
57
58
59
60
61
62
63
64
65
6667
6869
70
71
72
73
74
75
7677
78
79
80
81
82
83
84
85
86
87
88
89
90
(c) Model Signature Graph
Figure 5: Representations of a Part from Allied Signal as both a wire solid model and MSG.
models have the potential for use in a wide range of applications.In attempting to cluster the models in the database, we must construct such a distance measure that
operates over the space defined by the MSGs and satisfies the requirements for a metric. There is a verygood chance that more than one distance function exists, leading to a number of different metric spaces thatcan be constructed over the same database of models. This will also lead to different clustering results, thequality of which must be examined experimentally.
In order to make use of distance metrics in a practical clustering system, they must be relatively easy tocompute. The algorithmic complexity in computing distance metrics for arbitrarily-formed graph structuresis an open question. We believe that an approximate solution using the ITV will be suitable for clusteringof similar models with eachother and further useful in a database setting for performing similarity basedqueries.
Proven distance metrics for graph similarity fall roughly into the category of edit distance. Given twographs, and � , edit distance is loosely defined as the number of operations needed to transform into � .
8
Bunke [?] and Kubicka [?] show that different forms of edit distance satisfy the criterio for a metric distance.What this means that if ����� ������������ � � then is isomorphic � . The catch is that neither editdistance is polynomial time computable and for large graphs, which are typically generated from solidmodels, the metric is simply unusable in a practical setting. We chose, instead, to use a euclidean distancebetween representations that we construct of the graphs based on their invariant properties and domainspecific knowledge. While there exist examples where the first criterion does not hold for a simple euclideandistance metric, ie: MSGs which have a distance of 0 by our metric are not equal, we have not found otherexamples where the other criteria fail to hold. We therefore feel this is still a usable approximation for adistance function to be used in clustering.
3.4 Invariant Topology Vectors
The eventual aim of our work is to enable indexing and quick retrieval of a large repository of CAD models.Although, a measure such as edit distance provides a proven metric for graph similarity, the cost of runningthe algorithm is much too high for a database that could potentially consist of thousands of designs. Usinggraph invariants, we can form groups, or clusters of potentially isomorphic graphs, or graphs that are closeenough in similarity to satisfy a query. To cluster graphs, we have developed the Invariant Topology Vector(ITV) which fascillitates the grouping of graphs and models by their invariant properties.
Graph Invariants Given a graph , a graph invariant is a property of G, denoted ���, such that if agraph� is isomorphic to , then ��� � ����. A complete set of invariants, ����������� ���������,determines and � up to isomorphism. So if, ���� � ������ � � ���� then is isomorphic to � . Nocomplete set of invariants is known.
A set of graph invariants can still be used to tell if two graphs have the potential to be isomorphic or not,but can not be used to give a definitive answer. In other words, if the invariants of two graphs are different,there is no way the graphs can be isomorphic; if the invariants are all equal, then the graphs may or maynot be isomorphic. However, by choosing to focus distance measurements and similarity assessments ononly those graphs which exhibit similar or equal values in their graph invariants, we believe an approximatesolution can be realized.
The graph invariants that we focus on are directly related to the degree sequence of a graph. The degreesequence, while not the most powerful invariant known, is easily computable, and can be exploited to recovergeneral structural properties of the graph. At this stage, we have not attempted to construct these invariantssuch that they are normalized, so that differences of scale in the number of edges or vertices might skewresults. The following graph invariants were chosen for inclusion in our system:
1. Vertex and Edge Count—Trivially computable graph invariants. Unfortunately, they reveal practi-cally no information about the graph structure, and may be weighted too strongly in the comparisonswe perform, skewing our similarity metrics.
2. Minimum and Maximum Degree—Provide a measurement of the maximum and minimum numberof adjacencies between one face and the other faces in the model.
3. Median and Mode Degree—Provides a measurement that represents statistically the most commonand “average” cardinalities of adjacencies between faces in a model.
4. Diameter – The longest path of edge/face crossings between any two faces in the model.
9
5. Type Histogram – Each model BRep contains a set of faces and edges which have various types andfeatures. The analysis and statistical breakdown of these component types is used to further generatea representation of the model.
We encode a fixed set of invariants as an Invariant Topology Vector (ITV). We use the ITV to determinea “position” for a graph in the metric space relative to other graphs. Graphs with similar values for invariantswill lie in the same region of the metric space.
Using graph invariants helps prune out graphs which have no similarity to a given graph and does notdepend on the specific domain where the technique is applied. However, we would like to be able to tailor itin some fashion to a particular domain to aid in more precise measurements. The type histogram is an initialapproach to incorporating domain specific information into the ITV.
In generating the MSG from the model, we put labels on the vertices and edges. We use these valuesin our ITV to give even finer granularity in our assessment. However, since there are varying numbers ofvertices and edges in the graphs, the labels can not be used directly. The ACIS Solid Modeler from SpatialTechnologies is the modeling system used in our experiments. ACIS has 13 different surface types, and 8different curve types. We modify the definition of the ITV to include 21 additional values. In effect, wecreate a histogram of the number of times particular surface and edge types occur in the model. Thus, theITV is a point in 29 dimensions and when combined with a set of these points, will enable the clustering ofthe points in this metric space. Table 1 lists the graph invariants and type histogram used in generating theITV for the torpedo motor illustrated in Figure 4. The ITV that results from these values is simply the resultafter concatenating the numbers into a single vector:
�� �� �� ��� �� �� � ���� �� � � �� �� �� �� �� �� ��� �� � �� �� �� � �
Graph Invariants Surface Type Counts Edge Type CountsAttribute Value Type # Count Type # CountVertex Count 403 1 231 1 464Edge Count 939 2 0 2 246Degree Max 1 3 0 3 0Degree Min 46 4 0 4 0Degree Mode 2 5 0 5 0Degree Median 4.00 6 0 6 0Degree Std. Deviation 4.15 7 117 7 0Graph Diameter 13 8 0 8 229
9 010 1011 012 013 45
Table 1: Properties in the Invariant Topology Vector for the torpedo motor in figure 4
10
3.5 Clustering Method
Since the goal of this paper is simply to show that clustering based on invariants is a useful means to anend, simple clustering methods have been chosen to illustrate feasibility. Run-time and high cluster qualityare not issues at this point, the primary interest being whether or not the clustering provides suitable resultsfor further research. The clustering method chosen is a simple version of k-means clustering introduced byMacQueen [?].
The algorithm seeks to produce a clustering, � , of � clusters such that an object in a cluster �� ismore similar to the other objects withing the cluster than it is to objects in other clusters.
Representative Vector The representative vector of a cluster, ��, is defined to be the point that residesat the middle of all the points in ��, or the mean of each of the points in the cluster. More formally, if�� � � �� �� � � � � �� is a cluster with � � �� vectors where a vector is �, then the representative vector,�������, of �� is:
������� � � �
�����
�
Square Error The square error, or within cluster variation, is a measure of how close the points are to therepresentative vector of the cluster. The square error is the sum of the squared euclidean distances betweeneach point in �� and its representative vector. The mathematical definition, where � � � � � � �:
��� �
�����
� � � ��������� � � � ��������
Using the square error of a cluster, we can define a measure of the overall quality for a particularclustering, or the total square error.
Total Square Error The total square error of a clustering, � , is defined to be the sum of the square errorsfor each cluster, �� in � . In mathematical terms:
�� �
�������
���
Given this formula, the goal of the algorithm presented is to minimize the total square error for � . Since�-clustering requires a distance function in order to group the objects, we define the distance function weuse to be the euclidean distance given by the formula:
�����!� � ���!� �� �!� �
Where ! and are ITVs representing models in the metric space, we call this distance an �� "�������.
k-clustering algorithm The �-clustering algorithm is based on the algorithm presented by MacQueen [?].The clusters are seeded with an initial set of ITVs, next the rest of the ITVs are placed into clusters accord-ing to the euclidean distance function, finally the clustering is improved by selecting outlying points andattempting to recluster them. The algorithm is presented below in greater detail.
11
1. � ITVs are generated for � MSGs.
2. � clusters are created and seeded with � ITVs.
3. Select an unclustered ITV, �.
4. Find cluster, ��, whose representative object is closest to , and insert into ��.
5. Recalculate the representative vector, �������, for ��.
6. Repeat steps 3-5 until no more uncluster ITVs remain.
7. Select two clusters, �� and ��� with the largest Square Error.
8. Select two ITVs, � from �� and � from ��, furthest from the representative vector.
9. Swap � and � iff the swap will reduce the total square error of the clustering.
10. Repeat steps 6-8 for � iterations.
4 Experimental Results
Initially, we wished to see what kind of distances we could get by simply computing the distance for manydifferent pairs of models. The result of which is illustrated in Figure 6 is a matrix of the distances obtainedfrom the euclidean distances between the ITVs for a selection of the models in the repository. We include ithere to serve as an illustration of the scope of the metric distance.
�������
�����
����
�� �
����
�����
���
�
�� �
�
��
��
�
�����
�!"#�
"�$%�%
$"&%
"
$"&%"
$"&�
��'"��(�
&#�
��)
*��(
(!&���#
(!&���#�
(!&���#�
(!&���#+
��"
��"�
�#!
����#�",
������� ����-�
����� �..�-. ����-�
���� ����-� �%%�-+ ����-�
�� � +..+-� %+��-+ %.�%-% ����-�
���� ��%�-+ +���-� %���-� ����-� ����-�
����� �%%.-% ��++-� ����-� %���-� %���-. ����-�
���� +%��-. ��+%-� ����-+ %���-� �.+�-� �+��-. ����-�
�� �� ��+�-� ���.-+ ��%+-+ %���-� %���-. �.�%-+ ����-� ����-�
�� �� �.��-� ���.-� ���.-. %��.-+ %���-� ���+-+ ����-% ��+�-� ����-�
������ ����-% ���+-. �%��-� �.�.-+ ����-� +�%�-� �+�+-% ����-% +���-� ����-�
�!"#� �++�-. ����-� ��..-� %���-� %��%-� %���-� �+��-� �%��-� �.��-� ����-� ����-�
"�$%�% ���%-� %�%+-� %�+%-� ����-� �+��-� %%%�-. %���-� �.�+-� �.�%-� +���-+ %�.�-% ����-�
$"&% " ���+-% ����-� ����-� ����-% �+.�-. %��.-. �+�%-� %%��-� %�.�-� ���.-� %%%%-% ����-� ����-�
$"&%" ��%.-� ���+-. ����-� ���.-� %��.-+ %���-� �.+.-� ����-� �.+�-� ����-+ ���%-� %+.�-� ���+-. ����-�
$"&� ��..-� ����-� ����-� ����-% %���-� %�%�-% �.��-. ����-� �.��-� ����-� �+.�-� %+�%-% ����-� �%%�-� ����-�
��'"��(� �%+.-� %+��-% %��%-� ���%-+ ����-% %���-� %%�+-� %��%-� %���-� +���-% %�+�-� �++.-� ��%�-� %�%�-� %���-� ����-�
&#� ����-+ ��%%-� ���%-� ���+-� �+.+-� %���-� �+.�-. %���-% %���-� ���+-� %%.�-� ��++-� �%�+-+ ����-+ ��%.-� ���+-. ����-�
��) *� �( �%��-� %��.-� %�.+-. ���%-+ ��.�-� %���-� %%+�-% %�%%-� %���-+ +�%�-� %+��-% �+.�-+ �+%�-+ %��.-� %���-� ��%�-� �+��-� ����-�
(!&���# �.��-. ����-� %���-� %�.�-� ��+�-� �..�-� %.��-� �+�%-. ����-� +���-� ����-� ���.-+ %��%-� %��.-� �.��-� ���%-� %���-� ��.�-� ����-�
(!&���#� ��+.-% �.+�-� ����-� %��%-+ %�+�-% �.�%-� ����-� ����-� ��%�-% ���%-� ����-� %���-% ����-. ��+�-� ����-� %+.�-� �.�+-+ %���-+ ��%%-� ����-�
(!&���#� �%��-% ��+�-� ���.-� ���%-% ���.-� %�+�-� ����-� ��.�-� %���-� ��%�-� ����-� %�.�-� ����-% ��%�-� ��+�-� ��.�-� �+��-� �%��-� %���-� ����-. ����-�
(!&���#+ �++%-% ��.�-. ��++-� %���-� %��%-� �.��-+ �+�+-� �%��-% ����-. ���.-� �%+�-% %�.�-� %���-� ����-% �+�+-� %���-+ %%�+-� %+��-% ����-� ��%�-� ����-% ����-�
��" �%��-� %��.-� %��+-� ����-� ��.�-� %���-� %���-� %%..-� %���-� +%��-� %�.�-� ��.�-� ����-� %�%�-� %���-� ��.�-% ��++-� �++%-� ����-. %+%�-� ����-� %�.�-� ����-�
��"� ����-� ����-+ %���-+ �.��-� ��%�-� �.��-� %�+�-� ����-� ���+-� +��+-� ����-. ����-� %���-% %���-� %���-� ����-� %���-� ����-+ ����-� �.�%-� %���-� ����-� �+�+-� ����-�
�#! ��.%-� ���.-� .�.+-� �.��-+ %����-% �.%�-� ��+.-� .���-� ����-� ��%+-+ .�+�-+ ��.�-+ %�%��-% .���-+ .�.�-� ����-� %�%��-� ����-� ����-� .+��-� %��%�-� .��%-+ ��.%-� ��+�-. ����-�
����#�", ����-� .���-% %����-� %%%��-. %+��+-� %����-� %�%��-� %���.-% %��.%-% ��+.-� %��.�-� %%�.�-� %��%�-% %���+-� %����-� %%��%-� %����-� %%��.-� %���+-� %��+�-% %����-� %��%+-� %%���-� %%���-% +%�%-+ ����-�
Figure 6: Distance matrices for ITV-based distance measures for selected models from the National DesignRepository.
We ran the clustering algorithm for � � ���� � � � ���� and took various measurements dealing with thequality of the clustering. Table 2 lists the size of the clusterings alongside relevant statistical data obtained.Specifically, the things we were looking for were the size of the total square error and the standard deviation
12
k Min Size Max Size Standard Deviation Time (s) ��
1000 1 6524 351.33 36.08 5.89e72000 1 1729 52.29 79.73 1.51e73000 1 1696 38.17 126.29 1.04e74000 1 1648 31.44 175.61 4.01e65000 1 1591 26.91 220.52 2.74e66000 1 1534 23.51 268.35 2.36e67000 1 1486 20.99 303.04 1.74e68000 1 1438 18.93 336.41 1.59e69000 1 1384 17.20 375.55 1.38e610000 1 1330 15.80 403.04 1.30e611000 1 1273 14.51 427.77 1.24e612000 1 1222 13.38 449.15 1.14e613000 1 1174 12.38 468.06 9.52e514000 1 1117 11.37 484.07 8.23e515000 1 1081 10.63 501.99 7.96e516000 1 1042 9.98 512.19 7.73e517000 1 973 9.13 519.05 5.10e518000 1 940 8.54 527.31 4.69e519000 1 895 7.96 530.91 4.59e520000 1 868 7.53 532.86 4.51e5
Table 2: Results on running clustering on models in the repository for various k.
from the median cluster size. We are interested in the total square error, a graph of which is shown inFigure 7(a), since this measurement shows us how good the clustering is and can be used to improve thequality of the clustering. The standard deviation, shown in figure 7(b) of the cluster size measures theuniformity of the size of the clusters. This interests us because if our clustering is good, we should be ableto look at uniformly sized clusters. This is especially important if a clustering technique is to be used as aprecursor to performing a more detailed and refined similarity comparison in response to a query.
While quality of the clustering is important, our main interest lies in the clusters themselves. Sinceobjective similarity tests for solid models are hard to define for this type of application, we used a moresubjective testing methodology. We chose various values of � and selected random clusters from which wepulled random models to compare visually. Some of the results are shown in figure 8.
One model we focused particularly on is the Torpedo Motor shown in Figure 4. This model is complexand unique enough to make finding a similar model a daunting task to do manually. We were interestedin what models might be clustered with it and how closely they looked to eachother visually. We chose� � ���� since for that number of clusters on a relatively small dataset of 40,000 models, the models willtend to find their own clusters. As can be seen from Figure 8(c), the model the Torpedo Motor was eventuallyclustered with is a model of a Compressor and is not too different topologically. In this particular clustering,this cluster had only two parts. The other parts shown in Figure 8 are also very similar to eachother, but arevery simple compared to the two other models.
Visualizing the clustering is a non-trivial task, we decided to represent the clusters as a graph; Fig-
13
(a) Total Square Error. (b) Standard Deviation.
Figure 7: Plots of measures taken from several clustering runs.
ure 9 shows an example of the representation and continues the running example with the Torpedo Motorclustering with the Compressor. The cluster in which the Torpedo Motor appears with the Compressor ishighlighted in Figure 9(c) in red. Each cluster is represented by a connected component in the graph, wherea connected node represents a model in that cluster. The graph does not show the clusters’ relative positionsin the metric space, but rather the graph does help illustrate the relative distribution of the models in theclustering.
5 Conclusions
This paper presented out techniques for clustering solid models to be use in a modern relation database man-agement system. Our contributions are the development of a technique for grouping similar solid modelstogether. Our Model Signature Graph approach can be an effective formalism for topological similarity as-sessment of solid models and enable clustering for data mining of large Design Repositories. Our empiricalresults show that our distance measurement technique, Invariant Topology Vectors, can be used to createsemantically meaningful metric spaces in which solid models can be clustered. We believe this work willbegin to bridge the solid modeling and database communities, enabling new paradigms for interrogation ofsolid models.
Future Work. Currently, we are considering plain solid models. In future, we believe that additionaldomain knowledge can be used to refine our techniques. Information about engineering tolerances, surfacefinishes, constraints and parametrics, etc. all can be used to augment the basic techniques presented here.
Information about the feature locations, dimensions, and orientations have to be exploited fully. Byleveraging some earlier work [?], we hope to incorporate additional feature attribute information into ourdata structures for clustering and eventual comparison and indexing of the solid models in relational databases.
While there is no canonical set of CAD features, numerous feature recognition algorithms have beencreated and systems deployed for indexing models. Most often, current feature recognizers for solid models
14
(a) Two members ofcluster 1000-cluster�-clustering on theDesign Repository.
(b) Two members of the same clus-ter, after performing a 3000-cluster�-clustering on the Design Reposi-tory.
(c) Members of the cluster containing the Torpedo Mo-tor model, after performing a 20000-cluster �-clusteringon the Design Repository.
Figure 8: Examples of figures clustered together.
translate the BRep information into features that are sematically relevant to a particular engineering domain:machining, casting, injection molding, finite element analysis, etc. Our approach can be expanded to includefeature data from an arbitrary set of recognizers—alowing us to store this information in the database anduse it to refine our indexing and clustering methods.
As we noted earlier, techniques from model-based vision and 2D image retrieval are not directly suitablefor use with 3D models, however they may prove useful if combined with the approach we presented in thispaper. For example, gross shape properties or geometric moments may prove to be valuable discriminatingcriteria when examining large datasets of solid models.
With respect to further development of the �� "������� metric, we believe that the attribute lists thatare used in the ITVs may be further refined to eliminate interdependence of attributes, identify discrimi-nating attributes, and allow for more refined clustering. Other graph invariants may also be developed orexploited. Also very important will be the development of a weighting of ITV attributes to optimize similar-ity calculations over particular collections of models, and to minimize the effects of attributes which containlittle information.
Furthermore, we believe that our approach is applicable to other 3D media domains: solid free-form(SFF) fabrication techniques often use Stereolithography (STL) format files; VRML is a common modelingformat for web data; video games, such as Doom and Quake, employ discrete 3D world models. In eachof these cases, there are geometry, topology, shape and sematics which we believe can be used to createdatabase access methods that can store these file formats in a manner to enable meaningful queries.
Finally, we plan to apply our similarity metrics to databases of solid models collected from the NationalDesign Repository [?]. We believe that the metrics will prove to be extremely useful in performing databaseindexing and clustering of the models for knowledge-discovery and data mining (KDD).
15
0
1
2
345 6789
10
11
1213
1415
16
17
18
19
2021
22
23
24
25
26
27
282930 31
3233
34 35 36
37
383940
41
4243
44
45
46
4748
49
50
torpcompressor
5354
5556 57
58
59
60
61
62
6364
65
6667
6869
707172
7374
75
767778
79
80
8182
8384
8586
8788 8990
91
92
93
9495 96
97
98
99
100101
102103
104
105
106107
108109
110111
112
113114
115116
117
118119
120121122
123
124125
126127
128129130
131132
133134135
136137
138
139
140 141
142
143144
145146 147
148
149150 151152
153154
155156157
158159
160161
162163164
165166167
168169170
171
172
173174
175176177178 179
180
181
182
183
184
185186
187
188
189190
191
192
193 194
195
196
197198
199200
201
202
203
204205
206
207208209 210
211212
213214
215216217218
219
220221
222223224225
226227
228229230231
232
233234235
236
237
238
239
240
241
242
243244 245
246247
248249
250251
252253
254255
256
257
258
259260
261 262263
264265
266
267268269
270271
272
273
274275
276
277
278
279280281
282
283284285
286 287
288
289290
291 292293
294
295
296297
298
299
300
301302
303304 305306307308
309
310
311
312313314
315316
317
318319320
321
322323324
325
326
327328
329
330
331332
333334
335336
337338
339
340341
342
343
344345 346
347348
349
350
351
352353
354
355
356
357
358
359
360
361
362
363
364
365
366367368 369370
371
372
373374
375
376
377
378
379
380381
382
383
384
385386
387
388
389
390
391
392
393394395
396
397398
399
400
401
402
403
404
405406
407
408
409
410
411412
413
414415416
417
418419
420
421422
423 424425
426
427428429430
431 432
433434435
436437438
439
440441442443
444445
446
447448449
450451
452453
454
455
456
457458
459
460
461462463
464
465466
467
468469
470
471472
473
474 475
476
477478479
480481 482483
484
485486487488
489
490491
492493
494 495496 497498
499500501502
503
504
505
506 507508
509
510511
512513514 515516
517 518519 520
521
522523524
525
526527528529
530
531532
533534535
536537
538
539540
541
542
543
544
545
546547
548549550
551552
553554555556
557558559
560561 562563
564565
566
567568
569570571
572573574
575576577
578
579580
581
582
583584
585586587588
589590
591
592593
594595596
597
598599
600
601
602
603
604605606607
608
609610
611612
613
614615
616617618
619
620621622
623624625626
627628
629630
631
632
633
634635
636637
638
639640641
642
643644
645646 647
648649650
651652653654
655
656
657658
659
660
661
662
663664665666
667668
669670
671672673
674675676
677678
679
680
681
682
683684
685
686
687
688
689690
691
692 693694
695696697
698699
700
701
702703
704
705706 707
708709
710711
712
713714
715
716
717718
719
720
721
722
723
724
725726
727
728
729
730731
732
733
734735736737738
739
740
741742743744
745 746747
748749
750751
752
753
754
755756757
758
759760761
762
763
764
765
766
767768
769770771
772 773
774
775
776777
778779
780
781
782
783784
785786
787788789
790 791792793 794795
796797
798
799 800
801802
803
804
805
806
807808 809810
811
812
813
814815
816817818
819
820821822
823
824
825 826
827
828829830
831
832833 834835
836
837838839
840
841
842
843
844
845
846847848
849850851852 853854855856
857
858859860
861862
863
864
865
866
867868869870
871872873
874
875876
877878879
880881882883
884
885886887
888889
890
891892893894895
896
897
898
899900
901902903904
905
906
907
908909 910
911912
913
914915
916917
918919920921
922923
924925
926927928
929930931
932933934935
936937938 939
940941942
943944 945946
947 948
949
950951952953 954
955
956957
958959
960961
962 963964
965966
967
968
969970
971
972
973
974975
976
977978
979980981982
983
984985986
987988989990991
992993 994
995996
997998999
1000
100110021003
10041005 100610071008
1009
10101011 1012
1013
10141015
101610171018
1019
10201021
1022
102310241025
10261027
1028
1029
1030
1031
1032103310341035 1036
1037
1038 10391040
1041
1042
1043
10441045
10461047
10481049
1050
1051
10521053
10541055
105610571058
1059
1060
1061 10621063
1064
1065
1066
1067
1068
1069
1070107110721073
1074
107510761077
1078 1079
1080
1081
10821083
1084
10851086108710881089
10901091109210931094
1095
109610971098
109911001101110211031104
1105
1106
1107110811091110
111111121113
1114
11151116
1117
1118
1119
1120
1121
11221123
1124
1125
11261127
11281129
1130
1131
1132
1133
1134
113511361137
11381139
1140
1141
1142
1143
1144
1145
11461147
11481149
115011511152
1153
1154
11551156
1157
1158
1159
1160
11611162
1163 1164
116511661167
11681169
1170
11711172
11731174
1175
11761177
1178117911801181
118211831184
1185
118611871188
118911901191
11921193
1194
1195
11961197
11981199
12001201
1202
12031204 1205
1206
1207
1208
12091210
1211
1212121312141215
1216
1217
12181219
122012211222
12231224
1225
122612271228
122912301231
1232
1233
123412351236
123712381239
124012411242
12431244
1245
1246
1247
12481249
1250
12511252
12531254
1255
1256
1257
125812591260
1261
12621263 12641265
1266 1267
12681269
1270
1271
12721273
12741275
1276
12771278
1279
12801281
1282
1283
12841285
12861287
1288
12891290
129112921293
12941295
1296
1297
12981299
13001301
13021303
13041305 1306
13071308
1309
1310
13111312131313141315
13161317
1318131913201321
13221323
132413251326132713281329
13301331
1332
133313341335
1336
1337
13381339
134013411342
134313441345
13461347134813491350
13511352
13531354
1355
135613571358
135913601361
1362
136313641365
136613671368
13691370
1371
137213731374
137513761377
13781379
1380
13811382
13831384
13851386
13871388
138913901391
13921393
139413951396
139713981399
14001401
14021403140414051406
14071408
140914101411
141214131414
14151416
14171418
14191420
14211422
1423
14241425
1426
14271428
1429143014311432
14331434
14351436
1437
1438 14391440 1441
14421443
1444
1445
14461447
14481449
1450
1451
14521453
1454
1455
145614571458
1459
1460
1461
146214631464
14651466146714681469
1470147114721473
14741475 14761477
1478
1479
1480
14811482
1483
148414851486
1487
1488
148914901491
149214931494
14951496
14971498
14991500
1501
15021503
1504
15051506
15071508
1509
15101511
15121513
1514151515161517
15181519
1520
15211522152315241525
15261527
1528
1529
15301531
1532
1533 15341535
153615371538
1539
1540
154115421543
1544
154515461547
1548
1549
1550
15511552
155315541555
15561557
1558155915601561
15621563156415651566
156715681569
157015711572
15731574
1575
1576
1577
157815791580
1581
1582
158315841585
1586
15871588
15891590
15911592
1593
1594
1595
1596
159715981599
1600
1601
160216031604
16051606
16071608
1609
1610
1611
1612
16131614
16151616
1617
1618
161916201621
1622
16231624
1625
1626
16271628
162916301631
1632
1633
1634
16351636
1637163816391640
16411642
1643
16441645
164616471648
16491650
165116521653
16541655
16561657
1658
165916601661
16621663
16641665
16661667
16681669
16701671
16721673 1674
167516761677
1678
16791680
16811682
16831684
168516861687
16881689
1690
16911692
1693169416951696
1697
16981699
1700
17011702
17031704
17051706
1707
1708
1709
1710
171117121713
17141715
1716
1717171817191720
172117221723
172417251726
1727
17281729
17301731
17321733
17341735
1736173717381739
17401741
17421743 17441745
174617471748
1749
1750
1751
17521753
1754
17551756
175717581759
1760
17611762
1763176417651766
17671768
1769
1770177117721773
1774
1775
1776
17771778
1779
1780
17811782
1783178417851786
17871788
17891790
1791
17921793
1794179517961797
1798
1799
1800
1801
18021803
180418051806
1807
18081809
181018111812
1813
18141815
1816181718181819
182018211822
18231824
18251826
182718281829
1830
1831
1832 18331834
1835
1836
1837
1838
18391840
1841 18421843
1844
1845
1846
1847
1848184918501851
18521853
185418551856
185718581859 1860
186118621863
18641865
18661867
1868
1869
1870187118721873
1874187518761877
1878
1879
1880 1881
1882
188318841885
18861887
18881889
1890
189118921893
18941895
189618971898
189919001901
1902190319041905
1906
190719081909
19101911 1912
1913
1914
19151916
191719181919
1920
19211922
1923
1924
1925
1926
192719281929
1930 1931
1932
1933
1934
19351936
19371938
1939
1940
19411942
1943
1944
19451946
19471948
1949
1950
19511952
1953
19541955
1956
1957
19581959
1960
19611962
19631964
19651966
196719681969
19701971
19721973
19741975
19761977
1978
1979
1980
19811982
1983
19841985
1986
198719881989
1990
19911992
19931994 1995
199619971998
1999
2000
2001
2002
2003
200420052006
20072008
2009
2010
201120122013
2014
2015
20162017201820192020
2021
20222023
2024
202520262027
202820292030
203120322033
2034203520362037
20382039
20402041
2042
2043
20442045
2046
2047 2048
2049
2050 20512052
2053
2054
2055
2056
20572058
2059
20602061
20622063
2064
2065
20662067
2068
20692070
2071
2072
2073 207420752076
2077
2078
20792080
2081
20822083 20842085
2086
2087
20882089
2090
209120922093
209420952096
20972098
2099
210021012102
2103
21042105
2106
2107
21082109
2110211121122113
2114
2115
2116
211721182119
21202121
212221232124
2125
212621272128
2129
2130
21312132
2133213421352136
21372138
21392140
21412142 2143
214421452146
2147
2148
2149
21502151
2152
2153 21542155
215621572158
215921602161
2162 21632164
21652166
2167
21682169
2170
2171
21722173
2174
217521762177
21782179
2180
2181
21822183
21842185
21862187
2188
2189219021912192
2193
2194
2195219621972198
219922002201
2202
2203
22042205
220622072208
220922102211
2212221322142215
221622172218
22192220
2221
222222232224
2225
22262227
2228
222922302231
2232 2233
2234
2235
223622372238
2239
22402241
2242
224322442245
2246
224722482249
2250
22512252225322542255
22562257
22582259
22602261
2262
22632264 22652266
2267
2268
22692270
227122722273
2274
2275
22762277227822792280
2281
2282
22832284
2285
22862287
22882289
2290
229122922293
2294
22952296
2297
2298 2299
2300
2301
230223032304
23052306
23072308 2309
2310
23112312
23132314
2315
2316
23172318
2319
2320
2321
232223232324
2325
232623272328
232923302331
23322333
23342335
2336
233723382339
2340234123422343
23442345
2346
2347 234823492350
2351
235223532354
23552356
23572358
2359
236023612362
2363
2364
23652366
2367
23682369
2370
2371
2372
23732374
2375
23762377
2378
2379
2380
2381
23822383
238423852386238723882389
2390
2391
2392
2393
2394
2395
2396
23972398
23992400
24012402
2403
2404
2405
24062407
2408 2409
2410
241124122413
2414
2415
24162417
2418
2419
2420
24212422
2423
2424
2425 24262427
2428
24292430
2431
2432
2433 24342435
243624372438
24392440
2441
2442
2443
244424452446
2447
2448
2449
2450
2451
2452
2453 2454245524562457
2458
2459
2460
246124622463
2464
24652466
2467
2468
2469
24702471
24722473
2474
24752476
2477
247824792480
2481
248224832484
2485
248624872488
2489
24902491
24922493
2494
2495
24962497
24982499
25002501
2502
250325042505
250625072508
2509
25102511
25122513
2514
2515
25162517
25182519
2520
2521
2522252325242525 252625272528
2529253025312532
25332534
2535
25362537
2538
2539
2540
2541
2542254325442545
25462547
25482549
2550
2551
2552
2553
25542555255625572558
25592560
2561
25622563
256425652566
25672568
2569257025712572
2573257425752576
25772578257925802581
25822583
2584258525862587
25882589
259025912592
2593
25942595
2596
25972598
25992600
26012602
2603
260426052606
26072608
260926102611261226132614
261526162617
2618
2619
2620
2621
26222623
26242625
26262627
26282629
2630
26312632
2633
2634
2635
26362637263826392640
2641264226432644
2645264626472648
26492650
265126522653
2654
2655 2656
26572658
26592660
26612662
26632664266526662667
2668
26692670
26712672
26732674
2675
2676
2677
2678
2679
2680
2681268226832684
268526862687
26882689
2690
2691
26922693 2694
2695
2696
2697
2698269927002701
27022703
2704
27052706
270727082709
2710 27112712
27132714
2715
27162717
2718
27192720
27212722
27232724
27252726
2727 272827292730
27312732273327342735
2736
27372738
27392740
274127422743274427452746
2747274827492750
275127522753
27542755
2756
275727582759
2760
2761
276227632764
27652766
27672768
27692770
2771
2772
27732774
277527762777
27782779
2780278127822783
278427852786
27872788
2789
27902791
2792
2793
2794
2795
27962797
279827992800
2801
28022803
2804
2805
280628072808
28092810
2811
2812
281328142815
2816
2817 28182819
2820
2821
28222823
28242825
28262827
2828
28292830
28312832
2833283428352836
283728382839
2840
2841
28422843
2844
28452846
28472848
28492850
2851
28522853
2854
2855285628572858
28592860
2861
2862
28632864
2865286628672868
2869
2870
28712872
2873
287428752876
287728782879
288028812882
28832884
288528862887
288828892890
2891 289228932894
2895
2896
289728982899 2900
29012902
29032904
2905
2906
2907
2908
290929102911
29122913
29142915
29162917
2918
2919
2920
29212922
29232924
2925292629272928
292929302931
29322933
2934
2935
2936
2937
2938
29392940
294129422943
29442945
2946294729482949
2950
295129522953
2954295529562957
29582959
2960
2961296229632964
2965
2966
2967
29682969
2970
297129722973
2974 29752976
29772978
29792980
2981
29822983
2984
298529862987
29882989
2990299129922993
299429952996
2997
2998
2999300030013002
300330043005
3006
300730083009
301030113012
3013
3014 3015
3016
3017
30183019
302030213022
30233024
3025
3026
30273028
3029
303030313032
303330343035
303630373038
303930403041
3042
3043
30443045
3046304730483049
3050
3051
305230533054
3055
30563057305830593060
3061
30623063
3064
306530663067
30683069
3070
30713072
307330743075
307630773078
30793080
30813082
3083
3084 3085
308630873088
3089
3090
3091
30923093
3094
30953096
3097
3098309931003101
31023103
31043105310631073108
3109
311031113112
31133114
31153116
3117
3118311931203121
3122
31233124 3125
3126
3127
3128
31293130
31313132
31333134
3135
31363137
31383139
31403141
3142
3143
3144
3145314631473148
314931503151
3152
31533154
3155
31563157
3158
31593160
3161
31623163
31643165
316631673168
3169317031713172
31733174
31753176
31773178
31793180
3181318231833184
318531863187
318831893190
3191319231933194
3195319631973198
3199
3200
32013202
320332043205
3206
32073208 32093210
32113212
32133214
3215
3216321732183219
32203221
32223223
32243225
3226
3227
32283229
32303231323232333234
3235
32363237
3238
32393240
3241
3242324332443245
3246
3247
32483249 3250
3251
3252
32533254
3255
3256
325732583259
3260
3261
32623263
3264
3265
32663267
32683269 327032713272
3273
3274 3275
3276
3277
32783279
32803281
3282
32833284
3285
32863287
3288
32893290 32913292
3293
3294
32953296
3297
3298
32993300
3301
3302
33033304
33053306
330733083309
3310
33113312
3313
3314
33153316
3317
33183319
33203321
33223323
33243325
33263327
3328332933303331
33323333333433353336
3337
333833393340
334133423343
33443345
33463347
3348
33493350335133523353
3354
3355
3356335733583359
3360
33613362
336333643365
33663367
336833693370
3371
33723373
33743375
3376
33773378
3379
33803381
3382
33833384
3385
338633873388
3389
3390
3391
339233933394
3395
3396
33973398
33993400 3401
34023403
3404
34053406
34073408
340934103411341234133414
34153416
3417 3418
3419
342034213422
3423
3424
34253426
34273428
3429
34303431
34323433 3434
343534363437
343834393440 3441
3442
34433444344534463447
344834493450
3451345234533454
3455
3456
34573458
3459
3460
3461
3462
346334643465
3466
3467346834693470
3471
3472
3473
34743475347634773478
347934803481
3482348334843485
3486
348734883489
34903491
3492
3493
34943495
3496
3497
349834993500
3501
35023503
35043505
3506
35073508
3509
35103511
35123513
35143515
35163517
3518351935203521
352235233524
35253526
35273528 3529
353035313532
353335343535353635373538
353935403541
3542
35433544
3545354635473548
35493550
35513552
35533554
355535563557
35583559
3560
356135623563
3564
35653566
3567
3568
35693570
3571
3572
35733574
3575
35763577
3578
35793580
35813582
35833584
3585
3586 3587358835893590
3591
3592359335943595
35963597
359835993600
3601
36023603
3604
3605
360636073608
3609
36103611
36123613
3614 3615361636173618 3619
3620362136223623
36243625
3626362736283629
363036313632
3633363436353636
36373638
3639
3640
3641
36423643
3644
3645
36463647
3648
364936503651
3652
3653365436553656
36573658
36593660
36613662
3663
3664
36653666
3667
36683669
36703671
3672
3673
3674
3675
367636773678
3679368036813682
36833684
36853686
3687
3688
36893690
369136923693
369436953696
3697
36983699
3700370137023703
370437053706
3707
37083709
3710
37113712
37133714
3715
3716
3717
3718
37193720
3721
3722
37233724
37253726
3727
37283729
37303731
3732
373337343735 3736
37373738
373937403741
37423743
3744
37453746
3747
3748
3749
3750
3751
37523753
37543755
37563757
3758
37593760
3761
3762
3763
37643765
3766
3767
3768
37693770
37713772
37733774 37753776
3777
37783779
378037813782
37833784
3785
3786
3787
378837893790
3791
3792
379337943795
3796
379737983799
38003801
3802
380338043805
3806
3807
380838093810
3811
3812
38133814
38153816
38173818
38193820
382138223823
3824
38253826
38273828
38293830
38313832
3833
383438353836
38373838
38393840
3841
38423843
384438453846
384738483849
3850
38513852
3853
3854
38553856
3857
3858385938603861
3862
3863
3864 38653866
38673868
386938703871387238733874
387538763877
387838793880
388138823883
3884
3885
38863887388838893890
38913892
3893
38943895
3896
389738983899
3900
3901390239033904
3905
3906390739083909
39103911
39123913
3914
3915
3916
3917
3918
39193920
3921
3922392339243925
39263927
3928
39293930
3931
3932
3933
3934
3935
39363937
393839393940
394139423943
3944
39453946
3947
39483949
3950
3951
3952
3953
39543955
39563957
39583959
3960
3961
3962
396339643965
39663967
3968
396939703971
3972
39733974
39753976
3977
39783979
3980
3981398239833984398539863987
3988
3989399039913992
3993
399439953996
3997
3998
3999
40004001
40024003
4004 4005
4006
400740084009
4010
40114012
40134014
40154016
4017
4018
4019
4020402140224023
402440254026
40274028
4029
4030
403140324033
40344035
40364037
403840394040
40414042
40434044
404540464047
40484049
4050
40514052
4053
4054
405540564057
4058
4059
40604061
40624063
40644065
40664067
4068
4069
4070
40714072
407340744075
4076
4077407840794080
4081
40824083
4084
408540864087
408840894090
4091
4092
4093 4094
40954096
4097
40984099
4100
4101
4102
4103
41044105
4106
4107410841094110
41114112
4113
4114
4115
4116411741184119
4120
4121
412241234124
41254126
4127
41284129
4130
4131
4132
41334134
41354136 4137
41384139
41404141414241434144
41454146
4147
4148
4149
41504151
41524153
4154
4155
41564157
41584159
4160
41614162
4163
4164
4165416641674168
416941704171
4172 4173
4174
41754176
41774178
41794180
4181418241834184418541864187
41884189419041914192
4193
41944195
41964197 41984199
4200
420142024203 42044205
4206
4207
4208
42094210
4211
42124213421442154216
42174218
4219
4220
42214222
42234224
4225
42264227
4228
4229
42304231
4232
4233
4234423542364237
423842394240
42414242
4243
424442454246424742484249
4250
4251
4252
42534254
425542564257
4258
42594260
42614262
42634264
4265426642674268
4269
42704271
42724273
4274427542764277
4278
4279428042814282
428342844285
42864287
428842894290
42914292
4293
42944295429642974298
42994300
4301
4302
43034304
43054306
4307
43084309
43104311431243134314
4315
43164317
43184319
4320
4321
43224323
4324
4325
43264327
432843294330
4331
4332 4333
4334433543364337
433843394340
4341 43424343
434443454346
43474348
4349
435043514352
4353 435443554356
43574358
4359
4360
4361
4362
43634364
4365 4366
43674368
4369
4370
43714372
43734374437543764377
437843794380
4381
4382
43834384
438543864387
4388
4389
4390
43914392439343944395
4396 43974398439944004401
4402
4403
44044405
44064407
4408
440944104411
44124413
44144415
4416441744184419
4420442144224423
44244425
44264427
4428
4429443044314432
4433
44344435
4436
4437
4438
443944404441
44424443444444454446 4447
444844494450
445144524453
4454
4455
4456
4457
4458
44594460
4461
4462
4463
44644465
4466
446744684469447044714472
447344744475
4476
44774478
447944804481
44824483448444854486
448744884489
4490
4491
44924493
449444954496449744984499
45004501
450245034504
45054506
4507
4508
45094510 4511
4512
45134514
45154516
4517
4518
4519
4520
4521
45224523
45244525
4526
45274528
4529 4530
4531
45324533
4534
45354536
45374538
4539
45404541 4542
45434544
4545 454645474548
45494550
4551
4552
4553
4554
4555
4556
4557
4558
45594560
4561
4562
45634564
4565
45664567
4568456945704571
4572
4573
457445754576
4577
45784579
45804581
458245834584458545864587458845894590
4591
459245934594
4595
4596459745984599
46004601
4602
4603
4604
4605 4606
4607
4608
460946104611
461246134614
4615461646174618
461946204621
4622
4623
4624
46254626
4627
4628
46294630
4631
463246334634
46354636
46374638
46394640
4641
4642
46434644
4645
4646
4647
4648
4649465046514652
4653
46544655
4656
4657
4658
46594660
4661466246634664
466546664667
466846694670
4671
4672
4673
4674
46754676
46774678467946804681
4682
4683
4684
4685
4686
46874688468946904691
46924693
469446954696
46974698
4699
4700
470147024703
47044705
4706
470747084709
47104711
4712
4713
4714
4715 4716
471747184719
4720472147224723
4724
4725472647274728
4729
47304731473247334734
4735
4736
4737
473847394740
474147424743474447454746
4747 4748474947504751
4752
47534754 4755
47564757
475847594760
47614762
47634764
4765
4766
476747684769
47704771
4772
47734774
477547764777
47784779
4780
47814782
4783
47844785
47864787
4788
4789
479047914792 4793
479447954796
4797
4798
4799
4800
4801
480248034804480548064807
4808
480948104811
4812
48134814
48154816
4817
481848194820
48214822
48234824
4825
4826
482748284829
483048314832
4833
483448354836483748384839
48404841
4842
4843
4844
4845
484648474848
48494850
48514852
485348544855
48564857
48584859
48604861
4862
4863
48644865
4866
4867
48684869
4870487148724873 4874
4875
4876
4877 4878
4879
4880 48814882
4883
4884
4885 48864887
488848894890
4891
4892
4893
4894
4895 48964897
48984899490049014902
490349044905
490649074908
4909491049114912
49134914
49154916
4917 491849194920
4921492249234924
49254926
4927
4928
4929
49304931
4932
49334934
493549364937
493849394940
4941494249434944
4945
4946
4947494849494950
49514952
4953
495449554956
49574958
49594960
4961496249634964
4965
496649674968
496949704971
497249734974
49754976
4977
497849794980
49814982
49834984
4985
4986 498749884989
4990
4991
49924993
49944995
49964997
4998
4999
500050015002
5003
5004
5005
500650075008
50095010
50115012
50135014
5015
50165017
501850195020
5021502250235024 5025
50265027
50285029503050315032 5033
50345035
50365037 50385039
504050415042
50435044
50455046
504750485049
50505051
5052
505350545055
5056
505750585059
50605061
5062
5063
5064
5065
5066
50675068
50695070
5071
5072 5073
50745075
5076
5077
5078
5079
5080
5081
50825083
5084
50855086
508750885089
50905091
50925093
50945095
5096
5097
5098
5099
5100
5101
5102
51035104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
51175118
51195120
512151225123
51245125
5126
5127
5128
5129
5130
5131
5132
5133
51345135
5136
5137
5138
51395140
5141
5142
5143
5144
51455146
5147
5148
5149
5150
51515152 5153
5154
51555156
5157
5158
51595160
5161
516251635164516551665167
5168
516951705171
5172517351745175
517651775178
5179
51805181
51825183
5184
518551865187
5188
51895190
519151925193
5194
51955196
51975198
519952005201
5202 52035204
52055206
5207
5208
520952105211
5212
5213
5214
52155216
521752185219
5220
52215222
52235224
52255226
52275228522952305231
5232
523352345235
523652375238
52395240
5241
52425243524452455246
5247
52485249
52505251
5252
5253525452555256 5257
5258
525952605261
5262
52635264
526552665267
52685269
5270
5271
52725273
5274
52755276
5277527852795280
5281
52825283
528452855286
5287528852895290
5291529252935294
52955296
5297
5298
5299
53005301
5302
53035304
53055306
53075308
5309
53105311
5312
531353145315 5316
531753185319532053215322
5323532453255326
53275328
53295330
5331533253335334
53355336
5337
5338
53395340
5341
53425343
5344
5345
5346 534753485349
5350
53515352
53535354
5355
5356 535753585359
53605361
536253635364
53655366
5367
536853695370
5371537253735374
5375
5376
537753785379
538053815382
5383
5384
53855386
53875388
538953905391
5392539353945395
53965397
5398539954005401
5402
5403
5404
54055406
54075408
5409
541054115412
5413
5414
54155416
541754185419
5420
5421
54225423
5424
54255426
5427542854295430
54315432
5433
5434
54355436
54375438
54395440
54415442 5443
54445445
5446
54475448
5449
54505451
54525453
5454
5455545654575458
5459
5460
54615462
5463
5464
54655466
5467
5468
54695470
547154725473
547454755476
54775478
5479
5480
54815482
5483
54845485
5486
5487
54885489
54905491
54925493
54945495
549654975498
5499
5500
55015502
5503
55045505
5506
550755085509
5510551155125513
55145515
5516551755185519
5520
5521
5522
552355245525
5526552755285529
55305531
5532
55335534
5535
5536
55375538
55395540
55415542
5543
5544
5545
5546
55475548
55495550
5551
5552
555355545555
55565557
55585559
556055615562
55635564
5565
5566556755685569
5570
557155725573
5574
55755576
5577
55785579
5580
5581558255835584
5585
558655875588
5589559055915592
5593559455955596
55975598
55995600
56015602
5603
56045605
560656075608
5609561056115612
561356145615
5616
5617
56185619
56205621
562256235624
5625
56265627
56285629
56305631
5632
5633
5634
563556365637
5638
563956405641
56425643
5644
5645
5646
56475648
56495650
5651
5652
565356545655
56565657
5658
5659
56605661
5662
56635664
566556665667
566856695670
56715672
567356745675
56765677
5678
56795680
5681568256835684
5685 5686
56875688
5689
5690
5691569256935694
5695
5696
56975698
5699570057015702
5703
5704
57055706
57075708
5709
5710
5711
57125713
5714
5715
5716
5717
5718 5719
57205721
57225723 5724
572557265727
5728
5729
5730573157325733
57345735
57365737
5738
5739
57405741
5742
574357445745
57465747574857495750
5751
57525753
5754
575557565757
57585759
5760 57615762
57635764
5765
57665767
5768576957705771
57725773
5774
5775
5776
5777
5778
5779
5780
57815782
5783
57845785
5786
57875788
578957905791
5792
5793
57945795579657975798
579958005801
58025803
5804
5805580658075808
580958105811
5812 581358145815
5816
58175818 5819
5820
58215822
5823
5824
58255826
582758285829
58305831
58325833
5834
5835
5836
58375838
5839 584058415842
5843
58445845
5846
5847584858495850
5851
585258535854
5855
58565857
5858
58595860
5861
5862
5863 5864
5865586658675868
58695870
58715872
5873 5874
58755876
5877
587858795880
5881
5882
58835884
58855886
5887
588858895890
58915892 5893
5894
58955896
5897
5898
589959005901
5902590359045905
5906
59075908
590959105911
591259135914
5915
5916
59175918
5919
5920
5921
592259235924
59255926
5927
5928592959305931
59325933
5934
593559365937593859395940
5941594259435944
5945
5946
5947
5948
59495950
5951
59525953
59545955
59565957
59585959
5960
5961
59625963
59645965
59665967
5968
5969
5970
5971597259735974
59755976
597759785979
5980
5981598259835984
59855986
59875988
59895990
59915992
5993
5994
5995
59965997
599859996000
60016002
60036004
6005
6006600760086009
60106011
601260136014
60156016
6017 60186019
60206021
6022
6023
602460256026
60276028
6029
60306031
60326033
603460356036 6037
6038
60396040
6041
6042
604360446045
60466047604860496050
605160526053
6054
6055
60566057 6058
6059
6060
6061
60626063 6064
6065
60666067
6068
6069
60706071
6072607360746075
60766077
60786079
6080
6081
60826083
60846085
6086608760886089
60906091 6092
60936094
6095
609660976098
60996100
610161026103
6104
6105 61066107
6108610961106111
6112
611361146115
6116
6117
6118611961206121
612261236124
612561266127
6128
612961306131
6132
61336134
613561366137
6138
6139
614061416142
61436144
6145
6146 6147
6148 614961506151
6152
61536154
61556156
61576158
615961606161
6162
616361646165
6166
6167
61686169 61706171 61726173
6174617561766177
6178
6179
61806181
61826183
6184618561866187
61886189
619061916192
6193
6194
6195 6196
6197
619861996200
6201
62026203
6204
620562066207
6208 6209
621062116212
6213
62146215
62166217
62186219
62206221
62226223
622462256226622762286229
6230623162326233
6234
623562366237
6238
62396240
62416242
6243
6244
6245
6246
624762486249
6250
62516252
6253
6254
6255
62566257
6258
62596260
62616262
626362646265
6266
626762686269
627062716272 6273
6274
6275 62766277
6278
6279
6280
6281
62826283
628462856286 628762886289
62906291
62926293
6294
629562966297
6298
6299
6300
630163026303
6304
63056306
630763086309
631063116312
6313
6314
63156316
6317
63186319
63206321
6322632363246325
6326632763286329
6330
6331
6332
63336334
633563366337
6338
63396340
6341
6342
634363446345
6346 63476348
63496350
6351
63526353
6354
6355
6356
6357
63586359
6360636163626363
6364
6365
63666367
636863696370
63716372
6373
6374
637563766377
6378
6379 63806381
6382
6383
63846385
6386
6387638863896390
6391
6392639363946395
6396
63976398
63996400
6401
640264036404
6405
6406
6407
6408
6409
6410641164126413
64146415
641664176418
6419 6420
64216422
6423
64246425642664276428
6429
643064316432
64336434
6435 643664376438
64396440
6441
6442
644364446445
64466447
644864496450
64516452
64536454
64556456
6457
64586459
6460
646164626463
64646465
646664676468 6469
6470647164726473
647464756476
64776478
6479
6480
64816482
6483648464856486
648764886489649064916492
649364946495649664976498
649965006501
65026503
6504
65056506
6507
65086509
65106511
651265136514651565166517
651865196520652165226523
65246525
6526652765286529
65306531
6532
65336534
6535653665376538
653965406541
65426543
6544
65456546
65476548
65496550
6551
65526553
65546555
6556
6557
6558
6559656065616562
65636564
6565
656665676568
65696570
65716572
6573
6574
6575
6576
6577
6578
65796580
65816582
65836584658565866587
6588
658965906591 659265936594
6595
65966597
6598
659966006601 66026603
66046605
6606
6607
6608
6609
6610
6611
66126613
6614
66156616
6617 6618661966206621
6622
66236624662566266627
6628 66296630
66316632
6633
66346635
6636
6637
66386639
6640
66416642
664366446645
664666476648
6649
66506651
66526653
6654
66556656
66576658
66596660 6661
6662
6663666466656666
6667 6668
666966706671
66726673
6674
66756676
6677
6678
66796680 66816682
668366846685
6686
6687
6688668966906691
6692
66936694
66956696
6697
6698
66996700
67016702 6703
670467056706
6707
6708
670967106711
6712
67136714
67156716
6717
6718
67196720
6721
67226723
672467256726
6727
6728
6729
6730
6731
6732
6733
6734
673567366737
6738
67396740
67416742
6743
6744
674567466747
6748
6749675067516752
67536754
675567566757675867596760
6761
67626763
67646765
6766
6767
6768
676967706771
6772
6773
6774
67756776
67776778
6779
678067816782 6783
6784
67856786
6787
6788
6789
67906791
67926793
6794
67956796
67976798
6799680068016802
680368046805
68066807
6808
68096810
68116812
68136814
6815
68166817
6818
68196820
6821
6822
68236824
682568266827682868296830 6831
68326833
683468356836
683768386839
6840
6841
68426843
68446845
6846
68476848
6849
68506851 6852
6853685468556856
6857685868596860
68616862686368646865
6866
6867
6868
686968706871
68726873687468756876
68776878 6879
68806881
6882
68836884
68856886
688768886889
689068916892
689368946895689668976898
68996900
6901
6902
69036904
69056906690769086909
691069116912
691369146915
6916
6917
6918
6919
692069216922692369246925
692669276928
6929
69306931
69326933 6934
6935
69366937
6938
6939
6940
6941
6942
694369446945
69466947
69486949
6950695169526953
6954
6955
69566957
695869596960
6961
69626963
6964
6965
6966
6967696869696970
6971
6972
6973697469756976
6977
69786979
6980698169826983698469856986
6987
6988
69896990
699169926993
699469956996
6997
6998
6999
700070017002
7003
700470057006
7007
7008700970107011
7012
7013
7014701570167017
70187019
7020702170227023
70247025
70267027
702870297030
70317032
70337034
7035
7036
703770387039
70407041
7042
70437044
7045
7046
704770487049
70507051
7052
70537054705570567057
7058
70597060706170627063
7064
7065
7066
7067
706870697070
70717072
7073707470757076
70777078
707970807081
7082
70837084
708570867087
708870897090
70917092
70937094
70957096
709770987099 7100
7101
7102
71037104710571067107 7108
7109
71107111
7112
71137114
71157116
7117
71187119
71207121
7122
7123
7124
712571267127
71287129
7130
7131713271337134
7135
7136
71377138
713971407141
71427143
7144
7145
7146
7147
714871497150
7151
71527153
7154
71557156
71577158
715971607161
71627163
7164
71657166 71677168716971707171
71727173
7174
71757176
7177717871797180
7181718271837184
7185
71867187
7188
71897190
7191
719271937194
7195
71967197
71987199 7200
72017202
7203
720472057206
7207
7208
7209
7210721172127213
72147215
721672177218
72197220
7221
72227223
72247225
7226
7227
72287229
7230723172327233
72347235723672377238
7239
7240724172427243
7244
7245
7246724772487249
72507251
72527253
72547255
7256
7257
7258725972607261
72627263
7264
726572667267
7268726972707271
7272
7273
7274
727572767277
7278
72797280
7281
72827283
7284
72857286
72877288
72897290
72917292
7293
7294
72957296
7297
729872997300
7301730273037304 7305
73067307
73087309
7310
7311
7312
7313
73147315
731673177318731973207321
73227323
73247325
73267327
73287329
73307331
7332
7333
733473357336
7337
7338 7339
73407341
7342734373447345
734673477348
73497350
7351
7352
7353
73547355
735673577358
73597360
7361
73627363
73647365
7366
73677368
7369
7370
73717372
7373
7374
737573767377
7378
73797380
7381
738273837384
73857386
7387
73887389739073917392
73937394
7395
7396
7397
73987399
7400
740174027403740474057406
740774087409
741074117412
741374147415
7416741774187419
74207421
74227423
74247425
74267427
74287429
7430
7431
743274337434
7435
7436
7437
7438743974407441
7442
744374447445744674477448
7449745074517452
745374547455 7456
74577458
745974607461
7462
74637464
7465
746674677468
7469
7470
747174727473
74747475 74767477
747874797480
7481
7482
7483
74847485
7486
7487
7488
7489
7490
74917492
7493
74947495
74967497
74987499
7500
75017502
7503
7504
7505
750675077508
750975107511
7512
751375147515
7516
75177518
751975207521752275237524
7525
7526
7527
7528
75297530
75317532
753375347535
7536
75377538
7539
7540754175427543
75447545
7546
7547754875497550
75517552
755375547555
7556
7557
75587559
756075617562
75637564
7565
756675677568
75697570
7571
7572
757375747575
7576
7577
75787579
758075817582
75837584
7585
758675877588
7589
7590 75917592
75937594
75957596
7597
75987599
7600
76017602
76037604
76057606
7607
7608
760976107611
76127613
7614
76157616
7617
7618
7619
76207621
7622
762376247625
7626
76277628
7629
7630
7631
76327633
76347635 76367637
7638
7639
7640
7641
7642
7643
7644
764576467647
76487649
7650
765176527653
765476557656
7657
7658
7659 766076617662
7663
7664
766576667667
7668
7669
7670
767176727673
76747675
7676767776787679
7680
76817682
7683
76847685
76867687
76887689
769076917692
76937694
76957696
7697 76987699
7700
77017702
77037704770577067707
770877097710
77117712
771377147715
77167717
771877197720
7721
7722772377247725
7726
7727
772877297730
77317732
77337734
7735
7736
77377738
77397740
7741
774277437744
774577467747
7748
774977507751
7752
77537754 7755
7756 77577758
77597760
7761
7762
7763
77647765
77667767
7768776977707771
77727773
77747775777677777778
7779
778077817782 7783
7784
7785
7786 7787
7788
77897790
7791
7792
7793
77947795779677977798779978007801
780278037804
780578067807
78087809
7810
7811
7812
7813
7814
78157816
781778187819782078217822
78237824
782578267827
7828
7829
7830
78317832
7833
78347835
7836
783778387839
78407841
7842
78437844784578467847
784878497850
78517852
78537854
78557856
7857
7858 7859
7860
7861786278637864
786578667867
7868
78697870
78717872
7873
78747875
7876
7877
7878
78797880
7881
7882
788378847885
7886
7887
7888
7889
78907891
7892
789378947895
7896
7897
7898
78997900790179027903
7904790579067907
79087909
791079117912
7913
7914
7915
79167917
79187919
792079217922
792379247925
79267927
7928
792979307931
7932
79337934
7935
793679377938
7939794079417942
7943
7944
7945
7946
7947
7948
79497950
7951 7952795379547955
7956
79577958
7959
79607961
7962
7963
7964
796579667967
7968
7969
7970 7971
797279737974
7975
79767977
797879797980
7981 7982
7983
798479857986
7987
7988
7989
7990
79917992
799379947995
799679977998
7999
800080018002
8003800480058006
8007
8008
80098010
8011
80128013801480158016
80178018
801980208021
8022
802380248025
8026
8027
802880298030
80318032 8033
8034
803580368037
8038 803980408041
8042
8043
8044
8045
804680478048
80498050
805180528053
8054
80558056
8057
8058
80598060
80618062
80638064
80658066
8067
80688069
80708071
8072807380748075
807680778078
8079
80808081
808280838084
8085 80868087
808880898090
809180928093809480958096
80978098
8099
8100
81018102 8103
810481058106
8107
810881098110
8111811281138114
81158116
8117811881198120
8121
81228123
81248125
8126
81278128 8129
8130
8131813281338134
8135
8136
813781388139
81408141
8142814381448145
8146
814781488149
815081518152
8153
815481558156
8157
815881598160 81618162
816381648165
8166816781688169
81708171
81728173
8174
81758176
8177817881798180
8181
818281838184
8185
81868187
8188
81898190
81918192
81938194
8195
8196
819781988199
8200
8201
820282038204
820582068207820882098210
821182128213
82148215
8216
82178218
821982208221
8222
82238224822582268227
8228
82298230
8231
8232
823382348235
82368237
823882398240 8241
8242
8243824482458246
82478248
8249
82508251
82528253
8254
8255825682578258
8259
8260
8261
82628263
826482658266
8267
82688269
82708271 8272827382748275
827682778278
82798280
8281
8282828382848285
82868287828882898290
8291
82928293
82948295
82968297
82988299830083018302
8303
830483058306
830783088309
8310
8311
8312
831383148315
8316
8317831883198320
8321
8322
832383248325
8326 8327
8328
8329
83308331
8332
8333
83348335833683378338
833983408341
83428343
83448345
8346
8347834883498350
8351
8352
8353
835483558356835783588359
8360
836183628363
8364
8365
8366836783688369
83708371 8372
837383748375
8376
837783788379
8380
83818382
8383
83848385 83868387
8388
8389839083918392
8393
83948395
8396
839783988399
84008401
84028403
840484058406
840784088409
84108411
84128413 8414
8415
8416
84178418
84198420
8421
8422
8423
84248425
84268427
84288429
84308431
843284338434
84358436
8437
8438
8439
8440
84418442
8443
8444
8445
84468447844884498450
8451
845284538454
8455
8456
8457
8458
8459
846084618462
8463
8464
8465
84668467
846884698470
84718472
8473
84748475
8476
8477
84788479
848084818482
8483
8484
8485
84868487
8488
848984908491
84928493 8494
849584968497
84988499
8500850185028503
850485058506
8507
850885098510
8511
8512
8513
85148515
8516851785188519852085218522
8523
8524852585268527
8528
85298530
8531
8532
8533
85348535
8536
853785388539
854085418542
8543
85448545
854685478548
8549
8550
8551
8552
8553
85548555855685578558
8559 85608561
856285638564
85658566
8567
8568
8569
85708571
85728573
8574857585768577
85788579
85808581
8582
8583
8584
8585
858685878588
8589
85908591
8592
8593
85948595
859685978598
85998600
8601
8602
860386048605
8606
860786088609
861086118612
8613
8614
86158616
8617
8618
8619
8620
8621862286238624
862586268627
8628
8629
8630
8631 8632
86338634
86358636 8637
86388639
8640 86418642
8643864486458646
86478648
86498650
8651865286538654
865586568657
865886598660
866186628663866486658666
866786688669
8670867186728673
8674
8675
8676 8677
8678
8679
8680
8681
86828683
868486858686
8687
8688
86898690
86918692
8693
8694 8695869686978698
86998700
8701870287038704
8705
8706
870787088709
8710871187128713
87148715
8716
8717
87188719
8720
872187228723
87248725
872687278728
872987308731
87328733
8734
8735873687378738
87398740874187428743
8744
8745
8746
8747
8748
87498750
8751
87528753
8754
8755
8756
8757 87588759
8760
8761
876287638764
8765
8766876787688769
87708771
87728773
8774
87758776
8777877887798780
87818782
8783
8784
8785
878687878788878987908791
87928793879487958796
87978798
8799880088018802
8803
88048805
88068807
8808
8809
8810
88118812
8813
8814
8815
8816
8817
8818
88198820
88218822 8823
8824
88258826
882788288829
883088318832 8833
8834
88358836
883788388839
8840
88418842
8843
884488458846
88478848
8849
88508851
8852
8853 885488558856
88578858
8859
88608861886288638864
8865
8866
8867
8868
8869
88708871887288738874
8875887688778878
88798880
88818882
8883888488858886
888788888889 8890
88918892
8893
8894
8895
88968897
8898889989008901
8902
89038904
89058906
89078908
8909
8910
8911
891289138914
8915891689178918
8919
89208921
892289238924
8925
8926
8927
8928
8929
8930
8931
8932893389348935
89368937
89388939894089418942
8943
89448945
8946
8947
8948
89498950
8951
8952
8953
89548955
8956
8957
89588959
89608961
89628963
89648965
896689678968
8969 89708971897289738974 8975897689778978
89798980
898189828983
89848985
89868987 89888989
8990
8991
89928993
8994899589968997
8998
8999
9000
9001
900290039004
9005
90069007
90089009
901090119012
90139014
9015
9016901790189019
90209021
902290239024
902590269027
902890299030903190329033
90349035
9036903790389039
9040904190429043
904490459046
90479048
9049
9050905190529053
9054 90559056
9057
9058
9059
90609061
906290639064
90659066 9067
906890699070
9071
90729073
9074
9075
9076
90779078907990809081
9082
908390849085
9086908790889089
9090
9091
909290939094 909590969097
909890999100
9101
91029103
9104910591069107
9108
91099110
91119112
91139114
9115
91169117
9118
911991209121
91229123
9124
9125
91269127
9128
9129913091319132
913391349135
91369137
9138
91399140
9141
9142
9143
9144 9145
9146
91479148914991509151
91529153
91549155
9156 915791589159916091619162
9163
9164
9165
9166
91679168
916991709171917291739174
9175
91769177
91789179
9180
91819182 91839184
9185
91869187
918891899190
9191
91929193
91949195
9196
9197
919891999200920192029203
9204
92059206
9207
92089209
9210
92119212
921392149215
921692179218
9219
922092219222
92239224
92259226922792289229
92309231
92329233
9234
92359236
9237
92389239
92409241
924292439244
92459246
9247
9248
9249
925092519252
92539254
9255
925692579258
9259
92609261
92629263
92649265
9266
92679268
92699270
927192729273
92749275
9276
927792789279
9280
92819282
9283
928492859286
92879288
92899290
9291
9292929392949295
9296
929792989299930093019302
93039304
93059306
930793089309
9310931193129313
93149315
93169317
93189319
932093219322
932393249325
9326
9327
9328
93299330
9331
9332
933393349335
9336
93379338
933993409341
9342
93439344
9345
93469347
934893499350
93519352 93539354
9355
9356
9357
9358935993609361
9362
93639364
9365
936693679368936993709371
9372
937393749375
9376937793789379
93809381
9382
93839384
9385
93869387
9388
9389939093919392
9393
9394
9395
93969397939893999400
9401940294039404
94059406 9407940894099410
9411941294139414
94159416
941794189419
942094219422
942394249425
94269427
94289429
943094319432 943394349435
943694379438
943994409441
94429443944494459446
9447
94489449
94509451
94529453
9454945594569457
9458945994609461
9462
94639464
94659466
9467
9468
94699470
947194729473
9474
94759476
9477
9478
94799480
9481
9482948394849485
94869487
94889489949094919492
94939494
9495
949694979498
9499
95009501
9502
9503
9504
9505
9506
95079508
95099510
9511951295139514
951595169517
9518
95199520
952195229523
95249525
952695279528
9529
9530
9531
95329533
95349535
9536
95379538
9539
9540
954195429543
9544
9545
9546
9547
9548
95499550
9551
9552 9553955495559556
9557
9558
9559
95609561
9562
95639564
9565
956695679568
9569
9570
9571
957295739574957595769577
95789579
95809581
9582
9583
95849585
9586
958795889589
95909591
9592
95939594
959595969597959895999600
96019602
96039604
96059606
9607
9608
9609
9610
961196129613
96149615961696179618
96199620962196229623
96249625
9626
9627
9628
9629
9630
9631
9632
9633
96349635
96369637
963896399640
96419642
9643
96449645
9646
9647
96489649
965096519652
96539654
9655
9656
9657
9658
9659
9660
96619662
966396649665
966696679668
96699670967196729673
9674
96759676
9677
9678
9679
9680968196829683
96849685
9686
96879688
9689
969096919692
9693
96949695
9696
969796989699
9700
9701
97029703
9704
97059706
97079708970997109711
971297139714
97159716
97179718
9719
97209721
9722
972397249725
972697279728
9729
9730
9731
97329733
9734
97359736
9737
973897399740
9741 97429743
9744
9745
97469747
97489749
9750
9751
9752
975397549755
9756
975797589759
976097619762
976397649765
97669767976897699770
977197729773
9774
97759776
977797789779
97809781
9782
97839784
9785
97869787
9788
9789
9790
97919792
9793
97949795
97969797
9798
9799
9800
98019802980398049805
9806
9807
980898099810
9811 9812
981398149815
98169817
981898199820
98219822
9823
98249825
9826
9827
9828
982998309831
9832
98339834
98359836
98379838
983998409841
98429843984498459846
9847
9848
98499850
9851
98529853
98549855 9856
985798589859
9860
986198629863
986498659866
9867
98689869
987098719872
9873
987498759876
98779878
987998809881
9882
988398849885
98869887
98889889
98909891
98929893
9894989598969897
989898999900
9901990299039904
99059906
9907
9908
990999109911
991299139914
99159916
9917991899199920
99219922
9923
99249925
99269927
99289929
99309931
9932
993399349935
99369937
9938993999409941
9942
99439944
99459946
9947 9948
994999509951
9952
99539954
995599569957
99589959
99609961
99629963
99649965
9966
99679968
996999709971
9972 9973
99749975
9976
9977
997899799980
9981
9982
9983
99849985 998699879988
99899990
999199929993
999499959996
99979998
99991000010001
10002100031000410005
10006
10007
10008
100091001010011
100121001310014
1001510016
1001710018
10019
1002010021
1002210023100241002510026
1002710028
10029
10030
10031
10032
100331003410035
1003610037
10038100391004010041
100421004310044
1004510046
1004710048
10049100501005110052
10053
10054
10055
1005610057
10058100591006010061
1006210063
1006410065
100661006710068
10069
100701007110072
1007310074
10075
100761007710078
10079
10080
10081
10082
1008310084
10085
100861008710088
100891009010091
10092100931009410095
1009610097
10098
10099
101001010110102
10103
1010410105
10106
10107
10108
10109
10110101111011210113
10114
10115
1011610117
10118
10119
1012010121
101221012310124
1012510126
1012710128
10129
10130
1013110132
10133
1013410135
101361013710138
10139101401014110142
10143
10144
101451014610147
101481014910150
1015110152
10153
1015410155
1015610157101581015910160101611016210163
1016410165
10166
10167 10168
1016910170
10171
10172
10173
101741017510176
1017710178
10179
10180
10181
10182
1018310184
1018510186
10187
10188
1018910190
10191
10192
1019310194101951019610197
1019810199
1020010201 10202
1020310204
10205102061020710208
102091021010211
10212
10213
102141021510216
1021710218
10219
10220
1022110222
1022310224 102251022610227
10228
102291023010231
10232
1023310234
1023510236
1023710238
10239
10240
1024110242102431024410245
10246
1024710248
10249
102501025110252
1025310254
10255
10256102571025810259
10260
10261
10262
102631026410265
102661026710268
1026910270
1027110272
10273
102741027510276
1027710278
1027910280
10281
1028210283
10284102851028610287
1028810289
10290
10291
1029210293
10294
10295
102961029710298
10299
1030010301
1030210303103041030510306
10307
1030810309
10310
10311
103121031310314
10315
10316
1031710318
10319
1032010321
1032210323
1032410325
1032610327
1032810329
103301033110332
103331033410335103361033710338
10339 10340
1034110342
103431034410345
10346 10347103481034910350
10351
10352
103531035410355
10356
10357
1035810359
103601036110362 1036310364
1036510366103671036810369
1037010371
10372
1037310374
10375
10376
10377
1037810379
103801038110382
10383
10384
103851038610387103881038910390
10391
1039210393
10394
1039510396
10397
1039810399104001040110402 104031040410405
1040610407
104081040910410
104111041210413
10414
104151041610417
10418
10419
104201042110422
10423
104241042510426
10427
1042810429
1043010431
10432
1043310434
1043510436
1043710438
104391044010441
104421044310444
1044510446
1044710448
104491045010451
104521045310454104551045610457
10458
10459
10460
1046110462
10463
104641046510466
104671046810469 10470
10471
10472
104731047410475104761047710478
10479
104801048110482
10483
104841048510486
1048710488
1048910490
10491104921049310494
1049510496
10497
1049810499
1050010501
1050210503
10504
105051050610507
1050810509
1051010511
1051210513
1051410515
105161051710518
10519
10520
10521
10522
105231052410525105261052710528
105291053010531
10532
10533
10534
10535
1053610537
1053810539
1054010541
105421054310544
10545
1054610547 1054810549
10550
105511055210553
10554105551055610557
10558
10559
10560
105611056210563
105641056510566
1056710568
1056910570
105711057210573
105741057510576
10577
10578
10579105801058110582
10583
105841058510586
1058710588
105891059010591
105921059310594
10595
10596
1059710598105991060010601
1060210603
1060410605
10606 10607
106081060910610
1061110612
1061310614
1061510616
1061710618
1061910620
10621
106221062310624
10625
106261062710628
10629
106301063110632
1063310634
1063510636
1063710638
10639
10640
1064110642106431064410645
1064610647
1064810649
10650
10651106521065310654
10655
1065610657
1065810659
1066010661
10662106631066410665
106661066710668
10669
106701067110672
10673
10674
10675
106761067710678
106791068010681
106821068310684
106851068610687
10688
1068910690
1069110692106931069410695
10696
106971069810699
1070010701
10702
10703107041070510706
107071070810709
107101071110712
1071310714
107151071610717107181071910720
1072110722
107231072410725107261072710728
10729
1073010731
10732
1073310734
10735
107361073710738
10739
10740
1074110742
10743
10744
1074510746
10747 10748
1074910750
10751
10752
107531075410755 107561075710758
1075910760
1076110762
1076310764
107651076610767
10768
1076910770
1077110772
10773
10774
10775
10776
10777
1077810779
1078010781
10782
10783 107841078510786
107871078810789
1079010791
107921079310794
107951079610797
1079810799
10800
10801
1080210803
1080410805
1080610807
10808
1080910810 1081110812
1081310814
108151081610817
108181081910820
1082110822
10823
1082410825
108261082710828
108291083010831108321083310834
10835
1083610837
108381083910840
10841
10842108431084410845
1084610847108481084910850
108511085210853
1085410855
10856
10857
10858
108591086010861
1086210863
10864
10865
10866
1086710868
1086910870
10871
10872
1087310874
108751087610877
10878
1087910880
108811088210883
10884
1088510886
10887 1088810889
108901089110892
1089310894
1089510896
10897
10898
1089910900
10901
10902
1090310904
109051090610907
1090810909109101091110912
10913
10914
10915
1091610917
1091810919
10920109211092210923
109241092510926
109271092810929
109301093110932
10933
10934
10935
109361093710938
10939
1094010941
10942
109431094410945
109461094710948
1094910950
10951
109521095310954
10955
109561095710958
10959
10960
1096110962
1096310964
10965
109661096710968
109691097010971109721097310974
10975
109761097710978
1097910980
10981
10982
109831098410985109861098710988
1098910990
10991 109921099310994
109951099610997
10998
10999
1100011001
110021100311004
1100511006
11007
110081100911010
11011
11012
110131101411015
1101611017
11018
110191102011021
1102211023
1102411025
1102611027110281102911030
110311103211033
11034
1103511036
110371103811039
1104011041
11042
11043
11044
1104511046
11047
1104811049
11050
11051
11052
11053
11054
1105511056
11057
1105811059
11060
1106111062
1106311064
110651106611067
1106811069 11070
11071
1107211073
1107411075
11076110771107811079
1108011081 11082
1108311084
1108511086
110871108811089
110901109111092
11093
1109411095
11096110971109811099
1110011101
1110211103
11104
111051110611107
1110811109111101111111112
11113
11114
1111511116 1111711118
11119
11120
11121
1112211123
111241112511126
11127111281112911130
11131
11132
111331113411135
1113611137
11138
11139
111401114111142
1114311144
11145
1114611147
11148
11149
111501115111152
1115311154111551115611157
11158
1115911160
1116111162
1116311164 111651116611167
11168
111691117011171
11172
1117311174
11175111761117711178
11179
1118011181
11182
1118311184
1118511186
1118711188
111891119011191
1119211193
11194
11195
1119611197
11198
11199
11200
11201
1120211203
112041120511206
112071120811209112101121111212
1121311214
11215
11216
1121711218
11219
11220
1122111222
11223
11224
11225
1122611227
112281122911230
112311123211233
11234
11235112361123711238
1123911240
1124111242
11243
11244
1124511246
1124711248
11249
1125011251
11252
1125311254
112551125611257
11258
11259
11260
11261
1126211263
11264
1126511266
11267
11268
11269
11270
1127111272
11273
1127411275
11276
112771127811279
11280
1128111282
1128311284 11285
11286
1128711288
1128911290
1129111292
11293
11294
1129511296
1129711298
11299
1130011301
11302113031130411305
11306113071130811309
11310
1131111312
11313113141131511316
11317
1131811319 1132011321
11322
1132311324
1132511326
113271132811329
11330
1133111332
1133311334
11335113361133711338
1133911340 1134111342
113431134411345
11346113471134811349
1135011351
11352
1135311354
1135511356
113571135811359
113601136111362
11363
11364
11365
1136611367
11368
11369
1137011371113721137311374113751137611377
1137811379
11380113811138211383
11384113851138611387
11388
11389
1139011391113921139311394
1139511396
11397113981139911400
11401
1140211403
114041140511406
1140711408114091141011411 11412
11413114141141511416
1141711418
11419
1142011421
11422114231142411425
11426114271142811429
11430
114311143211433
11434
11435
1143611437
11438
11439
1144011441
114421144311444
114451144611447
1144811449
114501145111452
11453
11454
114551145611457
1145811459
11460
11461114621146311464
1146511466
11467
1146811469 11470
1147111472
11473114741147511476
11477
11478
1147911480
114811148211483
1148411485
114861148711488
1148911490
114911149211493
114941149511496
11497
1149811499
11500
115011150211503
11504
115051150611507
1150811509
11510115111151211513
11514115151151611517
11518115191152011521
115221152311524
11525
11526
1152711528
1152911530
11531
1153211533
11534
11535
11536
11537
115381153911540
11541
11542
115431154411545
1154611547
11548
1154911550
1155111552
11553
11554
1155511556
11557
11558
1155911560
11561
1156211563
115641156511566
115671156811569
1157011571
115721157311574
11575
11576
115771157811579
11580
1158111582115831158411585
11586
1158711588
115891159011591
11592
115931159411595
1159611597
11598
11599
1160011601
11602
11603
116041160511606
11607
1160811609
1161011611116121161311614
11615
1161611617
1161811619
116201162111622
11623
11624116251162611627
11628
11629
1163011631
11632
11633
11634
11635116361163711638
116391164011641
11642
1164311644
116451164611647
116481164911650
1165111652
1165311654
11655
11656
1165711658
1165911660
1166111662
11663
11664116651166611667
11668
1166911670 1167111672
1167311674
116751167611677
1167811679
1168011681
11682
1168311684
1168511686
11687
1168811689
11690
1169111692 11693
1169411695
11696
116971169811699117001170111702
11703
1170411705
1170611707117081170911710
1171111712
117131171411715
1171611717
11718
1171911720
11721
11722
117231172411725
11726117271172811729
11730
1173111732
11733
11734117351173611737
11738
1173911740
117411174211743
1174411745
11746
11747
11748
117491175011751
1175211753117541175511756
11757
11758
11759
1176011761
117621176311764
1176511766
1176711768
1176911770
11771
11772
1177311774
11775
11776
11777
11778117791178011781
11782
1178311784
11785
11786
11787
117881178911790
1179111792
11793
1179411795
1179611797
117981179911800
118011180211803
1180411805
1180611807
1180811809
11810
118111181211813
118141181511816
11817
11818
11819
11820
11821
1182211823
11824
1182511826
11827
11828
1182911830
11831
11832
1183311834
11835
11836
1183711838
11839
1184011841
11842
1184311844
11845
11846
11847
11848
11849118501185111852
118531185411855
11856
11857
11858
11859
1186011861
11862118631186411865
11866118671186811869
118701187111872
1187311874
1187511876
1187711878
11879
11880
118811188211883
11884
11885
118861188711888
1188911890
11891
1189211893
1189411895118961189711898
118991190011901
11902
11903
11904119051190611907
119081190911910
11911
11912
1191311914
1191511916
1191711918119191192011921
11922
119231192411925
11926119271192811929
119301193111932
119331193411935119361193711938
11939
1194011941
11942
1194311944
11945
1194611947
119481194911950
11951
1195211953
11954
119551195611957119581195911960
1196111962
119631196411965
11966
119671196811969
119701197111972
11973
11974
119751197611977
1197811979
11980119811198211983
11984
11985
11986
119871198811989
11990
1199111992
1199311994
11995
11996
119971199811999
120001200112002
12003
12004
12005
120061200712008
120091201012011
120121201312014
1201512016
12017
1201812019
1202012021120221202312024
12025
1202612027
12028120291203012031
1203212033
1203412035
120361203712038
12039
120401204112042
120431204412045
12046
12047
1204812049
12050
12051
120521205312054
12055120561205712058
1205912060
12061
1206212063
12064
120651206612067
1206812069
12070
12071
12072
12073
1207412075
1207612077
12078
12079
1208012081120821208312084
12085
12086120871208812089
120901209112092
12093
12094
12095
12096
1209712098
1209912100
12101
1210212103
1210412105
1210612107
121081210912110
12111
12112
12113
12114
12115
12116
12117
12118
12119121201212112122
1212312124
12125
1212612127
12128
121291213012131
1213212133
121341213512136
12137
12138
1213912140
121411214212143
1214412145
12146121471214812149
12150
1215112152121531215412155
121561215712158
1215912160
12161
1216212163
1216412165121661216712168
1216912170
12171
12172
12173121741217512176
12177
12178
12179121801218112182
12183
12184
12185
12186
12187
12188
12189
1219012191
121921219312194
121951219612197
12198121991220012201
12202
12203
12204
12205
1220612207
122081220912210
12211
12212
1221312214
1221512216
12217
1221812219
12220
1222112222
12223
12224122251222612227
12228
12229
12230
1223112232
12233
122341223512236 12237
12238122391224012241
1224212243
12244
1224512246
122471224812249
1225012251
12252
12253
1225412255
12256
1225712258
1225912260
12261
122621226312264
12265
12266
12267
12268122691227012271
12272
1227312274
1227512276
1227712278
122791228012281
1228212283
12284
12285
12286
1228712288
12289122901229112292
12293
1229412295
1229612297
122981229912300
1230112302123031230412305
123061230712308
1230912310
12311123121231312314
1231512316
12317123181231912320 12321
12322123231232412325
1232612327
12328123291233012331
1233212333
1233412335123361233712338
12339
12340
12341
1234212343
12344
12345
123461234712348
12349
12350123511235212353
1235412355
1235612357
1235812359
1236012361
12362
123631236412365
1236612367
1236812369
1237012371
1237212373
12374
12375
123761237712378123791238012381
12382
1238312384
12385123861238712388
12389
12390
1239112392
1239312394123951239612397
1239812399
124001240112402
1240312404
12405
124061240712408
12409
124101241112412
124131241412415
124161241712418
12419
12420
12421
1242212423
12424
12425
1242612427
12428124291243012431
12432
12433
1243412435 12436
124371243812439
1244012441
12442124431244412445
124461244712448
1244912450
12451
1245212453
12454
12455
12456
1245712458 12459
1246012461
124621246312464
124651246612467
1246812469
12470124711247212473
1247412475
124761247712478
12479
1248012481
12482
1248312484 12485
12486
12487124881248912490
124911249212493
12494124951249612497
1249812499
1250012501
12502
125031250412505
12506125071250812509
1251012511
12512 12513
1251412515
12516
125171251812519
12520125211252212523
12524
12525125261252712528125291253012531
1253212533
1253412535
1253612537
12538125391254012541 12542
1254312544
125451254612547
1254812549
12550125511255212553
1255412555
12556
1255712558
12559
125601256112562 12563
12564125651256612567
125681256912570125711257212573
125741257512576
1257712578
1257912580
1258112582
12583
125841258512586
1258712588
12589
1259012591
12592
1259312594
12595125961259712598
12599
1260012601
12602
12603
1260412605
126061260712608
126091261012611
126121261312614
126151261612617
1261812619
12620
1262112622
12623
12624126251262612627
12628
12629
12630
1263112632
126331263412635126361263712638
12639
12640
126411264212643
12644126451264612647
12648
12649
1265012651
1265212653
1265412655
12656
126571265812659
1266012661
12662
12663
126641266512666
1266712668
12669
126701267112672
12673
12674
1267512676
1267712678
126791268012681126821268312684
12685
12686
1268712688
12689
12690
12691
1269212693
12694
1269512696
12697
12698
1269912700
12701
1270212703
12704
1270512706
127071270812709 12710
12711
12712
12713
12714
1271512716
127171271812719
12720
12721 127221272312724
12725
12726
1272712728
12729
127301273112732
12733
12734
1273512736
1273712738
12739
12740
127411274212743
12744 12745
1274612747
1274812749
1275012751
12752
12753
127541275512756
12757
127581275912760
1276112762
12763
1276412765
12766
12767 12768
12769
12770
1277112772
12773
12774
12775
1277612777
127781277912780
12781
12782
1278312784
127851278612787
1278812789
1279012791
12792
12793
127941279512796
12797
12798127991280012801
1280212803
1280412805
1280612807
12808
12809
1281012811
12812
128131281412815
12816
12817
12818
12819
12820
12821
12822
12823
12824
1282512826
1282712828
128291283012831
12832
128331283412835
128361283712838128391284012841
1284212843
128441284512846
1284712848
1284912850
12851
128521285312854
12855
12856
1285712858
128591286012861
1286212863
12864
12865128661286712868
1286912870
1287112872
128731287412875
12876
12877
128781287912880
1288112882128831288412885
12886
12887
1288812889
12890
1289112892
12893
1289412895
12896
1289712898
12899
129001290112902
1290312904
1290512906
1290712908
129091291012911
129121291312914129151291612917
12918
12919
12920
1292112922
12923
1292412925
129261292712928
1292912930
1293112932129331293412935
12936
129371293812939
1294012941
12942
129431294412945
1294612947
1294812949
129501295112952
129531295412955
12956
1295712958
129591296012961
12962
12963
129641296512966
12967
1296812969
12970129711297212973
12974
1297512976
12977
12978
12979
129801298112982
129831298412985
129861298712988
129891299012991
12992129931299412995
1299612997
12998
1299913000
13001
13002
1300313004
13005
1300613007
13008
1300913010
13011
13012
130131301413015
13016
13017
1301813019
1302013021
13022
130231302413025
1302613027
13028
13029130301303113032
1303313034
130351303613037
13038
1303913040
130411304213043
13044
13045
1304613047130481304913050
130511305213053
130541305513056
130571305813059
13060
13061
13062
1306313064
130651306613067
13068
13069130701307113072
1307313074
130751307613077
13078
1307913080
13081
130821308313084
1308513086130871308813089
13090
13091
1309213093
130941309513096
13097
1309813099
1310013101
1310213103
131041310513106
13107
13108
13109131101311113112
1311313114
13115
13116
13117
13118
131191312013121
1312213123
13124
1312513126
1312713128
1312913130
131311313213133
131341313513136
13137131381313913140
1314113142
131431314413145
131461314713148
131491315013151
13152
13153
13154131551315613157
13158
13159
1316013161
1316213163
13164
1316513166
131671316813169
13170
1317113172
13173
1317413175
13176
1317713178
1317913180
13181
13182
13183
13184
1318513186
1318713188
131891319013191
13192
13193131941319513196
13197
13198
1319913200
1320113202
1320313204
13205
1320613207132081320913210
132111321213213
13214
132151321613217
13218
1321913220
13221
1322213223
1322413225
13226
13227
1322813229
132301323113232
13233
13234
13235132361323713238 13239
1324013241
13242
13243
13244
1324513246
13247
13248
13249
13250
132511325213253
13254
13255132561325713258132591326013261
132621326313264
132651326613267
13268
1326913270
1327113272
1327313274
1327513276132771327813279
13280
13281132821328313284
13285
13286
13287
132881328913290
1329113292132931329413295
1329613297132981329913300
13301
1330213303
133041330513306
13307
13308
13309
13310
13311
1331213313
133141331513316
13317
13318
13319
133201332113322
13323
1332413325
13326
13327
13328
1332913330
133311333213333
1333413335133361333713338
13339
1334013341
13342
13343
1334413345
13346
13347
1334813349
1335013351
13352
13353
13354
13355
13356
13357
13358
13359133601336113362
13363
13364
1336513366
1336713368
1336913370
13371
13372
1337313374
1337513376
133771337813379
1338013381
13382
13383
133841338513386
13387133881338913390
1339113392133931339413395
13396
13397
13398
1339913400134011340213403
1340413405
134061340713408
13409
13410134111341213413
13414
134151341613417
13418
13419
13420134211342213423
13424134251342613427
13428
134291343013431
134321343313434
134351343613437
134381343913440 13441
1344213443
13444134451344613447
13448
13449
134501345113452
13453
13454
134551345613457
1345813459
13460
13461
1346213463
1346413465
1346613467
13468
13469
134701347113472134731347413475 1347613477
1347813479
13480
134811348213483
13484
13485
13486134871348813489
1349013491
1349213493
1349413495
1349613497
1349813499
1350013501
1350213503
135041350513506
13507
13508
13509
1351013511
13512
13513 13514
13515135161351713518
1351913520
13521
13522
13523
13524
13525
13526
1352713528
1352913530
13531
1353213533
1353413535
13536
1353713538
1353913540
135411354213543
13544
13545
1354613547
1354813549
13550
135511355213553
1355413555
1355613557
135581355913560
13561
13562
13563
13564
1356513566
13567
1356813569
13570
1357113572
13573
13574
13575
13576
1357713578
13579
135801358113582
1358313584
13585
135861358713588
13589
13590
1359113592
135931359413595
135961359713598
1359913600
1360113602
13603
136041360513606
1360713608
13609
13610
13611
13612
1361313614
13615
13616
1361713618
136191362013621
13622
1362313624
13625
1362613627
13628
1362913630
1363113632
13633
136341363513636
13637
13638
13639
1364013641
13642
1364313644
1364513646
13647
1364813649
13650
136511365213653
1365413655136561365713658
13659
1366013661
1366213663
13664
13665
136661366713668
136691367013671136721367313674
136751367613677136781367913680
13681136821368313684
136851368613687136881368913690
13691136921369313694136951369613697136981369913700
137011370213703
1370413705
13706
1370713708137091371013711
13712
1371313714
1371513716
137171371813719
13720137211372213723137241372513726
1372713728
13729
1373013731
13732
13733
137341373513736
1373713738
1373913740
137411374213743
13744
137451374613747
137481374913750
137511375213753
137541375513756
137571375813759
13760
1376113762
13763
1376413765
1376613767
1376813769
1377013771
1377213773
137741377513776
13777
1377813779137801378113782
137831378413785
1378613787
13788
1378913790
13791
13792
13793
13794137951379613797
137981379913800
138011380213803
13804
13805
13806
13807138081380913810
13811
13812
13813
138141381513816
13817
1381813819
13820
1382113822
1382313824
1382513826
1382713828
1382913830
13831
138321383313834
138351383613837138381383913840
13841
13842
13843
1384413845
13846
13847
13848
13849138501385113852
1385313854
1385513856
1385713858
1385913860
1386113862 1386313864
13865
1386613867
13868138691387013871
1387213873
13874
13875138761387713878
1387913880
13881
1388213883
13884
1388513886
1388713888
1388913890
13891
1389213893
13894
138951389613897
13898
1389913900
13901
13902
13903139041390513906
139071390813909
1391013911
13912
13913
13914
1391513916
139171391813919
1392013921
13922
13923
1392413925
139261392713928
1392913930
139311393213933
1393413935
1393613937
13938
13939
1394013941
1394213943
13944
139451394613947
13948
13949
1395013951
13952
139531395413955
13956
13957
1395813959
13960
13961
13962
139631396413965
139661396713968
139691397013971139721397313974
139751397613977
139781397913980
13981
139821398313984
1398513986139871398813989
13990 1399113992
139931399413995
139961399713998
13999 140001400114002
1400314004
140051400614007
1400814009
140101401114012
1401314014
14015140161401714018
1401914020
14021140221402314024
14025
14026
1402714028
1402914030
1403114032
1403314034
1403514036140371403814039
14040
14041
14042140431404414045
14046
140471404814049
14050
1405114052
14053
14054
14055
14056
1405714058
14059140601406114062
14063
1406414065
14066
14067
14068
140691407014071
1407214073
140741407514076140771407814079
1408014081140821408314084
14085
14086
1408714088
14089
140901409114092
140931409414095
140961409714098
1409914100
14101
1410214103141041410514106
1410714108
14109141101411114112
1411314114
1411514116
1411714118
1411914120
14121141221412314124141251412614127
14128
14129
14130
14131
14132
14133
1413414135
14136141371413814139
1414014141141421414314144
14145
1414614147
1414814149 1415014151
14152
1415314154
14155
14156
1415714158141591416014161
141621416314164
14165
14166
141671416814169
141701417114172
1417314174
1417514176
141771417814179
1418014181
14182
14183
141841418514186
14187141881418914190
14191141921419314194
1419514196
141971419814199142001420114202
14203142041420514206
1420714208
1420914210
14211 14212
1421314214
142151421614217
1421814219
14220
1422114222
14223
1422414225
14226
1422714228142291423014231
14232
1423314234
1423514236
14237
14238142391424014241
14242
14243
14244
1424514246
14247
1424814249
14250
1425114252
142531425414255
142561425714258
14259
1426014261
14262
142631426414265
14266
14267
14268142691427014271
14272
1427314274
14275 14276142771427814279
14280
14281
14282
14283
1428414285
1428614287
1428814289
14290142911429214293
1429414295
142961429714298
1429914300
14301
14302143031430414305
14306
14307
143081430914310
1431114312
1431314314
143151431614317
1431814319
14320
14321
1432214323
14324
14325
14326
1432714328
1432914330
143311433214333
14334
1433514336
14337
143381433914340
1434114342143431434414345
1434614347143481434914350
143511435214353
1435414355
1435614357
14358
1435914360
1436114362
1436314364143651436614367
14368
14369
1437014371
1437214373
14374
14375
14376
1437714378
1437914380
1438114382
14383
14384143851438614387
14388
14389143901439114392
14393
1439414395
1439614397
14398
1439914400
14401144021440314404
1440514406
14407
1440814409
14410
144111441214413144141441514416
14417144181441914420
1442114422
14423
1442414425
14426
1442714428
1442914430
144311443214433
14434
14435144361443714438
1443914440
1444114442
14443
14444
1444514446
144471444814449
14450144511445214453
14454144551445614457
1445814459
14460
14461144621446314464
1446514466
1446714468144691447014471
14472
14473
14474
14475
1447614477
14478
14479
14480
1448114482
14483
14484
144851448614487
14488144891449014491
144921449314494
144951449614497
1449814499
14500
145011450214503
145041450514506
145071450814509
145101451114512
14513
14514
14515
14516
145171451814519
14520
1452114522
1452314524
14525
1452614527
1452814529
145301453114532
14533
14534
1453514536
145371453814539
14540145411454214543
145441454514546 14547
14548
145491455014551
1455214553
14554145551455614557
14558
145591456014561
1456214563
1456414565
1456614567
14568
145691457014571
14572
14573 14574
145751457614577
14578
1457914580
14581
1458214583
14584
14585
14586
14587
14588145891459014591
1459214593
145941459514596
1459714598
14599
14600146011460214603
14604146051460614607
1460814609
146101461114612
14613146141461514616
1461714618
146191462014621146221462314624
14625
146261462714628
14629
14630
14631
146321463314634
14635
146361463714638
146391464014641
14642
1464314644
14645
146461464714648
146491465014651146521465314654
146551465614657
1465814659
14660
1466114662
146631466414665
14666
1466714668
1466914670
1467114672
14673
14674
146751467614677
1467814679
14680
1468114682
14683
146841468514686 14687
14688
1468914690
14691146921469314694
14695
146961469714698
14699
14700
1470114702147031470414705
14706
14707
1470814709
14710
147111471214713
147141471514716
147171471814719
14720147211472214723
1472414725
1472614727147281472914730
14731
1473214733147341473514736
14737
14738
1473914740
1474114742
1474314744
14745
14746147471474814749
147501475114752
14753
1475414755
14756147571475814759
1476014761
14762
14763
14764147651476614767
147681476914770147711477214773
14774
14775
147761477714778
14779
14780
14781
14782
1478314784
1478514786
1478714788
14789
147901479114792
147931479414795
14796147971479814799
148001480114802148031480414805
14806148071480814809
148101481114812
1481314814
14815
1481614817
1481814819
1482014821
148221482314824
1482514826
14827
14828
14829
14830
148311483214833
14834
148351483614837
1483814839
148401484114842
14843 14844148451484614847
14848
14849
1485014851
148521485314854
14855
1485614857
1485814859
1486014861
1486214863
1486414865
148661486714868
14869
14870
14871
14872148731487414875
1487614877
14878148791488014881
14882
1488314884
148851488614887
148881488914890
14891
148921489314894
148951489614897
1489814899
149001490114902
1490314904
14905
1490614907149081490914910
1491114912
14913
14914
1491514916149171491814919
149201492114922
1492314924
14925
1492614927
14928
1492914930
149311493214933
14934
1493514936
1493714938
149391494014941
14942
1494314944
14945
149461494714948
14949
1495014951
14952
149531495414955
14956
14957
149581495914960
14961
1496214963
14964149651496614967
14968
149691497014971
14972
14973
149741497514976
14977
1497814979
1498014981
149821498314984
149851498614987
1498814989
14990149911499214993
14994
14995
14996
14997
149981499915000
15001
1500215003
15004 1500515006
1500715008
15009
15010
15011
1501215013
1501415015
150161501715018
15019
1502015021
15022
1502315024150251502615027
150281502915030
150311503215033
150341503515036
150371503815039
1504015041150421504315044
15045
150461504715048
1504915050
1505115052
15053
15054
15055150561505715058
1505915060
15061
1506215063
1506415065
15066
150671506815069
15070
1507115072
150731507415075
15076150771507815079
15080
15081
1508215083
150841508515086
15087150881508915090
1509115092150931509415095
150961509715098
150991510015101
1510215103
15104
15105
15106
1510715108
15109
1511015111
151121511315114
15115
1511615117
15118
15119
15120151211512215123
15124
15125
151261512715128151291513015131 15132
15133
15134151351513615137
1513815139
151401514115142
1514315144
1514515146151471514815149
151501515115152
1515315154
15155151561515715158
151591516015161
1516215163
1516415165
15166
1516715168
15169
151701517115172
15173151741517515176151771517815179
1518015181
15182
1518315184
15185
15186
1518715188
15189
1519015191
1519215193
151941519515196
15197
15198
1519915200
15201
152021520315204
152051520615207
1520815209152101521115212
1521315214
152151521615217
15218
15219
1522015221
1522215223
15224
15225
1522615227
152281522915230
15231
1523215233152341523515236
15237
1523815239
1524015241
1524215243
152441524515246
15247
1524815249
152501525115252
152531525415255152561525715258
1525915260
152611526215263
15264
1526515266
1526715268
15269
15270
15271152721527315274
152751527615277
1527815279
15280
1528115282
15283
152841528515286
152871528815289
1529015291
15292
1529315294
15295
15296
1529715298
15299153001530115302153031530415305
15306 15307
15308
15309
15310
1531115312
15313153141531515316
15317
1531815319
153201532115322
1532315324
1532515326153271532815329
1533015331
15332
15333
15334
153351533615337
1533815339
153401534115342
15343
1534415345
1534615347
153481534915350
153511535215353
153541535515356
153571535815359
15360
153611536215363
1536415365
153661536715368
153691537015371
15372
15373
15374
153751537615377
153781537915380
153811538215383153841538515386
1538715388
15389
15390
1539115392
1539315394
15395
15396153971539815399
1540015401
15402
15403
1540415405
15406
154071540815409
1541015411
1541215413
1541415415
154161541715418
154191542015421
154221542315424
154251542615427154281542915430
1543115432
154331543415435
15436
15437154381543915440
1544115442
154431544415445
154461544715448
154491545015451154521545315454
15455
1545615457
1545815459
1546015461
15462154631546415465
1546615467
154681546915470
15471
15472
15473
1547415475 1547615477
154781547915480
1548115482
15483
1548415485
1548615487
15488
15489
15490
154911549215493 154941549515496
1549715498
1549915500
15501
15502
15503
15504155051550615507
15508
15509
1551015511
15512155131551415515
15516
1551715518
155191552015521
1552215523
155241552515526
15527
15528
15529155301553115532
155331553415535155361553715538
155391554015541
155421554315544
1554515546
15547
15548155491555015551
15552
15553
15554
15555
15556155571555815559
155601556115562
155631556415565
155661556715568
1556915570
15571
1557215573
1557415575
15576
15577155781557915580
1558115582
15583
15584
15585
1558615587
1558815589
1559015591
155921559315594
15595
15596
15597
155981559915600
15601
1560215603
1560415605
15606
1560715608
15609
1561015611
15612
1561315614
1561515616
1561715618
15619156201562115622
15623
15624
15625
156261562715628
1562915630
15631
15632
15633
15634
1563515636
1563715638156391564015641
15642
156431564415645
15646
15647
15648
1564915650
1565115652
15653
15654
156551565615657
156581565915660
156611566215663
15664
15665156661566715668
1566915670
1567115672
15673156741567515676
15677
15678
15679
15680
1568115682
1568315684
1568515686
1568715688156891569015691
1569215693
15694156951569615697
15698
1569915700
157011570215703
15704157051570615707
1570815709
1571015711
15712
1571315714
1571515716
15717157181571915720
15721
15722
15723
1572415725
1572615727
15728
1572915730157311573215733
15734
15735
1573615737
157381573915740
157411574215743
15744
1574515746
157471574815749
157501575115752
1575315754
1575515756
15757
1575815759
15760
1576115762
1576315764157651576615767
1576815769
157701577115772
157731577415775
157761577715778
157791578015781
1578215783
15784
1578515786
15787157881578915790
1579115792
15793157941579515796
1579715798
1579915800158011580215803
1580415805
15806158071580815809
1581015811
15812158131581415815
1581615817
1581815819
15820
158211582215823
1582415825
15826
15827
1582815829
158301583115832
158331583415835
15836
158371583815839
15840
15841
15842
15843
1584415845
15846
1584715848
158491585015851
158521585315854
15855 15856
15857
15858
158591586015861
15862
15863
15864
15865
158661586715868
15869158701587115872
158731587415875
15876
15877
158781587915880
1588115882
1588315884
15885158861588715888
158891589015891158921589315894
15895
158961589715898
15899
15900
159011590215903
159041590515906
1590715908
15909159101591115912
1591315914
1591515916
15917
1591815919
1592015921
1592215923
15924
15925
15926
15927
15928
15929
15930
15931
1593215933159341593515936
15937
15938159391594015941
15942
15943
15944
1594515946
15947159481594915950
1595115952 15953
15954
15955
15956
15957159581595915960
15961
159621596315964
15965
159661596715968
1596915970159711597215973159741597515976
1597715978
159791598015981
1598215983
1598415985
1598615987
15988
1598915990159911599215993
15994159951599615997
1599815999
160001600116002
16003160041600516006
1600716008
16009
1601016011
1601216013
1601416015
16016160171601816019
16020160211602216023
16024
16025
16026
16027
160281602916030
160311603216033
16034
16035
1603616037
160381603916040
16041
160421604316044
16045
1604616047
1604816049
1605016051
1605216053
16054160551605616057
1605816059
1606016061
16062
16063
160641606516066
16067
16068
160691607016071
16072
16073
16074
1607516076160771607816079
16080
16081
16082
1608316084
16085
16086
16087160881608916090
1609116092
16093
1609416095
16096
16097
1609816099
16100
1610116102
16103
16104
1610516106
1610716108
161091611016111
1611216113
16114 1611516116
16117
16118161191612016121
1612216123
16124161251612616127
16128
1612916130
16131
1613216133
16134
16135
16136161371613816139
16140
16141
16142
161431614416145
161461614716148
16149
161501615116152
16153
16154
16155
16156161571615816159
16160
1616116162
161631616416165
1616616167
16168161691617016171
161721617316174
16175
16176
16177
161781617916180
161811618216183
1618416185
16186
1618716188
161891619016191
1619216193
16194161951619616197
1619816199
1620016201162021620316204
1620516206
1620716208
1620916210
16211
16212
16213
16214
1621516216
162171621816219
162201622116222
1622316224 1622516226
1622716228
1622916230
16231
16232
1623316234
162351623616237 16238
16239
162401624116242
16243
1624416245
1624616247
16248
162491625016251
16252162531625416255
1625616257
16258
162591626016261
16262
1626316264
1626516266
1626716268
1626916270
16271
162721627316274
1627516276
1627716278
1627916280
16281
162821628316284
1628516286
1628716288
16289
1629016291
1629216293
162941629516296
1629716298162991630016301
16302
163031630416305
163061630716308
16309
1631016311163121631316314
16315163161631716318
1631916320
16321
163221632316324
1632516326
16327
1632816329
16330
163311633216333
1633416335
16336
1633716338163391634016341
16342
163431634416345163461634716348
163491635016351163521635316354
1635516356
163571635816359
16360
163611636216363
16364163651636616367
1636816369
163701637116372
163731637416375
1637616377
16378
16379163801638116382
1638316384
163851638616387
16388
1638916390
163911639216393
163941639516396
163971639816399
1640016401
1640216403
1640416405
1640616407
16408
164091641016411
1641216413
164141641516416
164171641816419164201642116422
1642316424
16425
16426
1642716428
16429
1643016431
1643216433
1643416435
1643616437
16438164391644016441
1644216443
1644416445
16446
1644716448
16449
164501645116452
16453
16454
16455
16456
1645716458
164591646016461
1646216463
1646416465
16466
1646716468
1646916470
1647116472
16473
1647416475
1647616477
1647816479164801648116482
16483
16484
16485
16486
16487
164881648916490
16491
16492
16493
1649416495
1649616497
1649816499
16500
1650116502165031650416505
1650616507
16508
165091651016511
16512165131651416515
16516
16517
16518165191652016521
16522165231652416525
1652616527
16528165291653016531
16532
165331653416535
1653616537
1653816539
16540
1654116542
16543
16544165451654616547
16548
1654916550
1655116552165531655416555
16556
165571655816559165601656116562
1656316564
1656516566
16567
16568
1656916570
1657116572
165731657416575
1657616577
1657816579
165801658116582
1658316584165851658616587
16588
16589
16590
165911659216593
1659416595
165961659716598
1659916600
1660116602
16603
16604
16605
166061660716608
166091661016611
1661216613
1661416615
16616
16617
1661816619
16620166211662216623
16624
16625
16626
1662716628
16629166301663116632
16633
16634
1663516636
1663716638
1663916640
16641
1664216643
16644
1664516646
166471664816649
166501665116652
166531665416655166561665716658
1665916660
1666116662
16663
16664
1666516666
16667
16668166691667016671
1667216673
16674
1667516676
1667716678
16679
16680
1668116682
16683
1668416685
1668616687
166881668916690
166911669216693
1669416695166961669716698
16699
1670016701
16702
1670316704
16705
1670616707167081670916710
16711
1671216713
1671416715
16716
1671716718
1671916720
16721
16722
1672316724
1672516726
1672716728
1672916730
1673116732
1673316734 16735167361673716738
1673916740167411674216743
16744
1674516746
1674716748
167491675016751
1675216753
167541675516756
1675716758
167591676016761
16762167631676416765
1676616767
16768
16769167701677116772
1677316774
167751677616777
16778
167791678016781
1678216783167841678516786
167871678816789
167901679116792
1679316794
16795
1679616797167981679916800
16801
1680216803168041680516806
16807
16808
1680916810168111681216813
1681416815
16816168171681816819
1682016821
168221682316824
16825
16826
16827
168281682916830
16831
16832
16833
16834168351683616837
168381683916840
16841
1684216843
168441684516846
168471684816849
16850
168511685216853
16854
16855168561685716858
16859
16860
16861168621686316864
16865
16866
168671686816869
1687016871 16872168731687416875
16876
16877
16878
16879
16880
16881
1688216883
16884
16885
16886
16887
1688816889
1689016891
16892
1689316894
1689516896
168971689816899
1690016901
1690216903169041690516906
16907
16908
16909
1691016911
16912
1691316914
1691516916
1691716918
16919
16920
16921
1692216923
16924
16925169261692716928
16929
169301693116932
1693316934
16935
16936
1693716938
1693916940
16941169421694316944
16945
16946
1694716948
16949
1695016951169521695316954
16955
16956
1695716958
169591696016961
1696216963
16964
1696516966
169671696816969
1697016971
169721697316974169751697616977
169781697916980
1698116982
1698316984
1698516986
1698716988
1698916990
16991169921699316994
1699516996169971699816999
17000
17001
1700217003
1700417005
17006
17007
170081700917010
17011
17012
17013
170141701517016
17017
1701817019
17020
170211702217023
1702417025
1702617027
17028
17029
1703017031
1703217033
17034170351703617037
17038170391704017041
17042
17043
1704417045
17046
17047
17048
170491705017051
170521705317054
1705517056170571705817059
17060
17061
17062
170631706417065
17066
17067
17068
17069
17070
170711707217073
1707417075
1707617077
1707817079
1708017081
17082
170831708417085
1708617087170881708917090
17091
17092
17093
17094
1709517096
17097
1709817099
171001710117102
171031710417105171061710717108
17109171101711117112
1711317114
1711517116
171171711817119
17120
17121
17122
17123
17124
17125171261712717128
17129
17130
17131171321713317134
1713517136
1713717138
17139
17140
171411714217143
171441714517146
1714717148171491715017151
17152
17153171541715517156
1715717158
171591716017161
171621716317164
17165
1716617167
171681716917170
1717117172
1717317174
17175
1717617177
17178
17179171801718117182
17183171841718517186171871718817189
17190
17191171921719317194
171951719617197
17198
17199
1720017201
17202
17203
1720417205
17206
172071720817209
1721017211172121721317214
17215
1721617217
17218172191722017221
172221722317224
17225
1722617227
1722817229
172301723117232
17233
1723417235172361723717238
17239
1724017241
1724217243
1724417245
17246
17247
172481724917250
172511725217253
17254
1725517256
17257
17258
172591726017261
17262
17263
172641726517266
17267
172681726917270
172711727217273
172741727517276
17277
1727817279
1728017281
17282
17283
1728417285
17286172871728817289
17290
17291
172921729317294
1729517296
17297
17298
17299
17300
173011730217303
1730417305
1730617307
17308
17309
173101731117312
173131731417315
1731617317
17318173191732017321
173221732317324
173251732617327
17328
1732917330
173311733217333
17334
1733517336
1733717338
1733917340
1734117342
1734317344
1734517346
1734717348
17349
17350
173511735217353
17354
173551735617357
1735817359
17360
1736117362
1736317364
17365173661736717368
1736917370
173711737217373
1737417375173761737717378
17379
17380
173811738217383
1738417385
1738617387
173881738917390
17391
173921739317394
173951739617397
1739817399
1740017401
1740217403
1740417405
174061740717408
174091741017411
17412
174131741417415
174161741717418
174191742017421
1742217423174241742517426
17427
174281742917430
174311743217433
1743417435
1743617437
17438174391744017441
1744217443
17444
17445
174461744717448
17449
1745017451
17452174531745417455
17456174571745817459
17460
17461
17462
1746317464
1746517466
17467
1746817469
1747017471
17472174731747417475
1747617477174781747917480
17481
1748217483
17484
17485
17486174871748817489
1749017491174921749317494
174951749617497174981749917500
17501
17502
17503175041750517506
175071750817509
17510
1751117512
17513175141751517516
1751717518
17519175201752117522
1752317524
1752517526175271752817529
17530
175311753217533
17534
175351753617537
175381753917540
175411754217543
17544
17545
1754617547
175481754917550
17551
17552
17553
175541755517556
1755717558
17559
17560
17561
175621756317564
17565
17566
17567
1756817569
17570
17571
1757217573
175741757517576
17577
1757817579
1758017581
1758217583
1758417585
175861758717588175891759017591
175921759317594
175951759617597
175981759917600
1760117602 17603
1760417605
17606
176071760817609
1761017611
17612
176131761417615
1761617617
176181761917620
17621176221762317624
17625
17626
1762717628
17629
176301763117632
17633
17634
1763517636
1763717638
1763917640
17641
17642
176431764417645
17646
1764717648
176491765017651
1765217653
17654
176551765617657
176581765917660
1766117662
17663176641766517666
17667
1766817669176701767117672
17673
17674176751767617677
1767817679
1768017681
17682
1768317684176851768617687
176881768917690
17691
17692
17693176941769517696
17697
17698
17699
1770017701
17702
177031770417705
17706
17707
17708
17709
177101771117712
17713
1771417715
177161771717718
17719
17720
177211772217723
17724
1772517726
177271772817729
17730
177311773217733
177341773517736
17737177381773917740
177411774217743
177441774517746
177471774817749
17750
17751
1775217753
17754177551775617757
17758
1775917760
177611776217763
1776417765
17766
177671776817769177701777117772
177731777417775
17776 17777
17778
1777917780
17781
177821778317784
17785177861778717788
17789
1779017791
17792
1779317794
1779517796
1779717798
17799
1780017801
1780217803
1780417805
17806178071780817809
1781017811
1781217813
17814
1781517816
178171781817819
178201782117822
1782317824
1782517826
17827
1782817829
17830
1783117832
1783317834
17835178361783717838
17839
17840
17841
178421784317844
17845178461784717848
178491785017851
17852
17853
17854
178551785617857
17858
1785917860
1786117862
17863
1786417865
178661786717868
1786917870
178711787217873178741787517876
1787717878
17879178801788117882
17883178841788517886
1788717888
178891789017891178921789317894
178951789617897
1789817899
17900
1790117902
17903
17904
17905
1790617907
17908
17909
1791017911
17912179131791417915
1791617917
179181791917920
17921
1792217923
17924
1792517926
17927
1792817929
17930
17931
1793217933
1793417935
179361793717938
17939
1794017941
17942
1794317944
17945179461794717948
17949
17950
1795117952
17953
1795417955
17956
1795717958
179591796017961
1796217963
179641796517966
1796717968
17969179701797117972
179731797417975179761797717978
1797917980
17981
1798217983
17984
17985179861798717988 17989
1799017991179921799317994
1799517996
17997
1799817999
180001800118002
1800318004
1800518006
180071800818009
18010
18011
1801218013
1801418015
180161801718018
180191802018021
1802218023180241802518026
1802718028
18029
1803018031
180321803318034
18035
18036
18037
180381803918040
18041
18042
180431804418045
1804618047
180481804918050
1805118052
1805318054
18055180561805718058
180591806018061
1806218063180641806518066
18067
1806818069
18070
1807118072180731807418075
180761807718078
1807918080
18081
1808218083
18084
180851808618087
1808818089180901809118092
1809318094
180951809618097
18098
18099
18100181011810218103
181041810518106
181071810818109
181101811118112181131811418115
18116181171811818119
18120
18121
18122
18123
1812418125
18126
18127
1812818129
18130
18131
1813218133
1813418135
18136
181371813818139
18140181411814218143
1814418145181461814718148
18149
181501815118152
18153181541815518156
18157
181581815918160
181611816218163
181641816518166
1816718168
181691817018171181721817318174
18175
18176181771817818179
1818018181
1818218183
18184
181851818618187
181881818918190
181911819218193
1819418195
18196
181971819818199
1820018201182021820318204
18205182061820718208
1820918210
182111821218213
18214
1821518216
18217
1821818219
1822018221182221822318224
18225
182261822718228182291823018231
182321823318234
1823518236
18237
18238
18239
1824018241
1824218243
18244182451824618247
18248
18249
18250
1825118252
18253182541825518256182571825818259
18260
18261
18262
18263
18264
182651826618267
18268
18269
18270 18271
18272
18273
18274
18275
18276
18277
18278
18279182801828118282
1828318284
18285
1828618287
18288182891829018291
18292182931829418295
182961829718298
1829918300
183011830218303
18304183051830618307
18308
1830918310
18311183121831318314
18315
18316
18317183181831918320
18321
1832218323
1832418325
1832618327
1832818329
183301833118332
183331833418335
1833618337
183381833918340
18341
183421834318344
183451834618347
18348183491835018351
18352183531835418355
1835618357
1835818359
18360
1836118362
183631836418365
1836618367
18368
183691837018371 1837218373
183741837518376
18377
1837818379
18380
1838118382
18383
183841838518386183871838818389
183901839118392
183931839418395
1839618397
1839818399
1840018401
18402184031840418405
1840618407
18408
184091841018411
1841218413
1841418415
1841618417
184181841918420
18421
18422
1842318424
184251842618427
184281842918430
1843118432
184331843418435
18436
1843718438
184391844018441
184421844318444
18445
18446
184471844818449
184501845118452
184531845418455
18456184571845818459
18460
184611846218463
1846418465
18466
1846718468
18469 1847018471184721847318474
18475
1847618477
1847818479
1848018481
1848218483
18484184851848618487
18488184891849018491
1849218493
1849418495
1849618497
184981849918500
1850118502
1850318504
18505
18506
1850718508
185091851018511
18512
185131851418515
18516
18517
18518185191852018521
18522 185231852418525
18526
18527
1852818529
1853018531
185321853318534
1853518536
18537
1853818539
1854018541
18542
18543
185441854518546
185471854818549
185501855118552
18553
1855418555
185561855718558
18559
1856018561
18562185631856418565
185661856718568
18569
1857018571
1857218573
18574
1857518576
18577
1857818579
18580185811858218583
1858418585
18586
18587
1858818589
1859018591
185921859318594
185951859618597
185981859918600
1860118602
186031860418605
186061860718608
1860918610
1861118612
1861318614
186151861618617
186181861918620186211862218623
186241862518626186271862818629
18630
1863118632
1863318634186351863618637
186381863918640
1864118642186431864418645
186461864718648
18649186501865118652
1865318654
186551865618657
1865818659
1866018661
1866218663
18664
18665
1866618667
1866818669
18670
186711867218673
18674186751867618677
186781867918680
18681
18682
18683
186841868518686
186871868818689
186901869118692
186931869418695
18696
18697
186981869918700
1870118702
1870318704
18705
187061870718708
18709187101871118712
1871318714
187151871618717
1871818719
1872018721
187221872318724187251872618727
187281872918730187311873218733
1873418735
1873618737
1873818739
1874018741
18742
187431874418745
1874618747
1874818749
18750
18751
1875218753
1875418755
1875618757
1875818759
187601876118762
18763
1876418765
187661876718768
18769
1877018771
1877218773
18774
1877518776
187771877818779
18780
187811878218783
1878418785
18786
18787187881878918790
1879118792
1879318794
1879518796
18797
1879818799
18800
1880118802
1880318804
18805
1880618807
1880818809
18810
18811
1881218813
188141881518816
18817
1881818819
1882018821
18822
1882318824
188251882618827
188281882918830
1883118832
18833
18834
18835
188361883718838
188391884018841
1884218843
1884418845
188461884718848
188491885018851
1885218853
188541885518856
18857
1885818859
18860
1886118862
18863
1886418865
1886618867
1886818869
18870188711887218873
1887418875
18876188771887818879
18880
18881
18882
1888318884 1888518886
18887
18888
1888918890
188911889218893
1889418895188961889718898
1889918900
18901189021890318904
18905
18906
189071890818909
18910189111891218913
18914
189151891618917
189181891918920
1892118922
189231892418925
18926
18927
1892818929
1893018931189321893318934
18935
18936
18937
18938
1893918940
1894118942
189431894418945
18946
189471894818949
189501895118952
1895318954
1895518956
18957
1895818959
1896018961
1896218963
189641896518966
189671896818969
189701897118972
189731897418975
18976
1897718978
1897918980
189811898218983
1898418985
18986
189871898818989
18990189911899218993
189941899518996
1899718998189991900019001
1900219003
1900419005190061900719008
190091901019011
19012190131901419015
190161901719018
19019
19020
1902119022
190231902419025
1902619027
1902819029190301903119032
190331903419035
1903619037
190381903919040
1904119042
1904319044
19045 19046
19047
19048190491905019051
19052
1905319054
1905519056
19057190581905919060
1906119062
19063
190641906519066
19067
19068
19069
1907019071
190721907319074
19075
1907619077190781907919080
1908119082
19083
190841908519086
19087
1908819089
19090
19091
1909219093
1909419095190961909719098
19099
191001910119102
1910319104
19105
191061910719108
191091911019111
1911219113
191141911519116
19117191181911919120
191211912219123
191241912519126
191271912819129
1913019131
19132
191331913419135
1913619137
19138
191391914019141
191421914319144
19145
19146
19147
19148191491915019151
1915219153
19154
1915519156
1915719158
1915919160
191611916219163
1916419165
191661916719168
19169
191701917119172
1917319174
19175
1917619177
1917819179
191801918119182
19183
19184
1918519186
19187
19188191891919019191
19192191931919419195191961919719198
1919919200
192011920219203
19204
19205
1920619207192081920919210
192111921219213 1921419215
19216
192171921819219
192201922119222
192231922419225
1922619227
19228192291923019231
19232
19233
19234192351923619237
192381923919240
192411924219243192441924519246
1924719248
192491925019251
1925219253
192541925519256
1925719258
1925919260
19261
192621926319264
1926519266192671926819269
192701927119272
1927319274
19275
1927619277
19278
1927919280
1928119282
19283
192841928519286
1928719288
19289
1929019291192921929319294
19295
1929619297
192981929919300193011930219303
193041930519306
19307
1930819309
19310
19311
193121931319314
193151931619317
1931819319
193201932119322
1932319324
19325
193261932719328
193291933019331
193321933319334
19335
19336
19337
193381933919340
19341193421934319344
1934519346
1934719348
19349
19350193511935219353
193541935519356
193571935819359
193601936119362
1936319364
193651936619367
193681936919370
193711937219373
1937419375
1937619377
1937819379
19380
19381
193821938319384
19385
1938619387
1938819389
19390
1939119392
193931939419395
193961939719398
193991940019401
19402
19403194041940519406
1940719408
19409
194101941119412
19413194141941519416
1941719418194191942019421
194221942319424
1942519426
19427
194281942919430
19431
19432
19433
1943419435
19436
19437
19438
1943919440
19441
19442
1944319444
1944519446
19447
1944819449
19450
1945119452
1945319454
1945519456
1945719458
1945919460
194611946219463
19464
19465
1946619467
1946819469
19470
1947119472
194731947419475
194761947719478
194791948019481
194821948319484194851948619487
1948819489
19490194911949219493
194941949519496
1949719498
1949919500
195011950219503
1950419505
1950619507
195081950919510
19511
19512
19513
195141951519516
195171951819519
195201952119522
195231952419525
1952619527
19528
195291953019531
1953219533
195341953519536
19537
1953819539
195401954119542195431954419545
1954619547
19548
1954919550
1955119552
195531955419555
19556
19557
195581955919560
19561
1956219563
1956419565
19566
1956719568
19569
195701957119572
19573195741957519576 19577
1957819579
19580
19581195821958319584
19585195861958719588
19589
19590
1959119592
195931959419595
19596
195971959819599
1960019601
19602
1960319604
196051960619607
1960819609
196101961119612
196131961419615
196161961719618
196191962019621
19622
1962319624
1962519626
196271962819629196301963119632
196331963419635
19636
1963719638196391964019641
1964219643
196441964519646
196471964819649
19650
19651
19652
196531965419655
1965619657
196581965919660
196611966219663
1966419665
1966619667
19668
1966919670
19671
19672
1967319674
1967519676
196771967819679
1968019681
196821968319684
19685196861968719688
19689
1969019691
196921969319694
196951969619697
1969819699
19700
197011970219703
197041970519706
19707
1970819709
19710
19711
197121971319714
1971519716
19717
19718
1971919720
19721
19722
1972319724197251972619727
19728
19729
1973019731197321973319734
1973519736
19737
1973819739
197401974119742
1974319744
19745197461974719748
1974919750
1975119752
19753197541975519756
19757 1975819759
19760
19761
19762
197631976419765
19766
197671976819769
1977019771
19772
19773
19774
197751977619777
19778197791978019781
19782
19783
197841978519786
197871978819789
197901979119792
19793197941979519796
1979719798
19799198001980119802
1980319804
198051980619807
1980819809
19810
198111981219813
1981419815
19816
19817
1981819819
198201982119822
198231982419825
198261982719828
1982919830
1983119832
19833
19834198351983619837
198381983919840
1984119842
19843
1984419845
1984619847
1984819849
19850
19851
198521985319854
198551985619857
19858
198591986019861
198621986319864
1986519866
19867
1986819869
198701987119872
198731987419875
1987619877
1987819879
19880
1988119882198831988419885
198861988719888
198891989019891
198921989319894
198951989619897
19898198991990019901
1990219903
19904
1990519906
1990719908
199091991019911
19912
19913
1991419915
1991619917
1991819919199201992119922
1992319924
19925
1992619927
199281992919930
19931199321993319934
1993519936
199371993819939199401994119942
199431994419945
19946
1994719948
1994919950
19951
1995219953
19954
199551995619957
19958
19959
1996019961
19962
19963199641996519966
199671996819969
1997019971
19972
1997319974
1997519976
1997719978
1997919980
19981
1998219983
19984
1998519986
1998719988
1998919990
19991
1999219993
199941999519996
19997
1999819999
200002000120002
2000320004
2000520006200072000820009
200102001120012
200132001420015
2001620017
200182001920020
200212002220023
20024
2002520026
2002720028
200292003020031
2003220033 20034
200352003620037
200382003920040
2004120042
2004320044
200452004620047
2004820049200502005120052
2005320054
2005520056
2005720058
2005920060
200612006220063
20064
20065
20066
2006720068
2006920070
200712007220073
200742007520076
2007720078
20079
20080
2008120082
2008320084
200852008620087
200882008920090
200912009220093
2009420095
2009620097
200982009920100
201012010220103
2010420105
201062010720108
201092011020111
201122011320114 201152011620117
2011820119
20120201212012220123
201242012520126
20127
201282012920130
20131201322013320134
20135
20136
2013720138
2013920140
201412014220143
20144 2014520146
201472014820149
2015020151201522015320154
201552015620157
201582015920160
2016120162
201632016420165
20166
2016720168
20169201702017120172
20173
20174
20175201762017720178
20179201802018120182
20183
2018420185
2018620187
201882018920190
2019120192
20193
20194201952019620197
20198
201992020020201
2020220203
20204
202052020620207
202082020920210
2021120212
20213
20214202152021620217
202182021920220
202212022220223
2022420225
202262022720228
20229
2023020231
202322023320234
20235202362023720238
2023920240
202412024220243
202442024520246
20247202482024920250
2025120252
20253202542025520256
202572025820259
202602026120262
2026320264
202652026620267
20268
2026920270
20271
202722027320274
2027520276
202772027820279
202802028120282
2028320284
20285
202862028720288
2028920290
20291
20292
2029320294
202952029620297
2029820299
203002030120302
20303
2030420305
2030620307
20308
2030920310
203112031220313
20314
20315
2031620317
203182031920320
203212032220323
203242032520326
20327
2032820329
2033020331
2033220333
2033420335203362033720338
203392034020341
2034220343
203442034520346 20347
20348
2034920350
203512035220353
203542035520356
2035720358
20359
20360
20361
2036220363
2036420365
2036620367
203682036920370
20371
20372203732037420375
203762037720378
203792038020381
203822038320384
203852038620387
203882038920390
2039120392203932039420395
203962039720398
20399204002040120402
204032040420405
2040620407
204082040920410
2041120412
20413
20414
204152041620417
2041820419
2042020421
2042220423
2042420425
20426
20427
204282042920430
2043120432204332043420435
2043620437
20438
20439
2044020441
20442
204432044420445
2044620447204482044920450
20451
20452204532045420455
2045620457
2045820459
2046020461
20462
2046320464
2046520466
204672046820469
2047020471
2047220473
20474
204752047620477
2047820479
2048020481
20482
20483
20484
2048520486
20487
2048820489
20490204912049220493
2049420495204962049720498
20499
205002050120502
2050320504
20505
20506
2050720508
20509
20510
2051120512
20513
2051420515
2051620517205182051920520
205212052220523
2052420525
2052620527
205282052920530
205312053220533 2053420535
20536
2053720538
20539
205402054120542
205432054420545
2054620547
205482054920550
2055120552
2055320554
2055520556
20557205582055920560
205612056220563
205642056520566
205672056820569
2057020571
205722057320574
205752057620577
2057820579
20580
2058120582
205832058420585
2058620587
2058820589
205902059120592
2059320594
20595
20596
2059720598
205992060020601
20602
2060320604
206052060620607
2060820609
2061020611
206122061320614
2061520616
2061720618
2061920620
206212062220623
206242062520626
206272062820629
2063020631
20632
2063320634
2063520636
20637206382063920640
206412064220643
2064420645
20646
20647
206482064920650
2065120652
206532065420655
206562065720658
206592066020661
2066220663
2066420665
20666
2066720668
2066920670
2067120672
206732067420675
2067620677
206782067920680
206812068220683
2068420685
2068620687206882068920690
20691
2069220693
206942069520696
206972069820699
20700
2070120702
207032070420705
207062070720708
2070920710
2071120712
2071320714
207152071620717
207182071920720207212072220723
2072420725
207262072720728
20729
207302073120732
2073320734
207352073620737
207382073920740
2074120742
2074320744
2074520746
20747
20748
207492075020751
2075220753
20754
2075520756
2075720758
2075920760
207612076220763
207642076520766
207672076820769
2077020771
20772
207732077420775
207762077720778
20779
207802078120782
2078320784
207852078620787
20788
2078920790
20791
207922079320794
2079520796
20797
20798
20799
208002080120802
2080320804
208052080620807
20808
2080920810
2081120812
2081320814
20815208162081720818
2081920820
2082120822
2082320824
2082520826
20827
208282082920830
20831
20832
2083320834
208352083620837
2083820839
2084020841
208422084320844
2084520846
2084720848
2084920850
208512085220853
20854
208552085620857
20858
2085920860
20861
20862
2086320864
20865
20866
208672086820869
20870
2087120872
208732087420875
208762087720878
208792088020881
20882
2088320884
208852088620887
208882088920890
2089120892
2089320894
2089520896
208972089820899
2090020901
2090220903
2090420905
209062090720908
20909
20910209112091220913
2091420915
2091620917
2091820919
20920
2092120922
20923 2092420925
20926
209272092820929
2093020931
2093220933
2093420935
20936
20937
20938
20939
20940
2094120942
20943
20944
20945
20946
20947
20948
2094920950
2095120952209532095420955
2095620957
20958209592096020961
2096220963
20964 209652096620967
20968209692097020971
20972
2097320974
2097520976
209772097820979
2098020981
2098220983
2098420985
2098620987
2098820989
20990
2099120992
20993209942099520996
2099720998
2099921000
21001
210022100321004
2100521006
2100721008
210092101021011
2101221013
2101421015
21016
2101721018
2101921020
2102121022
21023
210242102521026
210272102821029
210302103121032
2103321034
2103521036
210372103821039
210402104121042
2104321044
2104521046
21047
21048
21049210502105121052
2105321054
210552105621057
210582105921060
2106121062
21063
21064
210652106621067
2106821069
2107021071
2107221073
21074
21075
21076210772107821079
21080
2108121082
2108321084
2108521086
210872108821089
2109021091
210922109321094
2109521096
2109721098
210992110021101
2110221103211042110521106
2110721108
2110921110
2111121112
21113
211142111521116
2111721118211192112021121
2112221123
21124
2112521126
2112721128
211292113021131
211322113321134
2113521136
211372113821139
211402114121142
21143
2114421145
211462114721148
211492115021151
21152
21153
21154
21155
21156211572115821159
2116021161
2116221163
2116421165
211662116721168
21169
2117021171
2117221173211742117521176
2117721178
211792118021181
21182
21183
2118421185
2118621187
211882118921190
2119121192
2119321194
2119521196
21197
2119821199
212002120121202
212032120421205
21206212072120821209
212102121121212
212132121421215
2121621217
2121821219212202122121222
212232122421225
212262122721228
21229
212302123121232
2123321234
2123521236
2123721238
212392124021241
21242
2124321244
2124521246
2124721248
2124921250
21251
2125221253
21254
21255
2125621257
212582125921260
21261
212622126321264
2126521266
21267
21268
212692127021271
2127221273
21274
2127521276
2127721278
2127921280
21281212822128321284
21285
21286
21287
2128821289
212902129121292
2129321294
2129521296
212972129821299
21300
213012130221303
2130421305
213062130721308 2130921310
2131121312
2131321314
2131521316
2131721318
21319
21320
2132121322
2132321324
2132521326
213272132821329
2133021331
213322133321334
21335
2133621337
213382133921340
213412134221343
2134421345213462134721348
2134921350
213512135221353
2135421355
213562135721358
21359
2136021361
21362213632136421365
21366
21367
2136821369
21370
21371
2137221373
2137421375
213762137721378
2137921380
21381
2138221383
213842138521386
2138721388
21389
213902139121392
2139321394
2139521396
2139721398
2139921400
2140121402
2140321404
21405214062140721408
214092141021411
21412
21413
21414
21415
21416
2141721418
2141921420
21421
2142221423
2142421425
2142621427
2142821429
214302143121432
214332143421435
2143621437
21438
2143921440
2144121442
2144321444
214452144621447
214482144921450
2145121452
2145321454
214552145621457
21458
2145921460
2146121462
2146321464
2146521466
21467
21468
214692147021471
21472
2147321474
2147521476
21477214782147921480
21481
2148221483
21484214852148621487
2148821489
2149021491
21492214932149421495
214962149721498
21499215002150121502
2150321504
2150521506
2150721508 2150921510
2151121512
215132151421515
2151621517
2151821519
21520
21521
2152221523
21524
2152521526
2152721528
215292153021531
215322153321534
215352153621537
215382153921540
215412154221543
2154421545215462154721548
215492155021551
21552
2155321554
2155521556
2155721558
2155921560
2156121562
215632156421565
2156621567
21568215692157021571
21572
215732157421575
21576
21577215782157921580
215812158221583
215842158521586
215872158821589
21590
21591215922159321594
21595
215962159721598
21599
2160021601
2160221603
2160421605
2160621607
2160821609
2161021611
21612
2161321614
2161521616
21617
2161821619
2162021621
2162221623
2162421625
2162621627
2162821629
216302163121632
216332163421635
21636
2163721638
2163921640
2164121642
21643
2164421645
216462164721648
21649
2165021651
2165221653
2165421655
216562165721658
21659216602166121662
2166321664
2166521666
21667
21668
2166921670
21671 2167221673
2167421675
2167621677
21678216792168021681
21682
2168321684
216852168621687
216882168921690
2169121692
21693
216942169521696
2169721698
216992170021701 21702
2170321704
2170521706
2170721708
217092171021711
21712
2171321714
2171521716
21717
2171821719
2172021721
21722
2172321724
21725
2172621727
2172821729
2173021731
21732
217332173421735
2173621737
2173821739
21740
21741
2174221743
21744
21745
21746217472174821749
2175021751
217522175321754
217552175621757
2175821759
2176021761
2176221763217642176521766
21767
2176821769
2177021771
2177221773
2177421775
2177621777
2177821779
2178021781
21782
21783
21784
21785
21786
217872178821789
21790
21791
2179221793
21794
2179521796
21797217982179921800
21801
21802218032180421805
21806
2180721808
21809
21810
218112181221813
21814
2181521816
218172181821819
21820
2182121822
2182321824
2182521826
2182721828
2182921830
2183121832
218332183421835
2183621837
2183821839
2184021841
2184221843
218442184521846
218472184821849
218502185121852
21853
2185421855
2185621857
2185821859
2186021861
21862
2186321864
21865218662186721868
21869218702187121872
218732187421875
2187621877
2187821879
2188021881
2188221883
218842188521886
2188721888
218892189021891
2189221893
2189421895
2189621897
2189821899
21900
219012190221903
2190421905
2190621907
21908219092191021911
219122191321914
21915219162191721918
219192192021921
21922
21923
21924
21925
2192621927
2192821929
2193021931
2193221933
2193421935
21936
2193721938
2193921940
219412194221943
2194421945
2194621947
21948
21949
219502195121952
2195321954
21955
2195621957
2195821959
219602196121962
21963219642196521966
21967219682196921970
2197121972
219732197421975
2197621977
219782197921980
219812198221983
2198421985
21986
2198721988
2198921990
2199121992
2199321994
2199521996
2199721998219992200022001
2200222003
220042200522006
22007
22008
2200922010
2201122012
2201322014
22015
2201622017
2201822019
2202022021
220222202322024
2202522026
2202722028
22029
22030
2203122032
22033
22034
220352203622037
2203822039
2204022041
220422204322044
2204522046
220472204822049
220502205122052
2205322054
2205522056
22057
22058
22059
2206022061
2206222063
2206422065
220662206722068
2206922070
2207122072
2207322074220752207622077
2207822079
2208022081
22082
22083
22084
2208522086
22087
2208822089
2209022091
220922209322094
2209522096
2209722098
2209922100
2210122102
221032210422105
2210622107
2210822109
2211022111
221122211322114
2211522116
2211722118221192212022121
2212222123
2212422125
22126
2212722128
2212922130
2213122132
221332213422135
22136
2213722138
221392214022141
221422214322144
2214522146
22147221482214922150
(a) View of the whole Cluster Graph.
0
1
2
34
5
6
7
8
9
1011
12
13
14
15 1617
18
1920
21
22
23
2425
26
27
28
2930
31
32
33
34
35
36
37
38
39
40
41 42
43
4445
46
47
48
49
50
53
54
5556
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
7677
78
79
80
81
82
83
84
85
8687
88
8990
91
92
93
94 95
96
97
98
99
100 101
102 103
104105
106
107
108
109
110
111
112 113114
115
116
117
118
119
120
121122
123
124
125
126
127
128
129
130
131 132
133
134
135
136
137
138
139
140
141
142
143144
145
146147 148
149
150
151
152
153 154
155
156
157
158
159
160
161
162 163
164
165
166
167
168
169170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189190
191
192
193
194
195
196
197
198
199
200
201
202
203204
205
206207
208
209
210211
212
213
214
215
216
217
218
219
220221 222
torp
Compressor
torp
Compressor
(b) Graph Representation of a smallsubset of the clusters.
Figure 9: Graph Representations of clustering for � � ����.
Acknowledgements. This work was supported in part by National Science Foundation (NSF) Knowledgeand Distributed Intelligence in the Information Age (KDI) Initiative Grant CISE/IIS-9873005; CAREERAward CISE/IIS-9733545 and Grant ENG/DMI-9713718.
Any opinions, findings, and conclusions or recommendations expressed in this material are those of theauthor(s) and do not necessarily reflect the views of the National Science Foundation or the other supportinggovernment and corporate organizations.
References
[1] National design repository. http://www.designrepository.org., 2000.
[2] Rakesh Agrawal, Johannes Gehrke, Dimitrios Gunopulos, and Prabhakar Raghavan. Automatic sub-space clustering of high dimensional data for data mining applications. In Proceedings of 1998ACM-SIGMOD International Conference on Management of Data. ACM, June 1998. file-name: sig-mod98 clique.pdf.
[3] Horst Bunke and Kim Shearer. On a relation between graph edit distance and maximum commonsubgraph. Pattern Recognition Letters, pages 689–694, 1997.
[4] Alexei Elinson, Dana S. Nau, and William C. Regli. Feature-based similarity assessment of solidmodels. In Christoph Hoffman and Wim Bronsvoort, editors, Fourth Symposium on Solid Modelingand Applications, pages 297–310, New York, NY, USA, May 14-16 1997. ACM, ACM Press. Atlanta,GA.
[5] M. Ester, H.P. Kriegel, J. Sander, and X. Xu. A density-based algorithm for discovering clusters in largespatial databases with noise. In Proceedings 2nd International Conference on Knowledge Discoveryand Data Mining (KDD’96), pages 226–231, 1996.
16
[6] Daniel Fasulo. An analysis of recent work on clustering algorithms. Web??, April 1999.http://citeseer.nj.nec.com/fasulo99analysi.html.
[7] Teofilo F. Gonzalez. Clustering to minimize the maximum intercluster distance. Theoretical ComputerScience, 38:293–306, 1985.
[8] Christopher M. Hoffmann. Geometric and Solid Modeling: An Introduction. Morgan KaufmannPublishers, Inc., California, USA, 1989.
[9] Anil K. Jain and Richard C. Dubes. Algorithms for Clustering Data. Prentice Hall, Englewood Cliffs,New Jersey 07632, 1988.
[10] S. Joshi and T. C. Chang. Graph-based heuristics for recognition of machined features from a 3D solidmodel. Computer-Aided Design, 20(2):58–66, March 1988.
[11] Leonard Kaufman and Peter J. Rousseeuw. Finding Groups in Data: An Introduction to ClusterAnalysis. John Wiley and Sons, Inc., 1990.
[12] Ewa Kubicka, Grzegorz Kubicki, and Ignatios Vakalis. Using graph distance in object recognition. InProceedings of the 1990 ACM annual conference on Cooperation, pages 43–48, February 1990.
[13] J. MacQueen. Some methods for classification and analysis of multivariate observations. In Proceed-ings of 5th Berkeley Symposium, pages 281–297, 1967.
[14] Martti Mantyla. An Introduction to Solid Modeling. Computer Science Press, College Park, MD, 1988.
[15] Aristides A. G. Requicha. Representation for rigid solids: Theory, methods, and systems. ComputingSurveys, 12(4):437–464, December 1980.
[16] H. Samet. The quadtree and related hierarchical data structures. ACM Computing Surveys, 16(3):287–260, 1984.
[17] Spatial Technology Inc., Three-Space Ltd., and Applied Geometry Corp., 2425 55th Street, BuildingA, Boulder, CO 80301. ACIS c� Geometric Modeler Application Guide, v1.6 edition, November 1994.
[18] Tien-Lung Sun, Chuan-Jun Su, Richard J. Mayer, and Richard A. Wysk. Shape similarity assessmentof mechanical parts based on solid models. In Rajit Gadh, editor, ASME Design for ManufacturingConference, Symposium on Computer Integrated Concurrent Design, pages 953–962. ASME, Boston,MA. September 17-21. 1995.
[19] Kevin Weiler. Edge-based data structures for solid modeling in curved-surface environments. IEEEComputer Graphics and Applications, 5(1):21–40, January 1985.
[20] Tony C. Woo. A combinatorial analysis of boundary data structure schemata. IEEE Computer Graphicsand Applications, pages 19–27, March 1985.
17